@knime/kds-components 0.22.0 → 0.22.1
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 +37 -36
- package/dist/index.js +38 -18
- package/dist/index.js.map +1 -1
- package/dist/src/forms/_helper/List/KdsListItem/KdsListItem.vue.d.ts.map +1 -1
- package/dist/src/forms/selects/Dropdown/DropdownContainer.vue.d.ts +3 -1
- package/dist/src/forms/selects/Dropdown/DropdownContainer.vue.d.ts.map +1 -1
- package/dist/src/forms/selects/Dropdown/KdsDropdown.vue.d.ts +5 -2
- package/dist/src/forms/selects/Dropdown/KdsDropdown.vue.d.ts.map +1 -1
- package/dist/src/forms/selects/Dropdown/constants.d.ts +3 -0
- package/dist/src/forms/selects/Dropdown/constants.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/index.css
CHANGED
|
@@ -846,12 +846,13 @@ html.kds-legacy {
|
|
|
846
846
|
}
|
|
847
847
|
|
|
848
848
|
.kds-list-item {
|
|
849
|
-
&[data-v-
|
|
849
|
+
&[data-v-822789ec] {
|
|
850
850
|
position: relative;
|
|
851
851
|
display: flex;
|
|
852
852
|
gap: var(--kds-spacing-container-0-5x);
|
|
853
853
|
align-items: center;
|
|
854
854
|
width: 100%;
|
|
855
|
+
min-height: var(--kds-dimension-component-height-1-5x);
|
|
855
856
|
padding: var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-5x);
|
|
856
857
|
color: var(--kds-color-text-and-icon-neutral);
|
|
857
858
|
cursor: pointer;
|
|
@@ -861,36 +862,36 @@ html.kds-legacy {
|
|
|
861
862
|
border-radius: var(--kds-border-radius-container-0-31x);
|
|
862
863
|
}
|
|
863
864
|
&.small {
|
|
864
|
-
&[data-v-
|
|
865
|
+
&[data-v-822789ec] {
|
|
865
866
|
gap: var(--kds-spacing-container-0-25x);
|
|
866
867
|
align-items: flex-start;
|
|
867
868
|
padding: var(--kds-spacing-container-0-25x)
|
|
868
869
|
var(--kds-spacing-container-0-5x);
|
|
869
870
|
font: var(--kds-font-base-interactive-small);
|
|
870
871
|
}
|
|
871
|
-
.accessory[data-v-
|
|
872
|
+
.accessory[data-v-822789ec] {
|
|
872
873
|
display: flex;
|
|
873
874
|
padding: var(--kds-spacing-container-0-12x) 0;
|
|
874
875
|
}
|
|
875
876
|
}
|
|
876
877
|
&.large {
|
|
877
|
-
&[data-v-
|
|
878
|
+
&[data-v-822789ec] {
|
|
878
879
|
font: var(--kds-font-base-interactive-small-strong);
|
|
879
880
|
}
|
|
880
|
-
.accessory[data-v-
|
|
881
|
+
.accessory[data-v-822789ec] {
|
|
881
882
|
display: flex;
|
|
882
883
|
align-items: center;
|
|
883
884
|
}
|
|
884
885
|
}
|
|
885
886
|
.content {
|
|
886
|
-
&[data-v-
|
|
887
|
+
&[data-v-822789ec] {
|
|
887
888
|
display: flex;
|
|
888
889
|
flex: 1 1 auto;
|
|
889
890
|
flex-direction: column;
|
|
890
891
|
gap: var(--kds-spacing-container-0-12x);
|
|
891
892
|
min-width: 0;
|
|
892
893
|
}
|
|
893
|
-
.large &[data-v-
|
|
894
|
+
.large &[data-v-822789ec] {
|
|
894
895
|
justify-content: center;
|
|
895
896
|
min-height: calc(
|
|
896
897
|
var(--kds-dimension-component-height-2-5x) - 2 *
|
|
@@ -898,19 +899,19 @@ html.kds-legacy {
|
|
|
898
899
|
);
|
|
899
900
|
}
|
|
900
901
|
.label {
|
|
901
|
-
&[data-v-
|
|
902
|
+
&[data-v-822789ec] {
|
|
902
903
|
overflow: hidden;
|
|
903
904
|
text-overflow: ellipsis;
|
|
904
905
|
white-space: nowrap;
|
|
905
906
|
}
|
|
906
|
-
.prefix[data-v-
|
|
907
|
+
.prefix[data-v-822789ec] {
|
|
907
908
|
flex-shrink: 0;
|
|
908
909
|
}
|
|
909
|
-
.special[data-v-
|
|
910
|
+
.special[data-v-822789ec] {
|
|
910
911
|
font: var(--kds-font-base-interactive-small-italic);
|
|
911
912
|
}
|
|
912
913
|
}
|
|
913
|
-
.subtext[data-v-
|
|
914
|
+
.subtext[data-v-822789ec] {
|
|
914
915
|
display: -webkit-box;
|
|
915
916
|
overflow: hidden;
|
|
916
917
|
-webkit-line-clamp: 2;
|
|
@@ -921,7 +922,7 @@ html.kds-legacy {
|
|
|
921
922
|
}
|
|
922
923
|
}
|
|
923
924
|
.trailing-item {
|
|
924
|
-
&[data-v-
|
|
925
|
+
&[data-v-822789ec] {
|
|
925
926
|
display: flex;
|
|
926
927
|
flex-shrink: 0;
|
|
927
928
|
gap: var(--kds-spacing-container-0-12x);
|
|
@@ -929,69 +930,69 @@ html.kds-legacy {
|
|
|
929
930
|
align-self: center;
|
|
930
931
|
justify-content: flex-end;
|
|
931
932
|
}
|
|
932
|
-
.shortcut[data-v-
|
|
933
|
+
.shortcut[data-v-822789ec] {
|
|
933
934
|
flex-shrink: 0;
|
|
934
935
|
font: var(--kds-font-base-interactive-xsmall-strong);
|
|
935
936
|
color: var(--kds-color-text-and-icon-muted);
|
|
936
937
|
text-align: right;
|
|
937
938
|
white-space: nowrap;
|
|
938
939
|
}
|
|
939
|
-
.trailing-item-reserve-space[data-v-
|
|
940
|
+
.trailing-item-reserve-space[data-v-822789ec] {
|
|
940
941
|
width: var(--kds-dimension-icon-0-75x);
|
|
941
942
|
}
|
|
942
943
|
}
|
|
943
|
-
&[data-v-
|
|
944
|
-
&.active[data-v-
|
|
944
|
+
&[data-v-822789ec]:hover:not(.disabled),
|
|
945
|
+
&.active[data-v-822789ec]:not(.disabled) {
|
|
945
946
|
background: var(--kds-color-background-neutral-hover);
|
|
946
947
|
}
|
|
947
|
-
&[data-v-
|
|
948
|
+
&[data-v-822789ec]:active:not(.disabled) {
|
|
948
949
|
background: var(--kds-color-background-neutral-active);
|
|
949
950
|
}
|
|
950
951
|
&.selected {
|
|
951
|
-
&[data-v-
|
|
952
|
+
&[data-v-822789ec] {
|
|
952
953
|
color: var(--kds-color-text-and-icon-selected);
|
|
953
954
|
background: var(--kds-color-background-selected-initial);
|
|
954
955
|
}
|
|
955
|
-
.subtext[data-v-
|
|
956
|
+
.subtext[data-v-822789ec] {
|
|
956
957
|
color: var(--kds-color-text-and-icon-selected);
|
|
957
958
|
}
|
|
958
|
-
&[data-v-
|
|
959
|
-
&.active[data-v-
|
|
959
|
+
&[data-v-822789ec]:hover,
|
|
960
|
+
&.active[data-v-822789ec] {
|
|
960
961
|
background: var(--kds-color-background-selected-hover);
|
|
961
962
|
}
|
|
962
|
-
&[data-v-
|
|
963
|
+
&[data-v-822789ec]:active {
|
|
963
964
|
background: var(--kds-color-background-selected-active);
|
|
964
965
|
}
|
|
965
|
-
&.disabled[data-v-
|
|
966
|
+
&.disabled[data-v-822789ec] {
|
|
966
967
|
background: var(--kds-color-background-selected-initial);
|
|
967
968
|
}
|
|
968
969
|
}
|
|
969
970
|
&.missing {
|
|
970
|
-
&[data-v-
|
|
971
|
+
&[data-v-822789ec] {
|
|
971
972
|
color: var(--kds-color-text-and-icon-danger);
|
|
972
973
|
background: var(--kds-color-background-danger-initial);
|
|
973
974
|
}
|
|
974
|
-
.subtext[data-v-
|
|
975
|
+
.subtext[data-v-822789ec] {
|
|
975
976
|
color: var(--kds-color-text-and-icon-danger);
|
|
976
977
|
}
|
|
977
|
-
&[data-v-
|
|
978
|
-
&.active[data-v-
|
|
978
|
+
&[data-v-822789ec]:hover,
|
|
979
|
+
&.active[data-v-822789ec] {
|
|
979
980
|
background: var(--kds-color-background-danger-hover);
|
|
980
981
|
}
|
|
981
|
-
&[data-v-
|
|
982
|
+
&[data-v-822789ec]:active {
|
|
982
983
|
background: var(--kds-color-background-danger-active);
|
|
983
984
|
}
|
|
984
|
-
&.disabled[data-v-
|
|
985
|
+
&.disabled[data-v-822789ec] {
|
|
985
986
|
background: var(--kds-color-background-danger-initial);
|
|
986
987
|
}
|
|
987
988
|
}
|
|
988
989
|
&.disabled {
|
|
989
|
-
&[data-v-
|
|
990
|
+
&[data-v-822789ec] {
|
|
990
991
|
color: var(--kds-color-text-and-icon-disabled);
|
|
991
992
|
cursor: default;
|
|
992
993
|
}
|
|
993
|
-
.shortcut[data-v-
|
|
994
|
-
.subtext[data-v-
|
|
994
|
+
.shortcut[data-v-822789ec],
|
|
995
|
+
.subtext[data-v-822789ec] {
|
|
995
996
|
color: var(--kds-color-text-and-icon-disabled);
|
|
996
997
|
}
|
|
997
998
|
}
|
|
@@ -3362,23 +3363,23 @@ textarea[data-v-bdf12ef9]::-webkit-scrollbar {
|
|
|
3362
3363
|
);
|
|
3363
3364
|
}
|
|
3364
3365
|
|
|
3365
|
-
.kds-dropdown-container[data-v-
|
|
3366
|
+
.kds-dropdown-container[data-v-db105594] {
|
|
3366
3367
|
display: flex;
|
|
3367
3368
|
flex-direction: column;
|
|
3368
3369
|
background-color: var(--kds-color-surface-default);
|
|
3369
3370
|
border-radius: var(--kds-border-radius-container-0-50x);
|
|
3370
3371
|
box-shadow: var(--kds-elevation-level-3);
|
|
3371
3372
|
}
|
|
3372
|
-
.kds-dropdown-container-sticky-top[data-v-
|
|
3373
|
+
.kds-dropdown-container-sticky-top[data-v-db105594] {
|
|
3373
3374
|
padding: var(--kds-spacing-container-0-25x);
|
|
3374
3375
|
background-color: var(--kds-color-surface-default);
|
|
3375
3376
|
border-bottom: var(--kds-border-base-subtle);
|
|
3376
3377
|
}
|
|
3377
3378
|
.kds-dropdown-container-list {
|
|
3378
|
-
&[data-v-
|
|
3379
|
+
&[data-v-db105594] {
|
|
3379
3380
|
max-height: var(--kds-dimension-component-height-12x);
|
|
3380
3381
|
}
|
|
3381
|
-
&.multiline[data-v-
|
|
3382
|
+
&.multiline[data-v-db105594] {
|
|
3382
3383
|
max-height: var(--kds-dimension-component-height-20x);
|
|
3383
3384
|
}
|
|
3384
3385
|
}
|
package/dist/index.js
CHANGED
|
@@ -1729,7 +1729,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
|
|
|
1729
1729
|
}
|
|
1730
1730
|
});
|
|
1731
1731
|
|
|
1732
|
-
const KdsListItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$U, [["__scopeId", "data-v-
|
|
1732
|
+
const KdsListItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$U, [["__scopeId", "data-v-822789ec"]]);
|
|
1733
1733
|
|
|
1734
1734
|
const _sfc_main$T = { };
|
|
1735
1735
|
|
|
@@ -15629,8 +15629,13 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
15629
15629
|
|
|
15630
15630
|
const BaseDropdown = /* @__PURE__ */ _export_sfc$1(_sfc_main$n, [["__scopeId", "data-v-cf3becf9"]]);
|
|
15631
15631
|
|
|
15632
|
+
const DROPDOWN_SEARCH_THRESHOLD = 12;
|
|
15633
|
+
|
|
15632
15634
|
const _hoisted_1$h = { class: "kds-dropdown-container" };
|
|
15633
|
-
const _hoisted_2$9 = {
|
|
15635
|
+
const _hoisted_2$9 = {
|
|
15636
|
+
key: 0,
|
|
15637
|
+
class: "kds-dropdown-container-sticky-top"
|
|
15638
|
+
};
|
|
15634
15639
|
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
15635
15640
|
__name: "DropdownContainer",
|
|
15636
15641
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -15641,10 +15646,14 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
15641
15646
|
"modelValue": { default: "" },
|
|
15642
15647
|
"modelModifiers": {}
|
|
15643
15648
|
}),
|
|
15644
|
-
emits: ["update:modelValue"],
|
|
15645
|
-
setup(__props, { expose: __expose }) {
|
|
15649
|
+
emits: /* @__PURE__ */ mergeModels(["select"], ["update:modelValue"]),
|
|
15650
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
15646
15651
|
const props = __props;
|
|
15652
|
+
const emit = __emit;
|
|
15647
15653
|
const modelValue = useModel(__props, "modelValue");
|
|
15654
|
+
const searchable = computed(
|
|
15655
|
+
() => props.possibleValues.length >= DROPDOWN_SEARCH_THRESHOLD
|
|
15656
|
+
);
|
|
15648
15657
|
const searchValue = ref("");
|
|
15649
15658
|
const searchEl = useTemplateRef("searchEl");
|
|
15650
15659
|
const listContainerRef = useTemplateRef("listContainer");
|
|
@@ -15694,12 +15703,24 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
15694
15703
|
const hasMultiline = computed(
|
|
15695
15704
|
() => props.possibleValues.some((o) => o.subText !== void 0)
|
|
15696
15705
|
);
|
|
15706
|
+
const onItemClick = (id) => {
|
|
15707
|
+
if (id !== void 0) {
|
|
15708
|
+
modelValue.value = id;
|
|
15709
|
+
emit("select", id);
|
|
15710
|
+
}
|
|
15711
|
+
};
|
|
15697
15712
|
__expose({
|
|
15698
|
-
focus: () =>
|
|
15713
|
+
focus: () => {
|
|
15714
|
+
if (searchable.value) {
|
|
15715
|
+
searchEl.value?.focus();
|
|
15716
|
+
} else {
|
|
15717
|
+
listContainerRef.value?.focus();
|
|
15718
|
+
}
|
|
15719
|
+
}
|
|
15699
15720
|
});
|
|
15700
15721
|
return (_ctx, _cache) => {
|
|
15701
15722
|
return openBlock(), createElementBlock("div", _hoisted_1$h, [
|
|
15702
|
-
|
|
15723
|
+
searchable.value ? (openBlock(), createElementBlock("div", _hoisted_2$9, [
|
|
15703
15724
|
createVNode(BaseInput, {
|
|
15704
15725
|
ref_key: "searchEl",
|
|
15705
15726
|
ref: searchEl,
|
|
@@ -15715,23 +15736,23 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
15715
15736
|
onFocus: _cache[2] || (_cache[2] = ($event) => listContainerRef.value?.handleFocus()),
|
|
15716
15737
|
onBlur: _cache[3] || (_cache[3] = ($event) => listContainerRef.value?.handleBlur())
|
|
15717
15738
|
}, null, 8, ["modelValue", "aria-activedescendant"])
|
|
15718
|
-
]),
|
|
15739
|
+
])) : createCommentVNode("", true),
|
|
15719
15740
|
createVNode(unref(KdsListContainer), {
|
|
15720
15741
|
ref: "listContainer",
|
|
15721
15742
|
class: normalizeClass(["kds-dropdown-container-list", { multiline: hasMultiline.value }]),
|
|
15722
15743
|
"possible-values": props.loading ? [] : listOptions.value,
|
|
15723
15744
|
loading: props.loading,
|
|
15724
15745
|
"empty-text": props.emptyText,
|
|
15725
|
-
"controlled-externally":
|
|
15746
|
+
"controlled-externally": searchable.value,
|
|
15726
15747
|
"aria-label": "Dropdown options",
|
|
15727
|
-
onItemClick
|
|
15728
|
-
}, null, 8, ["class", "possible-values", "loading", "empty-text"])
|
|
15748
|
+
onItemClick
|
|
15749
|
+
}, null, 8, ["class", "possible-values", "loading", "empty-text", "controlled-externally"])
|
|
15729
15750
|
]);
|
|
15730
15751
|
};
|
|
15731
15752
|
}
|
|
15732
15753
|
});
|
|
15733
15754
|
|
|
15734
|
-
const DropdownContainer = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__scopeId", "data-v-
|
|
15755
|
+
const DropdownContainer = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__scopeId", "data-v-db105594"]]);
|
|
15735
15756
|
|
|
15736
15757
|
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
15737
15758
|
__name: "KdsDropdown",
|
|
@@ -15767,11 +15788,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
15767
15788
|
nextTick(() => dropdownContainerEl.value?.focus());
|
|
15768
15789
|
}
|
|
15769
15790
|
});
|
|
15770
|
-
|
|
15771
|
-
|
|
15772
|
-
|
|
15773
|
-
}
|
|
15774
|
-
});
|
|
15791
|
+
const closeDropdown = () => {
|
|
15792
|
+
open.value = false;
|
|
15793
|
+
};
|
|
15775
15794
|
return (_ctx, _cache) => {
|
|
15776
15795
|
return openBlock(), createBlock(BaseFormFieldWrapper, {
|
|
15777
15796
|
id: props.id,
|
|
@@ -15805,7 +15824,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
15805
15824
|
placement: "bottom-left",
|
|
15806
15825
|
role: "dialog",
|
|
15807
15826
|
"full-width": "",
|
|
15808
|
-
"aria-label": "
|
|
15827
|
+
"aria-label": "Dropdown menu"
|
|
15809
15828
|
}, {
|
|
15810
15829
|
default: withCtx(() => [
|
|
15811
15830
|
createVNode(DropdownContainer, {
|
|
@@ -15815,7 +15834,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
15815
15834
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => modelValue.value = $event),
|
|
15816
15835
|
"possible-values": props.possibleValues,
|
|
15817
15836
|
loading: __props.loading,
|
|
15818
|
-
"empty-text": "No entries found"
|
|
15837
|
+
"empty-text": "No entries found",
|
|
15838
|
+
onSelect: closeDropdown
|
|
15819
15839
|
}, null, 8, ["modelValue", "possible-values", "loading"])
|
|
15820
15840
|
]),
|
|
15821
15841
|
_: 1
|