@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
34 lines (33 loc) • 1.23 kB
JavaScript
import HvControlsContext from "../context/ControlsContext.js";
import { HvDropdown } from "../../Dropdown/Dropdown.js";
import { useClasses } from "./RightControl.styles.js";
import { useContext, useState } from "react";
import { jsx, jsxs } from "react/jsx-runtime";
//#region src/Controls/RightControl/RightControl.tsx
var HvRightControl = ({ id, classes: classesProp, className, children, values, onSort, hideSortBy = false, sortProps, ...others }) => {
const { classes, cx } = useClasses(classesProp);
const [dropDownValues, setDropdownValues] = useState(values);
const { onSort: onSortHandler } = useContext(HvControlsContext);
const handleChangeSort = (value) => {
onSort?.(value);
onSortHandler?.(value);
setDropdownValues((prevValues) => prevValues?.map((prevValue) => ({
...prevValue,
selected: prevValue.id === value.id
})));
};
return /* @__PURE__ */ jsxs("div", {
id,
className: cx(classes.root, className),
...others,
children: [!hideSortBy && /* @__PURE__ */ jsx(HvDropdown, {
values: dropDownValues,
className: classes.sortDropdown,
onChange: handleChangeSort,
singleSelectionToggle: false,
...sortProps
}), children]
});
};
//#endregion
export { HvRightControl };