globuswebcomponents 2.13.1 → 2.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/gb-action-panel_61.cjs.entry.js +742 -127
- package/dist/cjs/gb-approval-modal.cjs.entry.js +16 -13
- package/dist/cjs/gb-approval-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/gb-modal-action.gb-modal-header.entry.cjs.js.map +1 -1
- package/dist/cjs/gb-modal-action_2.cjs.entry.js +12 -12
- package/dist/cjs/gb-prompt-modal.cjs.entry.js +2 -1
- package/dist/cjs/gb-prompt-modal.entry.cjs.js.map +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/collection/components/gb-approval-modal/gb-approval-modal.js +63 -126
- package/dist/collection/components/gb-approval-modal/gb-approval-modal.js.map +1 -1
- package/dist/collection/components/gb-button-group/gb-button-group.js +4 -2
- package/dist/collection/components/gb-button-group/gb-button-group.js.map +1 -1
- package/dist/collection/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.js +9 -4
- package/dist/collection/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.js.map +1 -1
- package/dist/collection/components/gb-input-field/gb-input-field.css +8 -1
- package/dist/collection/components/gb-input-field/gb-input-field.js +268 -28
- package/dist/collection/components/gb-input-field/gb-input-field.js.map +1 -1
- package/dist/collection/components/gb-modal-action/gb-modal-action.js +89 -89
- package/dist/collection/components/gb-modal-action/gb-modal-action.js.map +1 -1
- package/dist/collection/components/gb-prompt-modal/gb-prompt-modal.js +28 -1
- package/dist/collection/components/gb-prompt-modal/gb-prompt-modal.js.map +1 -1
- package/dist/collection/components/gb-sidebar/gb-sidebar.js +9 -9
- package/dist/collection/components/gb-sidebar/gb-sidebar.js.map +1 -1
- package/dist/collection/components/gb-table/gb-table.css +6 -0
- package/dist/collection/components/gb-table/gb-table.js +454 -90
- package/dist/collection/components/gb-table/gb-table.js.map +1 -1
- package/dist/collection/components/gb-token-field-compact/gb-token-field-compact.js +13 -5
- package/dist/collection/components/gb-token-field-compact/gb-token-field-compact.js.map +1 -1
- package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js +20 -10
- package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js.map +1 -1
- package/dist/collection/models/reusableModels.js.map +1 -1
- package/dist/components/gb-approval-modal.js +23 -26
- package/dist/components/gb-approval-modal.js.map +1 -1
- package/dist/components/gb-button-group.js +1 -1
- package/dist/components/gb-header.js +2 -2
- package/dist/components/gb-input-dropdown-menu-item.js +1 -1
- package/dist/components/gb-input-dropdown.js +1 -1
- package/dist/components/gb-input-field.js +1 -1
- package/dist/components/gb-modal-action.js +1 -1
- package/dist/components/gb-pagination.js +1 -1
- package/dist/components/gb-prompt-modal.js +3 -1
- package/dist/components/gb-prompt-modal.js.map +1 -1
- package/dist/components/gb-rich-text.js +4 -4
- package/dist/components/gb-sidebar.js +5 -5
- package/dist/components/gb-sidebar.js.map +1 -1
- package/dist/components/gb-table-header.js +1 -1
- package/dist/components/gb-table.js +457 -94
- package/dist/components/gb-table.js.map +1 -1
- package/dist/components/gb-textarea-input-field.js +1 -1
- package/dist/components/gb-token-field-compact.js +5 -1
- package/dist/components/gb-token-field-compact.js.map +1 -1
- package/dist/components/gb-token-field-compressed.js +9 -4
- package/dist/components/gb-token-field-compressed.js.map +1 -1
- package/dist/components/gb-wysiwyg-toolbar.js +1 -1
- package/dist/components/{p-CY9tYu7L.js → p-B9OaQ8IO.js} +5 -5
- package/dist/components/{p-CY9tYu7L.js.map → p-B9OaQ8IO.js.map} +1 -1
- package/dist/components/{p-Bo26ZXLD.js → p-BQWEHDtb.js} +4 -3
- package/dist/components/p-BQWEHDtb.js.map +1 -0
- package/dist/components/{p-0Dn-Rnju.js → p-Br16o-rx.js} +5 -5
- package/dist/components/{p-0Dn-Rnju.js.map → p-Br16o-rx.js.map} +1 -1
- package/dist/components/{p-COqi1UbV.js → p-C9OKT7Zi.js} +4 -4
- package/dist/components/{p-COqi1UbV.js.map → p-C9OKT7Zi.js.map} +1 -1
- package/dist/components/{p-BpCukPcq.js → p-CQg5uJVz.js} +20 -20
- package/dist/components/p-CQg5uJVz.js.map +1 -0
- package/dist/components/{p-D7ISVr5X.js → p-DT0m5qpo.js} +7 -4
- package/dist/components/p-DT0m5qpo.js.map +1 -0
- package/dist/components/{p-DXiN3a4D.js → p-DY_80Vnz.js} +3 -3
- package/dist/components/{p-DXiN3a4D.js.map → p-DY_80Vnz.js.map} +1 -1
- package/dist/components/{p-CoLGqDxS.js → p-QHFMnid1.js} +270 -30
- package/dist/components/p-QHFMnid1.js.map +1 -0
- package/dist/components/p-cHn6O-Kf.js.map +1 -1
- package/dist/components/{p-Krq9Xzvd.js → p-iQxeojAw.js} +5 -5
- package/dist/components/{p-Krq9Xzvd.js.map → p-iQxeojAw.js.map} +1 -1
- package/dist/components/test-input-tag.js +1 -1
- package/dist/docs.json +332 -285
- package/dist/esm/gb-action-panel_61.entry.js +742 -127
- package/dist/esm/gb-approval-modal.entry.js +17 -14
- package/dist/esm/gb-approval-modal.entry.js.map +1 -1
- package/dist/esm/gb-modal-action.gb-modal-header.entry.js.map +1 -1
- package/dist/esm/gb-modal-action_2.entry.js +12 -12
- package/dist/esm/gb-prompt-modal.entry.js +2 -1
- package/dist/esm/gb-prompt-modal.entry.js.map +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/globuscomponents/gb-approval-modal.entry.esm.js.map +1 -1
- package/dist/globuscomponents/gb-modal-action.gb-modal-header.entry.esm.js.map +1 -1
- package/dist/globuscomponents/gb-prompt-modal.entry.esm.js.map +1 -1
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/p-0ea6a4f5.entry.js +2 -0
- package/dist/globuscomponents/p-0ea6a4f5.entry.js.map +1 -0
- package/dist/globuscomponents/{p-0875c4c8.entry.js → p-85bf9ca2.entry.js} +2 -2
- package/dist/globuscomponents/p-85bf9ca2.entry.js.map +1 -0
- package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
- package/dist/globuscomponents/p-cf0eb0b1.entry.js +2 -0
- package/dist/globuscomponents/p-cf0eb0b1.entry.js.map +1 -0
- package/dist/globuscomponents/{p-a68e199d.entry.js → p-e2a71662.entry.js} +2 -2
- package/dist/globuscomponents/p-e2a71662.entry.js.map +1 -0
- package/dist/types/components/gb-approval-modal/gb-approval-modal.d.ts +10 -11
- package/dist/types/components/gb-input-field/gb-input-field.d.ts +2 -0
- package/dist/types/components/gb-modal-action/gb-modal-action.d.ts +6 -6
- package/dist/types/components/gb-prompt-modal/gb-prompt-modal.d.ts +1 -0
- package/dist/types/components/gb-sidebar/gb-sidebar.d.ts +8 -5
- package/dist/types/components/gb-token-field-compressed/gb-token-field-compressed.d.ts +1 -1
- package/dist/types/components.d.ts +174 -98
- package/dist/types/models/reusableModels.d.ts +10 -4
- package/package.json +2 -1
- package/dist/components/p-Bo26ZXLD.js.map +0 -1
- package/dist/components/p-BpCukPcq.js.map +0 -1
- package/dist/components/p-CoLGqDxS.js.map +0 -1
- package/dist/components/p-D7ISVr5X.js.map +0 -1
- package/dist/globuscomponents/p-0875c4c8.entry.js.map +0 -1
- package/dist/globuscomponents/p-107a1db6.entry.js +0 -2
- package/dist/globuscomponents/p-107a1db6.entry.js.map +0 -1
- package/dist/globuscomponents/p-65070e05.entry.js +0 -2
- package/dist/globuscomponents/p-65070e05.entry.js.map +0 -1
- package/dist/globuscomponents/p-a68e199d.entry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-DT0m5qpo.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.css?tag=gb-input-dropdown-menu-item&encapsulation=shadow","src/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n.dropdown-container {\r\n display: flex;\r\n padding: var(--spacing-1);\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n border-radius: var(--rounded-none);\r\n cursor: pointer;\r\n}\r\n\r\n.dropdown-item {\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 0 0;\r\n min-width: 0;\r\n border-radius: var(--rounded-xs);\r\n cursor: pointer;\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-style: normal;\r\n letter-spacing: var(--Font-Letter-spacing-T-md, 0px);\r\n}\r\n\r\n/* .name_text{\r\n max-width: 5rem;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n} */\r\n\r\n.content {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.5rem; /* if needed */\r\n min-width: 0; /* ❗ critical for ellipsis to work */\r\n}\r\n\r\n::slotted([slot='name'].ellipsed) {\r\n width: 100% !important;\r\n overflow: hidden !important;\r\n text-overflow: ellipsis !important;\r\n flex: 1 1 auto;\r\n white-space: nowrap;\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n::slotted([slot='name']) {\r\n width: 100%;\r\n /* max-width: 15rem; */\r\n flex: 1 1 auto;\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n::slotted([slot='supporting_text']) {\r\n font-size: var(--Font-Size-T-sm, 14px);\r\n font-weight: var(--Font-Weight-Regular, 400);\r\n line-height: var(--Font-Line-height-T-sm, 20px); /* 142.857% */\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n/* Icon Styles */\r\n.icon_leading {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.icon_leading svg {\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.icon_leading path[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading path[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading path#Icon[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading path#Icon[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading path#Accent[fill] {\r\n fill: var(--color-Accent, #4B5565);\r\n}\r\n\r\n.icon_leading path#Icon[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading circle[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading circle[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n/* State Styles */\r\n.dropdown-item:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\n.dropdown-item:active {\r\n background-color: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\n.dropdown-item.default.selected,\r\n.dropdown-item.icon_leading.selected,\r\n.dropdown-item.avatar_leading.selected,\r\n.dropdown-item.dot_leading.selected {\r\n background-color: var(--color-background-information-subtlest, #e4f0fc);\r\n}\r\n\r\n.dropdown-item.default.selected:hover,\r\n.dropdown-item.icon_leading.selected:hover,\r\n.dropdown-item.avatar_leading.selected:hover,\r\n.dropdown-item.dot_leading.selected:hover {\r\n background-color: var(--color-background-discovery-subtlest, #f0f9ff);\r\n}\r\n\r\n.dropdown-item.default.selected:active,\r\n.dropdown-item.icon_leading.selected:active,\r\n.dropdown-item.avatar_leading.selected:active,\r\n.dropdown-item.dot_leading.selected:active {\r\n background-color: var(--color-background-information-subtler, #c8e0f9);\r\n}\r\n\r\n.dropdown-item.default.selected.disabled,\r\n.dropdown-item.icon_leading.selected.disabled,\r\n.dropdown-item.avatar_leading.selected.disabled,\r\n.dropdown-item.dot_leading.selected.disabled,\r\n.dropdown-item.checkbox.selected.disabled {\r\n background-color: transparent;\r\n color: var(--color-text-disabled, #cdd5df);\r\n}\r\n\r\n.content {\r\n display: flex;\r\n min-height: 2.5rem;\r\n padding: 0 var(--spacing-2);\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 0 0;\r\n}\r\n\r\n.dropdown-item--selected slot {\r\n flex-grow: 1;\r\n margin-right: 8px;\r\n}\r\n\r\n.dropdown-item--selected svg:last-of-type {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.tick {\r\n display: flex;\r\n align-items: center;\r\n padding-right: var(--spacing-2);\r\n}\r\n","import { Component, Element, Prop, h, Fragment, Event, EventEmitter, State, getAssetPath } from '@stencil/core';\r\nimport { ColorTypes, DropdownTypes, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-input-dropdown-menu-item',\r\n styleUrl: 'gb-input-dropdown-menu-item.css',\r\n shadow: true,\r\n})\r\nexport class GbInputDropdownMenuItem {\r\n @Prop() type: DropdownTypes = 'default';\r\n @Prop() supportingText: boolean = false;\r\n @Prop({ mutable: true }) selected: boolean = false;\r\n @Prop() state: StateEnum = StateEnum.Default;\r\n @Prop() color: ColorTypes;\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string = '';\r\n @Prop() ellipsed: boolean = true;\r\n @State() leadingIconSvg: string = '';\r\n @Event() dropdownItemClicked: EventEmitter<void>;\r\n\r\n @Element() el: HTMLElement;\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\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n const svgElement = svgDoc.documentElement;\r\n\r\n // Add `has-opacity` class to all elements that have an opacity attribute\r\n const elementsWithOpacity = svgElement.querySelectorAll('[opacity]');\r\n elementsWithOpacity.forEach(el => {\r\n el.classList.add('has_opacity');\r\n });\r\n\r\n // Serialize and store\r\n const modifiedSvg = svgElement.outerHTML;\r\n // console.log(modifiedSvg)\r\n this.leadingIconSvg = modifiedSvg;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.iconLeadingSwap);\r\n }\r\n\r\n componentDidLoad() {\r\n const nameSlot = this.el.querySelector('[slot=\"name\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n const initialsSlot = this.el.querySelector('[slot=\"initials\"]');\r\n\r\n if (nameSlot) {\r\n nameSlot.classList.add('text-md-medium');\r\n\r\n if(this.ellipsed) {\r\n nameSlot.classList.add('ellipsed');\r\n }\r\n }\r\n\r\n if (initialsSlot) {\r\n initialsSlot.classList.add('text-xs-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-sm-regular');\r\n }\r\n }\r\n\r\n async handleClick() {\r\n this.dropdownItemClicked.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n // <div class=\"dropdown-container\" onClick={() => (this.selected = !this.selected)}>\r\n <div class=\"dropdown-container\" onClick={() => this.handleClick()}>\r\n <div\r\n class={{\r\n 'dropdown-item': true,\r\n 'selected': this.selected,\r\n 'disabled': this.state === 'disabled',\r\n 'checkbox': this.type === 'checkbox',\r\n [this.type]: true,\r\n }}\r\n role=\"option\"\r\n aria-selected={this.selected ? 'true' : 'false'}\r\n aria-disabled={this.state === 'disabled' ? 'true' : 'false'}\r\n >\r\n <div class=\"content\">\r\n {this.type === 'icon_leading' && this.iconLeading && <div class={`icon_leading ${this.state}`} innerHTML={this.leadingIconSvg}></div>}\r\n {this.type === 'avatar_leading' && (\r\n <gb-avatar class=\"avatar-icon\" size=\"xs\" color={this.color} text={true}>\r\n <slot name=\"initials\" slot=\"initials\"></slot>\r\n </gb-avatar>\r\n )}\r\n {this.type === 'dot_leading' && (\r\n <>\r\n {this.state === 'default' ? (\r\n <svg id=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 10 10\" fill=\"none\">\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#17B26A\" />\r\n </svg>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\">\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#EEF2F6\" />\r\n </svg>\r\n )}\r\n </>\r\n )}\r\n {this.type === 'checkbox' && <gb-checkbox class=\"checkbox\" size=\"md\" type=\"checkbox\" state={this.state} checked={this.selected}></gb-checkbox>}\r\n <slot name=\"name\"></slot>\r\n {this.supportingText && (\r\n <span>\r\n <slot name=\"supporting_text\"></slot>\r\n </span>\r\n )}\r\n </div>\r\n {this.selected && this.type !== 'checkbox' && (\r\n <div class={`tick`}>\r\n {this.state !== 'disabled' ? (\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=\"M4.16669 12.0834C4.16669 12.0834 5.41669 12.0834 7.08335 15C7.08335 15 11.7157 7.36115 15.8334 5.83337\"\r\n stroke=\"#075DB2\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n ) : (\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=\"M4.16669 12.0834C4.16669 12.0834 5.41669 12.0834 7.08335 15C7.08335 15 11.7157 7.36115 15.8334 5.83337\"\r\n stroke=\"#CDD5DF\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -4,7 +4,7 @@ import { d as defineCustomElement$a } from './p-D_YD59D1.js';
|
|
|
4
4
|
import { d as defineCustomElement$9 } from './p-CjsCOmNI.js';
|
|
5
5
|
import { d as defineCustomElement$8 } from './p-tidaK-hf.js';
|
|
6
6
|
import { d as defineCustomElement$7 } from './p-BTouLKKP.js';
|
|
7
|
-
import { d as defineCustomElement$6 } from './p-
|
|
7
|
+
import { d as defineCustomElement$6 } from './p-DT0m5qpo.js';
|
|
8
8
|
import { d as defineCustomElement$5 } from './p-BhVoEnfv.js';
|
|
9
9
|
import { d as defineCustomElement$4 } from './p-DQzSNn6d.js';
|
|
10
10
|
import { d as defineCustomElement$3 } from './p-CnwFBTLJ.js';
|
|
@@ -328,6 +328,6 @@ function defineCustomElement() {
|
|
|
328
328
|
defineCustomElement();
|
|
329
329
|
|
|
330
330
|
export { GbTextareaInputField as G, defineCustomElement as d };
|
|
331
|
-
//# sourceMappingURL=p-
|
|
331
|
+
//# sourceMappingURL=p-DY_80Vnz.js.map
|
|
332
332
|
|
|
333
|
-
//# sourceMappingURL=p-
|
|
333
|
+
//# sourceMappingURL=p-DY_80Vnz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-DXiN3a4D.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/gb-textarea-input-field/gb-textarea-input-field.css?tag=gb-textarea-input-field&encapsulation=shadow","src/components/gb-textarea-input-field/gb-textarea-input-field.tsx"],"sourcesContent":["@import '../../global/global.css';\r\n\r\n.textarea_container{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.input_with_label{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.textarea{\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n border-radius: var(--rounded-sm);\r\n padding: 0.75rem 0.875rem;\r\n font-family: var(--font-family-body);\r\n resize: none;\r\n min-height: 7.5rem;\r\n overflow: visible;\r\n background: transparent;\r\n color: var(--color-text);\r\n}\r\n\r\n.default_textarea:focus{\r\n border-color: #075DB2;\r\n outline: #075DB2;\r\n}\r\n\r\n.textarea::placeholder{\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.results_display {\r\n display: flex;\r\n flex-wrap: wrap;\r\n position: relative;\r\n gap: 0.5rem;\r\n width: 100%;\r\n background-color: var(--color-surface, #FFFFFF);\r\n}\r\n\r\n.results_display.disabled{\r\n background: var(--color-background-disabled, #F6F8FA);\r\n}\r\n\r\n.textarea_tags{\r\n --weight: fit-content;\r\n /* flex-direction: row-reverse; */\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n}\r\n\r\n.textarea.tags{\r\n display: flex;\r\n}\r\n\r\n.input_like,\r\n.results_display{\r\n height: fit-content;\r\n}\r\n\r\n.input_like{\r\n border: none;\r\n font-family: var(--font-family-body);\r\n}\r\n\r\n.input_like:focus{\r\n outline: none;\r\n}\r\n\r\n.input_like.disabled{\r\n background: var(--color-background-disabled, #F6F8FA);\r\n}\r\n\r\n.hidden-span {\r\n visibility: hidden;\r\n position: absolute;\r\n max-width: 100%;\r\n white-space: pre;\r\n}\r\n\r\n/* State Styles */\r\n.textarea:focus-within{\r\n border: 1.3px solid var(--color-border-selected, #075DB2);\r\n outline-color: transparent;\r\n}\r\n\r\n.textarea.destructive{\r\n border: 1px solid var(--color-border-danger, #B51726);\r\n}\r\n\r\n.textarea.disabled{\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n border: 1px solid var(--color-border-disabled, #E3E8EF);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.label {\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.hint_text{\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.error_text{\r\n color: var(--color-text-danger, #B51726);\r\n}\r\n\r\n.dropdown_menu{\r\n display: flex;\r\n min-width: 100%;\r\n width: fit-content;\r\n max-height: 15rem;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: stretch;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-surface, #FFFFFF);\r\n box-shadow: var(--shadow-sm);\r\n position: absolute;\r\n z-index: 99999;\r\n gap: var(--spacing-none);\r\n transition: 1s ease-in-out;\r\n overflow-y: auto;\r\n top: 105%;\r\n}","import { Component, Element, Prop, State, h, Fragment, Event, EventEmitter, Listen, Watch } from '@stencil/core';\r\nimport { StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-textarea-input-field',\r\n styleUrl: 'gb-textarea-input-field.css',\r\n shadow: true,\r\n})\r\nexport class GbTextareaInputField {\r\n @Prop() type: 'default' | 'tags';\r\n @Prop({ mutable: true }) state: 'default' | 'filled' | 'active' | 'disabled';\r\n @Prop() destructive: boolean = false;\r\n @Prop() placeholderText: string = '';\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @Prop() showHintText: boolean = false;\r\n @Prop() hintText: string = '';\r\n @Prop() errorText: string = '';\r\n @Prop({ reflect: true }) idOfInput!: string;\r\n @Prop({ reflect: true }) isReadOnly: boolean = false;\r\n @Prop({ mutable: true }) value: any[] = [\r\n // { objectName: 'John Doe', objectValue: 'john.doe@example.com' },\r\n // { objectName: 'Jane Smith', objectValue: 'jane.smith@example.com' },\r\n // { objectName: 'Alice Johnson', objectValue: 'alice.johnson@example.com' },\r\n // { objectName: 'Emmanuel Kadiri', objectValue: 'kadiri2047@gmail.com' },\r\n // { objectName: 'Gideon Ogunkola', objectValue: 'gideon@example.com' },\r\n ];\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop({ mutable: true }) results: any[] = [\r\n // { objectName: 'John Doe', objectValue: 'john.doe@example.com' },\r\n // { objectName: 'Jane Smith', objectValue: 'jane.smith@example.com' },\r\n // { objectName: 'Alice Johnson', objectValue: 'alice.johnson@example.com' },\r\n // { objectName: 'Emmanuel Kadiri', objectValue: 'kadiri2047@gmail.com' },\r\n // { objectName: 'Gideon Ogunkola', objectValue: 'gideon@example.com' },\r\n // 10,\r\n // 20,\r\n // 30,\r\n // 40,\r\n // 50,\r\n ];\r\n @Prop({ mutable: true}) inputValue: string = '';\r\n @Element() el: HTMLElement;\r\n @State() content: string = '';\r\n @State() selectedStaff: any[] = [];\r\n @State() paddingLeft: string = '1rem';\r\n @State() paddingTop: string = '0rem';\r\n @State() show: boolean = false;\r\n @State() staffInfo: any[] = [];\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @Event() textareaValueChanged: EventEmitter<any>;\r\n\r\n private textarea!: HTMLTextAreaElement;\r\n inputElement!: HTMLInputElement;\r\n resultsDisplayElement!: HTMLDivElement;\r\n private hiddenSpan: HTMLElement;\r\n private minWidth: number = 10;\r\n\r\n connectedCallback() {\r\n if (this.type === 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n this.inputElement?.addEventListener('input', this.handleTagInput.bind(this));\r\n } else {\r\n this.inputElement?.addEventListener('input', this.handleInput.bind(this));\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n this.updateInputWidth();\r\n }\r\n\r\n componentWillLoad() {\r\n this.updateSelectedItems(this.value);\r\n }\r\n\r\n disconnectedCallback() {\r\n if(this.type === 'tags') {\r\n this.inputElement?.removeEventListener('input', this.handleTagInput.bind(this));\r\n document.removeEventListener('click', this.handleClickOutside);\r\n } else {\r\n this.inputElement?.removeEventListener('input', this.handleInput.bind(this));\r\n }\r\n }\r\n\r\n handleInput() {\r\n this.textarea.style.height = 'auto'; // Reset height to calculate the new height\r\n this.textarea.style.height = `${this.textarea.scrollHeight - 22}px`; // Set the height to the scrollHeight\r\n this.textareaValueChanged.emit(this.textarea.value);\r\n }\r\n\r\n handleInputFocus() {\r\n if (this.destructive) {\r\n this.destructive = false;\r\n }\r\n }\r\n\r\n handleTagInput(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n this.inputValue = target.value; // Update the value\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n\r\n if (this.inputValue.trim() === '') {\r\n this.show = false;\r\n // this.results = [];\r\n return;\r\n }\r\n\r\n // Simulate API call\r\n setTimeout(() => {\r\n // this.results = this.mockStaffSearch(this.inputValue);\r\n this.show = this.results.length > 0;\r\n }, 1000);\r\n\r\n this.updateInputWidth();\r\n }\r\n\r\n emitInputValue() {\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n }\r\n\r\n handleTagRemove(index: number) {\r\n if (this.value.length > 0) {\r\n this.value = [...this.value.slice(0, index), ...this.value.slice(index + 1)];\r\n this.updateStyles();\r\n this.emitInputValue();\r\n } else {\r\n this.selectedItems = [...this.selectedItems.slice(0, index), ...this.selectedItems.slice(index + 1)];\r\n this.updateStyles();\r\n this.emitInputValue();\r\n }\r\n }\r\n\r\n updateStyles() {\r\n setTimeout(() => {\r\n if (this.resultsDisplayElement) {\r\n const resultsWidth = this.resultsDisplayElement.offsetWidth;\r\n const inputWidth = this.inputElement.offsetWidth;\r\n\r\n this.paddingLeft = this.selectedItems.length === 0 ? '1rem' : `${resultsWidth + 10}px`;\r\n\r\n this.paddingTop = this.selectedItems.length > 2 ? '1rem' : `${inputWidth + 10}px`;\r\n }\r\n });\r\n\r\n if (this.destructive) {\r\n this.destructive = false;\r\n }\r\n this.inputValue = '';\r\n }\r\n\r\n mockStaffSearch(query: string) {\r\n const mockData = this.results;\r\n\r\n return mockData.filter(staff => staff.objectName.toLowerCase().includes(query.toLowerCase()));\r\n }\r\n\r\n selectStaff(staff: any) {\r\n this.selectedStaff = [...this.selectedStaff, staff];\r\n this.inputValue = '';\r\n this.staffInfo = [];\r\n this.updateStyles();\r\n }\r\n\r\n updateInputWidth() {\r\n if (this.hiddenSpan) {\r\n const input = this.el.shadowRoot.querySelector('input') as HTMLInputElement;\r\n\r\n // Update input width based on span's width or use minimum width\r\n const calculatedWidth = Math.max(this.hiddenSpan.offsetWidth + 10, this.minWidth);\r\n input.style.width = `${calculatedWidth}px`;\r\n }\r\n }\r\n\r\n handleWrapperClick() {\r\n this.inputElement.focus(); // Focus the input field\r\n }\r\n\r\n selectDropdownItem(item: any) {\r\n if (this.value.length === 0) {\r\n const isObject = typeof item === 'object';\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n if (isSelected) {\r\n // Unselect item: Move it from selectedItems to unselectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n if (!this.unselectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n this.textareaValueChanged.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.objectName !== item.objectName : i !== item));\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n }\r\n } else {\r\n const isObject = typeof item === 'object';\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n\r\n if (isSelected) {\r\n this.value = this.value.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n this.textareaValueChanged.emit(this.value);\r\n } else {\r\n this.value = [...this.value, item]; // Add item to array\r\n this.textareaValueChanged.emit(this.value);\r\n }\r\n }\r\n\r\n this.updateStyles();\r\n }\r\n\r\n @Watch('value')\r\n updateSelectedItems(newValue: any[]) {\r\n if (Array.isArray(newValue) && newValue.length > 0) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [];\r\n\r\n const objectValues = newValue.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = newValue.filter(val => typeof val !== 'object');\r\n\r\n this.selectedItems = this.results.filter(item =>\r\n typeof item === 'object' && item !== null\r\n ? objectValues.some(val => JSON.stringify(val) === JSON.stringify(item)) // Avoid object reference issues\r\n : primitiveValues.includes(item),\r\n );\r\n\r\n this.unselectedItems = this.results.filter(item =>\r\n typeof item === 'object' && item !== null ? !objectValues.some(val => JSON.stringify(val) === JSON.stringify(item)) : !primitiveValues.includes(item),\r\n );\r\n } else {\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.results];\r\n }\r\n }\r\n\r\n isTagItemSelected(item) {\r\n // return this.selectedStaff.some(i => i.name === item.name);\r\n\r\n const isObject = typeof item === 'object';\r\n return this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.show && !this.el.contains(event.target as Node)) {\r\n this.show = false;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"textarea_container\">\r\n <div class=\"input_with_label\">\r\n {this.showLabel && <p class={`label text-sm-medium`}>{this.label}</p>}\r\n {this.type === 'default' && (\r\n <textarea\r\n ref={el => (this.textarea = el as HTMLTextAreaElement)}\r\n onInput={() => this.handleInput()}\r\n onFocus={() => this.handleInputFocus()}\r\n class={`textarea default_textarea ${this.state} ${this.destructive ? 'destructive' : ''}`}\r\n placeholder={this.placeholderText}\r\n value={this.inputValue}\r\n ></textarea>\r\n )}\r\n {this.type === 'tags' && (\r\n <div class=\"textarea_tags\">\r\n <div class={`textarea ${this.type} ${this.state} ${this.destructive ? 'destructive' : ''}`} onClick={() => this.handleWrapperClick()}>\r\n <div class={`results_display ${this.state === 'disabled' ? 'disabled' : ''}`} ref={el => (this.resultsDisplayElement = el as HTMLDivElement)}>\r\n {this.value.length === 0 ? (\r\n <>\r\n {this.selectedItems.map((item, index) => (\r\n <>\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(index)}>\r\n <p class=\"text-xs-medium\">{item.objectName.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.objectName\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(index)}>\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 {this.value.map((val, index) => (\r\n <>\r\n {typeof val === 'object' ? (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)} key={index}>\r\n <h1 class=\"text-xxs-semi-bold\" slot=\"initials\">\r\n {val.objectName.split(' ').map(part => part.charAt(0).toUpperCase())}\r\n </h1>\r\n <p>{val.objectName.split(' ')[0]}</p>\r\n </gb-tag>\r\n ) : (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)} key={index}>\r\n <p>{val}</p>\r\n </gb-tag>\r\n )}\r\n </>\r\n ))}\r\n </>\r\n )}\r\n <span class=\"hidden-span\" ref={el => (this.hiddenSpan = el as HTMLElement)}>\r\n {this.inputValue || ' '}\r\n </span>\r\n <div class=\"input_field\">\r\n <input\r\n id={this.idOfInput}\r\n class={`input_like text-md-regular ${this.state}`}\r\n type=\"text\"\r\n // placeholder={this.placeholderText}\r\n value={this.inputValue}\r\n readOnly={this.isReadOnly}\r\n ref={el => (this.inputElement = el as HTMLInputElement)}\r\n onBlur={() => this.emitInputValue()}\r\n />\r\n </div>\r\n </div>\r\n {this.destructive && (\r\n <div class=\"help_icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.9947 10H8.00069M8.00004 8.00004V5.33337M14.6667 8.00004C14.6667 11.6819 11.6819 14.6667 8.00004 14.6667C4.31814 14.6667 1.33337 11.6819 1.33337 8.00004C1.33337 4.31814 4.31814 1.33337 8.00004 1.33337C11.6819 1.33337 14.6667 4.31814 14.6667 8.00004Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n </div>\r\n {this.show && (\r\n <div class={`dropdown_menu`}>\r\n {this.results.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type=\"checkbox\"\r\n supporting-text={true}\r\n state={StateEnum.Default}\r\n onClick={() => this.selectDropdownItem(item)}\r\n selected={this.isTagItemSelected(item)}\r\n >\r\n {typeof item === 'object'\r\n ? [<p slot=\"name\">{item.objectName}</p>, <p slot=\"supporting_text\">{item.objectValue}</p>]\r\n : typeof item !== 'object' && <p slot=\"name\">{item}</p>}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </div>\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"],"version":3}
|
|
1
|
+
{"file":"p-DY_80Vnz.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/gb-textarea-input-field/gb-textarea-input-field.css?tag=gb-textarea-input-field&encapsulation=shadow","src/components/gb-textarea-input-field/gb-textarea-input-field.tsx"],"sourcesContent":["@import '../../global/global.css';\r\n\r\n.textarea_container{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.input_with_label{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.textarea{\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n border-radius: var(--rounded-sm);\r\n padding: 0.75rem 0.875rem;\r\n font-family: var(--font-family-body);\r\n resize: none;\r\n min-height: 7.5rem;\r\n overflow: visible;\r\n background: transparent;\r\n color: var(--color-text);\r\n}\r\n\r\n.default_textarea:focus{\r\n border-color: #075DB2;\r\n outline: #075DB2;\r\n}\r\n\r\n.textarea::placeholder{\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.results_display {\r\n display: flex;\r\n flex-wrap: wrap;\r\n position: relative;\r\n gap: 0.5rem;\r\n width: 100%;\r\n background-color: var(--color-surface, #FFFFFF);\r\n}\r\n\r\n.results_display.disabled{\r\n background: var(--color-background-disabled, #F6F8FA);\r\n}\r\n\r\n.textarea_tags{\r\n --weight: fit-content;\r\n /* flex-direction: row-reverse; */\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n}\r\n\r\n.textarea.tags{\r\n display: flex;\r\n}\r\n\r\n.input_like,\r\n.results_display{\r\n height: fit-content;\r\n}\r\n\r\n.input_like{\r\n border: none;\r\n font-family: var(--font-family-body);\r\n}\r\n\r\n.input_like:focus{\r\n outline: none;\r\n}\r\n\r\n.input_like.disabled{\r\n background: var(--color-background-disabled, #F6F8FA);\r\n}\r\n\r\n.hidden-span {\r\n visibility: hidden;\r\n position: absolute;\r\n max-width: 100%;\r\n white-space: pre;\r\n}\r\n\r\n/* State Styles */\r\n.textarea:focus-within{\r\n border: 1.3px solid var(--color-border-selected, #075DB2);\r\n outline-color: transparent;\r\n}\r\n\r\n.textarea.destructive{\r\n border: 1px solid var(--color-border-danger, #B51726);\r\n}\r\n\r\n.textarea.disabled{\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n border: 1px solid var(--color-border-disabled, #E3E8EF);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.label {\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.hint_text{\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.error_text{\r\n color: var(--color-text-danger, #B51726);\r\n}\r\n\r\n.dropdown_menu{\r\n display: flex;\r\n min-width: 100%;\r\n width: fit-content;\r\n max-height: 15rem;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: stretch;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-surface, #FFFFFF);\r\n box-shadow: var(--shadow-sm);\r\n position: absolute;\r\n z-index: 99999;\r\n gap: var(--spacing-none);\r\n transition: 1s ease-in-out;\r\n overflow-y: auto;\r\n top: 105%;\r\n}","import { Component, Element, Prop, State, h, Fragment, Event, EventEmitter, Listen, Watch } from '@stencil/core';\r\nimport { StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-textarea-input-field',\r\n styleUrl: 'gb-textarea-input-field.css',\r\n shadow: true,\r\n})\r\nexport class GbTextareaInputField {\r\n @Prop() type: 'default' | 'tags';\r\n @Prop({ mutable: true }) state: 'default' | 'filled' | 'active' | 'disabled';\r\n @Prop() destructive: boolean = false;\r\n @Prop() placeholderText: string = '';\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @Prop() showHintText: boolean = false;\r\n @Prop() hintText: string = '';\r\n @Prop() errorText: string = '';\r\n @Prop({ reflect: true }) idOfInput!: string;\r\n @Prop({ reflect: true }) isReadOnly: boolean = false;\r\n @Prop({ mutable: true }) value: any[] = [\r\n // { objectName: 'John Doe', objectValue: 'john.doe@example.com' },\r\n // { objectName: 'Jane Smith', objectValue: 'jane.smith@example.com' },\r\n // { objectName: 'Alice Johnson', objectValue: 'alice.johnson@example.com' },\r\n // { objectName: 'Emmanuel Kadiri', objectValue: 'kadiri2047@gmail.com' },\r\n // { objectName: 'Gideon Ogunkola', objectValue: 'gideon@example.com' },\r\n ];\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop({ mutable: true }) results: any[] = [\r\n // { objectName: 'John Doe', objectValue: 'john.doe@example.com' },\r\n // { objectName: 'Jane Smith', objectValue: 'jane.smith@example.com' },\r\n // { objectName: 'Alice Johnson', objectValue: 'alice.johnson@example.com' },\r\n // { objectName: 'Emmanuel Kadiri', objectValue: 'kadiri2047@gmail.com' },\r\n // { objectName: 'Gideon Ogunkola', objectValue: 'gideon@example.com' },\r\n // 10,\r\n // 20,\r\n // 30,\r\n // 40,\r\n // 50,\r\n ];\r\n @Prop({ mutable: true}) inputValue: string = '';\r\n @Element() el: HTMLElement;\r\n @State() content: string = '';\r\n @State() selectedStaff: any[] = [];\r\n @State() paddingLeft: string = '1rem';\r\n @State() paddingTop: string = '0rem';\r\n @State() show: boolean = false;\r\n @State() staffInfo: any[] = [];\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @Event() textareaValueChanged: EventEmitter<any>;\r\n\r\n private textarea!: HTMLTextAreaElement;\r\n inputElement!: HTMLInputElement;\r\n resultsDisplayElement!: HTMLDivElement;\r\n private hiddenSpan: HTMLElement;\r\n private minWidth: number = 10;\r\n\r\n connectedCallback() {\r\n if (this.type === 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n this.inputElement?.addEventListener('input', this.handleTagInput.bind(this));\r\n } else {\r\n this.inputElement?.addEventListener('input', this.handleInput.bind(this));\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n this.updateInputWidth();\r\n }\r\n\r\n componentWillLoad() {\r\n this.updateSelectedItems(this.value);\r\n }\r\n\r\n disconnectedCallback() {\r\n if(this.type === 'tags') {\r\n this.inputElement?.removeEventListener('input', this.handleTagInput.bind(this));\r\n document.removeEventListener('click', this.handleClickOutside);\r\n } else {\r\n this.inputElement?.removeEventListener('input', this.handleInput.bind(this));\r\n }\r\n }\r\n\r\n handleInput() {\r\n this.textarea.style.height = 'auto'; // Reset height to calculate the new height\r\n this.textarea.style.height = `${this.textarea.scrollHeight - 22}px`; // Set the height to the scrollHeight\r\n this.textareaValueChanged.emit(this.textarea.value);\r\n }\r\n\r\n handleInputFocus() {\r\n if (this.destructive) {\r\n this.destructive = false;\r\n }\r\n }\r\n\r\n handleTagInput(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n this.inputValue = target.value; // Update the value\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n\r\n if (this.inputValue.trim() === '') {\r\n this.show = false;\r\n // this.results = [];\r\n return;\r\n }\r\n\r\n // Simulate API call\r\n setTimeout(() => {\r\n // this.results = this.mockStaffSearch(this.inputValue);\r\n this.show = this.results.length > 0;\r\n }, 1000);\r\n\r\n this.updateInputWidth();\r\n }\r\n\r\n emitInputValue() {\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n }\r\n\r\n handleTagRemove(index: number) {\r\n if (this.value.length > 0) {\r\n this.value = [...this.value.slice(0, index), ...this.value.slice(index + 1)];\r\n this.updateStyles();\r\n this.emitInputValue();\r\n } else {\r\n this.selectedItems = [...this.selectedItems.slice(0, index), ...this.selectedItems.slice(index + 1)];\r\n this.updateStyles();\r\n this.emitInputValue();\r\n }\r\n }\r\n\r\n updateStyles() {\r\n setTimeout(() => {\r\n if (this.resultsDisplayElement) {\r\n const resultsWidth = this.resultsDisplayElement.offsetWidth;\r\n const inputWidth = this.inputElement.offsetWidth;\r\n\r\n this.paddingLeft = this.selectedItems.length === 0 ? '1rem' : `${resultsWidth + 10}px`;\r\n\r\n this.paddingTop = this.selectedItems.length > 2 ? '1rem' : `${inputWidth + 10}px`;\r\n }\r\n });\r\n\r\n if (this.destructive) {\r\n this.destructive = false;\r\n }\r\n this.inputValue = '';\r\n }\r\n\r\n mockStaffSearch(query: string) {\r\n const mockData = this.results;\r\n\r\n return mockData.filter(staff => staff.objectName.toLowerCase().includes(query.toLowerCase()));\r\n }\r\n\r\n selectStaff(staff: any) {\r\n this.selectedStaff = [...this.selectedStaff, staff];\r\n this.inputValue = '';\r\n this.staffInfo = [];\r\n this.updateStyles();\r\n }\r\n\r\n updateInputWidth() {\r\n if (this.hiddenSpan) {\r\n const input = this.el.shadowRoot.querySelector('input') as HTMLInputElement;\r\n\r\n // Update input width based on span's width or use minimum width\r\n const calculatedWidth = Math.max(this.hiddenSpan.offsetWidth + 10, this.minWidth);\r\n input.style.width = `${calculatedWidth}px`;\r\n }\r\n }\r\n\r\n handleWrapperClick() {\r\n this.inputElement.focus(); // Focus the input field\r\n }\r\n\r\n selectDropdownItem(item: any) {\r\n if (this.value.length === 0) {\r\n const isObject = typeof item === 'object';\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n if (isSelected) {\r\n // Unselect item: Move it from selectedItems to unselectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n if (!this.unselectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n this.textareaValueChanged.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.objectName !== item.objectName : i !== item));\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n }\r\n } else {\r\n const isObject = typeof item === 'object';\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n\r\n if (isSelected) {\r\n this.value = this.value.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n this.textareaValueChanged.emit(this.value);\r\n } else {\r\n this.value = [...this.value, item]; // Add item to array\r\n this.textareaValueChanged.emit(this.value);\r\n }\r\n }\r\n\r\n this.updateStyles();\r\n }\r\n\r\n @Watch('value')\r\n updateSelectedItems(newValue: any[]) {\r\n if (Array.isArray(newValue) && newValue.length > 0) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [];\r\n\r\n const objectValues = newValue.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = newValue.filter(val => typeof val !== 'object');\r\n\r\n this.selectedItems = this.results.filter(item =>\r\n typeof item === 'object' && item !== null\r\n ? objectValues.some(val => JSON.stringify(val) === JSON.stringify(item)) // Avoid object reference issues\r\n : primitiveValues.includes(item),\r\n );\r\n\r\n this.unselectedItems = this.results.filter(item =>\r\n typeof item === 'object' && item !== null ? !objectValues.some(val => JSON.stringify(val) === JSON.stringify(item)) : !primitiveValues.includes(item),\r\n );\r\n } else {\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.results];\r\n }\r\n }\r\n\r\n isTagItemSelected(item) {\r\n // return this.selectedStaff.some(i => i.name === item.name);\r\n\r\n const isObject = typeof item === 'object';\r\n return this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.show && !this.el.contains(event.target as Node)) {\r\n this.show = false;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"textarea_container\">\r\n <div class=\"input_with_label\">\r\n {this.showLabel && <p class={`label text-sm-medium`}>{this.label}</p>}\r\n {this.type === 'default' && (\r\n <textarea\r\n ref={el => (this.textarea = el as HTMLTextAreaElement)}\r\n onInput={() => this.handleInput()}\r\n onFocus={() => this.handleInputFocus()}\r\n class={`textarea default_textarea ${this.state} ${this.destructive ? 'destructive' : ''}`}\r\n placeholder={this.placeholderText}\r\n value={this.inputValue}\r\n ></textarea>\r\n )}\r\n {this.type === 'tags' && (\r\n <div class=\"textarea_tags\">\r\n <div class={`textarea ${this.type} ${this.state} ${this.destructive ? 'destructive' : ''}`} onClick={() => this.handleWrapperClick()}>\r\n <div class={`results_display ${this.state === 'disabled' ? 'disabled' : ''}`} ref={el => (this.resultsDisplayElement = el as HTMLDivElement)}>\r\n {this.value.length === 0 ? (\r\n <>\r\n {this.selectedItems.map((item, index) => (\r\n <>\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(index)}>\r\n <p class=\"text-xs-medium\">{item.objectName.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.objectName\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(index)}>\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 {this.value.map((val, index) => (\r\n <>\r\n {typeof val === 'object' ? (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)} key={index}>\r\n <h1 class=\"text-xxs-semi-bold\" slot=\"initials\">\r\n {val.objectName.split(' ').map(part => part.charAt(0).toUpperCase())}\r\n </h1>\r\n <p>{val.objectName.split(' ')[0]}</p>\r\n </gb-tag>\r\n ) : (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)} key={index}>\r\n <p>{val}</p>\r\n </gb-tag>\r\n )}\r\n </>\r\n ))}\r\n </>\r\n )}\r\n <span class=\"hidden-span\" ref={el => (this.hiddenSpan = el as HTMLElement)}>\r\n {this.inputValue || ' '}\r\n </span>\r\n <div class=\"input_field\">\r\n <input\r\n id={this.idOfInput}\r\n class={`input_like text-md-regular ${this.state}`}\r\n type=\"text\"\r\n // placeholder={this.placeholderText}\r\n value={this.inputValue}\r\n readOnly={this.isReadOnly}\r\n ref={el => (this.inputElement = el as HTMLInputElement)}\r\n onBlur={() => this.emitInputValue()}\r\n />\r\n </div>\r\n </div>\r\n {this.destructive && (\r\n <div class=\"help_icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.9947 10H8.00069M8.00004 8.00004V5.33337M14.6667 8.00004C14.6667 11.6819 11.6819 14.6667 8.00004 14.6667C4.31814 14.6667 1.33337 11.6819 1.33337 8.00004C1.33337 4.31814 4.31814 1.33337 8.00004 1.33337C11.6819 1.33337 14.6667 4.31814 14.6667 8.00004Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n </div>\r\n {this.show && (\r\n <div class={`dropdown_menu`}>\r\n {this.results.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type=\"checkbox\"\r\n supporting-text={true}\r\n state={StateEnum.Default}\r\n onClick={() => this.selectDropdownItem(item)}\r\n selected={this.isTagItemSelected(item)}\r\n >\r\n {typeof item === 'object'\r\n ? [<p slot=\"name\">{item.objectName}</p>, <p slot=\"supporting_text\">{item.objectValue}</p>]\r\n : typeof item !== 'object' && <p slot=\"name\">{item}</p>}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </div>\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"],"version":3}
|