@while-and-for/tremor-react
Version:
The React library to build dashboards faster.
3 lines (2 loc) • 1.19 kB
JavaScript
'use client';
import{__rest as e}from"tslib";import o from"react";import{Sizes as t}from"../../../lib/constants.js";import{mergeRefs as r,makeClassName as i}from"../../../lib/utils.js";import{tremorTwMerge as s}from"../../../lib/tremorTwMerge.js";import{getIconColors as l,shape as n,wrapperProportions as a,iconSizes as m}from"./styles.js";import c,{useTooltip as p}from"../../util-elements/Tooltip/Tooltip.js";const d=i("Icon"),f={Simple:"simple",Light:"light",Shadow:"shadow",Solid:"solid",Outlined:"outlined"},g=o.forwardRef(((i,g)=>{const{icon:h,variant:b=f.Simple,tooltip:j,size:u=t.SM,color:w,className:x}=i,N=e(i,["icon","variant","tooltip","size","color","className"]),S=h,C=l(b,w),{tooltipProps:E,getReferenceProps:O}=p();return o.createElement("span",Object.assign({ref:r([g,E.refs.setReference]),className:s(d("root"),"inline-flex flex-shrink-0 items-center",C.bgColor,C.textColor,C.borderColor,C.ringColor,n[b].rounded,n[b].border,n[b].shadow,n[b].ring,a[u].paddingX,a[u].paddingY,x)},O,N),o.createElement(c,Object.assign({text:j},E)),o.createElement(S,{className:s(d("icon"),"shrink-0",m[u].height,m[u].width)}))}));g.displayName="Icon";export{f as IconVariants,g as default};