performUpdate() {
            // Abort any update if one is not pending when this is called.
            // This can happen if `performUpdate` is called early to "flush"
            // the update.
            if (!this._hasRequestedUpdate) {
                return;
            }
            // Mixin instance properties once, if they exist.
            if (this._instanceProperties) {
                this._applyInstanceProperties();
            }
            let shouldUpdate = false;
            const changedProperties = this._changedProperties;
            try {
                shouldUpdate = this.shouldUpdate(changedProperties);
                if (shouldUpdate) {
                    this.update(changedProperties);
                }
                else {
                    this._markUpdated();
                }
            }
            catch (e) {
                // Prevent `firstUpdated` and `updated` from running when there's an
                // update exception.
                shouldUpdate = false;
                // Ensure element can accept additional updates after an exception.
                this._markUpdated();
                throw e;
            }
            if (shouldUpdate) {
                if (!(this._updateState & STATE_HAS_UPDATED)) {
                    this._updateState = this._updateState | STATE_HAS_UPDATED;
                    this.firstUpdated(changedProperties);
                }
                this.updated(changedProperties);
            }
        }
/**
         * Performs an element update. Note, if an exception is thrown during the
         * update, `firstUpdated` and `updated` will not be called.
         *
         * You can override this method to change the timing of updates. If this
         * method is overridden, `super.performUpdate()` must be called.
         *
         * For instance, to schedule updates to occur just before the next frame:
         *
         * ```
         * protected async performUpdate(): Promise<unknown> {
         *   await new Promise((resolve) => requestAnimationFrame(() => resolve()));
         *   super.performUpdate();
         * }
         * ```
         */
Performs an element update. Note, if an exception is thrown during the
update, `firstUpdated` and `updated` will not be called.

You can override this method to change the timing of updates. If this
method is overridden, `super.performUpdate()` must be called.

For instance, to schedule updates to occur just before the next frame.


Performs an element update . Note if an exception is thrown during the update ` firstUpdated ` and ` updated ` will not be called . You can override this method to change the timing of updates . If this method is overridden ` super . performUpdate () ` must be called . For instance to schedule updates to occur just before the next frame .
performUpdate() {
            if (!this._hasRequestedUpdate) {
                return;
            }
            if (this._instanceProperties) {
                this._applyInstanceProperties();
            }
            let shouldUpdate = false;
            const changedProperties = this._changedProperties;
            try {
                shouldUpdate = this.shouldUpdate(changedProperties);
                if (shouldUpdate) {
                    this.update(changedProperties);
                }
                else {
                    this._markUpdated();
                }
            }
            catch (e) {
                shouldUpdate = false;
                this._markUpdated();
                throw e;
            }
            if (shouldUpdate) {
                if (!(this._updateState & STATE_HAS_UPDATED)) {
                    this._updateState = this._updateState | STATE_HAS_UPDATED;
                    this.firstUpdated(changedProperties);
                }
                this.updated(changedProperties);
            }
        }
performUpdate ( ) { if ( ! this . _hasRequestedUpdate ) { return ; } if ( this . _instanceProperties ) { this . _applyInstanceProperties ( ) ; } let shouldUpdate = false ; const changedProperties = this . _changedProperties ; try { shouldUpdate = this . shouldUpdate ( changedProperties ) ; if ( shouldUpdate ) { this . update ( changedProperties ) ; } else { this . _markUpdated ( ) ; } } catch ( e ) { shouldUpdate = false ; this . _markUpdated ( ) ; throw e ; } if ( shouldUpdate ) { if ( ! ( this . _updateState & STATE_HAS_UPDATED ) ) { this . _updateState = this . _updateState | STATE_HAS_UPDATED ; this . firstUpdated ( changedProperties ) ; } this . updated ( changedProperties ) ; } }
Performs an element update.
Performs an element update .
// Abort any update if one is not pending when this is called. // This can happen if `performUpdate` is called early to "flush" // the update. // Mixin instance properties once, if they exist. // Prevent `firstUpdated` and `updated` from running when there's an // update exception. // Ensure element can accept additional updates after an exception.