UNPKG

@fluentui/react-northstar

Version:
77 lines (75 loc) 2.69 kB
import * as React from 'react'; import * as PropTypes from 'prop-types'; import { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils'; import { Box } from '../Box/Box'; import { useTelemetry, getElementType, useAccessibility, useFluentContext, useUnhandledProps, useStyles } from '@fluentui/react-bindings'; export var segmentClassName = 'ui-segment'; /** * A Segment visually groups related content. */ export var Segment = /*#__PURE__*/function () { var Segment = /*#__PURE__*/React.forwardRef(function (props, ref) { var context = useFluentContext(); var _useTelemetry = useTelemetry(Segment.displayName, context.telemetry), setStart = _useTelemetry.setStart, setEnd = _useTelemetry.setEnd; setStart(); var children = props.children, content = props.content, color = props.color, inverted = props.inverted, disabled = props.disabled, className = props.className, design = props.design, styles = props.styles, variables = props.variables; var ElementType = getElementType(props); var unhandledProps = useUnhandledProps(Segment.handledProps, props); var getA11yProps = useAccessibility(props.accessibility, { debugName: Segment.displayName, rtl: context.rtl }); var _useStyles = useStyles(Segment.displayName, { className: segmentClassName, mapPropsToStyles: function mapPropsToStyles() { return { color: color, inverted: inverted, disabled: disabled }; }, mapPropsToInlineStyles: function mapPropsToInlineStyles() { return { className: className, design: design, styles: styles, variables: variables }; }, rtl: context.rtl }), classes = _useStyles.classes; var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({ className: classes.root, ref: ref }, rtlTextContainer.getAttributes({ forElements: [children] }), unhandledProps)), childrenExist(children) ? children : Box.create(content))); setEnd(); return element; }); Segment.displayName = 'Segment'; Segment.propTypes = Object.assign({}, commonPropTypes.createCommon({ content: 'shorthand', color: true }), { disabled: PropTypes.bool, inverted: PropTypes.bool }); Segment.handledProps = Object.keys(Segment.propTypes); Segment.create = createShorthandFactory({ Component: Segment }); return Segment; }(); //# sourceMappingURL=Segment.js.map