{"version":3,"file":"BackButton.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styles","_types","_icons","_common","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","BackButtonContentContainer","exports","styled","div","BackButtonContainerStyles","button","props","$size","Size","XSmall","ComponentXSStyling","ComponentTextStyle","Bold","COLORS","generateToken","componentType","defaultVariant","theme","ComponentSStyling","state","focusStyles","BackButton","_ref","children","size","Small","dataTestId","_objectWithoutProperties2","jsx","onMouseDown","defaultOnMouseDownHandler","jsxs","SystemIcons","ArrowLineLeft","propTypes","disabled","_propTypes","bool","_default"],"sources":["../../src/Button/BackButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {COLORS, focusStyles} from '../styles';\r\nimport { Size, Testable } from '../types';\r\nimport { SystemIcons } from '../icons';\r\nimport { ComponentTextStyle, ComponentSStyling, ComponentXSStyling } from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nexport const BackButtonContentContainer = styled.div``;\r\n\r\nconst BackButtonContainerStyles = styled.button<{$size: Size, dataTestId: string | undefined}>`\r\n  box-sizing: border-box;\r\n  min-height: 48px;\r\n  padding: 0;\r\n  margin: 0;\r\n  outline:none;\r\n  max-width: max-content;\r\n  display: flex;\r\n  align-items: center;\r\n  border: none;\r\n  background-color: transparent;\r\n  cursor: pointer;\r\n\r\n  ${(props) => (props.$size === Size.XSmall ? ComponentXSStyling(ComponentTextStyle.Bold, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)) \r\n    : ComponentSStyling(ComponentTextStyle.Bold, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)))};\r\n  font-feature-settings: 'liga' off;\r\n\r\n  & > ${BackButtonContentContainer} {\r\n    display: flex;\r\n    flex-direction: row;\r\n    align-items: center;\r\n    justify-content: flex-start;\r\n    max-width: max-content;\r\n    padding: 4px 4px 4px 0;\r\n    border-radius: 4px;\r\n    cursor: inherit;\r\n    min-width: 64px;\r\n\r\n  }\r\n\r\n  & > ${BackButtonContentContainer} > span {\r\n    display: flex;\r\n    cursor: inherit;\r\n  }\r\n  & > ${BackButtonContentContainer} > label {\r\n    display: flex;\r\n    cursor: inherit;\r\n    flex-grow: 1;\r\n    justify-content: center;\r\n  }\r\n\r\n  &:hover > ${BackButtonContentContainer},\r\n  &.hover-state > ${BackButtonContentContainer} {\r\n    background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n    color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n  }\r\n  &:focus > ${BackButtonContentContainer},\r\n  &.focus-state > ${BackButtonContentContainer} {\r\n    ${focusStyles}\r\n  }\r\n  &:active > ${BackButtonContentContainer},\r\n  &.active-state > ${BackButtonContentContainer} {\r\n    background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n    color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n  }\r\n  &:disabled {\r\n    cursor: not-allowed;\r\n  }\r\n  &:disabled > ${BackButtonContentContainer} {\r\n    color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)} !important;\r\n    background-color: transparent !important;\r\n  }\r\n`;\r\n\r\nexport interface BackButtonProps extends Testable, React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n    /**\r\n   * Required. The size of the back button. Can be 'Small' or 'XSmall'.\r\n   */\r\n  size: Size.Small | Size.XSmall;\r\n    /**\r\n   * Optional. A boolean indicating whether the back button is disabled.\r\n   */\r\n  disabled?: boolean;\r\n}\r\nconst BackButton: React.FunctionComponent<BackButtonProps> = ({ children, size: size = Size.Small, dataTestId, ...props }) => {\r\n  return (\r\n    <BackButtonContainerStyles {...props} $size={size} onMouseDown={defaultOnMouseDownHandler} dataTestId={dataTestId}>\r\n      <BackButtonContentContainer>\r\n        <span aria-hidden=\"true\">\r\n          <SystemIcons.ArrowLineLeft size={size === Size.XSmall ? '20' : '24'} />\r\n        </span>\r\n        <label>{children}</label>\r\n      </BackButtonContentContainer>\r\n    </BackButtonContainerStyles>\r\n  );\r\n};\r\n\r\nexport default BackButton;\r\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AAAoD,IAAAO,WAAA,GAAAP,OAAA;AAAA,MAAAQ,SAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,CAAA1B,OAAA,EAAAL,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAE7C,MAAMkC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAGE,yBAAM,CAACC,GAAG,EAAE;AAEtD,MAAMC,yBAAyB,GAAGF,yBAAM,CAACG,MAAqD;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAKC,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,MAAM,GAAG,IAAAC,0BAAkB,EAACC,0BAAkB,CAACC,IAAI,EAAEC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEV,KAAK,CAACW,KAAK,CAAC,CAAC,GAC3K,IAAAC,yBAAiB,EAACP,0BAAkB,CAACC,IAAI,EAAEC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEV,KAAK,CAACW,KAAK,CAAC,CAAE;AACzI;AACA;AACA,QAAQjB,0BAA0B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQA,0BAA0B;AAClC;AACA;AACA;AACA,QAAQA,0BAA0B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,cAAcA,0BAA0B;AACxC,oBAAoBA,0BAA0B;AAC9C,wBAAwBM,KAAK,IAAIO,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEI,KAAK,EAAE;AAAQ,CAAC,EAAEb,KAAK,CAACW,KAAK,CAAC;AACnH,aAAaX,KAAK,IAAIO,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEI,KAAK,EAAE;AAAQ,CAAC,EAAEb,KAAK,CAACW,KAAK,CAAC;AAClG;AACA,cAAcjB,0BAA0B;AACxC,oBAAoBA,0BAA0B;AAC9C,MAAMoB,mBAAW;AACjB;AACA,eAAepB,0BAA0B;AACzC,qBAAqBA,0BAA0B;AAC/C,wBAAwBM,KAAK,IAAIO,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEI,KAAK,EAAE;AAAS,CAAC,EAAEb,KAAK,CAACW,KAAK,CAAC;AACpH,aAAaX,KAAK,IAAIO,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEI,KAAK,EAAE;AAAS,CAAC,EAAEb,KAAK,CAACW,KAAK,CAAC;AACnG;AACA;AACA;AACA;AACA,iBAAiBjB,0BAA0B;AAC3C,aAAaM,KAAK,IAAIO,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEI,KAAK,EAAE;AAAW,CAAC,EAAEb,KAAK,CAACW,KAAK,CAAC;AACrG;AACA;AACA,CAAC;AAYD,MAAMI,UAAoD,GAAGC,IAAA,IAAiE;EAAA,IAAhE;MAAEC,QAAQ;MAAQC,IAAI,GAAGhB,WAAI,CAACiB,KAAK;MAAEC;IAAqB,CAAC,GAAAJ,IAAA;IAAPhB,KAAK,OAAAqB,yBAAA,CAAAxD,OAAA,EAAAmD,IAAA,EAAA1D,SAAA;EACrH,oBACE,IAAAD,WAAA,CAAAiE,GAAA,EAACxB,yBAAyB,EAAAX,aAAA,CAAAA,aAAA,KAAKa,KAAK;IAAEC,KAAK,EAAEiB,IAAK;IAACK,WAAW,EAAEC,iCAA0B;IAACJ,UAAU,EAAEA,UAAW;IAAAH,QAAA,eAChH,IAAA5D,WAAA,CAAAoE,IAAA,EAAC/B,0BAA0B;MAAAuB,QAAA,gBACzB,IAAA5D,WAAA,CAAAiE,GAAA;QAAM,eAAY,MAAM;QAAAL,QAAA,eACtB,IAAA5D,WAAA,CAAAiE,GAAA,EAACnE,MAAA,CAAAuE,WAAW,CAACC,aAAa;UAACT,IAAI,EAAEA,IAAI,KAAKhB,WAAI,CAACC,MAAM,GAAG,IAAI,GAAG;QAAK,CAAE;MAAC,CACnE,CAAC,eACP,IAAA9C,WAAA,CAAAiE,GAAA;QAAAL,QAAA,EAAQA;MAAQ,CAAQ,CAAC;IAAA,CACC;EAAC,EACJ,CAAC;AAEhC,CAAC;AAACF,UAAA,CAAAa,SAAA;EAbAC,QAAQ,EAAAC,UAAA,CAAAjE,OAAA,CAAAkE;AAAA;AAAA,IAAAC,QAAA,GAAArC,OAAA,CAAA9B,OAAA,GAeKkD,UAAU","ignoreList":[]}