@flatbiz/antd
Version:
65 lines (60 loc) • 1.79 kB
JavaScript
/* 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