zmp-react
Version:
Build full featured iOS & Android apps using ZMP & React
50 lines (47 loc) • 1.31 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React, { forwardRef, useRef, useImperativeHandle } from 'react';
import Fab from '../components/fab';
import { classNames } from '../shared/utils';
/* dts-props
id?: string | number;
className?: string;
style?: React.CSSProperties;
morphTo? : string;
href? : boolean | string;
target? : string;
text? : string;
position? : string;
tooltip? : string;
tooltipTrigger? : string;
onClick? : (event?: any) => void;
large: boolean;
small: boolean;
disabled: boolean;
COLOR_PROPS
ref?: React.MutableRefObject<{el: HTMLElement | null}>;
CHILDREN_PROP
*/
var ZMPFab = /*#__PURE__*/forwardRef(function (props, ref) {
var elRef = useRef(null);
var large = props.large,
small = props.small,
className = props.className,
disabled = props.disabled;
useImperativeHandle(ref, function () {
return elRef.current;
});
var sizeClass = '';
if (small) {
sizeClass = 'zmp-fab-small';
} else if (large) {
sizeClass = 'zmp-fab-large';
}
var classes = classNames(className, sizeClass, disabled ? 'disabled' : '');
return /*#__PURE__*/React.createElement(Fab, _extends({
ref: elRef
}, props, {
className: classes
}));
});
ZMPFab.displayName = 'zmp-fab';
export default ZMPFab;