globuswebcomponents 2.8.11 → 2.8.12
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-action-panel_75.cjs.entry.js +400 -101
- package/dist/cjs/gb-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/gb-token-field-compact.cjs.entry.js +1 -1
- package/dist/cjs/gb-token-field-compressed.cjs.entry.js +2 -2
- package/dist/cjs/gb-wysiwyg-editor-icon.cjs.entry.js +1 -1
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
- package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
- package/dist/collection/components/gb-button/gb-button.js +30 -1
- package/dist/collection/components/gb-button/gb-button.js.map +1 -1
- package/dist/collection/components/gb-button/gb-button.tsx +6 -1
- package/dist/collection/components/gb-button/readme.md +10 -0
- package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +4 -4
- package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js.map +1 -1
- package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js +17 -9
- package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js.map +1 -1
- package/dist/collection/components/gb-portal/gb-portal.js +51 -11
- package/dist/collection/components/gb-portal/gb-portal.js.map +1 -1
- package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js +8 -2
- package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js.map +1 -1
- package/dist/collection/components/gb-table/gb-table.css +90 -22
- package/dist/collection/components/gb-table/gb-table.js +464 -72
- package/dist/collection/components/gb-table/gb-table.js.map +1 -1
- package/dist/collection/components/gb-table-cell/gb-table-cell.js +1 -1
- package/dist/collection/components/gb-table-header/gb-table-header.js +22 -22
- package/dist/collection/components/gb-table-header/gb-table-header.js.map +1 -1
- 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-textarea-input-field/gb-textarea-input-field.js +3 -3
- package/dist/collection/components/gb-theme-tab/gb-theme-tab.js +1 -1
- package/dist/collection/components/gb-toast/gb-toast.js +18 -2
- package/dist/collection/components/gb-toast/gb-toast.js.map +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-compact/gb-token-field-compact.js +1 -1
- package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js +2 -2
- package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
- package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +1 -1
- package/dist/collection/components/gb-wysiwyg-editor-icon/gb-wysiwyg-editor-icon.js +1 -1
- 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-action-panel.js +2 -2
- package/dist/components/gb-approval-modal.js +8 -8
- package/dist/components/gb-avatar-add-button.js +1 -1
- package/dist/components/gb-avatar-dropdown.js +1 -1
- package/dist/components/gb-avatar-group.js +2 -2
- package/dist/components/gb-btn.js +1 -1
- package/dist/components/gb-button.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-comment.js +2 -2
- package/dist/components/gb-complex-primary-side-bar-item.js +1 -1
- package/dist/components/gb-complex-secondary-side-bar-item.js +1 -1
- package/dist/components/gb-date-picker.js +1 -1
- package/dist/components/gb-detail-cell.js +2 -2
- package/dist/components/gb-empty-state.js +2 -2
- package/dist/components/gb-file-upload-item-base.js +1 -1
- package/dist/components/gb-file-upload.js +4 -4
- package/dist/components/gb-filter-button.js +1 -1
- package/dist/components/gb-header.js +14 -14
- package/dist/components/gb-help-tooltip.js +1 -1
- package/dist/components/gb-horizontal-tabs.js +4 -4
- package/dist/components/gb-horizontal-tabs.js.map +1 -1
- package/dist/components/gb-icon-button-base.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-modal-action.js +1 -1
- package/dist/components/gb-nav-bar-item.js +1 -1
- package/dist/components/gb-nav-bar-sidemenu.js +2 -2
- package/dist/components/gb-nav-bar.js +2 -2
- package/dist/components/gb-notification-pane.js +1 -1
- package/dist/components/gb-pagination.js +1 -1
- package/dist/components/gb-password-button.js +1 -1
- package/dist/components/gb-portal.js +1 -1
- package/dist/components/gb-progress-bar.js +1 -1
- package/dist/components/gb-prompt-modal.js +2 -2
- package/dist/components/gb-sidebar.js +5 -5
- package/dist/components/gb-simple-side-bar-item.js +1 -1
- package/dist/components/gb-slider-control-handle.js +1 -1
- package/dist/components/gb-slider.js +2 -2
- package/dist/components/gb-tab-button-base.js +1 -1
- package/dist/components/gb-table-cell.js +1 -1
- package/dist/components/gb-table-header.js +1 -343
- package/dist/components/gb-table-header.js.map +1 -1
- package/dist/components/gb-table.js +368 -107
- package/dist/components/gb-table.js.map +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-textarea-input-field.js +1 -1
- package/dist/components/gb-theme-tab.js +1 -1
- package/dist/components/gb-toast-button.js +1 -1
- package/dist/components/gb-toast.js +19 -5
- package/dist/components/gb-toast.js.map +1 -1
- package/dist/components/gb-toggle-base.js +1 -1
- package/dist/components/gb-toggle.js +2 -2
- package/dist/components/gb-token-field-compact.js +1 -1
- package/dist/components/gb-token-field-compressed.js +2 -2
- package/dist/components/gb-tooltip.js +1 -1
- package/dist/components/gb-vertical-tabs.js +1 -1
- package/dist/components/gb-wysiwyg-editor-icon.js +1 -1
- package/dist/components/gb-wysiwyg-tooltip.js +1 -1
- package/dist/components/{p-DvV7snbA.js → p-49dlhIYS.js} +10 -4
- package/dist/components/p-49dlhIYS.js.map +1 -0
- package/dist/components/{p-Db25H5UF.js → p-B0GSTQw3.js} +3 -3
- package/dist/components/{p-Db25H5UF.js.map → p-B0GSTQw3.js.map} +1 -1
- package/dist/components/{p-BQU0qEQ8.js → p-B9vWIoWs.js} +19 -15
- package/dist/components/p-B9vWIoWs.js.map +1 -0
- package/dist/components/p-BHOJKe6j.js +348 -0
- package/dist/components/p-BHOJKe6j.js.map +1 -0
- package/dist/components/{p-DAm-213Y.js → p-BHyPbecw.js} +3 -3
- package/dist/components/{p-DAm-213Y.js.map → p-BHyPbecw.js.map} +1 -1
- package/dist/components/{p-apFyrUM4.js → p-BTHdpYQl.js} +114 -9
- package/dist/components/p-BTHdpYQl.js.map +1 -0
- package/dist/components/{p-CEK6hgEo.js → p-BWx-o392.js} +4 -4
- package/dist/components/{p-CEK6hgEo.js.map → p-BWx-o392.js.map} +1 -1
- package/dist/components/{p-ByFyt4ia.js → p-BYwfw805.js} +3 -3
- package/dist/components/{p-ByFyt4ia.js.map → p-BYwfw805.js.map} +1 -1
- package/dist/components/{p-C8LbZ4kH.js → p-BaOylBgt.js} +5 -5
- package/dist/components/{p-C8LbZ4kH.js.map → p-BaOylBgt.js.map} +1 -1
- package/dist/components/{p-e-QGBXGa.js → p-Bt2auhuC.js} +3 -3
- package/dist/components/{p-e-QGBXGa.js.map → p-Bt2auhuC.js.map} +1 -1
- package/dist/components/{p-ofbsewem.js → p-ByCoMbO2.js} +5 -5
- package/dist/components/{p-ofbsewem.js.map → p-ByCoMbO2.js.map} +1 -1
- package/dist/components/{p-DlH97JYU.js → p-CIk9ZD0b.js} +13 -13
- package/dist/components/{p-DlH97JYU.js.map → p-CIk9ZD0b.js.map} +1 -1
- package/dist/components/{p-BXST6Rgi.js → p-CKzAcGL2.js} +3 -3
- package/dist/components/{p-BXST6Rgi.js.map → p-CKzAcGL2.js.map} +1 -1
- package/dist/components/{p-wopm_NSt.js → p-CLeShKhE.js} +4 -4
- package/dist/components/{p-wopm_NSt.js.map → p-CLeShKhE.js.map} +1 -1
- package/dist/components/{p-BVu-h1cX.js → p-CQFpc6__.js} +3 -3
- package/dist/components/{p-BVu-h1cX.js.map → p-CQFpc6__.js.map} +1 -1
- package/dist/components/{p-CaVLFaUk.js → p-CSka0gDO.js} +9 -9
- package/dist/components/{p-CaVLFaUk.js.map → p-CSka0gDO.js.map} +1 -1
- package/dist/components/{p-BKvAhdEP.js → p-C_9HhBzA.js} +3 -3
- package/dist/components/{p-BKvAhdEP.js.map → p-C_9HhBzA.js.map} +1 -1
- package/dist/components/{p-cxKfHAER.js → p-C_f2hEd8.js} +10 -5
- package/dist/components/p-C_f2hEd8.js.map +1 -0
- package/dist/components/{p-T48Hj6xM.js → p-Cdgx4Hwc.js} +3 -3
- package/dist/components/{p-T48Hj6xM.js.map → p-Cdgx4Hwc.js.map} +1 -1
- package/dist/components/{p-kAsXRFkD.js → p-Ci5AB68V.js} +3 -3
- package/dist/components/{p-kAsXRFkD.js.map → p-Ci5AB68V.js.map} +1 -1
- package/dist/components/{p-9xYUsl7q.js → p-Cj67a6IJ.js} +3 -3
- package/dist/components/{p-9xYUsl7q.js.map → p-Cj67a6IJ.js.map} +1 -1
- package/dist/components/{p-Dn5rOzr_.js → p-CsQhqi-L.js} +3 -3
- package/dist/components/{p-Dn5rOzr_.js.map → p-CsQhqi-L.js.map} +1 -1
- package/dist/components/{p-uV0Dz5N_.js → p-CwTzPqb2.js} +4 -4
- package/dist/components/{p-uV0Dz5N_.js.map → p-CwTzPqb2.js.map} +1 -1
- package/dist/components/{p-CTNnGEZs.js → p-D0VVIazI.js} +3 -3
- package/dist/components/{p-CTNnGEZs.js.map → p-D0VVIazI.js.map} +1 -1
- package/dist/components/{p-Bo4efGgC.js → p-DLhsTHln.js} +3 -3
- package/dist/components/{p-Bo4efGgC.js.map → p-DLhsTHln.js.map} +1 -1
- package/dist/components/{p-Dd_Eos3v.js → p-DMjBTN85.js} +4 -4
- package/dist/components/{p-Dd_Eos3v.js.map → p-DMjBTN85.js.map} +1 -1
- package/dist/components/{p-DRngXcjq.js → p-DNAqkyM0.js} +4 -4
- package/dist/components/{p-DRngXcjq.js.map → p-DNAqkyM0.js.map} +1 -1
- package/dist/components/{p-BgNv7S1j.js → p-DSuh8sT6.js} +4 -4
- package/dist/components/{p-BgNv7S1j.js.map → p-DSuh8sT6.js.map} +1 -1
- package/dist/components/{p-CO71VZ1J.js → p-DUlP9ot1.js} +4 -4
- package/dist/components/{p-CO71VZ1J.js.map → p-DUlP9ot1.js.map} +1 -1
- package/dist/components/{p-CTfLJ_Yp.js → p-DfeAzwhz.js} +3 -3
- package/dist/components/{p-CTfLJ_Yp.js.map → p-DfeAzwhz.js.map} +1 -1
- package/dist/components/{p-BByUPZTR.js → p-DpjHb85v.js} +5 -5
- package/dist/components/{p-BByUPZTR.js.map → p-DpjHb85v.js.map} +1 -1
- package/dist/components/{p-CgQonNKV.js → p-Dqd4hVBB.js} +3 -3
- package/dist/components/{p-CgQonNKV.js.map → p-Dqd4hVBB.js.map} +1 -1
- package/dist/components/{p-hck2xhPi.js → p-Z_m9SN0_.js} +3 -3
- package/dist/components/{p-hck2xhPi.js.map → p-Z_m9SN0_.js.map} +1 -1
- package/dist/components/{p-qZNN2nfj.js → p-blTaQhCM.js} +5 -5
- package/dist/components/{p-qZNN2nfj.js.map → p-blTaQhCM.js.map} +1 -1
- package/dist/components/p-cHn6O-Kf.js.map +1 -1
- package/dist/components/{p-yDP7ObG5.js → p-g6ayM_Wt.js} +6 -6
- package/dist/components/{p-yDP7ObG5.js.map → p-g6ayM_Wt.js.map} +1 -1
- package/dist/components/{p-c0RQJb24.js → p-rw4UZJOE.js} +11 -11
- package/dist/components/{p-c0RQJb24.js.map → p-rw4UZJOE.js.map} +1 -1
- package/dist/components/{p-BtGA-5EV.js → p-y6Xot37W.js} +3 -3
- package/dist/components/{p-BtGA-5EV.js.map → p-y6Xot37W.js.map} +1 -1
- package/dist/components/test-input-tag.js +6 -6
- package/dist/docs.json +524 -57
- package/dist/esm/gb-action-panel_75.entry.js +400 -101
- package/dist/esm/gb-table-cell.entry.js +1 -1
- package/dist/esm/gb-token-field-compact.entry.js +1 -1
- package/dist/esm/gb-token-field-compressed.entry.js +2 -2
- package/dist/esm/gb-wysiwyg-editor-icon.entry.js +1 -1
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
- package/dist/esm/test-input-tag.entry.js +2 -2
- package/dist/globuscomponents/gb-button.tsx +6 -1
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/p-031a93b0.entry.js +2 -0
- package/dist/globuscomponents/{p-5f4f79f3.entry.js → p-7024cc46.entry.js} +2 -2
- package/dist/globuscomponents/p-7024cc46.entry.js.map +1 -0
- package/dist/globuscomponents/{p-5d4750b8.entry.js → p-a61d1385.entry.js} +2 -2
- package/dist/globuscomponents/{p-957759a4.entry.js → p-bc7a3ff1.entry.js} +2 -2
- package/dist/globuscomponents/{p-9f49601d.entry.js → p-bd89e53d.entry.js} +2 -2
- package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
- package/dist/globuscomponents/{p-b71b110d.entry.js → p-e4bda433.entry.js} +2 -2
- package/dist/globuscomponents/readme.md +10 -0
- package/dist/types/components/gb-button/gb-button.d.ts +1 -0
- package/dist/types/components/gb-input-dropdown/gb-input-dropdown.d.ts +1 -1
- package/dist/types/components/gb-portal/gb-portal.d.ts +3 -1
- package/dist/types/components/gb-tab-button-base/gb-tab-button-base.d.ts +3 -2
- package/dist/types/components/gb-table/gb-table.d.ts +49 -0
- package/dist/types/components/gb-table-header/gb-table-header.d.ts +1 -1
- package/dist/types/components/gb-toast/gb-toast.d.ts +4 -0
- package/dist/types/components.d.ts +129 -20
- package/dist/types/models/reusableModels.d.ts +8 -0
- package/package.json +1 -1
- package/dist/components/p-BQU0qEQ8.js.map +0 -1
- package/dist/components/p-DvV7snbA.js.map +0 -1
- package/dist/components/p-apFyrUM4.js.map +0 -1
- package/dist/components/p-cxKfHAER.js.map +0 -1
- package/dist/globuscomponents/p-5f4f79f3.entry.js.map +0 -1
- package/dist/globuscomponents/p-9bf9cc0c.entry.js +0 -2
- /package/dist/globuscomponents/{p-9bf9cc0c.entry.js.map → p-031a93b0.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-5d4750b8.entry.js.map → p-a61d1385.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-957759a4.entry.js.map → p-bc7a3ff1.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-9f49601d.entry.js.map → p-bd89e53d.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-b71b110d.entry.js.map → p-e4bda433.entry.js.map} +0 -0
|
@@ -2,6 +2,9 @@ import { h, Fragment, getAssetPath } from "@stencil/core";
|
|
|
2
2
|
import { StateEnum } from "../../models/reusableModels";
|
|
3
3
|
export class GbInputDropdown {
|
|
4
4
|
constructor() {
|
|
5
|
+
this.type = 'default';
|
|
6
|
+
this.state = 'default';
|
|
7
|
+
this.size = 'md';
|
|
5
8
|
this.showLabel = false;
|
|
6
9
|
this.label = '';
|
|
7
10
|
this.placeholder = '';
|
|
@@ -44,6 +47,7 @@ export class GbInputDropdown {
|
|
|
44
47
|
];
|
|
45
48
|
this.supportingText = false;
|
|
46
49
|
this.showBorder = false;
|
|
50
|
+
this.menuPosition = 'bottom';
|
|
47
51
|
this.showSearchInput = false;
|
|
48
52
|
this.destructive = false;
|
|
49
53
|
this.errorText = '';
|
|
@@ -392,16 +396,16 @@ export class GbInputDropdown {
|
|
|
392
396
|
const emptyStateBackground = getAssetPath('assets/empty-state-background.svg');
|
|
393
397
|
const illustration = getAssetPath('assets/empty-state-no-data.svg');
|
|
394
398
|
return [
|
|
395
|
-
h("div", { key: '
|
|
399
|
+
h("div", { key: 'cbdfdc0b4b56a9024e85a41236a3788524830bae', class: `input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}` }, h("div", { key: '9bf9f7d3a5956af28ade48fa462f48a72d967937', class: `input_with_label` }, this.showLabel && (h(Fragment, null, this.formatLabel ? (h("p", { class: "dropdown_label text-sm-medium" }, this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase())) : (h("p", { class: "dropdown_label text-sm-medium" }, this.label)))), h("div", { key: 'cf15c5df37526c720961e87d770758cbe616be76', class: `input_dropdown_div ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''} ${this.type === 'tags' ? 'tag' : ''} ${this.dropdownOpen ? 'focused' : ''}`, onClick: e => this.toggleDropdown(e) }, this.type === 'avatar_leading' && (h(Fragment, null, this.state === 'default' && (h("svg", { key: '5748b033e8d6e373f4ba856df733f23fbf3ab4f9', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '85bdd88a010dc30ddcb5909189ab617df92ba2f4', 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: '6e8cf6a97c222796adcd67e139298329ac4da702', 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: 'b08047b454508e18acd17ee986f89f1c35200bcd', size: "xs", text: this.text, color: this.color, "show-border": this.showBorder }, this.selectedItems.map(item => (h(Fragment, null, typeof item === 'object' ? (h("h1", { slot: "initials" }, item.name.split(' ').map(part => part.charAt(0).toUpperCase()))) : (h("h1", { slot: "initials" }, item.split(' ').map(part => part.charAt(0).toUpperCase())))))))))), this.showLeadingIcon && (h(Fragment, null, this.type === 'search' || this.type === 'tags' || this.type === 'icon_leading' ? h("div", { class: `icon`, innerHTML: this.leadingIconSvg }) : null)), this.type === 'dot_leading' && (h("svg", { key: '62299ea13a05e75fa2b7ef957388e763310b4fb4', 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: '2617a4ba19b49e5ba8fab5dc2bd6ac12d31988d3', cx: "5", cy: "5", r: "4", fill: "#079455" }))), h(Fragment, null, this.state === 'default' && this.type !== 'search' && (h(Fragment, null, this.placeholder && (h("div", { key: '9b82adf4aecf83d250362c2e8766d1b3f346e914', class: "placeholder" }, h("p", { key: 'aea577d374e47cd6b08283cf918aa3112ff6da6a', class: `text-${this.size}-regular`, style: { color: '#CDD5DF' } }, this.placeholder))))), this.state === 'default' && this.type === 'search' && (h("div", { key: 'b8afb736e4d642b52ef9c8679b610b3bbf7b66c2', class: "search_input" }, h("input", { key: 'b900b812fa3648574a28cbf904204ec65749e3ee', type: "text", placeholder: this.placeholder, class: `text-${this.size}-regular`, ref: el => (this.inputRef = el), onInput: this.emitInputValueToUseForSearch.bind(this) }), this.showCloseButton && (h("gb-button", { key: '3587007864788cf1d30dead9ebde44ef04dce5a5', class: `close_button ${this.size}`, size: this.size, hierarchy: "tertiary_gray", icon: "only", state: "default", "icon-leading": true, "icon-leading-swap": "assets/cancel-01.svg", onClick: () => this.clearInput() })))), this.state === 'filled' && (h(Fragment, null, h("div", { key: '846fc0a4f2ae33257b088ee357dd17fb18e98901', class: `content` }, 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
|
|
396
400
|
.split(' ')
|
|
397
401
|
.map(part => part.charAt(0).toUpperCase())
|
|
398
402
|
.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
|
|
399
403
|
.split(' ')
|
|
400
404
|
.map(part => part.charAt(0).toUpperCase())
|
|
401
|
-
.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("p", { class: `selected_text text-${this.size}-regular` }, 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: '
|
|
405
|
+
.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("p", { class: `selected_text text-${this.size}-regular` }, 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: '42a38217a104b1a595230a8fa1d0c3ed6dd503b2', class: `supporting_text text-${this.size}-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: '4553379d828a2dc260627035573696dd087d7e7e', class: `content` }, h("div", { key: 'a4cfc8e1cced3609ac0e4cacc03e3d9b9b5e6179', 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
|
|
402
406
|
.split(' ')
|
|
403
407
|
.map(part => part.charAt(0).toUpperCase())
|
|
404
|
-
.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: '
|
|
408
|
+
.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: 'f32e4296a638896421373a11cd46629348bd96b1', 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: '857a5d345eff4885a59eba5c3b2b0ea5df2d5168', class: `help_icon` }, h("gb-help-tooltip", { key: 'f9d529e8ae8cdc10b06d869d4e52991d29bc9b24', "show-supporting-text": true }, h("slot", { key: '17c18cb7e5b54fd7cdc1a5f72e736dcee084d5c0', name: "tooltip_label", slot: "label" }), h("slot", { key: 'cb7f6a309078445860c9237c3a5a06d271bc5fdf', name: "tooltip_supporting_text", slot: "supporting_text" })))), this.type !== 'search' && (h("div", { key: '5ca4f5b473bca911520d7fda45d5d69746f68ad9', class: `dropdown_icon ${this.dropdownOpen ? 'opened' : ''}` }, h("svg", { key: '45db475344affd4e35e93f4a6f1ec337ff1edcd0', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", class: `${this.state}` }, h("path", { key: '172e5d05e640becfea713f3deac35827358312d4', 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: 'cc81dee805875eab6f6689526250dd51462a36f4', class: `dropdown_menu ${this.menuPosition}`, ref: el => (this.dropdownRef = el), onClick: e => e.stopPropagation() }, this.showSearchInput && (h("div", { key: '1ec2e9b0838ca710203579c7ab75ebc1dd5f67fe', class: "dropdown_search_field" }, h("gb-input-field", { key: '09ba3d1117543675bb513f1ef29109f5a7037fc5', size: "sm", value: this.inputValue, "show-close-button": this.inputValue ? true : false, "icon-swap": "assets/search-01.svg", placeholder: this.placeholder, type: "icon_leading", labelText: "label", idOfInput: "3", onInputValueChanged: this.searchItemsInDropdownMenu.bind(this) }))), this.loading && (h("div", { key: 'e05bf9c48c471a5364de6efceabab65f075a4985', class: "loader_div" }, h("div", { key: 'e31521d1189c3bf0382b1fdd8276632596c13438', class: "loader" }))), 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 === '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 ? (
|
|
405
409
|
//Empty state for when there are no search results
|
|
406
410
|
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("h1", { slot: "initials" }, item.name.split(' ').map(part => part.charAt(0).toUpperCase())))) : typeof item === 'string' ? (h(Fragment, null, h("p", { slot: "name" }, item), h("h1", { slot: "initials" }, item.split(' ').map(part => part.charAt(0).toUpperCase())))) : (h(Fragment, null, h("p", { slot: "name" }, item), h("h1", { slot: "initials" }, 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, h("gb-input-dropdown-menu-item", { state: StateEnum.Default, "supporting-text": this.supportingText, color: this.color, onClick: () => this.handleItemSelect() }, h("p", { slot: "name" }, "--", this.placeholder, "--")), this.items.map(item => [
|
|
407
411
|
h("gb-input-dropdown-menu-item", { type: 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("h1", { slot: "initials" }, item.name
|
|
@@ -451,7 +455,8 @@ export class GbInputDropdown {
|
|
|
451
455
|
"getter": false,
|
|
452
456
|
"setter": false,
|
|
453
457
|
"reflect": false,
|
|
454
|
-
"attribute": "type"
|
|
458
|
+
"attribute": "type",
|
|
459
|
+
"defaultValue": "'default'"
|
|
455
460
|
},
|
|
456
461
|
"state": {
|
|
457
462
|
"type": "string",
|
|
@@ -470,7 +475,8 @@ export class GbInputDropdown {
|
|
|
470
475
|
"getter": false,
|
|
471
476
|
"setter": false,
|
|
472
477
|
"reflect": false,
|
|
473
|
-
"attribute": "state"
|
|
478
|
+
"attribute": "state",
|
|
479
|
+
"defaultValue": "'default'"
|
|
474
480
|
},
|
|
475
481
|
"size": {
|
|
476
482
|
"type": "string",
|
|
@@ -495,7 +501,8 @@ export class GbInputDropdown {
|
|
|
495
501
|
"getter": false,
|
|
496
502
|
"setter": false,
|
|
497
503
|
"reflect": false,
|
|
498
|
-
"attribute": "size"
|
|
504
|
+
"attribute": "size",
|
|
505
|
+
"defaultValue": "'md'"
|
|
499
506
|
},
|
|
500
507
|
"showLabel": {
|
|
501
508
|
"type": "boolean",
|
|
@@ -819,8 +826,8 @@ export class GbInputDropdown {
|
|
|
819
826
|
"type": "string",
|
|
820
827
|
"mutable": false,
|
|
821
828
|
"complexType": {
|
|
822
|
-
"original": "'top' | '
|
|
823
|
-
"resolved": "\"
|
|
829
|
+
"original": "'top' | 'bottom'",
|
|
830
|
+
"resolved": "\"bottom\" | \"top\"",
|
|
824
831
|
"references": {}
|
|
825
832
|
},
|
|
826
833
|
"required": false,
|
|
@@ -832,7 +839,8 @@ export class GbInputDropdown {
|
|
|
832
839
|
"getter": false,
|
|
833
840
|
"setter": false,
|
|
834
841
|
"reflect": false,
|
|
835
|
-
"attribute": "menu-position"
|
|
842
|
+
"attribute": "menu-position",
|
|
843
|
+
"defaultValue": "'bottom'"
|
|
836
844
|
},
|
|
837
845
|
"showSearchInput": {
|
|
838
846
|
"type": "boolean",
|
|
@@ -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, Watch, Method } from '@stencil/core';\r\nimport { ColorTypes, 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 iusbrviubw vwiuhvw vwiurhvwr vwoiuh', username: 1 },\r\n // { name: 'Mock Item B', username: 3 },\r\n // { name: 'Mock Item C', username: 3 },\r\n // { name: 'Mock Item D', username: 3 },\r\n // { name: 'Mock Item E', username: 3 },\r\n // 45,\r\n // 50,\r\n // 20,\r\n // 25,\r\n // 90,\r\n // 92,\r\n // 53,\r\n // 'Activated',\r\n // 'Deactivated',\r\n // 'John Doe',\r\n // 'John smith',\r\n // 'Jane leo',\r\n ];\r\n @Prop({ mutable: true }) value: any[] = [\r\n // { name: 'Mock Item A', username: 1, selected: false },\r\n // { name: 'Mock Item B', username: 2, selected: false },\r\n // { name: 'Mock Item C', username: 3, selected: false },\r\n // 45,\r\n // 50,\r\n // 20,\r\n // 25,\r\n // 90,\r\n // 'Activated',\r\n // 'Deactivated',\r\n // 'Transaction Status',\r\n ];\r\n @Prop() supportingText: boolean = false;\r\n @Prop() color: ColorTypes;\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 @Prop({ mutable: true }) destructive: boolean = false;\r\n @Prop() errorText: string = '';\r\n @Prop({ mutable: true }) loading: boolean = false;\r\n @Prop() formatLabel: boolean = true;\r\n @State() leadingIconSvg: string = '';\r\n @State() dropdownOpen: boolean = false;\r\n @State() selectedItem: any;\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @State() searchItem: any;\r\n @State() searchResults: any;\r\n @State() internalItems: any[] = [...this.items];\r\n @State() showCloseButton: boolean = false;\r\n @State() internalLoading: boolean = this.loading;\r\n @Element() el: HTMLElement;\r\n // @Event() dropdownValue: EventEmitter<any>;\r\n @Event() dropdownItemSelected: EventEmitter<any>;\r\n @Event() inputValueChanged: EventEmitter<string>;\r\n\r\n dropdownRef!: HTMLElement;\r\n inputRef: HTMLInputElement;\r\n\r\n @Method()\r\n async clearSelection() {\r\n if (this.selectedItem && this.selectedItem.length > 0) {\r\n this.selectedItem = [];\r\n }\r\n\r\n if (this.selectedItems && this.selectedItems.length > 0) {\r\n this.selectedItems = [];\r\n }\r\n\r\n if (this.value && this.value.length > 0) {\r\n this.value = [];\r\n this.selectedItems = [];\r\n this.selectedItem = [];\r\n }\r\n\r\n this.unselectedItems = [...this.items];\r\n this.state = 'default';\r\n }\r\n\r\n @Method()\r\n async isDestructive() {\r\n this.destructive = true;\r\n }\r\n\r\n @Method()\r\n async isNotDestructive() {\r\n this.destructive = false;\r\n }\r\n\r\n clearInput() {\r\n if (this.inputRef) {\r\n this.inputRef.value = '';\r\n this.inputValue = this.inputRef.value;\r\n this.showCloseButton = false;\r\n this.inputValueChanged.emit(this.inputValue);\r\n }\r\n }\r\n\r\n @Watch('items')\r\n updateResultsAndShowInDropdown(newItems: any[]) {\r\n this.internalItems = [...newItems];\r\n }\r\n\r\n @Watch('loading')\r\n onLoadingChanged(newLoading: boolean) {\r\n this.internalLoading = newLoading;\r\n\r\n if (newLoading) this.dropdownOpen = true;\r\n }\r\n\r\n emitInputValueToUseForSearch() {\r\n if (this.inputRef.value.length > 0 && this.internalItems.length === 0) {\r\n this.loading = true;\r\n } else if (this.inputRef.value.length > 0 && this.internalItems.length > 0) {\r\n this.showCloseButton = true;\r\n this.inputValueChanged.emit(this.inputRef.value);\r\n } else {\r\n this.showCloseButton = false;\r\n this.dropdownOpen = false;\r\n this.loading = false;\r\n }\r\n }\r\n\r\n searchItemsInDropdownMenu(event: CustomEvent<any>) {\r\n this.searchItem = event.detail;\r\n this.searchResults = this.items.filter(item => {\r\n if (typeof item === 'string') return item.toLowerCase().includes(this.searchItem.toLowerCase());\r\n\r\n if (typeof item === 'number') return item.toString().includes(this.searchItem.toString());\r\n\r\n if (typeof item === 'object') return item.name.toLowerCase().includes(this.searchItem.toLowerCase());\r\n });\r\n }\r\n\r\n @Watch('destructive')\r\n watchDestructive() {\r\n this.destructive = this.destructive;\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\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?: any) {\r\n this.destructive = false;\r\n\r\n if (this.type === 'tags') {\r\n if (this.state === 'default') {\r\n this.selectMultipleItems(item);\r\n // console.log(this.state);\r\n } else if (this.state === 'filled' && this.value.length > 0) {\r\n this.state = 'default';\r\n this.value.length = 0;\r\n // console.log(this.state);\r\n this.selectMultipleItems(item);\r\n } else if (this.state === 'filled' && this.value.length === 0) {\r\n this.selectMultipleItems(item);\r\n // console.log(this.state);\r\n }\r\n } else {\r\n if (!item) {\r\n this.state = 'default';\r\n this.dropdownOpen = false;\r\n this.selectedItem = null;\r\n this.dropdownItemSelected.emit('');\r\n this.selectedItems = [];\r\n this.value = [];\r\n } else {\r\n if (this.state === 'default') {\r\n this.singleItemSelect(item);\r\n // console.log(this.state);\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 // console.log(this.state);\r\n } else if (this.state === 'filled' && this.value.length === 0) {\r\n this.singleItemSelect(item);\r\n // console.log(this.state);\r\n }\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 console.log(this.selectedItem);\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 console.log(this.selectedItems);\r\n this.dropdownItemSelected.emit(this.selectedItems);\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\r\n console.log(this.selectedItems);\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 this.dropdownItemSelected.emit(this.selectedItems);\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 this.dropdownItemSelected.emit(this.selectedItems);\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 @Watch('items')\r\n @Watch('value')\r\n syncSelectedItems() {\r\n if (!Array.isArray(this.items)) return;\r\n\r\n // Guard: wait until both props are ready\r\n if (!this.value) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.items];\r\n return;\r\n }\r\n\r\n const objectValues = this.value.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = this.value.filter(val => typeof val !== 'object');\r\n\r\n this.selectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return objectValues.some(val => val.name === item.name);\r\n } else {\r\n return primitiveValues.includes(item);\r\n }\r\n });\r\n\r\n this.unselectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return !objectValues.some(val => val.name === item.name);\r\n } else {\r\n return !primitiveValues.includes(item);\r\n }\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() {\r\n this.loadIcon(this.leadingIcon);\r\n\r\n // setTimeout(() => {\r\n // this.loading = true;\r\n\r\n // setTimeout(() => {\r\n // this.items = ['Hi', '8', 'Omo', 98];\r\n // }, 5000);\r\n // }, 2000);\r\n\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 (Array.isArray(this.items)) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [];\r\n\r\n // Separate objects from primitive values\r\n const objectValues = this.value.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = this.value.filter(val => typeof val !== 'object');\r\n\r\n // Find selected items\r\n this.selectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return objectValues.some(val => val.name === item.name);\r\n } else {\r\n return primitiveValues.includes(item);\r\n }\r\n });\r\n\r\n // Find unselected items\r\n this.unselectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return !objectValues.some(val => val.name === item.name);\r\n } else {\r\n return !primitiveValues.includes(item);\r\n }\r\n });\r\n }\r\n } else {\r\n // If value array is empty, all items are unselected\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.items];\r\n }\r\n\r\n // console.log('Selected Items:', this.selectedItems);\r\n // console.log('Unselected Items:', this.unselectedItems);\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 <>\r\n {this.formatLabel ? (\r\n <p class=\"dropdown_label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>\r\n ) : (\r\n <p class=\"dropdown_label text-sm-medium\">{this.label}</p>\r\n )}\r\n </>\r\n )}\r\n <div\r\n class={`input_dropdown_div ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''} ${this.type === 'tags' ? 'tag' : ''} ${\r\n this.dropdownOpen ? 'focused' : ''\r\n }`}\r\n onClick={e => this.toggleDropdown(e)}\r\n >\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 {this.selectedItems.map(item => (\r\n <>\r\n {typeof item === 'object' ? (\r\n <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n ) : (\r\n <h1 slot=\"initials\">{item.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n )}\r\n </>\r\n ))}\r\n </gb-avatar>\r\n )}\r\n </>\r\n )}\r\n {this.showLeadingIcon && (\r\n <>{this.type === 'search' || this.type === 'tags' || this.type === 'icon_leading' ? <div class={`icon`} innerHTML={this.leadingIconSvg}></div> : null}</>\r\n )}\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 <>\r\n {this.state === 'default' && this.type !== 'search' && (\r\n <>\r\n {this.placeholder && (\r\n <div class=\"placeholder\">\r\n <p class={`text-${this.size}-regular`} style={{ color: '#CDD5DF' }}>\r\n {this.placeholder}\r\n </p>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n {this.state === 'default' && this.type === 'search' && (\r\n <div class=\"search_input\">\r\n <input\r\n type=\"text\"\r\n placeholder={this.placeholder}\r\n class={`text-${this.size}-regular`}\r\n ref={el => (this.inputRef = el)}\r\n onInput={this.emitInputValueToUseForSearch.bind(this)}\r\n />\r\n {this.showCloseButton && (\r\n <gb-button\r\n class={`close_button ${this.size}`}\r\n size={this.size}\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/cancel-01.svg\"\r\n onClick={() => this.clearInput()}\r\n ></gb-button>\r\n )}\r\n </div>\r\n )}\r\n {this.state === 'filled' && (\r\n <>\r\n <div class={`content`}>\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 <p class={`selected_text text-${this.size}-regular`}>\r\n {this.value.length === 0 ? this.selectedItem?.name || this.selectedItem : <>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}\r\n </p>\r\n )}\r\n {this.supportingText && (\r\n <div class={`supporting_text text-${this.size}-regular`} style={{ color: '#697586' }}>\r\n {this.type !== 'tags' && (\r\n <>{this.value.length === 0 ? <>{this.selectedItem.username}</> : <>{this.value.map(item => typeof item === 'object' && item.username)}</>}</>\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 <>{<>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}</>\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 <>{this.value.length === 0 ? <>{this.selectedItem.username}</> : <>{this.value.map(item => typeof item === 'object' && <>{item.username}</>)}</>}</>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </>\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\r\n size=\"sm\"\r\n value={this.inputValue}\r\n show-close-button={this.inputValue ? true : false}\r\n icon-swap=\"assets/search-01.svg\"\r\n placeholder={this.placeholder}\r\n type=\"icon_leading\"\r\n labelText=\"label\"\r\n idOfInput=\"3\"\r\n onInputValueChanged={this.searchItemsInDropdownMenu.bind(this)}\r\n ></gb-input-field>\r\n </div>\r\n )}\r\n {this.loading && (\r\n <div class=\"loader_div\">\r\n <div class=\"loader\"></div>\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 === '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 <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n </>\r\n ) : typeof item === 'string' ? (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n </>\r\n ) : (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item}</h1>\r\n </>\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 <gb-input-dropdown-menu-item state={StateEnum.Default} supporting-text={this.supportingText} color={this.color} onClick={() => this.handleItemSelect()}>\r\n <p slot=\"name\">--{this.placeholder}--</p>\r\n </gb-input-dropdown-menu-item>\r\n {this.items.map(item => [\r\n <gb-input-dropdown-menu-item\r\n type={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\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n </>\r\n ) : typeof item === 'string' ? (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">\r\n {item\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </>\r\n ) : (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item}</h1>\r\n </>\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 {/* <button onClick={() => this.clearValue()}>Clear</button> */}\r\n {this.showHintText && <>{!this.destructive ? <p class=\"hint_text text-sm-regular\">{this.hintText}</p> : <p class=\"error_text text-sm-regular\">{this.errorText}</p>}</>}\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, Watch, Method } from '@stencil/core';\r\nimport { ColorTypes, 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 = 'default';\r\n @Prop({ mutable: true }) state: 'default' | 'focused' | 'disabled' | 'filled' = 'default';\r\n @Prop() size: GeneralSizes = 'md';\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 iusbrviubw vwiuhvw vwiurhvwr vwoiuh', username: 1 },\r\n // { name: 'Mock Item B', username: 3 },\r\n // { name: 'Mock Item C', username: 3 },\r\n // { name: 'Mock Item D', username: 3 },\r\n // { name: 'Mock Item E', username: 3 },\r\n // 45,\r\n // 50,\r\n // 20,\r\n // 25,\r\n // 90,\r\n // 92,\r\n // 53,\r\n // 'Activated',\r\n // 'Deactivated',\r\n // 'John Doe',\r\n // 'John smith',\r\n // 'Jane leo',\r\n ];\r\n @Prop({ mutable: true }) value: any[] = [\r\n // { name: 'Mock Item A', username: 1, selected: false },\r\n // { name: 'Mock Item B', username: 2, selected: false },\r\n // { name: 'Mock Item C', username: 3, selected: false },\r\n // 45,\r\n // 50,\r\n // 20,\r\n // 25,\r\n // 90,\r\n // 'Activated',\r\n // 'Deactivated',\r\n // 'Transaction Status',\r\n ];\r\n @Prop() supportingText: boolean = false;\r\n @Prop() color: ColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Prop() menuPosition: 'top' | 'bottom' = 'bottom';\r\n @Prop() showSearchInput: boolean = false;\r\n @Prop() inputValue: string;\r\n @Prop({ mutable: true }) destructive: boolean = false;\r\n @Prop() errorText: string = '';\r\n @Prop({ mutable: true }) loading: boolean = false;\r\n @Prop() formatLabel: boolean = true;\r\n @State() leadingIconSvg: string = '';\r\n @State() dropdownOpen: boolean = false;\r\n @State() selectedItem: any;\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @State() searchItem: any;\r\n @State() searchResults: any;\r\n @State() internalItems: any[] = [...this.items];\r\n @State() showCloseButton: boolean = false;\r\n @State() internalLoading: boolean = this.loading;\r\n @Element() el: HTMLElement;\r\n // @Event() dropdownValue: EventEmitter<any>;\r\n @Event() dropdownItemSelected: EventEmitter<any>;\r\n @Event() inputValueChanged: EventEmitter<string>;\r\n\r\n dropdownRef!: HTMLElement;\r\n inputRef: HTMLInputElement;\r\n\r\n @Method()\r\n async clearSelection() {\r\n if (this.selectedItem && this.selectedItem.length > 0) {\r\n this.selectedItem = [];\r\n }\r\n\r\n if (this.selectedItems && this.selectedItems.length > 0) {\r\n this.selectedItems = [];\r\n }\r\n\r\n if (this.value && this.value.length > 0) {\r\n this.value = [];\r\n this.selectedItems = [];\r\n this.selectedItem = [];\r\n }\r\n\r\n this.unselectedItems = [...this.items];\r\n this.state = 'default';\r\n }\r\n\r\n @Method()\r\n async isDestructive() {\r\n this.destructive = true;\r\n }\r\n\r\n @Method()\r\n async isNotDestructive() {\r\n this.destructive = false;\r\n }\r\n\r\n clearInput() {\r\n if (this.inputRef) {\r\n this.inputRef.value = '';\r\n this.inputValue = this.inputRef.value;\r\n this.showCloseButton = false;\r\n this.inputValueChanged.emit(this.inputValue);\r\n }\r\n }\r\n\r\n @Watch('items')\r\n updateResultsAndShowInDropdown(newItems: any[]) {\r\n this.internalItems = [...newItems];\r\n }\r\n\r\n @Watch('loading')\r\n onLoadingChanged(newLoading: boolean) {\r\n this.internalLoading = newLoading;\r\n\r\n if (newLoading) this.dropdownOpen = true;\r\n }\r\n\r\n emitInputValueToUseForSearch() {\r\n if (this.inputRef.value.length > 0 && this.internalItems.length === 0) {\r\n this.loading = true;\r\n } else if (this.inputRef.value.length > 0 && this.internalItems.length > 0) {\r\n this.showCloseButton = true;\r\n this.inputValueChanged.emit(this.inputRef.value);\r\n } else {\r\n this.showCloseButton = false;\r\n this.dropdownOpen = false;\r\n this.loading = false;\r\n }\r\n }\r\n\r\n searchItemsInDropdownMenu(event: CustomEvent<any>) {\r\n this.searchItem = event.detail;\r\n this.searchResults = this.items.filter(item => {\r\n if (typeof item === 'string') return item.toLowerCase().includes(this.searchItem.toLowerCase());\r\n\r\n if (typeof item === 'number') return item.toString().includes(this.searchItem.toString());\r\n\r\n if (typeof item === 'object') return item.name.toLowerCase().includes(this.searchItem.toLowerCase());\r\n });\r\n }\r\n\r\n @Watch('destructive')\r\n watchDestructive() {\r\n this.destructive = this.destructive;\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\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?: any) {\r\n this.destructive = false;\r\n\r\n if (this.type === 'tags') {\r\n if (this.state === 'default') {\r\n this.selectMultipleItems(item);\r\n // console.log(this.state);\r\n } else if (this.state === 'filled' && this.value.length > 0) {\r\n this.state = 'default';\r\n this.value.length = 0;\r\n // console.log(this.state);\r\n this.selectMultipleItems(item);\r\n } else if (this.state === 'filled' && this.value.length === 0) {\r\n this.selectMultipleItems(item);\r\n // console.log(this.state);\r\n }\r\n } else {\r\n if (!item) {\r\n this.state = 'default';\r\n this.dropdownOpen = false;\r\n this.selectedItem = null;\r\n this.dropdownItemSelected.emit('');\r\n this.selectedItems = [];\r\n this.value = [];\r\n } else {\r\n if (this.state === 'default') {\r\n this.singleItemSelect(item);\r\n // console.log(this.state);\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 // console.log(this.state);\r\n } else if (this.state === 'filled' && this.value.length === 0) {\r\n this.singleItemSelect(item);\r\n // console.log(this.state);\r\n }\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 console.log(this.selectedItem);\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 console.log(this.selectedItems);\r\n this.dropdownItemSelected.emit(this.selectedItems);\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\r\n console.log(this.selectedItems);\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 this.dropdownItemSelected.emit(this.selectedItems);\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 this.dropdownItemSelected.emit(this.selectedItems);\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 @Watch('items')\r\n @Watch('value')\r\n syncSelectedItems() {\r\n if (!Array.isArray(this.items)) return;\r\n\r\n // Guard: wait until both props are ready\r\n if (!this.value) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.items];\r\n return;\r\n }\r\n\r\n const objectValues = this.value.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = this.value.filter(val => typeof val !== 'object');\r\n\r\n this.selectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return objectValues.some(val => val.name === item.name);\r\n } else {\r\n return primitiveValues.includes(item);\r\n }\r\n });\r\n\r\n this.unselectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return !objectValues.some(val => val.name === item.name);\r\n } else {\r\n return !primitiveValues.includes(item);\r\n }\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() {\r\n this.loadIcon(this.leadingIcon);\r\n\r\n // setTimeout(() => {\r\n // this.loading = true;\r\n\r\n // setTimeout(() => {\r\n // this.items = ['Hi', '8', 'Omo', 98];\r\n // }, 5000);\r\n // }, 2000);\r\n\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 (Array.isArray(this.items)) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [];\r\n\r\n // Separate objects from primitive values\r\n const objectValues = this.value.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = this.value.filter(val => typeof val !== 'object');\r\n\r\n // Find selected items\r\n this.selectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return objectValues.some(val => val.name === item.name);\r\n } else {\r\n return primitiveValues.includes(item);\r\n }\r\n });\r\n\r\n // Find unselected items\r\n this.unselectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return !objectValues.some(val => val.name === item.name);\r\n } else {\r\n return !primitiveValues.includes(item);\r\n }\r\n });\r\n }\r\n } else {\r\n // If value array is empty, all items are unselected\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.items];\r\n }\r\n\r\n // console.log('Selected Items:', this.selectedItems);\r\n // console.log('Unselected Items:', this.unselectedItems);\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 <>\r\n {this.formatLabel ? (\r\n <p class=\"dropdown_label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>\r\n ) : (\r\n <p class=\"dropdown_label text-sm-medium\">{this.label}</p>\r\n )}\r\n </>\r\n )}\r\n <div\r\n class={`input_dropdown_div ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''} ${this.type === 'tags' ? 'tag' : ''} ${\r\n this.dropdownOpen ? 'focused' : ''\r\n }`}\r\n onClick={e => this.toggleDropdown(e)}\r\n >\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 {this.selectedItems.map(item => (\r\n <>\r\n {typeof item === 'object' ? (\r\n <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n ) : (\r\n <h1 slot=\"initials\">{item.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n )}\r\n </>\r\n ))}\r\n </gb-avatar>\r\n )}\r\n </>\r\n )}\r\n {this.showLeadingIcon && (\r\n <>{this.type === 'search' || this.type === 'tags' || this.type === 'icon_leading' ? <div class={`icon`} innerHTML={this.leadingIconSvg}></div> : null}</>\r\n )}\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 <>\r\n {this.state === 'default' && this.type !== 'search' && (\r\n <>\r\n {this.placeholder && (\r\n <div class=\"placeholder\">\r\n <p class={`text-${this.size}-regular`} style={{ color: '#CDD5DF' }}>\r\n {this.placeholder}\r\n </p>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n {this.state === 'default' && this.type === 'search' && (\r\n <div class=\"search_input\">\r\n <input\r\n type=\"text\"\r\n placeholder={this.placeholder}\r\n class={`text-${this.size}-regular`}\r\n ref={el => (this.inputRef = el)}\r\n onInput={this.emitInputValueToUseForSearch.bind(this)}\r\n />\r\n {this.showCloseButton && (\r\n <gb-button\r\n class={`close_button ${this.size}`}\r\n size={this.size}\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/cancel-01.svg\"\r\n onClick={() => this.clearInput()}\r\n ></gb-button>\r\n )}\r\n </div>\r\n )}\r\n {this.state === 'filled' && (\r\n <>\r\n <div class={`content`}>\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 <p class={`selected_text text-${this.size}-regular`}>\r\n {this.value.length === 0 ? this.selectedItem?.name || this.selectedItem : <>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}\r\n </p>\r\n )}\r\n {this.supportingText && (\r\n <div class={`supporting_text text-${this.size}-regular`} style={{ color: '#697586' }}>\r\n {this.type !== 'tags' && (\r\n <>{this.value.length === 0 ? <>{this.selectedItem.username}</> : <>{this.value.map(item => typeof item === 'object' && item.username)}</>}</>\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 <>{<>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}</>\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 <>{this.value.length === 0 ? <>{this.selectedItem.username}</> : <>{this.value.map(item => typeof item === 'object' && <>{item.username}</>)}</>}</>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </>\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\r\n size=\"sm\"\r\n value={this.inputValue}\r\n show-close-button={this.inputValue ? true : false}\r\n icon-swap=\"assets/search-01.svg\"\r\n placeholder={this.placeholder}\r\n type=\"icon_leading\"\r\n labelText=\"label\"\r\n idOfInput=\"3\"\r\n onInputValueChanged={this.searchItemsInDropdownMenu.bind(this)}\r\n ></gb-input-field>\r\n </div>\r\n )}\r\n {this.loading && (\r\n <div class=\"loader_div\">\r\n <div class=\"loader\"></div>\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 === '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 <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n </>\r\n ) : typeof item === 'string' ? (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n </>\r\n ) : (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item}</h1>\r\n </>\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 <gb-input-dropdown-menu-item state={StateEnum.Default} supporting-text={this.supportingText} color={this.color} onClick={() => this.handleItemSelect()}>\r\n <p slot=\"name\">--{this.placeholder}--</p>\r\n </gb-input-dropdown-menu-item>\r\n {this.items.map(item => [\r\n <gb-input-dropdown-menu-item\r\n type={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\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n </>\r\n ) : typeof item === 'string' ? (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">\r\n {item\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </>\r\n ) : (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item}</h1>\r\n </>\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 {/* <button onClick={() => this.clearValue()}>Clear</button> */}\r\n {this.showHintText && <>{!this.destructive ? <p class=\"hint_text text-sm-regular\">{this.hintText}</p> : <p class=\"error_text text-sm-regular\">{this.errorText}</p>}</>}\r\n </div>,\r\n ];\r\n }\r\n}\r\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { computePosition, offset, flip, shift, autoUpdate } from "@floating-ui/dom";
|
|
2
|
+
import { computePosition, offset, flip, shift, autoUpdate, size } from "@floating-ui/dom";
|
|
3
3
|
export class GbPortal {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.placement = 'bottom-
|
|
5
|
+
this.placement = 'bottom-end';
|
|
6
6
|
this.open = false;
|
|
7
7
|
}
|
|
8
8
|
componentDidLoad() {
|
|
@@ -64,22 +64,34 @@ export class GbPortal {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
updatePosition() {
|
|
67
|
-
|
|
67
|
+
var _a;
|
|
68
|
+
const anchor = (_a = this.anchorEl) !== null && _a !== void 0 ? _a : (this.anchorId ? this.findElementByIdDeep(this.anchorId) : null);
|
|
68
69
|
const element = this.wrapper;
|
|
69
70
|
if (!anchor || !element)
|
|
70
71
|
return;
|
|
71
72
|
computePosition(anchor, element, {
|
|
72
73
|
placement: this.placement,
|
|
73
|
-
middleware: [
|
|
74
|
+
middleware: [
|
|
75
|
+
offset(4),
|
|
76
|
+
flip(),
|
|
77
|
+
shift({ padding: 0 }),
|
|
78
|
+
size({
|
|
79
|
+
apply({ rects, elements }) {
|
|
80
|
+
elements.floating.style.minWidth = `${rects.reference.width}px`;
|
|
81
|
+
},
|
|
82
|
+
}),
|
|
83
|
+
],
|
|
74
84
|
}).then(({ x, y }) => {
|
|
75
85
|
console.log(x);
|
|
76
86
|
Object.assign(element.style, {
|
|
77
87
|
position: 'absolute',
|
|
78
|
-
|
|
88
|
+
right: `6rem`,
|
|
79
89
|
top: `${y}px`,
|
|
80
90
|
zIndex: '9999',
|
|
91
|
+
padding: '0'
|
|
81
92
|
});
|
|
82
93
|
});
|
|
94
|
+
// console.log(anchor.getBoundingClientRect());
|
|
83
95
|
}
|
|
84
96
|
setupAutoUpdate() {
|
|
85
97
|
const anchor = this.anchorId ? this.findElementByIdDeep(this.anchorId) : null;
|
|
@@ -112,7 +124,7 @@ export class GbPortal {
|
|
|
112
124
|
return null;
|
|
113
125
|
}
|
|
114
126
|
render() {
|
|
115
|
-
return h("slot", { key: '
|
|
127
|
+
return h("slot", { key: '3d6c3104d82b976d12192c740c80fcc70e102be3' });
|
|
116
128
|
}
|
|
117
129
|
static get is() { return "gb-portal"; }
|
|
118
130
|
static get encapsulation() { return "shadow"; }
|
|
@@ -148,12 +160,18 @@ export class GbPortal {
|
|
|
148
160
|
"attribute": "anchor-id"
|
|
149
161
|
},
|
|
150
162
|
"placement": {
|
|
151
|
-
"type": "
|
|
163
|
+
"type": "string",
|
|
152
164
|
"mutable": false,
|
|
153
165
|
"complexType": {
|
|
154
|
-
"original": "
|
|
155
|
-
"resolved": "
|
|
156
|
-
"references": {
|
|
166
|
+
"original": "PortalPlacement",
|
|
167
|
+
"resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
|
|
168
|
+
"references": {
|
|
169
|
+
"PortalPlacement": {
|
|
170
|
+
"location": "import",
|
|
171
|
+
"path": "../../models/reusableModels",
|
|
172
|
+
"id": "src/models/reusableModels.ts::PortalPlacement"
|
|
173
|
+
}
|
|
174
|
+
}
|
|
157
175
|
},
|
|
158
176
|
"required": false,
|
|
159
177
|
"optional": false,
|
|
@@ -165,7 +183,7 @@ export class GbPortal {
|
|
|
165
183
|
"setter": false,
|
|
166
184
|
"reflect": false,
|
|
167
185
|
"attribute": "placement",
|
|
168
|
-
"defaultValue": "'bottom-
|
|
186
|
+
"defaultValue": "'bottom-end'"
|
|
169
187
|
},
|
|
170
188
|
"open": {
|
|
171
189
|
"type": "boolean",
|
|
@@ -186,6 +204,28 @@ export class GbPortal {
|
|
|
186
204
|
"reflect": false,
|
|
187
205
|
"attribute": "open",
|
|
188
206
|
"defaultValue": "false"
|
|
207
|
+
},
|
|
208
|
+
"anchorEl": {
|
|
209
|
+
"type": "unknown",
|
|
210
|
+
"mutable": false,
|
|
211
|
+
"complexType": {
|
|
212
|
+
"original": "HTMLElement",
|
|
213
|
+
"resolved": "HTMLElement",
|
|
214
|
+
"references": {
|
|
215
|
+
"HTMLElement": {
|
|
216
|
+
"location": "global",
|
|
217
|
+
"id": "global::HTMLElement"
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"required": false,
|
|
222
|
+
"optional": true,
|
|
223
|
+
"docs": {
|
|
224
|
+
"tags": [],
|
|
225
|
+
"text": ""
|
|
226
|
+
},
|
|
227
|
+
"getter": false,
|
|
228
|
+
"setter": false
|
|
189
229
|
}
|
|
190
230
|
};
|
|
191
231
|
}
|