@laerdal/life-react-components 5.0.0-dev.1 → 5.0.0-dev.2
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/Accordion/AccordionItem.cjs +1 -1
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +1 -1
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/styles.cjs +3 -3
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.d.ts +1 -1
- package/dist/Accordion/styles.js +3 -3
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.cjs +1 -1
- package/dist/AuthPage/AuthPage.cjs.map +1 -1
- package/dist/AuthPage/AuthPage.js +1 -1
- package/dist/AuthPage/AuthPage.js.map +1 -1
- package/dist/AuthPage/ScreenSetsContainer.cjs +1 -1
- package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -1
- package/dist/AuthPage/ScreenSetsContainer.d.ts +1 -1
- package/dist/AuthPage/ScreenSetsContainer.js +1 -1
- package/dist/AuthPage/ScreenSetsContainer.js.map +1 -1
- package/dist/Banners/Banner.cjs +8 -8
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.d.ts +8 -2
- package/dist/Banners/Banner.js +8 -8
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/OverviewBanner.d.ts +4 -4
- package/dist/Breadcrumb/Breadcrumb.cjs +2 -2
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +2 -2
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Breadcrumb/styles.cjs +5 -5
- package/dist/Breadcrumb/styles.cjs.map +1 -1
- package/dist/Breadcrumb/styles.d.ts +2 -2
- package/dist/Breadcrumb/styles.js +5 -5
- package/dist/Breadcrumb/styles.js.map +1 -1
- package/dist/Button/BackButton.cjs +2 -2
- package/dist/Button/BackButton.cjs.map +1 -1
- package/dist/Button/BackButton.js +2 -2
- package/dist/Button/BackButton.js.map +1 -1
- package/dist/Button/Button.cjs +1 -1
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.js +1 -1
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs +5 -5
- package/dist/Button/DualFunctionButton.cjs.map +1 -1
- package/dist/Button/DualFunctionButton.js +5 -5
- package/dist/Button/DualFunctionButton.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +25 -23
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +24 -3
- package/dist/Button/Iconbutton.js +25 -23
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.cjs +2 -2
- package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.d.ts +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.js +2 -2
- package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.cjs +2 -2
- package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.d.ts +2 -2
- package/dist/Card/VerticalCard/CardMiddleSection.js +2 -2
- package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +9 -9
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +9 -9
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +10 -10
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.d.ts +9 -9
- package/dist/Dropdown/CommonStyling.js +10 -10
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +41 -41
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.d.ts +12 -12
- package/dist/Dropdown/DropdownContent.js +41 -41
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +8 -8
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +8 -8
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Footer/Components/FooterDropdownLinks.cjs +3 -3
- package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
- package/dist/Footer/Components/FooterDropdownLinks.js +3 -3
- package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
- package/dist/Footer/Components/FooterNavSection.cjs +2 -2
- package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNavSection.js +2 -2
- package/dist/Footer/Components/FooterNavSection.js.map +1 -1
- package/dist/Footer/SiteFooter.cjs +3 -3
- package/dist/Footer/SiteFooter.cjs.map +1 -1
- package/dist/Footer/SiteFooter.js +3 -3
- package/dist/Footer/SiteFooter.js.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +5 -5
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js +5 -5
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/GlobalNavigationBar/Logo.cjs +4 -4
- package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
- package/dist/GlobalNavigationBar/Logo.js +4 -4
- package/dist/GlobalNavigationBar/Logo.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +2 -13
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.js +2 -13
- package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +5 -5
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.d.ts +2 -2
- package/dist/GlobalNavigationBar/desktop/SubMenu.js +5 -5
- package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
- package/dist/HyperLink/HyperLink.cjs +3 -3
- package/dist/HyperLink/HyperLink.cjs.map +1 -1
- package/dist/HyperLink/HyperLink.d.ts +2 -2
- package/dist/HyperLink/HyperLink.js +3 -3
- package/dist/HyperLink/HyperLink.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +4 -4
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.d.ts +3 -3
- package/dist/InputFields/Checkbox.js +4 -4
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +9 -9
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.js +9 -9
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/Label.cjs +2 -2
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.js +2 -2
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +24 -24
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +24 -24
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs +4 -4
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.js +4 -4
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +2 -2
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.js +2 -2
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs +5 -5
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.js +5 -5
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +3 -3
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.js +3 -3
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchField.cjs.map +1 -1
- package/dist/InputFields/components/SearchField.d.ts +1 -1
- package/dist/InputFields/components/SearchField.js.map +1 -1
- package/dist/InputFields/styling.cjs +7 -7
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.d.ts +9 -9
- package/dist/InputFields/styling.js +7 -7
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/Layouts/index.cjs +11 -11
- package/dist/Layouts/index.cjs.map +1 -1
- package/dist/Layouts/index.d.ts +6 -6
- package/dist/Layouts/index.js +11 -11
- package/dist/Layouts/index.js.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
- package/dist/MenuItem/MenuItem.cjs +8 -8
- package/dist/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/MenuItem/MenuItem.d.ts +2 -2
- package/dist/MenuItem/MenuItem.js +8 -8
- package/dist/MenuItem/MenuItem.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +11 -11
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.js +11 -11
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/Modals/ModalNote.cjs +8 -8
- package/dist/Modals/ModalNote.cjs.map +1 -1
- package/dist/Modals/ModalNote.js +8 -8
- package/dist/Modals/ModalNote.js.map +1 -1
- package/dist/Modals/ModalStyles.cjs +19 -19
- package/dist/Modals/ModalStyles.cjs.map +1 -1
- package/dist/Modals/ModalStyles.d.ts +17 -17
- package/dist/Modals/ModalStyles.js +19 -19
- package/dist/Modals/ModalStyles.js.map +1 -1
- package/dist/NotificationDot/NotificationDot.cjs +11 -12
- package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
- package/dist/NotificationDot/NotificationDot.js +11 -12
- package/dist/NotificationDot/NotificationDot.js.map +1 -1
- package/dist/Popover/Popover.cjs +40 -40
- package/dist/Popover/Popover.cjs.map +1 -1
- package/dist/Popover/Popover.d.ts +9 -9
- package/dist/Popover/Popover.js +40 -40
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/QuizButton/QuizButton.cjs +14 -14
- package/dist/QuizButton/QuizButton.cjs.map +1 -1
- package/dist/QuizButton/QuizButton.js +14 -14
- package/dist/QuizButton/QuizButton.js.map +1 -1
- package/dist/Table/Table.cjs +1 -1
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +1 -1
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +2 -2
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +2 -2
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableStyles.cjs +4 -4
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.d.ts +3 -3
- package/dist/Table/TableStyles.js +4 -4
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Tabs/TabLink.cjs +3 -3
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.js +3 -3
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/Tabs.cjs.map +1 -1
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tag/Tag.cjs +6 -6
- package/dist/Tag/Tag.cjs.map +1 -1
- package/dist/Tag/Tag.js +6 -6
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Toasters/Toast.cjs +16 -16
- package/dist/Toasters/Toast.cjs.map +1 -1
- package/dist/Toasters/Toast.d.ts +6 -7
- package/dist/Toasters/Toast.js +16 -16
- package/dist/Toasters/Toast.js.map +1 -1
- package/dist/Toggles/ToggleSwitch.cjs +1 -1
- package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
- package/dist/Toggles/ToggleSwitch.js +1 -1
- package/dist/Toggles/ToggleSwitch.js.map +1 -1
- package/dist/Toggles/TogglerStyles.cjs.map +1 -1
- package/dist/Toggles/TogglerStyles.d.ts +1 -1
- package/dist/Toggles/TogglerStyles.js.map +1 -1
- package/dist/Tooltips/TooltipOverflow.cjs +7 -7
- package/dist/Tooltips/TooltipOverflow.cjs.map +1 -1
- package/dist/Tooltips/TooltipOverflow.js +7 -7
- package/dist/Tooltips/TooltipOverflow.js.map +1 -1
- package/dist/Tooltips/TooltipStyles.cjs +29 -29
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.d.ts +9 -9
- package/dist/Tooltips/TooltipStyles.js +29 -29
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/Tooltips/TooltipWrapper.cjs +7 -7
- package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
- package/dist/Tooltips/TooltipWrapper.js +7 -7
- package/dist/Tooltips/TooltipWrapper.js.map +1 -1
- package/package.json +1 -2
|
@@ -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","getColor","theme","Small","ComponentSStyling","ComponentMStyling","width","Medium","iconOnly","invertFocus","undefined","invertedFocusStyles","focusStyles","ButtonSecondaryStyled","ButtonTertiaryStyled","ButtonPositiveStyled","ButtonCriticalStyled","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.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))\r\n : props.size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))};\r\n\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\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.getColor('primary', props.theme) : COLORS.getColor('white', props.theme))};\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.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_100', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.getColor('white', props.theme))};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))};\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.getColor('primary_700', props.theme) : COLORS.getColor('neutral_100', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('neutral_300', props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)<ButtonProps & {iconOnly: boolean}>`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\r\n background-color: transparent;\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : COLORS.getColor('primary', props.theme))};\r\n }\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\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.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : COLORS.getColor('primary_700', props.theme))};\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.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_300', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_300', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\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.getColor('primary_700', props.theme) : COLORS.getColor('neutral_300', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.getColor('neutral_100', props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_500', props.theme))};\r\n background-color: transparent;\r\n\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_500', props.theme))};\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.getColor('accent1_20', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.getColor('primary_20', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_700', props.theme))};\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.getColor('accent1_100', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.getColor('primary_100', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\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: ${props => COLORS.getColor('primary_700', props.theme)};\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: ${props => COLORS.getColor('correct_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('correct_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('correct_800', props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n`;\r\n\r\nexport const ButtonCriticalStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('critical_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('critical_800', props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)}; \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: any = 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","getColor","theme","Small","ComponentSStyling","ComponentMStyling","width","Medium","iconOnly","invertFocus","undefined","invertedFocusStyles","focusStyles","ButtonSecondaryStyled","ButtonTertiaryStyled","ButtonPositiveStyled","ButtonCriticalStyled","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","$width","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.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))\r\n : props.size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))};\r\n\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\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.getColor('primary', props.theme) : COLORS.getColor('white', props.theme))};\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.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_100', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.getColor('white', props.theme))};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))};\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.getColor('primary_700', props.theme) : COLORS.getColor('neutral_100', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('neutral_300', props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)<ButtonProps & {iconOnly: boolean}>`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\r\n background-color: transparent;\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : COLORS.getColor('primary', props.theme))};\r\n }\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\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.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : COLORS.getColor('primary_700', props.theme))};\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.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_300', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_300', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\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.getColor('primary_700', props.theme) : COLORS.getColor('neutral_300', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.getColor('neutral_100', props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_500', props.theme))};\r\n background-color: transparent;\r\n\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_500', props.theme))};\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.getColor('accent1_20', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.getColor('primary_20', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_700', props.theme))};\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.getColor('accent1_100', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.getColor('primary_100', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\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: ${props => COLORS.getColor('primary_700', props.theme)};\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: ${props => COLORS.getColor('correct_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('correct_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('correct_800', props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n`;\r\n\r\nexport const ButtonCriticalStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('critical_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('critical_800', props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)}; \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: 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: any = 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
|
@@ -197,7 +197,7 @@ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
197
197
|
type: type,
|
|
198
198
|
size: size,
|
|
199
199
|
flatEdge: flatEdge,
|
|
200
|
-
width: width,
|
|
200
|
+
$width: width,
|
|
201
201
|
"data-testid": testId,
|
|
202
202
|
className: props.loading ? 'loading-state ' + props.className : ' ' + props.className,
|
|
203
203
|
onMouseDown: defaultOnMouseDownHandler,
|
|
@@ -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","getColor","theme","Small","width","Medium","iconOnly","invertFocus","undefined","ButtonSecondaryStyled","_templateObject3","ButtonTertiaryStyled","_templateObject4","ButtonPositiveStyled","_templateObject5","ButtonCriticalStyled","_templateObject6","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.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))\r\n : props.size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))};\r\n\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\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.getColor('primary', props.theme) : COLORS.getColor('white', props.theme))};\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.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_100', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.getColor('white', props.theme))};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))};\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.getColor('primary_700', props.theme) : COLORS.getColor('neutral_100', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('neutral_300', props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)<ButtonProps & {iconOnly: boolean}>`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\r\n background-color: transparent;\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : COLORS.getColor('primary', props.theme))};\r\n }\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\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.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : COLORS.getColor('primary_700', props.theme))};\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.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_300', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_300', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\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.getColor('primary_700', props.theme) : COLORS.getColor('neutral_300', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.getColor('neutral_100', props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_500', props.theme))};\r\n background-color: transparent;\r\n\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_500', props.theme))};\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.getColor('accent1_20', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.getColor('primary_20', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_700', props.theme))};\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.getColor('accent1_100', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.getColor('primary_100', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\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: ${props => COLORS.getColor('primary_700', props.theme)};\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: ${props => COLORS.getColor('correct_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('correct_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('correct_800', props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n`;\r\n\r\nexport const ButtonCriticalStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('critical_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('critical_800', props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)}; \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: any = 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","getColor","theme","Small","width","Medium","iconOnly","invertFocus","undefined","ButtonSecondaryStyled","_templateObject3","ButtonTertiaryStyled","_templateObject4","ButtonPositiveStyled","_templateObject5","ButtonCriticalStyled","_templateObject6","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","$width","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.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))\r\n : props.size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))};\r\n\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\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.getColor('primary', props.theme) : COLORS.getColor('white', props.theme))};\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.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_100', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.getColor('white', props.theme))};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('white', props.theme))};\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.getColor('primary_700', props.theme) : COLORS.getColor('neutral_100', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.getColor('neutral_300', props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)<ButtonProps & {iconOnly: boolean}>`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\r\n background-color: transparent;\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : COLORS.getColor('primary', props.theme))};\r\n }\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary', props.theme))};\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.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_200', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : COLORS.getColor('primary_700', props.theme))};\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.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_300', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('primary_300', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n \r\n background-color: transparent;\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props?.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\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.getColor('primary_700', props.theme) : COLORS.getColor('neutral_300', props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.getColor('neutral_100', props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_500', props.theme))};\r\n background-color: transparent;\r\n\r\n div svg path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_500', props.theme))};\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.getColor('accent1_20', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.getColor('primary_20', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_700', props.theme))};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_700', props.theme))};\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.getColor('accent1_100', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.getColor('primary_100', props.theme))};\r\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\r\n\r\n div {\r\n svg {\r\n path {\r\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.getColor('primary_800', props.theme))};\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: ${props => COLORS.getColor('primary_700', props.theme)};\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: ${props => COLORS.getColor('correct_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('correct_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('correct_800', props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n`;\r\n\r\nexport const ButtonCriticalStyled = styled(ButtonPrimaryStyled)<ButtonProps>`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('critical_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('critical_800', props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)}; \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: 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: any = 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":[]}
|
|
@@ -29,7 +29,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
29
29
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
30
30
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
31
31
|
var DualButtonsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n\n button:first-child {\n margin-right: 2px;\n }\n\n ", " {\n min-width: unset;\n gap: 0px;\n padding: ", ";\n }\n\n .extraMargin {\n margin-bottom: 4px;\n }\n"])), _Button.ButtonContentContainer, function (props) {
|
|
32
|
-
return props
|
|
32
|
+
return props.$size == _types.Size.Large ? '4px 18px' : props.$size == _types.Size.Medium ? '4px 14px' : '4px 10px';
|
|
33
33
|
});
|
|
34
34
|
var DualFunctionButton = function DualFunctionButton(_ref) {
|
|
35
35
|
var _ref$children = _ref.children,
|
|
@@ -87,11 +87,11 @@ var DualFunctionButton = function DualFunctionButton(_ref) {
|
|
|
87
87
|
}, [isOpen]);
|
|
88
88
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DualButtonsContainer, {
|
|
89
89
|
ref: dropdownContainerRef,
|
|
90
|
-
size: size,
|
|
90
|
+
$size: size,
|
|
91
91
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyling.DropdownContainer, {
|
|
92
|
-
isButton: true,
|
|
93
|
-
readOnly: false,
|
|
94
|
-
disabled: false,
|
|
92
|
+
$isButton: true,
|
|
93
|
+
$readOnly: false,
|
|
94
|
+
$disabled: false,
|
|
95
95
|
margin: "",
|
|
96
96
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], _objectSpread(_objectSpread({}, renderProps), {}, {
|
|
97
97
|
testId: testId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualFunctionButton.cjs","names":["React","_interopRequireWildcard","require","_Button","_icons","_CommonStyling","_nanoid","_types","_DropdownContent","_interopRequireDefault","_styledComponents","_common","_jsxRuntime","_excluded","_excluded2","_templateObject","_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","DualButtonsContainer","styled","div","_taggedTemplateLiteral2","ButtonContentContainer","props","size","Size","Large","Medium","DualFunctionButton","_ref","_ref$children","children","_ref$variant","variant","_ref$type","type","_ref$size","_ref$width","width","testId","disabled","id","dropdownMenuValues","setDropdownMenuValues","dropdownCustomizationProps","_objectWithoutProperties2","loading","icon","onClick","renderProps","_React$useState","useState","_React$useState2","_slicedToArray2","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","focused","setFocused","_React$useState7","_React$useState8","keyboardNavigated","setKeyboardNavigated","dropdownContainerRef","useRef","_React$useState9","_React$useState10","selectedValues","setSelectedValues","dropdownContentRef","dropdownButtonRef","useClickOutsideRef","useFocusOutsideRef","dropdownContentId","nanoid","useEffect","jsxs","ref","DropdownContainer","isButton","readOnly","margin","jsx","flatEdge","containerRef","customizationProps","itemsType","onActiveDescendantChanged","outline","messageOnNoResults","alignLeft","ariaRolesType","onKeyPress","key","className","role","stopPropagation","SystemIcons","ArrowDropUp","ArrowDropDown","propTypes","_propTypes","arrayOf","string","func","_default","exports"],"sources":["../../src/Button/DualFunctionButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport Button, { ButtonContentContainer, ButtonProps } from './Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { DropdownContainer } from '../Dropdown/CommonStyling';\r\nimport { nanoid } from 'nanoid';\r\nimport { Size } from '../types';\r\nimport DropdownContent, { DropdownCustomizationProps } from '../Dropdown/DropdownContent';\r\nimport styled from 'styled-components';\r\nimport { useClickOutsideRef, useFocusOutsideRef } from '../common';\r\n\r\nconst DualButtonsContainer = styled.div<{ size?: Size }>`\r\n display: flex;\r\n align-items: center;\r\n\r\n button:first-child {\r\n margin-right: 2px;\r\n }\r\n\r\n ${ButtonContentContainer} {\r\n min-width: unset;\r\n gap: 0px;\r\n padding: ${(props) => (props.size == Size.Large ? '4px 18px' : props.size == Size.Medium ? '4px 14px' : '4px 10px')};\r\n }\r\n\r\n .extraMargin {\r\n margin-bottom: 4px;\r\n }\r\n`;\r\n\r\nexport interface ButtonOption {\r\n label: string;\r\n}\r\n\r\nexport interface DualButtonProps extends ButtonProps {\r\n /**\r\n * Required. An object containing customization properties for the dropdown.\r\n */\r\n dropdownCustomizationProps: DropdownCustomizationProps;\r\n /**\r\n * Optional. An array of strings representing the values in the dropdown menu.\r\n */\r\n dropdownMenuValues?: string[];\r\n /**\r\n * Optional. A function to be called when the values in the dropdown menu change.\r\n * It should return void, a boolean, or undefined.\r\n */\r\n setDropdownMenuValues?: (values: string[]) => void | boolean | undefined;\r\n}\r\n\r\nconst DualFunctionButton: React.FunctionComponent<DualButtonProps> = ({\r\n children = 'Primary Button',\r\n variant = 'primary',\r\n type = 'button',\r\n size = Size.Medium,\r\n width = 'auto',\r\n testId,\r\n disabled,\r\n id,\r\n dropdownMenuValues,\r\n setDropdownMenuValues,\r\n dropdownCustomizationProps,\r\n ...props\r\n}) => {\r\n // Let's filter out properties that we don't need to render.\r\n const { loading, icon, onClick, ...renderProps } = props;\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\r\n\r\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\r\n const dropdownButtonRef = useClickOutsideRef(\r\n () => setIsOpen(false),\r\n [dropdownContainerRef],\r\n useFocusOutsideRef(() => setIsOpen(false), [dropdownContentRef]),\r\n );\r\n \r\n const dropdownContentId = id ? id + '_dropdownContent' : nanoid();\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n return (\r\n <DualButtonsContainer ref={dropdownContainerRef} size={size}>\r\n <DropdownContainer isButton={true} readOnly={false} disabled={false} margin=\"\">\r\n <Button {...renderProps} testId={testId} onClick={onClick} disabled={disabled} type={type} loading={loading} icon={icon} size={size} width={width} variant={variant} flatEdge=\"right\">\r\n {children}\r\n </Button>\r\n <DropdownContent\r\n containerRef={dropdownContainerRef}\r\n customizationProps={dropdownCustomizationProps}\r\n filter=\"\"\r\n ref={dropdownContentRef}\r\n selectedValues={dropdownCustomizationProps.itemsType == 'normal' ? [] : dropdownMenuValues ?? selectedValues}\r\n setSelectedValues={setDropdownMenuValues ? setDropdownMenuValues : setSelectedValues}\r\n isButton={true}\r\n setIsOpen={setIsOpen}\r\n focused={focused}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n setFocused={setFocused}\r\n size={size}\r\n outline={keyboardNavigated}\r\n isOpen={isOpen}\r\n id={dropdownContentId}\r\n messageOnNoResults=\"\"\r\n alignLeft={true}\r\n ariaRolesType=\"menu\"\r\n />\r\n </DropdownContainer>\r\n <Button\r\n variant={variant}\r\n {...renderProps}\r\n onKeyPress={(e: any) => {\r\n if (isOpen) return;\r\n\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setFocused(0);\r\n setKeyboardNavigated(true);\r\n }\r\n }}\r\n className=\"extraMargin\"\r\n testId={'options_toggleBtn'}\r\n ref={dropdownButtonRef}\r\n aria-activedescendant={activeDescendant}\r\n role=\"button\"\r\n aria-controls={dropdownContentId}\r\n disabled={disabled}\r\n type={type}\r\n size={size}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n }}\r\n icon={ isOpen ? <SystemIcons.ArrowDropUp aria-hidden=\"true\" size=\"16px\" /> \r\n : <SystemIcons.ArrowDropDown aria-hidden=\"true\" size=\"16px\" /> }\r\n flatEdge=\"left\"\r\n />\r\n </DualButtonsContainer>\r\n );\r\n};\r\n\r\nexport default DualFunctionButton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DualFunctionButton.cjs","names":["React","_interopRequireWildcard","require","_Button","_icons","_CommonStyling","_nanoid","_types","_DropdownContent","_interopRequireDefault","_styledComponents","_common","_jsxRuntime","_excluded","_excluded2","_templateObject","_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","DualButtonsContainer","styled","div","_taggedTemplateLiteral2","ButtonContentContainer","props","$size","Size","Large","Medium","DualFunctionButton","_ref","_ref$children","children","_ref$variant","variant","_ref$type","type","_ref$size","size","_ref$width","width","testId","disabled","id","dropdownMenuValues","setDropdownMenuValues","dropdownCustomizationProps","_objectWithoutProperties2","loading","icon","onClick","renderProps","_React$useState","useState","_React$useState2","_slicedToArray2","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","focused","setFocused","_React$useState7","_React$useState8","keyboardNavigated","setKeyboardNavigated","dropdownContainerRef","useRef","_React$useState9","_React$useState10","selectedValues","setSelectedValues","dropdownContentRef","dropdownButtonRef","useClickOutsideRef","useFocusOutsideRef","dropdownContentId","nanoid","useEffect","jsxs","ref","DropdownContainer","$isButton","$readOnly","$disabled","margin","jsx","flatEdge","containerRef","customizationProps","itemsType","isButton","onActiveDescendantChanged","outline","messageOnNoResults","alignLeft","ariaRolesType","onKeyPress","key","className","role","stopPropagation","SystemIcons","ArrowDropUp","ArrowDropDown","propTypes","_propTypes","arrayOf","string","func","_default","exports"],"sources":["../../src/Button/DualFunctionButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport Button, { ButtonContentContainer, ButtonProps } from './Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { DropdownContainer } from '../Dropdown/CommonStyling';\r\nimport { nanoid } from 'nanoid';\r\nimport { Size } from '../types';\r\nimport DropdownContent, { DropdownCustomizationProps } from '../Dropdown/DropdownContent';\r\nimport styled from 'styled-components';\r\nimport { useClickOutsideRef, useFocusOutsideRef } from '../common';\r\n\r\nconst DualButtonsContainer = styled.div<{ $size?: Size }>`\r\n display: flex;\r\n align-items: center;\r\n\r\n button:first-child {\r\n margin-right: 2px;\r\n }\r\n\r\n ${ButtonContentContainer} {\r\n min-width: unset;\r\n gap: 0px;\r\n padding: ${(props) => (props.$size == Size.Large ? '4px 18px' : props.$size == Size.Medium ? '4px 14px' : '4px 10px')};\r\n }\r\n\r\n .extraMargin {\r\n margin-bottom: 4px;\r\n }\r\n`;\r\n\r\nexport interface ButtonOption {\r\n label: string;\r\n}\r\n\r\nexport interface DualButtonProps extends ButtonProps {\r\n /**\r\n * Required. An object containing customization properties for the dropdown.\r\n */\r\n dropdownCustomizationProps: DropdownCustomizationProps;\r\n /**\r\n * Optional. An array of strings representing the values in the dropdown menu.\r\n */\r\n dropdownMenuValues?: string[];\r\n /**\r\n * Optional. A function to be called when the values in the dropdown menu change.\r\n * It should return void, a boolean, or undefined.\r\n */\r\n setDropdownMenuValues?: (values: string[]) => void | boolean | undefined;\r\n}\r\n\r\nconst DualFunctionButton: React.FunctionComponent<DualButtonProps> = ({\r\n children = 'Primary Button',\r\n variant = 'primary',\r\n type = 'button',\r\n size = Size.Medium,\r\n width: width = 'auto',\r\n testId,\r\n disabled,\r\n id,\r\n dropdownMenuValues,\r\n setDropdownMenuValues,\r\n dropdownCustomizationProps,\r\n ...props\r\n}) => {\r\n // Let's filter out properties that we don't need to render.\r\n const { loading, icon, onClick, ...renderProps } = props;\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\r\n\r\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\r\n const dropdownButtonRef = useClickOutsideRef(\r\n () => setIsOpen(false),\r\n [dropdownContainerRef],\r\n useFocusOutsideRef(() => setIsOpen(false), [dropdownContentRef]),\r\n );\r\n \r\n const dropdownContentId = id ? id + '_dropdownContent' : nanoid();\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n return (\r\n <DualButtonsContainer ref={dropdownContainerRef} $size={size}>\r\n <DropdownContainer $isButton={true} $readOnly={false} $disabled={false} margin=\"\">\r\n <Button {...renderProps} testId={testId} onClick={onClick} disabled={disabled} type={type} loading={loading} icon={icon} size={size} width={width} variant={variant} flatEdge=\"right\">\r\n {children}\r\n </Button>\r\n <DropdownContent\r\n containerRef={dropdownContainerRef}\r\n customizationProps={dropdownCustomizationProps}\r\n filter=\"\"\r\n ref={dropdownContentRef}\r\n selectedValues={dropdownCustomizationProps.itemsType == 'normal' ? [] : dropdownMenuValues ?? selectedValues}\r\n setSelectedValues={setDropdownMenuValues ? setDropdownMenuValues : setSelectedValues}\r\n isButton={true}\r\n setIsOpen={setIsOpen}\r\n focused={focused}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n setFocused={setFocused}\r\n size={size}\r\n outline={keyboardNavigated}\r\n isOpen={isOpen}\r\n id={dropdownContentId}\r\n messageOnNoResults=\"\"\r\n alignLeft={true}\r\n ariaRolesType=\"menu\"\r\n />\r\n </DropdownContainer>\r\n <Button\r\n variant={variant}\r\n {...renderProps}\r\n onKeyPress={(e: any) => {\r\n if (isOpen) return;\r\n\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setFocused(0);\r\n setKeyboardNavigated(true);\r\n }\r\n }}\r\n className=\"extraMargin\"\r\n testId={'options_toggleBtn'}\r\n ref={dropdownButtonRef}\r\n aria-activedescendant={activeDescendant}\r\n role=\"button\"\r\n aria-controls={dropdownContentId}\r\n disabled={disabled}\r\n type={type}\r\n size={size}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n }}\r\n icon={ isOpen ? <SystemIcons.ArrowDropUp aria-hidden=\"true\" size=\"16px\" /> \r\n : <SystemIcons.ArrowDropDown aria-hidden=\"true\" size=\"16px\" /> }\r\n flatEdge=\"left\"\r\n />\r\n </DualButtonsContainer>\r\n );\r\n};\r\n\r\nexport default DualFunctionButton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,7 +20,7 @@ import { useClickOutsideRef, useFocusOutsideRef } from '../common';
|
|
|
20
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
21
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
22
22
|
var DualButtonsContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n\n button:first-child {\n margin-right: 2px;\n }\n\n ", " {\n min-width: unset;\n gap: 0px;\n padding: ", ";\n }\n\n .extraMargin {\n margin-bottom: 4px;\n }\n"])), ButtonContentContainer, function (props) {
|
|
23
|
-
return props
|
|
23
|
+
return props.$size == Size.Large ? '4px 18px' : props.$size == Size.Medium ? '4px 14px' : '4px 10px';
|
|
24
24
|
});
|
|
25
25
|
var DualFunctionButton = function DualFunctionButton(_ref) {
|
|
26
26
|
var _ref$children = _ref.children,
|
|
@@ -78,11 +78,11 @@ var DualFunctionButton = function DualFunctionButton(_ref) {
|
|
|
78
78
|
}, [isOpen]);
|
|
79
79
|
return /*#__PURE__*/_jsxs(DualButtonsContainer, {
|
|
80
80
|
ref: dropdownContainerRef,
|
|
81
|
-
size: size,
|
|
81
|
+
$size: size,
|
|
82
82
|
children: [/*#__PURE__*/_jsxs(DropdownContainer, {
|
|
83
|
-
isButton: true,
|
|
84
|
-
readOnly: false,
|
|
85
|
-
disabled: false,
|
|
83
|
+
$isButton: true,
|
|
84
|
+
$readOnly: false,
|
|
85
|
+
$disabled: false,
|
|
86
86
|
margin: "",
|
|
87
87
|
children: [/*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({}, renderProps), {}, {
|
|
88
88
|
testId: testId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualFunctionButton.js","names":["React","Button","ButtonContentContainer","SystemIcons","DropdownContainer","nanoid","Size","DropdownContent","styled","useClickOutsideRef","useFocusOutsideRef","jsx","_jsx","jsxs","_jsxs","DualButtonsContainer","div","_templateObject","_taggedTemplateLiteral","props","size","Large","Medium","DualFunctionButton","_ref","_ref$children","children","_ref$variant","variant","_ref$type","type","_ref$size","_ref$width","width","testId","disabled","id","dropdownMenuValues","setDropdownMenuValues","dropdownCustomizationProps","_objectWithoutProperties","_excluded","loading","icon","onClick","renderProps","_excluded2","_React$useState","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","focused","setFocused","_React$useState7","_React$useState8","keyboardNavigated","setKeyboardNavigated","dropdownContainerRef","useRef","_React$useState9","_React$useState10","selectedValues","setSelectedValues","dropdownContentRef","dropdownButtonRef","dropdownContentId","useEffect","ref","isButton","readOnly","margin","_objectSpread","flatEdge","containerRef","customizationProps","filter","itemsType","onActiveDescendantChanged","e","outline","messageOnNoResults","alignLeft","ariaRolesType","onKeyPress","key","className","role","stopPropagation","ArrowDropUp","ArrowDropDown","propTypes","_pt","arrayOf","string","func"],"sources":["../../src/Button/DualFunctionButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport Button, { ButtonContentContainer, ButtonProps } from './Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { DropdownContainer } from '../Dropdown/CommonStyling';\r\nimport { nanoid } from 'nanoid';\r\nimport { Size } from '../types';\r\nimport DropdownContent, { DropdownCustomizationProps } from '../Dropdown/DropdownContent';\r\nimport styled from 'styled-components';\r\nimport { useClickOutsideRef, useFocusOutsideRef } from '../common';\r\n\r\nconst DualButtonsContainer = styled.div<{ size?: Size }>`\r\n display: flex;\r\n align-items: center;\r\n\r\n button:first-child {\r\n margin-right: 2px;\r\n }\r\n\r\n ${ButtonContentContainer} {\r\n min-width: unset;\r\n gap: 0px;\r\n padding: ${(props) => (props.size == Size.Large ? '4px 18px' : props.size == Size.Medium ? '4px 14px' : '4px 10px')};\r\n }\r\n\r\n .extraMargin {\r\n margin-bottom: 4px;\r\n }\r\n`;\r\n\r\nexport interface ButtonOption {\r\n label: string;\r\n}\r\n\r\nexport interface DualButtonProps extends ButtonProps {\r\n /**\r\n * Required. An object containing customization properties for the dropdown.\r\n */\r\n dropdownCustomizationProps: DropdownCustomizationProps;\r\n /**\r\n * Optional. An array of strings representing the values in the dropdown menu.\r\n */\r\n dropdownMenuValues?: string[];\r\n /**\r\n * Optional. A function to be called when the values in the dropdown menu change.\r\n * It should return void, a boolean, or undefined.\r\n */\r\n setDropdownMenuValues?: (values: string[]) => void | boolean | undefined;\r\n}\r\n\r\nconst DualFunctionButton: React.FunctionComponent<DualButtonProps> = ({\r\n children = 'Primary Button',\r\n variant = 'primary',\r\n type = 'button',\r\n size = Size.Medium,\r\n width = 'auto',\r\n testId,\r\n disabled,\r\n id,\r\n dropdownMenuValues,\r\n setDropdownMenuValues,\r\n dropdownCustomizationProps,\r\n ...props\r\n}) => {\r\n // Let's filter out properties that we don't need to render.\r\n const { loading, icon, onClick, ...renderProps } = props;\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\r\n\r\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\r\n const dropdownButtonRef = useClickOutsideRef(\r\n () => setIsOpen(false),\r\n [dropdownContainerRef],\r\n useFocusOutsideRef(() => setIsOpen(false), [dropdownContentRef]),\r\n );\r\n \r\n const dropdownContentId = id ? id + '_dropdownContent' : nanoid();\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n return (\r\n <DualButtonsContainer ref={dropdownContainerRef} size={size}>\r\n <DropdownContainer isButton={true} readOnly={false} disabled={false} margin=\"\">\r\n <Button {...renderProps} testId={testId} onClick={onClick} disabled={disabled} type={type} loading={loading} icon={icon} size={size} width={width} variant={variant} flatEdge=\"right\">\r\n {children}\r\n </Button>\r\n <DropdownContent\r\n containerRef={dropdownContainerRef}\r\n customizationProps={dropdownCustomizationProps}\r\n filter=\"\"\r\n ref={dropdownContentRef}\r\n selectedValues={dropdownCustomizationProps.itemsType == 'normal' ? [] : dropdownMenuValues ?? selectedValues}\r\n setSelectedValues={setDropdownMenuValues ? setDropdownMenuValues : setSelectedValues}\r\n isButton={true}\r\n setIsOpen={setIsOpen}\r\n focused={focused}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n setFocused={setFocused}\r\n size={size}\r\n outline={keyboardNavigated}\r\n isOpen={isOpen}\r\n id={dropdownContentId}\r\n messageOnNoResults=\"\"\r\n alignLeft={true}\r\n ariaRolesType=\"menu\"\r\n />\r\n </DropdownContainer>\r\n <Button\r\n variant={variant}\r\n {...renderProps}\r\n onKeyPress={(e: any) => {\r\n if (isOpen) return;\r\n\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setFocused(0);\r\n setKeyboardNavigated(true);\r\n }\r\n }}\r\n className=\"extraMargin\"\r\n testId={'options_toggleBtn'}\r\n ref={dropdownButtonRef}\r\n aria-activedescendant={activeDescendant}\r\n role=\"button\"\r\n aria-controls={dropdownContentId}\r\n disabled={disabled}\r\n type={type}\r\n size={size}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n }}\r\n icon={ isOpen ? <SystemIcons.ArrowDropUp aria-hidden=\"true\" size=\"16px\" /> \r\n : <SystemIcons.ArrowDropDown aria-hidden=\"true\" size=\"16px\" /> }\r\n flatEdge=\"left\"\r\n />\r\n </DualButtonsContainer>\r\n );\r\n};\r\n\r\nexport default DualFunctionButton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DualFunctionButton.js","names":["React","Button","ButtonContentContainer","SystemIcons","DropdownContainer","nanoid","Size","DropdownContent","styled","useClickOutsideRef","useFocusOutsideRef","jsx","_jsx","jsxs","_jsxs","DualButtonsContainer","div","_templateObject","_taggedTemplateLiteral","props","$size","Large","Medium","DualFunctionButton","_ref","_ref$children","children","_ref$variant","variant","_ref$type","type","_ref$size","size","_ref$width","width","testId","disabled","id","dropdownMenuValues","setDropdownMenuValues","dropdownCustomizationProps","_objectWithoutProperties","_excluded","loading","icon","onClick","renderProps","_excluded2","_React$useState","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","focused","setFocused","_React$useState7","_React$useState8","keyboardNavigated","setKeyboardNavigated","dropdownContainerRef","useRef","_React$useState9","_React$useState10","selectedValues","setSelectedValues","dropdownContentRef","dropdownButtonRef","dropdownContentId","useEffect","ref","$isButton","$readOnly","$disabled","margin","_objectSpread","flatEdge","containerRef","customizationProps","filter","itemsType","isButton","onActiveDescendantChanged","e","outline","messageOnNoResults","alignLeft","ariaRolesType","onKeyPress","key","className","role","stopPropagation","ArrowDropUp","ArrowDropDown","propTypes","_pt","arrayOf","string","func"],"sources":["../../src/Button/DualFunctionButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport Button, { ButtonContentContainer, ButtonProps } from './Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { DropdownContainer } from '../Dropdown/CommonStyling';\r\nimport { nanoid } from 'nanoid';\r\nimport { Size } from '../types';\r\nimport DropdownContent, { DropdownCustomizationProps } from '../Dropdown/DropdownContent';\r\nimport styled from 'styled-components';\r\nimport { useClickOutsideRef, useFocusOutsideRef } from '../common';\r\n\r\nconst DualButtonsContainer = styled.div<{ $size?: Size }>`\r\n display: flex;\r\n align-items: center;\r\n\r\n button:first-child {\r\n margin-right: 2px;\r\n }\r\n\r\n ${ButtonContentContainer} {\r\n min-width: unset;\r\n gap: 0px;\r\n padding: ${(props) => (props.$size == Size.Large ? '4px 18px' : props.$size == Size.Medium ? '4px 14px' : '4px 10px')};\r\n }\r\n\r\n .extraMargin {\r\n margin-bottom: 4px;\r\n }\r\n`;\r\n\r\nexport interface ButtonOption {\r\n label: string;\r\n}\r\n\r\nexport interface DualButtonProps extends ButtonProps {\r\n /**\r\n * Required. An object containing customization properties for the dropdown.\r\n */\r\n dropdownCustomizationProps: DropdownCustomizationProps;\r\n /**\r\n * Optional. An array of strings representing the values in the dropdown menu.\r\n */\r\n dropdownMenuValues?: string[];\r\n /**\r\n * Optional. A function to be called when the values in the dropdown menu change.\r\n * It should return void, a boolean, or undefined.\r\n */\r\n setDropdownMenuValues?: (values: string[]) => void | boolean | undefined;\r\n}\r\n\r\nconst DualFunctionButton: React.FunctionComponent<DualButtonProps> = ({\r\n children = 'Primary Button',\r\n variant = 'primary',\r\n type = 'button',\r\n size = Size.Medium,\r\n width: width = 'auto',\r\n testId,\r\n disabled,\r\n id,\r\n dropdownMenuValues,\r\n setDropdownMenuValues,\r\n dropdownCustomizationProps,\r\n ...props\r\n}) => {\r\n // Let's filter out properties that we don't need to render.\r\n const { loading, icon, onClick, ...renderProps } = props;\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\r\n\r\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\r\n const dropdownButtonRef = useClickOutsideRef(\r\n () => setIsOpen(false),\r\n [dropdownContainerRef],\r\n useFocusOutsideRef(() => setIsOpen(false), [dropdownContentRef]),\r\n );\r\n \r\n const dropdownContentId = id ? id + '_dropdownContent' : nanoid();\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n return (\r\n <DualButtonsContainer ref={dropdownContainerRef} $size={size}>\r\n <DropdownContainer $isButton={true} $readOnly={false} $disabled={false} margin=\"\">\r\n <Button {...renderProps} testId={testId} onClick={onClick} disabled={disabled} type={type} loading={loading} icon={icon} size={size} width={width} variant={variant} flatEdge=\"right\">\r\n {children}\r\n </Button>\r\n <DropdownContent\r\n containerRef={dropdownContainerRef}\r\n customizationProps={dropdownCustomizationProps}\r\n filter=\"\"\r\n ref={dropdownContentRef}\r\n selectedValues={dropdownCustomizationProps.itemsType == 'normal' ? [] : dropdownMenuValues ?? selectedValues}\r\n setSelectedValues={setDropdownMenuValues ? setDropdownMenuValues : setSelectedValues}\r\n isButton={true}\r\n setIsOpen={setIsOpen}\r\n focused={focused}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n setFocused={setFocused}\r\n size={size}\r\n outline={keyboardNavigated}\r\n isOpen={isOpen}\r\n id={dropdownContentId}\r\n messageOnNoResults=\"\"\r\n alignLeft={true}\r\n ariaRolesType=\"menu\"\r\n />\r\n </DropdownContainer>\r\n <Button\r\n variant={variant}\r\n {...renderProps}\r\n onKeyPress={(e: any) => {\r\n if (isOpen) return;\r\n\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setFocused(0);\r\n setKeyboardNavigated(true);\r\n }\r\n }}\r\n className=\"extraMargin\"\r\n testId={'options_toggleBtn'}\r\n ref={dropdownButtonRef}\r\n aria-activedescendant={activeDescendant}\r\n role=\"button\"\r\n aria-controls={dropdownContentId}\r\n disabled={disabled}\r\n type={type}\r\n size={size}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n }}\r\n icon={ isOpen ? <SystemIcons.ArrowDropUp aria-hidden=\"true\" size=\"16px\" /> \r\n : <SystemIcons.ArrowDropDown aria-hidden=\"true\" size=\"16px\" /> }\r\n flatEdge=\"left\"\r\n />\r\n </DualButtonsContainer>\r\n );\r\n};\r\n\r\nexport default DualFunctionButton;\r\n"],"mappings":"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","ignoreList":[]}
|