@laerdal/life-react-components 6.0.0-dev.1 → 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 +8 -2
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +1 -1
- package/dist/InputFields/TextField.js +8 -2
- 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 +9 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","names":["React","styled","useTheme","COLORS","ComponentTextStyle","ComponentXSStyling","Button","IconButton","SystemIcons","BOXSHADOWS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXXSStyling","scrollBarStyling","Z_INDEXES","Position","Size","jsx","_jsx","jsxs","_jsxs","PopoverContainer","div","props","$size","Small","Large","getColor","theme","BOXSHADOW_CENTERED","popover","$position","Bottom","Top","Left","Right","$showArrowPointer","renderArrowStyles","PopoverTopSectionContainer","PopoverMiddleSectionContainer","PopoverBottomSectionContainer","TextContainer","renderMargins","$note","NoteContainer","Regular","LabelContainer","Bold","CloseButtonContainer","TextButtonContainer","IconButtonContainer","PopoverWrapper","$showOnClick","$showPopover","isNotePresent","size","position","Popover","_ref","Medium","topSectionProps","bottomSectionProps","mainContent","children","showOnClick","showArrowPointer","showPopover","setShowPopover","useState","popoverRef","useRef","useEffect","checkIfClickedOutside","e","current","contains","target","document","addEventListener","removeEventListener","ref","note","text","action","useTransparentBackground","iconColor","variant","shape","Close","textButton","icon","onClick","label","className","iconButtons","map","iconButton","propTypes","_pt","string","isRequired","arrayOf","node","func","bool"],"sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';\r\nimport { Button, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';\r\nimport { Position, Size } from '../types';\r\n\r\nexport const PopoverContainer = styled.div<{ $size: Size; $position: Position; $showArrowPointer: boolean }>`\r\n //height: ${(props) => (props.$size === Size.Small ? '240px' : props.$size === Size.Large ? '480px' : '360px')};\r\n min-width: ${(props) => (props.$size === Size.Small ? '320px' : props.$size === Size.Large ? '640px' : '480px')};\r\n border-radius: 4px;\r\n background: ${props => COLORS.getColor('white', props.theme)};\r\n cursor: default;\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\r\n\r\n position: absolute; \r\n visibility: hidden;\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.popover};\r\n\r\n ${(props) => (props.$position == Position.Bottom ? 'right: 50%; top: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n ${(props) => (props.$position == Position.Top ? 'right: 50%; bottom: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n\r\n ${(props) => (props.$position == Position.Left ? 'bottom: 50%; right: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n ${(props) => (props.$position == Position.Right ? 'bottom: 50%; left: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n\r\n &::after {\r\n ${(props) => (props.$showArrowPointer ? renderArrowStyles(props.$position) : '')}\r\n`;\r\n\r\nexport const PopoverTopSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '56px' : props.$size === Size.Large ? '72px' : '64px')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverMiddleSectionContainer = styled.div<{ $size: Size }>`\r\n margin: 8px;\r\n height: ${(props) => (props.$size === Size.Small ? '104px' : props.$size === Size.Large ? '304px' : '208px')};\r\n padding: ${(props) => (props.$size === Size.Small ? '0 8px' : props.$size === Size.Large ? '0 16px' : '0 12px')};\r\n overflow-y: auto;\r\n ${scrollBarStyling(Size.Small)}\r\n`;\r\n\r\nexport const PopoverBottomSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '64px' : props.$size === Size.Large ? '88px' : '72px')}; \r\n display: flex;\r\n\r\n .bottom-flex {\r\n flex: 1;\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div<{ $note: boolean; $size: Size }>`\r\n display: flex;\r\n flex-direction: column;\r\n margin: ${(props) => renderMargins(props.$note, props.$size)};\r\n flex-grow: 1;\r\n`;\r\n\r\nconst NoteContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))\r\n : props.$size === Size.Large\r\n ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))\r\n : ComponentXSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n`;\r\n\r\nconst LabelContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, null)\r\n : props.$size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, null)\r\n : ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n`;\r\n\r\nconst CloseButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '4px 16px 4px 0' : props.$size === Size.Large ? '12px 24px 12px 0' : '8px 20px 8px 0')};\r\n`;\r\n\r\nconst TextButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 0 8px 16px' : props.$size === Size.Large ? '16px 0 16px 24px' : '12px 0 12px 20px')};\r\n`;\r\n\r\nconst IconButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 16px 8px 0' : props.$size === Size.Large ? '16px 24px 16px 0' : '12px 20px 12px 0')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverWrapper = styled.div<{ $position: Position; $showOnClick: boolean; $showPopover: boolean }>`\r\n position: relative;\r\n\r\n .pointer-space {\r\n height: ${(props) => (props.$position === Position.Top || props.$position === Position.Bottom ? '16px' : '100%')};\r\n width: ${(props) => (props.$position === Position.Left || props.$position === Position.Right ? '16px' : '100%')};\r\n position: absolute;\r\n\r\n ${(props) => (props.$position === Position.Left ? 'right:100%; bottom: 0%' : '')};\r\n ${(props) => (props.$position === Position.Right ? 'left:100%; bottom: 0%' : '')};\r\n\r\n ${(props) => (props.$position === Position.Top ? 'bottom: 100%' : '')};\r\n ${(props) => (props.$position === Position.Bottom ? 'top: 100%' : '')};\r\n }\r\n\r\n ${(props) =>\r\n props.$showOnClick\r\n ? `${PopoverContainer} {\r\n visibility: ${props.$showPopover ? 'visible' : 'hidden'};\r\n opacity: ${props.$showPopover ? '1' : '0'};\r\n }\r\n cursor: pointer;`\r\n : `&:hover {\r\n ${PopoverContainer} {\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n }`}\r\n`;\r\n\r\nconst renderMargins = (isNotePresent: boolean, size: Size): string => {\r\n if (isNotePresent) {\r\n return size === Size.Small ? '10px 16px' : size === Size.Large ? '14px 24px' : '12px 20px';\r\n } else {\r\n return size === Size.Small ? '18px 16px' : size === Size.Large ? '24px' : '20px';\r\n }\r\n};\r\n\r\nconst renderArrowStyles = (position: Position) => {\r\n if (position === Position.Bottom) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid transparent;\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid rgb(255,255,255);\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n bottom: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Top) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid rgb(255,255,255);\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid transparent;\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n top: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Left) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid rgb(255,255,255);\r\n content: \"\";\r\n position: absolute;\r\n left: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n\r\n if (position === Position.Right) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid rgb(255,255,255);\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n};\r\n\r\nexport interface PopoverTopSectionProps {\r\n /**\r\n * Required. The main text to be displayed in the top section of the popover.\r\n */\r\n text: string;\r\n\r\n /**\r\n * Optional. A note to be displayed below the main text in the top section of the popover.\r\n */\r\n note?: string;\r\n};\r\n\r\nexport interface PopoverActionButtonProps {\r\n /**\r\n * Required. The icon to be displayed on the button.\r\n */\r\n icon: React.ReactNode;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n action: () => void;\r\n\r\n /**\r\n * Optional. The label for the button. If provided, the button will display this text.\r\n */\r\n label?: string;\r\n};\r\n\r\nexport interface PopoverBottomSectionProps {\r\n /**\r\n * Optional. An array of PopoverActionButtonProps objects.\r\n * Each object represents an icon button to be displayed in the bottom section of the popover.\r\n */\r\n iconButtons?: PopoverActionButtonProps[];\r\n\r\n /**\r\n * Optional. A PopoverActionButtonProps object representing a text button to be displayed in the bottom section of the popover.\r\n */\r\n textButton?: PopoverActionButtonProps;\r\n};\r\n\r\nexport interface PopoverProps {\r\n /**\r\n * Optional. The size of the popover. It can be 'Small', 'Medium', or 'Large'.\r\n * Defaults to 'Medium' if not specified.\r\n */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n\r\n /**\r\n * Optional. Properties for the top section of the popover.\r\n */\r\n topSectionProps?: PopoverTopSectionProps;\r\n\r\n /**\r\n * Optional. Properties for the bottom section of the popover.\r\n */\r\n bottomSectionProps?: PopoverBottomSectionProps;\r\n\r\n /**\r\n * Required. The main content to be displayed in the popover.\r\n */\r\n mainContent: React.ReactNode;\r\n\r\n /**\r\n * Required. The children to be rendered inside the popover.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * Required. The position of the popover relative to the target element.\r\n * It can be 'Top', 'Bottom', 'Right', or 'Left'.\r\n */\r\n position: Position.Top | Position.Bottom | Position.Right | Position.Left;\r\n\r\n /**\r\n * Required. A boolean indicating whether the popover should be shown when the target element is clicked. Defaults to 'false', meaning that popover will be shown on mouse hover.\r\n */\r\n showOnClick: boolean;\r\n\r\n /**\r\n * Optional. A boolean indicating whether an arrow pointer should be shown on the popover.\r\n * Defaults to 'false' if not specified.\r\n */\r\n showArrowPointer?: boolean;\r\n};\r\n\r\nconst Popover: React.FunctionComponent<PopoverProps> = ({\r\n size = Size.Medium,\r\n topSectionProps,\r\n bottomSectionProps,\r\n mainContent,\r\n children,\r\n position,\r\n showOnClick = false,\r\n showArrowPointer = false,\r\n}) => {\r\n const [showPopover, setShowPopover] = React.useState(false);\r\n const theme = useTheme();\r\n const popoverRef = React.useRef<any>(null);\r\n\r\n React.useEffect(() => {\r\n const checkIfClickedOutside = (e: { target: any }) => {\r\n if (showPopover && popoverRef.current && !popoverRef.current.contains(e.target)) {\r\n setShowPopover(false);\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', checkIfClickedOutside);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', checkIfClickedOutside);\r\n };\r\n }, [showPopover]);\r\n\r\n return (\r\n <PopoverWrapper $position={position} $showOnClick={showOnClick} $showPopover={showPopover}>\r\n <PopoverContainer $size={size} $position={position} ref={popoverRef} $showArrowPointer={showArrowPointer}>\r\n {!!topSectionProps && (\r\n <PopoverTopSectionContainer $size={size}>\r\n <TextContainer $note={!!topSectionProps?.note} $size={size}>\r\n {topSectionProps?.note && <NoteContainer $size={size}>{topSectionProps.note}</NoteContainer>}\r\n <LabelContainer $size={size}>{topSectionProps?.text}</LabelContainer>\r\n </TextContainer>\r\n\r\n {showOnClick && (\r\n <CloseButtonContainer $size={size} data-testid={'closeBtn'}>\r\n <IconButton action={() => setShowPopover(false)} useTransparentBackground iconColor={COLORS.getColor('neutral_600', theme)} variant=\"secondary\" shape=\"circular\">\r\n <SystemIcons.Close />\r\n </IconButton>\r\n </CloseButtonContainer>\r\n )}\r\n </PopoverTopSectionContainer>\r\n )}\r\n\r\n <PopoverMiddleSectionContainer $size={size}>{mainContent}</PopoverMiddleSectionContainer>\r\n\r\n {!!bottomSectionProps && (\r\n <PopoverBottomSectionContainer $size={size}>\r\n {!!bottomSectionProps?.textButton?.icon && (\r\n <TextButtonContainer $size={size} data-testid={'textBtn'}>\r\n <Button size={size} variant=\"secondary\" icon={bottomSectionProps.textButton.icon} onClick={bottomSectionProps.textButton.action}>\r\n {bottomSectionProps.textButton.label}\r\n </Button>\r\n </TextButtonContainer>\r\n )}\r\n\r\n <div className=\"bottom-flex\" />\r\n\r\n <IconButtonContainer $size={size} data-testid={'iconBtn'}>\r\n {bottomSectionProps?.iconButtons?.map((iconButton) => (\r\n <IconButton action={iconButton.action} variant=\"secondary\" shape=\"circular\" useTransparentBackground>\r\n {iconButton.icon}\r\n </IconButton>\r\n ))}\r\n </IconButtonContainer>\r\n </PopoverBottomSectionContainer>\r\n )}\r\n </PopoverContainer>\r\n\r\n <div onClick={() => showOnClick && setShowPopover(!showPopover)}>\r\n {children}\r\n\r\n <div className=\"pointer-space\" />\r\n </div>\r\n </PopoverWrapper>\r\n );\r\n};\r\n\r\nexport default Popover;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Popover.js","names":["React","styled","useTheme","COLORS","ComponentTextStyle","ComponentXSStyling","Button","IconButton","SystemIcons","BOXSHADOWS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXXSStyling","scrollBarStyling","Z_INDEXES","Position","Size","jsx","_jsx","jsxs","_jsxs","PopoverContainer","div","props","$size","Small","Large","generateToken","componentType","defaultVariant","theme","BOXSHADOW_CENTERED","popover","$position","Bottom","Top","Left","Right","$showArrowPointer","renderArrowStyles","PopoverTopSectionContainer","PopoverMiddleSectionContainer","PopoverBottomSectionContainer","TextContainer","renderMargins","$note","NoteContainer","Regular","LabelContainer","Bold","CloseButtonContainer","TextButtonContainer","IconButtonContainer","PopoverWrapper","$showOnClick","$showPopover","isNotePresent","size","position","Popover","_ref","Medium","topSectionProps","bottomSectionProps","mainContent","children","showOnClick","showArrowPointer","showPopover","setShowPopover","useState","popoverRef","useRef","useEffect","checkIfClickedOutside","e","current","contains","target","document","addEventListener","removeEventListener","ref","note","text","action","useTransparentBackground","iconColor","variant","shape","Close","textButton","icon","onClick","label","className","iconButtons","map","iconButton","propTypes","_pt","string","isRequired","arrayOf","node","func","bool"],"sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';\r\nimport { Button, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';\r\nimport { Position, Size } from '../types';\r\n\r\nexport const PopoverContainer = styled.div<{ $size: Size; $position: Position; $showArrowPointer: boolean }>`\r\n //height: ${(props) => (props.$size === Size.Small ? '240px' : props.$size === Size.Large ? '480px' : '360px')};\r\n min-width: ${(props) => (props.$size === Size.Small ? '320px' : props.$size === Size.Large ? '640px' : '480px')};\r\n border-radius: 4px;\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'high' }, props.theme)};\r\n cursor: default;\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\r\n\r\n position: absolute; \r\n visibility: hidden;\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.popover};\r\n\r\n ${(props) => (props.$position == Position.Bottom ? 'right: 50%; top: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n ${(props) => (props.$position == Position.Top ? 'right: 50%; bottom: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n\r\n ${(props) => (props.$position == Position.Left ? 'bottom: 50%; right: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n ${(props) => (props.$position == Position.Right ? 'bottom: 50%; left: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n\r\n &::after {\r\n ${(props) => (props.$showArrowPointer ? renderArrowStyles(props.$position) : '')}\r\n`;\r\n\r\nexport const PopoverTopSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '56px' : props.$size === Size.Large ? '72px' : '64px')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverMiddleSectionContainer = styled.div<{ $size: Size }>`\r\n margin: 8px;\r\n height: ${(props) => (props.$size === Size.Small ? '104px' : props.$size === Size.Large ? '304px' : '208px')};\r\n padding: ${(props) => (props.$size === Size.Small ? '0 8px' : props.$size === Size.Large ? '0 16px' : '0 12px')};\r\n overflow-y: auto;\r\n ${scrollBarStyling(Size.Small)}\r\n`;\r\n\r\nexport const PopoverBottomSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '64px' : props.$size === Size.Large ? '88px' : '72px')}; \r\n display: flex;\r\n\r\n .bottom-flex {\r\n flex: 1;\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div<{ $note: boolean; $size: Size }>`\r\n display: flex;\r\n flex-direction: column;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n margin: ${(props) => renderMargins(props.$note, props.$size)};\r\n flex-grow: 1;\r\n`;\r\n\r\nconst NoteContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : props.$size === Size.Large\r\n ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : ComponentXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))}\r\n`;\r\n\r\nconst LabelContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, null)\r\n : props.$size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, null)\r\n : ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n`;\r\n\r\nconst CloseButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '4px 16px 4px 0' : props.$size === Size.Large ? '12px 24px 12px 0' : '8px 20px 8px 0')};\r\n`;\r\n\r\nconst TextButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 0 8px 16px' : props.$size === Size.Large ? '16px 0 16px 24px' : '12px 0 12px 20px')};\r\n`;\r\n\r\nconst IconButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 16px 8px 0' : props.$size === Size.Large ? '16px 24px 16px 0' : '12px 20px 12px 0')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverWrapper = styled.div<{ $position: Position; $showOnClick: boolean; $showPopover: boolean }>`\r\n position: relative;\r\n\r\n .pointer-space {\r\n height: ${(props) => (props.$position === Position.Top || props.$position === Position.Bottom ? '16px' : '100%')};\r\n width: ${(props) => (props.$position === Position.Left || props.$position === Position.Right ? '16px' : '100%')};\r\n position: absolute;\r\n\r\n ${(props) => (props.$position === Position.Left ? 'right:100%; bottom: 0%' : '')};\r\n ${(props) => (props.$position === Position.Right ? 'left:100%; bottom: 0%' : '')};\r\n\r\n ${(props) => (props.$position === Position.Top ? 'bottom: 100%' : '')};\r\n ${(props) => (props.$position === Position.Bottom ? 'top: 100%' : '')};\r\n }\r\n\r\n ${(props) =>\r\n props.$showOnClick\r\n ? `${PopoverContainer} {\r\n visibility: ${props.$showPopover ? 'visible' : 'hidden'};\r\n opacity: ${props.$showPopover ? '1' : '0'};\r\n }\r\n cursor: pointer;`\r\n : `&:hover {\r\n ${PopoverContainer} {\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n }`}\r\n`;\r\n\r\nconst renderMargins = (isNotePresent: boolean, size: Size): string => {\r\n if (isNotePresent) {\r\n return size === Size.Small ? '10px 16px' : size === Size.Large ? '14px 24px' : '12px 20px';\r\n } else {\r\n return size === Size.Small ? '18px 16px' : size === Size.Large ? '24px' : '20px';\r\n }\r\n};\r\n\r\nconst renderArrowStyles = (position: Position) => {\r\n if (position === Position.Bottom) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid transparent;\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid rgb(255,255,255);\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n bottom: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Top) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid rgb(255,255,255);\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid transparent;\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n top: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Left) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid rgb(255,255,255);\r\n content: \"\";\r\n position: absolute;\r\n left: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n\r\n if (position === Position.Right) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid rgb(255,255,255);\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n};\r\n\r\nexport interface PopoverTopSectionProps {\r\n /**\r\n * Required. The main text to be displayed in the top section of the popover.\r\n */\r\n text: string;\r\n\r\n /**\r\n * Optional. A note to be displayed below the main text in the top section of the popover.\r\n */\r\n note?: string;\r\n};\r\n\r\nexport interface PopoverActionButtonProps {\r\n /**\r\n * Required. The icon to be displayed on the button.\r\n */\r\n icon: React.ReactNode;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n action: () => void;\r\n\r\n /**\r\n * Optional. The label for the button. If provided, the button will display this text.\r\n */\r\n label?: string;\r\n};\r\n\r\nexport interface PopoverBottomSectionProps {\r\n /**\r\n * Optional. An array of PopoverActionButtonProps objects.\r\n * Each object represents an icon button to be displayed in the bottom section of the popover.\r\n */\r\n iconButtons?: PopoverActionButtonProps[];\r\n\r\n /**\r\n * Optional. A PopoverActionButtonProps object representing a text button to be displayed in the bottom section of the popover.\r\n */\r\n textButton?: PopoverActionButtonProps;\r\n};\r\n\r\nexport interface PopoverProps {\r\n /**\r\n * Optional. The size of the popover. It can be 'Small', 'Medium', or 'Large'.\r\n * Defaults to 'Medium' if not specified.\r\n */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n\r\n /**\r\n * Optional. Properties for the top section of the popover.\r\n */\r\n topSectionProps?: PopoverTopSectionProps;\r\n\r\n /**\r\n * Optional. Properties for the bottom section of the popover.\r\n */\r\n bottomSectionProps?: PopoverBottomSectionProps;\r\n\r\n /**\r\n * Required. The main content to be displayed in the popover.\r\n */\r\n mainContent: React.ReactNode;\r\n\r\n /**\r\n * Required. The children to be rendered inside the popover.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * Required. The position of the popover relative to the target element.\r\n * It can be 'Top', 'Bottom', 'Right', or 'Left'.\r\n */\r\n position: Position.Top | Position.Bottom | Position.Right | Position.Left;\r\n\r\n /**\r\n * Required. A boolean indicating whether the popover should be shown when the target element is clicked. Defaults to 'false', meaning that popover will be shown on mouse hover.\r\n */\r\n showOnClick: boolean;\r\n\r\n /**\r\n * Optional. A boolean indicating whether an arrow pointer should be shown on the popover.\r\n * Defaults to 'false' if not specified.\r\n */\r\n showArrowPointer?: boolean;\r\n};\r\n\r\nconst Popover: React.FunctionComponent<PopoverProps> = ({\r\n size = Size.Medium,\r\n topSectionProps,\r\n bottomSectionProps,\r\n mainContent,\r\n children,\r\n position,\r\n showOnClick = false,\r\n showArrowPointer = false,\r\n}) => {\r\n const [showPopover, setShowPopover] = React.useState(false);\r\n const theme = useTheme();\r\n const popoverRef = React.useRef<any>(null);\r\n\r\n React.useEffect(() => {\r\n const checkIfClickedOutside = (e: { target: any }) => {\r\n if (showPopover && popoverRef.current && !popoverRef.current.contains(e.target)) {\r\n setShowPopover(false);\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', checkIfClickedOutside);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', checkIfClickedOutside);\r\n };\r\n }, [showPopover]);\r\n\r\n return (\r\n <PopoverWrapper $position={position} $showOnClick={showOnClick} $showPopover={showPopover}>\r\n <PopoverContainer $size={size} $position={position} ref={popoverRef} $showArrowPointer={showArrowPointer}>\r\n {!!topSectionProps && (\r\n <PopoverTopSectionContainer $size={size}>\r\n <TextContainer $note={!!topSectionProps?.note} $size={size}>\r\n {topSectionProps?.note && <NoteContainer $size={size}>{topSectionProps.note}</NoteContainer>}\r\n <LabelContainer $size={size}>{topSectionProps?.text}</LabelContainer>\r\n </TextContainer>\r\n\r\n {showOnClick && (\r\n <CloseButtonContainer $size={size} data-testid={'closeBtn'}>\r\n <IconButton action={() => setShowPopover(false)} useTransparentBackground \r\n iconColor={COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle' }, theme)} variant=\"secondary\" shape=\"circular\">\r\n <SystemIcons.Close />\r\n </IconButton>\r\n </CloseButtonContainer>\r\n )}\r\n </PopoverTopSectionContainer>\r\n )}\r\n\r\n <PopoverMiddleSectionContainer $size={size}>{mainContent}</PopoverMiddleSectionContainer>\r\n\r\n {!!bottomSectionProps && (\r\n <PopoverBottomSectionContainer $size={size}>\r\n {!!bottomSectionProps?.textButton?.icon && (\r\n <TextButtonContainer $size={size} data-testid={'textBtn'}>\r\n <Button size={size} variant=\"secondary\" icon={bottomSectionProps.textButton.icon} onClick={bottomSectionProps.textButton.action}>\r\n {bottomSectionProps.textButton.label}\r\n </Button>\r\n </TextButtonContainer>\r\n )}\r\n\r\n <div className=\"bottom-flex\" />\r\n\r\n <IconButtonContainer $size={size} data-testid={'iconBtn'}>\r\n {bottomSectionProps?.iconButtons?.map((iconButton) => (\r\n <IconButton action={iconButton.action} variant=\"secondary\" shape=\"circular\" useTransparentBackground>\r\n {iconButton.icon}\r\n </IconButton>\r\n ))}\r\n </IconButtonContainer>\r\n </PopoverBottomSectionContainer>\r\n )}\r\n </PopoverContainer>\r\n\r\n <div onClick={() => showOnClick && setShowPopover(!showPopover)}>\r\n {children}\r\n\r\n <div className=\"pointer-space\" />\r\n </div>\r\n </PopoverWrapper>\r\n );\r\n};\r\n\r\nexport default Popover;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,10 +49,17 @@ const ProfileButtonContainer = exports.ProfileButtonContainer = _styledComponent
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
${_Iconbutton.IconButtonContentStyles} {
|
|
52
|
-
background-color: ${props => _.COLORS.
|
|
52
|
+
background-color: ${props => _.COLORS.generateToken({
|
|
53
|
+
componentType: 'bg-fill',
|
|
54
|
+
defaultVariant: 'primary'
|
|
55
|
+
}, props.theme)};
|
|
53
56
|
|
|
54
57
|
svg, svg path {
|
|
55
|
-
fill: ${props => _.COLORS.
|
|
58
|
+
fill: ${props => _.COLORS.generateToken({
|
|
59
|
+
componentType: 'text',
|
|
60
|
+
isOnFill: true,
|
|
61
|
+
defaultVariant: 'primary'
|
|
62
|
+
}, props.theme)};
|
|
56
63
|
}
|
|
57
64
|
}
|
|
58
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileButton.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_","_Iconbutton","_NotificationDot","_styles","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","PortraitOverlay","styled","div","props","COLORS","getColor","theme","ProfileButtonContainer","exports","IconButtonStyledPrimary","$hideOnLowWidth","BREAKPOINTS","MEDIUM","IconButtonContentStyles","NotificationContainer","ImageWrapper","ProfileButton","forwardRef","_ref","ref","portraitSrc","icon","initials","onClick","disabled","notificationVariant","className","tabIndex","rest","_objectWithoutProperties2","useTheme","renderIcon","jsxs","children","jsx","src","ComponentS","textStyle","ComponentTextStyle","Bold","color","Fragment","IconButton","action","variant","shape","NotificationDot","size","Size","Medium","propTypes","_propTypes","string","node","func","isRequired","oneOf","_default"],"sources":["../../src/ProfileButton/ProfileButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport {COLORS, IconButton, Size} from '..';\r\nimport {IconButtonContentStyles, IconButtonStyledPrimary} from '../Button/Iconbutton';\r\nimport {NotificationDot} from '../NotificationDot';\r\nimport {BREAKPOINTS, ComponentS, ComponentTextStyle} from '../styles';\r\n\r\nexport type ProfileButtonProps = {\r\n /**\r\n * Optional. The source URL of the profile picture.\r\n */\r\n portraitSrc?: string;\r\n\r\n /**\r\n * Optional. The icon of the profile to be displayed in absence of 'portraitSrc' and 'initials'.\r\n */\r\n icon?: React.ReactNode;\r\n\r\n /**\r\n * Optional. The initials of the user. If provided, these will be displayed in circle in the absence of a profile picture.\r\n */\r\n initials?: string;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => void;\r\n\r\n /**\r\n * Optional. The variant of the notification dot. It can be 'positive' or 'critical'.\r\n */\r\n notificationVariant?: 'positive' | 'critical';\r\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> ;\r\n\r\nconst PortraitOverlay = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n background-color: ${props => COLORS.getColor('black', props.theme)};\r\n opacity: 0;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n`;\r\n\r\nexport const ProfileButtonContainer = styled.div<{ $hideOnLowWidth?: boolean }>`\r\n width: 48px;\r\n height: 48px;\r\n display: inline;\r\n user-select: none;\r\n \r\n ${IconButtonStyledPrimary} {\r\n display: ${props => (props.$hideOnLowWidth ? 'none' : 'inline')};\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n display: inline;\r\n }\r\n\r\n :disabled {\r\n img {\r\n filter: grayscale(100%);\r\n }\r\n\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n\r\n svg, svg path {\r\n fill: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n }\r\n\r\n :hover:not(:disabled):not(:active),\r\n &.hover-state {\r\n ${PortraitOverlay} {\r\n opacity: 0.25;\r\n transition: opacity 100ms ease-in-out;\r\n }\r\n }\r\n\r\n :active:not(:disabled),\r\n &.active-state {\r\n ${PortraitOverlay} {\r\n opacity: 0.5;\r\n transition: opacity 0ms ease-in-out;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst NotificationContainer = styled.div`\r\n position: absolute;\r\n left: 30px;\r\n bottom: 30px;\r\n`;\r\n\r\nconst ImageWrapper = styled.div`\r\n width: 36px;\r\n height: 36px;\r\n position: relative;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n object-fit: cover;\r\n }\r\n`;\r\n\r\nconst ProfileButton = React.forwardRef<HTMLButtonElement, ProfileButtonProps>(({\r\n portraitSrc,\r\n icon,\r\n initials,\r\n onClick,\r\n disabled,\r\n notificationVariant,\r\n className,\r\n tabIndex,\r\n ...rest\r\n }, ref) => {\r\n const theme = useTheme();\r\n const renderIcon = () => {\r\n return (\r\n (portraitSrc && (\r\n <ImageWrapper>\r\n <img src={portraitSrc}/>\r\n <PortraitOverlay/>\r\n </ImageWrapper>\r\n )) ||\r\n (initials && (\r\n <ComponentS className=\"initials\" textStyle={ComponentTextStyle.Bold}\r\n color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('white', theme)}>\r\n {initials}\r\n </ComponentS>\r\n )) || <>{icon}</>\r\n );\r\n };\r\n\r\n return (\r\n <ProfileButtonContainer>\r\n <IconButton ref={ref}\r\n className={className}\r\n disabled={disabled}\r\n action={onClick}\r\n variant=\"primary\"\r\n tabIndex={tabIndex}\r\n shape=\"circular\"\r\n {...rest}>\r\n {renderIcon()}\r\n {notificationVariant && (\r\n <NotificationContainer>\r\n <NotificationDot size={Size.Medium} variant={notificationVariant}/>\r\n </NotificationContainer>\r\n )}\r\n </IconButton>\r\n </ProfileButtonContainer>\r\n );\r\n});\r\n\r\nexport default ProfileButton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ProfileButton.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_","_Iconbutton","_NotificationDot","_styles","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","PortraitOverlay","styled","div","props","COLORS","getColor","theme","ProfileButtonContainer","exports","IconButtonStyledPrimary","$hideOnLowWidth","BREAKPOINTS","MEDIUM","IconButtonContentStyles","generateToken","componentType","defaultVariant","isOnFill","NotificationContainer","ImageWrapper","ProfileButton","forwardRef","_ref","ref","portraitSrc","icon","initials","onClick","disabled","notificationVariant","className","tabIndex","rest","_objectWithoutProperties2","useTheme","renderIcon","jsxs","children","jsx","src","ComponentS","textStyle","ComponentTextStyle","Bold","color","Fragment","IconButton","action","variant","shape","NotificationDot","size","Size","Medium","propTypes","_propTypes","string","node","func","isRequired","oneOf","_default"],"sources":["../../src/ProfileButton/ProfileButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport {COLORS, IconButton, Size} from '..';\r\nimport {IconButtonContentStyles, IconButtonStyledPrimary} from '../Button/Iconbutton';\r\nimport {NotificationDot} from '../NotificationDot';\r\nimport {BREAKPOINTS, ComponentS, ComponentTextStyle} from '../styles';\r\n\r\nexport type ProfileButtonProps = {\r\n /**\r\n * Optional. The source URL of the profile picture.\r\n */\r\n portraitSrc?: string;\r\n\r\n /**\r\n * Optional. The icon of the profile to be displayed in absence of 'portraitSrc' and 'initials'.\r\n */\r\n icon?: React.ReactNode;\r\n\r\n /**\r\n * Optional. The initials of the user. If provided, these will be displayed in circle in the absence of a profile picture.\r\n */\r\n initials?: string;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => void;\r\n\r\n /**\r\n * Optional. The variant of the notification dot. It can be 'positive' or 'critical'.\r\n */\r\n notificationVariant?: 'positive' | 'critical';\r\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> ;\r\n\r\nconst PortraitOverlay = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n background-color: ${props => COLORS.getColor('black', props.theme)};\r\n opacity: 0;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n`;\r\n\r\nexport const ProfileButtonContainer = styled.div<{ $hideOnLowWidth?: boolean }>`\r\n width: 48px;\r\n height: 48px;\r\n display: inline;\r\n user-select: none;\r\n \r\n ${IconButtonStyledPrimary} {\r\n display: ${props => (props.$hideOnLowWidth ? 'none' : 'inline')};\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n display: inline;\r\n }\r\n\r\n :disabled {\r\n img {\r\n filter: grayscale(100%);\r\n }\r\n\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.generateToken({componentType: 'bg-fill', defaultVariant: 'primary'}, props.theme)};\r\n\r\n svg, svg path {\r\n fill: ${props => COLORS.generateToken({componentType: 'text', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n }\r\n }\r\n }\r\n\r\n :hover:not(:disabled):not(:active),\r\n &.hover-state {\r\n ${PortraitOverlay} {\r\n opacity: 0.25;\r\n transition: opacity 100ms ease-in-out;\r\n }\r\n }\r\n\r\n :active:not(:disabled),\r\n &.active-state {\r\n ${PortraitOverlay} {\r\n opacity: 0.5;\r\n transition: opacity 0ms ease-in-out;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst NotificationContainer = styled.div`\r\n position: absolute;\r\n left: 30px;\r\n bottom: 30px;\r\n`;\r\n\r\nconst ImageWrapper = styled.div`\r\n width: 36px;\r\n height: 36px;\r\n position: relative;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n object-fit: cover;\r\n }\r\n`;\r\n\r\nconst ProfileButton = React.forwardRef<HTMLButtonElement, ProfileButtonProps>(({\r\n portraitSrc,\r\n icon,\r\n initials,\r\n onClick,\r\n disabled,\r\n notificationVariant,\r\n className,\r\n tabIndex,\r\n ...rest\r\n }, ref) => {\r\n const theme = useTheme();\r\n const renderIcon = () => {\r\n return (\r\n (portraitSrc && (\r\n <ImageWrapper>\r\n <img src={portraitSrc}/>\r\n <PortraitOverlay/>\r\n </ImageWrapper>\r\n )) ||\r\n (initials && (\r\n <ComponentS className=\"initials\" textStyle={ComponentTextStyle.Bold}\r\n color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('white', theme)}>\r\n {initials}\r\n </ComponentS>\r\n )) || <>{icon}</>\r\n );\r\n };\r\n\r\n return (\r\n <ProfileButtonContainer>\r\n <IconButton ref={ref}\r\n className={className}\r\n disabled={disabled}\r\n action={onClick}\r\n variant=\"primary\"\r\n tabIndex={tabIndex}\r\n shape=\"circular\"\r\n {...rest}>\r\n {renderIcon()}\r\n {notificationVariant && (\r\n <NotificationContainer>\r\n <NotificationDot size={Size.Medium} variant={notificationVariant}/>\r\n </NotificationContainer>\r\n )}\r\n </IconButton>\r\n </ProfileButtonContainer>\r\n );\r\n});\r\n\r\nexport default ProfileButton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,10 +40,17 @@ export const ProfileButtonContainer = styled.div`
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
${IconButtonContentStyles} {
|
|
43
|
-
background-color: ${props => COLORS.
|
|
43
|
+
background-color: ${props => COLORS.generateToken({
|
|
44
|
+
componentType: 'bg-fill',
|
|
45
|
+
defaultVariant: 'primary'
|
|
46
|
+
}, props.theme)};
|
|
44
47
|
|
|
45
48
|
svg, svg path {
|
|
46
|
-
fill: ${props => COLORS.
|
|
49
|
+
fill: ${props => COLORS.generateToken({
|
|
50
|
+
componentType: 'text',
|
|
51
|
+
isOnFill: true,
|
|
52
|
+
defaultVariant: 'primary'
|
|
53
|
+
}, props.theme)};
|
|
47
54
|
}
|
|
48
55
|
}
|
|
49
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileButton.js","names":["React","styled","useTheme","COLORS","IconButton","Size","IconButtonContentStyles","IconButtonStyledPrimary","NotificationDot","BREAKPOINTS","ComponentS","ComponentTextStyle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PortraitOverlay","div","props","getColor","theme","ProfileButtonContainer","$hideOnLowWidth","MEDIUM","NotificationContainer","ImageWrapper","ProfileButton","forwardRef","_ref","ref","portraitSrc","icon","initials","onClick","disabled","notificationVariant","className","tabIndex","rest","_objectWithoutProperties","_excluded","renderIcon","children","src","textStyle","Bold","color","_objectSpread","action","variant","shape","size","Medium","propTypes","_pt","string","node","func","isRequired","oneOf"],"sources":["../../src/ProfileButton/ProfileButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport {COLORS, IconButton, Size} from '..';\r\nimport {IconButtonContentStyles, IconButtonStyledPrimary} from '../Button/Iconbutton';\r\nimport {NotificationDot} from '../NotificationDot';\r\nimport {BREAKPOINTS, ComponentS, ComponentTextStyle} from '../styles';\r\n\r\nexport type ProfileButtonProps = {\r\n /**\r\n * Optional. The source URL of the profile picture.\r\n */\r\n portraitSrc?: string;\r\n\r\n /**\r\n * Optional. The icon of the profile to be displayed in absence of 'portraitSrc' and 'initials'.\r\n */\r\n icon?: React.ReactNode;\r\n\r\n /**\r\n * Optional. The initials of the user. If provided, these will be displayed in circle in the absence of a profile picture.\r\n */\r\n initials?: string;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => void;\r\n\r\n /**\r\n * Optional. The variant of the notification dot. It can be 'positive' or 'critical'.\r\n */\r\n notificationVariant?: 'positive' | 'critical';\r\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> ;\r\n\r\nconst PortraitOverlay = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n background-color: ${props => COLORS.getColor('black', props.theme)};\r\n opacity: 0;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n`;\r\n\r\nexport const ProfileButtonContainer = styled.div<{ $hideOnLowWidth?: boolean }>`\r\n width: 48px;\r\n height: 48px;\r\n display: inline;\r\n user-select: none;\r\n \r\n ${IconButtonStyledPrimary} {\r\n display: ${props => (props.$hideOnLowWidth ? 'none' : 'inline')};\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n display: inline;\r\n }\r\n\r\n :disabled {\r\n img {\r\n filter: grayscale(100%);\r\n }\r\n\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.
|
|
1
|
+
{"version":3,"file":"ProfileButton.js","names":["React","styled","useTheme","COLORS","IconButton","Size","IconButtonContentStyles","IconButtonStyledPrimary","NotificationDot","BREAKPOINTS","ComponentS","ComponentTextStyle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PortraitOverlay","div","props","getColor","theme","ProfileButtonContainer","$hideOnLowWidth","MEDIUM","generateToken","componentType","defaultVariant","isOnFill","NotificationContainer","ImageWrapper","ProfileButton","forwardRef","_ref","ref","portraitSrc","icon","initials","onClick","disabled","notificationVariant","className","tabIndex","rest","_objectWithoutProperties","_excluded","renderIcon","children","src","textStyle","Bold","color","_objectSpread","action","variant","shape","size","Medium","propTypes","_pt","string","node","func","isRequired","oneOf"],"sources":["../../src/ProfileButton/ProfileButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport {COLORS, IconButton, Size} from '..';\r\nimport {IconButtonContentStyles, IconButtonStyledPrimary} from '../Button/Iconbutton';\r\nimport {NotificationDot} from '../NotificationDot';\r\nimport {BREAKPOINTS, ComponentS, ComponentTextStyle} from '../styles';\r\n\r\nexport type ProfileButtonProps = {\r\n /**\r\n * Optional. The source URL of the profile picture.\r\n */\r\n portraitSrc?: string;\r\n\r\n /**\r\n * Optional. The icon of the profile to be displayed in absence of 'portraitSrc' and 'initials'.\r\n */\r\n icon?: React.ReactNode;\r\n\r\n /**\r\n * Optional. The initials of the user. If provided, these will be displayed in circle in the absence of a profile picture.\r\n */\r\n initials?: string;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => void;\r\n\r\n /**\r\n * Optional. The variant of the notification dot. It can be 'positive' or 'critical'.\r\n */\r\n notificationVariant?: 'positive' | 'critical';\r\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> ;\r\n\r\nconst PortraitOverlay = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n background-color: ${props => COLORS.getColor('black', props.theme)};\r\n opacity: 0;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n`;\r\n\r\nexport const ProfileButtonContainer = styled.div<{ $hideOnLowWidth?: boolean }>`\r\n width: 48px;\r\n height: 48px;\r\n display: inline;\r\n user-select: none;\r\n \r\n ${IconButtonStyledPrimary} {\r\n display: ${props => (props.$hideOnLowWidth ? 'none' : 'inline')};\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n display: inline;\r\n }\r\n\r\n :disabled {\r\n img {\r\n filter: grayscale(100%);\r\n }\r\n\r\n ${IconButtonContentStyles} {\r\n background-color: ${props => COLORS.generateToken({componentType: 'bg-fill', defaultVariant: 'primary'}, props.theme)};\r\n\r\n svg, svg path {\r\n fill: ${props => COLORS.generateToken({componentType: 'text', isOnFill: true, defaultVariant: 'primary'}, props.theme)};\r\n }\r\n }\r\n }\r\n\r\n :hover:not(:disabled):not(:active),\r\n &.hover-state {\r\n ${PortraitOverlay} {\r\n opacity: 0.25;\r\n transition: opacity 100ms ease-in-out;\r\n }\r\n }\r\n\r\n :active:not(:disabled),\r\n &.active-state {\r\n ${PortraitOverlay} {\r\n opacity: 0.5;\r\n transition: opacity 0ms ease-in-out;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst NotificationContainer = styled.div`\r\n position: absolute;\r\n left: 30px;\r\n bottom: 30px;\r\n`;\r\n\r\nconst ImageWrapper = styled.div`\r\n width: 36px;\r\n height: 36px;\r\n position: relative;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n object-fit: cover;\r\n }\r\n`;\r\n\r\nconst ProfileButton = React.forwardRef<HTMLButtonElement, ProfileButtonProps>(({\r\n portraitSrc,\r\n icon,\r\n initials,\r\n onClick,\r\n disabled,\r\n notificationVariant,\r\n className,\r\n tabIndex,\r\n ...rest\r\n }, ref) => {\r\n const theme = useTheme();\r\n const renderIcon = () => {\r\n return (\r\n (portraitSrc && (\r\n <ImageWrapper>\r\n <img src={portraitSrc}/>\r\n <PortraitOverlay/>\r\n </ImageWrapper>\r\n )) ||\r\n (initials && (\r\n <ComponentS className=\"initials\" textStyle={ComponentTextStyle.Bold}\r\n color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('white', theme)}>\r\n {initials}\r\n </ComponentS>\r\n )) || <>{icon}</>\r\n );\r\n };\r\n\r\n return (\r\n <ProfileButtonContainer>\r\n <IconButton ref={ref}\r\n className={className}\r\n disabled={disabled}\r\n action={onClick}\r\n variant=\"primary\"\r\n tabIndex={tabIndex}\r\n shape=\"circular\"\r\n {...rest}>\r\n {renderIcon()}\r\n {notificationVariant && (\r\n <NotificationContainer>\r\n <NotificationDot size={Size.Medium} variant={notificationVariant}/>\r\n </NotificationContainer>\r\n )}\r\n </IconButton>\r\n </ProfileButtonContainer>\r\n );\r\n});\r\n\r\nexport default ProfileButton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,14 +27,20 @@ const SegmentControlItemContent = exports.SegmentControlItemContent = _styledCom
|
|
|
27
27
|
padding: 0 16px;
|
|
28
28
|
|
|
29
29
|
background-color: transparent;
|
|
30
|
-
color: ${props => _styles.COLORS.
|
|
30
|
+
color: ${props => _styles.COLORS.generateToken({
|
|
31
|
+
componentType: 'text',
|
|
32
|
+
defaultVariant: 'subtle'
|
|
33
|
+
}, props.theme)};
|
|
31
34
|
`;
|
|
32
35
|
const SegmentControlItemBackground = exports.SegmentControlItemBackground = _styledComponents.default.div`
|
|
33
36
|
flex: 1;
|
|
34
37
|
display: flex;
|
|
35
38
|
flex-direction: row;
|
|
36
39
|
align-items: center;
|
|
37
|
-
background-color: ${props => _styles.COLORS.
|
|
40
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
41
|
+
componentType: 'bg-surface',
|
|
42
|
+
defaultVariant: 'subtle'
|
|
43
|
+
}, props.theme)};
|
|
38
44
|
padding: 4px 0px;
|
|
39
45
|
`;
|
|
40
46
|
const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledComponents.default.div`
|
|
@@ -54,8 +60,14 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
|
|
|
54
60
|
z-index: ${_styles.Z_INDEXES.hover};
|
|
55
61
|
|
|
56
62
|
${SegmentControlItemContent} {
|
|
57
|
-
background-color: ${props => _styles.COLORS.
|
|
58
|
-
|
|
63
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
64
|
+
componentType: 'bg-surface',
|
|
65
|
+
state: 'hover'
|
|
66
|
+
}, props.theme)};
|
|
67
|
+
color: ${props => _styles.COLORS.generateToken({
|
|
68
|
+
componentType: 'text',
|
|
69
|
+
state: 'hover'
|
|
70
|
+
}, props.theme)};
|
|
59
71
|
}
|
|
60
72
|
}
|
|
61
73
|
|
|
@@ -63,8 +75,14 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
|
|
|
63
75
|
z-index: ${_styles.Z_INDEXES.active};
|
|
64
76
|
|
|
65
77
|
${SegmentControlItemContent} {
|
|
66
|
-
background-color: ${props => _styles.COLORS.
|
|
67
|
-
|
|
78
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
79
|
+
componentType: 'bg-surface',
|
|
80
|
+
state: 'active'
|
|
81
|
+
}, props.theme)};
|
|
82
|
+
color: ${props => _styles.COLORS.generateToken({
|
|
83
|
+
componentType: 'text',
|
|
84
|
+
state: 'active'
|
|
85
|
+
}, props.theme)};
|
|
68
86
|
}
|
|
69
87
|
}
|
|
70
88
|
|
|
@@ -73,7 +91,10 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
|
|
|
73
91
|
|
|
74
92
|
${SegmentControlItemContent} {
|
|
75
93
|
background-color: transparent;
|
|
76
|
-
color: ${props => _styles.COLORS.
|
|
94
|
+
color: ${props => _styles.COLORS.generateToken({
|
|
95
|
+
componentType: 'text',
|
|
96
|
+
state: 'disabled'
|
|
97
|
+
}, props.theme)};
|
|
77
98
|
}
|
|
78
99
|
}
|
|
79
100
|
|
|
@@ -82,8 +103,15 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
|
|
|
82
103
|
pointer-events: none;
|
|
83
104
|
|
|
84
105
|
${SegmentControlItemContent} {
|
|
85
|
-
background-color: ${props => _styles.COLORS.
|
|
86
|
-
|
|
106
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
107
|
+
componentType: 'bg-fill',
|
|
108
|
+
defaultVariant: 'primary'
|
|
109
|
+
}, props.theme)};
|
|
110
|
+
color: ${props => _styles.COLORS.generateToken({
|
|
111
|
+
componentType: 'text',
|
|
112
|
+
isOnFill: true,
|
|
113
|
+
defaultVariant: 'primary'
|
|
114
|
+
}, props.theme)};
|
|
87
115
|
}
|
|
88
116
|
}
|
|
89
117
|
|
|
@@ -92,8 +120,15 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
|
|
|
92
120
|
pointer-events: unset;
|
|
93
121
|
|
|
94
122
|
${SegmentControlItemContent} {
|
|
95
|
-
background-color: ${props => _styles.COLORS.
|
|
96
|
-
|
|
123
|
+
background-color: ${props => _styles.COLORS.generateToken({
|
|
124
|
+
componentType: 'bg-fill',
|
|
125
|
+
state: 'disabled'
|
|
126
|
+
}, props.theme)};
|
|
127
|
+
color: ${props => _styles.COLORS.generateToken({
|
|
128
|
+
componentType: 'text',
|
|
129
|
+
isOnFill: true,
|
|
130
|
+
state: 'disabled'
|
|
131
|
+
}, props.theme)};
|
|
97
132
|
}
|
|
98
133
|
}
|
|
99
134
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentControl.cjs","names":["_react","_interopRequireDefault","require","_types","_styledComponents","_styles","_common","_jsxRuntime","_excluded","_excluded2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","SegmentControlItemContent","exports","styled","div","props","COLORS","getColor","theme","SegmentControlItemBackground","SegmentControlItemWrapper","focusStyles","Z_INDEXES","hover","active","SegmentControlWrapper","ComponentSStyling","ComponentTextStyle","Bold","ComponentMStyling","SegmentControl","_ref","items","size","Size","Medium","onChange","selected","className","rest","_objectWithoutProperties2","onKeyPress","item","key","document","activeElement","blur","disabled","onClick","jsx","children","map","a","i","content","tabIndex","undefined","onMouseDown","defaultOnMouseDownHandler","propTypes","_propTypes","arrayOf","shape","string","isRequired","bool","oneOfType","node","func","_default"],"sources":["../../src/SegmentControl/SegmentControl.tsx"],"sourcesContent":["import React from 'react';\r\nimport {Size} from '../types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\nexport const SegmentControlItemContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 0 16px;\r\n\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n`\r\n\r\nexport const SegmentControlItemBackground = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n padding: 4px 0px;\r\n`;\r\n\r\nexport const SegmentControlItemWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-height: 48px;\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_200', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n &.selected {\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &.selected.disabled {\r\n cursor: not-allowed;\r\n pointer-events: unset;\r\n \r\n ${SegmentControlItemContent} {\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\n\r\nexport const SegmentControlWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n ${SegmentControlItemWrapper}:first-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-left-radius: 12px;\r\n border-top-left-radius: 12px;\r\n padding-left: 4px;\r\n }\r\n }\r\n\r\n ${SegmentControlItemWrapper}:last-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-right-radius: 12px;\r\n border-top-right-radius: 12px;\r\n padding-right: 4px;\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n ${SegmentControlItemContent} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 32px;\r\n }\r\n }\r\n\r\n &.medium {\r\n ${SegmentControlItemContent} {\r\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 40px;\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'content' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /**\r\n * Required. The key of the segment control item. This should be unique among all items in the segment control.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the segment control item is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Required. The content of the segment control item. This can be a string or a React node.\r\n */\r\n content: React.ReactNode | string;\r\n}\r\n\r\nexport interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\r\n /**\r\n * Required. An array of SegmentControlItem objects representing the items in the segment control.\r\n */\r\n items: SegmentControlItem[];\r\n\r\n /**\r\n * Optional. The key of the currently selected item in the segment control. In order to change selected item\r\n * when user clicks on it, you should update this prop to display item as 'selected'.\r\n */\r\n selected: string;\r\n\r\n /**\r\n * Required. A function to be called when the selected item in the segment control changes.\r\n * It should take a string representing the key of the new selected item.\r\n */\r\n onChange: (value: string) => void;\r\n\r\n /**\r\n * Optional. The size of the segment control. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n}\r\n\r\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\r\n items,\r\n size = Size.Medium,\r\n onChange,\r\n selected,\r\n className,\r\n ...rest\r\n }) => {\r\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n //@ts-ignore\r\n document?.activeElement?.blur();\r\n !item.disabled && onChange(item.key);\r\n }\r\n };\r\n\r\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\r\n !item.disabled && onChange(item.key);\r\n }\r\n\r\n return (\r\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\r\n {items.map((a, i) => {\r\n const {key, disabled, content, className, ...rest} = a;\r\n return <SegmentControlItemWrapper key={a.key || i}\r\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\r\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\r\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\r\n {...rest}>\r\n <SegmentControlItemBackground>\r\n <SegmentControlItemContent>\r\n {a.content}\r\n </SegmentControlItemContent>\r\n </SegmentControlItemBackground>\r\n </SegmentControlItemWrapper>;\r\n })\r\n }\r\n </SegmentControlWrapper>\r\n );\r\n};\r\n\r\nexport default SegmentControl;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SegmentControl.cjs","names":["_react","_interopRequireDefault","require","_types","_styledComponents","_styles","_common","_jsxRuntime","_excluded","_excluded2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","SegmentControlItemContent","exports","styled","div","props","COLORS","generateToken","componentType","defaultVariant","theme","SegmentControlItemBackground","SegmentControlItemWrapper","focusStyles","Z_INDEXES","hover","state","active","isOnFill","SegmentControlWrapper","ComponentSStyling","ComponentTextStyle","Bold","ComponentMStyling","SegmentControl","_ref","items","size","Size","Medium","onChange","selected","className","rest","_objectWithoutProperties2","onKeyPress","item","key","document","activeElement","blur","disabled","onClick","jsx","children","map","a","i","content","tabIndex","undefined","onMouseDown","defaultOnMouseDownHandler","propTypes","_propTypes","arrayOf","shape","string","isRequired","bool","oneOfType","node","func","_default"],"sources":["../../src/SegmentControl/SegmentControl.tsx"],"sourcesContent":["import React from 'react';\r\nimport {Size} from '../types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\nexport const SegmentControlItemContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 0 16px;\r\n\r\n background-color: transparent;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n`\r\n\r\nexport const SegmentControlItemBackground = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n padding: 4px 0px;\r\n`;\r\n\r\nexport const SegmentControlItemWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-height: 48px;\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n }\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: transparent;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)};\r\n }\r\n }\r\n\r\n &.selected {\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'primary' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n }\r\n\r\n &.selected.disabled {\r\n cursor: not-allowed;\r\n pointer-events: unset;\r\n \r\n ${SegmentControlItemContent} {\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\n\r\nexport const SegmentControlWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n ${SegmentControlItemWrapper}:first-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-left-radius: 12px;\r\n border-top-left-radius: 12px;\r\n padding-left: 4px;\r\n }\r\n }\r\n\r\n ${SegmentControlItemWrapper}:last-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-right-radius: 12px;\r\n border-top-right-radius: 12px;\r\n padding-right: 4px;\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n ${SegmentControlItemContent} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 32px;\r\n }\r\n }\r\n\r\n &.medium {\r\n ${SegmentControlItemContent} {\r\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 40px;\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'content' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /**\r\n * Required. The key of the segment control item. This should be unique among all items in the segment control.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the segment control item is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Required. The content of the segment control item. This can be a string or a React node.\r\n */\r\n content: React.ReactNode | string;\r\n}\r\n\r\nexport interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\r\n /**\r\n * Required. An array of SegmentControlItem objects representing the items in the segment control.\r\n */\r\n items: SegmentControlItem[];\r\n\r\n /**\r\n * Optional. The key of the currently selected item in the segment control. In order to change selected item\r\n * when user clicks on it, you should update this prop to display item as 'selected'.\r\n */\r\n selected: string;\r\n\r\n /**\r\n * Required. A function to be called when the selected item in the segment control changes.\r\n * It should take a string representing the key of the new selected item.\r\n */\r\n onChange: (value: string) => void;\r\n\r\n /**\r\n * Optional. The size of the segment control. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n}\r\n\r\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\r\n items,\r\n size = Size.Medium,\r\n onChange,\r\n selected,\r\n className,\r\n ...rest\r\n }) => {\r\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n //@ts-ignore\r\n document?.activeElement?.blur();\r\n !item.disabled && onChange(item.key);\r\n }\r\n };\r\n\r\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\r\n !item.disabled && onChange(item.key);\r\n }\r\n\r\n return (\r\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\r\n {items.map((a, i) => {\r\n const {key, disabled, content, className, ...rest} = a;\r\n return <SegmentControlItemWrapper key={a.key || i}\r\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\r\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\r\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\r\n {...rest}>\r\n <SegmentControlItemBackground>\r\n <SegmentControlItemContent>\r\n {a.content}\r\n </SegmentControlItemContent>\r\n </SegmentControlItemBackground>\r\n </SegmentControlItemWrapper>;\r\n })\r\n }\r\n </SegmentControlWrapper>\r\n );\r\n};\r\n\r\nexport default SegmentControl;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,14 +20,20 @@ export const SegmentControlItemContent = styled.div`
|
|
|
20
20
|
padding: 0 16px;
|
|
21
21
|
|
|
22
22
|
background-color: transparent;
|
|
23
|
-
color: ${props => COLORS.
|
|
23
|
+
color: ${props => COLORS.generateToken({
|
|
24
|
+
componentType: 'text',
|
|
25
|
+
defaultVariant: 'subtle'
|
|
26
|
+
}, props.theme)};
|
|
24
27
|
`;
|
|
25
28
|
export const SegmentControlItemBackground = styled.div`
|
|
26
29
|
flex: 1;
|
|
27
30
|
display: flex;
|
|
28
31
|
flex-direction: row;
|
|
29
32
|
align-items: center;
|
|
30
|
-
background-color: ${props => COLORS.
|
|
33
|
+
background-color: ${props => COLORS.generateToken({
|
|
34
|
+
componentType: 'bg-surface',
|
|
35
|
+
defaultVariant: 'subtle'
|
|
36
|
+
}, props.theme)};
|
|
31
37
|
padding: 4px 0px;
|
|
32
38
|
`;
|
|
33
39
|
export const SegmentControlItemWrapper = styled.div`
|
|
@@ -47,8 +53,14 @@ export const SegmentControlItemWrapper = styled.div`
|
|
|
47
53
|
z-index: ${Z_INDEXES.hover};
|
|
48
54
|
|
|
49
55
|
${SegmentControlItemContent} {
|
|
50
|
-
background-color: ${props => COLORS.
|
|
51
|
-
|
|
56
|
+
background-color: ${props => COLORS.generateToken({
|
|
57
|
+
componentType: 'bg-surface',
|
|
58
|
+
state: 'hover'
|
|
59
|
+
}, props.theme)};
|
|
60
|
+
color: ${props => COLORS.generateToken({
|
|
61
|
+
componentType: 'text',
|
|
62
|
+
state: 'hover'
|
|
63
|
+
}, props.theme)};
|
|
52
64
|
}
|
|
53
65
|
}
|
|
54
66
|
|
|
@@ -56,8 +68,14 @@ export const SegmentControlItemWrapper = styled.div`
|
|
|
56
68
|
z-index: ${Z_INDEXES.active};
|
|
57
69
|
|
|
58
70
|
${SegmentControlItemContent} {
|
|
59
|
-
background-color: ${props => COLORS.
|
|
60
|
-
|
|
71
|
+
background-color: ${props => COLORS.generateToken({
|
|
72
|
+
componentType: 'bg-surface',
|
|
73
|
+
state: 'active'
|
|
74
|
+
}, props.theme)};
|
|
75
|
+
color: ${props => COLORS.generateToken({
|
|
76
|
+
componentType: 'text',
|
|
77
|
+
state: 'active'
|
|
78
|
+
}, props.theme)};
|
|
61
79
|
}
|
|
62
80
|
}
|
|
63
81
|
|
|
@@ -66,7 +84,10 @@ export const SegmentControlItemWrapper = styled.div`
|
|
|
66
84
|
|
|
67
85
|
${SegmentControlItemContent} {
|
|
68
86
|
background-color: transparent;
|
|
69
|
-
color: ${props => COLORS.
|
|
87
|
+
color: ${props => COLORS.generateToken({
|
|
88
|
+
componentType: 'text',
|
|
89
|
+
state: 'disabled'
|
|
90
|
+
}, props.theme)};
|
|
70
91
|
}
|
|
71
92
|
}
|
|
72
93
|
|
|
@@ -75,8 +96,15 @@ export const SegmentControlItemWrapper = styled.div`
|
|
|
75
96
|
pointer-events: none;
|
|
76
97
|
|
|
77
98
|
${SegmentControlItemContent} {
|
|
78
|
-
background-color: ${props => COLORS.
|
|
79
|
-
|
|
99
|
+
background-color: ${props => COLORS.generateToken({
|
|
100
|
+
componentType: 'bg-fill',
|
|
101
|
+
defaultVariant: 'primary'
|
|
102
|
+
}, props.theme)};
|
|
103
|
+
color: ${props => COLORS.generateToken({
|
|
104
|
+
componentType: 'text',
|
|
105
|
+
isOnFill: true,
|
|
106
|
+
defaultVariant: 'primary'
|
|
107
|
+
}, props.theme)};
|
|
80
108
|
}
|
|
81
109
|
}
|
|
82
110
|
|
|
@@ -85,8 +113,15 @@ export const SegmentControlItemWrapper = styled.div`
|
|
|
85
113
|
pointer-events: unset;
|
|
86
114
|
|
|
87
115
|
${SegmentControlItemContent} {
|
|
88
|
-
background-color: ${props => COLORS.
|
|
89
|
-
|
|
116
|
+
background-color: ${props => COLORS.generateToken({
|
|
117
|
+
componentType: 'bg-fill',
|
|
118
|
+
state: 'disabled'
|
|
119
|
+
}, props.theme)};
|
|
120
|
+
color: ${props => COLORS.generateToken({
|
|
121
|
+
componentType: 'text',
|
|
122
|
+
isOnFill: true,
|
|
123
|
+
state: 'disabled'
|
|
124
|
+
}, props.theme)};
|
|
90
125
|
}
|
|
91
126
|
}
|
|
92
127
|
`;
|