diff --git a/packages/core/package.json b/packages/core/package.json index 7c7aa70752..6ec9bb3594 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -114,11 +114,11 @@ "react-inlinesvg": "^3.0.1", "react-is": "^16.9.0", "react-popper": "^2.3.0", - "react-select": "^3.2.0", + "react-select": "^4.3.1", "react-transition-group": "^4.4.5", "react-virtualized-auto-sizer": "^1.0.7", "react-window": "^1.8.7", - "react-windowed-select": "^2.0.4", + "react-windowed-select": "^3.1.2", "style-inject": "^0.3.0", "vibe-storybook-components": "0.19.0" }, diff --git a/packages/core/src/components/Dropdown/Dropdown.tsx b/packages/core/src/components/Dropdown/Dropdown.tsx index b48de0fe32..7867ad8ccf 100644 --- a/packages/core/src/components/Dropdown/Dropdown.tsx +++ b/packages/core/src/components/Dropdown/Dropdown.tsx @@ -291,7 +291,8 @@ const Dropdown: VibeComponent & { ); const onChange = (option: DropdownOption | DropdownOption[], meta: ActionMeta) => { if (customOnChange) { - customOnChange(option, meta); + const newValue = multi ? (option.length > 0 ? option : null) : option; + customOnChange(newValue, meta); } switch (meta.action) { diff --git a/packages/core/src/components/Dropdown/__tests__/Dropdown.test.js b/packages/core/src/components/Dropdown/__tests__/Dropdown.test.js index aeb03a5570..ce128cfec4 100644 --- a/packages/core/src/components/Dropdown/__tests__/Dropdown.test.js +++ b/packages/core/src/components/Dropdown/__tests__/Dropdown.test.js @@ -150,7 +150,8 @@ describe("Dropdown", () => { expect(onChange).toBeCalledTimes(2); expect(onChange).toHaveBeenLastCalledWith(null, { - action: "clear" + action: "clear", + removedValues: [mockOptions[0]] }); expect(onClear).toBeCalled(); expect(component.chips.values).toEqual([]); diff --git a/packages/core/src/components/Dropdown/__tests__/__snapshots__/Dropdown.snapshot.test.js.snap b/packages/core/src/components/Dropdown/__tests__/__snapshots__/Dropdown.snapshot.test.js.snap index 4bdf2479a5..3def2e110b 100644 --- a/packages/core/src/components/Dropdown/__tests__/__snapshots__/Dropdown.snapshot.test.js.snap +++ b/packages/core/src/components/Dropdown/__tests__/__snapshots__/Dropdown.snapshot.test.js.snap @@ -7,18 +7,18 @@ exports[`Dropdown renders correctly snapshot driver should open menu on click if id="dropdown-menu-id" > -   - + id="aria-selection" + /> -   option Ocean focused, 1 of 6. 6 results available. Use Up and Down to choose options, press Enter to select the currently focused option, press Escape to exit the menu, press Tab to select the option and exit the menu. + option Ocean focused, 1 of 6. 6 results available. Use Up and Down to choose options, press Enter to select the currently focused option, press Escape to exit the menu, press Tab to select the option and exit the menu.
@@ -193,18 +193,18 @@ exports[`Dropdown renders correctly snapshot driver should open menu on focus if id="dropdown-menu-id" > -   - + id="aria-selection" + /> -   0 results available. Selected: is focused ,type to refine list, press Down to open the menu, + Selected: is focused ,type to refine list, press Down to open the menu,
@@ -286,6 +286,12 @@ exports[`Dropdown renders correctly snapshot driver should render correctly for class="dropdown dropdown-story css-1pu8kyc-container" id="dropdown-menu-id" > +