{"ast":null,"code":"import React, { Component } from 'react';\nimport { DomHandler, classNames, ObjectUtils, ZIndexUtils } from 'primereact/utils';\nimport { CSSTransition } from 'primereact/csstransition';\nimport { Ripple } from 'primereact/ripple';\nimport { Portal } from 'primereact/portal';\nimport PrimeReact from 'primereact/api';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar ContextMenuSub = /*#__PURE__*/function (_Component) {\n _inherits(ContextMenuSub, _Component);\n\n var _super = _createSuper(ContextMenuSub);\n\n function ContextMenuSub(props) {\n var _this;\n\n _classCallCheck(this, ContextMenuSub);\n\n _this = _super.call(this, props);\n _this.state = {\n activeItem: null\n };\n _this.onEnter = _this.onEnter.bind(_assertThisInitialized(_this));\n _this.submenuRef = /*#__PURE__*/React.createRef();\n return _this;\n }\n\n _createClass(ContextMenuSub, [{\n key: \"onItemMouseEnter\",\n value: function onItemMouseEnter(event, item) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n this.setState({\n activeItem: item\n });\n }\n }, {\n key: \"onItemClick\",\n value: function onItemClick(event, item) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (!item.items) {\n this.props.onLeafClick(event);\n }\n }\n }, {\n key: \"position\",\n value: function position() {\n var parentItem = this.submenuRef.current.parentElement;\n var containerOffset = DomHandler.getOffset(this.submenuRef.current.parentElement);\n var viewport = DomHandler.getViewport();\n var sublistWidth = this.submenuRef.current.offsetParent ? this.submenuRef.current.offsetWidth : DomHandler.getHiddenElementOuterWidth(this.submenuRef.current);\n var itemOuterWidth = DomHandler.getOuterWidth(parentItem.children[0]);\n this.submenuRef.current.style.top = '0px';\n\n if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - DomHandler.calculateScrollbarWidth()) {\n this.submenuRef.current.style.left = -1 * sublistWidth + 'px';\n } else {\n this.submenuRef.current.style.left = itemOuterWidth + 'px';\n }\n }\n }, {\n key: \"onEnter\",\n value: function onEnter() {\n this.position();\n }\n }, {\n key: \"isActive\",\n value: function isActive() {\n return this.props.root || !this.props.resetMenu;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (this.isActive()) {\n this.position();\n }\n }\n }, {\n key: \"renderSeparator\",\n value: function renderSeparator(index) {\n return /*#__PURE__*/React.createElement(\"li\", {\n key: 'separator_' + index,\n className: \"p-menu-separator\",\n role: \"separator\"\n });\n }\n }, {\n key: \"renderSubmenu\",\n value: function renderSubmenu(item) {\n if (item.items) {\n return /*#__PURE__*/React.createElement(ContextMenuSub, {\n model: item.items,\n resetMenu: item !== this.state.activeItem,\n onLeafClick: this.props.onLeafClick\n });\n }\n\n return null;\n }\n }, {\n key: \"renderMenuitem\",\n value: function renderMenuitem(item, index) {\n var _this2 = this;\n\n var active = this.state.activeItem === item;\n var className = classNames('p-menuitem', {\n 'p-menuitem-active': active\n }, item.className);\n var linkClassName = classNames('p-menuitem-link', {\n 'p-disabled': item.disabled\n });\n var iconClassName = classNames('p-menuitem-icon', item.icon);\n var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';\n var icon = item.icon && /*#__PURE__*/React.createElement(\"span\", {\n className: iconClassName\n });\n var label = item.label && /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-menuitem-text\"\n }, item.label);\n var submenuIcon = item.items && /*#__PURE__*/React.createElement(\"span\", {\n className: submenuIconClassName\n });\n var submenu = this.renderSubmenu(item);\n var content = /*#__PURE__*/React.createElement(\"a\", {\n href: item.url || '#',\n className: linkClassName,\n target: item.target,\n onClick: function onClick(event) {\n return _this2.onItemClick(event, item, index);\n },\n role: \"menuitem\",\n \"aria-haspopup\": item.items != null,\n \"aria-disabled\": item.disabled\n }, icon, label, submenuIcon, /*#__PURE__*/React.createElement(Ripple, null));\n\n if (item.template) {\n var defaultContentOptions = {\n onClick: function onClick(event) {\n return _this2.onItemClick(event, item, index);\n },\n className: linkClassName,\n labelClassName: 'p-menuitem-text',\n iconClassName: iconClassName,\n submenuIconClassName: submenuIconClassName,\n element: content,\n props: this.props,\n active: active\n };\n content = ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);\n }\n\n return /*#__PURE__*/React.createElement(\"li\", {\n key: item.label + '_' + index,\n role: \"none\",\n className: className,\n style: item.style,\n onMouseEnter: function onMouseEnter(event) {\n return _this2.onItemMouseEnter(event, item);\n }\n }, content, submenu);\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(item, index) {\n if (item.separator) return this.renderSeparator(index);else return this.renderMenuitem(item, index);\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this3 = this;\n\n if (this.props.model) {\n return this.props.model.map(function (item, index) {\n return _this3.renderItem(item, index);\n });\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var className = classNames({\n 'p-submenu-list': !this.props.root\n });\n var submenu = this.renderMenu();\n var isActive = this.isActive();\n return /*#__PURE__*/React.createElement(CSSTransition, {\n nodeRef: this.submenuRef,\n classNames: \"p-contextmenusub\",\n \"in\": isActive,\n timeout: {\n enter: 0,\n exit: 0\n },\n unmountOnExit: true,\n onEnter: this.onEnter\n }, /*#__PURE__*/React.createElement(\"ul\", {\n ref: this.submenuRef,\n className: className\n }, submenu));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.resetMenu === true) {\n return {\n activeItem: null\n };\n }\n\n return null;\n }\n }]);\n\n return ContextMenuSub;\n}(Component);\n\n_defineProperty(ContextMenuSub, \"defaultProps\", {\n model: null,\n root: false,\n className: null,\n resetMenu: false,\n onLeafClick: null\n});\n\nvar ContextMenu = /*#__PURE__*/function (_Component2) {\n _inherits(ContextMenu, _Component2);\n\n var _super2 = _createSuper(ContextMenu);\n\n function ContextMenu(props) {\n var _this4;\n\n _classCallCheck(this, ContextMenu);\n\n _this4 = _super2.call(this, props);\n _this4.state = {\n visible: false,\n reshow: false,\n resetMenu: false\n };\n _this4.onMenuClick = _this4.onMenuClick.bind(_assertThisInitialized(_this4));\n _this4.onLeafClick = _this4.onLeafClick.bind(_assertThisInitialized(_this4));\n _this4.onMenuMouseEnter = _this4.onMenuMouseEnter.bind(_assertThisInitialized(_this4));\n _this4.onEnter = _this4.onEnter.bind(_assertThisInitialized(_this4));\n _this4.onEntered = _this4.onEntered.bind(_assertThisInitialized(_this4));\n _this4.onExit = _this4.onExit.bind(_assertThisInitialized(_this4));\n _this4.onExited = _this4.onExited.bind(_assertThisInitialized(_this4));\n _this4.menuRef = /*#__PURE__*/React.createRef();\n return _this4;\n }\n\n _createClass(ContextMenu, [{\n key: \"onMenuClick\",\n value: function onMenuClick() {\n this.setState({\n resetMenu: false\n });\n }\n }, {\n key: \"onMenuMouseEnter\",\n value: function onMenuMouseEnter() {\n this.setState({\n resetMenu: false\n });\n }\n }, {\n key: \"show\",\n value: function show(event) {\n var _this5 = this;\n\n if (!(event instanceof Event)) {\n event.persist();\n }\n\n event.stopPropagation();\n event.preventDefault();\n this.currentEvent = event;\n\n if (this.state.visible) {\n this.setState({\n reshow: true\n });\n } else {\n this.setState({\n visible: true\n }, function () {\n if (_this5.props.onShow) {\n _this5.props.onShow(_this5.currentEvent);\n }\n });\n }\n }\n }, {\n key: \"hide\",\n value: function hide(event) {\n var _this6 = this;\n\n if (!(event instanceof Event)) {\n event.persist();\n }\n\n this.currentEvent = event;\n this.setState({\n visible: false,\n reshow: false\n }, function () {\n if (_this6.props.onHide) {\n _this6.props.onHide(_this6.currentEvent);\n }\n });\n }\n }, {\n key: \"onEnter\",\n value: function onEnter() {\n if (this.props.autoZIndex) {\n ZIndexUtils.set('menu', this.menuRef.current, PrimeReact.autoZIndex, this.props.baseZIndex || PrimeReact.zIndex['menu']);\n }\n\n this.position(this.currentEvent);\n }\n }, {\n key: \"onEntered\",\n value: function onEntered() {\n this.bindDocumentListeners();\n }\n }, {\n key: \"onExit\",\n value: function onExit() {\n this.currentEvent = null;\n this.unbindDocumentListeners();\n }\n }, {\n key: \"onExited\",\n value: function onExited() {\n ZIndexUtils.clear(this.menuRef.current);\n }\n }, {\n key: \"position\",\n value: function position(event) {\n if (event) {\n var left = event.pageX + 1;\n var top = event.pageY + 1;\n var width = this.menuRef.current.offsetParent ? this.menuRef.current.offsetWidth : DomHandler.getHiddenElementOuterWidth(this.menuRef.current);\n var height = this.menuRef.current.offsetParent ? this.menuRef.current.offsetHeight : DomHandler.getHiddenElementOuterHeight(this.menuRef.current);\n var viewport = DomHandler.getViewport(); //flip\n\n if (left + width - document.body.scrollLeft > viewport.width) {\n left -= width;\n } //flip\n\n\n if (top + height - document.body.scrollTop > viewport.height) {\n top -= height;\n } //fit\n\n\n if (left < document.body.scrollLeft) {\n left = document.body.scrollLeft;\n } //fit\n\n\n if (top < document.body.scrollTop) {\n top = document.body.scrollTop;\n }\n\n this.menuRef.current.style.left = left + 'px';\n this.menuRef.current.style.top = top + 'px';\n }\n }\n }, {\n key: \"onLeafClick\",\n value: function onLeafClick(event) {\n this.setState({\n resetMenu: true\n });\n this.hide(event);\n event.stopPropagation();\n }\n }, {\n key: \"isOutsideClicked\",\n value: function isOutsideClicked(event) {\n return this.menuRef && this.menuRef.current && !(this.menuRef.current.isSameNode(event.target) || this.menuRef.current.contains(event.target));\n }\n }, {\n key: \"bindDocumentListeners\",\n value: function bindDocumentListeners() {\n this.bindDocumentResizeListener();\n this.bindDocumentClickListener();\n }\n }, {\n key: \"unbindDocumentListeners\",\n value: function unbindDocumentListeners() {\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n }\n }, {\n key: \"bindDocumentClickListener\",\n value: function bindDocumentClickListener() {\n var _this7 = this;\n\n if (!this.documentClickListener) {\n this.documentClickListener = function (event) {\n if (_this7.isOutsideClicked(event) && event.button !== 2) {\n _this7.hide(event);\n\n _this7.setState({\n resetMenu: true\n });\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n }, {\n key: \"bindDocumentContextMenuListener\",\n value: function bindDocumentContextMenuListener() {\n var _this8 = this;\n\n if (!this.documentContextMenuListener) {\n this.documentContextMenuListener = function (event) {\n _this8.show(event);\n };\n\n document.addEventListener('contextmenu', this.documentContextMenuListener);\n }\n }\n }, {\n key: \"bindDocumentResizeListener\",\n value: function bindDocumentResizeListener() {\n var _this9 = this;\n\n if (!this.documentResizeListener) {\n this.documentResizeListener = function (event) {\n if (_this9.state.visible && !DomHandler.isTouchDevice()) {\n _this9.hide(event);\n }\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n }\n }, {\n key: \"unbindDocumentClickListener\",\n value: function unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n }, {\n key: \"unbindDocumentContextMenuListener\",\n value: function unbindDocumentContextMenuListener() {\n if (this.documentContextMenuListener) {\n document.removeEventListener('contextmenu', this.documentContextMenuListener);\n this.documentContextMenuListener = null;\n }\n }\n }, {\n key: \"unbindDocumentResizeListener\",\n value: function unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.global) {\n this.bindDocumentContextMenuListener();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this10 = this;\n\n if (this.state.visible && (prevState.reshow !== this.state.reshow || prevProps.model !== this.props.model)) {\n var event = this.currentEvent;\n this.setState({\n visible: false,\n reshow: false,\n rePosition: false,\n resetMenu: true\n }, function () {\n return _this10.show(event);\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unbindDocumentListeners();\n this.unbindDocumentContextMenuListener();\n ZIndexUtils.clear(this.menuRef.current);\n }\n }, {\n key: \"renderContextMenu\",\n value: function renderContextMenu() {\n var className = classNames('p-contextmenu p-component', this.props.className);\n return /*#__PURE__*/React.createElement(CSSTransition, {\n nodeRef: this.menuRef,\n classNames: \"p-contextmenu\",\n \"in\": this.state.visible,\n timeout: {\n enter: 250,\n exit: 0\n },\n options: this.props.transitionOptions,\n unmountOnExit: true,\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExited: this.onExited\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: this.menuRef,\n id: this.props.id,\n className: className,\n style: this.props.style,\n onClick: this.onMenuClick,\n onMouseEnter: this.onMenuMouseEnter\n }, /*#__PURE__*/React.createElement(ContextMenuSub, {\n model: this.props.model,\n root: true,\n resetMenu: this.state.resetMenu,\n onLeafClick: this.onLeafClick\n })));\n }\n }, {\n key: \"render\",\n value: function render() {\n var element = this.renderContextMenu();\n return /*#__PURE__*/React.createElement(Portal, {\n element: element,\n appendTo: this.props.appendTo\n });\n }\n }]);\n\n return ContextMenu;\n}(Component);\n\n_defineProperty(ContextMenu, \"defaultProps\", {\n id: null,\n model: null,\n style: null,\n className: null,\n global: false,\n autoZIndex: true,\n baseZIndex: 0,\n appendTo: null,\n transitionOptions: null,\n onShow: null,\n onHide: null\n});\n\nexport { ContextMenu };","map":{"version":3,"names":["React","Component","DomHandler","classNames","ObjectUtils","ZIndexUtils","CSSTransition","Ripple","Portal","PrimeReact","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","constructor","value","_typeof","obj","Symbol","iterator","_possibleConstructorReturn","call","_getPrototypeOf","getPrototypeOf","_defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","result","NewTarget","Reflect","construct","arguments","apply","sham","Proxy","Boolean","valueOf","e","ContextMenuSub","_Component","_super","_this","state","activeItem","onEnter","bind","submenuRef","createRef","onItemMouseEnter","event","item","disabled","preventDefault","setState","onItemClick","url","command","originalEvent","items","onLeafClick","position","parentItem","current","parentElement","containerOffset","getOffset","viewport","getViewport","sublistWidth","offsetParent","offsetWidth","getHiddenElementOuterWidth","itemOuterWidth","getOuterWidth","children","style","top","parseInt","left","width","calculateScrollbarWidth","isActive","root","resetMenu","componentDidUpdate","renderSeparator","index","createElement","className","role","renderSubmenu","model","renderMenuitem","_this2","active","linkClassName","iconClassName","icon","submenuIconClassName","label","submenuIcon","submenu","content","href","onClick","template","defaultContentOptions","labelClassName","element","getJSXElement","onMouseEnter","renderItem","separator","renderMenu","_this3","map","render","nodeRef","timeout","enter","exit","unmountOnExit","ref","getDerivedStateFromProps","nextProps","prevState","ContextMenu","_Component2","_super2","_this4","visible","reshow","onMenuClick","onMenuMouseEnter","onEntered","onExit","onExited","menuRef","show","_this5","Event","persist","stopPropagation","currentEvent","onShow","hide","_this6","onHide","autoZIndex","set","baseZIndex","zIndex","bindDocumentListeners","unbindDocumentListeners","clear","pageX","pageY","height","offsetHeight","getHiddenElementOuterHeight","document","body","scrollLeft","scrollTop","isOutsideClicked","isSameNode","contains","bindDocumentResizeListener","bindDocumentClickListener","unbindDocumentResizeListener","unbindDocumentClickListener","_this7","documentClickListener","button","addEventListener","bindDocumentContextMenuListener","_this8","documentContextMenuListener","_this9","documentResizeListener","isTouchDevice","window","removeEventListener","unbindDocumentContextMenuListener","componentDidMount","global","prevProps","_this10","rePosition","componentWillUnmount","renderContextMenu","options","transitionOptions","id","appendTo"],"sources":["/Users/paolasanchez/Desktop/Pry4/Katoikia/katoikia-app/web-ui/sakai-react/node_modules/primereact/contextmenu/contextmenu.esm.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { DomHandler, classNames, ObjectUtils, ZIndexUtils } from 'primereact/utils';\nimport { CSSTransition } from 'primereact/csstransition';\nimport { Ripple } from 'primereact/ripple';\nimport { Portal } from 'primereact/portal';\nimport PrimeReact from 'primereact/api';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ContextMenuSub = /*#__PURE__*/function (_Component) {\n _inherits(ContextMenuSub, _Component);\n\n var _super = _createSuper(ContextMenuSub);\n\n function ContextMenuSub(props) {\n var _this;\n\n _classCallCheck(this, ContextMenuSub);\n\n _this = _super.call(this, props);\n _this.state = {\n activeItem: null\n };\n _this.onEnter = _this.onEnter.bind(_assertThisInitialized(_this));\n _this.submenuRef = /*#__PURE__*/React.createRef();\n return _this;\n }\n\n _createClass(ContextMenuSub, [{\n key: \"onItemMouseEnter\",\n value: function onItemMouseEnter(event, item) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n this.setState({\n activeItem: item\n });\n }\n }, {\n key: \"onItemClick\",\n value: function onItemClick(event, item) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (!item.items) {\n this.props.onLeafClick(event);\n }\n }\n }, {\n key: \"position\",\n value: function position() {\n var parentItem = this.submenuRef.current.parentElement;\n var containerOffset = DomHandler.getOffset(this.submenuRef.current.parentElement);\n var viewport = DomHandler.getViewport();\n var sublistWidth = this.submenuRef.current.offsetParent ? this.submenuRef.current.offsetWidth : DomHandler.getHiddenElementOuterWidth(this.submenuRef.current);\n var itemOuterWidth = DomHandler.getOuterWidth(parentItem.children[0]);\n this.submenuRef.current.style.top = '0px';\n\n if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - DomHandler.calculateScrollbarWidth()) {\n this.submenuRef.current.style.left = -1 * sublistWidth + 'px';\n } else {\n this.submenuRef.current.style.left = itemOuterWidth + 'px';\n }\n }\n }, {\n key: \"onEnter\",\n value: function onEnter() {\n this.position();\n }\n }, {\n key: \"isActive\",\n value: function isActive() {\n return this.props.root || !this.props.resetMenu;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (this.isActive()) {\n this.position();\n }\n }\n }, {\n key: \"renderSeparator\",\n value: function renderSeparator(index) {\n return /*#__PURE__*/React.createElement(\"li\", {\n key: 'separator_' + index,\n className: \"p-menu-separator\",\n role: \"separator\"\n });\n }\n }, {\n key: \"renderSubmenu\",\n value: function renderSubmenu(item) {\n if (item.items) {\n return /*#__PURE__*/React.createElement(ContextMenuSub, {\n model: item.items,\n resetMenu: item !== this.state.activeItem,\n onLeafClick: this.props.onLeafClick\n });\n }\n\n return null;\n }\n }, {\n key: \"renderMenuitem\",\n value: function renderMenuitem(item, index) {\n var _this2 = this;\n\n var active = this.state.activeItem === item;\n var className = classNames('p-menuitem', {\n 'p-menuitem-active': active\n }, item.className);\n var linkClassName = classNames('p-menuitem-link', {\n 'p-disabled': item.disabled\n });\n var iconClassName = classNames('p-menuitem-icon', item.icon);\n var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';\n var icon = item.icon && /*#__PURE__*/React.createElement(\"span\", {\n className: iconClassName\n });\n var label = item.label && /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-menuitem-text\"\n }, item.label);\n var submenuIcon = item.items && /*#__PURE__*/React.createElement(\"span\", {\n className: submenuIconClassName\n });\n var submenu = this.renderSubmenu(item);\n var content = /*#__PURE__*/React.createElement(\"a\", {\n href: item.url || '#',\n className: linkClassName,\n target: item.target,\n onClick: function onClick(event) {\n return _this2.onItemClick(event, item, index);\n },\n role: \"menuitem\",\n \"aria-haspopup\": item.items != null,\n \"aria-disabled\": item.disabled\n }, icon, label, submenuIcon, /*#__PURE__*/React.createElement(Ripple, null));\n\n if (item.template) {\n var defaultContentOptions = {\n onClick: function onClick(event) {\n return _this2.onItemClick(event, item, index);\n },\n className: linkClassName,\n labelClassName: 'p-menuitem-text',\n iconClassName: iconClassName,\n submenuIconClassName: submenuIconClassName,\n element: content,\n props: this.props,\n active: active\n };\n content = ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);\n }\n\n return /*#__PURE__*/React.createElement(\"li\", {\n key: item.label + '_' + index,\n role: \"none\",\n className: className,\n style: item.style,\n onMouseEnter: function onMouseEnter(event) {\n return _this2.onItemMouseEnter(event, item);\n }\n }, content, submenu);\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(item, index) {\n if (item.separator) return this.renderSeparator(index);else return this.renderMenuitem(item, index);\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this3 = this;\n\n if (this.props.model) {\n return this.props.model.map(function (item, index) {\n return _this3.renderItem(item, index);\n });\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var className = classNames({\n 'p-submenu-list': !this.props.root\n });\n var submenu = this.renderMenu();\n var isActive = this.isActive();\n return /*#__PURE__*/React.createElement(CSSTransition, {\n nodeRef: this.submenuRef,\n classNames: \"p-contextmenusub\",\n \"in\": isActive,\n timeout: {\n enter: 0,\n exit: 0\n },\n unmountOnExit: true,\n onEnter: this.onEnter\n }, /*#__PURE__*/React.createElement(\"ul\", {\n ref: this.submenuRef,\n className: className\n }, submenu));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.resetMenu === true) {\n return {\n activeItem: null\n };\n }\n\n return null;\n }\n }]);\n\n return ContextMenuSub;\n}(Component);\n\n_defineProperty(ContextMenuSub, \"defaultProps\", {\n model: null,\n root: false,\n className: null,\n resetMenu: false,\n onLeafClick: null\n});\n\nvar ContextMenu = /*#__PURE__*/function (_Component2) {\n _inherits(ContextMenu, _Component2);\n\n var _super2 = _createSuper(ContextMenu);\n\n function ContextMenu(props) {\n var _this4;\n\n _classCallCheck(this, ContextMenu);\n\n _this4 = _super2.call(this, props);\n _this4.state = {\n visible: false,\n reshow: false,\n resetMenu: false\n };\n _this4.onMenuClick = _this4.onMenuClick.bind(_assertThisInitialized(_this4));\n _this4.onLeafClick = _this4.onLeafClick.bind(_assertThisInitialized(_this4));\n _this4.onMenuMouseEnter = _this4.onMenuMouseEnter.bind(_assertThisInitialized(_this4));\n _this4.onEnter = _this4.onEnter.bind(_assertThisInitialized(_this4));\n _this4.onEntered = _this4.onEntered.bind(_assertThisInitialized(_this4));\n _this4.onExit = _this4.onExit.bind(_assertThisInitialized(_this4));\n _this4.onExited = _this4.onExited.bind(_assertThisInitialized(_this4));\n _this4.menuRef = /*#__PURE__*/React.createRef();\n return _this4;\n }\n\n _createClass(ContextMenu, [{\n key: \"onMenuClick\",\n value: function onMenuClick() {\n this.setState({\n resetMenu: false\n });\n }\n }, {\n key: \"onMenuMouseEnter\",\n value: function onMenuMouseEnter() {\n this.setState({\n resetMenu: false\n });\n }\n }, {\n key: \"show\",\n value: function show(event) {\n var _this5 = this;\n\n if (!(event instanceof Event)) {\n event.persist();\n }\n\n event.stopPropagation();\n event.preventDefault();\n this.currentEvent = event;\n\n if (this.state.visible) {\n this.setState({\n reshow: true\n });\n } else {\n this.setState({\n visible: true\n }, function () {\n if (_this5.props.onShow) {\n _this5.props.onShow(_this5.currentEvent);\n }\n });\n }\n }\n }, {\n key: \"hide\",\n value: function hide(event) {\n var _this6 = this;\n\n if (!(event instanceof Event)) {\n event.persist();\n }\n\n this.currentEvent = event;\n this.setState({\n visible: false,\n reshow: false\n }, function () {\n if (_this6.props.onHide) {\n _this6.props.onHide(_this6.currentEvent);\n }\n });\n }\n }, {\n key: \"onEnter\",\n value: function onEnter() {\n if (this.props.autoZIndex) {\n ZIndexUtils.set('menu', this.menuRef.current, PrimeReact.autoZIndex, this.props.baseZIndex || PrimeReact.zIndex['menu']);\n }\n\n this.position(this.currentEvent);\n }\n }, {\n key: \"onEntered\",\n value: function onEntered() {\n this.bindDocumentListeners();\n }\n }, {\n key: \"onExit\",\n value: function onExit() {\n this.currentEvent = null;\n this.unbindDocumentListeners();\n }\n }, {\n key: \"onExited\",\n value: function onExited() {\n ZIndexUtils.clear(this.menuRef.current);\n }\n }, {\n key: \"position\",\n value: function position(event) {\n if (event) {\n var left = event.pageX + 1;\n var top = event.pageY + 1;\n var width = this.menuRef.current.offsetParent ? this.menuRef.current.offsetWidth : DomHandler.getHiddenElementOuterWidth(this.menuRef.current);\n var height = this.menuRef.current.offsetParent ? this.menuRef.current.offsetHeight : DomHandler.getHiddenElementOuterHeight(this.menuRef.current);\n var viewport = DomHandler.getViewport(); //flip\n\n if (left + width - document.body.scrollLeft > viewport.width) {\n left -= width;\n } //flip\n\n\n if (top + height - document.body.scrollTop > viewport.height) {\n top -= height;\n } //fit\n\n\n if (left < document.body.scrollLeft) {\n left = document.body.scrollLeft;\n } //fit\n\n\n if (top < document.body.scrollTop) {\n top = document.body.scrollTop;\n }\n\n this.menuRef.current.style.left = left + 'px';\n this.menuRef.current.style.top = top + 'px';\n }\n }\n }, {\n key: \"onLeafClick\",\n value: function onLeafClick(event) {\n this.setState({\n resetMenu: true\n });\n this.hide(event);\n event.stopPropagation();\n }\n }, {\n key: \"isOutsideClicked\",\n value: function isOutsideClicked(event) {\n return this.menuRef && this.menuRef.current && !(this.menuRef.current.isSameNode(event.target) || this.menuRef.current.contains(event.target));\n }\n }, {\n key: \"bindDocumentListeners\",\n value: function bindDocumentListeners() {\n this.bindDocumentResizeListener();\n this.bindDocumentClickListener();\n }\n }, {\n key: \"unbindDocumentListeners\",\n value: function unbindDocumentListeners() {\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n }\n }, {\n key: \"bindDocumentClickListener\",\n value: function bindDocumentClickListener() {\n var _this7 = this;\n\n if (!this.documentClickListener) {\n this.documentClickListener = function (event) {\n if (_this7.isOutsideClicked(event) && event.button !== 2) {\n _this7.hide(event);\n\n _this7.setState({\n resetMenu: true\n });\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n }, {\n key: \"bindDocumentContextMenuListener\",\n value: function bindDocumentContextMenuListener() {\n var _this8 = this;\n\n if (!this.documentContextMenuListener) {\n this.documentContextMenuListener = function (event) {\n _this8.show(event);\n };\n\n document.addEventListener('contextmenu', this.documentContextMenuListener);\n }\n }\n }, {\n key: \"bindDocumentResizeListener\",\n value: function bindDocumentResizeListener() {\n var _this9 = this;\n\n if (!this.documentResizeListener) {\n this.documentResizeListener = function (event) {\n if (_this9.state.visible && !DomHandler.isTouchDevice()) {\n _this9.hide(event);\n }\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n }\n }, {\n key: \"unbindDocumentClickListener\",\n value: function unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n }, {\n key: \"unbindDocumentContextMenuListener\",\n value: function unbindDocumentContextMenuListener() {\n if (this.documentContextMenuListener) {\n document.removeEventListener('contextmenu', this.documentContextMenuListener);\n this.documentContextMenuListener = null;\n }\n }\n }, {\n key: \"unbindDocumentResizeListener\",\n value: function unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.global) {\n this.bindDocumentContextMenuListener();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this10 = this;\n\n if (this.state.visible && (prevState.reshow !== this.state.reshow || prevProps.model !== this.props.model)) {\n var event = this.currentEvent;\n this.setState({\n visible: false,\n reshow: false,\n rePosition: false,\n resetMenu: true\n }, function () {\n return _this10.show(event);\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unbindDocumentListeners();\n this.unbindDocumentContextMenuListener();\n ZIndexUtils.clear(this.menuRef.current);\n }\n }, {\n key: \"renderContextMenu\",\n value: function renderContextMenu() {\n var className = classNames('p-contextmenu p-component', this.props.className);\n return /*#__PURE__*/React.createElement(CSSTransition, {\n nodeRef: this.menuRef,\n classNames: \"p-contextmenu\",\n \"in\": this.state.visible,\n timeout: {\n enter: 250,\n exit: 0\n },\n options: this.props.transitionOptions,\n unmountOnExit: true,\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExited: this.onExited\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: this.menuRef,\n id: this.props.id,\n className: className,\n style: this.props.style,\n onClick: this.onMenuClick,\n onMouseEnter: this.onMenuMouseEnter\n }, /*#__PURE__*/React.createElement(ContextMenuSub, {\n model: this.props.model,\n root: true,\n resetMenu: this.state.resetMenu,\n onLeafClick: this.onLeafClick\n })));\n }\n }, {\n key: \"render\",\n value: function render() {\n var element = this.renderContextMenu();\n return /*#__PURE__*/React.createElement(Portal, {\n element: element,\n appendTo: this.props.appendTo\n });\n }\n }]);\n\n return ContextMenu;\n}(Component);\n\n_defineProperty(ContextMenu, \"defaultProps\", {\n id: null,\n model: null,\n style: null,\n className: null,\n global: false,\n autoZIndex: true,\n baseZIndex: 0,\n appendTo: null,\n transitionOptions: null,\n onShow: null,\n onHide: null\n});\n\nexport { ContextMenu };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}