globuswebcomponents 0.9.7 → 0.9.9
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/cjs/{gb-avatar_44.cjs.entry.js → gb-avatar_45.cjs.entry.js} +249 -122
- package/dist/cjs/gb-avatar_45.cjs.entry.js.map +1 -0
- package/dist/cjs/gb-export-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/gb-export-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/gb-pagination-dot-group.cjs.entry.js +1 -1
- package/dist/cjs/gb-progress-circle.cjs.entry.js +1 -1
- package/dist/cjs/gb-rich-text.cjs.entry.js +1 -1
- package/dist/cjs/gb-scrollbar.cjs.entry.js +1 -1
- package/dist/cjs/gb-toggle.cjs.entry.js +1 -1
- package/dist/cjs/gb-token-field.cjs.entry.js +1 -1
- package/dist/cjs/gb-verification-code-field.cjs.entry.js +2 -2
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/reusableModels-e50f3440.js.map +1 -1
- package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
- package/dist/collection/assets/empty-state-background.svg +60 -0
- package/dist/collection/assets/empty-state-no-data.svg +42 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/gb-export-dropdown/gb-export-dropdown.js +2 -2
- package/dist/collection/components/gb-export-dropdown/gb-export-dropdown.js.map +1 -1
- package/dist/collection/components/gb-file-upload/gb-file-upload.js +27 -27
- package/dist/collection/components/gb-file-upload/gb-file-upload.js.map +1 -1
- package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +1 -1
- package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.css +29 -0
- package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js +142 -63
- package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js.map +1 -1
- package/dist/collection/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.css +0 -4
- package/dist/collection/components/gb-input-field/gb-input-field.css +6 -0
- package/dist/collection/components/gb-input-field/gb-input-field.js +25 -17
- package/dist/collection/components/gb-input-field/gb-input-field.js.map +1 -1
- package/dist/collection/components/gb-pagination/gb-pagination.js +4 -3
- package/dist/collection/components/gb-pagination/gb-pagination.js.map +1 -1
- package/dist/collection/components/gb-pagination-button-group-base/gb-pagination-button-group-base.js +2 -40
- package/dist/collection/components/gb-pagination-button-group-base/gb-pagination-button-group-base.js.map +1 -1
- package/dist/collection/components/gb-pagination-dot-group/gb-pagination-dot-group.js +1 -1
- package/dist/collection/components/gb-pagination-dot-indicator/gb-pagination-dot-indicator.js +1 -1
- package/dist/collection/components/gb-pagination-number-base/gb-pagination-number-base.js +1 -1
- package/dist/collection/components/gb-password-button/gb-password-button.js +1 -1
- package/dist/collection/components/gb-progress-bar/gb-progress-bar.js +1 -1
- package/dist/collection/components/gb-progress-circle/gb-progress-circle.js +1 -1
- package/dist/collection/components/gb-rich-text/gb-rich-text.js +1 -1
- package/dist/collection/components/gb-scrollbar/gb-scrollbar.js +1 -1
- package/dist/collection/components/gb-side-bar-item/gb-side-bar-item.js +1 -1
- package/dist/collection/components/gb-sidebar/gb-sidebar.js +5 -6
- package/dist/collection/components/gb-sidebar/gb-sidebar.js.map +1 -1
- package/dist/collection/components/gb-slider/gb-slider.js +1 -1
- package/dist/collection/components/gb-slider-control-handle/gb-slider-control-handle.js +1 -1
- package/dist/collection/components/gb-status-indicator/gb-status-indicator.js +1 -1
- package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.css +4 -0
- package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js +4 -4
- package/dist/collection/components/gb-tag/gb-tag.js +1 -1
- package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
- package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
- package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
- package/dist/collection/components/gb-toast/gb-toast.js +1 -1
- package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
- package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
- package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
- package/dist/collection/components/gb-token-field/gb-token-field.js +1 -1
- package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
- package/dist/collection/components/gb-verification-code-field/gb-verification-code-field.js +2 -2
- package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.css +6 -0
- package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +501 -0
- package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js.map +1 -0
- package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
- package/dist/collection/models/reusableModels.js.map +1 -1
- package/dist/components/gb-avatar-add-button.js +1 -1
- package/dist/components/gb-avatar-dropdown.js +3 -3
- package/dist/components/gb-avatar-group.js +4 -4
- package/dist/components/gb-avatar-label-group.js +1 -1
- package/dist/components/gb-avatar-profile-photo.js +2 -2
- package/dist/components/gb-avatar.js +1 -1
- package/dist/components/gb-badge.js +1 -1
- package/dist/components/gb-checkbox-group-item.js +1 -1
- package/dist/components/gb-checkbox-group.js +3 -3
- package/dist/components/gb-collapse-button.js +1 -1
- package/dist/components/gb-export-dropdown.js +2 -2
- package/dist/components/gb-export-dropdown.js.map +1 -1
- package/dist/components/gb-file-upload-item-base.js +1 -1
- package/dist/components/gb-file-upload.js +30 -28
- package/dist/components/gb-file-upload.js.map +1 -1
- package/dist/components/gb-header.js +2 -2
- package/dist/components/gb-help-tooltip.js +1 -1
- package/dist/components/gb-horizontal-tabs.js +4 -4
- package/dist/components/gb-input-dropdown-menu-item.js +1 -1
- package/dist/components/gb-input-dropdown.js +1 -1
- package/dist/components/gb-input-field.js +1 -1
- package/dist/components/gb-pagination-button-group-base.js +1 -1
- package/dist/components/gb-pagination-dot-group.js +1 -1
- package/dist/components/gb-pagination-dot-indicator.js +1 -1
- package/dist/components/gb-pagination-number-base.js +1 -1
- package/dist/components/gb-pagination.js +18 -17
- package/dist/components/gb-pagination.js.map +1 -1
- package/dist/components/gb-password-button.js +1 -1
- package/dist/components/gb-progress-bar.js +1 -1
- package/dist/components/gb-progress-circle.js +1 -1
- package/dist/components/gb-rich-text.js +14 -14
- package/dist/components/gb-scrollbar.js +1 -1
- package/dist/components/gb-side-bar-item.js +1 -1
- package/dist/components/gb-sidebar.js +11 -12
- package/dist/components/gb-sidebar.js.map +1 -1
- package/dist/components/gb-slider-control-handle.js +1 -1
- package/dist/components/gb-slider.js +3 -3
- package/dist/components/gb-status-indicator.js +1 -1
- package/dist/components/gb-tab-button-base.js +1 -1
- package/dist/components/gb-tag-checkbox.js +1 -1
- package/dist/components/gb-tag-close.js +1 -1
- package/dist/components/gb-tag-count.js +1 -1
- package/dist/components/gb-tag.js +1 -1
- package/dist/components/gb-toast-button.js +1 -1
- package/dist/components/gb-toast.js +2 -2
- package/dist/components/gb-toggle-base.js +1 -1
- package/dist/components/gb-toggle.js +2 -2
- package/dist/components/gb-token-field.js +1 -1
- package/dist/components/gb-tooltip.js +1 -1
- package/dist/components/gb-verification-code-field.js +2 -2
- package/dist/components/gb-vertical-tabs.d.ts +11 -0
- package/dist/components/gb-vertical-tabs.js +132 -0
- package/dist/components/gb-vertical-tabs.js.map +1 -0
- package/dist/components/gb-wysiwyg-toolbar.js +1 -1
- package/dist/components/{p-b17585ec.js → p-0bde1b0e.js} +2 -2
- package/dist/components/{p-b17585ec.js.map → p-0bde1b0e.js.map} +1 -1
- package/dist/components/{p-7def9a0c.js → p-0c6b277d.js} +2 -2
- package/dist/components/{p-7def9a0c.js.map → p-0c6b277d.js.map} +1 -1
- package/dist/components/{p-6b417d00.js → p-12879e00.js} +2 -2
- package/dist/components/{p-6b417d00.js.map → p-12879e00.js.map} +1 -1
- package/dist/components/{p-ef76a407.js → p-1c1003b6.js} +2 -2
- package/dist/components/{p-ef76a407.js.map → p-1c1003b6.js.map} +1 -1
- package/dist/components/{p-99f8eb85.js → p-24625c69.js} +2 -2
- package/dist/components/{p-99f8eb85.js.map → p-24625c69.js.map} +1 -1
- package/dist/components/{p-75e5ba2a.js → p-29ca4063.js} +7 -7
- package/dist/components/{p-75e5ba2a.js.map → p-29ca4063.js.map} +1 -1
- package/dist/components/{p-c14ae549.js → p-2e73f436.js} +2 -2
- package/dist/components/{p-c14ae549.js.map → p-2e73f436.js.map} +1 -1
- package/dist/components/{p-2fedd9da.js → p-3254d1d4.js} +3 -3
- package/dist/components/{p-2fedd9da.js.map → p-3254d1d4.js.map} +1 -1
- package/dist/components/p-47052b60.js.map +1 -1
- package/dist/components/{p-5b236279.js → p-472f11a3.js} +2 -2
- package/dist/components/{p-5b236279.js.map → p-472f11a3.js.map} +1 -1
- package/dist/components/{p-62cba16e.js → p-55f450f8.js} +132 -57
- package/dist/components/p-55f450f8.js.map +1 -0
- package/dist/components/{p-6ed7f8fd.js → p-6557b598.js} +3 -3
- package/dist/components/{p-6ed7f8fd.js.map → p-6557b598.js.map} +1 -1
- package/dist/components/{p-5a175e1b.js → p-855667d7.js} +4 -4
- package/dist/components/p-855667d7.js.map +1 -0
- package/dist/components/{p-f44cfa90.js → p-88e8dfdb.js} +3 -3
- package/dist/components/{p-f44cfa90.js.map → p-88e8dfdb.js.map} +1 -1
- package/dist/components/{p-a5be24df.js → p-8a6370b2.js} +3 -3
- package/dist/components/{p-a5be24df.js.map → p-8a6370b2.js.map} +1 -1
- package/dist/components/{p-92560291.js → p-8a998306.js} +2 -2
- package/dist/components/{p-92560291.js.map → p-8a998306.js.map} +1 -1
- package/dist/components/{p-cf36ddf6.js → p-99ac6a1b.js} +37 -29
- package/dist/components/p-99ac6a1b.js.map +1 -0
- package/dist/components/{p-e671339d.js → p-ac14b3b7.js} +8 -8
- package/dist/components/p-ac14b3b7.js.map +1 -0
- package/dist/components/{p-0ad4eab9.js → p-ad3a2c04.js} +2 -2
- package/dist/components/{p-0ad4eab9.js.map → p-ad3a2c04.js.map} +1 -1
- package/dist/components/{p-d0c7cb58.js → p-c2efc577.js} +2 -2
- package/dist/components/{p-d0c7cb58.js.map → p-c2efc577.js.map} +1 -1
- package/dist/components/{p-86a65382.js → p-c8f12e95.js} +2 -2
- package/dist/components/{p-86a65382.js.map → p-c8f12e95.js.map} +1 -1
- package/dist/components/{p-38b74f4c.js → p-cbe0d594.js} +2 -2
- package/dist/components/{p-38b74f4c.js.map → p-cbe0d594.js.map} +1 -1
- package/dist/components/{p-b86bef4d.js → p-d401040a.js} +3 -3
- package/dist/components/{p-b86bef4d.js.map → p-d401040a.js.map} +1 -1
- package/dist/components/{p-40545eb0.js → p-db3b8bbc.js} +3 -9
- package/dist/components/p-db3b8bbc.js.map +1 -0
- package/dist/components/{p-30587454.js → p-e7fb3e27.js} +3 -3
- package/dist/components/{p-30587454.js.map → p-e7fb3e27.js.map} +1 -1
- package/dist/components/{p-116a3de5.js → p-ec43535d.js} +6 -6
- package/dist/components/{p-116a3de5.js.map → p-ec43535d.js.map} +1 -1
- package/dist/components/{p-c74e6b18.js → p-f80c61bb.js} +13 -13
- package/dist/components/{p-c74e6b18.js.map → p-f80c61bb.js.map} +1 -1
- package/dist/components/{p-1370acdb.js → p-fdb2a202.js} +3 -3
- package/dist/components/{p-1370acdb.js.map → p-fdb2a202.js.map} +1 -1
- package/dist/components/test-input-tag.js +9 -9
- package/dist/esm/{gb-avatar_44.entry.js → gb-avatar_45.entry.js} +249 -123
- package/dist/esm/gb-avatar_45.entry.js.map +1 -0
- package/dist/esm/gb-export-dropdown.entry.js +2 -2
- package/dist/esm/gb-export-dropdown.entry.js.map +1 -1
- package/dist/esm/gb-pagination-dot-group.entry.js +1 -1
- package/dist/esm/gb-progress-circle.entry.js +1 -1
- package/dist/esm/gb-rich-text.entry.js +1 -1
- package/dist/esm/gb-scrollbar.entry.js +1 -1
- package/dist/esm/gb-toggle.entry.js +1 -1
- package/dist/esm/gb-token-field.entry.js +1 -1
- package/dist/esm/gb-verification-code-field.entry.js +2 -2
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/reusableModels-8496e911.js.map +1 -1
- package/dist/esm/test-input-tag.entry.js +2 -2
- package/dist/globuscomponents/assets/empty-state-background.svg +60 -0
- package/dist/globuscomponents/assets/empty-state-no-data.svg +42 -0
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/globuscomponents.esm.js.map +1 -1
- package/dist/globuscomponents/{p-9f612212.entry.js → p-09f97c9b.entry.js} +2 -2
- package/dist/globuscomponents/p-123789b1.entry.js +2 -0
- package/dist/globuscomponents/p-47052b60.js.map +1 -1
- package/dist/globuscomponents/{p-65f494ea.entry.js → p-69239722.entry.js} +2 -2
- package/dist/globuscomponents/p-a6568465.entry.js +2 -0
- package/dist/globuscomponents/{p-6e05335a.entry.js → p-a786f9fa.entry.js} +2 -2
- package/dist/globuscomponents/{p-70868bfe.entry.js → p-b5d57e93.entry.js} +2 -2
- package/dist/globuscomponents/{p-13fb8ad0.entry.js → p-b65519f9.entry.js} +2 -2
- package/dist/globuscomponents/{p-27ad012f.entry.js → p-bf41505d.entry.js} +2 -2
- package/dist/globuscomponents/p-bf41505d.entry.js.map +1 -0
- package/dist/globuscomponents/{p-cc42edb7.entry.js → p-f4d25885.entry.js} +2 -2
- package/dist/globuscomponents/p-f4d25885.entry.js.map +1 -0
- package/dist/globuscomponents/{p-f8a6d94e.entry.js → p-f58cd21d.entry.js} +2 -2
- package/dist/types/components/gb-input-dropdown/gb-input-dropdown.d.ts +10 -4
- package/dist/types/components/gb-input-field/gb-input-field.d.ts +0 -1
- package/dist/types/components/gb-pagination-button-group-base/gb-pagination-button-group-base.d.ts +0 -3
- package/dist/types/components/gb-vertical-tabs/gb-vertical-tabs.d.ts +31 -0
- package/dist/types/components.d.ts +83 -10
- package/dist/types/models/reusableModels.d.ts +2 -2
- package/package.json +1 -1
- package/dist/cjs/gb-avatar_44.cjs.entry.js.map +0 -1
- package/dist/components/p-40545eb0.js.map +0 -1
- package/dist/components/p-5a175e1b.js.map +0 -1
- package/dist/components/p-62cba16e.js.map +0 -1
- package/dist/components/p-cf36ddf6.js.map +0 -1
- package/dist/components/p-e671339d.js.map +0 -1
- package/dist/esm/gb-avatar_44.entry.js.map +0 -1
- package/dist/globuscomponents/p-27ad012f.entry.js.map +0 -1
- package/dist/globuscomponents/p-cc42edb7.entry.js.map +0 -1
- package/dist/globuscomponents/p-dd933232.entry.js +0 -2
- package/dist/globuscomponents/p-ffe76eeb.entry.js +0 -2
- /package/dist/globuscomponents/{p-9f612212.entry.js.map → p-09f97c9b.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-dd933232.entry.js.map → p-123789b1.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-65f494ea.entry.js.map → p-69239722.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-ffe76eeb.entry.js.map → p-a6568465.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-6e05335a.entry.js.map → p-a786f9fa.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-70868bfe.entry.js.map → p-b5d57e93.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-13fb8ad0.entry.js.map → p-b65519f9.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-f8a6d94e.entry.js.map → p-f58cd21d.entry.js.map} +0 -0
|
@@ -20,7 +20,7 @@ export class GbInputDropdown {
|
|
|
20
20
|
// { name: 'Mock Item A', username: 'A', selected: false },
|
|
21
21
|
// { name: 'Mock Item B', username: 'B', selected: false },
|
|
22
22
|
// { name: 'Mock Item C', username: 'C', selected: false },
|
|
23
|
-
// 45, 50, 20
|
|
23
|
+
// 45, 50, 20, 25, 90, 92, 53,
|
|
24
24
|
// 'Activated',
|
|
25
25
|
// 'Deactivated',
|
|
26
26
|
];
|
|
@@ -37,11 +37,28 @@ export class GbInputDropdown {
|
|
|
37
37
|
this.showBorder = false;
|
|
38
38
|
this.menuPosition = undefined;
|
|
39
39
|
this.showSearchInput = false;
|
|
40
|
+
this.inputValue = undefined;
|
|
40
41
|
this.leadingIconSvg = '';
|
|
41
42
|
this.dropdownOpen = false;
|
|
42
43
|
this.selectedItems = [];
|
|
43
44
|
this.unselectedItems = [];
|
|
44
45
|
this.selectedItem = undefined;
|
|
46
|
+
this.searchItem = undefined;
|
|
47
|
+
this.searchResults = undefined;
|
|
48
|
+
}
|
|
49
|
+
searchItems(event) {
|
|
50
|
+
this.searchItem = event.detail;
|
|
51
|
+
this.searchResults = this.items.filter((item) => {
|
|
52
|
+
if (typeof item === 'string') {
|
|
53
|
+
return item.toLowerCase().includes(this.searchItem.toLowerCase());
|
|
54
|
+
}
|
|
55
|
+
else if (typeof item === 'number') {
|
|
56
|
+
return item.toString().includes(this.searchItem.toString());
|
|
57
|
+
}
|
|
58
|
+
else if (typeof item === 'object') {
|
|
59
|
+
return item.name.toLowerCase().includes(this.searchItem.toLowerCase());
|
|
60
|
+
}
|
|
61
|
+
});
|
|
45
62
|
}
|
|
46
63
|
disconnectedCallback() {
|
|
47
64
|
document.removeEventListener('click', this.handleClickOutside);
|
|
@@ -55,17 +72,17 @@ export class GbInputDropdown {
|
|
|
55
72
|
if (this.state !== 'disabled') {
|
|
56
73
|
this.dropdownOpen = !this.dropdownOpen;
|
|
57
74
|
}
|
|
75
|
+
// console.log(this.inputValue);
|
|
58
76
|
event.stopPropagation();
|
|
59
77
|
}
|
|
60
78
|
isItemSelected(item) {
|
|
61
|
-
// if(typeof selectedItem === 'object') {
|
|
62
|
-
// const found = this.selectedItems.find(item => item.name === selectedItem.name);
|
|
63
|
-
// return found !== undefined;
|
|
64
|
-
// } else {
|
|
65
|
-
// return this.selectedItem === selectedItem;
|
|
66
|
-
// }
|
|
67
79
|
const isObject = typeof item === 'object';
|
|
68
|
-
|
|
80
|
+
if (this.value.length === 0) {
|
|
81
|
+
return this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));
|
|
82
|
+
}
|
|
83
|
+
else if (this.value.length > 0) {
|
|
84
|
+
return this.value.some(i => (isObject ? i.name === item.name : i === item));
|
|
85
|
+
}
|
|
69
86
|
}
|
|
70
87
|
async loadIcon(iconName) {
|
|
71
88
|
const iconPath = getAssetPath(`${iconName}`);
|
|
@@ -93,58 +110,109 @@ export class GbInputDropdown {
|
|
|
93
110
|
});
|
|
94
111
|
}
|
|
95
112
|
handleItemSelect(item) {
|
|
96
|
-
const isObject = typeof item === 'object';
|
|
97
113
|
if (this.type === 'tags') {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
114
|
+
if (this.state === 'default') {
|
|
115
|
+
this.selectMultipleItems(item);
|
|
116
|
+
console.log(this.selectedItems);
|
|
117
|
+
}
|
|
118
|
+
else if (this.state === 'filled' && this.value.length > 0) {
|
|
119
|
+
this.state = 'default';
|
|
120
|
+
this.value.length = 0;
|
|
121
|
+
this.selectMultipleItems(item);
|
|
106
122
|
}
|
|
107
|
-
else {
|
|
108
|
-
|
|
109
|
-
this.selectedItems = [...this.selectedItems, item];
|
|
110
|
-
this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
|
|
111
|
-
this.dropdownItemSelected.emit(this.selectedItems);
|
|
123
|
+
else if (this.state === 'filled' && this.value.length === 0) {
|
|
124
|
+
this.selectMultipleItems(item);
|
|
112
125
|
}
|
|
113
126
|
}
|
|
114
127
|
else {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
128
|
+
if (this.state === 'default') {
|
|
129
|
+
this.singleItemSelect(item);
|
|
130
|
+
}
|
|
131
|
+
else if (this.state === 'filled' && this.value.length > 0) {
|
|
132
|
+
this.state = 'default';
|
|
133
|
+
this.value.length = 0;
|
|
134
|
+
this.singleItemSelect(item);
|
|
135
|
+
}
|
|
136
|
+
else if (this.state === 'filled' && this.value.length === 0) {
|
|
137
|
+
this.singleItemSelect(item);
|
|
138
|
+
}
|
|
122
139
|
}
|
|
123
140
|
this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
|
|
141
|
+
// console.log(this.state)
|
|
124
142
|
}
|
|
125
|
-
|
|
143
|
+
singleItemSelect(item) {
|
|
144
|
+
// Handle single selection for other types
|
|
145
|
+
this.selectedItem = item; // Store single selected item
|
|
146
|
+
this.selectedItems = [item]; // Ensure only one item in selectedItems
|
|
147
|
+
// Close the dropdown after selection for single selection types
|
|
148
|
+
this.dropdownOpen = false;
|
|
149
|
+
this.dropdownItemSelected.emit(this.selectedItem);
|
|
150
|
+
}
|
|
151
|
+
selectMultipleItems(item) {
|
|
126
152
|
const isObject = typeof item === 'object';
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
this.unselectedItems
|
|
153
|
+
const isSelected = this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));
|
|
154
|
+
if (isSelected) {
|
|
155
|
+
// Unselect item: Move it from selectedItems to unselectedItems
|
|
156
|
+
this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
|
|
157
|
+
if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
|
|
158
|
+
this.unselectedItems = [...this.unselectedItems, item];
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// Select item: Move it from unselectedItems to selectedItems
|
|
163
|
+
this.selectedItems = [...this.selectedItems, item];
|
|
164
|
+
this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
|
|
165
|
+
this.dropdownItemSelected.emit(this.selectedItems);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
handleTagRemove(item) {
|
|
169
|
+
if (this.value.length === 0) {
|
|
170
|
+
const isObject = typeof item === 'object';
|
|
171
|
+
// Remove item from selectedItems
|
|
172
|
+
this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
|
|
173
|
+
// Add item back to unselectedItems if not already present
|
|
174
|
+
if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
|
|
175
|
+
this.unselectedItems = [...this.unselectedItems, item];
|
|
176
|
+
}
|
|
177
|
+
// Optionally update state or emit event
|
|
178
|
+
this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
|
|
179
|
+
}
|
|
180
|
+
else if (this.value.length > 0) {
|
|
181
|
+
const isObject = typeof item === 'object';
|
|
182
|
+
// Remove item from selectedItems
|
|
183
|
+
this.value = this.value.filter(i => (isObject ? i.name !== item.name : i !== item));
|
|
184
|
+
this.selectedItems = this.value;
|
|
185
|
+
// Add item back to unselectedItems if not already present
|
|
186
|
+
if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
|
|
187
|
+
this.unselectedItems = [...this.unselectedItems, item];
|
|
188
|
+
}
|
|
189
|
+
// Optionally update state or emit event
|
|
190
|
+
this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
|
|
132
191
|
}
|
|
133
|
-
// Optionally update state or emit event
|
|
134
|
-
this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
|
|
135
192
|
}
|
|
136
193
|
componentWillRender() {
|
|
137
194
|
if (this.value.length > 0 && this.state === 'default') {
|
|
138
195
|
this.state = 'filled';
|
|
139
196
|
}
|
|
140
197
|
}
|
|
141
|
-
componentWillLoad() {
|
|
198
|
+
componentWillLoad(item) {
|
|
142
199
|
this.loadIcon(this.leadingIcon);
|
|
143
200
|
this.unselectedItems = [...this.items];
|
|
144
201
|
this.selectedItems = [];
|
|
145
202
|
if (this.type !== 'tags') {
|
|
146
203
|
this.selectedItem = null; // For single selection types
|
|
147
204
|
}
|
|
205
|
+
if (this.value.length > 0) {
|
|
206
|
+
if (typeof item !== 'object') {
|
|
207
|
+
this.selectedItems = this.items.filter(item => this.value.includes(item));
|
|
208
|
+
this.unselectedItems = this.items.filter(item => !this.value.includes(item));
|
|
209
|
+
}
|
|
210
|
+
else if (typeof item === 'object') {
|
|
211
|
+
this.selectedItems = this.items.filter(item => this.value.includes(item.name));
|
|
212
|
+
this.unselectedItems = this.items.filter(item => !this.value.includes(item.name));
|
|
213
|
+
}
|
|
214
|
+
console.log(this.selectedItems);
|
|
215
|
+
}
|
|
148
216
|
}
|
|
149
217
|
componentDidLoad() {
|
|
150
218
|
if (this.type !== 'tags') {
|
|
@@ -183,17 +251,21 @@ export class GbInputDropdown {
|
|
|
183
251
|
}
|
|
184
252
|
render() {
|
|
185
253
|
var _a;
|
|
254
|
+
const emptyStateBackground = getAssetPath('assets/empty-state-background.svg');
|
|
255
|
+
const illustration = getAssetPath('assets/empty-state-no-data.svg');
|
|
186
256
|
return [
|
|
187
|
-
h("div", { key: '
|
|
257
|
+
h("div", { key: 'da64b131627d76649b8b1a51c4480fbb8f007c3c', class: `input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}` }, h("div", { key: 'ac9c13fd14c7bc91372c4195d7f407948c56af64', class: `input_with_label` }, this.showLabel && (h("p", { key: '3751aa0208a54d4bc0476ceffeee0ba93944ca33', class: "text-sm-regular", style: { color: '#4B5565' } }, this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase())), h("div", { key: '31379c3e008f6a35c952001d4146918079a013f3', class: `input_dropdown_div ${this.size} ${this.state} ${this.type === 'tags' ? 'tag' : ''}`, onClick: e => this.toggleDropdown(e) }, this.type === 'icon_leading' && (h("svg", { key: '404e6064a61fdb67dbb3e510ce86aaa0852bced2', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '5df4579b91664282e3c9a4e8eb626ed6afb9d04f', d: "M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z", stroke: "#697586", "stroke-width": "1.66667" }), h("path", { key: '243604a40608af05adaaa44900c71a9cc45be5a6', d: "M13.75 5.41667C13.75 7.48774 12.0711 9.16667 10 9.16667C7.92893 9.16667 6.25 7.48774 6.25 5.41667C6.25 3.3456 7.92893 1.66667 10 1.66667C12.0711 1.66667 13.75 3.3456 13.75 5.41667Z", stroke: "#697586", "stroke-width": "1.66667" }))), this.type === 'avatar_leading' && (h(Fragment, null, this.state === 'default' && (h("svg", { key: '07427cbfeb90620ec96a7e58ba47766f479bbbe4', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '696e5067c7629d8154c8c41d99487e863859b871', d: "M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z", stroke: "#4B5565", "stroke-width": "1.66667" }), h("path", { key: '44e602cfab9620fd16caefa6fa817c0d38f2d42b', d: "M13.75 5.41666C13.75 7.48772 12.0711 9.16666 10 9.16666C7.92893 9.16666 6.25 7.48772 6.25 5.41666C6.25 3.34559 7.92893 1.66666 10 1.66666C12.0711 1.66666 13.75 3.34559 13.75 5.41666Z", stroke: "#4B5565", "stroke-width": "1.66667" }))), this.state === 'filled' && (h("gb-avatar", { key: '3c75d9c8beed24b1aef0681bc7c3ebfde7a8e61d', size: "xs", text: this.text, color: this.color, "show-border": this.showBorder }, h("h1", { key: '0452d8eff691e2f5b16a641e2ec21da339c4ee2c', slot: "initials" }, this.selectedItem.name.split(' ').map(part => part.charAt(0).toUpperCase())))))), this.showLeadingIcon && h(Fragment, null, this.type === 'search' || this.type === 'tags' ? h("div", { class: `icon`, innerHTML: this.leadingIconSvg }) : null), this.type === 'dot_leading' && (h("svg", { key: 'e928ffb57ead5371b5ef56f20ba9fc78dda7309d', xmlns: "http://www.w3.org/2000/svg", width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", class: `dot ${this.size}` }, h("circle", { key: '67aa0291f689e118e942391cca8aaf6bda60783a', cx: "5", cy: "5", r: "4", fill: "#079455" }))), h("div", { key: '7eabb0a9320368bc1f2665ae32a254cfbf3bf405', class: "placeholder" }, h(Fragment, null, this.state === 'default' && (h(Fragment, null, this.placeholder && (h("p", { key: '46e2fc8e5c1a4579a389d214a5ab81b1d8db175b', class: "text-md-regular", style: { color: '#CDD5DF' } }, this.placeholder)))), this.state === 'filled' && (h(Fragment, null, h("div", { key: 'ab741314786bcfade596b9dbfc4f9a6900ad6560', class: `content` }, h("div", { key: 'fb15f8f0f8232847cb10bc995103669f2ed5d54d', class: `text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`, style: { color: '#4B5565' } }, this.type === 'tags' ? (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, this.selectedItems.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
|
|
188
258
|
.split(' ')
|
|
189
259
|
.map(part => part.charAt(0).toUpperCase())
|
|
190
260
|
.join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, this.value.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
|
|
191
261
|
.split(' ')
|
|
192
262
|
.map(part => part.charAt(0).toUpperCase())
|
|
193
|
-
.join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))))) : (h(Fragment, null, this.value.length === 0 ? ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.name) || this.selectedItem : h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: '
|
|
263
|
+
.join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))))) : (h(Fragment, null, this.value.length === 0 ? ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.name) || this.selectedItem : h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: 'd0afee1bad1201f16d30fef13f1fd766e9329e92', class: "supporting_text text-sm-regular", style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, "@", this.selectedItem.username)) : (h(Fragment, null, this.value.map((item) => typeof item === 'object' && item.username)))))))))), this.state === 'disabled' && (h(Fragment, null, h("div", { key: 'daf7db1f2d094beb038bd67babec4cea1cd319f7', class: `content` }, h("div", { key: '22869ca475247454328b3a3ee00d428dbd4fea63', class: `text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`, style: { color: '#4B5565' } }, this.type === 'tags' ? (h(Fragment, null, this.value.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
|
|
194
264
|
.split(' ')
|
|
195
265
|
.map(part => part.charAt(0).toUpperCase())
|
|
196
|
-
.join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: '
|
|
266
|
+
.join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: '056c387a557f0343af264eafa2524abb88e8e225', class: "supporting_text text-sm-regular", style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, "@", this.selectedItem.username)) : (h(Fragment, null, this.value.map((item) => typeof item === 'object' && (h(Fragment, null, "@", item.username)))))))))))))), this.showHelpIcon && (h("div", { key: '566377b60738e0b62b906223459401a1da4189bf', class: `help_icon` }, h("gb-help-tooltip", { key: '4bb3c1f1bdf63cd50f8a5ceaf618d4cd6850e6c3', "show-supporting-text": true }, h("slot", { key: '61ca253bbe7a7828d93d90278c390d7a3070d46d', name: "tooltip_label", slot: "label" }), h("slot", { key: '2508d3bf99138c323ff1a8b5ffd5adcdcfc63c21', name: "tooltip_supporting_text", slot: "supporting_text" })))), this.type !== 'search' && (h("div", { key: '467e11b4657145186a05820997cb9ba27ea38a39', class: `dropdown_icon ${this.dropdownOpen ? 'opened' : ''}` }, h("svg", { key: 'a39ac24586ef63905a85d6ef70923809887833f0', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", class: `${this.state}` }, h("path", { key: '26dd5d8288787e876a7a453b8a8651182aea8379', d: "M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5", stroke: "#697586", "stroke-width": "1.66667", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h(Fragment, null, this.dropdownOpen && (h("div", { key: 'e1dfcefad56a003535bebf6ced0d342ccda37f7e', class: `dropdown_menu ${this.menuPosition}`, ref: el => (this.dropdownRef = el), onClick: e => e.stopPropagation() }, this.showSearchInput && (h("div", { key: '0dfe2c5fe5d6a2c8c82113e6e5534fa75e2b0ca1', class: "dropdown_search_field" }, h("gb-input-field", { key: 'caa4c9264eff403cd01ebf0f6858e9aa846557e0', size: "sm", value: this.inputValue, "show-close-button": this.inputValue ? true : false, "icon-swap": "assets/search-01.svg", placeholder: "Search banks", type: "icon_leading", labelText: "label", idOfInput: "3", onInputValueChanged: this.searchItems.bind(this) }))), this.searchItem ? (h(Fragment, null, this.searchItem !== '' && this.searchResults.length > 0 ? (h(Fragment, null, this.searchResults.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: this.isItemSelected(item), onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (h("p", { slot: "name" }, item))))))) : this.searchItem !== '' && this.searchResults.length === 0 ? (
|
|
267
|
+
//Empty state for when there are no search results
|
|
268
|
+
h("div", { class: "empty_state" }, h("img", { src: emptyStateBackground, class: "background", alt: "" }), h("div", { class: "message_background" }, h("img", { src: illustration, alt: "", class: "illustration" }), h("p", { class: "message text-md-semi-bold" }, "No results available")))) : null)) : (h(Fragment, null, this.type === 'tags' ? (h(Fragment, null, this.selectedItems.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: true, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (h("p", { slot: "name" }, item))))), this.unselectedItems.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: false, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (h("p", { slot: "name" }, item))))))) : (h(Fragment, null, this.items.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: this.isItemSelected(item), color: this.color, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (typeof item !== 'object' && h("p", { slot: "name" }, item)))))))))))))), this.showHintText && (h("p", { key: '57c34f96d4b50d8e9ea990b0913adee79742907d', class: "text-sm-regular", style: { color: '#697586' } }, this.hintText))),
|
|
197
269
|
];
|
|
198
270
|
}
|
|
199
271
|
static get is() { return "gb-input-dropdown"; }
|
|
@@ -472,15 +544,9 @@ export class GbInputDropdown {
|
|
|
472
544
|
"type": "unknown",
|
|
473
545
|
"mutable": true,
|
|
474
546
|
"complexType": {
|
|
475
|
-
"original": "
|
|
476
|
-
"resolved": "
|
|
477
|
-
"references": {
|
|
478
|
-
"DropdownItemTypes": {
|
|
479
|
-
"location": "import",
|
|
480
|
-
"path": "../../models/reusableModels",
|
|
481
|
-
"id": "src/models/reusableModels.ts::DropdownItemTypes"
|
|
482
|
-
}
|
|
483
|
-
}
|
|
547
|
+
"original": "any[]",
|
|
548
|
+
"resolved": "any[]",
|
|
549
|
+
"references": {}
|
|
484
550
|
},
|
|
485
551
|
"required": false,
|
|
486
552
|
"optional": false,
|
|
@@ -488,21 +554,15 @@ export class GbInputDropdown {
|
|
|
488
554
|
"tags": [],
|
|
489
555
|
"text": ""
|
|
490
556
|
},
|
|
491
|
-
"defaultValue": "[\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20
|
|
557
|
+
"defaultValue": "[\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20, 25, 90, 92, 53,\r\n // 'Activated',\r\n // 'Deactivated',\r\n ]"
|
|
492
558
|
},
|
|
493
559
|
"value": {
|
|
494
560
|
"type": "unknown",
|
|
495
|
-
"mutable":
|
|
561
|
+
"mutable": true,
|
|
496
562
|
"complexType": {
|
|
497
|
-
"original": "
|
|
498
|
-
"resolved": "
|
|
499
|
-
"references": {
|
|
500
|
-
"DropdownItemTypes": {
|
|
501
|
-
"location": "import",
|
|
502
|
-
"path": "../../models/reusableModels",
|
|
503
|
-
"id": "src/models/reusableModels.ts::DropdownItemTypes"
|
|
504
|
-
}
|
|
505
|
-
}
|
|
563
|
+
"original": "any[]",
|
|
564
|
+
"resolved": "any[]",
|
|
565
|
+
"references": {}
|
|
506
566
|
},
|
|
507
567
|
"required": false,
|
|
508
568
|
"optional": false,
|
|
@@ -510,7 +570,7 @@ export class GbInputDropdown {
|
|
|
510
570
|
"tags": [],
|
|
511
571
|
"text": ""
|
|
512
572
|
},
|
|
513
|
-
"defaultValue": "[\r\n
|
|
573
|
+
"defaultValue": "[\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20, 25, 90,\r\n // 'Activated',\r\n // 'Deactivated',\r\n ]"
|
|
514
574
|
},
|
|
515
575
|
"supportingText": {
|
|
516
576
|
"type": "boolean",
|
|
@@ -605,6 +665,23 @@ export class GbInputDropdown {
|
|
|
605
665
|
"attribute": "show-search-input",
|
|
606
666
|
"reflect": false,
|
|
607
667
|
"defaultValue": "false"
|
|
668
|
+
},
|
|
669
|
+
"inputValue": {
|
|
670
|
+
"type": "string",
|
|
671
|
+
"mutable": false,
|
|
672
|
+
"complexType": {
|
|
673
|
+
"original": "string",
|
|
674
|
+
"resolved": "string",
|
|
675
|
+
"references": {}
|
|
676
|
+
},
|
|
677
|
+
"required": false,
|
|
678
|
+
"optional": false,
|
|
679
|
+
"docs": {
|
|
680
|
+
"tags": [],
|
|
681
|
+
"text": ""
|
|
682
|
+
},
|
|
683
|
+
"attribute": "input-value",
|
|
684
|
+
"reflect": false
|
|
608
685
|
}
|
|
609
686
|
};
|
|
610
687
|
}
|
|
@@ -614,7 +691,9 @@ export class GbInputDropdown {
|
|
|
614
691
|
"dropdownOpen": {},
|
|
615
692
|
"selectedItems": {},
|
|
616
693
|
"unselectedItems": {},
|
|
617
|
-
"selectedItem": {}
|
|
694
|
+
"selectedItem": {},
|
|
695
|
+
"searchItem": {},
|
|
696
|
+
"searchResults": {}
|
|
618
697
|
};
|
|
619
698
|
}
|
|
620
699
|
static get events() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gb-input-dropdown.js","sourceRoot":"","sources":["../../../src/components/gb-input-dropdown/gb-input-dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Fragment, Element, State, getAssetPath, Listen, Event, EventEmitter } from \"@stencil/core\";\r\nimport { AvatarColorTypes, DropdownItemTypes, DropdownTypes, GeneralSizes, StateEnum } from \"../../models/reusableModels\";\r\n@Component({\r\n tag: 'gb-input-dropdown',\r\n styleUrl: 'gb-input-dropdown.css',\r\n shadow: true,\r\n})\r\nexport class GbInputDropdown {\r\n @Prop() type: DropdownTypes;\r\n @Prop({ mutable: true }) state: 'default' | 'focused' | 'disabled' | 'filled';\r\n @Prop() size: GeneralSizes;\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop() showHintText: boolean;\r\n @Prop() hintText: string = '';\r\n @Prop() showHelpIcon: boolean;\r\n @Prop() showLeadingIcon: boolean = false;\r\n @Prop() iconSwap: string = '';\r\n @Prop() text: boolean = false;\r\n @Prop() leadingIcon: string = '';\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop({ mutable: true }) items: DropdownItemTypes[] = [\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20\r\n // 'Activated',\r\n // 'Deactivated',\r\n ];\r\n @Prop() value: DropdownItemTypes[] = [\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20, 25, 90,\r\n // 'Activated',\r\n // 'Deactivated',\r\n ];\r\n @Prop() supportingText: boolean = false;\r\n @Prop() color: AvatarColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Prop() menuPosition: 'top' | ' bottom';\r\n @Prop() showSearchInput: boolean = false;\r\n @State() leadingIconSvg: string = '';\r\n @State() dropdownOpen: boolean = false;\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @State() selectedItem: any;\r\n @Element() el: HTMLElement;\r\n // @Event() dropdownValue: EventEmitter<any>;\r\n @Event() dropdownItemSelected: EventEmitter<any>;\r\n\r\n dropdownRef!: HTMLElement;\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.dropdownOpen && !this.el.contains(event.target as Node)) {\r\n this.dropdownOpen = false;\r\n }\r\n }\r\n\r\n toggleDropdown(event: MouseEvent) {\r\n if (this.state !== 'disabled') {\r\n this.dropdownOpen = !this.dropdownOpen;\r\n }\r\n event.stopPropagation();\r\n }\r\n\r\n isItemSelected(item) {\r\n // if(typeof selectedItem === 'object') {\r\n // const found = this.selectedItems.find(item => item.name === selectedItem.name);\r\n // return found !== undefined;\r\n // } else {\r\n // return this.selectedItem === selectedItem;\r\n // }\r\n\r\n const isObject = typeof item === 'object';\r\n return this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));\r\n }\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n getAvatarSize() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'xs';\r\n case 'md':\r\n return 'xs';\r\n }\r\n }\r\n\r\n sortDropdownItems(menuItems: any[]): any[] {\r\n return menuItems.sort((a, b) => {\r\n if (a.selected && !b.selected) {\r\n return -1; // Move selected items up\r\n } else if (!a.selected && b.selected) {\r\n return 1; // Keep unselected items down\r\n }\r\n return 0; // Keep order if both are selected or unselected\r\n });\r\n }\r\n\r\n handleItemSelect(item) {\r\n const isObject = typeof item === 'object';\r\n\r\n if (this.type === 'tags') {\r\n // Handle multiple selection for \"tags\" type\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));\r\n\r\n if (isSelected) {\r\n // Unselect item: Move it from selectedItems to unselectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n } else {\r\n // Select item: Move it from unselectedItems to selectedItems\r\n this.selectedItems = [...this.selectedItems, item];\r\n this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n this.dropdownItemSelected.emit(this.selectedItems);\r\n }\r\n } else {\r\n // Handle single selection for other types\r\n this.selectedItem = item; // Store single selected item\r\n this.selectedItems = [item]; // Ensure only one item in selectedItems\r\n // this.unselectedItems = this.items.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n\r\n // Close the dropdown after selection for single selection types\r\n this.dropdownOpen = false;\r\n this.dropdownItemSelected.emit(this.selectedItem);\r\n }\r\n\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n }\r\n\r\n handleTagRemove(item) {\r\n const isObject = typeof item === 'object';\r\n\r\n // Remove item from selectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n\r\n // Add item back to unselectedItems if not already present\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n\r\n // Optionally update state or emit event\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n }\r\n\r\n componentWillRender() {\r\n if (this.value.length > 0 && this.state === 'default') {\r\n this.state = 'filled';\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.leadingIcon);\r\n\r\n this.unselectedItems = [...this.items];\r\n this.selectedItems = [];\r\n if (this.type !== 'tags') {\r\n this.selectedItem = null; // For single selection types\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.type !== 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n const slottedInitials = this.el.querySelector('[slot=\"initials\"]');\r\n\r\n const mainTextSlot = this.el.querySelector('[slot=\"tooltip_label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"tooltip_supporting_text\"]');\r\n\r\n if (slottedInitials) {\r\n slottedInitials.classList.add('text-xxs-semi-bold');\r\n }\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add('text-xs-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-xs-regular');\r\n }\r\n }\r\n\r\n applyColorToInitials() {\r\n switch (this.color) {\r\n case 'gray':\r\n return 'gray';\r\n case 'blue':\r\n return 'blue';\r\n case 'cyan':\r\n return 'cyan';\r\n case 'pink':\r\n return 'pink';\r\n case 'purple':\r\n return 'purple';\r\n case 'green':\r\n return 'green';\r\n case 'yellow':\r\n return 'yellow';\r\n }\r\n }\r\n\r\n render() {\r\n return [\r\n <div class={`input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}`}>\r\n <div class={`input_with_label`}>\r\n {this.showLabel && (\r\n <p class=\"text-sm-regular\" style={{ color: '#4B5565' }}>\r\n {this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}\r\n </p>\r\n )}\r\n <div class={`input_dropdown_div ${this.size} ${this.state} ${this.type === 'tags' ? 'tag' : ''}`} onClick={e => this.toggleDropdown(e)}>\r\n {this.type === 'icon_leading' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n />\r\n <path\r\n d=\"M13.75 5.41667C13.75 7.48774 12.0711 9.16667 10 9.16667C7.92893 9.16667 6.25 7.48774 6.25 5.41667C6.25 3.3456 7.92893 1.66667 10 1.66667C12.0711 1.66667 13.75 3.3456 13.75 5.41667Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n />\r\n </svg>\r\n )}\r\n {this.type === 'avatar_leading' && (\r\n <>\r\n {this.state === 'default' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.66667\"\r\n />\r\n <path\r\n d=\"M13.75 5.41666C13.75 7.48772 12.0711 9.16666 10 9.16666C7.92893 9.16666 6.25 7.48772 6.25 5.41666C6.25 3.34559 7.92893 1.66666 10 1.66666C12.0711 1.66666 13.75 3.34559 13.75 5.41666Z\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.66667\"\r\n />\r\n </svg>\r\n )}\r\n {this.state === 'filled' && (\r\n <gb-avatar size=\"xs\" text={this.text} color={this.color} show-border={this.showBorder}>\r\n <h1 slot=\"initials\">{this.selectedItem.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n </gb-avatar>\r\n )}\r\n </>\r\n )}\r\n {this.showLeadingIcon && <>{this.type === 'search' || this.type === 'tags' ? <div class={`icon`} innerHTML={this.leadingIconSvg}></div> : null}</>}\r\n {this.type === 'dot_leading' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class={`dot ${this.size}`}>\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#079455\" />\r\n </svg>\r\n )}\r\n <div class=\"placeholder\">\r\n <>\r\n {this.state === 'default' && (\r\n <>\r\n {this.placeholder && (\r\n <p class=\"text-md-regular\" style={{ color: '#CDD5DF' }}>\r\n {this.placeholder}\r\n </p>\r\n )}\r\n </>\r\n )}\r\n {this.state === 'filled' && (\r\n <>\r\n <div class={`content`}>\r\n <div class={`text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`} style={{ color: '#4B5565' }}>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.value.length === 0 ? (\r\n <>\r\n {this.selectedItems.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n {this.value.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n {this.value.length === 0 ? this.selectedItem?.name || this.selectedItem : <>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}\r\n </>\r\n )}\r\n </div>\r\n {this.supportingText && (\r\n <div class=\"supporting_text text-sm-regular\" style={{ color: '#697586' }}>\r\n {this.type !== 'tags' && (\r\n <>\r\n {this.value.length === 0 ? (\r\n <>@{this.selectedItem.username}</>\r\n ) : (\r\n <>\r\n {this.value.map((item) => typeof item === 'object' && item.username)}\r\n </>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n {this.state === 'disabled' && (\r\n <>\r\n <div class={`content`}>\r\n <div class={`text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`} style={{ color: '#4B5565' }}>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.value.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\">\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\">\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n {<>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}\r\n </>\r\n )}\r\n </div>\r\n {this.supportingText && (\r\n <div class=\"supporting_text text-sm-regular\" style={{ color: '#697586' }}>\r\n {this.type !== 'tags' && (\r\n <>\r\n {this.value.length === 0 ? (\r\n <>@{this.selectedItem.username}</>\r\n ) : (\r\n <>\r\n {this.value.map((item) => \r\n typeof item === 'object' && (\r\n <>@{item.username}</>\r\n ))}\r\n </>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </>\r\n </div>\r\n {this.showHelpIcon && (\r\n <div class={`help_icon`}>\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n </div>\r\n )}\r\n {this.type !== 'search' && (\r\n <div class={`dropdown_icon ${this.dropdownOpen ? 'opened' : ''}`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class={`${this.state}`}>\r\n <path\r\n d=\"M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n <>\r\n {this.dropdownOpen && (\r\n <div class={`dropdown_menu ${this.menuPosition}`} ref={el => (this.dropdownRef = el)} onClick={e => e.stopPropagation()}>\r\n {this.showSearchInput && (\r\n <div class=\"dropdown_search_field\">\r\n <gb-input-field size=\"sm\" show-close-button={true} icon-swap=\"assets/search-01.svg\" placeholder=\"Search banks\" type=\"icon_leading\" labelText=\"label\" idOfInput=\"3\"></gb-input-field>\r\n </div>\r\n )}\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.selectedItems.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={true}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">@{item.username}</p>\r\n </>\r\n ) : (\r\n <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n {this.unselectedItems.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={false}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">@{item.username}</p>\r\n </>\r\n ) : (\r\n <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </>\r\n ) : (\r\n <>\r\n {this.items.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={this.isItemSelected(item)}\r\n color={this.color}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n <p slot=\"supporting_text\">@{item.username}</p>\r\n </>\r\n ) : (\r\n typeof item !== 'object' && <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n </div>\r\n </div>\r\n {this.showHintText && (\r\n <p class=\"text-sm-regular\" style={{ color: '#697586' }}>\r\n {this.hintText}\r\n </p>\r\n )}\r\n </div>,\r\n ];\r\n }\r\n} \r\n "]}
|
|
1
|
+
{"version":3,"file":"gb-input-dropdown.js","sourceRoot":"","sources":["../../../src/components/gb-input-dropdown/gb-input-dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Fragment, Element, State, getAssetPath, Listen, Event, EventEmitter } from \"@stencil/core\";\r\nimport { AvatarColorTypes, DropdownTypes, GeneralSizes, StateEnum } from \"../../models/reusableModels\";\r\n@Component({\r\n tag: 'gb-input-dropdown',\r\n styleUrl: 'gb-input-dropdown.css',\r\n shadow: true,\r\n})\r\nexport class GbInputDropdown {\r\n @Prop() type: DropdownTypes;\r\n @Prop({ mutable: true }) state: 'default' | 'focused' | 'disabled' | 'filled';\r\n @Prop() size: GeneralSizes;\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop() showHintText: boolean;\r\n @Prop() hintText: string = '';\r\n @Prop() showHelpIcon: boolean;\r\n @Prop() showLeadingIcon: boolean = false;\r\n @Prop() iconSwap: string = '';\r\n @Prop() text: boolean = false;\r\n @Prop() leadingIcon: string = '';\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop({ mutable: true }) items: any[] = [\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20, 25, 90, 92, 53,\r\n // 'Activated',\r\n // 'Deactivated',\r\n ];\r\n @Prop({ mutable: true }) value: any[] = [\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20, 25, 90,\r\n // 'Activated',\r\n // 'Deactivated',\r\n ];\r\n @Prop() supportingText: boolean = false;\r\n @Prop() color: AvatarColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Prop() menuPosition: 'top' | ' bottom';\r\n @Prop() showSearchInput: boolean = false;\r\n @Prop() inputValue: string;\r\n @State() leadingIconSvg: string = '';\r\n @State() dropdownOpen: boolean = false;\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @State() selectedItem: any;\r\n @State() searchItem: any;\r\n @State() searchResults: any;\r\n @Element() el: HTMLElement;\r\n // @Event() dropdownValue: EventEmitter<any>;\r\n @Event() dropdownItemSelected: EventEmitter<any>;\r\n\r\n dropdownRef!: HTMLElement;\r\n\r\n searchItems(event: CustomEvent<any>) {\r\n this.searchItem = event.detail;\r\n this.searchResults = this.items.filter((item) => {\r\n if(typeof item === 'string') {\r\n return item.toLowerCase().includes(this.searchItem.toLowerCase())\r\n } else if(typeof item === 'number') {\r\n return item.toString().includes(this.searchItem.toString())\r\n } else if(typeof item === 'object') {\r\n return item.name.toLowerCase().includes(this.searchItem.toLowerCase())\r\n }\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.dropdownOpen && !this.el.contains(event.target as Node)) {\r\n this.dropdownOpen = false;\r\n }\r\n }\r\n\r\n toggleDropdown(event: MouseEvent) {\r\n if (this.state !== 'disabled') {\r\n this.dropdownOpen = !this.dropdownOpen;\r\n }\r\n // console.log(this.inputValue);\r\n event.stopPropagation();\r\n }\r\n\r\n isItemSelected(item) {\r\n const isObject = typeof item === 'object';\r\n if(this.value.length === 0) {\r\n return this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));\r\n } else if(this.value.length > 0) {\r\n return this.value.some(i => (isObject ? i.name === item.name : i === item));\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n getAvatarSize() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'xs';\r\n case 'md':\r\n return 'xs';\r\n }\r\n }\r\n\r\n sortDropdownItems(menuItems: any[]): any[] {\r\n return menuItems.sort((a, b) => {\r\n if (a.selected && !b.selected) {\r\n return -1; // Move selected items up\r\n } else if (!a.selected && b.selected) {\r\n return 1; // Keep unselected items down\r\n }\r\n return 0; // Keep order if both are selected or unselected\r\n });\r\n }\r\n\r\n handleItemSelect(item) {\r\n if (this.type === 'tags') {\r\n if(this.state === 'default') {\r\n this.selectMultipleItems(item);\r\n console.log(this.selectedItems)\r\n } else if (this.state === 'filled' && this.value.length > 0) {\r\n this.state = 'default';\r\n this.value.length = 0;\r\n this.selectMultipleItems(item);\r\n } else if(this.state === 'filled' && this.value.length === 0) {\r\n this.selectMultipleItems(item)\r\n }\r\n } else {\r\n if (this.state === 'default') {\r\n this.singleItemSelect(item)\r\n } else if (this.state === 'filled' && this.value.length > 0) {\r\n this.state = 'default';\r\n this.value.length = 0;\r\n this.singleItemSelect(item)\r\n } else if (this.state === 'filled' && this.value.length === 0) {\r\n this.singleItemSelect(item)\r\n }\r\n }\r\n\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n // console.log(this.state)\r\n }\r\n\r\n singleItemSelect(item) {\r\n // Handle single selection for other types\r\n this.selectedItem = item; // Store single selected item\r\n this.selectedItems = [item]; // Ensure only one item in selectedItems\r\n\r\n // Close the dropdown after selection for single selection types\r\n this.dropdownOpen = false;\r\n this.dropdownItemSelected.emit(this.selectedItem);\r\n }\r\n\r\n selectMultipleItems(item) {\r\n const isObject = typeof item === 'object';\r\n \r\n const isSelected = this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));\r\n\r\n if (isSelected) {\r\n // Unselect item: Move it from selectedItems to unselectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n } else {\r\n // Select item: Move it from unselectedItems to selectedItems\r\n this.selectedItems = [...this.selectedItems, item];\r\n this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n this.dropdownItemSelected.emit(this.selectedItems);\r\n }\r\n }\r\n\r\n handleTagRemove(item) {\r\n if(this.value.length === 0) {\r\n const isObject = typeof item === 'object';\r\n\r\n // Remove item from selectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n \r\n // Add item back to unselectedItems if not already present\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n \r\n // Optionally update state or emit event\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default'; \r\n } else if(this.value.length > 0) {\r\n const isObject = typeof item === 'object';\r\n\r\n // Remove item from selectedItems\r\n this.value = this.value.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n this.selectedItems = this.value;\r\n\r\n // Add item back to unselectedItems if not already present\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n\r\n // Optionally update state or emit event\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n }\r\n }\r\n\r\n componentWillRender() {\r\n if (this.value.length > 0 && this.state === 'default') {\r\n this.state = 'filled';\r\n }\r\n }\r\n\r\n componentWillLoad(item) {\r\n this.loadIcon(this.leadingIcon);\r\n\r\n this.unselectedItems = [...this.items];\r\n this.selectedItems = [];\r\n if (this.type !== 'tags') {\r\n this.selectedItem = null; // For single selection types\r\n }\r\n\r\n if(this.value.length > 0) {\r\n if(typeof item !== 'object') {\r\n this.selectedItems = this.items.filter(item => this.value.includes(item));\r\n this.unselectedItems = this.items.filter(item => !this.value.includes(item));\r\n } else if(typeof item === 'object') {\r\n this.selectedItems = this.items.filter(item => this.value.includes(item.name));\r\n this.unselectedItems = this.items.filter(item => !this.value.includes(item.name));\r\n }\r\n console.log(this.selectedItems)\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.type !== 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n const slottedInitials = this.el.querySelector('[slot=\"initials\"]');\r\n\r\n const mainTextSlot = this.el.querySelector('[slot=\"tooltip_label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"tooltip_supporting_text\"]');\r\n\r\n if (slottedInitials) {\r\n slottedInitials.classList.add('text-xxs-semi-bold');\r\n }\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add('text-xs-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-xs-regular');\r\n }\r\n }\r\n\r\n applyColorToInitials() {\r\n switch (this.color) {\r\n case 'gray':\r\n return 'gray';\r\n case 'blue':\r\n return 'blue';\r\n case 'cyan':\r\n return 'cyan';\r\n case 'pink':\r\n return 'pink';\r\n case 'purple':\r\n return 'purple';\r\n case 'green':\r\n return 'green';\r\n case 'yellow':\r\n return 'yellow';\r\n }\r\n }\r\n\r\n render() {\r\n const emptyStateBackground = getAssetPath('assets/empty-state-background.svg')\r\n const illustration = getAssetPath('assets/empty-state-no-data.svg')\r\n\r\n return [\r\n <div class={`input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}`}>\r\n <div class={`input_with_label`}>\r\n {this.showLabel && (\r\n <p class=\"text-sm-regular\" style={{ color: '#4B5565' }}>\r\n {this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}\r\n </p>\r\n )}\r\n <div class={`input_dropdown_div ${this.size} ${this.state} ${this.type === 'tags' ? 'tag' : ''}`} onClick={e => this.toggleDropdown(e)}>\r\n {this.type === 'icon_leading' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n />\r\n <path\r\n d=\"M13.75 5.41667C13.75 7.48774 12.0711 9.16667 10 9.16667C7.92893 9.16667 6.25 7.48774 6.25 5.41667C6.25 3.3456 7.92893 1.66667 10 1.66667C12.0711 1.66667 13.75 3.3456 13.75 5.41667Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n />\r\n </svg>\r\n )}\r\n {this.type === 'avatar_leading' && (\r\n <>\r\n {this.state === 'default' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.66667\"\r\n />\r\n <path\r\n d=\"M13.75 5.41666C13.75 7.48772 12.0711 9.16666 10 9.16666C7.92893 9.16666 6.25 7.48772 6.25 5.41666C6.25 3.34559 7.92893 1.66666 10 1.66666C12.0711 1.66666 13.75 3.34559 13.75 5.41666Z\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.66667\"\r\n />\r\n </svg>\r\n )}\r\n {this.state === 'filled' && (\r\n <gb-avatar size=\"xs\" text={this.text} color={this.color} show-border={this.showBorder}>\r\n <h1 slot=\"initials\">{this.selectedItem.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n </gb-avatar>\r\n )}\r\n </>\r\n )}\r\n {this.showLeadingIcon && <>{this.type === 'search' || this.type === 'tags' ? <div class={`icon`} innerHTML={this.leadingIconSvg}></div> : null}</>}\r\n {this.type === 'dot_leading' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class={`dot ${this.size}`}>\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#079455\" />\r\n </svg>\r\n )}\r\n <div class=\"placeholder\">\r\n <>\r\n {this.state === 'default' && (\r\n <>\r\n {this.placeholder && (\r\n <p class=\"text-md-regular\" style={{ color: '#CDD5DF' }}>\r\n {this.placeholder}\r\n </p>\r\n )}\r\n </>\r\n )}\r\n {this.state === 'filled' && (\r\n <>\r\n <div class={`content`}>\r\n <div class={`text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`} style={{ color: '#4B5565' }}>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.value.length === 0 ? (\r\n <>\r\n {this.selectedItems.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n {this.value.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n {this.value.length === 0 ? this.selectedItem?.name || this.selectedItem : <>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}\r\n </>\r\n )}\r\n </div>\r\n {this.supportingText && (\r\n <div class=\"supporting_text text-sm-regular\" style={{ color: '#697586' }}>\r\n {this.type !== 'tags' && (\r\n <>\r\n {this.value.length === 0 ? (\r\n <>@{this.selectedItem.username}</>\r\n ) : (\r\n <>\r\n {this.value.map((item) => typeof item === 'object' && item.username)}\r\n </>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n {this.state === 'disabled' && (\r\n <>\r\n <div class={`content`}>\r\n <div class={`text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`} style={{ color: '#4B5565' }}>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.value.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\">\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\">\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n {<>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}\r\n </>\r\n )}\r\n </div>\r\n {this.supportingText && (\r\n <div class=\"supporting_text text-sm-regular\" style={{ color: '#697586' }}>\r\n {this.type !== 'tags' && (\r\n <>\r\n {this.value.length === 0 ? (\r\n <>@{this.selectedItem.username}</>\r\n ) : (\r\n <>\r\n {this.value.map((item) => \r\n typeof item === 'object' && (\r\n <>@{item.username}</>\r\n ))}\r\n </>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </>\r\n </div>\r\n {this.showHelpIcon && (\r\n <div class={`help_icon`}>\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n </div>\r\n )}\r\n {this.type !== 'search' && (\r\n <div class={`dropdown_icon ${this.dropdownOpen ? 'opened' : ''}`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class={`${this.state}`}>\r\n <path\r\n d=\"M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n <>\r\n {this.dropdownOpen && (\r\n <div class={`dropdown_menu ${this.menuPosition}`} ref={el => (this.dropdownRef = el)} onClick={e => e.stopPropagation()}>\r\n {this.showSearchInput && (\r\n <div class=\"dropdown_search_field\">\r\n <gb-input-field size=\"sm\" \r\n value={this.inputValue} \r\n show-close-button={this.inputValue ? true : false} \r\n icon-swap=\"assets/search-01.svg\" placeholder=\"Search banks\" \r\n type=\"icon_leading\" labelText=\"label\" idOfInput=\"3\"\r\n onInputValueChanged={this.searchItems.bind(this)}\r\n ></gb-input-field>\r\n </div>\r\n )}\r\n {this.searchItem ? (\r\n <>\r\n {this.searchItem !== '' && this.searchResults.length > 0 ? (\r\n <>\r\n {this.searchResults.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={this.isItemSelected(item)}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">@{item.username}</p>\r\n </>\r\n ) : (\r\n <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </>\r\n ) : this.searchItem !== '' && this.searchResults.length === 0 ? (\r\n //Empty state for when there are no search results\r\n <div class=\"empty_state\">\r\n <img src={emptyStateBackground} class=\"background\" alt=\"\" />\r\n <div class=\"message_background\">\r\n <img src={illustration} alt=\"\" class=\"illustration\" />\r\n <p class=\"message text-md-semi-bold\">No results available</p>\r\n </div>\r\n </div>\r\n ) : null}\r\n </>\r\n ) : (\r\n <>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.selectedItems.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={true}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">@{item.username}</p>\r\n </>\r\n ) : (\r\n <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n {this.unselectedItems.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={false}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">@{item.username}</p>\r\n </>\r\n ) : (\r\n <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </>\r\n ) : (\r\n <>\r\n {this.items.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={this.isItemSelected(item)}\r\n color={this.color}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n {/* <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1> */}\r\n <p slot=\"supporting_text\">@{item.username}</p>\r\n </>\r\n ) : (\r\n typeof item !== 'object' && <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n </div>\r\n </div>\r\n {this.showHintText && (\r\n <p class=\"text-sm-regular\" style={{ color: '#697586' }}>\r\n {this.hintText}\r\n </p>\r\n )}\r\n </div>,\r\n ];\r\n }\r\n} \r\n "]}
|