@laerdal/life-react-components 2.0.1-dev.9 → 2.1.0-dev.3
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 +10 -25
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +10 -16
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/AccordionMenu.cjs +15 -40
- package/dist/Accordion/AccordionMenu.cjs.map +1 -1
- package/dist/Accordion/AccordionMenu.js +15 -28
- package/dist/Accordion/AccordionMenu.js.map +1 -1
- package/dist/Accordion/ContentAccordion.cjs +17 -65
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.js +17 -30
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/index.cjs +0 -4
- package/dist/Accordion/index.cjs.map +1 -1
- package/dist/Accordion/index.js.map +1 -1
- package/dist/Accordion/styles.cjs +0 -16
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.js +0 -2
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.cjs +10 -22
- package/dist/AuthPage/AuthPage.cjs.map +1 -1
- package/dist/AuthPage/AuthPage.js +10 -12
- package/dist/AuthPage/AuthPage.js.map +1 -1
- package/dist/AuthPage/Information.cjs +0 -16
- package/dist/AuthPage/Information.cjs.map +1 -1
- package/dist/AuthPage/Information.js +0 -2
- package/dist/AuthPage/Information.js.map +1 -1
- package/dist/AuthPage/ScreenSetsContainer.cjs +0 -7
- package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -1
- package/dist/AuthPage/ScreenSetsContainer.js +0 -2
- package/dist/AuthPage/ScreenSetsContainer.js.map +1 -1
- package/dist/AuthPage/_AuthPageSection.cjs +0 -7
- package/dist/AuthPage/_AuthPageSection.cjs.map +1 -1
- package/dist/AuthPage/_AuthPageSection.js +0 -2
- package/dist/AuthPage/_AuthPageSection.js.map +1 -1
- package/dist/AuthPage/index.cjs +0 -5
- package/dist/AuthPage/index.cjs.map +1 -1
- package/dist/AuthPage/index.js.map +1 -1
- package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -1
- package/dist/AuthPage/screenSetsErrorMessages.js.map +1 -1
- package/dist/Banners/Banner.cjs +17 -54
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.js +18 -31
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/OverviewBanner.cjs +2 -24
- package/dist/Banners/OverviewBanner.cjs.map +1 -1
- package/dist/Banners/OverviewBanner.js +2 -9
- package/dist/Banners/OverviewBanner.js.map +1 -1
- package/dist/Banners/index.cjs +0 -3
- package/dist/Banners/index.cjs.map +1 -1
- package/dist/Banners/index.js +2 -1
- package/dist/Banners/index.js.map +1 -1
- package/dist/Banners/styles.cjs +0 -12
- package/dist/Banners/styles.cjs.map +1 -1
- package/dist/Banners/styles.js +0 -6
- package/dist/Banners/styles.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +9 -32
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +9 -19
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Breadcrumb/index.cjs +0 -2
- package/dist/Breadcrumb/index.cjs.map +1 -1
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Breadcrumb/styles.cjs +0 -14
- package/dist/Breadcrumb/styles.cjs.map +1 -1
- package/dist/Breadcrumb/styles.js +0 -7
- package/dist/Breadcrumb/styles.js.map +1 -1
- package/dist/Button/BackButton.cjs +3 -26
- package/dist/Button/BackButton.cjs.map +1 -1
- package/dist/Button/BackButton.js +3 -10
- package/dist/Button/BackButton.js.map +1 -1
- package/dist/Button/Button.cjs +18 -50
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.js +18 -34
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs +35 -69
- package/dist/Button/DualFunctionButton.cjs.map +1 -1
- package/dist/Button/DualFunctionButton.js +35 -50
- package/dist/Button/DualFunctionButton.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +19 -46
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.js +19 -31
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Button/index.cjs +0 -5
- package/dist/Button/index.cjs.map +1 -1
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.cjs +15 -39
- package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.js +15 -22
- package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +4 -28
- package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardActions.js +4 -15
- package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +3 -18
- package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.js +3 -5
- package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +1 -14
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +1 -4
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
- package/dist/Card/HorizontalCard/index.cjs +0 -4
- package/dist/Card/HorizontalCard/index.cjs.map +1 -1
- package/dist/Card/HorizontalCard/index.js.map +1 -1
- package/dist/Card/VerticalCard/Card.cjs +13 -42
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.js +13 -21
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.cjs +14 -45
- package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.js +14 -18
- package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.cjs +7 -30
- package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.js +7 -13
- package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.cjs +11 -37
- package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.js +11 -14
- package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
- package/dist/Card/VerticalCard/index.cjs +0 -11
- package/dist/Card/VerticalCard/index.cjs.map +1 -1
- package/dist/Card/VerticalCard/index.js.map +1 -1
- package/dist/Card/index.cjs +0 -4
- package/dist/Card/index.cjs.map +1 -1
- package/dist/Card/index.js.map +1 -1
- package/dist/Chips/ActionChip.cjs +7 -25
- package/dist/Chips/ActionChip.cjs.map +1 -1
- package/dist/Chips/ActionChip.js +9 -15
- package/dist/Chips/ActionChip.js.map +1 -1
- package/dist/Chips/ChipStyles.cjs +0 -11
- package/dist/Chips/ChipStyles.cjs.map +1 -1
- package/dist/Chips/ChipStyles.js +1 -3
- package/dist/Chips/ChipStyles.js.map +1 -1
- package/dist/Chips/ChoiceChips.cjs +16 -36
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +18 -26
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/Chips/FilterChip.cjs +7 -25
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.js +10 -15
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/Chips/InputChip.cjs +13 -33
- package/dist/Chips/InputChip.cjs.map +1 -1
- package/dist/Chips/InputChip.js +16 -23
- package/dist/Chips/InputChip.js.map +1 -1
- package/dist/Chips/index.cjs +0 -6
- package/dist/Chips/index.cjs.map +1 -1
- package/dist/Chips/index.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +68 -120
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +70 -102
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/ChipsInput/ChipInput.cjs +27 -49
- package/dist/ChipsInput/ChipInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipInput.js +28 -38
- package/dist/ChipsInput/ChipInput.js.map +1 -1
- package/dist/ChipsInput/ChipInputField.cjs +21 -67
- package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputField.js +21 -34
- package/dist/ChipsInput/ChipInputField.js.map +1 -1
- package/dist/ChipsInput/index.cjs +0 -2
- package/dist/ChipsInput/index.cjs.map +1 -1
- package/dist/ChipsInput/index.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +48 -94
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +48 -76
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +0 -27
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.js +0 -2
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +41 -72
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.js +43 -56
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +37 -131
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +37 -97
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +48 -98
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +48 -77
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/index.cjs +0 -5
- package/dist/Dropdown/index.cjs.map +1 -1
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.cjs +1 -19
- package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.js +1 -5
- package/dist/Footer/Components/FooterBottomLinks.js.map +1 -1
- package/dist/Footer/Components/FooterDropdownLinks.cjs +4 -27
- package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
- package/dist/Footer/Components/FooterDropdownLinks.js +4 -10
- package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
- package/dist/Footer/Components/FooterNavSection.cjs +3 -27
- package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNavSection.js +3 -11
- package/dist/Footer/Components/FooterNavSection.js.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +5 -32
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +5 -11
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
- package/dist/Footer/Components/FooterTop.cjs +2 -25
- package/dist/Footer/Components/FooterTop.cjs.map +1 -1
- package/dist/Footer/Components/FooterTop.js +2 -10
- package/dist/Footer/Components/FooterTop.js.map +1 -1
- package/dist/Footer/Footer.cjs +0 -14
- package/dist/Footer/Footer.cjs.map +1 -1
- package/dist/Footer/Footer.js +0 -4
- package/dist/Footer/Footer.js.map +1 -1
- package/dist/Footer/SiteFooter.cjs +11 -35
- package/dist/Footer/SiteFooter.cjs.map +1 -1
- package/dist/Footer/SiteFooter.js +14 -21
- package/dist/Footer/SiteFooter.js.map +1 -1
- package/dist/Footer/index.cjs +0 -3
- package/dist/Footer/index.cjs.map +1 -1
- package/dist/Footer/index.js.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +18 -64
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js +18 -34
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/GlobalNavigationBar/Logo.cjs +8 -28
- package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
- package/dist/GlobalNavigationBar/Logo.js +8 -12
- package/dist/GlobalNavigationBar/Logo.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +17 -50
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js +17 -32
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +4 -27
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +4 -11
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +18 -60
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.js +18 -39
- package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +1 -22
- package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.js +1 -7
- package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +7 -48
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.js +7 -17
- package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/index.cjs +0 -4
- package/dist/GlobalNavigationBar/index.cjs.map +1 -1
- package/dist/GlobalNavigationBar/index.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +0 -34
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js +0 -2
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +6 -19
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +6 -8
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +13 -45
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js +13 -24
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +9 -47
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +9 -21
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +18 -51
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +18 -34
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
- package/dist/HyperLink/HyperLink.cjs +5 -25
- package/dist/HyperLink/HyperLink.cjs.map +1 -1
- package/dist/HyperLink/HyperLink.js +5 -12
- package/dist/HyperLink/HyperLink.js.map +1 -1
- package/dist/HyperLink/index.cjs +0 -3
- package/dist/HyperLink/index.cjs.map +1 -1
- package/dist/HyperLink/index.js.map +1 -1
- package/dist/HyperLink/styling.cjs +0 -6
- package/dist/HyperLink/styling.cjs.map +1 -1
- package/dist/HyperLink/styling.js +0 -2
- package/dist/HyperLink/styling.js.map +1 -1
- package/dist/Image/ImageWithFallbacks.cjs +6 -31
- package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
- package/dist/Image/ImageWithFallbacks.js +6 -23
- package/dist/Image/ImageWithFallbacks.js.map +1 -1
- package/dist/Image/index.cjs +0 -2
- package/dist/Image/index.cjs.map +1 -1
- package/dist/Image/index.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +14 -40
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.js +14 -23
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +40 -86
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.js +43 -60
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.cjs +7 -26
- package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.js +7 -12
- package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
- package/dist/InputFields/Label.cjs +10 -34
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.js +15 -21
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +24 -76
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +24 -47
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs +18 -48
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.js +18 -27
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +22 -50
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +22 -33
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs +12 -36
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.js +12 -19
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.cjs +5 -19
- package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.js +7 -12
- package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +24 -51
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.js +24 -35
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs +19 -38
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.js +19 -24
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +13 -35
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.js +16 -22
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchBarInput.cjs +9 -27
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
- package/dist/InputFields/components/SearchBarInput.js +9 -14
- package/dist/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/InputFields/components/SearchField.cjs +7 -28
- package/dist/InputFields/components/SearchField.cjs.map +1 -1
- package/dist/InputFields/components/SearchField.js +7 -12
- package/dist/InputFields/components/SearchField.js.map +1 -1
- package/dist/InputFields/index.cjs +0 -13
- package/dist/InputFields/index.cjs.map +1 -1
- package/dist/InputFields/index.js.map +1 -1
- package/dist/InputFields/styling.cjs +0 -17
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.js +0 -2
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/InputFields/types.js.map +1 -1
- package/dist/Layouts/index.cjs +0 -12
- package/dist/Layouts/index.cjs.map +1 -1
- package/dist/Layouts/index.js +0 -2
- package/dist/Layouts/index.js.map +1 -1
- package/dist/LinearProgress/LinearProgress.cjs +10 -48
- package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
- package/dist/LinearProgress/LinearProgress.js +10 -26
- package/dist/LinearProgress/LinearProgress.js.map +1 -1
- package/dist/LinearProgress/index.cjs +0 -4
- package/dist/LinearProgress/index.cjs.map +1 -1
- package/dist/LinearProgress/index.js.map +1 -1
- package/dist/List/ListRow.cjs +20 -50
- package/dist/List/ListRow.cjs.map +1 -1
- package/dist/List/ListRow.js +20 -29
- package/dist/List/ListRow.js.map +1 -1
- package/dist/List/index.cjs +0 -2
- package/dist/List/index.cjs.map +1 -1
- package/dist/List/index.js.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -23
- package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.js +4 -11
- package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/LoadingIndicator/index.cjs +0 -2
- package/dist/LoadingIndicator/index.cjs.map +1 -1
- package/dist/LoadingIndicator/index.js.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.cjs +1 -21
- package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.js +1 -5
- package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
- package/dist/LoadingPage/index.cjs +0 -2
- package/dist/LoadingPage/index.cjs.map +1 -1
- package/dist/LoadingPage/index.js.map +1 -1
- package/dist/MenuItem/MenuItem.cjs +9 -42
- package/dist/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/MenuItem/MenuItem.js +9 -15
- package/dist/MenuItem/MenuItem.js.map +1 -1
- package/dist/MenuItem/index.cjs +0 -2
- package/dist/MenuItem/index.cjs.map +1 -1
- package/dist/MenuItem/index.js.map +1 -1
- package/dist/MiniProductCard/MiniProductCard.cjs +1 -24
- package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
- package/dist/MiniProductCard/MiniProductCard.js +1 -5
- package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
- package/dist/MiniProductCard/index.cjs +0 -2
- package/dist/MiniProductCard/index.cjs.map +1 -1
- package/dist/MiniProductCard/index.js.map +1 -1
- package/dist/Modals/Modal.cjs +0 -24
- package/dist/Modals/Modal.cjs.map +1 -1
- package/dist/Modals/Modal.js +1 -9
- package/dist/Modals/Modal.js.map +1 -1
- package/dist/Modals/ModalContainer.cjs +29 -56
- package/dist/Modals/ModalContainer.cjs.map +1 -1
- package/dist/Modals/ModalContainer.js +29 -45
- package/dist/Modals/ModalContainer.js.map +1 -1
- package/dist/Modals/ModalContent.cjs +14 -59
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.js +14 -35
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +24 -75
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.js +24 -60
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/Modals/ModalNote.cjs +4 -20
- package/dist/Modals/ModalNote.cjs.map +1 -1
- package/dist/Modals/ModalNote.js +4 -8
- package/dist/Modals/ModalNote.js.map +1 -1
- package/dist/Modals/ModalStyles.cjs +0 -51
- package/dist/Modals/ModalStyles.cjs.map +1 -1
- package/dist/Modals/ModalStyles.js +1 -10
- package/dist/Modals/ModalStyles.js.map +1 -1
- package/dist/Modals/index.cjs +0 -9
- package/dist/Modals/index.cjs.map +1 -1
- package/dist/Modals/index.js.map +1 -1
- package/dist/NavItem/NavItem.cjs +0 -17
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.js +0 -6
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/NavItem/index.cjs +0 -2
- package/dist/NavItem/index.cjs.map +1 -1
- package/dist/NavItem/index.js.map +1 -1
- package/dist/NotificationDot/NotificationDot.cjs +3 -19
- package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
- package/dist/NotificationDot/NotificationDot.js +3 -7
- package/dist/NotificationDot/NotificationDot.js.map +1 -1
- package/dist/NotificationDot/index.cjs +0 -2
- package/dist/NotificationDot/index.cjs.map +1 -1
- package/dist/NotificationDot/index.js.map +1 -1
- package/dist/Paginator/Paginator.cjs +14 -44
- package/dist/Paginator/Paginator.cjs.map +1 -1
- package/dist/Paginator/Paginator.js +14 -25
- package/dist/Paginator/Paginator.js.map +1 -1
- package/dist/Paginator/index.cjs +0 -2
- package/dist/Paginator/index.cjs.map +1 -1
- package/dist/Paginator/index.js.map +1 -1
- package/dist/Popover/Popover.cjs +13 -51
- package/dist/Popover/Popover.cjs.map +1 -1
- package/dist/Popover/Popover.js +13 -26
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Popover/index.cjs +0 -2
- package/dist/Popover/index.cjs.map +1 -1
- package/dist/Popover/index.js.map +1 -1
- package/dist/ProfileButton/ProfileButton.cjs +9 -36
- package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
- package/dist/ProfileButton/ProfileButton.js +9 -15
- package/dist/ProfileButton/ProfileButton.js.map +1 -1
- package/dist/ProfileButton/index.cjs +0 -2
- package/dist/ProfileButton/index.cjs.map +1 -1
- package/dist/ProfileButton/index.js.map +1 -1
- package/dist/QuizButton/QuizButton.cjs +12 -38
- package/dist/QuizButton/QuizButton.cjs.map +1 -1
- package/dist/QuizButton/QuizButton.js +12 -22
- package/dist/QuizButton/QuizButton.js.map +1 -1
- package/dist/QuizButton/index.cjs +0 -2
- package/dist/QuizButton/index.cjs.map +1 -1
- package/dist/QuizButton/index.js.map +1 -1
- package/dist/SegmentControl/SegmentControl.cjs +11 -40
- package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
- package/dist/SegmentControl/SegmentControl.js +11 -22
- package/dist/SegmentControl/SegmentControl.js.map +1 -1
- package/dist/SegmentControl/index.cjs +0 -2
- package/dist/SegmentControl/index.cjs.map +1 -1
- package/dist/SegmentControl/index.js.map +1 -1
- package/dist/Services/functions.cjs +4 -5
- package/dist/Services/functions.cjs.map +1 -1
- package/dist/Services/functions.js +4 -4
- package/dist/Services/functions.js.map +1 -1
- package/dist/SideMenu/SideMenu.cjs +3 -22
- package/dist/SideMenu/SideMenu.cjs.map +1 -1
- package/dist/SideMenu/SideMenu.js +3 -10
- package/dist/SideMenu/SideMenu.js.map +1 -1
- package/dist/SideMenu/SideMenuBody.cjs +9 -27
- package/dist/SideMenu/SideMenuBody.cjs.map +1 -1
- package/dist/SideMenu/SideMenuBody.js +9 -14
- package/dist/SideMenu/SideMenuBody.js.map +1 -1
- package/dist/SideMenu/SideMenuFooter.cjs +0 -21
- package/dist/SideMenu/SideMenuFooter.cjs.map +1 -1
- package/dist/SideMenu/SideMenuFooter.js +0 -5
- package/dist/SideMenu/SideMenuFooter.js.map +1 -1
- package/dist/SideMenu/SideMenuHeader.cjs +1 -20
- package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
- package/dist/SideMenu/SideMenuHeader.js +1 -7
- package/dist/SideMenu/SideMenuHeader.js.map +1 -1
- package/dist/SideMenu/index.cjs +0 -4
- package/dist/SideMenu/index.cjs.map +1 -1
- package/dist/SideMenu/index.js.map +1 -1
- package/dist/SkipToContent/SkipToContent.cjs +0 -15
- package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
- package/dist/SkipToContent/SkipToContent.js +0 -4
- package/dist/SkipToContent/SkipToContent.js.map +1 -1
- package/dist/SkipToContent/index.cjs +0 -2
- package/dist/SkipToContent/index.cjs.map +1 -1
- package/dist/SkipToContent/index.js.map +1 -1
- package/dist/Switcher/MobileCustomMenuContent.cjs +5 -20
- package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -1
- package/dist/Switcher/MobileCustomMenuContent.js +5 -10
- package/dist/Switcher/MobileCustomMenuContent.js.map +1 -1
- package/dist/Switcher/MobileSwitcherMenu.cjs +6 -23
- package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
- package/dist/Switcher/MobileSwitcherMenu.js +6 -10
- package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.cjs +6 -19
- package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.js +6 -10
- package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/Switcher/index.cjs +0 -3
- package/dist/Switcher/index.cjs.map +1 -1
- package/dist/Switcher/index.js.map +1 -1
- package/dist/Table/Table.cjs +83 -128
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +86 -116
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +9 -48
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +9 -31
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableFooter.cjs +0 -14
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.js +0 -3
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/Table/TableHeaders.cjs +0 -12
- package/dist/Table/TableHeaders.cjs.map +1 -1
- package/dist/Table/TableHeaders.js +0 -5
- package/dist/Table/TableHeaders.js.map +1 -1
- package/dist/Table/TableStyles.cjs +1 -57
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.js +2 -3
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Table/index.cjs +0 -2
- package/dist/Table/index.cjs.map +1 -1
- package/dist/Table/index.js.map +1 -1
- package/dist/Tabs/HorizontalTabs.cjs +22 -58
- package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
- package/dist/Tabs/HorizontalTabs.js +27 -42
- package/dist/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/Tabs/TabLink.cjs +16 -43
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.js +16 -22
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/Tabs.cjs +1 -31
- package/dist/Tabs/Tabs.cjs.map +1 -1
- package/dist/Tabs/Tabs.js +1 -22
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/VerticalTabs.cjs +1 -13
- package/dist/Tabs/VerticalTabs.cjs.map +1 -1
- package/dist/Tabs/VerticalTabs.js +1 -3
- package/dist/Tabs/VerticalTabs.js.map +1 -1
- package/dist/Tabs/index.cjs +0 -3
- package/dist/Tabs/index.cjs.map +1 -1
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Tag/Tag.cjs +6 -27
- package/dist/Tag/Tag.cjs.map +1 -1
- package/dist/Tag/Tag.js +6 -13
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tag/index.cjs +0 -2
- package/dist/Tag/index.cjs.map +1 -1
- package/dist/Tag/index.js.map +1 -1
- package/dist/Tile/Tile.cjs +7 -26
- package/dist/Tile/Tile.cjs.map +1 -1
- package/dist/Tile/Tile.js +7 -14
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/TileBody.cjs +1 -12
- package/dist/Tile/TileBody.cjs.map +1 -1
- package/dist/Tile/TileBody.js +1 -5
- package/dist/Tile/TileBody.js.map +1 -1
- package/dist/Tile/TileCommonItems.cjs +6 -44
- package/dist/Tile/TileCommonItems.cjs.map +1 -1
- package/dist/Tile/TileCommonItems.js +6 -18
- package/dist/Tile/TileCommonItems.js.map +1 -1
- package/dist/Tile/TileFooter.cjs +2 -15
- package/dist/Tile/TileFooter.cjs.map +1 -1
- package/dist/Tile/TileFooter.js +2 -6
- package/dist/Tile/TileFooter.js.map +1 -1
- package/dist/Tile/TileHeader.cjs +4 -25
- package/dist/Tile/TileHeader.cjs.map +1 -1
- package/dist/Tile/TileHeader.js +4 -10
- package/dist/Tile/TileHeader.js.map +1 -1
- package/dist/Tile/index.cjs +0 -4
- package/dist/Tile/index.cjs.map +1 -1
- package/dist/Tile/index.js.map +1 -1
- package/dist/Toasters/Toast.cjs +13 -54
- package/dist/Toasters/Toast.cjs.map +1 -1
- package/dist/Toasters/Toast.js +13 -31
- package/dist/Toasters/Toast.js.map +1 -1
- package/dist/Toasters/ToastContext.cjs +6 -32
- package/dist/Toasters/ToastContext.cjs.map +1 -1
- package/dist/Toasters/ToastContext.js +6 -13
- package/dist/Toasters/ToastContext.js.map +1 -1
- package/dist/Toasters/index.cjs +0 -3
- package/dist/Toasters/index.cjs.map +1 -1
- package/dist/Toasters/index.js.map +1 -1
- package/dist/Toggles/ToggleButton.cjs +10 -34
- package/dist/Toggles/ToggleButton.cjs.map +1 -1
- package/dist/Toggles/ToggleButton.js +10 -18
- package/dist/Toggles/ToggleButton.js.map +1 -1
- package/dist/Toggles/ToggleSwitch.cjs +10 -27
- package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
- package/dist/Toggles/ToggleSwitch.js +11 -15
- package/dist/Toggles/ToggleSwitch.js.map +1 -1
- package/dist/Toggles/TogglerStyles.cjs +0 -15
- package/dist/Toggles/TogglerStyles.cjs.map +1 -1
- package/dist/Toggles/TogglerStyles.js +1 -3
- package/dist/Toggles/TogglerStyles.js.map +1 -1
- package/dist/Toggles/index.cjs +0 -3
- package/dist/Toggles/index.cjs.map +1 -1
- package/dist/Toggles/index.js.map +1 -1
- package/dist/Tooltips/TooltipStyles.cjs +0 -18
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.js +0 -4
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/Tooltips/TooltipTypes.cjs +1 -1
- package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
- package/dist/Tooltips/TooltipTypes.js +1 -0
- package/dist/Tooltips/TooltipTypes.js.map +1 -1
- package/dist/Tooltips/TooltipWrapper.cjs +14 -29
- package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
- package/dist/Tooltips/TooltipWrapper.js +14 -20
- package/dist/Tooltips/TooltipWrapper.js.map +1 -1
- package/dist/Tooltips/index.cjs +0 -3
- package/dist/Tooltips/index.cjs.map +1 -1
- package/dist/Tooltips/index.js.map +1 -1
- package/dist/assets/index.cjs +10 -20
- package/dist/assets/index.cjs.map +1 -1
- package/dist/assets/index.js +10 -10
- package/dist/assets/index.js.map +1 -1
- package/dist/common/ActionWithin.cjs +2 -16
- package/dist/common/ActionWithin.cjs.map +1 -1
- package/dist/common/ActionWithin.js +2 -12
- package/dist/common/ActionWithin.js.map +1 -1
- package/dist/common/ClickOutside.cjs +0 -8
- package/dist/common/ClickOutside.cjs.map +1 -1
- package/dist/common/ClickOutside.js +0 -2
- package/dist/common/ClickOutside.js.map +1 -1
- package/dist/common/EventHandlers.cjs +0 -4
- package/dist/common/EventHandlers.cjs.map +1 -1
- package/dist/common/EventHandlers.js +0 -2
- package/dist/common/EventHandlers.js.map +1 -1
- package/dist/common/FocusOutside.cjs +0 -8
- package/dist/common/FocusOutside.cjs.map +1 -1
- package/dist/common/FocusOutside.js +0 -2
- package/dist/common/FocusOutside.js.map +1 -1
- package/dist/common/FocusVisible.cjs +4 -32
- package/dist/common/FocusVisible.cjs.map +1 -1
- package/dist/common/FocusVisible.js +4 -25
- package/dist/common/FocusVisible.js.map +1 -1
- package/dist/common/InputStyling.cjs +0 -6
- package/dist/common/InputStyling.cjs.map +1 -1
- package/dist/common/InputStyling.js +0 -2
- package/dist/common/InputStyling.js.map +1 -1
- package/dist/common/NavigationHelper.cjs +0 -8
- package/dist/common/NavigationHelper.cjs.map +1 -1
- package/dist/common/NavigationHelper.js +0 -4
- package/dist/common/NavigationHelper.js.map +1 -1
- package/dist/common/ScrollableContainer.cjs +9 -20
- package/dist/common/ScrollableContainer.cjs.map +1 -1
- package/dist/common/ScrollableContainer.js +9 -12
- package/dist/common/ScrollableContainer.js.map +1 -1
- package/dist/common/StackState.cjs +3 -13
- package/dist/common/StackState.cjs.map +1 -1
- package/dist/common/StackState.js +3 -4
- package/dist/common/StackState.js.map +1 -1
- package/dist/common/index.cjs +0 -6
- package/dist/common/index.cjs.map +1 -1
- package/dist/common/index.js.map +1 -1
- package/dist/icons/contenticons/ContentIcons.cjs +1368 -1719
- package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
- package/dist/icons/contenticons/ContentIcons.js +1368 -1368
- package/dist/icons/contenticons/ContentIcons.js.map +1 -1
- package/dist/icons/index.cjs +8 -34
- package/dist/icons/index.cjs.map +1 -1
- package/dist/icons/index.js +8 -14
- package/dist/icons/index.js.map +1 -1
- package/dist/icons/systemicons/SystemIcons.cjs +1442 -1815
- package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
- package/dist/icons/systemicons/SystemIcons.js +1442 -1442
- package/dist/icons/systemicons/SystemIcons.js.map +1 -1
- package/dist/index.cjs +0 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/styles/breakpoints.cjs.map +1 -1
- package/dist/styles/breakpoints.js.map +1 -1
- package/dist/styles/colors.cjs +2 -0
- package/dist/styles/colors.cjs.map +1 -1
- package/dist/styles/colors.js +2 -0
- package/dist/styles/colors.js.map +1 -1
- package/dist/styles/focus-styles.cjs +0 -6
- package/dist/styles/focus-styles.cjs.map +1 -1
- package/dist/styles/focus-styles.js +0 -2
- package/dist/styles/focus-styles.js.map +1 -1
- package/dist/styles/global.cjs +0 -3
- package/dist/styles/global.cjs.map +1 -1
- package/dist/styles/global.js.map +1 -1
- package/dist/styles/index.cjs +0 -15
- package/dist/styles/index.cjs.map +1 -1
- package/dist/styles/index.js +0 -2
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/shadowstyles.cjs.map +1 -1
- package/dist/styles/shadowstyles.js.map +1 -1
- package/dist/styles/typography.cjs +40 -133
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.js +40 -111
- package/dist/styles/typography.js.map +1 -1
- package/dist/styles/z-indexes.cjs.map +1 -1
- package/dist/styles/z-indexes.js.map +1 -1
- package/dist/types.cjs +0 -13
- package/dist/types.cjs.map +1 -1
- package/dist/types.js +0 -13
- package/dist/types.js.map +1 -1
- package/dist/utils/utils.cjs +0 -2
- package/dist/utils/utils.cjs.map +1 -1
- package/dist/utils/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,107 +1,78 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = void 0;
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
-
|
|
18
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
19
|
-
|
|
20
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
21
|
-
|
|
22
14
|
var React = _interopRequireWildcard(require("react"));
|
|
23
|
-
|
|
24
15
|
var _types = require("../types");
|
|
25
|
-
|
|
26
16
|
var _styles = require("../styles");
|
|
27
|
-
|
|
28
17
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
29
|
-
|
|
30
18
|
var _typography = require("../styles/typography");
|
|
31
|
-
|
|
32
19
|
var _zIndexes = require("../styles/z-indexes");
|
|
33
|
-
|
|
34
20
|
var _common = require("../common");
|
|
35
|
-
|
|
36
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
37
|
-
|
|
38
22
|
var _excluded = ["size", "tabs", "sideFill", "fullWidth", "onTabChange"],
|
|
39
|
-
|
|
40
|
-
|
|
23
|
+
_excluded2 = ["value", "selected", "to", "disabled", "className"];
|
|
41
24
|
var _templateObject, _templateObject2, _templateObject3;
|
|
42
|
-
|
|
43
25
|
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); }
|
|
44
|
-
|
|
45
26
|
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; }
|
|
46
|
-
|
|
47
27
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
48
|
-
|
|
49
28
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
50
|
-
|
|
51
29
|
// Add custom styles
|
|
52
30
|
var HorizontalTabContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n\n &:focus{\n ", ";\n }\n \n"])), _styles.focusStyles);
|
|
53
|
-
|
|
54
31
|
var TabSideFill = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n border-bottom: 1px solid ", ";\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ", ";\n }\n"])), _styles.COLORS.neutral_100, _styles.COLORS.white);
|
|
32
|
+
var TabButton = _styledComponents.default.button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ", ";\n div {\n background: ", ";\n color: ", ";\n\n &[aria-selected=\"true\"] {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n }\n &[aria-selected=\"true\"] {\n z-index: ", ";\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ", ";\n color: ", ";\n\n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n\n &.selected {\n background-color: ", ";\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n\n &:active {\n background: ", ";\n color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n\n &.disabled {\n color: ", ";\n cursor: not-allowed;\n box-shadow: none !important;\n\n &:hover {\n background-color: transparent;\n color: ", ";\n }\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-", " {\n ", "\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-", " {\n ", "\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n"])), _styles.COLORS.neutral_800, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _styles.COLORS.primary_700, _styles.COLORS.neutral_100, _styles.COLORS.neutral_100, _zIndexes.Z_INDEXES.active, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _styles.COLORS.primary_700, _styles.COLORS.neutral_100, _styles.COLORS.neutral_100, _styles.COLORS.white, _styles.COLORS.primary_500, _styles.COLORS.neutral_100, _styles.COLORS.neutral_100, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.focus_25, _styles.COLORS.focus, _styles.COLORS.primary_800, _styles.COLORS.neutral_100, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300, _types.Size.XSmall, (0, _typography.ComponentXSStyling)(_styles.ComponentTextStyle.Regular, null), _types.Size.Small, (0, _typography.ComponentSStyling)(_styles.ComponentTextStyle.Regular, null), _types.Size.Medium, (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, null), _types.Size.Large, (0, _typography.ComponentLStyling)(_styles.ComponentTextStyle.Regular, null));
|
|
55
33
|
|
|
56
|
-
|
|
57
|
-
|
|
34
|
+
// Add component-specific types
|
|
58
35
|
|
|
59
36
|
var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
60
37
|
var size = _ref.size,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
38
|
+
tabs = _ref.tabs,
|
|
39
|
+
sideFill = _ref.sideFill,
|
|
40
|
+
fullWidth = _ref.fullWidth,
|
|
41
|
+
onTabChange = _ref.onTabChange,
|
|
42
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
67
43
|
/**
|
|
68
44
|
* Informs parent component of tab change and clears focus.
|
|
69
45
|
* @param to - A link to which user should be navigated.
|
|
70
46
|
*/
|
|
71
47
|
var doTabChange = function doTabChange(to) {
|
|
72
48
|
// Let's inform parent component
|
|
73
|
-
onTabChange(to);
|
|
49
|
+
onTabChange(to);
|
|
74
50
|
|
|
51
|
+
// Let's clear focus
|
|
75
52
|
if (document.activeElement instanceof HTMLElement) {
|
|
76
53
|
document.activeElement.blur();
|
|
77
54
|
}
|
|
78
55
|
};
|
|
79
|
-
|
|
80
56
|
var _React$useState = React.useState(false),
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
57
|
+
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
58
|
+
focused = _React$useState2[0],
|
|
59
|
+
setFocused = _React$useState2[1];
|
|
85
60
|
var _React$useState3 = React.useState(),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
61
|
+
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
62
|
+
currentTab = _React$useState4[0],
|
|
63
|
+
setCurrentTab = _React$useState4[1];
|
|
90
64
|
React.useEffect(function () {
|
|
91
65
|
var selectedTab = tabs.find(function (x) {
|
|
92
66
|
return x.selected && !x.disabled;
|
|
93
67
|
});
|
|
94
68
|
if (selectedTab) setCurrentTab(selectedTab.to);
|
|
95
69
|
}, [tabs]);
|
|
96
|
-
|
|
97
70
|
var tabListBlur = function tabListBlur() {
|
|
98
71
|
return setFocused(false);
|
|
99
72
|
};
|
|
100
|
-
|
|
101
73
|
var tabListFocus = function tabListFocus(e) {
|
|
102
74
|
return setFocused(true);
|
|
103
75
|
};
|
|
104
|
-
|
|
105
76
|
var changeTabInternal = function changeTabInternal(tab) {
|
|
106
77
|
tab.selected = true;
|
|
107
78
|
tabs.forEach(function (x) {
|
|
@@ -110,15 +81,12 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
110
81
|
setCurrentTab(tab.to);
|
|
111
82
|
onTabChange(tab.to);
|
|
112
83
|
};
|
|
113
|
-
|
|
114
84
|
var tabListKeyDown = function tabListKeyDown(e) {
|
|
115
85
|
if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {
|
|
116
86
|
e.preventDefault();
|
|
117
|
-
|
|
118
87
|
if (e.key === 'ArrowRight') {
|
|
119
88
|
tabs.forEach(function (x, i) {
|
|
120
89
|
if (x.to != currentTab) return;
|
|
121
|
-
|
|
122
90
|
for (var j = 1; j < tabs.length - 1; j++) {
|
|
123
91
|
var nextIndex = j + i;
|
|
124
92
|
if (nextIndex > tabs.length - 1) nextIndex = nextIndex - tabs.length;
|
|
@@ -128,11 +96,9 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
128
96
|
}
|
|
129
97
|
});
|
|
130
98
|
}
|
|
131
|
-
|
|
132
99
|
if (e.key === 'ArrowLeft') {
|
|
133
100
|
tabs.forEach(function (x, i) {
|
|
134
101
|
if (x.to != currentTab) return;
|
|
135
|
-
|
|
136
102
|
for (var j = 1; j < tabs.length - 1; j++) {
|
|
137
103
|
var nextIndex = i - j;
|
|
138
104
|
if (nextIndex < 0) nextIndex = nextIndex + tabs.length;
|
|
@@ -144,7 +110,6 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
144
110
|
}
|
|
145
111
|
}
|
|
146
112
|
};
|
|
147
|
-
|
|
148
113
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(HorizontalTabContainer, _objectSpread(_objectSpread({
|
|
149
114
|
tabIndex: 0,
|
|
150
115
|
onBlur: tabListBlur,
|
|
@@ -158,11 +123,11 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
158
123
|
className: "".concat(sideFill ? 'fill' : '')
|
|
159
124
|
}), tabs.map(function (tab, index) {
|
|
160
125
|
var value = tab.value,
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
126
|
+
selected = tab.selected,
|
|
127
|
+
to = tab.to,
|
|
128
|
+
disabled = tab.disabled,
|
|
129
|
+
className = tab.className,
|
|
130
|
+
rest = (0, _objectWithoutProperties2.default)(tab, _excluded2);
|
|
166
131
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabButton, _objectSpread(_objectSpread({
|
|
167
132
|
role: "tab",
|
|
168
133
|
"data-testid": "tab_".concat(value),
|
|
@@ -175,7 +140,7 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
175
140
|
} : {},
|
|
176
141
|
className: "".concat(className || '', " size-").concat(size),
|
|
177
142
|
onClick: function onClick() {
|
|
178
|
-
return !disabled &&
|
|
143
|
+
return !disabled && changeTabInternal(tab);
|
|
179
144
|
}
|
|
180
145
|
}, rest), {}, {
|
|
181
146
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
@@ -186,7 +151,6 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
186
151
|
})]
|
|
187
152
|
}));
|
|
188
153
|
};
|
|
189
|
-
|
|
190
154
|
HorizontalTabs.propTypes = {
|
|
191
155
|
tabs: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
192
156
|
value: _propTypes.default.string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalTabs.cjs","names":["HorizontalTabContainer","styled","div","focusStyles","TabSideFill","COLORS","neutral_100","white","TabButton","button","neutral_800","Z_INDEXES","hover","primary_20","primary_700","active","primary_500","primary_100","primary_800","focus_25","focus","neutral_300","Size","XSmall","ComponentXSStyling","ComponentTextStyle","Regular","Small","ComponentSStyling","Medium","ComponentMStyling","Large","ComponentLStyling","HorizontalTabs","size","tabs","sideFill","fullWidth","onTabChange","rest","doTabChange","to","document","activeElement","HTMLElement","blur","React","useState","focused","setFocused","currentTab","setCurrentTab","useEffect","selectedTab","find","x","selected","disabled","tabListBlur","tabListFocus","e","changeTabInternal","tab","forEach","tabListKeyDown","key","preventDefault","i","j","length","nextIndex","map","index","value","className","defaultOnMouseDownHandler","width"],"sources":["../../src/Tabs/HorizontalTabs.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport { COLORS, ComponentTextStyle, focusStyles } from '../styles';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling } from '../styles/typography';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport { defaultOnMouseDownHandler } from '../common';\n\n// Add custom styles\nconst HorizontalTabContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n\n &:focus{\n ${focusStyles};\n }\n \n`;\n\nconst TabSideFill = styled.div`\n position: absolute;\n border-bottom: 1px solid ${COLORS.neutral_100};\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ${COLORS.white};\n }\n`;\n\nconst TabButton = styled.button`\n color: ${COLORS.neutral_800};\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n div {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n\n &[aria-selected=\"true\"] {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n &[aria-selected=\"true\"] {\n z-index: ${Z_INDEXES.active};\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n\n &.selected {\n background-color: ${COLORS.white};\n border-top: 2px solid ${COLORS.primary_500};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n\n &:active {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n box-shadow: none !important;\n\n &:hover {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.size-${Size.XSmall} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-${Size.Small} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-${Size.Medium} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-${Size.Large} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n`;\n\n// Add component-specific types\ninterface HorizontalTabProps extends React.HTMLAttributes<HTMLDivElement>{\n size: Size;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\nexport interface HorizontalTab extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'tabIndex' | 'onMouseDown' | 'onClick' | 'style'> {\n value: string;\n selected: boolean;\n to: string;\n}\n\nconst HorizontalTabs = ({ size, tabs, sideFill, fullWidth, onTabChange, ...rest }: HorizontalTabProps) => {\n /**\n * Informs parent component of tab change and clears focus.\n * @param to - A link to which user should be navigated.\n */\n const doTabChange = (to: string): void => {\n // Let's inform parent component\n onTabChange(to);\n\n // Let's clear focus\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement!.blur();\n }\n };\n\n const [focused, setFocused ] = React.useState<boolean>(false);\n const [currentTab, setCurrentTab] = React.useState<string>();\n\n React.useEffect(() => {\n const selectedTab = tabs.find(x => x.selected && !x.disabled);\n if(selectedTab)\n setCurrentTab(selectedTab.to);\n }, [tabs]);\n\n const tabListBlur = () => setFocused(false);\n\n const tabListFocus = (e: React.FocusEvent<HTMLDivElement, Element>) => setFocused(true);\n\n const changeTabInternal = (tab: HorizontalTab) => {\n tab.selected = true;\n tabs.forEach(x => {\n if(x.to != tab.to)\n x.selected = false;\n });\n setCurrentTab(tab.to);\n onTabChange(tab.to);\n }\n\n const tabListKeyDown = (e:React.KeyboardEvent) => {\n if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {\n e.preventDefault();\n if(e.key === 'ArrowRight')\n {\n tabs.forEach((x, i) => {\n if(x.to != currentTab)\n return;\n\n for(let j = 1; j < tabs.length - 1; j++)\n {\n let nextIndex = j + i;\n if(nextIndex > tabs.length - 1)\n nextIndex = nextIndex - tabs.length;\n if(tabs[nextIndex].disabled)\n continue;\n changeTabInternal(tabs[nextIndex]);\n break;\n }\n });\n }\n\n if(e.key === 'ArrowLeft')\n {\n tabs.forEach((x, i) => {\n if(x.to != currentTab)\n return;\n\n for(let j = 1; j < tabs.length - 1; j++)\n {\n let nextIndex = i - j;\n if(nextIndex < 0)\n nextIndex = nextIndex + tabs.length;\n if(tabs[nextIndex].disabled)\n continue;\n changeTabInternal(tabs[nextIndex]);\n break;\n }\n });\n }\n }\n };\n\n return (\n <HorizontalTabContainer tabIndex={0} onBlur={tabListBlur} onFocus={tabListFocus} onKeyDown={tabListKeyDown} role=\"tablist\" data-testid={'horizontal-tabs-container'} {...rest}>\n <TabSideFill tabIndex={-1} className={`${sideFill ? 'fill' : ''}`} />\n {tabs.map((tab: HorizontalTab, index: number) => {\n const { value, selected, to, disabled, className, ...rest } = tab;\n return (\n <TabButton\n role=\"tab\"\n data-testid={`tab_${value}`}\n key={`${tab}_${index}`}\n aria-selected={selected}\n aria-expanded={selected}\n tabIndex={-1}\n onMouseDown={defaultOnMouseDownHandler}\n style={fullWidth ? {width: `${100 / tabs.length}%`} : {}}\n className={`${className || ''} size-${size}`}\n onClick={() => !disabled && doTabChange(to)}\n {...rest}>\n <div\n className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}>{tab.value}</div>\n </TabButton>\n );\n })}\n </HorizontalTabContainer>\n );\n};\n\nexport default HorizontalTabs;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HorizontalTabs.cjs","names":["HorizontalTabContainer","styled","div","focusStyles","TabSideFill","COLORS","neutral_100","white","TabButton","button","neutral_800","Z_INDEXES","hover","primary_20","primary_700","active","primary_500","primary_100","primary_800","focus_25","focus","neutral_300","Size","XSmall","ComponentXSStyling","ComponentTextStyle","Regular","Small","ComponentSStyling","Medium","ComponentMStyling","Large","ComponentLStyling","HorizontalTabs","size","tabs","sideFill","fullWidth","onTabChange","rest","doTabChange","to","document","activeElement","HTMLElement","blur","React","useState","focused","setFocused","currentTab","setCurrentTab","useEffect","selectedTab","find","x","selected","disabled","tabListBlur","tabListFocus","e","changeTabInternal","tab","forEach","tabListKeyDown","key","preventDefault","i","j","length","nextIndex","map","index","value","className","defaultOnMouseDownHandler","width"],"sources":["../../src/Tabs/HorizontalTabs.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport { COLORS, ComponentTextStyle, focusStyles } from '../styles';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling } from '../styles/typography';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport { defaultOnMouseDownHandler } from '../common';\n\n// Add custom styles\nconst HorizontalTabContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n\n &:focus{\n ${focusStyles};\n }\n \n`;\n\nconst TabSideFill = styled.div`\n position: absolute;\n border-bottom: 1px solid ${COLORS.neutral_100};\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ${COLORS.white};\n }\n`;\n\nconst TabButton = styled.button`\n color: ${COLORS.neutral_800};\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n div {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n\n &[aria-selected=\"true\"] {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n &[aria-selected=\"true\"] {\n z-index: ${Z_INDEXES.active};\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n\n &.selected {\n background-color: ${COLORS.white};\n border-top: 2px solid ${COLORS.primary_500};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n\n &:active {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n box-shadow: none !important;\n\n &:hover {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.size-${Size.XSmall} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-${Size.Small} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-${Size.Medium} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-${Size.Large} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n`;\n\n// Add component-specific types\ninterface HorizontalTabProps extends React.HTMLAttributes<HTMLDivElement>{\n size: Size;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\nexport interface HorizontalTab extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'tabIndex' | 'onMouseDown' | 'onClick' | 'style'> {\n value: string;\n selected: boolean;\n to: string;\n}\n\nconst HorizontalTabs = ({ size, tabs, sideFill, fullWidth, onTabChange, ...rest }: HorizontalTabProps) => {\n /**\n * Informs parent component of tab change and clears focus.\n * @param to - A link to which user should be navigated.\n */\n const doTabChange = (to: string): void => {\n // Let's inform parent component\n onTabChange(to);\n\n // Let's clear focus\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement!.blur();\n }\n };\n\n const [focused, setFocused ] = React.useState<boolean>(false);\n const [currentTab, setCurrentTab] = React.useState<string>();\n\n React.useEffect(() => {\n const selectedTab = tabs.find(x => x.selected && !x.disabled);\n if(selectedTab)\n setCurrentTab(selectedTab.to);\n }, [tabs]);\n\n const tabListBlur = () => setFocused(false);\n\n const tabListFocus = (e: React.FocusEvent<HTMLDivElement, Element>) => setFocused(true);\n\n const changeTabInternal = (tab: HorizontalTab) => {\n tab.selected = true;\n tabs.forEach(x => {\n if(x.to != tab.to)\n x.selected = false;\n });\n setCurrentTab(tab.to);\n onTabChange(tab.to);\n }\n\n const tabListKeyDown = (e:React.KeyboardEvent) => {\n if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {\n e.preventDefault();\n if(e.key === 'ArrowRight')\n {\n tabs.forEach((x, i) => {\n if(x.to != currentTab)\n return;\n\n for(let j = 1; j < tabs.length - 1; j++)\n {\n let nextIndex = j + i;\n if(nextIndex > tabs.length - 1)\n nextIndex = nextIndex - tabs.length;\n if(tabs[nextIndex].disabled)\n continue;\n changeTabInternal(tabs[nextIndex]);\n break;\n }\n });\n }\n\n if(e.key === 'ArrowLeft')\n {\n tabs.forEach((x, i) => {\n if(x.to != currentTab)\n return;\n\n for(let j = 1; j < tabs.length - 1; j++)\n {\n let nextIndex = i - j;\n if(nextIndex < 0)\n nextIndex = nextIndex + tabs.length;\n if(tabs[nextIndex].disabled)\n continue;\n changeTabInternal(tabs[nextIndex]);\n break;\n }\n });\n }\n }\n };\n\n return (\n <HorizontalTabContainer tabIndex={0} onBlur={tabListBlur} onFocus={tabListFocus} onKeyDown={tabListKeyDown} role=\"tablist\" data-testid={'horizontal-tabs-container'} {...rest}>\n <TabSideFill tabIndex={-1} className={`${sideFill ? 'fill' : ''}`} />\n {tabs.map((tab: HorizontalTab, index: number) => {\n const { value, selected, to, disabled, className, ...rest } = tab;\n return (\n <TabButton\n role=\"tab\"\n data-testid={`tab_${value}`}\n key={`${tab}_${index}`}\n aria-selected={selected}\n aria-expanded={selected}\n tabIndex={-1}\n onMouseDown={defaultOnMouseDownHandler}\n style={fullWidth ? {width: `${100 / tabs.length}%`} : {}}\n className={`${className || ''} size-${size}`}\n onClick={() => !disabled && changeTabInternal(tab)}\n {...rest}>\n <div\n className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}>{tab.value}</div>\n </TabButton>\n );\n })}\n </HorizontalTabContainer>\n );\n};\n\nexport default HorizontalTabs;\n"],"mappings":"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"}
|
|
@@ -4,85 +4,78 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
4
4
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
5
5
|
import _pt from "prop-types";
|
|
6
6
|
var _excluded = ["size", "tabs", "sideFill", "fullWidth", "onTabChange"],
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
_excluded2 = ["value", "selected", "to", "disabled", "className"];
|
|
9
8
|
var _templateObject, _templateObject2, _templateObject3;
|
|
10
|
-
|
|
11
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
-
|
|
13
10
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
|
|
15
11
|
/**
|
|
16
12
|
* Import React libraries.
|
|
17
13
|
*/
|
|
18
14
|
import * as React from 'react';
|
|
19
15
|
import { Size } from '../types';
|
|
16
|
+
|
|
20
17
|
/**
|
|
21
18
|
* Import custom styles.
|
|
22
19
|
*/
|
|
23
|
-
|
|
24
20
|
import { COLORS, ComponentTextStyle, focusStyles } from '../styles';
|
|
21
|
+
|
|
25
22
|
/**
|
|
26
23
|
* Import third-party libraries.
|
|
27
24
|
*/
|
|
28
|
-
|
|
29
25
|
import styled from 'styled-components';
|
|
30
26
|
import { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling } from '../styles/typography';
|
|
31
27
|
import { Z_INDEXES } from '../styles/z-indexes';
|
|
32
|
-
import { defaultOnMouseDownHandler } from '../common';
|
|
28
|
+
import { defaultOnMouseDownHandler } from '../common';
|
|
33
29
|
|
|
30
|
+
// Add custom styles
|
|
34
31
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
35
32
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
36
33
|
var HorizontalTabContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n\n &:focus{\n ", ";\n }\n \n"])), focusStyles);
|
|
37
34
|
var TabSideFill = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n border-bottom: 1px solid ", ";\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ", ";\n }\n"])), COLORS.neutral_100, COLORS.white);
|
|
38
|
-
var TabButton = styled.button(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ", ";\n div {\n background: ", ";\n color: ", ";\n\n &[aria-selected=\"true\"] {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n }\n &[aria-selected=\"true\"] {\n z-index: ", ";\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ", ";\n color: ", ";\n\n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n\n &.selected {\n background-color: ", ";\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n\n &:active {\n background: ", ";\n color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n\n &.disabled {\n color: ", ";\n cursor: not-allowed;\n box-shadow: none !important;\n\n &:hover {\n background-color: transparent;\n color: ", ";\n }\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-", " {\n ", "\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-", " {\n ", "\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n"])), COLORS.neutral_800, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_700, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_100, Z_INDEXES.active, COLORS.primary_20, COLORS.primary_700, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_100, COLORS.white, COLORS.primary_500, COLORS.neutral_100, COLORS.neutral_100, COLORS.primary_100, COLORS.primary_800, COLORS.focus_25, COLORS.focus, COLORS.primary_800, COLORS.neutral_100, COLORS.neutral_100, COLORS.neutral_300, COLORS.neutral_300, Size.XSmall, ComponentXSStyling(ComponentTextStyle.Regular, null), Size.Small, ComponentSStyling(ComponentTextStyle.Regular, null), Size.Medium, ComponentMStyling(ComponentTextStyle.Regular, null), Size.Large, ComponentLStyling(ComponentTextStyle.Regular, null));
|
|
35
|
+
var TabButton = styled.button(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ", ";\n div {\n background: ", ";\n color: ", ";\n\n &[aria-selected=\"true\"] {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n }\n &[aria-selected=\"true\"] {\n z-index: ", ";\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ", ";\n color: ", ";\n\n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n\n &.selected {\n background-color: ", ";\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n\n &:active {\n background: ", ";\n color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n\n &.disabled {\n color: ", ";\n cursor: not-allowed;\n box-shadow: none !important;\n\n &:hover {\n background-color: transparent;\n color: ", ";\n }\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-", " {\n ", "\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-", " {\n ", "\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n"])), COLORS.neutral_800, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_700, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_100, Z_INDEXES.active, COLORS.primary_20, COLORS.primary_700, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_100, COLORS.white, COLORS.primary_500, COLORS.neutral_100, COLORS.neutral_100, COLORS.primary_100, COLORS.primary_800, COLORS.focus_25, COLORS.focus, COLORS.primary_800, COLORS.neutral_100, COLORS.neutral_100, COLORS.neutral_300, COLORS.neutral_300, Size.XSmall, ComponentXSStyling(ComponentTextStyle.Regular, null), Size.Small, ComponentSStyling(ComponentTextStyle.Regular, null), Size.Medium, ComponentMStyling(ComponentTextStyle.Regular, null), Size.Large, ComponentLStyling(ComponentTextStyle.Regular, null));
|
|
36
|
+
|
|
37
|
+
// Add component-specific types
|
|
39
38
|
|
|
40
39
|
var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
41
40
|
var size = _ref.size,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
tabs = _ref.tabs,
|
|
42
|
+
sideFill = _ref.sideFill,
|
|
43
|
+
fullWidth = _ref.fullWidth,
|
|
44
|
+
onTabChange = _ref.onTabChange,
|
|
45
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
48
46
|
/**
|
|
49
47
|
* Informs parent component of tab change and clears focus.
|
|
50
48
|
* @param to - A link to which user should be navigated.
|
|
51
49
|
*/
|
|
52
50
|
var doTabChange = function doTabChange(to) {
|
|
53
51
|
// Let's inform parent component
|
|
54
|
-
onTabChange(to);
|
|
52
|
+
onTabChange(to);
|
|
55
53
|
|
|
54
|
+
// Let's clear focus
|
|
56
55
|
if (document.activeElement instanceof HTMLElement) {
|
|
57
56
|
document.activeElement.blur();
|
|
58
57
|
}
|
|
59
58
|
};
|
|
60
|
-
|
|
61
59
|
var _React$useState = React.useState(false),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
61
|
+
focused = _React$useState2[0],
|
|
62
|
+
setFocused = _React$useState2[1];
|
|
66
63
|
var _React$useState3 = React.useState(),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
65
|
+
currentTab = _React$useState4[0],
|
|
66
|
+
setCurrentTab = _React$useState4[1];
|
|
71
67
|
React.useEffect(function () {
|
|
72
68
|
var selectedTab = tabs.find(function (x) {
|
|
73
69
|
return x.selected && !x.disabled;
|
|
74
70
|
});
|
|
75
71
|
if (selectedTab) setCurrentTab(selectedTab.to);
|
|
76
72
|
}, [tabs]);
|
|
77
|
-
|
|
78
73
|
var tabListBlur = function tabListBlur() {
|
|
79
74
|
return setFocused(false);
|
|
80
75
|
};
|
|
81
|
-
|
|
82
76
|
var tabListFocus = function tabListFocus(e) {
|
|
83
77
|
return setFocused(true);
|
|
84
78
|
};
|
|
85
|
-
|
|
86
79
|
var changeTabInternal = function changeTabInternal(tab) {
|
|
87
80
|
tab.selected = true;
|
|
88
81
|
tabs.forEach(function (x) {
|
|
@@ -91,15 +84,12 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
91
84
|
setCurrentTab(tab.to);
|
|
92
85
|
onTabChange(tab.to);
|
|
93
86
|
};
|
|
94
|
-
|
|
95
87
|
var tabListKeyDown = function tabListKeyDown(e) {
|
|
96
88
|
if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {
|
|
97
89
|
e.preventDefault();
|
|
98
|
-
|
|
99
90
|
if (e.key === 'ArrowRight') {
|
|
100
91
|
tabs.forEach(function (x, i) {
|
|
101
92
|
if (x.to != currentTab) return;
|
|
102
|
-
|
|
103
93
|
for (var j = 1; j < tabs.length - 1; j++) {
|
|
104
94
|
var nextIndex = j + i;
|
|
105
95
|
if (nextIndex > tabs.length - 1) nextIndex = nextIndex - tabs.length;
|
|
@@ -109,11 +99,9 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
109
99
|
}
|
|
110
100
|
});
|
|
111
101
|
}
|
|
112
|
-
|
|
113
102
|
if (e.key === 'ArrowLeft') {
|
|
114
103
|
tabs.forEach(function (x, i) {
|
|
115
104
|
if (x.to != currentTab) return;
|
|
116
|
-
|
|
117
105
|
for (var j = 1; j < tabs.length - 1; j++) {
|
|
118
106
|
var nextIndex = i - j;
|
|
119
107
|
if (nextIndex < 0) nextIndex = nextIndex + tabs.length;
|
|
@@ -125,7 +113,6 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
125
113
|
}
|
|
126
114
|
}
|
|
127
115
|
};
|
|
128
|
-
|
|
129
116
|
return /*#__PURE__*/_jsxs(HorizontalTabContainer, _objectSpread(_objectSpread({
|
|
130
117
|
tabIndex: 0,
|
|
131
118
|
onBlur: tabListBlur,
|
|
@@ -139,12 +126,11 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
139
126
|
className: "".concat(sideFill ? 'fill' : '')
|
|
140
127
|
}), tabs.map(function (tab, index) {
|
|
141
128
|
var value = tab.value,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
129
|
+
selected = tab.selected,
|
|
130
|
+
to = tab.to,
|
|
131
|
+
disabled = tab.disabled,
|
|
132
|
+
className = tab.className,
|
|
133
|
+
rest = _objectWithoutProperties(tab, _excluded2);
|
|
148
134
|
return /*#__PURE__*/_jsx(TabButton, _objectSpread(_objectSpread({
|
|
149
135
|
role: "tab",
|
|
150
136
|
"data-testid": "tab_".concat(value),
|
|
@@ -157,7 +143,7 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
157
143
|
} : {},
|
|
158
144
|
className: "".concat(className || '', " size-").concat(size),
|
|
159
145
|
onClick: function onClick() {
|
|
160
|
-
return !disabled &&
|
|
146
|
+
return !disabled && changeTabInternal(tab);
|
|
161
147
|
}
|
|
162
148
|
}, rest), {}, {
|
|
163
149
|
children: /*#__PURE__*/_jsx("div", {
|
|
@@ -168,7 +154,6 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
|
|
|
168
154
|
})]
|
|
169
155
|
}));
|
|
170
156
|
};
|
|
171
|
-
|
|
172
157
|
HorizontalTabs.propTypes = {
|
|
173
158
|
tabs: _pt.arrayOf(_pt.shape({
|
|
174
159
|
value: _pt.string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalTabs.js","names":["React","Size","COLORS","ComponentTextStyle","focusStyles","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","Z_INDEXES","defaultOnMouseDownHandler","HorizontalTabContainer","div","TabSideFill","neutral_100","white","TabButton","button","neutral_800","hover","primary_20","primary_700","active","primary_500","primary_100","primary_800","focus_25","focus","neutral_300","XSmall","Regular","Small","Medium","Large","HorizontalTabs","size","tabs","sideFill","fullWidth","onTabChange","rest","doTabChange","to","document","activeElement","HTMLElement","blur","useState","focused","setFocused","currentTab","setCurrentTab","useEffect","selectedTab","find","x","selected","disabled","tabListBlur","tabListFocus","e","changeTabInternal","tab","forEach","tabListKeyDown","key","preventDefault","i","j","length","nextIndex","map","index","value","className","width"],"sources":["../../src/Tabs/HorizontalTabs.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport { COLORS, ComponentTextStyle, focusStyles } from '../styles';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling } from '../styles/typography';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport { defaultOnMouseDownHandler } from '../common';\n\n// Add custom styles\nconst HorizontalTabContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n\n &:focus{\n ${focusStyles};\n }\n \n`;\n\nconst TabSideFill = styled.div`\n position: absolute;\n border-bottom: 1px solid ${COLORS.neutral_100};\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ${COLORS.white};\n }\n`;\n\nconst TabButton = styled.button`\n color: ${COLORS.neutral_800};\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n div {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n\n &[aria-selected=\"true\"] {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n &[aria-selected=\"true\"] {\n z-index: ${Z_INDEXES.active};\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n\n &.selected {\n background-color: ${COLORS.white};\n border-top: 2px solid ${COLORS.primary_500};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n\n &:active {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n box-shadow: none !important;\n\n &:hover {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.size-${Size.XSmall} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-${Size.Small} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-${Size.Medium} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-${Size.Large} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n`;\n\n// Add component-specific types\ninterface HorizontalTabProps extends React.HTMLAttributes<HTMLDivElement>{\n size: Size;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\nexport interface HorizontalTab extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'tabIndex' | 'onMouseDown' | 'onClick' | 'style'> {\n value: string;\n selected: boolean;\n to: string;\n}\n\nconst HorizontalTabs = ({ size, tabs, sideFill, fullWidth, onTabChange, ...rest }: HorizontalTabProps) => {\n /**\n * Informs parent component of tab change and clears focus.\n * @param to - A link to which user should be navigated.\n */\n const doTabChange = (to: string): void => {\n // Let's inform parent component\n onTabChange(to);\n\n // Let's clear focus\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement!.blur();\n }\n };\n\n const [focused, setFocused ] = React.useState<boolean>(false);\n const [currentTab, setCurrentTab] = React.useState<string>();\n\n React.useEffect(() => {\n const selectedTab = tabs.find(x => x.selected && !x.disabled);\n if(selectedTab)\n setCurrentTab(selectedTab.to);\n }, [tabs]);\n\n const tabListBlur = () => setFocused(false);\n\n const tabListFocus = (e: React.FocusEvent<HTMLDivElement, Element>) => setFocused(true);\n\n const changeTabInternal = (tab: HorizontalTab) => {\n tab.selected = true;\n tabs.forEach(x => {\n if(x.to != tab.to)\n x.selected = false;\n });\n setCurrentTab(tab.to);\n onTabChange(tab.to);\n }\n\n const tabListKeyDown = (e:React.KeyboardEvent) => {\n if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {\n e.preventDefault();\n if(e.key === 'ArrowRight')\n {\n tabs.forEach((x, i) => {\n if(x.to != currentTab)\n return;\n\n for(let j = 1; j < tabs.length - 1; j++)\n {\n let nextIndex = j + i;\n if(nextIndex > tabs.length - 1)\n nextIndex = nextIndex - tabs.length;\n if(tabs[nextIndex].disabled)\n continue;\n changeTabInternal(tabs[nextIndex]);\n break;\n }\n });\n }\n\n if(e.key === 'ArrowLeft')\n {\n tabs.forEach((x, i) => {\n if(x.to != currentTab)\n return;\n\n for(let j = 1; j < tabs.length - 1; j++)\n {\n let nextIndex = i - j;\n if(nextIndex < 0)\n nextIndex = nextIndex + tabs.length;\n if(tabs[nextIndex].disabled)\n continue;\n changeTabInternal(tabs[nextIndex]);\n break;\n }\n });\n }\n }\n };\n\n return (\n <HorizontalTabContainer tabIndex={0} onBlur={tabListBlur} onFocus={tabListFocus} onKeyDown={tabListKeyDown} role=\"tablist\" data-testid={'horizontal-tabs-container'} {...rest}>\n <TabSideFill tabIndex={-1} className={`${sideFill ? 'fill' : ''}`} />\n {tabs.map((tab: HorizontalTab, index: number) => {\n const { value, selected, to, disabled, className, ...rest } = tab;\n return (\n <TabButton\n role=\"tab\"\n data-testid={`tab_${value}`}\n key={`${tab}_${index}`}\n aria-selected={selected}\n aria-expanded={selected}\n tabIndex={-1}\n onMouseDown={defaultOnMouseDownHandler}\n style={fullWidth ? {width: `${100 / tabs.length}%`} : {}}\n className={`${className || ''} size-${size}`}\n onClick={() => !disabled && doTabChange(to)}\n {...rest}>\n <div\n className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}>{tab.value}</div>\n </TabButton>\n );\n })}\n </HorizontalTabContainer>\n );\n};\n\nexport default HorizontalTabs;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HorizontalTabs.js","names":["React","Size","COLORS","ComponentTextStyle","focusStyles","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","Z_INDEXES","defaultOnMouseDownHandler","HorizontalTabContainer","div","TabSideFill","neutral_100","white","TabButton","button","neutral_800","hover","primary_20","primary_700","active","primary_500","primary_100","primary_800","focus_25","focus","neutral_300","XSmall","Regular","Small","Medium","Large","HorizontalTabs","size","tabs","sideFill","fullWidth","onTabChange","rest","doTabChange","to","document","activeElement","HTMLElement","blur","useState","focused","setFocused","currentTab","setCurrentTab","useEffect","selectedTab","find","x","selected","disabled","tabListBlur","tabListFocus","e","changeTabInternal","tab","forEach","tabListKeyDown","key","preventDefault","i","j","length","nextIndex","map","index","value","className","width"],"sources":["../../src/Tabs/HorizontalTabs.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport { COLORS, ComponentTextStyle, focusStyles } from '../styles';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling } from '../styles/typography';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport { defaultOnMouseDownHandler } from '../common';\n\n// Add custom styles\nconst HorizontalTabContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n\n &:focus{\n ${focusStyles};\n }\n \n`;\n\nconst TabSideFill = styled.div`\n position: absolute;\n border-bottom: 1px solid ${COLORS.neutral_100};\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ${COLORS.white};\n }\n`;\n\nconst TabButton = styled.button`\n color: ${COLORS.neutral_800};\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n div {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n\n &[aria-selected=\"true\"] {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n &[aria-selected=\"true\"] {\n z-index: ${Z_INDEXES.active};\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n\n &.selected {\n background-color: ${COLORS.white};\n border-top: 2px solid ${COLORS.primary_500};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n\n &:active {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n box-shadow: none !important;\n\n &:hover {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.size-${Size.XSmall} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-${Size.Small} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-${Size.Medium} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-${Size.Large} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n`;\n\n// Add component-specific types\ninterface HorizontalTabProps extends React.HTMLAttributes<HTMLDivElement>{\n size: Size;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\nexport interface HorizontalTab extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'tabIndex' | 'onMouseDown' | 'onClick' | 'style'> {\n value: string;\n selected: boolean;\n to: string;\n}\n\nconst HorizontalTabs = ({ size, tabs, sideFill, fullWidth, onTabChange, ...rest }: HorizontalTabProps) => {\n /**\n * Informs parent component of tab change and clears focus.\n * @param to - A link to which user should be navigated.\n */\n const doTabChange = (to: string): void => {\n // Let's inform parent component\n onTabChange(to);\n\n // Let's clear focus\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement!.blur();\n }\n };\n\n const [focused, setFocused ] = React.useState<boolean>(false);\n const [currentTab, setCurrentTab] = React.useState<string>();\n\n React.useEffect(() => {\n const selectedTab = tabs.find(x => x.selected && !x.disabled);\n if(selectedTab)\n setCurrentTab(selectedTab.to);\n }, [tabs]);\n\n const tabListBlur = () => setFocused(false);\n\n const tabListFocus = (e: React.FocusEvent<HTMLDivElement, Element>) => setFocused(true);\n\n const changeTabInternal = (tab: HorizontalTab) => {\n tab.selected = true;\n tabs.forEach(x => {\n if(x.to != tab.to)\n x.selected = false;\n });\n setCurrentTab(tab.to);\n onTabChange(tab.to);\n }\n\n const tabListKeyDown = (e:React.KeyboardEvent) => {\n if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {\n e.preventDefault();\n if(e.key === 'ArrowRight')\n {\n tabs.forEach((x, i) => {\n if(x.to != currentTab)\n return;\n\n for(let j = 1; j < tabs.length - 1; j++)\n {\n let nextIndex = j + i;\n if(nextIndex > tabs.length - 1)\n nextIndex = nextIndex - tabs.length;\n if(tabs[nextIndex].disabled)\n continue;\n changeTabInternal(tabs[nextIndex]);\n break;\n }\n });\n }\n\n if(e.key === 'ArrowLeft')\n {\n tabs.forEach((x, i) => {\n if(x.to != currentTab)\n return;\n\n for(let j = 1; j < tabs.length - 1; j++)\n {\n let nextIndex = i - j;\n if(nextIndex < 0)\n nextIndex = nextIndex + tabs.length;\n if(tabs[nextIndex].disabled)\n continue;\n changeTabInternal(tabs[nextIndex]);\n break;\n }\n });\n }\n }\n };\n\n return (\n <HorizontalTabContainer tabIndex={0} onBlur={tabListBlur} onFocus={tabListFocus} onKeyDown={tabListKeyDown} role=\"tablist\" data-testid={'horizontal-tabs-container'} {...rest}>\n <TabSideFill tabIndex={-1} className={`${sideFill ? 'fill' : ''}`} />\n {tabs.map((tab: HorizontalTab, index: number) => {\n const { value, selected, to, disabled, className, ...rest } = tab;\n return (\n <TabButton\n role=\"tab\"\n data-testid={`tab_${value}`}\n key={`${tab}_${index}`}\n aria-selected={selected}\n aria-expanded={selected}\n tabIndex={-1}\n onMouseDown={defaultOnMouseDownHandler}\n style={fullWidth ? {width: `${100 / tabs.length}%`} : {}}\n className={`${className || ''} size-${size}`}\n onClick={() => !disabled && changeTabInternal(tab)}\n {...rest}>\n <div\n className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}>{tab.value}</div>\n </TabButton>\n );\n })}\n </HorizontalTabContainer>\n );\n};\n\nexport default HorizontalTabs;\n"],"mappings":"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"}
|