@tarojsx/ui
Version:
We reinvents the UI for Taro3+
21 lines • 1.47 kB
JavaScript
import { __rest } from "tslib";
import React, { useCallback } from 'react';
import classNames from 'classnames';
import { View, Text, ScrollView } from '@tarojs/components';
import '../style/FloatLayout.scss';
export const FloatLayout = props => {
const { className, style = {}, children, title, isOpened, scrollY = true, onClose = () => { } } = props, rest = __rest(props, ["className", "style", "children", "title", "isOpened", "scrollY", "onClose"]);
const handleClose = useCallback(e => {
onClose(e);
}, [onClose]);
const rootClass = classNames('at-float-layout', { 'at-float-layout--active': isOpened }, className);
return (React.createElement(View, { className: rootClass, onTouchMove: e => e.stopPropagation() },
React.createElement(View, { onClick: handleClose, className: "at-float-layout__overlay" }),
React.createElement(View, { className: "at-float-layout__container layout" },
title ? (React.createElement(View, { className: "layout-header" },
React.createElement(Text, { className: "layout-header__title" }, title),
React.createElement(View, { className: "layout-header__btn-close", onClick: handleClose }))) : null,
React.createElement(View, { className: "layout-body" },
React.createElement(ScrollView, Object.assign({ className: "layout-body__content", scrollY: scrollY }, rest), children)))));
};
//# sourceMappingURL=FloatLayout.js.map