@sandlada/mdc
Version:
@sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.
8 lines • 4.49 kB
JavaScript
import{property as e}from"../../node_modules/@lit/reactive-element/decorators/property.js";import{query as t}from"../../node_modules/@lit/reactive-element/decorators/query.js";import"../../node_modules/lit/decorators.js";import{html as n}from"../../node_modules/lit-html/lit-html.js";import"../../node_modules/lit/index.js";import r from"../../_virtual/_@oxc-project_runtime@0.144.0/helpers/esm/decorate.js";
/**
* @license
* Copyright 2026 Kai-Orion & Sandlada
* SPDX-License-Identifier: MIT
*/
function i(i){class a extends i{constructor(...e){super(...e),this._ignoreGlobalConfig=!1,this._disableRipple=!1,this._disableRippleHoverStateLayer=!1,this._disableRippleFocusStateLayer=!1,this._disableRipplePressStateLayer=!1,this._rippleConfigConfigured=!1,this._rippleAttributeSyncSource=null}get ignoreGlobalConfig(){return this._ignoreGlobalConfig}set ignoreGlobalConfig(e){let t=this._ignoreGlobalConfig;t!==e&&(this._ignoreGlobalConfig=e,this._rippleAttributeSyncSource=`property`,this.toggleAttribute(`ignore-global-config`,e),this._rippleAttributeSyncSource&&=null,this.requestUpdate(`ignoreGlobalConfig`,t))}get disableRipple(){return this._disableRipple}set disableRipple(e){if(this._rippleAttributeSyncSource)return;let t=this._disableRipple;this._disableRipple=e,this._rippleConfigConfigured=!0,this._rippleAttributeSyncSource=`property`,this.toggleAttribute(`disable-ripple`,e),this._rippleAttributeSyncSource=null,this.requestUpdate(`disableRipple`,t)}get disableRippleHoverStateLayer(){return this._disableRippleHoverStateLayer}set disableRippleHoverStateLayer(e){if(this._rippleAttributeSyncSource)return;let t=this._disableRippleHoverStateLayer;this._disableRippleHoverStateLayer=e,this._rippleConfigConfigured=!0,this._rippleAttributeSyncSource=`property`,this.toggleAttribute(`disable-ripple-hover-state-layer`,e),this._rippleAttributeSyncSource=null,this.requestUpdate(`disableRippleHoverStateLayer`,t)}get disableRippleFocusStateLayer(){return this._disableRippleFocusStateLayer}set disableRippleFocusStateLayer(e){if(this._rippleAttributeSyncSource)return;let t=this._disableRippleFocusStateLayer;this._disableRippleFocusStateLayer=e,this._rippleConfigConfigured=!0,this._rippleAttributeSyncSource=`property`,this.toggleAttribute(`disable-ripple-focus-state-layer`,e),this._rippleAttributeSyncSource=null,this.requestUpdate(`disableRippleFocusStateLayer`,t)}get disableRipplePressStateLayer(){return this._disableRipplePressStateLayer}set disableRipplePressStateLayer(e){if(this._rippleAttributeSyncSource)return;let t=this._disableRipplePressStateLayer;this._disableRipplePressStateLayer=e,this._rippleConfigConfigured=!0,this._rippleAttributeSyncSource=`property`,this.toggleAttribute(`disable-ripple-press-state-layer`,e),this._rippleAttributeSyncSource=null,this.requestUpdate(`disableRipplePressStateLayer`,t)}get useLocalConfig(){return this._ignoreGlobalConfig||this._rippleConfigConfigured}get rippleHtmlFor(){return this.rippleElement?.htmlFor??null}get rippleControl(){return this.rippleElement?.control??null}updated(e){super.updated(e),this.rippleElement&&(this.rippleElement.control!==this.rippleControl&&(this.rippleElement.control=this.rippleControl),this.rippleElement.htmlFor!==this.rippleHtmlFor&&(this.rippleElement.htmlFor=this.rippleHtmlFor))}renderRipple(){return this.useLocalConfig?n`<mdc-ripple part="ripple" id="ripple-part" ignore-global-config .disabled="${this.disableRipple}" .disableHoverStateLayer="${this.disableRippleHoverStateLayer}" .disableFocusStateLayer="${this.disableRippleFocusStateLayer}" .disablePressStateLayer="${this.disableRipplePressStateLayer}"></mdc-ripple>`:n`<mdc-ripple part="ripple" id="ripple-part"></mdc-ripple>`}}return r([e({type:Boolean,reflect:!0,attribute:`ignore-global-config`,noAccessor:!0})],a.prototype,`ignoreGlobalConfig`,null),r([e({type:Boolean,reflect:!0,attribute:`disable-ripple`,noAccessor:!0})],a.prototype,`disableRipple`,null),r([e({type:Boolean,reflect:!0,attribute:`disable-ripple-hover-state-layer`,noAccessor:!0})],a.prototype,`disableRippleHoverStateLayer`,null),r([e({type:Boolean,reflect:!0,attribute:`disable-ripple-focus-state-layer`,noAccessor:!0})],a.prototype,`disableRippleFocusStateLayer`,null),r([e({type:Boolean,reflect:!0,attribute:`disable-ripple-press-state-layer`,noAccessor:!0})],a.prototype,`disableRipplePressStateLayer`,null),r([t(`#ripple-part`)],a.prototype,`rippleElement`,void 0),a}export{i as mixinRippleOptions};
//# sourceMappingURL=ripple-options.mixin.js.map