@ariakit/react-core
Version:
Ariakit React core
76 lines (57 loc) • 2.4 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});
var _26P4PLHIcjs = require('./26P4PLHI.cjs');
var _I3ICHD5Kcjs = require('./I3ICHD5K.cjs');
var _ZRZUZ7E7cjs = require('./ZRZUZ7E7.cjs');
var _3YJARQUNcjs = require('./3YJARQUN.cjs');
var _76LCMKUIcjs = require('./76LCMKUI.cjs');
var _L5A2ID7Scjs = require('./L5A2ID7S.cjs');
var _7EQBAZ46cjs = require('./7EQBAZ46.cjs');
// src/dialog/dialog-backdrop.tsx
var _react = require('react');
var _jsxruntime = require('react/jsx-runtime');
function DialogBackdrop({
store,
backdrop,
alwaysVisible,
hidden
}) {
const ref = _react.useRef.call(void 0, null);
const disclosure = _ZRZUZ7E7cjs.useDisclosureStore.call(void 0, { disclosure: store });
const contentElement = _76LCMKUIcjs.useStoreState.call(void 0, store, "contentElement");
_react.useEffect.call(void 0, () => {
const backdrop2 = ref.current;
const dialog = contentElement;
if (!backdrop2) return;
if (!dialog) return;
backdrop2.style.zIndex = getComputedStyle(dialog).zIndex;
}, [contentElement]);
_L5A2ID7Scjs.useSafeLayoutEffect.call(void 0, () => {
const id = contentElement == null ? void 0 : contentElement.id;
if (!id) return;
const backdrop2 = ref.current;
if (!backdrop2) return;
return _26P4PLHIcjs.markAncestor.call(void 0, backdrop2, id);
}, [contentElement]);
const props = _I3ICHD5Kcjs.useDisclosureContent.call(void 0, {
ref,
store: disclosure,
role: "presentation",
"data-backdrop": (contentElement == null ? void 0 : contentElement.id) || "",
alwaysVisible,
hidden: hidden != null ? hidden : void 0,
style: {
position: "fixed",
top: 0,
right: 0,
bottom: 0,
left: 0
}
});
if (!backdrop) return null;
if (_react.isValidElement.call(void 0, backdrop)) {
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _3YJARQUNcjs.Role, _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, {}, props), { render: backdrop }));
}
const Component = typeof backdrop !== "boolean" ? backdrop : "div";
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _3YJARQUNcjs.Role, _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, {}, props), { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component, {}) }));
}
exports.DialogBackdrop = DialogBackdrop;