primereact 9.1.1 → 9.2.1

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.
Files changed (210) hide show
  1. package/api/api.cjs.js +16 -0
  2. package/api/api.cjs.min.js +1 -1
  3. package/api/api.d.ts +2 -2
  4. package/api/api.esm.js +16 -0
  5. package/api/api.esm.min.js +1 -1
  6. package/api/api.js +16 -0
  7. package/api/api.min.js +1 -1
  8. package/autocomplete/autocomplete.cjs.js +1 -0
  9. package/autocomplete/autocomplete.cjs.min.js +1 -1
  10. package/autocomplete/autocomplete.esm.js +1 -0
  11. package/autocomplete/autocomplete.esm.min.js +1 -1
  12. package/autocomplete/autocomplete.js +1 -0
  13. package/autocomplete/autocomplete.min.js +1 -1
  14. package/avatar/avatar.cjs.js +2 -2
  15. package/avatar/avatar.cjs.min.js +1 -1
  16. package/avatar/avatar.esm.js +2 -2
  17. package/avatar/avatar.esm.min.js +1 -1
  18. package/avatar/avatar.js +2 -2
  19. package/avatar/avatar.min.js +1 -1
  20. package/button/button.cjs.js +6 -1
  21. package/button/button.cjs.min.js +1 -1
  22. package/button/button.d.ts +2 -2
  23. package/button/button.esm.js +6 -1
  24. package/button/button.esm.min.js +1 -1
  25. package/button/button.js +6 -1
  26. package/button/button.min.js +1 -1
  27. package/calendar/calendar.cjs.js +2 -2
  28. package/calendar/calendar.cjs.min.js +1 -1
  29. package/calendar/calendar.esm.js +2 -2
  30. package/calendar/calendar.esm.min.js +1 -1
  31. package/calendar/calendar.js +2 -2
  32. package/calendar/calendar.min.js +1 -1
  33. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  34. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  35. package/confirmdialog/confirmdialog.min.js +1 -1
  36. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  37. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  38. package/confirmpopup/confirmpopup.min.js +1 -1
  39. package/contextmenu/contextmenu.cjs.js +61 -18
  40. package/contextmenu/contextmenu.cjs.min.js +1 -1
  41. package/contextmenu/contextmenu.d.ts +9 -0
  42. package/contextmenu/contextmenu.esm.js +63 -20
  43. package/contextmenu/contextmenu.esm.min.js +1 -1
  44. package/contextmenu/contextmenu.js +61 -18
  45. package/contextmenu/contextmenu.min.js +1 -1
  46. package/core/core.js +254 -129
  47. package/core/core.min.js +9 -9
  48. package/datatable/datatable.cjs.js +90 -82
  49. package/datatable/datatable.cjs.min.js +1 -1
  50. package/datatable/datatable.d.ts +2 -11
  51. package/datatable/datatable.esm.js +91 -83
  52. package/datatable/datatable.esm.min.js +1 -1
  53. package/datatable/datatable.js +90 -82
  54. package/datatable/datatable.min.css +1 -1
  55. package/datatable/datatable.min.js +1 -1
  56. package/dataview/dataview.d.ts +1 -1
  57. package/dropdown/dropdown.cjs.js +1 -0
  58. package/dropdown/dropdown.cjs.min.js +1 -1
  59. package/dropdown/dropdown.esm.js +1 -0
  60. package/dropdown/dropdown.esm.min.js +1 -1
  61. package/dropdown/dropdown.js +1 -0
  62. package/dropdown/dropdown.min.js +1 -1
  63. package/hooks/hooks.cjs.js +34 -2
  64. package/hooks/hooks.cjs.min.js +1 -1
  65. package/hooks/hooks.d.ts +17 -3
  66. package/hooks/hooks.esm.js +34 -3
  67. package/hooks/hooks.esm.min.js +1 -1
  68. package/hooks/hooks.js +34 -2
  69. package/hooks/hooks.min.js +1 -1
  70. package/inputnumber/inputnumber.cjs.min.js +1 -1
  71. package/inputnumber/inputnumber.esm.min.js +1 -1
  72. package/inputnumber/inputnumber.min.js +1 -1
  73. package/inputtext/inputtext.min.css +1 -1
  74. package/listbox/listbox.cjs.js +5 -4
  75. package/listbox/listbox.cjs.min.js +1 -1
  76. package/listbox/listbox.esm.js +5 -4
  77. package/listbox/listbox.esm.min.js +1 -1
  78. package/listbox/listbox.js +5 -4
  79. package/listbox/listbox.min.js +1 -1
  80. package/megamenu/megamenu.cjs.js +94 -6
  81. package/megamenu/megamenu.cjs.min.js +1 -1
  82. package/megamenu/megamenu.d.ts +9 -0
  83. package/megamenu/megamenu.esm.js +96 -8
  84. package/megamenu/megamenu.esm.min.js +1 -1
  85. package/megamenu/megamenu.js +94 -6
  86. package/megamenu/megamenu.min.css +1 -1
  87. package/megamenu/megamenu.min.js +1 -1
  88. package/multiselect/multiselect.cjs.js +3 -1
  89. package/multiselect/multiselect.cjs.min.js +1 -1
  90. package/multiselect/multiselect.d.ts +27 -1
  91. package/multiselect/multiselect.esm.js +3 -1
  92. package/multiselect/multiselect.esm.min.js +1 -1
  93. package/multiselect/multiselect.js +3 -1
  94. package/multiselect/multiselect.min.js +1 -1
  95. package/package.json +1 -1
  96. package/paginator/paginator.cjs.js +0 -8
  97. package/paginator/paginator.cjs.min.js +1 -1
  98. package/paginator/paginator.esm.js +0 -8
  99. package/paginator/paginator.esm.min.js +1 -1
  100. package/paginator/paginator.js +0 -8
  101. package/paginator/paginator.min.js +1 -1
  102. package/picklist/picklist.cjs.min.js +1 -1
  103. package/picklist/picklist.esm.min.js +1 -1
  104. package/picklist/picklist.min.js +1 -1
  105. package/primereact.all.cjs.js +609 -265
  106. package/primereact.all.cjs.min.js +1 -1
  107. package/primereact.all.esm.js +609 -266
  108. package/primereact.all.esm.min.js +1 -1
  109. package/primereact.all.js +609 -265
  110. package/primereact.all.min.js +1 -1
  111. package/resources/primereact.css +638 -688
  112. package/resources/primereact.min.css +1 -1
  113. package/resources/themes/arya-blue/theme.css +134 -6
  114. package/resources/themes/arya-green/theme.css +134 -6
  115. package/resources/themes/arya-orange/theme.css +134 -6
  116. package/resources/themes/arya-purple/theme.css +134 -6
  117. package/resources/themes/bootstrap4-dark-blue/theme.css +137 -8
  118. package/resources/themes/bootstrap4-dark-purple/theme.css +137 -8
  119. package/resources/themes/bootstrap4-light-blue/theme.css +137 -8
  120. package/resources/themes/bootstrap4-light-purple/theme.css +137 -8
  121. package/resources/themes/fluent-light/theme.css +133 -4
  122. package/resources/themes/lara-dark-blue/theme.css +135 -6
  123. package/resources/themes/lara-dark-indigo/theme.css +135 -6
  124. package/resources/themes/lara-dark-purple/theme.css +135 -6
  125. package/resources/themes/lara-dark-teal/theme.css +135 -6
  126. package/resources/themes/lara-light-blue/theme.css +137 -8
  127. package/resources/themes/lara-light-indigo/theme.css +137 -8
  128. package/resources/themes/lara-light-purple/theme.css +137 -8
  129. package/resources/themes/lara-light-teal/theme.css +137 -8
  130. package/resources/themes/luna-amber/theme.css +137 -8
  131. package/resources/themes/luna-blue/theme.css +137 -8
  132. package/resources/themes/luna-green/theme.css +137 -8
  133. package/resources/themes/luna-pink/theme.css +137 -8
  134. package/resources/themes/md-dark-deeppurple/theme.css +137 -8
  135. package/resources/themes/md-dark-indigo/theme.css +137 -8
  136. package/resources/themes/md-light-deeppurple/theme.css +137 -8
  137. package/resources/themes/md-light-indigo/theme.css +137 -8
  138. package/resources/themes/mdc-dark-deeppurple/theme.css +137 -8
  139. package/resources/themes/mdc-dark-indigo/theme.css +137 -8
  140. package/resources/themes/mdc-light-deeppurple/theme.css +137 -8
  141. package/resources/themes/mdc-light-indigo/theme.css +137 -8
  142. package/resources/themes/mira/theme.css +137 -8
  143. package/resources/themes/nano/theme.css +137 -8
  144. package/resources/themes/nova/theme.css +137 -8
  145. package/resources/themes/nova-accent/theme.css +137 -8
  146. package/resources/themes/nova-alt/theme.css +137 -8
  147. package/resources/themes/rhea/theme.css +137 -8
  148. package/resources/themes/saga-blue/theme.css +135 -6
  149. package/resources/themes/saga-green/theme.css +135 -6
  150. package/resources/themes/saga-orange/theme.css +135 -6
  151. package/resources/themes/saga-purple/theme.css +135 -6
  152. package/resources/themes/soho-dark/theme.css +137 -8
  153. package/resources/themes/soho-light/theme.css +137 -8
  154. package/resources/themes/tailwind-light/theme.css +137 -8
  155. package/resources/themes/vela-blue/theme.css +135 -6
  156. package/resources/themes/vela-green/theme.css +135 -6
  157. package/resources/themes/vela-orange/theme.css +135 -6
  158. package/resources/themes/vela-purple/theme.css +135 -6
  159. package/resources/themes/viva-dark/theme.css +137 -8
  160. package/resources/themes/viva-light/theme.css +137 -8
  161. package/splitbutton/splitbutton.cjs.js +57 -3
  162. package/splitbutton/splitbutton.cjs.min.js +1 -1
  163. package/splitbutton/splitbutton.d.ts +28 -0
  164. package/splitbutton/splitbutton.esm.js +57 -3
  165. package/splitbutton/splitbutton.esm.min.js +1 -1
  166. package/splitbutton/splitbutton.js +57 -3
  167. package/splitbutton/splitbutton.min.js +1 -1
  168. package/tieredmenu/tieredmenu.cjs.js +69 -9
  169. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  170. package/tieredmenu/tieredmenu.d.ts +9 -0
  171. package/tieredmenu/tieredmenu.esm.js +71 -11
  172. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  173. package/tieredmenu/tieredmenu.js +69 -9
  174. package/tieredmenu/tieredmenu.min.js +1 -1
  175. package/toast/toast.cjs.js +16 -0
  176. package/toast/toast.cjs.min.js +1 -1
  177. package/toast/toast.esm.js +16 -0
  178. package/toast/toast.esm.min.js +1 -1
  179. package/toast/toast.js +16 -0
  180. package/toast/toast.min.css +1 -1
  181. package/toast/toast.min.js +1 -1
  182. package/tooltip/tooltip.cjs.js +5 -4
  183. package/tooltip/tooltip.cjs.min.js +1 -1
  184. package/tooltip/tooltip.esm.js +5 -4
  185. package/tooltip/tooltip.esm.min.js +1 -1
  186. package/tooltip/tooltip.js +5 -4
  187. package/tooltip/tooltip.min.js +1 -1
  188. package/treetable/treetable.cjs.js +12 -9
  189. package/treetable/treetable.cjs.min.js +1 -1
  190. package/treetable/treetable.d.ts +0 -5
  191. package/treetable/treetable.esm.js +12 -9
  192. package/treetable/treetable.esm.min.js +1 -1
  193. package/treetable/treetable.js +12 -9
  194. package/treetable/treetable.min.css +1 -1
  195. package/treetable/treetable.min.js +1 -1
  196. package/utils/utils.cjs.js +15 -10
  197. package/utils/utils.cjs.min.js +1 -1
  198. package/utils/utils.esm.js +15 -10
  199. package/utils/utils.esm.min.js +1 -1
  200. package/utils/utils.js +15 -10
  201. package/utils/utils.min.js +1 -1
  202. package/virtualscroller/virtualscroller.cjs.js +177 -104
  203. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  204. package/virtualscroller/virtualscroller.d.ts +20 -0
  205. package/virtualscroller/virtualscroller.esm.js +177 -104
  206. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  207. package/virtualscroller/virtualscroller.js +177 -104
  208. package/virtualscroller/virtualscroller.min.css +1 -1
  209. package/virtualscroller/virtualscroller.min.js +1 -1
  210. package/web-types.json +2 -2
@@ -637,14 +637,15 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
637
637
  itemTemplate: function itemTemplate(item, options) {
638
638
  return item && createItem(item, options.index, options);
639
639
  },
640
- contentTemplate: function contentTemplate(option) {
641
- var className = classNames('p-listbox-list', option.className);
640
+ contentTemplate: function contentTemplate(options) {
641
+ var className = classNames('p-listbox-list', options.className);
642
642
  return /*#__PURE__*/React.createElement("ul", _extends({
643
- ref: option.contentRef,
643
+ ref: options.contentRef,
644
+ style: options.style,
644
645
  className: className,
645
646
  role: "listbox",
646
647
  "aria-multiselectable": props.multiple
647
- }, ariaProps), option.children);
648
+ }, ariaProps), options.children);
648
649
  }
649
650
  });
650
651
  return /*#__PURE__*/React.createElement(VirtualScroller, _extends({
@@ -1 +1 @@
1
- import*as e from"react";import{FilterService as t,localeOption as r}from"primereact/api";import{useMountEffect as n}from"primereact/hooks";import{Tooltip as l}from"primereact/tooltip";import{ObjectUtils as o,classNames as i,DomHandler as a}from"primereact/utils";import{VirtualScroller as u}from"primereact/virtualscroller";import{InputText as c}from"primereact/inputtext";import{Ripple as s}from"primereact/ripple";function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},p.apply(this,arguments)}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function m(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function d(e){var t=m(e,"string");return"symbol"===f(t)?t:String(t)}function b(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e){if(Array.isArray(e))return v(e)}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function h(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(e,t):void 0}}function E(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(e){return y(e)||g(e)||h(e)||E()}function O(e){if(Array.isArray(e))return e}function x(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,l,o,i,a=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){c=!0,l=e}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(c)throw l}}return a}}function P(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var w={defaultProps:{__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,id:null,itemTemplate:null,listClassName:null,listStyle:null,metaKeySelection:!1,multiple:!1,onChange:null,onFilterValueChange:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,style:null,tabIndex:0,tooltip:null,tooltipOptions:null,value:null,virtualScrollerOptions:null,children:void 0},getProps:function(e){return o.getMergedProps(e,w.defaultProps)},getOtherProps:function(e){return o.getDiffProps(e,w.defaultProps)}},C=e.memo((function(t){var r={filter:function(e){return n(e)},reset:function(){return t.resetFilter()}},n=function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},l=function(){var l=e.createElement("div",{className:"p-listbox-filter-container"},e.createElement(c,p({type:"text",value:t.filter,onChange:n,className:"p-listbox-filter",disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps)),e.createElement("span",{className:"p-listbox-filter-icon pi pi-search"}));t.filterTemplate&&(l=o.getJSXElement(t.filterTemplate,{className:"p-listbox-filter-container",element:l,filterOptions:r,filterInputChange:n,filterIconClassName:"p-dropdown-filter-icon pi pi-search",props:t}));return e.createElement("div",{className:"p-listbox-header"},l)}();return e.createElement(e.Fragment,null,l)}));C.displayName="ListBoxHeader";var T=e.memo((function(t){var r=function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option}),e.preventDefault()},n=function e(t){var r=t.nextElementSibling;return r?a.hasClass(r,"p-disabled")||a.hasClass(r,"p-listbox-item-group")?e(r):r:null},l=function e(t){var r=t.previousElementSibling;return r?a.hasClass(r,"p-disabled")||a.hasClass(r,"p-listbox-item-group")?e(r):r:null},u=i("p-listbox-item",{"p-highlight":t.selected,"p-disabled":t.disabled},t.option.className),c=t.template?o.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:u,style:t.style,onClick:r,onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onKeyDown:function(e){var t=e.currentTarget;switch(e.which){case 40:var o=n(t);o&&o.focus(),e.preventDefault();break;case 38:var i=l(t);i&&i.focus(),e.preventDefault();break;case 13:r(e),e.preventDefault()}},tabIndex:"-1","aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled},c,e.createElement(s,null))}));function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function I(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=N(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:l}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){a=!0,o=e},f:function(){try{i||null==r.return||r.return()}finally{if(a)throw o}}}}function N(e,t){if(e){if("string"==typeof e)return D(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?D(e,t):void 0}}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}T.displayName="ListBoxItem";var L=e.memo(e.forwardRef((function(c,s){var f,m,d=w.getProps(c),b=e.useState(""),v=(m=2,O(f=b)||x(f,m)||h(f,m)||P()),y=v[0],g=v[1],E=e.useRef(null),j=e.useRef(null),N=e.useRef(!1),D=(d.onFilterValueChange?d.filterValue:y)||"",L=D&&D.trim().length>0,A=function(e){var t=e.option;d.disabled||$(t)||(d.multiple?k(e.originalEvent,t):K(e.originalEvent,t),N.current=!1)},M=function(){d.disabled||(N.current=!0)},K=function(e,t){var r=X(t),n=!1,l=null;!N.current&&d.metaKeySelection?r?(e.metaKey||e.ctrlKey)&&(l=null,n=!0):(l=H(t),n=!0):(l=r?null:H(t),n=!0);n&&B(e,l)},k=function(e,t){var r=X(t),n=!1,l=null;if(!N&&d.metaKeySelection){var o=e.metaKey||e.ctrlKey;r?(l=o?R(t):[H(t)],n=!0):(l=[].concat(S(l=o&&d.value||[]),[H(t)]),n=!0)}else l=r?R(t):[].concat(S(d.value||[]),[H(t)]),n=!0;n&&d.onChange({originalEvent:e,value:l,stopPropagation:function(){},preventDefault:function(){},target:{name:d.name,id:d.id,value:l}})},G=function(e){j.current&&j.current.scrollToIndex(0);var t=e.value;d.onFilterValueChange?d.onFilterValueChange({originalEvent:e.originalEvent,value:t}):g(t)},V=function(){g(""),d.onFilter&&d.onFilter({filter:""})},B=function(e,t){d.onChange&&d.onChange({originalEvent:e,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:d.name,id:d.id,value:t}})},R=function(e){return d.value.filter((function(t){return!o.equals(t,H(e),d.dataKey)}))},_=function(){if(null!=d.value&&ne){if(!d.optionGroupLabel)return J(d.value,ne);for(var e=0;e<ne.length;e++){var t=J(d.value,W(ne[e]));if(-1!==t)return{group:e,option:t}}}return-1},q=function(){return d.optionValue?null:d.dataKey},J=function(e,t){var r=q();return t.findIndex((function(t){return o.equals(e,H(t),r)}))},X=function(e){var t=H(e),r=q();return d.multiple&&d.value?d.value.some((function(e){return o.equals(e,t,r)})):o.equals(d.value,t,r)},z=function(e){return d.optionLabel?o.resolveFieldData(e,d.optionLabel):e&&void 0!==e.label?e.label:e},H=function(e){return d.optionValue?o.resolveFieldData(e,d.optionValue):e&&void 0!==e.value?e.value:e},U=function(e){return d.dataKey?o.resolveFieldData(e,d.dataKey):z(e)},$=function(e){return d.optionDisabled?o.isFunction(d.optionDisabled)?d.optionDisabled(e):o.resolveFieldData(e,d.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Y=function(e){return o.resolveFieldData(e,d.optionGroupLabel)},Q=function(e){return o.resolveFieldData(e,d.optionGroupLabel)},W=function(e){return o.resolveFieldData(e,d.optionGroupChildren)},Z=function(){if(j.current){var e=_();-1!==e&&setTimeout((function(){return j.current.scrollToIndex(e)}),0)}};e.useImperativeHandle(s,(function(){return{props:d,focus:function(){return a.focusFirstElement(E.current)},getElement:function(){return E.current},getVirtualScroller:function(){return j.current}}})),n((function(){Z()}));var ee=function(t,r){return W(t).map((function(t,n){var l=z(t),o=n+"_"+U(t),i=$(t),a=i?null:d.tabIndex||0;return e.createElement(T,{key:o,label:l,option:t,style:r,template:d.itemTemplate,selected:X(t),onClick:A,onTouchEnd:M,tabIndex:a,disabled:i})}))},te=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:n.props?n.props.itemSize:void 0};if(d.optionGroupLabel){var i=d.optionGroupTemplate?o.getJSXElement(d.optionGroupTemplate,t,r):Q(t),a=ee(t,l),u=r+"_"+Y(t);return e.createElement(e.Fragment,{key:u},e.createElement("li",{className:"p-listbox-item-group",style:l,role:"group"},i),a)}var c=z(t),s=r+"_"+U(t),p=$(t),f=p?null:d.tabIndex||0;return e.createElement(T,{key:s,label:c,option:t,style:l,template:d.itemTemplate,selected:X(t),onClick:A,onTouchEnd:M,tabIndex:f,disabled:p})},re=function(t,n){var l=o.getJSXElement(t,d)||r(n?"emptyFilterMessage":"emptyMessage");return e.createElement("li",{className:"p-listbox-empty-message"},l)},ne=function(){if(L){var e=D.trim().toLocaleLowerCase(d.filterLocale),r=d.filterBy?d.filterBy.split(","):[d.optionLabel||"label"];if(d.optionGroupLabel){var n,l=[],o=I(d.options);try{for(o.s();!(n=o.n()).done;){var i=n.value,a=t.filter(W(i),r,e,d.filterMatchMode,d.filterLocale);a&&a.length&&l.push(F(F({},i),{items:a}))}}catch(e){o.e(e)}finally{o.f()}return l}return t.filter(d.options,r,e,d.filterMatchMode,d.filterLocale)}return d.options}(),le=o.isNotEmpty(d.tooltip),oe=w.getOtherProps(d),ie=o.reduceKeys(oe,a.ARIA_PROPS),ae=i("p-listbox p-component",{"p-disabled":d.disabled},d.className),ue=i("p-listbox-list-wrapper",d.listClassName),ce=function(){if(d.virtualScrollerOptions){var t=F(F({},d.virtualScrollerOptions),{items:ne,onLazyLoad:function(e){return d.virtualScrollerOptions.onLazyLoad(F(F({},e),{filter:ne}))},itemTemplate:function(e,t){return e&&te(e,t.index,t)},contentTemplate:function(t){var r=i("p-listbox-list",t.className);return e.createElement("ul",p({ref:t.contentRef,className:r,role:"listbox","aria-multiselectable":d.multiple},ie),t.children)}});return e.createElement(u,p({ref:j},t))}var r=o.isNotEmpty(ne)?ne.map(te):L?re(d.emptyFilterMessage,!0):re(d.emptyMessage);return e.createElement("ul",p({className:"p-listbox-list",role:"listbox","aria-multiselectable":d.multiple},ie),r)}(),se=d.filter?e.createElement(C,{filter:D,onFilter:G,resetFilter:V,filterTemplate:d.filterTemplate,disabled:d.disabled,filterPlaceholder:d.filterPlaceholder,filterInputProps:d.filterInputProps}):null;return e.createElement(e.Fragment,null,e.createElement("div",p({ref:E,id:d.id,className:ae,style:d.style},oe),se,e.createElement("div",{className:ue,style:d.listStyle},ce)),le&&e.createElement(l,p({target:E,content:d.tooltip},d.tooltipOptions)))})));L.displayName="ListBox";export{L as ListBox};
1
+ import*as e from"react";import{FilterService as t,localeOption as r}from"primereact/api";import{useMountEffect as n}from"primereact/hooks";import{Tooltip as l}from"primereact/tooltip";import{ObjectUtils as o,classNames as i,DomHandler as a}from"primereact/utils";import{VirtualScroller as u}from"primereact/virtualscroller";import{InputText as c}from"primereact/inputtext";import{Ripple as s}from"primereact/ripple";function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},p.apply(this,arguments)}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function m(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function d(e){var t=m(e,"string");return"symbol"===f(t)?t:String(t)}function b(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e){if(Array.isArray(e))return v(e)}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function h(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(e,t):void 0}}function E(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(e){return y(e)||g(e)||h(e)||E()}function O(e){if(Array.isArray(e))return e}function x(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,l,o,i,a=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){c=!0,l=e}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(c)throw l}}return a}}function P(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var w={defaultProps:{__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,id:null,itemTemplate:null,listClassName:null,listStyle:null,metaKeySelection:!1,multiple:!1,onChange:null,onFilterValueChange:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,style:null,tabIndex:0,tooltip:null,tooltipOptions:null,value:null,virtualScrollerOptions:null,children:void 0},getProps:function(e){return o.getMergedProps(e,w.defaultProps)},getOtherProps:function(e){return o.getDiffProps(e,w.defaultProps)}},C=e.memo((function(t){var r={filter:function(e){return n(e)},reset:function(){return t.resetFilter()}},n=function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},l=function(){var l=e.createElement("div",{className:"p-listbox-filter-container"},e.createElement(c,p({type:"text",value:t.filter,onChange:n,className:"p-listbox-filter",disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps)),e.createElement("span",{className:"p-listbox-filter-icon pi pi-search"}));t.filterTemplate&&(l=o.getJSXElement(t.filterTemplate,{className:"p-listbox-filter-container",element:l,filterOptions:r,filterInputChange:n,filterIconClassName:"p-dropdown-filter-icon pi pi-search",props:t}));return e.createElement("div",{className:"p-listbox-header"},l)}();return e.createElement(e.Fragment,null,l)}));C.displayName="ListBoxHeader";var T=e.memo((function(t){var r=function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option}),e.preventDefault()},n=function e(t){var r=t.nextElementSibling;return r?a.hasClass(r,"p-disabled")||a.hasClass(r,"p-listbox-item-group")?e(r):r:null},l=function e(t){var r=t.previousElementSibling;return r?a.hasClass(r,"p-disabled")||a.hasClass(r,"p-listbox-item-group")?e(r):r:null},u=i("p-listbox-item",{"p-highlight":t.selected,"p-disabled":t.disabled},t.option.className),c=t.template?o.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:u,style:t.style,onClick:r,onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onKeyDown:function(e){var t=e.currentTarget;switch(e.which){case 40:var o=n(t);o&&o.focus(),e.preventDefault();break;case 38:var i=l(t);i&&i.focus(),e.preventDefault();break;case 13:r(e),e.preventDefault()}},tabIndex:"-1","aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled},c,e.createElement(s,null))}));function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function I(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=N(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:l}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){a=!0,o=e},f:function(){try{i||null==r.return||r.return()}finally{if(a)throw o}}}}function N(e,t){if(e){if("string"==typeof e)return D(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?D(e,t):void 0}}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}T.displayName="ListBoxItem";var L=e.memo(e.forwardRef((function(c,s){var f,m,d=w.getProps(c),b=e.useState(""),v=(m=2,O(f=b)||x(f,m)||h(f,m)||P()),y=v[0],g=v[1],E=e.useRef(null),j=e.useRef(null),N=e.useRef(!1),D=(d.onFilterValueChange?d.filterValue:y)||"",L=D&&D.trim().length>0,A=function(e){var t=e.option;d.disabled||$(t)||(d.multiple?k(e.originalEvent,t):K(e.originalEvent,t),N.current=!1)},M=function(){d.disabled||(N.current=!0)},K=function(e,t){var r=X(t),n=!1,l=null;!N.current&&d.metaKeySelection?r?(e.metaKey||e.ctrlKey)&&(l=null,n=!0):(l=H(t),n=!0):(l=r?null:H(t),n=!0);n&&B(e,l)},k=function(e,t){var r=X(t),n=!1,l=null;if(!N&&d.metaKeySelection){var o=e.metaKey||e.ctrlKey;r?(l=o?R(t):[H(t)],n=!0):(l=[].concat(S(l=o&&d.value||[]),[H(t)]),n=!0)}else l=r?R(t):[].concat(S(d.value||[]),[H(t)]),n=!0;n&&d.onChange({originalEvent:e,value:l,stopPropagation:function(){},preventDefault:function(){},target:{name:d.name,id:d.id,value:l}})},G=function(e){j.current&&j.current.scrollToIndex(0);var t=e.value;d.onFilterValueChange?d.onFilterValueChange({originalEvent:e.originalEvent,value:t}):g(t)},V=function(){g(""),d.onFilter&&d.onFilter({filter:""})},B=function(e,t){d.onChange&&d.onChange({originalEvent:e,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:d.name,id:d.id,value:t}})},R=function(e){return d.value.filter((function(t){return!o.equals(t,H(e),d.dataKey)}))},_=function(){if(null!=d.value&&re){if(!d.optionGroupLabel)return J(d.value,re);for(var e=0;e<re.length;e++){var t=J(d.value,Q(re[e]));if(-1!==t)return{group:e,option:t}}}return-1},q=function(){return d.optionValue?null:d.dataKey},J=function(e,t){var r=q();return t.findIndex((function(t){return o.equals(e,H(t),r)}))},X=function(e){var t=H(e),r=q();return d.multiple&&d.value?d.value.some((function(e){return o.equals(e,t,r)})):o.equals(d.value,t,r)},z=function(e){return d.optionLabel?o.resolveFieldData(e,d.optionLabel):e&&void 0!==e.label?e.label:e},H=function(e){return d.optionValue?o.resolveFieldData(e,d.optionValue):e&&void 0!==e.value?e.value:e},U=function(e){return d.dataKey?o.resolveFieldData(e,d.dataKey):z(e)},$=function(e){return d.optionDisabled?o.isFunction(d.optionDisabled)?d.optionDisabled(e):o.resolveFieldData(e,d.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Y=function(e){return o.resolveFieldData(e,d.optionGroupLabel)},Q=function(e){return o.resolveFieldData(e,d.optionGroupChildren)},W=function(){if(j.current){var e=_();-1!==e&&setTimeout((function(){return j.current.scrollToIndex(e)}),0)}};e.useImperativeHandle(s,(function(){return{props:d,focus:function(){return a.focusFirstElement(E.current)},getElement:function(){return E.current},getVirtualScroller:function(){return j.current}}})),n((function(){W()}));var Z=function(t,r){return Q(t).map((function(t,n){var l=z(t),o=n+"_"+U(t),i=$(t),a=i?null:d.tabIndex||0;return e.createElement(T,{key:o,label:l,option:t,style:r,template:d.itemTemplate,selected:X(t),onClick:A,onTouchEnd:M,tabIndex:a,disabled:i})}))},ee=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:n.props?n.props.itemSize:void 0};if(d.optionGroupLabel){var i=d.optionGroupTemplate?o.getJSXElement(d.optionGroupTemplate,t,r):o.resolveFieldData(t,d.optionGroupLabel),a=Z(t,l),u=r+"_"+Y(t);return e.createElement(e.Fragment,{key:u},e.createElement("li",{className:"p-listbox-item-group",style:l,role:"group"},i),a)}var c=z(t),s=r+"_"+U(t),p=$(t),f=p?null:d.tabIndex||0;return e.createElement(T,{key:s,label:c,option:t,style:l,template:d.itemTemplate,selected:X(t),onClick:A,onTouchEnd:M,tabIndex:f,disabled:p})},te=function(t,n){var l=o.getJSXElement(t,d)||r(n?"emptyFilterMessage":"emptyMessage");return e.createElement("li",{className:"p-listbox-empty-message"},l)},re=function(){if(L){var e=D.trim().toLocaleLowerCase(d.filterLocale),r=d.filterBy?d.filterBy.split(","):[d.optionLabel||"label"];if(d.optionGroupLabel){var n,l=[],o=I(d.options);try{for(o.s();!(n=o.n()).done;){var i=n.value,a=t.filter(Q(i),r,e,d.filterMatchMode,d.filterLocale);a&&a.length&&l.push(F(F({},i),{items:a}))}}catch(e){o.e(e)}finally{o.f()}return l}return t.filter(d.options,r,e,d.filterMatchMode,d.filterLocale)}return d.options}(),ne=o.isNotEmpty(d.tooltip),le=w.getOtherProps(d),oe=o.reduceKeys(le,a.ARIA_PROPS),ie=i("p-listbox p-component",{"p-disabled":d.disabled},d.className),ae=i("p-listbox-list-wrapper",d.listClassName),ue=function(){if(d.virtualScrollerOptions){var t=F(F({},d.virtualScrollerOptions),{items:re,onLazyLoad:function(e){return d.virtualScrollerOptions.onLazyLoad(F(F({},e),{filter:re}))},itemTemplate:function(e,t){return e&&ee(e,t.index,t)},contentTemplate:function(t){var r=i("p-listbox-list",t.className);return e.createElement("ul",p({ref:t.contentRef,style:t.style,className:r,role:"listbox","aria-multiselectable":d.multiple},oe),t.children)}});return e.createElement(u,p({ref:j},t))}var r=o.isNotEmpty(re)?re.map(ee):L?te(d.emptyFilterMessage,!0):te(d.emptyMessage);return e.createElement("ul",p({className:"p-listbox-list",role:"listbox","aria-multiselectable":d.multiple},oe),r)}(),ce=d.filter?e.createElement(C,{filter:D,onFilter:G,resetFilter:V,filterTemplate:d.filterTemplate,disabled:d.disabled,filterPlaceholder:d.filterPlaceholder,filterInputProps:d.filterInputProps}):null;return e.createElement(e.Fragment,null,e.createElement("div",p({ref:E,id:d.id,className:ie,style:d.style},le),ce,e.createElement("div",{className:ae,style:d.listStyle},ue)),ne&&e.createElement(l,p({target:E,content:d.tooltip},d.tooltipOptions)))})));L.displayName="ListBox";export{L as ListBox};
@@ -652,14 +652,15 @@ this.primereact.listbox = (function (exports, React, api, hooks, tooltip, utils,
652
652
  itemTemplate: function itemTemplate(item, options) {
653
653
  return item && createItem(item, options.index, options);
654
654
  },
655
- contentTemplate: function contentTemplate(option) {
656
- var className = utils.classNames('p-listbox-list', option.className);
655
+ contentTemplate: function contentTemplate(options) {
656
+ var className = utils.classNames('p-listbox-list', options.className);
657
657
  return /*#__PURE__*/React__namespace.createElement("ul", _extends({
658
- ref: option.contentRef,
658
+ ref: options.contentRef,
659
+ style: options.style,
659
660
  className: className,
660
661
  role: "listbox",
661
662
  "aria-multiselectable": props.multiple
662
- }, ariaProps), option.children);
663
+ }, ariaProps), options.children);
663
664
  }
664
665
  });
665
666
  return /*#__PURE__*/React__namespace.createElement(virtualscroller.VirtualScroller, _extends({
@@ -1 +1 @@
1
- this.primereact=this.primereact||{},this.primereact.listbox=function(e,t,r,n,l,i,o,a,u){"use strict";function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=c(t);function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},p.apply(this,arguments)}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function m(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function d(e){var t=m(e,"string");return"symbol"===f(t)?t:String(t)}function b(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e){if(Array.isArray(e))return v(e)}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function h(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(e,t):void 0}}function O(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function j(e){return y(e)||g(e)||h(e)||O()}function E(e){if(Array.isArray(e))return e}function S(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,l,i,o,a=[],u=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){c=!0,l=e}finally{try{if(!u&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw l}}return a}}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var P={defaultProps:{__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,id:null,itemTemplate:null,listClassName:null,listStyle:null,metaKeySelection:!1,multiple:!1,onChange:null,onFilterValueChange:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,style:null,tabIndex:0,tooltip:null,tooltipOptions:null,value:null,virtualScrollerOptions:null,children:void 0},getProps:function(e){return i.ObjectUtils.getMergedProps(e,P.defaultProps)},getOtherProps:function(e){return i.ObjectUtils.getDiffProps(e,P.defaultProps)}},D=s.memo((function(e){var t={filter:function(e){return r(e)},reset:function(){return e.resetFilter()}},r=function(t){e.onFilter&&e.onFilter({originalEvent:t,value:t.target.value})},n=function(){var n=s.createElement("div",{className:"p-listbox-filter-container"},s.createElement(a.InputText,p({type:"text",value:e.filter,onChange:r,className:"p-listbox-filter",disabled:e.disabled,placeholder:e.filterPlaceholder},e.filterInputProps)),s.createElement("span",{className:"p-listbox-filter-icon pi pi-search"}));e.filterTemplate&&(n=i.ObjectUtils.getJSXElement(e.filterTemplate,{className:"p-listbox-filter-container",element:n,filterOptions:t,filterInputChange:r,filterIconClassName:"p-dropdown-filter-icon pi pi-search",props:e}));return s.createElement("div",{className:"p-listbox-header"},n)}();return s.createElement(s.Fragment,null,n)}));D.displayName="ListBoxHeader";var w=s.memo((function(e){var t=function(t){e.onClick&&e.onClick({originalEvent:t,option:e.option}),t.preventDefault()},r=function e(t){var r=t.nextElementSibling;return r?i.DomHandler.hasClass(r,"p-disabled")||i.DomHandler.hasClass(r,"p-listbox-item-group")?e(r):r:null},n=function e(t){var r=t.previousElementSibling;return r?i.DomHandler.hasClass(r,"p-disabled")||i.DomHandler.hasClass(r,"p-listbox-item-group")?e(r):r:null},l=i.classNames("p-listbox-item",{"p-highlight":e.selected,"p-disabled":e.disabled},e.option.className),o=e.template?i.ObjectUtils.getJSXElement(e.template,e.option):e.label;return s.createElement("li",{className:l,style:e.style,onClick:t,onTouchEnd:function(t){e.onTouchEnd&&e.onTouchEnd({originalEvent:t,option:e.option})},onKeyDown:function(e){var l=e.currentTarget;switch(e.which){case 40:var i=r(l);i&&i.focus(),e.preventDefault();break;case 38:var o=n(l);o&&o.focus(),e.preventDefault();break;case 13:t(e),e.preventDefault()}},tabIndex:"-1","aria-label":e.label,key:e.label,role:"option","aria-selected":e.selected,"aria-disabled":e.disabled},o,s.createElement(u.Ripple,null))}));function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function T(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function F(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=C(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:l}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function C(e,t){if(e){if("string"==typeof e)return I(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I(e,t):void 0}}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}w.displayName="ListBoxItem";var L=s.memo(s.forwardRef((function(e,t){var a,u,c=P.getProps(e),f=s.useState(""),m=(u=2,E(a=f)||S(a,u)||h(a,u)||x()),d=m[0],b=m[1],v=s.useRef(null),y=s.useRef(null),g=s.useRef(!1),O=(c.onFilterValueChange?c.filterValue:d)||"",N=O&&O.trim().length>0,C=function(e){var t=e.option;c.disabled||z(t)||(c.multiple?U(e.originalEvent,t):L(e.originalEvent,t),g.current=!1)},I=function(){c.disabled||(g.current=!0)},L=function(e,t){var r=R(t),n=!1,l=null;!g.current&&c.metaKeySelection?r?(e.metaKey||e.ctrlKey)&&(l=null,n=!0):(l=H(t),n=!0):(l=r?null:H(t),n=!0);n&&k(e,l)},U=function(e,t){var r=R(t),n=!1,l=null;if(!g&&c.metaKeySelection){var i=e.metaKey||e.ctrlKey;r?(l=i?K(t):[H(t)],n=!0):(l=[].concat(j(l=i&&c.value||[]),[H(t)]),n=!0)}else l=r?K(t):[].concat(j(c.value||[]),[H(t)]),n=!0;n&&c.onChange({originalEvent:e,value:l,stopPropagation:function(){},preventDefault:function(){},target:{name:c.name,id:c.id,value:l}})},M=function(e){y.current&&y.current.scrollToIndex(0);var t=e.value;c.onFilterValueChange?c.onFilterValueChange({originalEvent:e.originalEvent,value:t}):b(t)},A=function(){b(""),c.onFilter&&c.onFilter({filter:""})},k=function(e,t){c.onChange&&c.onChange({originalEvent:e,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:c.name,id:c.id,value:t}})},K=function(e){return c.value.filter((function(t){return!i.ObjectUtils.equals(t,H(e),c.dataKey)}))},V=function(){if(null!=c.value&&ee){if(!c.optionGroupLabel)return _(c.value,ee);for(var e=0;e<ee.length;e++){var t=_(c.value,$(ee[e]));if(-1!==t)return{group:e,option:t}}}return-1},G=function(){return c.optionValue?null:c.dataKey},_=function(e,t){var r=G();return t.findIndex((function(t){return i.ObjectUtils.equals(e,H(t),r)}))},R=function(e){var t=H(e),r=G();return c.multiple&&c.value?c.value.some((function(e){return i.ObjectUtils.equals(e,t,r)})):i.ObjectUtils.equals(c.value,t,r)},B=function(e){return c.optionLabel?i.ObjectUtils.resolveFieldData(e,c.optionLabel):e&&void 0!==e.label?e.label:e},H=function(e){return c.optionValue?i.ObjectUtils.resolveFieldData(e,c.optionValue):e&&void 0!==e.value?e.value:e},q=function(e){return c.dataKey?i.ObjectUtils.resolveFieldData(e,c.dataKey):B(e)},z=function(e){return c.optionDisabled?i.ObjectUtils.isFunction(c.optionDisabled)?c.optionDisabled(e):i.ObjectUtils.resolveFieldData(e,c.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},J=function(e){return i.ObjectUtils.resolveFieldData(e,c.optionGroupLabel)},X=function(e){return i.ObjectUtils.resolveFieldData(e,c.optionGroupLabel)},$=function(e){return i.ObjectUtils.resolveFieldData(e,c.optionGroupChildren)},Y=function(){if(y.current){var e=V();-1!==e&&setTimeout((function(){return y.current.scrollToIndex(e)}),0)}};s.useImperativeHandle(t,(function(){return{props:c,focus:function(){return i.DomHandler.focusFirstElement(v.current)},getElement:function(){return v.current},getVirtualScroller:function(){return y.current}}})),n.useMountEffect((function(){Y()}));var Q=function(e,t){return $(e).map((function(e,r){var n=B(e),l=r+"_"+q(e),i=z(e),o=i?null:c.tabIndex||0;return s.createElement(w,{key:l,label:n,option:e,style:t,template:c.itemTemplate,selected:R(e),onClick:C,onTouchEnd:I,tabIndex:o,disabled:i})}))},W=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={height:r.props?r.props.itemSize:void 0};if(c.optionGroupLabel){var l=c.optionGroupTemplate?i.ObjectUtils.getJSXElement(c.optionGroupTemplate,e,t):X(e),o=Q(e,n),a=t+"_"+J(e);return s.createElement(s.Fragment,{key:a},s.createElement("li",{className:"p-listbox-item-group",style:n,role:"group"},l),o)}var u=B(e),p=t+"_"+q(e),f=z(e),m=f?null:c.tabIndex||0;return s.createElement(w,{key:p,label:u,option:e,style:n,template:c.itemTemplate,selected:R(e),onClick:C,onTouchEnd:I,tabIndex:m,disabled:f})},Z=function(e,t){var n=i.ObjectUtils.getJSXElement(e,c)||r.localeOption(t?"emptyFilterMessage":"emptyMessage");return s.createElement("li",{className:"p-listbox-empty-message"},n)},ee=function(){if(N){var e=O.trim().toLocaleLowerCase(c.filterLocale),t=c.filterBy?c.filterBy.split(","):[c.optionLabel||"label"];if(c.optionGroupLabel){var n,l=[],i=F(c.options);try{for(i.s();!(n=i.n()).done;){var o=n.value,a=r.FilterService.filter($(o),t,e,c.filterMatchMode,c.filterLocale);a&&a.length&&l.push(T(T({},o),{items:a}))}}catch(e){i.e(e)}finally{i.f()}return l}return r.FilterService.filter(c.options,t,e,c.filterMatchMode,c.filterLocale)}return c.options}(),te=i.ObjectUtils.isNotEmpty(c.tooltip),re=P.getOtherProps(c),ne=i.ObjectUtils.reduceKeys(re,i.DomHandler.ARIA_PROPS),le=i.classNames("p-listbox p-component",{"p-disabled":c.disabled},c.className),ie=i.classNames("p-listbox-list-wrapper",c.listClassName),oe=function(){if(c.virtualScrollerOptions){var e=T(T({},c.virtualScrollerOptions),{items:ee,onLazyLoad:function(e){return c.virtualScrollerOptions.onLazyLoad(T(T({},e),{filter:ee}))},itemTemplate:function(e,t){return e&&W(e,t.index,t)},contentTemplate:function(e){var t=i.classNames("p-listbox-list",e.className);return s.createElement("ul",p({ref:e.contentRef,className:t,role:"listbox","aria-multiselectable":c.multiple},ne),e.children)}});return s.createElement(o.VirtualScroller,p({ref:y},e))}var t=i.ObjectUtils.isNotEmpty(ee)?ee.map(W):N?Z(c.emptyFilterMessage,!0):Z(c.emptyMessage);return s.createElement("ul",p({className:"p-listbox-list",role:"listbox","aria-multiselectable":c.multiple},ne),t)}(),ae=c.filter?s.createElement(D,{filter:O,onFilter:M,resetFilter:A,filterTemplate:c.filterTemplate,disabled:c.disabled,filterPlaceholder:c.filterPlaceholder,filterInputProps:c.filterInputProps}):null;return s.createElement(s.Fragment,null,s.createElement("div",p({ref:v,id:c.id,className:le,style:c.style},re),ae,s.createElement("div",{className:ie,style:c.listStyle},oe)),te&&s.createElement(l.Tooltip,p({target:v,content:c.tooltip},c.tooltipOptions)))})));return L.displayName="ListBox",e.ListBox=L,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.hooks,primereact.tooltip,primereact.utils,primereact.virtualscroller,primereact.inputtext,primereact.ripple);
1
+ this.primereact=this.primereact||{},this.primereact.listbox=function(e,t,r,n,l,i,o,a,u){"use strict";function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=c(t);function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},p.apply(this,arguments)}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function m(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function d(e){var t=m(e,"string");return"symbol"===f(t)?t:String(t)}function b(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e){if(Array.isArray(e))return v(e)}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function h(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(e,t):void 0}}function O(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function j(e){return y(e)||g(e)||h(e)||O()}function E(e){if(Array.isArray(e))return e}function S(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,l,i,o,a=[],u=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){c=!0,l=e}finally{try{if(!u&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw l}}return a}}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var P={defaultProps:{__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,id:null,itemTemplate:null,listClassName:null,listStyle:null,metaKeySelection:!1,multiple:!1,onChange:null,onFilterValueChange:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,style:null,tabIndex:0,tooltip:null,tooltipOptions:null,value:null,virtualScrollerOptions:null,children:void 0},getProps:function(e){return i.ObjectUtils.getMergedProps(e,P.defaultProps)},getOtherProps:function(e){return i.ObjectUtils.getDiffProps(e,P.defaultProps)}},D=s.memo((function(e){var t={filter:function(e){return r(e)},reset:function(){return e.resetFilter()}},r=function(t){e.onFilter&&e.onFilter({originalEvent:t,value:t.target.value})},n=function(){var n=s.createElement("div",{className:"p-listbox-filter-container"},s.createElement(a.InputText,p({type:"text",value:e.filter,onChange:r,className:"p-listbox-filter",disabled:e.disabled,placeholder:e.filterPlaceholder},e.filterInputProps)),s.createElement("span",{className:"p-listbox-filter-icon pi pi-search"}));e.filterTemplate&&(n=i.ObjectUtils.getJSXElement(e.filterTemplate,{className:"p-listbox-filter-container",element:n,filterOptions:t,filterInputChange:r,filterIconClassName:"p-dropdown-filter-icon pi pi-search",props:e}));return s.createElement("div",{className:"p-listbox-header"},n)}();return s.createElement(s.Fragment,null,n)}));D.displayName="ListBoxHeader";var w=s.memo((function(e){var t=function(t){e.onClick&&e.onClick({originalEvent:t,option:e.option}),t.preventDefault()},r=function e(t){var r=t.nextElementSibling;return r?i.DomHandler.hasClass(r,"p-disabled")||i.DomHandler.hasClass(r,"p-listbox-item-group")?e(r):r:null},n=function e(t){var r=t.previousElementSibling;return r?i.DomHandler.hasClass(r,"p-disabled")||i.DomHandler.hasClass(r,"p-listbox-item-group")?e(r):r:null},l=i.classNames("p-listbox-item",{"p-highlight":e.selected,"p-disabled":e.disabled},e.option.className),o=e.template?i.ObjectUtils.getJSXElement(e.template,e.option):e.label;return s.createElement("li",{className:l,style:e.style,onClick:t,onTouchEnd:function(t){e.onTouchEnd&&e.onTouchEnd({originalEvent:t,option:e.option})},onKeyDown:function(e){var l=e.currentTarget;switch(e.which){case 40:var i=r(l);i&&i.focus(),e.preventDefault();break;case 38:var o=n(l);o&&o.focus(),e.preventDefault();break;case 13:t(e),e.preventDefault()}},tabIndex:"-1","aria-label":e.label,key:e.label,role:"option","aria-selected":e.selected,"aria-disabled":e.disabled},o,s.createElement(u.Ripple,null))}));function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function T(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function F(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=C(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:l}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function C(e,t){if(e){if("string"==typeof e)return I(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I(e,t):void 0}}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}w.displayName="ListBoxItem";var L=s.memo(s.forwardRef((function(e,t){var a,u,c=P.getProps(e),f=s.useState(""),m=(u=2,E(a=f)||S(a,u)||h(a,u)||x()),d=m[0],b=m[1],v=s.useRef(null),y=s.useRef(null),g=s.useRef(!1),O=(c.onFilterValueChange?c.filterValue:d)||"",N=O&&O.trim().length>0,C=function(e){var t=e.option;c.disabled||z(t)||(c.multiple?U(e.originalEvent,t):L(e.originalEvent,t),g.current=!1)},I=function(){c.disabled||(g.current=!0)},L=function(e,t){var r=R(t),n=!1,l=null;!g.current&&c.metaKeySelection?r?(e.metaKey||e.ctrlKey)&&(l=null,n=!0):(l=H(t),n=!0):(l=r?null:H(t),n=!0);n&&k(e,l)},U=function(e,t){var r=R(t),n=!1,l=null;if(!g&&c.metaKeySelection){var i=e.metaKey||e.ctrlKey;r?(l=i?K(t):[H(t)],n=!0):(l=[].concat(j(l=i&&c.value||[]),[H(t)]),n=!0)}else l=r?K(t):[].concat(j(c.value||[]),[H(t)]),n=!0;n&&c.onChange({originalEvent:e,value:l,stopPropagation:function(){},preventDefault:function(){},target:{name:c.name,id:c.id,value:l}})},M=function(e){y.current&&y.current.scrollToIndex(0);var t=e.value;c.onFilterValueChange?c.onFilterValueChange({originalEvent:e.originalEvent,value:t}):b(t)},A=function(){b(""),c.onFilter&&c.onFilter({filter:""})},k=function(e,t){c.onChange&&c.onChange({originalEvent:e,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:c.name,id:c.id,value:t}})},K=function(e){return c.value.filter((function(t){return!i.ObjectUtils.equals(t,H(e),c.dataKey)}))},V=function(){if(null!=c.value&&Z){if(!c.optionGroupLabel)return _(c.value,Z);for(var e=0;e<Z.length;e++){var t=_(c.value,X(Z[e]));if(-1!==t)return{group:e,option:t}}}return-1},G=function(){return c.optionValue?null:c.dataKey},_=function(e,t){var r=G();return t.findIndex((function(t){return i.ObjectUtils.equals(e,H(t),r)}))},R=function(e){var t=H(e),r=G();return c.multiple&&c.value?c.value.some((function(e){return i.ObjectUtils.equals(e,t,r)})):i.ObjectUtils.equals(c.value,t,r)},B=function(e){return c.optionLabel?i.ObjectUtils.resolveFieldData(e,c.optionLabel):e&&void 0!==e.label?e.label:e},H=function(e){return c.optionValue?i.ObjectUtils.resolveFieldData(e,c.optionValue):e&&void 0!==e.value?e.value:e},q=function(e){return c.dataKey?i.ObjectUtils.resolveFieldData(e,c.dataKey):B(e)},z=function(e){return c.optionDisabled?i.ObjectUtils.isFunction(c.optionDisabled)?c.optionDisabled(e):i.ObjectUtils.resolveFieldData(e,c.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},J=function(e){return i.ObjectUtils.resolveFieldData(e,c.optionGroupLabel)},X=function(e){return i.ObjectUtils.resolveFieldData(e,c.optionGroupChildren)},$=function(){if(y.current){var e=V();-1!==e&&setTimeout((function(){return y.current.scrollToIndex(e)}),0)}};s.useImperativeHandle(t,(function(){return{props:c,focus:function(){return i.DomHandler.focusFirstElement(v.current)},getElement:function(){return v.current},getVirtualScroller:function(){return y.current}}})),n.useMountEffect((function(){$()}));var Y=function(e,t){return X(e).map((function(e,r){var n=B(e),l=r+"_"+q(e),i=z(e),o=i?null:c.tabIndex||0;return s.createElement(w,{key:l,label:n,option:e,style:t,template:c.itemTemplate,selected:R(e),onClick:C,onTouchEnd:I,tabIndex:o,disabled:i})}))},Q=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={height:r.props?r.props.itemSize:void 0};if(c.optionGroupLabel){var l=c.optionGroupTemplate?i.ObjectUtils.getJSXElement(c.optionGroupTemplate,e,t):i.ObjectUtils.resolveFieldData(e,c.optionGroupLabel),o=Y(e,n),a=t+"_"+J(e);return s.createElement(s.Fragment,{key:a},s.createElement("li",{className:"p-listbox-item-group",style:n,role:"group"},l),o)}var u=B(e),p=t+"_"+q(e),f=z(e),m=f?null:c.tabIndex||0;return s.createElement(w,{key:p,label:u,option:e,style:n,template:c.itemTemplate,selected:R(e),onClick:C,onTouchEnd:I,tabIndex:m,disabled:f})},W=function(e,t){var n=i.ObjectUtils.getJSXElement(e,c)||r.localeOption(t?"emptyFilterMessage":"emptyMessage");return s.createElement("li",{className:"p-listbox-empty-message"},n)},Z=function(){if(N){var e=O.trim().toLocaleLowerCase(c.filterLocale),t=c.filterBy?c.filterBy.split(","):[c.optionLabel||"label"];if(c.optionGroupLabel){var n,l=[],i=F(c.options);try{for(i.s();!(n=i.n()).done;){var o=n.value,a=r.FilterService.filter(X(o),t,e,c.filterMatchMode,c.filterLocale);a&&a.length&&l.push(T(T({},o),{items:a}))}}catch(e){i.e(e)}finally{i.f()}return l}return r.FilterService.filter(c.options,t,e,c.filterMatchMode,c.filterLocale)}return c.options}(),ee=i.ObjectUtils.isNotEmpty(c.tooltip),te=P.getOtherProps(c),re=i.ObjectUtils.reduceKeys(te,i.DomHandler.ARIA_PROPS),ne=i.classNames("p-listbox p-component",{"p-disabled":c.disabled},c.className),le=i.classNames("p-listbox-list-wrapper",c.listClassName),ie=function(){if(c.virtualScrollerOptions){var e=T(T({},c.virtualScrollerOptions),{items:Z,onLazyLoad:function(e){return c.virtualScrollerOptions.onLazyLoad(T(T({},e),{filter:Z}))},itemTemplate:function(e,t){return e&&Q(e,t.index,t)},contentTemplate:function(e){var t=i.classNames("p-listbox-list",e.className);return s.createElement("ul",p({ref:e.contentRef,style:e.style,className:t,role:"listbox","aria-multiselectable":c.multiple},re),e.children)}});return s.createElement(o.VirtualScroller,p({ref:y},e))}var t=i.ObjectUtils.isNotEmpty(Z)?Z.map(Q):N?W(c.emptyFilterMessage,!0):W(c.emptyMessage);return s.createElement("ul",p({className:"p-listbox-list",role:"listbox","aria-multiselectable":c.multiple},re),t)}(),oe=c.filter?s.createElement(D,{filter:O,onFilter:M,resetFilter:A,filterTemplate:c.filterTemplate,disabled:c.disabled,filterPlaceholder:c.filterPlaceholder,filterInputProps:c.filterInputProps}):null;return s.createElement(s.Fragment,null,s.createElement("div",p({ref:v,id:c.id,className:ne,style:c.style},te),oe,s.createElement("div",{className:le,style:c.listStyle},ie)),ee&&s.createElement(l.Tooltip,p({target:v,content:c.tooltip},c.tooltipOptions)))})));return L.displayName="ListBox",e.ListBox=L,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.hooks,primereact.tooltip,primereact.utils,primereact.virtualscroller,primereact.inputtext,primereact.ripple);
@@ -109,6 +109,8 @@ var MegaMenuBase = {
109
109
  style: null,
110
110
  className: null,
111
111
  orientation: 'horizontal',
112
+ breakpoint: undefined,
113
+ scrollHeight: '400px',
112
114
  start: null,
113
115
  end: null,
114
116
  children: undefined
@@ -127,17 +129,41 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
127
129
  _React$useState2 = _slicedToArray(_React$useState, 2),
128
130
  activeItemState = _React$useState2[0],
129
131
  setActiveItemState = _React$useState2[1];
132
+ var _React$useState3 = React__namespace.useState(null),
133
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
134
+ attributeSelectorState = _React$useState4[0],
135
+ setAttributeSelectorState = _React$useState4[1];
136
+ var _React$useState5 = React__namespace.useState(false),
137
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
138
+ mobileActiveState = _React$useState6[0],
139
+ setMobileActiveState = _React$useState6[1];
130
140
  var elementRef = React__namespace.useRef(null);
141
+ var styleElementRef = React__namespace.useRef(null);
142
+ var menuButtonRef = React__namespace.useRef(null);
131
143
  var horizontal = props.orientation === 'horizontal';
132
144
  var vertical = props.orientation === 'vertical';
145
+ var isMobileMode = hooks.useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
133
146
  var _useEventListener = hooks.useEventListener({
134
147
  type: 'click',
135
148
  listener: function listener(event) {
136
- isOutsideClicked(event) && setActiveItemState(null);
149
+ if ((!isMobileMode || mobileActiveState) && isOutsideClicked(event)) {
150
+ setActiveItemState(null);
151
+ setMobileActiveState(false);
152
+ }
137
153
  }
138
154
  }),
139
155
  _useEventListener2 = _slicedToArray(_useEventListener, 1),
140
156
  bindDocumentClickListener = _useEventListener2[0];
157
+ var _useResizeListener = hooks.useResizeListener({
158
+ listener: function listener() {
159
+ if (!isMobileMode || mobileActiveState) {
160
+ setActiveItemState(null);
161
+ setMobileActiveState(false);
162
+ }
163
+ }
164
+ }),
165
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
166
+ bindDocumentResizeListener = _useResizeListener2[0];
141
167
  var onLeafClick = function onLeafClick(event, item) {
142
168
  if (item.disabled) {
143
169
  event.preventDefault();
@@ -153,9 +179,10 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
153
179
  });
154
180
  }
155
181
  setActiveItemState(null);
182
+ setMobileActiveState(false);
156
183
  };
157
184
  var onCategoryMouseEnter = function onCategoryMouseEnter(event, item) {
158
- if (item.disabled) {
185
+ if (item.disabled || isMobileMode) {
159
186
  event.preventDefault();
160
187
  return;
161
188
  }
@@ -218,6 +245,13 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
218
245
  var collapseMenu = function collapseMenu(item) {
219
246
  setActiveItemState(null);
220
247
  };
248
+ var toggle = function toggle(event) {
249
+ event.preventDefault();
250
+ setMobileActiveState(function (prevMobileActive) {
251
+ return !prevMobileActive;
252
+ });
253
+ setActiveItemState(null);
254
+ };
221
255
  var findNextItem = function findNextItem(item) {
222
256
  var nextItem = item.nextElementSibling;
223
257
  return nextItem ? utils.DomHandler.hasClass(nextItem, 'p-disabled') || !utils.DomHandler.hasClass(nextItem, 'p-menuitem') ? findNextItem(nextItem) : nextItem : null;
@@ -235,7 +269,7 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
235
269
  prevItem && prevItem.children[0].focus();
236
270
  };
237
271
  var isOutsideClicked = function isOutsideClicked(event) {
238
- return elementRef.current && !(elementRef.current.isSameNode(event.target) || elementRef.current.contains(event.target));
272
+ return elementRef.current && !(elementRef.current.isSameNode(event.target) || elementRef.current.contains(event.target) || menuButtonRef.current && menuButtonRef.current.contains(event.target));
239
273
  };
240
274
  var getColumnClassName = function getColumnClassName(category) {
241
275
  var length = category.items ? category.items.length : 0;
@@ -268,13 +302,23 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
268
302
  };
269
303
  });
270
304
  hooks.useMountEffect(function () {
305
+ if (props.breakpoint) {
306
+ !attributeSelectorState && setAttributeSelectorState(utils.UniqueComponentId());
307
+ }
271
308
  bindDocumentClickListener();
309
+ bindDocumentResizeListener();
272
310
  });
273
311
  hooks.useUpdateEffect(function () {
274
312
  var currentPanel = utils.DomHandler.findSingle(elementRef.current, '.p-menuitem-active > .p-megamenu-panel');
275
- if (activeItemState) {
313
+ if (activeItemState && !isMobileMode) {
276
314
  utils.ZIndexUtils.set('menu', currentPanel, PrimeReact__default["default"].autoZIndex, PrimeReact__default["default"].zIndex['menu']);
277
315
  }
316
+ if (isMobileMode) {
317
+ currentPanel && currentPanel.previousElementSibling.scrollIntoView({
318
+ block: 'nearest',
319
+ inline: 'nearest'
320
+ });
321
+ }
278
322
  return function () {
279
323
  utils.ZIndexUtils.clear(currentPanel);
280
324
  };
@@ -353,6 +397,9 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
353
397
  }
354
398
  };
355
399
  var createSubmenu = function createSubmenu(submenu) {
400
+ if (submenu.visible === false) {
401
+ return null;
402
+ }
356
403
  var className = utils.classNames('p-megamenu-submenu-header', {
357
404
  'p-disabled': submenu.disabled
358
405
  }, submenu.className);
@@ -400,6 +447,26 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
400
447
  }
401
448
  return null;
402
449
  };
450
+ var createStyle = function createStyle() {
451
+ if (!styleElementRef.current) {
452
+ styleElementRef.current = utils.DomHandler.createInlineStyle(PrimeReact__default["default"].nonce);
453
+ var selector = "".concat(attributeSelectorState);
454
+ var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-megamenu[").concat(selector, "] > .p-megamenu-root-list .p-menuitem-active .p-megamenu-panel {\n position: relative;\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n background: inherit;\n }\n\n .p-megamenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-megamenu[").concat(selector, "] .p-megamenu-grid {\n flex-wrap: wrap;\n }\n\n ").concat(horizontal ? "\n.p-megamenu[".concat(selector, "] .p-megamenu-button {\n display: flex;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-horizontal {\n position: relative;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-horizontal .p-megamenu-root-list {\n display: none;\n}\n\n.p-megamenu-horizontal[").concat(selector, "] div[class*=\"p-megamenu-col-\"] {\n width: auto;\n flex: 1;\n padding: 0;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-mobile-active .p-megamenu-root-list {\n display: flex;\n flex-direction: column;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 1;\n}\n ") : '', "\n\n ").concat(vertical ? "\n.p-megamenu-vertical[".concat(selector, "] {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-megamenu-root-list {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n}\n.p-megamenu-vertical[").concat(selector, "] div[class*=\"p-megamenu-col-\"] {\n width: 100%;\n padding: 0;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-megamenu-submenu {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(selector, "] div[class*=\"p-megamenu-col-\"] .p-megamenu-submenu-header {\n background: inherit;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n}\n ") : '', "\n}\n");
455
+ styleElementRef.current.innerHTML = innerHTML;
456
+ }
457
+ };
458
+ var destroyStyle = function destroyStyle() {
459
+ styleElementRef.current = utils.DomHandler.removeInlineStyle(styleElementRef.current);
460
+ };
461
+ hooks.useUpdateEffect(function () {
462
+ if (attributeSelectorState && elementRef.current) {
463
+ elementRef.current.setAttribute(attributeSelectorState, '');
464
+ createStyle();
465
+ }
466
+ return function () {
467
+ destroyStyle();
468
+ };
469
+ }, [attributeSelectorState, props.breakpoint]);
403
470
  var createCategory = function createCategory(category, index) {
404
471
  var className = utils.classNames('p-menuitem', {
405
472
  'p-menuitem-active': category === activeItemState
@@ -470,20 +537,41 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
470
537
  }
471
538
  return null;
472
539
  };
540
+ var createMenuButton = function createMenuButton() {
541
+ if (props.orientation === 'vertical' || props.model && props.model.length < 1) {
542
+ return null;
543
+ }
544
+ /* eslint-disable */
545
+ var button = /*#__PURE__*/React__namespace.createElement("a", {
546
+ ref: menuButtonRef,
547
+ href: '#',
548
+ role: "button",
549
+ tabIndex: 0,
550
+ className: "p-megamenu-button",
551
+ onClick: toggle
552
+ }, /*#__PURE__*/React__namespace.createElement("i", {
553
+ className: "pi pi-bars"
554
+ }));
555
+ /* eslint-enable */
556
+
557
+ return button;
558
+ };
473
559
  var otherProps = MegaMenuBase.getOtherProps(props);
474
560
  var className = utils.classNames('p-megamenu p-component', {
475
561
  'p-megamenu-horizontal': props.orientation === 'horizontal',
476
- 'p-megamenu-vertical': props.orientation === 'vertical'
562
+ 'p-megamenu-vertical': props.orientation === 'vertical',
563
+ 'p-megamenu-mobile-active': mobileActiveState
477
564
  }, props.className);
478
565
  var menu = createMenu();
479
566
  var start = createStartContent();
480
567
  var end = createEndContent();
568
+ var menuButton = createMenuButton();
481
569
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
482
570
  ref: elementRef,
483
571
  id: props.id,
484
572
  className: className,
485
573
  style: props.style
486
- }, otherProps), start, menu, end);
574
+ }, otherProps), start, menuButton, menu, end);
487
575
  }));
488
576
  MegaMenu.displayName = 'MegaMenu';
489
577
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/hooks"),r=require("primereact/ripple"),a=require("primereact/utils");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(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 u=i(e),s=l(t);function c(){return c=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},c.apply(this,arguments)}function o(e){if(Array.isArray(e))return e}function m(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l,i,u=[],s=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=l.call(n)).done)&&(u.push(r.value),u.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return u}}function p(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 f(e,t){if(e){if("string"==typeof e)return p(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)?p(e,t):void 0}}function d(){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 b(e,t){return o(e)||m(e,t)||f(e,t)||d()}var v={defaultProps:{__TYPE:"MegaMenu",id:null,model:null,style:null,className:null,orientation:"horizontal",start:null,end:null,children:void 0},getProps:function(e){return a.ObjectUtils.getMergedProps(e,v.defaultProps)},getOtherProps:function(e){return a.ObjectUtils.getDiffProps(e,v.defaultProps)}},g=u.memo(u.forwardRef((function(e,t){var l=v.getProps(e),i=b(u.useState(null),2),o=i[0],m=i[1],p=u.useRef(null),f="horizontal"===l.orientation,d="vertical"===l.orientation,g=b(n.useEventListener({type:"click",listener:function(e){S(e)&&m(null)}}),1)[0],y=function(e,t){t.disabled?e.preventDefault():(t.url||e.preventDefault(),t.command&&t.command({originalEvent:e,item:t}),m(null))},h=function(e,t){var n=e.currentTarget.parentElement;switch(e.which){case 40:f?E(t):k(n),e.preventDefault();break;case 38:d?D(n):t.items&&t===o&&N(),e.preventDefault();break;case 39:f?k(n):E(t),e.preventDefault();break;case 37:f?D(n):t.items&&t===o&&N(),e.preventDefault()}},E=function(e){e.items&&m(e)},N=function(e){m(null)},O=function e(t){var n=t.nextElementSibling;return n?a.DomHandler.hasClass(n,"p-disabled")||!a.DomHandler.hasClass(n,"p-menuitem")?e(n):n:null},j=function e(t){var n=t.previousElementSibling;return n?a.DomHandler.hasClass(n,"p-disabled")||!a.DomHandler.hasClass(n,"p-menuitem")?e(n):n:null},k=function(e){var t=O(e);t&&t.children[0].focus()},D=function(e){var t=j(e);t&&t.children[0].focus()},S=function(e){return p.current&&!(p.current.isSameNode(e.target)||p.current.contains(e.target))},P=function(e){var t;switch(e.items?e.items.length:0){case 2:t="p-megamenu-col-6";break;case 3:t="p-megamenu-col-4";break;case 4:t="p-megamenu-col-3";break;case 6:t="p-megamenu-col-2";break;default:t="p-megamenu-col-12"}return t};u.useImperativeHandle(t,(function(){return{props:l,getElement:function(){return p.current}}})),n.useMountEffect((function(){g()})),n.useUpdateEffect((function(){var e=a.DomHandler.findSingle(p.current,".p-menuitem-active > .p-megamenu-panel");return o&&a.ZIndexUtils.set("menu",e,s.default.autoZIndex,s.default.zIndex.menu),function(){a.ZIndexUtils.clear(e)}}),[o]);var w=function(e){return u.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},I=function(e){if(e.items){var t=a.classNames("p-submenu-icon pi",{"pi-angle-down":f,"pi-angle-right":d});return u.createElement("span",{className:t})}return null},M=function(e,t){if(!1===e.visible)return null;if(e.separator)return w(t);var n=e.label+"_"+t,i=a.classNames("p-menuitem",e.className),s=a.classNames("p-menuitem-link",{"p-disabled":e.disabled}),c=a.classNames(e.icon,"p-menuitem-icon"),o=a.IconUtils.getJSXIcon(e.icon,{className:"p-menuitem-icon"},{props:l}),m=u.createElement("a",{href:e.url||"#",className:s,target:e.target,onClick:function(t){return y(t,e)},role:"menuitem","aria-disabled":e.disabled},o,e.label&&u.createElement("span",{className:"p-menuitem-text"},e.label),u.createElement(r.Ripple,null));return e.template&&(m=a.ObjectUtils.getJSXElement(e.template,e,{onClick:function(t){return y(t,e)},className:s,labelClassName:"p-menuitem-text",iconClassName:c,element:m,props:l})),u.createElement("li",{key:n,id:e.id,className:i,style:e.style,role:"none"},m)},U=function(e){var t=a.classNames("p-megamenu-submenu-header",{"p-disabled":e.disabled},e.className),n=e.items.map(M);return u.createElement(u.Fragment,{key:e.label},u.createElement("li",{id:e.id,className:t,style:e.style,role:"presentation"},e.label),n)},x=function(e){return e.map(U)},_=function(e,t,n,r){var a=e.label+"_column_"+n,l=x(t);return u.createElement("div",{key:a,className:r},u.createElement("ul",{className:"p-megamenu-submenu",role:"menu"},l))},C=function(e){if(e.items){var t=P(e);return e.items.map((function(n,r){return _(e,n,r,t)}))}return null},z=function(e){if(e.items){var t=C(e);return u.createElement("div",{className:"p-megamenu-panel"},u.createElement("div",{className:"p-megamenu-grid"},t))}return null},A=function(e,t){var n=a.classNames("p-menuitem",{"p-menuitem-active":e===o},e.className),i=a.classNames("p-menuitem-link",{"p-disabled":e.disabled}),s=a.IconUtils.getJSXIcon(e.icon,{className:"p-menuitem-icon"},{props:l}),c=e.label&&u.createElement("span",{className:"p-menuitem-text"},e.label),p=e.template?a.ObjectUtils.getJSXElement(e.template,e):null,f=I(e),d=z(e);return u.createElement("li",{key:e.label+"_"+t,id:e.id,className:n,style:e.style,onMouseEnter:function(t){return n=t,void((r=e).disabled?n.preventDefault():o&&m(r));var n,r},role:"none"},u.createElement("a",{href:e.url||"#",className:i,target:e.target,onClick:function(t){return n=t,(r=e).disabled||(r.url||n.preventDefault(),r.command&&r.command({originalEvent:n,item:l.item}),r.items&&m(o&&o===r?null:r)),void n.preventDefault();var n,r},onKeyDown:function(t){return h(t,e)},role:"menuitem","aria-haspopup":null!=e.items},s,c,p,f,u.createElement(r.Ripple,null)),d)},H=v.getOtherProps(l),J=a.classNames("p-megamenu p-component",{"p-megamenu-horizontal":"horizontal"===l.orientation,"p-megamenu-vertical":"vertical"===l.orientation},l.className),X=l.model?u.createElement("ul",{className:"p-megamenu-root-list",role:"menubar"},l.model.map((function(e,t){return A(e,t)}))):null,q=function(){if(l.start){var e=a.ObjectUtils.getJSXElement(l.start,l);return u.createElement("div",{className:"p-megamenu-start"},e)}return null}(),R=function(){if(l.end){var e=a.ObjectUtils.getJSXElement(l.end,l);return u.createElement("div",{className:"p-megamenu-end"},e)}return null}();return u.createElement("div",c({ref:p,id:l.id,className:J,style:l.style},H),q,X,R)})));g.displayName="MegaMenu",exports.MegaMenu=g;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/api"),t=require("primereact/hooks"),a=require("primereact/ripple"),r=require("primereact/utils");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var u=i(e),o=l(n);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},c.apply(this,arguments)}function m(e){if(Array.isArray(e))return e}function s(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,r,l,i,u=[],o=!0,c=!1;try{if(l=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;o=!1}else for(;!(o=(a=l.call(t)).done)&&(u.push(a.value),u.length!==n);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(c)throw r}}return u}}function p(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=new Array(n);t<n;t++)a[t]=e[t];return a}function d(e,n){if(e){if("string"==typeof e)return p(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?p(e,n):void 0}}function f(){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 g(e,n){return m(e)||s(e,n)||d(e,n)||f()}var b={defaultProps:{__TYPE:"MegaMenu",id:null,model:null,style:null,className:null,orientation:"horizontal",breakpoint:void 0,scrollHeight:"400px",start:null,end:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,b.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,b.defaultProps)}},v=u.memo(u.forwardRef((function(e,n){var l=b.getProps(e),i=g(u.useState(null),2),m=i[0],s=i[1],p=g(u.useState(null),2),d=p[0],f=p[1],v=g(u.useState(!1),2),h=v[0],y=v[1],E=u.useRef(null),N=u.useRef(null),k=u.useRef(null),w="horizontal"===l.orientation,x="vertical"===l.orientation,O=t.useMatchMedia("screen and (max-width: ".concat(l.breakpoint,")"),!!l.breakpoint),j=g(t.useEventListener({type:"click",listener:function(e){O&&!h||!A(e)||(s(null),y(!1))}}),1)[0],S=g(t.useResizeListener({listener:function(){O&&!h||(s(null),y(!1))}}),1)[0],D=function(e,n){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),s(null),y(!1))},I=function(e,n){var t=e.currentTarget.parentElement;switch(e.which){case 40:w?M(n):z(t),e.preventDefault();break;case 38:x?_(t):n.items&&n===m&&P(),e.preventDefault();break;case 39:w?z(t):M(n),e.preventDefault();break;case 37:w?_(t):n.items&&n===m&&P(),e.preventDefault()}},M=function(e){e.items&&s(e)},P=function(e){s(null)},U=function(e){e.preventDefault(),y((function(e){return!e})),s(null)},C=function e(n){var t=n.nextElementSibling;return t?r.DomHandler.hasClass(t,"p-disabled")||!r.DomHandler.hasClass(t,"p-menuitem")?e(t):t:null},H=function e(n){var t=n.previousElementSibling;return t?r.DomHandler.hasClass(t,"p-disabled")||!r.DomHandler.hasClass(t,"p-menuitem")?e(t):t:null},z=function(e){var n=C(e);n&&n.children[0].focus()},_=function(e){var n=H(e);n&&n.children[0].focus()},A=function(e){return E.current&&!(E.current.isSameNode(e.target)||E.current.contains(e.target)||k.current&&k.current.contains(e.target))},R=function(e){var n;switch(e.items?e.items.length:0){case 2:n="p-megamenu-col-6";break;case 3:n="p-megamenu-col-4";break;case 4:n="p-megamenu-col-3";break;case 6:n="p-megamenu-col-2";break;default:n="p-megamenu-col-12"}return n};u.useImperativeHandle(n,(function(){return{props:l,getElement:function(){return E.current}}})),t.useMountEffect((function(){l.breakpoint&&!d&&f(r.UniqueComponentId()),j(),S()})),t.useUpdateEffect((function(){var e=r.DomHandler.findSingle(E.current,".p-menuitem-active > .p-megamenu-panel");return m&&!O&&r.ZIndexUtils.set("menu",e,o.default.autoZIndex,o.default.zIndex.menu),O&&e&&e.previousElementSibling.scrollIntoView({block:"nearest",inline:"nearest"}),function(){r.ZIndexUtils.clear(e)}}),[m]);var q=function(e){return u.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},J=function(e){if(e.items){var n=r.classNames("p-submenu-icon pi",{"pi-angle-down":w,"pi-angle-right":x});return u.createElement("span",{className:n})}return null},X=function(e,n){if(!1===e.visible)return null;if(e.separator)return q(n);var t=e.label+"_"+n,i=r.classNames("p-menuitem",e.className),o=r.classNames("p-menuitem-link",{"p-disabled":e.disabled}),c=r.classNames(e.icon,"p-menuitem-icon"),m=r.IconUtils.getJSXIcon(e.icon,{className:"p-menuitem-icon"},{props:l}),s=u.createElement("a",{href:e.url||"#",className:o,target:e.target,onClick:function(n){return D(n,e)},role:"menuitem","aria-disabled":e.disabled},m,e.label&&u.createElement("span",{className:"p-menuitem-text"},e.label),u.createElement(a.Ripple,null));return e.template&&(s=r.ObjectUtils.getJSXElement(e.template,e,{onClick:function(n){return D(n,e)},className:o,labelClassName:"p-menuitem-text",iconClassName:c,element:s,props:l})),u.createElement("li",{key:t,id:e.id,className:i,style:e.style,role:"none"},s)},T=function(e){if(!1===e.visible)return null;var n=r.classNames("p-megamenu-submenu-header",{"p-disabled":e.disabled},e.className),t=e.items.map(X);return u.createElement(u.Fragment,{key:e.label},u.createElement("li",{id:e.id,className:n,style:e.style,role:"presentation"},e.label),t)},L=function(e){return e.map(T)},Z=function(e,n,t,a){var r=e.label+"_column_"+t,l=L(n);return u.createElement("div",{key:r,className:a},u.createElement("ul",{className:"p-megamenu-submenu",role:"menu"},l))},F=function(e){if(e.items){var n=R(e);return e.items.map((function(t,a){return Z(e,t,a,n)}))}return null},K=function(e){if(e.items){var n=F(e);return u.createElement("div",{className:"p-megamenu-panel"},u.createElement("div",{className:"p-megamenu-grid"},n))}return null},V=function(){if(!N.current){N.current=r.DomHandler.createInlineStyle(o.default.nonce);var e="".concat(d),n="\n@media screen and (max-width: ".concat(l.breakpoint,") {\n .p-megamenu[").concat(e,"] > .p-megamenu-root-list .p-menuitem-active .p-megamenu-panel {\n position: relative;\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n background: inherit;\n }\n\n .p-megamenu[").concat(e,"] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-megamenu[").concat(e,"] .p-megamenu-grid {\n flex-wrap: wrap;\n }\n\n ").concat(w?"\n.p-megamenu[".concat(e,"] .p-megamenu-button {\n display: flex;\n}\n\n.p-megamenu[").concat(e,"].p-megamenu-horizontal {\n position: relative;\n}\n\n.p-megamenu[").concat(e,"].p-megamenu-horizontal .p-megamenu-root-list {\n display: none;\n}\n\n.p-megamenu-horizontal[").concat(e,'] div[class*="p-megamenu-col-"] {\n width: auto;\n flex: 1;\n padding: 0;\n}\n\n.p-megamenu[').concat(e,"].p-megamenu-mobile-active .p-megamenu-root-list {\n display: flex;\n flex-direction: column;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 1;\n}\n "):"","\n\n ").concat(x?"\n.p-megamenu-vertical[".concat(e,"] {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(e,"] .p-megamenu-root-list {\n max-height: ").concat(l.scrollHeight,";\n overflow: ").concat(l.scrollHeight?"auto":"",";\n}\n.p-megamenu-vertical[").concat(e,'] div[class*="p-megamenu-col-"] {\n width: 100%;\n padding: 0;\n}\n\n.p-megamenu-vertical[').concat(e,"] .p-megamenu-submenu {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(e,'] div[class*="p-megamenu-col-"] .p-megamenu-submenu-header {\n background: inherit;\n}\n\n.p-megamenu-vertical[').concat(e,'] .p-submenu-icon:before {\n content: "\\e930";\n}\n '):"","\n}\n");N.current.innerHTML=n}};t.useUpdateEffect((function(){return d&&E.current&&(E.current.setAttribute(d,""),V()),function(){N.current=r.DomHandler.removeInlineStyle(N.current)}}),[d,l.breakpoint]);var Y=function(e,n){var t=r.classNames("p-menuitem",{"p-menuitem-active":e===m},e.className),i=r.classNames("p-menuitem-link",{"p-disabled":e.disabled}),o=r.IconUtils.getJSXIcon(e.icon,{className:"p-menuitem-icon"},{props:l}),c=e.label&&u.createElement("span",{className:"p-menuitem-text"},e.label),p=e.template?r.ObjectUtils.getJSXElement(e.template,e):null,d=J(e),f=K(e);return u.createElement("li",{key:e.label+"_"+n,id:e.id,className:t,style:e.style,onMouseEnter:function(n){return t=n,void((a=e).disabled||O?t.preventDefault():m&&s(a));var t,a},role:"none"},u.createElement("a",{href:e.url||"#",className:i,target:e.target,onClick:function(n){return t=n,(a=e).disabled||(a.url||t.preventDefault(),a.command&&a.command({originalEvent:t,item:l.item}),a.items&&s(m&&m===a?null:a)),void t.preventDefault();var t,a},onKeyDown:function(n){return I(n,e)},role:"menuitem","aria-haspopup":null!=e.items},o,c,p,d,u.createElement(a.Ripple,null)),f)},$=b.getOtherProps(l),B=r.classNames("p-megamenu p-component",{"p-megamenu-horizontal":"horizontal"===l.orientation,"p-megamenu-vertical":"vertical"===l.orientation,"p-megamenu-mobile-active":h},l.className),G=l.model?u.createElement("ul",{className:"p-megamenu-root-list",role:"menubar"},l.model.map((function(e,n){return Y(e,n)}))):null,Q=function(){if(l.start){var e=r.ObjectUtils.getJSXElement(l.start,l);return u.createElement("div",{className:"p-megamenu-start"},e)}return null}(),W=function(){if(l.end){var e=r.ObjectUtils.getJSXElement(l.end,l);return u.createElement("div",{className:"p-megamenu-end"},e)}return null}(),ee="vertical"===l.orientation||l.model&&l.model.length<1?null:u.createElement("a",{ref:k,href:"#",role:"button",tabIndex:0,className:"p-megamenu-button",onClick:U},u.createElement("i",{className:"pi pi-bars"}));return u.createElement("div",c({ref:E,id:l.id,className:B,style:l.style},$),Q,ee,G,W)})));v.displayName="MegaMenu",exports.MegaMenu=v;
@@ -28,6 +28,15 @@ export interface MegaMenuProps extends Omit<React.DetailedHTMLProps<React.HTMLAt
28
28
  * The template of starting element.
29
29
  */
30
30
  start?: React.ReactNode | ((props: MegaMenuProps) => React.ReactNode);
31
+ /**
32
+ * The breakpoint to define the maximum width boundary when responsiveness is enabled.
33
+ */
34
+ breakpoint?: string | undefined;
35
+ /**
36
+ * Maximum height of the options panel on responsive mode.
37
+ * @defaultValue 400px
38
+ */
39
+ scrollHeight?: string | undefined;
31
40
  /**
32
41
  * The template of trailing element
33
42
  */
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import PrimeReact from 'primereact/api';
3
- import { useEventListener, useMountEffect, useUpdateEffect } from 'primereact/hooks';
3
+ import { useMatchMedia, useEventListener, useResizeListener, useMountEffect, useUpdateEffect } from 'primereact/hooks';
4
4
  import { Ripple } from 'primereact/ripple';
5
- import { ObjectUtils, DomHandler, ZIndexUtils, classNames, IconUtils } from 'primereact/utils';
5
+ import { ObjectUtils, UniqueComponentId, DomHandler, ZIndexUtils, classNames, IconUtils } from 'primereact/utils';
6
6
 
7
7
  function _extends() {
8
8
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -82,6 +82,8 @@ var MegaMenuBase = {
82
82
  style: null,
83
83
  className: null,
84
84
  orientation: 'horizontal',
85
+ breakpoint: undefined,
86
+ scrollHeight: '400px',
85
87
  start: null,
86
88
  end: null,
87
89
  children: undefined
@@ -100,17 +102,41 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
100
102
  _React$useState2 = _slicedToArray(_React$useState, 2),
101
103
  activeItemState = _React$useState2[0],
102
104
  setActiveItemState = _React$useState2[1];
105
+ var _React$useState3 = React.useState(null),
106
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
107
+ attributeSelectorState = _React$useState4[0],
108
+ setAttributeSelectorState = _React$useState4[1];
109
+ var _React$useState5 = React.useState(false),
110
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
111
+ mobileActiveState = _React$useState6[0],
112
+ setMobileActiveState = _React$useState6[1];
103
113
  var elementRef = React.useRef(null);
114
+ var styleElementRef = React.useRef(null);
115
+ var menuButtonRef = React.useRef(null);
104
116
  var horizontal = props.orientation === 'horizontal';
105
117
  var vertical = props.orientation === 'vertical';
118
+ var isMobileMode = useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
106
119
  var _useEventListener = useEventListener({
107
120
  type: 'click',
108
121
  listener: function listener(event) {
109
- isOutsideClicked(event) && setActiveItemState(null);
122
+ if ((!isMobileMode || mobileActiveState) && isOutsideClicked(event)) {
123
+ setActiveItemState(null);
124
+ setMobileActiveState(false);
125
+ }
110
126
  }
111
127
  }),
112
128
  _useEventListener2 = _slicedToArray(_useEventListener, 1),
113
129
  bindDocumentClickListener = _useEventListener2[0];
130
+ var _useResizeListener = useResizeListener({
131
+ listener: function listener() {
132
+ if (!isMobileMode || mobileActiveState) {
133
+ setActiveItemState(null);
134
+ setMobileActiveState(false);
135
+ }
136
+ }
137
+ }),
138
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
139
+ bindDocumentResizeListener = _useResizeListener2[0];
114
140
  var onLeafClick = function onLeafClick(event, item) {
115
141
  if (item.disabled) {
116
142
  event.preventDefault();
@@ -126,9 +152,10 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
126
152
  });
127
153
  }
128
154
  setActiveItemState(null);
155
+ setMobileActiveState(false);
129
156
  };
130
157
  var onCategoryMouseEnter = function onCategoryMouseEnter(event, item) {
131
- if (item.disabled) {
158
+ if (item.disabled || isMobileMode) {
132
159
  event.preventDefault();
133
160
  return;
134
161
  }
@@ -191,6 +218,13 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
191
218
  var collapseMenu = function collapseMenu(item) {
192
219
  setActiveItemState(null);
193
220
  };
221
+ var toggle = function toggle(event) {
222
+ event.preventDefault();
223
+ setMobileActiveState(function (prevMobileActive) {
224
+ return !prevMobileActive;
225
+ });
226
+ setActiveItemState(null);
227
+ };
194
228
  var findNextItem = function findNextItem(item) {
195
229
  var nextItem = item.nextElementSibling;
196
230
  return nextItem ? DomHandler.hasClass(nextItem, 'p-disabled') || !DomHandler.hasClass(nextItem, 'p-menuitem') ? findNextItem(nextItem) : nextItem : null;
@@ -208,7 +242,7 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
208
242
  prevItem && prevItem.children[0].focus();
209
243
  };
210
244
  var isOutsideClicked = function isOutsideClicked(event) {
211
- return elementRef.current && !(elementRef.current.isSameNode(event.target) || elementRef.current.contains(event.target));
245
+ return elementRef.current && !(elementRef.current.isSameNode(event.target) || elementRef.current.contains(event.target) || menuButtonRef.current && menuButtonRef.current.contains(event.target));
212
246
  };
213
247
  var getColumnClassName = function getColumnClassName(category) {
214
248
  var length = category.items ? category.items.length : 0;
@@ -241,13 +275,23 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
241
275
  };
242
276
  });
243
277
  useMountEffect(function () {
278
+ if (props.breakpoint) {
279
+ !attributeSelectorState && setAttributeSelectorState(UniqueComponentId());
280
+ }
244
281
  bindDocumentClickListener();
282
+ bindDocumentResizeListener();
245
283
  });
246
284
  useUpdateEffect(function () {
247
285
  var currentPanel = DomHandler.findSingle(elementRef.current, '.p-menuitem-active > .p-megamenu-panel');
248
- if (activeItemState) {
286
+ if (activeItemState && !isMobileMode) {
249
287
  ZIndexUtils.set('menu', currentPanel, PrimeReact.autoZIndex, PrimeReact.zIndex['menu']);
250
288
  }
289
+ if (isMobileMode) {
290
+ currentPanel && currentPanel.previousElementSibling.scrollIntoView({
291
+ block: 'nearest',
292
+ inline: 'nearest'
293
+ });
294
+ }
251
295
  return function () {
252
296
  ZIndexUtils.clear(currentPanel);
253
297
  };
@@ -326,6 +370,9 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
326
370
  }
327
371
  };
328
372
  var createSubmenu = function createSubmenu(submenu) {
373
+ if (submenu.visible === false) {
374
+ return null;
375
+ }
329
376
  var className = classNames('p-megamenu-submenu-header', {
330
377
  'p-disabled': submenu.disabled
331
378
  }, submenu.className);
@@ -373,6 +420,26 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
373
420
  }
374
421
  return null;
375
422
  };
423
+ var createStyle = function createStyle() {
424
+ if (!styleElementRef.current) {
425
+ styleElementRef.current = DomHandler.createInlineStyle(PrimeReact.nonce);
426
+ var selector = "".concat(attributeSelectorState);
427
+ var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-megamenu[").concat(selector, "] > .p-megamenu-root-list .p-menuitem-active .p-megamenu-panel {\n position: relative;\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n background: inherit;\n }\n\n .p-megamenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-megamenu[").concat(selector, "] .p-megamenu-grid {\n flex-wrap: wrap;\n }\n\n ").concat(horizontal ? "\n.p-megamenu[".concat(selector, "] .p-megamenu-button {\n display: flex;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-horizontal {\n position: relative;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-horizontal .p-megamenu-root-list {\n display: none;\n}\n\n.p-megamenu-horizontal[").concat(selector, "] div[class*=\"p-megamenu-col-\"] {\n width: auto;\n flex: 1;\n padding: 0;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-mobile-active .p-megamenu-root-list {\n display: flex;\n flex-direction: column;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 1;\n}\n ") : '', "\n\n ").concat(vertical ? "\n.p-megamenu-vertical[".concat(selector, "] {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-megamenu-root-list {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n}\n.p-megamenu-vertical[").concat(selector, "] div[class*=\"p-megamenu-col-\"] {\n width: 100%;\n padding: 0;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-megamenu-submenu {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(selector, "] div[class*=\"p-megamenu-col-\"] .p-megamenu-submenu-header {\n background: inherit;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n}\n ") : '', "\n}\n");
428
+ styleElementRef.current.innerHTML = innerHTML;
429
+ }
430
+ };
431
+ var destroyStyle = function destroyStyle() {
432
+ styleElementRef.current = DomHandler.removeInlineStyle(styleElementRef.current);
433
+ };
434
+ useUpdateEffect(function () {
435
+ if (attributeSelectorState && elementRef.current) {
436
+ elementRef.current.setAttribute(attributeSelectorState, '');
437
+ createStyle();
438
+ }
439
+ return function () {
440
+ destroyStyle();
441
+ };
442
+ }, [attributeSelectorState, props.breakpoint]);
376
443
  var createCategory = function createCategory(category, index) {
377
444
  var className = classNames('p-menuitem', {
378
445
  'p-menuitem-active': category === activeItemState
@@ -443,20 +510,41 @@ var MegaMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
443
510
  }
444
511
  return null;
445
512
  };
513
+ var createMenuButton = function createMenuButton() {
514
+ if (props.orientation === 'vertical' || props.model && props.model.length < 1) {
515
+ return null;
516
+ }
517
+ /* eslint-disable */
518
+ var button = /*#__PURE__*/React.createElement("a", {
519
+ ref: menuButtonRef,
520
+ href: '#',
521
+ role: "button",
522
+ tabIndex: 0,
523
+ className: "p-megamenu-button",
524
+ onClick: toggle
525
+ }, /*#__PURE__*/React.createElement("i", {
526
+ className: "pi pi-bars"
527
+ }));
528
+ /* eslint-enable */
529
+
530
+ return button;
531
+ };
446
532
  var otherProps = MegaMenuBase.getOtherProps(props);
447
533
  var className = classNames('p-megamenu p-component', {
448
534
  'p-megamenu-horizontal': props.orientation === 'horizontal',
449
- 'p-megamenu-vertical': props.orientation === 'vertical'
535
+ 'p-megamenu-vertical': props.orientation === 'vertical',
536
+ 'p-megamenu-mobile-active': mobileActiveState
450
537
  }, props.className);
451
538
  var menu = createMenu();
452
539
  var start = createStartContent();
453
540
  var end = createEndContent();
541
+ var menuButton = createMenuButton();
454
542
  return /*#__PURE__*/React.createElement("div", _extends({
455
543
  ref: elementRef,
456
544
  id: props.id,
457
545
  className: className,
458
546
  style: props.style
459
- }, otherProps), start, menu, end);
547
+ }, otherProps), start, menuButton, menu, end);
460
548
  }));
461
549
  MegaMenu.displayName = 'MegaMenu';
462
550