@genexus/genexus-ide-ui 0.0.125 → 0.0.127
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/{gxg-combo-box_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +174 -1
- package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +304 -0
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +8 -7
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gxg-form-checkbox.cjs.entry.js} +1 -174
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +1 -1
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +7 -2
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +7 -6
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.en.json +39 -0
- package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.ja.json +3 -0
- package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +3 -0
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +469 -0
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -0
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +770 -0
- package/dist/collection/components/modules/types.js.map +1 -1
- package/dist/collection/components/start-page/start-page.js +1 -1
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.d.ts +11 -0
- package/dist/components/gx-ide-manage-module-references-v2.js +510 -0
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -0
- package/dist/components/gx-ide-manage-module-references.js +8 -7
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +1 -1
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/{gxg-combo-box_2.entry.js → gx-ide-container_3.entry.js} +175 -3
- package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +300 -0
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -0
- package/dist/esm/gx-ide-manage-module-references.entry.js +8 -7
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gxg-form-checkbox.entry.js +147 -0
- package/dist/esm/gxg-form-checkbox.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- 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 +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.en.json +39 -0
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/{p-c9b810e3.entry.js → p-34850af1.entry.js} +7 -6
- package/dist/genexus-ide-ui/p-34850af1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f35bc31e.entry.js → p-61e4276a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f35bc31e.entry.js.map → p-61e4276a.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f37ec5b8.entry.js → p-74bfec22.entry.js} +286 -103
- package/dist/genexus-ide-ui/p-74bfec22.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-9d7a1451.entry.js +181 -0
- package/dist/genexus-ide-ui/p-9d7a1451.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-d0a8d025.entry.js +435 -0
- package/dist/genexus-ide-ui/p-d0a8d025.entry.js.map +1 -0
- package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +1 -1
- package/dist/types/components/modules/manage-module-references-v2/manage-module-references-v2.d.ts +107 -0
- package/dist/types/components/modules/types.d.ts +4 -1
- package/dist/types/components.d.ts +82 -0
- package/package.json +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +0 -1
- package/dist/esm/gx-ide-container_2.entry.js +0 -319
- package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
- package/dist/esm/gxg-combo-box_2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-7a5810d6.entry.js +0 -364
- package/dist/genexus-ide-ui/p-7a5810d6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c9b810e3.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f37ec5b8.entry.js.map +0 -1
|
@@ -9,6 +9,178 @@ const exportParts = require('./export-parts-3854d3b2.js');
|
|
|
9
9
|
const store = require('./store-ea3722c0.js');
|
|
10
10
|
const classesNames = require('./classesNames-789a05af.js');
|
|
11
11
|
|
|
12
|
+
const containerCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{--gx-ide-container-elements-spacing:var(--mer-spacing--xs);display:block;height:100%;box-sizing:border-box}.container{display:grid;height:100%;grid-template-rows:auto 1fr auto;box-sizing:border-box}.heading,.content,.footer,.footer-above{padding:var(--gx-ide-container__padding)}.container--padding-s{--gx-ide-container__padding:var(--mer-spacing--xs)}.container--padding-m{--gx-ide-container__padding:var(--mer-spacing--sm)}.container--padding-l{--gx-ide-container__padding:var(--mer-spacing--md)}.container--display-border{border:1px solid var(--gx-ide-container-border-color)}.container--display-border-top{border-top:1px solid var(--gx-ide-container-border-color)}.container--display-border-end{border-inline-end:1px solid var(--gx-ide-container-border-color)}.container--display-border-bottom{border-bottom:1px solid var(--gx-ide-container-border-color)}.container--display-border-start{border-inline-start:1px solid var(--gx-ide-container-border-color)}.container--overflow-hidden-y{overflow-y:hidden}.heading{display:flex;flex-direction:column;gap:var(--gx-ide-container__padding);width:100%;box-sizing:border-box;border-bottom:1px solid var(--gx-ide-container-border-color)}.heading--no-border{border-bottom:0}.heading--no-padding{padding:0}.heading--no-padding-block-end{padding-block-end:0}.heading--no-gap{gap:0}.heading--inactive{color:var(--gxg-color--disabled)}.heading--padding-top{padding:var(--gx-ide-container__padding) 0 0 0}.heading--slimmer{padding-top:var(--mer-spacing--xs);padding-bottom:var(--mer-spacing--xs)}.heading--form-text-height .heading__title{min-height:var(--gxg-form-text-height);justify-content:center}.heading--flex-row{flex-direction:row;align-items:center;justify-content:center}.content{overflow-x:auto;display:flex;flex-direction:column;gap:var(--gx-ide-form-items-gap);box-sizing:border-box;}.content::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.content::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.content::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.content::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.content::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.content--no-padding{padding:0}.content--no-border-top{border-top:none}.content--flex{display:flex}.content--no-gap{gap:0}.content--align-items-start{align-items:start}.content--align-items-center{align-items:center}.content--align-items-end{align-items:end}.content--justify-content-start{justify-content:start}.content--justify-content-center{justify-content:center}.content--justify-content-end{justify-content:end}.content--border-end{border-inline-end:1px solid var(--gx-ide-container-border-color)}.container--only-content{grid-template-rows:1fr}.container--no-header:not(.container--only-content){grid-template-rows:1fr auto}.container--no-footer:not(.container--only-content){grid-template-rows:auto 1fr}.footer-above{border-top:1px solid var(--gx-ide-container-border-color)}.footer-above--no-border-top{border-top:0}.footer-above--slimmer{padding-top:var(--mer-spacing--xs);padding-bottom:var(--mer-spacing--xs)}.footer-above--no-padding{padding:0}.footer{display:flex;gap:var(--gx-ide-container-elements-spacing);flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:1px solid var(--gx-ide-container-border-color)}.footer__start,.footer__end{display:flex;gap:var(--gx-ide-container-elements-spacing)}.footer--no-border{border-top:0}.footer--no-padding{padding:0}.footer--slimmer{padding-top:var(--mer-spacing--xs);padding-bottom:var(--mer-spacing--xs)}";
|
|
13
|
+
|
|
14
|
+
const GxIdeContainer = class {
|
|
15
|
+
constructor(hostRef) {
|
|
16
|
+
index.registerInstance(this, hostRef);
|
|
17
|
+
this.headingClasses = () => {
|
|
18
|
+
var _a;
|
|
19
|
+
return {
|
|
20
|
+
"heading": true,
|
|
21
|
+
"heading--inactive": this.inactiveTitle,
|
|
22
|
+
"heading--slimmer": this.titleType === "secondary",
|
|
23
|
+
"heading--no-border": this.noHeadingBorder || this.hasOnlyHeading,
|
|
24
|
+
[`heading--justify-${this.headingJustify}`]: true,
|
|
25
|
+
"heading--no-padding": this.noHeadingPadding,
|
|
26
|
+
"heading--no-padding-block-end": this.noHeadingPaddingBlockEnd,
|
|
27
|
+
"heading--no-gap": this.noHeadingGap,
|
|
28
|
+
"heading--padding-top": this.headingPaddingTop && ((_a = this.containerTitle) === null || _a === void 0 ? void 0 : _a.length) > 0,
|
|
29
|
+
"heading--form-text-height": this.titleHeightAsInput,
|
|
30
|
+
"heading--flex-row": this.flexRow
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
this.contentClasses = () => {
|
|
34
|
+
return {
|
|
35
|
+
"content": true,
|
|
36
|
+
"content--flex": this.flexContent,
|
|
37
|
+
"content--no-padding": this.noContentPadding,
|
|
38
|
+
"content--no-gap": this.noContentGap,
|
|
39
|
+
"content--no-border-top": this.noContentBorderTop,
|
|
40
|
+
"content--border-end": this.contentBorderEnd,
|
|
41
|
+
[`content--align-items-${this.alignItems}`]: this.alignItems !== undefined,
|
|
42
|
+
[`content--justify-content-${this.justifyContent}`]: this.justifyContent !== undefined
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
this.aboveFooter = () => {
|
|
46
|
+
return this.hasAboveFooterSlot ? (index.h("footer", { class: {
|
|
47
|
+
"footer-above": true,
|
|
48
|
+
"footer-above--no-border-top": this.noBorderAboveFooter,
|
|
49
|
+
"footer-above--no-padding": this.noAboveFooterPadding,
|
|
50
|
+
"footer-above--slimmer": this.slimmerFooter
|
|
51
|
+
} }, index.h("slot", { name: "footer-above" }))) : null;
|
|
52
|
+
};
|
|
53
|
+
this.footer = () => {
|
|
54
|
+
return this.hasFooterSlot ? (index.h("footer", { class: {
|
|
55
|
+
"footer": true,
|
|
56
|
+
"footer--no-border": this.hasOnlyFooter ||
|
|
57
|
+
!this.hasSlottedContent ||
|
|
58
|
+
this.noBorderFooter,
|
|
59
|
+
[`footer--justify-${this.footerJustify}`]: true,
|
|
60
|
+
[`footer--justify-${this.footerJustify}`]: true,
|
|
61
|
+
"footer--no-padding": this.noFooterPadding,
|
|
62
|
+
"footer--slimmer": this.slimmerFooter
|
|
63
|
+
} }, index.h("div", { class: "footer__start" }, index.h("slot", { name: "footer-start" })), index.h("div", { class: "footer__end" }, index.h("slot", { name: "footer-end" })))) : null;
|
|
64
|
+
};
|
|
65
|
+
this.inactiveTitle = false;
|
|
66
|
+
this.containerTitle = undefined;
|
|
67
|
+
this.titleType = "primary";
|
|
68
|
+
this.displayBorder = false;
|
|
69
|
+
this.displayBorderTop = false;
|
|
70
|
+
this.displayBorderEnd = false;
|
|
71
|
+
this.displayBorderBottom = false;
|
|
72
|
+
this.displayBorderStart = false;
|
|
73
|
+
this.sectionsPadding = "m";
|
|
74
|
+
this.titleAlignment = "center";
|
|
75
|
+
this.noHeadingBorder = false;
|
|
76
|
+
this.noHeadingGap = false;
|
|
77
|
+
this.noHeadingPadding = false;
|
|
78
|
+
this.noHeadingPaddingBlockEnd = false;
|
|
79
|
+
this.headingPaddingTop = false;
|
|
80
|
+
this.headingJustify = "center";
|
|
81
|
+
this.titleHeightAsInput = false;
|
|
82
|
+
this.flexRow = false;
|
|
83
|
+
this.flexContent = false;
|
|
84
|
+
this.noContentBorderTop = false;
|
|
85
|
+
this.noContentPadding = false;
|
|
86
|
+
this.noContentGap = false;
|
|
87
|
+
this.alignItems = undefined;
|
|
88
|
+
this.justifyContent = undefined;
|
|
89
|
+
this.contentBorderEnd = false;
|
|
90
|
+
this.slimmerAboveFooter = false;
|
|
91
|
+
this.noAboveFooterPadding = false;
|
|
92
|
+
this.noBorderAboveFooter = false;
|
|
93
|
+
this.slimmerFooter = false;
|
|
94
|
+
this.noFooterPadding = false;
|
|
95
|
+
this.footerJustify = "end";
|
|
96
|
+
this.noBorderFooter = false;
|
|
97
|
+
this.hasHeaderSlot = false;
|
|
98
|
+
this.hasSlottedContent = false;
|
|
99
|
+
this.hasFooterSlot = false;
|
|
100
|
+
this.hasAboveFooterSlot = false;
|
|
101
|
+
this.hasOnlyHeading = false;
|
|
102
|
+
this.hasOnlyContent = false;
|
|
103
|
+
this.hasOnlyFooter = false;
|
|
104
|
+
}
|
|
105
|
+
// 4.PUBLIC PROPERTY API //
|
|
106
|
+
// 5.EVENTS (EMIT) //
|
|
107
|
+
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
108
|
+
componentWillLoad() {
|
|
109
|
+
this.evaluateSlots();
|
|
110
|
+
}
|
|
111
|
+
// 7.LISTENERS //
|
|
112
|
+
// 8.PUBLIC METHODS API //
|
|
113
|
+
// 9.LOCAL METHODS //
|
|
114
|
+
evaluateSlots() {
|
|
115
|
+
// header
|
|
116
|
+
const headerSlot = this.el.querySelectorAll(':scope > [slot="header"]');
|
|
117
|
+
if (headerSlot.length) {
|
|
118
|
+
this.hasHeaderSlot = true;
|
|
119
|
+
}
|
|
120
|
+
// content
|
|
121
|
+
const slottedContent = this.el.querySelectorAll(":scope > :not([slot])");
|
|
122
|
+
if (slottedContent.length) {
|
|
123
|
+
this.hasSlottedContent = true;
|
|
124
|
+
}
|
|
125
|
+
// footer
|
|
126
|
+
const footerAboveSlot = this.el.querySelectorAll(':scope > [slot="footer-above"]');
|
|
127
|
+
const footerStartSlot = this.el.querySelectorAll(':scope > [slot="footer-start"]');
|
|
128
|
+
const footerEndSlot = this.el.querySelectorAll(':scope > [slot="footer-end"]');
|
|
129
|
+
if (footerStartSlot.length || footerEndSlot.length) {
|
|
130
|
+
this.hasFooterSlot = true;
|
|
131
|
+
}
|
|
132
|
+
if (footerAboveSlot.length) {
|
|
133
|
+
this.hasAboveFooterSlot = true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
evaluateSections() {
|
|
137
|
+
// has only heading
|
|
138
|
+
if (!this.hasSlottedContent &&
|
|
139
|
+
!this.hasFooterSlot &&
|
|
140
|
+
!this.hasAboveFooterSlot) {
|
|
141
|
+
this.hasOnlyHeading = true;
|
|
142
|
+
}
|
|
143
|
+
// has only content
|
|
144
|
+
if (this.hasSlottedContent &&
|
|
145
|
+
!this.containerTitle &&
|
|
146
|
+
!this.hasHeaderSlot &&
|
|
147
|
+
!this.hasAboveFooterSlot &&
|
|
148
|
+
!this.hasFooterSlot) {
|
|
149
|
+
this.hasOnlyContent = true;
|
|
150
|
+
}
|
|
151
|
+
// has only footer
|
|
152
|
+
if (!this.hasSlottedContent &&
|
|
153
|
+
!this.containerTitle &&
|
|
154
|
+
!this.hasAboveFooterSlot) {
|
|
155
|
+
this.hasOnlyFooter = true;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// 10.RENDER() FUNCTION //
|
|
159
|
+
render() {
|
|
160
|
+
this.evaluateSections();
|
|
161
|
+
const result = [
|
|
162
|
+
this.containerTitle || this.hasHeaderSlot ? (index.h("header", { class: this.headingClasses() }, this.containerTitle ? (index.h("gx-ide-title", { class: "heading__title", type: this.titleType, alignment: this.titleAlignment }, this.containerTitle)) : null, this.hasHeaderSlot ? (index.h("div", { class: "heading__inner-wrapper" }, index.h("slot", { name: "header" }))) : null)) : null,
|
|
163
|
+
this.hasSlottedContent ? (index.h("div", { class: this.contentClasses(), part: "content" }, index.h("slot", null))) : null,
|
|
164
|
+
this.aboveFooter(),
|
|
165
|
+
this.footer()
|
|
166
|
+
];
|
|
167
|
+
return (index.h(index.Host, null, index.h("div", { class: {
|
|
168
|
+
"container": true,
|
|
169
|
+
[`container--padding-${this.sectionsPadding}`]: true,
|
|
170
|
+
"container--display-border": this.displayBorder,
|
|
171
|
+
"container--display-border-top": this.displayBorderTop,
|
|
172
|
+
"container--display-border-end": this.displayBorderEnd,
|
|
173
|
+
"container--display-border-bottom": this.displayBorderBottom,
|
|
174
|
+
"container--display-border-start": this.displayBorderStart,
|
|
175
|
+
"container--only-content": this.hasOnlyContent,
|
|
176
|
+
"container--no-header": !this.hasHeaderSlot && !this.containerTitle,
|
|
177
|
+
"container--no-footer": !this.hasFooterSlot && !this.hasAboveFooterSlot
|
|
178
|
+
} }, result)));
|
|
179
|
+
}
|
|
180
|
+
get el() { return index.getElement(this); }
|
|
181
|
+
};
|
|
182
|
+
GxIdeContainer.style = containerCss;
|
|
183
|
+
|
|
12
184
|
function mutationObserverRemoved(target, ref) {
|
|
13
185
|
const observer = new MutationObserver((mutationsList) => {
|
|
14
186
|
for (const mutation of mutationsList) {
|
|
@@ -697,7 +869,8 @@ const GxgComboBoxItem = class {
|
|
|
697
869
|
};
|
|
698
870
|
GxgComboBoxItem.style = comboBoxItemCss;
|
|
699
871
|
|
|
872
|
+
exports.gx_ide_container = GxIdeContainer;
|
|
700
873
|
exports.gxg_combo_box = GxgComboBox;
|
|
701
874
|
exports.gxg_combo_box_item = GxgComboBoxItem;
|
|
702
875
|
|
|
703
|
-
//# sourceMappingURL=
|
|
876
|
+
//# sourceMappingURL=gx-ide-container_3.cjs.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"gx-ide-container.gxg-combo-box.gxg-combo-box-item.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,YAAY,GAAG,2lXAA2lX;;MCQnmX,cAAc;;;QAgSjB,mBAAc,GAAG;;YACvB,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,IAAI,CAAC,aAAa;gBACvC,kBAAkB,EAAE,IAAI,CAAC,SAAS,KAAK,WAAW;gBAClD,oBAAoB,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc;gBACjE,CAAC,oBAAoB,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI;gBACjD,qBAAqB,EAAE,IAAI,CAAC,gBAAgB;gBAC5C,+BAA+B,EAAE,IAAI,CAAC,wBAAwB;gBAC9D,iBAAiB,EAAE,IAAI,CAAC,YAAY;gBACpC,sBAAsB,EACpB,IAAI,CAAC,iBAAiB,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,IAAG,CAAC;gBAC3D,2BAA2B,EAAE,IAAI,CAAC,kBAAkB;gBACpD,mBAAmB,EAAE,IAAI,CAAC,OAAO;aAClC,CAAC;SACH,CAAC;QAEM,mBAAc,GAAG;YACvB,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,eAAe,EAAE,IAAI,CAAC,WAAW;gBACjC,qBAAqB,EAAE,IAAI,CAAC,gBAAgB;gBAC5C,iBAAiB,EAAE,IAAI,CAAC,YAAY;gBACpC,wBAAwB,EAAE,IAAI,CAAC,kBAAkB;gBACjD,qBAAqB,EAAE,IAAI,CAAC,gBAAgB;gBAC5C,CAAC,wBAAwB,IAAI,CAAC,UAAU,EAAE,GACxC,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC/B,CAAC,4BAA4B,IAAI,CAAC,cAAc,EAAE,GAChD,IAAI,CAAC,cAAc,KAAK,SAAS;aACpC,CAAC;SACH,CAAC;QAEM,gBAAW,GAAG;YACpB,OAAO,IAAI,CAAC,kBAAkB,IAC5BA,oBACE,KAAK,EAAE;oBACL,cAAc,EAAE,IAAI;oBACpB,6BAA6B,EAAE,IAAI,CAAC,mBAAmB;oBACvD,0BAA0B,EAAE,IAAI,CAAC,oBAAoB;oBACrD,uBAAuB,EAAE,IAAI,CAAC,aAAa;iBAC5C,IAEDA,kBAAM,IAAI,EAAC,cAAc,GAAQ,CAC1B,IACP,IAAI,CAAC;SACV,CAAC;QAEM,WAAM,GAAG;YACf,OAAO,IAAI,CAAC,aAAa,IACvBA,oBACE,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,mBAAmB,EACjB,IAAI,CAAC,aAAa;wBAClB,CAAC,IAAI,CAAC,iBAAiB;wBACvB,IAAI,CAAC,cAAc;oBACrB,CAAC,mBAAmB,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI;oBAC/C,CAAC,mBAAmB,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI;oBAC/C,oBAAoB,EAAE,IAAI,CAAC,eAAe;oBAC1C,iBAAiB,EAAE,IAAI,CAAC,aAAa;iBACtC,IAEDA,iBAAK,KAAK,EAAC,eAAe,IACxBA,kBAAM,IAAI,EAAC,cAAc,GAAQ,CAC7B,EACNA,iBAAK,KAAK,EAAC,aAAa,IACtBA,kBAAM,IAAI,EAAC,YAAY,GAAQ,CAC3B,CACC,IACP,IAAI,CAAC;SACV,CAAC;6BA9VwC,KAAK;;yBAUP,SAAS;6BAKP,KAAK;gCAKF,KAAK;gCAKL,KAAK;mCAKF,KAAK;kCAKN,KAAK;+BAKA,GAAG;8BAOL,QAAQ;+BAKd,KAAK;4BAKR,KAAK;gCAKD,KAAK;wCAKG,KAAK;iCAKZ,KAAK;8BAKD,QAAQ;kCAKX,KAAK;uBAKhB,KAAK;2BAOD,KAAK;kCAKE,KAAK;gCAKP,KAAK;4BAKT,KAAK;0BAKJ,SAAS;8BAKD,SAAS;gCAKd,KAAK;kCAOH,KAAK;oCAKH,KAAK;mCAKN,KAAK;6BAOX,KAAK;+BAKH,KAAK;6BAKD,KAAK;8BAKV,KAAK;6BAWvB,KAAK;iCAKD,KAAK;6BAKT,KAAK;kCAKA,KAAK;8BAKT,KAAK;8BAKL,KAAK;6BAKN,KAAK;;;;;IAQ9B,iBAAiB;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;;;;IAQO,aAAa;;QAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC1E,IAAI,cAAc,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAC9C,iCAAiC,CAClC,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAC9C,iCAAiC,CAClC,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAC5C,+BAA+B,CAChC,CAAC;QACF,IAAI,eAAe,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE;YAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,eAAe,CAAC,MAAM,EAAE;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;KACF;IAEO,gBAAgB;;QAEtB,IACE,CAAC,IAAI,CAAC,iBAAiB;YACvB,CAAC,IAAI,CAAC,aAAa;YACnB,CAAC,IAAI,CAAC,kBAAkB,EACxB;YACA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;;QAED,IACE,IAAI,CAAC,iBAAiB;YACtB,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,aAAa;YACnB,CAAC,IAAI,CAAC,kBAAkB;YACxB,CAAC,IAAI,CAAC,aAAa,EACnB;YACA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;;QAED,IACE,CAAC,IAAI,CAAC,iBAAiB;YACvB,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,kBAAkB,EACxB;YACA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;KACF;;IA4ED,MAAM;QACJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,IACvCA,oBAAQ,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IACjC,IAAI,CAAC,cAAc,IAClBA,0BACE,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,SAAS,EAAE,IAAI,CAAC,cAAqB,IAEpC,IAAI,CAAC,cAAc,CACP,IACb,IAAI,EACP,IAAI,CAAC,aAAa,IACjBA,iBAAK,KAAK,EAAC,wBAAwB,IACjCA,kBAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,IACJ,IAAI,CACD,IACP,IAAI;YACR,IAAI,CAAC,iBAAiB,IACpBA,iBAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,SAAS,IAC/CA,qBAAa,CACT,IACJ,IAAI;YACR,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,MAAM,EAAE;SACd,CAAC;QAEF,QACEA,QAACC,UAAI,QACHD,iBACE,KAAK,EAAE;gBACL,WAAW,EAAE,IAAI;gBACjB,CAAC,sBAAsB,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI;gBACpD,2BAA2B,EAAE,IAAI,CAAC,aAAa;gBAC/C,+BAA+B,EAAE,IAAI,CAAC,gBAAgB;gBACtD,+BAA+B,EAAE,IAAI,CAAC,gBAAgB;gBACtD,kCAAkC,EAAE,IAAI,CAAC,mBAAmB;gBAC5D,iCAAiC,EAAE,IAAI,CAAC,kBAAkB;gBAC1D,yBAAyB,EAAE,IAAI,CAAC,cAAc;gBAC9C,sBAAsB,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc;gBACnE,sBAAsB,EACpB,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB;aAClD,IAEA,MAAM,CACH,CACD,EACP;KACH;;;;;ACraI,SAAS,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE;AACrD,IAAI,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,aAAa,KAAK;AAC7D,QAAQ,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;AAC9C,YAAY,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE;AAC/C,gBAAgB,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC5E,gBAAgB,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE;AAC7D,oBAAoB,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;AACpE,wBAAwB,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;AACtD,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,IAAI,OAAO,QAAQ,CAAC;AACpB;;ACfA,MAAM,WAAW,GAAG,qtcAAqtc;;MCM5tc,WAAW;IACpB;QAsCA,UAAK,GAAG;YACJ,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,eAAe;SAChC,CAAC;QAGF,qBAAgB,GAAG,IAAI,CAAC;QAsBxB,cAAS,GAAG,KAAK,CAAC;QAClB,qBAAgB,GAAGE,qBAAgB,CAAC;QACpC,4BAAuB,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,sBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAY1D,sBAAiB,GAAG;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,iBAAiB,GAAGC,uBAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxD,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,CAAC;SACtE,CAAC;QACF,2BAAsB,GAAG;YACrB,IAAI,CAAC,GAAG,GAAG,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACrD,CAAC;;;;QA2DF,iBAAY,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACtB;iBACI;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iBACtB;qBACI;oBACD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;iBAC1B;aACJ;SACJ,CAAC;QACF,mBAAc,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,CAAC,IAAI,KAAKC,kBAAE,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAKA,kBAAE,CAAC,QAAQ,EAAE;gBACpD,CAAC,CAAC,cAAc,EAAE,CAAC;aACtB;YACD,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,KAAKA,kBAAE,CAAC,UAAU,EAAE;gBAC1B,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAK,IAAI,CAAC,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC;gBAChD,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;aAC/B;iBACI,IAAI,CAAC,CAAC,IAAI,KAAKA,kBAAE,CAAC,QAAQ,EAAE;gBAC7B,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAK,IAAI,CAAC,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC;aACnD;iBACI,IAAI,CAAC,CAAC,IAAI,KAAKA,kBAAE,CAAC,KAAK,EAAE;gBAC1B,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjD,CAAC,CAAC,eAAe,EAAE,CAAC;iBACvB;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACnC;iBACI,IAAI,CAAC,CAAC,IAAI,KAAKA,kBAAE,CAAC,KAAK,EAAE;gBAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;iBACI,IAAI,CAAC,CAAC,IAAI,KAAKA,kBAAE,CAAC,MAAM,EAAE;gBAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;iBACI,IAAI,CAAC,CAAC,IAAI,KAAKA,kBAAE,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;SACJ,CAAC;QACF,6BAAwB,GAAG;YACvB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBACzC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;aACtC;iBACI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE;gBAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;aACtC;SACJ,CAAC;QACF,mBAAc,GAAG;YACb,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;gBACtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;gBAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;gBACrE,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;gBAC3E,IAAI,eAAe,GAAG,YAAY;oBAC9B,kBAAkB,GAAG,eAAe,EAAE;oBACtC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;iBAC5D;aACJ;SACJ,CAAC;QACF,8BAAyB,GAAG,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;SACzB,CAAC;;;;QAiFF,oBAAe,GAAG;YACd,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;aACnD;SACJ,CAAC;QACF,eAAU,GAAG,CAAC,IAAI;YACd,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,EAAE,CAAC;YACzB,IAAI,YAAY,CAAC,MAAM,EAAE;gBACrB,YAAY,CAAC,OAAO,CAAC,IAAI;oBACrB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,aAAa;0BAC9B,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;0BACpC,IAAI,CAAC,WAAW,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC3C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;qBACvB;yBACI;wBACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;qBACtB;iBACJ,CAAC,CAAC;aACN;YACD,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;iBACI;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;YACD,OAAO,aAAa,CAAC;SACxB,CAAC;QACF,iBAAY,GAAG;YACX,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,IAAI;gBACtB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;aACzC,CAAC,CAAC;SACN,CAAC;QACF,YAAO,GAAG;YACN,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YAC1E,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;SACzB,CAAC;QACF,UAAK,GAAG;YACJ,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B,CAAC;QACF,eAAU,GAAG;YACT,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAClB,CAAC,CAAC;SACN,CAAC;QACF,oBAAe,GAAG;YACd,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,QAAQ,CAAC,OAAO,CAAC,IAAI;gBACjB,CAAC,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7C,CAAC,CAAC;YACH,OAAO,YAAY,CAAC;SACvB,CAAC;QACF,qBAAgB,GAAG;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,IAAI;gBACrB,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5C,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;SACxB,CAAC;QACF,gBAAW,GAAG;YACV,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YACxE,gBAAgB,CAAC,OAAO,CAAC,IAAI;gBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;SACnB,CAAC;QACF,mBAAc,GAAG,CAAC,KAAK;YACnB,IAAI,IAAI,CAAC;YACT,IAAI,KAAK,EAAE;gBACP,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI;oBACzB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;iBAChE,CAAC,CAAC;aACN;YACD,OAAO,IAAI,CAAC;SACf,CAAC;QACF,sBAAiB,GAAG;YAChB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,IAAI;gBACtB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;aAC5C,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB,CAAC;QACF,mBAAc,GAAG,CAAC,IAAI;YAClB,IAAI,IAAI,EAAE;gBACN,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,IAAI;oBAChC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,aAAa;0BAC9B,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;0BACpC,IAAI,CAAC,WAAW,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC;iBAC9C,CAAC,CAAC;gBACH,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC;aACtB;iBACI;gBACD,OAAO,SAAS,CAAC;aACpB;SACJ,CAAC;QACF,eAAU,GAAG,CAAC,SAAS;YACnB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,MAAM,eAAe,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,IAAI;gBACjD,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB,CAAC,CAAC;YACH,IAAI,SAAS,KAAK,MAAM,EAAE;gBACtB,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;;oBAExB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3B;gBACD,OAAO,aAAa,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;aAC7C;iBACI,IAAI,SAAS,KAAK,MAAM,EAAE;gBAC3B,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;oBACxB,OAAO,aAAa,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;iBAC7C;aACJ;SACJ,CAAC;QACF,oBAAe,GAAG,CAAC,IAAI;YACnB,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;gBAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,CAAC;aACf;YACD,OAAO,KAAK,CAAC;SAChB,CAAC;QACF,mBAAc,GAAG,CAAC,KAAK;YACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5C;YACD,OAAO,KAAK,CAAC;SAChB,CAAC;QACF,oBAAe,GAAG;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;gBAC/C,IAAI,SAAS,EAAE;oBACX,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;iBACnC;qBACI;oBACD,IAAI,IAAI,CAAC,MAAM,EAAE;wBACb,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;qBAC1B;iBACJ;aACJ;iBACI;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACxB;qBACI;oBACD,IAAI,IAAI,CAAC,MAAM,EAAE;wBACb,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;qBAC1B;yBACI;wBACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;qBACrC;iBACJ;aACJ;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;SACtC,CAAC;QACF,kBAAa,GAAG;YACZ,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACnC,CAAC;QACF,iCAA4B,GAAG;YAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,EAAE,CAAC;aAChB;SACJ,CAAC;QACF,0BAAqB,GAAG;YACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;aAC3C;SACJ,CAAC;QACF,eAAU,GAAG;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;aACtC;SACJ,CAAC;QACF,aAAQ,GAAG;YACP,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC1B;SACJ,CAAC;QACF,aAAQ,GAAG;YACP,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC3B;SACJ,CAAC;QACF,cAAS,GAAG;YACR,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC7B;SACJ,CAAC;;;;;;QAhgBE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;KAChC;;IAkCD,kBAAkB;QACd,MAAM,2BAA2B,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACzE,2BAA2B;eACpB,IAAI,CAAC,YAAY,GAAG,OAAO;eAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;KACvC;IACD,iBAAiB;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;IASD,gBAAgB;QACZ,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IACD,oBAAoB;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;;;;IAID,MAAM,IAAI;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;IACD,MAAM,KAAK;QACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;IACD,MAAM,eAAe,CAAC,KAAK;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC;KAC3B;IACD,MAAM,eAAe,CAAC,KAAK;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC7B,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;KAChB;IACD,MAAM,eAAe;QACjB,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;KACpC;;;;IAID,mBAAmB,CAAC,KAAK;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KAC1B;IACD,kBAAkB;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;;KAErB;IACD,uBAAuB,CAAC,KAAK;QACzB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC1B;aACI,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC1D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC1B;KACJ;;;;IAkFD,cAAc,CAAC,QAAQ;QACnB,UAAU,CAAC;YACP,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC;YACV,IAAI,OAAO,GAAG,SAAS,CAAC;YACxB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aACzC;iBACI;gBACD,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxC,KAAK,GAAG,QAAQ,CAAC;aACpB;YACD,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,EAAE;gBACT,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;gBACxC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;iBAC3B;qBACI;oBACD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;iBAC7B;aACJ;iBACI;;gBAED,IAAI,IAAI,CAAC,MAAM,EAAE;oBACb,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;iBAC1B;qBACI;oBACD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;iBACxB;aACJ;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SAC1B,EAAE,EAAE,CAAC,CAAC;KACV;IACD,iBAAiB,CAAC,IAAI;QAClB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,EAAE;;YAEN,MAAM,GAAG,IAAI,CAAC;YACd,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YACvE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;;YAEnB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;aACrC;SACJ;aACI;;YAED,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YAC1E,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;aACrC;SACJ;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC7B;IACD,mBAAmB,CAAC,OAAO;QACvB,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;KACJ;IACD,kBAAkB,CAAC,WAAW;QAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;;YAEtB,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;KACJ;IAuND,OAAO,CAAC,IAAI;QACR,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;aACI;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;KACJ;IACD,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KAC1B;IACD,2BAA2B,CAAC,KAAK;QAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;;QAElB,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QAC1E,IAAI,CAAC,CAAC,GAAG,sBAAsB,CAAC,IAAI;YAChC,CAAC,GAAG,sBAAsB,CAAC,KAAK;YAChC,CAAC,GAAG,sBAAsB,CAAC,GAAG;YAC9B,CAAC,GAAG,sBAAsB,CAAC,MAAM;aAChC,KAAK,CAAC,OAAO,KAAK,CAAC;gBAChB,KAAK,CAAC,OAAO,KAAK,CAAC;gBACnB,KAAK,CAAC,OAAO,KAAK,CAAC;gBACnB,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAE7B;aACI;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;;SAE3B;KACJ;IACD,qBAAqB;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;IACD,UAAU;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;KACJ;IACD,cAAc;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC,OAAO;YACxC,OAAO,CAAC,OAAO,CAAC;gBACZ,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACnC,CAAC,CAAC;SACN,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpC;IACD,wBAAwB;;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC;;QAExD,MAAM,uBAAuB,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,uBAAuB,CAAC,MAAM,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,GAAG,eAAe,GAAG,IAAI,CAAC;QACpE,IAAI,IAAI,CAAC,OAAO,EAAE;;YAEd,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;SACtD;KACJ;IACD,6BAA6B;QACzB,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QAC3D,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;QAC9D,MAAM,MAAM,GAAG,WAAW,GAAG,oBAAoB,CAAC;QAClD,MAAM,WAAW,GAAU,MAAM,GAAG,cAAc,CAAQ,CAAC;QAC3D,OAAO,WAAW,CAAC;KACtB;IACD,MAAM;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1E,QAAQJ,OAAC,CAACC,UAAI,EAAE,EAAE,KAAK,EAAE;gBACjB,yBAAyB,EAAE,IAAI,CAAC,aAAa;gBAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAEI,WAAK,CAAC,KAAK;aACrB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,EAAEL,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;gBACzI,gBAAgB,EAAE,IAAI;aACzB,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,IAAIA,OAAC,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAEA,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAEA,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC,EAAE,EAAEA,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAEA,OAAC,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC52B,kBAAkB,EAAE,SAAS;gBAC7B,UAAU,EAAE,CAAC,SAAS;aACzB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAEA,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,SAAS,IAAIA,OAAC,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,EAAEA,OAAC,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAEA,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;gBAChjB,iBAAiB,EAAE,IAAI;gBACvB,8BAA8B,EAAE,CAAC,IAAI,CAAC,OAAO;gBAC7C,uBAAuB,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO;gBACzD,0BAA0B,EAAE,IAAI,CAAC,OAAO;gBACxC,2BAA2B,EAAE,IAAI,CAAC,OAAO;gBACzC,wBAAwB,EAAE,IAAI,CAAC,YAAY,KAAK,OAAO;gBACvD,wBAAwB,EAAE,IAAI,CAAC,YAAY,KAAK,OAAO;aAC1D,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EAAE,EAAEA,OAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAkJ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAGM,qBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAGJ,qBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;KAC7W;IAGD,WAAW,cAAc,KAAK,OAAO,IAAI,CAAC,EAAE;;;;;;;;;;AC3mBhD,MAAM,eAAe,GAAG,u9CAAu9C;;MCGl+C,eAAe;IACxB;;;;QAuCA,UAAK,GAAG;YACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;aAClC;SACJ,CAAC;QACF,iBAAY,GAAG;YACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC;SACN,CAAC;;;;;QAlDE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC9B;;IAeD,iBAAiB;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY,KAAK,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;KAC/E;IACD,gBAAgB;QACZ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAClB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;KACN;IAiBD,gBAAgB;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,UAAU,CAAC;SACrB;aACI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACpB,OAAO,iBAAiB,CAAC;SAC5B;aACI;YACD,OAAO,MAAM,CAAC;SACjB;KACJ;IACD,MAAM;QACF,QAAQF,OAAC,CAACC,UAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE;gBAC7C,KAAK,EAAEI,WAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI;gBACrB,CAACE,+BAAkB,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ;aACxD,EAAE,EAAEP,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,IAAIA,OAAC,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,EAAEA,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAEA,OAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;KAC1O;;;;;;;;","names":["h","Host","formMessageLogic","exportParts","KK","state","formTooltipLogic","commonClassesNames"],"sources":["src/components/_helpers/container/container.scss?tag=gx-ide-container&encapsulation=shadow","src/components/_helpers/container/container.tsx","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":["@import \"../../../../node_modules/@genexus/gemini/dist/gemini/globals/mixins.scss\";\n\n/*******************************\nHOST / GENERAL\n********************************/\n:host {\n --gx-ide-container-elements-spacing: var(--mer-spacing--xs);\n display: block;\n height: 100%;\n box-sizing: border-box;\n}\n.container {\n display: grid;\n height: 100%;\n grid-template-rows: auto 1fr auto;\n box-sizing: border-box;\n}\n.heading,\n.content,\n.footer,\n.footer-above {\n padding: var(--gx-ide-container__padding);\n}\n/*PADDING*/\n.container--padding-s {\n --gx-ide-container__padding: var(--mer-spacing--xs);\n}\n.container--padding-m {\n --gx-ide-container__padding: var(--mer-spacing--sm);\n}\n.container--padding-l {\n --gx-ide-container__padding: var(--mer-spacing--md);\n}\n/*BORDERS*/\n.container--display-border {\n border: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-top {\n border-top: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-end {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-bottom {\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-start {\n border-inline-start: 1px solid var(--gx-ide-container-border-color);\n}\n.container--overflow-hidden-y {\n overflow-y: hidden;\n}\n/*******************************\nHEADING\n********************************/\n.heading {\n // @include gxg-flex-justify();\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-container__padding);\n width: 100%;\n box-sizing: border-box;\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n &--no-border {\n border-bottom: 0;\n }\n &--no-padding {\n padding: 0;\n }\n &--no-padding-block-end {\n padding-block-end: 0;\n }\n &--no-gap {\n gap: 0;\n }\n &--inactive {\n color: var(--gxg-color--disabled);\n }\n &--padding-top {\n padding: var(--gx-ide-container__padding) 0 0 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n &--form-text-height {\n .heading__title {\n min-height: var(--gxg-form-text-height);\n justify-content: center;\n }\n }\n &--flex-row {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n }\n}\n/*******************************\nCONTENT\n********************************/\n.content {\n overflow-x: auto;\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-form-items-gap);\n box-sizing: border-box;\n @include gxg-scrollbar();\n\n &--no-padding {\n padding: 0;\n }\n &--no-border-top {\n border-top: none;\n }\n &--flex {\n display: flex;\n }\n &--no-gap {\n gap: 0;\n }\n &--align-items-start {\n align-items: start;\n }\n &--align-items-center {\n align-items: center;\n }\n &--align-items-end {\n align-items: end;\n }\n &--justify-content-start {\n justify-content: start;\n }\n &--justify-content-center {\n justify-content: center;\n }\n &--justify-content-end {\n justify-content: end;\n }\n &--border-end {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n/*only content*/\n.container--only-content {\n grid-template-rows: 1fr;\n}\n/*no header, but has footer*/\n.container--no-header:not(.container--only-content) {\n grid-template-rows: 1fr auto;\n}\n/*no footer, but has header*/\n.container--no-footer:not(.container--only-content) {\n grid-template-rows: auto 1fr;\n}\n/*******************************\nFOOTER\n********************************/\n/*ABOVE*/\n.footer-above {\n border-top: 1px solid var(--gx-ide-container-border-color);\n &--no-border-top {\n border-top: 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n &--no-padding {\n padding: 0;\n }\n}\n/*START and END*/\n.footer {\n display: flex;\n gap: var(--gx-ide-container-elements-spacing);\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n border-top: 1px solid var(--gx-ide-container-border-color);\n &__start,\n &__end {\n display: flex;\n gap: var(--gx-ide-container-elements-spacing);\n }\n &--no-border {\n border-top: 0;\n }\n &--no-padding {\n padding: 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n}\n","import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\nimport { TitleAlignment } from \"@genexus/gemini/dist/types/common/types\";\nimport { TitleType } from \"../title/title\";\n@Component({\n tag: \"gx-ide-container\",\n styleUrl: \"container.scss\",\n shadow: true\n})\nexport class GxIdeContainer {\n // 1.OWN PROPERTIES //\n\n /* GENERAL */\n\n /**\n * By setting the title to inactive, the color will be gray instead of black.\n */\n @Prop() readonly inactiveTitle: boolean = false;\n\n /**\n * The title of the container\n */\n @Prop() readonly containerTitle: string;\n\n /**\n * The title of the container\n */\n @Prop() readonly titleType: TitleType = \"primary\";\n\n /**\n * Displays a border all around the container\n */\n @Prop() readonly displayBorder: boolean = false;\n\n /**\n * Displays a border on the top\n */\n @Prop() readonly displayBorderTop: boolean = false;\n\n /**\n * Displays a border at the end\n */\n @Prop() readonly displayBorderEnd: boolean = false;\n\n /**\n * Displays a border at on the bottom\n */\n @Prop() readonly displayBorderBottom: boolean = false;\n\n /**\n * Displays a border at the start\n */\n @Prop() readonly displayBorderStart: boolean = false;\n\n /**\n * The container general padding (applies to .heading, .content, and .footer)\n */\n @Prop() readonly sectionsPadding: SectionsPadding = \"m\";\n\n /* HEADING*/\n\n /**\n * Title alignment\n */\n @Prop() readonly titleAlignment: TitleAlignment = \"center\";\n\n /**\n * Removes the border bottom from the heading\n */\n @Prop() readonly noHeadingBorder: boolean = false;\n\n /**\n * Removes the heading gap\n */\n @Prop() readonly noHeadingGap: boolean = false;\n\n /**\n * Removes the padding from the heading\n */\n @Prop() readonly noHeadingPadding: boolean = false;\n\n /**\n * Removes the padding block end from the heading\n */\n @Prop() readonly noHeadingPaddingBlockEnd: boolean = false;\n\n /**\n * Adds padding to the top of the heading\n */\n @Prop() readonly headingPaddingTop: boolean = false;\n\n /**\n * The heading justification\n */\n @Prop() readonly headingJustify: HeadingJustify = \"center\";\n\n /**\n * It forces the .heading__title min-height to be as tall as the gxg-form-text height. This is useful when you are displaying two gx-ide-container's on the same row, both of them display a title, and one of them displays a gxg-form-text in the header (usually used to filter content). Without this property set to true, the .heading without a gxg-from-text would be shorter. At the time of writing, this is used on ww-images.\n */\n @Prop() readonly titleHeightAsInput: boolean = false;\n\n /**\n * Makes the header (.heading) display flex:row, instad of the default flex:column.\n */\n @Prop() readonly flexRow: boolean = false;\n\n /* CONTENT */\n\n /**\n * Makes the content a flex container\n */\n @Prop() readonly flexContent: boolean = false;\n\n /**\n * Removes the border-top from the content\n */\n @Prop() readonly noContentBorderTop: boolean = false;\n\n /**\n * Removes the padding from the content\n */\n @Prop() readonly noContentPadding: boolean = false;\n\n /**\n * Removes the gap from the content\n */\n @Prop() readonly noContentGap: boolean = false;\n\n /**\n * Align items\n */\n @Prop() readonly alignItems: AlignItems = undefined;\n\n /**\n * Justify content\n */\n @Prop() readonly justifyContent: JustifyContent = undefined;\n\n /**\n * Display border end on the content\n */\n @Prop() readonly contentBorderEnd: boolean = false;\n\n /* FOOTER ABOVE */\n\n /**\n * Makes the above footer vertical padding slimmer\n */\n @Prop() readonly slimmerAboveFooter: boolean = false;\n\n /**\n * Removes the above padding from the footer\n */\n @Prop() readonly noAboveFooterPadding: boolean = false;\n\n /**\n * Removes the above border top\n */\n @Prop() readonly noBorderAboveFooter: boolean = false;\n\n /* FOOTER > START and FOOTER > END*/\n\n /**\n * Makes the footer vertical padding slimmer\n */\n @Prop() readonly slimmerFooter: boolean = false;\n\n /**\n * Removes the padding from the footer\n */\n @Prop() readonly noFooterPadding: boolean = false;\n\n /**\n * The footer justification\n */\n @Prop() readonly footerJustify: FooterJustify = \"end\";\n\n /**\n * Removes the border top from the footer\n */\n @Prop() readonly noBorderFooter: boolean = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeContainerElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'header' slot\n */\n @State() hasHeaderSlot = false;\n\n /**\n * A boolean variable indicating if the component has or not any content slotted content (regular slotted content, without 'slot' attribute)\n */\n @State() hasSlottedContent = false;\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'footer' slot\n */\n @State() hasFooterSlot = false;\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'footer' slot\n */\n @State() hasAboveFooterSlot = false;\n\n /**\n * A boolean variable indicating that the container only has the heading section\n */\n @State() hasOnlyHeading = false;\n\n /**\n * A boolean variable indicating that the container only has the content section\n */\n @State() hasOnlyContent = false;\n\n /**\n * A boolean variable indicating that the container only has the footer section\n */\n @State() hasOnlyFooter = false;\n\n // 4.PUBLIC PROPERTY API //\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentWillLoad() {\n this.evaluateSlots();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateSlots() {\n // header\n const headerSlot = this.el.querySelectorAll(':scope > [slot=\"header\"]');\n if (headerSlot.length) {\n this.hasHeaderSlot = true;\n }\n // content\n const slottedContent = this.el.querySelectorAll(\":scope > :not([slot])\");\n if (slottedContent.length) {\n this.hasSlottedContent = true;\n }\n // footer\n const footerAboveSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-above\"]'\n );\n const footerStartSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-start\"]'\n );\n const footerEndSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-end\"]'\n );\n if (footerStartSlot.length || footerEndSlot.length) {\n this.hasFooterSlot = true;\n }\n if (footerAboveSlot.length) {\n this.hasAboveFooterSlot = true;\n }\n }\n\n private evaluateSections() {\n // has only heading\n if (\n !this.hasSlottedContent &&\n !this.hasFooterSlot &&\n !this.hasAboveFooterSlot\n ) {\n this.hasOnlyHeading = true;\n }\n // has only content\n if (\n this.hasSlottedContent &&\n !this.containerTitle &&\n !this.hasHeaderSlot &&\n !this.hasAboveFooterSlot &&\n !this.hasFooterSlot\n ) {\n this.hasOnlyContent = true;\n }\n // has only footer\n if (\n !this.hasSlottedContent &&\n !this.containerTitle &&\n !this.hasAboveFooterSlot\n ) {\n this.hasOnlyFooter = true;\n }\n }\n\n private headingClasses = (): string | { [className: string]: boolean } => {\n return {\n \"heading\": true,\n \"heading--inactive\": this.inactiveTitle,\n \"heading--slimmer\": this.titleType === \"secondary\",\n \"heading--no-border\": this.noHeadingBorder || this.hasOnlyHeading,\n [`heading--justify-${this.headingJustify}`]: true,\n \"heading--no-padding\": this.noHeadingPadding,\n \"heading--no-padding-block-end\": this.noHeadingPaddingBlockEnd,\n \"heading--no-gap\": this.noHeadingGap,\n \"heading--padding-top\":\n this.headingPaddingTop && this.containerTitle?.length > 0,\n \"heading--form-text-height\": this.titleHeightAsInput,\n \"heading--flex-row\": this.flexRow\n };\n };\n\n private contentClasses = (): string | { [className: string]: boolean } => {\n return {\n \"content\": true,\n \"content--flex\": this.flexContent,\n \"content--no-padding\": this.noContentPadding,\n \"content--no-gap\": this.noContentGap,\n \"content--no-border-top\": this.noContentBorderTop,\n \"content--border-end\": this.contentBorderEnd,\n [`content--align-items-${this.alignItems}`]:\n this.alignItems !== undefined,\n [`content--justify-content-${this.justifyContent}`]:\n this.justifyContent !== undefined\n };\n };\n\n private aboveFooter = (): JSX.Element | null => {\n return this.hasAboveFooterSlot ? (\n <footer\n class={{\n \"footer-above\": true,\n \"footer-above--no-border-top\": this.noBorderAboveFooter,\n \"footer-above--no-padding\": this.noAboveFooterPadding,\n \"footer-above--slimmer\": this.slimmerFooter\n }}\n >\n <slot name=\"footer-above\"></slot>\n </footer>\n ) : null;\n };\n\n private footer = (): JSX.Element | null => {\n return this.hasFooterSlot ? (\n <footer\n class={{\n \"footer\": true,\n \"footer--no-border\":\n this.hasOnlyFooter ||\n !this.hasSlottedContent ||\n this.noBorderFooter,\n [`footer--justify-${this.footerJustify}`]: true,\n [`footer--justify-${this.footerJustify}`]: true,\n \"footer--no-padding\": this.noFooterPadding,\n \"footer--slimmer\": this.slimmerFooter\n }}\n >\n <div class=\"footer__start\">\n <slot name=\"footer-start\"></slot>\n </div>\n <div class=\"footer__end\">\n <slot name=\"footer-end\"></slot>\n </div>\n </footer>\n ) : null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n this.evaluateSections();\n const result = [\n this.containerTitle || this.hasHeaderSlot ? (\n <header class={this.headingClasses()}>\n {this.containerTitle ? (\n <gx-ide-title\n class=\"heading__title\"\n type={this.titleType}\n alignment={this.titleAlignment as any}\n >\n {this.containerTitle}\n </gx-ide-title>\n ) : null}\n {this.hasHeaderSlot ? (\n <div class=\"heading__inner-wrapper\">\n <slot name=\"header\"></slot>\n </div>\n ) : null}\n </header>\n ) : null,\n this.hasSlottedContent ? (\n <div class={this.contentClasses()} part=\"content\">\n <slot></slot>\n </div>\n ) : null,\n this.aboveFooter(),\n this.footer()\n ];\n\n return (\n <Host>\n <div\n class={{\n \"container\": true,\n [`container--padding-${this.sectionsPadding}`]: true,\n \"container--display-border\": this.displayBorder,\n \"container--display-border-top\": this.displayBorderTop,\n \"container--display-border-end\": this.displayBorderEnd,\n \"container--display-border-bottom\": this.displayBorderBottom,\n \"container--display-border-start\": this.displayBorderStart,\n \"container--only-content\": this.hasOnlyContent,\n \"container--no-header\": !this.hasHeaderSlot && !this.containerTitle,\n \"container--no-footer\":\n !this.hasFooterSlot && !this.hasAboveFooterSlot\n }}\n >\n {result}\n </div>\n </Host>\n );\n }\n}\n\nexport type HeadingJustify = \"start\" | \"center\" | \"end\";\nexport type FooterJustify = \"start\" | \"center\" | \"end\";\nexport type SectionsPadding = \"s\" | \"m\" | \"l\";\nexport type AlignItems = \"start\" | \"center\" | \"end\";\nexport type JustifyContent = \"start\" | \"center\" | \"end\";\n","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"],"version":3}
|