@laerdal/life-react-components 3.5.1-dev.14 → 3.5.1-dev.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Button/Button.cjs
CHANGED
|
@@ -127,9 +127,21 @@ var ButtonTertiaryStyled = (0, _styledComponents["default"])(ButtonPrimaryStyled
|
|
|
127
127
|
return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : props.colorTheme === 'dark' ? _styles.COLORS.white : _styles.COLORS.primary_800;
|
|
128
128
|
}, function (props) {
|
|
129
129
|
return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : props.colorTheme === 'dark' ? _styles.COLORS.white : _styles.COLORS.primary_800;
|
|
130
|
-
}, ButtonContentContainer, ButtonContentContainer,
|
|
130
|
+
}, ButtonContentContainer, ButtonContentContainer, function () {
|
|
131
|
+
return _styles.COLORS.primary_700;
|
|
132
|
+
});
|
|
131
133
|
exports.ButtonTertiaryStyled = ButtonTertiaryStyled;
|
|
132
|
-
var ButtonPositiveStyled = (0, _styledComponents["default"])(ButtonPrimaryStyled)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n ", " {\n color: white;\n background-color: ", ";\n }\n &:hover > ", ",\n &.hover-state > ", " {\n background-color: ", ";\n }\n &:active > ", ",\n &.active-state > ", " {\n background-color: ", ";\n }\n\n &:disabled > ", ",\n &.disabled-state > ", " {\n background-color: ", ";\n color: ", ";\n }\n"])), ButtonContentContainer,
|
|
134
|
+
var ButtonPositiveStyled = (0, _styledComponents["default"])(ButtonPrimaryStyled)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n ", " {\n color: white;\n background-color: ", ";\n }\n &:hover > ", ",\n &.hover-state > ", " {\n background-color: ", ";\n }\n &:active > ", ",\n &.active-state > ", " {\n background-color: ", ";\n }\n\n &:disabled > ", ",\n &.disabled-state > ", " {\n background-color: ", ";\n color: ", ";\n }\n"])), ButtonContentContainer, function () {
|
|
135
|
+
return _styles.COLORS.correct_500;
|
|
136
|
+
}, ButtonContentContainer, ButtonContentContainer, function () {
|
|
137
|
+
return _styles.COLORS.correct_700;
|
|
138
|
+
}, ButtonContentContainer, ButtonContentContainer, function () {
|
|
139
|
+
return _styles.COLORS.correct_800;
|
|
140
|
+
}, ButtonContentContainer, ButtonContentContainer, function () {
|
|
141
|
+
return _styles.COLORS.neutral_100;
|
|
142
|
+
}, function () {
|
|
143
|
+
return _styles.COLORS.neutral_300;
|
|
144
|
+
});
|
|
133
145
|
exports.ButtonPositiveStyled = ButtonPositiveStyled;
|
|
134
146
|
var ButtonCriticalStyled = (0, _styledComponents["default"])(ButtonPrimaryStyled)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n ", " {\n color: white;\n background-color: ", ";\n }\n &:hover > ", ",\n &.hover-state > ", " {\n background-color: ", ";\n }\n &:active > ", ",\n &.active-state > ", " {\n background-color: ", ";\n }\n\n &:disabled > ", ",\n &.disabled-state > ", " {\n background-color: ", ";\n color: ", "; \n }\n"])), ButtonContentContainer, _styles.COLORS.critical_500, ButtonContentContainer, ButtonContentContainer, _styles.COLORS.critical_700, ButtonContentContainer, ButtonContentContainer, _styles.COLORS.critical_800, ButtonContentContainer, ButtonContentContainer, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300);
|
|
135
147
|
exports.ButtonCriticalStyled = ButtonCriticalStyled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_LoadingIndicator","_styles","_types","_common","_jsxRuntime","_excluded","_excluded2","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","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","getBorderRadius","flatEdge","radius","concat","ButtonContentContainer","styled","div","_taggedTemplateLiteral2","exports","ButtonPrimaryStyled","button","props","size","Size","Large","ComponentLStyling","ComponentTextStyle","Bold","colorTheme","COLORS","primary_800","white","Small","ComponentSStyling","ComponentMStyling","accent1","primary","width","Medium","iconOnly","accent1_700","primary_100","primary_700","primary_600","accent1_800","primary_200","invertFocus","undefined","invertedFocusStyles","focusStyles","neutral_100","neutral_300","ButtonSecondaryStyled","primary_300","ButtonTertiaryStyled","primary_500","accent1_20","primary_20","accent1_100","ButtonPositiveStyled","correct_500","correct_700","correct_800","ButtonCriticalStyled","critical_500","critical_700","critical_800","Button","forwardRef","_ref","ref","_ref$children","children","_ref$variant","variant","_ref$type","type","_ref$size","_ref$width","testId","disabled","icon","_objectWithoutProperties2","loading","renderProps","renderContent","jsxs","Fragment","jsx","className","LoadingIndicator","ButtonStyled","onMouseDown","defaultOnMouseDownHandler","propTypes","_propTypes","oneOf","bool","oneOfType","string","node","_default"],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { LoadingIndicator } from '../LoadingIndicator';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles';\r\nimport { COLORS, focusStyles, invertedFocusStyles } from '../styles';\r\nimport { Size, Testable } from '../types';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\n\r\nconst getBorderRadius = (flatEdge: string | undefined, radius: number) => {\r\n switch (flatEdge) {\r\n case 'left':\r\n return `0px ${radius}px ${radius}px 0px`;\r\n\r\n case 'right':\r\n return `${radius}px 0px 0px ${radius}px`;\r\n\r\n case 'none':\r\n default:\r\n return `${radius}px`;\r\n }\r\n};\r\n\r\nexport const ButtonContentContainer = styled.div`\r\n min-width: 64px;\r\n`;\r\n\r\nexport const ButtonPrimaryStyled = styled.button<ButtonProps & {iconOnly: boolean}>`\r\n border: none;\r\n background-color: transparent;\r\n cursor: pointer;\r\n padding: 0;\r\n margin: 0;\r\n position: relative;\r\n box-sizing: border-box;\r\n min-height: ${(props) => (props.size === Size.Large ? '56px' : '48px')};\r\n &.loading-state {\r\n cursor: wait;\r\n }\r\n ${ButtonContentContainer} {\r\n ${(props) =>\r\n props.size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\r\n : props.size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\r\n\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n border-radius: ${(props) => getBorderRadius(props.flatEdge, 8)};\r\n\r\n width: ${(props) => props.width};\r\n position: relative;\r\n\r\n min-height: ${(props) => (props.size === Size.Large ? '56px' : props.size === Size.Small ? '32px' : '40px')};\r\n\r\n box-sizing: border-box;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: ${(props) => (props.size === Size.Large ? '14px 16px' : props.size === Size.Small ? '6px 8px' : '8px 12px')};\r\n\r\n span.icon:not(.loading) {\r\n pointer-events: none;\r\n }\r\n\r\n span.loading {\r\n opacity: 0;\r\n }\r\n\r\n .icon {\r\n margin: ${(props) => (props.size === Size.Medium ? props.iconOnly ? '-2px -8px' : '' : (props.size === Size.Small ? props.iconOnly ? '-2px -6px' : '' : '' ))};\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n svg {\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\r\n }\r\n }\r\n\r\n .label {\r\n margin: 0 4px;\r\n }\r\n\r\n div {\r\n position: absolute;\r\n width: 100%;\r\n svg {\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary : COLORS.white)};\r\n }\r\n }\r\n }\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\r\n }\r\n\r\n &:focus,\r\n &.focus-state {\r\n ${(props) => (props.invertFocus || (props.invertFocus === undefined && props.colorTheme === 'dark') ? invertedFocusStyles : focusStyles)}\r\n }\r\n &:disabled,\r\n &.disabled-state {\r\n cursor: not-allowed;\r\n }\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n pointer-events: none;\r\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\r\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n background-color: transparent;\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\r\n }\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n \r\n padding: ${(props) => (props.size === Size.Large ? '12px 16px' : props.size === Size.Small ? '4px 8px' : '6px 12px')};\r\n }\r\n\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\r\n }\r\n }\r\n }\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: transparent;\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_300)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500)};\r\n background-color: transparent;\r\n\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500)};\r\n }\r\n\r\n padding: ${(props) => (props.size === Size.Large ? '12px 16px' : props.size === Size.Small ? '4px 8px' : '6px 12px')};\r\n }\r\n\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.primary_20)};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_700)};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_700)};\r\n }\r\n }\r\n }\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : props.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.primary_100)};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: transparent !important;\r\n color: ${COLORS.primary_700};\r\n border-color: transparent !important;\r\n }\r\n`;\r\n\r\nexport const ButtonPositiveStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${COLORS.correct_500};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.correct_700};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.correct_800};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.neutral_100};\r\n color: ${COLORS.neutral_300};\r\n }\r\n`;\r\n\r\nexport const ButtonCriticalStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${COLORS.critical_500};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.critical_700};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.critical_800};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.neutral_100};\r\n color: ${COLORS.neutral_300}; \r\n }\r\n`;\r\n\r\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n /** Look and feel variant of the component. Defaults to 'primary'. */\r\n variant?: 'primary' | 'secondary' | 'tertiary' | 'positive' | 'critical';\r\n /** Can be used in order to remove rounded corners on right or left edge of the button. Used by 'DualFunctionButton'. Defaults to 'undefined' */\r\n flatEdge?: 'right' | 'left' | 'none' | undefined;\r\n /** Size of the component. Small, Medium or Large. Defaults to 'medium' */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Color theme altering of the component. By default there is no altering applied. */\r\n colorTheme?: 'teal' | 'dark';\r\n /** Allows using inverted colors for outlining focus rect. Shown when component focused by keyboard. */\r\n invertFocus?: boolean;\r\n /** Can be used to set custom value for width style. Value is set for 'ButtonContent' container. */\r\n width?: 'auto' | string;\r\n /** If set, then 'opacity' of children container will be set to 0, and loading indicator will be shown. */\r\n loading?: boolean;\r\n /** TestId. Will be set to the top level button component. */\r\n testId?: string;\r\n /** Icon that will be shown on the left of the children. */\r\n icon?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Button component\r\n */\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ children = '', variant = 'primary', type = 'button', size = Size.Medium, width = 'auto', testId, disabled, flatEdge, icon, ...props }, ref) => {\r\n // Let's filter out properties that we don't need to render.\r\n const { loading, ...renderProps } = props;\r\n\r\n const renderContent = () => (\r\n <>\r\n {icon && <span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span>}\r\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\r\n {loading && <LoadingIndicator />}\r\n </>\r\n );\r\n\r\n let ButtonStyled = ButtonPrimaryStyled;\r\n switch (variant) {\r\n case 'secondary':\r\n ButtonStyled = ButtonSecondaryStyled;\r\n break;\r\n case 'tertiary':\r\n ButtonStyled = ButtonTertiaryStyled;\r\n break;\r\n case 'positive':\r\n ButtonStyled = ButtonPositiveStyled;\r\n break;\r\n case 'critical':\r\n ButtonStyled = ButtonCriticalStyled;\r\n break;\r\n }\r\n\r\n return (\r\n <ButtonStyled\r\n {...renderProps}\r\n ref={ref}\r\n disabled={disabled}\r\n iconOnly={!children}\r\n type={type}\r\n size={size}\r\n flatEdge={flatEdge}\r\n width={width}\r\n data-testid={testId}\r\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\r\n onMouseDown={defaultOnMouseDownHandler}>\r\n <ButtonContentContainer>{renderContent()}</ButtonContentContainer>\r\n </ButtonStyled>\r\n );\r\n },\r\n);\r\n\r\nexport default Button;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Button.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_LoadingIndicator","_styles","_types","_common","_jsxRuntime","_excluded","_excluded2","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","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","getBorderRadius","flatEdge","radius","concat","ButtonContentContainer","styled","div","_taggedTemplateLiteral2","exports","ButtonPrimaryStyled","button","props","size","Size","Large","ComponentLStyling","ComponentTextStyle","Bold","colorTheme","COLORS","primary_800","white","Small","ComponentSStyling","ComponentMStyling","accent1","primary","width","Medium","iconOnly","accent1_700","primary_100","primary_700","primary_600","accent1_800","primary_200","invertFocus","undefined","invertedFocusStyles","focusStyles","neutral_100","neutral_300","ButtonSecondaryStyled","primary_300","ButtonTertiaryStyled","primary_500","accent1_20","primary_20","accent1_100","ButtonPositiveStyled","correct_500","correct_700","correct_800","ButtonCriticalStyled","critical_500","critical_700","critical_800","Button","forwardRef","_ref","ref","_ref$children","children","_ref$variant","variant","_ref$type","type","_ref$size","_ref$width","testId","disabled","icon","_objectWithoutProperties2","loading","renderProps","renderContent","jsxs","Fragment","jsx","className","LoadingIndicator","ButtonStyled","onMouseDown","defaultOnMouseDownHandler","propTypes","_propTypes","oneOf","bool","oneOfType","string","node","_default"],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { LoadingIndicator } from '../LoadingIndicator';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles';\r\nimport { COLORS, focusStyles, invertedFocusStyles } from '../styles';\r\nimport { Size, Testable } from '../types';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\n\r\nconst getBorderRadius = (flatEdge: string | undefined, radius: number) => {\r\n switch (flatEdge) {\r\n case 'left':\r\n return `0px ${radius}px ${radius}px 0px`;\r\n\r\n case 'right':\r\n return `${radius}px 0px 0px ${radius}px`;\r\n\r\n case 'none':\r\n default:\r\n return `${radius}px`;\r\n }\r\n};\r\n\r\nexport const ButtonContentContainer = styled.div`\r\n min-width: 64px;\r\n`;\r\n\r\nexport const ButtonPrimaryStyled = styled.button<ButtonProps & {iconOnly: boolean}>`\r\n border: none;\r\n background-color: transparent;\r\n cursor: pointer;\r\n padding: 0;\r\n margin: 0;\r\n position: relative;\r\n box-sizing: border-box;\r\n min-height: ${(props) => (props.size === Size.Large ? '56px' : '48px')};\r\n &.loading-state {\r\n cursor: wait;\r\n }\r\n ${ButtonContentContainer} {\r\n ${(props) =>\r\n props.size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\r\n : props.size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\r\n\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n border-radius: ${(props) => getBorderRadius(props.flatEdge, 8)};\r\n\r\n width: ${(props) => props.width};\r\n position: relative;\r\n\r\n min-height: ${(props) => (props.size === Size.Large ? '56px' : props.size === Size.Small ? '32px' : '40px')};\r\n\r\n box-sizing: border-box;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: ${(props) => (props.size === Size.Large ? '14px 16px' : props.size === Size.Small ? '6px 8px' : '8px 12px')};\r\n\r\n span.icon:not(.loading) {\r\n pointer-events: none;\r\n }\r\n\r\n span.loading {\r\n opacity: 0;\r\n }\r\n\r\n .icon {\r\n margin: ${(props) => (props.size === Size.Medium ? props.iconOnly ? '-2px -8px' : '' : (props.size === Size.Small ? props.iconOnly ? '-2px -6px' : '' : '' ))};\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n svg {\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\r\n }\r\n }\r\n\r\n .label {\r\n margin: 0 4px;\r\n }\r\n\r\n div {\r\n position: absolute;\r\n width: 100%;\r\n svg {\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary : COLORS.white)};\r\n }\r\n }\r\n }\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\r\n }\r\n\r\n &:focus,\r\n &.focus-state {\r\n ${(props) => (props.invertFocus || (props.invertFocus === undefined && props.colorTheme === 'dark') ? invertedFocusStyles : focusStyles)}\r\n }\r\n &:disabled,\r\n &.disabled-state {\r\n cursor: not-allowed;\r\n }\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n pointer-events: none;\r\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\r\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n background-color: transparent;\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\r\n }\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n \r\n padding: ${(props) => (props.size === Size.Large ? '12px 16px' : props.size === Size.Small ? '4px 8px' : '6px 12px')};\r\n }\r\n\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\r\n }\r\n }\r\n }\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: transparent;\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_300)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500)};\r\n background-color: transparent;\r\n\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500)};\r\n }\r\n\r\n padding: ${(props) => (props.size === Size.Large ? '12px 16px' : props.size === Size.Small ? '4px 8px' : '6px 12px')};\r\n }\r\n\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.primary_20)};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_700)};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_700)};\r\n }\r\n }\r\n }\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : props.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.primary_100)};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: transparent !important;\r\n color: ${() => COLORS.primary_700};\r\n border-color: transparent !important;\r\n }\r\n`;\r\n\r\nexport const ButtonPositiveStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${() => COLORS.correct_500};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${() => COLORS.correct_700};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${() => COLORS.correct_800};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${() => COLORS.neutral_100};\r\n color: ${() => COLORS.neutral_300};\r\n }\r\n`;\r\n\r\nexport const ButtonCriticalStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${COLORS.critical_500};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.critical_700};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.critical_800};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.neutral_100};\r\n color: ${COLORS.neutral_300}; \r\n }\r\n`;\r\n\r\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n /** Look and feel variant of the component. Defaults to 'primary'. */\r\n variant?: 'primary' | 'secondary' | 'tertiary' | 'positive' | 'critical';\r\n /** Can be used in order to remove rounded corners on right or left edge of the button. Used by 'DualFunctionButton'. Defaults to 'undefined' */\r\n flatEdge?: 'right' | 'left' | 'none' | undefined;\r\n /** Size of the component. Small, Medium or Large. Defaults to 'medium' */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Color theme altering of the component. By default there is no altering applied. */\r\n colorTheme?: 'teal' | 'dark';\r\n /** Allows using inverted colors for outlining focus rect. Shown when component focused by keyboard. */\r\n invertFocus?: boolean;\r\n /** Can be used to set custom value for width style. Value is set for 'ButtonContent' container. */\r\n width?: 'auto' | string;\r\n /** If set, then 'opacity' of children container will be set to 0, and loading indicator will be shown. */\r\n loading?: boolean;\r\n /** TestId. Will be set to the top level button component. */\r\n testId?: string;\r\n /** Icon that will be shown on the left of the children. */\r\n icon?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Button component\r\n */\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ children = '', variant = 'primary', type = 'button', size = Size.Medium, width = 'auto', testId, disabled, flatEdge, icon, ...props }, ref) => {\r\n // Let's filter out properties that we don't need to render.\r\n const { loading, ...renderProps } = props;\r\n\r\n const renderContent = () => (\r\n <>\r\n {icon && <span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span>}\r\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\r\n {loading && <LoadingIndicator />}\r\n </>\r\n );\r\n\r\n let ButtonStyled = ButtonPrimaryStyled;\r\n switch (variant) {\r\n case 'secondary':\r\n ButtonStyled = ButtonSecondaryStyled;\r\n break;\r\n case 'tertiary':\r\n ButtonStyled = ButtonTertiaryStyled;\r\n break;\r\n case 'positive':\r\n ButtonStyled = ButtonPositiveStyled;\r\n break;\r\n case 'critical':\r\n ButtonStyled = ButtonCriticalStyled;\r\n break;\r\n }\r\n\r\n return (\r\n <ButtonStyled\r\n {...renderProps}\r\n ref={ref}\r\n disabled={disabled}\r\n iconOnly={!children}\r\n type={type}\r\n size={size}\r\n flatEdge={flatEdge}\r\n width={width}\r\n data-testid={testId}\r\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\r\n onMouseDown={defaultOnMouseDownHandler}>\r\n <ButtonContentContainer>{renderContent()}</ButtonContentContainer>\r\n </ButtonStyled>\r\n );\r\n },\r\n);\r\n\r\nexport default Button;\r\n"],"mappings":"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","ignoreList":[]}
|
package/dist/Button/Button.js
CHANGED
|
@@ -117,8 +117,20 @@ export var ButtonTertiaryStyled = styled(ButtonPrimaryStyled)(_templateObject4 |
|
|
|
117
117
|
return props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800;
|
|
118
118
|
}, function (props) {
|
|
119
119
|
return props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800;
|
|
120
|
-
}, ButtonContentContainer, ButtonContentContainer,
|
|
121
|
-
|
|
120
|
+
}, ButtonContentContainer, ButtonContentContainer, function () {
|
|
121
|
+
return COLORS.primary_700;
|
|
122
|
+
});
|
|
123
|
+
export var ButtonPositiveStyled = styled(ButtonPrimaryStyled)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n ", " {\n color: white;\n background-color: ", ";\n }\n &:hover > ", ",\n &.hover-state > ", " {\n background-color: ", ";\n }\n &:active > ", ",\n &.active-state > ", " {\n background-color: ", ";\n }\n\n &:disabled > ", ",\n &.disabled-state > ", " {\n background-color: ", ";\n color: ", ";\n }\n"])), ButtonContentContainer, function () {
|
|
124
|
+
return COLORS.correct_500;
|
|
125
|
+
}, ButtonContentContainer, ButtonContentContainer, function () {
|
|
126
|
+
return COLORS.correct_700;
|
|
127
|
+
}, ButtonContentContainer, ButtonContentContainer, function () {
|
|
128
|
+
return COLORS.correct_800;
|
|
129
|
+
}, ButtonContentContainer, ButtonContentContainer, function () {
|
|
130
|
+
return COLORS.neutral_100;
|
|
131
|
+
}, function () {
|
|
132
|
+
return COLORS.neutral_300;
|
|
133
|
+
});
|
|
122
134
|
export var ButtonCriticalStyled = styled(ButtonPrimaryStyled)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n ", " {\n color: white;\n background-color: ", ";\n }\n &:hover > ", ",\n &.hover-state > ", " {\n background-color: ", ";\n }\n &:active > ", ",\n &.active-state > ", " {\n background-color: ", ";\n }\n\n &:disabled > ", ",\n &.disabled-state > ", " {\n background-color: ", ";\n color: ", "; \n }\n"])), ButtonContentContainer, COLORS.critical_500, ButtonContentContainer, ButtonContentContainer, COLORS.critical_700, ButtonContentContainer, ButtonContentContainer, COLORS.critical_800, ButtonContentContainer, ButtonContentContainer, COLORS.neutral_100, COLORS.neutral_300);
|
|
123
135
|
/**
|
|
124
136
|
* Button component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","styled","LoadingIndicator","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","focusStyles","invertedFocusStyles","Size","defaultOnMouseDownHandler","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","getBorderRadius","flatEdge","radius","concat","ButtonContentContainer","div","_templateObject","_taggedTemplateLiteral","ButtonPrimaryStyled","button","_templateObject2","props","size","Large","Bold","colorTheme","primary_800","white","Small","accent1","primary","width","Medium","iconOnly","accent1_700","primary_100","primary_700","primary_600","accent1_800","primary_200","invertFocus","undefined","neutral_100","neutral_300","ButtonSecondaryStyled","_templateObject3","primary_300","ButtonTertiaryStyled","_templateObject4","primary_500","accent1_20","primary_20","accent1_100","ButtonPositiveStyled","_templateObject5","correct_500","correct_700","correct_800","ButtonCriticalStyled","_templateObject6","critical_500","critical_700","critical_800","Button","forwardRef","_ref","ref","_ref$children","children","_ref$variant","variant","_ref$type","type","_ref$size","_ref$width","testId","disabled","icon","_objectWithoutProperties","_excluded","loading","renderProps","_excluded2","renderContent","className","ButtonStyled","_objectSpread","onMouseDown","propTypes","_pt","oneOf","bool","oneOfType","string","node"],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { LoadingIndicator } from '../LoadingIndicator';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles';\r\nimport { COLORS, focusStyles, invertedFocusStyles } from '../styles';\r\nimport { Size, Testable } from '../types';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\n\r\nconst getBorderRadius = (flatEdge: string | undefined, radius: number) => {\r\n switch (flatEdge) {\r\n case 'left':\r\n return `0px ${radius}px ${radius}px 0px`;\r\n\r\n case 'right':\r\n return `${radius}px 0px 0px ${radius}px`;\r\n\r\n case 'none':\r\n default:\r\n return `${radius}px`;\r\n }\r\n};\r\n\r\nexport const ButtonContentContainer = styled.div`\r\n min-width: 64px;\r\n`;\r\n\r\nexport const ButtonPrimaryStyled = styled.button<ButtonProps & {iconOnly: boolean}>`\r\n border: none;\r\n background-color: transparent;\r\n cursor: pointer;\r\n padding: 0;\r\n margin: 0;\r\n position: relative;\r\n box-sizing: border-box;\r\n min-height: ${(props) => (props.size === Size.Large ? '56px' : '48px')};\r\n &.loading-state {\r\n cursor: wait;\r\n }\r\n ${ButtonContentContainer} {\r\n ${(props) =>\r\n props.size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\r\n : props.size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\r\n\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n border-radius: ${(props) => getBorderRadius(props.flatEdge, 8)};\r\n\r\n width: ${(props) => props.width};\r\n position: relative;\r\n\r\n min-height: ${(props) => (props.size === Size.Large ? '56px' : props.size === Size.Small ? '32px' : '40px')};\r\n\r\n box-sizing: border-box;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: ${(props) => (props.size === Size.Large ? '14px 16px' : props.size === Size.Small ? '6px 8px' : '8px 12px')};\r\n\r\n span.icon:not(.loading) {\r\n pointer-events: none;\r\n }\r\n\r\n span.loading {\r\n opacity: 0;\r\n }\r\n\r\n .icon {\r\n margin: ${(props) => (props.size === Size.Medium ? props.iconOnly ? '-2px -8px' : '' : (props.size === Size.Small ? props.iconOnly ? '-2px -6px' : '' : '' ))};\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n svg {\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\r\n }\r\n }\r\n\r\n .label {\r\n margin: 0 4px;\r\n }\r\n\r\n div {\r\n position: absolute;\r\n width: 100%;\r\n svg {\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary : COLORS.white)};\r\n }\r\n }\r\n }\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\r\n }\r\n\r\n &:focus,\r\n &.focus-state {\r\n ${(props) => (props.invertFocus || (props.invertFocus === undefined && props.colorTheme === 'dark') ? invertedFocusStyles : focusStyles)}\r\n }\r\n &:disabled,\r\n &.disabled-state {\r\n cursor: not-allowed;\r\n }\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n pointer-events: none;\r\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\r\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n background-color: transparent;\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\r\n }\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n \r\n padding: ${(props) => (props.size === Size.Large ? '12px 16px' : props.size === Size.Small ? '4px 8px' : '6px 12px')};\r\n }\r\n\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\r\n }\r\n }\r\n }\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: transparent;\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_300)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500)};\r\n background-color: transparent;\r\n\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500)};\r\n }\r\n\r\n padding: ${(props) => (props.size === Size.Large ? '12px 16px' : props.size === Size.Small ? '4px 8px' : '6px 12px')};\r\n }\r\n\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.primary_20)};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_700)};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_700)};\r\n }\r\n }\r\n }\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : props.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.primary_100)};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: transparent !important;\r\n color: ${COLORS.primary_700};\r\n border-color: transparent !important;\r\n }\r\n`;\r\n\r\nexport const ButtonPositiveStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${COLORS.correct_500};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.correct_700};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.correct_800};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.neutral_100};\r\n color: ${COLORS.neutral_300};\r\n }\r\n`;\r\n\r\nexport const ButtonCriticalStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${COLORS.critical_500};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.critical_700};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.critical_800};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.neutral_100};\r\n color: ${COLORS.neutral_300}; \r\n }\r\n`;\r\n\r\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n /** Look and feel variant of the component. Defaults to 'primary'. */\r\n variant?: 'primary' | 'secondary' | 'tertiary' | 'positive' | 'critical';\r\n /** Can be used in order to remove rounded corners on right or left edge of the button. Used by 'DualFunctionButton'. Defaults to 'undefined' */\r\n flatEdge?: 'right' | 'left' | 'none' | undefined;\r\n /** Size of the component. Small, Medium or Large. Defaults to 'medium' */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Color theme altering of the component. By default there is no altering applied. */\r\n colorTheme?: 'teal' | 'dark';\r\n /** Allows using inverted colors for outlining focus rect. Shown when component focused by keyboard. */\r\n invertFocus?: boolean;\r\n /** Can be used to set custom value for width style. Value is set for 'ButtonContent' container. */\r\n width?: 'auto' | string;\r\n /** If set, then 'opacity' of children container will be set to 0, and loading indicator will be shown. */\r\n loading?: boolean;\r\n /** TestId. Will be set to the top level button component. */\r\n testId?: string;\r\n /** Icon that will be shown on the left of the children. */\r\n icon?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Button component\r\n */\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ children = '', variant = 'primary', type = 'button', size = Size.Medium, width = 'auto', testId, disabled, flatEdge, icon, ...props }, ref) => {\r\n // Let's filter out properties that we don't need to render.\r\n const { loading, ...renderProps } = props;\r\n\r\n const renderContent = () => (\r\n <>\r\n {icon && <span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span>}\r\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\r\n {loading && <LoadingIndicator />}\r\n </>\r\n );\r\n\r\n let ButtonStyled = ButtonPrimaryStyled;\r\n switch (variant) {\r\n case 'secondary':\r\n ButtonStyled = ButtonSecondaryStyled;\r\n break;\r\n case 'tertiary':\r\n ButtonStyled = ButtonTertiaryStyled;\r\n break;\r\n case 'positive':\r\n ButtonStyled = ButtonPositiveStyled;\r\n break;\r\n case 'critical':\r\n ButtonStyled = ButtonCriticalStyled;\r\n break;\r\n }\r\n\r\n return (\r\n <ButtonStyled\r\n {...renderProps}\r\n ref={ref}\r\n disabled={disabled}\r\n iconOnly={!children}\r\n type={type}\r\n size={size}\r\n flatEdge={flatEdge}\r\n width={width}\r\n data-testid={testId}\r\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\r\n onMouseDown={defaultOnMouseDownHandler}>\r\n <ButtonContentContainer>{renderContent()}</ButtonContentContainer>\r\n </ButtonStyled>\r\n );\r\n },\r\n);\r\n\r\nexport default Button;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","styled","LoadingIndicator","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","focusStyles","invertedFocusStyles","Size","defaultOnMouseDownHandler","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","getBorderRadius","flatEdge","radius","concat","ButtonContentContainer","div","_templateObject","_taggedTemplateLiteral","ButtonPrimaryStyled","button","_templateObject2","props","size","Large","Bold","colorTheme","primary_800","white","Small","accent1","primary","width","Medium","iconOnly","accent1_700","primary_100","primary_700","primary_600","accent1_800","primary_200","invertFocus","undefined","neutral_100","neutral_300","ButtonSecondaryStyled","_templateObject3","primary_300","ButtonTertiaryStyled","_templateObject4","primary_500","accent1_20","primary_20","accent1_100","ButtonPositiveStyled","_templateObject5","correct_500","correct_700","correct_800","ButtonCriticalStyled","_templateObject6","critical_500","critical_700","critical_800","Button","forwardRef","_ref","ref","_ref$children","children","_ref$variant","variant","_ref$type","type","_ref$size","_ref$width","testId","disabled","icon","_objectWithoutProperties","_excluded","loading","renderProps","_excluded2","renderContent","className","ButtonStyled","_objectSpread","onMouseDown","propTypes","_pt","oneOf","bool","oneOfType","string","node"],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { LoadingIndicator } from '../LoadingIndicator';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles';\r\nimport { COLORS, focusStyles, invertedFocusStyles } from '../styles';\r\nimport { Size, Testable } from '../types';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\n\r\nconst getBorderRadius = (flatEdge: string | undefined, radius: number) => {\r\n switch (flatEdge) {\r\n case 'left':\r\n return `0px ${radius}px ${radius}px 0px`;\r\n\r\n case 'right':\r\n return `${radius}px 0px 0px ${radius}px`;\r\n\r\n case 'none':\r\n default:\r\n return `${radius}px`;\r\n }\r\n};\r\n\r\nexport const ButtonContentContainer = styled.div`\r\n min-width: 64px;\r\n`;\r\n\r\nexport const ButtonPrimaryStyled = styled.button<ButtonProps & {iconOnly: boolean}>`\r\n border: none;\r\n background-color: transparent;\r\n cursor: pointer;\r\n padding: 0;\r\n margin: 0;\r\n position: relative;\r\n box-sizing: border-box;\r\n min-height: ${(props) => (props.size === Size.Large ? '56px' : '48px')};\r\n &.loading-state {\r\n cursor: wait;\r\n }\r\n ${ButtonContentContainer} {\r\n ${(props) =>\r\n props.size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\r\n : props.size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\r\n\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n border-radius: ${(props) => getBorderRadius(props.flatEdge, 8)};\r\n\r\n width: ${(props) => props.width};\r\n position: relative;\r\n\r\n min-height: ${(props) => (props.size === Size.Large ? '56px' : props.size === Size.Small ? '32px' : '40px')};\r\n\r\n box-sizing: border-box;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: ${(props) => (props.size === Size.Large ? '14px 16px' : props.size === Size.Small ? '6px 8px' : '8px 12px')};\r\n\r\n span.icon:not(.loading) {\r\n pointer-events: none;\r\n }\r\n\r\n span.loading {\r\n opacity: 0;\r\n }\r\n\r\n .icon {\r\n margin: ${(props) => (props.size === Size.Medium ? props.iconOnly ? '-2px -8px' : '' : (props.size === Size.Small ? props.iconOnly ? '-2px -6px' : '' : '' ))};\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n svg {\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\r\n }\r\n }\r\n\r\n .label {\r\n margin: 0 4px;\r\n }\r\n\r\n div {\r\n position: absolute;\r\n width: 100%;\r\n svg {\r\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary : COLORS.white)};\r\n }\r\n }\r\n }\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\r\n }\r\n\r\n &:focus,\r\n &.focus-state {\r\n ${(props) => (props.invertFocus || (props.invertFocus === undefined && props.colorTheme === 'dark') ? invertedFocusStyles : focusStyles)}\r\n }\r\n &:disabled,\r\n &.disabled-state {\r\n cursor: not-allowed;\r\n }\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n pointer-events: none;\r\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\r\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n background-color: transparent;\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\r\n }\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\r\n \r\n padding: ${(props) => (props.size === Size.Large ? '12px 16px' : props.size === Size.Small ? '4px 8px' : '6px 12px')};\r\n }\r\n\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\r\n }\r\n }\r\n }\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: transparent;\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_300)};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500)};\r\n background-color: transparent;\r\n\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500)};\r\n }\r\n\r\n padding: ${(props) => (props.size === Size.Large ? '12px 16px' : props.size === Size.Small ? '4px 8px' : '6px 12px')};\r\n }\r\n\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.primary_20)};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_700)};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_700)};\r\n }\r\n }\r\n }\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : props.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.primary_100)};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: transparent !important;\r\n color: ${() => COLORS.primary_700};\r\n border-color: transparent !important;\r\n }\r\n`;\r\n\r\nexport const ButtonPositiveStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${() => COLORS.correct_500};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${() => COLORS.correct_700};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${() => COLORS.correct_800};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${() => COLORS.neutral_100};\r\n color: ${() => COLORS.neutral_300};\r\n }\r\n`;\r\n\r\nexport const ButtonCriticalStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${COLORS.critical_500};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.critical_700};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.critical_800};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${COLORS.neutral_100};\r\n color: ${COLORS.neutral_300}; \r\n }\r\n`;\r\n\r\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n /** Look and feel variant of the component. Defaults to 'primary'. */\r\n variant?: 'primary' | 'secondary' | 'tertiary' | 'positive' | 'critical';\r\n /** Can be used in order to remove rounded corners on right or left edge of the button. Used by 'DualFunctionButton'. Defaults to 'undefined' */\r\n flatEdge?: 'right' | 'left' | 'none' | undefined;\r\n /** Size of the component. Small, Medium or Large. Defaults to 'medium' */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Color theme altering of the component. By default there is no altering applied. */\r\n colorTheme?: 'teal' | 'dark';\r\n /** Allows using inverted colors for outlining focus rect. Shown when component focused by keyboard. */\r\n invertFocus?: boolean;\r\n /** Can be used to set custom value for width style. Value is set for 'ButtonContent' container. */\r\n width?: 'auto' | string;\r\n /** If set, then 'opacity' of children container will be set to 0, and loading indicator will be shown. */\r\n loading?: boolean;\r\n /** TestId. Will be set to the top level button component. */\r\n testId?: string;\r\n /** Icon that will be shown on the left of the children. */\r\n icon?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Button component\r\n */\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ children = '', variant = 'primary', type = 'button', size = Size.Medium, width = 'auto', testId, disabled, flatEdge, icon, ...props }, ref) => {\r\n // Let's filter out properties that we don't need to render.\r\n const { loading, ...renderProps } = props;\r\n\r\n const renderContent = () => (\r\n <>\r\n {icon && <span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span>}\r\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\r\n {loading && <LoadingIndicator />}\r\n </>\r\n );\r\n\r\n let ButtonStyled = ButtonPrimaryStyled;\r\n switch (variant) {\r\n case 'secondary':\r\n ButtonStyled = ButtonSecondaryStyled;\r\n break;\r\n case 'tertiary':\r\n ButtonStyled = ButtonTertiaryStyled;\r\n break;\r\n case 'positive':\r\n ButtonStyled = ButtonPositiveStyled;\r\n break;\r\n case 'critical':\r\n ButtonStyled = ButtonCriticalStyled;\r\n break;\r\n }\r\n\r\n return (\r\n <ButtonStyled\r\n {...renderProps}\r\n ref={ref}\r\n disabled={disabled}\r\n iconOnly={!children}\r\n type={type}\r\n size={size}\r\n flatEdge={flatEdge}\r\n width={width}\r\n data-testid={testId}\r\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\r\n onMouseDown={defaultOnMouseDownHandler}>\r\n <ButtonContentContainer>{renderContent()}</ButtonContentContainer>\r\n </ButtonStyled>\r\n );\r\n },\r\n);\r\n\r\nexport default Button;\r\n"],"mappings":"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","ignoreList":[]}
|