UNPKG

@flatbiz/antd

Version:
65 lines (60 loc) 1.79 kB
/* eslint-disable */ import './index.css'; /*! @flatjs/forge MIT @flatbiz/antd */ import { f as fbaUtils } from '../fba-utils-CusZeveq.js'; import { a as _slicedToArray } from '../_rollupPluginBabelHelpers-BspM60Sw.js'; import { classNames } from '@dimjs/utils/class-names/class-names'; import { useState } from 'react'; import { useKeyPress, useMemoizedFn } from 'ahooks'; import { jsx } from 'react/jsx-runtime'; import '@dimjs/lang/is-array'; import '@flatbiz/utils'; var FullScreenInner = function FullScreenInner(props) { useKeyPress(function () { return true; }, function (event) { if (event.type === 'keyup' && event.key === 'Escape' && props.handle.active) { props.handle.toggle(); } }, { events: ['keydown', 'keyup'] }); var cname = classNames('full-screen', { 'full-screen-active': props.handle.active }, props.className); return /*#__PURE__*/jsx("div", { className: cname, style: props.style, children: props.children }); }; var useFullScreenHandleInner = function useFullScreenHandleInner() { var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), active = _useState2[0], setActive = _useState2[1]; var toggle = useMemoizedFn(function () { setActive(!active); }); return { toggle: toggle, active: active }; }; /** * 全屏显示(点击键盘ESC可关闭全屏显示) * * ``` * const handle = FullScreen.useFullScreenHandle(); * * <FullScreen handle={handle}> * 包裹需要全屏的元素 * <Button onClick={handle.toggle}>全屏</Button> * </FullScreen> * ``` */ var FullScreen = fbaUtils.attachPropertiesToComponent(FullScreenInner, { useFullScreenHandle: useFullScreenHandleInner }); export { FullScreen }; //# sourceMappingURL=index.js.map