@laerdal/life-react-components 6.0.0-dev.1.full → 6.0.0-dev.10.full
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/ContentAccordion.cjs +40 -11
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.js +40 -11
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/styles.cjs +51 -13
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.js +51 -13
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/Banners/Banner.cjs +38 -34
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.d.ts +2 -3
- package/dist/Banners/Banner.js +38 -34
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/styles.cjs +8 -16
- package/dist/Banners/styles.cjs.map +1 -1
- package/dist/Banners/styles.js +8 -16
- package/dist/Banners/styles.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +8 -2
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Breadcrumb/styles.cjs +15 -4
- package/dist/Breadcrumb/styles.cjs.map +1 -1
- package/dist/Breadcrumb/styles.js +15 -4
- package/dist/Breadcrumb/styles.js.map +1 -1
- package/dist/Button/BackButton.cjs +27 -6
- package/dist/Button/BackButton.cjs.map +1 -1
- package/dist/Button/BackButton.js +27 -6
- package/dist/Button/BackButton.js.map +1 -1
- package/dist/Button/Button.cjs +179 -47
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.d.ts +2 -0
- package/dist/Button/Button.js +179 -47
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +83 -21
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.js +83 -21
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
- package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
- package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
- package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
- package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
- package/dist/Card/VerticalCard/Card.cjs +20 -5
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.js +20 -5
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.cjs +72 -19
- package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.d.ts +8 -1
- package/dist/Card/VerticalCard/CardBottomSection.js +73 -20
- package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
- package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
- package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
- package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.js +9 -2
- package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
- package/dist/Chips/ChipStyles.cjs +4 -1
- package/dist/Chips/ChipStyles.cjs.map +1 -1
- package/dist/Chips/ChipStyles.js +4 -1
- package/dist/Chips/ChipStyles.js.map +1 -1
- package/dist/ChipsInput/ChipInputField.cjs +16 -4
- package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputField.js +16 -4
- package/dist/ChipsInput/ChipInputField.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +12 -3
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +12 -3
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +172 -42
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.js +172 -42
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +36 -10
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +36 -10
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +12 -3
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +12 -3
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
- package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
- package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
- package/dist/HyperLink/styling.cjs +38 -8
- package/dist/HyperLink/styling.cjs.map +1 -1
- package/dist/HyperLink/styling.js +38 -8
- package/dist/HyperLink/styling.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +54 -14
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.js +54 -14
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +149 -43
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +1 -1
- package/dist/InputFields/DatepickerField.js +150 -44
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
- package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.js +20 -5
- package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
- package/dist/InputFields/Label.cjs +38 -11
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.js +38 -11
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +66 -16
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +66 -16
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs +4 -1
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.d.ts +1 -1
- package/dist/InputFields/PasswordField.js +4 -1
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +30 -6
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +30 -6
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs +63 -15
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.js +63 -15
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/RichTextField.cjs +60 -15
- package/dist/InputFields/RichTextField.cjs.map +1 -1
- package/dist/InputFields/RichTextField.js +60 -15
- package/dist/InputFields/RichTextField.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +4 -1
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.js +4 -1
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs +9 -3
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +1 -1
- package/dist/InputFields/TextField.js +9 -3
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +68 -17
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.js +68 -17
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchBarInput.cjs +28 -7
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
- package/dist/InputFields/components/SearchBarInput.js +28 -7
- package/dist/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/InputFields/components/SearchField.cjs +60 -15
- package/dist/InputFields/components/SearchField.cjs.map +1 -1
- package/dist/InputFields/components/SearchField.js +60 -15
- package/dist/InputFields/components/SearchField.js.map +1 -1
- package/dist/InputFields/styling.cjs +95 -39
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.d.ts +1 -2
- package/dist/InputFields/styling.js +95 -39
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/LinearProgress/LinearProgress.cjs +161 -53
- package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
- package/dist/LinearProgress/LinearProgress.js +161 -53
- package/dist/LinearProgress/LinearProgress.js.map +1 -1
- package/dist/List/ListRow.cjs +36 -9
- package/dist/List/ListRow.cjs.map +1 -1
- package/dist/List/ListRow.js +36 -9
- package/dist/List/ListRow.js.map +1 -1
- package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
- package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
- package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
- package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
- package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
- package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
- package/dist/MenuItem/MenuItem.cjs +101 -26
- package/dist/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/MenuItem/MenuItem.js +101 -26
- package/dist/MenuItem/MenuItem.js.map +1 -1
- package/dist/Modals/Modal.cjs +4 -1
- package/dist/Modals/Modal.cjs.map +1 -1
- package/dist/Modals/Modal.js +4 -1
- package/dist/Modals/Modal.js.map +1 -1
- package/dist/Modals/ModalContent.cjs +24 -6
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.js +24 -6
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +12 -3
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.js +12 -3
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/Modals/ModalNote.cjs +16 -4
- package/dist/Modals/ModalNote.cjs.map +1 -1
- package/dist/Modals/ModalNote.js +16 -4
- package/dist/Modals/ModalNote.js.map +1 -1
- package/dist/Modals/ModalStyles.cjs +44 -11
- package/dist/Modals/ModalStyles.cjs.map +1 -1
- package/dist/Modals/ModalStyles.js +44 -11
- package/dist/Modals/ModalStyles.js.map +1 -1
- package/dist/NavItem/NavItem.cjs +4 -1
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.js +4 -1
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/NotificationDot/NotificationDot.cjs +17 -2
- package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
- package/dist/NotificationDot/NotificationDot.js +17 -2
- package/dist/NotificationDot/NotificationDot.js.map +1 -1
- package/dist/Paginator/Paginator.cjs +76 -29
- package/dist/Paginator/Paginator.cjs.map +1 -1
- package/dist/Paginator/Paginator.js +76 -29
- package/dist/Paginator/Paginator.js.map +1 -1
- package/dist/Panel/Panel.cjs +4 -1
- package/dist/Panel/Panel.cjs.map +1 -1
- package/dist/Panel/Panel.js +4 -1
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Popover/Popover.cjs +22 -3
- package/dist/Popover/Popover.cjs.map +1 -1
- package/dist/Popover/Popover.js +22 -3
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/ProfileButton/ProfileButton.cjs +9 -2
- package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
- package/dist/ProfileButton/ProfileButton.js +9 -2
- package/dist/ProfileButton/ProfileButton.js.map +1 -1
- package/dist/SegmentControl/SegmentControl.cjs +46 -11
- package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
- package/dist/SegmentControl/SegmentControl.js +46 -11
- package/dist/SegmentControl/SegmentControl.js.map +1 -1
- package/dist/SideMenu/SideMenuHeader.cjs +12 -3
- package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
- package/dist/SideMenu/SideMenuHeader.js +12 -3
- package/dist/SideMenu/SideMenuHeader.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
- package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.js +4 -1
- package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/Table/TableFooter.cjs +8 -2
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.js +8 -2
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/Table/TableStyles.cjs +132 -33
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.js +132 -33
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Tabs/HorizontalTabs.cjs +68 -18
- package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
- package/dist/Tabs/HorizontalTabs.js +68 -18
- package/dist/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/Tabs/TabLink.cjs +4 -1
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.js +4 -1
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
- package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
- package/dist/Tag/Tag.cjs +2 -2
- package/dist/Tag/Tag.cjs.map +1 -1
- package/dist/Tag/Tag.js +2 -2
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tile/Tile.cjs +8 -2
- package/dist/Tile/Tile.cjs.map +1 -1
- package/dist/Tile/Tile.js +8 -2
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/TileCommonItems.cjs +8 -2
- package/dist/Tile/TileCommonItems.cjs.map +1 -1
- package/dist/Tile/TileCommonItems.js +8 -2
- package/dist/Tile/TileCommonItems.js.map +1 -1
- package/dist/Tile/TileFooter.cjs +4 -1
- package/dist/Tile/TileFooter.cjs.map +1 -1
- package/dist/Tile/TileFooter.js +4 -1
- package/dist/Tile/TileFooter.js.map +1 -1
- package/dist/Tile/TileHeader.cjs +12 -3
- package/dist/Tile/TileHeader.cjs.map +1 -1
- package/dist/Tile/TileHeader.js +12 -3
- package/dist/Tile/TileHeader.js.map +1 -1
- package/dist/Toasters/Toast.cjs +62 -13
- package/dist/Toasters/Toast.cjs.map +1 -1
- package/dist/Toasters/Toast.js +62 -13
- package/dist/Toasters/Toast.js.map +1 -1
- package/dist/Toggles/ToggleButton.cjs +9 -3
- package/dist/Toggles/ToggleButton.cjs.map +1 -1
- package/dist/Toggles/ToggleButton.d.ts +1 -1
- package/dist/Toggles/ToggleButton.js +9 -3
- package/dist/Toggles/ToggleButton.js.map +1 -1
- package/dist/Toggles/TogglerStyles.cjs +22 -8
- package/dist/Toggles/TogglerStyles.cjs.map +1 -1
- package/dist/Toggles/TogglerStyles.js +22 -8
- package/dist/Toggles/TogglerStyles.js.map +1 -1
- package/dist/Tooltips/TooltipStyles.cjs +28 -6
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.js +28 -6
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/common/InputStyling.cjs +30 -7
- package/dist/common/InputStyling.cjs.map +1 -1
- package/dist/common/InputStyling.js +30 -7
- package/dist/common/InputStyling.js.map +1 -1
- package/dist/common/Link.cjs +45 -0
- package/dist/common/Link.cjs.map +1 -0
- package/dist/common/Link.d.ts +9 -0
- package/dist/common/Link.js +37 -0
- package/dist/common/Link.js.map +1 -0
- package/dist/common/NavigationHelper.cjs +30 -0
- package/dist/common/NavigationHelper.cjs.map +1 -0
- package/dist/common/NavigationHelper.d.ts +4 -0
- package/dist/common/NavigationHelper.js +23 -0
- package/dist/common/NavigationHelper.js.map +1 -0
- package/dist/custom.d.ts +2 -0
- package/dist/styles/colors.cjs +439 -84
- package/dist/styles/colors.cjs.map +1 -1
- package/dist/styles/colors.d.ts +200 -11
- package/dist/styles/colors.js +439 -84
- package/dist/styles/colors.js.map +1 -1
- package/dist/styles/global.cjs +19 -2
- package/dist/styles/global.cjs.map +1 -1
- package/dist/styles/global.d.ts +3 -2
- package/dist/styles/global.js +18 -3
- package/dist/styles/global.js.map +1 -1
- package/dist/styles/index.cjs +21 -9
- package/dist/styles/index.cjs.map +1 -1
- package/dist/styles/index.d.ts +2 -2
- package/dist/styles/index.js +18 -6
- package/dist/styles/index.js.map +1 -1
- package/dist/utils/color-tokens.cjs +91 -0
- package/dist/utils/color-tokens.cjs.map +1 -0
- package/dist/utils/color-tokens.d.ts +19 -0
- package/dist/utils/color-tokens.js +82 -0
- package/dist/utils/color-tokens.js.map +1 -0
- package/package.json +143 -141
|
@@ -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","ButtonContentContainer","div","ButtonBaseStyled","button","ButtonPrimaryStyled","props","$size","Large","Bold","$colorTheme","getColor","theme","Small","$flatEdge","$width","Medium","$iconOnly","$invertFocus","undefined","ButtonSecondaryStyled","ButtonTertiaryStyled","ButtonPositiveStyled","ButtonCriticalStyled","Button","forwardRef","_ref","ref","children","variant","type","size","colorTheme","invertFocus","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\nconst ButtonBaseStyled = styled.button<{$iconOnly: boolean; $size: Size; $colorTheme: 'teal' | 'dark' | undefined; $flatEdge: string | undefined; $width: string; $invertFocus: boolean | undefined; }>``;\r\n\r\nexport const ButtonPrimaryStyled = styled(ButtonBaseStyled)`\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)`\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)`\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)`\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)`\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, colorTheme, invertFocus, 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 = 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 $size={size}\r\n $colorTheme={colorTheme} \r\n $invertFocus={invertFocus} \r\n ref={ref}\r\n disabled={disabled}\r\n $iconOnly={!children}\r\n type={type}\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","useTheme","LoadingIndicator","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","focusStyles","invertedFocusStyles","Size","defaultOnMouseDownHandler","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","getBorderRadius","flatEdge","radius","ButtonContentContainer","div","ButtonBaseStyled","button","ButtonPrimaryStyled","props","$size","Large","Bold","$colorTheme","getColor","theme","generateToken","componentType","isOnFill","defaultVariant","Small","$flatEdge","$width","Medium","$iconOnly","state","$invertFocus","undefined","ButtonSecondaryStyled","ButtonTertiaryStyled","ButtonPositiveStyled","ButtonCriticalStyled","Button","forwardRef","_ref","ref","children","variant","type","size","colorTheme","invertFocus","width","testId","disabled","icon","iconPosition","_objectWithoutProperties","_excluded","loading","renderProps","_excluded2","renderIcon","className","renderContent","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, useTheme } 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\nconst ButtonBaseStyled = styled.button<{$iconOnly: boolean; $size: Size; $colorTheme: 'teal' | 'dark' | undefined; $flatEdge: string | undefined; $width: string; $invertFocus: boolean | undefined; }>``;\r\n\r\nexport const ButtonPrimaryStyled = styled(ButtonBaseStyled)`\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 &.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.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, props.theme))\r\n : props.$size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.$colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, props.theme))\r\n : ComponentMStyling(ComponentTextStyle.Bold, props?.$colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, 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) : \r\n COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: '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.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary' }, 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.generateToken({ componentType: 'bg-fill', state: 'hover', defaultVariant: 'primary' }, props.theme))};\r\n color: ${(props) => (props?.$colorTheme === 'dark' ? COLORS.getColor('primary_600', props.theme) : COLORS.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, 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.generateToken({ componentType: 'bg-fill', state: 'active', defaultVariant: 'primary' }, props.theme))};\r\n color: ${(props) => (props?.$colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, 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.generateToken({ componentType: 'bg-fill', state: 'disabled' }, props.theme))};\r\n color: ${(props) => (props.$colorTheme === 'dark' ? COLORS.getColor('primary_800', props.theme) : COLORS.generateToken({ componentType: 'text', isOnFill: true, state: 'disabled' }, props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonSecondaryStyled = styled(ButtonPrimaryStyled)`\r\n ${ButtonContentContainer} {\r\n color: ${(props) => (props.$colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props?.$colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.generateToken({ componentType: 'text', defaultVariant: '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.generateToken({ componentType: 'icon', defaultVariant: '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.generateToken({ componentType: 'border', defaultVariant: '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.generateToken({ componentType: 'text', state:'hover', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'border', state:'hover', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'text', state:'hover', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'text', state:'active', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'border', state:'active', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'text', state:'hover', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'text', state:'disabled' }, props.theme))};\r\n box-shadow: inset 0 0 0 2px ${(props) => (props?.$colorTheme === 'dark' ? COLORS.getColor('primary_700', props.theme) : COLORS.generateToken({ componentType: 'border', state:'disabled' }, props.theme))};\r\n }\r\n`;\r\n\r\nexport const ButtonTertiaryStyled = styled(ButtonPrimaryStyled)`\r\n${ButtonContentContainer} {\r\n color: ${(props) => (props.$colorTheme === 'teal' ? COLORS.getColor('accent1', props.theme) : props.$colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.generateToken({ componentType: 'text', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'text', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'bg-surface', state:'hover' }, props.theme))};\r\n color: ${(props) => (props.$colorTheme === 'teal' ? COLORS.getColor('accent1_700', props.theme) : props.$colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.generateToken({ componentType: 'text', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'text', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme))};\r\n color: ${(props) => (props.$colorTheme === 'teal' ? COLORS.getColor('accent1_800', props.theme) : props.$colorTheme === 'dark' ? COLORS.getColor('white', props.theme) : COLORS.generateToken({ componentType: 'text', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'text', defaultVariant: 'primary' }, 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.generateToken({ componentType: 'text', isOnFill:true, state:'disabled' }, props.theme)};\r\n border-color: transparent !important;\r\n }\r\n`;\r\n\r\nexport const ButtonPositiveStyled = styled(ButtonPrimaryStyled)`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('positive_700', props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.getColor('positive_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)`\r\n ${ButtonContentContainer} {\r\n color: white;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'critical' }, props.theme)};\r\n }\r\n &:hover > ${ButtonContentContainer},\r\n &.hover-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state:'hover', defaultVariant: 'critical' }, props.theme)};\r\n }\r\n &:active > ${ButtonContentContainer},\r\n &.active-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state:'active', defaultVariant: 'critical' }, props.theme)};\r\n }\r\n\r\n &:disabled > ${ButtonContentContainer},\r\n &.disabled-state > ${ButtonContentContainer} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', isOnFill: true, state: 'disabled' }, 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 /** Icon position in the button. Defaults to 'left' */\r\n iconPosition?: 'left' | 'right';\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, colorTheme, invertFocus, width: width = 'auto', testId, disabled, flatEdge, icon, iconPosition = 'left', ...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 theme = useTheme();\r\n const renderIcon = () => (\r\n <><span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span></>\r\n )\r\n\r\n const renderContent = () => (\r\n <>\r\n {icon && iconPosition == 'left' && renderIcon()}\r\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\r\n {icon && iconPosition == 'right' && renderIcon()}\r\n {loading && <LoadingIndicator />}\r\n </>\r\n );\r\n\r\n let ButtonStyled = ButtonPrimaryStyled;\r\n switch (variant) {\r\n case 'secondary':\r\n ButtonStyled = ButtonSecondaryStyled;\r\n break;\r\n case 'tertiary':\r\n ButtonStyled = ButtonTertiaryStyled;\r\n break;\r\n case 'positive':\r\n ButtonStyled = ButtonPositiveStyled;\r\n break;\r\n case 'critical':\r\n ButtonStyled = ButtonCriticalStyled;\r\n break;\r\n }\r\n\r\n return (\r\n <ButtonStyled\r\n {...renderProps}\r\n $size={size}\r\n $colorTheme={colorTheme} \r\n $invertFocus={invertFocus} \r\n ref={ref}\r\n disabled={disabled}\r\n $iconOnly={!children}\r\n type={type}\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":[]}
|
|
@@ -67,89 +67,151 @@ const IconButtonStyled = exports.IconButtonStyled = _styledComponents.default.bu
|
|
|
67
67
|
`;
|
|
68
68
|
const IconButtonStyledPrimary = exports.IconButtonStyledPrimary = (0, _styledComponents.default)(IconButtonStyled)`
|
|
69
69
|
${IconButtonContentStyles} {
|
|
70
|
-
background-color: ${props => props.$useTransparentBackground ? 'transparent' : _styles.COLORS.
|
|
70
|
+
background-color: ${props => props.$useTransparentBackground ? 'transparent' : _styles.COLORS.generateToken({
|
|
71
|
+
componentType: 'bg-fill',
|
|
72
|
+
defaultVariant: 'primary'
|
|
73
|
+
}, props.theme)};
|
|
71
74
|
|
|
72
75
|
svg {
|
|
73
|
-
fill: ${props => props.$iconColor || _styles.COLORS.
|
|
76
|
+
fill: ${props => props.$iconColor || _styles.COLORS.generateToken({
|
|
77
|
+
componentType: 'icon',
|
|
78
|
+
isOnFill: true,
|
|
79
|
+
defaultVariant: 'primary'
|
|
80
|
+
}, props.theme)};
|
|
74
81
|
path {
|
|
75
|
-
fill: ${props => props.$iconColor || _styles.COLORS.
|
|
82
|
+
fill: ${props => props.$iconColor || _styles.COLORS.generateToken({
|
|
83
|
+
componentType: 'icon',
|
|
84
|
+
isOnFill: true,
|
|
85
|
+
defaultVariant: 'primary'
|
|
86
|
+
}, props.theme)};
|
|
76
87
|
}
|
|
77
88
|
}
|
|
78
89
|
}
|
|
79
90
|
&:hover:not(:disabled),
|
|
80
91
|
&.hover-state {
|
|
81
92
|
${IconButtonContentStyles} {
|
|
82
|
-
background-color: ${props => _styles.COLORS.
|
|
93
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
94
|
+
componentType: 'bg-fill',
|
|
95
|
+
state: 'hover',
|
|
96
|
+
defaultVariant: 'primary'
|
|
97
|
+
}, props.theme)};
|
|
83
98
|
}
|
|
84
99
|
${IconButtonContentStyles} svg path,
|
|
85
100
|
${IconButtonContentStyles} svg {
|
|
86
|
-
fill: ${props => _styles.COLORS.
|
|
101
|
+
fill: ${props => _styles.COLORS.generateToken({
|
|
102
|
+
componentType: 'icon',
|
|
103
|
+
isOnFill: true,
|
|
104
|
+
defaultVariant: 'primary'
|
|
105
|
+
}, props.theme)};
|
|
87
106
|
}
|
|
88
107
|
}
|
|
89
108
|
&:active:not(:disabled),
|
|
90
109
|
&.active-state {
|
|
91
110
|
${IconButtonContentStyles} {
|
|
92
|
-
background: ${props => _styles.COLORS.
|
|
111
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
112
|
+
componentType: 'bg-fill',
|
|
113
|
+
state: 'active',
|
|
114
|
+
defaultVariant: 'primary'
|
|
115
|
+
}, props.theme)};
|
|
93
116
|
}
|
|
94
117
|
${IconButtonContentStyles} svg path,
|
|
95
118
|
${IconButtonContentStyles} svg {
|
|
96
|
-
fill: ${props => _styles.COLORS.
|
|
119
|
+
fill: ${props => _styles.COLORS.generateToken({
|
|
120
|
+
componentType: 'icon',
|
|
121
|
+
isOnFill: true,
|
|
122
|
+
defaultVariant: 'primary'
|
|
123
|
+
}, props.theme)};
|
|
97
124
|
}
|
|
98
125
|
}
|
|
99
126
|
&:disabled {
|
|
100
127
|
${IconButtonContentStyles} {
|
|
101
|
-
background-color: ${props => _styles.COLORS.
|
|
128
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
129
|
+
componentType: 'bg-fill',
|
|
130
|
+
state: 'disabled'
|
|
131
|
+
}, props.theme)};
|
|
102
132
|
}
|
|
103
133
|
svg {
|
|
104
134
|
path {
|
|
105
|
-
fill: ${props => _styles.COLORS.
|
|
135
|
+
fill: ${props => _styles.COLORS.generateToken({
|
|
136
|
+
componentType: 'icon',
|
|
137
|
+
isOnFill: true,
|
|
138
|
+
defaultVariant: 'primary'
|
|
139
|
+
}, props.theme)};
|
|
106
140
|
}
|
|
107
|
-
fill: ${props => _styles.COLORS.
|
|
141
|
+
fill: ${props => _styles.COLORS.generateToken({
|
|
142
|
+
componentType: 'icon',
|
|
143
|
+
isOnFill: true,
|
|
144
|
+
defaultVariant: 'primary'
|
|
145
|
+
}, props.theme)};
|
|
108
146
|
}
|
|
109
147
|
}
|
|
110
148
|
`;
|
|
111
149
|
const IconButtonStyledSecondary = exports.IconButtonStyledSecondary = (0, _styledComponents.default)(IconButtonStyled)`
|
|
112
150
|
${IconButtonContentStyles} {
|
|
113
|
-
background-color:
|
|
151
|
+
background-color: transparent;
|
|
114
152
|
|
|
115
153
|
svg {
|
|
116
|
-
fill: ${props => props.$iconColor || _styles.COLORS.
|
|
154
|
+
fill: ${props => props.$iconColor || _styles.COLORS.generateToken({
|
|
155
|
+
componentType: 'icon',
|
|
156
|
+
defaultVariant: 'subtle'
|
|
157
|
+
}, props.theme)};
|
|
117
158
|
path {
|
|
118
|
-
fill: ${props => props.$iconColor || _styles.COLORS.
|
|
159
|
+
fill: ${props => props.$iconColor || _styles.COLORS.generateToken({
|
|
160
|
+
componentType: 'icon',
|
|
161
|
+
defaultVariant: 'subtle'
|
|
162
|
+
}, props.theme)};
|
|
119
163
|
}
|
|
120
164
|
}
|
|
121
165
|
}
|
|
122
166
|
|
|
123
|
-
|
|
124
167
|
&:hover:not(:disabled) {
|
|
125
168
|
${IconButtonContentStyles} {
|
|
126
|
-
background-color: ${props => _styles.COLORS.
|
|
169
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
170
|
+
componentType: 'bg-surface',
|
|
171
|
+
state: 'hover'
|
|
172
|
+
}, props.theme)};
|
|
127
173
|
}
|
|
128
174
|
${IconButtonContentStyles} svg path,
|
|
129
175
|
${IconButtonContentStyles} svg {
|
|
130
|
-
fill: ${props => _styles.COLORS.
|
|
176
|
+
fill: ${props => _styles.COLORS.generateToken({
|
|
177
|
+
componentType: 'icon',
|
|
178
|
+
state: 'hover'
|
|
179
|
+
}, props.theme)};
|
|
131
180
|
}
|
|
132
181
|
}
|
|
182
|
+
|
|
133
183
|
&:active:not(:disabled),
|
|
134
184
|
&.active-state {
|
|
135
185
|
${IconButtonContentStyles} {
|
|
136
|
-
background: ${props => _styles.COLORS.
|
|
186
|
+
background: ${props => _styles.COLORS.generateToken({
|
|
187
|
+
componentType: 'bg-surface',
|
|
188
|
+
state: 'active'
|
|
189
|
+
}, props.theme)};
|
|
137
190
|
}
|
|
138
191
|
${IconButtonContentStyles} svg path,
|
|
139
192
|
${IconButtonContentStyles} svg {
|
|
140
|
-
fill: ${props => _styles.COLORS.
|
|
193
|
+
fill: ${props => _styles.COLORS.generateToken({
|
|
194
|
+
componentType: 'icon',
|
|
195
|
+
state: 'active'
|
|
196
|
+
}, props.theme)};
|
|
141
197
|
}
|
|
142
198
|
}
|
|
143
199
|
|
|
144
200
|
&:disabled {
|
|
145
201
|
${IconButtonContentStyles} {
|
|
146
|
-
background-color:
|
|
202
|
+
background-color: transparent;
|
|
147
203
|
}
|
|
148
204
|
svg {
|
|
149
205
|
path {
|
|
150
|
-
fill: ${props => _styles.COLORS.
|
|
206
|
+
fill: ${props => _styles.COLORS.generateToken({
|
|
207
|
+
componentType: 'icon',
|
|
208
|
+
state: 'disabled'
|
|
209
|
+
}, props.theme)};
|
|
151
210
|
}
|
|
152
|
-
fill: ${props => _styles.COLORS.
|
|
211
|
+
fill: ${props => _styles.COLORS.generateToken({
|
|
212
|
+
componentType: 'icon',
|
|
213
|
+
state: 'disabled'
|
|
214
|
+
}, props.theme)};
|
|
153
215
|
}
|
|
154
216
|
}
|
|
155
217
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Iconbutton.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_common","_TooltipWrapper","_jsxRuntime","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","getBorderRadius","borderRadius","getBorderRadiusStyle","flatEdge","radius","IconButtonContentStyles","exports","styled","div","IconButtonStyled","button","props","$borderRadius","$flatEdge","$unsetIconSize","$invertFocus","invertedFocusStyles","focusStyles","IconButtonStyledPrimary","$useTransparentBackground","COLORS","getColor","theme","$iconColor","IconButtonStyledSecondary","IconButton","React","forwardRef","_ref","ref","id","variant","shape","action","children","useTransparentBackground","disabled","iconColor","unsetIconSize","tabIndex","type","hidden","invertFocus","dataTestId","focusOnClick","tooltip","rest","_objectWithoutProperties2","render","ButtonVariant","jsx","onClick","event","stopPropagation","onMouseDown","defaultOnMouseDownHandler","undefined","propTypes","_propTypes","oneOf","func","isRequired","bool","string","number","node","_default"],"sources":["../../src/Button/Iconbutton.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport { BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles } from '../styles';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { Testable } from '../types';\r\nimport {TooltipProps} from \"../Tooltips/TooltipTypes\";\r\nimport TooltipWrapper from \"../Tooltips/TooltipWrapper\";\r\n\r\nexport interface HeaderItemProps {\r\n inMobileMenu?: boolean;\r\n useTransparentBackground?: boolean;\r\n iconColor?: string;\r\n unsetIconSize?: boolean;\r\n borderRadius?: number;\r\n shape?: string;\r\n flatEdge?: string;\r\n invertFocus?: boolean;\r\n shouldNotInteract?: boolean;\r\n}\r\n\r\nconst getBorderRadius = (borderRadius?: number) => (borderRadius ? `${borderRadius}px` : '4px');\r\n\r\nconst getBorderRadiusStyle = ( flatEdge?: string, borderRadius?: number ) => {\r\n const radius = getBorderRadius(borderRadius);\r\n switch (flatEdge) {\r\n case 'left':\r\n return `0px ${radius} ${radius} 0px`;\r\n\r\n case 'right':\r\n return `${radius} 0px 0px ${radius}`;\r\n\r\n case 'none':\r\n default:\r\n return `${radius}`;\r\n }\r\n};\r\n\r\nexport const IconButtonContentStyles = styled.div``;\r\n\r\nexport const IconButtonStyled = styled.button<{$borderRadius?: number; $flatEdge?: string; $unsetIconSize?: boolean;\r\n $invertFocus?: boolean; $useTransparentBackground?: boolean; $iconColor?: string;}>`\r\n border-width: 0;\r\n cursor: pointer;\r\n height: 48px;\r\n width: 48px;\r\n background: transparent;\r\n position: relative;\r\n display: block;\r\n\r\n border-radius: ${(props) => (props.$borderRadius ? `${props.$borderRadius}px` : '4px')};\r\n ${IconButtonContentStyles} {\r\n height: 36px;\r\n width: 36px;\r\n border-radius: ${props => getBorderRadiusStyle(props.$flatEdge, props.$borderRadius)};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n svg {\r\n height: ${(props) => (props.$unsetIconSize ? 'unset' : '24px')};\r\n width: ${(props) => (props.$unsetIconSize ? 'unset' : '24px')};\r\n padding: 0;\r\n }\r\n }\r\n &:only-child {\r\n margin: 0;\r\n }\r\n &:disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n &:focus {\r\n ${(props) => (props.$invertFocus ? invertedFocusStyles : focusStyles)}\r\n }\r\n`;\r\n\r\nexport const IconButtonStyledPrimary = styled(IconButtonStyled)`\r\n ${IconButtonContentStyles} {\r\n background-color: ${(props) => (props.$useTransparentBackground ? 'transparent' : COLORS.getColor('primary_500', props.theme))};\r\n\r\n svg {\r\n fill: ${(props) => props.$iconColor || COLORS.getColor('white', props.theme)};\r\n path {\r\n fill: ${(props) => props.$iconColor || COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n }\r\n &:hover:not(:disabled),\r\n &.hover-state {\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n ${IconButtonContentStyles} svg path,\r\n ${IconButtonContentStyles} svg {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n &:active:not(:disabled),\r\n &.active-state {\r\n ${IconButtonContentStyles} {\r\n background: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n ${IconButtonContentStyles} svg path,\r\n ${IconButtonContentStyles} svg {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n &:disabled {\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.getColor('neutral_200', props.theme)};\r\n }\r\n svg {\r\n path {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport const IconButtonStyledSecondary = styled(IconButtonStyled)`\r\n ${IconButtonContentStyles} {\r\n background-color: ${(props) => (props.$useTransparentBackground ? 'transparent' : COLORS.getColor('white', props.theme))};\r\n\r\n svg {\r\n fill: ${(props) => props.$iconColor || COLORS.getColor('neutral_600', props.theme)};\r\n path {\r\n fill: ${(props) => props.$iconColor || COLORS.getColor('neutral_600', props.theme)};\r\n }\r\n }\r\n }\r\n\r\n\r\n &:hover:not(:disabled) {\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n ${IconButtonContentStyles} svg path,\r\n ${IconButtonContentStyles} svg {\r\n fill: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n }\r\n &:active:not(:disabled),\r\n &.active-state {\r\n ${IconButtonContentStyles} {\r\n background: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n ${IconButtonContentStyles} svg path,\r\n ${IconButtonContentStyles} svg {\r\n fill: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &:disabled {\r\n ${IconButtonContentStyles} {\r\n background-color: ${(props) => (props.$useTransparentBackground ? 'transparent' : COLORS.getColor('white', props.theme))};\r\n }\r\n svg {\r\n path {\r\n fill: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n fill: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport interface IconButtonProps extends Testable, Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown'> {\r\n /** Variant of the button. Defaults to 'primary' */\r\n variant?: 'primary' | 'secondary';\r\n /** Shape of the button. Defaults to 'square' */\r\n shape?: 'square' | 'circular';\r\n /** Action that will get executed when button is clicked. */\r\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\r\n /** Allows removing rounded corners on one of the edges of the button. */\r\n flatEdge?: 'right' | 'left' | 'none' | undefined;\r\n /** If set background filling color of the button will be transparent. */\r\n useTransparentBackground?: boolean;\r\n /** Custom fill color for SVG icon. */\r\n iconColor?: string;\r\n /** If set then the width and height of SVG icon will be set to 'unset', otherwise will be set to '24px' */\r\n unsetIconSize?: boolean;\r\n /** Sets border radius of the button. */\r\n borderRadius?: number;\r\n /** Content (icon) to show in the button. */\r\n children?: React.ReactNode;\r\n /** Invert color scheme of focus framing. */\r\n invertFocus?: boolean;\r\n /** If this flag is set, then blurs current focus, as a result will focus current IconButton when user clicks it. */\r\n focusOnClick?: boolean;\r\n /** Details of the tooltip to show. */\r\n tooltip?: Omit<TooltipProps, 'tabIndex'>;\r\n}\r\n\r\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\r\n (\r\n {\r\n id,\r\n variant,\r\n shape,\r\n action,\r\n children,\r\n useTransparentBackground,\r\n disabled,\r\n iconColor,\r\n unsetIconSize,\r\n tabIndex,\r\n flatEdge,\r\n borderRadius,\r\n type,\r\n hidden,\r\n invertFocus,\r\n dataTestId,\r\n focusOnClick,\r\n tooltip,\r\n ...rest\r\n }: IconButtonProps,\r\n ref,\r\n ) => {\r\n\r\n const render = () => {\r\n // Let's render button\r\n\r\n let ButtonVariant = IconButtonStyledPrimary;\r\n switch (variant) {\r\n case 'secondary':\r\n ButtonVariant = IconButtonStyledSecondary;\r\n break;\r\n }\r\n\r\n return <ButtonVariant\r\n id={id}\r\n type={type ?? 'button'}\r\n data-testid={dataTestId}\r\n $flatEdge={flatEdge}\r\n ref={ref}\r\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\r\n event.stopPropagation();\r\n action(event);\r\n }}\r\n disabled={disabled}\r\n $useTransparentBackground={useTransparentBackground}\r\n $iconColor={iconColor}\r\n $unsetIconSize={unsetIconSize}\r\n tabIndex={tabIndex}\r\n $borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\r\n onMouseDown={!focusOnClick ? defaultOnMouseDownHandler : undefined}\r\n hidden={hidden}\r\n $invertFocus={invertFocus}\r\n {...rest}>\r\n <IconButtonContentStyles>{children}</IconButtonContentStyles>\r\n </ButtonVariant>;\r\n }\r\n\r\n return !tooltip\r\n ? render()\r\n : (\r\n <TooltipWrapper {...tooltip}>\r\n {render()}\r\n </TooltipWrapper>\r\n );\r\n },\r\n);\r\n\r\nexport default IconButton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Iconbutton.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_common","_TooltipWrapper","_jsxRuntime","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","getBorderRadius","borderRadius","getBorderRadiusStyle","flatEdge","radius","IconButtonContentStyles","exports","styled","div","IconButtonStyled","button","props","$borderRadius","$flatEdge","$unsetIconSize","$invertFocus","invertedFocusStyles","focusStyles","IconButtonStyledPrimary","$useTransparentBackground","COLORS","generateToken","componentType","defaultVariant","theme","$iconColor","isOnFill","state","IconButtonStyledSecondary","IconButton","React","forwardRef","_ref","ref","id","variant","shape","action","children","useTransparentBackground","disabled","iconColor","unsetIconSize","tabIndex","type","hidden","invertFocus","dataTestId","focusOnClick","tooltip","rest","_objectWithoutProperties2","render","ButtonVariant","jsx","onClick","event","stopPropagation","onMouseDown","defaultOnMouseDownHandler","undefined","propTypes","_propTypes","oneOf","func","isRequired","bool","string","number","node","_default"],"sources":["../../src/Button/Iconbutton.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport { BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles } from '../styles';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { Testable } from '../types';\r\nimport {TooltipProps} from \"../Tooltips/TooltipTypes\";\r\nimport TooltipWrapper from \"../Tooltips/TooltipWrapper\";\r\n\r\nexport interface HeaderItemProps {\r\n inMobileMenu?: boolean;\r\n useTransparentBackground?: boolean;\r\n iconColor?: string;\r\n unsetIconSize?: boolean;\r\n borderRadius?: number;\r\n shape?: string;\r\n flatEdge?: string;\r\n invertFocus?: boolean;\r\n shouldNotInteract?: boolean;\r\n}\r\n\r\nconst getBorderRadius = (borderRadius?: number) => (borderRadius ? `${borderRadius}px` : '4px');\r\n\r\nconst getBorderRadiusStyle = ( flatEdge?: string, borderRadius?: number ) => {\r\n const radius = getBorderRadius(borderRadius);\r\n switch (flatEdge) {\r\n case 'left':\r\n return `0px ${radius} ${radius} 0px`;\r\n\r\n case 'right':\r\n return `${radius} 0px 0px ${radius}`;\r\n\r\n case 'none':\r\n default:\r\n return `${radius}`;\r\n }\r\n};\r\n\r\nexport const IconButtonContentStyles = styled.div``;\r\n\r\nexport const IconButtonStyled = styled.button<{$borderRadius?: number; $flatEdge?: string; $unsetIconSize?: boolean;\r\n $invertFocus?: boolean; $useTransparentBackground?: boolean; $iconColor?: string;}>`\r\n border-width: 0;\r\n cursor: pointer;\r\n height: 48px;\r\n width: 48px;\r\n background: transparent;\r\n position: relative;\r\n display: block;\r\n\r\n border-radius: ${(props) => (props.$borderRadius ? `${props.$borderRadius}px` : '4px')};\r\n ${IconButtonContentStyles} {\r\n height: 36px;\r\n width: 36px;\r\n border-radius: ${props => getBorderRadiusStyle(props.$flatEdge, props.$borderRadius)};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n svg {\r\n height: ${(props) => (props.$unsetIconSize ? 'unset' : '24px')};\r\n width: ${(props) => (props.$unsetIconSize ? 'unset' : '24px')};\r\n padding: 0;\r\n }\r\n }\r\n &:only-child {\r\n margin: 0;\r\n }\r\n &:disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n &:focus {\r\n ${(props) => (props.$invertFocus ? invertedFocusStyles : focusStyles)}\r\n }\r\n`;\r\n\r\nexport const IconButtonStyledPrimary = styled(IconButtonStyled)`\r\n ${IconButtonContentStyles} {\r\n background-color: ${(props) => (props.$useTransparentBackground ? 'transparent' : COLORS.generateToken({componentType: 'bg-fill', defaultVariant: 'primary'}, props.theme))};\r\n\r\n svg {\r\n fill: ${(props) => props.$iconColor || COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n path {\r\n fill: ${(props) => props.$iconColor || COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n }\r\n }\r\n }\r\n &:hover:not(:disabled),\r\n &.hover-state {\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'hover', defaultVariant: 'primary'}, props.theme)};\r\n }\r\n ${IconButtonContentStyles} svg path,\r\n ${IconButtonContentStyles} svg {\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n }\r\n }\r\n &:active:not(:disabled),\r\n &.active-state {\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'active', defaultVariant: 'primary'}, props.theme)};\r\n }\r\n ${IconButtonContentStyles} svg path,\r\n ${IconButtonContentStyles} svg {\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n }\r\n }\r\n &:disabled {\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled' }, props.theme)};\r\n }\r\n svg {\r\n path {\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n }\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport const IconButtonStyledSecondary = styled(IconButtonStyled)`\r\n ${IconButtonContentStyles} {\r\n background-color: transparent;\r\n\r\n svg {\r\n fill: ${(props) => props.$iconColor || COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle'}, props.theme)};\r\n path {\r\n fill: ${(props) => props.$iconColor || COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle'}, props.theme)};\r\n }\r\n }\r\n }\r\n\r\n &:hover:not(:disabled) {\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n }\r\n ${IconButtonContentStyles} svg path,\r\n ${IconButtonContentStyles} svg {\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', state: 'hover' }, props.theme)};\r\n }\r\n }\r\n\r\n &:active:not(:disabled),\r\n &.active-state {\r\n ${IconButtonContentStyles} {\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n }\r\n ${IconButtonContentStyles} svg path,\r\n ${IconButtonContentStyles} svg {\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &:disabled {\r\n ${IconButtonContentStyles} {\r\n background-color: transparent;\r\n }\r\n svg {\r\n path {\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', state: 'disabled' }, props.theme)};\r\n }\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', state: 'disabled' }, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport interface IconButtonProps extends Testable, Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown'> {\r\n /** Variant of the button. Defaults to 'primary' */\r\n variant?: 'primary' | 'secondary';\r\n /** Shape of the button. Defaults to 'square' */\r\n shape?: 'square' | 'circular';\r\n /** Action that will get executed when button is clicked. */\r\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\r\n /** Allows removing rounded corners on one of the edges of the button. */\r\n flatEdge?: 'right' | 'left' | 'none' | undefined;\r\n /** If set background filling color of the button will be transparent. */\r\n useTransparentBackground?: boolean;\r\n /** Custom fill color for SVG icon. */\r\n iconColor?: string;\r\n /** If set then the width and height of SVG icon will be set to 'unset', otherwise will be set to '24px' */\r\n unsetIconSize?: boolean;\r\n /** Sets border radius of the button. */\r\n borderRadius?: number;\r\n /** Content (icon) to show in the button. */\r\n children?: React.ReactNode;\r\n /** Invert color scheme of focus framing. */\r\n invertFocus?: boolean;\r\n /** If this flag is set, then blurs current focus, as a result will focus current IconButton when user clicks it. */\r\n focusOnClick?: boolean;\r\n /** Details of the tooltip to show. */\r\n tooltip?: Omit<TooltipProps, 'tabIndex'>;\r\n}\r\n\r\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\r\n (\r\n {\r\n id,\r\n variant,\r\n shape,\r\n action,\r\n children,\r\n useTransparentBackground,\r\n disabled,\r\n iconColor,\r\n unsetIconSize,\r\n tabIndex,\r\n flatEdge,\r\n borderRadius,\r\n type,\r\n hidden,\r\n invertFocus,\r\n dataTestId,\r\n focusOnClick,\r\n tooltip,\r\n ...rest\r\n }: IconButtonProps,\r\n ref,\r\n ) => {\r\n\r\n const render = () => {\r\n // Let's render button\r\n\r\n let ButtonVariant = IconButtonStyledPrimary;\r\n switch (variant) {\r\n case 'secondary':\r\n ButtonVariant = IconButtonStyledSecondary;\r\n break;\r\n }\r\n\r\n return <ButtonVariant\r\n id={id}\r\n type={type ?? 'button'}\r\n data-testid={dataTestId}\r\n $flatEdge={flatEdge}\r\n ref={ref}\r\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\r\n event.stopPropagation();\r\n action(event);\r\n }}\r\n disabled={disabled}\r\n $useTransparentBackground={useTransparentBackground}\r\n $iconColor={iconColor}\r\n $unsetIconSize={unsetIconSize}\r\n tabIndex={tabIndex}\r\n $borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\r\n onMouseDown={!focusOnClick ? defaultOnMouseDownHandler : undefined}\r\n hidden={hidden}\r\n $invertFocus={invertFocus}\r\n {...rest}>\r\n <IconButtonContentStyles>{children}</IconButtonContentStyles>\r\n </ButtonVariant>;\r\n }\r\n\r\n return !tooltip\r\n ? render()\r\n : (\r\n <TooltipWrapper {...tooltip}>\r\n {render()}\r\n </TooltipWrapper>\r\n );\r\n },\r\n);\r\n\r\nexport default IconButton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -60,89 +60,151 @@ export const IconButtonStyled = styled.button`
|
|
|
60
60
|
`;
|
|
61
61
|
export const IconButtonStyledPrimary = styled(IconButtonStyled)`
|
|
62
62
|
${IconButtonContentStyles} {
|
|
63
|
-
background-color: ${props => props.$useTransparentBackground ? 'transparent' : COLORS.
|
|
63
|
+
background-color: ${props => props.$useTransparentBackground ? 'transparent' : COLORS.generateToken({
|
|
64
|
+
componentType: 'bg-fill',
|
|
65
|
+
defaultVariant: 'primary'
|
|
66
|
+
}, props.theme)};
|
|
64
67
|
|
|
65
68
|
svg {
|
|
66
|
-
fill: ${props => props.$iconColor || COLORS.
|
|
69
|
+
fill: ${props => props.$iconColor || COLORS.generateToken({
|
|
70
|
+
componentType: 'icon',
|
|
71
|
+
isOnFill: true,
|
|
72
|
+
defaultVariant: 'primary'
|
|
73
|
+
}, props.theme)};
|
|
67
74
|
path {
|
|
68
|
-
fill: ${props => props.$iconColor || COLORS.
|
|
75
|
+
fill: ${props => props.$iconColor || COLORS.generateToken({
|
|
76
|
+
componentType: 'icon',
|
|
77
|
+
isOnFill: true,
|
|
78
|
+
defaultVariant: 'primary'
|
|
79
|
+
}, props.theme)};
|
|
69
80
|
}
|
|
70
81
|
}
|
|
71
82
|
}
|
|
72
83
|
&:hover:not(:disabled),
|
|
73
84
|
&.hover-state {
|
|
74
85
|
${IconButtonContentStyles} {
|
|
75
|
-
background-color: ${props => COLORS.
|
|
86
|
+
background-color: ${props => COLORS.generateToken({
|
|
87
|
+
componentType: 'bg-fill',
|
|
88
|
+
state: 'hover',
|
|
89
|
+
defaultVariant: 'primary'
|
|
90
|
+
}, props.theme)};
|
|
76
91
|
}
|
|
77
92
|
${IconButtonContentStyles} svg path,
|
|
78
93
|
${IconButtonContentStyles} svg {
|
|
79
|
-
fill: ${props => COLORS.
|
|
94
|
+
fill: ${props => COLORS.generateToken({
|
|
95
|
+
componentType: 'icon',
|
|
96
|
+
isOnFill: true,
|
|
97
|
+
defaultVariant: 'primary'
|
|
98
|
+
}, props.theme)};
|
|
80
99
|
}
|
|
81
100
|
}
|
|
82
101
|
&:active:not(:disabled),
|
|
83
102
|
&.active-state {
|
|
84
103
|
${IconButtonContentStyles} {
|
|
85
|
-
background: ${props => COLORS.
|
|
104
|
+
background-color: ${props => COLORS.generateToken({
|
|
105
|
+
componentType: 'bg-fill',
|
|
106
|
+
state: 'active',
|
|
107
|
+
defaultVariant: 'primary'
|
|
108
|
+
}, props.theme)};
|
|
86
109
|
}
|
|
87
110
|
${IconButtonContentStyles} svg path,
|
|
88
111
|
${IconButtonContentStyles} svg {
|
|
89
|
-
fill: ${props => COLORS.
|
|
112
|
+
fill: ${props => COLORS.generateToken({
|
|
113
|
+
componentType: 'icon',
|
|
114
|
+
isOnFill: true,
|
|
115
|
+
defaultVariant: 'primary'
|
|
116
|
+
}, props.theme)};
|
|
90
117
|
}
|
|
91
118
|
}
|
|
92
119
|
&:disabled {
|
|
93
120
|
${IconButtonContentStyles} {
|
|
94
|
-
background-color: ${props => COLORS.
|
|
121
|
+
background-color: ${props => COLORS.generateToken({
|
|
122
|
+
componentType: 'bg-fill',
|
|
123
|
+
state: 'disabled'
|
|
124
|
+
}, props.theme)};
|
|
95
125
|
}
|
|
96
126
|
svg {
|
|
97
127
|
path {
|
|
98
|
-
fill: ${props => COLORS.
|
|
128
|
+
fill: ${props => COLORS.generateToken({
|
|
129
|
+
componentType: 'icon',
|
|
130
|
+
isOnFill: true,
|
|
131
|
+
defaultVariant: 'primary'
|
|
132
|
+
}, props.theme)};
|
|
99
133
|
}
|
|
100
|
-
fill: ${props => COLORS.
|
|
134
|
+
fill: ${props => COLORS.generateToken({
|
|
135
|
+
componentType: 'icon',
|
|
136
|
+
isOnFill: true,
|
|
137
|
+
defaultVariant: 'primary'
|
|
138
|
+
}, props.theme)};
|
|
101
139
|
}
|
|
102
140
|
}
|
|
103
141
|
`;
|
|
104
142
|
export const IconButtonStyledSecondary = styled(IconButtonStyled)`
|
|
105
143
|
${IconButtonContentStyles} {
|
|
106
|
-
background-color:
|
|
144
|
+
background-color: transparent;
|
|
107
145
|
|
|
108
146
|
svg {
|
|
109
|
-
fill: ${props => props.$iconColor || COLORS.
|
|
147
|
+
fill: ${props => props.$iconColor || COLORS.generateToken({
|
|
148
|
+
componentType: 'icon',
|
|
149
|
+
defaultVariant: 'subtle'
|
|
150
|
+
}, props.theme)};
|
|
110
151
|
path {
|
|
111
|
-
fill: ${props => props.$iconColor || COLORS.
|
|
152
|
+
fill: ${props => props.$iconColor || COLORS.generateToken({
|
|
153
|
+
componentType: 'icon',
|
|
154
|
+
defaultVariant: 'subtle'
|
|
155
|
+
}, props.theme)};
|
|
112
156
|
}
|
|
113
157
|
}
|
|
114
158
|
}
|
|
115
159
|
|
|
116
|
-
|
|
117
160
|
&:hover:not(:disabled) {
|
|
118
161
|
${IconButtonContentStyles} {
|
|
119
|
-
background-color: ${props => COLORS.
|
|
162
|
+
background-color: ${props => COLORS.generateToken({
|
|
163
|
+
componentType: 'bg-surface',
|
|
164
|
+
state: 'hover'
|
|
165
|
+
}, props.theme)};
|
|
120
166
|
}
|
|
121
167
|
${IconButtonContentStyles} svg path,
|
|
122
168
|
${IconButtonContentStyles} svg {
|
|
123
|
-
fill: ${props => COLORS.
|
|
169
|
+
fill: ${props => COLORS.generateToken({
|
|
170
|
+
componentType: 'icon',
|
|
171
|
+
state: 'hover'
|
|
172
|
+
}, props.theme)};
|
|
124
173
|
}
|
|
125
174
|
}
|
|
175
|
+
|
|
126
176
|
&:active:not(:disabled),
|
|
127
177
|
&.active-state {
|
|
128
178
|
${IconButtonContentStyles} {
|
|
129
|
-
background: ${props => COLORS.
|
|
179
|
+
background: ${props => COLORS.generateToken({
|
|
180
|
+
componentType: 'bg-surface',
|
|
181
|
+
state: 'active'
|
|
182
|
+
}, props.theme)};
|
|
130
183
|
}
|
|
131
184
|
${IconButtonContentStyles} svg path,
|
|
132
185
|
${IconButtonContentStyles} svg {
|
|
133
|
-
fill: ${props => COLORS.
|
|
186
|
+
fill: ${props => COLORS.generateToken({
|
|
187
|
+
componentType: 'icon',
|
|
188
|
+
state: 'active'
|
|
189
|
+
}, props.theme)};
|
|
134
190
|
}
|
|
135
191
|
}
|
|
136
192
|
|
|
137
193
|
&:disabled {
|
|
138
194
|
${IconButtonContentStyles} {
|
|
139
|
-
background-color:
|
|
195
|
+
background-color: transparent;
|
|
140
196
|
}
|
|
141
197
|
svg {
|
|
142
198
|
path {
|
|
143
|
-
fill: ${props => COLORS.
|
|
199
|
+
fill: ${props => COLORS.generateToken({
|
|
200
|
+
componentType: 'icon',
|
|
201
|
+
state: 'disabled'
|
|
202
|
+
}, props.theme)};
|
|
144
203
|
}
|
|
145
|
-
fill: ${props => COLORS.
|
|
204
|
+
fill: ${props => COLORS.generateToken({
|
|
205
|
+
componentType: 'icon',
|
|
206
|
+
state: 'disabled'
|
|
207
|
+
}, props.theme)};
|
|
146
208
|
}
|
|
147
209
|
}
|
|
148
210
|
`;
|