@laerdal/life-react-components 6.0.0-dev.2.full → 6.0.0-dev.21.full.full
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/ContentAccordion.cjs +40 -11
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.js +40 -11
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
- package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
- package/dist/Accordion/styles.cjs +51 -13
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.js +51 -13
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
- package/dist/Banners/Banner.cjs +38 -34
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.d.ts +2 -3
- package/dist/Banners/Banner.js +38 -34
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/__tests__/Banner.test.tsx +47 -0
- package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
- package/dist/Banners/styles.cjs +8 -16
- package/dist/Banners/styles.cjs.map +1 -1
- package/dist/Banners/styles.js +8 -16
- package/dist/Banners/styles.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +8 -2
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
- package/dist/Breadcrumb/styles.cjs +15 -4
- package/dist/Breadcrumb/styles.cjs.map +1 -1
- package/dist/Breadcrumb/styles.js +15 -4
- package/dist/Breadcrumb/styles.js.map +1 -1
- package/dist/Button/BackButton.cjs +27 -6
- package/dist/Button/BackButton.cjs.map +1 -1
- package/dist/Button/BackButton.js +27 -6
- package/dist/Button/BackButton.js.map +1 -1
- package/dist/Button/Button.cjs +179 -47
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.d.ts +2 -0
- package/dist/Button/Button.js +179 -47
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +83 -21
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.js +83 -21
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Button/__tests__/BackButton.test.tsx +32 -0
- package/dist/Button/__tests__/Button.test.tsx +45 -0
- package/dist/Button/__tests__/DualButton.test.tsx +119 -0
- package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
- package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
- package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
- package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
- package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
- package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
- package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
- package/dist/Card/VerticalCard/Card.cjs +67 -16
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.d.ts +1 -0
- package/dist/Card/VerticalCard/Card.js +67 -16
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.cjs +34 -7
- package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.js +34 -7
- package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.cjs +27 -8
- package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.d.ts +5 -0
- package/dist/Card/VerticalCard/CardMiddleSection.js +27 -8
- package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.cjs +12 -3
- package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.js +12 -3
- package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
- package/dist/Card/__tests__/Card.test.tsx +146 -0
- package/dist/Chips/ChipStyles.cjs +4 -1
- package/dist/Chips/ChipStyles.cjs.map +1 -1
- package/dist/Chips/ChipStyles.js +4 -1
- package/dist/Chips/ChipStyles.js.map +1 -1
- package/dist/Chips/FilterChip.cjs +1 -0
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.js +1 -0
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
- package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
- package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
- package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
- package/dist/ChipsInput/ChipInputField.cjs +16 -4
- package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputField.js +16 -4
- package/dist/ChipsInput/ChipInputField.js.map +1 -1
- package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
- package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
- package/dist/Dropdown/BasicDropdown.cjs +12 -3
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +12 -3
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +172 -42
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.js +172 -42
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +36 -10
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +36 -10
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +12 -3
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +12 -3
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
- package/dist/Footer/__tests__/Footer.test.tsx +182 -0
- package/dist/GlobalNavigationBar/Logo.cjs +2 -1
- package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
- package/dist/GlobalNavigationBar/Logo.js +2 -1
- package/dist/GlobalNavigationBar/Logo.js.map +1 -1
- package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +3 -2
- package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.js +3 -2
- package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
- package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
- package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
- package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
- package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
- package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
- package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
- package/dist/HyperLink/HyperLink.cjs +18 -2
- package/dist/HyperLink/HyperLink.cjs.map +1 -1
- package/dist/HyperLink/HyperLink.d.ts +2 -0
- package/dist/HyperLink/HyperLink.js +18 -2
- package/dist/HyperLink/HyperLink.js.map +1 -1
- package/dist/HyperLink/styling.cjs +38 -8
- package/dist/HyperLink/styling.cjs.map +1 -1
- package/dist/HyperLink/styling.js +38 -8
- package/dist/HyperLink/styling.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +54 -14
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.js +54 -14
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +149 -43
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +1 -1
- package/dist/InputFields/DatepickerField.js +150 -44
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
- package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.js +20 -5
- package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
- package/dist/InputFields/Label.cjs +38 -11
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.js +38 -11
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +66 -16
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +66 -16
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs +4 -1
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.d.ts +1 -1
- package/dist/InputFields/PasswordField.js +4 -1
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +30 -6
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +30 -6
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs +63 -15
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.js +63 -15
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/RichTextField.cjs +60 -15
- package/dist/InputFields/RichTextField.cjs.map +1 -1
- package/dist/InputFields/RichTextField.js +60 -15
- package/dist/InputFields/RichTextField.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +4 -1
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.js +4 -1
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs +9 -3
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +1 -1
- package/dist/InputFields/TextField.js +9 -3
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +68 -17
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.js +68 -17
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
- package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
- package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
- package/dist/InputFields/components/SearchBarInput.cjs +28 -7
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
- package/dist/InputFields/components/SearchBarInput.js +28 -7
- package/dist/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/InputFields/components/SearchField.cjs +60 -15
- package/dist/InputFields/components/SearchField.cjs.map +1 -1
- package/dist/InputFields/components/SearchField.js +60 -15
- package/dist/InputFields/components/SearchField.js.map +1 -1
- package/dist/InputFields/styling.cjs +95 -39
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.d.ts +1 -2
- package/dist/InputFields/styling.js +95 -39
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/LinearProgress/LinearProgress.cjs +161 -53
- package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
- package/dist/LinearProgress/LinearProgress.js +161 -53
- package/dist/LinearProgress/LinearProgress.js.map +1 -1
- package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
- package/dist/List/ListRow.cjs +36 -9
- package/dist/List/ListRow.cjs.map +1 -1
- package/dist/List/ListRow.js +36 -9
- package/dist/List/ListRow.js.map +1 -1
- package/dist/List/__tests__/ListRow.test.tsx +18 -0
- package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
- package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
- package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
- package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
- package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
- package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
- package/dist/MenuItem/MenuItem.cjs +101 -26
- package/dist/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/MenuItem/MenuItem.js +101 -26
- package/dist/MenuItem/MenuItem.js.map +1 -1
- package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
- package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
- package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
- package/dist/MiniProductCard/MiniProductCard.js +15 -1
- package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
- package/dist/Modals/Modal.cjs +4 -1
- package/dist/Modals/Modal.cjs.map +1 -1
- package/dist/Modals/Modal.js +4 -1
- package/dist/Modals/Modal.js.map +1 -1
- package/dist/Modals/ModalContent.cjs +24 -6
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.js +24 -6
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +12 -3
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.js +12 -3
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/Modals/ModalNote.cjs +16 -4
- package/dist/Modals/ModalNote.cjs.map +1 -1
- package/dist/Modals/ModalNote.js +16 -4
- package/dist/Modals/ModalNote.js.map +1 -1
- package/dist/Modals/ModalStyles.cjs +44 -11
- package/dist/Modals/ModalStyles.cjs.map +1 -1
- package/dist/Modals/ModalStyles.js +44 -11
- package/dist/Modals/ModalStyles.js.map +1 -1
- package/dist/Modals/__tests__/Modal.test.tsx +169 -0
- package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
- package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
- package/dist/NavItem/NavItem.cjs +11 -2
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.js +11 -2
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
- package/dist/NotificationDot/NotificationDot.cjs +17 -2
- package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
- package/dist/NotificationDot/NotificationDot.js +17 -2
- package/dist/NotificationDot/NotificationDot.js.map +1 -1
- package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
- package/dist/Paginator/Paginator.cjs +86 -35
- package/dist/Paginator/Paginator.cjs.map +1 -1
- package/dist/Paginator/Paginator.d.ts +1 -5
- package/dist/Paginator/Paginator.js +86 -35
- package/dist/Paginator/Paginator.js.map +1 -1
- package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
- package/dist/Panel/Panel.cjs +4 -1
- package/dist/Panel/Panel.cjs.map +1 -1
- package/dist/Panel/Panel.js +4 -1
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Popover/Popover.cjs +22 -3
- package/dist/Popover/Popover.cjs.map +1 -1
- package/dist/Popover/Popover.js +22 -3
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Popover/__tests__/Popover.test.tsx +64 -0
- package/dist/ProfileButton/ProfileButton.cjs +9 -2
- package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
- package/dist/ProfileButton/ProfileButton.js +9 -2
- package/dist/ProfileButton/ProfileButton.js.map +1 -1
- package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
- package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
- package/dist/SegmentControl/SegmentControl.cjs +46 -11
- package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
- package/dist/SegmentControl/SegmentControl.js +46 -11
- package/dist/SegmentControl/SegmentControl.js.map +1 -1
- package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
- package/dist/SideMenu/SideMenuHeader.cjs +12 -3
- package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
- package/dist/SideMenu/SideMenuHeader.js +12 -3
- package/dist/SideMenu/SideMenuHeader.js.map +1 -1
- package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
- package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
- package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.js +4 -1
- package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
- package/dist/Table/TableFooter.cjs +8 -2
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.js +8 -2
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/Table/TableStyles.cjs +132 -33
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.js +132 -33
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Table/__tests__/Table.test.tsx +499 -0
- package/dist/Tabs/HorizontalTabs.cjs +68 -18
- package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
- package/dist/Tabs/HorizontalTabs.js +68 -18
- package/dist/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/Tabs/TabLink.cjs +4 -1
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.js +4 -1
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/VerticalTabs.cjs +1 -0
- package/dist/Tabs/VerticalTabs.cjs.map +1 -1
- package/dist/Tabs/VerticalTabs.js +1 -0
- package/dist/Tabs/VerticalTabs.js.map +1 -1
- package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
- package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
- package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
- package/dist/Tag/Tag.cjs +2 -2
- package/dist/Tag/Tag.cjs.map +1 -1
- package/dist/Tag/Tag.js +2 -2
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tag/__tests__/Tag.test.tsx +86 -0
- package/dist/Tile/Tile.cjs +8 -2
- package/dist/Tile/Tile.cjs.map +1 -1
- package/dist/Tile/Tile.js +8 -2
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/TileCommonItems.cjs +8 -2
- package/dist/Tile/TileCommonItems.cjs.map +1 -1
- package/dist/Tile/TileCommonItems.js +8 -2
- package/dist/Tile/TileCommonItems.js.map +1 -1
- package/dist/Tile/TileFooter.cjs +4 -1
- package/dist/Tile/TileFooter.cjs.map +1 -1
- package/dist/Tile/TileFooter.js +4 -1
- package/dist/Tile/TileFooter.js.map +1 -1
- package/dist/Tile/TileHeader.cjs +12 -3
- package/dist/Tile/TileHeader.cjs.map +1 -1
- package/dist/Tile/TileHeader.js +12 -3
- package/dist/Tile/TileHeader.js.map +1 -1
- package/dist/Toasters/Toast.cjs +62 -13
- package/dist/Toasters/Toast.cjs.map +1 -1
- package/dist/Toasters/Toast.js +62 -13
- package/dist/Toasters/Toast.js.map +1 -1
- package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
- package/dist/Toggles/ToggleButton.cjs +9 -3
- package/dist/Toggles/ToggleButton.cjs.map +1 -1
- package/dist/Toggles/ToggleButton.d.ts +1 -1
- package/dist/Toggles/ToggleButton.js +9 -3
- package/dist/Toggles/ToggleButton.js.map +1 -1
- package/dist/Toggles/TogglerStyles.cjs +22 -8
- package/dist/Toggles/TogglerStyles.cjs.map +1 -1
- package/dist/Toggles/TogglerStyles.js +22 -8
- package/dist/Toggles/TogglerStyles.js.map +1 -1
- package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
- package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
- package/dist/Tooltips/TooltipStyles.cjs +28 -6
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.js +28 -6
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
- package/dist/common/InputStyling.cjs +30 -7
- package/dist/common/InputStyling.cjs.map +1 -1
- package/dist/common/InputStyling.js +30 -7
- package/dist/common/InputStyling.js.map +1 -1
- package/dist/custom.d.ts +2 -0
- package/dist/styles/colors.cjs +439 -84
- package/dist/styles/colors.cjs.map +1 -1
- package/dist/styles/colors.d.ts +200 -11
- package/dist/styles/colors.js +439 -84
- package/dist/styles/colors.js.map +1 -1
- package/dist/styles/global.cjs +19 -2
- package/dist/styles/global.cjs.map +1 -1
- package/dist/styles/global.d.ts +3 -2
- package/dist/styles/global.js +18 -3
- package/dist/styles/global.js.map +1 -1
- package/dist/styles/index.cjs +21 -9
- package/dist/styles/index.cjs.map +1 -1
- package/dist/styles/index.d.ts +2 -2
- package/dist/styles/index.js +18 -6
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/react-datepicker.css +766 -0
- package/dist/test-utils.cjs +7 -1
- package/dist/test-utils.cjs.map +1 -1
- package/dist/test-utils.js +7 -1
- package/dist/test-utils.js.map +1 -1
- package/dist/utils/color-tokens.cjs +91 -0
- package/dist/utils/color-tokens.cjs.map +1 -0
- package/dist/utils/color-tokens.d.ts +19 -0
- package/dist/utils/color-tokens.js +82 -0
- package/dist/utils/color-tokens.js.map +1 -0
- package/package.json +12 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipInputField.js","names":["React","Size","States","InputChip","ErrorMessage","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","scrollBarStyling","styled","useTheme","LoadingIndicator","useFocusVisibleRef","IconButton","SystemIcons","jsx","_jsx","jsxs","_jsxs","Wrapper","div","Loading","ChipInputBoundItems","ChipInputContentContainer","Small","ChipInputEl","input","Regular","props","getColor","theme","Italic","ChipInputContainer","ChipInputField","forwardRef","_ref","ref","inputId","items","disabled","placeholder","altPlaceholder","multiLine","size","Medium","validationMessage","loading","onRemoveItem","onInputValueChange","onInputKeyDown","onActivationChange","inputValue","required","onBlur","rest","_objectWithoutProperties","_excluded","containerRef","useRef","inputRef","useImperativeHandle","current","useEffect","document","activeElement","scrollIntoView","block","inline","handleInputKeyDown","e","key","value","repeat","length","handleItemRemove","event","item","index","focus","focusVisible","detail","handleInputClear","handleContainerKeyDown","querySelectorAll","currentIndex","Array","from","indexOf","target","direction","cls","children","onKeyDown","onClick","className","map","chip","icon","variant","Default","text","label","onRemove","_objectSpread","type","id","tabIndex","onChange","stopPropagation","dataTestId","action","useTransparentBackground","shape","style","marginLeft","focusOnClick","Clear","color","TechnicalWarning","propTypes","_pt","string","isRequired","array","bool","func"],"sources":["../../src/ChipsInput/ChipInputField.tsx"],"sourcesContent":["import React from 'react';\r\nimport {ChipItem} from './ChipInputTypes';\r\nimport {Size, States} from '../types';\r\nimport {InputChip} from '../Chips';\r\nimport {ErrorMessage} from '../InputFields';\r\nimport {\r\n COLORS,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n focusStyles,\r\n scrollBarStyling\r\n} from '../styles';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {useFocusVisibleRef} from '../common';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst Loading = styled.div`\r\n height: 20px;\r\n width: 20px;\r\n`;\r\n\r\nexport const ChipInputBoundItems = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 8px;\r\n flex: 1;\r\n min-width: 40px;\r\n`;\r\n\r\nexport const ChipInputContentContainer = styled.div`\r\n width: 100%;\r\n background: transparent;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n column-gap: 8px;\r\n margin-right: 6px;\r\n padding-right: 10px;\r\n padding-left: 16px;\r\n flex-wrap: nowrap;\r\n overflow-x: scroll;\r\n min-height: 48px;\r\n\r\n ${scrollBarStyling(Size.Small)}\r\n ::-webkit-scrollbar:horizontal {\r\n display: none;\r\n }\r\n\r\n .action-right:focus,\r\n button:focus {\r\n outline-offset: -4px !important;\r\n }\r\n`;\r\n\r\nexport const ChipInputEl = styled.input`\r\n border: none;\r\n outline: none;\r\n\r\n height: 40px;\r\n min-width: 40px;\r\n display: inline-flex;\r\n flex: 1;\r\n background: transparent;\r\n\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n color: ${props => COLORS.getColor('black', props.theme)} !important;\r\n\r\n &::placeholder {\r\n ${props => ComponentMStyling(ComponentTextStyle.Italic, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n`;\r\n\r\nexport const ChipInputContainer = styled.div`\r\n width: 100%;\r\n height: auto;\r\n border-radius: 4px;\r\n margin-bottom: 4px;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n box-sizing: border-box;\r\n cursor: text;\r\n outline: none;\r\n display: flex;\r\n align-items: center;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\r\n &.small {\r\n padding: 0;\r\n min-height: 48px;\r\n\r\n ${ChipInputEl}::placeholder {\r\n ${props => ComponentSStyling(ComponentTextStyle.Italic, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n }\r\n\r\n &.medium {\r\n padding: 4px 0;\r\n min-height: 56px;\r\n\r\n ${ChipInputEl}::placeholder {\r\n ${props => ComponentMStyling(ComponentTextStyle.Italic, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n }\r\n\r\n &.multiline.medium {\r\n ${ChipInputContentContainer} {\r\n max-height: calc(48px * 3);\r\n flex-wrap: wrap;\r\n overflow-y: auto;\r\n overflow-x: unset;\r\n }\r\n }\r\n\r\n &.focus-visible-within,\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &:focus-within {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &.invalid,\r\n &.invalid:hover,\r\n &.invalid:focus {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &.disabled {\r\n ${ChipInputContentContainer} {\r\n pointer-events: none;\r\n }\r\n\r\n cursor: not-allowed;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_100', props.theme)};\r\n outline: none;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n }\r\n`;\r\n\r\nexport interface ChipInputFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'id' | 'required' | 'tabIndex' | 'value' | 'onChange' | 'onKeyDown' | 'placeholder' | 'onClick' | 'disabled' | 'size'> {\r\n inputId: string;\r\n items: ChipItem[];\r\n disabled?: boolean;\r\n placeholder?: string;\r\n altPlaceholder?: string;\r\n multiLine?: boolean;\r\n size?: Size.Large | Size.Medium | Size.Small;\r\n loading?: boolean;\r\n required?: boolean;\r\n\r\n validationMessage?: string;\r\n\r\n onRemoveItem: (item: ChipItem, index: number) => void;\r\n inputValue: string;\r\n onInputValueChange: (value: string) => void;\r\n onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n onActivationChange?: (active: boolean) => void;\r\n}\r\n\r\nexport const ChipInputField = React.forwardRef<HTMLInputElement, ChipInputFieldProps>(\r\n (\r\n {\r\n inputId,\r\n items,\r\n disabled = false,\r\n placeholder,\r\n altPlaceholder,\r\n multiLine = true,\r\n size = Size.Medium,\r\n validationMessage,\r\n loading,\r\n onRemoveItem,\r\n onInputValueChange,\r\n onInputKeyDown,\r\n onActivationChange,\r\n inputValue,\r\n required,\r\n onBlur,\r\n ...rest\r\n },\r\n ref,\r\n ) => {\r\n const theme = useTheme();\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n const inputRef = useFocusVisibleRef([containerRef]);\r\n \r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef])\r\n\r\n /**\r\n * Scroll container to last item on change\r\n * */\r\n React.useEffect(() => {\r\n if (inputRef.current && document.activeElement === inputRef.current) {\r\n inputRef.current.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }\r\n }, [containerRef, inputRef, items]);\r\n\r\n /**\r\n * Remove last cheap on backspace\r\n * */\r\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Backspace' && !inputRef.current?.value && !e.repeat && items.length > 0) {\r\n onRemoveItem(items[items.length - 1], items.length - 1);\r\n } else {\r\n onInputKeyDown(e);\r\n }\r\n };\r\n\r\n const handleItemRemove = (event: any, item: ChipItem, index: number) => {\r\n onRemoveItem(item, index);\r\n inputRef.current?.focus({focusVisible: event.detail !== 1} as any);\r\n };\r\n\r\n const handleInputClear = (e: any) => {\r\n onInputValueChange('');\r\n inputRef.current?.focus({focusVisible: e?.detail !== 1} as any);\r\n };\r\n\r\n const handleContainerKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (!containerRef.current || (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight')) return;\r\n\r\n const items = containerRef.current.querySelectorAll('[tabindex=\"0\"]') as NodeListOf<HTMLElement>;\r\n const currentIndex = Array.from(items).indexOf(e.target as any);\r\n const direction = e.key === 'ArrowLeft' ? -1 : 1;\r\n const item = items[currentIndex + direction];\r\n item?.focus({focusVisible: true} as any);\r\n\r\n onActivationChange && onActivationChange(false);\r\n };\r\n\r\n const cls = `${multiLine ? 'multiline' : ''} ${validationMessage ? 'invalid' : ''} ${size} ${loading ? 'loading' : ''} ${disabled ? 'disabled' : ''}`;\r\n\r\n return (\r\n <Wrapper onBlur={onBlur}>\r\n <ChipInputContainer\r\n data-testid=\"chip-input-container\"\r\n ref={containerRef}\r\n onKeyDown={handleContainerKeyDown}\r\n onClick={() => !disabled && inputRef.current?.focus()}\r\n className={cls}>\r\n <ChipInputContentContainer>\r\n {items?.map((chip: ChipItem, index: number) => (\r\n <InputChip\r\n key={`chip_${index}`}\r\n icon={chip?.icon}\r\n size={size}\r\n disabled={chip.disabled || disabled}\r\n variant={chip.variant || States.Default}\r\n text={chip.label}\r\n onRemove={(e) => handleItemRemove(e, chip, index)}\r\n />\r\n ))}\r\n <ChipInputBoundItems>\r\n <ChipInputEl\r\n ref={inputRef}\r\n type=\"text\"\r\n id={inputId}\r\n required={required}\r\n tabIndex={disabled ? -1 : 0}\r\n value={inputValue}\r\n onChange={(e) => onInputValueChange(e.target.value)}\r\n onKeyDown={handleInputKeyDown}\r\n placeholder={items?.length === 0 ? placeholder : altPlaceholder || ''}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n onActivationChange && onActivationChange(true);\r\n }}\r\n {...rest}\r\n />\r\n {inputValue && !disabled && (\r\n <IconButton\r\n id={`clear-btn-${inputId}`}\r\n dataTestId={`clear-btn-${inputId}`}\r\n action={handleInputClear}\r\n ref={(ref) => {\r\n ref?.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }}\r\n useTransparentBackground={true}\r\n shape={'circular'}\r\n style={{marginLeft: '-8px'}}\r\n focusOnClick={true}\r\n variant={'secondary'}>\r\n <SystemIcons.Clear/>\r\n </IconButton>\r\n )}\r\n\r\n {loading && (\r\n <Loading className={size}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)}/>\r\n </Loading>\r\n )}\r\n </ChipInputBoundItems>\r\n </ChipInputContentContainer>\r\n </ChipInputContainer>\r\n {validationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\r\n <span>{validationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n </Wrapper>\r\n );\r\n },\r\n);\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ChipInputField.js","names":["React","Size","States","InputChip","ErrorMessage","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","scrollBarStyling","styled","useTheme","LoadingIndicator","useFocusVisibleRef","IconButton","SystemIcons","jsx","_jsx","jsxs","_jsxs","Wrapper","div","Loading","ChipInputBoundItems","ChipInputContentContainer","Small","ChipInputEl","input","Regular","props","getColor","theme","Italic","generateToken","componentType","defaultVariant","ChipInputContainer","ChipInputField","forwardRef","_ref","ref","inputId","items","disabled","placeholder","altPlaceholder","multiLine","size","Medium","validationMessage","loading","onRemoveItem","onInputValueChange","onInputKeyDown","onActivationChange","inputValue","required","onBlur","rest","_objectWithoutProperties","_excluded","containerRef","useRef","inputRef","useImperativeHandle","current","useEffect","document","activeElement","scrollIntoView","block","inline","handleInputKeyDown","e","key","value","repeat","length","handleItemRemove","event","item","index","focus","focusVisible","detail","handleInputClear","handleContainerKeyDown","querySelectorAll","currentIndex","Array","from","indexOf","target","direction","cls","children","onKeyDown","onClick","className","map","chip","icon","variant","Default","text","label","onRemove","_objectSpread","type","id","tabIndex","onChange","stopPropagation","dataTestId","action","useTransparentBackground","shape","style","marginLeft","focusOnClick","Clear","color","TechnicalWarning","propTypes","_pt","string","isRequired","array","bool","func"],"sources":["../../src/ChipsInput/ChipInputField.tsx"],"sourcesContent":["import React from 'react';\r\nimport {ChipItem} from './ChipInputTypes';\r\nimport {Size, States} from '../types';\r\nimport {InputChip} from '../Chips';\r\nimport {ErrorMessage} from '../InputFields';\r\nimport {\r\n COLORS,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n focusStyles,\r\n scrollBarStyling\r\n} from '../styles';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {useFocusVisibleRef} from '../common';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst Loading = styled.div`\r\n height: 20px;\r\n width: 20px;\r\n`;\r\n\r\nexport const ChipInputBoundItems = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 8px;\r\n flex: 1;\r\n min-width: 40px;\r\n`;\r\n\r\nexport const ChipInputContentContainer = styled.div`\r\n width: 100%;\r\n background: transparent;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n column-gap: 8px;\r\n margin-right: 6px;\r\n padding-right: 10px;\r\n padding-left: 16px;\r\n flex-wrap: nowrap;\r\n overflow-x: scroll;\r\n min-height: 48px;\r\n\r\n ${scrollBarStyling(Size.Small)}\r\n ::-webkit-scrollbar:horizontal {\r\n display: none;\r\n }\r\n\r\n .action-right:focus,\r\n button:focus {\r\n outline-offset: -4px !important;\r\n }\r\n`;\r\n\r\nexport const ChipInputEl = styled.input`\r\n border: none;\r\n outline: none;\r\n\r\n height: 40px;\r\n min-width: 40px;\r\n display: inline-flex;\r\n flex: 1;\r\n background: transparent;\r\n\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n color: ${props => COLORS.getColor('black', props.theme)} !important;\r\n\r\n &::placeholder {\r\n ${props => ComponentMStyling(ComponentTextStyle.Italic, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n`;\r\n\r\nexport const ChipInputContainer = styled.div`\r\n width: 100%;\r\n height: auto;\r\n border-radius: 4px;\r\n margin-bottom: 4px;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n box-sizing: border-box;\r\n cursor: text;\r\n outline: none;\r\n display: flex;\r\n align-items: center;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\r\n &.small {\r\n padding: 0;\r\n min-height: 48px;\r\n\r\n ${ChipInputEl}::placeholder {\r\n ${props => ComponentSStyling(ComponentTextStyle.Italic, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n }\r\n\r\n &.medium {\r\n padding: 4px 0;\r\n min-height: 56px;\r\n\r\n ${ChipInputEl}::placeholder {\r\n ${props => ComponentMStyling(ComponentTextStyle.Italic, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n }\r\n\r\n &.multiline.medium {\r\n ${ChipInputContentContainer} {\r\n max-height: calc(48px * 3);\r\n flex-wrap: wrap;\r\n overflow-y: auto;\r\n overflow-x: unset;\r\n }\r\n }\r\n\r\n &.focus-visible-within,\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &:focus-within {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &.invalid,\r\n &.invalid:hover,\r\n &.invalid:focus {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &.disabled {\r\n ${ChipInputContentContainer} {\r\n pointer-events: none;\r\n }\r\n\r\n cursor: not-allowed;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_100', props.theme)};\r\n outline: none;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n }\r\n`;\r\n\r\nexport interface ChipInputFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'id' | 'required' | 'tabIndex' | 'value' | 'onChange' | 'onKeyDown' | 'placeholder' | 'onClick' | 'disabled' | 'size'> {\r\n inputId: string;\r\n items: ChipItem[];\r\n disabled?: boolean;\r\n placeholder?: string;\r\n altPlaceholder?: string;\r\n multiLine?: boolean;\r\n size?: Size.Large | Size.Medium | Size.Small;\r\n loading?: boolean;\r\n required?: boolean;\r\n\r\n validationMessage?: string;\r\n\r\n onRemoveItem: (item: ChipItem, index: number) => void;\r\n inputValue: string;\r\n onInputValueChange: (value: string) => void;\r\n onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n onActivationChange?: (active: boolean) => void;\r\n}\r\n\r\nexport const ChipInputField = React.forwardRef<HTMLInputElement, ChipInputFieldProps>(\r\n (\r\n {\r\n inputId,\r\n items,\r\n disabled = false,\r\n placeholder,\r\n altPlaceholder,\r\n multiLine = true,\r\n size = Size.Medium,\r\n validationMessage,\r\n loading,\r\n onRemoveItem,\r\n onInputValueChange,\r\n onInputKeyDown,\r\n onActivationChange,\r\n inputValue,\r\n required,\r\n onBlur,\r\n ...rest\r\n },\r\n ref,\r\n ) => {\r\n const theme = useTheme();\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n const inputRef = useFocusVisibleRef([containerRef]);\r\n \r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef])\r\n\r\n /**\r\n * Scroll container to last item on change\r\n * */\r\n React.useEffect(() => {\r\n if (inputRef.current && document.activeElement === inputRef.current) {\r\n inputRef.current.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }\r\n }, [containerRef, inputRef, items]);\r\n\r\n /**\r\n * Remove last cheap on backspace\r\n * */\r\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Backspace' && !inputRef.current?.value && !e.repeat && items.length > 0) {\r\n onRemoveItem(items[items.length - 1], items.length - 1);\r\n } else {\r\n onInputKeyDown(e);\r\n }\r\n };\r\n\r\n const handleItemRemove = (event: any, item: ChipItem, index: number) => {\r\n onRemoveItem(item, index);\r\n inputRef.current?.focus({focusVisible: event.detail !== 1} as any);\r\n };\r\n\r\n const handleInputClear = (e: any) => {\r\n onInputValueChange('');\r\n inputRef.current?.focus({focusVisible: e?.detail !== 1} as any);\r\n };\r\n\r\n const handleContainerKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (!containerRef.current || (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight')) return;\r\n\r\n const items = containerRef.current.querySelectorAll('[tabindex=\"0\"]') as NodeListOf<HTMLElement>;\r\n const currentIndex = Array.from(items).indexOf(e.target as any);\r\n const direction = e.key === 'ArrowLeft' ? -1 : 1;\r\n const item = items[currentIndex + direction];\r\n item?.focus({focusVisible: true} as any);\r\n\r\n onActivationChange && onActivationChange(false);\r\n };\r\n\r\n const cls = `${multiLine ? 'multiline' : ''} ${validationMessage ? 'invalid' : ''} ${size} ${loading ? 'loading' : ''} ${disabled ? 'disabled' : ''}`;\r\n\r\n return (\r\n <Wrapper onBlur={onBlur}>\r\n <ChipInputContainer\r\n data-testid=\"chip-input-container\"\r\n ref={containerRef}\r\n onKeyDown={handleContainerKeyDown}\r\n onClick={() => !disabled && inputRef.current?.focus()}\r\n className={cls}>\r\n <ChipInputContentContainer>\r\n {items?.map((chip: ChipItem, index: number) => (\r\n <InputChip\r\n key={`chip_${index}`}\r\n icon={chip?.icon}\r\n size={size}\r\n disabled={chip.disabled || disabled}\r\n variant={chip.variant || States.Default}\r\n text={chip.label}\r\n onRemove={(e) => handleItemRemove(e, chip, index)}\r\n />\r\n ))}\r\n <ChipInputBoundItems>\r\n <ChipInputEl\r\n ref={inputRef}\r\n type=\"text\"\r\n id={inputId}\r\n required={required}\r\n tabIndex={disabled ? -1 : 0}\r\n value={inputValue}\r\n onChange={(e) => onInputValueChange(e.target.value)}\r\n onKeyDown={handleInputKeyDown}\r\n placeholder={items?.length === 0 ? placeholder : altPlaceholder || ''}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n onActivationChange && onActivationChange(true);\r\n }}\r\n {...rest}\r\n />\r\n {inputValue && !disabled && (\r\n <IconButton\r\n id={`clear-btn-${inputId}`}\r\n dataTestId={`clear-btn-${inputId}`}\r\n action={handleInputClear}\r\n ref={(ref) => {\r\n ref?.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }}\r\n useTransparentBackground={true}\r\n shape={'circular'}\r\n style={{marginLeft: '-8px'}}\r\n focusOnClick={true}\r\n variant={'secondary'}>\r\n <SystemIcons.Clear/>\r\n </IconButton>\r\n )}\r\n\r\n {loading && (\r\n <Loading className={size}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, theme)}/>\r\n </Loading>\r\n )}\r\n </ChipInputBoundItems>\r\n </ChipInputContentContainer>\r\n </ChipInputContainer>\r\n {validationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\r\n <span>{validationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n </Wrapper>\r\n );\r\n },\r\n);\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {act, fireEvent, render, RenderResult} from '../../test-utils';
|
|
3
|
+
import {ChipDropdownInput} from '../..';
|
|
4
|
+
import '../../../jest.setup';
|
|
5
|
+
|
|
6
|
+
const list = ['Contact', 'About', 'Base', 'Blog', 'Custom', 'Support', 'Tools'];
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
describe('<ChipDropdownInput />', () => {
|
|
11
|
+
it('Renders with no default values and no items available', async () => {
|
|
12
|
+
let componentResult: RenderResult;
|
|
13
|
+
|
|
14
|
+
//initial values are determined by using multiple hooks (useEffect)
|
|
15
|
+
//in order to be sure we get the last rendered version of the component, we need to wait for it
|
|
16
|
+
await act(async () => {
|
|
17
|
+
componentResult = render(
|
|
18
|
+
<ChipDropdownInput inputId="test_chip" list={[]} values={[]} onValueChange={(input) => {
|
|
19
|
+
}} placeholder="Search" altPlaceholder="" messageOnNoResults="No results found"/>,
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
//check correct placeholder displayed
|
|
23
|
+
expect(componentResult!.getByPlaceholderText('Search') as HTMLInputElement).toBeTruthy();
|
|
24
|
+
//check chip input with provided id rendered
|
|
25
|
+
expect(componentResult!.container.querySelector('input[id="test_chip"]')).toBeTruthy();
|
|
26
|
+
//check no initial value displayed
|
|
27
|
+
expect((componentResult!.getByPlaceholderText('Search') as HTMLInputElement).value).toBe('');
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('Renders with default values and items available', async () => {
|
|
31
|
+
let componentResult: RenderResult;
|
|
32
|
+
await act(async () => {
|
|
33
|
+
componentResult = render(
|
|
34
|
+
<ChipDropdownInput
|
|
35
|
+
inputId="test_chip"
|
|
36
|
+
list={list}
|
|
37
|
+
values={['Support']}
|
|
38
|
+
onValueChange={(input) => {
|
|
39
|
+
}}
|
|
40
|
+
placeholder="Search"
|
|
41
|
+
altPlaceholder="Type to search"
|
|
42
|
+
messageOnNoResults="No results found"
|
|
43
|
+
/>,
|
|
44
|
+
);
|
|
45
|
+
});
|
|
46
|
+
//check alt placeholder displayed when list values
|
|
47
|
+
expect(componentResult!.getByPlaceholderText('Type to search') as HTMLInputElement).toBeTruthy();
|
|
48
|
+
//check correct initial value displayed
|
|
49
|
+
expect(componentResult!.getByText('Support')).toBeTruthy();
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it('Renders dropdown on input click', async () => {
|
|
53
|
+
const wrapper = render(
|
|
54
|
+
<ChipDropdownInput
|
|
55
|
+
inputId="test_chip"
|
|
56
|
+
list={list}
|
|
57
|
+
values={['Support']}
|
|
58
|
+
onValueChange={(input) => {
|
|
59
|
+
}}
|
|
60
|
+
placeholder="Search"
|
|
61
|
+
altPlaceholder="Type to search"
|
|
62
|
+
messageOnNoResults="No results found"
|
|
63
|
+
/>,
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
act(() => {
|
|
67
|
+
fireEvent.click(wrapper.getByPlaceholderText('Type to search'));
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
expect(wrapper.container.querySelector('.show')).toBeInTheDocument();
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it('Renders dropdown and items are filtered by search criteria', () => {
|
|
74
|
+
const changeMock = jest.fn();
|
|
75
|
+
|
|
76
|
+
const wrapper = render(
|
|
77
|
+
<ChipDropdownInput
|
|
78
|
+
inputId="test_chip"
|
|
79
|
+
list={list}
|
|
80
|
+
values={[]}
|
|
81
|
+
onValueChange={changeMock}
|
|
82
|
+
placeholder="Search"
|
|
83
|
+
altPlaceholder="Type to search"
|
|
84
|
+
messageOnNoResults="No results found"
|
|
85
|
+
/>,
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
act(() => {
|
|
89
|
+
fireEvent.change(wrapper.getByPlaceholderText('Search'), {target: {value: 'b'}});
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
list.filter((item) => item.toLowerCase().includes('b')).forEach((item) => {
|
|
93
|
+
expect(wrapper.queryByText(item)).toBeInTheDocument();
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
list.filter((item) => !item.toLowerCase().includes('b')).forEach((item) => {
|
|
97
|
+
expect(wrapper.queryByText(item)).not.toBeInTheDocument();
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
});
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { act, fireEvent, render, RenderResult } from '../../test-utils';
|
|
3
|
+
import { ChipInput, Size } from '../..';
|
|
4
|
+
import '../../../jest.setup';
|
|
5
|
+
|
|
6
|
+
const list = ['Contact', 'About', 'Base', 'Blog', 'Custom', 'Support', 'Tools'];
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
describe('<ChipInput />', () => {
|
|
11
|
+
it('Render component correctly', async () => {
|
|
12
|
+
let componentResult: RenderResult;
|
|
13
|
+
|
|
14
|
+
//initial values are determined by using multiple hooks (useEffect)
|
|
15
|
+
//in order to be sure we get the last rendered version of the component, we need to wait for it
|
|
16
|
+
await act(async () => {
|
|
17
|
+
componentResult = render(
|
|
18
|
+
<ChipInput size={Size.Medium} inputId="utest" values={[list[0]]} onValueChange={() => {}} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
|
|
19
|
+
);
|
|
20
|
+
});
|
|
21
|
+
//check element wrapper component rendered
|
|
22
|
+
expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
|
|
23
|
+
//check correct placeholder displayed
|
|
24
|
+
expect(componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement).toBeTruthy();
|
|
25
|
+
//check chip input with provided id rendered
|
|
26
|
+
expect(componentResult!.container.querySelector('input[id="utest"]')).toBeTruthy();
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('Render component with correct size', async () => {
|
|
30
|
+
let componentResult: RenderResult;
|
|
31
|
+
|
|
32
|
+
await act(async () => {
|
|
33
|
+
componentResult = render(
|
|
34
|
+
<ChipInput size={Size.Small} inputId="utest" values={[list[0]]} onValueChange={() => {}} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
|
|
35
|
+
);
|
|
36
|
+
});
|
|
37
|
+
//check element wrapper component rendered
|
|
38
|
+
expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
|
|
39
|
+
|
|
40
|
+
//check element has correct class size present
|
|
41
|
+
expect(componentResult!.getByTestId('chip-input-container')).toHaveClass('small');
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('Test component focused on click', async () => {
|
|
45
|
+
let componentResult: RenderResult;
|
|
46
|
+
|
|
47
|
+
//initial values are determined by using multiple hooks (useEffect)
|
|
48
|
+
//in order to be sure we get the last rendered version of the component, we need to wait for it
|
|
49
|
+
await act(async () => {
|
|
50
|
+
componentResult = render(
|
|
51
|
+
<ChipInput size={Size.Small} inputId="utest" values={[list[0]]} onValueChange={() => {}} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
|
|
52
|
+
);
|
|
53
|
+
});
|
|
54
|
+
//check element wrapper component rendered
|
|
55
|
+
expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
|
|
56
|
+
|
|
57
|
+
//check focus not present
|
|
58
|
+
expect(componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement).not.toHaveFocus();
|
|
59
|
+
|
|
60
|
+
//trigger click for chip input
|
|
61
|
+
fireEvent.click(componentResult!.getByTestId('chip-input-container'));
|
|
62
|
+
|
|
63
|
+
//check focus present
|
|
64
|
+
expect(componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement).toHaveFocus();
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it('Test component callbacks', async () => {
|
|
68
|
+
const onValueChange = jest.fn();
|
|
69
|
+
let componentResult: RenderResult;
|
|
70
|
+
|
|
71
|
+
//initial values are determined by using multiple hooks (useEffect)
|
|
72
|
+
//in order to be sure we get the last rendered version of the component, we need to wait for it
|
|
73
|
+
await act(async () => {
|
|
74
|
+
componentResult = render(
|
|
75
|
+
<ChipInput size={Size.Small} inputId="utest" values={[list[0]]} onValueChange={onValueChange} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
|
|
76
|
+
);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
//mock scrollIntoView otherwise test will fail when selecting an item
|
|
80
|
+
window.HTMLElement.prototype.scrollIntoView = function () {};
|
|
81
|
+
|
|
82
|
+
const inputElem = componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement;
|
|
83
|
+
|
|
84
|
+
//check element wrapper component rendered
|
|
85
|
+
expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
|
|
86
|
+
|
|
87
|
+
//trigger click for chip input
|
|
88
|
+
fireEvent.click(componentResult!.getByTestId('chip-input-container'));
|
|
89
|
+
|
|
90
|
+
//trigger value change
|
|
91
|
+
fireEvent.change(inputElem, { target: { value: list[1] } });
|
|
92
|
+
|
|
93
|
+
//pressing enter will automatically select the found item
|
|
94
|
+
fireEvent.keyDown(inputElem, { key: 'Enter', code: 'Enter', charCode: 13 });
|
|
95
|
+
|
|
96
|
+
expect(onValueChange).toHaveBeenCalledTimes(1);
|
|
97
|
+
|
|
98
|
+
//two items present, default and the new selected one
|
|
99
|
+
expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(2);
|
|
100
|
+
|
|
101
|
+
//pressing on the x button, the item will be removed from selection
|
|
102
|
+
const removeItemElem = componentResult!.getByTestId('chip-input-container').querySelector('div.chip-icon') as HTMLDivElement;
|
|
103
|
+
|
|
104
|
+
fireEvent.click(removeItemElem);
|
|
105
|
+
|
|
106
|
+
//change callback should be called
|
|
107
|
+
expect(onValueChange).toHaveBeenCalledTimes(2);
|
|
108
|
+
//only one item should be present at the moment
|
|
109
|
+
expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(1);
|
|
110
|
+
|
|
111
|
+
//expect that on pressing backspace the added item will be deleted
|
|
112
|
+
fireEvent.keyDown(inputElem, { key: 'Backspace', charCode: 8 });
|
|
113
|
+
|
|
114
|
+
//no item should be present at the moment
|
|
115
|
+
expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(0);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it('Test component chips are removed when clear all button toggled', async () => {
|
|
119
|
+
const onValueChange = jest.fn();
|
|
120
|
+
let componentResult: RenderResult;
|
|
121
|
+
|
|
122
|
+
//initial values are determined by using multiple hooks (useEffect)
|
|
123
|
+
//in order to be sure we get the last rendered version of the component, we need to wait for it
|
|
124
|
+
await act(async () => {
|
|
125
|
+
componentResult = render(
|
|
126
|
+
<ChipInput size={Size.Small} inputId="utest" values={[list[0]]} onValueChange={onValueChange} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
|
|
127
|
+
);
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
//check element wrapper component rendered
|
|
131
|
+
expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
|
|
132
|
+
|
|
133
|
+
//one item present, the default one
|
|
134
|
+
expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(1);
|
|
135
|
+
const input = componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement;
|
|
136
|
+
|
|
137
|
+
const mockInputData = 'mock data';
|
|
138
|
+
//trigger value change
|
|
139
|
+
fireEvent.change(input, { target: { value: mockInputData } });
|
|
140
|
+
|
|
141
|
+
expect(input).toHaveValue(mockInputData);
|
|
142
|
+
|
|
143
|
+
//expect clear button to be displayed
|
|
144
|
+
expect(componentResult!.getByTestId('clear-btn-utest')).toBeTruthy();
|
|
145
|
+
|
|
146
|
+
//press on clear button
|
|
147
|
+
fireEvent.click(componentResult!.getByTestId('clear-btn-utest'));
|
|
148
|
+
|
|
149
|
+
//expect input to have no value
|
|
150
|
+
expect(input).toHaveValue('');
|
|
151
|
+
|
|
152
|
+
//one chip selected
|
|
153
|
+
expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(1);
|
|
154
|
+
});
|
|
155
|
+
});
|
|
@@ -191,7 +191,10 @@ const BasicDropdown = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
191
191
|
children: getDisplayItems()
|
|
192
192
|
}) : null, isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicator.LoadingIndicator, {
|
|
193
193
|
size: _types.Size.Small,
|
|
194
|
-
color: _styles.COLORS.
|
|
194
|
+
color: _styles.COLORS.generateToken({
|
|
195
|
+
componentType: 'icon',
|
|
196
|
+
defaultVariant: 'subtle'
|
|
197
|
+
}, theme)
|
|
195
198
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
196
199
|
className: 'icon dropdown-arrow',
|
|
197
200
|
children: isOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropUp, {
|
|
@@ -239,13 +242,19 @@ const BasicDropdown = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
239
242
|
})]
|
|
240
243
|
}), activeValidationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_InputFields.ErrorMessage, {
|
|
241
244
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.TechnicalWarning, {
|
|
242
|
-
color: _styles.COLORS.
|
|
245
|
+
color: _styles.COLORS.generateToken({
|
|
246
|
+
componentType: 'icon',
|
|
247
|
+
defaultVariant: 'critical'
|
|
248
|
+
}, theme)
|
|
243
249
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
244
250
|
children: activeValidationMessage
|
|
245
251
|
})]
|
|
246
252
|
}), autofilledMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_InputFields.AutofilledMessage, {
|
|
247
253
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.Information, {
|
|
248
|
-
color: _styles.COLORS.
|
|
254
|
+
color: _styles.COLORS.generateToken({
|
|
255
|
+
componentType: 'icon',
|
|
256
|
+
defaultVariant: 'subtle'
|
|
257
|
+
}, theme)
|
|
249
258
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
250
259
|
children: autofilledMessage
|
|
251
260
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicDropdown.cjs","names":["React","_interopRequireWildcard","require","_styles","_icons","_LoadingIndicator","_CommonStyling","_DropdownContent","_interopRequireDefault","_InputFields","_TooltipOverflow","_types","_common","_styledComponents","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","textOverflow","dropdownIcon","rest","_objectWithoutProperties2","theme","useTheme","isOpen","setIsOpen","useState","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","useFocusVisibleRef","dropdownRef","resetDropdown","containerRef","useFocusOutsideRef","useClickOutsideRef","handleKeyDown","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","jsxs","Fragment","children","DropdownContainer","role","$isButton","$readOnly","$disabled","DropdownInputFieldStyles","onMouseDown","defaultOnMouseDownHandler","onClick","stopPropagation","blur","tabIndex","$isPlaceholder","$showValidationMessage","onKeyDown","$minWidth","jsx","DropdownInputField","type","$ellipsis","position","withArrow","maxWidth","align","LoadingIndicator","Size","Small","color","COLORS","getColor","SystemIcons","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","ErrorMessage","TechnicalWarning","AutofilledMessage","Information","propTypes","_propTypes","array","isRequired","oneOf","func","string","node","bool","disableSorting","_default","exports"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {COLORS} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\r\nimport DropdownContent, {DropdownItem} from './DropdownContent';\r\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\r\nimport {Size, Testable} from '../types';\r\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\r\nimport {useFocusOutsideRef} from '../common';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\r\n /**\r\n * Required. An array of DropdownItem objects representing the items in the dropdown.\r\n */\r\n list: DropdownItem[];\r\n /**\r\n * Optional. The type of the items in the dropdown. Can be 'normal', 'checkbox', or 'radio'.\r\n */\r\n itemsType?: 'normal' | 'checkbox' | 'radio';\r\n /**\r\n * Optional. A function to be called when the action button in the dropdown is clicked.\r\n */\r\n action?: () => void;\r\n /**\r\n * Optional. The label for the action button in the dropdown.\r\n */\r\n actionLabel?: string;\r\n /**\r\n * Optional. The variant of the action button in the dropdown. Can be 'primary', 'secondary', 'tertiary', or undefined.\r\n */\r\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\r\n /**\r\n * Optional. The icon for the action button in the dropdown.\r\n */\r\n actionIcon?: React.ReactNode;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is loading.\r\n */\r\n actionLoading?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is disabled.\r\n */\r\n actionDisabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the top item in the dropdown should be pinned.\r\n */\r\n pinTopItem?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown content is scrollable.\r\n */\r\n scrollable?: boolean;\r\n /**\r\n * Optional. The maximum height of the dropdown.\r\n */\r\n maxHeight?: string;\r\n /*\r\n * Optional. Placeholder text to be shown when none of the items is selected is selected\r\n */\r\n placeholder?: string;\r\n /**\r\n * Optional. A boolean indicating whether sorting is disabled in the dropdown.\r\n */\r\n disableSorting?: boolean;\r\n /**\r\n * Optional. The message to be displayed when there are no results in the dropdown.\r\n */\r\n messageOnNoResults?: string;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is disabled.\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is read-only.\r\n */\r\n readOnly?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is a button.\r\n */\r\n isButton?: boolean;\r\n /**\r\n * Optional. The validation message to be displayed when the dropdown is active.\r\n */\r\n activeValidationMessage?: string;\r\n /**\r\n * Optional. The message to be displayed when the dropdown is autofilled.\r\n */\r\n autofilledMessage?: string;\r\n /**\r\n * Optional. The size of the dropdown. Can be 'Small' or 'Medium'.\r\n */ \r\n size?: Size.Small | Size.Medium;\r\n /**\r\n * Optional. The margin of the dropdown. Can be any valid CSS margin value.\r\n */\r\n margin?: string;\r\n /**\r\n * Optional. The minimum width of the dropdown.\r\n */\r\n minWidth?: string;\r\n /**\r\n * Optional. The text overflow behavior of the dropdown. Can be 'ellipsis' or 'default'.\r\n */\r\n textOverflow?: 'ellipsis' | 'default';\r\n /**\r\n * Optional. The position of the tooltip when dropdown is closed. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n /**\r\n * Optional. The action icon to be shown on the rightside of the dropdown that opens dropdown content.\r\n */\r\n dropdownIcon?: React.ReactNode;\r\n}\r\n\r\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect: true;\r\n /** Required. Selected items. */\r\n value?: string[];\r\n /** Required. Callback handler to call when user selects one of the items. Provides all selected items after last change. */\r\n onSelect: (value: string[]) => void;\r\n}\r\n\r\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect?: false;\r\n /** Required. Selected item. */\r\n value?: string;\r\n /** Required. Callback handler to call when user selects one of the items. Provides value of selected item. */\r\n onSelect: (value: string) => void;\r\n}\r\n\r\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\r\n\r\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\r\n const {\r\n id,\r\n list,\r\n placeholder,\r\n messageOnNoResults,\r\n itemsType = 'normal',\r\n action,\r\n actionLabel,\r\n actionVariant,\r\n actionIcon,\r\n actionLoading,\r\n actionDisabled,\r\n pinTopItem,\r\n scrollable = true,\r\n maxHeight,\r\n disabled,\r\n readOnly,\r\n isButton,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n margin,\r\n minWidth,\r\n className,\r\n overflowTooltipPosition,\r\n onBlur,\r\n dataTestId,\r\n onSelect,\r\n textOverflow = 'ellipsis',\r\n dropdownIcon,\r\n ...rest\r\n } = props;\r\n\r\n const theme = useTheme();\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>('');\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n \r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const styledFieldRef = useFocusVisibleRef([inputRef]);\r\n const dropdownRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const resetDropdown = () => {\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\r\n\r\n useClickOutsideRef(resetDropdown, [], containerRef);\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setIsOpen(!isOpen);\r\n setKeyboardNavigated(true);\r\n }\r\n };\r\n\r\n const handleValueSelect = (values: string[]) => {\r\n setInput(values.join(', '));\r\n\r\n if (props.multiSelect === true) {\r\n props.onSelect(values);\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n props.onSelect(values[0]);\r\n }\r\n\r\n //don't close dropdown on item select if have custom action or multiselect\r\n if (actionLabel || props.multiSelect) return;\r\n\r\n if (keyboardNavigated) {\r\n styledFieldRef.current?.focus({focusVisible: true} as any);\r\n }\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (props.value) {\r\n if (props.multiSelect) {\r\n setInput(props.value.join(', '));\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n setInput(props.value);\r\n }\r\n } else {\r\n setInput('');\r\n }\r\n }, [props.value, props.multiSelect]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(false);\r\n }, [input]);\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const customSetIsOpen = (isOpen: boolean) => {\r\n setIsOpen(isOpen);\r\n };\r\n\r\n const getDisplayItems = () => {\r\n const values = input.split(',').map((val) => val.trim());\r\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\r\n return listDisplayLabels.join(', ');\r\n };\r\n\r\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\r\n // @ts-ignore\r\n if (!e.currentTarget.contains(e.relatedTarget)) {\r\n onBlur && onBlur(e);\r\n }\r\n };\r\n\r\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\r\n \r\n return (\r\n <>\r\n <DropdownContainer ref={containerRef}\r\n aria-expanded={isOpen ? true : false}\r\n aria-activedescendant={activeDescendant}\r\n aria-controls={`${id}_dropdowncontent`}\r\n role=\"listbox\"\r\n aria-multiselectable={props.multiSelect}\r\n $isButton={isButton || false}\r\n className={size ? size : ''}\r\n $readOnly={readOnly}\r\n $disabled={disabled}\r\n margin={margin}\r\n onBlur={handleBlur}\r\n minWidth={minWidth}>\r\n <DropdownInputFieldStyles\r\n ref={styledFieldRef}\r\n className={cls}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={(e) => {\r\n if (!readOnly && !disabled) {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n if (isOpen) {\r\n inputRef.current?.blur();\r\n } else {\r\n inputRef.current?.focus();\r\n }\r\n }\r\n }}\r\n tabIndex={disabled || readOnly ? -1 : 0}\r\n $disabled={disabled || false}\r\n $readOnly={readOnly || false}\r\n $isPlaceholder={!input}\r\n $showValidationMessage={!!activeValidationMessage}\r\n onKeyDown={handleKeyDown}\r\n $minWidth={minWidth}\r\n {...rest}>\r\n <DropdownInputField\r\n ref={inputRef}\r\n type=\"search\"\r\n $ellipsis={textOverflow == 'ellipsis'}\r\n id={id}\r\n data-testid={dataTestId}\r\n readOnly\r\n placeholder={placeholder}\r\n value={getDisplayItems()}\r\n className={size ? `${size} value` : 'value'}\r\n tabIndex={-1}\r\n disabled={disabled || false}\r\n />\r\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {getDisplayItems()}\r\n </TooltipOverflow> : null}\r\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)}/> : null}\r\n <div className={'icon dropdown-arrow'}>\r\n {isOpen ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''}/> :\r\n (dropdownIcon ?? <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''}/>)}\r\n </div>\r\n </DropdownInputFieldStyles>\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n ref={dropdownRef}\r\n containerRef={containerRef}\r\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\r\n customizationProps={{\r\n itemsType: itemsType,\r\n action: action ?? (() => {\r\n }),\r\n actionLabel: actionLabel,\r\n actionVariant: actionVariant,\r\n actionDisabled: actionDisabled,\r\n scrollable: scrollable,\r\n onValueUpdate: handleValueSelect,\r\n items: list,\r\n multiSelect: props.multiSelect,\r\n pinTopItem: pinTopItem,\r\n maxHeight: maxHeight,\r\n actionIcon: actionIcon,\r\n actionLoading: actionLoading,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n size={size ?? Size.Small}\r\n filter={''}\r\n isOpen={isOpen}\r\n setIsOpen={customSetIsOpen}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n outline={keyboardNavigated}\r\n isButton={isButton || false}\r\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\r\n setSelectedValues={handleValueSelect}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </DropdownContainer>\r\n {activeValidationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage>\r\n <SystemIcons.Information color={COLORS.getColor('neutral_600', theme)}/>\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default BasicDropdown;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BasicDropdown.cjs","names":["React","_interopRequireWildcard","require","_styles","_icons","_LoadingIndicator","_CommonStyling","_DropdownContent","_interopRequireDefault","_InputFields","_TooltipOverflow","_types","_common","_styledComponents","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","textOverflow","dropdownIcon","rest","_objectWithoutProperties2","theme","useTheme","isOpen","setIsOpen","useState","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","useFocusVisibleRef","dropdownRef","resetDropdown","containerRef","useFocusOutsideRef","useClickOutsideRef","handleKeyDown","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","jsxs","Fragment","children","DropdownContainer","role","$isButton","$readOnly","$disabled","DropdownInputFieldStyles","onMouseDown","defaultOnMouseDownHandler","onClick","stopPropagation","blur","tabIndex","$isPlaceholder","$showValidationMessage","onKeyDown","$minWidth","jsx","DropdownInputField","type","$ellipsis","position","withArrow","maxWidth","align","LoadingIndicator","Size","Small","color","COLORS","generateToken","componentType","defaultVariant","SystemIcons","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","ErrorMessage","TechnicalWarning","AutofilledMessage","Information","propTypes","_propTypes","array","isRequired","oneOf","func","string","node","bool","disableSorting","_default","exports"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {COLORS} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\r\nimport DropdownContent, {DropdownItem} from './DropdownContent';\r\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\r\nimport {Size, Testable} from '../types';\r\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\r\nimport {useFocusOutsideRef} from '../common';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\r\n /**\r\n * Required. An array of DropdownItem objects representing the items in the dropdown.\r\n */\r\n list: DropdownItem[];\r\n /**\r\n * Optional. The type of the items in the dropdown. Can be 'normal', 'checkbox', or 'radio'.\r\n */\r\n itemsType?: 'normal' | 'checkbox' | 'radio';\r\n /**\r\n * Optional. A function to be called when the action button in the dropdown is clicked.\r\n */\r\n action?: () => void;\r\n /**\r\n * Optional. The label for the action button in the dropdown.\r\n */\r\n actionLabel?: string;\r\n /**\r\n * Optional. The variant of the action button in the dropdown. Can be 'primary', 'secondary', 'tertiary', or undefined.\r\n */\r\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\r\n /**\r\n * Optional. The icon for the action button in the dropdown.\r\n */\r\n actionIcon?: React.ReactNode;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is loading.\r\n */\r\n actionLoading?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is disabled.\r\n */\r\n actionDisabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the top item in the dropdown should be pinned.\r\n */\r\n pinTopItem?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown content is scrollable.\r\n */\r\n scrollable?: boolean;\r\n /**\r\n * Optional. The maximum height of the dropdown.\r\n */\r\n maxHeight?: string;\r\n /*\r\n * Optional. Placeholder text to be shown when none of the items is selected is selected\r\n */\r\n placeholder?: string;\r\n /**\r\n * Optional. A boolean indicating whether sorting is disabled in the dropdown.\r\n */\r\n disableSorting?: boolean;\r\n /**\r\n * Optional. The message to be displayed when there are no results in the dropdown.\r\n */\r\n messageOnNoResults?: string;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is disabled.\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is read-only.\r\n */\r\n readOnly?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is a button.\r\n */\r\n isButton?: boolean;\r\n /**\r\n * Optional. The validation message to be displayed when the dropdown is active.\r\n */\r\n activeValidationMessage?: string;\r\n /**\r\n * Optional. The message to be displayed when the dropdown is autofilled.\r\n */\r\n autofilledMessage?: string;\r\n /**\r\n * Optional. The size of the dropdown. Can be 'Small' or 'Medium'.\r\n */ \r\n size?: Size.Small | Size.Medium;\r\n /**\r\n * Optional. The margin of the dropdown. Can be any valid CSS margin value.\r\n */\r\n margin?: string;\r\n /**\r\n * Optional. The minimum width of the dropdown.\r\n */\r\n minWidth?: string;\r\n /**\r\n * Optional. The text overflow behavior of the dropdown. Can be 'ellipsis' or 'default'.\r\n */\r\n textOverflow?: 'ellipsis' | 'default';\r\n /**\r\n * Optional. The position of the tooltip when dropdown is closed. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n /**\r\n * Optional. The action icon to be shown on the rightside of the dropdown that opens dropdown content.\r\n */\r\n dropdownIcon?: React.ReactNode;\r\n}\r\n\r\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect: true;\r\n /** Required. Selected items. */\r\n value?: string[];\r\n /** Required. Callback handler to call when user selects one of the items. Provides all selected items after last change. */\r\n onSelect: (value: string[]) => void;\r\n}\r\n\r\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect?: false;\r\n /** Required. Selected item. */\r\n value?: string;\r\n /** Required. Callback handler to call when user selects one of the items. Provides value of selected item. */\r\n onSelect: (value: string) => void;\r\n}\r\n\r\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\r\n\r\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\r\n const {\r\n id,\r\n list,\r\n placeholder,\r\n messageOnNoResults,\r\n itemsType = 'normal',\r\n action,\r\n actionLabel,\r\n actionVariant,\r\n actionIcon,\r\n actionLoading,\r\n actionDisabled,\r\n pinTopItem,\r\n scrollable = true,\r\n maxHeight,\r\n disabled,\r\n readOnly,\r\n isButton,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n margin,\r\n minWidth,\r\n className,\r\n overflowTooltipPosition,\r\n onBlur,\r\n dataTestId,\r\n onSelect,\r\n textOverflow = 'ellipsis',\r\n dropdownIcon,\r\n ...rest\r\n } = props;\r\n\r\n const theme = useTheme();\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>('');\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n \r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const styledFieldRef = useFocusVisibleRef([inputRef]);\r\n const dropdownRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const resetDropdown = () => {\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\r\n\r\n useClickOutsideRef(resetDropdown, [], containerRef);\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setIsOpen(!isOpen);\r\n setKeyboardNavigated(true);\r\n }\r\n };\r\n\r\n const handleValueSelect = (values: string[]) => {\r\n setInput(values.join(', '));\r\n\r\n if (props.multiSelect === true) {\r\n props.onSelect(values);\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n props.onSelect(values[0]);\r\n }\r\n\r\n //don't close dropdown on item select if have custom action or multiselect\r\n if (actionLabel || props.multiSelect) return;\r\n\r\n if (keyboardNavigated) {\r\n styledFieldRef.current?.focus({focusVisible: true} as any);\r\n }\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (props.value) {\r\n if (props.multiSelect) {\r\n setInput(props.value.join(', '));\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n setInput(props.value);\r\n }\r\n } else {\r\n setInput('');\r\n }\r\n }, [props.value, props.multiSelect]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(false);\r\n }, [input]);\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const customSetIsOpen = (isOpen: boolean) => {\r\n setIsOpen(isOpen);\r\n };\r\n\r\n const getDisplayItems = () => {\r\n const values = input.split(',').map((val) => val.trim());\r\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\r\n return listDisplayLabels.join(', ');\r\n };\r\n\r\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\r\n // @ts-ignore\r\n if (!e.currentTarget.contains(e.relatedTarget)) {\r\n onBlur && onBlur(e);\r\n }\r\n };\r\n\r\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\r\n \r\n return (\r\n <>\r\n <DropdownContainer ref={containerRef}\r\n aria-expanded={isOpen ? true : false}\r\n aria-activedescendant={activeDescendant}\r\n aria-controls={`${id}_dropdowncontent`}\r\n role=\"listbox\"\r\n aria-multiselectable={props.multiSelect}\r\n $isButton={isButton || false}\r\n className={size ? size : ''}\r\n $readOnly={readOnly}\r\n $disabled={disabled}\r\n margin={margin}\r\n onBlur={handleBlur}\r\n minWidth={minWidth}>\r\n <DropdownInputFieldStyles\r\n ref={styledFieldRef}\r\n className={cls}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={(e) => {\r\n if (!readOnly && !disabled) {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n if (isOpen) {\r\n inputRef.current?.blur();\r\n } else {\r\n inputRef.current?.focus();\r\n }\r\n }\r\n }}\r\n tabIndex={disabled || readOnly ? -1 : 0}\r\n $disabled={disabled || false}\r\n $readOnly={readOnly || false}\r\n $isPlaceholder={!input}\r\n $showValidationMessage={!!activeValidationMessage}\r\n onKeyDown={handleKeyDown}\r\n $minWidth={minWidth}\r\n {...rest}>\r\n <DropdownInputField\r\n ref={inputRef}\r\n type=\"search\"\r\n $ellipsis={textOverflow == 'ellipsis'}\r\n id={id}\r\n data-testid={dataTestId}\r\n readOnly\r\n placeholder={placeholder}\r\n value={getDisplayItems()}\r\n className={size ? `${size} value` : 'value'}\r\n tabIndex={-1}\r\n disabled={disabled || false}\r\n />\r\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {getDisplayItems()}\r\n </TooltipOverflow> : null}\r\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)}/> : null}\r\n <div className={'icon dropdown-arrow'}>\r\n {isOpen ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''}/> :\r\n (dropdownIcon ?? <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''}/>)}\r\n </div>\r\n </DropdownInputFieldStyles>\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n ref={dropdownRef}\r\n containerRef={containerRef}\r\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\r\n customizationProps={{\r\n itemsType: itemsType,\r\n action: action ?? (() => {\r\n }),\r\n actionLabel: actionLabel,\r\n actionVariant: actionVariant,\r\n actionDisabled: actionDisabled,\r\n scrollable: scrollable,\r\n onValueUpdate: handleValueSelect,\r\n items: list,\r\n multiSelect: props.multiSelect,\r\n pinTopItem: pinTopItem,\r\n maxHeight: maxHeight,\r\n actionIcon: actionIcon,\r\n actionLoading: actionLoading,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n size={size ?? Size.Small}\r\n filter={''}\r\n isOpen={isOpen}\r\n setIsOpen={customSetIsOpen}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n outline={keyboardNavigated}\r\n isButton={isButton || false}\r\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\r\n setSelectedValues={handleValueSelect}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </DropdownContainer>\r\n {activeValidationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.generateToken({ componentType:'icon', defaultVariant:'critical' }, theme)}/>\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage>\r\n <SystemIcons.Information color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)}/>\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default BasicDropdown;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -183,7 +183,10 @@ const BasicDropdown = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
183
183
|
children: getDisplayItems()
|
|
184
184
|
}) : null, isLoading ? /*#__PURE__*/_jsx(LoadingIndicator, {
|
|
185
185
|
size: Size.Small,
|
|
186
|
-
color: COLORS.
|
|
186
|
+
color: COLORS.generateToken({
|
|
187
|
+
componentType: 'icon',
|
|
188
|
+
defaultVariant: 'subtle'
|
|
189
|
+
}, theme)
|
|
187
190
|
}) : null, /*#__PURE__*/_jsx("div", {
|
|
188
191
|
className: 'icon dropdown-arrow',
|
|
189
192
|
children: isOpen ? /*#__PURE__*/_jsx(SystemIcons.ArrowDropUp, {
|
|
@@ -231,13 +234,19 @@ const BasicDropdown = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
231
234
|
})]
|
|
232
235
|
}), activeValidationMessage && /*#__PURE__*/_jsxs(ErrorMessage, {
|
|
233
236
|
children: [/*#__PURE__*/_jsx(SystemIcons.TechnicalWarning, {
|
|
234
|
-
color: COLORS.
|
|
237
|
+
color: COLORS.generateToken({
|
|
238
|
+
componentType: 'icon',
|
|
239
|
+
defaultVariant: 'critical'
|
|
240
|
+
}, theme)
|
|
235
241
|
}), /*#__PURE__*/_jsx("span", {
|
|
236
242
|
children: activeValidationMessage
|
|
237
243
|
})]
|
|
238
244
|
}), autofilledMessage && /*#__PURE__*/_jsxs(AutofilledMessage, {
|
|
239
245
|
children: [/*#__PURE__*/_jsx(SystemIcons.Information, {
|
|
240
|
-
color: COLORS.
|
|
246
|
+
color: COLORS.generateToken({
|
|
247
|
+
componentType: 'icon',
|
|
248
|
+
defaultVariant: 'subtle'
|
|
249
|
+
}, theme)
|
|
241
250
|
}), /*#__PURE__*/_jsx("span", {
|
|
242
251
|
children: autofilledMessage
|
|
243
252
|
})]
|