UNPKG

@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.67 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 O=require("react"),t=require("prop-types"),f=require("@progress/kendo-react-common");function v(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const l in e)if(l!=="default"){const r=Object.getOwnPropertyDescriptor(e,l);Object.defineProperty(a,l,r.get?r:{enumerable:!0,get:()=>e[l]})}}return a.default=e,Object.freeze(a)}const o=v(O),g=o.forwardRef((e,a)=>{const{cutoutBorder:l=i.cutoutBorder,position:r=i.position,align:n=i.align,children:k,className:b,style:h}=e,u=o.useRef(null),M=o.useCallback(()=>{u.current&&u.current.focus()},[]);o.useImperativeHandle(a,()=>({element:u.current,focus:M}));const y=f.useDir(u,e.dir),s=o.useMemo(()=>e.size===null?null:e.size||i.size,[e.size]),d=o.useMemo(()=>e.fillMode===null?null:e.fillMode||i.fillMode,[e.fillMode]),c=o.useMemo(()=>e.themeColor||i.themeColor,[e.themeColor]),m=o.useMemo(()=>e.rounded!==void 0&&e.rounded||"medium",[e.rounded]),z=o.useMemo(()=>f.classNames("k-badge",{"k-badge-sm":s==="small","k-badge-md":s==="medium","k-badge-lg":s==="large",[`k-badge-${d}`]:d,[`k-badge-${d}-${c}`]:!!(d&&c),"k-badge-border-cutout":l,[`k-badge-${r}`]:r,"k-top-start":n.vertical==="top"&&n.horizontal==="start","k-top-end":n.vertical==="top"&&n.horizontal==="end","k-bottom-start":n.vertical==="bottom"&&n.horizontal==="start","k-bottom-end":n.vertical==="bottom"&&n.horizontal==="end"},e.rounded!==null?[`k-rounded-${f.kendoThemeMaps.roundedMap[m]||m}`]:void 0,b),[s,d,c,m,l,n,r,b]);return o.createElement("span",{className:z,style:h,dir:y},k)});g.propTypes={className:t.string,dir:t.string,style:t.object,align:t.shape({vertical:t.oneOf(["top","bottom",null]),horizontal:t.oneOf(["start","end",null])}),size:t.oneOf([null,"small","medium","large"]),fillMode:t.oneOf([null,"solid","outline"]),themeColor:t.oneOf([null,"base","primary","secondary","tertiary","info","success","warning","error","dark","light","inverse","inherit"]),rounded:t.oneOf([null,"small","medium","large","full"]),position:t.oneOf(["edge","outside","inside",null]),cutoutBorder:t.bool};const i={size:"medium",fillMode:"solid",themeColor:"primary",position:"edge",align:{vertical:"top",horizontal:"end"},cutoutBorder:!1};g.displayName="KendoBadge";exports.Badge=g;