UNPKG

monday-ui-react-core

Version:

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

3 lines (2 loc) 2.25 kB
import{slicedToArray as e,defineProperty as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{forwardRef as r,useState as n}from"react";import s from"classnames";import i from"./TableHeaderCell.module.scss.js";import a from"../../Icon/Icon.js";import l from"../../IconButton/IconButton.js";import c from"../../Icon/Icons/components/Info.js";import{ButtonType as m}from"../../Button/ButtonConstants.js";import d from"../../Text/Text.js";import p from"../../Flex/Flex.js";import{getSortIcon as f,getNextSortState as u,getAriaSort as E}from"../Table/tableHelpers.js";import T from"../../Tooltip/Tooltip.js";import{getTestId as C}from"../../../tests/testIds.js";import{ComponentDefaultTestId as b}from"../../../tests/constants.js";import{getStyle as j}from"../../../helpers/typesciptCssModulesHelper.js";var g=r((function(r,g){var v=r.id,I=r.className,y=r["data-testid"],N=r.title,B=r.onSortClicked,H=r.infoContent,R=r.icon,S=r.sortState,h=void 0===S?"none":S,k=r.sortButtonAriaLabel,A=void 0===k?"Sort":k,L=r.sticky,x=n(!1),M=e(x,2),w=M[0],D=M[1],O=E(h),_="none"!==O||w;return o.createElement("div",{ref:g,id:v,className:s(i.tableHeaderCell,t(t({},i.sortActive,B&&"none"!==O),i.sticky,L),I),"data-testid":y||C(b.TABLE_HEADER_CELL,v),role:"columnheader",onMouseOver:function(){return D(!0)},onMouseLeave:function(){return D(!1)},onFocus:function(){return D(!0)},onBlur:function(){return D(!1)},"aria-sort":B?O:void 0,tabIndex:B?0:void 0},o.createElement(p,{direction:p.directions.ROW,align:p.align.CENTER,className:i.tableHeaderCellContent,gap:p.gaps.XS},R&&o.createElement(a,{icon:R,clickable:!1,className:i.icon}),"string"==typeof N?o.createElement(d,{type:d.types.TEXT2,weight:d.weights.MEDIUM,color:d.colors.SECONDARY},N):N,H&&o.createElement(T,{content:H,referenceWrapperClassName:i.infoTooltip,addKeyboardHideShowTriggersByDefault:!0},o.createElement(a,{icon:c,iconLabel:H,clickable:!1}))),B&&o.createElement(p,{direction:p.directions.ROW,align:p.align.CENTER,className:i.tableHeaderCellSort},o.createElement(l,{icon:f(h),kind:m.TERTIARY,size:l.sizes.XS,ariaLabel:A,"aria-hidden":!_,className:s(i.sort,j(i,h),t({},i.show,_)),onClick:function(){return B(u(h))}})))}));export{g as default}; //# sourceMappingURL=TableHeaderCell.js.map