primereact 9.1.1 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/api.d.ts +2 -2
- package/autocomplete/autocomplete.cjs.js +1 -0
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +1 -0
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +1 -0
- package/autocomplete/autocomplete.min.js +1 -1
- package/avatar/avatar.cjs.js +2 -2
- package/avatar/avatar.cjs.min.js +1 -1
- package/avatar/avatar.esm.js +2 -2
- package/avatar/avatar.esm.min.js +1 -1
- package/avatar/avatar.js +2 -2
- package/avatar/avatar.min.js +1 -1
- package/calendar/calendar.cjs.js +2 -2
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +2 -2
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +2 -2
- package/calendar/calendar.min.js +1 -1
- package/contextmenu/contextmenu.cjs.js +61 -18
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.d.ts +9 -0
- package/contextmenu/contextmenu.esm.js +63 -20
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +61 -18
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +226 -115
- package/core/core.min.js +4 -4
- package/datatable/datatable.cjs.js +84 -79
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +2 -11
- package/datatable/datatable.esm.js +85 -80
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +84 -79
- package/datatable/datatable.min.css +1 -1
- package/datatable/datatable.min.js +1 -1
- package/dropdown/dropdown.cjs.js +1 -0
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +1 -0
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +1 -0
- package/dropdown/dropdown.min.js +1 -1
- package/hooks/hooks.cjs.js +34 -2
- package/hooks/hooks.cjs.min.js +1 -1
- package/hooks/hooks.d.ts +13 -0
- package/hooks/hooks.esm.js +34 -3
- package/hooks/hooks.esm.min.js +1 -1
- package/hooks/hooks.js +34 -2
- package/hooks/hooks.min.js +1 -1
- package/inputtext/inputtext.min.css +1 -1
- package/listbox/listbox.cjs.js +5 -4
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +5 -4
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +5 -4
- package/listbox/listbox.min.js +1 -1
- package/megamenu/megamenu.cjs.js +91 -6
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.d.ts +9 -0
- package/megamenu/megamenu.esm.js +93 -8
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +91 -6
- package/megamenu/megamenu.min.css +1 -1
- package/megamenu/megamenu.min.js +1 -1
- package/multiselect/multiselect.cjs.js +1 -0
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +1 -0
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +1 -0
- package/multiselect/multiselect.min.js +1 -1
- package/package.json +1 -1
- package/primereact.all.cjs.js +554 -244
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +554 -245
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +554 -244
- package/primereact.all.min.js +1 -1
- package/resources/primereact.css +616 -667
- package/resources/primereact.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +130 -2
- package/resources/themes/arya-green/theme.css +130 -2
- package/resources/themes/arya-orange/theme.css +130 -2
- package/resources/themes/arya-purple/theme.css +130 -2
- package/resources/themes/bootstrap4-dark-blue/theme.css +131 -2
- package/resources/themes/bootstrap4-dark-purple/theme.css +131 -2
- package/resources/themes/bootstrap4-light-blue/theme.css +131 -2
- package/resources/themes/bootstrap4-light-purple/theme.css +131 -2
- package/resources/themes/fluent-light/theme.css +131 -2
- package/resources/themes/lara-dark-blue/theme.css +131 -2
- package/resources/themes/lara-dark-indigo/theme.css +131 -2
- package/resources/themes/lara-dark-purple/theme.css +131 -2
- package/resources/themes/lara-dark-teal/theme.css +131 -2
- package/resources/themes/lara-light-blue/theme.css +131 -2
- package/resources/themes/lara-light-indigo/theme.css +131 -2
- package/resources/themes/lara-light-purple/theme.css +131 -2
- package/resources/themes/lara-light-teal/theme.css +131 -2
- package/resources/themes/luna-amber/theme.css +131 -2
- package/resources/themes/luna-blue/theme.css +131 -2
- package/resources/themes/luna-green/theme.css +131 -2
- package/resources/themes/luna-pink/theme.css +131 -2
- package/resources/themes/md-dark-deeppurple/theme.css +131 -2
- package/resources/themes/md-dark-indigo/theme.css +131 -2
- package/resources/themes/md-light-deeppurple/theme.css +131 -2
- package/resources/themes/md-light-indigo/theme.css +131 -2
- package/resources/themes/mdc-dark-deeppurple/theme.css +131 -2
- package/resources/themes/mdc-dark-indigo/theme.css +131 -2
- package/resources/themes/mdc-light-deeppurple/theme.css +131 -2
- package/resources/themes/mdc-light-indigo/theme.css +131 -2
- package/resources/themes/mira/theme.css +131 -2
- package/resources/themes/nano/theme.css +131 -2
- package/resources/themes/nova/theme.css +131 -2
- package/resources/themes/nova-accent/theme.css +131 -2
- package/resources/themes/nova-alt/theme.css +131 -2
- package/resources/themes/rhea/theme.css +131 -2
- package/resources/themes/saga-blue/theme.css +131 -2
- package/resources/themes/saga-green/theme.css +131 -2
- package/resources/themes/saga-orange/theme.css +131 -2
- package/resources/themes/saga-purple/theme.css +131 -2
- package/resources/themes/soho-dark/theme.css +131 -2
- package/resources/themes/soho-light/theme.css +131 -2
- package/resources/themes/tailwind-light/theme.css +131 -2
- package/resources/themes/vela-blue/theme.css +131 -2
- package/resources/themes/vela-green/theme.css +131 -2
- package/resources/themes/vela-orange/theme.css +131 -2
- package/resources/themes/vela-purple/theme.css +131 -2
- package/resources/themes/viva-dark/theme.css +131 -2
- package/resources/themes/viva-light/theme.css +131 -2
- package/tieredmenu/tieredmenu.cjs.js +69 -9
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.d.ts +9 -0
- package/tieredmenu/tieredmenu.esm.js +71 -11
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +69 -9
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/toast.min.css +1 -1
- package/treetable/treetable.cjs.js +12 -9
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.d.ts +0 -5
- package/treetable/treetable.esm.js +12 -9
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +12 -9
- package/treetable/treetable.min.css +1 -1
- package/treetable/treetable.min.js +1 -1
- package/utils/utils.cjs.js +14 -9
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +14 -9
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +14 -9
- package/utils/utils.min.js +1 -1
- package/virtualscroller/virtualscroller.cjs.js +177 -104
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.d.ts +20 -0
- package/virtualscroller/virtualscroller.esm.js +177 -104
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +177 -104
- package/virtualscroller/virtualscroller.min.css +1 -1
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import PrimeReact from 'primereact/api';
|
|
3
3
|
import { CSSTransition } from 'primereact/csstransition';
|
|
4
|
-
import { useUpdateEffect, useEventListener, useResizeListener, useMountEffect, useUnmountEffect } from 'primereact/hooks';
|
|
4
|
+
import { useUpdateEffect, useMatchMedia, useEventListener, useResizeListener, useMountEffect, useUnmountEffect } from 'primereact/hooks';
|
|
5
5
|
import { Portal } from 'primereact/portal';
|
|
6
|
-
import { ObjectUtils, classNames, DomHandler, IconUtils, ZIndexUtils } from 'primereact/utils';
|
|
6
|
+
import { ObjectUtils, classNames, DomHandler, IconUtils, UniqueComponentId, ZIndexUtils } from 'primereact/utils';
|
|
7
7
|
import { Ripple } from 'primereact/ripple';
|
|
8
8
|
|
|
9
9
|
function _extends() {
|
|
@@ -86,6 +86,8 @@ var ContextMenuBase = {
|
|
|
86
86
|
global: false,
|
|
87
87
|
autoZIndex: true,
|
|
88
88
|
baseZIndex: 0,
|
|
89
|
+
breakpoint: undefined,
|
|
90
|
+
scrollHeight: '400px',
|
|
89
91
|
appendTo: null,
|
|
90
92
|
transitionOptions: null,
|
|
91
93
|
onShow: null,
|
|
@@ -111,7 +113,7 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
|
|
|
111
113
|
setActiveItemState(null);
|
|
112
114
|
}
|
|
113
115
|
var onItemMouseEnter = function onItemMouseEnter(event, item) {
|
|
114
|
-
if (item.disabled) {
|
|
116
|
+
if (item.disabled || props.isMobileMode) {
|
|
115
117
|
event.preventDefault();
|
|
116
118
|
return;
|
|
117
119
|
}
|
|
@@ -131,26 +133,31 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
|
|
|
131
133
|
item: item
|
|
132
134
|
});
|
|
133
135
|
}
|
|
136
|
+
if (props.isMobileMode && item.items) {
|
|
137
|
+
if (activeItemState && item === activeItemState) setActiveItemState(null);else setActiveItemState(item);
|
|
138
|
+
}
|
|
134
139
|
if (!item.items) {
|
|
135
140
|
props.onLeafClick(event);
|
|
136
141
|
}
|
|
137
142
|
};
|
|
138
143
|
var position = function position() {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
144
|
+
if (!props.isMobileMode) {
|
|
145
|
+
var parentItem = submenuRef.current.parentElement;
|
|
146
|
+
var containerOffset = DomHandler.getOffset(parentItem);
|
|
147
|
+
var viewport = DomHandler.getViewport();
|
|
148
|
+
var sublistWidth = submenuRef.current.offsetParent ? submenuRef.current.offsetWidth : DomHandler.getHiddenElementOuterWidth(submenuRef.current);
|
|
149
|
+
var itemOuterWidth = DomHandler.getOuterWidth(parentItem.children[0]);
|
|
150
|
+
var top = parseInt(containerOffset.top, 10) + submenuRef.current.offsetHeight - DomHandler.getWindowScrollTop();
|
|
151
|
+
if (top > viewport.height) {
|
|
152
|
+
submenuRef.current.style.top = viewport.height - top + 'px';
|
|
153
|
+
} else {
|
|
154
|
+
submenuRef.current.style.top = '0px';
|
|
155
|
+
}
|
|
156
|
+
if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - DomHandler.calculateScrollbarWidth()) {
|
|
157
|
+
submenuRef.current.style.left = -1 * sublistWidth + 'px';
|
|
158
|
+
} else {
|
|
159
|
+
submenuRef.current.style.left = itemOuterWidth + 'px';
|
|
160
|
+
}
|
|
154
161
|
}
|
|
155
162
|
};
|
|
156
163
|
var onEnter = function onEnter() {
|
|
@@ -172,7 +179,8 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
|
|
|
172
179
|
menuProps: props.menuProps,
|
|
173
180
|
model: item.items,
|
|
174
181
|
resetMenu: item !== activeItemState,
|
|
175
|
-
onLeafClick: props.onLeafClick
|
|
182
|
+
onLeafClick: props.onLeafClick,
|
|
183
|
+
isMobileMode: props.isMobileMode
|
|
176
184
|
});
|
|
177
185
|
}
|
|
178
186
|
return null;
|
|
@@ -281,8 +289,14 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
281
289
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
282
290
|
resetMenuState = _React$useState6[0],
|
|
283
291
|
setResetMenuState = _React$useState6[1];
|
|
292
|
+
var _React$useState7 = React.useState(null),
|
|
293
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
294
|
+
attributeSelectorState = _React$useState8[0],
|
|
295
|
+
setAttributeSelectorState = _React$useState8[1];
|
|
284
296
|
var menuRef = React.useRef(null);
|
|
285
297
|
var currentEvent = React.useRef(null);
|
|
298
|
+
var styleElementRef = React.useRef(null);
|
|
299
|
+
var isMobileMode = useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
|
|
286
300
|
var _useEventListener = useEventListener({
|
|
287
301
|
type: 'click',
|
|
288
302
|
listener: function listener(event) {
|
|
@@ -313,6 +327,17 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
313
327
|
_useResizeListener2 = _slicedToArray(_useResizeListener, 2),
|
|
314
328
|
bindDocumentResizeListener = _useResizeListener2[0],
|
|
315
329
|
unbindDocumentResizeListener = _useResizeListener2[1];
|
|
330
|
+
var createStyle = function createStyle() {
|
|
331
|
+
if (!styleElementRef.current) {
|
|
332
|
+
styleElementRef.current = DomHandler.createInlineStyle(PrimeReact.nonce);
|
|
333
|
+
var selector = "".concat(attributeSelectorState);
|
|
334
|
+
var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-contextmenu[").concat(selector, "] > ul {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n }\n\n .p-contextmenu[").concat(selector, "] .p-submenu-list {\n position: relative;\n }\n\n .p-contextmenu[").concat(selector, "] .p-menuitem-active > .p-submenu-list {\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-contextmenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-contextmenu[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n }\n}\n");
|
|
335
|
+
styleElementRef.current.innerHTML = innerHTML;
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
var destroyStyle = function destroyStyle() {
|
|
339
|
+
styleElementRef.current = DomHandler.removeInlineStyle(styleElementRef.current);
|
|
340
|
+
};
|
|
316
341
|
var onMenuClick = function onMenuClick() {
|
|
317
342
|
setResetMenuState(false);
|
|
318
343
|
};
|
|
@@ -341,6 +366,10 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
341
366
|
ZIndexUtils.set('menu', menuRef.current, PrimeReact.autoZIndex, props.baseZIndex || PrimeReact.zIndex['menu']);
|
|
342
367
|
}
|
|
343
368
|
position(currentEvent.current);
|
|
369
|
+
if (attributeSelectorState && props.breakpoint) {
|
|
370
|
+
menuRef.current.setAttribute(attributeSelectorState, '');
|
|
371
|
+
createStyle();
|
|
372
|
+
}
|
|
344
373
|
};
|
|
345
374
|
var onEntered = function onEntered() {
|
|
346
375
|
bindDocumentListeners();
|
|
@@ -351,6 +380,7 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
351
380
|
};
|
|
352
381
|
var onExited = function onExited() {
|
|
353
382
|
ZIndexUtils.clear(menuRef.current);
|
|
383
|
+
destroyStyle();
|
|
354
384
|
};
|
|
355
385
|
var position = function position(event) {
|
|
356
386
|
if (event) {
|
|
@@ -403,7 +433,19 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
403
433
|
if (props.global) {
|
|
404
434
|
bindDocumentContextMenuListener();
|
|
405
435
|
}
|
|
436
|
+
if (props.breakpoint) {
|
|
437
|
+
!attributeSelectorState && setAttributeSelectorState(UniqueComponentId());
|
|
438
|
+
}
|
|
406
439
|
});
|
|
440
|
+
useUpdateEffect(function () {
|
|
441
|
+
if (attributeSelectorState && menuRef.current) {
|
|
442
|
+
menuRef.current.setAttribute(attributeSelectorState, '');
|
|
443
|
+
createStyle();
|
|
444
|
+
}
|
|
445
|
+
return function () {
|
|
446
|
+
destroyStyle();
|
|
447
|
+
};
|
|
448
|
+
}, [attributeSelectorState, props.breakpoint]);
|
|
407
449
|
useUpdateEffect(function () {
|
|
408
450
|
if (visibleState) {
|
|
409
451
|
setVisibleState(false);
|
|
@@ -459,7 +501,8 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
459
501
|
model: props.model,
|
|
460
502
|
root: true,
|
|
461
503
|
resetMenu: resetMenuState,
|
|
462
|
-
onLeafClick: onLeafClick
|
|
504
|
+
onLeafClick: onLeafClick,
|
|
505
|
+
isMobileMode: isMobileMode
|
|
463
506
|
})));
|
|
464
507
|
};
|
|
465
508
|
var element = createContextMenu();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import t from"primereact/api";import{CSSTransition as n}from"primereact/csstransition";import{useUpdateEffect as r,
|
|
1
|
+
import*as e from"react";import t from"primereact/api";import{CSSTransition as n}from"primereact/csstransition";import{useUpdateEffect as r,useMatchMedia as o,useEventListener as i,useResizeListener as u,useMountEffect as l,useUnmountEffect as a}from"primereact/hooks";import{Portal as c}from"primereact/portal";import{ObjectUtils as s,classNames as m,DomHandler as p,IconUtils as f,UniqueComponentId as d,ZIndexUtils as b}from"primereact/utils";import{Ripple as g}from"primereact/ripple";function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(this,arguments)}function y(e){if(Array.isArray(e))return e}function v(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,l=[],a=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return l}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function E(e,t){if(e){if("string"==typeof e)return x(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?x(e,t):void 0}}function M(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(e,t){return y(e)||v(e,t)||E(e,t)||M()}var k={defaultProps:{__TYPE:"ContextMenu",id:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,breakpoint:void 0,scrollHeight:"400px",appendTo:null,transitionOptions:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return s.getMergedProps(e,k.defaultProps)},getOtherProps:function(e){return s.getDiffProps(e,k.defaultProps)}},N=e.memo((function(t){var o=S(e.useState(null),2),i=o[0],u=o[1],l=e.useRef(null),a=t.root||!t.resetMenu;!0===t.resetMenu&&null!==i&&u(null);var c=function(e,n){n.disabled||t.isMobileMode?e.preventDefault():u(n)},d=function(e,n){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),t.isMobileMode&&n.items&&u(i&&n===i?null:n),n.items||t.onLeafClick(e))},b=function(){if(!t.isMobileMode){var e=l.current.parentElement,n=p.getOffset(e),r=p.getViewport(),o=l.current.offsetParent?l.current.offsetWidth:p.getHiddenElementOuterWidth(l.current),i=p.getOuterWidth(e.children[0]),u=parseInt(n.top,10)+l.current.offsetHeight-p.getWindowScrollTop();l.current.style.top=u>r.height?r.height-u+"px":"0px",l.current.style.left=parseInt(n.left,10)+i+o>r.width-p.calculateScrollbarWidth()?-1*o+"px":i+"px"}};r((function(){a&&b()}));var h=function(t){return e.createElement("li",{key:"separator_"+t,className:"p-menu-separator",role:"separator"})},y=function(n){return n.items?e.createElement(N,{menuProps:t.menuProps,model:n.items,resetMenu:n!==i,onLeafClick:t.onLeafClick,isMobileMode:t.isMobileMode}):null},v=function(n,r){if(!1===n.visible)return null;var o=i===n,u=n.label+"_"+r,l=m("p-menuitem",{"p-menuitem-active":o},n.className),a=m("p-menuitem-link",{"p-disabled":n.disabled}),p=m("p-menuitem-icon",n.icon),b="p-submenu-icon pi pi-angle-right",h=f.getJSXIcon(n.icon,{className:"p-menuitem-icon"},{props:t.menuProps}),v=n.label&&e.createElement("span",{className:"p-menuitem-text"},n.label),x=n.items&&e.createElement("span",{className:b}),E=y(n),M=e.createElement("a",{href:n.url||"#",className:a,target:n.target,onClick:function(e){return d(e,n)},role:"menuitem","aria-haspopup":null!=n.items,"aria-disabled":n.disabled},h,v,x,e.createElement(g,null));n.template&&(M=s.getJSXElement(n.template,n,{onClick:function(e){return d(e,n)},className:a,labelClassName:"p-menuitem-text",iconClassName:p,submenuIconClassName:b,element:M,props:t,active:o}));return e.createElement("li",{key:u,role:"none",id:n.id,className:l,style:n.style,onMouseEnter:function(e){return c(e,n)}},M,E)},x=function(e,t){return e.separator?h(t):v(e,t)},E=m({"p-submenu-list":!t.root}),M=t.model?t.model.map(x):null;return e.createElement(n,{nodeRef:l,classNames:"p-contextmenusub",in:a,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){b()}},e.createElement("ul",{ref:l,className:E},M))}));N.displayName="ContextMenuSub";var P=e.memo(e.forwardRef((function(s,f){var g=k.getProps(s),y=S(e.useState(!1),2),v=y[0],x=y[1],E=S(e.useState(!1),2),M=E[0],P=E[1],w=S(e.useState(!1),2),O=w[0],I=w[1],C=S(e.useState(null),2),H=C[0],T=C[1],j=e.useRef(null),A=e.useRef(null),L=e.useRef(null),R=o("screen and (max-width: ".concat(g.breakpoint,")"),!!g.breakpoint),W=S(i({type:"click",listener:function(e){ne(e)&&2!==e.button&&(B(e),I(!0))}}),2),D=W[0],Z=W[1],_=S(i({type:"contextmenu",listener:function(e){q(e)}}),1)[0],X=S(u({listener:function(e){v&&!p.isTouchDevice()&&B(e)}}),2),J=X[0],V=X[1],Y=function(){if(!L.current){L.current=p.createInlineStyle(t.nonce);var e="".concat(H),n="\n@media screen and (max-width: ".concat(g.breakpoint,") {\n .p-contextmenu[").concat(e,"] > ul {\n max-height: ").concat(g.scrollHeight,";\n overflow: ").concat(g.scrollHeight?"auto":"",";\n }\n\n .p-contextmenu[").concat(e,"] .p-submenu-list {\n position: relative;\n }\n\n .p-contextmenu[").concat(e,"] .p-menuitem-active > .p-submenu-list {\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-contextmenu[").concat(e,"] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-contextmenu[").concat(e,'] .p-submenu-icon:before {\n content: "\\e930";\n }\n}\n');L.current.innerHTML=n}},z=function(){L.current=p.removeInlineStyle(L.current)},U=function(){I(!1)},$=function(){I(!1)},q=function(e){e.stopPropagation(),e.preventDefault(),A.current=e,v?P(!0):(x(!0),g.onShow&&g.onShow(A.current))},B=function(e){A.current=e,x(!1),P(!1),g.onHide&&g.onHide(A.current)},F=function(){g.autoZIndex&&b.set("menu",j.current,t.autoZIndex,g.baseZIndex||t.zIndex.menu),ee(A.current),H&&g.breakpoint&&(j.current.setAttribute(H,""),Y())},G=function(){re()},K=function(){oe(),b.clear(j.current)},Q=function(){b.clear(j.current),z()},ee=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=j.current.offsetParent?j.current.offsetWidth:p.getHiddenElementOuterWidth(j.current),o=j.current.offsetParent?j.current.offsetHeight:p.getHiddenElementOuterHeight(j.current),i=p.getViewport();t+r-document.body.scrollLeft>i.width&&(t-=r),n+o-document.body.scrollTop>i.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),j.current.style.left=t+"px",j.current.style.top=n+"px"}},te=function(e){I(!0),B(e),e.stopPropagation()},ne=function(e){return j&&j.current&&!(j.current.isSameNode(e.target)||j.current.contains(e.target))},re=function(){J(),D()},oe=function(){V(),Z()};l((function(){g.global&&_(),g.breakpoint&&!H&&T(d())})),r((function(){return H&&j.current&&(j.current.setAttribute(H,""),Y()),function(){z()}}),[H,g.breakpoint]),r((function(){v?(x(!1),P(!1),I(!0)):M||v||!O||q(A.current)}),[M]),a((function(){b.clear(j.current)})),e.useImperativeHandle(f,(function(){return{props:g,show:q,hide:B,getElement:function(){return j.current}}}));var ie,ue,le=(ie=k.getOtherProps(g),ue=m("p-contextmenu p-component",g.className,{"p-input-filled":"filled"===t.inputStyle,"p-ripple-disabled":!1===t.ripple}),e.createElement(n,{nodeRef:j,classNames:"p-contextmenu",in:v,timeout:{enter:250,exit:0},options:g.transitionOptions,unmountOnExit:!0,onEnter:F,onEntered:G,onExit:K,onExited:Q},e.createElement("div",h({ref:j,id:g.id,className:ue,style:g.style},ie,{onClick:U,onMouseEnter:$}),e.createElement(N,{menuProps:g,model:g.model,root:!0,resetMenu:O,onLeafClick:te,isMobileMode:R}))));return e.createElement(c,{element:le,appendTo:g.appendTo})})));P.displayName="ContextMenu";export{P as ContextMenu};
|
|
@@ -105,6 +105,8 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
105
105
|
global: false,
|
|
106
106
|
autoZIndex: true,
|
|
107
107
|
baseZIndex: 0,
|
|
108
|
+
breakpoint: undefined,
|
|
109
|
+
scrollHeight: '400px',
|
|
108
110
|
appendTo: null,
|
|
109
111
|
transitionOptions: null,
|
|
110
112
|
onShow: null,
|
|
@@ -130,7 +132,7 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
130
132
|
setActiveItemState(null);
|
|
131
133
|
}
|
|
132
134
|
var onItemMouseEnter = function onItemMouseEnter(event, item) {
|
|
133
|
-
if (item.disabled) {
|
|
135
|
+
if (item.disabled || props.isMobileMode) {
|
|
134
136
|
event.preventDefault();
|
|
135
137
|
return;
|
|
136
138
|
}
|
|
@@ -150,26 +152,31 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
150
152
|
item: item
|
|
151
153
|
});
|
|
152
154
|
}
|
|
155
|
+
if (props.isMobileMode && item.items) {
|
|
156
|
+
if (activeItemState && item === activeItemState) setActiveItemState(null);else setActiveItemState(item);
|
|
157
|
+
}
|
|
153
158
|
if (!item.items) {
|
|
154
159
|
props.onLeafClick(event);
|
|
155
160
|
}
|
|
156
161
|
};
|
|
157
162
|
var position = function position() {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
163
|
+
if (!props.isMobileMode) {
|
|
164
|
+
var parentItem = submenuRef.current.parentElement;
|
|
165
|
+
var containerOffset = utils.DomHandler.getOffset(parentItem);
|
|
166
|
+
var viewport = utils.DomHandler.getViewport();
|
|
167
|
+
var sublistWidth = submenuRef.current.offsetParent ? submenuRef.current.offsetWidth : utils.DomHandler.getHiddenElementOuterWidth(submenuRef.current);
|
|
168
|
+
var itemOuterWidth = utils.DomHandler.getOuterWidth(parentItem.children[0]);
|
|
169
|
+
var top = parseInt(containerOffset.top, 10) + submenuRef.current.offsetHeight - utils.DomHandler.getWindowScrollTop();
|
|
170
|
+
if (top > viewport.height) {
|
|
171
|
+
submenuRef.current.style.top = viewport.height - top + 'px';
|
|
172
|
+
} else {
|
|
173
|
+
submenuRef.current.style.top = '0px';
|
|
174
|
+
}
|
|
175
|
+
if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - utils.DomHandler.calculateScrollbarWidth()) {
|
|
176
|
+
submenuRef.current.style.left = -1 * sublistWidth + 'px';
|
|
177
|
+
} else {
|
|
178
|
+
submenuRef.current.style.left = itemOuterWidth + 'px';
|
|
179
|
+
}
|
|
173
180
|
}
|
|
174
181
|
};
|
|
175
182
|
var onEnter = function onEnter() {
|
|
@@ -191,7 +198,8 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
191
198
|
menuProps: props.menuProps,
|
|
192
199
|
model: item.items,
|
|
193
200
|
resetMenu: item !== activeItemState,
|
|
194
|
-
onLeafClick: props.onLeafClick
|
|
201
|
+
onLeafClick: props.onLeafClick,
|
|
202
|
+
isMobileMode: props.isMobileMode
|
|
195
203
|
});
|
|
196
204
|
}
|
|
197
205
|
return null;
|
|
@@ -300,8 +308,14 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
300
308
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
301
309
|
resetMenuState = _React$useState6[0],
|
|
302
310
|
setResetMenuState = _React$useState6[1];
|
|
311
|
+
var _React$useState7 = React__namespace.useState(null),
|
|
312
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
313
|
+
attributeSelectorState = _React$useState8[0],
|
|
314
|
+
setAttributeSelectorState = _React$useState8[1];
|
|
303
315
|
var menuRef = React__namespace.useRef(null);
|
|
304
316
|
var currentEvent = React__namespace.useRef(null);
|
|
317
|
+
var styleElementRef = React__namespace.useRef(null);
|
|
318
|
+
var isMobileMode = hooks.useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
|
|
305
319
|
var _useEventListener = hooks.useEventListener({
|
|
306
320
|
type: 'click',
|
|
307
321
|
listener: function listener(event) {
|
|
@@ -332,6 +346,17 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
332
346
|
_useResizeListener2 = _slicedToArray(_useResizeListener, 2),
|
|
333
347
|
bindDocumentResizeListener = _useResizeListener2[0],
|
|
334
348
|
unbindDocumentResizeListener = _useResizeListener2[1];
|
|
349
|
+
var createStyle = function createStyle() {
|
|
350
|
+
if (!styleElementRef.current) {
|
|
351
|
+
styleElementRef.current = utils.DomHandler.createInlineStyle(PrimeReact__default["default"].nonce);
|
|
352
|
+
var selector = "".concat(attributeSelectorState);
|
|
353
|
+
var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-contextmenu[").concat(selector, "] > ul {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n }\n\n .p-contextmenu[").concat(selector, "] .p-submenu-list {\n position: relative;\n }\n\n .p-contextmenu[").concat(selector, "] .p-menuitem-active > .p-submenu-list {\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-contextmenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-contextmenu[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n }\n}\n");
|
|
354
|
+
styleElementRef.current.innerHTML = innerHTML;
|
|
355
|
+
}
|
|
356
|
+
};
|
|
357
|
+
var destroyStyle = function destroyStyle() {
|
|
358
|
+
styleElementRef.current = utils.DomHandler.removeInlineStyle(styleElementRef.current);
|
|
359
|
+
};
|
|
335
360
|
var onMenuClick = function onMenuClick() {
|
|
336
361
|
setResetMenuState(false);
|
|
337
362
|
};
|
|
@@ -360,6 +385,10 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
360
385
|
utils.ZIndexUtils.set('menu', menuRef.current, PrimeReact__default["default"].autoZIndex, props.baseZIndex || PrimeReact__default["default"].zIndex['menu']);
|
|
361
386
|
}
|
|
362
387
|
position(currentEvent.current);
|
|
388
|
+
if (attributeSelectorState && props.breakpoint) {
|
|
389
|
+
menuRef.current.setAttribute(attributeSelectorState, '');
|
|
390
|
+
createStyle();
|
|
391
|
+
}
|
|
363
392
|
};
|
|
364
393
|
var onEntered = function onEntered() {
|
|
365
394
|
bindDocumentListeners();
|
|
@@ -370,6 +399,7 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
370
399
|
};
|
|
371
400
|
var onExited = function onExited() {
|
|
372
401
|
utils.ZIndexUtils.clear(menuRef.current);
|
|
402
|
+
destroyStyle();
|
|
373
403
|
};
|
|
374
404
|
var position = function position(event) {
|
|
375
405
|
if (event) {
|
|
@@ -422,7 +452,19 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
422
452
|
if (props.global) {
|
|
423
453
|
bindDocumentContextMenuListener();
|
|
424
454
|
}
|
|
455
|
+
if (props.breakpoint) {
|
|
456
|
+
!attributeSelectorState && setAttributeSelectorState(utils.UniqueComponentId());
|
|
457
|
+
}
|
|
425
458
|
});
|
|
459
|
+
hooks.useUpdateEffect(function () {
|
|
460
|
+
if (attributeSelectorState && menuRef.current) {
|
|
461
|
+
menuRef.current.setAttribute(attributeSelectorState, '');
|
|
462
|
+
createStyle();
|
|
463
|
+
}
|
|
464
|
+
return function () {
|
|
465
|
+
destroyStyle();
|
|
466
|
+
};
|
|
467
|
+
}, [attributeSelectorState, props.breakpoint]);
|
|
426
468
|
hooks.useUpdateEffect(function () {
|
|
427
469
|
if (visibleState) {
|
|
428
470
|
setVisibleState(false);
|
|
@@ -478,7 +520,8 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
|
|
|
478
520
|
model: props.model,
|
|
479
521
|
root: true,
|
|
480
522
|
resetMenu: resetMenuState,
|
|
481
|
-
onLeafClick: onLeafClick
|
|
523
|
+
onLeafClick: onLeafClick,
|
|
524
|
+
isMobileMode: isMobileMode
|
|
482
525
|
})));
|
|
483
526
|
};
|
|
484
527
|
var element = createContextMenu();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primereact=this.primereact||{},this.primereact.contextmenu=function(e,t,n,r,o,l,u
|
|
1
|
+
this.primereact=this.primereact||{},this.primereact.contextmenu=function(e,t,n,r,o,i,l,u){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var s=c(t),m=a(n);function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e){if(Array.isArray(e))return e}function d(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,l,u=[],a=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{if(!a&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw o}}return u}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(e,t){return f(e)||d(e,t)||g(e,t)||h()}var v={defaultProps:{__TYPE:"ContextMenu",id:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,breakpoint:void 0,scrollHeight:"400px",appendTo:null,transitionOptions:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return l.ObjectUtils.getMergedProps(e,v.defaultProps)},getOtherProps:function(e){return l.ObjectUtils.getDiffProps(e,v.defaultProps)}},x=s.memo((function(e){var t=y(s.useState(null),2),n=t[0],i=t[1],a=s.useRef(null),c=e.root||!e.resetMenu;!0===e.resetMenu&&null!==n&&i(null);var m=function(t,n){n.disabled||e.isMobileMode?t.preventDefault():i(n)},p=function(t,r){r.disabled?t.preventDefault():(r.url||t.preventDefault(),r.command&&r.command({originalEvent:t,item:r}),e.isMobileMode&&r.items&&i(n&&r===n?null:r),r.items||e.onLeafClick(t))},f=function(){if(!e.isMobileMode){var t=a.current.parentElement,n=l.DomHandler.getOffset(t),r=l.DomHandler.getViewport(),o=a.current.offsetParent?a.current.offsetWidth:l.DomHandler.getHiddenElementOuterWidth(a.current),i=l.DomHandler.getOuterWidth(t.children[0]),u=parseInt(n.top,10)+a.current.offsetHeight-l.DomHandler.getWindowScrollTop();a.current.style.top=u>r.height?r.height-u+"px":"0px",a.current.style.left=parseInt(n.left,10)+i+o>r.width-l.DomHandler.calculateScrollbarWidth()?-1*o+"px":i+"px"}};o.useUpdateEffect((function(){c&&f()}));var d=function(e){return s.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},b=function(t){return t.items?s.createElement(x,{menuProps:e.menuProps,model:t.items,resetMenu:t!==n,onLeafClick:e.onLeafClick,isMobileMode:e.isMobileMode}):null},g=function(t,r){if(!1===t.visible)return null;var o=n===t,i=t.label+"_"+r,a=l.classNames("p-menuitem",{"p-menuitem-active":o},t.className),c=l.classNames("p-menuitem-link",{"p-disabled":t.disabled}),f=l.classNames("p-menuitem-icon",t.icon),d="p-submenu-icon pi pi-angle-right",g=l.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e.menuProps}),h=t.label&&s.createElement("span",{className:"p-menuitem-text"},t.label),y=t.items&&s.createElement("span",{className:d}),v=b(t),x=s.createElement("a",{href:t.url||"#",className:c,target:t.target,onClick:function(e){return p(e,t)},role:"menuitem","aria-haspopup":null!=t.items,"aria-disabled":t.disabled},g,h,y,s.createElement(u.Ripple,null));t.template&&(x=l.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return p(e,t)},className:c,labelClassName:"p-menuitem-text",iconClassName:f,submenuIconClassName:d,element:x,props:e,active:o}));return s.createElement("li",{key:i,role:"none",id:t.id,className:a,style:t.style,onMouseEnter:function(e){return m(e,t)}},x,v)},h=function(e,t){return e.separator?d(t):g(e,t)},v=l.classNames({"p-submenu-list":!e.root}),E=e.model?e.model.map(h):null;return s.createElement(r.CSSTransition,{nodeRef:a,classNames:"p-contextmenusub",in:c,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){f()}},s.createElement("ul",{ref:a,className:v},E))}));x.displayName="ContextMenuSub";var E=s.memo(s.forwardRef((function(e,t){var n=v.getProps(e),u=y(s.useState(!1),2),a=u[0],c=u[1],f=y(s.useState(!1),2),d=f[0],b=f[1],g=y(s.useState(!1),2),h=g[0],E=g[1],M=y(s.useState(null),2),O=M[0],H=M[1],S=s.useRef(null),N=s.useRef(null),P=s.useRef(null),I=o.useMatchMedia("screen and (max-width: ".concat(n.breakpoint,")"),!!n.breakpoint),k=y(o.useEventListener({type:"click",listener:function(e){$(e)&&2!==e.button&&(W(e),E(!0))}}),2),w=k[0],D=k[1],j=y(o.useEventListener({type:"contextmenu",listener:function(e){_(e)}}),1)[0],C=y(o.useResizeListener({listener:function(e){a&&!l.DomHandler.isTouchDevice()&&W(e)}}),2),U=C[0],T=C[1],L=function(){if(!P.current){P.current=l.DomHandler.createInlineStyle(m.default.nonce);var e="".concat(O),t="\n@media screen and (max-width: ".concat(n.breakpoint,") {\n .p-contextmenu[").concat(e,"] > ul {\n max-height: ").concat(n.scrollHeight,";\n overflow: ").concat(n.scrollHeight?"auto":"",";\n }\n\n .p-contextmenu[").concat(e,"] .p-submenu-list {\n position: relative;\n }\n\n .p-contextmenu[").concat(e,"] .p-menuitem-active > .p-submenu-list {\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-contextmenu[").concat(e,"] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-contextmenu[").concat(e,'] .p-submenu-icon:before {\n content: "\\e930";\n }\n}\n');P.current.innerHTML=t}},R=function(){P.current=l.DomHandler.removeInlineStyle(P.current)},Z=function(){E(!1)},A=function(){E(!1)},_=function(e){e.stopPropagation(),e.preventDefault(),N.current=e,a?b(!0):(c(!0),n.onShow&&n.onShow(N.current))},W=function(e){N.current=e,c(!1),b(!1),n.onHide&&n.onHide(N.current)},z=function(){n.autoZIndex&&l.ZIndexUtils.set("menu",S.current,m.default.autoZIndex,n.baseZIndex||m.default.zIndex.menu),Y(N.current),O&&n.breakpoint&&(S.current.setAttribute(O,""),L())},X=function(){B()},J=function(){F(),l.ZIndexUtils.clear(S.current)},V=function(){l.ZIndexUtils.clear(S.current),R()},Y=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=S.current.offsetParent?S.current.offsetWidth:l.DomHandler.getHiddenElementOuterWidth(S.current),o=S.current.offsetParent?S.current.offsetHeight:l.DomHandler.getHiddenElementOuterHeight(S.current),i=l.DomHandler.getViewport();t+r-document.body.scrollLeft>i.width&&(t-=r),n+o-document.body.scrollTop>i.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),S.current.style.left=t+"px",S.current.style.top=n+"px"}},q=function(e){E(!0),W(e),e.stopPropagation()},$=function(e){return S&&S.current&&!(S.current.isSameNode(e.target)||S.current.contains(e.target))},B=function(){U(),w()},F=function(){T(),D()};o.useMountEffect((function(){n.global&&j(),n.breakpoint&&!O&&H(l.UniqueComponentId())})),o.useUpdateEffect((function(){return O&&S.current&&(S.current.setAttribute(O,""),L()),function(){R()}}),[O,n.breakpoint]),o.useUpdateEffect((function(){a?(c(!1),b(!1),E(!0)):d||a||!h||_(N.current)}),[d]),o.useUnmountEffect((function(){l.ZIndexUtils.clear(S.current)})),s.useImperativeHandle(t,(function(){return{props:n,show:_,hide:W,getElement:function(){return S.current}}}));var G,K,Q=(G=v.getOtherProps(n),K=l.classNames("p-contextmenu p-component",n.className,{"p-input-filled":"filled"===m.default.inputStyle,"p-ripple-disabled":!1===m.default.ripple}),s.createElement(r.CSSTransition,{nodeRef:S,classNames:"p-contextmenu",in:a,timeout:{enter:250,exit:0},options:n.transitionOptions,unmountOnExit:!0,onEnter:z,onEntered:X,onExit:J,onExited:V},s.createElement("div",p({ref:S,id:n.id,className:K,style:n.style},G,{onClick:Z,onMouseEnter:A}),s.createElement(x,{menuProps:n,model:n.model,root:!0,resetMenu:h,onLeafClick:q,isMobileMode:I}))));return s.createElement(i.Portal,{element:Q,appendTo:n.appendTo})})));return E.displayName="ContextMenu",e.ContextMenu=E,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.csstransition,primereact.hooks,primereact.portal,primereact.utils,primereact.ripple);
|