UNPKG

@ui5/webcomponents-react

Version:

React Wrapper for UI5 Web Components and additional components

69 lines (68 loc) 4.35 kB
import '@ui5/webcomponents/dist/Bar.js'; import type BarDesign from '@ui5/webcomponents/dist/types/BarDesign.js'; import type { ReactNode } from 'react'; import type { CommonProps, Ui5DomRef, UI5WCSlotsNode } from '../../types/index.js'; interface BarAttributes { /** * Defines the component's design. * @default "Header" */ design?: BarDesign | keyof typeof BarDesign; } interface BarDomRef extends Required<BarAttributes>, Ui5DomRef { } interface BarPropTypes extends BarAttributes, Omit<CommonProps, keyof BarAttributes | 'children' | 'endContent' | 'startContent'> { /** * Defines the content in the middle of the bar. */ children?: ReactNode | ReactNode[]; /** * Defines the content at the end of the bar. * * __Note:__ The content of the prop will be rendered into a [&lt;slot&gt;](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot) by assigning the respective [slot](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/slot) attribute (`slot="endContent"`). * Since you can't change the DOM order of slots when declaring them within a prop, it might prove beneficial to manually mount them as part of the component's children, especially when facing problems with the reading order of screen readers. * * __Note:__ When passing a custom React component to this prop, you have to make sure your component reads the `slot` prop and appends it to the most outer element of your component. * Learn more about it [here](https://sap.github.io/ui5-webcomponents-react/v2/?path=/docs/knowledge-base-handling-slots--docs). */ endContent?: UI5WCSlotsNode; /** * Defines the content at the start of the bar. * * __Note:__ The content of the prop will be rendered into a [&lt;slot&gt;](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot) by assigning the respective [slot](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/slot) attribute (`slot="startContent"`). * Since you can't change the DOM order of slots when declaring them within a prop, it might prove beneficial to manually mount them as part of the component's children, especially when facing problems with the reading order of screen readers. * * __Note:__ When passing a custom React component to this prop, you have to make sure your component reads the `slot` prop and appends it to the most outer element of your component. * Learn more about it [here](https://sap.github.io/ui5-webcomponents-react/v2/?path=/docs/knowledge-base-handling-slots--docs). */ startContent?: UI5WCSlotsNode; } /** * The Bar is a container which is primarily used to hold titles, buttons and input elements * and its design and functionality is the basis for page headers and footers. * The component consists of three areas to hold its content - startContent slot, default slot and endContent slot. * It has the capability to center content, such as a title, while having other components on the left and right side. * * ### Usage * With the use of the design property, you can set the style of the Bar to appear designed like a Header, Subheader, Footer and FloatingFooter. * * **Note:** Do not place a Bar inside another Bar or inside any bar-like component. Doing so may cause unpredictable behavior. * * ### Responsive Behavior * The default slot will be centered in the available space between the startContent and the endContent areas, * therefore it might not always be centered in the entire bar. * * ### Keyboard Handling * * #### Fast Navigation * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up]. * In order to use this functionality, you need to import the following module: * `import "@ui5/webcomponents-base/dist/features/F6Navigation.js"` * * * * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/) */ declare const Bar: import("react").ForwardRefExoticComponent<BarPropTypes & import("../../internal/withWebComponent.js").WithWebComponentPropTypes & import("react").RefAttributes<BarDomRef>>; export { Bar }; export type { BarDomRef, BarPropTypes };