globuswebcomponents 1.1.4 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{gb-avatar_21.cjs.entry.js → gb-avatar_25.cjs.entry.js} +217 -8
- package/dist/cjs/gb-avatar_25.cjs.entry.js.map +1 -0
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/gb-pagination/gb-pagination.js +4 -7
- package/dist/collection/components/gb-pagination/gb-pagination.js.map +1 -1
- package/dist/components/gb-pagination.js +4 -7
- package/dist/components/gb-pagination.js.map +1 -1
- package/dist/docs.json +1 -1
- package/dist/esm/{gb-avatar_21.entry.js → gb-avatar_25.entry.js} +214 -9
- package/dist/esm/gb-avatar_25.entry.js.map +1 -0
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/globuscomponents.esm.js.map +1 -1
- package/dist/globuscomponents/{p-ef8745af.entry.js → p-e0671268.entry.js} +2 -2
- package/dist/globuscomponents/p-e0671268.entry.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/gb-avatar_21.cjs.entry.js.map +0 -1
- package/dist/cjs/gb-badge_2.cjs.entry.js +0 -111
- package/dist/cjs/gb-badge_2.cjs.entry.js.map +0 -1
- package/dist/cjs/gb-horizontal-tabs.cjs.entry.js +0 -51
- package/dist/cjs/gb-horizontal-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/gb-tab-button-base.cjs.entry.js +0 -74
- package/dist/cjs/gb-tab-button-base.cjs.entry.js.map +0 -1
- package/dist/esm/gb-avatar_21.entry.js.map +0 -1
- package/dist/esm/gb-badge_2.entry.js +0 -106
- package/dist/esm/gb-badge_2.entry.js.map +0 -1
- package/dist/esm/gb-horizontal-tabs.entry.js +0 -47
- package/dist/esm/gb-horizontal-tabs.entry.js.map +0 -1
- package/dist/esm/gb-tab-button-base.entry.js +0 -70
- package/dist/esm/gb-tab-button-base.entry.js.map +0 -1
- package/dist/globuscomponents/p-20910b83.entry.js +0 -2
- package/dist/globuscomponents/p-20910b83.entry.js.map +0 -1
- package/dist/globuscomponents/p-562c5b8a.entry.js +0 -2
- package/dist/globuscomponents/p-562c5b8a.entry.js.map +0 -1
- package/dist/globuscomponents/p-5e99f2ef.entry.js +0 -2
- package/dist/globuscomponents/p-5e99f2ef.entry.js.map +0 -1
- package/dist/globuscomponents/p-ef8745af.entry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["gbAvatarCss","GbAvatarStyle0","GbAvatar","this","colorClasses","OnlineIndicatorStates","Online","BorderWeights","Light","getInitialsSize","size","setWeight","showBorder","Regular","VeryLight","applyColorToInitials","color","getRandomColorClass","randomIndex","Math","floor","random","length","componentDidLoad","slottedInitials","el","querySelector","classList","add","assignedColorClass","componentWillLoad","toLowerCase","render","classes","h","key","class","weight","text","name","placeholder","icon","xmlns","width","height","viewBox","fill","d","statusIcon","state","gbAvatarContrastInnerBorderCss","GbAvatarContrastInnerBorderStyle0","GbAvatarContrastInnerBorder","Heavy","gbBadgeCss","GbBadgeStyle0","GbBadges","getDotColor","colorMap","gray","primary","error","warning","success","discovery","information","pink","purple","type","iconLeadingSwap","iconLeadingSrc","getAssetPath","leadingIconContent","fetchSvgContent","iconTrailingSwap","iconTrailingSrc","trailingIconContent","src","response","fetch","ok","console","getTextClass","slottedContent","badge","flagSwap","dotColor","cx","cy","r","innerHTML","alt","slot","id","stroke","closeButton","gbBadgeCloseCss","GbBadgeCloseStyle0","BadgeClose","gbBtnCss","GbBtnStyle0","GbButton","iconLeading","loadIcon","iconTrailing","buttonSlot","getButtonTextClasses","iconName","iconPath","svg","leadingIconSvg","trailingIconSvg","getButtonClasses","button","hierarchy","destructive","disabled","default","only","renderLeadingIcon","renderTrailingIcon","gbButtonCss","GbButtonStyle0","oneicon","gbCheckboxCss","GbCheckboxStyle0","GbCheckbox","getMainTextClass","getSupportingTextClass","mainTextSlot","supportingTextSlot","supportingText","checked","indeterminate","gbCheckboxBaseCss","GbCheckboxBaseStyle0","GbCheckboxBase","renderSVG","renderCheckbox","renderCircle","renderRadio","StateEnum","Default","Disabled","x","y","rx","toggleCheckboxState","checkboxClicked","emit","toggleCheckCircleState","toggleRadioButtonState","onClick","gbHelpTooltipCss","GbHelpTooltipStyle0","GbHelpTooltip","onMouseEnter","showHelpTooltip","onMouseLeave","arrow","showSupportingText","gbHorizontalTabsCss","GbHorizontalTabsStyle0","GbHorizontalTabs","handleTabClick","index","activeIndex","tabItemClicked","fullWidth","current","firstTabName","alignment","secondTabName","thirdTabName","fourthTabName","fifthTabName","sixthTabName","seventhTabName","eighthTabName","ninthTabName","tenthTabName","eleventhTabName","twelfthTabName","thirteenthTabName","fourteenthTabName","fifteenthTabName","sixteenthTabName","seventeenthTabName","eighteenthTabName","nineteenthTabName","twentiethTabName","gbInputDropdownCss","GbInputDropdownStyle0","GbInputDropdown","searchItems","event","searchItem","detail","searchResults","items","filter","item","includes","toString","disconnectedCallback","document","removeEventListener","handleClickOutside","dropdownOpen","contains","target","toggleDropdown","stopPropagation","isItemSelected","isObject","value","selectedItems","some","i","getAvatarSize","sortDropdownItems","menuItems","sort","a","b","selected","handleItemSelect","selectMultipleItems","log","singleItemSelect","selectedItem","dropdownItemSelected","isSelected","unselectedItems","handleTagRemove","componentWillRender","leadingIcon","objectValues","val","primitiveValues","addEventListener","emptyStateBackground","illustration","showLabel","style","label","charAt","toUpperCase","slice","e","Fragment","map","split","part","showLeadingIcon","action","join","_a","username","showHelpIcon","menuPosition","ref","dropdownRef","showSearchInput","inputValue","labelText","idOfInput","onInputValueChanged","bind","showHintText","hintText","errorText","gbInputDropdownMenuItemCss","GbInputDropdownMenuItemStyle0","GbInputDropdownMenuItem","nameSlot","initialsSlot","handleClick","dropdownItemClicked","checkbox","role","gbInputFieldCss","GbInputFieldStyle0","GbInputField","minWidth","copyToClipboard","inputRef","select","execCommand","navigator","clipboard","writeText","handleTagInput","inputValueChanged","trim","showDropdown","showSpinner","setTimeout","results","updateInputWidth","selectDropdownItem","objectName","updateStyles","resultsDisplayElement","resultsWidth","offsetWidth","inputWidth","inputElement","paddingLeft","paddingTop","exportSelectedStaff","handleInput","showCloseButton","clearInput","togglePasswordVisibility","isPasswordVisible","optionsChanged","newOptions","option","isTagItemSelected","updateSelectedItems","newValue","Array","isArray","JSON","stringify","options","iconSwap","textSlot","hiddenSpan","input","shadowRoot","calculatedWidth","max","handleWrapperClick","focus","onInput","showValidation","showCountryIcon","inputGroupElement","readOnly","isReadOnly","onBlur","show","objectValue","gbPaginationCss","GbPaginationStyle0","GbPagination","onPreviousButtonClicked","currentPage","totalPages","pageItemSelected","pageSize","selectedPageSize","pageNumber","onNextButtonClicked","defaultSelected","handlePageSizeSelect","setCurrentPage","number","breakpoint","shape","entries","onDropdownItemSelected","gbPaginationButtonGroupBaseCss","GbPaginationButtonGroupBaseStyle0","GbPaginationButtonGroupBase","iconSrc","gbPaginationNumberBaseCss","GbPaginationNumberBaseStyle0","GbPaginationNumberBase","gbPasswordButtonCss","GbPasswordButtonStyle0","GbPasswordButton","gbStatusIndicatorCss","GbStatusIndicatorStyle0","GbStatusIndicator","Offline","indicatorStateClass","gbTabButtonBaseCss","GbTabButtonBaseStyle0","GbTabButtonBase","getTextClasses","getCurrentTextClasses","getCountTextClasses","tabCount","tabClicked","tabName","gbTagCss","GbTagStyle0","GbTag","onTagClose","onCheckboxClicked","labelSlot","gbTagCheckboxCss","GbTagCheckboxStyle0","GbTagCheckbox","gbTagCloseCss","GbTagCloseStyle0","GbTagClose","gbTagCountCss","GbTagCountStyle0","GbTagCount","gbTextareaInputFieldCss","GbTextareaInputFieldStyle0","GbTextareaInputField","textarea","scrollHeight","textareaValueChanged","emitInputValue","mockStaffSearch","query","mockData","staff","selectStaff","selectedStaff","staffInfo","placeholderText","gbTooltipCss","GbTooltipStyle0","GbTooltip","getArrowClass","showArrow"],"sources":["src/components/gb-avatar/gb-avatar.css?tag=gb-avatar&encapsulation=shadow","src/components/gb-avatar/gb-avatar.tsx","src/components/gb-avatar-contrast-inner-border/gb-avatar-contrast-inner-border.css?tag=gb-avatar-contrast-inner-border&encapsulation=shadow","src/components/gb-avatar-contrast-inner-border/gb-avatar-contrast-inner-border.tsx","src/components/gb-badge/gb-badge.css?tag=gb-badge&encapsulation=shadow","src/components/gb-badge/gb-badge.tsx","src/components/gb-badge-close/gb-badge-close.css?tag=gb-badge-close&encapsulation=shadow","src/components/gb-badge-close/gb-badge-close.tsx","src/components/gb-btn/gb-btn.css?tag=gb-btn","src/components/gb-btn/gb-btn.tsx","src/components/gb-button/gb-button.css?tag=gb-button&encapsulation=shadow","src/components/gb-button/gb-button.tsx","src/components/gb-checkbox/gb-checkbox.css?tag=gb-checkbox&encapsulation=shadow","src/components/gb-checkbox/gb-checkbox.tsx","src/components/gb-checkbox-base/gb-checkbox-base.css?tag=gb-checkbox-base&encapsulation=shadow","src/components/gb-checkbox-base/gb-checkbox-base.tsx","src/components/gb-help-tooltip/gb-help-tooltip.css?tag=gb-help-tooltip&encapsulation=shadow","src/components/gb-help-tooltip/gb-help-tooltip.tsx","src/components/gb-horizontal-tabs/gb-horizontal-tabs.css?tag=gb-horizontal-tabs&encapsulation=shadow","src/components/gb-horizontal-tabs/gb-horizontal-tabs.tsx","src/components/gb-input-dropdown/gb-input-dropdown.css?tag=gb-input-dropdown&encapsulation=shadow","src/components/gb-input-dropdown/gb-input-dropdown.tsx","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","src/components/gb-input-field/gb-input-field.css?tag=gb-input-field&encapsulation=shadow","src/components/gb-input-field/gb-input-field.tsx","src/components/gb-pagination/gb-pagination.css?tag=gb-pagination&encapsulation=shadow","src/components/gb-pagination/gb-pagination.tsx","src/components/gb-pagination-button-group-base/gb-pagination-button-group-base.css?tag=gb-pagination-button-group-base&encapsulation=shadow","src/components/gb-pagination-button-group-base/gb-pagination-button-group-base.tsx","src/components/gb-pagination-number-base/gb-pagination-number-base.css?tag=gb-pagination-number-base&encapsulation=shadow","src/components/gb-pagination-number-base/gb-pagination-number-base.tsx","src/components/gb-password-button/gb-password-button.css?tag=gb-password-button&encapsulation=shadow","src/components/gb-password-button/gb-password-button.tsx","src/components/gb-status-indicator/gb-status-indicator.css?tag=gb-status-indicator&encapsulation=shadow","src/components/gb-status-indicator/gb-status-indicator.tsx","src/components/gb-tab-button-base/gb-tab-button-base.css?tag=gb-tab-button-base&encapsulation=shadow","src/components/gb-tab-button-base/gb-tab-button-base.tsx","src/components/gb-tag/gb-tag.css?tag=gb-tag&encapsulation=shadow","src/components/gb-tag/gb-tag.tsx","src/components/gb-tag-checkbox/gb-tag-checkbox.css?tag=gb-tag-checkbox&encapsulation=shadow","src/components/gb-tag-checkbox/gb-tag-checkbox.tsx","src/components/gb-tag-close/gb-tag-close.css?tag=gb-tag-close&encapsulation=shadow","src/components/gb-tag-close/gb-tag-close.tsx","src/components/gb-tag-count/gb-tag-count.css?tag=gb-tag-count&encapsulation=shadow","src/components/gb-tag-count/gb-tag-count.tsx","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","src/components/gb-tooltip/gb-tooltip.css?tag=gb-tooltip&encapsulation=shadow","src/components/gb-tooltip/gb-tooltip.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n:host{\r\n width: fit-content;\r\n}\r\n\r\n.avatar{\r\n position: relative;\r\n width: fit-content;\r\n border-radius: var(--rounded-full);\r\n cursor: pointer;\r\n}\r\n\r\n.inner_content.xxs{\r\n width: 1.125rem;\r\n height: 1.125rem;\r\n}\r\n\r\n.inner_content.xs{\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n}\r\n\r\n.inner_content.sm{\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.inner_content.md{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\n.inner_content.lg{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\n.inner_content.xl{\r\n width: 3.5rem;\r\n height: 3.5rem;\r\n}\r\n\r\n.inner_content.xl2{\r\n width: 4rem;\r\n height: 4rem;\r\n}\r\n\r\n.inner_content.profile_sm{\r\n width: 4.5rem;\r\n height: 4.5rem;\r\n}\r\n\r\n.inner_content.profile_md{\r\n width: 6rem;\r\n height: 6rem;\r\n}\r\n\r\n.inner_content.profile_lg{\r\n width: 10rem;\r\n height: 10rem;\r\n}\r\n\r\n::slotted(img){\r\n width: 100%;\r\n height: 100%;\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.placeholder,\r\n.initials{\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.indicator{\r\n position: absolute;\r\n bottom: -0.1rem;\r\n right: -0.03rem;\r\n}\r\n\r\n/* Size Styles */\r\n.user_avatar.xxs{\r\n width: 0.75rem;\r\n height: 0.75rem;\r\n}\r\n\r\n.user_avatar.xs{\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n}\r\n\r\n.user_avatar.sm{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n.user_avatar.md{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\n.user_avatar.lg{\r\n width: 1.75rem;\r\n height: 1.75rem;\r\n}\r\n\r\n.user_avatar.xl{\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.user_avatar.xl2{\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.user_avatar.profile_sm{\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\n.user_avatar.profile_md{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\n.user_avatar.profile_lg{\r\n width: 5rem;\r\n height: 5rem;\r\n}\r\n\r\n/* Avatar Color Styles */\r\n.initials.gray,\r\n.placeholder.gray{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.initials.gray:hover,\r\n.placeholder.gray:hover{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\n.initials.gray:active,\r\n.placeholder.gray:active{\r\n background-color: var(--color-background-gray-subtlest, #F6F8FA);\r\n}\r\n\r\n.initials.blue,\r\n.placeholder.blue{\r\n background-color: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\n.initials.blue:hover,\r\n.placeholder.blue:hover{\r\n background-color: var(--color-background-information-subtle, #9AC7F4);\r\n}\r\n\r\n.initials.blue:active,\r\n.placeholder.blue:active{\r\n background-color: var(--color-background-information-subtlest, #E4F0FC);\r\n}\r\n\r\n.initials.cyan,\r\n.placeholder.cyan{\r\n background-color: var(--color-background-discovery-subtler, #E0F2FE);\r\n}\r\n\r\n.initials.cyan:hover,\r\n.placeholder.cyan:hover{\r\n background-color: var(--color-background-discovery-subtle, #B9E6FE);\r\n}\r\n\r\n.initials.cyan:active,\r\n.placeholder.cyan:active{\r\n background-color: var(--color-background-discovery-subtlest, #F0F9FF);\r\n}\r\n\r\n.initials.pink,\r\n.placeholder.pink{\r\n background-color: var(--color-background-pink-subtler, #FCE7F6);\r\n}\r\n\r\n.initials.pink:hover,\r\n.placeholder.pink:hover{\r\n background-color: var(--color-background-pink-subtle, #FCCEEE);\r\n}\r\n\r\n.initials.pink:active,\r\n.placeholder.pink:active{\r\n background-color: var(--color-background-pink-subtlest, #FDF2FA);\r\n}\r\n\r\n.initials.purple,\r\n.placeholder.purple{\r\n background-color: var(--color-background-purple-subtler, #EBE9FE);\r\n}\r\n\r\n.initials.purple:hover,\r\n.placeholder.purple:hover{\r\n background-color: var(--color-background-purple-subtle, #D9D6FE);\r\n}\r\n\r\n.initials.purple:active,\r\n.placeholder.purple:active{\r\n background-color: var(--color-background-purple-subtlest, #F4F3FF);\r\n}\r\n\r\n.initials.green,\r\n.placeholder.green{\r\n background-color: var(--color-background-success-subtler, #DCFAE6);\r\n}\r\n\r\n.initials.green:hover,\r\n.placeholder.green:hover{\r\n background-color: var(--color-background-success-subtle, #A9EFC5);\r\n}\r\n\r\n.initials.green:active,\r\n.placeholder.green:active{\r\n background-color: var(--color-background-success-subtlest, #ECFDF3);\r\n}\r\n\r\n.initials.yellow,\r\n.placeholder.yellow{\r\n background-color: var(--color-background-warning-subtler, #FEF0C7);\r\n}\r\n\r\n.initials.yellow:hover,\r\n.placeholder.yellow:hover{\r\n background-color: var(--color-background-warning-subtle, #FEDF89);\r\n}\r\n\r\n.initials.yellow:active,\r\n.placeholder.yellow:active{\r\n background-color: var(--color-background-warning-subtlest, #FFFAEB);\r\n}\r\n\r\n::slotted([slot=\"initials\"].gray){\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"initials\"].blue){\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n::slotted([slot=\"initials\"].cyan){\r\n color: var(--color-text-discovery, #0086C9);\r\n}\r\n\r\n::slotted([slot=\"initials\"].pink){\r\n color: var(--color-text-pink, #DD2590);\r\n}\r\n\r\n::slotted([slot=\"initials\"].purple){\r\n color: var(--color-text-purple, #6938EF);\r\n}\r\n\r\n::slotted([slot=\"initials\"].green){\r\n color: var(--color-text-success, #079455);\r\n}\r\n\r\n::slotted([slot=\"initials\"].yellow){\r\n color: var(--color-text-warning, #DC6803);\r\n}\r\n\r\n.user_avatar.gray path{\r\n fill: var(--color-icon-subtle, #697586);\r\n}\r\n\r\n.user_avatar.blue path{\r\n fill: var(--color-icon-information, #064E94);\r\n}\r\n\r\n.user_avatar.cyan path{\r\n fill: var(--color-icon-discovery, #0086C9);\r\n}\r\n\r\n.user_avatar.pink path{\r\n fill: var(--color-icon-pink, #DD2590);\r\n}\r\n\r\n.user_avatar.purple path{\r\n fill: var(--color-icon-purple, #6938EF);\r\n}\r\n\r\n.user_avatar.green path{\r\n fill: var(--color-icon-success, #079455);\r\n}\r\n\r\n.user_avatar.yellow path{\r\n fill: var(--color-icon-warning, #DC6803);\r\n}","import { Component, Element, h, Prop, State } from \"@stencil/core\";\r\nimport { AvatarColorTypes, BorderWeights, GeneralSizes, OnlineIndicatorStates } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-avatar',\r\n styleUrl: 'gb-avatar.css',\r\n shadow: true,\r\n})\r\nexport class GbAvatar {\r\n @Prop() size: GeneralSizes;\r\n @Prop() placeholder: boolean = false;\r\n @Prop() text: boolean = true;\r\n @Prop() statusIcon: string = '';\r\n @Prop() state: OnlineIndicatorStates = OnlineIndicatorStates.Online;\r\n @Prop() icon: 'user' = 'user';\r\n @Prop() color: AvatarColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Element() el: HTMLElement;\r\n @Prop() weight: BorderWeights = BorderWeights.Light;\r\n @State() assignedColorClass: string;\r\n\r\n private colorClasses = [\r\n 'gray', // Red\r\n 'blue', // Green\r\n 'cyan', // Blue\r\n 'green', // Pink\r\n 'purple', // Yellow\r\n 'pink', // Purple\r\n 'yellow', // Teal\r\n ];\r\n\r\n getInitialsSize() {\r\n switch (this.size) {\r\n case 'xl2':\r\n return 'display-xs-semi-bold';\r\n case 'xl':\r\n return 'text-xl-semi-bold';\r\n case 'lg':\r\n return 'text-lg-semi-bold';\r\n case 'md':\r\n return 'text-md-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n case 'xs':\r\n return 'text-xs-semi-bold';\r\n case 'xxs':\r\n return 'text-xxs-semi-bold';\r\n }\r\n }\r\n\r\n setWeight() {\r\n if (this.showBorder) {\r\n switch (this.size) {\r\n case 'xl2':\r\n return BorderWeights.Regular;\r\n case 'xl':\r\n return BorderWeights.Regular;\r\n case 'lg':\r\n return BorderWeights.Regular;\r\n case 'md':\r\n return BorderWeights.Regular;\r\n case 'sm':\r\n return BorderWeights.Light;\r\n case 'xs':\r\n return BorderWeights.Light;\r\n case 'xxs':\r\n return BorderWeights.VeryLight;\r\n }\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 private getRandomColorClass(): string {\r\n const randomIndex = Math.floor(Math.random() * this.colorClasses.length);\r\n return this.colorClasses[randomIndex];\r\n }\r\n\r\n componentDidLoad() {\r\n const slottedInitials = this.el.querySelector('h1');\r\n\r\n if (slottedInitials) {\r\n slottedInitials.classList.add(this.getInitialsSize());\r\n slottedInitials.classList.add(this.assignedColorClass);\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n if (!this.color) {\r\n this.assignedColorClass = this.getRandomColorClass();\r\n } else {\r\n this.assignedColorClass = this.color.toLowerCase();\r\n }\r\n }\r\n\r\n render() {\r\n const classes = `${this.assignedColorClass}`;\r\n\r\n return [\r\n <div class=\"avatar\">\r\n <gb-avatar-contrast-inner-border show-border={this.showBorder} size={this.size} weight={this.weight}>\r\n <div class={`inner_content ${this.size}`}>\r\n {this.text ? (\r\n // ${!this.color ? 'gray' : this.color}\r\n <div class={`initials ${classes}`}>\r\n <slot name=\"initials\"></slot>\r\n </div>\r\n ) : (\r\n <slot name=\"image\"></slot>\r\n )}\r\n {this.placeholder && (\r\n <div class={`placeholder ${classes}`}>\r\n {this.icon === 'user' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" class={`user_avatar ${this.size} ${classes}`}>\r\n <path\r\n d=\"M11.8706 9.89137C11.9482 9.93754 12.044 9.99158 12.1524 10.0528C12.6276 10.3209 13.3459 10.7261 13.8381 11.2078C14.1458 11.5091 14.4383 11.9061 14.4914 12.3924C14.548 12.9097 14.3223 13.395 13.8697 13.8263C13.0887 14.5703 12.1515 15.1666 10.9393 15.1666H5.06045C3.84825 15.1666 2.91106 14.5703 2.13009 13.8263C1.67741 13.395 1.45177 12.9097 1.50831 12.3924C1.56147 11.9061 1.85391 11.5091 2.16169 11.2078C2.6538 10.7261 3.37214 10.3209 3.84735 10.0528C3.95578 9.99158 4.05158 9.93754 4.12912 9.89137C6.49848 8.48055 9.50126 8.48055 11.8706 9.89137Z\"\r\n fill=\"#697586\"\r\n />\r\n <path\r\n d=\"M4.49987 4.33325C4.49987 2.40026 6.06688 0.833252 7.99987 0.833252C9.93287 0.833252 11.4999 2.40026 11.4999 4.33325C11.4999 6.26625 9.93287 7.83325 7.99987 7.83325C6.06688 7.83325 4.49987 6.26625 4.49987 4.33325Z\"\r\n fill=\"#697586\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </gb-avatar-contrast-inner-border>\r\n <gb-status-indicator class={`indicator ${this.size}`} status-icon={this.statusIcon} size={this.size} state={this.state}></gb-status-indicator>\r\n </div>,\r\n ];\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.inner_border{\r\n border-radius: var(--rounded-full);\r\n width: fit-content;\r\n height: fit-content;\r\n}\r\n\r\n.inner_border.very_light.no_border{\r\n border: 0.3px solid transparent;\r\n}\r\n\r\n.inner_border.light.no_border{\r\n border: 0.5px solid transparent;\r\n}\r\n\r\n.inner_border.regular.no_border{\r\n border: 0.75px solid transparent;\r\n}\r\n\r\n.inner_border.heavy.no_border{\r\n border: 1px solid transparent;\r\n}\r\n\r\n/* Weights */\r\n.inner_border.very_light{\r\n border: 0.3px solid var(--color-blanket-subtler, rgba(33, 44, 101, 0.2));\r\n}\r\n\r\n.inner_border.light{\r\n border: 0.5px solid var(--color-blanket-subtler, rgba(33, 44, 101, 0.2));\r\n}\r\n\r\n.inner_border.regular{\r\n border: 0.75px solid var(--color-blanket-subtler, rgba(33, 44, 101, 0.2));\r\n}\r\n\r\n.inner_border.heavy{\r\n border: 1px solid var(--color-blanket-subtler, rgba(33, 44, 101, 0.2));\r\n}","import { Component, h, Prop } from \"@stencil/core\";\r\nimport { BorderWeights, GeneralSizes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-avatar-contrast-inner-border',\r\n styleUrl: 'gb-avatar-contrast-inner-border.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbAvatarContrastInnerBorder {\r\n @Prop() weight: BorderWeights;\r\n @Prop() size: GeneralSizes;\r\n @Prop() showBorder: boolean = false;\r\n\r\n setWeight() {\r\n if(this.showBorder){\r\n switch (this.size) {\r\n case 'xl2':\r\n return BorderWeights.Regular;\r\n case 'xl':\r\n return BorderWeights.Regular;\r\n case 'lg':\r\n return BorderWeights.Regular;\r\n case 'md':\r\n return BorderWeights.Regular;\r\n case 'sm':\r\n return BorderWeights.Light;\r\n case 'xs':\r\n return BorderWeights.Light;\r\n case 'xxs':\r\n return BorderWeights.VeryLight;\r\n case 'profile_lg':\r\n return BorderWeights.Heavy;\r\n case 'profile_md':\r\n return BorderWeights.Heavy;\r\n case 'profile_sm':\r\n return BorderWeights.Regular;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`inner_border ${this.size} ${this.weight} ${!this.showBorder ? 'no_border' : ''}`}>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n display: flex;\r\n align-items: center;\r\n width: fit-content;\r\n}\r\n\r\ndiv{\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0px;\r\n flex-shrink: 0;\r\n text-align: center;\r\n}\r\n\r\n.label {\r\n padding: 2px;\r\n}\r\n\r\n.icon {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\ndiv.sm{\r\n height: 22px;\r\n min-height: 22px;\r\n gap: 0.25rem;\r\n padding: var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\ndiv.md {\r\n height: var(--spacing-6);\r\n min-height: var(--spacing-6);\r\n padding: var(--spacing-none) var(--spacing-2);\r\n gap: 0.38rem;\r\n}\r\n\r\ndiv.lg {\r\n height: 28px;\r\n min-height: 28px;\r\n gap: 0.38rem;\r\n padding: var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\ndiv.pill_color {\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\ndiv.pill_color.gray,\r\n.badge_color.gray {\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.pill_color.primary,\r\n.badge_color.primary {\r\n border: 1px solid #C8E0F9 /*Color/Border/border-information-subtler*/;\r\n background: var(--color-background-information-subtlest, #E4F0FC); \r\n color: var(--color-text-brandDarkBlue, #212C65);\r\n}\r\n\r\n.pill_color.error,\r\n.badge_color.error {\r\n border: 1px solid var(--color-border-danger-subtler, #FDE3E5);\r\n background: var(--color-background-danger-subtlest, #FEF1F2 );\r\n color: var(--color-text-danger, #B51726);\r\n}\r\n\r\n.pill_color.warning,\r\n.badge_color.warning {\r\n border: 1px solid var(--color-border-warning-subtler, #FEF0C7);\r\n background: var(--color-background-warning-subtlest, #FFFAEB);\r\n color: var(--color-text-warning, #DC6803);\r\n}\r\n\r\n.pill_color.success,\r\n.badge_color.success {\r\n border: 1px solid var(--color-border-success-subtler, #DCFAE6);\r\n background: var(--color-background-success-subtlest, #ECFDF3);\r\n color: var(--color-text-success, #079455);\r\n}\r\n\r\n.pill_color.discovery,\r\n.badge_color.discovery {\r\n border: 1px solid var(--color-border-discovery-subtler, #E0F2FE);\r\n background: var(--color-background-discovery-subtlest,#F0F9FF);\r\n color: var(--color-text-discovery, #0086C9);\r\n}\r\n\r\n.pill_color.information,\r\n.badge_color.information {\r\n border: 1px solid var(--color-border-information-subtler, #C8E0F9);\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.pill_color.pink,\r\n.badge_color.pink {\r\n border: 1px solid var(--color-border-pink-subtler, #FCE7F6);\r\n background: var(--color-background-pink-subtlest, #FDF2FA);\r\n color: var(--color-text-pink, #DD2590);\r\n}\r\n\r\n.pill_color.purple,\r\n.badge_color.purple {\r\n border: 1px solid var(--color-border-purple-subtler, #EBE9FE);\r\n background: var(--color-background-purple-subtlest, #F4F3FF);\r\n color: var(--color-text-purple, #6938EF);\r\n}\r\n\r\n.pill_color svg,\r\n.badge_color svg,\r\n.pill_outline svg,\r\n.badge_modern svg {\r\n width: var(--spacing-2);\r\n height: var(--spacing-2);\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.gray svg path[stroke] {\r\n stroke: var(--color-icon, #4B5565) /*var(--color-icon)*/;\r\n}\r\n\r\n.gray svg path[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.primary svg path[stroke] {\r\n stroke: var(--color-icon-brandDarkBlue, #212C65);\r\n}\r\n\r\n.primary svg path[fill] {\r\n fill: var(--color-icon-brandDarkBlue, #212C65);\r\n}\r\n\r\n.error svg path[stroke] {\r\n stroke: var(--color-icon-danger, #B51726);\r\n}\r\n\r\n.error svg path[fill] {\r\n fill: var(--color-icon-danger, #B51726);\r\n}\r\n\r\n.warning svg path[stroke] {\r\n stroke: var(--color-icon-warning, #DC6803);\r\n}\r\n\r\n.warning svg path[fill] {\r\n fill: var(--color-icon-warning, #DC6803);\r\n}\r\n\r\n.icon.success svg path[stroke] {\r\n stroke: var(--color-icon-success, #079455);\r\n}\r\n\r\n.success svg path[fill] {\r\n fill: var(--color-icon-success, #079455);\r\n}\r\n\r\n.discovery svg path[stroke] {\r\n stroke: var(--color-icon-discovery, #0086C9);\r\n}\r\n\r\n.discovery svg path[fill] {\r\n fill: var(--color-icon-discovery, #0086C9);\r\n}\r\n\r\n.information svg path[stroke] {\r\n stroke: var(--color-icon-information, #064E94);\r\n}\r\n\r\n.information svg path[fill] {\r\n fill: var(--color-icon-information, #064E94);\r\n}\r\n\r\n.pink svg path[stroke] {\r\n stroke: var(--color-icon-pink, #DD2590);\r\n}\r\n\r\n.pink svg path[fill] {\r\n fill: var(--color-icon-pink, #DD2590);\r\n}\r\n\r\n.purple svg path[stroke] {\r\n stroke: var(--color-icon-purple, #6938EF);\r\n}\r\n\r\n.purple svg path[fill] {\r\n fill: var(--color-icon-purple, #6938EF);\r\n}\r\n\r\n.pill_outline {\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.pill_outline.gray {\r\n border: 1.5px solid var(--color-text, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.pill_outline.primary {\r\n border: 1.5px solid var(--color-text-brandDarkBlue, #212C65);\r\n color:var(--color-text-brandDarkBlue, #212C65);\r\n}\r\n\r\n.pill_outline.error {\r\n border: 1.5px solid var(--color-text-danger, #B51726);\r\n color:var(--color-text-danger, #B51726);\r\n}\r\n\r\n.pill_outline.warning {\r\n border: 1.5px solid var(--color-text-warning, #DC6803);\r\n color:var(--color-text-warning, #DC6803);\r\n}\r\n\r\n.pill_outline.success {\r\n border: 1.5px solid var(--color-text-success, #079455);\r\n color:var(--color-text-success, #079455);\r\n}\r\n\r\n.pill_outline.discovery {\r\n border: 1.5px solid var(--color-text-discovery, #0086C9);\r\n color: var(--color-text-discovery, #0086C9);\r\n}\r\n\r\n.pill_outline.information {\r\n border: 1.5px solid var(--color-text-information, #064E94);\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.pill_outline.pink {\r\n border: 1.5px solid var(--color-text-pink, #DD2590);\r\n color: var(--color-text-pink, #DD2590);\r\n}\r\n\r\n.pill_outline.purple {\r\n border: 1.5px solid var(--color-text-purple, #6938EF);\r\n color: var(--color-text-purple, #6938EF);\r\n}\r\n\r\n.badge_color {\r\n border-radius: var(--rounded-xs);\r\n}\r\n\r\n.badge_modern {\r\n border-radius: var(--rounded-xs);\r\n border: 1px solid var(--color-boarder-subtler, #E3E8EF);\r\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.badge_modern svg path {\r\n stroke: inherit; /* Inherit color from the parent, but set in the component */\r\n fill: inherit;\r\n}\r\n\r\n.icon svg {\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n margin-top: -2px;\r\n}\r\n\r\n.icon svg path[stroke] {\r\n stroke: currentColor;\r\n}\r\n\r\n.icon svg path[fill] {\r\n fill: currentColor;\r\n}\r\n\r\n#icon-only svg {\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\ndiv.md #icon-only svg {\r\n padding: 2px;\r\n}\r\n\r\n#icon-only {\r\n display: flex;\r\n padding: var(--spacing-none);\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n flex-shrink: 0;\r\n border-radius: var(--rounded-full);\r\n}","import { Component, Prop, getAssetPath, h, State, Element } from '@stencil/core';\r\nimport { GeneralColors, GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-badge',\r\n styleUrl: 'gb-badge.css',\r\n shadow: true,\r\n assetsDirs: ['assets']\r\n})\r\nexport class GbBadges {\r\n @Prop() size: GeneralSizes;\r\n @Prop() icon: 'dot' | 'avatar' | 'icon_leading' | 'icon_trailing' | 'country' | 'only';\r\n @Prop() iconLeadingSwap?: string; \r\n @Prop() iconTrailingSwap?: string;\r\n @Prop() flagSwap: string;\r\n @Prop() color: GeneralColors;\r\n @Prop() type: 'pill_color' | 'pill_outline' | 'badge_color' | 'badge_modern';\r\n @Prop() closeButton?: boolean = false;\r\n\r\n @State() leadingIconContent: string;\r\n @State() trailingIconContent: string;\r\n @Element() el: HTMLElement;\r\n\r\n private getDotColor(color: GeneralColors): string {\r\n const colorMap = {\r\n 'gray': '#4B5565',\r\n 'primary': '#212C65',\r\n 'error': '#B51726',\r\n 'warning': '#DC6803',\r\n 'success': '#079455',\r\n 'discovery': '#0BA5EC',\r\n 'information': '#064E94',\r\n 'pink': '#DD2590',\r\n 'purple': '#6938EF',\r\n };\r\n \r\n if (this.type === 'badge_modern') {\r\n return colorMap[color] || color;\r\n }\r\n \r\n return 'currentColor';\r\n }\r\n \r\n\r\n async componentWillLoad() {\r\n if (this.iconLeadingSwap) {\r\n const iconLeadingSrc = getAssetPath(`${this.iconLeadingSwap}`);\r\n this.leadingIconContent = await this.fetchSvgContent(iconLeadingSrc);\r\n }\r\n \r\n if (this.iconTrailingSwap) {\r\n const iconTrailingSrc = getAssetPath(`${this.iconTrailingSwap}`);\r\n this.trailingIconContent = await this.fetchSvgContent(iconTrailingSrc);\r\n }\r\n }\r\n\r\n private async fetchSvgContent(src: string): Promise<string> {\r\n try {\r\n const response = await fetch(src);\r\n if (response.ok) {\r\n return await response.text();\r\n }\r\n return '';\r\n } catch (error) {\r\n console.error('Error fetching SVG:', error);\r\n return '';\r\n }\r\n }\r\n\r\n getTextClass() {\r\n switch (this.size) {\r\n case 'sm' : return 'text-xs-medium';\r\n case 'md' : return 'text-sm-medium';\r\n case 'lg' : return 'text-sm-medium';\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('p');\r\n\r\n if(slottedContent) {\r\n slottedContent.classList.add(this.getTextClass());\r\n }\r\n }\r\n\r\n render() {\r\n const classes = {\r\n 'badge': true,\r\n [this.type]: true,\r\n [this.color]: true,\r\n [this.size]: true\r\n };\r\n\r\n const flagSwap = getAssetPath(`${this.flagSwap}`);\r\n const dotColor = this.type === 'badge_modern' ? this.getDotColor(this.color) : 'currentColor';\r\n\r\n return (\r\n <div class={classes}>\r\n {this.icon === 'dot' && ( \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill={dotColor}>\r\n <circle cx=\"4\" cy=\"4\" r=\"3\" />\r\n </svg>\r\n )}\r\n {this.icon === 'icon_leading' && this.iconLeadingSwap && (\r\n <div class={`icon left-icon`} innerHTML={this.leadingIconContent}></div>\r\n )}\r\n {this.icon === 'country' && (\r\n <img src={flagSwap} alt=\"Country Icon\" />\r\n )}\r\n {this.icon === 'avatar' && (\r\n <gb-avatar class=\"avatar-icon\" size=\"xxs\" status-icon=\"false\">\r\n <slot name='image' slot='image'></slot>\r\n </gb-avatar>\r\n )}\r\n {this.icon !== 'only' && (\r\n <slot></slot>\r\n )}\r\n {this.icon === 'icon_trailing' && this.iconTrailingSwap && (\r\n <div class={`icon right-icon`} innerHTML={this.trailingIconContent}></div>\r\n )}\r\n {this.icon === 'only' && (\r\n <div id=\"icon-only\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" stroke={dotColor}>\r\n <path d=\"M6 2L6 10M10 6L2 6\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n )}\r\n {this.closeButton && this.icon !== 'only' && <gb-badge-close color={this.color} type='rounded'></gb-badge-close>}\r\n </div>\r\n ); \r\n } \r\n}\r\n","@import './../../global/global.css';\r\n\r\ndiv {\r\n display: flex;\r\n padding: var(--spacing-half);\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n height: fit-content;\r\n width: fit-content;\r\n cursor: pointer;\r\n}\r\n\r\ndiv svg{\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\ndiv.square {\r\n border-radius: 3px;\r\n}\r\n\r\ndiv.rounded {\r\n border-radius: 8px;\r\n}\r\n\r\ndiv.gray, div.primary, div.error, div.warning, div.success, div.discovery, div.information, div.pink {\r\n background-color: transparent;\r\n}\r\n\r\ndiv.gray path{\r\n stroke: var(--color-icon, #4B5565); \r\n}\r\n\r\ndiv.primary path{\r\n stroke: var(--color-icon-brandDarkBlue, #212C65);\r\n}\r\n\r\ndiv.error path{\r\n stroke: var(--color-icon-danger, #B51726);\r\n}\r\n\r\ndiv.warning path{\r\n stroke: var(--color-icon-warning, #DC6803);\r\n}\r\n\r\ndiv.success path{\r\n stroke: var(--color-icon-success, #079455); \r\n}\r\n\r\ndiv.discovery path{\r\n stroke: var(--color-icon-discovery, #0086C9);\r\n}\r\n\r\ndiv.information path{\r\n stroke: var(--color-icon-information, #064E94);\r\n}\r\n\r\ndiv.pink path{\r\n stroke: var(--color-icon-pink, #DD2590); \r\n}\r\n\r\ndiv.gray:hover {\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\ndiv.primary:hover {\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\ndiv.error:hover {\r\n background: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\ndiv.warning:hover {\r\n background: var(--color-background-warning-subtler, #FEF0C7);\r\n}\r\n\r\ndiv.success:hover {\r\n background: var(--color-background-success-subtler, #DCFAE6);\r\n}\r\n\r\ndiv.discovery:hover {\r\n background: var(--color-background-discovery-subtler, #E0F2FE);\r\n}\r\n\r\ndiv.information:hover {\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\ndiv.pink:hover {\r\n background: var(--color-background-pink-subtler, #FCE7F6);\r\n}","import { Component, Prop, h } from '@stencil/core';\r\nimport { GeneralColors } from '../../models/reusableModels';\r\n\r\n@Component ({\r\n tag: 'gb-badge-close',\r\n styleUrl: 'gb-badge-close.css',\r\n shadow: true\r\n})\r\n\r\nexport class BadgeClose {\r\n @Prop() color: GeneralColors;\r\n @Prop() type: 'square' | 'rounded';\r\n\r\n render() {\r\n return (\r\n <div class={`${this.color} ${this.type}`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9.50024 2.5L2.50024 9.5M2.50024 2.5L9.50024 9.5\" stroke=\"#4B5565\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n );\r\n }\r\n} ","@import './../../global/global.css';\r\n\r\n/* *{box-sizing: border-box; margin: 0; padding: 0;} */\r\n:host {\r\n --button-color: var(--primary-color);\r\n --icon-color: var(--primary-color);\r\n}\r\n\r\nbutton {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border: none;\r\n cursor: pointer;\r\n border-radius: var(--rounded-sm);\r\n width: 100%;\r\n}\r\n\r\nbutton.only{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\nbutton .icon {\r\n display: inline-flex;\r\n width: auto;\r\n height: auto;\r\n}\r\n\r\nbutton .icon svg path[fill] {\r\n fill: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg path[stroke] {\r\n stroke: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg circle {\r\n stroke: var(--icon-color);\r\n}\r\n\r\n/* Button Sizes Styles */\r\nbutton.xl2{\r\n padding: var(--spacing-none) var(--spacing-6);\r\n height: 3.5rem;\r\n gap: var(--spacing-3);\r\n}\r\n\r\nbutton.xl{\r\n padding: var(--spacing-none) var(--spacing-5);\r\n height: 3rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.lg{\r\n padding: 0.625rem 1.125rem;\r\n height: 2.75rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.md{\r\n padding: var(--spacing-none) var(--spacing-4);\r\n height: 2.5rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.sm{\r\n padding: var(--spacing-none) var(--spacing-3);\r\n height: 2.25rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.only.xl2{\r\n width: 3.5rem;\r\n height: 3.5rem;\r\n}\r\n\r\nbutton.only.xl{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\nbutton.only.lg{\r\n width: 2.75rem;\r\n height: 2.75rem;\r\n}\r\n\r\nbutton.only.md{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\nbutton.only.sm{\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\nbutton.xl2 .icon svg{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\nbutton.xl .icon svg,\r\nbutton.lg .icon svg,\r\nbutton.md .icon svg,\r\nbutton.sm .icon svg{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n/* Hierarchy Styles */\r\nbutton.primary {\r\n background-color: var(--color-background-brandRed, #E21B2E);\r\n --icon-color: var(--color-icon-inverse, #FFFFFF);\r\n color: var(--color-text-inverse, #FFFFFF);\r\n}\r\n\r\nbutton.secondary_gray {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border, #9AA4B2);\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\nbutton.secondary_color {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border-brandRed, #E21B2E);\r\n --icon-color: var(--color-icon-brandRed, #E21B2E);\r\n color: var(--color-text-brandRed, #E21B2E);\r\n}\r\n\r\nbutton.tertiary_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\nbutton.tertiary_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon-brandRed, #E21B2E);\r\n color: var(--color-text-brandRed, #E21B2E);\r\n}\r\n\r\nbutton.link_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n height: fit-content;\r\n}\r\n\r\nbutton.link_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-link, #075DB2);\r\n color: var(--color-link, #075DB2);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n}\r\n\r\n/* Button Destructive Styles */\r\nbutton.primary.destructive{\r\n background-color: var(--color-background-danger, #B51726);\r\n color: var(--color-text-inverse, #FFFFFF);\r\n --icon-color: var(--color-icon-danger-inverse, #FFFFFF);\r\n}\r\n\r\nbutton.secondary_gray.destructive, button.secondary_color.destructive{\r\n border: 1px solid var(--color-border-danger, #B51726);\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\nbutton.tertiary_gray.destructive,\r\nbutton.tertiary_color.destructive{\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\nbutton.link_gray.destructive, \r\nbutton.link_color.destructive{\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\n/* Button States Styles */\r\nbutton.primary:hover{\r\n background-color: var(--color-background-brandRed-hover, #CC1A2A);\r\n}\r\n\r\nbutton.primary:active{\r\n background-color: var(--color-background-brandRed-pressed, #B51726);\r\n}\r\n\r\nbutton.secondary_gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\nbutton.secondary_gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\nbutton.secondary_color:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.secondary_color:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.tertiary_gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\nbutton.tertiary_gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\nbutton.tertiary_color:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.tertiary_color:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.link_gray:hover,\r\nbutton.link_color:hover{\r\n text-decoration: underline;\r\n}\r\n\r\nbutton.link_gray:active{\r\n text-decoration: none;\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\nbutton.link_gray:active{\r\n text-decoration: none;\r\n color: var(--color-link-pressed, #064E94);\r\n}\r\n\r\nbutton.primary.destructive:hover{\r\n background-color: var(--color-background-danger-bold, #8C121D);\r\n}\r\n\r\nbutton.primary.destructive:active{\r\n background-color: var(--color-background-brandRed-hover, #CC1A2A); /* ask Mr Gideon about this */\r\n}\r\n\r\nbutton.secondary_gray.destructive:hover, \r\nbutton.secondary_color.destructive:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.secondary_gray.destructive:active, \r\nbutton.secondary_color.destructive:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:hover, \r\nbutton.tertiary_color.destructive:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:active, \r\nbutton.tertiary_color.destructive:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.link_gray.destructive:active{\r\n color: var(--color-text-danger-bold, #8C121D);\r\n}\r\n\r\nbutton.link_color.destructive:active{\r\n color: var(--color-text-warning-bold, #93370D);\r\n}\r\n\r\n/* Button Disabled Styles */\r\nbutton.disabled{\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\nbutton.primary.disabled {\r\n background-color: var(--color-background-disabled, #F6F8FA);\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\nbutton.secondary_gray.disabled,\r\nbutton.secondary_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n border-color: var(--color-border-disabled, #E3E8EF);\r\n}\r\n\r\nbutton.tertiary_gray.disabled,\r\nbutton.tertiary_color.disabled,\r\nbutton.link_gray.disabled,\r\nbutton.link_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\n.btn_text{\r\n white-space: nowrap;\r\n}\r\n\r\n.btn_text::first-letter{\r\n text-transform: uppercase;\r\n}","import { Component, Element, getAssetPath, h, Prop, State } from \"@stencil/core\";\r\nimport { GeneralHierarchies, GeneralSizes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-btn',\r\n styleUrl: 'gb-btn.css',\r\n})\r\nexport class GbButton {\r\n @Prop() size: GeneralSizes;\r\n @Prop() hierarchy: GeneralHierarchies;\r\n @Prop() icon: 'default' | 'only';\r\n @Prop() destructive: boolean = false;\r\n @Prop() state: 'default' | 'disabled';\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string;\r\n @Prop() iconTrailing: boolean = false;\r\n @Prop() iconTrailingSwap: string;\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n @State() trailingIconSvg: string = '';\r\n\r\n componentWillLoad() {\r\n if (this.iconLeading && this.iconLeadingSwap) {\r\n this.loadIcon(this.iconLeadingSwap, 'leading');\r\n }\r\n if (this.iconTrailing && this.iconTrailingSwap) {\r\n this.loadIcon(this.iconTrailingSwap, 'trailing');\r\n }\r\n\r\n const buttonSlot = this.el.querySelector('p');\r\n\r\n if (buttonSlot) {\r\n buttonSlot.classList.add(this.getButtonTextClasses());\r\n buttonSlot.classList.add('nowrap');\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string, type: 'leading' | 'trailing') {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n if (type === 'leading') {\r\n this.leadingIconSvg = svg;\r\n } else {\r\n this.trailingIconSvg = svg;\r\n }\r\n }\r\n\r\n // Helper to apply color styles based on the button state\r\n getButtonClasses() {\r\n return {\r\n button: true,\r\n [this.size]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.state === 'disabled',\r\n default: this.icon === 'default',\r\n only: this.icon === 'only',\r\n // leftandrighticon: this.iconLeading && this.iconTrailing\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.size) {\r\n case 'xl2':\r\n return 'text-lg-semi-bold';\r\n case 'xl':\r\n return 'text-md-semi-bold';\r\n case 'lg':\r\n return 'text-md-semi-bold';\r\n case 'md':\r\n return 'text-sm-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n renderLeadingIcon() {\r\n return <div class={`icon left-icon ${this.size}`} innerHTML={this.leadingIconSvg}></div>;\r\n }\r\n\r\n renderTrailingIcon() {\r\n return <div class=\"icon right-icon\" innerHTML={this.trailingIconSvg}></div>;\r\n }\r\n\r\n render() {\r\n return (\r\n <button class={this.getButtonClasses()}>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && (\r\n <div class={`btn_text`}>\r\n <slot></slot>\r\n </div>\r\n )}\r\n {this.iconTrailing && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </button>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host {\r\n --button-color: var(--primary-color);\r\n --icon-color: var(--primary-color);\r\n}\r\n\r\nbutton {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border: none;\r\n cursor: pointer;\r\n border-radius: var(--rounded-sm);\r\n width: 100%;\r\n}\r\n\r\nbutton.only{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\nbutton .icon {\r\n display: inline-flex;\r\n width: auto;\r\n height: auto;\r\n}\r\n\r\nbutton .icon svg path[fill] {\r\n fill: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg path[stroke] {\r\n stroke: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg circle {\r\n stroke: var(--icon-color);\r\n}\r\n\r\n/* Button Sizes Styles */\r\nbutton.xl2{\r\n padding: var(--spacing-none) var(--spacing-6);\r\n height: 3.5rem;\r\n gap: var(--spacing-3);\r\n}\r\n\r\nbutton.xl{\r\n padding: var(--spacing-none) var(--spacing-5);\r\n height: 3rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.lg{\r\n padding: 0.625rem 1.125rem;\r\n height: 2.75rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.md{\r\n padding: var(--spacing-none) var(--spacing-4);\r\n height: 2.5rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.sm{\r\n padding: var(--spacing-none) var(--spacing-3);\r\n height: 2.25rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.only.xl2{\r\n width: 3.5rem;\r\n height: 3.5rem;\r\n}\r\n\r\nbutton.only.xl{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\nbutton.only.lg{\r\n width: 2.75rem;\r\n height: 2.75rem;\r\n}\r\n\r\nbutton.only.md{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\nbutton.only.sm{\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\nbutton.xl2 .icon svg{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\nbutton.xl .icon svg,\r\nbutton.lg .icon svg,\r\nbutton.md .icon svg,\r\nbutton.sm .icon svg{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n/* Hierarchy Styles */\r\nbutton.primary {\r\n background-color: var(--color-background-brandRed, #E21B2E);\r\n --icon-color: var(--color-icon-inverse, #FFFFFF);\r\n color: var(--color-text-inverse, #FFFFFF);\r\n}\r\n\r\nbutton.secondary_gray {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border, #9AA4B2);\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\nbutton.secondary_color {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border-brandRed, #E21B2E);\r\n --icon-color: var(--color-icon-brandRed, #E21B2E);\r\n color: var(--color-text-brandRed, #E21B2E);\r\n}\r\n\r\nbutton.tertiary_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\nbutton.tertiary_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon-brandRed, #E21B2E);\r\n color: var(--color-text-brandRed, #E21B2E);\r\n}\r\n\r\nbutton.link_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n}\r\n\r\nbutton.link_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-link, #075DB2);\r\n color: var(--color-link, #075DB2);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n}\r\n\r\n/* Button Destructive Styles */\r\nbutton.primary.destructive{\r\n background-color: var(--color-background-danger, #B51726);\r\n color: var(--color-text-inverse, #FFFFFF);\r\n --icon-color: var(--color-icon-danger-inverse, #FFFFFF);\r\n}\r\n\r\nbutton.secondary_gray.destructive, button.secondary_color.destructive{\r\n border: 1px solid var(--color-border-danger, #B51726);\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\nbutton.tertiary_gray.destructive,\r\nbutton.tertiary_color.destructive{\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\nbutton.link_gray.destructive, \r\nbutton.link_color.destructive{\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\n/* Button States Styles */\r\nbutton.primary:hover{\r\n background-color: var(--color-background-brandRed-hover, #CC1A2A);\r\n}\r\n\r\nbutton.primary:active{\r\n background-color: var(--color-background-brandRed-pressed, #B51726);\r\n}\r\n\r\nbutton.secondary_gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\nbutton.secondary_gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\nbutton.secondary_color:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.secondary_color:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.tertiary_gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\nbutton.tertiary_gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\nbutton.tertiary_color:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.tertiary_color:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.link_gray:hover,\r\nbutton.link_color:hover{\r\n text-decoration: underline;\r\n}\r\n\r\nbutton.link_gray:active{\r\n text-decoration: none;\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\nbutton.link_gray:active{\r\n text-decoration: none;\r\n color: var(--color-link-pressed, #064E94);\r\n}\r\n\r\nbutton.primary.destructive:hover{\r\n background-color: var(--color-background-danger-bold, #8C121D);\r\n}\r\n\r\nbutton.primary.destructive:active{\r\n background-color: var(--color-background-brandRed-hover, #CC1A2A); /* ask Mr Gideon about this */\r\n}\r\n\r\nbutton.secondary_gray.destructive:hover, \r\nbutton.secondary_color.destructive:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.secondary_gray.destructive:active, \r\nbutton.secondary_color.destructive:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:hover, \r\nbutton.tertiary_color.destructive:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:active, \r\nbutton.tertiary_color.destructive:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.link_gray.destructive:active{\r\n color: var(--color-text-danger-bold, #8C121D);\r\n}\r\n\r\nbutton.link_color.destructive:active{\r\n color: var(--color-text-warning-bold, #93370D);\r\n}\r\n\r\n/* Button Disabled Styles */\r\nbutton.disabled{\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\nbutton.primary.disabled {\r\n background-color: var(--color-background-disabled, #F6F8FA);\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\nbutton.secondary_gray.disabled,\r\nbutton.secondary_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n border-color: var(--color-border-disabled, #E3E8EF);\r\n}\r\n\r\nbutton.tertiary_gray.disabled,\r\nbutton.tertiary_color.disabled,\r\nbutton.link_gray.disabled,\r\nbutton.link_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\n.btn_text{\r\n white-space: nowrap;\r\n}","import { Component, Element, getAssetPath, h, Prop, State } from '@stencil/core';\r\nimport { GeneralHierarchies, GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-button',\r\n styleUrl: 'gb-button.css',\r\n shadow: true,\r\n assetsDirs: [''],\r\n})\r\nexport class GbButton {\r\n @Prop() size: GeneralSizes;\r\n @Prop() hierarchy: GeneralHierarchies;\r\n @Prop() icon: 'default' | 'only';\r\n @Prop() destructive: boolean = false;\r\n @Prop() state: 'default' | 'disabled';\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string;\r\n @Prop() iconTrailing: boolean = false;\r\n @Prop() iconTrailingSwap: string;\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n @State() trailingIconSvg: string = '';\r\n\r\n componentWillLoad() {\r\n if (this.iconLeading && this.iconLeadingSwap) {\r\n this.loadIcon(this.iconLeadingSwap, 'leading');\r\n }\r\n if (this.iconTrailing && this.iconTrailingSwap) {\r\n this.loadIcon(this.iconTrailingSwap, 'trailing');\r\n }\r\n\r\n const buttonSlot = this.el.querySelector('p');\r\n\r\n if (buttonSlot) {\r\n buttonSlot.classList.add(this.getButtonTextClasses());\r\n buttonSlot.classList.add('nowrap');\r\n }\r\n\r\n // if (!this.iconLeading && !this.iconTrailing) {\r\n // buttonSlot.classList.add('center');\r\n // }\r\n }\r\n\r\n async loadIcon(iconName: string, type: 'leading' | 'trailing') {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n if (type === 'leading') {\r\n this.leadingIconSvg = svg;\r\n } else {\r\n this.trailingIconSvg = svg;\r\n }\r\n }\r\n\r\n // Helper to apply color styles based on the button state\r\n getButtonClasses() {\r\n return {\r\n button: true,\r\n [this.size]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.state === 'disabled',\r\n default: this.icon === 'default',\r\n only: this.icon === 'only',\r\n oneicon: this.iconLeading || this.iconTrailing\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.size) {\r\n case 'xl2' : return 'text-lg-semi-bold';\r\n case 'xl' : return 'text-md-semi-bold';\r\n case 'lg' : return 'text-md-semi-bold';\r\n case 'md' : return 'text-sm-semi-bold';\r\n case 'sm' : return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n renderLeadingIcon() {\r\n return <div class={`icon left-icon ${this.size}`} innerHTML={this.leadingIconSvg}></div>;\r\n }\r\n\r\n renderTrailingIcon() {\r\n return <div class=\"icon right-icon\" innerHTML={this.trailingIconSvg}></div>;\r\n }\r\n\r\n render() {\r\n return (\r\n <button class={this.getButtonClasses()}>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && <slot></slot>}\r\n {this.iconTrailing && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </button>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.checkbox_div{\r\n display: flex;\r\n justify-content: space-between;\r\n width: fit-content;\r\n}\r\n\r\n.checkbox_div{\r\n gap: var(--spacing-none);\r\n}\r\n\r\n.checkbox_div.text_class.sm{\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.checkbox_div.text_class.md{\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.checkbox_base.checkbox_no_supporting_text{\r\n margin-top: 0.22rem;\r\n}\r\n\r\n.text{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.text.no_supporting_text{\r\n justify-content: center;\r\n}\r\n\r\n::slotted(p){\r\n color: var(--color-text, #4B5565);\r\n}","import { Component, Element, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { CheckBoxVariants, GeneralSizes, StateEnum } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag:'gb-checkbox',\r\n styleUrl: 'gb-checkbox.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbCheckbox {\r\n @Prop() checked: boolean = false;\r\n @Prop() indeterminate: boolean = false;\r\n @Prop() size: GeneralSizes;\r\n @Prop() type: CheckBoxVariants;\r\n @Prop() state: StateEnum;\r\n @Prop() text: boolean = false;\r\n @Prop() supportingText: boolean = false;\r\n @Element() el: HTMLElement;\r\n @Event() checkboxClicked: EventEmitter<boolean>;\r\n\r\n getMainTextClass() {\r\n switch(this.size) {\r\n case 'sm' : return `text-sm-medium`;\r\n case 'md' : return `text-md-medium`;\r\n }\r\n }\r\n\r\n getSupportingTextClass() {\r\n switch(this.size) {\r\n case 'sm' : return 'text-xs-regular';\r\n case 'md' : return 'text-sm-regular';\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const mainTextSlot = this.el.querySelector('[slot=\"label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n\r\n if(mainTextSlot){\r\n mainTextSlot.classList.add(this.getMainTextClass());\r\n }\r\n\r\n if(supportingTextSlot) {\r\n supportingTextSlot.classList.add(this.getSupportingTextClass());\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`checkbox_div ${this.size} ${this.text ? 'text_class' : ''}`}>\r\n <div class={`checkbox_base ${!this.supportingText ? 'checkbox_no_supporting_text' : ''}`}>\r\n <gb-checkbox-base size={this.size} type={this.type} checked={this.checked} state={this.state} indeterminate={this.indeterminate}></gb-checkbox-base>\r\n </div>\r\n {this.text && (\r\n <div class={`text ${!this.supportingText ? 'no_supporting_text' : ''}`}>\r\n <slot name=\"label\"></slot>\r\n {this.supportingText && <slot name=\"supporting_text\"></slot>}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n width: fit-content;\r\n}\r\n\r\n/* Checkbox Styles */\r\n.checkbox_container{\r\n width: fit-content;\r\n height: fit-content;\r\n cursor: pointer;\r\n}\r\n\r\nsvg.sm{\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n}\r\n\r\nsvg.md{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n.checkbox_default_unchecked.hover:hover path{\r\n stroke: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.checkbox_default_checked:hover path, .checkbox_default_indeterminate:hover path{\r\n fill: var(--color-background-information, #064E94);\r\n}\r\n\r\n.checkbox_default_checked:hover .border, .checkbox_default_indeterminate:hover .border{\r\n stroke: var(--color-border-information, #064E94);\r\n}\r\n\r\n/* Radio Styles */\r\n.radio_default_unchecked:hover rect{\r\n stroke: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n/* Check Circle Styles */\r\n.circle_default_unchecked:hover rect{\r\n stroke: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.circle_default_checked:hover rect{\r\n stroke: var(--color-border-information, #064E94);\r\n}\r\n\r\n.circle_default_checked:hover .background {\r\n fill: var(--color-background-information, #064E94);\r\n}","import { Component, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { CheckBoxVariants, GeneralSizes, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-checkbox-base',\r\n styleUrl: 'gb-checkbox-base.css',\r\n shadow: true,\r\n})\r\nexport class GbCheckboxBase {\r\n @Prop({ mutable: true }) state: StateEnum;\r\n @Prop() size: GeneralSizes;\r\n @Prop() type: CheckBoxVariants;\r\n @Prop({ mutable: true }) checked: boolean = false;\r\n @Prop({ mutable: true }) indeterminate: boolean = false;\r\n @Event() checkboxClicked: EventEmitter<boolean>;\r\n\r\n private renderSVG() {\r\n switch (this.type) {\r\n case 'checkbox':\r\n return this.renderCheckbox();\r\n case 'check_circle':\r\n return this.renderCircle();\r\n case 'radio':\r\n return this.renderRadio();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private renderCheckbox() {\r\n if (this.state === StateEnum.Default && this.checked) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`checkbox_default_checked ${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n fill=\"#075DB2\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n stroke=\"#075DB2\"\r\n class=\"border\"\r\n />\r\n <path d=\"M4.5 9.25C4.5 9.25 5.25 9.25 6.25 11C6.25 11 9.02941 6.41667 11.5 5.5\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n );\r\n } else if (this.state === StateEnum.Default && this.indeterminate) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`checkbox_default_indeterminate ${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n fill=\"#075DB2\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n stroke=\"#075DB2\"\r\n class=\"border\"\r\n />\r\n <path d=\"M12 8L4 8\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n );\r\n } else if (this.state === StateEnum.Disabled && !this.checked) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`checkbox_disabled_unchecked ${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n fill=\"#F6F8FA\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n stroke=\"#E3E8EF\"\r\n />\r\n </svg>\r\n );\r\n } else if (this.state === StateEnum.Disabled && this.checked) {\r\n return (\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5H12C13.8998 0.5 15.2743 0.501062 16.3225 0.641988C17.3563 0.78098 17.9975 1.04772 18.4749 1.52513C18.9523 2.00253 19.219 2.64373 19.358 3.67754C19.4989 4.72573 19.5 6.10025 19.5 8V12C19.5 13.8998 19.4989 15.2743 19.358 16.3225C19.219 17.3563 18.9523 17.9975 18.4749 18.4749C17.9975 18.9523 17.3563 19.219 16.3225 19.358C15.2743 19.4989 13.8998 19.5 12 19.5H8C6.10025 19.5 4.72573 19.4989 3.67754 19.358C2.64373 19.219 2.00253 18.9523 1.52513 18.4749C1.04772 17.9975 0.78098 17.3563 0.641988 16.3225C0.501062 15.2743 0.5 13.8998 0.5 12V8Z\"\r\n fill=\"#9AA4B2\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5H12C13.8998 0.5 15.2743 0.501062 16.3225 0.641988C17.3563 0.78098 17.9975 1.04772 18.4749 1.52513C18.9523 2.00253 19.219 2.64373 19.358 3.67754C19.4989 4.72573 19.5 6.10025 19.5 8V12C19.5 13.8998 19.4989 15.2743 19.358 16.3225C19.219 17.3563 18.9523 17.9975 18.4749 18.4749C17.9975 18.9523 17.3563 19.219 16.3225 19.358C15.2743 19.4989 13.8998 19.5 12 19.5H8C6.10025 19.5 4.72573 19.4989 3.67754 19.358C2.64373 19.219 2.00253 18.9523 1.52513 18.4749C1.04772 17.9975 0.78098 17.3563 0.641988 16.3225C0.501062 15.2743 0.5 13.8998 0.5 12V8Z\"\r\n stroke=\"#9AA4B2\"\r\n />\r\n <path\r\n d=\"M5.3335 11.6667C5.3335 11.6667 6.3335 11.6667 7.66683 14C7.66683 14 11.3727 7.88888 14.6668 6.66666\"\r\n stroke=\"#E3E8EF\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n } else if (this.state === StateEnum.Disabled && this.indeterminate) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5H12C13.8998 0.5 15.2743 0.501062 16.3225 0.641988C17.3563 0.78098 17.9975 1.04772 18.4749 1.52513C18.9523 2.00253 19.219 2.64373 19.358 3.67754C19.4989 4.72573 19.5 6.10025 19.5 8V12C19.5 13.8998 19.4989 15.2743 19.358 16.3225C19.219 17.3563 18.9523 17.9975 18.4749 18.4749C17.9975 18.9523 17.3563 19.219 16.3225 19.358C15.2743 19.4989 13.8998 19.5 12 19.5H8C6.10025 19.5 4.72573 19.4989 3.67754 19.358C2.64373 19.219 2.00253 18.9523 1.52513 18.4749C1.04772 17.9975 0.78098 17.3563 0.641988 16.3225C0.501062 15.2743 0.5 13.8998 0.5 12V8Z\"\r\n fill=\"#9AA4B2\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5H12C13.8998 0.5 15.2743 0.501062 16.3225 0.641988C17.3563 0.78098 17.9975 1.04772 18.4749 1.52513C18.9523 2.00253 19.219 2.64373 19.358 3.67754C19.4989 4.72573 19.5 6.10025 19.5 8V12C19.5 13.8998 19.4989 15.2743 19.358 16.3225C19.219 17.3563 18.9523 17.9975 18.4749 18.4749C17.9975 18.9523 17.3563 19.219 16.3225 19.358C15.2743 19.4989 13.8998 19.5 12 19.5H8C6.10025 19.5 4.72573 19.4989 3.67754 19.358C2.64373 19.219 2.00253 18.9523 1.52513 18.4749C1.04772 17.9975 0.78098 17.3563 0.641988 16.3225C0.501062 15.2743 0.5 13.8998 0.5 12V8Z\"\r\n stroke=\"#9AA4B2\"\r\n />\r\n <path d=\"M15.3335 10L4.66683 10\" stroke=\"#E3E8EF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>;\r\n } else {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`checkbox_default_unchecked ${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n stroke=\"#CDD5DF\"\r\n />\r\n </svg>\r\n );\r\n }\r\n }\r\n\r\n private renderCircle() {\r\n if (this.checked && this.state === StateEnum.Default) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`circle_default_checked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#075DB2\" class=\"background\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#075DB2\" />\r\n <path\r\n d=\"M5.0835 9.04166C5.0835 9.04166 5.7085 9.04166 6.54183 10.5C6.54183 10.5 8.85801 6.68055 10.9168 5.91666\"\r\n stroke=\"white\"\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 } else if (!this.checked && this.state === StateEnum.Default) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`circle_default_unchecked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#CDD5DF\" />\r\n </svg>\r\n );\r\n } else if (this.checked && this.state === StateEnum.Disabled) {\r\n return (\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`circle_disabled_checked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"19\" height=\"19\" rx=\"9.5\" fill=\"#9AA4B2\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#9AA4B2\" />\r\n <path\r\n d=\"M5.9165 11.4583C5.9165 11.4583 6.7915 11.4583 7.95817 13.5C7.95817 13.5 11.2008 8.15279 14.0832 7.08334\"\r\n stroke=\"#E3E8EF\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n } else if (!this.checked && this.state === StateEnum.Disabled) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`circle_disabled_unchecked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#E3E8EF\" />\r\n </svg>\r\n );\r\n }\r\n }\r\n\r\n private renderRadio() {\r\n if (this.state === StateEnum.Default && this.checked) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`radio_default_checked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#075DB2\" />\r\n <circle cx=\"8\" cy=\"8\" r=\"3\" fill=\"#075DB2\" />\r\n </svg>\r\n );\r\n } else if (this.state === StateEnum.Disabled && !this.checked) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`radio_disabled_unchecked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#E3E8EF\" />\r\n </svg>\r\n );\r\n } else if (this.state === StateEnum.Disabled && this.checked) {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class={`radio_disabled_checked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#9AA4B2\" />\r\n <circle cx=\"10\" cy=\"10\" r=\"4\" fill=\"#9AA4B2\" />\r\n </svg>\r\n );\r\n } else {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`radio_default_unchecked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#CDD5DF\" />\r\n </svg>\r\n );\r\n }\r\n }\r\n\r\n private toggleCheckboxState() {\r\n if (this.state === StateEnum.Default && !this.checked) {\r\n this.checked = true;\r\n this.checkboxClicked.emit(this.checked);\r\n } else if (this.state === StateEnum.Default && this.checked) {\r\n this.checked = false;\r\n this.checkboxClicked.emit(this.checked);\r\n }\r\n }\r\n\r\n private toggleCheckCircleState() {\r\n if ((this.state === StateEnum.Disabled && this.checked) || (this.state === StateEnum.Disabled && !this.checked)) {\r\n return;\r\n }\r\n\r\n if (this.state === StateEnum.Default && !this.checked) {\r\n this.checked = true;\r\n this.checkboxClicked.emit(this.checked);\r\n } else if (this.state == StateEnum.Default && this.checked) {\r\n this.checked = false;\r\n this.checkboxClicked.emit(this.checked);\r\n }\r\n }\r\n\r\n private toggleRadioButtonState() {\r\n if ((this.state === StateEnum.Disabled && !this.checked) || (this.state === StateEnum.Disabled && this.checked)) {\r\n return;\r\n }\r\n if (this.state === StateEnum.Default && !this.checked) {\r\n this.checked = true;\r\n this.checkboxClicked.emit(this.checked);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div\r\n class={`checkbox_container ${this.size}`}\r\n onClick={() => {\r\n if (this.type === 'checkbox') {\r\n return this.toggleCheckboxState();\r\n } else if (this.type === 'check_circle') {\r\n return this.toggleCheckCircleState();\r\n } else if (this.type === 'radio') {\r\n return this.toggleRadioButtonState();\r\n }\r\n }}\r\n >\r\n {this.renderSVG()}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.help_tooltip{\r\n display: flex;\r\n position: relative;\r\n width: fit-content;\r\n height: fit-content;\r\n}\r\n\r\n.tooltip{\r\n position: absolute;\r\n top: -7rem;\r\n right: 5.75rem;\r\n}","import { Component, Prop, h, State, Element } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-help-tooltip',\r\n styleUrl: 'gb-help-tooltip.css',\r\n shadow: true,\r\n})\r\nexport class GbHelpTooltip {\r\n @State() showHelpTooltip: boolean = false;\r\n @Prop() showArrow: boolean = false;\r\n @Prop() showSupportingText: boolean = false;\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const mainTextSlot = this.el.querySelector('[slot=\"label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\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 render() {\r\n return (\r\n <div class={`help_tooltip`}>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n onMouseEnter={() => (this.showHelpTooltip = true)}\r\n onMouseLeave={() => (this.showHelpTooltip = false)}\r\n class=\"help_circle\"\r\n >\r\n <path\r\n d=\"M6.66659 6C6.66659 5.26362 7.26354 4.66666 7.99992 4.66666C8.7363 4.66666 9.33325 5.26362 9.33325 6C9.33325 6.26543 9.25569 6.51275 9.12199 6.72052C8.72352 7.33978 7.99992 7.93028 7.99992 8.66666V9M7.99458 11.3333H8.00057M14.6666 8C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8C1.33325 4.3181 4.31802 1.33333 7.99992 1.33333C11.6818 1.33333 14.6666 4.3181 14.6666 8Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n {this.showHelpTooltip && (\r\n <gb-tooltip show-arrow={true} arrow=\"bottom_right\" show-supporting-text={this.showSupportingText} class=\"tooltip\">\r\n <slot name=\"label\" slot=\"label\"></slot>\r\n <slot name=\"supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.horizontal_tab_div{\r\n display: flex;\r\n justify-content: flex-start;\r\n height: fit-content;\r\n gap: var(--spacing-4);\r\n width: 100%;\r\n}\r\n\r\n/* Tab Type Styles */\r\n.horizontal_tab_div.underline,\r\n.horizontal_tab_div.underline_filled{\r\n box-shadow: inset 0 -1px 0 0 var(--color-border-subtle, #CDD5DF);\r\n width: 100%;\r\n}\r\n\r\n.horizontal_tab_div.button_white_border,\r\n.horizontal_tab_div.rounded_button_white_border{\r\n padding: var(--spacing-1);\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n}\r\n\r\n.horizontal_tab_div.button_white_border{\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n\r\n.horizontal_tab_div.rounded_button_white_border{\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n/* Full Width Styles */\r\n.horizontal_tab_div.full_width{\r\n justify-content: space-between;\r\n}\r\n\r\n.horizontal_tab_div.button_primary,\r\n.horizontal_tab_div.button_gray,\r\n.horizontal_tab_div.button_white_border,\r\n.horizontal_tab_div.rounded_button_white_border{\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.tab_button_base.full_width{\r\n display: flex;\r\n justify-content: center;\r\n flex-grow: 1;\r\n}","import { Component, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\nimport { GeneralSizes, TabTypes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-horizontal-tabs',\r\n styleUrl: 'gb-horizontal-tabs.css',\r\n shadow: true,\r\n})\r\nexport class GbHorizontalTabs {\r\n @Prop() type: TabTypes;\r\n @Prop() size: GeneralSizes;\r\n @Prop() fullWidth: boolean = false;\r\n @Prop() firstTabName: string = '';\r\n @Prop() secondTabName: string = '';\r\n @Prop() thirdTabName: string = '';\r\n @Prop() fourthTabName: string = '';\r\n @Prop() fifthTabName: string = '';\r\n @Prop() sixthTabName: string = '';\r\n @Prop() seventhTabName: string = '';\r\n @Prop() eighthTabName: string = '';\r\n @Prop() ninthTabName: string = '';\r\n @Prop() tenthTabName: string = '';\r\n @Prop() eleventhTabName: string = '';\r\n @Prop() twelfthTabName: string = '';\r\n @Prop() thirteenthTabName: string = '';\r\n @Prop() fourteenthTabName: string = '';\r\n @Prop() fifteenthTabName: string = '';\r\n @Prop() sixteenthTabName: string = '';\r\n @Prop() seventeenthTabName: string = '';\r\n @Prop() eighteenthTabName: string = '';\r\n @Prop() nineteenthTabName: string = '';\r\n @Prop() twentiethTabName: string = '';\r\n @Prop({ mutable: true }) activeIndex: number;\r\n @Event() tabItemClicked: EventEmitter<number>;\r\n\r\n async handleTabClick(index: number) {\r\n this.activeIndex = index;\r\n this.tabItemClicked.emit(index);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}`}>\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(0)}\r\n current={this.activeIndex === 0}\r\n tab-name={this.firstTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(1)}\r\n current={this.activeIndex === 1}\r\n tab-name={this.secondTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n {this.thirdTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(2)}\r\n current={this.activeIndex === 2}\r\n tab-name={this.thirdTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.fourthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(3)}\r\n current={this.activeIndex === 3}\r\n tab-name={this.fourthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.fifthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(4)}\r\n current={this.activeIndex === 4}\r\n tab-name={this.fifthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.sixthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(5)}\r\n current={this.activeIndex === 5}\r\n tab-name={this.sixthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.seventhTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(6)}\r\n current={this.activeIndex === 6}\r\n tab-name={this.seventhTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.eighthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(7)}\r\n current={this.activeIndex === 7}\r\n tab-name={this.eighthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.ninthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(8)}\r\n current={this.activeIndex === 8}\r\n tab-name={this.ninthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.tenthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(9)}\r\n current={this.activeIndex === 9}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.eleventhTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(10)}\r\n current={this.activeIndex === 10}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.twelfthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(11)}\r\n current={this.activeIndex === 11}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.thirteenthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(12)}\r\n current={this.activeIndex === 12}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.fourteenthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(13)}\r\n current={this.activeIndex === 13}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.fifteenthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(14)}\r\n current={this.activeIndex === 14}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.sixteenthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(15)}\r\n current={this.activeIndex === 15}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.seventeenthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(16)}\r\n current={this.activeIndex === 16}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.eighteenthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(17)}\r\n current={this.activeIndex === 17}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.nineteenthTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(18)}\r\n current={this.activeIndex === 18}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n {this.twentiethTabName && (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(19)}\r\n current={this.activeIndex === 19}\r\n tab-name={this.tenthTabName}\r\n alignment=\"horizontal\"\r\n ></gb-tab-button-base>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.input_dropdown_div{\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n border-radius: 0.5rem;\r\n gap: var(--spacing-3);\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n background-color: var(--color-background-card, #FFFFFF);\r\n padding: var(--spacing-none) var(--spacing-3);\r\n cursor: pointer;\r\n position: relative;\r\n}\r\n\r\n.input_dropdown_container{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.input_dropdown_container.tag{\r\n min-height: 3rem;\r\n}\r\n\r\n.icon{\r\n display: flex;\r\n align-items: center;\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.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/* Size Styles */\r\n.input_dropdown_div.sm{\r\n height: 2.5rem;\r\n}\r\n\r\n.input_dropdown_div.md{\r\n height: 3rem;\r\n}\r\n\r\n.dot.sm{\r\n width: var(--spacing-2);\r\n height: var(--spacing-2);\r\n}\r\n\r\n.dot.md{\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n}\r\n\r\n/* State Styles */\r\n.input_dropdown_div.focused{\r\n border-color: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.input_dropdown_div.destructive{\r\n border-color: var(--color-border-danger, #B51726);\r\n}\r\n\r\n.input_dropdown_div.disabled{\r\n background-color: var(--color-background-disabled, #F6F8FA);\r\n pointer-events: none;\r\n cursor: not-allowed;\r\n}\r\n\r\n.placeholder{\r\n display: flex;\r\n justify-content: stretch;\r\n width: 100%;\r\n white-space: nowrap;\r\n}\r\n\r\n.content{\r\n display: flex;\r\n gap: var(--spacing-2);\r\n overflow: hidden; /* Clip overflowing content */\r\n /* width: 50px; */\r\n flex: 1 0 0;\r\n}\r\n\r\n.text.tag{\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: stretch;\r\n flex-wrap: wrap;\r\n gap: 0.38rem;\r\n padding: 0.4rem 0;\r\n}\r\n\r\n.added_tag{\r\n width: fit-content;\r\n}\r\n\r\n.help_icon{\r\n display: flex;\r\n align-items: center;\r\n height: fit-content;\r\n}\r\n\r\n.dropdown_icon{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\nsvg.disabled path{\r\n stroke: var(--color-icon-disabled, #CDD5DF);\r\n}\r\n\r\n.dropdown_menu{\r\n display: flex;\r\n min-width: 100%;\r\n max-height: 300px;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: flex-start;\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 gap: var(--spacing-none);\r\n transition: 1s ease-in-out;\r\n overflow-y: auto;\r\n}\r\n\r\n.dropdown_menu.top{\r\n bottom: 105%;\r\n left: 0;\r\n z-index: 999;\r\n}\r\n\r\n.dropdown_menu.bottom{\r\n top: 105%;\r\n left: 0;\r\n z-index: 999;\r\n}\r\n\r\n/* .input_dropdown_div.sm.tag{\r\n min-height: 2.5rem;\r\n} */\r\n\r\n.input_dropdown_div.tag{\r\n min-height: 3rem;\r\n height: fit-content;\r\n}\r\n\r\n.input_dropdown_div.md.tag{\r\n min-height: 2.5rem;\r\n}\r\n\r\n.input_dropdown_div.md.tag{\r\n min-height: 3rem;\r\n}\r\n\r\n.opened{\r\n transform: rotate(180deg);\r\n transition: 0.2s ease-in-out;\r\n}\r\n\r\n::slotted([slot=\"tooltip_label\"]){\r\n white-space: nowrap;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"tooltip_supporting_text\"]){\r\n min-width: fit-content;\r\n max-width: 18.5rem;\r\n color: var(--color-text-subtle, #697586);\r\n margin-top: 5rem;\r\n}\r\n\r\n::slotted([slot=\"initials\"].gray){\r\n color: #4B5565;\r\n}\r\n\r\n::slotted([slot=\"initials\"].blue){\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n::slotted([slot=\"initials\"].cyan){\r\n color: var(--color-text-discovery, #0086C9);\r\n}\r\n\r\n::slotted([slot=\"initials\"].pink){\r\n color: var(--color-text-pink, #DD2590);\r\n}\r\n\r\n::slotted([slot=\"initials\"].purple){\r\n color: var(--color-text-purple, #6938EF);\r\n}\r\n\r\n::slotted([slot=\"initials\"].green){\r\n color: var(--color-text-success, #079455);\r\n}\r\n\r\n::slotted([slot=\"initials\"].yellow){\r\n color: var(--color-text-warning, #DC6803);\r\n}\r\n\r\n.dropdown_search_field{\r\n background: var(--color-surface, #FFFFFF);\r\n padding: var(--spacing-2) var(--spacing-2) var(--spacing-none) var(--spacing-2);\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n}\r\n\r\n.empty_state{\r\n margin: auto;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.background{\r\n position: relative;\r\n width: 80%;\r\n}\r\n\r\n.message_background{\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n}\r\n\r\n.illustration{\r\n width: 100px;\r\n height: 100px;\r\n}\r\n\r\n.message{\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.text{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 1 auto; /* Allow it to grow and shrink */\r\n overflow: hidden; /* Prevent content from overflowing */\r\n}\r\n\r\n.selected_text{\r\n overflow: hidden; /* Hide overflowing text */\r\n text-overflow: ellipsis;\r\n white-space: nowrap; /* Prevent wrapping */\r\n flex: 1 1 auto; /* Take up available space and adjust dynamically */\r\n min-width: 0; /* Ensures it respects parent width in flexbox */\r\n}\r\n\r\n/* .new_div{\r\n background: red;\r\n display: flex;\r\n flex: 1 0 0;\r\n justify-content: space-between;\r\n} */\r\n\r\n/* .icon_and_text{\r\n background: purple;\r\n display: flex;\r\n flex: 1 0 0;\r\n} */","import { Component, Prop, h, Fragment, Element, State, getAssetPath, Listen, Event, EventEmitter } from '@stencil/core';\r\nimport { AvatarColorTypes, DropdownTypes, GeneralSizes, StateEnum } from '../../models/reusableModels';\r\n@Component({\r\n tag: 'gb-input-dropdown',\r\n styleUrl: 'gb-input-dropdown.css',\r\n shadow: true,\r\n})\r\nexport class GbInputDropdown {\r\n @Prop() type: DropdownTypes;\r\n @Prop({ mutable: true }) state: 'default' | 'focused' | 'disabled' | 'filled';\r\n @Prop() size: GeneralSizes;\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop() showHintText: boolean;\r\n @Prop() hintText: string = '';\r\n @Prop() showHelpIcon: boolean;\r\n @Prop() showLeadingIcon: boolean = false;\r\n @Prop() iconSwap: string = '';\r\n @Prop() text: boolean = false;\r\n @Prop() leadingIcon: string = '';\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop({ mutable: true }) items: any[] = [\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // { name: 'Mock Item D', username: 'D', selected: false },\r\n // { name: 'Mock Item E', username: 'E', selected: false },\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: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45,\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: AvatarColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Prop() menuPosition: 'top' | ' bottom';\r\n @Prop() showSearchInput: boolean = false;\r\n @Prop() inputValue: string;\r\n @Prop() destructive: boolean = false;\r\n @Prop() errorText: string = '';\r\n @State() leadingIconSvg: string = '';\r\n @State() dropdownOpen: boolean = false;\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @State() selectedItem: any;\r\n @State() searchItem: any;\r\n @State() searchResults: any;\r\n @Element() el: HTMLElement;\r\n // @Event() dropdownValue: EventEmitter<any>;\r\n @Event() dropdownItemSelected: EventEmitter<any>;\r\n\r\n dropdownRef!: HTMLElement;\r\n\r\n searchItems(event: CustomEvent<any>) {\r\n this.searchItem = event.detail;\r\n this.searchResults = this.items.filter(item => {\r\n if (typeof item === 'string') {\r\n return item.toLowerCase().includes(this.searchItem.toLowerCase());\r\n } else if (typeof item === 'number') {\r\n return item.toString().includes(this.searchItem.toString());\r\n } else if (typeof item === 'object') {\r\n return item.name.toLowerCase().includes(this.searchItem.toLowerCase());\r\n }\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.dropdownOpen && !this.el.contains(event.target as Node)) {\r\n this.dropdownOpen = false;\r\n }\r\n }\r\n\r\n toggleDropdown(event: MouseEvent) {\r\n if (this.state !== 'disabled') {\r\n this.dropdownOpen = !this.dropdownOpen;\r\n }\r\n\r\n // console.log(this.inputValue);\r\n event.stopPropagation();\r\n }\r\n\r\n isItemSelected(item) {\r\n const isObject = typeof item === 'object';\r\n if (this.value.length === 0) {\r\n return this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));\r\n } else if (this.value.length > 0) {\r\n return this.value.some(i => (isObject ? i.name === item.name : i === item));\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n getAvatarSize() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'xs';\r\n case 'md':\r\n return 'xs';\r\n }\r\n }\r\n\r\n sortDropdownItems(menuItems: any[]): any[] {\r\n return menuItems.sort((a, b) => {\r\n if (a.selected && !b.selected) {\r\n return -1; // Move selected items up\r\n } else if (!a.selected && b.selected) {\r\n return 1; // Keep unselected items down\r\n }\r\n return 0; // Keep order if both are selected or unselected\r\n });\r\n }\r\n\r\n handleItemSelect(item) {\r\n 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 (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 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.selectedItems);\r\n this.dropdownItemSelected.emit(this.selectedItem);\r\n }\r\n\r\n selectMultipleItems(item) {\r\n const isObject = typeof item === 'object';\r\n\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));\r\n\r\n if (isSelected) {\r\n // Unselect item: Move it from selectedItems to unselectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n } else {\r\n // Select item: Move it from unselectedItems to selectedItems\r\n this.selectedItems = [...this.selectedItems, item];\r\n this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n console.log(this.selectedItems);\r\n\r\n this.dropdownItemSelected.emit(this.selectedItems);\r\n }\r\n }\r\n\r\n handleTagRemove(item) {\r\n if (this.value.length === 0) {\r\n const isObject = typeof item === 'object';\r\n\r\n // Remove item from selectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n\r\n // Add item back to unselectedItems if not already present\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n\r\n // Optionally update state or emit event\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n } else if (this.value.length > 0) {\r\n const isObject = typeof item === 'object';\r\n\r\n // Remove item from selectedItems\r\n this.value = this.value.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n this.selectedItems = this.value;\r\n\r\n // Add item back to unselectedItems if not already present\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n\r\n // Optionally update state or emit event\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n }\r\n }\r\n\r\n componentWillRender() {\r\n if (this.value.length > 0 && this.state === 'default') {\r\n this.state = 'filled';\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.leadingIcon);\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 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 } 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 <p class=\"text-sm-regular\" style={{ color: '#4B5565' }}>\r\n {this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}\r\n </p>\r\n )}\r\n <div\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 && <>{this.type === 'search' || this.type === 'tags' ? <div class={`icon`} innerHTML={this.leadingIconSvg}></div> : null}</>}\r\n {this.type === 'dot_leading' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class={`dot ${this.size}`}>\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#079455\" />\r\n </svg>\r\n )}\r\n <>\r\n {this.state === 'default' && (\r\n <>\r\n {this.placeholder && (\r\n <div class=\"placeholder\">\r\n <p class=\"text-md-regular\" style={{ color: '#CDD5DF' }}>\r\n {this.placeholder}\r\n </p>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n {this.state === 'filled' && (\r\n <>\r\n <div class={`content`}>\r\n <div class={`text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`} style={{ color: '#4B5565' }}>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.value.length === 0 ? (\r\n <>\r\n {this.selectedItems.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n {this.value.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n )}\r\n </>\r\n ) : (\r\n <p class=\"selected_text\">\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 </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 {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=\"Search banks\"\r\n type=\"icon_leading\"\r\n labelText=\"label\"\r\n idOfInput=\"3\"\r\n onInputValueChanged={this.searchItems.bind(this)}\r\n ></gb-input-field>\r\n </div>\r\n )}\r\n {this.searchItem ? (\r\n <>\r\n {this.searchItem !== '' && this.searchResults.length > 0 ? (\r\n <>\r\n {this.searchResults.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={this.isItemSelected(item)}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n </>\r\n ) : (\r\n <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </>\r\n ) : this.searchItem !== '' && this.searchResults.length === 0 ? (\r\n //Empty state for when there are no search results\r\n <div class=\"empty_state\">\r\n <img src={emptyStateBackground} class=\"background\" alt=\"\" />\r\n <div class=\"message_background\">\r\n <img src={illustration} alt=\"\" class=\"illustration\" />\r\n <p class=\"message text-md-semi-bold\">No results available</p>\r\n </div>\r\n </div>\r\n ) : null}\r\n </>\r\n ) : (\r\n <>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.selectedItems.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={true}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n <h1 slot=\"initials\">{item.name.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.split(' ').map(part => part.charAt(0).toUpperCase())}</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 {this.items.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={this.isItemSelected(item)}\r\n color={this.color}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n </>\r\n ) : (\r\n typeof item !== 'object' && (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item}</h1>\r\n </>\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 {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","@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 border-radius: var(--rounded-xs);\r\n cursor: pointer;\r\n color: var(--color-text, #4B5565);\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::slotted([slot='name']) {\r\n font-size: var(--Font-Size-T-md, 16px);\r\n font-weight: var(--Font-Weight-Medium, 500);\r\n line-height: var(--Font-Line-height-T-md, 24px); /* 150% */\r\n}\r\n\r\n::slotted([slot='name'].no_wrap) {\r\n white-space: nowrap;\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}\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}","import { Component, Element, Prop, h, Fragment, Event, EventEmitter, Method } from \"@stencil/core\";\r\nimport { AvatarColorTypes, 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;\r\n @Prop() supportingText: boolean = false;\r\n @Prop({ mutable: true }) selected: boolean = false;\r\n @Prop() state: StateEnum;\r\n @Prop() color: AvatarColorTypes;\r\n @Element() el: HTMLElement;\r\n @Event() dropdownItemClicked: EventEmitter<void>;\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 nameSlot.classList.add('no_wrap');\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 @Method()\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' && (\r\n <svg id=\"icon\" 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.6034 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3334 6.32572 18.3334H13.6743C14.9621 18.3334 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6034 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.5\"\r\n />\r\n <path\r\n d=\"M13.75 5.41669C13.75 7.48776 12.0711 9.16669 10 9.16669C7.92893 9.16669 6.25 7.48776 6.25 5.41669C6.25 3.34562 7.92893 1.66669 10 1.66669C12.0711 1.66669 13.75 3.34562 13.75 5.41669Z\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.5\"\r\n />\r\n </svg>\r\n )}\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}","@import './../../global/global.css';\r\n:host{\r\n position: relative;\r\n}\r\n\r\n.input_container,\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.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.content{\r\n width: 100%;\r\n height: 100%;\r\n border: none;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.content::placeholder,\r\n.input_like::placeholder{\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\n.content:focus,\r\n.input_like:focus{\r\n outline: none;\r\n}\r\n\r\n.icon{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.input{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n align-self: stretch;\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.input,\r\n.input.icon_leading,\r\n.password_input{\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n background: var(--color-background-card, #FFFFFF);\r\n}\r\n\r\n.input.leading_text{\r\n flex-grow: 1;\r\n border-radius: var(--rounded-none, 0rem) 0.5rem 0.5rem var(--rounded-none, 0rem);\r\n}\r\n\r\n.leading_text_input{\r\n display: flex;\r\n gap: var(--spacing-none);\r\n padding: var(--spacing-none);\r\n}\r\n\r\n\r\n\r\n.add_on{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n border-right: none;\r\n padding: var(--spacing-2) var(--spacing-3);\r\n border-radius: 0.5rem var(--rounded-none) var(--rounded-none) 0.5rem;\r\n}\r\n\r\n.text_input{\r\n flex-grow: 1;\r\n height: 100%;\r\n}\r\n\r\n.trailing_button_text_input, .leading_dropdown_text_input{\r\n display: flex;\r\n flex-grow: 1;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.trailing_button_text_input.sm,\r\n.trailing_button_text_input.md{\r\n padding: var(--spacing-none) 0 0 var(--spacing-3);\r\n}\r\n\r\n.input.trailing_button.sm.default,\r\n.input.trailing_button.md.default{\r\n padding: 0;\r\n}\r\n\r\n.leading_dropdown_dropdown, .trailing_dropdown_dropdown{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n cursor: pointer;\r\n}\r\n\r\n.dropdown_arrow{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.tick{\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.help_circle{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n/* .input.tags{\r\n position: relative;\r\n} */\r\n\r\n/* Size Styles */\r\n.input.sm{\r\n min-height: 2.5rem;\r\n}\r\n\r\n.input.md{\r\n min-height: 3rem;\r\n}\r\n\r\n.input.sm.default,\r\n.input.sm.password_icon_leading{\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.sm.icon_leading{\r\n position: relative;\r\n padding: var(--spacing-none) var(--spacing-2) var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.sm.payment_input{\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.md.default{\r\n padding: var(--spacing-none) 0.875rem var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.md.icon_leading{\r\n position: relative;\r\n padding: var(--spacing-none) var(--spacing-2) var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.md.password_icon_leading{\r\n padding: var(--spacing-none) var(--spacing-2) var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.md.payment_input{\r\n padding: 0 0.875rem 0 var(--spacing-3);\r\n}\r\n\r\n/* State Styles */\r\n.input:focus-within,\r\n.password_input:focus-within,\r\n.count_text_input:focus-within,\r\n.input_like_parent:focus-within{\r\n border: 1.3px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.input.disabled,\r\n.password_input.disabled,\r\n.count_text_input.disabled,\r\n.action.disabled,\r\n.input_like_parent.disabled{\r\n border: 1px solid var(--color-border-disabled, #E3E8EF);\r\n}\r\n\r\n.input.disabled,\r\n.content.disabled,\r\n.password_input.disabled,\r\n.count_text_input.disabled,\r\n.input_like_parent.disabled,\r\n.input_like.disabled{\r\n background: var(--color-background-disabled, #F6F8FA);\r\n color: var(--color-text-subtle, #697586); \r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.input_group.disabled{\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.icon.disabled path[stroke]{\r\n stroke: var(--color-icon-disabled, #CDD5DF);\r\n}\r\n\r\n.input.destructive,\r\n.input.icon_leading.destructive,\r\n.count_text_input.destructive,\r\n.input_like_parent.destructive{\r\n border: 1px solid var(--color-border-danger, #B51726); \r\n}\r\n\r\n::slotted([slot=\"tooltip_label\"]){\r\n white-space: nowrap;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"tooltip_supporting_text\"]){\r\n min-width: fit-content;\r\n max-width: 18.5rem;\r\n color: var(--color-text-subtle, #697586);\r\n margin-top: 5rem;\r\n}\r\n\r\n::slotted([slot=\"text\"].text_slot){\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"text\"].text_slot.disabled){\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\n/* Type Styles */\r\n.password_input{\r\n display: flex;\r\n gap: var(--spacing-3);\r\n align-items: center;\r\n align-self: stretch;\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.password_content{\r\n display: flex;\r\n gap: var(--spacing-2);\r\n padding: 0.625rem var(--spacing-none) 0.625rem 0.875rem;\r\n flex-grow: 1;\r\n}\r\n\r\n.dropdown{\r\n padding-right: var(--spacing-half);\r\n padding-left: var(--spacing-3);\r\n}\r\n\r\n.password_icon_leading_content{\r\n display: flex;\r\n align-items: center;\r\n flex-grow: 1;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.count_input{\r\n display: flex;\r\n gap: var(--spacing-none);\r\n}\r\n\r\n.count_text_input{\r\n display: flex;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 0 0;\r\n align-self: stretch;\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n border-radius: 0.5rem var(--rounded-none) var(--rounded-none) 0.5rem;\r\n}\r\n\r\n.action{\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n border-left: none;\r\n display: flex;\r\n /* padding-right: var(--spacing-1); */\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n align-self: stretch;\r\n border-radius: var(--rounded-none) 0.5rem 0.5rem var(--rounded-none);\r\n}\r\n\r\n/* hr{\r\n height: 100%;\r\n border-right: 0.5px solid var(--color-border-input, #CDD5DF);\r\n} */\r\n\r\n.vertical_line{\r\n width: 1px;\r\n height: 100%;\r\n background-color: var(--color-border-input, #CDD5DF);\r\n /* border-right: 1px solid var(--color-border-input, #CDD5DF); */\r\n}\r\n\r\n.trailing_dropdown_content{\r\n display: flex;\r\n align-items: center;\r\n flex-grow: 1;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.country_icon{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.dropdown_menu{\r\n display: flex;\r\n width: fit-content;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: flex-start;\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: 10;\r\n gap: var(--spacing-none);\r\n}\r\n\r\n.dropdown_menu.leading_dropdown.top.sm{\r\n bottom: 3rem;\r\n left: 0;\r\n}\r\n\r\n.dropdown_menu.leading_dropdown.top.md{\r\n bottom: 3.5rem;\r\n left: 0;\r\n}\r\n\r\n.dropdown_menu.leading_dropdown.bottom.sm{\r\n top: 4rem;\r\n left: 0;\r\n}\r\n\r\n.dropdown_menu.leading_dropdown.bottom.md{\r\n top: 4.5rem;\r\n left: 0;\r\n}\r\n\r\n.dropdown_menu.trailing_dropdown.top.sm{\r\n bottom: 3rem;\r\n right: 0;\r\n}\r\n\r\n.dropdown_menu.trailing_dropdown.top.md{\r\n bottom: 3.5rem;\r\n right: 0;\r\n}\r\n\r\n.dropdown_menu.trailing_dropdown.bottom.sm{\r\n top: 4rem;\r\n right: 0;\r\n}\r\n\r\n.dropdown_menu.trailing_dropdown.bottom.md{\r\n top: 4.5rem;\r\n right: 0;\r\n}\r\n\r\n/* Input Tags Styles */\r\n.input_group {\r\n --height: auto;\r\n --inputheight: 4.5rem;\r\n --weight: 100%;\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.input_like_parent {\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n border-radius: var(--rounded-sm);\r\n display: flex;\r\n cursor: pointer;\r\n /* flex-wrap: wrap; */\r\n}\r\n\r\n.input_like_parent.sm{\r\n padding: 0.5rem 0.75rem 0.5rem var(--spacing-3);\r\n}\r\n\r\n.input_like_parent.md{\r\n padding: 0.625rem 0.875rem 0.625rem var(--spacing-3);\r\n}\r\n\r\n.input_field{\r\n display: flex;\r\n gap: var(--spacing-2);\r\n align-items: center;\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; /* Preserves spaces */\r\n}\r\n\r\n.input_like {\r\n border: none;\r\n color: var(--color-text, #4B5565);\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 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.tags{\r\n padding-top: 1rem;\r\n}\r\n\r\n.dropdown_list.show {\r\n display: block;\r\n}\r\n\r\n.tags_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\r\n}\r\n\r\n.tags_dropdown_menu.top{\r\n bottom: 105%;\r\n}\r\n\r\n.tags_dropdown_menu.bottom{\r\n top: 105%;\r\n}\r\n\r\n.input_close_button{\r\n position: absolute;\r\n z-index: 9999;\r\n}\r\n\r\n.input_close_button.sm{\r\n right: 0.2rem;\r\n top: 0.15rem;\r\n}\r\n\r\n.input_close_button.md{\r\n right: 0.3rem;\r\n top: 0.25rem;\r\n}","import { Component, Prop, h, State, Event, EventEmitter, Fragment, Element, getAssetPath, Watch, Listen } from '@stencil/core';\r\nimport { GeneralSizes, InputFieldTypes, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-input-field',\r\n styleUrl: 'gb-input-field.css',\r\n shadow: true,\r\n})\r\nexport class GbInputField {\r\n @Prop() size: GeneralSizes;\r\n @Prop() type: InputFieldTypes;\r\n @Prop({ mutable: true }) destructive: boolean = false;\r\n @Prop() state: 'default' | 'filled' | 'active' | 'disabled';\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() showPlaceholder: boolean = false;\r\n @Prop() placeholder: string = '';\r\n @Prop() showHelpIcon: boolean = false;\r\n @Prop() showValidation: boolean = false;\r\n @Prop() showCountryIcon: boolean = true;\r\n @Prop() iconSwap?: string;\r\n @Prop({ mutable: true }) showCloseButton?: boolean = false;\r\n @Prop({ mutable: true }) options: string[] = ['USD', 'NGN', 'CAD'];\r\n @Prop({ reflect: true }) idOfInput: string;\r\n @Prop({ reflect: true }) labelText: string;\r\n @Prop({ reflect: true }) isReadOnly: boolean = 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() menuPosition: 'top' | 'bottom';\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | '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 // 10,\r\n ];\r\n @State() inputValue: string = '';\r\n @State() tags: string[] = [];\r\n @State() leadingIconSvg: string = '';\r\n @State() isPasswordVisible: boolean = false;\r\n @State() showDropdown: boolean = false;\r\n @State() selectedItem: string = '';\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @State() paddingLeft: string = '1rem';\r\n @State() paddingTop: string = '0rem';\r\n @State() dropdownOpen: boolean = false;\r\n @State() show: boolean = false;\r\n @State() showSpinner: boolean = false;\r\n @Event() inputValueChanged: EventEmitter<any>;\r\n @Element() el: HTMLElement;\r\n\r\n private hiddenSpan: HTMLElement;\r\n private minWidth: number = 10;\r\n\r\n inputRef: HTMLInputElement;\r\n dropdownRef!: HTMLElement;\r\n inputElement!: HTMLInputElement;\r\n resultsDisplayElement!: HTMLDivElement;\r\n inputGroupElement!: HTMLDivElement;\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 handleTagInput(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n this.inputValue = target.value; // Update the value\r\n this.inputValueChanged.emit(this.inputValue);\r\n\r\n if (this.inputValue.trim() === '') {\r\n this.showDropdown = false;\r\n // this.results = [];\r\n return;\r\n }\r\n\r\n this.showSpinner = true;\r\n\r\n // Simulate API call\r\n setTimeout(() => {\r\n // this.results = this.mockStaffSearch(this.inputValue);\r\n this.showDropdown = this.results.length > 0;\r\n }, 1000);\r\n\r\n this.updateInputWidth();\r\n }\r\n\r\n // mockStaffSearch(query: string) {\r\n // const mockData = this.results;\r\n\r\n // return mockData.filter(staff => staff.name.toLowerCase().includes(query.toLowerCase()));\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.inputValueChanged.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.inputValueChanged.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 console.log(this.value)\r\n this.inputValueChanged.emit(this.value);\r\n } else {\r\n this.value = [...this.value, item]; // Add item to array\r\n this.inputValueChanged.emit(this.value);\r\n }\r\n }\r\n\r\n this.updateStyles();\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 console.log(this.value);\r\n // this.updateStyles();\r\n } else {\r\n this.selectedItems = [...this.selectedItems.slice(0, index), ...this.selectedItems.slice(index + 1)];\r\n this.updateStyles();\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 exportSelectedStaff() {\r\n this.inputValueChanged.emit(this.selectedItems);\r\n }\r\n\r\n private copyToClipboard = () => {\r\n if (this.inputRef) {\r\n this.inputRef.select();\r\n document.execCommand('copy'); // Deprecated but works in most browsers\r\n // For modern browsers:\r\n navigator.clipboard.writeText(this.inputRef.value);\r\n }\r\n };\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.showDropdown && !this.el.contains(event.target as Node)) {\r\n this.showDropdown = false;\r\n }\r\n }\r\n\r\n /* Function to handle and emit the inputted values */\r\n handleInput(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n this.inputValue = target.value;\r\n if (this.inputValue) {\r\n this.showCloseButton = true;\r\n } else {\r\n this.showCloseButton = false;\r\n }\r\n this.inputValueChanged.emit(this.inputValue);\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 /* Function to handle and emit the inputted values */\r\n togglePasswordVisibility() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n }\r\n\r\n @Watch('options')\r\n optionsChanged(newOptions: string[]) {\r\n // Update selectedItem when options are loaded or change\r\n if (newOptions.length > 0 && !this.selectedItem) {\r\n this.selectedItem = newOptions[0];\r\n }\r\n }\r\n\r\n isItemSelected(option) {\r\n return this.selectedItem === option;\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 handleItemSelect(option) {\r\n // For other types, allow only one selection\r\n this.selectedItem = option;\r\n this.showDropdown = false; // Close the dropdown\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 componentWillLoad() {\r\n // this.selectedItem = this.options[0];\r\n\r\n if (this.options && this.options.length > 0) {\r\n this.selectedItem = this.options[0]; // Set the first item as default\r\n }\r\n\r\n this.loadIcon(this.iconSwap);\r\n\r\n if (this.type !== 'tags') {\r\n this.selectedItem = null; // For single selection types\r\n }\r\n\r\n this.updateSelectedItems(this.value);\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 const mainTextSlot = this.el.querySelector('[slot=\"tooltip_label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"tooltip_supporting_text\"]');\r\n const textSlot = this.el.querySelector('[slot=\"text\"]');\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 if (textSlot) {\r\n textSlot.classList.add('text_slot');\r\n\r\n if (this.state === 'disabled') {\r\n textSlot.classList.add('disabled');\r\n }\r\n\r\n textSlot.classList.add('text-md-regular');\r\n }\r\n\r\n if (this.type === 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n // this.inputElement.addEventListener('input', this.handleTagInput.bind(this));\r\n this.updateInputWidth();\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 // disconnectedCallback() {\r\n // document.removeEventListener('click', this.handleClickOutside);\r\n // this.inputElement.removeEventListener('input', this.handleTagInput.bind(this));\r\n // }\r\n\r\n render() {\r\n return (\r\n <div class={`input_container`}>\r\n <div class={`input_with_label`}>\r\n {this.showLabel && <p class=\"label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>}\r\n {this.type === 'default' && [\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type=\"text\"\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n />\r\n <>\r\n {this.showValidation && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"tick\">\r\n <path\r\n d=\"M4.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n </>\r\n </div>,\r\n ]}\r\n {this.type === 'icon_leading' && [\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`icon ${this.size} ${this.state}`} innerHTML={this.leadingIconSvg}></div>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type=\"text\"\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n ref={el => (this.inputRef = el as HTMLInputElement)}\r\n />\r\n <>\r\n {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"tick\">\r\n <path\r\n d=\"M4.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n {this.showCloseButton && !this.destructive && (\r\n <gb-button\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 class={`input_close_button ${this.size}`}\r\n ></gb-button>\r\n )}\r\n </>\r\n </div>,\r\n ]}\r\n {this.type === 'leading_dropdown' && [\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`leading_dropdown_dropdown`} onClick={() => (this.showDropdown = !this.showDropdown)}>\r\n {this.showCountryIcon && (\r\n <div class={`country_icon`}>\r\n <img src=\"build/assets/NG.svg\" alt=\"\" />\r\n </div>\r\n )}\r\n <div class={`dropdown_text`}>\r\n <p class=\"text-md-regular\" style={{ color: 'var(--color-text, #4B5565)' }}>\r\n {this.selectedItem}\r\n </p>\r\n </div>\r\n <div class={`dropdown_arrow`}>\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=\"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=\"#4B5565\"\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 </div>\r\n <div class={`leading_dropdown_text_input`}>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type=\"text\"\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n />\r\n {this.showValidation && !this.destructive && (\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.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n </div>\r\n </div>,\r\n <>\r\n {this.showDropdown && (\r\n <div class={`dropdown_menu ${this.type} ${this.size} ${this.menuPosition}`} ref={el => (this.dropdownRef = el)}>\r\n {this.options.map(option => (\r\n <gb-input-dropdown-menu-item type=\"default\" state={StateEnum.Default} selected={this.isItemSelected(option)} onClick={() => this.handleItemSelect(option)}>\r\n <p slot=\"name\">{option}</p>\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </div>\r\n )}\r\n </>,\r\n ]}\r\n {this.type === 'trailing_dropdown' && [\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`trailing_dropdown_content`}>\r\n <p class=\"text-md-regular\" style={{ color: 'var(--color-text, #4B5565)' }}>\r\n $\r\n </p>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type=\"text\"\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n />\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n </div>\r\n <div class={`trailing_dropdown_dropdown`} onClick={() => (this.showDropdown = !this.showDropdown)}>\r\n <div class={`dropdown_text`}>\r\n <p class=\"text-md-regular\" style={{ color: 'var(--color-text, #4B5565)' }}>\r\n {this.selectedItem}\r\n </p>\r\n </div>\r\n <div class={`dropdown_arrow`}>\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=\"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=\"#4B5565\"\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 </div>\r\n </div>,\r\n <>\r\n {this.showDropdown && (\r\n <div class={`dropdown_menu ${this.type} ${this.size} ${this.menuPosition}`} ref={el => (this.dropdownRef = el)}>\r\n {this.options.map(option => (\r\n <gb-input-dropdown-menu-item type=\"default\" state={StateEnum.Default} selected={this.isItemSelected(option)} onClick={() => this.handleItemSelect(option)}>\r\n <p slot=\"name\">{option}</p>\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </div>\r\n )}\r\n </>,\r\n ]}\r\n {this.type === 'leading_text' && [\r\n <div class=\"leading_text_input\">\r\n <div class={`add_on`}>\r\n {/* <p class={`text-md-regular`} style={{ color: this.state === 'disabled' ? 'var(--color-text-disabled, #CDD5DF)' : 'var(--color-text, #4B5565)' }}>\r\n http://\r\n </p> */}\r\n <slot name=\"text\"></slot>\r\n </div>\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type=\"text\"\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n />\r\n {this.showValidation && !this.destructive && (\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.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n </div>\r\n </div>,\r\n ]}\r\n {this.type === 'payment_input' && (\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"23\" height=\"14\" viewBox=\"0 0 23 14\" fill=\"none\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M11.179 11.8294C9.99493 12.8275 8.45902 13.43 6.78069 13.43C3.03582 13.43 0 10.4303 0 6.72997C0 3.02966 3.03582 0.0299683 6.78069 0.0299683C8.45902 0.0299683 9.99493 0.632466 11.179 1.63051C12.363 0.632466 13.8989 0.0299683 15.5773 0.0299683C19.3221 0.0299683 22.358 3.02966 22.358 6.72997C22.358 10.4303 19.3221 13.43 15.5773 13.43C13.8989 13.43 12.363 12.8275 11.179 11.8294Z\"\r\n fill=\"#ED0006\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M11.179 11.8294C12.6369 10.6005 13.5614 8.77192 13.5614 6.72997C13.5614 4.68801 12.6369 2.85941 11.179 1.63051C12.363 0.632465 13.8989 0.0299683 15.5772 0.0299683C19.3221 0.0299683 22.3579 3.02966 22.3579 6.72997C22.3579 10.4303 19.3221 13.43 15.5772 13.43C13.8989 13.43 12.363 12.8275 11.179 11.8294Z\"\r\n fill=\"#F9A000\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M11.179 11.8294C12.6369 10.6005 13.5614 8.77193 13.5614 6.72999C13.5614 4.68805 12.6369 2.85946 11.179 1.63055C9.72109 2.85946 8.79663 4.68805 8.79663 6.72999C8.79663 8.77193 9.72109 10.6005 11.179 11.8294Z\"\r\n fill=\"#FF5E00\"\r\n />\r\n </svg>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type=\"text\"\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n />\r\n <>\r\n {this.showValidation && !this.destructive && (\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.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n </>\r\n </div>\r\n )}\r\n {this.type === 'trailing_button' && (\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`trailing_button_text_input ${this.size}`}>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type=\"text\"\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n ref={el => (this.inputRef = el as HTMLInputElement)}\r\n value={this.value}\r\n />\r\n {this.showValidation && !this.destructive && (\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.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n </div>\r\n <gb-button\r\n size=\"lg\"\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n state={this.state === 'disabled' ? 'disabled' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/copy-01.svg\"\r\n onClick={() => this.copyToClipboard()}\r\n ></gb-button>\r\n </div>\r\n )}\r\n {this.type === 'password' && (\r\n <div class={`password_input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`password_content`}>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type={this.isPasswordVisible ? 'text' : 'password'}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n />\r\n {this.showValidation && !this.destructive && (\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.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n </div>\r\n <div class={`dropdown`}>\r\n <gb-password-button onClick={() => this.togglePasswordVisibility()}></gb-password-button>\r\n </div>\r\n </div>\r\n )}\r\n {this.type === 'password_icon_leading' && (\r\n <div class={`password_icon_leading_input input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`password_icon_leading_content`}>\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=\"M12.0759 12.1667C11.6617 12.1667 11.3259 12.5025 11.3259 12.9167C11.3259 13.3309 11.6617 13.6667 12.0759 13.6667V12.1667ZM12.0833 13.6667C12.4976 13.6667 12.8333 13.3309 12.8333 12.9167C12.8333 12.5025 12.4976 12.1667 12.0833 12.1667V13.6667ZM7.91668 12.1667C7.50246 12.1667 7.16668 12.5025 7.16668 12.9167C7.16668 13.3309 7.50246 13.6667 7.91668 13.6667V12.1667ZM7.92415 13.6667C8.33836 13.6667 8.67415 13.3309 8.67415 12.9167C8.67415 12.5025 8.33836 12.1667 7.92415 12.1667V13.6667ZM16.4435 10.1294L17.1868 10.0293L16.4435 10.1294ZM13.7003 7.58258L13.7347 6.83337L13.7003 7.58258ZM13.7003 18.2508L13.7347 19L13.7003 18.2508ZM16.4435 15.704L15.7002 15.6039L16.4435 15.704ZM6.29973 7.58258L6.33417 8.33179L6.29973 7.58258ZM3.55652 10.1294L2.81323 10.0293L3.55652 10.1294ZM6.29973 18.2508L6.33417 17.5015L6.29973 18.2508ZM3.55652 15.704L4.29981 15.6039L3.55652 15.704ZM5.50001 7.5C5.50001 7.91422 5.8358 8.25 6.25001 8.25C6.66422 8.25 7.00001 7.91422 7.00001 7.5H5.50001ZM13 7.5C13 7.91422 13.3358 8.25 13.75 8.25C14.1642 8.25 14.5 7.91422 14.5 7.5H13ZM12.0759 13.6667H12.0833V12.1667H12.0759V13.6667ZM7.91668 13.6667H7.92415V12.1667H7.91668V13.6667ZM10 17.5833C8.69057 17.5833 7.50287 17.5553 6.33417 17.5015L6.26528 19C7.45761 19.0548 8.66829 19.0833 10 19.0833V17.5833ZM13.6659 17.5015C12.4972 17.5553 11.3094 17.5833 10 17.5833V19.0833C11.3317 19.0833 12.5424 19.0548 13.7347 19L13.6659 17.5015ZM17.1868 15.804C17.3105 14.8853 17.4167 13.9152 17.4167 12.9167H15.9167C15.9167 13.8142 15.8211 14.7058 15.7002 15.6039L17.1868 15.804ZM17.4167 12.9167C17.4167 11.9181 17.3105 10.948 17.1868 10.0293L15.7002 10.2295C15.8211 11.1275 15.9167 12.0192 15.9167 12.9167H17.4167ZM10 8.25C11.3095 8.25 12.4972 8.27806 13.6659 8.33179L13.7347 6.83337C12.5424 6.77856 11.3317 6.75 10 6.75V8.25ZM6.33417 8.33179C7.50287 8.27806 8.69057 8.25 10 8.25V6.75C8.66829 6.75 7.45761 6.77856 6.26528 6.83337L6.33417 8.33179ZM2.81323 10.0293C2.68953 10.948 2.58334 11.9181 2.58334 12.9167H4.08334C4.08334 12.0192 4.1789 11.1275 4.29981 10.2295L2.81323 10.0293ZM2.58334 12.9167C2.58334 13.9152 2.68953 14.8853 2.81323 15.804L4.29981 15.6039C4.1789 14.7058 4.08334 13.8142 4.08334 12.9167H2.58334ZM17.1868 10.0293C16.9527 8.29067 15.5122 6.91509 13.7347 6.83337L13.6659 8.33179C14.6943 8.37907 15.5595 9.18437 15.7002 10.2295L17.1868 10.0293ZM13.7347 19C15.5122 18.9183 16.9527 17.5427 17.1868 15.804L15.7002 15.6039C15.5595 16.649 14.6943 17.4543 13.6659 17.5015L13.7347 19ZM6.26528 6.83337C4.48781 6.91508 3.04732 8.29067 2.81323 10.0293L4.29981 10.2295C4.44052 9.18437 5.30576 8.37907 6.33417 8.33179L6.26528 6.83337ZM6.33417 17.5015C5.30576 17.4543 4.44052 16.649 4.29981 15.6039L2.81323 15.804C3.04732 17.5427 4.48782 18.9183 6.26528 19L6.33417 17.5015ZM7.00001 7.5V5.41667H5.50001V7.5H7.00001ZM13 5.41667V7.5H14.5V5.41667H13ZM10 2.41667C11.6569 2.41667 13 3.75981 13 5.41667H14.5C14.5 2.93139 12.4853 0.916668 10 0.916668V2.41667ZM7.00001 5.41667C7.00001 3.75981 8.34316 2.41667 10 2.41667V0.916668C7.51473 0.916668 5.50001 2.93139 5.50001 5.41667H7.00001Z\"\r\n fill=\"#4B5565\"\r\n />\r\n </svg>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type={this.isPasswordVisible ? 'text' : 'password'}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n />\r\n </div>\r\n {this.showValidation && !this.destructive && (\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.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n <gb-password-button onClick={() => this.togglePasswordVisibility()}></gb-password-button>\r\n </div>\r\n )}\r\n {this.type === 'count' && [\r\n <div class={`count_input`}>\r\n <div class={`count_text_input ${this.destructive ? 'destructive' : ''} ${this.state}`}>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type=\"text\"\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n />\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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 ) : (\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.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )}\r\n </div>\r\n <div class={`action ${this.state}`}>\r\n <gb-button\r\n size=\"xl\"\r\n state={this.state === 'disabled' ? 'disabled' : 'default'}\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n icon-leading=\"true\"\r\n icon-leading-swap=\"assets/minus_sign.svg\"\r\n ></gb-button>\r\n {/* <hr /> */}\r\n <div class=\"vertical_line\"></div>\r\n <gb-button\r\n size=\"xl\"\r\n state={this.state === 'disabled' ? 'disabled' : 'default'}\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n icon-leading=\"true\"\r\n icon-leading-swap=\"assets/plus_sign.svg\"\r\n ></gb-button>\r\n </div>\r\n </div>,\r\n ]}\r\n {this.type === 'tags' && (\r\n <div class={`input_group ${this.state}`} ref={el => (this.inputGroupElement = el as HTMLDivElement)} onClick={() => this.handleWrapperClick()}>\r\n <div class={`input_like_parent ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`} onClick={() => (this.dropdownOpen = !this.dropdownOpen)}>\r\n {/* ${this.selectedStaff.length >= 1 ? 'show_results' : ''} */}\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 <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)}>\r\n <h1 class=\"text-xxs-semi-bold\" slot=\"initials\">\r\n {item.objectName.split(' ').map(part => part.charAt(0).toUpperCase())}\r\n </h1>\r\n <p>{item.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)}>\r\n <p>{item}</p>\r\n </gb-tag>\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)}>\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)}>\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.placeholder && this.selectedStaff.length === 0 ? this.placeholder : ''}\r\n value={this.inputValue}\r\n readOnly={this.isReadOnly}\r\n ref={el => (this.inputElement = el as HTMLInputElement)}\r\n onBlur={() => this.exportSelectedStaff()}\r\n onInput={event => this.handleTagInput(event)}\r\n />\r\n </div>\r\n </div>\r\n {/* {this.showValidation && !this.destructive && (\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.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\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=\"M6.66668 5.99998C6.66668 5.2636 7.26363 4.66665 8.00001 4.66665C8.73639 4.66665 9.33334 5.2636 9.33334 5.99998C9.33334 6.26541 9.25578 6.51273 9.12209 6.72051C8.72361 7.33976 8.00001 7.93027 8.00001 8.66665V8.99998M7.99467 11.3333H8.00066M14.6667 7.99998C14.6667 11.6819 11.6819 14.6666 8.00001 14.6666C4.31811 14.6666 1.33334 11.6819 1.33334 7.99998C1.33334 4.31808 4.31811 1.33331 8.00001 1.33331C11.6819 1.33331 14.6667 4.31808 14.6667 7.99998Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.5\"\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=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\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 )}\r\n </div>\r\n )} */}\r\n </div>\r\n {this.showDropdown && (\r\n <div class={`tags_dropdown_menu ${this.show ? 'show' : ''} ${this.menuPosition}`}>\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","@import './../../global/global.css';\r\n\r\n.pagination_div{\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.pagination_entries{\r\n display: flex;\r\n gap: var(--spacing-2);\r\n align-items: center;\r\n}\r\n\r\n.pagination_btns{\r\n display: flex;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.entries_dropdown{\r\n width: 6rem;\r\n}\r\n\r\ngb-input-dropdown{\r\n z-index: 99;\r\n}\r\n\r\n.pagination_numbers{\r\n display: flex;\r\n align-items: flex-start;\r\n gap: var(--spacing-half);\r\n}\r\n\r\n.pagination_button_group{\r\n display: flex;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtle, #CDD5DF);\r\n box-shadow: var(--shadow-xs);\r\n align-items: center;\r\n overflow: hidden;\r\n}\r\n\r\n.page_numbers{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n/* Pagination Type Styles */\r\n.pagination_div.page_default.desktop,\r\n.pagination_div.page_minimal_center_aligned.desktop{\r\n padding-top: var(--spacing-5);\r\n}\r\n\r\n.pagination_div.card_default.desktop,\r\n.pagination_div.card_minimal_right_aligned.desktop,\r\n.pagination_div.card_minimal_left_aligned.desktop,\r\n.pagination_div.card_minimal_center_aligned.desktop,\r\n.pagination_div.card_button_group_right_aligned.desktop,\r\n.pagination_div.card_button_group_left_aligned.desktop{\r\n padding: var(--spacing-3) var(--spacing-6) var(--spacing-4) var(--spacing-6);\r\n}\r\n\r\n.pagination_div.page_default.mobile,\r\n.pagination_div.page_minimal_center_aligned.mobile{\r\n padding-top: var(--spacing-4);\r\n}\r\n\r\n.pagination_div.card_button_group_center_aligned.desktop{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-6) var(--spacing-4) var(--spacing-6);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_default.mobile,\r\n.pagination_div.card_minimal_left_aligned.mobile,\r\n.pagination_div.card_minimal_right_aligned.mobile,\r\n.pagination_div.card_minimal_center_aligned.mobile{\r\n padding: var(--spacing-3) var(--spacing-4);\r\n}\r\n\r\n.pagination_div.card_button_group_right_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-end;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_button_group_left_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_button_group_center_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n}","import { Component, Prop, h, Fragment, State, Event, EventEmitter } from '@stencil/core';\r\nimport { BreakPoints, PaginationNumberShapes, PaginationTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-pagination',\r\n styleUrl: 'gb-pagination.css',\r\n shadow: true,\r\n})\r\nexport class GbPagination {\r\n @Prop() type: PaginationTypes;\r\n @Prop() shape: PaginationNumberShapes;\r\n @Prop() breakpoint: BreakPoints;\r\n @Prop({ mutable: true }) currentPage: number;\r\n @Prop({ mutable: true }) totalPages: number;\r\n @Prop({ mutable: true }) entries: number[] = [10, 20, 50, 80, 100];\r\n @State() selectedPageSize: number | string | object = 10;\r\n @State() defaultSelected: any;\r\n @Event() pageItemSelected: EventEmitter<{ pageSize: any; pageNumber: number }>;\r\n\r\n onPreviousButtonClicked() {\r\n if (this.currentPage === this.totalPages || this.currentPage > 1) {\r\n this.currentPage = this.currentPage - 1;\r\n }\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n onNextButtonClicked() {\r\n if (this.currentPage === 1 || this.currentPage <= this.totalPages - 1) {\r\n this.currentPage = this.currentPage + 1;\r\n }\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n componentWillLoad() {\r\n this.defaultSelected = [this.selectedPageSize];\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n handlePageSizeSelect(item) {\r\n this.selectedPageSize = item.detail;\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n setCurrentPage(number: number) {\r\n this.currentPage = number;\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`pagination_div ${this.type} ${this.breakpoint}`}>\r\n {/* Desktop Breakpoint Pagination */}\r\n {this.type === 'page_default' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_gray\" icon=\"default\" state=\"default\" icon-leading={true} icon-leading-swap=\"assets/arrow-left-02.svg\">\r\n <p>Previous</p>\r\n </gb-button>\r\n\r\n <div class=\"pagination_numbers\">\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape}>\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages - 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages}</p>\r\n </gb-pagination-number-base>\r\n </div>\r\n\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_gray\" icon=\"default\" state=\"default\" icon-trailing={true} icon-trailing-swap=\"assets/arrow-right-02.svg\">\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'page_minimal_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" icon-leading={true} icon-leading-swap=\"assets/arrow-left-02.svg\">\r\n <p>Previous</p>\r\n </gb-button>\r\n\r\n <div class=\"pagination_numbers\">\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape}>\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages - 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages}</p>\r\n </gb-pagination-number-base>\r\n </div>\r\n\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" icon-trailing={true} icon-trailing-swap=\"assets/arrow-right-02.svg\">\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_default' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state=\"default\"\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-help-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"pagination_numbers\">\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape} state=\"default\">\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages - 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.totalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.totalPages)}\r\n >\r\n <p slot=\"page_number\">{this.totalPages}</p>\r\n </gb-pagination-number-base>\r\n </div>\r\n <div class=\"pagination_btns\">\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_right_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <div class=\"pagination_btns\">\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_left_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_btns\">\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </div>\r\n <div class=\"page_number_text\">\r\n <p class=\"text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_right_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n <div class=\"btn_group\">\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages - 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages - 2)}\r\n >\r\n <p>{this.totalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages - 1)}\r\n >\r\n <p>{this.totalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages)}\r\n >\r\n <p>{this.totalPages}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_left_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n <div class=\"btn_group\">\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages - 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages - 2)}\r\n >\r\n <p>{this.totalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages - 1)}\r\n >\r\n <p>{this.totalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages)}\r\n >\r\n <p>{this.totalPages}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n <div class=\"btn_group\">\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.totalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages - 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > this.totalPages / 2 && this.currentPage < this.totalPages ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages - 2)}\r\n >\r\n <p>{this.totalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages - 1)}\r\n >\r\n <p>{this.totalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages)}\r\n >\r\n <p>{this.totalPages}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n </>\r\n )}\r\n {/* Mobile Breakpoint Pagination */}\r\n {this.type === 'page_default' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'page_minimal_center_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_default' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_right_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_left_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_center_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.totalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_right_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n <div class=\"btn_group\">\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 2 && this.currentPage <= this.totalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 2 && this.currentPage <= this.totalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.totalPages / 2 && this.currentPage <= this.totalPages - 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > this.totalPages / 2 && this.currentPage <= this.totalPages - 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.totalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.totalPages - 1)}\r\n >\r\n <p>{this.totalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === this.totalPages ? 'active' : 'default'} onClick={() => (this.currentPage = this.totalPages)}>\r\n <p>{this.totalPages}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n {this.type === 'card_button_group_left_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n <div class=\"btn_group\">\r\n <gb-pagination-button-group-base icon=\"false\" state=\"active\">\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>9</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>10</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n {this.type === 'card_button_group_center_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n <div class=\"btn_group\">\r\n <gb-pagination-button-group-base icon=\"false\" state=\"active\">\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>9</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>10</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n",".button_base_div{\r\n display: flex;\r\n align-items: center;\r\n align-self: stretch;\r\n border-right: 1px solid var(--color-border-subtle, #CDD5DF);\r\n justify-content: center;\r\n cursor: pointer;\r\n width: fit-content;\r\n}\r\n\r\n.button_base_div:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.button_base_div.active{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.button_base_div:active{\r\n background: none;\r\n}\r\n\r\n.button_base_div.false{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n padding: var(--spacing-none);\r\n}\r\n\r\n.button_base_div.leading,\r\n.button_base_div.trailing{\r\n height: 2.5rem;\r\n gap: 0.5rem;\r\n padding: var(--spacing-none) var(--spacing-4);\r\n}\r\n\r\n.button_base_div.only{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\n::slotted(p){\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted(p.active_text){\r\n color: var(--color-text-bold, #202939);\r\n}","import { Component, Prop, h, Fragment, Element, getAssetPath, State } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-pagination-button-group-base',\r\n styleUrl: 'gb-pagination-button-group-base.css',\r\n shadow: true,\r\n})\r\nexport class GbPaginationButtonGroupBase {\r\n @Prop() icon: 'false' | 'only' | 'trailing' | 'leading';\r\n @Prop() state: 'default' | 'active';\r\n @Prop() iconSrc: string;\r\n @State() leadingIconSvg: string = '';\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('p');\r\n\r\n if (slottedContent) {\r\n slottedContent.classList.add('text-sm-semi-bold');\r\n }\r\n\r\n if(this.state === 'active') {\r\n slottedContent.classList.add('active_text');\r\n }\r\n\r\n this.loadIcon(this.iconSrc);\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 render() {\r\n return (\r\n <div class={`button_base_div ${this.icon} ${this.state}`}>\r\n {this.icon === 'false' && <slot></slot>}\r\n {this.icon === 'leading' && (\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=\"M3.33325 9.99981H16.6666M3.33325 9.99981C3.33326 11.0978 7.49975 14.1667 7.49975 14.1667M3.33325 9.99981C3.33324 8.90182 7.49978 5.83334 7.49978 5.83334\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <slot></slot>\r\n </>\r\n )}\r\n {this.icon === 'trailing' && (\r\n <>\r\n <slot></slot>\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=\"M16.6668 9.99984H3.3335M16.6668 9.99984C16.6668 11.0978 12.5003 14.1667 12.5003 14.1667M16.6668 9.99984C16.6669 8.90185 12.5002 5.83337 12.5002 5.83337\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </>\r\n )}\r\n {this.icon === 'only' && (\r\n <>\r\n {/* <div class={`icon`} innerHTML={this.leadingIconSvg}></div> */}\r\n </>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.page_number_base{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n cursor: pointer;\r\n}\r\n\r\n/* Shape Styles */\r\n.page_number_base.square{\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.page_number_base.circle{\r\n border-radius: 1.25rem;\r\n}\r\n\r\n/* State Styles */\r\n.page_number_base:hover{\r\n background-color: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\n.page_number_base:active,\r\n.page_number_base.active{\r\n background-color: var(--color-background-information-subtle, #9AC7F4);\r\n}\r\n\r\n::slotted([slot=\"page_number\"].default) {\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"page_number\"].active) {\r\n color: var(--color-text-bold, #202939);\r\n}","import { Component, Element, Prop, h } from \"@stencil/core\";\r\nimport { PaginationNumberShapes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-pagination-number-base',\r\n styleUrl: 'gb-pagination-number-base.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbPaginationNumberBase {\r\n @Prop() shape: PaginationNumberShapes;\r\n @Prop() state: 'default' | 'active' | 'pressed';\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('[slot=\"page_number\"]');\r\n\r\n if(slottedContent) {\r\n slottedContent.classList.add('text-sm-medium');\r\n }\r\n\r\n if (this.state === 'default') {\r\n slottedContent.classList.add('default');\r\n }\r\n\r\n if(this.state === 'active') {\r\n slottedContent.classList.add('active');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`page_number_base ${this.shape} ${this.state}`}>\r\n <slot name=\"page_number\"></slot>\r\n </div>\r\n )\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n}\r\n\r\ndiv {\r\n display: inline-flex;\r\n align-items: flex-start;\r\n}","import { Component, h, Prop, State } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'gb-password-button',\r\n styleUrl: 'gb-password-button.css',\r\n shadow: true\r\n})\r\nexport class GbPasswordButton {\r\n @State() isPasswordVisible: boolean = false;\r\n @Prop() state: 'default' | 'disabled';\r\n\r\n togglePasswordVisibility() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n <gb-btn size=\"sm\" hierarchy=\"link_gray\" state=\"default\" onClick={() => this.togglePasswordVisibility()}>\r\n {this.isPasswordVisible ? (\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_gray\" icon=\"default\" state={this.state}>\r\n <p>HIDE</p>\r\n </gb-button>\r\n ) : (\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_gray\" icon=\"default\" state={this.state}>\r\n <p>SHOW</p>\r\n </gb-button>\r\n )}\r\n </gb-btn>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.online_icon{\r\n border: 1.5px solid var(--color-boarder-inverse, #FFFFFF);\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n/* Online Indicator States */\r\n.online_icon.offline{\r\n background-color: var(--color-background-gray, #CDD5DF);\r\n}\r\n\r\n.online_icon.online{\r\n background-color: var(--color-icon-success, #079455);\r\n}\r\n\r\n/* Online Indicator Sizes */\r\n.online_icon.xxs{\r\n width: 0.25rem;\r\n height: 0.25rem;\r\n}\r\n\r\n.online_icon.xs{\r\n width: 0.375rem;\r\n height: 0.375rem;\r\n}\r\n\r\n.online_icon.sm{\r\n width: var(--spacing-2);\r\n height: var(--spacing-2);\r\n}\r\n\r\n.online_icon.md{\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n}\r\n\r\n.online_icon.lg{\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\n.online_icon.xl{\r\n width: 0.875rem;\r\n height: 0.875rem;\r\n}\r\n\r\n.online_icon.xl2{\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n}\r\n\r\n/* Verified Tick Sizes */\r\n.verified.xxs{\r\n width: 0.375rem;\r\n height: 0.375rem;\r\n}\r\n\r\n.verified.xs{\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n}\r\n\r\n.verified.sm{\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\n.verified.md{\r\n width: 0.875rem;\r\n height: 0.875rem;\r\n}\r\n\r\n.verified.lg{\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n}\r\n\r\n.verified.xl{\r\n width: 1.125rem;\r\n height: 1.125rem;\r\n}\r\n\r\n.verified.xl2{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n.verified.xl3{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\n.verified.xl4{\r\n width: var(--spacing-7);\r\n height: var(--spacing-7);\r\n}\r\n\r\n.verified.profile_sm{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n position: absolute;\r\n bottom: 0.15rem;\r\n right: 0.01rem;\r\n}\r\n\r\n.verified.profile_md{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n position: absolute;\r\n bottom: 0.25rem;\r\n right: 0.2rem;\r\n}\r\n\r\n.verified.profile_lg{\r\n width: var(--spacing-7);\r\n height: var(--spacing-7);\r\n position: absolute;\r\n bottom: 0.5rem;\r\n right: 0.2rem;\r\n}\r\n\r\n/* Company Icon Sizes */\r\n.company.xs{\r\n width: 0.25rem;\r\n height: 0.25rem;\r\n}\r\n\r\n.company.xs{\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n}\r\n\r\n.company.sm{\r\n width: 0.75rem;\r\n height: var(--spacing-3);\r\n}\r\n\r\n.company.md{\r\n width: 0.875rem;\r\n height: 0.875rem;\r\n}\r\n\r\n.company.lg{\r\n width: 1rem;\r\n height: var(--spacing-4);\r\n}\r\n\r\n.company.xl{\r\n width: 1.125rem;\r\n height: 1.125rem;\r\n}\r\n\r\n.company.xl2{\r\n width: 1.25rem;\r\n height: var(--spacing-5);\r\n}","import { Component, h, Prop } from \"@stencil/core\";\r\nimport { GeneralSizes, OnlineIndicatorStates } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-status-indicator',\r\n styleUrl: 'gb-status-indicator.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbStatusIndicator {\r\n @Prop() statusIcon: string = '';\r\n @Prop() size: GeneralSizes;\r\n @Prop() state: OnlineIndicatorStates = OnlineIndicatorStates.Offline;\r\n @Prop() indicatorStateClass: string = this.state;\r\n\r\n render() {\r\n return [\r\n <div>\r\n {this.statusIcon === 'online_indicator' && <div class={`online_icon ${this.size} ${this.indicatorStateClass}`}></div>}\r\n {this.statusIcon === 'verified' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" class={`verified ${this.size}`}>\r\n <g clip-path=\"url(#clip0_0_21453)\">\r\n <path\r\n d=\"M24.7109 5.66715C25.0148 6.40217 25.5982 6.98642 26.3328 7.29145L28.9086 8.35837C29.6436 8.66285 30.2277 9.24688 30.5321 9.98196C30.8366 10.717 30.8366 11.543 30.5321 12.2781L29.466 14.852C29.1614 15.5874 29.1609 16.4142 29.467 17.1492L30.5313 19.7224C30.6822 20.0865 30.7599 20.4767 30.76 20.8708C30.7601 21.265 30.6825 21.6553 30.5316 22.0194C30.3808 22.3835 30.1597 22.7143 29.881 22.993C29.6022 23.2716 29.2713 23.4926 28.9072 23.6433L26.3332 24.7095C25.5982 25.0134 25.0139 25.5968 24.7089 26.3314L23.642 28.9071C23.3375 29.6422 22.7535 30.2262 22.0184 30.5307C21.2833 30.8352 20.4574 30.8352 19.7223 30.5307L17.1484 29.4646C16.4133 29.1608 15.5876 29.1614 14.853 29.4663L12.2772 30.5317C11.5425 30.8355 10.7173 30.8352 9.98284 30.531C9.24835 30.2267 8.66466 29.6434 8.35997 28.9091L7.29273 26.3326C6.98881 25.5975 6.40543 25.0133 5.67087 24.7083L3.09509 23.6413C2.36033 23.337 1.77648 22.7533 1.47188 22.0187C1.16729 21.284 1.16688 20.4585 1.47073 19.7235L2.53689 17.1496C2.84062 16.4145 2.84 15.5888 2.53517 14.8542L1.47054 12.2766C1.3196 11.9125 1.24188 11.5222 1.24181 11.1281C1.24175 10.734 1.31935 10.3437 1.47017 9.97956C1.621 9.61544 1.8421 9.2846 2.12083 9.00595C2.39957 8.72731 2.73047 8.50632 3.09465 8.35561L5.66858 7.28945C6.40297 6.98579 6.98687 6.40316 7.29212 5.66944L8.35904 3.09366C8.66352 2.35857 9.24754 1.77455 9.98263 1.47007C10.7177 1.16559 11.5436 1.16559 12.2787 1.47007L14.8527 2.53623C15.5878 2.83996 16.4134 2.83934 17.148 2.5345L19.7249 1.47172C20.4599 1.16741 21.2856 1.16748 22.0206 1.4719C22.7555 1.77632 23.3395 2.36017 23.644 3.09507L24.7112 5.67161L24.7109 5.66715Z\"\r\n fill=\"#0086C9\"\r\n />\r\n <path d=\"M10 18.1818C10 18.1818 11.2857 18.1818 13 22C13 22 17.7647 12 22 10\" stroke=\"white\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_0_21453\">\r\n <rect width=\"32\" height=\"32\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )}\r\n {this.statusIcon === 'company' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" class={`company ${this.size}`}>\r\n <path\r\n d=\"M18.8322 3.70039C16.9123 2.11995 14.5039 1.25399 12.0172 1.25001C10.6041 1.24776 9.20439 1.52413 7.89818 2.06333C6.59198 2.60252 5.4049 3.39397 4.40485 4.39237C2.64504 6.1493 1.54876 8.462 1.30275 10.9365C1.05674 13.411 1.67622 15.8943 3.05566 17.9633C4.43511 20.0323 6.48919 21.5591 8.86802 22.2836C11.2469 23.0081 13.8033 22.8855 16.1019 21.9367C18.4004 20.9878 20.299 19.2715 21.474 17.0799C22.6491 14.8884 23.0281 12.3572 22.5464 9.91759C22.0647 7.47798 20.7521 5.28082 18.8322 3.70039Z\"\r\n fill=\"#FF0033\"\r\n stroke=\"white\"\r\n stroke-width=\"1.5\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M12.8942 13.7488V11.865L15.2835 11.8807C15.5231 11.8822 15.7598 11.9336 15.9785 12.0314C16.1973 12.1293 16.3933 12.2715 16.5541 12.449C16.715 12.6266 16.8373 12.8357 16.9131 13.063C16.989 13.2903 17.0168 13.5308 16.9948 13.7694C16.9948 16.4275 12.901 16.9969 12.8973 13.7488M12.8973 8.75316C17.3054 6.44066 17.6942 11.5213 15.0323 11.2788H12.886L12.8973 8.75316ZM16.7385 11.5113C19.8985 10.3013 17.2573 5.5894 12.0854 8.5044C11.5544 8.07132 10.9218 7.78073 10.2473 7.66004C8.96979 7.40066 7.25604 7.62628 6.29479 8.52378L6.75917 8.97941C7.2569 8.55053 7.86627 8.27194 8.51626 8.17611C9.16625 8.08028 9.83009 8.17117 10.4304 8.43816C10.6321 8.53335 10.8098 8.67262 10.9505 8.8457C11.0911 9.01879 11.191 9.22127 11.2429 9.43817L11.266 13.7669C11.0785 16.7738 7.20354 16.5413 7.20354 13.7669V11.8682H10.2492V11.295H5.59729V13.1644C5.60917 16.7175 9.93104 17.315 12.0717 15.5863C12.9471 16.2353 14.0184 16.5649 15.1073 16.52C18.9442 16.4938 19.7323 12.3563 16.7273 11.5144L16.7385 11.5113Z\"\r\n fill=\"white\"\r\n />\r\n </svg>\r\n )}\r\n </div>,\r\n ];\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.tab_button_div{\r\n display: flex;\r\n /* align-self: stretch; */\r\n cursor: pointer;\r\n width: 100%;\r\n}\r\n\r\n.tab_button_div.horizontal{\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.tab_button_div.vertical{\r\n justify-content: flex-start;\r\n align-items: center;\r\n}\r\n\r\n.tab_text{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.button_gray,\r\n.tab_button_div.button_white{\r\n display: inline-flex;\r\n border-radius: var(--rounded-xs);\r\n}\r\n\r\n.rounded_button_white{\r\n display: inline-flex;\r\n align-items: center;\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.underline,\r\n.underline_filled,\r\n.line{\r\n display: inline-flex;\r\n border-radius: var(--rounded-none);\r\n}\r\n\r\n/* Spacing Styles */\r\n.button_primary,\r\n.button_gray,\r\n.button_white,\r\n.rounded_button_white,\r\n.underline_filled,\r\n.line{\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.underline{\r\n gap: 0.5rem;\r\n}\r\n\r\n/* Tab Type Styles */\r\n.tab_button_div.button_primary,\r\n.tab_button_div.button_gray,\r\n.tab_button_div.button_white,\r\n.tab_button_div.rounded_button_white,\r\n.tab_button_div.underline_filled,\r\n.tab_button_div.line{\r\n background: transparent;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.button_white.current{\r\n box-shadow: var(--shadow-md);\r\n}\r\n\r\n/* Tab State Styles */\r\n.tab_button_div.button_primary:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.button_primary:active{\r\n background: transparent;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.button_gray:hover,\r\n.tab_button_div.button_white:hover,\r\n.tab_button_div.rounded_button_white:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.button_gray:active,\r\n.tab_button_div.button_white:active,\r\n.tab_button_div.rounded_button_white:active{\r\n background: transparent;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.underline:hover,\r\n.tab_button_div.underline_filled:hover{\r\n border-bottom: 1px solid var(--color-border-subtle, #CDD5DF);\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.underline:active,\r\n.tab_button_div.underline_filled:active{\r\n background: transparent;\r\n border: none;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.line:hover{\r\n border-radius: var(--rounded-xs);\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.tab_button_div.line:active{\r\n border-radius: var(--rounded-none);\r\n background: transparent;\r\n}\r\n\r\n.tab_button_div.button_primary.current:hover{\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.tab_button_div.button_primary.current:active{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.button_gray.current:hover,\r\n.tab_button_div.button_white.current:hover,\r\n.tab_button_div.rounded_button_white.current:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.button_gray.current:active{\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.button_white.current:active,\r\n.tab_button_div.rounded_button_white.current:active{\r\n background: var(--color-background-card, #FFFFFF);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.underline.current:hover{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-information, #064E94);\r\n border-color: var(--color-border-information, #064E94);\r\n}\r\n\r\n.tab_button_div.underline.current:active{\r\n background: transparent;\r\n color: var(--color-text-selected, #075DB2);\r\n border-color: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.underline_filled.current:hover{\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n color: var(--color-text-information, #064E94);\r\n border-color: var(--color-border-information, #064E94);\r\n}\r\n\r\n.tab_button_div.underline_filled.current:active{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-selected, #075DB2);\r\n border-color: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.line.current:hover{\r\n border-radius: var(--rounded-xs);\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-information, #064E94);\r\n border-color: var(--color-border-information, #064E94);\r\n}\r\n\r\n.tab_button_div.line.current:active{\r\n border-radius: var(--rounded-none);\r\n background: transparent;\r\n color: var(--color-text-selected, #075DB2);\r\n border-left: 2px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n/* Tab Current Styles */\r\n.tab_button_div.button_primary.current{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.button_gray.current{\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.button_white.current,\r\n.tab_button_div.rounded_button_white.current{\r\n background: var(--color-background-card, #FFFFFF);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.underline.current{\r\n background: transparent;\r\n color: var(--color-text-selected, #075DB2);\r\n border-bottom: 2px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.underline_filled.current{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-selected, #075DB2);\r\n border-bottom: 2px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.line.current{\r\n background: transparent;\r\n color: var(--color-text-selected, #075DB2);\r\n border-left: 2px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n/* Tab Size Styles */\r\n.button_primary.sm,\r\n.button_gray.sm,\r\n.button_white.sm,\r\n.rounded_button_white.sm,\r\n.underline.sm{\r\n height: 2.375rem;\r\n padding: var(--spacing-none) var(--spacing-4);\r\n}\r\n\r\n.underline_filled.sm,\r\n.line.sm{\r\n height: 2.375rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.button_primary.md,\r\n.button_gray.md,\r\n.button_white.md,\r\n.rounded_button_white.md,\r\n.underline.md,\r\n.underline_filled.md,\r\n.line.md{\r\n height: 2.75rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.button_primary.full_width.sm,\r\n.button_gray.full_width.sm,\r\n.button_white.full_width.sm,\r\n.rounded_button_white.full_width.sm{\r\n width: 100%;\r\n height: 2.375rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.underline.full_width.sm,\r\n.underline_filled.full_width.sm{\r\n width: 100%;\r\n height: 2.375rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.button_primary.full_width.md,\r\n.button_gray.full_width.md,\r\n.button_white.full_width.md,\r\n.rounded_button_white.full_width.md{\r\n width: 100%;\r\n height: 2.25rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.underline.full_width.md,\r\n.underline_filled.full_width.md{\r\n width: 100%;\r\n height: 2.25rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}","import { Component, Element, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\nimport { GeneralSizes, TabTypes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-tab-button-base',\r\n styleUrl: 'gb-tab-button-base.css',\r\n shadow: true,\r\n})\r\nexport class GbTabButtonBase {\r\n @Prop() current: boolean = false;\r\n @Prop() size: GeneralSizes;\r\n @Prop() fullWidth: boolean = false;\r\n @Prop() badge: boolean = false;\r\n @Prop() type: TabTypes;\r\n @Prop() tabName: string = '';\r\n @Prop() alignment: 'horizontal' | 'vertical';\r\n @Element() el: HTMLElement;\r\n @Event() tabClicked: EventEmitter<void>;\r\n\r\n getTextClasses() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-sm-medium';\r\n case 'md':\r\n return 'text-md-medium';\r\n }\r\n }\r\n\r\n getCurrentTextClasses() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n case 'md':\r\n return 'text-md-semi-bold';\r\n }\r\n }\r\n\r\n getCountTextClasses() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-xs-medium';\r\n case 'md':\r\n return 'text-sm-medium';\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const tabCount = this.el.querySelector('[slot=\"count\"]');\r\n\r\n if(tabCount) {\r\n tabCount.classList.add(this.getCountTextClasses());\r\n }\r\n }\r\n\r\n handleClick() {\r\n this.tabClicked.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n <div \r\n class={`tab_button_div ${this.type}\r\n ${this.current ? 'current' : ''} \r\n ${this.fullWidth ? 'full_width' : ''} \r\n ${this.size}\r\n ${this.alignment}`} \r\n onClick={() => this.handleClick()}\r\n >\r\n <p class={`${!this.current ? 'tab_text' : ''} ${this.current ? this.getCurrentTextClasses() : this.getTextClasses()}`}>{this.tabName}</p>\r\n {this.badge && (\r\n <gb-badge\r\n size=\"sm\"\r\n type=\"pill_color\"\r\n color={\r\n this.current && this.type === 'button_primary'\r\n ? 'information'\r\n : this.current && this.type === 'underline'\r\n ? 'information'\r\n : this.current && this.type === 'line'\r\n ? 'information'\r\n : 'gray'\r\n }\r\n >\r\n <slot name=\"count\"></slot>\r\n </gb-badge>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n display: flex;\r\n align-items: center;\r\n width: fit-content;\r\n}\r\n\r\n.container {\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n flex-shrink: 0;\r\n border-radius: var(--rounded-xs);\r\n border: 1px solid var(--color-boarder-subtle, #CDD5DF);\r\n background: var(--color-background-card, #FFFFFF); \r\n}\r\n\r\n.content {\r\n display: flex;\r\n padding: var(--spacing-none);\r\n text-align: center;\r\n align-items: center;\r\n border-radius: var(--rounded-none);\r\n color: var(--color-text, #4B5565);\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Medium, 500);\r\n letter-spacing: var(--Font-Letter-spacing-T-sm, 0rem);\r\n}\r\n\r\n.icon {\r\n border: none;\r\n}\r\n\r\n.container.sm {\r\n height: var(--spacing-6);\r\n padding: var(--spacing-none) var(--spacing-1) var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\n.container.md {\r\n height: 1.75rem;\r\n padding: var(--spacing-none) var(--spacing-1) var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\n.container.lg {\r\n height: var(--spacing-7);\r\n padding: var(--spacing-none) var(--spacing-1) var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\n.content.sm {\r\n gap: var(--spacing-1);\r\n font-size: var(--Font-Size-T-xs, 0.75rem);\r\n line-height: var(--Font-Line-height-T-xs, 1.125rem);\r\n}\r\n\r\n.content.md {\r\n gap: 0.3125rem;\r\n font-size: var(--Font-Size-T-sm, 0.875rem); \r\n line-height: var(--Font-Line-height-T-sm, 1.25rem); \r\n}\r\n\r\n.content.lg {\r\n gap: 0.375rem;\r\n font-size: var(--Font-Size-T-sm, 0.875rem);\r\n line-height: var(--Font-Line-height-T-sm, 1.25rem); /* 142.857% */\r\n}\r\n\r\n.label{\r\n display: flex;\r\n align-items: center;\r\n}","import { Component, Method, Prop, getAssetPath, h, Fragment, Event, EventEmitter, Element } from '@stencil/core';\r\nimport { GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-tag',\r\n styleUrl: 'gb-tag.css',\r\n shadow: true,\r\n})\r\nexport class GbTag {\r\n @Prop() size: GeneralSizes;\r\n @Prop() icon?: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop() action: 'X_close' | 'text_only' | 'count';\r\n @Prop() flagSwap: string;\r\n @Prop() checkbox?: boolean;\r\n @Event() checkboxClicked: EventEmitter<void>;\r\n @Element() el: HTMLElement;\r\n\r\n @Method()\r\n async onTagClose() {\r\n // console.log('close tag clicked');\r\n }\r\n\r\n async onCheckboxClicked() {\r\n // this.checkboxClicked.emit()\r\n }\r\n\r\n componentDidLoad() {\r\n const labelSlot = this.el.querySelector('p');\r\n\r\n if(labelSlot) {\r\n if(this.size === 'sm') {\r\n labelSlot.classList.add('text-xs-medium');\r\n } else if(this.size === 'md') {\r\n labelSlot.classList.add('text-sm-medium');\r\n } else if(this.size === 'lg') {\r\n labelSlot.classList.add('text-sm-medium');\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const flagSwap = getAssetPath(`${this.flagSwap}`);\r\n\r\n return (\r\n <div class={`container ${this.size}`}>\r\n <div class={`content ${this.size}`}>\r\n {this.checkbox && <gb-tag-checkbox size={this.size}></gb-tag-checkbox>}\r\n {this.icon === 'false' && <></>}\r\n {this.icon === 'country' && (\r\n <div class=\"icon left-icon\">\r\n <img src={flagSwap} alt=\"Country Icon\" />\r\n </div>\r\n )}\r\n {this.icon === 'avatar' && (\r\n <gb-avatar class=\"avatar-icon\" size=\"xxs\" status-icon=\"false\" text={true} color=\"gray\">\r\n <slot name=\"initials\" slot=\"initials\"></slot>\r\n </gb-avatar>\r\n )}\r\n {this.icon === 'dot' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\">\r\n <circle cx=\"4\" cy=\"4\" r=\"3\" fill=\"#17B26A\" />\r\n </svg>\r\n )}\r\n <div class=\"label\">\r\n <slot></slot>\r\n </div>\r\n {this.action === 'count' && (\r\n <gb-tag-count size={this.size}>\r\n <slot slot=\"count\" name=\"count\"></slot>\r\n </gb-tag-count>\r\n )}\r\n </div>\r\n {this.action === 'X_close' && <gb-tag-close size={this.size} onClick={() => this.onTagClose()}></gb-tag-close>}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.checkbox-container {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n cursor: pointer;\r\n}\r\n\r\ninput[type=\"checkbox\"] {\r\n opacity: 0;\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n cursor: pointer;\r\n}\r\n\r\n.custom-checkbox {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: var(--rounded-xs);\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n background: transparent;\r\n transition: background 0.2s, border 0.2s;\r\n margin-top: 10px;\r\n}\r\n\r\n.sm {\r\n width: 14px;\r\n height: 14px;\r\n}\r\n\r\n.md {\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n flex-shrink: 0;\r\n}\r\n\r\n.lg {\r\n width: 18px;\r\n height: 18px;\r\n}\r\n\r\ninput[type=\"checkbox\"]:checked + .custom-checkbox {\r\n background: var(--color-background-selected, #075DB2);\r\n border: 1px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\ninput[type=\"checkbox\"]:checked + .custom-checkbox .checkmark {\r\n display: block;\r\n}\r\n\r\n.checkmark {\r\n display: none;\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\n.checkbox-container:hover .custom-checkbox {\r\n border: 1px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.checkbox-container.disabled .custom-checkbox {\r\n background: var(--color-background-disabled, #F6F8FA);\r\n border: 1px solid var(--color-border-disabled, #E3E8EF);\r\n}\r\n\r\n.checkbox-container.disabled .checkmark {\r\n fill: var(--color-icon-disabled, #CDD5DF);\r\n}\r\n\r\n","import { Component, Prop, h} from \"@stencil/core\";\r\nimport { GeneralSizes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-tag-checkbox',\r\n styleUrl: 'gb-tag-checkbox.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbTagCheckbox {\r\n @Prop() checked: boolean = false;\r\n @Prop() size: GeneralSizes = 'md';\r\n @Prop() disabled: boolean = false;\r\n \r\n render() {\r\n return (\r\n <label class={`checkbox-container ${this.size} ${this.disabled ? 'disabled' : ''}`}>\r\n <input \r\n type=\"checkbox\" \r\n checked={this.checked} \r\n disabled={this.disabled} \r\n />\r\n <span class={`custom-checkbox ${this.size}`}>\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M2.5 7.25C2.5 7.25 3.25 7.25 4.25 9C4.25 9 7.02941 4.41667 9.5 3.5\" stroke=\"white\" stroke-width=\"1.71429\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n </label>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\ndiv {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-none);\r\n border-radius: 3px;\r\n cursor: pointer;\r\n}\r\n\r\ndiv:hover {\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n}\r\n\r\ndiv:hover svg path {\r\n stroke: var(--color-icon-bold, #202939);\r\n}\r\n\r\ndiv.sm,\r\ndiv.md {\r\n padding: var(--spacing-half);\r\n}\r\n\r\ndiv.lg {\r\n padding: 3px;\r\n}\r\n\r\ndiv.sm svg{\r\n width: 10px;\r\n height: 10px;\r\n}\r\n\r\ndiv.md svg{\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\ndiv.lg svg{\r\n width: 14px;\r\n height: 14px;\r\n}","import {Component, Prop, h} from '@stencil/core'\r\nimport { GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-tag-close',\r\n styleUrl: 'gb-tag-close.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbTagClose{\r\n @Prop() size: GeneralSizes;\r\n\r\n render() {\r\n return (\r\n <div class={this.size}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\">\r\n <path d=\"M7.91683 2.08328L2.0835 7.91662M2.0835 2.08328L7.91683 7.91662\" stroke=\"#4B5565\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n )\r\n }\r\n}","@import './../../global/global.css';\r\n\r\ndiv {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n flex-shrink: 0;\r\n border-radius: 3px;\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n} \r\n\r\ndiv.sm {\r\n width: 16px;\r\n height: 16px;\r\n padding: var(--spacing-none) var(--spacing-1);\r\n}\r\n\r\n.sm p{\r\n width: 8px;\r\n height: 16px; \r\n font-size: var(--Font-Size-T-xs, 0.75rem);\r\n line-height: var(--Font-Line-height-T-xs, 1.125rem);\r\n}\r\n\r\ndiv.md {\r\n width: 1.125rem;\r\n height: 1.125rem;\r\n padding: var(--spacing-none) 5px;\r\n}\r\n\r\n.md p{\r\n width: 0.5625rem;\r\n height: 1.125rem;\r\n font-size: var(--Font-Size-T-xs, 0.75rem);\r\n line-height: var(--Font-Line-height-T-xs, 1.125rem); \r\n}\r\n\r\ndiv.lg {\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.lg p{\r\n font-size: var(--Font-Size-T-sm, 0.875rem);\r\n line-height: var(--Font-Line-height-T-sm, 1.25rem);\r\n}\r\n\r\np{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n color: var(--color-text, #4B5565);\r\n text-align: center;\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Medium, 500);\r\n letter-spacing: var(--Font-Letter-spacing-T-sm, 0px);\r\n}\r\n\r\n\r\n","import {Component, Prop, h} from '@stencil/core';\r\nimport { GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-tag-count',\r\n styleUrl: 'gb-tag-count.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbTagCount{\r\n @Prop() size: GeneralSizes;\r\n\r\n render() {\r\n return (\r\n <div class={this.size}>\r\n <slot name=\"count\"></slot>\r\n </div>\r\n )\r\n }\r\n}","@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 width: 15rem; /* Remove later */\r\n min-height: 7.5rem;\r\n overflow: visible;\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.hint_text.destructive{\r\n color: var(--color-border-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({ 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 @Element() el: HTMLElement;\r\n @State() content: string = '';\r\n @State() inputValue: 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 componentDidLoad() {\r\n if (this.type === 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n this.inputElement.addEventListener('input', this.handleTagInput.bind(this));\r\n\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 this.inputElement.removeEventListener('input', this.handleTagInput.bind(this));\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 }\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 console.log(this.value);\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 class={`textarea ${this.state} ${this.destructive ? 'destructive' : ''}`}\r\n placeholder={this.placeholderText}\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 && <p class={`hint_text text-sm-regular ${this.destructive ? 'destructive' : ''}`}>{this.hintText}</p>}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n:host{\r\n display: block;\r\n}\r\n\r\n.tooltip_container {\r\n position: relative;\r\n}\r\n \r\n.tooltip {\r\n position: absolute;\r\n background-color: var(--color-surface-bold, #FCFCFC);\r\n border: 0.5px solid var(--color-border-subtler, #E3E8EF);\r\n border-radius: var(--rounded-sm);\r\n box-shadow: var(--shadow-sm);\r\n padding: var(--spacing-3);\r\n z-index: 100;\r\n}\r\n\r\n.tooltip_content{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-3);\r\n \r\n}\r\n \r\n.arrow {\r\n width: 0;\r\n height: 0;\r\n border-style: solid;\r\n position: absolute;\r\n}\r\n\r\n.arrow::before {\r\n content: '';\r\n position: absolute;\r\n width: 0;\r\n height: 0;\r\n border-style: solid;\r\n}\r\n \r\n.arrow.bottom_center {\r\n top: 100%;\r\n left: 50%;\r\n border-width: 7.5px 7.5px 0 7.5px;\r\n border-color: var(--color-border-subtler, #E3E8EF) transparent transparent transparent;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow.bottom_center::before {\r\n left: -0.39rem;\r\n bottom: 0.1rem;\r\n border-width: 0 9.6px 9.6px 9.6px;\r\n transform: translateY(-50%) rotate(135deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n \r\n.arrow.left {\r\n top: 50%;\r\n right: 100%;\r\n border-width: 6px 0 6px 6px;\r\n border-color: transparent transparent transparent var(--color-border-subtler, #E3E8EF);\r\n transform: translateY(-50%) rotate(180deg);\r\n}\r\n\r\n.arrow.left::before {\r\n left: -8px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n border-width: 7.5px 0 7.5px 7.5px;\r\n border-color: transparent transparent transparent var(--color-surface-bold, #FCFCFC);\r\n}\r\n\r\n.arrow.bottom_left {\r\n top: 100%;\r\n left: 20%;\r\n border-width: 7.5px 7.5px 0 7.5px;\r\n border-color: var(--color-border-subtler, #E3E8EF) transparent transparent transparent;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow.bottom_left::before {\r\n left: -0.39rem;\r\n bottom: 0.1rem;\r\n border-width: 0 9.6px 9.6px 9.6px;\r\n transform: translateY(-50%) rotate(135deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n \r\n.arrow.right {\r\n top: 50%;\r\n left: 100%;\r\n border-width: 7px 7px 7px 0;\r\n border-color: transparent var(--color-border-subtler, #E3E8EF) transparent transparent;\r\n transform: translateY(-50%) rotate(-180deg);\r\n}\r\n\r\n.arrow.right::before {\r\n left: 0.5px;\r\n top: 50%;\r\n border-width: 6.5px 6.5px 6.5px 0;\r\n transform: translateY(-50%) rotate(0deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n\r\n.arrow.bottom_right {\r\n top: 100%;\r\n right: 5%;\r\n border-width: 7.5px 7.5px 0 7.5px;\r\n border-color: var(--color-border-subtler, #E3E8EF) transparent transparent transparent;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow.bottom_right::before {\r\n left: -0.39rem;\r\n bottom: 0.1rem;\r\n border-width: 0 9.6px 9.6px 9.6px;\r\n transform: translateY(-50%) rotate(135deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n \r\n.arrow.top_center {\r\n bottom: 100%;\r\n right: 45%;\r\n border-width: 0 7.5px 7.5px 7.5px;\r\n border-color: transparent transparent var(--color-border-subtler, #E3E8EF) transparent;\r\n}\r\n\r\n.arrow.top_center::before {\r\n left: -12.8px;\r\n bottom: -20.25px;\r\n border-width: 0 9.5px 9.5px 9.5px;\r\n transform: translateY(-50%) rotate(-45deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n\r\n::slotted([slot=\"label\"]){\r\n white-space: nowrap;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"supporting_text\"]){\r\n white-space: wrap;\r\n color: var(--color-text-subtle, #697586);\r\n margin-top: 5rem;\r\n min-width: fit-content;\r\n max-width: 18.5rem;\r\n}","import { Component, Element, Prop, h } from \"@stencil/core\";\r\nimport { ArrowPositions } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-tooltip',\r\n styleUrl: 'gb-tooltip.css',\r\n shadow: true,\r\n})\r\nexport class GbTooltip {\r\n @Prop() showArrow: boolean = false;\r\n @Prop() arrow: ArrowPositions = 'bottom_center';\r\n @Prop() showSupportingText: boolean = false;\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const mainTextSlot = this.el.querySelector('[slot=\"label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\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 getArrowClass() {\r\n return this.showArrow ? `arrow ${this.arrow}` : '';\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"tooltip_container\">\r\n <div class=\"tooltip\">\r\n {this.showArrow && <div class={this.getArrowClass()}></div>}\r\n <div class=\"tooltip_content\">\r\n <slot name=\"label\" />\r\n {this.showSupportingText && <slot name=\"supporting_text\" />}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}"],"mappings":"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","ignoreList":[]}
|