UNPKG

monday-ui-react-core

Version:

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

3 lines (2 loc) 2.79 kB
import{slicedToArray as t,defineProperty as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import e,{forwardRef as i,useRef as s,useState as r,useCallback as a,useMemo as n,useEffect as l}from"react";import{camelCase as p}from"lodash-es";import m from"classnames";import{getStyle as d}from"../../helpers/typesciptCssModulesHelper.js";import u from"../Button/Button.js";import c from"../../hooks/usePrevious/index.js";import f from"../../hooks/useMergeRef.js";import{backwardCompatibilityForProperties as v}from"../../helpers/backwardCompatibilityForProperties.js";import{ButtonWrapper as b}from"./ButtonWrapper.js";import"../../constants/dialog.js";import{BASE_SIZES as j}from"../../constants/sizes.js";import"../../constants/positions.js";import{ButtonType as C}from"../Button/ButtonConstants.js";import{withStaticProps as h}from"../../types/withStaticProps.js";import{getTestId as k}from"../../tests/testIds.js";import{ComponentDefaultTestId as y}from"../../tests/constants.js";import B from"./ButtonGroup.module.scss.js";var N=h(i((function(i,h){var N=i.className,T=i.componentClassName,g=i.options,P=i.name,S=void 0===P?"":P,x=i.disabled,A=void 0!==x&&x,D=i.value,E=void 0===D?"":D,z=i.onSelect,I=i.size,L=void 0===I?j.SMALL:I,M=i.kind,R=void 0===M?C.SECONDARY:M,w=i.groupAriaLabel,H=void 0===w?"":w,F=i.tooltipPosition,G=i.tooltipHideDelay,O=i.tooltipShowDelay,W=i.tooltipContainerSelector,_=i.tooltipMoveBy,U=i.id,Y=i["data-testid"],q=i.fullWidth,J=void 0!==q&&q,K=s(),Q=f(h,K),V=v([N,T]),X=r(E),Z=t(X,2),$=Z[0],tt=Z[1],ot=c(E),et=a((function(t){A||t.disabled||(tt(t.value),z&&z(t.value,S))}),[z,A,S]),it=n((function(){return g.find((function(t){return t.value===$}))}),[g,$]),st=n((function(){return g.map((function(t,i){var s=t.value===$;return e.createElement(b,{key:t.value,size:L,onClick:function(){return et(t)},rightIcon:t.icon,leftIcon:t.leftIcon,active:s,rightFlat:i!==g.length-1,leftFlat:0!==i,kind:u.kinds.TERTIARY,preventClickAnimation:!0,ariaLabel:t.ariaLabel,tooltipContent:t.tooltipContent,tooltipPosition:F,tooltipHideDelay:G,tooltipShowDelay:O,tooltipContainerSelector:W,tooltipMoveBy:_,className:m(B.button,B.optionText,o(o(o(o({},B.selected,s),B.disabled,A),B.buttonDisabled,t.disabled),B.fullWidth,J)),activeButtonClassName:B.activeButton},t.text)}))}),[g,A,et,L,$,F,G,O,W,_]);return l((function(){E!==ot&&E!==$&&tt(E)}),[E,ot,$,tt]),e.createElement("div",{className:m(B.buttonGroup,V,d(B,p("kind-"+R)),o({},B.disabled,A)),id:U,"data-testid":Y||k(y.BUTTON_GROUP,U),ref:Q},e.createElement("div",{role:"group","aria-label":H,className:m(B.buttonsContainer),"aria-disabled":A},st),it&&it.subText&&e.createElement("div",{className:m(B.subTextContainer)},it.subText))})),{sizes:u.sizes,kinds:u.kinds});export{N as default}; //# sourceMappingURL=ButtonGroup.js.map