{"version":3,"file":"index-mBCUmZsI.js","sources":["../../app/javascript/components/components/data_entry/button/primary.ts","../../app/javascript/components/components/data_entry/button/secondary.ts","../../app/javascript/components/components/data_entry/button/tertiary.ts","../../app/javascript/components/components/data_entry/button/text.ts","../../app/javascript/components/components/data_entry/button/icon.ts","../../app/javascript/components/components/data_entry/button/index.tsx"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { ButtonState } from \"./index\";\n\nconst shared = css<{ state: ButtonState }>`\n cursor: pointer;\n border: none;\n border-radius: ${({ theme }) => theme.deprecatedBorder.radius.round};\n background-color: ${({ theme, state }) =>\n state === \"hover\"\n ? theme.deprecatedColors.primary.dark\n : state === \"pressed\"\n ? theme.deprecatedColors.primary.extraDark\n : theme.deprecatedColors.primary.normal};\n color: ${({ theme }) => theme.deprecatedColors.text.light};\n padding: ${({ theme }) => theme.deprecatedSpacing.component.four};\n padding-left: ${({ theme }) => theme.deprecatedSpacing.component.six};\n padding-right: ${({ theme }) => theme.deprecatedSpacing.component.six};\n\n font-weight: ${({ theme }) => theme.font.weight.normal};\n font-size: ${({ theme }) => theme.font.size.body.two};\n text-transform: uppercase;\n text-decoration: none;\n\n &:disabled {\n background-color: ${({ theme }) => theme.deprecatedColors.gray.seven};\n cursor: not-allowed;\n }\n`;\n\nexport const button = styled.button<{ state: ButtonState }>`\n ${shared}\n`;\n\nexport const a = styled.a<{ state: ButtonState; href: string }>`\n ${shared}\n`;\n","import styled, { css } from \"styled-components\";\nimport { ButtonState } from \".\";\n\nconst shared = css<{ state: ButtonState; destructiveAction: boolean }>`\n cursor: pointer;\n border: ${({ theme, destructiveAction }) =>\n `${theme.deprecatedBorder.weight.heavy} solid ${\n destructiveAction ? theme.deprecatedColors.error : theme.deprecatedColors.primary.normal\n }`};\n border-radius: ${({ theme }) => theme.deprecatedBorder.radius.normal};\n background-color: ${({ theme, state, destructiveAction }) => {\n const darkColor = destructiveAction\n ? theme.deprecatedColors.error\n : theme.deprecatedColors.primary.extraDark;\n const color = destructiveAction\n ? theme.deprecatedColors.error\n : theme.deprecatedColors.primary.normal;\n return state === \"pressed\"\n ? darkColor\n : state === \"hover\"\n ? color\n : theme.deprecatedColors.white;\n }};\n color: ${({ theme, state, destructiveAction }) =>\n state === \"none\"\n ? destructiveAction\n ? theme.deprecatedColors.error\n : theme.deprecatedColors.primary.normal\n : theme.deprecatedColors.text.light};\n padding: ${({ theme }) => theme.deprecatedSpacing.component.three};\n padding-left: ${({ theme }) => theme.deprecatedSpacing.component.four};\n padding-right: ${({ theme }) => theme.deprecatedSpacing.component.four};\n\n font-weight: ${({ theme }) => theme.font.weight.normal};\n font-size: ${({ theme }) => theme.font.size.body.two};\n text-transform: uppercase;\n text-decoration: none;\n &:disabled {\n background-color: ${({ theme }) => theme.deprecatedColors.gray.seven};\n cursor: not-allowed;\n border: none;\n }\n`;\n\nexport const button = styled.button<{ state: ButtonState; destructiveAction: boolean }>`\n ${shared}\n`;\n\nexport const a = styled.a<{ state: ButtonState; href: string; destructiveAction: boolean }>`\n ${shared}\n`;\n","import styled, { css } from \"styled-components\";\nimport { ButtonState } from \".\";\n\nconst shared = css<{ state: ButtonState }>`\n cursor: pointer;\n border: none;\n border-radius: ${({ theme }) => theme.deprecatedBorder.radius.normal};\n background-color: ${({ theme, state }) =>\n state === \"pressed\"\n ? theme.deprecatedColors.secondary.normal\n : state === \"hover\"\n ? theme.deprecatedColors.secondary.light\n : theme.deprecatedColors.secondary.extraLight};\n color: ${({ theme }) => theme.deprecatedColors.secondary.extraDark};\n padding: ${({ theme }) => theme.deprecatedSpacing.component.three};\n padding-left: ${({ theme }) => theme.deprecatedSpacing.component.four};\n padding-right: ${({ theme }) => theme.deprecatedSpacing.component.four};\n\n font-weight: ${({ theme }) => theme.font.weight.normal};\n font-size: ${({ theme }) => theme.font.size.body.two};\n text-transform: uppercase;\n text-decoration: none;\n\n &:disabled {\n background-color: ${({ theme }) => theme.deprecatedColors.gray.seven};\n cursor: not-allowed;\n border: none;\n }\n`;\n\nexport const button = styled.button<{ state: ButtonState }>`\n ${shared}\n`;\n\nexport const a = styled.a<{ state: ButtonState; href: string }>`\n ${shared}\n`;\n","import styled, { css } from \"styled-components\";\nimport { ButtonState } from \".\";\n\nconst shared = css<{ state: ButtonState }>`\n cursor: pointer;\n border: none;\n color: ${({ theme }) => theme.deprecatedColors.primary.normal};\n padding: ${({ theme }) => theme.deprecatedSpacing.component.two};\n padding-left: ${({ theme }) => theme.deprecatedSpacing.component.three};\n padding-right: ${({ theme }) => theme.deprecatedSpacing.component.three};\n\n font-weight: ${({ theme }) => theme.font.weight.normal};\n text-transform: uppercase;\n text-decoration: none;\n\n &:disabled {\n color: ${({ theme }) => theme.deprecatedColors.gray.eight};\n cursor: not-allowed;\n }\n`;\n\nconst pressedBtnBackground = css<{ state: ButtonState }>`\n border-radius: ${({ theme }) => theme.deprecatedBorder.radius.normal};\n background-color: ${({ theme, state }) =>\n state === \"pressed\"\n ? theme.deprecatedColors.primary.extraLight\n : state === \"hover\"\n ? theme.deprecatedColors.gray.ten\n : \"transparent\"};\n`;\n\nexport const button = styled.button<{ state: ButtonState }>`\n ${shared}\n ${pressedBtnBackground}\n`;\n\nexport const buttonLink = styled.button<{ state: ButtonState }>`\n ${shared}\n\n background: none;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\nexport const a = styled.a<{ state: ButtonState; href: string }>`\n ${shared}\n ${pressedBtnBackground}\n`;\n","import styled, { css } from \"styled-components\";\nimport { ButtonState } from \".\";\n\nconst shared = css<{ state: ButtonState }>`\n cursor: pointer;\n border: none;\n color: ${({ theme }) => theme.deprecatedColors.gray.four};\n background-color: transparent;\n\n &:disabled {\n color: ${({ theme }) => theme.deprecatedColors.gray.eight};\n cursor: not-allowed;\n }\n`;\n\nexport const button = styled.button<{ state: ButtonState }>`\n ${shared}\n`;\n\nexport const a = styled.a<{ state: ButtonState; href: string }>`\n ${shared}\n`;\n","import React, { useState } from \"react\";\nimport { button as Primary, a as PrimaryLink } from \"./primary\";\nimport { button as Secondary, a as SecondaryLink } from \"./secondary\";\nimport { button as Tertiary, a as TertiaryLink } from \"./tertiary\";\nimport { button as Text, a as Link, buttonLink as TextLink } from \"./text\";\nimport { button as Icon, a as IconLink } from \"./icon\";\nimport styled from \"styled-components\";\n\nexport enum ButtonType {\n primary,\n secondary,\n tertiary,\n text,\n icon,\n textLink,\n}\n\nexport const ModalButtonGroup = styled.div`\n display: flex;\n justify-content: flex-end;\n padding-top: ${({ theme }) => theme.deprecatedSpacing.component.six};\n button {\n margin-left: ${({ theme }) => theme.deprecatedSpacing.component.four};\n }\n`;\n\nexport type ButtonState = \"none\" | \"hover\" | \"pressed\";\n\ninterface ButtonProps extends React.HTMLProps {\n disabled?: boolean;\n buttonType?: ButtonType;\n destructiveAction?: boolean;\n href?: string;\n target?: string;\n dataAnalyticsId?: string;\n}\n\nexport function Button({\n disabled = false,\n buttonType = ButtonType.primary,\n href = \"\",\n target = \"\",\n type,\n dataAnalyticsId,\n ...props\n}: ButtonProps) {\n let Button = href.length ? PrimaryLink : Primary;\n\n switch (buttonType) {\n case ButtonType.primary:\n Button = href.length ? PrimaryLink : Primary;\n break;\n case ButtonType.secondary:\n // not sure why ts is fine with the primary and tertiary links but not the secondary\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n Button = href.length ? SecondaryLink : Secondary;\n break;\n case ButtonType.tertiary:\n Button = href.length ? TertiaryLink : Tertiary;\n break;\n case ButtonType.text:\n Button = href.length ? Link : Text;\n break;\n case ButtonType.icon:\n Button = href.length ? IconLink : Icon;\n break;\n case ButtonType.textLink:\n Button = TextLink;\n break;\n }\n const [buttonState, setButtonState] = useState(\"none\");\n return (\n // eslint-disable-next-line\n // @ts-ignore something's going on with styled components and react types playing together\n setButtonState(\"hover\")}\n onMouseLeave={() => setButtonState(\"none\")}\n onMouseDown={() => setButtonState(\"pressed\")}\n onMouseUp={() => setButtonState(\"none\")}\n disabled={disabled}\n state={buttonState}\n type={!href.length && typeof type === \"undefined\" ? \"button\" : type}\n data-analytics-id={dataAnalyticsId}\n {...props}\n {...(href.length ? { href } : {})}\n {...(target.length ? { target } : {})}\n />\n );\n}\n\nexport default Button;\n\nexport const InlineLinkTextAsButton = styled(Button)`\n text-transform: none;\n padding-left: 0;\n padding-right: 0;\n // This color is part of our new Theme suite cyan500, but this file is still using deprecated theme (app/javascript/components/styling/colors.ts)\n color: #0e7c86;\n`;\n"],"names":["shared","css","theme","state","button","styled","a","destructiveAction","darkColor","color","pressedBtnBackground","buttonLink","ButtonType","ButtonType2","ModalButtonGroup","Button","disabled","buttonType","href","target","type","dataAnalyticsId","props","PrimaryLink","Primary","SecondaryLink","Secondary","TertiaryLink","Tertiary","Link","Text","IconLink","Icon","TextLink","buttonState","setButtonState","useState","jsx"],"mappings":"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"}