UNPKG

@ariakit/core

Version:
64 lines (47 loc) 2.35 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _YMCSKJHRcjs = require('./YMCSKJHR.cjs'); var _ASR6PAFNcjs = require('./ASR6PAFN.cjs'); var _MLCPLY2Pcjs = require('./MLCPLY2P.cjs'); var _7EQBAZ46cjs = require('./7EQBAZ46.cjs'); // src/popover/popover-store.ts function createPopoverStore(_a = {}) { var _b = _a, { popover: otherPopover } = _b, props = _7EQBAZ46cjs.__objRest.call(void 0, _b, [ "popover" ]); const store = _ASR6PAFNcjs.mergeStore.call(void 0, props.store, _ASR6PAFNcjs.omit.call(void 0, otherPopover, [ "arrowElement", "anchorElement", "contentElement", "popoverElement", "disclosureElement" ]) ); _ASR6PAFNcjs.throwOnConflictingProps.call(void 0, props, store); const syncState = store == null ? void 0 : store.getState(); const dialog = _YMCSKJHRcjs.createDialogStore.call(void 0, _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, {}, props), { store })); const placement = _MLCPLY2Pcjs.defaultValue.call(void 0, props.placement, syncState == null ? void 0 : syncState.placement, "bottom" ); const initialState = _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, {}, dialog.getState()), { placement, currentPlacement: placement, anchorElement: _MLCPLY2Pcjs.defaultValue.call(void 0, syncState == null ? void 0 : syncState.anchorElement, null), popoverElement: _MLCPLY2Pcjs.defaultValue.call(void 0, syncState == null ? void 0 : syncState.popoverElement, null), arrowElement: _MLCPLY2Pcjs.defaultValue.call(void 0, syncState == null ? void 0 : syncState.arrowElement, null), rendered: Symbol("rendered") }); const popover = _ASR6PAFNcjs.createStore.call(void 0, initialState, dialog, store); return _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, {}, dialog), popover), { setAnchorElement: (element) => popover.setState("anchorElement", element), setPopoverElement: (element) => popover.setState("popoverElement", element), setArrowElement: (element) => popover.setState("arrowElement", element), render: () => popover.setState("rendered", Symbol("rendered")) }); } exports.createPopoverStore = createPopoverStore;