99163.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. exports.id = 99163;
  2. exports.ids = [99163];
  3. exports.modules = {
  4. /***/ 96055:
  5. /***/ ((module) => {
  6. // Exports
  7. module.exports = {
  8. "content": "PopoverMenu_content__xL1VK",
  9. "slideDownAndFade": "PopoverMenu_slideDownAndFade__pzFg6",
  10. "slideLeftAndFade": "PopoverMenu_slideLeftAndFade__QgISc",
  11. "slideUpAndFade": "PopoverMenu_slideUpAndFade__8WPJz",
  12. "slideRightAndFade": "PopoverMenu_slideRightAndFade__o9TzG",
  13. "item": "PopoverMenu_item__e4y_f",
  14. "iconWrapper": "PopoverMenu_iconWrapper__ZzSRV",
  15. "shouldFlipOnRTL": "PopoverMenu_shouldFlipOnRTL__5sU77",
  16. "separator": "PopoverMenu_separator__jBJM6",
  17. "selected": "PopoverMenu_selected__NH0IG"
  18. };
  19. /***/ }),
  20. /***/ 99163:
  21. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  22. "use strict";
  23. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  24. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  25. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__),
  26. /* harmony export */ "f": () => (/* binding */ PopoverMenuExpandDirection)
  27. /* harmony export */ });
  28. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  29. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  30. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  31. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  32. /* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(31481);
  33. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003);
  34. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
  35. /* harmony import */ var _PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96055);
  36. /* harmony import */ var _PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5__);
  37. /* harmony import */ var _hooks_useDirection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(64365);
  38. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__]);
  39. _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  40. /* eslint-disable react/no-multi-comp */
  41. var PopoverMenuExpandDirection;
  42. (function(PopoverMenuExpandDirection) {
  43. PopoverMenuExpandDirection["TOP"] = "top";
  44. PopoverMenuExpandDirection["RIGHT"] = "right";
  45. PopoverMenuExpandDirection["BOTTOM"] = "bottom";
  46. PopoverMenuExpandDirection["LEFT"] = "left";
  47. })(PopoverMenuExpandDirection || (PopoverMenuExpandDirection = {}));
  48. const PopoverMenu = ({ children , isOpen , trigger , isPortalled =true , isModal =true , shouldClose =true , onOpenChange , expandDirection: side = PopoverMenuExpandDirection.BOTTOM , contentClassName })=>{
  49. const { 0: open , 1: setOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(isOpen);
  50. const direction = (0,_hooks_useDirection__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)();
  51. const content = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Content, {
  52. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().content), contentClassName),
  53. side: side,
  54. children: children
  55. });
  56. const handleOpenChange = (newOpen)=>{
  57. if (!shouldClose) {
  58. return;
  59. }
  60. if (onOpenChange) {
  61. onOpenChange(newOpen);
  62. }
  63. setOpen(newOpen);
  64. };
  65. (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
  66. setOpen(isOpen);
  67. }, [
  68. isOpen
  69. ]);
  70. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Root, {
  71. dir: direction,
  72. open: open,
  73. modal: isModal,
  74. onOpenChange: handleOpenChange,
  75. children: [
  76. trigger && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Trigger, {
  77. asChild: true,
  78. onClick: ()=>setOpen(true),
  79. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  80. children: trigger
  81. })
  82. }),
  83. isPortalled ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Portal, {
  84. children: content
  85. }) : content
  86. ]
  87. });
  88. };
  89. PopoverMenu.Item = ({ children , icon , onClick , isDisabled , shouldCloseMenuAfterClick =false , shouldFlipOnRTL =false , className , id , isSelected , shouldStopPropagation })=>{
  90. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Item, {
  91. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().item), className, {
  92. [(_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().selected)]: isSelected
  93. }),
  94. onClick: (e)=>{
  95. if (shouldStopPropagation) e.stopPropagation();
  96. if (!shouldCloseMenuAfterClick) {
  97. // PopoverMenu automatically close itself when one of item is clicked
  98. // this code prevent that, so it only close when user click outside of the PopoverMenu
  99. e.preventDefault();
  100. }
  101. if (onClick) onClick();
  102. },
  103. disabled: isDisabled,
  104. id: id,
  105. children: [
  106. icon && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  107. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().iconWrapper), {
  108. [(_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().shouldFlipOnRTL)]: shouldFlipOnRTL
  109. }),
  110. children: icon
  111. }),
  112. children
  113. ]
  114. });
  115. };
  116. PopoverMenu.Divider = ()=>{
  117. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_2__.Separator, {
  118. className: (_PopoverMenu_module_scss__WEBPACK_IMPORTED_MODULE_5___default().separator)
  119. });
  120. };
  121. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PopoverMenu);
  122. __webpack_async_result__();
  123. } catch(e) { __webpack_async_result__(e); } });
  124. /***/ })
  125. };
  126. ;
  127. //# sourceMappingURL=99163.js.map