UNPKG

monday-ui-react-core

Version:

Official monday.com UI resources for application development in React.js

3 lines (2 loc) 2.35 kB
import{slicedToArray as e,defineProperty as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{camelCase as t}from"lodash-es";import o from"classnames";import{getTestId as a,ComponentDefaultTestId as s}from"../../tests/testIds.js";import{getStyle as i}from"../../helpers/typesciptCssModulesHelper.js";import l,{forwardRef as n,useRef as m,useState as p,useMemo as c,useCallback as d,useEffect as f}from"react";import{backwardCompatibilityForProperties as u}from"../../helpers/backwardCompatibilityForProperties.js";import b from"../Text/Text.js";import j from"./Leg.js";import{LabelColor as k,LabelKind as E}from"./LabelConstants.js";import{withStaticProps as v}from"../../types/withStaticProps.js";import L from"../../hooks/useClickableProps/useClickableProps.js";import C from"../../hooks/useMergeRef.js";import N from"./Label.module.scss.js";import h from"./LabelCelebrationAnimation.js";import{mapSizesToTextSize as y}from"./Label.types.js";var A=v(n((function(n,v){var A=n.className,P=n.wrapperClassName,g=n.labelClassName,x=n.kind,I=void 0===x?E.FILL:x,T=n.color,w=void 0===T?k.PRIMARY:T,H=n.text,R=void 0===H?"":H,D=n.isAnimationDisabled,M=void 0!==D&&D,_=n.isLegIncluded,B=void 0!==_&&_,F=n.id,O=n["data-testid"],W=n.onClick,z=n.celebrationAnimation,S=n.size,V=void 0===S?"medium":S,Y=m(null),q=C(v,Y),G=p(z),J=e(G,2),K=J[0],Q=J[1],U=u([A,P]),X=!!W,Z=c((function(){return o(N.label,i(N,t("kind-"+I)),i(N,t("color-"+w)),r(r(r(r({},N.withAnimation,!M&&!K),N.withLeg,B),N.clickable,X),N.small,"small"===V),g)}),[I,w,M,B,g,K,X,V]),$=d((function(e){W&&(e.preventDefault(),W(e))}),[W]),ee=L({onClick:$,id:F,ariaHidden:!1,ariaHasPopup:!1,ariaExpanded:!1},Y);f((function(){Q(z)}),[z]);var re=c((function(){return l.createElement("span",Object.assign({},X&&ee,{className:o(r({},N.clickableWrapper,X),U),"data-testid":O||a(s.LABEL,F),ref:q}),l.createElement(b,{element:"span",type:y[V],className:Z,color:b.colors.ON_INVERTED,"data-celebration-text":K},l.createElement(b,{element:"span",type:y[V],color:b.colors.INHERIT,className:o(r({},N.smallText,"small"===V))},R),l.createElement("span",{className:o(N.legWrapper)},B?l.createElement(j,null):null)))}),[X,ee,U,O,F,q,Z,K,R,B,V]);return K&&"line"===I?l.createElement(h,{onAnimationEnd:function(){return Q(!1)}},re):re})),{colors:k,kinds:E});export{A as default}; //# sourceMappingURL=Label.js.map