exports.id = 99163; exports.ids = [99163]; exports.modules = { /***/ 96055: /***/ ((module) => { // Exports module.exports = { "content": "PopoverMenu_content__xL1VK", "slideDownAndFade": "PopoverMenu_slideDownAndFade__pzFg6", "slideLeftAndFade": "PopoverMenu_slideLeftAndFade__QgISc", "slideUpAndFade": "PopoverMenu_slideUpAndFade__8WPJz", "slideRightAndFade": "PopoverMenu_slideRightAndFade__o9TzG", "item": "PopoverMenu_item__e4y_f", "iconWrapper": "PopoverMenu_iconWrapper__ZzSRV", "shouldFlipOnRTL": "PopoverMenu_shouldFlipOnRTL__5sU77", "separator": "PopoverMenu_separator__jBJM6", "selected": "PopoverMenu_selected__NH0IG" }; /***/ }), /***/ 99163: /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ "f": () => (/* binding */ PopoverMenuExpandDirection) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(31481); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96055); /* harmony import */ var _PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _hooks_useDirection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(64365); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__]); _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0]; /* eslint-disable react/no-multi-comp */ var PopoverMenuExpandDirection; (function(PopoverMenuExpandDirection) { PopoverMenuExpandDirection["TOP"] = "top"; PopoverMenuExpandDirection["RIGHT"] = "right"; PopoverMenuExpandDirection["BOTTOM"] = "bottom"; PopoverMenuExpandDirection["LEFT"] = "left"; })(PopoverMenuExpandDirection || (PopoverMenuExpandDirection = {})); const PopoverMenu = ({ children , isOpen , trigger , isPortalled =true , isModal =true , shouldClose =true , onOpenChange , expandDirection: side = PopoverMenuExpandDirection.BOTTOM , contentClassName })=>{ const { 0: open , 1: setOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(isOpen); const direction = (0,_hooks_useDirection__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(); const content = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Content, { className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().content), contentClassName), side: side, children: children }); const handleOpenChange = (newOpen)=>{ if (!shouldClose) { return; } if (onOpenChange) { onOpenChange(newOpen); } setOpen(newOpen); }; (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ setOpen(isOpen); }, [ isOpen ]); return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Root, { dir: direction, open: open, modal: isModal, onOpenChange: handleOpenChange, children: [ trigger && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Trigger, { asChild: true, onClick: ()=>setOpen(true), children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", { children: trigger }) }), isPortalled ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Portal, { children: content }) : content ] }); }; PopoverMenu.Item = ({ children , icon , onClick , isDisabled , shouldCloseMenuAfterClick =false , shouldFlipOnRTL =false , className , id , isSelected , shouldStopPropagation })=>{ return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Item, { className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().item), className, { [(_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().selected)]: isSelected }), onClick: (e)=>{ if (shouldStopPropagation) e.stopPropagation(); if (!shouldCloseMenuAfterClick) { // PopoverMenu automatically close itself when one of item is clicked // this code prevent that, so it only close when user click outside of the PopoverMenu e.preventDefault(); } if (onClick) onClick(); }, disabled: isDisabled, id: id, children: [ icon && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", { className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().iconWrapper), { [(_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().shouldFlipOnRTL)]: shouldFlipOnRTL }), children: icon }), children ] }); }; PopoverMenu.Divider = ()=>{ return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Separator, { className: (_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().separator) }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PopoverMenu); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }) }; ; //# sourceMappingURL=99163.js.map