@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mutationObserverRemoved","target","ref","observer","MutationObserver","mutationsList","mutation","type","removedNodesArray","Array","from","removedNodes","removedNode","nodeType","Node","ELEMENT_NODE","removedItem","observe","childList","comboBoxCss","GxgComboBox","constructor","hostRef","this","parts","input","clearButton","toggleButton","prevEmittedValue","userTyped","formMessageLogic","detectClickOutsideCombo","detectClickOutsideComboFunc","bind","detectMouseScroll","detectMouseScrollFunc","attachExportParts","part","el","getAttribute","exportPartsResult","exportParts","length","exportparts","mutationRemoveObserver","_mo","inputHandler","e","value","sanitizeString","detail","filterList","strict","item","getItemByValue","undefined","keyDownHandler","code","KK","ARROW_DOWN","ARROW_UP","preventDefault","newItem","getNewItem","altKey","showList","ENTER","preventEnterPropagation","listIsOpen","stopPropagation","hideList","showAllItems","evaluateValueChangedEmit","SPACE","ESCAPE","TAB","text","valueChanged","emit","evaluateScroll","selectedItem","selectedITemTop","getBoundingClientRect","top","selectedITemBottom","bottom","containerTop","itemsContainer","containerBottom","scrollIntoView","behavior","handleValueChangeFormText","evaluatePopOver","popOver","setAttribute","caseSensitive","toLowerCase","enabledItems","getEnabledItems","filteredItems","forEach","itemText","textContent","toLocaleLowerCase","disabled","includes","push","hidden","cleanup","myObserver","unobserve","document","body","removeEventListener","disconnect","setup","setIndexes","setInitialValue","allItems","getAllItems","i","index","getFilteredItems","allItemsNodeList","querySelectorAll","find","clearSelectedItem","selected","clearIcon","getValueByText","direction","indexInFiltered","findIndex","setSelectedItem","replace","trim","firstItem","innerText","inputTextIcon","icon","toString","onBlurHandler","toggleListButtonClickHandler","toggleList","focus","inputTextClickHandler","disableFilter","toolTip","fixedIcon","label","labelPosition","minWidth","maxWidth","listMaxHeight","placeholder","disableClear","listPosition","centerLabel","labelWidth","required","validationStatus","validationMessage","cursorEnd","informationMessage","inputTextValue","noMatch","lastAllowedValue","slottedContent","selectionProgramatic","lastSetValueByUser","componentDidUpdate","itemsContainerIsOverflowing","itemsContainerBottomOverflows","componentWillLoad","componentDidLoad","resizeObserver","disconnectedCallback","open","close","getValueByIndex","foundItem","filter","setValueByIndex","selectInputText","inputText","itemSelectedHandler","event","itemDidLoadHandler","keyDownComboItemHandler","onValueChanged","newValue","setTimeout","setIcon","listIsOpenHandler","isOpen","addEventListener","opened","repositionItemsContainer","showPopover","closed","hidePopover","toggled","selectedItemHandler","removedItemHandler","comboMainContainer","shadowRoot","querySelector","x","y","comboMainContainerArea","left","right","screenX","screenY","clientX","clientY","clearCombo","ResizeObserver","entries","inputTextWidth","clientWidth","style","width","inputTextBoundingClient","inputTextY","inputTextHeight","height","inputTextX","viewportHeight","window","innerHeight","comboBottom","itemsContainerHeight","clientHeight","result","itOverflows","render","h","Host","class","tooltip","large","state","mainContainer","center","searchItemsContainer","onInput","onKeyDown","onClick","onBlur","iconPosition","readonly","preventValueChangedEmit","tabindex","small","maxHeight","formTooltipLogic","delegatesFocus","comboBoxItemCss","GxgComboBoxItem","innerHTML","clickHandler","itemSelected","exactMatch","iconColor","itemDidLoad","iconColorHandler","commonClassesNames","container","color","size"],"sources":["node_modules/@genexus/gemini/dist/collection/common/mo-removed.js","node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css?tag=gxg-combo-box&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.js","node_modules/@genexus/gemini/dist/collection/components/combo-box-item/combo-box-item.css?tag=gxg-combo-box-item&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/combo-box-item/combo-box-item.js"],"sourcesContent":["export function mutationObserverRemoved(target, ref) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n const removedNodesArray = Array.from(mutation.removedNodes);\n for (const removedNode of removedNodesArray) {\n if (removedNode.nodeType === Node.ELEMENT_NODE) {\n ref.removedItem = removedNode;\n }\n }\n }\n }\n });\n observer.observe(target, { childList: true });\n return observer; // Return the observer instance if needed\n}\n//# sourceMappingURL=mo-removed.js.map\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n/* Document\n ========================================================================== */\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\nhtml {\n line-height: 1.15;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n/**\n * Remove the margin in all browsers.\n */\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\nhr {\n box-sizing: content-box;\n /* 1 */\n height: 0;\n /* 1 */\n overflow: visible;\n /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\npre {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Remove the gray background on active links in IE 10.\n */\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\nabbr[title] {\n border-bottom: none;\n /* 1 */\n text-decoration: underline;\n /* 2 */\n text-decoration: underline dotted;\n /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove the border on images inside links in IE 10.\n */\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n line-height: 1.15;\n /* 1 */\n margin: 0;\n /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\nbutton::-moz-focus-inner,\n[type=button]::-moz-focus-inner,\n[type=reset]::-moz-focus-inner,\n[type=submit]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\nbutton:-moz-focusring,\n[type=button]:-moz-focusring,\n[type=reset]:-moz-focusring,\n[type=submit]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\nlegend {\n box-sizing: border-box;\n /* 1 */\n color: inherit;\n /* 2 */\n display: table;\n /* 1 */\n max-width: 100%;\n /* 1 */\n padding: 0;\n /* 3 */\n white-space: normal;\n /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n[type=checkbox],\n[type=radio] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n[type=number]::-webkit-inner-spin-button,\n[type=number]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n[type=search] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n[type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n/**\n * Add the correct display in IE 10+.\n */\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n[hidden] {\n display: none;\n}\n\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/*--- Elevation ---*/\n/*Warning*/\n:host(.gxg-validation--warning) .form-element {\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus {\n outline-color: var(--ds-border-color--warning);\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--warning);\n}\n\n/*Error*/\n:host(.gxg-validation--error) .form-element {\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus {\n outline-color: var(--ds-border-color--error);\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--error);\n}\n\n/*Success*/\n:host(.gxg-validation--success) .form-element {\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus {\n outline-color: var(--ds-border-color--success);\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--success);\n}\n\n/*Tooltip*/\n.tooltip-outer-wrapper {\n display: grid;\n grid-template-columns: 0fr;\n transition: grid-template-columns var(--timing-02);\n}\n\n:host(.tooltip--visible) .tooltip-outer-wrapper {\n grid-template-columns: 1fr;\n}\n\n.tooltip-inner-wrapper {\n --margin-inline-start: 6px;\n overflow: hidden;\n transition: 150ms width;\n width: 0;\n}\n.tooltip-inner-wrapper gxg-icon {\n display: flex;\n position: relative !important;\n top: 0 !important;\n transform: none !important;\n margin-inline-start: var(--margin-inline-start);\n box-sizing: border-box;\n}\n.tooltip-inner-wrapper--visible {\n width: calc(var(--ds-icon-size-box--small) + var(--margin-inline-start));\n}\n.tooltip-inner-wrapper--hidden {\n display: none;\n}\n\n:host {\n font-family: var(--ds-base-font-family-primary);\n display: block;\n}\n:host .main-container {\n width: 100%;\n position: relative;\n /*POSITION TOP*/\n}\n:host .main-container .outer-wrapper {\n display: flex;\n align-items: center;\n}\n:host .main-container .search-container {\n flex: 1;\n position: relative;\n}\n:host .main-container .search-container .buttons-wrapper {\n position: absolute;\n display: flex;\n align-items: center;\n height: 100%;\n top: 0;\n inset-inline-end: var(--gxg-combo-box-items-buttons-wrapper--iie);\n}\n:host .main-container .items-container {\n color: var(--gxg-combo-box-items-container_color);\n font-size: var(--gxg-combo-box-items-container_font-size);\n border: var(--ds-border-common-styles);\n border-radius: var(--ds-form-control-border-radius);\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-top-width: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background-color: var(--gxg-combo-box-items-container_background-color);\n position: fixed;\n width: inherit;\n box-sizing: border-box;\n z-index: 999;\n box-sizing: border-box;\n padding: var(--gxg-combo-box-items-container_padding);\n /*popover*/\n}\n:host .main-container .items-container--not-popover {\n display: none;\n}\n:host .main-container .items-container--show {\n display: block;\n}\n:host .main-container .items-container--no-match {\n display: none;\n}\n:host .main-container .items-container .no-ocurrences-found {\n font-size: var(--gxg-combo-box-no-occurrences_font-size);\n color: var(--gxg-combo-box-no-occurrences_color);\n padding: var(--gxg-combo-box-no-occurrences_padding);\n background-color: var(--gxg-combo-box-no-occurrences_background-color);\n}\n:host .main-container .items-container .no-ocurrences-found span {\n display: block;\n color: var(--gxg-combo-box-no-occurrences_command-color);\n}\n:host .main-container .items-container.exact-match {\n overflow-y: hidden;\n}\n:host .main-container .items-container--popover {\n padding: 0;\n margin: 0;\n}\n:host .main-container .items-container--above {\n transform: translateY(calc(-100% - 24px));\n border-top-width: 1px;\n border-bottom-width: 0;\n border-top-left-radius: var(--ds-form-control-border-radius);\n border-top-right-radius: var(--ds-form-control-border-radius);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n:host .search-and-items-container {\n flex: 1;\n}\n\n/*label position*/\n:host([label-position=start]) .main-container {\n display: flex;\n flex-direction: row;\n}\n:host([label-position=start]) .main-container .outer-wrapper {\n flex: 1;\n}\n\n/*scrollbar*/\n.items-container {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.items-container::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.items-container::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.items-container::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.items-container::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.items-container::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*********************************************\nVALIDATION\n**********************************************/\n.messages-wrapper {\n margin-top: var(--spacing-comp-02);\n display: flex;\n gap: var(--spacing-comp-01);\n flex-direction: column;\n}","import { Host, h } from \"@stencil/core\";\nimport { formMessageLogic, formTooltipLogic } from \"../../common/form\";\nimport { KeyboardKeys as KK } from \"../../common/types\";\nimport { exportParts } from \"../../common/export-parts\";\nimport state from \"../store\";\nimport { mutationObserverRemoved } from \"../../common/mo-removed\";\nexport class GxgComboBox {\n constructor() {\n this.popOver = false;\n this.toolTip = false;\n this.preventEnterPropagation = false;\n this.fixedIcon = undefined;\n this.disabled = false;\n this.label = undefined;\n this.labelPosition = \"above\";\n this.minWidth = \"0\";\n this.maxWidth = \"100%\";\n this.listMaxHeight = \"244px\";\n this.placeholder = \"Search item\";\n this.disableFilter = false;\n this.disableClear = false;\n this.strict = false;\n this.value = undefined;\n this.caseSensitive = false;\n this.listPosition = \"below\";\n this.text = undefined;\n this.centerLabel = false;\n this.labelWidth = undefined;\n this.required = false;\n this.validationStatus = \"indeterminate\";\n this.validationMessage = undefined;\n this.cursorEnd = false;\n this.informationMessage = undefined;\n this.inputTextValue = \"\";\n this.listIsOpen = false;\n this.inputTextIcon = undefined;\n this.noMatch = false;\n this.lastAllowedValue = undefined;\n this.slottedContent = null;\n this.selectionProgramatic = true;\n this.lastSetValueByUser = undefined;\n this.myObserver = null;\n this.selectedItem = undefined;\n this.removedItem = undefined;\n }\n parts = {\n input: \"input\",\n clearButton: \"clear-button\",\n toggleButton: \"toggle-button\"\n };\n exportparts;\n _mo;\n prevEmittedValue = null;\n /**\n * This event is triggered when the combo box value changes.\n */\n valueChanged;\n /**\n * This event is triggered when the combo dropdown is opened\n */\n opened;\n /**\n * This event is triggered when the combo dropdown has closed\n */\n closed;\n /**\n * This event is triggered when the combo dropdown has toggled (opened/closed)\n */\n toggled;\n inputText;\n el;\n mainContainer;\n itemsContainer;\n searchItemsContainer;\n userTyped = false;\n formMessageLogic = formMessageLogic;\n detectClickOutsideCombo = this.detectClickOutsideComboFunc.bind(this);\n detectMouseScroll = this.detectMouseScrollFunc.bind(this);\n componentDidUpdate() {\n const itemsContainerIsOverflowing = this.itemsContainerBottomOverflows();\n itemsContainerIsOverflowing\n ? (this.listPosition = \"above\")\n : (this.listPosition = \"below\");\n }\n componentWillLoad() {\n this.setup();\n this.attachExportParts();\n this.mutationRemoveObserver();\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 mutationRemoveObserver = () => {\n this._mo = mutationObserverRemoved(this.el, this);\n };\n componentDidLoad() {\n this.resizeObserver();\n this.evaluatePopOver();\n }\n disconnectedCallback() {\n this.cleanup();\n }\n /*********************************\n METHODS\n *********************************/\n async open() {\n this.listIsOpen = true;\n }\n async close() {\n this.listIsOpen = false;\n }\n async getValueByIndex(index) {\n const enabledItems = this.getEnabledItems();\n const foundItem = enabledItems.filter(item => item.index === index)[0];\n return foundItem?.value;\n }\n async setValueByIndex(index) {\n const enabledItems = this.getEnabledItems();\n const foundItem = enabledItems.filter(item => item.index === index)[0];\n if (foundItem && foundItem.value) {\n this.value = foundItem.value;\n return true;\n }\n return false;\n }\n async selectInputText() {\n this.inputText.selectInputText();\n }\n /*********************************\n LISTEN\n *********************************/\n itemSelectedHandler(event) {\n this.value = event.detail.value;\n this.prevEmittedValue = this.value;\n this.inputText.focus();\n }\n itemDidLoadHandler() {\n this.setIndexes();\n //this.setInitialValue();\n }\n keyDownComboItemHandler(event) {\n event.stopPropagation();\n if (event.detail === \"ArrowUp\") {\n this.inputText.focus();\n }\n else if (event.detail === \"Tab\" || event.detail === \"Escape\") {\n this.listIsOpen = false;\n this.inputText.focus();\n }\n }\n /*********************************\n HANDLERS\n *********************************/\n inputHandler = (e) => {\n this.userTyped = true;\n const value = this.sanitizeString(e.detail);\n this.filterList(value);\n if (!this.strict) {\n this.value = value;\n }\n else {\n const item = this.getItemByValue(value);\n if (item) {\n this.value = value;\n }\n else {\n this.value = undefined;\n }\n }\n };\n keyDownHandler = (e) => {\n if (e.code === KK.ARROW_DOWN || e.code === KK.ARROW_UP) {\n e.preventDefault();\n }\n let newItem;\n if (e.code === KK.ARROW_DOWN) {\n newItem = this.getNewItem(\"next\");\n newItem?.value && (this.value = newItem?.value);\n e.altKey && this.showList();\n }\n else if (e.code === KK.ARROW_UP) {\n newItem = this.getNewItem(\"prev\");\n newItem?.value && (this.value = newItem?.value);\n }\n else if (e.code === KK.ENTER) {\n if (this.preventEnterPropagation && this.listIsOpen) {\n e.stopPropagation();\n }\n this.hideList();\n this.showAllItems();\n this.evaluateValueChangedEmit();\n }\n else if (e.code === KK.SPACE) {\n this.showList();\n }\n else if (e.code === KK.ESCAPE) {\n this.showAllItems();\n this.hideList();\n }\n else if (e.code === KK.TAB && this.showList) {\n this.hideList();\n }\n };\n evaluateValueChangedEmit = () => {\n if (this.strict && this.value === undefined) {\n this.text = \"\";\n this.value = this.prevEmittedValue;\n }\n else if (this.value !== this.prevEmittedValue) {\n this.valueChanged.emit(this.value);\n this.prevEmittedValue = this.value;\n }\n };\n evaluateScroll = () => {\n if (this.selectedItem) {\n const selectedITemTop = this.selectedItem.getBoundingClientRect().top;\n const selectedITemBottom = this.selectedItem.getBoundingClientRect().bottom;\n const containerTop = this.itemsContainer.getBoundingClientRect().top;\n const containerBottom = this.itemsContainer.getBoundingClientRect().bottom;\n if (selectedITemTop < containerTop ||\n selectedITemBottom > containerBottom) {\n this.selectedItem.scrollIntoView({ behavior: \"smooth\" });\n }\n }\n };\n handleValueChangeFormText = e => {\n this.value = e.detail;\n };\n /********************************\n WATCH\n *********************************/\n onValueChanged(newValue) {\n setTimeout(() => {\n this.clearSelectedItem();\n let value;\n let newItem = undefined;\n if (this.userTyped) {\n value = this.getValueByText(newValue);\n }\n else {\n !this.listIsOpen && this.showAllItems();\n value = newValue;\n }\n newItem = this.getItemByValue(value);\n if (newItem) {\n this.setSelectedItem(newItem);\n this.setIcon(newItem.icon);\n const textContent = newItem.textContent;\n if (textContent.length > 0) {\n this.text = textContent;\n }\n else {\n this.text = newItem.value;\n }\n }\n else {\n //this.setIcon(undefined);\n if (this.strict) {\n this.value = undefined;\n }\n else {\n this.text = newValue;\n }\n }\n this.userTyped = false;\n }, 20);\n }\n listIsOpenHandler(open) {\n let isOpen = false;\n if (open) {\n //list is open\n isOpen = true;\n document.addEventListener(\"click\", this.detectClickOutsideCombo, true);\n document.addEventListener(\"scroll\", this.detectMouseScroll, true);\n this.opened.emit();\n //Reposition .items-container, since it has fixed position\n this.repositionItemsContainer();\n if (this.popOver) {\n this.itemsContainer.showPopover();\n }\n }\n else {\n //list is closed\n document.removeEventListener(\"click\", this.detectClickOutsideCombo, true);\n document.removeEventListener(\"scroll\", this.detectMouseScroll, true);\n this.closed.emit();\n if (this.popOver) {\n this.itemsContainer.hidePopover();\n }\n }\n this.toggled.emit(isOpen);\n }\n selectedItemHandler(newItem) {\n newItem && (newItem.selected = true);\n if (this.listIsOpen) {\n this.evaluateScroll();\n }\n }\n removedItemHandler(removedItem) {\n const value = removedItem.value;\n if (value === this.value) {\n /*The removed item was the one selected on the combo. Re-evaluation of new value is needed*/\n this.setup();\n }\n }\n /*********************************\n PRIVATE METHODS\n *********************************/\n evaluatePopOver = () => {\n if (this.popOver) {\n this.itemsContainer.setAttribute(\"popover\", \"\");\n }\n };\n filterList = (text) => {\n text = this.sanitizeString(text);\n !this.caseSensitive && (text = text.toLowerCase());\n const enabledItems = this.getEnabledItems();\n const filteredItems = [];\n if (enabledItems.length) {\n enabledItems.forEach(item => {\n const itemText = !this.caseSensitive\n ? item.textContent.toLocaleLowerCase()\n : item.textContent;\n if (!item.disabled && itemText.includes(text)) {\n filteredItems.push(item);\n item.hidden = false;\n }\n else {\n item.hidden = true;\n }\n });\n }\n if (filteredItems.length >= 1) {\n this.showList();\n }\n else {\n this.hideList();\n }\n return filteredItems;\n };\n showAllItems = () => {\n const enabledItems = this.getEnabledItems();\n enabledItems?.forEach(item => {\n item?.hidden && (item.hidden = false);\n });\n };\n cleanup = () => {\n this.myObserver.unobserve(document.body);\n document.removeEventListener(\"click\", this.detectClickOutsideCombo, true);\n document.removeEventListener(\"scroll\", this.detectMouseScroll, true);\n this._mo.disconnect();\n };\n setup = () => {\n this.setIndexes();\n this.setInitialValue();\n };\n setIndexes = () => {\n const allItems = this.getAllItems();\n allItems.forEach((item, i) => {\n item.index = i;\n });\n };\n getEnabledItems = () => {\n const enabledItems = [];\n const allItems = this.getAllItems();\n allItems.forEach(item => {\n !item.disabled && enabledItems.push(item);\n });\n return enabledItems;\n };\n getFilteredItems = () => {\n const enabledItems = this.getEnabledItems();\n const filteredItems = [];\n enabledItems.forEach(item => {\n !item.hidden && filteredItems.push(item);\n });\n return filteredItems;\n };\n getAllItems = () => {\n const allItems = [];\n const allItemsNodeList = this.el.querySelectorAll(\"gxg-combo-box-item\");\n allItemsNodeList.forEach(item => {\n allItems.push(item);\n });\n return allItems;\n };\n getItemByValue = (value) => {\n let item;\n if (value) {\n const enabledItems = this.getEnabledItems();\n item = enabledItems.find(item => {\n return !item.disabled && item?.value && item.value === value;\n });\n }\n return item;\n };\n clearSelectedItem = () => {\n const enabledItems = this.getEnabledItems();\n enabledItems?.forEach(item => {\n item.selected && (item.selected = false);\n });\n this.selectedItem = undefined;\n this.clearIcon();\n };\n getValueByText = (text) => {\n if (text) {\n !this.caseSensitive && (text = text.toLowerCase());\n const enabledItems = this.getEnabledItems();\n const item = enabledItems?.find(item => {\n const itemText = !this.caseSensitive\n ? item.textContent.toLocaleLowerCase()\n : item.textContent;\n return !item.disabled && itemText === text;\n });\n return item?.value;\n }\n else {\n return undefined;\n }\n };\n getNewItem = (direction) => {\n const filteredItems = this.getFilteredItems();\n const indexInFiltered = filteredItems?.findIndex(item => {\n return item.selected;\n });\n if (direction === \"next\") {\n if (indexInFiltered === -1) {\n /*no selectedItem at the time*/\n return filteredItems[0];\n }\n return filteredItems[indexInFiltered + 1];\n }\n else if (direction === \"prev\") {\n if (indexInFiltered !== -1) {\n return filteredItems[indexInFiltered - 1];\n }\n }\n };\n setSelectedItem = (item) => {\n if (item) {\n this.selectedItem && (this.selectedItem.selected = false);\n item.selected = true;\n this.selectedItem = item;\n return true;\n }\n return false;\n };\n sanitizeString = (value) => {\n if (typeof value === \"string\") {\n return value.replace(/\\s+/g, \" \").trim();\n }\n return value;\n };\n setInitialValue = () => {\n const firstItem = this.getEnabledItems()[0];\n if (!this.value || this.removedItem !== undefined) {\n if (firstItem) {\n this.value = firstItem.value;\n this.text = firstItem.innerText;\n }\n else {\n if (this.strict) {\n this.value = undefined;\n }\n }\n }\n else {\n const item = this.getItemByValue(this.value);\n if (item) {\n this.text = item.innerText;\n this.inputTextIcon = item.icon;\n item.selected = true;\n }\n else {\n if (this.strict) {\n this.value = undefined;\n }\n else {\n this.text = this.value.toString();\n }\n }\n }\n this.prevEmittedValue = this.value;\n };\n onBlurHandler = () => {\n this.evaluateValueChangedEmit();\n };\n toggleListButtonClickHandler = () => {\n if (!this.disabled) {\n this.showAllItems();\n this.toggleList();\n this.focus();\n }\n };\n inputTextClickHandler = () => {\n if (!this.disabled) {\n this.disableFilter && this.toggleList();\n }\n };\n toggleList = () => {\n if (!this.disabled) {\n this.listIsOpen = !this.listIsOpen;\n }\n };\n showList = () => {\n if (!this.disabled) {\n this.listIsOpen = true;\n }\n };\n hideList = () => {\n if (!this.disabled) {\n this.listIsOpen = false;\n }\n };\n clearIcon = () => {\n if (!this.disabled) {\n this.inputTextIcon = null;\n }\n };\n setIcon(icon) {\n if (icon) {\n this.inputTextIcon = icon;\n }\n else {\n this.inputTextIcon = null;\n }\n }\n focus() {\n this.inputText.focus();\n }\n detectClickOutsideComboFunc(event) {\n const comboMainContainer = this.el.shadowRoot.querySelector(\".main-container\");\n const x = event.x;\n const y = event.y;\n //Contextual menu coordinates\n const comboMainContainerArea = comboMainContainer.getBoundingClientRect();\n if ((x > comboMainContainerArea.left &&\n x < comboMainContainerArea.right &&\n y > comboMainContainerArea.top &&\n y < comboMainContainerArea.bottom) ||\n (event.screenX === 0 &&\n event.screenY === 0 &&\n event.clientX === 0 &&\n event.clientY === 0)) {\n //Click happened inside the combo\n }\n else {\n this.listIsOpen = false;\n //Click happened outside the combo\n }\n }\n detectMouseScrollFunc() {\n this.listIsOpen = false;\n }\n clearCombo() {\n if (!this.disabled) {\n this.value = undefined;\n this.listIsOpen = true;\n this.focus();\n }\n }\n resizeObserver() {\n this.myObserver = new ResizeObserver(entries => {\n entries.forEach(() => {\n this.repositionItemsContainer();\n });\n });\n this.myObserver.observe(document.body);\n this.myObserver.observe(this.el);\n }\n repositionItemsContainer() {\n //redefine .main-container width\n const inputText = this.inputText;\n const inputTextWidth = inputText.clientWidth;\n this.itemsContainer.style.width = inputTextWidth + \"px\";\n //redefine .items-container \"top\" value\n const inputTextBoundingClient = inputText.getBoundingClientRect();\n const inputTextY = inputTextBoundingClient.y;\n const inputTextHeight = inputTextBoundingClient.height;\n this.itemsContainer.style.top = inputTextY + inputTextHeight + \"px\";\n if (this.popOver) {\n //redefine .items-container \"left\" value\n const inputTextX = inputTextBoundingClient.x;\n this.itemsContainer.style.left = inputTextX + \"px\";\n }\n }\n itemsContainerBottomOverflows() {\n const viewportHeight = window.innerHeight;\n const comboBottom = this.el.getBoundingClientRect().bottom;\n const itemsContainerHeight = this.itemsContainer.clientHeight;\n const result = comboBottom + itemsContainerHeight;\n const itOverflows = true ? result > viewportHeight : false;\n return itOverflows;\n }\n render() {\n const clearIcon = this.value && !this.disableFilter && !this.disableClear;\n return (h(Host, { class: {\n \"gxg-combo-box--disabled\": this.disableFilter,\n tooltip: this.toolTip,\n large: state.large\n }, style: { maxWidth: this.maxWidth, minWidth: this.minWidth }, exportParts: this.exportparts ? this.exportparts : null }, h(\"div\", { class: {\n \"main-container\": true\n }, ref: el => (this.mainContainer = el) }, this.label ? (h(\"gxg-label\", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label)) : null, h(\"div\", { class: \"outer-wrapper\" }, h(\"div\", { class: \"search-and-items-container\", ref: el => (this.searchItemsContainer = el) }, h(\"div\", { class: { \"search-container\": true } }, h(\"gxg-form-text\", { placeholder: this.placeholder, onInput: this.inputHandler.bind(this), onKeyDown: this.keyDownHandler, onClick: this.inputTextClickHandler, onBlur: this.onBlurHandler, value: this.text, icon: this.fixedIcon || this.inputTextIcon, iconPosition: \"start\", readonly: this.disableFilter, ref: el => (this.inputText = el), validationStatus: this.validationStatus, disabled: this.disabled, onValueChanged: this.handleValueChangeFormText, cursorEnd: this.cursorEnd, preventValueChangedEmit: true, class: {\n \"icon-end--double\": clearIcon,\n \"icon-end\": !clearIcon\n }, part: this.parts.input }), h(\"div\", { class: \"buttons-wrapper\" }, clearIcon ? (h(\"gxg-button\", { class: { \"button-icon delete-icon\": true }, icon: \"menus/delete\", type: \"tertiary\", onClick: () => this.clearCombo(), tabindex: \"-1\", disabled: this.disabled, part: this.parts.clearButton, small: true })) : null, h(\"gxg-button\", { class: { \"button-icon\": true }, icon: \"navigation/arrow-down\", type: \"tertiary\", onClick: this.toggleListButtonClickHandler, disabled: this.disabled, tabindex: \"-1\", part: this.parts.toggleButton, small: true }))), h(\"div\", { class: {\n \"items-container\": true,\n \"items-container--not-popover\": !this.popOver,\n \"items-container--show\": this.listIsOpen && !this.popOver,\n \"items-container--popover\": this.popOver,\n \"items-container--no-match\": this.noMatch,\n \"items-container--below\": this.listPosition === \"below\",\n \"items-container--above\": this.listPosition === \"above\"\n }, style: { maxHeight: this.listMaxHeight }, ref: el => (this.itemsContainer = el) }, h(\"slot\", null), false && this.strict ? (h(\"div\", { class: \"no-ocurrences-found\" }, \"No occurrences found\", h(\"span\", null, \"ctrl/cmd + backspace to erase\"))) : null)), this.toolTip ? formTooltipLogic(this, false) : null)), !this.toolTip ? formMessageLogic(this) : null));\n }\n static get is() { return \"gxg-combo-box\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"combo-box.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"combo-box.css\"]\n };\n }\n static get properties() {\n return {\n \"popOver\": {\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 applies the popover attribute to the list of items. This is useful if the combo-box is wrapped inside a \\\"@container\\\" responsive container, since at the time of writing, fixed positioned elements that are inside a \\\"@container\\\" container, are relative to the container, not the viewport.\"\n },\n \"attribute\": \"pop-over\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"toolTip\": {\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 tooltip message, instead of a block message below the control\"\n },\n \"attribute\": \"tool-tip\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"preventEnterPropagation\": {\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\": \"If true, it will prevent Enter key propagation only when the list is open. This prop. was created to prevent issues with ch-shortcuts, when an Enter key has to fire a callback on another element (such as a button) but it has to be ignored when the list is open, since an Enter key on a list-box-item, has to select the item only.\"\n },\n \"attribute\": \"prevent-enter-propagation\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fixedIcon\": {\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\": \"A fixed icon that will show on the combo, ignoring the combo-box-item's icons.\"\n },\n \"attribute\": \"fixed-icon\",\n \"reflect\": 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\": \"The presence of this attribute makes the input disabled\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\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 combo label\"\n },\n \"attribute\": \"label\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"labelPosition\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"LabelPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"below\\\" | \\\"end\\\" | \\\"start\\\"\",\n \"references\": {\n \"LabelPosition\": {\n \"location\": \"import\",\n \"path\": \"../../common/types\",\n \"id\": \"src/common/types.ts::LabelPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The input label\"\n },\n \"attribute\": \"label-position\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"above\\\"\"\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\": \"The combo min-width\"\n },\n \"attribute\": \"min-width\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"0\\\"\"\n },\n \"maxWidth\": {\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 combo max-width\"\n },\n \"attribute\": \"max-width\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"100%\\\"\"\n },\n \"listMaxHeight\": {\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 combo list max height\"\n },\n \"attribute\": \"list-max-height\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"244px\\\"\"\n },\n \"placeholder\": {\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 combo placeholder\"\n },\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Search item\\\"\"\n },\n \"disableFilter\": {\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 disables the filter\"\n },\n \"attribute\": \"disable-filter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableClear\": {\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 disables the clear button\"\n },\n \"attribute\": \"disable-clear\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"strict\": {\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\": \"If this attribute is present, \\\"value\\\" will only return something if a comboItem is selected, otherwise it will return undefined.\\nif this attribute is not present, \\\"value\\\" will return the value of the actual comboItem, or whatever text the comboItem has.\"\n },\n \"attribute\": \"strict\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"value\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ComboBoxItemValue\",\n \"resolved\": \"any\",\n \"references\": {\n \"ComboBoxItemValue\": {\n \"location\": \"import\",\n \"path\": \"../combo-box-item/combo-box-item\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ComboBoxItemValue\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The current combo box item value\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"caseSensitive\": {\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 make the filter search for values with case sensitive distinction\"\n },\n \"attribute\": \"case-sensitive\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"listPosition\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ListPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"below\\\"\",\n \"references\": {\n \"ListPosition\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/combo-box/combo-box.tsx\",\n \"id\": \"src/components/combo-box/combo-box.tsx::ListPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The container 'items container' position\"\n },\n \"attribute\": \"list-position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"below\\\"\"\n },\n \"centerLabel\": {\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\": \"Centers the label\"\n },\n \"attribute\": \"center-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"labelWidth\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label width\"\n },\n \"attribute\": \"label-width\",\n \"reflect\": false\n },\n \"required\": {\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 commbo required\"\n },\n \"attribute\": \"required\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"ValidationStatus\",\n \"resolved\": \"\\\"error\\\" | \\\"indeterminate\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"ValidationStatus\": {\n \"location\": \"import\",\n \"path\": \"../../common/types\",\n \"id\": \"src/common/types.ts::ValidationStatus\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status\"\n },\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"indeterminate\\\"\"\n },\n \"validationMessage\": {\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 message to display when validation fails (error)\"\n },\n \"attribute\": \"validation-message\",\n \"reflect\": false\n },\n \"cursorEnd\": {\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\": \"If true, it will position the cursor at the end when the input is focused.\"\n },\n \"attribute\": \"cursor-end\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"informationMessage\": {\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\": \"An informative message to help the user filling the information\"\n },\n \"attribute\": \"information-message\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"text\": {},\n \"inputTextValue\": {},\n \"listIsOpen\": {},\n \"inputTextIcon\": {},\n \"noMatch\": {},\n \"lastAllowedValue\": {},\n \"slottedContent\": {},\n \"selectionProgramatic\": {},\n \"lastSetValueByUser\": {},\n \"myObserver\": {},\n \"selectedItem\": {},\n \"removedItem\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"valueChanged\",\n \"name\": \"valueChanged\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the combo box value changes.\"\n },\n \"complexType\": {\n \"original\": \"ComboBoxItemValue\",\n \"resolved\": \"any\",\n \"references\": {\n \"ComboBoxItemValue\": {\n \"location\": \"import\",\n \"path\": \"../combo-box-item/combo-box-item\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ComboBoxItemValue\"\n }\n }\n }\n }, {\n \"method\": \"opened\",\n \"name\": \"opened\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the combo dropdown is opened\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"closed\",\n \"name\": \"closed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the combo dropdown has closed\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"toggled\",\n \"name\": \"toggled\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the combo dropdown has toggled (opened/closed)\"\n },\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"open\": {\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\": \"*******************************\\nMETHODS\\n*******************************\",\n \"tags\": []\n }\n },\n \"close\": {\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 \"getValueByIndex\": {\n \"complexType\": {\n \"signature\": \"(index: number) => Promise<string>\",\n \"parameters\": [{\n \"name\": \"index\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<string>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n },\n \"setValueByIndex\": {\n \"complexType\": {\n \"signature\": \"(index: number) => Promise<boolean>\",\n \"parameters\": [{\n \"name\": \"index\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<boolean>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n },\n \"selectInputText\": {\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\": \"value\",\n \"methodName\": \"onValueChanged\"\n }, {\n \"propName\": \"listIsOpen\",\n \"methodName\": \"listIsOpenHandler\"\n }, {\n \"propName\": \"selectedItem\",\n \"methodName\": \"selectedItemHandler\"\n }, {\n \"propName\": \"removedItem\",\n \"methodName\": \"removedItemHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"itemSelected\",\n \"method\": \"itemSelectedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"itemDidLoad\",\n \"method\": \"itemDidLoadHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keyDownComboItem\",\n \"method\": \"keyDownComboItemHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=combo-box.js.map\n",":host(.gxg--disabled) .form-element,\n:host(.gxg--disabled.form-element) {\n pointer-events: none;\n background-color: var(--ds-background-color-disabled) !important;\n color: var(--ds-color--disabled) !important;\n border-color: var(--ds-border-color-disabled) !important;\n cursor: default !important;\n}\n\n:host {\n --ds-icon-size--small: var(--gxg-combo-box-item_icon-size);\n display: block;\n cursor: pointer;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n font-size: inherit;\n color: inherit;\n opacity: 1;\n overflow: hidden;\n border-radius: var(--gxg-combo-box-item_border-radius);\n}\n:host .container {\n display: flex;\n align-items: center;\n padding: var(--gxg-combo-box-item_padding);\n width: 100%;\n height: var(--ds-list-item-height--spaced);\n box-sizing: border-box;\n /*items with icon are this tall*/\n gap: var(--gxg-combo-box-item_container-gap);\n}\n:host gxg-icon {\n flex-shrink: 0;\n --gxg-icon-color: var(--gxg-combo-box-item--active_icon-color);\n}\n\n.description {\n white-space: nowrap;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n:host(.no-icon) .container {\n padding-inline-start: var(--gxg-combo-box-item_container-no-icon-pis);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host(.display-none) {\n display: none;\n}\n\n:host(:hover) {\n background-color: var(--ds-item-background-color--hover);\n}\n:host(:hover) .container {\n color: var(--gxg-combo-box-item_container-color--hover);\n}\n\n:host([selected]) {\n background-color: var(--ds-item-background-color--selected);\n color: var(--gxg-combo-box-item--selected_color);\n}\n\n:host([selected]:hover) {\n background-color: var(--ds-item-background-color--selected-hover);\n color: var(--gxg-combo-box-item--selected_color);\n}","import { Host, h } from \"@stencil/core\";\nimport state from \"../store\";\nimport { commonClassesNames } from \"../../common/classesNames\";\nexport class GxgComboBoxItem {\n constructor() {\n this.icon = undefined;\n this.value = undefined;\n this.index = undefined;\n this.disabled = false;\n this.selected = false;\n this.exactMatch = false;\n this.hidden = false;\n this.iconColor = undefined;\n }\n el;\n /**\n * This event is triggered when the user clicks on an item. event.detail contains the item index, item value, and item icon.\n */\n itemSelected;\n /**\n * This event is fired when the item has loaded\n */\n itemDidLoad;\n /**\n * This event is for internal use. This event is triggered when the user presses keyboard \"arrow up\" on the first item. This event is caputred on \"combo\" component\n * and then focus is set on \"search\" input.\n */\n keyDownPressed;\n componentWillLoad() {\n this.setup();\n this.disabled ? (this.iconColor = \"ondisabled\") : (this.iconColor = \"auto\");\n }\n componentDidLoad() {\n this.itemDidLoad.emit({\n el: this.el,\n index: this.index,\n value: this.value,\n icon: this.icon\n });\n }\n /*********************************\n WATCH\n *********************************/\n setup = () => {\n if (!this.value) {\n this.value = this.el.innerHTML;\n }\n };\n clickHandler = () => {\n this.itemSelected.emit({\n el: this.el,\n index: this.index,\n value: this.value,\n icon: this.icon\n });\n };\n iconColorHandler() {\n if (this.disabled) {\n return \"disabled\";\n }\n else if (this.selected) {\n return \"primary-enabled\";\n }\n else {\n return \"auto\";\n }\n }\n render() {\n return (h(Host, { onClick: this.clickHandler, class: {\n large: state.large,\n \"no-icon\": !this.icon,\n [commonClassesNames[\"DISABLED_CLASS\"]]: this.disabled\n } }, h(\"div\", { class: { container: true, \"form-element\": true } }, this.icon ? (h(\"gxg-icon\", { color: this.iconColorHandler(), size: \"small\", type: this.icon })) : null, h(\"div\", { class: \"description\" }, h(\"slot\", null)))));\n }\n static get is() { return \"gxg-combo-box-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"combo-box-item.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"combo-box-item.css\"]\n };\n }\n static get properties() {\n return {\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\": \"Any icon that belongs to Gemini icon library: https://gx-gemini.netlify.app/?path=/story/icons\"\n },\n \"attribute\": \"icon\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"value\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ComboBoxItemValue\",\n \"resolved\": \"any\",\n \"references\": {\n \"ComboBoxItemValue\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/combo-box-item/combo-box-item.tsx\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ComboBoxItemValue\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The item value. If value is not provided, an automatic value will be generated with the innerText.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"index\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"(This prop is for internal use).\"\n },\n \"attribute\": \"index\",\n \"reflect\": true\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\": \"The presence of this attribute makes this combo-item disabled and not interactive.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"selected\": {\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 this combo-item selected.\"\n },\n \"attribute\": \"selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"exactMatch\": {\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\": \"True if the text typed on the combo box input is equal to this combo box item text\"\n },\n \"attribute\": \"exact-match\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\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\": \"This property hides the combo box item\"\n },\n \"attribute\": \"hidden\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"iconColor\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"itemSelected\",\n \"name\": \"itemSelected\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the user clicks on an item. event.detail contains the item index, item value, and item icon.\"\n },\n \"complexType\": {\n \"original\": \"ItemInformation\",\n \"resolved\": \"{ el: HTMLGxgComboBoxItemElement; index: number; value: any; icon?: string; }\",\n \"references\": {\n \"ItemInformation\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/combo-box-item/combo-box-item.tsx\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ItemInformation\"\n }\n }\n }\n }, {\n \"method\": \"itemDidLoad\",\n \"name\": \"itemDidLoad\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is fired when the item has loaded\"\n },\n \"complexType\": {\n \"original\": \"ItemInformation\",\n \"resolved\": \"{ el: HTMLGxgComboBoxItemElement; index: number; value: any; icon?: string; }\",\n \"references\": {\n \"ItemInformation\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/combo-box-item/combo-box-item.tsx\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ItemInformation\"\n }\n }\n }\n }, {\n \"method\": \"keyDownPressed\",\n \"name\": \"keyDownPressed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is for internal use. This event is triggered when the user presses keyboard \\\"arrow up\\\" on the first item. This event is caputred on \\\"combo\\\" component\\nand then focus is set on \\\"search\\\" input.\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=combo-box-item.js.map\n"],"mappings":"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"}
|
|
@@ -30,23 +30,47 @@
|
|
|
30
30
|
z-index: 1;
|
|
31
31
|
}
|
|
32
32
|
.top-state-bar__outer-wrapper {
|
|
33
|
+
position: relative;
|
|
33
34
|
flex: 1;
|
|
34
35
|
display: flex;
|
|
35
36
|
flex-direction: column;
|
|
36
37
|
gap: var(--mer-spacing--sm);
|
|
37
38
|
padding: var(--mer-spacing--sm) var(--mer-spacing--sm);
|
|
38
|
-
|
|
39
|
+
}
|
|
40
|
+
.top-state-bar__outer-wrapper::after, .top-state-bar__outer-wrapper::before {
|
|
39
41
|
border-radius: var(--mer-border__width--lg);
|
|
40
42
|
}
|
|
43
|
+
.top-state-bar__outer-wrapper::before {
|
|
44
|
+
content: "";
|
|
45
|
+
width: 100%;
|
|
46
|
+
height: 100%;
|
|
47
|
+
left: 0;
|
|
48
|
+
top: 0;
|
|
49
|
+
position: absolute;
|
|
50
|
+
background-color: var(--mer-border-color__dim);
|
|
51
|
+
z-index: 0;
|
|
52
|
+
}
|
|
53
|
+
.top-state-bar__outer-wrapper::after {
|
|
54
|
+
content: "";
|
|
55
|
+
left: var(--mer-border__width--sm);
|
|
56
|
+
top: var(--mer-border__width--sm);
|
|
57
|
+
width: calc(100% - var(--mer-border__width--sm) * 2);
|
|
58
|
+
height: calc(100% - var(--mer-border__width--sm) * 2);
|
|
59
|
+
position: absolute;
|
|
60
|
+
background-color: var(--mer-color__surface);
|
|
61
|
+
z-index: 1;
|
|
62
|
+
}
|
|
41
63
|
.top-state-bar__inner-wrapper {
|
|
42
64
|
flex: 1;
|
|
43
65
|
display: flex;
|
|
44
66
|
flex-direction: row;
|
|
45
67
|
justify-content: space-between;
|
|
46
68
|
gap: var(--mer-spacing--xs);
|
|
69
|
+
position: relative;
|
|
70
|
+
z-index: 2;
|
|
47
71
|
}
|
|
48
72
|
.top-state-bar__caption {
|
|
49
|
-
color: var(--mer-text__on-
|
|
73
|
+
color: var(--mer-text__on-surface);
|
|
50
74
|
font-family: var(--ds-base-font-family-primary);
|
|
51
75
|
font-size: var(--mer-font__size--xxs);
|
|
52
76
|
line-height: var(--mer-font__size--xxs);
|
|
@@ -58,6 +82,8 @@
|
|
|
58
82
|
.top-state-bar__progress-wrapper {
|
|
59
83
|
height: var(--mer-spacing--xxs);
|
|
60
84
|
background-color: var(--mer-color__elevation--04);
|
|
85
|
+
position: relative;
|
|
86
|
+
z-index: 2;
|
|
61
87
|
}
|
|
62
88
|
.top-state-bar__close {
|
|
63
89
|
cursor: pointer;
|
|
@@ -70,44 +96,27 @@
|
|
|
70
96
|
.top-state-bar--accent .progress-bar {
|
|
71
97
|
background-color: var(--mer-accent__primary);
|
|
72
98
|
}
|
|
73
|
-
.top-state-bar--accent .top-state-bar__caption {
|
|
74
|
-
color: var(--mer-accent__primary);
|
|
75
|
-
}
|
|
76
99
|
.top-state-bar--success .progress-bar {
|
|
77
100
|
background-color: var(--mer-color__message-green--100);
|
|
78
101
|
}
|
|
79
|
-
.top-state-bar--success .top-state-bar__caption {
|
|
80
|
-
color: var(--mer-color__message-green--100);
|
|
81
|
-
}
|
|
82
102
|
.top-state-bar--warning .progress-bar {
|
|
83
103
|
background-color: var(--mer-color__message-yellow--100);
|
|
84
104
|
}
|
|
85
|
-
.top-state-bar--warning .top-state-bar__caption {
|
|
86
|
-
color: var(--mer-color__message-yellow--100);
|
|
87
|
-
}
|
|
88
105
|
.top-state-bar--error .progress-bar {
|
|
89
106
|
background-color: var(--mer-color__message-red--100);
|
|
90
107
|
}
|
|
91
|
-
.top-state-bar--
|
|
92
|
-
color: var(--mer-color__message-red--100);
|
|
93
|
-
}
|
|
94
|
-
.top-state-bar--in-progress:before {
|
|
108
|
+
.top-state-bar--in-progress .top-state-bar__outer-wrapper:before {
|
|
95
109
|
height: 0;
|
|
96
110
|
width: 120%;
|
|
97
111
|
padding-top: 60%;
|
|
98
112
|
padding-bottom: 60%;
|
|
99
|
-
background: linear-gradient(90deg,
|
|
113
|
+
background: linear-gradient(90deg, rgba(91, 167, 255, 0.4) 0%, rgba(63, 168, 155, 0.4) 100%);
|
|
100
114
|
top: 50%;
|
|
101
115
|
left: 50%;
|
|
102
116
|
transform: translate(-50%, -50%);
|
|
103
117
|
-webkit-animation: inProgressBackgroundColor 1s linear infinite;
|
|
104
118
|
animation: inProgressBackgroundColor 1s linear infinite;
|
|
105
119
|
}
|
|
106
|
-
.top-state-bar--in-progress .top-state-bar__close-wrapper {
|
|
107
|
-
border-inline-start-color: #3fa89b;
|
|
108
|
-
-webkit-animation: inProgressBorderColor 1s linear infinite;
|
|
109
|
-
animation: inProgressBorderColor 1s linear infinite;
|
|
110
|
-
}
|
|
111
120
|
.top-state-bar--in-progress .progress-bar {
|
|
112
121
|
position: relative;
|
|
113
122
|
overflow: hidden;
|
|
@@ -125,9 +134,6 @@
|
|
|
125
134
|
animation-duration: 2s;
|
|
126
135
|
animation-iteration-count: infinite;
|
|
127
136
|
}
|
|
128
|
-
.top-state-bar--in-progress .top-state-bar__caption {
|
|
129
|
-
color: #3fa89b;
|
|
130
|
-
}
|
|
131
137
|
.top-state-bar--visible .top-state-bar__inner-wrapper,
|
|
132
138
|
.top-state-bar--visible .top-state-bar__progress-wrapper,
|
|
133
139
|
.top-state-bar--visible .top-state-bar__close {
|
|
@@ -141,14 +147,6 @@
|
|
|
141
147
|
}
|
|
142
148
|
|
|
143
149
|
/*in progress animation*/
|
|
144
|
-
@-webkit-keyframes inProgressBorderColor {
|
|
145
|
-
0% {
|
|
146
|
-
border-inline-start-color: #3fa89b;
|
|
147
|
-
}
|
|
148
|
-
100% {
|
|
149
|
-
border-inline-start-color: #5ba7ff;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
150
|
@-webkit-keyframes inProgressBackgroundColor {
|
|
153
151
|
0% {
|
|
154
152
|
transform: translate(-50%, -50%) rotate(0);
|
|
@@ -189,6 +187,6 @@
|
|
|
189
187
|
height: 100%;
|
|
190
188
|
}
|
|
191
189
|
|
|
192
|
-
:host([no-border]) .top-state-bar__outer-wrapper {
|
|
193
|
-
|
|
190
|
+
:host([no-border]) .top-state-bar__outer-wrapper:before {
|
|
191
|
+
display: none;
|
|
194
192
|
}
|
|
@@ -50,30 +50,10 @@ export declare class GxIdeStatusButtons {
|
|
|
50
50
|
* If present will make the component look smaller.
|
|
51
51
|
*/
|
|
52
52
|
readonly compact: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* No border all around
|
|
55
|
-
*/
|
|
56
|
-
readonly noBorder: boolean;
|
|
57
53
|
/**
|
|
58
54
|
* No inner borders
|
|
59
55
|
*/
|
|
60
56
|
readonly noInnerBorders: boolean;
|
|
61
|
-
/**
|
|
62
|
-
* No border on the top
|
|
63
|
-
*/
|
|
64
|
-
readonly noBorderTop: boolean;
|
|
65
|
-
/**
|
|
66
|
-
* No border on the end
|
|
67
|
-
*/
|
|
68
|
-
readonly noBorderEnd: boolean;
|
|
69
|
-
/**
|
|
70
|
-
* No border on the bottom
|
|
71
|
-
*/
|
|
72
|
-
readonly noBorderBottom: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* No border on the start
|
|
75
|
-
*/
|
|
76
|
-
readonly noBorderStart: boolean;
|
|
77
57
|
el: HTMLGxIdeStatusButtonsElement;
|
|
78
58
|
iconsSize: Size;
|
|
79
59
|
/**
|
package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts
CHANGED
|
@@ -8,19 +8,27 @@ export declare class GxManageModuleReferences {
|
|
|
8
8
|
*/
|
|
9
9
|
private _componentLocale;
|
|
10
10
|
private renderedFirstTime;
|
|
11
|
+
private selectedServerIdOnModulesAllUpdate;
|
|
11
12
|
el: HTMLGxIdeManageModuleReferencesElement;
|
|
12
|
-
private
|
|
13
|
-
private
|
|
14
|
-
private moduleMenuTopPosition;
|
|
13
|
+
private loaderEl;
|
|
14
|
+
private serversDetail;
|
|
15
15
|
modulesAll: ModuleData[];
|
|
16
|
+
modulesAllWatcher(modulesAll: ModuleData[]): void;
|
|
16
17
|
filteredModules: ModuleData[];
|
|
17
18
|
selectedModule: ModuleData;
|
|
18
19
|
selectedServerId: string;
|
|
19
20
|
selectedModuleAction: ActionInfo;
|
|
21
|
+
modulesSelectedVersion: Map<string, string>;
|
|
20
22
|
actionCompleted: boolean;
|
|
21
23
|
closeProgressBar: boolean;
|
|
22
24
|
progressValue: number;
|
|
23
25
|
progressState: topStateBarType;
|
|
26
|
+
loadingServer: boolean;
|
|
27
|
+
loadingServerHandler(loading: boolean): void;
|
|
28
|
+
/**
|
|
29
|
+
* If true it displays the component title on the header
|
|
30
|
+
*/
|
|
31
|
+
readonly displayTitle = false;
|
|
24
32
|
/**
|
|
25
33
|
* List of module servers currently cataloged
|
|
26
34
|
*/
|
|
@@ -45,14 +53,15 @@ export declare class GxManageModuleReferences {
|
|
|
45
53
|
* This event is emitted once just after the component is fully loaded and the first render() occurs
|
|
46
54
|
*/
|
|
47
55
|
componentDidRenderFirstTime: EventEmitter<boolean>;
|
|
48
|
-
componentDidLoad(): Promise<void>;
|
|
49
56
|
componentDidRender(): void;
|
|
50
57
|
componentWillLoad(): Promise<void>;
|
|
58
|
+
componentDidLoad(): Promise<void>;
|
|
51
59
|
onPropValueChange(newModulesData: ModuleData[]): void;
|
|
52
60
|
/**
|
|
53
61
|
* validate
|
|
54
62
|
*/
|
|
55
63
|
validate(): Promise<boolean>;
|
|
64
|
+
private updateModulesSelectedVersion;
|
|
56
65
|
private getActionFromCurrentModuleVersion;
|
|
57
66
|
/**
|
|
58
67
|
* Callback invoked to get the progress when module is performing an action
|
|
@@ -72,14 +81,17 @@ export declare class GxManageModuleReferences {
|
|
|
72
81
|
*/
|
|
73
82
|
private executeActionCallbackHandler;
|
|
74
83
|
private filterModulesByType;
|
|
75
|
-
private moduleMenuSelectionChangedHandler;
|
|
76
|
-
private renderMenu;
|
|
77
84
|
private showModuleMenu;
|
|
85
|
+
private getModuleData;
|
|
78
86
|
private renderModulesGrid;
|
|
79
|
-
private
|
|
87
|
+
private renderEmptyStateModules;
|
|
88
|
+
private moduleVersionIconColor;
|
|
80
89
|
private renderModuleName;
|
|
90
|
+
private renderModuleAlertMessage;
|
|
81
91
|
private renderModuleAction;
|
|
82
92
|
private moduleVersionsValueChangedHandler;
|
|
93
|
+
private moduleVersionsItemChangedHandler;
|
|
94
|
+
private updateSelectedModuleVersion;
|
|
83
95
|
private renderModuleVersions;
|
|
84
96
|
private selectedButtonChangedHandler;
|
|
85
97
|
private serverItemSelectedHandler;
|
|
@@ -87,7 +99,7 @@ export declare class GxManageModuleReferences {
|
|
|
87
99
|
private progressBarCloseHandler;
|
|
88
100
|
render(): void;
|
|
89
101
|
}
|
|
90
|
-
export type ExecuteActionCallback = (serverId: string, moduleId: string, action: ModuleActionType, onProgress: (message: string, progress: number, state: topStateBarType) => void) => Promise<boolean>;
|
|
102
|
+
export type ExecuteActionCallback = (serverId: string, moduleId: string, moduleVersionId: string, action: ModuleActionType, onProgress: (message: string, progress: number, state: topStateBarType) => void) => Promise<boolean>;
|
|
91
103
|
export type ServerSelectedCallback = (id: string) => Promise<ModuleData[]>;
|
|
92
104
|
export type AddServerCallback = () => Promise<void>;
|
|
93
105
|
export type ServerContextMenuCallback = (contextMenuInfo: ContextMenuInfo) => Promise<void>;
|
|
@@ -13,13 +13,10 @@ export type ModuleServerType = {
|
|
|
13
13
|
};
|
|
14
14
|
export type ModuleData = {
|
|
15
15
|
id: string;
|
|
16
|
-
name: string;
|
|
17
|
-
description?: string;
|
|
18
16
|
versions?: ModuleVersionData[];
|
|
19
17
|
currentVersion?: string;
|
|
20
|
-
properties?: ModulePropertyData[];
|
|
21
18
|
};
|
|
22
|
-
export type ModuleActionType = "install" | "restore" | "update";
|
|
19
|
+
export type ModuleActionType = "install" | "restore" | "update" | "not-installable" | "incompatible";
|
|
23
20
|
export type ModuleFilterType = "browse" | "installed" | "updates";
|
|
24
21
|
export type ModulePropertyData = {
|
|
25
22
|
name: string;
|
|
@@ -32,7 +29,11 @@ export type ModuleServerFullData = ModuleServerData & {
|
|
|
32
29
|
};
|
|
33
30
|
export type ModuleVersionData = {
|
|
34
31
|
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
description?: string;
|
|
35
34
|
action: ModuleActionType;
|
|
35
|
+
properties?: ModulePropertyData[];
|
|
36
|
+
alertMessage?: string;
|
|
36
37
|
};
|
|
37
38
|
export type EditServerModuleResult = {
|
|
38
39
|
success: boolean;
|