diff --git a/packages/web-components/src/components/footer/footer-composite.ts b/packages/web-components/src/components/footer/footer-composite.ts
index 771f98b99c0..def498d78b9 100644
--- a/packages/web-components/src/components/footer/footer-composite.ts
+++ b/packages/web-components/src/components/footer/footer-composite.ts
@@ -66,16 +66,16 @@ class C4DFooterComposite extends MediaQueryMixin(
/**
* Handles `click` event on the locale button.
*/
- private _handleClickLocaleButton = () => {
+ private async _handleClickLocaleButton() {
this.openLocaleModal = true;
// Set 'open' attribute after modal is in dom so CSS can fade it in.
- // await this.updateComplete;
+ await this.updateComplete;
const composite = this.modalRenderRoot?.querySelector(
'c4d-locale-modal-composite'
);
composite?.setAttribute('open', '');
- };
+ }
@state()
_isMobile = this.carbonBreakpoints.lg.matches;
@@ -205,11 +205,16 @@ class C4DFooterComposite extends MediaQueryMixin(
@property({ attribute: false })
localeList?: LocaleList;
+ /**
+ * @inheritdoc
+ */
+ modalTriggerProps = ['openLocaleModal', 'localeList'];
+
/**
* `true` to open the locale modal.
*/
@property({ type: Boolean, attribute: 'open-locale-modal' })
- openLocaleModal = false;
+ openLocaleModal;
/**
* Footer size.
@@ -260,16 +265,17 @@ class C4DFooterComposite extends MediaQueryMixin(
openLocaleModal,
_loadLocaleList: loadLocaleList,
} = this;
- return html`
-
-
- `;
+ return openLocaleModal
+ ? html`
+
+
+ `
+ : html``;
}
renderLanguageSelector(slot = 'language-selector') {