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
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/button"),r=require("primereact/hooks"),l=require("primereact/overlayservice"),o=require("primereact/tooltip"),a=require("primereact/utils"),i=require("primereact/csstransition"),u=require("primereact/portal");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var m=c(e),p=s(t);function d(){return d=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},d.apply(this,arguments)}function f(e){if(Array.isArray(e))return e}function b(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,o,a,i=[],u=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){s=!0,l=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw l}}return i}}function y(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 v(e,t){if(e){if("string"==typeof e)return y(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)?y(e,t):void 0}}function E(){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,t){return f(e)||b(e,t)||v(e,t)||E()}var N={defaultProps:{__TYPE:"SplitButton",id:null,label:null,icon:null,loading:!1,loadingIcon:"pi pi-spinner pi-spin",model:null,disabled:null,style:null,className:null,buttonClassName:null,menuStyle:null,menuClassName:null,menuButtonClassName:null,buttonProps:null,menuButtonProps:null,tabIndex:null,appendTo:null,tooltip:null,tooltipOptions:null,buttonTemplate:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",onClick:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return a.ObjectUtils.getMergedProps(e,N.defaultProps)},getOtherProps:function(e){return a.ObjectUtils.getDiffProps(e,N.defaultProps)}},O=m.memo((function(e){var t=function(t){e.menuitem.command&&e.menuitem.command({originalEvent:t,item:e.menuitem}),e.onItemClick&&e.onItemClick(t),t.preventDefault()},n=function(){if(!1===e.menuitem.visible)return null;var n=e.menuitem,r=n.icon,l=n.label,o=n.template,i=n.url,u=n.target,s=a.classNames("p-menuitem-link",n.className,{"p-disabled":n.disabled}),c=a.classNames("p-menuitem-icon",r),p=a.IconUtils.getJSXIcon(r,{className:"p-menuitem-icon"},{props:e.splitButtonProps}),d=m.createElement("a",{href:i||"#",role:"menuitem",className:s,target:u,onClick:t,"aria-label":l},p,l&&m.createElement("span",{className:"p-menuitem-text"},l));o&&(d=a.ObjectUtils.getJSXElement(o,e.menuitem,{onClick:t,className:s,labelClassName:"p-menuitem-text",iconClassName:c,element:d,props:e}));return m.createElement("li",{className:"p-menuitem",role:"none"},d)};return e.menuitem.separator?m.createElement("li",{className:"p-menu-separator",role:"separator"}):n()}));O.displayName="SplitButtonItem";var h=m.forwardRef((function(e,t){var n,r=(n=a.classNames("p-menu p-menu-overlay p-component",e.menuClassName),m.createElement(i.CSSTransition,{nodeRef:t,classNames:"p-connected-overlay",in:e.in,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:e.onEnter,onEntered:e.onEntered,onExit:e.onExit,onExited:e.onExited},m.createElement("div",{ref:t,className:n,style:e.menuStyle,onClick:e.onClick},m.createElement("ul",{id:e.menuId,className:"p-menu-list p-reset",role:"menu"},e.children))));return m.createElement(u.Portal,{element:r,appendTo:e.appendTo})}));h.displayName="SplitButtonPanel";var I=m.memo(m.forwardRef((function(e,t){var i=N.getProps(e),u=g(m.useState(i.id),2),s=u[0],c=u[1],f=g(m.useState(!1),2),b=f[0],y=f[1],v=m.useRef(null),E=m.useRef(null),I=m.useRef(null),C=g(r.useOverlayListener({target:v,overlay:I,listener:function(e,t){t.valid&&k()},when:b}),2),S=C[0],x=C[1],P=function(){k()},j=function(){y(!0)},k=function(){y(!1)},w=function(){a.DomHandler.alignOverlay(I.current,E.current.parentElement,i.appendTo||p.default.appendTo)};r.useMountEffect((function(){s||c(a.UniqueComponentId())})),r.useUnmountEffect((function(){a.ZIndexUtils.clear(I.current)})),m.useImperativeHandle(t,(function(){return{props:i,show:j,hide:k,getElement:function(){return v.current}}}));if(!1===i.visible)return null;var T=a.ObjectUtils.isNotEmpty(i.tooltip),B=N.getOtherProps(i),U=a.classNames("p-splitbutton p-component",i.className,{"p-disabled":i.disabled}),q=a.classNames("p-splitbutton-defaultbutton",i.buttonClassName),_=a.classNames("p-splitbutton-menubutton",i.menuButtonClassName),A=i.buttonTemplate?a.ObjectUtils.getJSXElement(i.buttonTemplate,i):null,R=i.model?i.model.map((function(e,t){return m.createElement(O,{splitButtonProps:i,menuitem:e,key:t,onItemClick:P})})):null,H=s+"_menu";return m.createElement(m.Fragment,null,m.createElement("div",d({ref:v,id:s,className:U,style:i.style},B),m.createElement(n.Button,d({ref:E,type:"button",className:q,icon:i.icon,loading:i.loading,loadingIcon:i.loadingIcon,label:i.label,onClick:i.onClick,disabled:i.disabled,tabIndex:i.tabIndex},i.buttonProps),A),m.createElement(n.Button,d({type:"button",className:_,icon:i.dropdownIcon,onClick:function(){b?k():j()},disabled:i.disabled,"aria-expanded":b,"aria-haspopup":"true","aria-controls":b?H:null},i.menuButtonProps)),m.createElement(h,{ref:I,appendTo:i.appendTo,menuId:H,menuStyle:i.menuStyle,menuClassName:i.menuClassName,onClick:function(e){l.OverlayService.emit("overlay-click",{originalEvent:e,target:v.current})},in:b,onEnter:function(){a.ZIndexUtils.set("overlay",I.current,p.default.autoZIndex,p.default.zIndex.overlay),w()},onEntered:function(){S(),i.onShow&&i.onShow()},onExit:function(){x()},onExited:function(){a.ZIndexUtils.clear(I.current),i.onHide&&i.onHide()},transitionOptions:i.transitionOptions},R)),T&&m.createElement(o.Tooltip,d({target:v,content:i.tooltip},i.tooltipOptions)))})));I.displayName="SplitButton",exports.SplitButton=I;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/button"),r=require("primereact/hooks"),l=require("primereact/overlayservice"),o=require("primereact/tooltip"),i=require("primereact/utils"),a=require("primereact/csstransition"),u=require("primereact/portal");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var m=c(e),p=s(t);function d(){return d=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},d.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 b(e,t){if("object"!==f(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function y(e){var t=b(e,"string");return"symbol"===f(t)?t:String(t)}function v(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){if(Array.isArray(e))return e}function E(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,o,i,a=[],u=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){s=!0,l=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw l}}return a}}function N(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 O(e,t){if(e){if("string"==typeof e)return N(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)?N(e,t):void 0}}function S(){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 h(e,t){return g(e)||E(e,t)||O(e,t)||S()}var I={defaultProps:{__TYPE:"SplitButton",id:null,label:null,icon:null,loading:!1,loadingIcon:"pi pi-spinner pi-spin",model:null,disabled:null,style:null,className:null,buttonClassName:null,menuStyle:null,menuClassName:null,menuButtonClassName:null,buttonProps:null,menuButtonProps:null,tabIndex:null,severity:null,rounded:!1,raised:!1,outlined:!1,text:!1,size:null,appendTo:null,tooltip:null,tooltipOptions:null,buttonTemplate:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",onClick:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return i.ObjectUtils.getMergedProps(e,I.defaultProps)},getOtherProps:function(e){return i.ObjectUtils.getDiffProps(e,I.defaultProps)}},x=m.memo((function(e){var t=function(t){e.menuitem.command&&e.menuitem.command({originalEvent:t,item:e.menuitem}),e.onItemClick&&e.onItemClick(t),t.preventDefault()},n=function(){if(!1===e.menuitem.visible)return null;var n=e.menuitem,r=n.icon,l=n.label,o=n.template,a=n.url,u=n.target,s=i.classNames("p-menuitem-link",n.className,{"p-disabled":n.disabled}),c=i.classNames("p-menuitem-icon",r),p=i.IconUtils.getJSXIcon(r,{className:"p-menuitem-icon"},{props:e.splitButtonProps}),d=m.createElement("a",{href:a||"#",role:"menuitem",className:s,target:u,onClick:t,"aria-label":l},p,l&&m.createElement("span",{className:"p-menuitem-text"},l));o&&(d=i.ObjectUtils.getJSXElement(o,e.menuitem,{onClick:t,className:s,labelClassName:"p-menuitem-text",iconClassName:c,element:d,props:e}));return m.createElement("li",{className:"p-menuitem",role:"none"},d)};return e.menuitem.separator?m.createElement("li",{className:"p-menu-separator",role:"separator"}):n()}));x.displayName="SplitButtonItem";var C=m.forwardRef((function(e,t){var n,r=(n=i.classNames("p-menu p-menu-overlay p-component",e.menuClassName),m.createElement(a.CSSTransition,{nodeRef:t,classNames:"p-connected-overlay",in:e.in,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:e.onEnter,onEntered:e.onEntered,onExit:e.onExit,onExited:e.onExited},m.createElement("div",{ref:t,className:n,style:e.menuStyle,onClick:e.onClick},m.createElement("ul",{id:e.menuId,className:"p-menu-list p-reset",role:"menu"},e.children))));return m.createElement(u.Portal,{element:r,appendTo:e.appendTo})}));C.displayName="SplitButtonPanel";var P=m.memo(m.forwardRef((function(e,t){var a,u=I.getProps(e),s=h(m.useState(u.id),2),c=s[0],f=s[1],b=h(m.useState(!1),2),y=b[0],g=b[1],E=m.useRef(null),N=m.useRef(null),O=m.useRef(null),S=h(r.useOverlayListener({target:E,overlay:O,listener:function(e,t){t.valid&&T()},when:y}),2),P=S[0],j=S[1],w=function(){T()},k=function(){g(!0)},T=function(){g(!1)},B=function(){i.DomHandler.alignOverlay(O.current,N.current.parentElement,u.appendTo||p.default.appendTo)};r.useMountEffect((function(){c||f(i.UniqueComponentId())})),r.useUnmountEffect((function(){i.ZIndexUtils.clear(O.current)})),m.useImperativeHandle(t,(function(){return{props:u,show:k,hide:T,getElement:function(){return E.current}}}));if(!1===u.visible)return null;var U=i.ObjectUtils.isNotEmpty(u.tooltip),q=I.getOtherProps(u),_={large:"lg",small:"sm"}[u.size],A=i.classNames("p-splitbutton p-component",u.className,(v(a={"p-disabled":u.disabled,"p-button-loading-label-only":u.loading&&!u.icon&&u.label},"p-button-".concat(u.severity),u.severity),v(a,"p-button-raised",u.raised),v(a,"p-button-rounded",u.rounded),v(a,"p-button-text",u.text),v(a,"p-button-outlined",u.outlined),v(a,"p-button-".concat(_),_),a)),R=i.classNames("p-splitbutton-defaultbutton",u.buttonClassName),H=i.classNames("p-splitbutton-menubutton",u.menuButtonClassName),M=u.buttonTemplate?i.ObjectUtils.getJSXElement(u.buttonTemplate,u):null,z=u.model?u.model.map((function(e,t){return m.createElement(x,{splitButtonProps:u,menuitem:e,key:t,onItemClick:w})})):null,D=c+"_menu";return m.createElement(m.Fragment,null,m.createElement("div",d({ref:E,id:c,className:A,style:u.style},q),m.createElement(n.Button,d({ref:N,type:"button",className:R,icon:u.icon,loading:u.loading,loadingIcon:u.loadingIcon,label:u.label,onClick:u.onClick,disabled:u.disabled,tabIndex:u.tabIndex},u.buttonProps),M),m.createElement(n.Button,d({type:"button",className:H,icon:u.dropdownIcon,onClick:function(){y?T():k()},disabled:u.disabled,"aria-expanded":y,"aria-haspopup":"true","aria-controls":y?D:null},u.menuButtonProps)),m.createElement(C,{ref:O,appendTo:u.appendTo,menuId:D,menuStyle:u.menuStyle,menuClassName:u.menuClassName,onClick:function(e){l.OverlayService.emit("overlay-click",{originalEvent:e,target:E.current})},in:y,onEnter:function(){i.ZIndexUtils.set("overlay",O.current,p.default.autoZIndex,p.default.zIndex.overlay),B()},onEntered:function(){P(),u.onShow&&u.onShow()},onExit:function(){j()},onExited:function(){i.ZIndexUtils.clear(O.current),u.onHide&&u.onHide()},transitionOptions:u.transitionOptions},z)),U&&m.createElement(o.Tooltip,d({target:E,content:u.tooltip},u.tooltipOptions)))})));P.displayName="SplitButton",exports.SplitButton=P;
@@ -26,6 +26,34 @@ export interface SplitButtonProps extends Omit<React.DetailedHTMLProps<React.HTM
26
26
  * Name of the icon.
27
27
  */
28
28
  icon?: IconType<SplitButtonProps> | undefined;
29
+ /**
30
+ * Add a textual class to the button without a background initially.
31
+ * @defaultValue false
32
+ */
33
+ text?: boolean | undefined;
34
+ /**
35
+ * Add a circular border radius to the button.
36
+ * @defaultValue false
37
+ */
38
+ rounded?: boolean | undefined;
39
+ /**
40
+ * Add a shadow to indicate elevation.
41
+ * @defaultValue false
42
+ */
43
+ raised?: boolean | undefined;
44
+ /**
45
+ * Add a border class without a background initially.
46
+ * @defaultValue false
47
+ */
48
+ outlined?: boolean | undefined;
49
+ /**
50
+ * Defines the style of the button, valid values are "secondary", "success", "info", "warning", "danger".
51
+ */
52
+ severity?: 'secondary' | 'success' | 'info' | 'warning' | 'danger' | undefined;
53
+ /**
54
+ * Defines the size of the button, valid values are "small" and "large".
55
+ */
56
+ size?: 'small' | 'large' | undefined;
29
57
  /**
30
58
  * Display loading icon of the button
31
59
  * @defaultValue false
@@ -23,6 +23,47 @@ function _extends() {
23
23
  return _extends.apply(this, arguments);
24
24
  }
25
25
 
26
+ function _typeof(obj) {
27
+ "@babel/helpers - typeof";
28
+
29
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
30
+ return typeof obj;
31
+ } : function (obj) {
32
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
33
+ }, _typeof(obj);
34
+ }
35
+
36
+ function _toPrimitive(input, hint) {
37
+ if (_typeof(input) !== "object" || input === null) return input;
38
+ var prim = input[Symbol.toPrimitive];
39
+ if (prim !== undefined) {
40
+ var res = prim.call(input, hint || "default");
41
+ if (_typeof(res) !== "object") return res;
42
+ throw new TypeError("@@toPrimitive must return a primitive value.");
43
+ }
44
+ return (hint === "string" ? String : Number)(input);
45
+ }
46
+
47
+ function _toPropertyKey(arg) {
48
+ var key = _toPrimitive(arg, "string");
49
+ return _typeof(key) === "symbol" ? key : String(key);
50
+ }
51
+
52
+ function _defineProperty(obj, key, value) {
53
+ key = _toPropertyKey(key);
54
+ if (key in obj) {
55
+ Object.defineProperty(obj, key, {
56
+ value: value,
57
+ enumerable: true,
58
+ configurable: true,
59
+ writable: true
60
+ });
61
+ } else {
62
+ obj[key] = value;
63
+ }
64
+ return obj;
65
+ }
66
+
26
67
  function _arrayWithHoles(arr) {
27
68
  if (Array.isArray(arr)) return arr;
28
69
  }
@@ -97,6 +138,12 @@ var SplitButtonBase = {
97
138
  buttonProps: null,
98
139
  menuButtonProps: null,
99
140
  tabIndex: null,
141
+ severity: null,
142
+ rounded: false,
143
+ raised: false,
144
+ outlined: false,
145
+ text: false,
146
+ size: null,
100
147
  appendTo: null,
101
148
  tooltip: null,
102
149
  tooltipOptions: null,
@@ -228,6 +275,7 @@ var SplitButtonPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
228
275
  SplitButtonPanel.displayName = 'SplitButtonPanel';
229
276
 
230
277
  var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
278
+ var _classNames;
231
279
  var props = SplitButtonBase.getProps(inProps);
232
280
  var _React$useState = React.useState(props.id),
233
281
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -324,9 +372,15 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
324
372
  }
325
373
  var hasTooltip = ObjectUtils.isNotEmpty(props.tooltip);
326
374
  var otherProps = SplitButtonBase.getOtherProps(props);
327
- var className = classNames('p-splitbutton p-component', props.className, {
328
- 'p-disabled': props.disabled
329
- });
375
+ var sizeMapping = {
376
+ large: 'lg',
377
+ small: 'sm'
378
+ };
379
+ var size = sizeMapping[props.size];
380
+ var className = classNames('p-splitbutton p-component', props.className, (_classNames = {
381
+ 'p-disabled': props.disabled,
382
+ 'p-button-loading-label-only': props.loading && !props.icon && props.label
383
+ }, _defineProperty(_classNames, "p-button-".concat(props.severity), props.severity), _defineProperty(_classNames, 'p-button-raised', props.raised), _defineProperty(_classNames, 'p-button-rounded', props.rounded), _defineProperty(_classNames, 'p-button-text', props.text), _defineProperty(_classNames, 'p-button-outlined', props.outlined), _defineProperty(_classNames, "p-button-".concat(size), size), _classNames));
330
384
  var buttonClassName = classNames('p-splitbutton-defaultbutton', props.buttonClassName);
331
385
  var menuButtonClassName = classNames('p-splitbutton-menubutton', props.menuButtonClassName);
332
386
  var buttonContent = props.buttonTemplate ? ObjectUtils.getJSXElement(props.buttonTemplate, props) : null;
@@ -1 +1 @@
1
- import*as e from"react";import t from"primereact/api";import{Button as n}from"primereact/button";import{useOverlayListener as o,useMountEffect as r,useUnmountEffect as l}from"primereact/hooks";import{OverlayService as a}from"primereact/overlayservice";import{Tooltip as i}from"primereact/tooltip";import{ObjectUtils as u,classNames as m,IconUtils as s,UniqueComponentId as p,ZIndexUtils as c,DomHandler as d}from"primereact/utils";import{CSSTransition as f}from"primereact/csstransition";import{Portal as b}from"primereact/portal";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},y.apply(this,arguments)}function v(e){if(Array.isArray(e))return e}function E(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,l,a,i=[],u=!0,m=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(o=l.call(n)).done)&&(i.push(o.value),i.length!==t);u=!0);}catch(e){m=!0,r=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(m)throw r}}return i}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function N(e,t){if(e){if("string"==typeof e)return g(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)?g(e,t):void 0}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(e,t){return v(e)||E(e,t)||N(e,t)||h()}var I={defaultProps:{__TYPE:"SplitButton",id:null,label:null,icon:null,loading:!1,loadingIcon:"pi pi-spinner pi-spin",model:null,disabled:null,style:null,className:null,buttonClassName:null,menuStyle:null,menuClassName:null,menuButtonClassName:null,buttonProps:null,menuButtonProps:null,tabIndex:null,appendTo:null,tooltip:null,tooltipOptions:null,buttonTemplate:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",onClick:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return u.getMergedProps(e,I.defaultProps)},getOtherProps:function(e){return u.getDiffProps(e,I.defaultProps)}},S=e.memo((function(t){var n=function(e){t.menuitem.command&&t.menuitem.command({originalEvent:e,item:t.menuitem}),t.onItemClick&&t.onItemClick(e),e.preventDefault()},o=function(){if(!1===t.menuitem.visible)return null;var o=t.menuitem,r=o.icon,l=o.label,a=o.template,i=o.url,p=o.target,c=m("p-menuitem-link",o.className,{"p-disabled":o.disabled}),d=m("p-menuitem-icon",r),f=s.getJSXIcon(r,{className:"p-menuitem-icon"},{props:t.splitButtonProps}),b=e.createElement("a",{href:i||"#",role:"menuitem",className:c,target:p,onClick:n,"aria-label":l},f,l&&e.createElement("span",{className:"p-menuitem-text"},l));a&&(b=u.getJSXElement(a,t.menuitem,{onClick:n,className:c,labelClassName:"p-menuitem-text",iconClassName:d,element:b,props:t}));return e.createElement("li",{className:"p-menuitem",role:"none"},b)};return t.menuitem.separator?e.createElement("li",{className:"p-menu-separator",role:"separator"}):o()}));S.displayName="SplitButtonItem";var x=e.forwardRef((function(t,n){var o,r=(o=m("p-menu p-menu-overlay p-component",t.menuClassName),e.createElement(f,{nodeRef:n,classNames:"p-connected-overlay",in:t.in,timeout:{enter:120,exit:100},options:t.transitionOptions,unmountOnExit:!0,onEnter:t.onEnter,onEntered:t.onEntered,onExit:t.onExit,onExited:t.onExited},e.createElement("div",{ref:n,className:o,style:t.menuStyle,onClick:t.onClick},e.createElement("ul",{id:t.menuId,className:"p-menu-list p-reset",role:"menu"},t.children))));return e.createElement(b,{element:r,appendTo:t.appendTo})}));x.displayName="SplitButtonPanel";var O=e.memo(e.forwardRef((function(s,f){var b=I.getProps(s),v=C(e.useState(b.id),2),E=v[0],g=v[1],N=C(e.useState(!1),2),h=N[0],O=N[1],P=e.useRef(null),k=e.useRef(null),w=e.useRef(null),T=C(o({target:P,overlay:w,listener:function(e,t){t.valid&&H()},when:h}),2),B=T[0],j=T[1],A=function(){H()},R=function(){O(!0)},H=function(){O(!1)},J=function(){d.alignOverlay(w.current,k.current.parentElement,b.appendTo||t.appendTo)};r((function(){E||g(p())})),l((function(){c.clear(w.current)})),e.useImperativeHandle(f,(function(){return{props:b,show:R,hide:H,getElement:function(){return P.current}}}));if(!1===b.visible)return null;var X=u.isNotEmpty(b.tooltip),_=I.getOtherProps(b),D=m("p-splitbutton p-component",b.className,{"p-disabled":b.disabled}),M=m("p-splitbutton-defaultbutton",b.buttonClassName),z=m("p-splitbutton-menubutton",b.menuButtonClassName),F=b.buttonTemplate?u.getJSXElement(b.buttonTemplate,b):null,U=b.model?b.model.map((function(t,n){return e.createElement(S,{splitButtonProps:b,menuitem:t,key:n,onItemClick:A})})):null,Y=E+"_menu";return e.createElement(e.Fragment,null,e.createElement("div",y({ref:P,id:E,className:D,style:b.style},_),e.createElement(n,y({ref:k,type:"button",className:M,icon:b.icon,loading:b.loading,loadingIcon:b.loadingIcon,label:b.label,onClick:b.onClick,disabled:b.disabled,tabIndex:b.tabIndex},b.buttonProps),F),e.createElement(n,y({type:"button",className:z,icon:b.dropdownIcon,onClick:function(){h?H():R()},disabled:b.disabled,"aria-expanded":h,"aria-haspopup":"true","aria-controls":h?Y:null},b.menuButtonProps)),e.createElement(x,{ref:w,appendTo:b.appendTo,menuId:Y,menuStyle:b.menuStyle,menuClassName:b.menuClassName,onClick:function(e){a.emit("overlay-click",{originalEvent:e,target:P.current})},in:h,onEnter:function(){c.set("overlay",w.current,t.autoZIndex,t.zIndex.overlay),J()},onEntered:function(){B(),b.onShow&&b.onShow()},onExit:function(){j()},onExited:function(){c.clear(w.current),b.onHide&&b.onHide()},transitionOptions:b.transitionOptions},U)),X&&e.createElement(i,y({target:P,content:b.tooltip},b.tooltipOptions)))})));O.displayName="SplitButton";export{O as SplitButton};
1
+ import*as e from"react";import t from"primereact/api";import{Button as n}from"primereact/button";import{useOverlayListener as o,useMountEffect as r,useUnmountEffect as l}from"primereact/hooks";import{OverlayService as i}from"primereact/overlayservice";import{Tooltip as a}from"primereact/tooltip";import{ObjectUtils as u,classNames as m,IconUtils as s,UniqueComponentId as c,ZIndexUtils as p,DomHandler as d}from"primereact/utils";import{CSSTransition as f}from"primereact/csstransition";import{Portal as b}from"primereact/portal";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},y.apply(this,arguments)}function v(e){return v="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},v(e)}function g(e,t){if("object"!==v(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==v(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function E(e){var t=g(e,"string");return"symbol"===v(t)?t:String(t)}function N(e,t,n){return(t=E(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function S(e){if(Array.isArray(e))return e}function h(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,l,i,a=[],u=!0,m=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(o=l.call(n)).done)&&(a.push(o.value),a.length!==t);u=!0);}catch(e){m=!0,r=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(m)throw r}}return a}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function x(e,t){if(e){if("string"==typeof e)return C(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)?C(e,t):void 0}}function I(){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 P(e,t){return S(e)||h(e,t)||x(e,t)||I()}var O={defaultProps:{__TYPE:"SplitButton",id:null,label:null,icon:null,loading:!1,loadingIcon:"pi pi-spinner pi-spin",model:null,disabled:null,style:null,className:null,buttonClassName:null,menuStyle:null,menuClassName:null,menuButtonClassName:null,buttonProps:null,menuButtonProps:null,tabIndex:null,severity:null,rounded:!1,raised:!1,outlined:!1,text:!1,size:null,appendTo:null,tooltip:null,tooltipOptions:null,buttonTemplate:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",onClick:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return u.getMergedProps(e,O.defaultProps)},getOtherProps:function(e){return u.getDiffProps(e,O.defaultProps)}},w=e.memo((function(t){var n=function(e){t.menuitem.command&&t.menuitem.command({originalEvent:e,item:t.menuitem}),t.onItemClick&&t.onItemClick(e),e.preventDefault()},o=function(){if(!1===t.menuitem.visible)return null;var o=t.menuitem,r=o.icon,l=o.label,i=o.template,a=o.url,c=o.target,p=m("p-menuitem-link",o.className,{"p-disabled":o.disabled}),d=m("p-menuitem-icon",r),f=s.getJSXIcon(r,{className:"p-menuitem-icon"},{props:t.splitButtonProps}),b=e.createElement("a",{href:a||"#",role:"menuitem",className:p,target:c,onClick:n,"aria-label":l},f,l&&e.createElement("span",{className:"p-menuitem-text"},l));i&&(b=u.getJSXElement(i,t.menuitem,{onClick:n,className:p,labelClassName:"p-menuitem-text",iconClassName:d,element:b,props:t}));return e.createElement("li",{className:"p-menuitem",role:"none"},b)};return t.menuitem.separator?e.createElement("li",{className:"p-menu-separator",role:"separator"}):o()}));w.displayName="SplitButtonItem";var k=e.forwardRef((function(t,n){var o,r=(o=m("p-menu p-menu-overlay p-component",t.menuClassName),e.createElement(f,{nodeRef:n,classNames:"p-connected-overlay",in:t.in,timeout:{enter:120,exit:100},options:t.transitionOptions,unmountOnExit:!0,onEnter:t.onEnter,onEntered:t.onEntered,onExit:t.onExit,onExited:t.onExited},e.createElement("div",{ref:n,className:o,style:t.menuStyle,onClick:t.onClick},e.createElement("ul",{id:t.menuId,className:"p-menu-list p-reset",role:"menu"},t.children))));return e.createElement(b,{element:r,appendTo:t.appendTo})}));k.displayName="SplitButtonPanel";var T=e.memo(e.forwardRef((function(s,f){var b,v=O.getProps(s),g=P(e.useState(v.id),2),E=g[0],S=g[1],h=P(e.useState(!1),2),C=h[0],x=h[1],I=e.useRef(null),T=e.useRef(null),j=e.useRef(null),B=P(o({target:I,overlay:j,listener:function(e,t){t.valid&&J()},when:C}),2),A=B[0],R=B[1],H=function(){J()},z=function(){x(!0)},J=function(){x(!1)},X=function(){d.alignOverlay(j.current,T.current.parentElement,v.appendTo||t.appendTo)};r((function(){E||S(c())})),l((function(){p.clear(j.current)})),e.useImperativeHandle(f,(function(){return{props:v,show:z,hide:J,getElement:function(){return I.current}}}));if(!1===v.visible)return null;var _=u.isNotEmpty(v.tooltip),D=O.getOtherProps(v),M={large:"lg",small:"sm"}[v.size],F=m("p-splitbutton p-component",v.className,(N(b={"p-disabled":v.disabled,"p-button-loading-label-only":v.loading&&!v.icon&&v.label},"p-button-".concat(v.severity),v.severity),N(b,"p-button-raised",v.raised),N(b,"p-button-rounded",v.rounded),N(b,"p-button-text",v.text),N(b,"p-button-outlined",v.outlined),N(b,"p-button-".concat(M),M),b)),U=m("p-splitbutton-defaultbutton",v.buttonClassName),Y=m("p-splitbutton-menubutton",v.menuButtonClassName),Z=v.buttonTemplate?u.getJSXElement(v.buttonTemplate,v):null,$=v.model?v.model.map((function(t,n){return e.createElement(w,{splitButtonProps:v,menuitem:t,key:n,onItemClick:H})})):null,q=E+"_menu";return e.createElement(e.Fragment,null,e.createElement("div",y({ref:I,id:E,className:F,style:v.style},D),e.createElement(n,y({ref:T,type:"button",className:U,icon:v.icon,loading:v.loading,loadingIcon:v.loadingIcon,label:v.label,onClick:v.onClick,disabled:v.disabled,tabIndex:v.tabIndex},v.buttonProps),Z),e.createElement(n,y({type:"button",className:Y,icon:v.dropdownIcon,onClick:function(){C?J():z()},disabled:v.disabled,"aria-expanded":C,"aria-haspopup":"true","aria-controls":C?q:null},v.menuButtonProps)),e.createElement(k,{ref:j,appendTo:v.appendTo,menuId:q,menuStyle:v.menuStyle,menuClassName:v.menuClassName,onClick:function(e){i.emit("overlay-click",{originalEvent:e,target:I.current})},in:C,onEnter:function(){p.set("overlay",j.current,t.autoZIndex,t.zIndex.overlay),X()},onEntered:function(){A(),v.onShow&&v.onShow()},onExit:function(){R()},onExited:function(){p.clear(j.current),v.onHide&&v.onHide()},transitionOptions:v.transitionOptions},$)),_&&e.createElement(a,y({target:I,content:v.tooltip},v.tooltipOptions)))})));T.displayName="SplitButton";export{T as SplitButton};
@@ -40,6 +40,47 @@ this.primereact.splitbutton = (function (exports, React, PrimeReact, button, hoo
40
40
  return _extends.apply(this, arguments);
41
41
  }
42
42
 
43
+ function _typeof(obj) {
44
+ "@babel/helpers - typeof";
45
+
46
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
47
+ return typeof obj;
48
+ } : function (obj) {
49
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
50
+ }, _typeof(obj);
51
+ }
52
+
53
+ function _toPrimitive(input, hint) {
54
+ if (_typeof(input) !== "object" || input === null) return input;
55
+ var prim = input[Symbol.toPrimitive];
56
+ if (prim !== undefined) {
57
+ var res = prim.call(input, hint || "default");
58
+ if (_typeof(res) !== "object") return res;
59
+ throw new TypeError("@@toPrimitive must return a primitive value.");
60
+ }
61
+ return (hint === "string" ? String : Number)(input);
62
+ }
63
+
64
+ function _toPropertyKey(arg) {
65
+ var key = _toPrimitive(arg, "string");
66
+ return _typeof(key) === "symbol" ? key : String(key);
67
+ }
68
+
69
+ function _defineProperty(obj, key, value) {
70
+ key = _toPropertyKey(key);
71
+ if (key in obj) {
72
+ Object.defineProperty(obj, key, {
73
+ value: value,
74
+ enumerable: true,
75
+ configurable: true,
76
+ writable: true
77
+ });
78
+ } else {
79
+ obj[key] = value;
80
+ }
81
+ return obj;
82
+ }
83
+
43
84
  function _arrayWithHoles(arr) {
44
85
  if (Array.isArray(arr)) return arr;
45
86
  }
@@ -114,6 +155,12 @@ this.primereact.splitbutton = (function (exports, React, PrimeReact, button, hoo
114
155
  buttonProps: null,
115
156
  menuButtonProps: null,
116
157
  tabIndex: null,
158
+ severity: null,
159
+ rounded: false,
160
+ raised: false,
161
+ outlined: false,
162
+ text: false,
163
+ size: null,
117
164
  appendTo: null,
118
165
  tooltip: null,
119
166
  tooltipOptions: null,
@@ -245,6 +292,7 @@ this.primereact.splitbutton = (function (exports, React, PrimeReact, button, hoo
245
292
  SplitButtonPanel.displayName = 'SplitButtonPanel';
246
293
 
247
294
  var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
295
+ var _classNames;
248
296
  var props = SplitButtonBase.getProps(inProps);
249
297
  var _React$useState = React__namespace.useState(props.id),
250
298
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -341,9 +389,15 @@ this.primereact.splitbutton = (function (exports, React, PrimeReact, button, hoo
341
389
  }
342
390
  var hasTooltip = utils.ObjectUtils.isNotEmpty(props.tooltip);
343
391
  var otherProps = SplitButtonBase.getOtherProps(props);
344
- var className = utils.classNames('p-splitbutton p-component', props.className, {
345
- 'p-disabled': props.disabled
346
- });
392
+ var sizeMapping = {
393
+ large: 'lg',
394
+ small: 'sm'
395
+ };
396
+ var size = sizeMapping[props.size];
397
+ var className = utils.classNames('p-splitbutton p-component', props.className, (_classNames = {
398
+ 'p-disabled': props.disabled,
399
+ 'p-button-loading-label-only': props.loading && !props.icon && props.label
400
+ }, _defineProperty(_classNames, "p-button-".concat(props.severity), props.severity), _defineProperty(_classNames, 'p-button-raised', props.raised), _defineProperty(_classNames, 'p-button-rounded', props.rounded), _defineProperty(_classNames, 'p-button-text', props.text), _defineProperty(_classNames, 'p-button-outlined', props.outlined), _defineProperty(_classNames, "p-button-".concat(size), size), _classNames));
347
401
  var buttonClassName = utils.classNames('p-splitbutton-defaultbutton', props.buttonClassName);
348
402
  var menuButtonClassName = utils.classNames('p-splitbutton-menubutton', props.menuButtonClassName);
349
403
  var buttonContent = props.buttonTemplate ? utils.ObjectUtils.getJSXElement(props.buttonTemplate, props) : null;
@@ -1 +1 @@
1
- this.primereact=this.primereact||{},this.primereact.splitbutton=function(e,t,n,l,r,o,a,i,u,s){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var p=m(t),d=c(n);function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},f.apply(this,arguments)}function b(e){if(Array.isArray(e))return e}function y(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var l,r,o,a,i=[],u=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(l=o.call(n)).done)&&(i.push(l.value),i.length!==t);u=!0);}catch(e){s=!0,r=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw r}}return i}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}function E(e,t){if(e){if("string"==typeof e)return v(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)?v(e,t):void 0}}function g(){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 N(e,t){return b(e)||y(e,t)||E(e,t)||g()}var O={defaultProps:{__TYPE:"SplitButton",id:null,label:null,icon:null,loading:!1,loadingIcon:"pi pi-spinner pi-spin",model:null,disabled:null,style:null,className:null,buttonClassName:null,menuStyle:null,menuClassName:null,menuButtonClassName:null,buttonProps:null,menuButtonProps:null,tabIndex:null,appendTo:null,tooltip:null,tooltipOptions:null,buttonTemplate:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",onClick:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return i.ObjectUtils.getMergedProps(e,O.defaultProps)},getOtherProps:function(e){return i.ObjectUtils.getDiffProps(e,O.defaultProps)}},h=p.memo((function(e){var t=function(t){e.menuitem.command&&e.menuitem.command({originalEvent:t,item:e.menuitem}),e.onItemClick&&e.onItemClick(t),t.preventDefault()},n=function(){if(!1===e.menuitem.visible)return null;var n=e.menuitem,l=n.icon,r=n.label,o=n.template,a=n.url,u=n.target,s=i.classNames("p-menuitem-link",n.className,{"p-disabled":n.disabled}),c=i.classNames("p-menuitem-icon",l),m=i.IconUtils.getJSXIcon(l,{className:"p-menuitem-icon"},{props:e.splitButtonProps}),d=p.createElement("a",{href:a||"#",role:"menuitem",className:s,target:u,onClick:t,"aria-label":r},m,r&&p.createElement("span",{className:"p-menuitem-text"},r));o&&(d=i.ObjectUtils.getJSXElement(o,e.menuitem,{onClick:t,className:s,labelClassName:"p-menuitem-text",iconClassName:c,element:d,props:e}));return p.createElement("li",{className:"p-menuitem",role:"none"},d)};return e.menuitem.separator?p.createElement("li",{className:"p-menu-separator",role:"separator"}):n()}));h.displayName="SplitButtonItem";var I=p.forwardRef((function(e,t){var n,l=(n=i.classNames("p-menu p-menu-overlay p-component",e.menuClassName),p.createElement(u.CSSTransition,{nodeRef:t,classNames:"p-connected-overlay",in:e.in,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:e.onEnter,onEntered:e.onEntered,onExit:e.onExit,onExited:e.onExited},p.createElement("div",{ref:t,className:n,style:e.menuStyle,onClick:e.onClick},p.createElement("ul",{id:e.menuId,className:"p-menu-list p-reset",role:"menu"},e.children))));return p.createElement(s.Portal,{element:l,appendTo:e.appendTo})}));I.displayName="SplitButtonPanel";var C=p.memo(p.forwardRef((function(e,t){var n=O.getProps(e),u=N(p.useState(n.id),2),s=u[0],c=u[1],m=N(p.useState(!1),2),b=m[0],y=m[1],v=p.useRef(null),E=p.useRef(null),g=p.useRef(null),C=N(r.useOverlayListener({target:v,overlay:g,listener:function(e,t){t.valid&&k()},when:b}),2),S=C[0],P=C[1],j=function(){k()},x=function(){y(!0)},k=function(){y(!1)},w=function(){i.DomHandler.alignOverlay(g.current,E.current.parentElement,n.appendTo||d.default.appendTo)};r.useMountEffect((function(){s||c(i.UniqueComponentId())})),r.useUnmountEffect((function(){i.ZIndexUtils.clear(g.current)})),p.useImperativeHandle(t,(function(){return{props:n,show:x,hide:k,getElement:function(){return v.current}}}));if(!1===n.visible)return null;var T=i.ObjectUtils.isNotEmpty(n.tooltip),B=O.getOtherProps(n),U=i.classNames("p-splitbutton p-component",n.className,{"p-disabled":n.disabled}),R=i.classNames("p-splitbutton-defaultbutton",n.buttonClassName),_=i.classNames("p-splitbutton-menubutton",n.menuButtonClassName),A=n.buttonTemplate?i.ObjectUtils.getJSXElement(n.buttonTemplate,n):null,H=n.model?n.model.map((function(e,t){return p.createElement(h,{splitButtonProps:n,menuitem:e,key:t,onItemClick:j})})):null,M=s+"_menu";return p.createElement(p.Fragment,null,p.createElement("div",f({ref:v,id:s,className:U,style:n.style},B),p.createElement(l.Button,f({ref:E,type:"button",className:R,icon:n.icon,loading:n.loading,loadingIcon:n.loadingIcon,label:n.label,onClick:n.onClick,disabled:n.disabled,tabIndex:n.tabIndex},n.buttonProps),A),p.createElement(l.Button,f({type:"button",className:_,icon:n.dropdownIcon,onClick:function(){b?k():x()},disabled:n.disabled,"aria-expanded":b,"aria-haspopup":"true","aria-controls":b?M:null},n.menuButtonProps)),p.createElement(I,{ref:g,appendTo:n.appendTo,menuId:M,menuStyle:n.menuStyle,menuClassName:n.menuClassName,onClick:function(e){o.OverlayService.emit("overlay-click",{originalEvent:e,target:v.current})},in:b,onEnter:function(){i.ZIndexUtils.set("overlay",g.current,d.default.autoZIndex,d.default.zIndex.overlay),w()},onEntered:function(){S(),n.onShow&&n.onShow()},onExit:function(){P()},onExited:function(){i.ZIndexUtils.clear(g.current),n.onHide&&n.onHide()},transitionOptions:n.transitionOptions},H)),T&&p.createElement(a.Tooltip,f({target:v,content:n.tooltip},n.tooltipOptions)))})));return C.displayName="SplitButton",e.SplitButton=C,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.button,primereact.hooks,primereact.overlayservice,primereact.tooltip,primereact.utils,primereact.csstransition,primereact.portal);
1
+ this.primereact=this.primereact||{},this.primereact.splitbutton=function(e,t,n,r,l,o,i,a,u,s){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(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 p=m(t),d=c(n);function f(){return f=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},f.apply(this,arguments)}function b(e){return b="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},b(e)}function y(e,t){if("object"!==b(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==b(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function v(e){var t=y(e,"string");return"symbol"===b(t)?t:String(t)}function g(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(e){if(Array.isArray(e))return e}function N(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,o,i,a=[],u=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){s=!0,l=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw l}}return a}}function O(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 S(e,t){if(e){if("string"==typeof e)return O(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)?O(e,t):void 0}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function I(e,t){return E(e)||N(e,t)||S(e,t)||h()}var C={defaultProps:{__TYPE:"SplitButton",id:null,label:null,icon:null,loading:!1,loadingIcon:"pi pi-spinner pi-spin",model:null,disabled:null,style:null,className:null,buttonClassName:null,menuStyle:null,menuClassName:null,menuButtonClassName:null,buttonProps:null,menuButtonProps:null,tabIndex:null,severity:null,rounded:!1,raised:!1,outlined:!1,text:!1,size:null,appendTo:null,tooltip:null,tooltipOptions:null,buttonTemplate:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",onClick:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return a.ObjectUtils.getMergedProps(e,C.defaultProps)},getOtherProps:function(e){return a.ObjectUtils.getDiffProps(e,C.defaultProps)}},P=p.memo((function(e){var t=function(t){e.menuitem.command&&e.menuitem.command({originalEvent:t,item:e.menuitem}),e.onItemClick&&e.onItemClick(t),t.preventDefault()},n=function(){if(!1===e.menuitem.visible)return null;var n=e.menuitem,r=n.icon,l=n.label,o=n.template,i=n.url,u=n.target,s=a.classNames("p-menuitem-link",n.className,{"p-disabled":n.disabled}),c=a.classNames("p-menuitem-icon",r),m=a.IconUtils.getJSXIcon(r,{className:"p-menuitem-icon"},{props:e.splitButtonProps}),d=p.createElement("a",{href:i||"#",role:"menuitem",className:s,target:u,onClick:t,"aria-label":l},m,l&&p.createElement("span",{className:"p-menuitem-text"},l));o&&(d=a.ObjectUtils.getJSXElement(o,e.menuitem,{onClick:t,className:s,labelClassName:"p-menuitem-text",iconClassName:c,element:d,props:e}));return p.createElement("li",{className:"p-menuitem",role:"none"},d)};return e.menuitem.separator?p.createElement("li",{className:"p-menu-separator",role:"separator"}):n()}));P.displayName="SplitButtonItem";var j=p.forwardRef((function(e,t){var n,r=(n=a.classNames("p-menu p-menu-overlay p-component",e.menuClassName),p.createElement(u.CSSTransition,{nodeRef:t,classNames:"p-connected-overlay",in:e.in,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:e.onEnter,onEntered:e.onEntered,onExit:e.onExit,onExited:e.onExited},p.createElement("div",{ref:t,className:n,style:e.menuStyle,onClick:e.onClick},p.createElement("ul",{id:e.menuId,className:"p-menu-list p-reset",role:"menu"},e.children))));return p.createElement(s.Portal,{element:r,appendTo:e.appendTo})}));j.displayName="SplitButtonPanel";var x=p.memo(p.forwardRef((function(e,t){var n,u=C.getProps(e),s=I(p.useState(u.id),2),c=s[0],m=s[1],b=I(p.useState(!1),2),y=b[0],v=b[1],E=p.useRef(null),N=p.useRef(null),O=p.useRef(null),S=I(l.useOverlayListener({target:E,overlay:O,listener:function(e,t){t.valid&&T()},when:y}),2),h=S[0],x=S[1],w=function(){T()},k=function(){v(!0)},T=function(){v(!1)},B=function(){a.DomHandler.alignOverlay(O.current,N.current.parentElement,u.appendTo||d.default.appendTo)};l.useMountEffect((function(){c||m(a.UniqueComponentId())})),l.useUnmountEffect((function(){a.ZIndexUtils.clear(O.current)})),p.useImperativeHandle(t,(function(){return{props:u,show:k,hide:T,getElement:function(){return E.current}}}));if(!1===u.visible)return null;var U=a.ObjectUtils.isNotEmpty(u.tooltip),R=C.getOtherProps(u),_={large:"lg",small:"sm"}[u.size],A=a.classNames("p-splitbutton p-component",u.className,(g(n={"p-disabled":u.disabled,"p-button-loading-label-only":u.loading&&!u.icon&&u.label},"p-button-".concat(u.severity),u.severity),g(n,"p-button-raised",u.raised),g(n,"p-button-rounded",u.rounded),g(n,"p-button-text",u.text),g(n,"p-button-outlined",u.outlined),g(n,"p-button-".concat(_),_),n)),H=a.classNames("p-splitbutton-defaultbutton",u.buttonClassName),M=a.classNames("p-splitbutton-menubutton",u.menuButtonClassName),z=u.buttonTemplate?a.ObjectUtils.getJSXElement(u.buttonTemplate,u):null,D=u.model?u.model.map((function(e,t){return p.createElement(P,{splitButtonProps:u,menuitem:e,key:t,onItemClick:w})})):null,Z=c+"_menu";return p.createElement(p.Fragment,null,p.createElement("div",f({ref:E,id:c,className:A,style:u.style},R),p.createElement(r.Button,f({ref:N,type:"button",className:H,icon:u.icon,loading:u.loading,loadingIcon:u.loadingIcon,label:u.label,onClick:u.onClick,disabled:u.disabled,tabIndex:u.tabIndex},u.buttonProps),z),p.createElement(r.Button,f({type:"button",className:M,icon:u.dropdownIcon,onClick:function(){y?T():k()},disabled:u.disabled,"aria-expanded":y,"aria-haspopup":"true","aria-controls":y?Z:null},u.menuButtonProps)),p.createElement(j,{ref:O,appendTo:u.appendTo,menuId:Z,menuStyle:u.menuStyle,menuClassName:u.menuClassName,onClick:function(e){o.OverlayService.emit("overlay-click",{originalEvent:e,target:E.current})},in:y,onEnter:function(){a.ZIndexUtils.set("overlay",O.current,d.default.autoZIndex,d.default.zIndex.overlay),B()},onEntered:function(){h(),u.onShow&&u.onShow()},onExit:function(){x()},onExited:function(){a.ZIndexUtils.clear(O.current),u.onHide&&u.onHide()},transitionOptions:u.transitionOptions},D)),U&&p.createElement(i.Tooltip,f({target:E,content:u.tooltip},u.tooltipOptions)))})));return x.displayName="SplitButton",e.SplitButton=x,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.button,primereact.hooks,primereact.overlayservice,primereact.tooltip,primereact.utils,primereact.csstransition,primereact.portal);
@@ -114,6 +114,8 @@ var TieredMenuBase = {
114
114
  className: null,
115
115
  autoZIndex: true,
116
116
  baseZIndex: 0,
117
+ breakpoint: undefined,
118
+ scrollHeight: '400px',
117
119
  appendTo: null,
118
120
  transitionOptions: null,
119
121
  onShow: null,
@@ -137,13 +139,20 @@ var TieredMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
137
139
  var _useEventListener = hooks.useEventListener({
138
140
  type: 'click',
139
141
  listener: function listener(event) {
140
- if (elementRef.current && !elementRef.current.contains(event.target)) {
142
+ if (!props.isMobileMode && elementRef.current && !elementRef.current.contains(event.target)) {
141
143
  setActiveItemState(null);
142
144
  }
143
145
  }
144
146
  }),
145
147
  _useEventListener2 = _slicedToArray(_useEventListener, 1),
146
148
  bindDocumentClickListener = _useEventListener2[0];
149
+ var _useResizeListener = hooks.useResizeListener({
150
+ listener: function listener() {
151
+ !props.isMobileMode && setActiveItemState(null);
152
+ }
153
+ }),
154
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
155
+ bindDocumentResizeListener = _useResizeListener2[0];
147
156
  var position = function position() {
148
157
  if (elementRef.current) {
149
158
  var parentItem = elementRef.current.parentElement;
@@ -163,7 +172,7 @@ var TieredMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
163
172
  }
164
173
  };
165
174
  var onItemMouseEnter = function onItemMouseEnter(event, item) {
166
- if (item.disabled) {
175
+ if (item.disabled || props.isMobileMode) {
167
176
  event.preventDefault();
168
177
  return;
169
178
  }
@@ -189,7 +198,7 @@ var TieredMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
189
198
  item: item
190
199
  });
191
200
  }
192
- if (props.root) {
201
+ if (props.root || props.isMobileMode) {
193
202
  if (item.items) {
194
203
  if (activeItemState && item === activeItemState) setActiveItemState(null);else setActiveItemState(item);
195
204
  }
@@ -244,21 +253,27 @@ var TieredMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
244
253
  return prevItem ? utils.DomHandler.hasClass(prevItem, 'p-disabled') || !utils.DomHandler.hasClass(prevItem, 'p-menuitem') ? findPrevItem(prevItem) : prevItem : null;
245
254
  };
246
255
  var onLeafClick = function onLeafClick(event) {
247
- setActiveItemState(null);
248
- props.onLeafClick && props.onLeafClick(event);
249
- props.onHide && props.onHide(event);
256
+ if (!props.isMobileMode || props.popup) {
257
+ setActiveItemState(null);
258
+ props.onLeafClick && props.onLeafClick(event);
259
+ props.onHide && props.onHide(event);
260
+ }
250
261
  };
251
262
  hooks.useMountEffect(function () {
252
263
  bindDocumentClickListener();
264
+ bindDocumentResizeListener();
253
265
  });
254
266
  hooks.useUpdateEffect(function () {
255
267
  if (!props.parentActive) {
256
268
  setActiveItemState(null);
257
269
  }
258
- if (!props.root && props.parentActive) {
270
+ if (!props.root && props.parentActive && !props.isMobileMode) {
259
271
  position();
260
272
  }
261
273
  }, [props.parentActive]);
274
+ hooks.useUpdateEffect(function () {
275
+ props.onItemToggle && props.onItemToggle();
276
+ }, [activeItemState]);
262
277
  var createSeparator = function createSeparator(index) {
263
278
  var key = 'separator_' + index;
264
279
  return /*#__PURE__*/React__namespace.createElement("li", {
@@ -275,7 +290,9 @@ var TieredMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
275
290
  onLeafClick: onLeafClick,
276
291
  popup: props.popup,
277
292
  onKeyDown: onChildItemKeyDown,
278
- parentActive: item === activeItemState
293
+ parentActive: item === activeItemState,
294
+ isMobileMode: props.isMobileMode,
295
+ onItemToggle: props.onItemToggle
279
296
  });
280
297
  }
281
298
  return null;
@@ -385,8 +402,14 @@ var TieredMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespa
385
402
  _React$useState2 = _slicedToArray(_React$useState, 2),
386
403
  visibleState = _React$useState2[0],
387
404
  setVisibleState = _React$useState2[1];
405
+ var _React$useState3 = React__namespace.useState(null),
406
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
407
+ attributeSelectorState = _React$useState4[0],
408
+ setAttributeSelectorState = _React$useState4[1];
388
409
  var menuRef = React__namespace.useRef(null);
389
410
  var targetRef = React__namespace.useRef(null);
411
+ var styleElementRef = React__namespace.useRef(null);
412
+ var isMobileMode = hooks.useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
390
413
  var _useOverlayListener = hooks.useOverlayListener({
391
414
  target: targetRef,
392
415
  overlay: menuRef,
@@ -424,11 +447,31 @@ var TieredMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespa
424
447
  props.onHide && props.onHide(event);
425
448
  }
426
449
  };
450
+ var onItemToggle = function onItemToggle() {
451
+ if (props.popup && isMobileMode) {
452
+ utils.DomHandler.absolutePosition(menuRef.current, targetRef.current);
453
+ }
454
+ };
455
+ var createStyle = function createStyle() {
456
+ if (!styleElementRef.current) {
457
+ styleElementRef.current = utils.DomHandler.createInlineStyle(PrimeReact__default["default"].nonce);
458
+ var selector = "".concat(attributeSelectorState);
459
+ var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-tieredmenu[").concat(selector, "] > ul {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n }\n\n .p-tieredmenu[").concat(selector, "] .p-submenu-list {\n position: relative;\n }\n\n .p-tieredmenu[").concat(selector, "] .p-menuitem-active > .p-submenu-list {\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-tieredmenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-tieredmenu[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n }\n\n ").concat(!props.popup ? ".p-tieredmenu[".concat(selector, "] { width: 100%; }") : '', "\n}\n");
460
+ styleElementRef.current.innerHTML = innerHTML;
461
+ }
462
+ };
463
+ var destroyStyle = function destroyStyle() {
464
+ styleElementRef.current = utils.DomHandler.removeInlineStyle(styleElementRef.current);
465
+ };
427
466
  var onEnter = function onEnter() {
428
467
  if (props.autoZIndex) {
429
468
  utils.ZIndexUtils.set('menu', menuRef.current, PrimeReact__default["default"].autoZIndex, props.baseZIndex || PrimeReact__default["default"].zIndex['menu']);
430
469
  }
431
470
  utils.DomHandler.absolutePosition(menuRef.current, targetRef.current);
471
+ if (attributeSelectorState && props.breakpoint) {
472
+ menuRef.current.setAttribute(attributeSelectorState, '');
473
+ createStyle();
474
+ }
432
475
  };
433
476
  var onEntered = function onEntered() {
434
477
  bindOverlayListener();
@@ -439,7 +482,22 @@ var TieredMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespa
439
482
  };
440
483
  var onExited = function onExited() {
441
484
  utils.ZIndexUtils.clear(menuRef.current);
485
+ destroyStyle();
442
486
  };
487
+ hooks.useMountEffect(function () {
488
+ if (props.breakpoint) {
489
+ !attributeSelectorState && setAttributeSelectorState(utils.UniqueComponentId());
490
+ }
491
+ });
492
+ hooks.useUpdateEffect(function () {
493
+ if (attributeSelectorState && menuRef.current) {
494
+ menuRef.current.setAttribute(attributeSelectorState, '');
495
+ createStyle();
496
+ }
497
+ return function () {
498
+ destroyStyle();
499
+ };
500
+ }, [attributeSelectorState, props.breakpoint]);
443
501
  hooks.useUnmountEffect(function () {
444
502
  utils.ZIndexUtils.clear(menuRef.current);
445
503
  });
@@ -487,7 +545,9 @@ var TieredMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespa
487
545
  model: props.model,
488
546
  root: true,
489
547
  popup: props.popup,
490
- onHide: hide
548
+ onHide: hide,
549
+ isMobileMode: isMobileMode,
550
+ onItemToggle: onItemToggle
491
551
  })));
492
552
  };
493
553
  var element = createElement();
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/csstransition"),r=require("primereact/hooks"),l=require("primereact/overlayservice"),o=require("primereact/portal"),a=require("primereact/utils"),i=require("primereact/ripple");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var s=c(e),p=u(t);function m(){return m=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},m.apply(this,arguments)}function f(e){if(Array.isArray(e))return e}function d(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,o,a,i=[],u=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){c=!0,l=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw l}}return i}}function v(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 b(e,t){if(e){if("string"==typeof e)return v(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)?v(e,t):void 0}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(e,t){return f(e)||d(e,t)||b(e,t)||h()}var g={defaultProps:{__TYPE:"TieredMenu",id:null,model:null,popup:!1,style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,transitionOptions:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return a.ObjectUtils.getMergedProps(e,g.defaultProps)},getOtherProps:function(e){return a.ObjectUtils.getDiffProps(e,g.defaultProps)}},E=s.memo((function(e){var t=y(s.useState(null),2),n=t[0],l=t[1],o=s.useRef(null),u=y(r.useEventListener({type:"click",listener:function(e){o.current&&!o.current.contains(e.target)&&l(null)}}),1)[0],c=function(){if(o.current){var e=o.current.parentElement,t=a.DomHandler.getOffset(e),n=a.DomHandler.getViewport(),r=o.current.offsetParent?o.current.offsetWidth:a.DomHandler.getHiddenElementOuterWidth(o.current),l=a.DomHandler.getOuterWidth(e.children[0]),i=parseInt(t.top,10)+o.current.offsetHeight-a.DomHandler.getWindowScrollTop();o.current.style.top=i>n.height?n.height-i+"px":"0px",parseInt(t.left,10)+l+r>n.width-a.DomHandler.calculateScrollbarWidth()&&a.DomHandler.addClass(o.current,"p-submenu-list-flipped")}},p=function(t,r){r.disabled?t.preventDefault():e.root?(n||e.popup)&&l(r):l(r)},m=function(t,r){r.disabled?t.preventDefault():(r.url||t.preventDefault(),r.command&&r.command({originalEvent:t,item:r}),e.root&&r.items&&l(n&&r===n?null:r),r.items||h(t))},f=function(t,n){var r=t.currentTarget.parentElement;switch(t.which){case 40:var o=v(r);o&&o.children[0].focus(),t.preventDefault();break;case 38:var a=b(r);a&&a.children[0].focus(),t.preventDefault();break;case 39:n.items&&(l(n),setTimeout((function(){r.children[1].children[0].children[0].focus()}),50)),t.preventDefault()}e.onKeyDown&&e.onKeyDown(t,r)},d=function(e,t){37===e.which&&(l(null),t.parentElement.previousElementSibling.focus())},v=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},b=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},h=function(t){l(null),e.onLeafClick&&e.onLeafClick(t),e.onHide&&e.onHide(t)};r.useMountEffect((function(){u()})),r.useUpdateEffect((function(){e.parentActive||l(null),!e.root&&e.parentActive&&c()}),[e.parentActive]);var g=function(e){return s.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},O=function(t){return t.items?s.createElement(E,{menuProps:e.menuProps,model:t.items,onLeafClick:h,popup:e.popup,onKeyDown:d,parentActive:t===n}):null},D=function(t,r){if(!1===t.visible)return null;var l=t.style,o=t.disabled,u=t.icon,c=t.label,d=t.items,v=t.target,b=t.url,h=t.template,y=c+"_"+r,g=n===t,E=a.classNames("p-menuitem",{"p-menuitem-active":g},t.className),D=a.classNames("p-menuitem-link",{"p-disabled":o}),w=a.classNames("p-menuitem-icon",u),N="p-submenu-icon pi pi-angle-right",S=a.IconUtils.getJSXIcon(u,{className:"p-menuitem-icon"},{props:e.menuProps}),x=c&&s.createElement("span",{className:"p-menuitem-text"},c),H=d&&s.createElement("span",{className:N}),P=O(t),j=s.createElement("a",{href:b||"#",className:D,target:v,role:"menuitem","aria-haspopup":null!=d,onClick:function(e){return m(e,t)},onKeyDown:function(e){return f(e,t)},"aria-disabled":o},S,x,H,s.createElement(i.Ripple,null));h&&(j=a.ObjectUtils.getJSXElement(h,t,{onClick:function(e){return m(e,t)},onKeyDown:function(e){return f(e,t)},className:D,labelClassName:"p-menuitem-text",iconClassName:w,submenuIconClassName:N,element:j,props:e,active:g,disabled:o}));return s.createElement("li",{key:y,id:t,className:E,style:l,onMouseEnter:function(e){return p(e,t)},role:"none"},j,P)},w=function(e,t){return e.separator?g(t):D(e,t)},N=a.classNames({"p-submenu-list":!e.root}),S=e.model?e.model.map(w):null;return s.createElement("ul",{ref:o,className:N,role:e.root?"menubar":"menu","aria-orientation":"horizontal"},S)}));E.displayName="TieredMenuSub";var O=s.memo(s.forwardRef((function(e,t){var i=g.getProps(e),u=y(s.useState(!i.popup),2),c=u[0],f=u[1],d=s.useRef(null),v=s.useRef(null),b=y(r.useOverlayListener({target:v,overlay:d,listener:function(e,t){t.valid&&S(e)},when:c}),2),h=b[0],O=b[1],D=function(e){i.popup&&l.OverlayService.emit("overlay-click",{originalEvent:e,target:v.current})},w=function(e){i.popup&&(c?S(e):N(e))},N=function(e){v.current=e.currentTarget,f(!0),i.onShow&&i.onShow(e)},S=function(e){i.popup&&(v.current=e.currentTarget,f(!1),i.onHide&&i.onHide(e))},x=function(){i.autoZIndex&&a.ZIndexUtils.set("menu",d.current,p.default.autoZIndex,i.baseZIndex||p.default.zIndex.menu),a.DomHandler.absolutePosition(d.current,v.current)},H=function(){h()},P=function(){v.current=null,O()},j=function(){a.ZIndexUtils.clear(d.current)};r.useUnmountEffect((function(){a.ZIndexUtils.clear(d.current)})),s.useImperativeHandle(t,(function(){return{props:i,toggle:w,show:N,hide:S,getElement:function(){return d.current}}}));var I,C,k=(I=g.getOtherProps(i),C=a.classNames("p-tieredmenu p-component",{"p-tieredmenu-overlay":i.popup,"p-input-filled":"filled"===p.default.inputStyle,"p-ripple-disabled":!1===p.default.ripple},i.className),s.createElement(n.CSSTransition,{nodeRef:d,classNames:"p-connected-overlay",in:c,timeout:{enter:120,exit:100},options:i.transitionOptions,unmountOnExit:!0,onEnter:x,onEntered:H,onExit:P,onExited:j},s.createElement("div",m({ref:d,id:i.id,className:C,style:i.style},I,{onClick:D}),s.createElement(E,{menuProps:i,model:i.model,root:!0,popup:i.popup,onHide:S}))));return i.popup?s.createElement(o.Portal,{element:k,appendTo:i.appendTo}):k})));O.displayName="TieredMenu",exports.TieredMenu=O;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/api"),t=require("primereact/csstransition"),r=require("primereact/hooks"),o=require("primereact/overlayservice"),i=require("primereact/portal"),l=require("primereact/utils"),a=require("primereact/ripple");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var s=c(e),p=u(n);function m(){return m=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},m.apply(this,arguments)}function d(e){if(Array.isArray(e))return e}function f(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,l,a=[],u=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(a.push(r.value),a.length!==n);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(c)throw o}}return a}}function b(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function v(e,n){if(e){if("string"==typeof e)return b(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)?b(e,n):void 0}}function g(){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 h(e,n){return d(e)||f(e,n)||v(e,n)||g()}var y={defaultProps:{__TYPE:"TieredMenu",id:null,model:null,popup:!1,style:null,className:null,autoZIndex:!0,baseZIndex:0,breakpoint:void 0,scrollHeight:"400px",appendTo:null,transitionOptions:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return l.ObjectUtils.getMergedProps(e,y.defaultProps)},getOtherProps:function(e){return l.ObjectUtils.getDiffProps(e,y.defaultProps)}},E=s.memo((function(e){var n=h(s.useState(null),2),t=n[0],o=n[1],i=s.useRef(null),u=h(r.useEventListener({type:"click",listener:function(n){e.isMobileMode||!i.current||i.current.contains(n.target)||o(null)}}),1)[0],c=h(r.useResizeListener({listener:function(){!e.isMobileMode&&o(null)}}),1)[0],p=function(){if(i.current){var e=i.current.parentElement,n=l.DomHandler.getOffset(e),t=l.DomHandler.getViewport(),r=i.current.offsetParent?i.current.offsetWidth:l.DomHandler.getHiddenElementOuterWidth(i.current),o=l.DomHandler.getOuterWidth(e.children[0]),a=parseInt(n.top,10)+i.current.offsetHeight-l.DomHandler.getWindowScrollTop();i.current.style.top=a>t.height?t.height-a+"px":"0px",parseInt(n.left,10)+o+r>t.width-l.DomHandler.calculateScrollbarWidth()&&l.DomHandler.addClass(i.current,"p-submenu-list-flipped")}},m=function(n,r){r.disabled||e.isMobileMode?n.preventDefault():e.root?(t||e.popup)&&o(r):o(r)},d=function(n,r){r.disabled?n.preventDefault():(r.url||n.preventDefault(),r.command&&r.command({originalEvent:n,item:r}),(e.root||e.isMobileMode)&&r.items&&o(t&&r===t?null:r),r.items||y(n))},f=function(n,t){var r=n.currentTarget.parentElement;switch(n.which){case 40:var i=v(r);i&&i.children[0].focus(),n.preventDefault();break;case 38:var l=g(r);l&&l.children[0].focus(),n.preventDefault();break;case 39:t.items&&(o(t),setTimeout((function(){r.children[1].children[0].children[0].focus()}),50)),n.preventDefault()}e.onKeyDown&&e.onKeyDown(n,r)},b=function(e,n){37===e.which&&(o(null),n.parentElement.previousElementSibling.focus())},v=function e(n){var t=n.nextElementSibling;return t?l.DomHandler.hasClass(t,"p-disabled")||!l.DomHandler.hasClass(t,"p-menuitem")?e(t):t:null},g=function e(n){var t=n.previousElementSibling;return t?l.DomHandler.hasClass(t,"p-disabled")||!l.DomHandler.hasClass(t,"p-menuitem")?e(t):t:null},y=function(n){e.isMobileMode&&!e.popup||(o(null),e.onLeafClick&&e.onLeafClick(n),e.onHide&&e.onHide(n))};r.useMountEffect((function(){u(),c()})),r.useUpdateEffect((function(){e.parentActive||o(null),e.root||!e.parentActive||e.isMobileMode||p()}),[e.parentActive]),r.useUpdateEffect((function(){e.onItemToggle&&e.onItemToggle()}),[t]);var M=function(e){return s.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},w=function(n){return n.items?s.createElement(E,{menuProps:e.menuProps,model:n.items,onLeafClick:y,popup:e.popup,onKeyDown:b,parentActive:n===t,isMobileMode:e.isMobileMode,onItemToggle:e.onItemToggle}):null},D=function(n,r){if(!1===n.visible)return null;var o=n.style,i=n.disabled,u=n.icon,c=n.label,p=n.items,b=n.target,v=n.url,g=n.template,h=c+"_"+r,y=t===n,E=l.classNames("p-menuitem",{"p-menuitem-active":y},n.className),M=l.classNames("p-menuitem-link",{"p-disabled":i}),D=l.classNames("p-menuitem-icon",u),H="p-submenu-icon pi pi-angle-right",O=l.IconUtils.getJSXIcon(u,{className:"p-menuitem-icon"},{props:e.menuProps}),x=c&&s.createElement("span",{className:"p-menuitem-text"},c),I=p&&s.createElement("span",{className:H}),S=w(n),k=s.createElement("a",{href:v||"#",className:M,target:b,role:"menuitem","aria-haspopup":null!=p,onClick:function(e){return d(e,n)},onKeyDown:function(e){return f(e,n)},"aria-disabled":i},O,x,I,s.createElement(a.Ripple,null));g&&(k=l.ObjectUtils.getJSXElement(g,n,{onClick:function(e){return d(e,n)},onKeyDown:function(e){return f(e,n)},className:M,labelClassName:"p-menuitem-text",iconClassName:D,submenuIconClassName:H,element:k,props:e,active:y,disabled:i}));return s.createElement("li",{key:h,id:n,className:E,style:o,onMouseEnter:function(e){return m(e,n)},role:"none"},k,S)},H=function(e,n){return e.separator?M(n):D(e,n)},O=l.classNames({"p-submenu-list":!e.root}),x=e.model?e.model.map(H):null;return s.createElement("ul",{ref:i,className:O,role:e.root?"menubar":"menu","aria-orientation":"horizontal"},x)}));E.displayName="TieredMenuSub";var M=s.memo(s.forwardRef((function(e,n){var a=y.getProps(e),u=h(s.useState(!a.popup),2),c=u[0],d=u[1],f=h(s.useState(null),2),b=f[0],v=f[1],g=s.useRef(null),M=s.useRef(null),w=s.useRef(null),D=r.useMatchMedia("screen and (max-width: ".concat(a.breakpoint,")"),!!a.breakpoint),H=h(r.useOverlayListener({target:M,overlay:g,listener:function(e,n){n.valid&&N(e)},when:c}),2),O=H[0],x=H[1],I=function(e){a.popup&&o.OverlayService.emit("overlay-click",{originalEvent:e,target:M.current})},S=function(e){a.popup&&(c?N(e):k(e))},k=function(e){M.current=e.currentTarget,d(!0),a.onShow&&a.onShow(e)},N=function(e){a.popup&&(M.current=e.currentTarget,d(!1),a.onHide&&a.onHide(e))},P=function(){a.popup&&D&&l.DomHandler.absolutePosition(g.current,M.current)},T=function(){if(!w.current){w.current=l.DomHandler.createInlineStyle(p.default.nonce);var e="".concat(b),n="\n@media screen and (max-width: ".concat(a.breakpoint,") {\n .p-tieredmenu[").concat(e,"] > ul {\n max-height: ").concat(a.scrollHeight,";\n overflow: ").concat(a.scrollHeight?"auto":"",";\n }\n\n .p-tieredmenu[").concat(e,"] .p-submenu-list {\n position: relative;\n }\n\n .p-tieredmenu[").concat(e,"] .p-menuitem-active > .p-submenu-list {\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-tieredmenu[").concat(e,"] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-tieredmenu[").concat(e,'] .p-submenu-icon:before {\n content: "\\e930";\n }\n\n ').concat(a.popup?"":".p-tieredmenu[".concat(e,"] { width: 100%; }"),"\n}\n");w.current.innerHTML=n}},j=function(){w.current=l.DomHandler.removeInlineStyle(w.current)},C=function(){a.autoZIndex&&l.ZIndexUtils.set("menu",g.current,p.default.autoZIndex,a.baseZIndex||p.default.zIndex.menu),l.DomHandler.absolutePosition(g.current,M.current),b&&a.breakpoint&&(g.current.setAttribute(b,""),T())},U=function(){O()},A=function(){M.current=null,x()},q=function(){l.ZIndexUtils.clear(g.current),j()};r.useMountEffect((function(){a.breakpoint&&!b&&v(l.UniqueComponentId())})),r.useUpdateEffect((function(){return b&&g.current&&(g.current.setAttribute(b,""),T()),function(){j()}}),[b,a.breakpoint]),r.useUnmountEffect((function(){l.ZIndexUtils.clear(g.current)})),s.useImperativeHandle(n,(function(){return{props:a,toggle:S,show:k,hide:N,getElement:function(){return g.current}}}));var R,Z,_=(R=y.getOtherProps(a),Z=l.classNames("p-tieredmenu p-component",{"p-tieredmenu-overlay":a.popup,"p-input-filled":"filled"===p.default.inputStyle,"p-ripple-disabled":!1===p.default.ripple},a.className),s.createElement(t.CSSTransition,{nodeRef:g,classNames:"p-connected-overlay",in:c,timeout:{enter:120,exit:100},options:a.transitionOptions,unmountOnExit:!0,onEnter:C,onEntered:U,onExit:A,onExited:q},s.createElement("div",m({ref:g,id:a.id,className:Z,style:a.style},R,{onClick:I}),s.createElement(E,{menuProps:a,model:a.model,root:!0,popup:a.popup,onHide:N,isMobileMode:D,onItemToggle:P}))));return a.popup?s.createElement(i.Portal,{element:_,appendTo:a.appendTo}):_})));M.displayName="TieredMenu",exports.TieredMenu=M;
@@ -30,6 +30,15 @@ export interface TieredMenuProps extends Omit<React.DetailedHTMLProps<React.HTML
30
30
  * @defaultValue true
31
31
  */
32
32
  autoZIndex?: boolean | undefined;
33
+ /**
34
+ * The breakpoint to define the maximum width boundary when responsiveness is enabled.
35
+ */
36
+ breakpoint?: string | undefined;
37
+ /**
38
+ * Maximum height of the options panel on responsive mode.
39
+ * @defaultValue 400px
40
+ */
41
+ scrollHeight?: string | undefined;
33
42
  /**
34
43
  * Whether to automatically manage layering.
35
44
  * @defaultValue 0