globuswebcomponents 2.8.12 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/cjs/gb-action-panel_75.cjs.entry.js +167 -85
  2. package/dist/cjs/globuscomponents.cjs.js +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
  5. package/dist/collection/assets/pencil-edit-01.svg +3 -0
  6. package/dist/collection/components/gb-button/readme.md +13 -0
  7. package/dist/collection/components/gb-date-picker/gb-date-picker.css +4 -0
  8. package/dist/collection/components/gb-date-picker/gb-date-picker.js +5 -7
  9. package/dist/collection/components/gb-date-picker/gb-date-picker.js.map +1 -1
  10. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js +6 -6
  11. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js.map +1 -1
  12. package/dist/collection/components/gb-pagination/gb-pagination.css +1 -0
  13. package/dist/collection/components/gb-portal/gb-portal.css +1 -2
  14. package/dist/collection/components/gb-portal/gb-portal.js +16 -10
  15. package/dist/collection/components/gb-portal/gb-portal.js.map +1 -1
  16. package/dist/collection/components/gb-table/gb-table.css +70 -23
  17. package/dist/collection/components/gb-table/gb-table.js +193 -132
  18. package/dist/collection/components/gb-table/gb-table.js.map +1 -1
  19. package/dist/collection/components/gb-table-header/gb-table-header.css +10 -9
  20. package/dist/collection/components/gb-table-header/gb-table-header.js +7 -5
  21. package/dist/collection/components/gb-table-header/gb-table-header.js.map +1 -1
  22. package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js +3 -4
  23. package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js.map +1 -1
  24. package/dist/collection/models/reusableModels.js.map +1 -1
  25. package/dist/collection/utils/tableColumnBuilder.js +125 -0
  26. package/dist/collection/utils/tableColumnBuilder.js.map +1 -0
  27. package/dist/components/gb-approval-modal.js +1 -1
  28. package/dist/components/gb-date-picker.js +1 -1
  29. package/dist/components/gb-empty-state.js +1 -145
  30. package/dist/components/gb-empty-state.js.map +1 -1
  31. package/dist/components/gb-input-dropdown.js +1 -1
  32. package/dist/components/gb-pagination.js +1 -1
  33. package/dist/components/gb-portal.js +1 -1
  34. package/dist/components/gb-table-header.js +1 -1
  35. package/dist/components/gb-table.js +221 -108
  36. package/dist/components/gb-table.js.map +1 -1
  37. package/dist/components/gb-textarea-input-field.js +1 -1
  38. package/dist/components/p-ByjJN3cS.js +150 -0
  39. package/dist/components/p-ByjJN3cS.js.map +1 -0
  40. package/dist/components/{p-B9vWIoWs.js → p-C--0Sicf.js} +8 -8
  41. package/dist/components/p-C--0Sicf.js.map +1 -0
  42. package/dist/components/{p-CSka0gDO.js → p-CJelLNTb.js} +5 -6
  43. package/dist/components/p-CJelLNTb.js.map +1 -0
  44. package/dist/components/p-cHn6O-Kf.js.map +1 -1
  45. package/dist/components/{p-BTHdpYQl.js → p-dgGYVBLp.js} +19 -13
  46. package/dist/components/p-dgGYVBLp.js.map +1 -0
  47. package/dist/components/{p-CIk9ZD0b.js → p-jEUDScnD.js} +4 -4
  48. package/dist/components/p-jEUDScnD.js.map +1 -0
  49. package/dist/components/{p-BHOJKe6j.js → p-q16C1y-8.js} +11 -9
  50. package/dist/components/p-q16C1y-8.js.map +1 -0
  51. package/dist/components/{p-BWx-o392.js → p-rzRgniQd.js} +7 -9
  52. package/dist/components/p-rzRgniQd.js.map +1 -0
  53. package/dist/docs.json +104 -115
  54. package/dist/esm/gb-action-panel_75.entry.js +167 -85
  55. package/dist/esm/globuscomponents.js +1 -1
  56. package/dist/esm/loader.js +1 -1
  57. package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
  58. package/dist/globuscomponents/assets/pencil-edit-01.svg +3 -0
  59. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  60. package/dist/globuscomponents/{p-7024cc46.entry.js → p-c3549c89.entry.js} +2 -2
  61. package/dist/globuscomponents/p-c3549c89.entry.js.map +1 -0
  62. package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
  63. package/dist/globuscomponents/readme.md +13 -0
  64. package/dist/types/components/gb-table/gb-table.d.ts +28 -11
  65. package/dist/types/components.d.ts +44 -40
  66. package/dist/types/models/reusableModels.d.ts +22 -3
  67. package/dist/types/utils/tableColumnBuilder.d.ts +88 -0
  68. package/package.json +1 -1
  69. package/dist/components/p-B9vWIoWs.js.map +0 -1
  70. package/dist/components/p-BHOJKe6j.js.map +0 -1
  71. package/dist/components/p-BTHdpYQl.js.map +0 -1
  72. package/dist/components/p-BWx-o392.js.map +0 -1
  73. package/dist/components/p-CIk9ZD0b.js.map +0 -1
  74. package/dist/components/p-CSka0gDO.js.map +0 -1
  75. package/dist/globuscomponents/p-7024cc46.entry.js.map +0 -1
@@ -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 = '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
+ {"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"]}
@@ -2787,6 +2787,7 @@
2787
2787
  display: flex;
2788
2788
  justify-content: space-between;
2789
2789
  align-items: center;
2790
+ border-top: 1px solid var(--color-border-subtle, #EAECF0);
2790
2791
  }
2791
2792
 
2792
2793
  .pagination_entries{
@@ -17,12 +17,11 @@
17
17
  from originating components are still applied when content is appended to body. */
18
18
  .gb-portal-wrapper .dropdown_wrapper,
19
19
  .gb-portal-wrapper .dropdown {
20
- width: max-content;
20
+ width: 9.5rem;
21
21
  border-radius: var(--rounded-sm, 4px);
22
22
  border: 1px solid var(--color-border-subtler, #e3e8ef);
23
23
  background: var(--color-surface, #ffffff);
24
24
  box-shadow: var(--shadow-md, 0 6px 12px rgba(0, 0, 0, 0.08));
25
- padding-right: 0.5rem;
26
25
  position: absolute;
27
26
  z-index: calc(var(--gb-portal-z) + 1);
28
27
  }
@@ -81,17 +81,23 @@ export class GbPortal {
81
81
  },
82
82
  }),
83
83
  ],
84
- }).then(({ x, y }) => {
85
- console.log(x);
86
- Object.assign(element.style, {
87
- position: 'absolute',
88
- right: `6rem`,
89
- top: `${y}px`,
90
- zIndex: '9999',
91
- padding: '0'
84
+ }).then(({ y }) => {
85
+ const anchorRect = anchor.getBoundingClientRect();
86
+ const anchorRight = anchorRect.right;
87
+ // Use requestAnimationFrame to ensure element is fully rendered
88
+ requestAnimationFrame(() => {
89
+ // Get the actual dropdown width (the content's natural width)
90
+ // Use scrollWidth to get the true content width
91
+ const dropdownWidth = element.scrollWidth;
92
+ const alignedLeft = anchorRight - dropdownWidth;
93
+ Object.assign(element.style, {
94
+ position: 'absolute',
95
+ left: `${alignedLeft}px`,
96
+ top: `${y}px`,
97
+ zIndex: '9999',
98
+ });
92
99
  });
93
100
  });
94
- // console.log(anchor.getBoundingClientRect());
95
101
  }
96
102
  setupAutoUpdate() {
97
103
  const anchor = this.anchorId ? this.findElementByIdDeep(this.anchorId) : null;
@@ -124,7 +130,7 @@ export class GbPortal {
124
130
  return null;
125
131
  }
126
132
  render() {
127
- return h("slot", { key: '3d6c3104d82b976d12192c740c80fcc70e102be3' });
133
+ return h("slot", { key: 'dfdb1db011a46fa984bb80a7a5abf53437f1fb65' });
128
134
  }
129
135
  static get is() { return "gb-portal"; }
130
136
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"gb-portal.js","sourceRoot":"","sources":["../../../src/components/gb-portal/gb-portal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Element, Watch, h } from '@stencil/core';\r\nimport { computePosition, offset, flip, shift, autoUpdate, size } from '@floating-ui/dom';\r\nimport { PortalPlacement } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-portal',\r\n styleUrl: 'gb-portal.css',\r\n shadow: true,\r\n})\r\nexport class GbPortal {\r\n @Prop() anchorId?: string;\r\n @Prop() placement: PortalPlacement = 'bottom-end';\r\n @Prop() open: boolean = false;\r\n @Prop() anchorEl?: HTMLElement;\r\n @Element() el: HTMLElement;\r\n\r\n private portalHost?: HTMLElement;\r\n private wrapper?: HTMLElement;\r\n private cleanupAutoUpdate?: () => void;\r\n\r\n componentDidLoad() {\r\n this.ensureHost();\r\n if (this.open) {\r\n this.mountContent();\r\n this.updatePosition();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.unmountContent();\r\n }\r\n\r\n @Watch('open')\r\n onOpenChange(isOpen: boolean) {\r\n if (isOpen) {\r\n this.ensureHost();\r\n this.mountContent();\r\n this.updatePosition();\r\n } else {\r\n this.unmountContent();\r\n }\r\n }\r\n\r\n private ensureHost() {\r\n this.portalHost = document.getElementById('gb-portal-host');\r\n if (!this.portalHost) {\r\n this.portalHost = document.createElement('div');\r\n this.portalHost.id = 'gb-portal-host';\r\n document.body.appendChild(this.portalHost);\r\n }\r\n }\r\n\r\n private mountContent() {\r\n if (!this.portalHost) this.ensureHost();\r\n if (!this.wrapper) {\r\n this.wrapper = document.createElement('div');\r\n this.wrapper.className = 'gb-portal-wrapper';\r\n }\r\n\r\n // move light DOM children first\r\n while (this.el.firstChild) {\r\n this.wrapper.appendChild(this.el.firstChild as Node);\r\n }\r\n\r\n // move shadow root children if any (rare), preserving nodes\r\n if (this.el.shadowRoot) {\r\n while (this.el.shadowRoot.firstChild) {\r\n this.wrapper.appendChild(this.el.shadowRoot.firstChild as Node);\r\n }\r\n }\r\n\r\n this.portalHost.appendChild(this.wrapper);\r\n\r\n this.setupAutoUpdate();\r\n }\r\n\r\n private unmountContent() {\r\n if (this.cleanupAutoUpdate) {\r\n this.cleanupAutoUpdate();\r\n this.cleanupAutoUpdate = undefined;\r\n }\r\n\r\n if (this.wrapper && this.portalHost && this.portalHost.contains(this.wrapper)) {\r\n this.portalHost.removeChild(this.wrapper);\r\n this.wrapper = undefined;\r\n }\r\n }\r\n\r\n private updatePosition() {\r\n const anchor = this.anchorEl ?? (this.anchorId ? this.findElementByIdDeep(this.anchorId) : null);\r\n\r\n const element = this.wrapper;\r\n if (!anchor || !element) return;\r\n\r\n computePosition(anchor, element, {\r\n placement: this.placement,\r\n middleware: [\r\n offset(4),\r\n flip(),\r\n shift({ padding: 0 }),\r\n size({\r\n apply({ rects, elements }) {\r\n elements.floating.style.minWidth = `${rects.reference.width}px`;\r\n },\r\n }),\r\n ],\r\n }).then(({ x, y }) => {\r\n console.log(x);\r\n Object.assign(element.style, {\r\n position: 'absolute',\r\n right: `6rem`,\r\n top: `${y}px`,\r\n zIndex: '9999',\r\n padding: '0'\r\n });\r\n });\r\n // console.log(anchor.getBoundingClientRect());\r\n }\r\n\r\n private setupAutoUpdate() {\r\n const anchor = this.anchorId ? this.findElementByIdDeep(this.anchorId) : null;\r\n const element = this.wrapper;\r\n if (!anchor || !element) return;\r\n\r\n this.cleanupAutoUpdate = autoUpdate(anchor, element, () => this.updatePosition());\r\n }\r\n\r\n private findElementByIdDeep(id: string): HTMLElement | null {\r\n // try normal document scope first\r\n const docMatch = document.getElementById(id);\r\n if (docMatch) return docMatch as HTMLElement;\r\n\r\n // search through all elements that may host a shadowRoot\r\n const all = Array.from(document.querySelectorAll('*')) as HTMLElement[];\r\n for (const el of all) {\r\n const sr = (el as any).shadowRoot as ShadowRoot | undefined;\r\n if (sr) {\r\n try {\r\n const sel = `#${(window as any).CSS && (window as any).CSS.escape ? (window as any).CSS.escape(id) : id}`;\r\n const found = sr.querySelector(sel) as HTMLElement | null;\r\n if (found) return found;\r\n } catch (e) {\r\n // ignore selector errors\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n return <slot />;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"gb-portal.js","sourceRoot":"","sources":["../../../src/components/gb-portal/gb-portal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Element, Watch, h } from '@stencil/core';\r\nimport { computePosition, offset, flip, shift, autoUpdate, size } from '@floating-ui/dom';\r\nimport { PortalPlacement } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-portal',\r\n styleUrl: 'gb-portal.css',\r\n shadow: true,\r\n})\r\nexport class GbPortal {\r\n @Prop() anchorId?: string;\r\n @Prop() placement: PortalPlacement = 'bottom-end';\r\n @Prop() open: boolean = false;\r\n @Prop() anchorEl?: HTMLElement;\r\n @Element() el: HTMLElement;\r\n\r\n private portalHost?: HTMLElement;\r\n private wrapper?: HTMLElement;\r\n private cleanupAutoUpdate?: () => void;\r\n\r\n componentDidLoad() {\r\n this.ensureHost();\r\n if (this.open) {\r\n this.mountContent();\r\n this.updatePosition();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.unmountContent();\r\n }\r\n\r\n @Watch('open')\r\n onOpenChange(isOpen: boolean) {\r\n if (isOpen) {\r\n this.ensureHost();\r\n this.mountContent();\r\n this.updatePosition();\r\n } else {\r\n this.unmountContent();\r\n }\r\n }\r\n\r\n private ensureHost() {\r\n this.portalHost = document.getElementById('gb-portal-host');\r\n if (!this.portalHost) {\r\n this.portalHost = document.createElement('div');\r\n this.portalHost.id = 'gb-portal-host';\r\n document.body.appendChild(this.portalHost);\r\n }\r\n }\r\n\r\n private mountContent() {\r\n if (!this.portalHost) this.ensureHost();\r\n if (!this.wrapper) {\r\n this.wrapper = document.createElement('div');\r\n this.wrapper.className = 'gb-portal-wrapper';\r\n }\r\n\r\n // move light DOM children first\r\n while (this.el.firstChild) {\r\n this.wrapper.appendChild(this.el.firstChild as Node);\r\n }\r\n\r\n // move shadow root children if any (rare), preserving nodes\r\n if (this.el.shadowRoot) {\r\n while (this.el.shadowRoot.firstChild) {\r\n this.wrapper.appendChild(this.el.shadowRoot.firstChild as Node);\r\n }\r\n }\r\n\r\n this.portalHost.appendChild(this.wrapper);\r\n\r\n this.setupAutoUpdate();\r\n }\r\n\r\n private unmountContent() {\r\n if (this.cleanupAutoUpdate) {\r\n this.cleanupAutoUpdate();\r\n this.cleanupAutoUpdate = undefined;\r\n }\r\n\r\n if (this.wrapper && this.portalHost && this.portalHost.contains(this.wrapper)) {\r\n this.portalHost.removeChild(this.wrapper);\r\n this.wrapper = undefined;\r\n }\r\n }\r\n\r\n private updatePosition() {\r\n const anchor = this.anchorEl ?? (this.anchorId ? this.findElementByIdDeep(this.anchorId) : null);\r\n\r\n const element = this.wrapper;\r\n if (!anchor || !element) return;\r\n\r\n computePosition(anchor, element, {\r\n placement: this.placement,\r\n middleware: [\r\n offset(4),\r\n flip(),\r\n shift({ padding: 0 }),\r\n size({\r\n apply({ rects, elements }) {\r\n elements.floating.style.minWidth = `${rects.reference.width}px`;\r\n },\r\n }),\r\n ],\r\n }).then(({ y }) => {\r\n const anchorRect = anchor.getBoundingClientRect();\r\n const anchorRight = anchorRect.right;\r\n\r\n // Use requestAnimationFrame to ensure element is fully rendered\r\n requestAnimationFrame(() => {\r\n // Get the actual dropdown width (the content's natural width)\r\n // Use scrollWidth to get the true content width\r\n const dropdownWidth = element.scrollWidth;\r\n const alignedLeft = anchorRight - dropdownWidth;\r\n\r\n Object.assign(element.style, {\r\n position: 'absolute',\r\n left: `${alignedLeft}px`,\r\n top: `${y}px`,\r\n zIndex: '9999',\r\n });\r\n });\r\n });\r\n }\r\n\r\n private setupAutoUpdate() {\r\n const anchor = this.anchorId ? this.findElementByIdDeep(this.anchorId) : null;\r\n const element = this.wrapper;\r\n if (!anchor || !element) return;\r\n\r\n this.cleanupAutoUpdate = autoUpdate(anchor, element, () => this.updatePosition());\r\n }\r\n\r\n private findElementByIdDeep(id: string): HTMLElement | null {\r\n // try normal document scope first\r\n const docMatch = document.getElementById(id);\r\n if (docMatch) return docMatch as HTMLElement;\r\n\r\n // search through all elements that may host a shadowRoot\r\n const all = Array.from(document.querySelectorAll('*')) as HTMLElement[];\r\n for (const el of all) {\r\n const sr = (el as any).shadowRoot as ShadowRoot | undefined;\r\n if (sr) {\r\n try {\r\n const sel = `#${(window as any).CSS && (window as any).CSS.escape ? (window as any).CSS.escape(id) : id}`;\r\n const found = sr.querySelector(sel) as HTMLElement | null;\r\n if (found) return found;\r\n } catch (e) {\r\n // ignore selector errors\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n return <slot />;\r\n }\r\n}\r\n"]}