@progress/kendo-react-indicators
Version:
React Indicators offer an interface to represent a visual indication for their UI elements. KendoReact Indicators package
9 lines (8 loc) • 2.38 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react"),t=require("prop-types"),v=require("@progress/kendo-react-common");function C(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const a=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(o,s,a.get?a:{enumerable:!0,get:()=>e[s]})}}return o.default=e,Object.freeze(o)}const n=C(k),f={pulsing:2,"infinite-spinner":3,"converging-spinner":4},b={pulsing:"k-loader-pulsing-2","infinite-spinner":"k-loader-spinner-3","converging-spinner":"k-loader-spinner-4"},m=n.forwardRef((e,o)=>{const{className:s,style:a}=e,c=n.useRef(null),g=n.useCallback(()=>{c.current&&c.current.focus()},[]);n.useImperativeHandle(o,()=>({element:c.current,focus:g}));const l=n.useMemo(()=>e.size||d.size,[e.size]),r=n.useMemo(()=>e.themeColor||d.themeColor,[e.themeColor]),i=n.useMemo(()=>e.type||d.type,[e.type]),p=n.useMemo(()=>v.classNames("k-loader",{"k-loader-sm":l==="small","k-loader-md":l==="medium","k-loader-lg":l==="large","k-loader-primary":r==="primary","k-loader-secondary":r==="secondary","k-loader-tertiary":r==="tertiary","k-loader-info":r==="info","k-loader-success":r==="success","k-loader-warning":r==="warning","k-loader-error":r==="error","k-loader-dark":r==="dark","k-loader-light":r==="light","k-loader-inverse":r==="inverse"},s,b[i]),[l,r,s,i]),u=new Array(f[i]);return u.fill(0,0,f[i]),n.createElement("div",{className:p,style:a},n.createElement("div",{className:"k-loader-canvas"},u.map((N,y)=>n.createElement("span",{key:y,className:"k-loader-segment"}))))});m.propTypes={className:t.string,style:t.object,type:t.oneOf(["pulsing","infinite-spinner","converging-spinner"]),size:t.oneOf(["small","medium","large"]),themeColor:t.oneOf(["primary","secondary","tertiary","info","success","warning","error","dark","light","inverse"])};const d={size:"medium",themeColor:"primary",type:"pulsing"};m.displayName="KendoLoader";exports.Loader=m;