UNPKG

@progress/kendo-react-ripple

Version:

React Ripple provides the Material ink ripple effect. KendoReact Ripple package

9 lines (8 loc) 2.06 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),p=require("prop-types"),m=require("@progress/kendo-ripple"),c=require("./package-metadata.js"),i=require("@progress/kendo-react-common");function u(s){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const n=u(l),a=class a extends n.PureComponent{constructor(e){super(e),this._element=null,this.removeListeners=()=>{},this.showLicenseWatermark=!1,this.registerListeners=()=>{const t=this._element;this.removeListeners();const r=m.register(t,[{selector:".k-button:not(li)"},{selector:".k-list>.k-item,.k-list>.k-list-item",options:{global:!0}},{selector:".k-checkbox-label,.k-radio-label"},{selector:".k-checkbox,.k-radio",options:{events:["focusin","animationend","click"]}}]);this.removeListeners=r},this.showLicenseWatermark=!i.validatePackage(c.packageMetadata,{component:"Ripple"}),this.licenseMessage=i.getLicenseMessage(c.packageMetadata)}componentDidMount(){this.registerListeners()}componentDidUpdate(){const{disabled:e}=this.props;e?this.removeListeners():this.registerListeners()}componentWillUnmount(){this.removeListeners()}render(){const e=this.props.className?"k-ripple-container "+this.props.className:"k-ripple-container";return n.createElement("span",{className:e,ref:t=>{this._element=t}},this.props.children,this.showLicenseWatermark&&n.createElement(i.WatermarkOverlay,{message:this.licenseMessage}))}};a.propTypes={disabled:p.bool};let o=a;exports.Ripple=o;