UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

50 lines (49 loc) 1.61 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const setId = require("../../utils/setId.cjs"); const ControlsContext = require("../context/ControlsContext.cjs"); const RightControl_styles = require("./RightControl.styles.cjs"); const Dropdown = require("../../Dropdown/Dropdown.cjs"); const HvRightControl = ({ id, classes: classesProp, className, children, values, onSort, hideSortBy = false, sortProps, ...others }) => { const { classes, cx } = RightControl_styles.useClasses(classesProp); const [dropDownValues, setDropdownValues] = React.useState(values); const { onSort: onSortHandler } = React.useContext(ControlsContext.HvControlsContext); const handleChangeSort = (value) => { onSort?.(value); onSortHandler?.(value); setDropdownValues( (prevValues) => prevValues?.map((prevValue) => ({ ...prevValue, selected: prevValue.id === value.id })) ); }; return /* @__PURE__ */ jsxRuntime.jsxs("div", { id, className: cx(classes.root, className), ...others, children: [ !hideSortBy && /* @__PURE__ */ jsxRuntime.jsx( Dropdown.HvDropdown, { id: setId.setId(id, "sort-by-dropdown"), values: dropDownValues, className: classes.sortDropdown, onChange: handleChangeSort, singleSelectionToggle: false, ...sortProps } ), children ] }); }; exports.rightControlClasses = RightControl_styles.staticClasses; exports.HvRightControl = HvRightControl;