@laerdal/life-react-components 3.6.0-dev.1.full → 3.6.1
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/__tests__/AccordionMenu.test.tsx +42 -0
- package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
- package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
- package/dist/Banners/__tests__/Banner.test.tsx +47 -0
- package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
- package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
- package/dist/Button/TextButton.cjs +648 -0
- package/dist/Button/TextButton.cjs.map +1 -0
- package/dist/Button/TextButton.d.ts +77 -0
- package/dist/Button/TextButton.js +640 -0
- package/dist/Button/TextButton.js.map +1 -0
- 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/Button/__tests__/TextButton.test.tsx +45 -0
- package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
- package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
- package/dist/Card/VerticalCard/VerticalCard.cjs +187 -0
- package/dist/Card/VerticalCard/VerticalCard.cjs.map +1 -0
- package/dist/Card/VerticalCard/VerticalCard.d.ts +25 -0
- package/dist/Card/VerticalCard/VerticalCard.js +178 -0
- package/dist/Card/VerticalCard/VerticalCard.js.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs +261 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.d.ts +53 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.js +252 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.js.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs +145 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.d.ts +42 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.js +136 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.js.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.cjs +165 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.cjs.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.d.ts +45 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.js +156 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.js.map +1 -0
- package/dist/Card/VerticalCard/__tests__/VerticalCard.test.tsx +124 -0
- package/dist/Card/__tests__/Card.test.tsx +146 -0
- package/dist/Chips/ChoiceChips.cjs +0 -1
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +0 -1
- package/dist/Chips/ChoiceChips.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/ChipDropdownInput.cjs +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +1 -1
- package/dist/ChipsInput/ChipDropdownInput.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 +0 -2
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +0 -2
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +0 -4
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.js +0 -4
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +1 -1
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +1 -1
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +0 -2
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +0 -2
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
- package/dist/Footer/__tests__/Footer.test.tsx +182 -0
- package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +31 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +1 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +1 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +1 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.js +1 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.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/__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/InputFields/QuickSearch.cjs +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +1 -1
- package/dist/InputFields/QuickSearch.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/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
- package/dist/List/__tests__/ListRow.test.tsx +18 -0
- package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
- 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/__tests__/NavItem.test.ts +6 -0
- package/dist/Navigation/NavigationProvider.cjs +43 -0
- package/dist/Navigation/NavigationProvider.cjs.map +1 -0
- package/dist/Navigation/NavigationProvider.d.ts +15 -0
- package/dist/Navigation/NavigationProvider.js +32 -0
- package/dist/Navigation/NavigationProvider.js.map +1 -0
- package/dist/Navigation/index.cjs +19 -0
- package/dist/Navigation/index.cjs.map +1 -0
- package/dist/Navigation/index.d.ts +2 -0
- package/dist/Navigation/index.js +2 -0
- package/dist/Navigation/index.js.map +1 -0
- package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
- package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
- package/dist/Popover/__tests__/Popover.test.tsx +64 -0
- package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
- package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
- package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
- package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
- package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
- package/dist/Table/Table.cjs +3 -1
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +3 -1
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +1 -1
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +1 -1
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableFooter.cjs +0 -2
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.js +0 -2
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/Table/__tests__/Table.test.tsx +499 -0
- 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/__tests__/Tag.test.tsx +86 -0
- package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
- package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
- package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
- package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
- package/dist/icons/systemicons/CreditCard.cjs +43 -0
- package/dist/icons/systemicons/CreditCard.cjs.map +1 -0
- package/dist/icons/systemicons/CreditCard.d.ts +3 -0
- package/dist/icons/systemicons/CreditCard.js +33 -0
- package/dist/icons/systemicons/CreditCard.js.map +1 -0
- package/dist/icons/systemicons/Discount.cjs +43 -0
- package/dist/icons/systemicons/Discount.cjs.map +1 -0
- package/dist/icons/systemicons/Discount.d.ts +3 -0
- package/dist/icons/systemicons/Discount.js +33 -0
- package/dist/icons/systemicons/Discount.js.map +1 -0
- package/dist/icons/systemicons/DocumentComplete.cjs +43 -0
- package/dist/icons/systemicons/DocumentComplete.cjs.map +1 -0
- package/dist/icons/systemicons/DocumentComplete.d.ts +3 -0
- package/dist/icons/systemicons/DocumentComplete.js +33 -0
- package/dist/icons/systemicons/DocumentComplete.js.map +1 -0
- package/dist/icons/systemicons/Folder.cjs +43 -0
- package/dist/icons/systemicons/Folder.cjs.map +1 -0
- package/dist/icons/systemicons/Folder.d.ts +3 -0
- package/dist/icons/systemicons/Folder.js +33 -0
- package/dist/icons/systemicons/Folder.js.map +1 -0
- package/dist/icons/systemicons/FolderNew.cjs +43 -0
- package/dist/icons/systemicons/FolderNew.cjs.map +1 -0
- package/dist/icons/systemicons/FolderNew.d.ts +3 -0
- package/dist/icons/systemicons/FolderNew.js +33 -0
- package/dist/icons/systemicons/FolderNew.js.map +1 -0
- package/dist/icons/systemicons/MoodHappy.cjs +43 -0
- package/dist/icons/systemicons/MoodHappy.cjs.map +1 -0
- package/dist/icons/systemicons/MoodHappy.d.ts +3 -0
- package/dist/icons/systemicons/MoodHappy.js +33 -0
- package/dist/icons/systemicons/MoodHappy.js.map +1 -0
- package/dist/icons/systemicons/MoodIndifferent.cjs +43 -0
- package/dist/icons/systemicons/MoodIndifferent.cjs.map +1 -0
- package/dist/icons/systemicons/MoodIndifferent.d.ts +3 -0
- package/dist/icons/systemicons/MoodIndifferent.js +33 -0
- package/dist/icons/systemicons/MoodIndifferent.js.map +1 -0
- package/dist/icons/systemicons/MoodSad.cjs +43 -0
- package/dist/icons/systemicons/MoodSad.cjs.map +1 -0
- package/dist/icons/systemicons/MoodSad.d.ts +3 -0
- package/dist/icons/systemicons/MoodSad.js +33 -0
- package/dist/icons/systemicons/MoodSad.js.map +1 -0
- package/dist/icons/systemicons/MoodVeryHappy.cjs +43 -0
- package/dist/icons/systemicons/MoodVeryHappy.cjs.map +1 -0
- package/dist/icons/systemicons/MoodVeryHappy.d.ts +3 -0
- package/dist/icons/systemicons/MoodVeryHappy.js +33 -0
- package/dist/icons/systemicons/MoodVeryHappy.js.map +1 -0
- package/dist/icons/systemicons/MoodVerySad.cjs +43 -0
- package/dist/icons/systemicons/MoodVerySad.cjs.map +1 -0
- package/dist/icons/systemicons/MoodVerySad.d.ts +3 -0
- package/dist/icons/systemicons/MoodVerySad.js +33 -0
- package/dist/icons/systemicons/MoodVerySad.js.map +1 -0
- package/dist/icons/systemicons/Orders.cjs +43 -0
- package/dist/icons/systemicons/Orders.cjs.map +1 -0
- package/dist/icons/systemicons/Orders.d.ts +3 -0
- package/dist/icons/systemicons/Orders.js +33 -0
- package/dist/icons/systemicons/Orders.js.map +1 -0
- package/dist/icons/systemicons/Palette.cjs +43 -0
- package/dist/icons/systemicons/Palette.cjs.map +1 -0
- package/dist/icons/systemicons/Palette.d.ts +3 -0
- package/dist/icons/systemicons/Palette.js +33 -0
- package/dist/icons/systemicons/Palette.js.map +1 -0
- package/dist/icons/systemicons/Stack.cjs +43 -0
- package/dist/icons/systemicons/Stack.cjs.map +1 -0
- package/dist/icons/systemicons/Stack.d.ts +3 -0
- package/dist/icons/systemicons/Stack.js +33 -0
- package/dist/icons/systemicons/Stack.js.map +1 -0
- package/dist/styles/design-tokens/dark/tokens.css +481 -0
- package/dist/styles/design-tokens/light/tokens.css +481 -0
- package/dist/styles/design-tokens/rqi_dark/tokens.css +481 -0
- package/dist/styles/design-tokens/rqi_light/tokens.css +481 -0
- package/dist/styles/react-datepicker.css +766 -0
- package/dist/styles/typography.cjs +35 -59
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.d.ts +1 -1
- package/dist/styles/typography.js +35 -59
- package/dist/styles/typography.js.map +1 -1
- package/dist/test-utils.cjs +16 -10
- package/dist/test-utils.cjs.map +1 -1
- package/dist/test-utils.d.ts +5 -5
- package/dist/test-utils.js +14 -8
- 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 +1 -1
|
@@ -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
|
+
});
|
|
@@ -226,11 +226,9 @@ var BasicDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
226
226
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
227
227
|
className: 'icon dropdown-arrow',
|
|
228
228
|
children: isOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropUp, {
|
|
229
|
-
"aria-label": "Expanded",
|
|
230
229
|
size: "24px",
|
|
231
230
|
className: size ? size : ''
|
|
232
231
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropDown, {
|
|
233
|
-
"aria-label": "Collapsed",
|
|
234
232
|
size: "24px",
|
|
235
233
|
className: size ? size : ''
|
|
236
234
|
})
|
|
@@ -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","_typeof","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","_props$itemsType","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","_props$scrollable","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","_props$textOverflow","textOverflow","rest","_objectWithoutProperties2","theme","useTheme","_React$useState","useState","_React$useState2","_slicedToArray2","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","isLoading","setIsLoading","_React$useState7","_React$useState8","input","setInput","_React$useState9","_React$useState10","focused","setFocused","_React$useState11","_React$useState12","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","useFocusVisibleRef","dropdownRef","resetDropdown","containerRef","useFocusOutsideRef","useClickOutsideRef","handleKeyDown","key","handleValueSelect","values","join","multiSelect","undefined","_styledFieldRef$curre","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","DropdownInputFieldStyles","onMouseDown","defaultOnMouseDownHandler","onClick","stopPropagation","_inputRef$current","blur","_inputRef$current2","tabIndex","isPlaceholder","showValidationMessage","onKeyDown","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\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 ...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 <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","_typeof","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","_props$itemsType","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","_props$scrollable","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","_props$textOverflow","textOverflow","rest","_objectWithoutProperties2","theme","useTheme","_React$useState","useState","_React$useState2","_slicedToArray2","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","isLoading","setIsLoading","_React$useState7","_React$useState8","input","setInput","_React$useState9","_React$useState10","focused","setFocused","_React$useState11","_React$useState12","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","useFocusVisibleRef","dropdownRef","resetDropdown","containerRef","useFocusOutsideRef","useClickOutsideRef","handleKeyDown","key","handleValueSelect","values","join","multiSelect","undefined","_styledFieldRef$curre","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","DropdownInputFieldStyles","onMouseDown","defaultOnMouseDownHandler","onClick","stopPropagation","_inputRef$current","blur","_inputRef$current2","tabIndex","isPlaceholder","showValidationMessage","onKeyDown","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\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 ...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 size=\"24px\" className={size ? size : ''}/> :\r\n <SystemIcons.ArrowDropDown 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":[]}
|
|
@@ -219,11 +219,9 @@ var BasicDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
219
219
|
}) : null, /*#__PURE__*/_jsx("div", {
|
|
220
220
|
className: 'icon dropdown-arrow',
|
|
221
221
|
children: isOpen ? /*#__PURE__*/_jsx(SystemIcons.ArrowDropUp, {
|
|
222
|
-
"aria-label": "Expanded",
|
|
223
222
|
size: "24px",
|
|
224
223
|
className: size ? size : ''
|
|
225
224
|
}) : /*#__PURE__*/_jsx(SystemIcons.ArrowDropDown, {
|
|
226
|
-
"aria-label": "Collapsed",
|
|
227
225
|
size: "24px",
|
|
228
226
|
className: size ? size : ''
|
|
229
227
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicDropdown.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownContainer","DropdownInputFieldStyles","DropdownInputField","DropdownContent","AutofilledMessage","ErrorMessage","TooltipOverflow","Size","defaultOnMouseDownHandler","useClickOutsideRef","useFocusVisibleRef","useFocusOutsideRef","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","_props$itemsType","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","_props$scrollable","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","_props$textOverflow","textOverflow","rest","_objectWithoutProperties","_excluded","theme","_React$useState","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","isLoading","setIsLoading","_React$useState7","_React$useState8","input","setInput","_React$useState9","_React$useState10","focused","setFocused","_React$useState11","_React$useState12","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","dropdownRef","resetDropdown","containerRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","_styledFieldRef$curre","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","children","role","_objectSpread","onMouseDown","onClick","stopPropagation","_inputRef$current","blur","_inputRef$current2","tabIndex","isPlaceholder","showValidationMessage","onKeyDown","type","ellipsis","position","withArrow","maxWidth","align","Small","color","getColor","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","TechnicalWarning","Information","propTypes","_pt","array","isRequired","oneOf","func","string","node","bool","disableSorting"],"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\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 ...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 <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.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownContainer","DropdownInputFieldStyles","DropdownInputField","DropdownContent","AutofilledMessage","ErrorMessage","TooltipOverflow","Size","defaultOnMouseDownHandler","useClickOutsideRef","useFocusVisibleRef","useFocusOutsideRef","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","_props$itemsType","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","_props$scrollable","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","_props$textOverflow","textOverflow","rest","_objectWithoutProperties","_excluded","theme","_React$useState","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","isLoading","setIsLoading","_React$useState7","_React$useState8","input","setInput","_React$useState9","_React$useState10","focused","setFocused","_React$useState11","_React$useState12","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","dropdownRef","resetDropdown","containerRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","_styledFieldRef$curre","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","children","role","_objectSpread","onMouseDown","onClick","stopPropagation","_inputRef$current","blur","_inputRef$current2","tabIndex","isPlaceholder","showValidationMessage","onKeyDown","type","ellipsis","position","withArrow","maxWidth","align","Small","color","getColor","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","TechnicalWarning","Information","propTypes","_pt","array","isRequired","oneOf","func","string","node","bool","disableSorting"],"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\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 ...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 size=\"24px\" className={size ? size : ''}/> :\r\n <SystemIcons.ArrowDropDown 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":[]}
|
|
@@ -116,7 +116,6 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
116
116
|
role: "button",
|
|
117
117
|
tooltip: rest.tooltip,
|
|
118
118
|
id: id,
|
|
119
|
-
"aria-expanded": dropdownOpen,
|
|
120
119
|
"data-testid": dataTestId,
|
|
121
120
|
"aria-controls": "".concat(id, "_dropdowncontent"),
|
|
122
121
|
"aria-activedescendant": activeDescendant,
|
|
@@ -143,7 +142,6 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
143
142
|
role: "button",
|
|
144
143
|
id: id,
|
|
145
144
|
"data-testid": dataTestId,
|
|
146
|
-
"aria-expanded": dropdownOpen,
|
|
147
145
|
"aria-controls": "".concat(id, "_dropdowncontent"),
|
|
148
146
|
"aria-activedescendant": activeDescendant,
|
|
149
147
|
onMouseDown: _common.defaultOnMouseDownHandler,
|
|
@@ -165,10 +163,8 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
165
163
|
children: label
|
|
166
164
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyling.DropdownButtonTextArrow, {
|
|
167
165
|
children: dropdownOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropUp, {
|
|
168
|
-
"aria-label": "Expanded",
|
|
169
166
|
size: "24px"
|
|
170
167
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropDown, {
|
|
171
|
-
"aria-label": "Collapsed",
|
|
172
168
|
size: "24px"
|
|
173
169
|
})
|
|
174
170
|
})]
|