UNPKG

reakit

Version:

Toolkit for building accessible rich web apps with React

67 lines (58 loc) 2.38 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-8f9a8751.js'); var createComponent = require('reakit-system/createComponent'); var createHook = require('reakit-system/createHook'); require('reakit-utils/shallowEqual'); var React = require('react'); require('reakit-utils/useLiveRef'); require('reakit-utils/isSelfTarget'); require('reakit-utils/useIsomorphicEffect'); require('../Role/Role.js'); require('reakit-utils/canUseDOM'); require('../__keys-f41a441b.js'); var Disclosure_DisclosureContent = require('../Disclosure/DisclosureContent.js'); require('react-dom'); var Portal_Portal = require('../Portal/Portal.js'); var DialogBackdropContext = require('../DialogBackdropContext-b43e21d7.js'); var __keys = require('../__keys-0c8e6398.js'); var useDialogBackdrop = createHook.createHook({ name: "DialogBackdrop", compose: Disclosure_DisclosureContent.useDisclosureContent, keys: __keys.DIALOG_BACKDROP_KEYS, useOptions: function useOptions(_ref) { var _ref$modal = _ref.modal, modal = _ref$modal === void 0 ? true : _ref$modal, options = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, ["modal"]); return _rollupPluginBabelHelpers._objectSpread2({ modal: modal }, options); }, useProps: function useProps(options, _ref2) { var htmlWrapElement = _ref2.wrapElement, htmlProps = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref2, ["wrapElement"]); var wrapElement = React.useCallback(function (element) { if (options.modal) { element = /*#__PURE__*/React.createElement(Portal_Portal.Portal, null, /*#__PURE__*/React.createElement(DialogBackdropContext.DialogBackdropContext.Provider, { value: options.baseId }, element)); } if (htmlWrapElement) { return htmlWrapElement(element); } return element; }, [options.modal, htmlWrapElement]); return _rollupPluginBabelHelpers._objectSpread2({ id: undefined, "data-dialog-ref": options.baseId, wrapElement: wrapElement }, htmlProps); } }); var DialogBackdrop = createComponent.createComponent({ as: "div", memo: true, useHook: useDialogBackdrop }); exports.DialogBackdrop = DialogBackdrop; exports.useDialogBackdrop = useDialogBackdrop;