"use strict";
var __webpack_require__ = {};
(()=>{
    __webpack_require__.d = (exports1, definition)=>{
        for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
            enumerable: true,
            get: definition[key]
        });
    };
})();
(()=>{
    __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
})();
(()=>{
    __webpack_require__.r = (exports1)=>{
        if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
            value: 'Module'
        });
        Object.defineProperty(exports1, '__esModule', {
            value: true
        });
    };
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
    bindings: ()=>bindings
});
const context_namespaceObject = require("@lit/context");
const bindings_context_cjs_namespaceObject = require("../components/common/context/bindings-context.cjs");
function bindings() {
    return (target)=>{
        const connectedCallback = target.prototype.connectedCallback;
        target.prototype.connectedCallback = function() {
            new context_namespaceObject.ContextConsumer(this, {
                context: bindings_context_cjs_namespaceObject.bindingsContext,
                callback: (value)=>{
                    if (this.initialized || 0 === Object.keys(value).length) return;
                    this.initialized = true;
                    try {
                        this.bindings = value;
                        const updateLanguage = ()=>this.requestUpdate();
                        this.bindings.i18n.on('languageChanged', updateLanguage);
                        const unsubscribeLanguage = ()=>this.bindings?.i18n.off('languageChanged', updateLanguage);
                        this.initialize?.();
                        this.unsubscribeLanguage = unsubscribeLanguage;
                    } catch (error) {
                        this.error = error;
                    }
                },
                subscribe: true
            });
            if (connectedCallback) connectedCallback.call(this);
        };
        const disconnectedCallback = target.prototype.disconnectedCallback;
        target.prototype.disconnectedCallback = function() {
            this.unsubscribeLanguage?.();
            if (disconnectedCallback) disconnectedCallback.call(this);
        };
    };
}
exports.bindings = __webpack_exports__.bindings;
for(var __rspack_i in __webpack_exports__)if (-1 === [
    "bindings"
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
Object.defineProperty(exports, '__esModule', {
    value: true
});
