@laerdal/life-react-components 1.4.1-dev.9 → 1.5.1-dev.1.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/AccordionItem.cjs +77 -0
- package/dist/Accordion/AccordionItem.cjs.map +1 -0
- package/dist/Accordion/AccordionItem.d.ts +2 -0
- package/dist/Accordion/AccordionItem.js +8 -7
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/AccordionMenu.cjs +105 -0
- package/dist/Accordion/AccordionMenu.cjs.map +1 -0
- package/dist/Accordion/AccordionMenu.d.ts +2 -0
- package/dist/Accordion/AccordionMenu.js +8 -2
- package/dist/Accordion/AccordionMenu.js.map +1 -1
- package/dist/Accordion/ContentAccordion.cjs +172 -0
- package/dist/Accordion/ContentAccordion.cjs.map +1 -0
- package/dist/Accordion/index.cjs +38 -0
- package/dist/Accordion/index.cjs.map +1 -0
- package/dist/Accordion/styles.cjs +45 -0
- package/dist/Accordion/styles.cjs.map +1 -0
- package/dist/Accordion/styles.d.ts +5 -5
- package/dist/Accordion/styles.js +9 -10
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.cjs +80 -0
- package/dist/AuthPage/AuthPage.cjs.map +1 -0
- package/dist/AuthPage/Information.cjs +42 -0
- package/dist/AuthPage/Information.cjs.map +1 -0
- package/dist/AuthPage/ScreenSetsContainer.cjs +25 -0
- package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -0
- package/dist/AuthPage/_AuthPageSection.cjs +22 -0
- package/dist/AuthPage/_AuthPageSection.cjs.map +1 -0
- package/dist/AuthPage/index.cjs +64 -0
- package/dist/AuthPage/index.cjs.map +1 -0
- package/dist/AuthPage/screenSetsErrorMessages.cjs +13 -0
- package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -0
- package/dist/Banners/Banner.cjs +190 -0
- package/dist/Banners/Banner.cjs.map +1 -0
- package/dist/Banners/Banner.d.ts +1 -0
- package/dist/Banners/Banner.js +84 -189
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/OverviewBanner.cjs +55 -0
- package/dist/Banners/OverviewBanner.cjs.map +1 -0
- package/dist/Banners/index.cjs +24 -0
- package/dist/Banners/index.cjs.map +1 -0
- package/dist/Banners/styles.cjs +73 -0
- package/dist/Banners/styles.cjs.map +1 -0
- package/dist/Banners/styles.js +44 -7
- package/dist/Banners/styles.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +169 -0
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -0
- package/dist/Breadcrumb/BreadcrumbItem.cjs +6 -0
- package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -0
- package/dist/Breadcrumb/index.cjs +16 -0
- package/dist/Breadcrumb/index.cjs.map +1 -0
- package/dist/Button/BackButton.cjs +75 -0
- package/dist/Button/BackButton.cjs.map +1 -0
- package/dist/Button/Button.cjs +266 -0
- package/dist/Button/Button.cjs.map +1 -0
- package/dist/Button/Button.js +27 -101
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs +162 -0
- package/dist/Button/DualFunctionButton.cjs.map +1 -0
- package/dist/Button/Iconbutton.cjs +195 -0
- package/dist/Button/Iconbutton.cjs.map +1 -0
- package/dist/Button/Iconbutton.d.ts +13 -0
- package/dist/Button/Iconbutton.js +2 -2
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Button/index.cjs +40 -0
- package/dist/Button/index.cjs.map +1 -0
- package/dist/Chips/ActionChip.cjs +81 -0
- package/dist/Chips/ActionChip.cjs.map +1 -0
- package/dist/Chips/ChipInput.cjs +199 -0
- package/dist/Chips/ChipInput.cjs.map +1 -0
- package/dist/Chips/ChipStyles.cjs +43 -0
- package/dist/Chips/ChipStyles.cjs.map +1 -0
- package/dist/Chips/ChipTypes.cjs +6 -0
- package/dist/Chips/ChipTypes.cjs.map +1 -0
- package/dist/Chips/ChoiceChips.cjs +94 -0
- package/dist/Chips/ChoiceChips.cjs.map +1 -0
- package/dist/Chips/FilterChip.cjs +81 -0
- package/dist/Chips/FilterChip.cjs.map +1 -0
- package/dist/Chips/InputChip.cjs +109 -0
- package/dist/Chips/InputChip.cjs.map +1 -0
- package/dist/Chips/index.cjs +48 -0
- package/dist/Chips/index.cjs.map +1 -0
- package/dist/Dropdown/BasicDropdown.cjs +300 -0
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -0
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/ChipDropdownInput.cjs +431 -0
- package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
- package/dist/Dropdown/ChipDropdownInput.js +2 -4
- package/dist/Dropdown/ChipDropdownInput.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +81 -0
- package/dist/Dropdown/CommonStyling.cjs.map +1 -0
- package/dist/Dropdown/CommonStyling.d.ts +0 -5
- package/dist/Dropdown/CommonStyling.js +3 -10
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +161 -0
- package/dist/Dropdown/DropdownButton.cjs.map +1 -0
- package/dist/Dropdown/DropdownButtonTypes.cjs +6 -0
- package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -0
- package/dist/Dropdown/DropdownContent.cjs +566 -0
- package/dist/Dropdown/DropdownContent.cjs.map +1 -0
- package/dist/Dropdown/DropdownContent.js +19 -54
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +357 -0
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -0
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/index.cjs +40 -0
- package/dist/Dropdown/index.cjs.map +1 -0
- package/dist/Dropdown/index.d.ts +1 -0
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.cjs +69 -0
- package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -0
- package/dist/Footer/Components/FooterDropdownLinks.cjs +91 -0
- package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -0
- package/dist/Footer/Components/FooterNavSection.cjs +90 -0
- package/dist/Footer/Components/FooterNavSection.cjs.map +1 -0
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +129 -0
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -0
- package/dist/Footer/Components/FooterTop.cjs +91 -0
- package/dist/Footer/Components/FooterTop.cjs.map +1 -0
- package/dist/Footer/Footer.cjs +41 -0
- package/dist/Footer/Footer.cjs.map +1 -0
- package/dist/Footer/SiteFooter.cjs +89 -0
- package/dist/Footer/SiteFooter.cjs.map +1 -0
- package/dist/Footer/index.cjs +24 -0
- package/dist/Footer/index.cjs.map +1 -0
- package/dist/GlobalNavigationBar/Actions.cjs +185 -0
- package/dist/GlobalNavigationBar/Actions.cjs.map +1 -0
- package/dist/GlobalNavigationBar/Avatar.cjs +106 -0
- package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -0
- package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs +100 -0
- package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +1 -0
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +303 -0
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -0
- package/dist/GlobalNavigationBar/Logo.cjs +102 -0
- package/dist/GlobalNavigationBar/Logo.cjs.map +1 -0
- package/dist/GlobalNavigationBar/MainMenu.cjs +169 -0
- package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -0
- package/dist/GlobalNavigationBar/RightSideNav.cjs +89 -0
- package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -0
- package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +108 -0
- package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -0
- package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +176 -0
- package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -0
- package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +168 -0
- package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +1 -0
- package/dist/GlobalNavigationBar/index.cjs +36 -0
- package/dist/GlobalNavigationBar/index.cjs.map +1 -0
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +71 -0
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -0
- package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +49 -0
- package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +1 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +91 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +1 -0
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +290 -0
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -0
- package/dist/HyperLink/HyperLink.cjs +72 -0
- package/dist/HyperLink/HyperLink.cjs.map +1 -0
- package/dist/HyperLink/index.cjs +30 -0
- package/dist/HyperLink/index.cjs.map +1 -0
- package/dist/HyperLink/styling.cjs +22 -0
- package/dist/HyperLink/styling.cjs.map +1 -0
- package/dist/InputFields/Checkbox.cjs +126 -0
- package/dist/InputFields/Checkbox.cjs.map +1 -0
- package/dist/InputFields/DatepickerField.cjs +252 -0
- package/dist/InputFields/DatepickerField.cjs.map +1 -0
- package/dist/InputFields/DatepickerFieldHeader.cjs +107 -0
- package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -0
- package/dist/InputFields/Label.cjs +104 -0
- package/dist/InputFields/Label.cjs.map +1 -0
- package/dist/InputFields/PasswordField.cjs +150 -0
- package/dist/InputFields/PasswordField.cjs.map +1 -0
- package/dist/InputFields/QuickSearch.cjs +201 -0
- package/dist/InputFields/QuickSearch.cjs.map +1 -0
- package/dist/InputFields/RadioButton.cjs +114 -0
- package/dist/InputFields/RadioButton.cjs.map +1 -0
- package/dist/InputFields/ResponsiveComponentWrapper.cjs +72 -0
- package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -0
- package/dist/InputFields/SearchBar.cjs +146 -0
- package/dist/InputFields/SearchBar.cjs.map +1 -0
- package/dist/InputFields/TextField.cjs +126 -0
- package/dist/InputFields/TextField.cjs.map +1 -0
- package/dist/InputFields/Textarea.cjs +96 -0
- package/dist/InputFields/Textarea.cjs.map +1 -0
- package/dist/InputFields/components/SearchBarInput.cjs +99 -0
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -0
- package/dist/InputFields/components/SearchField.cjs +71 -0
- package/dist/InputFields/components/SearchField.cjs.map +1 -0
- package/dist/InputFields/index.cjs +80 -0
- package/dist/InputFields/index.cjs.map +1 -0
- package/dist/InputFields/styling.cjs +76 -0
- package/dist/InputFields/styling.cjs.map +1 -0
- package/dist/Layouts/index.cjs +56 -0
- package/dist/Layouts/index.cjs.map +1 -0
- package/dist/List/ListRow.cjs +143 -0
- package/dist/List/ListRow.cjs.map +1 -0
- package/dist/List/index.cjs +16 -0
- package/dist/List/index.cjs.map +1 -0
- package/dist/LoadingIndicator/LoadingIndicator.cjs +71 -0
- package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -0
- package/dist/LoadingIndicator/index.cjs +16 -0
- package/dist/LoadingIndicator/index.cjs.map +1 -0
- package/dist/LoadingPage/GlobalLoadingPage.cjs +66 -0
- package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -0
- package/dist/LoadingPage/index.cjs +16 -0
- package/dist/LoadingPage/index.cjs.map +1 -0
- package/dist/MenuItem/MenuItem.cjs +104 -0
- package/dist/MenuItem/MenuItem.cjs.map +1 -0
- package/dist/MenuItem/MenuItem.d.ts +21 -0
- package/dist/MenuItem/MenuItem.js +64 -0
- package/dist/MenuItem/MenuItem.js.map +1 -0
- package/dist/MiniProductCard/MiniProductCard.cjs +80 -0
- package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -0
- package/dist/MiniProductCard/index.cjs +16 -0
- package/dist/MiniProductCard/index.cjs.map +1 -0
- package/dist/Modals/Modal.cjs +92 -0
- package/dist/Modals/Modal.cjs.map +1 -0
- package/dist/Modals/ModalContainer.cjs +176 -0
- package/dist/Modals/ModalContainer.cjs.map +1 -0
- package/dist/Modals/ModalContainer.js +1 -1
- package/dist/Modals/ModalContainer.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +363 -0
- package/dist/Modals/ModalDialog.cjs.map +1 -0
- package/dist/Modals/ModalDialog.d.ts +1 -0
- package/dist/Modals/ModalDialog.js +16 -2
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/Modals/ModalNote.cjs +93 -0
- package/dist/Modals/ModalNote.cjs.map +1 -0
- package/dist/Modals/ModalStyles.cjs +154 -0
- package/dist/Modals/ModalStyles.cjs.map +1 -0
- package/dist/Modals/ModalStyles.js +1 -1
- package/dist/Modals/ModalStyles.js.map +1 -1
- package/dist/Modals/ModalTypes.cjs +6 -0
- package/dist/Modals/ModalTypes.cjs.map +1 -0
- package/dist/Modals/index.cjs +70 -0
- package/dist/Modals/index.cjs.map +1 -0
- package/dist/Modals/index.d.ts +1 -0
- package/dist/Modals/index.js.map +1 -1
- package/dist/NavItem/NavItem.cjs +26 -0
- package/dist/NavItem/NavItem.cjs.map +1 -0
- package/dist/NavItem/index.cjs +16 -0
- package/dist/NavItem/index.cjs.map +1 -0
- package/dist/NotificationDot/NotificationDot.cjs +74 -0
- package/dist/NotificationDot/NotificationDot.cjs.map +1 -0
- package/dist/NotificationDot/index.cjs +16 -0
- package/dist/NotificationDot/index.cjs.map +1 -0
- package/dist/Paginator/Paginator.cjs +191 -0
- package/dist/Paginator/Paginator.cjs.map +1 -0
- package/dist/Paginator/index.cjs +16 -0
- package/dist/Paginator/index.cjs.map +1 -0
- package/dist/QuizButton/QuizButton.cjs +150 -0
- package/dist/QuizButton/QuizButton.cjs.map +1 -0
- package/dist/QuizButton/QuizButton.js +6 -6
- package/dist/QuizButton/QuizButton.js.map +1 -1
- package/dist/QuizButton/index.cjs +16 -0
- package/dist/QuizButton/index.cjs.map +1 -0
- package/dist/Services/functions.cjs +19 -0
- package/dist/Services/functions.cjs.map +1 -0
- package/dist/SkipToContent/SkipToContent.cjs +46 -0
- package/dist/SkipToContent/SkipToContent.cjs.map +1 -0
- package/dist/SkipToContent/index.cjs +16 -0
- package/dist/SkipToContent/index.cjs.map +1 -0
- package/dist/Switcher/MobileSwitcherMenu.cjs +120 -0
- package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -0
- package/dist/Switcher/SwitcherMenuItem.cjs +62 -0
- package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -0
- package/dist/Switcher/index.cjs +24 -0
- package/dist/Switcher/index.cjs.map +1 -0
- package/dist/Table/Table.cjs +463 -0
- package/dist/Table/Table.cjs.map +1 -0
- package/dist/Table/TableBody.cjs +186 -0
- package/dist/Table/TableBody.cjs.map +1 -0
- package/dist/Table/TableFooter.cjs +119 -0
- package/dist/Table/TableFooter.cjs.map +1 -0
- package/dist/Table/TableHeaders.cjs +100 -0
- package/dist/Table/TableHeaders.cjs.map +1 -0
- package/dist/Table/TableStyles.cjs +104 -0
- package/dist/Table/TableStyles.cjs.map +1 -0
- package/dist/Table/TableTypes.cjs +6 -0
- package/dist/Table/TableTypes.cjs.map +1 -0
- package/dist/Table/index.cjs +16 -0
- package/dist/Table/index.cjs.map +1 -0
- package/dist/Table/index.d.ts +1 -0
- package/dist/Table/index.js.map +1 -1
- package/dist/Tabs/HorizontalTabs.cjs +98 -0
- package/dist/Tabs/HorizontalTabs.cjs.map +1 -0
- package/dist/Tabs/HorizontalTabs.d.ts +1 -1
- package/dist/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/Tabs/TabLink.cjs +128 -0
- package/dist/Tabs/TabLink.cjs.map +1 -0
- package/dist/Tabs/Tabs.cjs +121 -0
- package/dist/Tabs/Tabs.cjs.map +1 -0
- package/dist/Tabs/VerticalTabs.cjs +68 -0
- package/dist/Tabs/VerticalTabs.cjs.map +1 -0
- package/dist/Tabs/index.cjs +24 -0
- package/dist/Tabs/index.cjs.map +1 -0
- package/dist/Tabs/index.d.ts +2 -0
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Toasters/Toast.cjs +289 -0
- package/dist/Toasters/Toast.cjs.map +1 -0
- package/dist/Toasters/ToastContext.cjs +179 -0
- package/dist/Toasters/ToastContext.cjs.map +1 -0
- package/dist/Toasters/index.cjs +36 -0
- package/dist/Toasters/index.cjs.map +1 -0
- package/dist/Toggles/ToggleSwitch.cjs +73 -0
- package/dist/Toggles/ToggleSwitch.cjs.map +1 -0
- package/dist/Toggles/TogglerStyles.cjs +39 -0
- package/dist/Toggles/TogglerStyles.cjs.map +1 -0
- package/dist/Toggles/TogglerTypes.cjs +6 -0
- package/dist/Toggles/TogglerTypes.cjs.map +1 -0
- package/dist/Toggles/index.cjs +16 -0
- package/dist/Toggles/index.cjs.map +1 -0
- package/dist/Tooltips/TooltipStyles.cjs +96 -0
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -0
- package/dist/Tooltips/TooltipTypes.cjs +11 -0
- package/dist/Tooltips/TooltipTypes.cjs.map +1 -0
- package/dist/Tooltips/TooltipWrapper.cjs +51 -0
- package/dist/Tooltips/TooltipWrapper.cjs.map +1 -0
- package/dist/Tooltips/index.cjs +36 -0
- package/dist/Tooltips/index.cjs.map +1 -0
- package/dist/Tooltips/index.d.ts +2 -2
- package/dist/Tooltips/index.js +2 -2
- package/dist/Tooltips/index.js.map +1 -1
- package/dist/assets/index.cjs +173 -0
- package/dist/assets/index.cjs.map +1 -0
- package/dist/common/EventHandlers.cjs +20 -0
- package/dist/common/EventHandlers.cjs.map +1 -0
- package/dist/common/FocusVisible.cjs +77 -0
- package/dist/common/FocusVisible.cjs.map +1 -0
- package/dist/common/InputStyling.cjs +20 -0
- package/dist/common/InputStyling.cjs.map +1 -0
- package/dist/common/index.cjs +30 -0
- package/dist/common/index.cjs.map +1 -0
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.js +1 -0
- package/dist/common/index.js.map +1 -1
- package/dist/hooks/useClickOutside.cjs +35 -0
- package/dist/hooks/useClickOutside.cjs.map +1 -0
- package/dist/icons/contenticons/ContentIcons.cjs +4530 -0
- package/dist/icons/contenticons/ContentIcons.cjs.map +1 -0
- package/dist/icons/index.cjs +147 -0
- package/dist/icons/index.cjs.map +1 -0
- package/dist/icons/systemicons/SystemIcons.cjs +4134 -0
- package/dist/icons/systemicons/SystemIcons.cjs.map +1 -0
- package/dist/index.cjs +422 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/breakpoints.cjs +16 -0
- package/dist/styles/breakpoints.cjs.map +1 -0
- package/dist/styles/colors.cjs +108 -0
- package/dist/styles/colors.cjs.map +1 -0
- package/dist/styles/global.cjs +15 -0
- package/dist/styles/global.cjs.map +1 -0
- package/dist/styles/index.cjs +288 -0
- package/dist/styles/index.cjs.map +1 -0
- package/dist/styles/index.d.ts +1 -0
- package/dist/styles/index.js +1 -0
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/shadowstyles.cjs +14 -0
- package/dist/styles/shadowstyles.cjs.map +1 -0
- package/dist/styles/typography.cjs +640 -0
- package/dist/styles/typography.cjs.map +1 -0
- package/dist/styles/z-indexes.cjs +22 -0
- package/dist/styles/z-indexes.cjs.map +1 -0
- package/dist/types.cjs +59 -0
- package/dist/types.cjs.map +1 -0
- package/package.json +13 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","defaultOnMouseDownHandler","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","button","hideOnLowWidth","MEDIUM","unsetIconSize","StyledPrimaryIconButton","useTransparentBackground","primary_500","iconColor","white","primary_700","primary_800","neutral_200","focusBackgroundColor","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","type","hidden","isPressingEnter","e","key","preventDefault","stopPropagation","event"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n}\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n \n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none !important;\n }\n }\n`;\n\nconst StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n`;\n\nconst StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || 'transparent'} !important;\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n }\n`;\n\nexport interface IconButtonProps {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n focusBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n focusBackgroundColor,\n type,\n hidden\n}: IconButtonProps, ref) => {\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","defaultOnMouseDownHandler","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","button","hideOnLowWidth","MEDIUM","unsetIconSize","StyledPrimaryIconButton","useTransparentBackground","primary_500","iconColor","white","primary_700","primary_800","neutral_200","focusBackgroundColor","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","type","hidden","isPressingEnter","e","key","preventDefault","stopPropagation","event"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n}\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n \n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none !important;\n }\n }\n`;\n\nexport const StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n`;\n\nexport const StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || 'transparent'};\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n }\n`;\n\nexport interface IconButtonProps {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n focusBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n focusBackgroundColor,\n type,\n hidden\n}: IconButtonProps, ref) => {\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.js"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "BackButton", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _BackButton.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "Button", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _Button.default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "DualFunctionButton", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _DualFunctionButton.default;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(exports, "IconButton", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _Iconbutton.default;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
var _Iconbutton = _interopRequireDefault(require("./Iconbutton"));
|
|
34
|
+
|
|
35
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
36
|
+
|
|
37
|
+
var _BackButton = _interopRequireDefault(require("./BackButton"));
|
|
38
|
+
|
|
39
|
+
var _DualFunctionButton = _interopRequireDefault(require("./DualFunctionButton"));
|
|
40
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Button/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA","sourcesContent":["export {default as IconButton} from './Iconbutton';\nexport {default as Button} from './Button';\nexport {default as BackButton} from './BackButton';\nexport {default as DualFunctionButton} from './DualFunctionButton';\n"],"file":"index.cjs"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _index = require("../icons/index");
|
|
13
|
+
|
|
14
|
+
var _types = require("../types");
|
|
15
|
+
|
|
16
|
+
var _ChipStyles = require("./ChipStyles");
|
|
17
|
+
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Import React libraries.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Import custom components.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Import custom styles.
|
|
34
|
+
*/
|
|
35
|
+
var ActionChip = function ActionChip(_ref) {
|
|
36
|
+
var icon = _ref.icon,
|
|
37
|
+
text = _ref.text,
|
|
38
|
+
variant = _ref.variant,
|
|
39
|
+
size = _ref.size,
|
|
40
|
+
disabled = _ref.disabled,
|
|
41
|
+
_onClick = _ref.onClick;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Retrieves icon size based on the chip size.
|
|
45
|
+
* @returns A string indicating the icon size.
|
|
46
|
+
*/
|
|
47
|
+
var getIconSize = function getIconSize() {
|
|
48
|
+
var iconSize; // Calculate correct icon size
|
|
49
|
+
|
|
50
|
+
if (size === _types.Size.Small) {
|
|
51
|
+
iconSize = '16px';
|
|
52
|
+
} else if (size === _types.Size.Medium) {
|
|
53
|
+
iconSize = '20px';
|
|
54
|
+
} else {
|
|
55
|
+
iconSize = '24px';
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return iconSize;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Return Action Chip component.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
66
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChipStyles.ActionChipContainer, {
|
|
67
|
+
className: "".concat(size, " ").concat(disabled ? 'disabled' : variant, " ").concat(icon && 'icon-chip'),
|
|
68
|
+
onClick: function onClick() {
|
|
69
|
+
return _onClick();
|
|
70
|
+
},
|
|
71
|
+
children: [icon && _index.SystemIcons[icon]({
|
|
72
|
+
size: getIconSize(),
|
|
73
|
+
className: 'icon'
|
|
74
|
+
}), text]
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
var _default = ActionChip;
|
|
80
|
+
exports.default = _default;
|
|
81
|
+
//# sourceMappingURL=ActionChip.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/ActionChip.tsx"],"names":["ActionChip","icon","text","variant","size","disabled","onClick","getIconSize","iconSize","Size","Small","Medium","icons","className"],"mappings":";;;;;;;;;AAGC;;AAKA;;AACA;;AAIA;;;;;;;;AAbD;AACA;AACA;;AAGC;AACD;AACA;;AAGC;AACD;AACA;AAQC,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAAuE;AAAA,MAApEC,IAAoE,QAApEA,IAAoE;AAAA,MAA9DC,IAA8D,QAA9DA,IAA8D;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,IAA+C,QAA/CA,IAA+C;AAAA,MAAzCC,QAAyC,QAAzCA,QAAyC;AAAA,MAA/BC,QAA+B,QAA/BA,OAA+B;;AAClI;AACH;AACA;AACA;AACG,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAc;AAChC,QAAIC,QAAJ,CADgC,CAGhC;;AACA,QAAIJ,IAAI,KAAKK,YAAKC,KAAlB,EAAyB;AACvBF,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKK,YAAKE,MAAlB,EAA0B;AAC/BH,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFM,MAEA;AACLA,MAAAA,QAAQ,GAAG,MAAX;AACD;;AAED,WAAOA,QAAP;AACD,GAbD;AAeA;AACH;AACA;;;AACG,sBACE;AAAA,2BACE,sBAAC,+BAAD;AAAqB,MAAA,SAAS,YAAKJ,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgBF,OAArC,cAAgDF,IAAI,IAAI,WAAxD,CAA9B;AAAqG,MAAA,OAAO,EAAE;AAAA,eAAMK,QAAO,EAAb;AAAA,OAA9G;AAAA,iBAEGL,IAAI,IAAIW,mBAAMX,IAAN,EAAY;AAAEG,QAAAA,IAAI,EAAEG,WAAW,EAAnB;AAAuBM,QAAAA,SAAS,EAAE;AAAlC,OAAZ,CAFX,EAKGX,IALH;AAAA;AADF,IADF;AAWD,CAlCD;;eAoCeF,U","sourcesContent":["/**\n * Import React libraries.\n */\n import * as React from 'react';\n\n /**\n * Import custom components.\n */\n import {SystemIcons as icons} from '../icons/index';\n import {Size} from '../types'; \n /**\n * Import custom styles.\n */\n import { ActionChipContainer } from './ChipStyles';\n \n /**\n * Import custom types.\n */\n import { ActionChipProps } from './ChipTypes';\n \n const ActionChip: React.FunctionComponent<ActionChipProps> = ({ icon, text, variant, size, disabled, onClick }: ActionChipProps) => {\n /**\n * Retrieves icon size based on the chip size.\n * @returns A string indicating the icon size.\n */\n const getIconSize = (): string => {\n let iconSize: string;\n \n // Calculate correct icon size\n if (size === Size.Small) {\n iconSize = '16px';\n } else if (size === Size.Medium) {\n iconSize = '20px';\n } else {\n iconSize = '24px';\n }\n \n return iconSize;\n }\n \n /**\n * Return Action Chip component.\n */\n return (\n <>\n <ActionChipContainer className={`${size} ${disabled ? 'disabled' : variant} ${icon && 'icon-chip'}`} onClick={() => onClick()}>\n { /* Let's render icon if it is passed */ }\n {icon && icons[icon]({ size: getIconSize(), className: 'icon' })}\n \n { /* Let's render text */ }\n {text}\n </ActionChipContainer>\n </>\n );\n };\n \n export default ActionChip;\n "],"file":"ActionChip.cjs"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _index = require("./index");
|
|
19
|
+
|
|
20
|
+
var _types = require("../types");
|
|
21
|
+
|
|
22
|
+
var _styling = require("../InputFields/styling");
|
|
23
|
+
|
|
24
|
+
var _styles = require("../styles");
|
|
25
|
+
|
|
26
|
+
var _SystemIcons = require("../icons/systemicons/SystemIcons");
|
|
27
|
+
|
|
28
|
+
var _ChipStyles = require("./ChipStyles");
|
|
29
|
+
|
|
30
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
|
+
|
|
32
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Import React libraries.
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Import custom components.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Import custom styles.
|
|
46
|
+
*/
|
|
47
|
+
var ChipInput = function ChipInput(_ref) {
|
|
48
|
+
var values = _ref.values,
|
|
49
|
+
inputId = _ref.inputId,
|
|
50
|
+
variants = _ref.variants,
|
|
51
|
+
required = _ref.required,
|
|
52
|
+
icon = _ref.icon,
|
|
53
|
+
placeholder = _ref.placeholder,
|
|
54
|
+
validationType = _ref.validationType,
|
|
55
|
+
validationMessage = _ref.validationMessage,
|
|
56
|
+
onValueChange = _ref.onValueChange;
|
|
57
|
+
// Globally used variables within the chip input
|
|
58
|
+
var chipInput;
|
|
59
|
+
|
|
60
|
+
var _React$useState = React.useState([]),
|
|
61
|
+
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
62
|
+
chips = _React$useState2[0],
|
|
63
|
+
setChips = _React$useState2[1];
|
|
64
|
+
|
|
65
|
+
var _React$useState3 = React.useState(''),
|
|
66
|
+
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
67
|
+
value = _React$useState4[0],
|
|
68
|
+
setValue = _React$useState4[1];
|
|
69
|
+
/**
|
|
70
|
+
* Sets initial values for the chips.
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
React.useEffect(function () {
|
|
75
|
+
// Let's add initial chip values
|
|
76
|
+
setChips(values);
|
|
77
|
+
}, [values]);
|
|
78
|
+
/**
|
|
79
|
+
* Adds a chip to the chip list.
|
|
80
|
+
* @param event - Event handler from the key down event.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
var onAddChip = function onAddChip(event) {
|
|
84
|
+
// Let's trigger only on enter, comma and space key press
|
|
85
|
+
if ((event.keyCode === 13 || event.keyCode === 32 || event.keyCode === 188) && value) {
|
|
86
|
+
// Let's prevent default action - adding new key to the value
|
|
87
|
+
event.preventDefault(); // Let's add the chip
|
|
88
|
+
|
|
89
|
+
setChips([].concat((0, _toConsumableArray2.default)(chips), [value]));
|
|
90
|
+
onValueChange([].concat((0, _toConsumableArray2.default)(chips), [value])); // Let's clear the old value
|
|
91
|
+
|
|
92
|
+
chipInput.value = '';
|
|
93
|
+
setValue('');
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Removes a specific chip from the chip list.
|
|
98
|
+
* @param index - Index of the chip that needs to be removed.
|
|
99
|
+
* @param elementToAdd - Element which needs to be added in the deleted element place.
|
|
100
|
+
*/
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
var onRemoveChip = function onRemoveChip(index, elementToAdd) {
|
|
104
|
+
// Let's copy the chips
|
|
105
|
+
var newChips = (0, _toConsumableArray2.default)(chips); // Let's delete the chip
|
|
106
|
+
// If necessary, let's replace it with a different chip
|
|
107
|
+
|
|
108
|
+
if (elementToAdd) {
|
|
109
|
+
newChips.splice(index, 1, elementToAdd);
|
|
110
|
+
} else {
|
|
111
|
+
newChips.splice(index, 1);
|
|
112
|
+
} // Let's update the chip list
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
setChips((0, _toConsumableArray2.default)(newChips));
|
|
116
|
+
onValueChange((0, _toConsumableArray2.default)(newChips));
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Changes a status of the chip to edit.
|
|
120
|
+
* @param text - Text of the chip that is being edited.
|
|
121
|
+
* @param index - Index of the chip in the array.
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
var onEditChip = function onEditChip(text, index) {
|
|
126
|
+
// Let's check if we have to add value as a chip (in case we have entered something in the input field)
|
|
127
|
+
if (chipInput.value !== '') {
|
|
128
|
+
// Let's replace the chip
|
|
129
|
+
onRemoveChip(index, chipInput.value);
|
|
130
|
+
} else {
|
|
131
|
+
// Let's just remove the chip
|
|
132
|
+
onRemoveChip(index);
|
|
133
|
+
} // Let's update the text value of input field
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
chipInput.value = text;
|
|
137
|
+
setValue(text);
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Return Chip Input component.
|
|
141
|
+
*/
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
145
|
+
children: [required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.RequiredStar, {
|
|
146
|
+
children: "*"
|
|
147
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChipStyles.ChipInputContainer, {
|
|
148
|
+
onClick: function onClick() {
|
|
149
|
+
return chipInput.focus();
|
|
150
|
+
},
|
|
151
|
+
id: inputId,
|
|
152
|
+
className: validationType,
|
|
153
|
+
children: [chips.map(function (chip, index) {
|
|
154
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.InputChip, {
|
|
155
|
+
icon: icon,
|
|
156
|
+
size: _types.Size.Medium,
|
|
157
|
+
variant: variants && variants.length && variants[index] ? variants[index] : 'normal',
|
|
158
|
+
text: chip,
|
|
159
|
+
onRemove: function onRemove() {
|
|
160
|
+
return onRemoveChip(index);
|
|
161
|
+
},
|
|
162
|
+
onClick: function onClick() {
|
|
163
|
+
return onEditChip(chip, index);
|
|
164
|
+
}
|
|
165
|
+
}, "chip_".concat(index));
|
|
166
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.ChipInputEl, {
|
|
167
|
+
type: "text",
|
|
168
|
+
onChange: function onChange(event) {
|
|
169
|
+
return setValue(event.target.value);
|
|
170
|
+
},
|
|
171
|
+
onKeyDown: function onKeyDown(event) {
|
|
172
|
+
onAddChip(event);
|
|
173
|
+
},
|
|
174
|
+
placeholder: placeholder && chips.length === 0 ? placeholder : '',
|
|
175
|
+
ref: function ref(input) {
|
|
176
|
+
chipInput = input;
|
|
177
|
+
}
|
|
178
|
+
})]
|
|
179
|
+
}), validationMessage && validationType === 'warning' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.WarningMessage, {
|
|
180
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
|
|
181
|
+
size: "20px",
|
|
182
|
+
color: _styles.COLORS.critical_500
|
|
183
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
184
|
+
children: validationMessage
|
|
185
|
+
})]
|
|
186
|
+
}) : validationType === 'error' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ErrorMessage, {
|
|
187
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
|
|
188
|
+
size: "20px",
|
|
189
|
+
color: _styles.COLORS.critical_400
|
|
190
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
191
|
+
children: validationMessage
|
|
192
|
+
})]
|
|
193
|
+
})]
|
|
194
|
+
});
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
var _default = ChipInput;
|
|
198
|
+
exports.default = _default;
|
|
199
|
+
//# sourceMappingURL=ChipInput.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/ChipInput.tsx"],"names":["ChipInput","values","inputId","variants","required","icon","placeholder","validationType","validationMessage","onValueChange","chipInput","React","useState","chips","setChips","value","setValue","useEffect","onAddChip","event","keyCode","preventDefault","onRemoveChip","index","elementToAdd","newChips","splice","onEditChip","text","focus","map","chip","Size","Medium","length","target","input","COLORS","critical_500","critical_400"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport { InputChip } from './index';\nimport { Size } from '../types';\nimport { WarningMessage, ErrorMessage } from '../InputFields/styling';\nimport { COLORS } from '../styles';\nimport { TechnicalWarning } from '../icons/systemicons/SystemIcons';\n\n/**\n * Import custom styles.\n */\nimport { ChipInputContainer, ChipInputEl, RequiredStar } from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport { ChipInputProps } from './ChipTypes';\n\nconst ChipInput: React.FunctionComponent<ChipInputProps> = ({\n values,\n inputId,\n variants,\n required,\n icon,\n placeholder,\n validationType,\n validationMessage,\n onValueChange,\n}: ChipInputProps) => {\n // Globally used variables within the chip input\n let chipInput: HTMLInputElement;\n const [chips, setChips] = React.useState<string[]>([]);\n const [value, setValue] = React.useState<string>('');\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n // Let's add initial chip values\n setChips(values);\n }, [values]);\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const onAddChip = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.keyCode === 13 || event.keyCode === 32 || event.keyCode === 188) && value) {\n // Let's prevent default action - adding new key to the value\n event.preventDefault();\n\n // Let's add the chip\n setChips([...chips, value]);\n onValueChange([...chips, value]);\n\n // Let's clear the old value\n chipInput.value = '';\n setValue('');\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n * @param elementToAdd - Element which needs to be added in the deleted element place.\n */\n const onRemoveChip = (index: number, elementToAdd?: string): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n if (elementToAdd) {\n newChips.splice(index, 1, elementToAdd);\n } else {\n newChips.splice(index, 1);\n }\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange([...newChips]);\n };\n\n /**\n * Changes a status of the chip to edit.\n * @param text - Text of the chip that is being edited.\n * @param index - Index of the chip in the array.\n */\n const onEditChip = (text: string, index: number): void => {\n // Let's check if we have to add value as a chip (in case we have entered something in the input field)\n if (chipInput.value !== '') {\n // Let's replace the chip\n onRemoveChip(index, chipInput.value);\n } else {\n // Let's just remove the chip\n onRemoveChip(index);\n }\n\n // Let's update the text value of input field\n chipInput.value = text;\n setValue(text);\n };\n\n /**\n * Return Chip Input component.\n */\n return (\n <>\n {required && <RequiredStar>*</RequiredStar>}\n <ChipInputContainer onClick={() => chipInput.focus()} id={inputId} className={validationType}>\n {chips.map((chip: string, index: number) => (\n <InputChip\n icon={icon}\n size={Size.Medium}\n variant={variants && variants.length && variants[index] ? variants[index] : 'normal'}\n text={chip}\n onRemove={() => onRemoveChip(index)}\n onClick={() => onEditChip(chip, index)}\n key={`chip_${index}`}></InputChip>\n ))}\n <ChipInputEl\n type=\"text\"\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => setValue(event.target.value)}\n onKeyDown={(event: React.KeyboardEvent<HTMLInputElement>) => {\n onAddChip(event);\n }}\n placeholder={placeholder && chips.length === 0 ? placeholder : ''}\n ref={(input: HTMLInputElement) => {\n chipInput = input;\n }}\n />\n </ChipInputContainer>\n\n {/* If there is an error, let's render the error */}\n {validationMessage && validationType === 'warning' ? (\n <WarningMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_500} />\n <span>{validationMessage}</span>\n </WarningMessage>\n ) : (\n validationType === 'error' && (\n <ErrorMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400} />\n <span>{validationMessage}</span>\n </ErrorMessage>\n )\n )}\n </>\n );\n};\n\nexport default ChipInput;\n"],"file":"ChipInput.cjs"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.RequiredStar = exports.FilterChipContainer = exports.ChipInputEl = exports.ChipInputContainer = exports.ChipContainer = exports.ActionChipContainer = void 0;
|
|
9
|
+
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
|
|
14
|
+
var _styles = require("../styles");
|
|
15
|
+
|
|
16
|
+
var _typography = require("../styles/typography");
|
|
17
|
+
|
|
18
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* Chip styles.
|
|
23
|
+
*/
|
|
24
|
+
var ChipContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n color: ", ";\n display: inline-block;\n\n > button > div > .remove > path {\n fill: ", ";\n }\n\n &:hover,\n &:focus {\n > button > div > .remove > path {\n fill: ", ";\n }\n }\n\n button {\n background: transparent;\n display: inline-block;\n padding: 0;\n width: auto;\n height: auto;\n color: inherit;\n\n div {\n color: inherit;\n width: auto;\n height: auto;\n\n svg {\n color: inherit;\n }\n }\n\n &:hover,\n &:hover:not(:disabled),\n :focus,\n :focus:not(:disabled) {\n background: transparent;\n display: inline-block;\n padding: 0;\n width: auto;\n height: auto;\n color: inherit;\n outline: none;\n\n div {\n box-shadow: none;\n background-color: transparent;\n\n svg {\n color: inherit;\n }\n }\n }\n }\n\n &.small {\n ", "\n border-radius: 40px;\n height: 24px;\n padding: 0px 12px;\n margin: 12px 0px;\n border-radius: 40px;\n display: inline-flex;\n align-items: center;\n\n &.icon-chip {\n padding: 0px 12px 0px 8px;\n }\n\n &.button-chip {\n padding: 0px 8px 0px 12px;\n }\n\n &.icon-chip.button-chip {\n padding: 0px 8px;\n }\n\n > button {\n width: 16px;\n height: 16px;\n\n > div {\n width: 16px;\n height: 16px;\n\n svg {\n padding: 0px;\n margin-left: 4x;\n }\n }\n }\n\n svg {\n vertical-align: middle;\n\n &.icon {\n margin-right: 4px;\n }\n\n &.remove {\n margin-left: 4px;\n }\n }\n }\n\n &.medium {\n ", "\n border-radius: 80px;\n height: 40px;\n padding: 0px 16px;\n margin: 4px 0px;\n display: inline-flex;\n align-items: center;\n\n &.icon-chip {\n padding: 0px 16px 0px 12px;\n }\n\n &.button-chip {\n padding: 0px 12px 0px 16px;\n }\n\n &.icon-chip.button-chip {\n padding: 0px 12px;\n }\n\n > button {\n width: 20px;\n height: 20px;\n\n > div {\n width: 20px;\n height: 20px;\n\n svg {\n padding: 0px;\n margin-left: 6px;\n }\n }\n }\n\n svg {\n vertical-align: middle;\n\n &.icon {\n margin-right: 6px;\n }\n\n &.remove {\n margin-left: 6px;\n }\n }\n }\n\n &.large {\n ", "\n border-radius: 120px;\n height: 56px;\n padding: 0px 20px;\n margin: 0px;\n display: inline-flex;\n align-items: center;\n\n &.icon-chip {\n padding: 0px 20px 0px 16px;\n }\n\n &.button-chip {\n padding: 0px 16px 0px 20px;\n }\n\n &.icon-chip.button-chip {\n padding: 0px 16px;\n }\n\n > button {\n width: 24px;\n height: 24px;\n\n > div {\n width: 24px;\n height: 24px;\n\n svg {\n padding: 0px;\n margin-left: 8px;\n }\n }\n }\n\n svg {\n vertical-align: middle;\n\n &.icon {\n margin-right: 8px;\n }\n\n &.remove {\n margin-left: 8px;\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n background: ", ";\n color: ", ";\n\n > button > div > .remove > path {\n fill: ", ";\n }\n\n &:hover {\n background: ", ";\n }\n\n &:active {\n background: ", ";\n }\n }\n\n &.normal {\n background: ", ";\n\n &:hover {\n background: ", ";\n }\n\n &:active {\n background: ", ";\n }\n }\n\n &.warning {\n color: ", ";\n background: ", ";\n\n > button > div > .remove > path {\n fill: ", ";\n }\n\n &:hover {\n background: ", ";\n }\n\n &:active {\n background: ", ";\n }\n }\n\n &.error {\n color: ", ";\n background: ", ";\n\n > button > div > .remove > path {\n fill: ", ";\n }\n\n &:hover {\n background: ", ";\n }\n\n &:active {\n background: ", ";\n }\n }\n"])), _styles.COLORS.white, _styles.COLORS.white, _styles.COLORS.white, (0, _typography.ComponentXSStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.white), (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.white), (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.white), _styles.COLORS.neutral_100, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300, _styles.COLORS.neutral_100, _styles.COLORS.neutral_100, _styles.COLORS.primary_500, _styles.COLORS.primary_700, _styles.COLORS.primary_800, _styles.COLORS.black, _styles.COLORS.warning_100, _styles.COLORS.warning_500, _styles.COLORS.warning_400, _styles.COLORS.warning_400, _styles.COLORS.black, _styles.COLORS.critical_100, _styles.COLORS.critical_500, _styles.COLORS.critical_400, _styles.COLORS.critical_400);
|
|
25
|
+
|
|
26
|
+
exports.ChipContainer = ChipContainer;
|
|
27
|
+
|
|
28
|
+
var ChipInputContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n min-height: 56px;\n height: auto;\n width: 100%;\n border-radius: 4px;\n border: 2px solid transparent;\n box-shadow: inset 0px 0px 0px 1px ", ";\n background-color: #fff;\n box-sizing: border-box;\n padding: 16px 16px 8px 16px;\n box-sizing: border-box;\n width: 100%;\n cursor: text;\n outline: none;\n border-radius: 4.5px;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n ", "\n color: ", " !important;\n\n &.warning,\n &.warning:hover,\n &.warning:focus {\n -webkit-box-shadow: inset 0px 0px 0px 2px ", ";\n -moz-box-shadow: inset 0px 0px 0px 2px ", ";\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &.error,\n &.error:hover,\n &.error:focus {\n -webkit-box-shadow: inset 0px 0px 0px 2px ", ";\n -moz-box-shadow: inset 0px 0px 0px 2px ", ";\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n > div {\n margin-right: 8px;\n margin-bottom: 8px;\n }\n\n &.active {\n -webkit-box-shadow: inset 0px 0px 0px 2px ", ";\n -moz-box-shadow: inset 0px 0px 0px 2px ", ";\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &:hover {\n -webkit-box-shadow: inset 0px 0px 0px 2px ", ";\n -moz-box-shadow: inset 0px 0px 0px 2px ", ";\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n"])), _styles.COLORS.neutral_400, (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black), _styles.COLORS.black, _styles.COLORS.warning_500, _styles.COLORS.warning_500, _styles.COLORS.warning_500, _styles.COLORS.critical_500, _styles.COLORS.critical_500, _styles.COLORS.critical_500, _styles.COLORS.primary_800, _styles.COLORS.primary_800, _styles.COLORS.primary_800, _styles.COLORS.primary_700, _styles.COLORS.primary_700, _styles.COLORS.primary_700);
|
|
29
|
+
|
|
30
|
+
exports.ChipInputContainer = ChipInputContainer;
|
|
31
|
+
|
|
32
|
+
var RequiredStar = _styledComponents.default.span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 28px;\n line-height: 12px;\n float: right;\n font-weight: 700;\n position: relative;\n top: 10px;\n"])), _styles.COLORS.critical_500);
|
|
33
|
+
|
|
34
|
+
exports.RequiredStar = RequiredStar;
|
|
35
|
+
var FilterChipContainer = (0, _styledComponents.default)(ChipContainer)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n &.normal {\n background: ", ";\n color: ", ";\n border: 2px solid;\n border-color: ", ";\n\n &:hover {\n background: ", ";\n color: ", ";\n border-color: ", ";\n }\n\n &:active,\n &:focus {\n background: ", ";\n color: ", ";\n border-color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n }\n }\n\n &.selected {\n background: ", ";\n color: ", ";\n border: 2px solid;\n border-color: ", ";\n\n &:hover {\n background: ", ";\n color: ", ";\n border-color: ", ";\n }\n\n &:active,\n &:focus {\n background: ", ";\n color: ", ";\n border-color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n }\n }\n"])), _styles.COLORS.white, _styles.COLORS.neutral_600, _styles.COLORS.neutral_200, _styles.COLORS.primary_20, _styles.COLORS.primary_600, _styles.COLORS.primary_200, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.primary_300, _styles.COLORS.focus_25, _styles.COLORS.focus, _styles.COLORS.primary_500, _styles.COLORS.white, _styles.COLORS.primary_500, _styles.COLORS.primary_700, _styles.COLORS.white, _styles.COLORS.primary_700, _styles.COLORS.primary_800, _styles.COLORS.white, _styles.COLORS.primary_800, _styles.COLORS.focus_25, _styles.COLORS.focus);
|
|
36
|
+
exports.FilterChipContainer = FilterChipContainer;
|
|
37
|
+
var ActionChipContainer = (0, _styledComponents.default)(ChipContainer)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n &.normal {\n background: ", ";\n color: ", ";\n border: 2px solid;\n border-color: ", ";\n\n &:hover {\n background: ", ";\n color: ", ";\n border-color: ", ";\n }\n\n &:active,\n &:focus {\n background: ", ";\n color: ", ";\n border-color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n }\n }\n"])), _styles.COLORS.white, _styles.COLORS.neutral_600, _styles.COLORS.neutral_200, _styles.COLORS.primary_20, _styles.COLORS.primary_600, _styles.COLORS.primary_200, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.primary_300, _styles.COLORS.focus_25, _styles.COLORS.focus);
|
|
38
|
+
exports.ActionChipContainer = ActionChipContainer;
|
|
39
|
+
|
|
40
|
+
var ChipInputEl = _styledComponents.default.input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n height: 40px;\n width: auto;\n display: inline-flex;\n border: none;\n outline: none;\n margin-top: 5px;\n margin-bottom: 8px;\n\n ", "\n color: ", " !important;\n"])), (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black), _styles.COLORS.black);
|
|
41
|
+
|
|
42
|
+
exports.ChipInputEl = ChipInputEl;
|
|
43
|
+
//# sourceMappingURL=ChipStyles.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/ChipStyles.ts"],"names":["ChipContainer","styled","div","COLORS","white","ComponentTextStyle","Bold","neutral_100","neutral_300","primary_500","primary_700","primary_800","black","warning_100","warning_500","warning_400","critical_100","critical_500","critical_400","ChipInputContainer","neutral_400","Regular","RequiredStar","span","FilterChipContainer","neutral_600","neutral_200","primary_20","primary_600","primary_200","primary_100","primary_300","focus_25","focus","ActionChipContainer","ChipInputEl","input"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;;;AAEA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,0BAAOC,GAAV,yhIAEfC,eAAOC,KAFQ,EAMdD,eAAOC,KANO,EAYZD,eAAOC,KAZK,EA0DpB,oCAAmBC,+BAAmBC,IAAtC,EAA4CH,eAAOC,KAAnD,CA1DoB,EA4GpB,mCAAkBC,+BAAmBC,IAArC,EAA2CH,eAAOC,KAAlD,CA5GoB,EA6JpB,mCAAkBC,+BAAmBC,IAArC,EAA2CH,eAAOC,KAAlD,CA7JoB,EA+MRD,eAAOI,WA/MC,EAgNbJ,eAAOK,WAhNM,EAmNZL,eAAOK,WAnNK,EAuNNL,eAAOI,WAvND,EA2NNJ,eAAOI,WA3ND,EAgORJ,eAAOM,WAhOC,EAmONN,eAAOO,WAnOD,EAuONP,eAAOQ,WAvOD,EA4ObR,eAAOS,KA5OM,EA6ORT,eAAOU,WA7OC,EAgPZV,eAAOW,WAhPK,EAoPNX,eAAOY,WApPD,EAwPNZ,eAAOY,WAxPD,EA6PbZ,eAAOS,KA7PM,EA8PRT,eAAOa,YA9PC,EAiQZb,eAAOc,YAjQK,EAqQNd,eAAOe,YArQD,EAyQNf,eAAOe,YAzQD,CAAnB;;;;AA8QA,IAAMC,kBAAkB,GAAGlB,0BAAOC,GAAV,o0CAMOC,eAAOiB,WANd,EAmB3B,mCAAkBf,+BAAmBgB,OAArC,EAA8ClB,eAAOS,KAArD,CAnB2B,EAoBpBT,eAAOS,KApBa,EAyBiBT,eAAOW,WAzBxB,EA0BcX,eAAOW,WA1BrB,EA2BSX,eAAOW,WA3BhB,EAiCiBX,eAAOc,YAjCxB,EAkCcd,eAAOc,YAlCrB,EAmCSd,eAAOc,YAnChB,EA4CiBd,eAAOQ,WA5CxB,EA6CcR,eAAOQ,WA7CrB,EA8CSR,eAAOQ,WA9ChB,EAkDiBR,eAAOO,WAlDxB,EAmDcP,eAAOO,WAnDrB,EAoDSP,eAAOO,WApDhB,CAAxB;;;;AAwDA,IAAMY,YAAY,GAAGrB,0BAAOsB,IAAV,6NACdpB,eAAOc,YADO,CAAlB;;;AAUA,IAAMO,mBAAmB,GAAG,+BAAOxB,aAAP,CAAH,s4BAEdG,eAAOC,KAFO,EAGnBD,eAAOsB,WAHY,EAKZtB,eAAOuB,WALK,EAQZvB,eAAOwB,UARK,EASjBxB,eAAOyB,WATU,EAUVzB,eAAO0B,WAVG,EAeZ1B,eAAO2B,WAfK,EAgBjB3B,eAAOQ,WAhBU,EAiBVR,eAAO4B,WAjBG,EAkBC5B,eAAO6B,QAlBR,EAkBiC7B,eAAO8B,KAlBxC,EAwBd9B,eAAOM,WAxBO,EAyBnBN,eAAOC,KAzBY,EA2BZD,eAAOM,WA3BK,EA8BZN,eAAOO,WA9BK,EA+BjBP,eAAOC,KA/BU,EAgCVD,eAAOO,WAhCG,EAqCZP,eAAOQ,WArCK,EAsCjBR,eAAOC,KAtCU,EAuCVD,eAAOQ,WAvCG,EAwCCR,eAAO6B,QAxCR,EAwCiC7B,eAAO8B,KAxCxC,CAAzB;;AA8CA,IAAMC,mBAAmB,GAAG,+BAAOlC,aAAP,CAAH,udAEdG,eAAOC,KAFO,EAGnBD,eAAOsB,WAHY,EAKZtB,eAAOuB,WALK,EAQZvB,eAAOwB,UARK,EASjBxB,eAAOyB,WATU,EAUVzB,eAAO0B,WAVG,EAeZ1B,eAAO2B,WAfK,EAgBjB3B,eAAOQ,WAhBU,EAiBVR,eAAO4B,WAjBG,EAkBC5B,eAAO6B,QAlBR,EAkBiC7B,eAAO8B,KAlBxC,CAAzB;;;AAuBA,IAAME,WAAW,GAAGlC,0BAAOmC,KAAV,qQASpB,mCAAkB/B,+BAAmBgB,OAArC,EAA8ClB,eAAOS,KAArD,CAToB,EAUbT,eAAOS,KAVM,CAAjB","sourcesContent":["/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom style properties.\n */\nimport { COLORS } from '../styles';\nimport { ComponentMStyling, ComponentSStyling, ComponentTextStyle, ComponentXSStyling, ComponentXXSStyling } from '../styles/typography';\n\n/**\n *\n * Chip styles.\n */\nexport const ChipContainer = styled.div`\n cursor: pointer;\n color: ${COLORS.white};\n display: inline-block;\n\n > button > div > .remove > path {\n fill: ${COLORS.white};\n }\n\n &:hover,\n &:focus {\n > button > div > .remove > path {\n fill: ${COLORS.white};\n }\n }\n\n button {\n background: transparent;\n display: inline-block;\n padding: 0;\n width: auto;\n height: auto;\n color: inherit;\n\n div {\n color: inherit;\n width: auto;\n height: auto;\n\n svg {\n color: inherit;\n }\n }\n\n &:hover,\n &:hover:not(:disabled),\n :focus,\n :focus:not(:disabled) {\n background: transparent;\n display: inline-block;\n padding: 0;\n width: auto;\n height: auto;\n color: inherit;\n outline: none;\n\n div {\n box-shadow: none;\n background-color: transparent;\n\n svg {\n color: inherit;\n }\n }\n }\n }\n\n &.small {\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.white)}\n border-radius: 40px;\n height: 24px;\n padding: 0px 12px;\n margin: 12px 0px;\n border-radius: 40px;\n display: inline-flex;\n align-items: center;\n\n &.icon-chip {\n padding: 0px 12px 0px 8px;\n }\n\n &.button-chip {\n padding: 0px 8px 0px 12px;\n }\n\n &.icon-chip.button-chip {\n padding: 0px 8px;\n }\n\n > button {\n width: 16px;\n height: 16px;\n\n > div {\n width: 16px;\n height: 16px;\n\n svg {\n padding: 0px;\n margin-left: 4x;\n }\n }\n }\n\n svg {\n vertical-align: middle;\n\n &.icon {\n margin-right: 4px;\n }\n\n &.remove {\n margin-left: 4px;\n }\n }\n }\n\n &.medium {\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.white)}\n border-radius: 80px;\n height: 40px;\n padding: 0px 16px;\n margin: 4px 0px;\n display: inline-flex;\n align-items: center;\n\n &.icon-chip {\n padding: 0px 16px 0px 12px;\n }\n\n &.button-chip {\n padding: 0px 12px 0px 16px;\n }\n\n &.icon-chip.button-chip {\n padding: 0px 12px;\n }\n\n > button {\n width: 20px;\n height: 20px;\n\n > div {\n width: 20px;\n height: 20px;\n\n svg {\n padding: 0px;\n margin-left: 6px;\n }\n }\n }\n\n svg {\n vertical-align: middle;\n\n &.icon {\n margin-right: 6px;\n }\n\n &.remove {\n margin-left: 6px;\n }\n }\n }\n\n &.large {\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.white)}\n border-radius: 120px;\n height: 56px;\n padding: 0px 20px;\n margin: 0px;\n display: inline-flex;\n align-items: center;\n\n &.icon-chip {\n padding: 0px 20px 0px 16px;\n }\n\n &.button-chip {\n padding: 0px 16px 0px 20px;\n }\n\n &.icon-chip.button-chip {\n padding: 0px 16px;\n }\n\n > button {\n width: 24px;\n height: 24px;\n\n > div {\n width: 24px;\n height: 24px;\n\n svg {\n padding: 0px;\n margin-left: 8px;\n }\n }\n }\n\n svg {\n vertical-align: middle;\n\n &.icon {\n margin-right: 8px;\n }\n\n &.remove {\n margin-left: 8px;\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n background: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n\n > button > div > .remove > path {\n fill: ${COLORS.neutral_300};\n }\n\n &:hover {\n background: ${COLORS.neutral_100};\n }\n\n &:active {\n background: ${COLORS.neutral_100};\n }\n }\n\n &.normal {\n background: ${COLORS.primary_500};\n\n &:hover {\n background: ${COLORS.primary_700};\n }\n\n &:active {\n background: ${COLORS.primary_800};\n }\n }\n\n &.warning {\n color: ${COLORS.black};\n background: ${COLORS.warning_100};\n\n > button > div > .remove > path {\n fill: ${COLORS.warning_500};\n }\n\n &:hover {\n background: ${COLORS.warning_400};\n }\n\n &:active {\n background: ${COLORS.warning_400};\n }\n }\n\n &.error {\n color: ${COLORS.black};\n background: ${COLORS.critical_100};\n\n > button > div > .remove > path {\n fill: ${COLORS.critical_500};\n }\n\n &:hover {\n background: ${COLORS.critical_400};\n }\n\n &:active {\n background: ${COLORS.critical_400};\n }\n }\n`;\n\nexport const ChipInputContainer = styled.div`\n min-height: 56px;\n height: auto;\n width: 100%;\n border-radius: 4px;\n border: 2px solid transparent;\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n background-color: #fff;\n box-sizing: border-box;\n padding: 16px 16px 8px 16px;\n box-sizing: border-box;\n width: 100%;\n cursor: text;\n outline: none;\n border-radius: 4.5px;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n color: ${COLORS.black} !important;\n\n &.warning,\n &.warning:hover,\n &.warning:focus {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_500};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_500};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_500};\n }\n\n &.error,\n &.error:hover,\n &.error:focus {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.critical_500};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.critical_500};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.critical_500};\n }\n\n > div {\n margin-right: 8px;\n margin-bottom: 8px;\n }\n\n &.active {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n\n &:hover {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_700};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_700};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_700};\n }\n`;\n\nexport const RequiredStar = styled.span`\n color: ${COLORS.critical_500};\n font-size: 28px;\n line-height: 12px;\n float: right;\n font-weight: 700;\n position: relative;\n top: 10px;\n`;\n\nexport const FilterChipContainer = styled(ChipContainer)`\n &.normal {\n background: ${COLORS.white};\n color: ${COLORS.neutral_600};\n border: 2px solid;\n border-color: ${COLORS.neutral_200};\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n border-color: ${COLORS.primary_200};\n }\n\n &:active,\n &:focus {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n border-color: ${COLORS.primary_300};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n }\n }\n\n &.selected {\n background: ${COLORS.primary_500};\n color: ${COLORS.white};\n border: 2px solid;\n border-color: ${COLORS.primary_500};\n\n &:hover {\n background: ${COLORS.primary_700};\n color: ${COLORS.white};\n border-color: ${COLORS.primary_700};\n }\n\n &:active,\n &:focus {\n background: ${COLORS.primary_800};\n color: ${COLORS.white};\n border-color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n }\n }\n`;\n\nexport const ActionChipContainer = styled(ChipContainer)`\n &.normal {\n background: ${COLORS.white};\n color: ${COLORS.neutral_600};\n border: 2px solid;\n border-color: ${COLORS.neutral_200};\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n border-color: ${COLORS.primary_200};\n }\n\n &:active,\n &:focus {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n border-color: ${COLORS.primary_300};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n }\n }\n`;\n\nexport const ChipInputEl = styled.input`\n height: 40px;\n width: auto;\n display: inline-flex;\n border: none;\n outline: none;\n margin-top: 5px;\n margin-bottom: 8px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n color: ${COLORS.black} !important;\n`;\n"],"file":"ChipStyles.cjs"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"ChipTypes.cjs"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _ChipStyles = require("./ChipStyles");
|
|
17
|
+
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Import React libraries.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Import custom styles.
|
|
30
|
+
*/
|
|
31
|
+
var ChoiceChips = function ChoiceChips(_ref) {
|
|
32
|
+
var selected = _ref.selected,
|
|
33
|
+
variant = _ref.variant,
|
|
34
|
+
disabled = _ref.disabled,
|
|
35
|
+
onClick = _ref.onClick,
|
|
36
|
+
values = _ref.values;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Globally used variables within the component.
|
|
40
|
+
*/
|
|
41
|
+
var _React$useState = React.useState(''),
|
|
42
|
+
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
43
|
+
selectedChip = _React$useState2[0],
|
|
44
|
+
setSelectedChip = _React$useState2[1];
|
|
45
|
+
/**
|
|
46
|
+
* Set the selected value for the chip.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
React.useEffect(function () {
|
|
51
|
+
setSelectedChip(selected);
|
|
52
|
+
}, [selected]);
|
|
53
|
+
/**
|
|
54
|
+
* Sets selected chip and fires an event to parent component.
|
|
55
|
+
* @param value - Chip which was selected.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
var onSelectChip = function onSelectChip(value) {
|
|
59
|
+
// Update selected chip
|
|
60
|
+
setSelectedChip(value.value); // Fire the event
|
|
61
|
+
|
|
62
|
+
onClick(value);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
var handleKeyDown = function handleKeyDown(e, value) {
|
|
66
|
+
if (e.keyCode === 13) {
|
|
67
|
+
onSelectChip(value);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Return Choice Chip component.
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
76
|
+
children: values.map(function (value) {
|
|
77
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.FilterChipContainer, {
|
|
78
|
+
tabIndex: disabled ? -1 : 0,
|
|
79
|
+
className: "".concat(value.size, " ").concat(disabled ? 'disabled' : selectedChip === value.value ? 'selected' : variant),
|
|
80
|
+
onClick: function onClick() {
|
|
81
|
+
return onSelectChip(value);
|
|
82
|
+
},
|
|
83
|
+
onKeyDown: function onKeyDown(e) {
|
|
84
|
+
return handleKeyDown(e, value);
|
|
85
|
+
},
|
|
86
|
+
children: value.label
|
|
87
|
+
}, value.value);
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
var _default = ChoiceChips;
|
|
93
|
+
exports.default = _default;
|
|
94
|
+
//# sourceMappingURL=ChoiceChips.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/ChoiceChips.tsx"],"names":["ChoiceChips","selected","variant","disabled","onClick","values","React","useState","selectedChip","setSelectedChip","useEffect","onSelectChip","value","handleKeyDown","e","keyCode","map","size","label"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;;;;;;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAQA,IAAMA,WAAqD,GAAG,SAAxDA,WAAwD,OAAuE;AAAA,MAApEC,QAAoE,QAApEA,QAAoE;AAAA,MAA1DC,OAA0D,QAA1DA,OAA0D;AAAA,MAAjDC,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCC,OAAuC,QAAvCA,OAAuC;AAAA,MAA9BC,MAA8B,QAA9BA,MAA8B;;AACnI;AACF;AACA;AACE,wBAAwCC,KAAK,CAACC,QAAN,CAAuB,EAAvB,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;AAEA;AACF;AACA;;;AACEH,EAAAA,KAAK,CAACI,SAAN,CAAgB,YAAM;AACpBD,IAAAA,eAAe,CAACR,QAAD,CAAf;AACD,GAFD,EAEG,CAACA,QAAD,CAFH;AAIA;AACF;AACA;AACA;;AACE,MAAMU,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAsB;AACzC;AACAH,IAAAA,eAAe,CAACG,KAAK,CAACA,KAAP,CAAf,CAFyC,CAIzC;;AACAR,IAAAA,OAAO,CAACQ,KAAD,CAAP;AACD,GAND;;AAQA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAASF,KAAT,EAA8B;AAClD,QAAIE,CAAC,CAACC,OAAF,KAAc,EAAlB,EAAsB;AACpBJ,MAAAA,YAAY,CAACC,KAAD,CAAZ;AACD;AACF,GAJD;AAMA;AACF;AACA;;;AACE,sBACE;AAAA,cACGP,MAAM,CAACW,GAAP,CAAW,UAACJ,KAAD;AAAA,0BACV,qBAAC,+BAAD;AAEE,QAAA,QAAQ,EAAET,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,QAAA,SAAS,YAAKS,KAAK,CAACK,IAAX,cAAmBd,QAAQ,GAAG,UAAH,GAAgBK,YAAY,KAAKI,KAAK,CAACA,KAAvB,GAA+B,UAA/B,GAA4CV,OAAvF,CAHX;AAIE,QAAA,OAAO,EAAE;AAAA,iBAAMS,YAAY,CAACC,KAAD,CAAlB;AAAA,SAJX;AAKE,QAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,iBAAID,aAAa,CAACC,CAAD,EAAIF,KAAJ,CAAjB;AAAA,SALd;AAAA,kBAMGA,KAAK,CAACM;AANT,SACON,KAAK,CAACA,KADb,CADU;AAAA,KAAX;AADH,IADF;AAcD,CAhDD;;eAkDeZ,W","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { FilterChipContainer } from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport { ChipValue, ChoiceChipProps } from './ChipTypes';\n\nconst ChoiceChips: React.FunctionComponent<ChoiceChipProps> = ({ selected, variant, disabled, onClick, values }: ChoiceChipProps) => {\n /**\n * Globally used variables within the component.\n */\n const [selectedChip, setSelectedChip] = React.useState<string>('');\n\n /**\n * Set the selected value for the chip.\n */\n React.useEffect(() => {\n setSelectedChip(selected);\n }, [selected]);\n\n /**\n * Sets selected chip and fires an event to parent component.\n * @param value - Chip which was selected.\n */\n const onSelectChip = (value: ChipValue) => {\n // Update selected chip\n setSelectedChip(value.value);\n\n // Fire the event\n onClick(value);\n };\n\n const handleKeyDown = (e: any, value: ChipValue) => {\n if (e.keyCode === 13) {\n onSelectChip(value);\n }\n };\n\n /**\n * Return Choice Chip component.\n */\n return (\n <>\n {values.map((value: ChipValue) => (\n <FilterChipContainer\n key={value.value}\n tabIndex={disabled ? -1 : 0}\n className={`${value.size} ${disabled ? 'disabled' : selectedChip === value.value ? 'selected' : variant}`}\n onClick={() => onSelectChip(value)}\n onKeyDown={e => handleKeyDown(e, value)}>\n {value.label}\n </FilterChipContainer>\n ))}\n </>\n );\n};\n\nexport default ChoiceChips;\n"],"file":"ChoiceChips.cjs"}
|