@genexus/genexus-ide-ui 0.0.109 → 0.0.110
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/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +70 -0
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +142 -63
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +5 -10
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +1 -1
- package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gxg-card_2.cjs.entry.js} +121 -63
- package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -0
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -0
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-ide-loader.cjs.entry.js +4 -15
- package/dist/cjs/gxg-ide-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-tab_4.cjs.entry.js +1 -1
- package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +0 -1
- package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +370 -29
- package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +4 -99
- package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +10 -4
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +43 -22
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +167 -63
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
- package/dist/collection/components/modules/types.js.map +1 -1
- package/dist/components/combo-box.js +2 -1
- package/dist/components/combo-box.js.map +1 -1
- package/dist/components/container.js +2 -2
- package/dist/components/form-checkbox.js +1 -1
- package/dist/components/form-radio-group.js +1 -1
- package/dist/components/form-text.js +1 -1
- package/dist/components/form-textarea.js +1 -1
- package/dist/components/form.js +1 -1
- package/dist/components/gx-ide-ai-assistant.js +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +2 -2
- package/dist/components/gx-ide-create-kb-from-server.js +2 -2
- package/dist/components/gx-ide-dashboard-home.js +2 -2
- package/dist/components/gx-ide-data-selector.js +2 -2
- package/dist/components/gx-ide-edit-module-servers.js +2 -2
- package/dist/components/gx-ide-empty-state2.js +2 -2
- package/dist/components/gx-ide-import-from-design.js +2 -2
- package/dist/components/gx-ide-kb-manager-export.js +2 -2
- package/dist/components/gx-ide-kb-manager-import.js +3 -3
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +173 -90
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +2 -2
- package/dist/components/gx-ide-new-kb.js +2 -2
- package/dist/components/gx-ide-new-object.js +2 -2
- package/dist/components/gx-ide-object-selector.js +2 -2
- package/dist/components/gx-ide-references.js +2 -2
- package/dist/components/gx-ide-share-kb.js +2 -2
- package/dist/components/gx-ide-start-page.js +2 -2
- package/dist/components/gx-ide-status-buttons2.js +6 -16
- package/dist/components/gx-ide-status-buttons2.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +2 -2
- package/dist/components/gx-ide-team-dev-select-recent-comment.js +2 -2
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -2
- package/dist/components/gx-ide-team-dev-update-to-revision.js +2 -2
- package/dist/components/gx-ide-team-dev-update.js +2 -2
- package/dist/components/gx-ide-template.js +2 -2
- package/dist/components/gx-ide-title.js +1 -1
- package/dist/components/gx-ide-top-bar.js +1 -1
- package/dist/components/gx-ide-ww-images.js +2 -2
- package/dist/components/gxg-container.js +1 -1
- package/dist/components/gxg-form-checkbox-group2.js +1 -1
- package/dist/components/gxg-menu-slim-list.js +1 -1
- package/dist/components/gxg-title.js +1 -1
- package/dist/components/gxg-top-state-bar2.js +1 -1
- package/dist/components/gxg-top-state-bar2.js.map +1 -1
- package/dist/components/ide-loader.js +7 -16
- package/dist/components/ide-loader.js.map +1 -1
- package/dist/components/list-box.js +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/recent-news.js +2 -2
- package/dist/components/suggest.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/title-editable.js +1 -1
- package/dist/components/title.js +31 -32
- package/dist/components/title.js.map +1 -1
- package/dist/components/title2.js +32 -31
- package/dist/components/title2.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +66 -0
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +142 -63
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-buttons.entry.js +5 -10
- package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
- package/dist/esm/gxg-buttons-container_2.entry.js +1 -1
- package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -1
- package/dist/esm/{gx-ide-empty-state_2.entry.js → gxg-card_2.entry.js} +122 -64
- package/dist/{cjs/gx-ide-empty-state_2.cjs.entry.js.map → esm/gxg-card_2.entry.js.map} +1 -1
- package/dist/esm/gxg-combo-box_2.entry.js +1 -0
- package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
- package/dist/esm/gxg-ide-loader.entry.js +4 -15
- package/dist/esm/gxg-ide-loader.entry.js.map +1 -1
- package/dist/esm/gxg-tab_4.entry.js +1 -1
- package/dist/esm/gxg-tab_4.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +4 -3
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +10 -4
- package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js → p-00704c36.entry.js} +6 -6
- package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js.map → p-00704c36.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/p-5ca7da19.entry.js +94 -0
- package/dist/genexus-ide-ui/p-5ca7da19.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-41ac8e60.entry.js → p-5fe20f47.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-5fe20f47.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-adaf7aff.entry.js → p-713ad05d.entry.js} +185 -109
- package/dist/genexus-ide-ui/p-713ad05d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-40121554.entry.js → p-9f9fda93.entry.js} +172 -120
- package/dist/genexus-ide-ui/p-9f9fda93.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ee9f4e20.entry.js → p-bc04fcaa.entry.js} +7 -15
- package/dist/genexus-ide-ui/p-bc04fcaa.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5a5d3e19.entry.js → p-c9cceb40.entry.js} +1 -4
- package/dist/genexus-ide-ui/p-c9cceb40.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e9e4482b.entry.js → p-decf86d4.entry.js} +114 -127
- package/dist/genexus-ide-ui/p-decf86d4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-045a084f.entry.js → p-f37ec5b8.entry.js} +2 -1
- package/dist/genexus-ide-ui/p-f37ec5b8.entry.js.map +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +3 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +32 -34
- package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +0 -20
- package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +20 -8
- package/dist/types/components/modules/types.d.ts +5 -4
- package/dist/types/components.d.ts +70 -184
- package/package.json +3 -3
- package/dist/cjs/gx-ide-add-module-servers.cjs.entry.js +0 -98
- package/dist/cjs/gx-ide-add-module-servers.cjs.entry.js.map +0 -1
- package/dist/cjs/gxg-title-editable.cjs.entry.js +0 -128
- package/dist/cjs/gxg-title-editable.cjs.entry.js.map +0 -1
- package/dist/collection/components/modules/add-module-servers/add-module-servers.css +0 -560
- package/dist/collection/components/modules/add-module-servers/add-module-servers.js +0 -251
- package/dist/collection/components/modules/add-module-servers/add-module-servers.js.map +0 -1
- package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.en.json +0 -11
- package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.ja.json +0 -3
- package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.zh.json +0 -3
- package/dist/components/gx-ide-add-module-servers.d.ts +0 -11
- package/dist/components/gx-ide-add-module-servers.js +0 -186
- package/dist/components/gx-ide-add-module-servers.js.map +0 -1
- package/dist/esm/gx-ide-add-module-servers.entry.js +0 -94
- package/dist/esm/gx-ide-add-module-servers.entry.js.map +0 -1
- package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
- package/dist/esm/gxg-title-editable.entry.js +0 -124
- package/dist/esm/gxg-title-editable.entry.js.map +0 -1
- package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.en.json +0 -11
- package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.ja.json +0 -3
- package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.zh.json +0 -3
- package/dist/genexus-ide-ui/p-045a084f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-36544e00.entry.js +0 -138
- package/dist/genexus-ide-ui/p-36544e00.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-40121554.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-41ac8e60.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5a5d3e19.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a46794f4.entry.js +0 -138
- package/dist/genexus-ide-ui/p-a46794f4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-adaf7aff.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e9e4482b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ee9f4e20.entry.js.map +0 -1
- package/dist/types/components/modules/add-module-servers/add-module-servers.d.ts +0 -60
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["tabCss","GxgTab","constructor","hostRef","this","tab","undefined","noPadding","flexContainer","flex","overflowAuto","flexDirection","isSelected","reduced","render","h","Host","class","open","large","state","mercury","container","part","tabBarCss","GxgTabBar","parts","buttonMenu","lastAddedOrRemovedTabBarButtonWidth","evaluateMenuButtonsTabIndex","menuCollapsed","disableTabIndex","enableTabIndex","setFocus","tabBarMenuToggleButton","focus","menuButtons","el","querySelectorAll","length","attachExportParts","getAttribute","exportPartsResult","exportParts","exportparts","allButtons","forEach","button","removeAttribute","setAttribute","hidden","appendedButtons","tabBarMenuHeight","tabBarMenuWidth","tabBarMenuCollapsed","tabBarMenuPosition","displayBorder","scrollable","stacked","rtl","detectClickOutsideTabBarMenu","bind","openMenu","event","stopPropagation","document","addEventListener","tabBarMenuCollapsedHandler","appendTabButtons","numberOfButtons","i","appendTabItemsToMenu","tabActivatedHandler","PrevOrNextTabHandler","e","tabEnabledButtons","allTabButtons","tabButton","disabled","push","arrowPressed","detail","targetButton","target","clickedButtonIndex","findIndex","destinationTab","tabButtonClick","gxgTabsPosition","parentElement","position","buttonHeight","children","item","clientHeight","sizeReference","offsetWidth","offsetHeight","tabBarWidth","tabBar","tabButtons","lastTabButton","classList","add","menuFirstButton","remove","componentWillLoad","componentDidLoad","dirHtml","getElementsByTagName","dirBody","myObserver","ResizeObserver","entries","observe","setIndexToTabButtons","index","toString","renderTabBarMenu","onClick","type","icon","ref","x","y","tabBarMenuClientRect","tabBarMenu","getBoundingClientRect","left","right","top","bottom","disconnectedCallback","removeEventListener","nav","name","style","tabButtonCss","GxgTabButton","tabLabel","borderAbove","stackedStyle","buttonClickHandler","isSelectedHandler","newValue","hiddenHandler","parseInt","tabActivated","emit","buttonKeyDownHandler","key","PrevOrNextTab","originTab","preventDefault","printIcon","size","color","onKeyDown","delegatesFocus","tabsCss","GxgTabs","evaluateStacked","querySelector","evaluateReduced","gxgTabButtons","Array","from","gxgTabs","getTab","activateTab","activeTab","tabs","height","maxHeight","minWidth","tabBarBorder","noBorder","buttonsBorderAbove","noBackground","watchActiveTabHandler","updateActiveChildren","configureTabs","tagName","child","setActiveTab","tabEl","setFirstActiveTab","allTabs","firstEnabledTab","find"],"sources":["node_modules/@genexus/gemini/dist/collection/components/tab/tab.css?tag=gxg-tab&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/tab/tab.js","node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css?tag=gxg-tab-bar&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.js","node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css?tag=gxg-tab-button&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.js","node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css?tag=gxg-tabs&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.js"],"sourcesContent":[":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host {\n height: 100%;\n overflow-y: auto;\n display: block;\n}\n:host .container {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n /* Track */\n /* Handle */\n /* Handle on hover */\n font-size: var(--gxg-tab-font-size);\n color: var(--gxg-tab-color);\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding-block-start: var(--gxg-tab-vertical-padding);\n padding-inline-end: var(--gxg-tab-horizontal-padding);\n padding-block-end: var(--gxg-tab-vertical-padding);\n padding-inline-start: var(--gxg-tab-horizontal-padding);\n overflow-y: auto;\n background-color: var(--gxg-tab-background-color);\n}\n:host .container::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n:host .container::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n:host .container::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n:host .container::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n:host .container::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n:host .container--reduced {\n font-size: var(--gxg-tab-font-size--reduced);\n padding-block-start: var(--gxg-tab-vertical-padding--reduced);\n padding-inline-end: var(--gxg-tab-horizontal-padding--reduced);\n padding-block-end: var(--gxg-tab-vertical-padding--reduced);\n padding-inline-start: var(--gxg-tab-horizontal-padding--reduced);\n}\n\n:host(.not-selected) {\n display: none;\n}\n\n:host(.no-padding) .container {\n padding: 0;\n}\n\n:host(.flex) {\n display: flex;\n}\n\n:host(.overflow-auto) {\n overflow: auto;\n}\n\n.container--flex {\n display: flex;\n}\n.container--flex.flex-column {\n flex-direction: column;\n}\n.container--flex.flex-row {\n flex-direction: row;\n}","import { h, Host } from \"@stencil/core\";\nimport state from \"../store\";\nexport class GxgTab {\n constructor() {\n this.tab = undefined;\n this.noPadding = false;\n this.flexContainer = false;\n this.flex = false;\n this.overflowAuto = false;\n this.flexDirection = \"column\";\n this.isSelected = false;\n this.reduced = false;\n }\n el;\n render() {\n return (h(Host, { class: {\n \"overflow-auto\": this.overflowAuto,\n flex: this.flex && this.isSelected,\n open: this.isSelected,\n \"not-selected\": !this.isSelected,\n \"no-padding\": this.noPadding,\n large: state.large,\n mercury: state.mercury\n } }, h(\"div\", { class: {\n container: true,\n \"container--flex\": this.flexContainer,\n \"flex-column\": this.flexDirection === \"column\",\n \"flex-row\": this.flexDirection === \"row\",\n \"container--reduced\": this.reduced\n }, part: \"container\" }, h(\"slot\", null))));\n }\n static get is() { return \"gxg-tab\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tab.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tab.css\"]\n };\n }\n static get properties() {\n return {\n \"tab\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The tab id. Should match the \\\"tab\\\" value of the correlative \\\"gxg-tab\\\"\"\n },\n \"attribute\": \"tab\",\n \"reflect\": false\n },\n \"noPadding\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute removes the tab .container padding\"\n },\n \"attribute\": \"no-padding\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"flexContainer\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the container display flex\"\n },\n \"attribute\": \"flex-container\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"flex\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the display of the tab 'flex' only when is open\"\n },\n \"attribute\": \"flex\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"overflowAuto\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the .container overflow property set to 'auto'\"\n },\n \"attribute\": \"overflow-auto\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"flexDirection\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TabContainerFlexDirection\",\n \"resolved\": \"\\\"column\\\" | \\\"row\\\"\",\n \"references\": {\n \"TabContainerFlexDirection\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/tab/tab.tsx\",\n \"id\": \"src/components/tab/tab.tsx::TabContainerFlexDirection\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The container flex-direction, if container is flex.\"\n },\n \"attribute\": \"flex-direction\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"column\\\"\"\n },\n \"isSelected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab\"\n },\n \"attribute\": \"is-selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"reduced\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute will make the font size smaller.\"\n },\n \"attribute\": \"reduced\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=tab.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host {\n --tabBarMenuHeight: 0;\n --tabBarMenuWidth: 0;\n display: inline-flex;\n text-align: right;\n position: relative;\n display: flex;\n justify-content: space-between;\n}\n:host .nav {\n display: flex;\n justify-content: space-between;\n width: 100%;\n background-color: var(--gxg-tab-bar-background-color);\n}\n:host .nav--border {\n border-bottom: var(--ds-border-common-styles);\n}\n:host .tab-bar {\n list-style-type: none;\n padding-inline-start: 0;\n display: flex !important;\n margin-bottom: 0;\n margin-top: 0;\n}\n:host .tab-bar__menu {\n display: flex;\n align-items: center;\n}\n:host .tab-bar__menu-button {\n padding-right: 4px;\n transform: scale(0.9);\n}\n:host .tab-bar-menu {\n border-radius: var(--border-width-md);\n box-shadow: var(--box-shadow-01);\n height: var(--tabBarMenuHeight);\n position: absolute;\n z-index: 10;\n background-color: var(--color-on-primary);\n right: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n display: inline-flex;\n flex-direction: column;\n overflow: hidden;\n transition-property: height;\n transition-duration: var(--ui-animaton-speed);\n transition-timing-function: ease;\n}\n:host .tab-bar-menu.bottom {\n bottom: 0;\n}\n:host .tab-bar-menu.right {\n bottom: 0;\n rotate: 90deg;\n transform-origin: top right;\n transform: translateX(100%);\n height: auto !important;\n width: var(--tabBarMenuHeight);\n}\n:host .tab-bar-menu--collapsed {\n height: 0;\n}\n:host .tab-bar-menu--collapsed.right {\n width: 0;\n}\n\n/*Stacked*/\n:host(.gxg-tab-bar--left-stacked),\n:host(.gxg-tab-bar--right-stacked) {\n height: 100%;\n}\n:host(.gxg-tab-bar--left-stacked) .tab-bar,\n:host(.gxg-tab-bar--right-stacked) .tab-bar {\n flex-direction: column;\n}\n\n:host(.gxg-tab-bar--left-stacked) {\n border-inline-end: var(--ds-border-common-styles);\n}\n\n:host(.gxg-tab-bar--right-stacked) {\n border-inline-start: var(--ds-border-common-styles);\n}\n\n/*Scrollable*/\n:host([scrollable]) .nav {\n width: 100%;\n overflow-y: auto;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n:host([scrollable]) .nav::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n:host([scrollable]) .nav::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n:host([scrollable]) .nav::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n:host([scrollable]) .nav::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n:host([scrollable]) .nav::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host(.gxg-tab-bar--hidden) {\n display: none;\n}\n\n:host(.rtl) .tab-bar-menu {\n left: 0;\n right: auto;\n}","import { h, Host } from \"@stencil/core\";\nimport state from \"../store\";\nimport { exportParts } from \"../../common/export-parts\";\nexport class GxgTabBar {\n parts = {\n buttonMenu: \"button-menu\"\n };\n exportparts;\n constructor() {\n this.hidden = false;\n this.appendedButtons = 0;\n this.tabBarMenuHeight = \"auto\";\n this.tabBarMenuWidth = \"auto\";\n this.tabBarMenuCollapsed = true;\n this.tabBarMenuPosition = undefined;\n this.displayBorder = false;\n this.scrollable = false;\n this.stacked = null;\n this.rtl = false;\n this.detectClickOutsideTabBarMenu =\n this.detectClickOutsideTabBarMenu.bind(this);\n }\n el;\n tabBar;\n tabBarMenu;\n tabBarMenuToggleButton;\n lastAddedOrRemovedTabBarButtonWidth = 0;\n openMenu(event) {\n event.stopPropagation();\n this.tabBarMenuCollapsed = false;\n document.addEventListener(\"click\", this.detectClickOutsideTabBarMenu);\n }\n tabBarMenuCollapsedHandler(menuCollapsed) {\n this.evaluateMenuButtonsTabIndex(menuCollapsed);\n this.setFocus(menuCollapsed);\n }\n evaluateMenuButtonsTabIndex = (menuCollapsed) => {\n if (menuCollapsed) {\n this.disableTabIndex();\n }\n else {\n this.enableTabIndex();\n }\n };\n setFocus = (menuCollapsed) => {\n if (menuCollapsed) {\n this.tabBarMenuToggleButton.focus();\n }\n else {\n const menuButtons = this.el.querySelectorAll(\"[slot=tab-menu]\");\n if (menuButtons.length) {\n menuButtons[0].focus();\n }\n }\n };\n async appendTabButtons() {\n if (!this.scrollable) {\n const numberOfButtons = this.el.querySelectorAll(\"gxg-tab-button\").length;\n for (let i = 0; i <= numberOfButtons; i++) {\n this.appendTabItemsToMenu();\n }\n }\n }\n tabActivatedHandler() {\n this.tabBarMenuCollapsed = true;\n }\n PrevOrNextTabHandler(e) {\n const tabEnabledButtons = [];\n const allTabButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n if (allTabButtons) {\n allTabButtons.forEach(tabButton => {\n if (!tabButton.disabled && !tabButton.hidden) {\n tabEnabledButtons.push(tabButton);\n }\n });\n }\n const arrowPressed = e.detail[\"arrowPressed\"];\n const targetButton = e.target;\n const clickedButtonIndex = tabEnabledButtons.findIndex(button => {\n return button === targetButton;\n });\n let destinationTab;\n if (arrowPressed === \"ArrowLeft\" && clickedButtonIndex !== -1) {\n destinationTab = tabEnabledButtons[clickedButtonIndex - 1];\n }\n else if (arrowPressed === \"ArrowRight\" && clickedButtonIndex !== -1) {\n destinationTab = tabEnabledButtons[clickedButtonIndex + 1];\n }\n if (destinationTab) {\n destinationTab.tabButtonClick();\n }\n }\n appendTabItemsToMenu() {\n //This function appends tab-buttons into a tab-menu, as long as the tab-buttons are too tight\n const gxgTabsPosition = this.el.parentElement\n .position;\n const buttonHeight = this.el.children.item(0).clientHeight;\n let sizeReference;\n if (gxgTabsPosition === \"top\" || gxgTabsPosition === \"bottom\") {\n sizeReference = this.el.parentElement.offsetWidth;\n }\n else if (gxgTabsPosition === \"right-rotated\" ||\n gxgTabsPosition === \"left-rotated\") {\n sizeReference = this.el.parentElement.offsetHeight;\n }\n const tabBarWidth = this.tabBar.offsetWidth;\n if (tabBarWidth + 20 > sizeReference) {\n const tabButtons = this.el.querySelectorAll(\"gxg-tab-button[slot='tab-bar']\");\n //get the last item of the nodeList\n const lastTabButton = tabButtons[tabButtons.length - 1];\n if (lastTabButton) {\n this.lastAddedOrRemovedTabBarButtonWidth = lastTabButton.offsetWidth;\n //add \"menu-button\" class to button component, in order to stylize the buttons inside the menu differently\n lastTabButton.classList.add(\"menu-button\");\n lastTabButton.setAttribute(\"slot\", \"tab-menu\");\n this.appendedButtons++;\n }\n //}\n }\n else if (tabBarWidth + 20 + this.lastAddedOrRemovedTabBarButtonWidth <\n sizeReference) {\n const menuButtons = this.el.querySelectorAll(\"[slot=tab-menu]\");\n const menuFirstButton = menuButtons[0];\n if (menuFirstButton) {\n menuFirstButton.classList.remove(\"menu-button\");\n menuFirstButton.setAttribute(\"slot\", \"tab-bar\");\n this.lastAddedOrRemovedTabBarButtonWidth = menuFirstButton.offsetWidth;\n this.appendedButtons--;\n }\n }\n if (gxgTabsPosition === \"right-rotated\" ||\n gxgTabsPosition === \"left-rotated\") {\n this.tabBarMenuHeight = this.appendedButtons * buttonHeight + \"px\";\n }\n this.evaluateMenuButtonsTabIndex(this.tabBarMenuCollapsed);\n }\n componentWillLoad() {\n this.attachExportParts();\n }\n attachExportParts = () => {\n const part = this.el.getAttribute(\"part\");\n const exportPartsResult = exportParts(part, this.parts);\n exportPartsResult.length && (this.exportparts = exportPartsResult);\n };\n componentDidLoad() {\n //Reading Direction\n const dirHtml = document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"dir\");\n const dirBody = document\n .getElementsByTagName(\"body\")[0]\n .getAttribute(\"dir\");\n if (dirHtml === \"rtl\" || dirBody === \"rtl\") {\n this.rtl = true;\n }\n if (!this.scrollable) {\n const myObserver = new ResizeObserver(entries => {\n entries.forEach(() => {\n //get any button space between text and button border\n this.appendTabItemsToMenu();\n });\n });\n myObserver.observe(this.el.parentElement);\n //Collapse buttons if they dont't fit in the available space already\n const numberOfButtons = this.el.querySelectorAll(\"gxg-tab-button\").length;\n for (let i = 0; i <= numberOfButtons; i++) {\n this.appendTabItemsToMenu();\n }\n }\n //Tabbar menu on bottom\n const gxgTabsPosition = this.el.parentElement.getAttribute(\"position\");\n if (gxgTabsPosition === \"bottom\") {\n this.tabBarMenuPosition = \"bottom\";\n }\n //Tabbar menu on right\n if (gxgTabsPosition === \"right-rotated\") {\n this.tabBarMenuPosition = \"right-rotated\";\n }\n this.setIndexToTabButtons();\n }\n setIndexToTabButtons() {\n const tabButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n tabButtons.forEach((tabButton, index) => {\n tabButton.setAttribute(\"data-index\", index.toString());\n });\n }\n renderTabBarMenu() {\n if (this.appendedButtons > 0) {\n return (h(\"div\", { class: \"tab-bar__menu\" }, h(\"gxg-button\", { class: \"tab-bar__menu-button\", onClick: this.openMenu.bind(this), type: \"tertiary\", icon: \"gemini-tools/show-more-vertical\", ref: el => (this.tabBarMenuToggleButton = el), part: this.parts.buttonMenu })));\n }\n }\n detectClickOutsideTabBarMenu(event) {\n const x = event.x;\n const y = event.y;\n //card main container coordinates\n const tabBarMenuClientRect = this.tabBarMenu.getBoundingClientRect();\n if (x > tabBarMenuClientRect.left &&\n x < tabBarMenuClientRect.right &&\n y > tabBarMenuClientRect.top &&\n y < tabBarMenuClientRect.bottom) {\n //Click happened inside the menu\n }\n else {\n //Click happened outside the menu\n this.tabBarMenuCollapsed = true;\n }\n }\n disconnectedCallback() {\n document.removeEventListener(\"click\", this.detectClickOutsideTabBarMenu);\n }\n enableTabIndex = () => {\n const allButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n allButtons.forEach(button => {\n button.removeAttribute(\"tabindex\");\n });\n };\n disableTabIndex = () => {\n const menuButtons = this.el.querySelectorAll(\"[slot=tab-menu]\");\n menuButtons.forEach(button => {\n button.setAttribute(\"tabindex\", \"-1\");\n });\n };\n render() {\n return (h(Host, { class: {\n rtl: this.rtl,\n \"gxg-tab-bar\": true,\n \"gxg-tab-bar--hidden\": this.hidden,\n \"gxg-tab-bar--left-stacked\": this.stacked === \"left-stacked\",\n \"gxg-tab-bar--right-stacked\": this.stacked === \"right-stacked\",\n mercury: state.mercury\n }, exportParts: this.exportparts ? this.exportparts : null }, h(\"nav\", { class: {\n nav: true,\n \"nav--border\": this.displayBorder && this.stacked === null\n } }, h(\"ul\", { class: {\n \"tab-bar\": true\n }, ref: el => (this.tabBar = el) }, h(\"slot\", { name: \"tab-bar\" })), this.renderTabBarMenu(), h(\"ul\", { class: {\n \"tab-bar-menu\": true,\n \"tab-bar-menu--collapsed\": this.tabBarMenuCollapsed,\n top: this.tabBarMenuPosition === \"top\",\n right: this.tabBarMenuPosition === \"right-rotated\",\n bottom: this.tabBarMenuPosition === \"bottom\",\n left: this.tabBarMenuPosition === \"left-rotated\"\n }, style: {\n \"--tabBarMenuHeight\": this.tabBarMenuHeight,\n \"--tabBarMenuWidth\": this.tabBarMenuWidth\n }, ref: el => (this.tabBarMenu = el) }, h(\"slot\", { name: \"tab-menu\" })))));\n }\n static get is() { return \"gxg-tab-bar\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tab-bar.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tab-bar.css\"]\n };\n }\n static get properties() {\n return {\n \"hidden\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Hides the tab-bar\"\n },\n \"attribute\": \"hidden\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"displayBorder\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute displays a border-bottom line on the tab bar\"\n },\n \"attribute\": \"display-border\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"scrollable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute with display a scrollbar if the buttons total width is greater than the tab-bar width.\"\n },\n \"attribute\": \"scrollable\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"stacked\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TabsStackedPosition\",\n \"resolved\": \"\\\"left-stacked\\\" | \\\"right-stacked\\\"\",\n \"references\": {\n \"TabsStackedPosition\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/tab-bar/tab-bar.tsx\",\n \"id\": \"src/components/tab-bar/tab-bar.tsx::TabsStackedPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true the buttons will be stacked on each other, instead of inline. (used for \\\"position:left-stacked\\\", or \\\"position:right-stacked\\\" on gxg-tabs)\"\n },\n \"attribute\": \"stacked\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n }\n };\n }\n static get states() {\n return {\n \"appendedButtons\": {},\n \"tabBarMenuHeight\": {},\n \"tabBarMenuWidth\": {},\n \"tabBarMenuCollapsed\": {},\n \"tabBarMenuPosition\": {},\n \"rtl\": {}\n };\n }\n static get methods() {\n return {\n \"appendTabButtons\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"tabBarMenuCollapsed\",\n \"methodName\": \"tabBarMenuCollapsedHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabActivated\",\n \"method\": \"tabActivatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"PrevOrNextTab\",\n \"method\": \"PrevOrNextTabHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=tab-bar.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host {\n display: block;\n align-self: center !important;\n line-height: 0;\n}\n:host .tab-button {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--gxg-tab-button-font-size);\n font-weight: var(--gxg-tab-button-font-weight);\n font-family: inherit;\n text-transform: var(--gxg-tab-button-font-text-transform);\n color: var(--gxg-tab-button-color);\n letter-spacing: var(--letter-spacing-regular);\n padding-top: 0;\n padding-inline-end: var(--gxg-tab-button-horizontal-padding);\n padding-bottom: 0;\n padding-inline-start: var(--gxg-tab-button-horizontal-padding);\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n border: 0;\n width: 100%;\n height: var(--gxg-tab-button-height);\n position: relative;\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n box-shadow: none;\n background-color: transparent;\n /*stacked style*/\n}\n:host .tab-button:focus-visible {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: -2px;\n}\n:host .tab-button:after {\n content: \"\";\n width: 100%;\n height: var(--gxg-tab-button-line-height);\n left: 0;\n bottom: 0;\n position: absolute;\n background-color: transparent;\n}\n:host .tab-button:hover {\n cursor: pointer;\n}\n:host .tab-button:hover:focus-visible {\n outline-color: var(--gxg-tab-button-line-background-color-hover);\n}\n:host .tab-button:hover:after {\n background-color: var(--gxg-tab-button-line-background-color-hover);\n}\n:host .tab-button:active:focus-visible {\n outline-color: var(--gxg-tab-button-line-background-color-active);\n}\n:host .tab-button:active:after {\n background-color: var(--gxg-tab-button-line-background-color-active);\n}\n:host .tab-button[disabled] {\n color: var(--ds-color-disabled);\n pointer-events: none;\n}\n:host .tab-button[disabled]:after {\n background-color: var(--ds-background-color-disabled);\n}\n:host .tab-button[disabled] gxg-icon {\n --gxg-icon-color: var(--ds-icon-color-disabled);\n}\n:host .tab-button--selected {\n color: var(--gxg-tab-button-color--selected);\n font-weight: var(--gxg-tab-button-font-weight-selected);\n}\n:host .tab-button--selected:after {\n background-color: var(--gxg-tab-button-line-background-color);\n}\n:host .tab-button--text-icon gxg-icon {\n margin-right: var(--spacing-comp-02);\n}\n:host .tab-button--hidden {\n display: none;\n}\n:host .tab-button--border-above:after {\n top: 0;\n bottom: auto;\n}\n:host .tab-button gxg-icon {\n --gxg-icon-color: var(--gxg-tab-button-icon-color);\n}\n:host .tab-button--reduced {\n padding-inline-end: var(--gxg-tab-button-horizontal-padding--reduced);\n padding-inline-start: var(--gxg-tab-button-horizontal-padding--reduced);\n font-size: var(--gxg-tab-button-font-size--reduced);\n height: var(--gxg-tab-button-height--reduced);\n}\n:host .tab-button--stacked-style {\n justify-content: flex-start;\n}\n:host .tab-button--stacked-style.tab-button--text-icon {\n padding-inline-start: var(--gxg-tab-button-horizontal-padding--stacked);\n}\n:host .tab-button__text {\n display: inline-block;\n}\n\n:host(.stacked) {\n width: 100%;\n}\n\n:host([slot=tab-menu]) .tab-button {\n padding-left: 0;\n padding-right: 0;\n}\n\n:host(.menu-button) {\n width: 100%;\n box-sizing: border-box;\n}\n:host(.menu-button) .tab-button {\n padding: 0 var(--gxg-tab-menu-button-padding);\n min-height: calc(var(--gxg-tab-menu-button-min-height) * 0.85);\n justify-content: flex-start;\n}\n:host(.menu-button) .tab-button:after {\n display: none;\n}\n:host(.menu-button) .tab-button__text {\n font-size: var(--gxg-tab-menu-button-font-size);\n}\n:host(.menu-button) gxg-icon {\n transform: scale(0.85);\n}\n\n:host(.menu-button:hover) {\n background: var(--ds-item-background-color--hover);\n}","import { h, Host } from \"@stencil/core\";\nimport state from \"../store\";\nimport { exportParts } from \"../../common/export-parts\";\nexport class GxgTabButton {\n constructor() {\n this.hidden = false;\n this.tabLabel = null;\n this.tab = null;\n this.isSelected = false;\n this.disabled = false;\n this.icon = null;\n this.borderAbove = false;\n this.stackedStyle = false;\n this.reduced = false;\n }\n parts = {\n button: \"button\"\n };\n exportparts;\n el;\n tabButton;\n //Events\n tabActivated;\n PrevOrNextTab;\n async tabButtonClick() {\n this.buttonClickHandler();\n this.tabButton.focus();\n }\n isSelectedHandler(newValue) {\n if (newValue) {\n this.el.removeAttribute(\"tabindex\");\n }\n else {\n this.el.setAttribute(\"tabindex\", \"-1\");\n }\n }\n hiddenHandler(hidden) {\n if (hidden) {\n this.el.setAttribute(\"tabindex\", \"-1\");\n }\n else {\n this.el.removeAttribute(\"tabindex\");\n }\n }\n buttonClickHandler() {\n this.isSelected = true;\n const index = parseInt(this.el.getAttribute(\"data-index\"), 10);\n this.tabActivated.emit({\n tab: this.tab,\n index: index\n });\n }\n buttonKeyDownHandler(e) {\n if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\") {\n this.PrevOrNextTab.emit({\n originTab: this.tab,\n arrowPressed: e.key\n });\n }\n else if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n e.preventDefault();\n }\n }\n printIcon() {\n if (this.icon !== null) {\n if (this.disabled) {\n return (h(\"gxg-icon\", { size: \"small\", color: \"disabled\", type: this.icon, part: \"icon\" }));\n }\n return h(\"gxg-icon\", { size: \"small\", type: this.icon, part: \"icon\" });\n }\n }\n componentWillLoad() {\n this.attachExportParts();\n this.hiddenHandler(this.hidden);\n }\n attachExportParts = () => {\n const part = this.el.getAttribute(\"part\");\n const exportPartsResult = exportParts(part, this.parts);\n exportPartsResult.length && (this.exportparts = exportPartsResult);\n };\n componentDidLoad() {\n //Set the active tab for this tab-button if this is selected by default\n if (this.isSelected) {\n this.tabActivated.emit();\n }\n }\n render() {\n return (h(Host, { class: {\n large: state.large,\n mercury: state.mercury,\n stacked: this.stackedStyle\n }, exportParts: this.exportparts ? this.exportparts : null }, h(\"li\", { class: \"tab-item\" }, h(\"button\", { disabled: this.disabled, class: {\n \"tab-button\": true,\n \"tab-button--hidden\": this.hidden,\n \"tab-button--selected\": this.isSelected === true,\n \"tab-button--text-icon\": this.tabLabel !== null && this.icon !== null,\n large: state.large,\n \"tab-button--border-above\": this.borderAbove,\n \"tab-button--reduced\": this.reduced,\n \"tab-button--stacked-style\": this.stackedStyle\n }, onClick: this.buttonClickHandler.bind(this), onKeyDown: this.buttonKeyDownHandler.bind(this), ref: el => (this.tabButton = el), part: this.parts.button }, !this.reduced && this.printIcon(), h(\"span\", { class: \"tab-button__text\", part: \"button-text\" }, this.tabLabel)), h(\"slot\", null))));\n }\n static get is() { return \"gxg-tab-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tab-button.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tab-button.css\"]\n };\n }\n static get properties() {\n return {\n \"hidden\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Hides the tab button\"\n },\n \"attribute\": \"hidden\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"tabLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The button label\"\n },\n \"attribute\": \"tab-label\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"tab\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The tab id. Must be unique, and match the \\\"tab\\\" value of the correlative \\\"gxg-tab\\\" element\"\n },\n \"attribute\": \"tab\",\n \"reflect\": true,\n \"defaultValue\": \"null\"\n },\n \"isSelected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Provide this attribute to make this button selected by default\"\n },\n \"attribute\": \"is-selected\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Provide this attribute to make this button disabled\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"icon\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"(Optional) provide an icon to this button\"\n },\n \"attribute\": \"icon\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"borderAbove\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Displays the border above\"\n },\n \"attribute\": \"border-above\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"stackedStyle\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Stylize the button for the gxg-tab-bar \\\"stacked\\\" version.\"\n },\n \"attribute\": \"stacked-style\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"reduced\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute will hide the icon, and reduce the font size a little bit.\"\n },\n \"attribute\": \"reduced\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"tabActivated\",\n \"name\": \"tabActivated\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"PrevOrNextTab\",\n \"name\": \"PrevOrNextTab\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"tabButtonClick\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"isSelected\",\n \"methodName\": \"isSelectedHandler\"\n }, {\n \"propName\": \"hidden\",\n \"methodName\": \"hiddenHandler\"\n }];\n }\n}\n//# sourceMappingURL=tab-button.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host {\n display: block;\n height: auto;\n background: var(--color-background);\n border-radius: var(--border-width-md);\n box-shadow: var(--box-shadow-01);\n position: relative;\n font-family: var(--ds-base-font-family-primary);\n}\n\n.main-container {\n height: 100%;\n max-height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n border-width: var(--gxg-tabs-border-width);\n border-style: solid;\n border-color: var(--gxg-tabs-border-color);\n border-radius: var(--gxg-tabs-border-radius);\n overflow: hidden;\n}\n.main-container--no-border {\n border: none;\n}\n\n.tabs-container {\n height: 100%;\n overflow-y: auto;\n}\n\n:host([position=left-rotated]) .main-container,\n:host([position=right-rotated]) .main-container {\n flex-direction: row;\n}\n:host([position=left-rotated]) .tab-bar-container,\n:host([position=right-rotated]) .tab-bar-container {\n height: 100%;\n overflow: auto;\n width: 40px;\n position: relative;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar-track,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar-thumb,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar-thumb:hover,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar-corner,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n:host([position=left-rotated]) ::slotted(gxg-tab-bar),\n:host([position=right-rotated]) ::slotted(gxg-tab-bar) {\n transform: rotate(-90deg) translate(-100%, 0);\n transform-origin: left top;\n position: absolute;\n z-index: 10;\n}\n:host([position=left-rotated]) ::slotted(gxg-tab),\n:host([position=right-rotated]) ::slotted(gxg-tab) {\n border-left-width: var(--gxg-tabs-border-width);\n border-left-style: solid;\n border-left-color: var(--gxg-tabs-border-color);\n}\n:host([position=left-rotated]) .tabs-container,\n:host([position=right-rotated]) .tabs-container {\n width: calc(100% - 32px);\n}\n:host([position=left-rotated]) .main-container {\n flex-direction: row;\n}\n\n:host([position=right-rotated]) .main-container {\n flex-direction: row-reverse;\n}\n\n:host([position=left-stacked]) .main-container,\n:host([position=right-stacked]) .main-container {\n flex-direction: row;\n}\n\n:host([position=left-stacked]) .main-container {\n flex-direction: row;\n}\n\n:host([position=right-stacked]) .main-container {\n flex-direction: row-reverse;\n}","import { Host, h } from \"@stencil/core\";\nexport class GxgTabs {\n constructor() {\n this.position = \"top\";\n this.height = \"100%\";\n this.maxHeight = \"100%\";\n this.minWidth = \"200px\";\n this.tabBarBorder = false;\n this.noBorder = false;\n this.buttonsBorderAbove = false;\n this.noBackground = false;\n this.noPadding = false;\n this.reduced = false;\n this.activeTab = undefined;\n }\n el;\n watchActiveTabHandler(activeTab) {\n if (activeTab?.length > 0) {\n this.activateTab();\n }\n }\n tabActivatedHandler(event) {\n event.stopPropagation();\n this.updateActiveChildren(event.target.tab, \"gxg-tab-button\");\n this.updateActiveChildren(event.target.tab, \"gxg-tab\");\n }\n componentWillLoad() {\n this.configureTabs();\n this.evaluateReduced();\n if (this.activeTab) {\n this.activateTab();\n }\n this.evaluateStacked();\n }\n evaluateStacked = () => {\n if (this.position === \"left-stacked\" || this.position === \"right-stacked\") {\n //stacked tabBar\n const tabBar = this.el.querySelector(\"gxg-tab-bar\");\n if (tabBar) {\n tabBar.stacked = this.position;\n }\n const tabButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n if (tabButtons) {\n tabButtons.forEach(tabButton => {\n tabButton.stackedStyle = true;\n });\n }\n //stacked buttons\n }\n };\n evaluateReduced = () => {\n if (this.reduced) {\n //tab buttons\n const gxgTabButtons = Array.from(this.el.querySelectorAll(\"gxg-tab-button\"));\n gxgTabButtons.forEach(tabButton => {\n tabButton.reduced = true;\n });\n //tabs\n const gxgTabs = Array.from(this.el.querySelectorAll(\"gxg-tab\"));\n gxgTabs.forEach(tab => {\n tab.reduced = true;\n });\n }\n };\n updateActiveChildren(activeTab, tagName) {\n let children;\n if (tagName === \"gxg-tab\") {\n children = this.el.querySelectorAll(\":scope > gxg-tab\");\n }\n else if (tagName === \"gxg-tab-button\") {\n const tabBar = this.el.querySelector(\":scope > gxg-tab-bar\");\n children = tabBar.querySelectorAll(\":scope > gxg-tab-button\");\n }\n for (const child of children) {\n child.isSelected = activeTab === child.tab;\n }\n }\n configureTabs() {\n const tabs = this.el.querySelectorAll(\"gxg-tab\");\n if (this.noPadding) {\n tabs.forEach(tab => {\n tab.noPadding = true;\n });\n }\n if (this.buttonsBorderAbove) {\n const tabButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n tabButtons.forEach(tabButton => (tabButton.borderAbove = true));\n }\n }\n async setActiveTab(tab) {\n if (tab) {\n const tabEl = this.getTab(tab);\n if (!tabEl?.disabled) {\n this.updateActiveChildren(tab, \"gxg-tab-button\");\n this.updateActiveChildren(tab, \"gxg-tab\");\n }\n }\n }\n /**\n * Sets the first tab that is not disabled and hidden as the active tab\n */\n async setFirstActiveTab() {\n const allTabs = Array.from(this.el.querySelectorAll(\"gxg-tab-button\"));\n const firstEnabledTab = allTabs.find(tab => !tab.hidden && !tab.disabled);\n if (firstEnabledTab && firstEnabledTab.tab) {\n this.updateActiveChildren(firstEnabledTab.tab, \"gxg-tab-button\");\n this.updateActiveChildren(firstEnabledTab.tab, \"gxg-tab\");\n }\n }\n getTab = (tab) => {\n return this.el.querySelector(`gxg-tab-button[key=${tab}]`);\n };\n activateTab = () => {\n //buttons\n const tabButtons = Array.from(this.el.querySelectorAll(\"gxg-tab-button\"));\n tabButtons.forEach(tabButton => {\n if (tabButton.tab !== this.activeTab) {\n tabButton.isSelected = false;\n }\n else {\n tabButton.isSelected = true;\n }\n });\n //tabs\n const tabs = Array.from(this.el.querySelectorAll(\"gxg-tab\"));\n tabs.forEach(tab => {\n if (tab.tab !== this.activeTab) {\n tab.isSelected = false;\n }\n else {\n tab.isSelected = true;\n }\n });\n };\n render() {\n return (h(Host, { style: {\n height: this.height,\n maxHeight: this.maxHeight,\n minWidth: this.minWidth\n } }, h(\"div\", { class: {\n \"main-container\": true,\n \"main-container--no-border\": this.noBorder\n } }, this.position === \"bottom\"\n ? [\n h(\"div\", { class: \"tabs-container\" }, h(\"slot\", null)),\n h(\"div\", { class: \"tab-bar-container\" }, h(\"slot\", { name: \"tab-bar-container\" }))\n ]\n : [\n h(\"div\", { class: \"tab-bar-container\" }, h(\"slot\", { name: \"tab-bar-container\" })),\n h(\"div\", { class: \"tabs-container\" }, h(\"slot\", null))\n ])));\n }\n static get is() { return \"gxg-tabs\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tabs.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tabs.css\"]\n };\n }\n static get properties() {\n return {\n \"position\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TabsPosition\",\n \"resolved\": \"\\\"bottom\\\" | \\\"left-rotated\\\" | \\\"left-stacked\\\" | \\\"right-rotated\\\" | \\\"right-stacked\\\" | \\\"top\\\"\",\n \"references\": {\n \"TabsPosition\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/tabs/tabs.tsx\",\n \"id\": \"src/components/tabs/tabs.tsx::TabsPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"top\\\"\"\n },\n \"height\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"height\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"100%\\\"\"\n },\n \"maxHeight\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"max-height\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"100%\\\"\"\n },\n \"minWidth\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"min-width\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"200px\\\"\"\n },\n \"tabBarBorder\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"tab-bar-border\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"noBorder\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"no-border\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"buttonsBorderAbove\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"buttons-border-above\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"noBackground\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute removes the background color (only for mercury)\"\n },\n \"attribute\": \"no-background\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"noPadding\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute removes each tab .container padding\"\n },\n \"attribute\": \"no-padding\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"reduced\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute will make buttons and tabs reduced, meaning that the font size and padding, will be smaller. Also, the icons in the buttons will not be displayed.\"\n },\n \"attribute\": \"reduced\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"activeTab\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The actual active tab, and tab-button\"\n },\n \"attribute\": \"active-tab\",\n \"reflect\": false\n }\n };\n }\n static get methods() {\n return {\n \"setActiveTab\": {\n \"complexType\": {\n \"signature\": \"(tab: string) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"tab\",\n \"type\": \"string\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n },\n \"setFirstActiveTab\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets the first tab that is not disabled and hidden as the active tab\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"activeTab\",\n \"methodName\": \"watchActiveTabHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabActivated\",\n \"method\": \"tabActivatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=tabs.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["tabCss","GxgTab","constructor","hostRef","this","tab","undefined","noPadding","flexContainer","flex","overflowAuto","flexDirection","isSelected","reduced","render","h","Host","class","open","large","state","mercury","container","part","tabBarCss","GxgTabBar","parts","buttonMenu","lastAddedOrRemovedTabBarButtonWidth","evaluateMenuButtonsTabIndex","menuCollapsed","disableTabIndex","enableTabIndex","setFocus","tabBarMenuToggleButton","focus","menuButtons","el","querySelectorAll","length","attachExportParts","getAttribute","exportPartsResult","exportParts","exportparts","allButtons","forEach","button","removeAttribute","setAttribute","hidden","appendedButtons","tabBarMenuHeight","tabBarMenuWidth","tabBarMenuCollapsed","tabBarMenuPosition","displayBorder","scrollable","stacked","rtl","detectClickOutsideTabBarMenu","bind","openMenu","event","stopPropagation","document","addEventListener","tabBarMenuCollapsedHandler","appendTabButtons","numberOfButtons","i","appendTabItemsToMenu","tabActivatedHandler","PrevOrNextTabHandler","e","tabEnabledButtons","allTabButtons","tabButton","disabled","push","arrowPressed","detail","targetButton","target","clickedButtonIndex","findIndex","destinationTab","tabButtonClick","gxgTabsPosition","parentElement","position","buttonHeight","children","item","clientHeight","sizeReference","offsetWidth","offsetHeight","tabBarWidth","tabBar","tabButtons","lastTabButton","classList","add","menuFirstButton","remove","componentWillLoad","componentDidLoad","dirHtml","getElementsByTagName","dirBody","myObserver","ResizeObserver","entries","observe","setIndexToTabButtons","index","toString","renderTabBarMenu","onClick","type","icon","ref","x","y","tabBarMenuClientRect","tabBarMenu","getBoundingClientRect","left","right","top","bottom","disconnectedCallback","removeEventListener","nav","name","style","tabButtonCss","GxgTabButton","tabLabel","borderAbove","stackedStyle","buttonClickHandler","isSelectedHandler","newValue","hiddenHandler","parseInt","tabActivated","emit","buttonKeyDownHandler","key","PrevOrNextTab","originTab","preventDefault","printIcon","size","color","onKeyDown","delegatesFocus","tabsCss","GxgTabs","evaluateStacked","querySelector","evaluateReduced","gxgTabButtons","Array","from","gxgTabs","getTab","activateTab","activeTab","tabs","height","maxHeight","minWidth","tabBarBorder","noBorder","buttonsBorderAbove","noBackground","watchActiveTabHandler","updateActiveChildren","configureTabs","tagName","child","setActiveTab","tabEl","setFirstActiveTab","allTabs","firstEnabledTab","find"],"sources":["node_modules/@genexus/gemini/dist/collection/components/tab/tab.css?tag=gxg-tab&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/tab/tab.js","node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css?tag=gxg-tab-bar&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.js","node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css?tag=gxg-tab-button&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.js","node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css?tag=gxg-tabs&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.js"],"sourcesContent":[":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host {\n height: 100%;\n overflow-y: auto;\n display: block;\n}\n:host .container {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n /* Track */\n /* Handle */\n /* Handle on hover */\n font-size: var(--gxg-tab-font-size);\n color: var(--gxg-tab-color);\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding-block-start: var(--gxg-tab-vertical-padding);\n padding-inline-end: var(--gxg-tab-horizontal-padding);\n padding-block-end: var(--gxg-tab-vertical-padding);\n padding-inline-start: var(--gxg-tab-horizontal-padding);\n overflow-y: auto;\n background-color: var(--gxg-tab-background-color);\n}\n:host .container::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n:host .container::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n:host .container::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n:host .container::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n:host .container::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n:host .container--reduced {\n font-size: var(--gxg-tab-font-size--reduced);\n padding-block-start: var(--gxg-tab-vertical-padding--reduced);\n padding-inline-end: var(--gxg-tab-horizontal-padding--reduced);\n padding-block-end: var(--gxg-tab-vertical-padding--reduced);\n padding-inline-start: var(--gxg-tab-horizontal-padding--reduced);\n}\n\n:host(.not-selected) {\n display: none;\n}\n\n:host(.no-padding) .container {\n padding: 0;\n}\n\n:host(.flex) {\n display: flex;\n}\n\n:host(.overflow-auto) {\n overflow: auto;\n}\n\n.container--flex {\n display: flex;\n}\n.container--flex.flex-column {\n flex-direction: column;\n}\n.container--flex.flex-row {\n flex-direction: row;\n}","import { h, Host } from \"@stencil/core\";\nimport state from \"../store\";\nexport class GxgTab {\n constructor() {\n this.tab = undefined;\n this.noPadding = false;\n this.flexContainer = false;\n this.flex = false;\n this.overflowAuto = false;\n this.flexDirection = \"column\";\n this.isSelected = false;\n this.reduced = false;\n }\n el;\n render() {\n return (h(Host, { class: {\n \"overflow-auto\": this.overflowAuto,\n flex: this.flex && this.isSelected,\n open: this.isSelected,\n \"not-selected\": !this.isSelected,\n \"no-padding\": this.noPadding,\n large: state.large,\n mercury: state.mercury\n } }, h(\"div\", { class: {\n container: true,\n \"container--flex\": this.flexContainer,\n \"flex-column\": this.flexDirection === \"column\",\n \"flex-row\": this.flexDirection === \"row\",\n \"container--reduced\": this.reduced\n }, part: \"container\" }, h(\"slot\", null))));\n }\n static get is() { return \"gxg-tab\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tab.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tab.css\"]\n };\n }\n static get properties() {\n return {\n \"tab\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The tab id. Should match the \\\"tab\\\" value of the correlative \\\"gxg-tab\\\"\"\n },\n \"attribute\": \"tab\",\n \"reflect\": false\n },\n \"noPadding\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute removes the tab .container padding\"\n },\n \"attribute\": \"no-padding\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"flexContainer\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the container display flex\"\n },\n \"attribute\": \"flex-container\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"flex\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the display of the tab 'flex' only when is open\"\n },\n \"attribute\": \"flex\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"overflowAuto\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the .container overflow property set to 'auto'\"\n },\n \"attribute\": \"overflow-auto\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"flexDirection\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TabContainerFlexDirection\",\n \"resolved\": \"\\\"column\\\" | \\\"row\\\"\",\n \"references\": {\n \"TabContainerFlexDirection\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/tab/tab.tsx\",\n \"id\": \"src/components/tab/tab.tsx::TabContainerFlexDirection\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The container flex-direction, if container is flex.\"\n },\n \"attribute\": \"flex-direction\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"column\\\"\"\n },\n \"isSelected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab\"\n },\n \"attribute\": \"is-selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"reduced\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute will make the font size smaller.\"\n },\n \"attribute\": \"reduced\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=tab.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host {\n --tabBarMenuHeight: 0;\n --tabBarMenuWidth: 0;\n display: inline-flex;\n text-align: right;\n position: relative;\n display: flex;\n justify-content: space-between;\n}\n:host .nav {\n display: flex;\n justify-content: space-between;\n width: 100%;\n background-color: var(--gxg-tab-bar-background-color);\n}\n:host .nav--border {\n border-bottom: var(--ds-border-common-styles);\n}\n:host .tab-bar {\n list-style-type: none;\n padding-inline-start: 0;\n display: flex !important;\n margin-bottom: 0;\n margin-top: 0;\n}\n:host .tab-bar__menu {\n display: flex;\n align-items: center;\n}\n:host .tab-bar__menu-button {\n padding-right: 4px;\n transform: scale(0.9);\n}\n:host .tab-bar-menu {\n border-radius: var(--border-width-md);\n box-shadow: var(--box-shadow-01);\n height: var(--tabBarMenuHeight);\n position: absolute;\n z-index: 10;\n background-color: var(--color-on-primary);\n right: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n display: inline-flex;\n flex-direction: column;\n overflow: hidden;\n transition-property: height;\n transition-duration: var(--ui-animaton-speed);\n transition-timing-function: ease;\n}\n:host .tab-bar-menu.bottom {\n bottom: 0;\n}\n:host .tab-bar-menu.right {\n bottom: 0;\n rotate: 90deg;\n transform-origin: top right;\n transform: translateX(100%);\n height: auto !important;\n width: var(--tabBarMenuHeight);\n}\n:host .tab-bar-menu--collapsed {\n height: 0;\n}\n:host .tab-bar-menu--collapsed.right {\n width: 0;\n}\n\n/*Stacked*/\n:host(.gxg-tab-bar--left-stacked),\n:host(.gxg-tab-bar--right-stacked) {\n height: 100%;\n}\n:host(.gxg-tab-bar--left-stacked) .tab-bar,\n:host(.gxg-tab-bar--right-stacked) .tab-bar {\n flex-direction: column;\n}\n\n:host(.gxg-tab-bar--left-stacked) {\n border-inline-end: var(--ds-border-common-styles);\n}\n\n:host(.gxg-tab-bar--right-stacked) {\n border-inline-start: var(--ds-border-common-styles);\n}\n\n/*Scrollable*/\n:host([scrollable]) .nav {\n width: 100%;\n overflow-y: auto;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n:host([scrollable]) .nav::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n:host([scrollable]) .nav::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n:host([scrollable]) .nav::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n:host([scrollable]) .nav::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n:host([scrollable]) .nav::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host(.gxg-tab-bar--hidden) {\n display: none;\n}\n\n:host(.rtl) .tab-bar-menu {\n left: 0;\n right: auto;\n}","import { h, Host } from \"@stencil/core\";\nimport state from \"../store\";\nimport { exportParts } from \"../../common/export-parts\";\nexport class GxgTabBar {\n parts = {\n buttonMenu: \"button-menu\"\n };\n exportparts;\n constructor() {\n this.hidden = false;\n this.appendedButtons = 0;\n this.tabBarMenuHeight = \"auto\";\n this.tabBarMenuWidth = \"auto\";\n this.tabBarMenuCollapsed = true;\n this.tabBarMenuPosition = undefined;\n this.displayBorder = false;\n this.scrollable = false;\n this.stacked = null;\n this.rtl = false;\n this.detectClickOutsideTabBarMenu =\n this.detectClickOutsideTabBarMenu.bind(this);\n }\n el;\n tabBar;\n tabBarMenu;\n tabBarMenuToggleButton;\n lastAddedOrRemovedTabBarButtonWidth = 0;\n openMenu(event) {\n event.stopPropagation();\n this.tabBarMenuCollapsed = false;\n document.addEventListener(\"click\", this.detectClickOutsideTabBarMenu);\n }\n tabBarMenuCollapsedHandler(menuCollapsed) {\n this.evaluateMenuButtonsTabIndex(menuCollapsed);\n this.setFocus(menuCollapsed);\n }\n evaluateMenuButtonsTabIndex = (menuCollapsed) => {\n if (menuCollapsed) {\n this.disableTabIndex();\n }\n else {\n this.enableTabIndex();\n }\n };\n setFocus = (menuCollapsed) => {\n if (menuCollapsed) {\n this.tabBarMenuToggleButton.focus();\n }\n else {\n const menuButtons = this.el.querySelectorAll(\"[slot=tab-menu]\");\n if (menuButtons.length) {\n menuButtons[0].focus();\n }\n }\n };\n async appendTabButtons() {\n if (!this.scrollable) {\n const numberOfButtons = this.el.querySelectorAll(\"gxg-tab-button\").length;\n for (let i = 0; i <= numberOfButtons; i++) {\n this.appendTabItemsToMenu();\n }\n }\n }\n tabActivatedHandler() {\n this.tabBarMenuCollapsed = true;\n }\n PrevOrNextTabHandler(e) {\n const tabEnabledButtons = [];\n const allTabButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n if (allTabButtons) {\n allTabButtons.forEach(tabButton => {\n if (!tabButton.disabled && !tabButton.hidden) {\n tabEnabledButtons.push(tabButton);\n }\n });\n }\n const arrowPressed = e.detail[\"arrowPressed\"];\n const targetButton = e.target;\n const clickedButtonIndex = tabEnabledButtons.findIndex(button => {\n return button === targetButton;\n });\n let destinationTab;\n if (arrowPressed === \"ArrowLeft\" && clickedButtonIndex !== -1) {\n destinationTab = tabEnabledButtons[clickedButtonIndex - 1];\n }\n else if (arrowPressed === \"ArrowRight\" && clickedButtonIndex !== -1) {\n destinationTab = tabEnabledButtons[clickedButtonIndex + 1];\n }\n if (destinationTab) {\n destinationTab.tabButtonClick();\n }\n }\n appendTabItemsToMenu() {\n //This function appends tab-buttons into a tab-menu, as long as the tab-buttons are too tight\n const gxgTabsPosition = this.el.parentElement\n .position;\n const buttonHeight = this.el.children.item(0).clientHeight;\n let sizeReference;\n if (gxgTabsPosition === \"top\" || gxgTabsPosition === \"bottom\") {\n sizeReference = this.el.parentElement.offsetWidth;\n }\n else if (gxgTabsPosition === \"right-rotated\" ||\n gxgTabsPosition === \"left-rotated\") {\n sizeReference = this.el.parentElement.offsetHeight;\n }\n const tabBarWidth = this.tabBar.offsetWidth;\n if (tabBarWidth + 20 > sizeReference) {\n const tabButtons = this.el.querySelectorAll(\"gxg-tab-button[slot='tab-bar']\");\n //get the last item of the nodeList\n const lastTabButton = tabButtons[tabButtons.length - 1];\n if (lastTabButton) {\n this.lastAddedOrRemovedTabBarButtonWidth = lastTabButton.offsetWidth;\n //add \"menu-button\" class to button component, in order to stylize the buttons inside the menu differently\n lastTabButton.classList.add(\"menu-button\");\n lastTabButton.setAttribute(\"slot\", \"tab-menu\");\n this.appendedButtons++;\n }\n //}\n }\n else if (tabBarWidth + 20 + this.lastAddedOrRemovedTabBarButtonWidth <\n sizeReference) {\n const menuButtons = this.el.querySelectorAll(\"[slot=tab-menu]\");\n const menuFirstButton = menuButtons[0];\n if (menuFirstButton) {\n menuFirstButton.classList.remove(\"menu-button\");\n menuFirstButton.setAttribute(\"slot\", \"tab-bar\");\n this.lastAddedOrRemovedTabBarButtonWidth = menuFirstButton.offsetWidth;\n this.appendedButtons--;\n }\n }\n if (gxgTabsPosition === \"right-rotated\" ||\n gxgTabsPosition === \"left-rotated\") {\n this.tabBarMenuHeight = this.appendedButtons * buttonHeight + \"px\";\n }\n this.evaluateMenuButtonsTabIndex(this.tabBarMenuCollapsed);\n }\n componentWillLoad() {\n this.attachExportParts();\n }\n attachExportParts = () => {\n const part = this.el.getAttribute(\"part\");\n const exportPartsResult = exportParts(part, this.parts);\n exportPartsResult.length && (this.exportparts = exportPartsResult);\n };\n componentDidLoad() {\n //Reading Direction\n const dirHtml = document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"dir\");\n const dirBody = document\n .getElementsByTagName(\"body\")[0]\n .getAttribute(\"dir\");\n if (dirHtml === \"rtl\" || dirBody === \"rtl\") {\n this.rtl = true;\n }\n if (!this.scrollable) {\n const myObserver = new ResizeObserver(entries => {\n entries.forEach(() => {\n //get any button space between text and button border\n this.appendTabItemsToMenu();\n });\n });\n myObserver.observe(this.el.parentElement);\n //Collapse buttons if they dont't fit in the available space already\n const numberOfButtons = this.el.querySelectorAll(\"gxg-tab-button\").length;\n for (let i = 0; i <= numberOfButtons; i++) {\n this.appendTabItemsToMenu();\n }\n }\n //Tabbar menu on bottom\n const gxgTabsPosition = this.el.parentElement.getAttribute(\"position\");\n if (gxgTabsPosition === \"bottom\") {\n this.tabBarMenuPosition = \"bottom\";\n }\n //Tabbar menu on right\n if (gxgTabsPosition === \"right-rotated\") {\n this.tabBarMenuPosition = \"right-rotated\";\n }\n this.setIndexToTabButtons();\n }\n setIndexToTabButtons() {\n const tabButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n tabButtons.forEach((tabButton, index) => {\n tabButton.setAttribute(\"data-index\", index.toString());\n });\n }\n renderTabBarMenu() {\n if (this.appendedButtons > 0) {\n return (h(\"div\", { class: \"tab-bar__menu\" }, h(\"gxg-button\", { class: \"tab-bar__menu-button\", onClick: this.openMenu.bind(this), type: \"tertiary\", icon: \"gemini-tools/show-more-vertical\", ref: el => (this.tabBarMenuToggleButton = el), part: this.parts.buttonMenu })));\n }\n }\n detectClickOutsideTabBarMenu(event) {\n const x = event.x;\n const y = event.y;\n //card main container coordinates\n const tabBarMenuClientRect = this.tabBarMenu.getBoundingClientRect();\n if (x > tabBarMenuClientRect.left &&\n x < tabBarMenuClientRect.right &&\n y > tabBarMenuClientRect.top &&\n y < tabBarMenuClientRect.bottom) {\n //Click happened inside the menu\n }\n else {\n //Click happened outside the menu\n this.tabBarMenuCollapsed = true;\n }\n }\n disconnectedCallback() {\n document.removeEventListener(\"click\", this.detectClickOutsideTabBarMenu);\n }\n enableTabIndex = () => {\n const allButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n allButtons.forEach(button => {\n button.removeAttribute(\"tabindex\");\n });\n };\n disableTabIndex = () => {\n const menuButtons = this.el.querySelectorAll(\"[slot=tab-menu]\");\n menuButtons.forEach(button => {\n button.setAttribute(\"tabindex\", \"-1\");\n });\n };\n render() {\n return (h(Host, { class: {\n rtl: this.rtl,\n \"gxg-tab-bar\": true,\n \"gxg-tab-bar--hidden\": this.hidden,\n \"gxg-tab-bar--left-stacked\": this.stacked === \"left-stacked\",\n \"gxg-tab-bar--right-stacked\": this.stacked === \"right-stacked\",\n mercury: state.mercury\n }, exportParts: this.exportparts ? this.exportparts : null }, h(\"nav\", { class: {\n nav: true,\n \"nav--border\": this.displayBorder && this.stacked === null\n } }, h(\"ul\", { class: {\n \"tab-bar\": true\n }, ref: el => (this.tabBar = el) }, h(\"slot\", { name: \"tab-bar\" })), this.renderTabBarMenu(), h(\"ul\", { class: {\n \"tab-bar-menu\": true,\n \"tab-bar-menu--collapsed\": this.tabBarMenuCollapsed,\n top: this.tabBarMenuPosition === \"top\",\n right: this.tabBarMenuPosition === \"right-rotated\",\n bottom: this.tabBarMenuPosition === \"bottom\",\n left: this.tabBarMenuPosition === \"left-rotated\"\n }, style: {\n \"--tabBarMenuHeight\": this.tabBarMenuHeight,\n \"--tabBarMenuWidth\": this.tabBarMenuWidth\n }, ref: el => (this.tabBarMenu = el) }, h(\"slot\", { name: \"tab-menu\" })))));\n }\n static get is() { return \"gxg-tab-bar\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tab-bar.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tab-bar.css\"]\n };\n }\n static get properties() {\n return {\n \"hidden\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Hides the tab-bar\"\n },\n \"attribute\": \"hidden\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"displayBorder\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute displays a border-bottom line on the tab bar\"\n },\n \"attribute\": \"display-border\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"scrollable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute with display a scrollbar if the buttons total width is greater than the tab-bar width.\"\n },\n \"attribute\": \"scrollable\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"stacked\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TabsStackedPosition\",\n \"resolved\": \"\\\"left-stacked\\\" | \\\"right-stacked\\\"\",\n \"references\": {\n \"TabsStackedPosition\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/tab-bar/tab-bar.tsx\",\n \"id\": \"src/components/tab-bar/tab-bar.tsx::TabsStackedPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true the buttons will be stacked on each other, instead of inline. (used for \\\"position:left-stacked\\\", or \\\"position:right-stacked\\\" on gxg-tabs)\"\n },\n \"attribute\": \"stacked\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n }\n };\n }\n static get states() {\n return {\n \"appendedButtons\": {},\n \"tabBarMenuHeight\": {},\n \"tabBarMenuWidth\": {},\n \"tabBarMenuCollapsed\": {},\n \"tabBarMenuPosition\": {},\n \"rtl\": {}\n };\n }\n static get methods() {\n return {\n \"appendTabButtons\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"tabBarMenuCollapsed\",\n \"methodName\": \"tabBarMenuCollapsedHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabActivated\",\n \"method\": \"tabActivatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"PrevOrNextTab\",\n \"method\": \"PrevOrNextTabHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=tab-bar.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host {\n display: block;\n align-self: center !important;\n line-height: 0;\n}\n:host .tab-button {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--gxg-tab-button-font-size);\n font-weight: var(--gxg-tab-button-font-weight);\n font-family: inherit;\n text-transform: var(--gxg-tab-button-font-text-transform);\n color: var(--gxg-tab-button-color);\n letter-spacing: var(--letter-spacing-regular);\n padding-top: 0;\n padding-inline-end: var(--gxg-tab-button-horizontal-padding);\n padding-bottom: 0;\n padding-inline-start: var(--gxg-tab-button-horizontal-padding);\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n border: 0;\n width: 100%;\n height: var(--gxg-tab-button-height);\n position: relative;\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n box-shadow: none;\n background-color: transparent;\n /*stacked style*/\n}\n:host .tab-button:focus-visible {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: -2px;\n}\n:host .tab-button:after {\n content: \"\";\n width: 100%;\n height: var(--gxg-tab-button-line-height);\n left: 0;\n bottom: 0;\n position: absolute;\n background-color: transparent;\n}\n:host .tab-button:hover {\n cursor: pointer;\n}\n:host .tab-button:hover:focus-visible {\n outline-color: var(--gxg-tab-button-line-background-color-hover);\n}\n:host .tab-button:hover:after {\n background-color: var(--gxg-tab-button-line-background-color-hover);\n}\n:host .tab-button:active:focus-visible {\n outline-color: var(--gxg-tab-button-line-background-color-active);\n}\n:host .tab-button:active:after {\n background-color: var(--gxg-tab-button-line-background-color-active);\n}\n:host .tab-button[disabled] {\n color: var(--ds-color-disabled);\n pointer-events: none;\n}\n:host .tab-button[disabled]:after {\n background-color: var(--ds-background-color-disabled);\n}\n:host .tab-button[disabled] gxg-icon {\n --gxg-icon-color: var(--ds-icon-color-disabled);\n}\n:host .tab-button--selected {\n color: var(--gxg-tab-button-color--selected);\n font-weight: var(--gxg-tab-button-font-weight-selected);\n}\n:host .tab-button--selected:after {\n background-color: var(--gxg-tab-button-line-background-color);\n}\n:host .tab-button--text-icon gxg-icon {\n margin-right: var(--spacing-comp-02);\n}\n:host .tab-button--hidden {\n display: none;\n}\n:host .tab-button--border-above:after {\n top: 0;\n bottom: auto;\n}\n:host .tab-button gxg-icon {\n --gxg-icon-color: var(--gxg-tab-button-icon-color);\n}\n:host .tab-button--reduced {\n padding-inline-end: var(--gxg-tab-button-horizontal-padding--reduced);\n padding-inline-start: var(--gxg-tab-button-horizontal-padding--reduced);\n font-size: var(--gxg-tab-button-font-size--reduced);\n height: var(--gxg-tab-button-height--reduced);\n}\n:host .tab-button--stacked-style {\n justify-content: flex-start;\n}\n:host .tab-button--stacked-style.tab-button--text-icon {\n padding-inline-start: var(--gxg-tab-button-horizontal-padding--stacked);\n}\n:host .tab-button__text {\n display: inline-block;\n}\n\n:host(.stacked) {\n width: 100%;\n}\n\n:host([slot=tab-menu]) .tab-button {\n padding-left: 0;\n padding-right: 0;\n}\n\n:host(.menu-button) {\n width: 100%;\n box-sizing: border-box;\n}\n:host(.menu-button) .tab-button {\n padding: 0 var(--gxg-tab-menu-button-padding);\n min-height: calc(var(--gxg-tab-menu-button-min-height) * 0.85);\n justify-content: flex-start;\n}\n:host(.menu-button) .tab-button:after {\n display: none;\n}\n:host(.menu-button) .tab-button__text {\n font-size: var(--gxg-tab-menu-button-font-size);\n}\n:host(.menu-button) gxg-icon {\n transform: scale(0.85);\n}\n\n:host(.menu-button:hover) {\n background: var(--ds-item-background-color--hover);\n}","import { h, Host } from \"@stencil/core\";\nimport state from \"../store\";\nimport { exportParts } from \"../../common/export-parts\";\nexport class GxgTabButton {\n constructor() {\n this.hidden = false;\n this.tabLabel = null;\n this.tab = null;\n this.isSelected = false;\n this.disabled = false;\n this.icon = null;\n this.borderAbove = false;\n this.stackedStyle = false;\n this.reduced = false;\n }\n parts = {\n button: \"button\"\n };\n exportparts;\n el;\n tabButton;\n //Events\n tabActivated;\n PrevOrNextTab;\n async tabButtonClick() {\n this.buttonClickHandler();\n this.tabButton.focus();\n }\n isSelectedHandler(newValue) {\n if (newValue) {\n this.el.removeAttribute(\"tabindex\");\n }\n else {\n this.el.setAttribute(\"tabindex\", \"-1\");\n }\n }\n hiddenHandler(hidden) {\n if (hidden) {\n this.el.setAttribute(\"tabindex\", \"-1\");\n }\n else {\n this.el.removeAttribute(\"tabindex\");\n }\n }\n buttonClickHandler() {\n this.isSelected = true;\n const index = parseInt(this.el.getAttribute(\"data-index\"), 10);\n this.tabActivated.emit({\n tab: this.tab,\n index: index\n });\n }\n buttonKeyDownHandler(e) {\n if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\") {\n this.PrevOrNextTab.emit({\n originTab: this.tab,\n arrowPressed: e.key\n });\n }\n else if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n e.preventDefault();\n }\n }\n printIcon() {\n if (this.icon !== null) {\n if (this.disabled) {\n return (h(\"gxg-icon\", { size: \"small\", color: \"disabled\", type: this.icon, part: \"icon\" }));\n }\n return h(\"gxg-icon\", { size: \"small\", type: this.icon, part: \"icon\" });\n }\n }\n componentWillLoad() {\n this.attachExportParts();\n this.hiddenHandler(this.hidden);\n }\n attachExportParts = () => {\n const part = this.el.getAttribute(\"part\");\n const exportPartsResult = exportParts(part, this.parts);\n exportPartsResult.length && (this.exportparts = exportPartsResult);\n };\n componentDidLoad() {\n //Set the active tab for this tab-button if this is selected by default\n if (this.isSelected) {\n this.tabActivated.emit();\n }\n }\n render() {\n return (h(Host, { class: {\n large: state.large,\n mercury: state.mercury,\n stacked: this.stackedStyle\n }, exportParts: this.exportparts ? this.exportparts : null }, h(\"li\", { class: \"tab-item\" }, h(\"button\", { disabled: this.disabled, class: {\n \"tab-button\": true,\n \"tab-button--hidden\": this.hidden,\n \"tab-button--selected\": this.isSelected === true,\n \"tab-button--text-icon\": this.tabLabel !== null && this.icon !== null,\n large: state.large,\n \"tab-button--border-above\": this.borderAbove,\n \"tab-button--reduced\": this.reduced,\n \"tab-button--stacked-style\": this.stackedStyle\n }, onClick: this.buttonClickHandler.bind(this), onKeyDown: this.buttonKeyDownHandler.bind(this), ref: el => (this.tabButton = el), part: this.parts.button }, !this.reduced && this.printIcon(), h(\"span\", { class: \"tab-button__text\", part: \"button-text\" }, this.tabLabel)), h(\"slot\", null))));\n }\n static get is() { return \"gxg-tab-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tab-button.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tab-button.css\"]\n };\n }\n static get properties() {\n return {\n \"hidden\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Hides the tab button\"\n },\n \"attribute\": \"hidden\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"tabLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The button label\"\n },\n \"attribute\": \"tab-label\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"tab\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The tab id. Must be unique, and match the \\\"tab\\\" value of the correlative \\\"gxg-tab\\\" element\"\n },\n \"attribute\": \"tab\",\n \"reflect\": true,\n \"defaultValue\": \"null\"\n },\n \"isSelected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Provide this attribute to make this button selected by default\"\n },\n \"attribute\": \"is-selected\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Provide this attribute to make this button disabled\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"icon\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"(Optional) provide an icon to this button\"\n },\n \"attribute\": \"icon\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"borderAbove\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Displays the border above\"\n },\n \"attribute\": \"border-above\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"stackedStyle\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Stylize the button for the gxg-tab-bar \\\"stacked\\\" version.\"\n },\n \"attribute\": \"stacked-style\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"reduced\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute will hide the icon, and reduce the font size a little bit.\"\n },\n \"attribute\": \"reduced\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"tabActivated\",\n \"name\": \"tabActivated\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"PrevOrNextTab\",\n \"name\": \"PrevOrNextTab\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"tabButtonClick\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"isSelected\",\n \"methodName\": \"isSelectedHandler\"\n }, {\n \"propName\": \"hidden\",\n \"methodName\": \"hiddenHandler\"\n }];\n }\n}\n//# sourceMappingURL=tab-button.js.map\n",":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n:host {\n display: block;\n height: auto;\n background: var(--color-background);\n border-radius: var(--border-width-md);\n box-shadow: var(--box-shadow-01);\n position: relative;\n font-family: var(--ds-base-font-family-primary);\n}\n\n.main-container {\n height: 100%;\n max-height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n border-width: var(--gxg-tabs-border-width);\n border-style: solid;\n border-color: var(--gxg-tabs-border-color);\n border-radius: var(--gxg-tabs-border-radius);\n overflow: hidden;\n background-color: var(--gxg-tab-bar-background-color);\n}\n.main-container--no-border {\n border: none;\n}\n\n.tabs-container {\n height: 100%;\n overflow-y: auto;\n}\n\n:host([position=left-rotated]) .main-container,\n:host([position=right-rotated]) .main-container {\n flex-direction: row;\n}\n:host([position=left-rotated]) .tab-bar-container,\n:host([position=right-rotated]) .tab-bar-container {\n height: 100%;\n overflow: auto;\n width: 40px;\n position: relative;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar-track,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar-thumb,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar-thumb:hover,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n:host([position=left-rotated]) .tab-bar-container::-webkit-scrollbar-corner,\n:host([position=right-rotated]) .tab-bar-container::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n:host([position=left-rotated]) ::slotted(gxg-tab-bar),\n:host([position=right-rotated]) ::slotted(gxg-tab-bar) {\n transform: rotate(-90deg) translate(-100%, 0);\n transform-origin: left top;\n position: absolute;\n z-index: 10;\n}\n:host([position=left-rotated]) ::slotted(gxg-tab),\n:host([position=right-rotated]) ::slotted(gxg-tab) {\n border-left-width: var(--gxg-tabs-border-width);\n border-left-style: solid;\n border-left-color: var(--gxg-tabs-border-color);\n}\n:host([position=left-rotated]) .tabs-container,\n:host([position=right-rotated]) .tabs-container {\n width: calc(100% - 32px);\n}\n:host([position=left-rotated]) .main-container {\n flex-direction: row;\n}\n\n:host([position=right-rotated]) .main-container {\n flex-direction: row-reverse;\n}\n\n:host([position=left-stacked]) .main-container,\n:host([position=right-stacked]) .main-container {\n flex-direction: row;\n}\n\n:host([position=left-stacked]) .main-container {\n flex-direction: row;\n}\n\n:host([position=right-stacked]) .main-container {\n flex-direction: row-reverse;\n}","import { Host, h } from \"@stencil/core\";\nexport class GxgTabs {\n constructor() {\n this.position = \"top\";\n this.height = \"100%\";\n this.maxHeight = \"100%\";\n this.minWidth = \"200px\";\n this.tabBarBorder = false;\n this.noBorder = false;\n this.buttonsBorderAbove = false;\n this.noBackground = false;\n this.noPadding = false;\n this.reduced = false;\n this.activeTab = undefined;\n }\n el;\n watchActiveTabHandler(activeTab) {\n if (activeTab?.length > 0) {\n this.activateTab();\n }\n }\n tabActivatedHandler(event) {\n event.stopPropagation();\n this.updateActiveChildren(event.target.tab, \"gxg-tab-button\");\n this.updateActiveChildren(event.target.tab, \"gxg-tab\");\n }\n componentWillLoad() {\n this.configureTabs();\n this.evaluateReduced();\n if (this.activeTab) {\n this.activateTab();\n }\n this.evaluateStacked();\n }\n evaluateStacked = () => {\n if (this.position === \"left-stacked\" || this.position === \"right-stacked\") {\n //stacked tabBar\n const tabBar = this.el.querySelector(\"gxg-tab-bar\");\n if (tabBar) {\n tabBar.stacked = this.position;\n }\n const tabButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n if (tabButtons) {\n tabButtons.forEach(tabButton => {\n tabButton.stackedStyle = true;\n });\n }\n //stacked buttons\n }\n };\n evaluateReduced = () => {\n if (this.reduced) {\n //tab buttons\n const gxgTabButtons = Array.from(this.el.querySelectorAll(\"gxg-tab-button\"));\n gxgTabButtons.forEach(tabButton => {\n tabButton.reduced = true;\n });\n //tabs\n const gxgTabs = Array.from(this.el.querySelectorAll(\"gxg-tab\"));\n gxgTabs.forEach(tab => {\n tab.reduced = true;\n });\n }\n };\n updateActiveChildren(activeTab, tagName) {\n let children;\n if (tagName === \"gxg-tab\") {\n children = this.el.querySelectorAll(\":scope > gxg-tab\");\n }\n else if (tagName === \"gxg-tab-button\") {\n const tabBar = this.el.querySelector(\":scope > gxg-tab-bar\");\n children = tabBar.querySelectorAll(\":scope > gxg-tab-button\");\n }\n for (const child of children) {\n child.isSelected = activeTab === child.tab;\n }\n }\n configureTabs() {\n const tabs = this.el.querySelectorAll(\"gxg-tab\");\n if (this.noPadding) {\n tabs.forEach(tab => {\n tab.noPadding = true;\n });\n }\n if (this.buttonsBorderAbove) {\n const tabButtons = this.el.querySelectorAll(\"gxg-tab-button\");\n tabButtons.forEach(tabButton => (tabButton.borderAbove = true));\n }\n }\n async setActiveTab(tab) {\n if (tab) {\n const tabEl = this.getTab(tab);\n if (!tabEl?.disabled) {\n this.updateActiveChildren(tab, \"gxg-tab-button\");\n this.updateActiveChildren(tab, \"gxg-tab\");\n }\n }\n }\n /**\n * Sets the first tab that is not disabled and hidden as the active tab\n */\n async setFirstActiveTab() {\n const allTabs = Array.from(this.el.querySelectorAll(\"gxg-tab-button\"));\n const firstEnabledTab = allTabs.find(tab => !tab.hidden && !tab.disabled);\n if (firstEnabledTab && firstEnabledTab.tab) {\n this.updateActiveChildren(firstEnabledTab.tab, \"gxg-tab-button\");\n this.updateActiveChildren(firstEnabledTab.tab, \"gxg-tab\");\n }\n }\n getTab = (tab) => {\n return this.el.querySelector(`gxg-tab-button[key=${tab}]`);\n };\n activateTab = () => {\n //buttons\n const tabButtons = Array.from(this.el.querySelectorAll(\"gxg-tab-button\"));\n tabButtons.forEach(tabButton => {\n if (tabButton.tab !== this.activeTab) {\n tabButton.isSelected = false;\n }\n else {\n tabButton.isSelected = true;\n }\n });\n //tabs\n const tabs = Array.from(this.el.querySelectorAll(\"gxg-tab\"));\n tabs.forEach(tab => {\n if (tab.tab !== this.activeTab) {\n tab.isSelected = false;\n }\n else {\n tab.isSelected = true;\n }\n });\n };\n render() {\n return (h(Host, { style: {\n height: this.height,\n maxHeight: this.maxHeight,\n minWidth: this.minWidth\n } }, h(\"div\", { class: {\n \"main-container\": true,\n \"main-container--no-border\": this.noBorder\n } }, this.position === \"bottom\"\n ? [\n h(\"div\", { class: \"tabs-container\" }, h(\"slot\", null)),\n h(\"div\", { class: \"tab-bar-container\" }, h(\"slot\", { name: \"tab-bar-container\" }))\n ]\n : [\n h(\"div\", { class: \"tab-bar-container\" }, h(\"slot\", { name: \"tab-bar-container\" })),\n h(\"div\", { class: \"tabs-container\" }, h(\"slot\", null))\n ])));\n }\n static get is() { return \"gxg-tabs\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"tabs.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"tabs.css\"]\n };\n }\n static get properties() {\n return {\n \"position\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TabsPosition\",\n \"resolved\": \"\\\"bottom\\\" | \\\"left-rotated\\\" | \\\"left-stacked\\\" | \\\"right-rotated\\\" | \\\"right-stacked\\\" | \\\"top\\\"\",\n \"references\": {\n \"TabsPosition\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/tabs/tabs.tsx\",\n \"id\": \"src/components/tabs/tabs.tsx::TabsPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"top\\\"\"\n },\n \"height\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"height\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"100%\\\"\"\n },\n \"maxHeight\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"max-height\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"100%\\\"\"\n },\n \"minWidth\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"min-width\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"200px\\\"\"\n },\n \"tabBarBorder\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"tab-bar-border\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"noBorder\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"no-border\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"buttonsBorderAbove\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"buttons-border-above\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"noBackground\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute removes the background color (only for mercury)\"\n },\n \"attribute\": \"no-background\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"noPadding\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute removes each tab .container padding\"\n },\n \"attribute\": \"no-padding\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"reduced\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute will make buttons and tabs reduced, meaning that the font size and padding, will be smaller. Also, the icons in the buttons will not be displayed.\"\n },\n \"attribute\": \"reduced\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"activeTab\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The actual active tab, and tab-button\"\n },\n \"attribute\": \"active-tab\",\n \"reflect\": false\n }\n };\n }\n static get methods() {\n return {\n \"setActiveTab\": {\n \"complexType\": {\n \"signature\": \"(tab: string) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"tab\",\n \"type\": \"string\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n },\n \"setFirstActiveTab\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets the first tab that is not disabled and hidden as the active tab\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"activeTab\",\n \"methodName\": \"watchActiveTabHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabActivated\",\n \"method\": \"tabActivatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=tabs.js.map\n"],"mappings":"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"}
|