@syncfusion/react-navigations
Version:
A package of Pure React navigation components such as Toolbar and Context-menu which is used to navigate from one page to another
36 lines (35 loc) • 1.16 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { forwardRef, useImperativeHandle, useRef, memo, useMemo } from 'react';
const CLS_ITEM = 'sf-toolbar-item';
const CLS_SPACER = 'sf-spacer';
/**
* The ToolbarSpacer component is used to render an adjustable space within a Toolbar.
*
* ```typescript
* <Toolbar>
* <ToolbarItem><Button>New</Button></ToolbarItem>
* <ToolbarItem><Button>Open</Button></ToolbarItem>
* <ToolbarSpacer />
* <ToolbarItem><Button>Save</Button></ToolbarItem>
* </Toolbar>
* ```
*/
export const ToolbarSpacer = memo(forwardRef((props, ref) => {
const { className = '', ...eleAttr } = props;
const spacerRef = useRef(null);
const classes = useMemo(() => {
const classes = [CLS_ITEM, CLS_SPACER];
if (className) {
classes.push(className);
}
return classes.join(' ');
}, [className]);
useImperativeHandle(ref, () => {
return {
element: spacerRef.current
};
});
return (_jsx("div", { ref: spacerRef, className: classes, ...eleAttr }));
}));
ToolbarSpacer.displayName = 'ToolbarSpacer';
export default ToolbarSpacer;