UNPKG

zmp-react

Version:

Build full featured iOS & Android apps using ZMP & React

45 lines (42 loc) 1.46 kB
import _extends from "@babel/runtime/helpers/extends"; import React, { forwardRef, useRef, useImperativeHandle } from 'react'; import { classNames, getExtraAttrs, getSlots } from '../shared/utils'; import { colorClasses } from '../shared/mixins'; var Appbar = /*#__PURE__*/forwardRef(function (props, ref) { var className = props.className, id = props.id, style = props.style, children = props.children, _props$inner = props.inner, inner = _props$inner === void 0 ? true : _props$inner, innerClass = props.innerClass, innerClassName = props.innerClassName, noShadow = props.noShadow, noHairline = props.noHairline; var extraAttrs = getExtraAttrs(props); var elRef = useRef(null); useImperativeHandle(ref, function () { return { el: elRef.current }; }); var innerEl; if (inner) { innerEl = /*#__PURE__*/React.createElement("div", { className: classNames('appbar-inner', innerClass, innerClassName) }, children); } var classes = classNames(className, 'appbar', { 'no-shadow': noShadow, 'no-hairline': noHairline }, colorClasses(props)); var slots = getSlots(props); return /*#__PURE__*/React.createElement("div", _extends({ id: id, style: style, className: classes, ref: elRef }, extraAttrs), slots['before-inner'], innerEl || slots.default, slots['after-inner']); }); Appbar.displayName = 'zmp-appbar'; export default Appbar;