{"version":3,"file":"Iconbutton.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_common","_TooltipWrapper","_jsxRuntime","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","getBorderRadius","borderRadius","getBorderRadiusStyle","flatEdge","radius","IconButtonContentStyles","exports","styled","div","IconButtonStyled","button","props","$borderRadius","$flatEdge","$unsetIconSize","$invertFocus","invertedFocusStyles","focusStyles","IconButtonStyledPrimary","$useTransparentBackground","COLORS","generateToken","componentType","defaultVariant","theme","$iconColor","isOnFill","state","IconButtonStyledSecondary","IconButton","React","forwardRef","_ref","ref","id","variant","shape","action","children","useTransparentBackground","disabled","iconColor","unsetIconSize","tabIndex","type","hidden","invertFocus","dataTestId","focusOnClick","tooltip","rest","_objectWithoutProperties2","render","ButtonVariant","jsx","onClick","event","stopPropagation","onMouseDown","defaultOnMouseDownHandler","undefined","propTypes","_propTypes","oneOf","func","isRequired","bool","string","number","node","_default"],"sources":["../../src/Button/Iconbutton.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport { BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles } from '../styles';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { Testable } from '../types';\r\nimport {TooltipProps} from \"../Tooltips/TooltipTypes\";\r\nimport TooltipWrapper from \"../Tooltips/TooltipWrapper\";\r\n\r\nexport interface HeaderItemProps {\r\n  inMobileMenu?: boolean;\r\n  useTransparentBackground?: boolean;\r\n  iconColor?: string;\r\n  unsetIconSize?: boolean;\r\n  borderRadius?: number;\r\n  shape?: string;\r\n  flatEdge?: string;\r\n  invertFocus?: boolean;\r\n  shouldNotInteract?: boolean;\r\n}\r\n\r\nconst getBorderRadius = (borderRadius?: number) => (borderRadius ? `${borderRadius}px` : '4px');\r\n\r\nconst getBorderRadiusStyle = ( flatEdge?: string, borderRadius?: number ) => {\r\n  const radius = getBorderRadius(borderRadius);\r\n  switch (flatEdge) {\r\n    case 'left':\r\n      return `0px ${radius} ${radius} 0px`;\r\n\r\n    case 'right':\r\n      return `${radius} 0px 0px ${radius}`;\r\n\r\n    case 'none':\r\n    default:\r\n      return `${radius}`;\r\n  }\r\n};\r\n\r\nexport const IconButtonContentStyles = styled.div``;\r\n\r\nexport const IconButtonStyled = styled.button<{$borderRadius?: number; $flatEdge?: string; $unsetIconSize?: boolean;\r\n              $invertFocus?: boolean; $useTransparentBackground?: boolean; $iconColor?: string;}>`\r\n  border-width: 0;\r\n  cursor: pointer;\r\n  height: 48px;\r\n  width: 48px;\r\n  background: transparent;\r\n  position: relative;\r\n  display: block;\r\n\r\n  border-radius: ${(props) => (props.$borderRadius ? `${props.$borderRadius}px` : '4px')};\r\n  ${IconButtonContentStyles} {\r\n    height: 36px;\r\n    width: 36px;\r\n    border-radius: ${props => getBorderRadiusStyle(props.$flatEdge, props.$borderRadius)};\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    svg {\r\n      height: ${(props) => (props.$unsetIconSize ? 'unset' : '24px')};\r\n      width: ${(props) => (props.$unsetIconSize ? 'unset' : '24px')};\r\n      padding: 0;\r\n    }\r\n  }\r\n  &:only-child {\r\n    margin: 0;\r\n  }\r\n  &:disabled {\r\n    cursor: not-allowed;\r\n  }\r\n\r\n  &:focus {\r\n    ${(props) => (props.$invertFocus ? invertedFocusStyles : focusStyles)}\r\n  }\r\n`;\r\n\r\nexport const IconButtonStyledPrimary = styled(IconButtonStyled)`\r\n  ${IconButtonContentStyles} {\r\n    background-color: ${(props) => (props.$useTransparentBackground ? 'transparent' : COLORS.generateToken({componentType: 'bg-fill', defaultVariant: 'primary'}, props.theme))};\r\n\r\n    svg {\r\n      fill: ${(props) => props.$iconColor || COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n      path {\r\n        fill: ${(props) => props.$iconColor || COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n      }\r\n    }\r\n  }\r\n  &:hover:not(:disabled),\r\n  &.hover-state {\r\n    ${IconButtonContentStyles} {\r\n      background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'hover', defaultVariant: 'primary'}, props.theme)};\r\n    }\r\n    ${IconButtonContentStyles} svg path,\r\n    ${IconButtonContentStyles} svg {\r\n      fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n    }\r\n  }\r\n  &:active:not(:disabled),\r\n  &.active-state {\r\n    ${IconButtonContentStyles} {\r\n      background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'active', defaultVariant: 'primary'}, props.theme)};\r\n    }\r\n    ${IconButtonContentStyles} svg path,\r\n    ${IconButtonContentStyles} svg {\r\n      fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n    }\r\n  }\r\n  &:disabled {\r\n    ${IconButtonContentStyles} {\r\n      background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled' }, props.theme)};\r\n    }\r\n    svg {\r\n      path {\r\n        fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n      }\r\n      fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n    }\r\n  }\r\n`;\r\n\r\nexport const IconButtonStyledSecondary = styled(IconButtonStyled)`\r\n  ${IconButtonContentStyles} {\r\n    background-color: transparent;\r\n\r\n    svg {\r\n      fill: ${(props) => props.$iconColor || COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle'}, props.theme)};\r\n      path {\r\n        fill: ${(props) => props.$iconColor || COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle'}, props.theme)};\r\n      }\r\n    }\r\n  }\r\n\r\n  &:hover:not(:disabled) {\r\n    ${IconButtonContentStyles} {\r\n      background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n    }\r\n    ${IconButtonContentStyles} svg path,\r\n    ${IconButtonContentStyles} svg {\r\n      fill: ${props => COLORS.generateToken({ componentType: 'icon', state: 'hover' }, props.theme)};\r\n    }\r\n  }\r\n\r\n  &:active:not(:disabled),\r\n  &.active-state {\r\n    ${IconButtonContentStyles} {\r\n      background: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n    }\r\n    ${IconButtonContentStyles} svg path,\r\n    ${IconButtonContentStyles} svg {\r\n      fill: ${props => COLORS.generateToken({ componentType: 'icon', state: 'active' }, props.theme)};\r\n    }\r\n  }\r\n\r\n  &:disabled {\r\n    ${IconButtonContentStyles} {\r\n      background-color: transparent;\r\n    }\r\n    svg {\r\n      path {\r\n        fill: ${props => COLORS.generateToken({ componentType: 'icon', state: 'disabled' }, props.theme)};\r\n      }\r\n      fill: ${props => COLORS.generateToken({ componentType: 'icon', state: 'disabled' }, props.theme)};\r\n    }\r\n  }\r\n`;\r\n\r\nexport interface IconButtonProps extends Testable, Omit<React.ButtonHTMLAttributes<HTMLButtonElement>,  'onClick' | 'onMouseDown'> {\r\n  /** Variant of the button. Defaults to 'primary' */\r\n  variant?: 'primary' | 'secondary';\r\n  /** Shape of the button. Defaults to 'square' */\r\n  shape?: 'square' | 'circular';\r\n  /** Action that will get executed when button is clicked. */\r\n  action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\r\n  /** Allows removing rounded corners on one of the edges of the button. */\r\n  flatEdge?: 'right' | 'left' | 'none' | undefined;\r\n  /** If set background filling color of the button will be transparent. */\r\n  useTransparentBackground?: boolean;\r\n  /** Custom fill color for SVG icon. */\r\n  iconColor?: string;\r\n  /** If set then the width and height of SVG icon will be set to 'unset', otherwise will be set to '24px' */\r\n  unsetIconSize?: boolean;\r\n  /** Sets border radius of the button.  */\r\n  borderRadius?: number;\r\n  /** Content (icon) to show in the button. */\r\n  children?: React.ReactNode;\r\n  /** Invert color scheme of focus framing. */\r\n  invertFocus?: boolean;\r\n  /** If this flag is set, then blurs current focus, as a result will focus current IconButton when user clicks it. */\r\n  focusOnClick?: boolean;\r\n  /** Details of the tooltip to show. */\r\n  tooltip?: Omit<TooltipProps, 'tabIndex'>;\r\n}\r\n\r\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\r\n  (\r\n    {\r\n      id,\r\n      variant,\r\n      shape,\r\n      action,\r\n      children,\r\n      useTransparentBackground,\r\n      disabled,\r\n      iconColor,\r\n      unsetIconSize,\r\n      tabIndex,\r\n      flatEdge,\r\n      borderRadius,\r\n      type,\r\n      hidden,\r\n      invertFocus,\r\n      dataTestId,\r\n      focusOnClick,\r\n      tooltip,\r\n      ...rest\r\n    }: IconButtonProps,\r\n    ref,\r\n  ) => {\r\n\r\n    const render = () => {\r\n      // Let's render button\r\n\r\n      let ButtonVariant = IconButtonStyledPrimary;\r\n      switch (variant) {\r\n        case 'secondary':\r\n          ButtonVariant = IconButtonStyledSecondary;\r\n          break;\r\n      }\r\n\r\n      return <ButtonVariant\r\n          id={id}\r\n          type={type ?? 'button'}\r\n          data-testid={dataTestId}\r\n          $flatEdge={flatEdge}\r\n          ref={ref}\r\n          onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\r\n            event.stopPropagation();\r\n            action(event);\r\n          }}\r\n          disabled={disabled}\r\n          $useTransparentBackground={useTransparentBackground}\r\n          $iconColor={iconColor}\r\n          $unsetIconSize={unsetIconSize}\r\n          tabIndex={tabIndex}\r\n          $borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\r\n          onMouseDown={!focusOnClick ? defaultOnMouseDownHandler : undefined}\r\n          hidden={hidden}\r\n          $invertFocus={invertFocus}\r\n          {...rest}>\r\n          <IconButtonContentStyles>{children}</IconButtonContentStyles>\r\n        </ButtonVariant>;\r\n      }\r\n\r\n    return !tooltip\r\n      ? render()\r\n      : (\r\n        <TooltipWrapper {...tooltip}>\r\n          {render()}\r\n        </TooltipWrapper>\r\n      );\r\n  },\r\n);\r\n\r\nexport default IconButton;\r\n"],"mappings":"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","ignoreList":[]}