@ui5/webcomponents-react
Version:
React Wrapper for UI5 Web Components and additional components
69 lines (68 loc) • 4.35 kB
TypeScript
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 [<slot>](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 [<slot>](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 };