primereact 10.9.1 → 10.9.2

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 (178) hide show
  1. package/autocomplete/autocomplete.cjs.js +4 -4
  2. package/autocomplete/autocomplete.cjs.min.js +1 -1
  3. package/autocomplete/autocomplete.d.ts +2 -2
  4. package/autocomplete/autocomplete.esm.js +4 -4
  5. package/autocomplete/autocomplete.esm.min.js +1 -1
  6. package/autocomplete/autocomplete.js +4 -4
  7. package/autocomplete/autocomplete.min.js +1 -1
  8. package/breadcrumb/breadcrumb.cjs.js +1 -1
  9. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  10. package/breadcrumb/breadcrumb.esm.js +1 -1
  11. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  12. package/breadcrumb/breadcrumb.js +1 -1
  13. package/breadcrumb/breadcrumb.min.js +1 -1
  14. package/calendar/calendar.cjs.js +35 -20
  15. package/calendar/calendar.cjs.min.js +1 -1
  16. package/calendar/calendar.d.ts +15 -61
  17. package/calendar/calendar.esm.js +35 -20
  18. package/calendar/calendar.esm.min.js +1 -1
  19. package/calendar/calendar.js +35 -20
  20. package/calendar/calendar.min.js +1 -1
  21. package/componentbase/componentbase.cjs.js +1 -1
  22. package/componentbase/componentbase.cjs.min.js +1 -1
  23. package/componentbase/componentbase.esm.js +1 -1
  24. package/componentbase/componentbase.esm.min.js +1 -1
  25. package/componentbase/componentbase.js +1 -1
  26. package/componentbase/componentbase.min.js +1 -1
  27. package/contextmenu/contextmenu.cjs.js +0 -1
  28. package/contextmenu/contextmenu.cjs.min.js +1 -1
  29. package/contextmenu/contextmenu.esm.js +0 -1
  30. package/contextmenu/contextmenu.esm.min.js +1 -1
  31. package/contextmenu/contextmenu.js +0 -1
  32. package/contextmenu/contextmenu.min.js +1 -1
  33. package/core/core.js +103 -73
  34. package/core/core.min.js +6 -6
  35. package/datatable/datatable.cjs.js +15 -7
  36. package/datatable/datatable.cjs.min.js +1 -1
  37. package/datatable/datatable.esm.js +15 -7
  38. package/datatable/datatable.esm.min.js +1 -1
  39. package/datatable/datatable.js +15 -7
  40. package/datatable/datatable.min.js +1 -1
  41. package/dataview/dataview.cjs.js +6 -2
  42. package/dataview/dataview.cjs.min.js +1 -1
  43. package/dataview/dataview.esm.js +6 -2
  44. package/dataview/dataview.esm.min.js +1 -1
  45. package/dataview/dataview.js +7 -3
  46. package/dataview/dataview.min.js +1 -1
  47. package/dock/dock.cjs.js +0 -1
  48. package/dock/dock.cjs.min.js +1 -1
  49. package/dock/dock.esm.js +0 -1
  50. package/dock/dock.esm.min.js +1 -1
  51. package/dock/dock.js +0 -1
  52. package/dock/dock.min.js +1 -1
  53. package/dropdown/dropdown.cjs.js +24 -22
  54. package/dropdown/dropdown.cjs.min.js +1 -1
  55. package/dropdown/dropdown.d.ts +5 -0
  56. package/dropdown/dropdown.esm.js +25 -23
  57. package/dropdown/dropdown.esm.min.js +1 -1
  58. package/dropdown/dropdown.js +24 -22
  59. package/dropdown/dropdown.min.js +1 -1
  60. package/inputtextarea/inputtextarea.cjs.js +1 -1
  61. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  62. package/inputtextarea/inputtextarea.esm.js +1 -1
  63. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  64. package/inputtextarea/inputtextarea.js +1 -1
  65. package/inputtextarea/inputtextarea.min.js +1 -1
  66. package/megamenu/megamenu.cjs.js +1 -2
  67. package/megamenu/megamenu.cjs.min.js +1 -1
  68. package/megamenu/megamenu.esm.js +1 -2
  69. package/megamenu/megamenu.esm.min.js +1 -1
  70. package/megamenu/megamenu.js +1 -2
  71. package/megamenu/megamenu.min.js +1 -1
  72. package/mention/mention.cjs.js +1 -1
  73. package/mention/mention.cjs.min.js +1 -1
  74. package/mention/mention.esm.js +1 -1
  75. package/mention/mention.esm.min.js +1 -1
  76. package/mention/mention.js +1 -1
  77. package/mention/mention.min.js +1 -1
  78. package/menu/menu.cjs.js +0 -1
  79. package/menu/menu.cjs.min.js +1 -1
  80. package/menu/menu.esm.js +0 -1
  81. package/menu/menu.esm.min.js +1 -1
  82. package/menu/menu.js +0 -1
  83. package/menu/menu.min.js +1 -1
  84. package/menubar/menubar.cjs.js +0 -1
  85. package/menubar/menubar.cjs.min.js +1 -1
  86. package/menubar/menubar.esm.js +0 -1
  87. package/menubar/menubar.esm.min.js +1 -1
  88. package/menubar/menubar.js +0 -1
  89. package/menubar/menubar.min.js +1 -1
  90. package/multiselect/multiselect.cjs.js +24 -22
  91. package/multiselect/multiselect.cjs.min.js +1 -1
  92. package/multiselect/multiselect.d.ts +6 -1
  93. package/multiselect/multiselect.esm.js +25 -23
  94. package/multiselect/multiselect.esm.min.js +1 -1
  95. package/multiselect/multiselect.js +24 -22
  96. package/multiselect/multiselect.min.js +1 -1
  97. package/package.json +1 -1
  98. package/panelmenu/panelmenu.cjs.js +1 -2
  99. package/panelmenu/panelmenu.cjs.min.js +1 -1
  100. package/panelmenu/panelmenu.esm.js +1 -2
  101. package/panelmenu/panelmenu.esm.min.js +1 -1
  102. package/panelmenu/panelmenu.js +1 -2
  103. package/panelmenu/panelmenu.min.js +1 -1
  104. package/passthrough/tailwind/index.cjs.js +1 -1
  105. package/passthrough/tailwind/index.cjs.min.js +1 -1
  106. package/passthrough/tailwind/index.esm.js +1 -1
  107. package/passthrough/tailwind/index.esm.min.js +1 -1
  108. package/passthrough/tailwind/index.js +1 -1
  109. package/passthrough/tailwind/index.min.js +1 -1
  110. package/picklist/picklist.cjs.js +19 -6
  111. package/picklist/picklist.cjs.min.js +1 -1
  112. package/picklist/picklist.esm.js +19 -6
  113. package/picklist/picklist.esm.min.js +1 -1
  114. package/picklist/picklist.js +19 -6
  115. package/picklist/picklist.min.js +1 -1
  116. package/primereact.all.cjs.js +221 -139
  117. package/primereact.all.cjs.min.js +1 -1
  118. package/primereact.all.esm.js +221 -139
  119. package/primereact.all.esm.min.js +1 -1
  120. package/primereact.all.js +221 -139
  121. package/primereact.all.min.js +1 -1
  122. package/splitbutton/splitbutton.cjs.js +0 -1
  123. package/splitbutton/splitbutton.cjs.min.js +1 -1
  124. package/splitbutton/splitbutton.esm.js +0 -1
  125. package/splitbutton/splitbutton.esm.min.js +1 -1
  126. package/splitbutton/splitbutton.js +0 -1
  127. package/splitbutton/splitbutton.min.js +1 -1
  128. package/tieredmenu/tieredmenu.cjs.js +0 -1
  129. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  130. package/tieredmenu/tieredmenu.esm.js +0 -1
  131. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  132. package/tieredmenu/tieredmenu.js +0 -1
  133. package/tieredmenu/tieredmenu.min.js +1 -1
  134. package/togglebutton/togglebutton.cjs.js +4 -4
  135. package/togglebutton/togglebutton.cjs.min.js +1 -1
  136. package/togglebutton/togglebutton.esm.js +4 -4
  137. package/togglebutton/togglebutton.esm.min.js +1 -1
  138. package/togglebutton/togglebutton.js +4 -4
  139. package/togglebutton/togglebutton.min.js +1 -1
  140. package/tooltip/tooltip.cjs.js +7 -2
  141. package/tooltip/tooltip.cjs.min.js +1 -1
  142. package/tooltip/tooltip.esm.js +7 -2
  143. package/tooltip/tooltip.esm.min.js +1 -1
  144. package/tooltip/tooltip.js +7 -2
  145. package/tooltip/tooltip.min.js +1 -1
  146. package/tree/tree.cjs.js +37 -38
  147. package/tree/tree.cjs.min.js +1 -1
  148. package/tree/tree.d.ts +11 -1
  149. package/tree/tree.esm.js +38 -39
  150. package/tree/tree.esm.min.js +1 -1
  151. package/tree/tree.js +38 -39
  152. package/tree/tree.min.js +1 -1
  153. package/treeselect/treeselect.cjs.js +10 -6
  154. package/treeselect/treeselect.cjs.min.js +1 -1
  155. package/treeselect/treeselect.d.ts +6 -1
  156. package/treeselect/treeselect.esm.js +11 -7
  157. package/treeselect/treeselect.esm.min.js +1 -1
  158. package/treeselect/treeselect.js +10 -6
  159. package/treeselect/treeselect.min.js +1 -1
  160. package/treetable/treetable.cjs.js +223 -223
  161. package/treetable/treetable.cjs.min.js +1 -1
  162. package/treetable/treetable.esm.js +224 -224
  163. package/treetable/treetable.esm.min.js +1 -1
  164. package/treetable/treetable.js +224 -224
  165. package/treetable/treetable.min.js +1 -1
  166. package/utils/utils.cjs.js +31 -7
  167. package/utils/utils.cjs.min.js +1 -1
  168. package/utils/utils.esm.js +31 -7
  169. package/utils/utils.esm.min.js +1 -1
  170. package/utils/utils.js +31 -7
  171. package/utils/utils.min.js +1 -1
  172. package/virtualscroller/virtualscroller.cjs.js +2 -2
  173. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  174. package/virtualscroller/virtualscroller.esm.js +2 -2
  175. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  176. package/virtualscroller/virtualscroller.js +2 -2
  177. package/virtualscroller/virtualscroller.min.js +1 -1
  178. package/web-types.json +996 -51
package/core/core.js CHANGED
@@ -773,34 +773,58 @@ this.primereact.utils = (function (exports, React) {
773
773
  var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
774
774
  return element.parentNode === null ? parents : this.getParents(element.parentNode, parents.concat([element.parentNode]));
775
775
  }
776
+
777
+ /**
778
+ * Gets all scrollable parent elements of a given element
779
+ * @param {HTMLElement} element - The element to find scrollable parents for
780
+ * @param {boolean} hideOverlaysOnDocumentScrolling - Whether to include window/document level scrolling
781
+ * @returns {Array} Array of scrollable parent elements
782
+ */
776
783
  }, {
777
784
  key: "getScrollableParents",
778
785
  value: function getScrollableParents(element) {
779
786
  var hideOverlaysOnDocumentScrolling = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
780
787
  var scrollableParents = [];
781
788
  if (element) {
789
+ // Get all parent elements
782
790
  var parents = this.getParents(element);
791
+ // Regex to match auto or scroll overflow values
783
792
  var overflowRegex = /(auto|scroll)/;
793
+
794
+ /**
795
+ * Checks if an element has overflow scroll/auto in any direction
796
+ * @param {HTMLElement} node - Element to check
797
+ * @returns {boolean} True if element has overflow scroll/auto
798
+ */
784
799
  var overflowCheck = function overflowCheck(node) {
785
800
  var styleDeclaration = node ? getComputedStyle(node) : null;
786
801
  return styleDeclaration && (overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflow-x')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflow-y')));
787
802
  };
803
+
804
+ /**
805
+ * Adds a scrollable parent element to the collection
806
+ * @param {HTMLElement} node - Element to add
807
+ */
788
808
  var addScrollableParent = function addScrollableParent(node) {
789
809
  if (hideOverlaysOnDocumentScrolling) {
790
- // nodeType 9 is for document element
810
+ // For document/body/html elements, add window instead
791
811
  scrollableParents.push(node.nodeName === 'BODY' || node.nodeName === 'HTML' || node.nodeType === 9 ? window : node);
792
- } else {
793
- scrollableParents.push(node);
794
812
  }
795
813
  };
814
+
815
+ // Iterate through all parent elements
796
816
  var _iterator = _createForOfIteratorHelper$1(parents),
797
817
  _step;
798
818
  try {
799
819
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
820
+ var _parent$dataset;
800
821
  var parent = _step.value;
801
- var scrollSelectors = parent.nodeType === 1 && parent.dataset.scrollselectors;
822
+ // Check for custom scroll selectors in data attribute
823
+ var scrollSelectors = parent.nodeType === 1 && ((_parent$dataset = parent.dataset) === null || _parent$dataset === void 0 ? void 0 : _parent$dataset.scrollselectors);
802
824
  if (scrollSelectors) {
803
825
  var selectors = scrollSelectors.split(',');
826
+
827
+ // Check each selector
804
828
  var _iterator2 = _createForOfIteratorHelper$1(selectors),
805
829
  _step2;
806
830
  try {
@@ -818,7 +842,7 @@ this.primereact.utils = (function (exports, React) {
818
842
  }
819
843
  }
820
844
 
821
- // BODY
845
+ // Check if the parent itself is scrollable
822
846
  if (parent.nodeType === 1 && overflowCheck(parent)) {
823
847
  addScrollableParent(parent);
824
848
  }
@@ -830,11 +854,11 @@ this.primereact.utils = (function (exports, React) {
830
854
  }
831
855
  }
832
856
 
833
- // we should always at least have the body or window
857
+ // Ensure window/body is always included as fallback
834
858
  if (!scrollableParents.some(function (node) {
835
859
  return node === document.body || node === window;
836
860
  })) {
837
- scrollableParents.push(window);
861
+ scrollableParents.push(hideOverlaysOnDocumentScrolling ? window : document.body);
838
862
  }
839
863
  return scrollableParents;
840
864
  }
@@ -3863,7 +3887,7 @@ this.primereact.componentbase = (function (exports, PrimeReact, hooks, utils) {
3863
3887
 
3864
3888
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3865
3889
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3866
- var baseStyle = "\n.p-hidden-accessible {\n position: absolute;\n pointer-events: none;\n opacity: 0;\n white-space: nowrap;\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: var(--scrollbar-width);\n}\n";
3890
+ var baseStyle = "\n.p-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n opacity: 0;\n overflow: hidden;\n padding: 0;\n pointer-events: none;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: var(--scrollbar-width);\n}\n";
3867
3891
  var buttonStyles = "\n.p-button {\n margin: 0;\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n vertical-align: bottom;\n text-align: center;\n overflow: hidden;\n position: relative;\n}\n\n.p-button-label {\n flex: 1 1 auto;\n}\n\n.p-button-icon-right {\n order: 1;\n}\n\n.p-button:disabled {\n cursor: default;\n}\n\n.p-button-icon-only {\n justify-content: center;\n}\n\n.p-button-icon-only .p-button-label {\n visibility: hidden;\n width: 0;\n flex: 0 0 auto;\n}\n\n.p-button-vertical {\n flex-direction: column;\n}\n\n.p-button-icon-bottom {\n order: 2;\n}\n\n.p-button-group .p-button {\n margin: 0;\n}\n\n.p-button-group .p-button:not(:last-child) {\n border-right: 0 none;\n}\n\n.p-button-group .p-button:not(:first-of-type):not(:last-of-type) {\n border-radius: 0;\n}\n\n.p-button-group .p-button:first-of-type {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.p-button-group .p-button:last-of-type {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.p-button-group .p-button:focus {\n position: relative;\n z-index: 1;\n}\n";
3868
3892
  var inputTextStyles = "\n.p-inputtext {\n margin: 0;\n}\n\n.p-fluid .p-inputtext {\n width: 100%;\n}\n\n/* InputGroup */\n.p-inputgroup {\n display: flex;\n align-items: stretch;\n width: 100%;\n}\n\n.p-inputgroup-addon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-inputgroup .p-float-label {\n display: flex;\n align-items: stretch;\n width: 100%;\n}\n\n.p-inputgroup .p-inputtext,\n.p-fluid .p-inputgroup .p-inputtext,\n.p-inputgroup .p-inputwrapper,\n.p-fluid .p-inputgroup .p-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n/* Floating Label */\n.p-float-label {\n display: block;\n position: relative;\n}\n\n.p-float-label label {\n position: absolute;\n pointer-events: none;\n top: 50%;\n margin-top: -0.5rem;\n transition-property: all;\n transition-timing-function: ease;\n line-height: 1;\n}\n\n.p-float-label textarea ~ label,\n.p-float-label .p-mention ~ label {\n top: 1rem;\n}\n\n.p-float-label input:focus ~ label,\n.p-float-label input:-webkit-autofill ~ label,\n.p-float-label input.p-filled ~ label,\n.p-float-label textarea:focus ~ label,\n.p-float-label textarea.p-filled ~ label,\n.p-float-label .p-inputwrapper-focus ~ label,\n.p-float-label .p-inputwrapper-filled ~ label,\n.p-float-label .p-tooltip-target-wrapper ~ label {\n top: -0.75rem;\n font-size: 12px;\n}\n\n.p-float-label .p-placeholder,\n.p-float-label input::placeholder,\n.p-float-label .p-inputtext::placeholder {\n opacity: 0;\n transition-property: all;\n transition-timing-function: ease;\n}\n\n.p-float-label .p-focus .p-placeholder,\n.p-float-label input:focus::placeholder,\n.p-float-label .p-inputtext:focus::placeholder {\n opacity: 1;\n transition-property: all;\n transition-timing-function: ease;\n}\n\n.p-input-icon-left,\n.p-input-icon-right {\n position: relative;\n display: inline-block;\n}\n\n.p-input-icon-left > i,\n.p-input-icon-right > i,\n.p-input-icon-left > svg,\n.p-input-icon-right > svg,\n.p-input-icon-left > .p-input-prefix,\n.p-input-icon-right > .p-input-suffix {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n\n.p-fluid .p-input-icon-left,\n.p-fluid .p-input-icon-right {\n display: block;\n width: 100%;\n}\n";
3869
3893
  var iconStyles = "\n.p-icon {\n display: inline-block;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\nsvg.p-icon {\n pointer-events: auto;\n}\n\nsvg.p-icon g,\n.p-disabled svg.p-icon {\n pointer-events: none;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n";
@@ -9545,8 +9569,9 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, componentbase,
9545
9569
  var hide = function hide(e) {
9546
9570
  if (e && e.type === 'blur') setMultipleFocusEvents(false);
9547
9571
  clearTimeouts();
9572
+ var success = true;
9548
9573
  if (visibleState) {
9549
- var success = sendCallback(props.onBeforeHide, {
9574
+ success = sendCallback(props.onBeforeHide, {
9550
9575
  originalEvent: e,
9551
9576
  target: currentTargetRef.current
9552
9577
  });
@@ -9557,7 +9582,6 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, componentbase,
9557
9582
  }
9558
9583
  utils.ZIndexUtils.clear(elementRef.current);
9559
9584
  utils.DomHandler.removeClass(elementRef.current, 'p-tooltip-active');
9560
- setVisibleState(false);
9561
9585
  sendCallback(props.onHide, {
9562
9586
  originalEvent: e,
9563
9587
  target: currentTargetRef.current
@@ -9565,6 +9589,11 @@ this.primereact.tooltip = (function (exports, React, PrimeReact, componentbase,
9565
9589
  });
9566
9590
  }
9567
9591
  }
9592
+
9593
+ // handles the case when visibleState change from mouseenter was queued and mouseleave handler was called earlier than queued re-render
9594
+ if (success) {
9595
+ setVisibleState(false);
9596
+ }
9568
9597
  };
9569
9598
  var align = function align(target, coordinate, position) {
9570
9599
  var left = 0;
@@ -10670,7 +10699,7 @@ this.primereact.virtualscroller = (function (exports, React, api, hooks, spinner
10670
10699
  }
10671
10700
  };
10672
10701
  var init = function init() {
10673
- if (!props.disabled && isVisible(elementRef.current)) {
10702
+ if (!props.disabled && utils.DomHandler.isVisible(elementRef.current)) {
10674
10703
  setSize();
10675
10704
  calculateOptions();
10676
10705
  setSpacerSize();
@@ -10684,7 +10713,7 @@ this.primereact.virtualscroller = (function (exports, React, api, hooks, spinner
10684
10713
  return false;
10685
10714
  };
10686
10715
  React__namespace.useEffect(function () {
10687
- if (!viewInitialized.current && isVisible(elementRef.current)) {
10716
+ if (!viewInitialized.current && isVisible()) {
10688
10717
  viewInit();
10689
10718
  viewInitialized.current = true;
10690
10719
  }
@@ -14142,6 +14171,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
14142
14171
  filter: false,
14143
14172
  filterBy: null,
14144
14173
  filterClearIcon: null,
14174
+ filterDelay: 300,
14145
14175
  filterIcon: null,
14146
14176
  filterInputAutoFocus: false,
14147
14177
  filterLocale: undefined,
@@ -14597,22 +14627,23 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
14597
14627
  var mergeProps = hooks.useMergeProps();
14598
14628
  var context = React__namespace.useContext(PrimeReact.PrimeReactContext);
14599
14629
  var props = DropdownBase.getProps(inProps, context);
14600
- var _React$useState = React__namespace.useState(''),
14630
+ var _useDebounce = hooks.useDebounce('', props.filterDelay || 0),
14631
+ _useDebounce2 = _slicedToArray(_useDebounce, 3),
14632
+ filterValue = _useDebounce2[0],
14633
+ filterState = _useDebounce2[1],
14634
+ setFilterState = _useDebounce2[2];
14635
+ var _React$useState = React__namespace.useState(false),
14601
14636
  _React$useState2 = _slicedToArray(_React$useState, 2),
14602
- filterState = _React$useState2[0],
14603
- setFilterState = _React$useState2[1];
14604
- var _React$useState3 = React__namespace.useState(false),
14637
+ focusedState = _React$useState2[0],
14638
+ setFocusedState = _React$useState2[1];
14639
+ var _React$useState3 = React__namespace.useState(-1),
14605
14640
  _React$useState4 = _slicedToArray(_React$useState3, 2),
14606
- focusedState = _React$useState4[0],
14607
- setFocusedState = _React$useState4[1];
14608
- var _React$useState5 = React__namespace.useState(-1),
14641
+ focusedOptionIndex = _React$useState4[0],
14642
+ setFocusedOptionIndex = _React$useState4[1];
14643
+ var _React$useState5 = React__namespace.useState(false),
14609
14644
  _React$useState6 = _slicedToArray(_React$useState5, 2),
14610
- focusedOptionIndex = _React$useState6[0],
14611
- setFocusedOptionIndex = _React$useState6[1];
14612
- var _React$useState7 = React__namespace.useState(false),
14613
- _React$useState8 = _slicedToArray(_React$useState7, 2),
14614
- overlayVisibleState = _React$useState8[0],
14615
- setOverlayVisibleState = _React$useState8[1];
14645
+ overlayVisibleState = _React$useState6[0],
14646
+ setOverlayVisibleState = _React$useState6[1];
14616
14647
  var clickedRef = React__namespace.useRef(false);
14617
14648
  var elementRef = React__namespace.useRef(null);
14618
14649
  var overlayRef = React__namespace.useRef(null);
@@ -14673,7 +14704,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
14673
14704
  var getVisibleOptions = function getVisibleOptions() {
14674
14705
  var options = props.optionGroupLabel ? flatOptions(props.options) : props.options;
14675
14706
  if (hasFilter && !isLazy) {
14676
- var filterValue = filterState.trim().toLocaleLowerCase(props.filterLocale);
14707
+ var _filterValue = filterState.trim().toLocaleLowerCase(props.filterLocale);
14677
14708
  var searchFields = props.filterBy ? props.filterBy.split(',') : [props.optionLabel || 'label'];
14678
14709
  if (props.optionGroupLabel) {
14679
14710
  var filteredGroups = [];
@@ -14682,7 +14713,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
14682
14713
  try {
14683
14714
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
14684
14715
  var optgroup = _step.value;
14685
- var filteredSubOptions = PrimeReact.FilterService.filter(getOptionGroupChildren(optgroup), searchFields, filterValue, props.filterMatchMode, props.filterLocale);
14716
+ var filteredSubOptions = PrimeReact.FilterService.filter(getOptionGroupChildren(optgroup), searchFields, _filterValue, props.filterMatchMode, props.filterLocale);
14686
14717
  if (filteredSubOptions && filteredSubOptions.length) {
14687
14718
  filteredGroups.push(_objectSpread(_objectSpread({}, optgroup), _defineProperty({}, "".concat(props.optionGroupChildren), filteredSubOptions)));
14688
14719
  }
@@ -14694,7 +14725,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
14694
14725
  }
14695
14726
  return flatOptions(filteredGroups);
14696
14727
  }
14697
- return PrimeReact.FilterService.filter(options, searchFields, filterValue, props.filterMatchMode, props.filterLocale);
14728
+ return PrimeReact.FilterService.filter(options, searchFields, _filterValue, props.filterMatchMode, props.filterLocale);
14698
14729
  }
14699
14730
  return options;
14700
14731
  };
@@ -14777,7 +14808,6 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
14777
14808
  event.preventDefault();
14778
14809
  return;
14779
14810
  }
14780
- var metaKey = event.metaKey || event.ctrlKey;
14781
14811
  var code = utils.DomHandler.isAndroid() ? event.key : event.code;
14782
14812
  switch (code) {
14783
14813
  case 'ArrowDown':
@@ -14823,6 +14853,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
14823
14853
  //NOOP
14824
14854
  break;
14825
14855
  default:
14856
+ var metaKey = event.metaKey || event.ctrlKey || event.altKey;
14857
+
14858
+ // Only handle printable characters when no meta keys are pressed
14826
14859
  if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
14827
14860
  !overlayVisibleState && !props.editable && show();
14828
14861
  !props.editable && searchOptions(event, event.key);
@@ -15141,6 +15174,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
15141
15174
  resetFilter();
15142
15175
  }
15143
15176
  updateEditableLabel();
15177
+ setFocusedOptionIndex(-1);
15144
15178
  };
15145
15179
  var selectItem = function selectItem(event) {
15146
15180
  if (selectedOption !== event.option) {
@@ -15401,8 +15435,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
15401
15435
  required: props.required,
15402
15436
  defaultValue: option.value,
15403
15437
  name: props.name,
15404
- tabIndex: -1,
15405
- 'aria-hidden': 'true'
15438
+ tabIndex: -1
15406
15439
  }, ptm('select'));
15407
15440
  var optionProps = mergeProps({
15408
15441
  value: option.value
@@ -15559,7 +15592,6 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
15559
15592
  var firstHiddenFocusableElementProps = mergeProps({
15560
15593
  ref: firstHiddenFocusableElementOnOverlay,
15561
15594
  role: 'presentation',
15562
- 'aria-hidden': 'true',
15563
15595
  className: 'p-hidden-accessible p-hidden-focusable',
15564
15596
  tabIndex: '0',
15565
15597
  onFocus: onFirstHiddenFocus,
@@ -15569,7 +15601,6 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
15569
15601
  var lastHiddenFocusableElementProps = mergeProps({
15570
15602
  ref: lastHiddenFocusableElementOnOverlay,
15571
15603
  role: 'presentation',
15572
- 'aria-hidden': 'true',
15573
15604
  className: 'p-hidden-accessible p-hidden-focusable',
15574
15605
  tabIndex: '0',
15575
15606
  onFocus: onLastHiddenFocus,
@@ -15584,7 +15615,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
15584
15615
  }, props, {
15585
15616
  appendTo: appendTo,
15586
15617
  cx: cx,
15587
- filterValue: filterState,
15618
+ filterValue: filterValue,
15588
15619
  focusedOptionIndex: focusedOptionIndex,
15589
15620
  getOptionGroupChildren: getOptionGroupChildren,
15590
15621
  getOptionGroupLabel: getOptionGroupLabel,
@@ -17900,7 +17931,7 @@ this.primereact.paginator = (function (exports, React, api, componentbase, hooks
17900
17931
  })({}, React, primereact.api, primereact.componentbase, primereact.hooks, primereact.utils, primereact.icons.angledoubleleft, primereact.ripple, primereact.inputnumber, primereact.icons.angledoubleright, primereact.icons.angleright, primereact.icons.angleleft, primereact.dropdown);
17901
17932
 
17902
17933
  this.primereact = this.primereact || {};
17903
- this.primereact.tree = (function (exports, React, api, componentbase, hooks, search, spinner, utils, check, chevrondown, chevronright, minus, ripple, tooltip) {
17934
+ this.primereact.tree = (function (exports, React, api, componentbase, hooks, search, spinner, utils, check, tooltip, chevrondown, chevronright, minus, ripple) {
17904
17935
  'use strict';
17905
17936
 
17906
17937
  function _interopNamespace(e) {
@@ -18050,19 +18081,6 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
18050
18081
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$2(arr, i) || _nonIterableRest();
18051
18082
  }
18052
18083
 
18053
- /* eslint-disable */
18054
- var useUpdateEffect = function useUpdateEffect(fn, deps) {
18055
- var mounted = React__namespace.useRef(false);
18056
- return React__namespace.useEffect(function () {
18057
- if (!mounted.current) {
18058
- mounted.current = true;
18059
- return;
18060
- }
18061
- return fn && fn();
18062
- }, deps);
18063
- };
18064
- /* eslint-enable */
18065
-
18066
18084
  var classes$1 = {
18067
18085
  root: function root(_ref) {
18068
18086
  var props = _ref.props;
@@ -18079,9 +18097,9 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
18079
18097
  searchIcon: 'p-tree-filter-icon',
18080
18098
  container: 'p-tree-container',
18081
18099
  node: function node(_ref2) {
18082
- var isLeaf = _ref2.isLeaf;
18100
+ var leaf = _ref2.leaf;
18083
18101
  return utils.classNames('p-treenode', {
18084
- 'p-treenode-leaf': isLeaf
18102
+ 'p-treenode-leaf': leaf
18085
18103
  });
18086
18104
  },
18087
18105
  content: function content(_ref3) {
@@ -18134,6 +18152,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
18134
18152
  expandedKeys: null,
18135
18153
  filter: false,
18136
18154
  filterBy: 'label',
18155
+ filterDelay: 300,
18137
18156
  filterIcon: null,
18138
18157
  filterLocale: undefined,
18139
18158
  filterMode: 'lenient',
@@ -18405,7 +18424,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
18405
18424
  var mergeProps = hooks.useMergeProps();
18406
18425
  var isLeaf = props.isNodeLeaf(props.node);
18407
18426
  var label = props.node.label;
18408
- var expanded = (props.expandedKeys ? props.expandedKeys[props.node.key] !== undefined : false) || props.node.expanded;
18427
+ var expanded = props.expandedKeys ? props.expandedKeys[props.node.key] !== undefined : false;
18409
18428
  var ptm = props.ptm,
18410
18429
  cx = props.cx;
18411
18430
  var getPTOptions = function getPTOptions(key) {
@@ -18415,7 +18434,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
18415
18434
  selected: !isCheckboxSelectionMode() ? isSelected() : false,
18416
18435
  expanded: expanded || false,
18417
18436
  checked: isCheckboxSelectionMode() ? isChecked() : false,
18418
- isLeaf: isLeaf
18437
+ leaf: isLeaf
18419
18438
  }
18420
18439
  });
18421
18440
  };
@@ -19174,7 +19193,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19174
19193
  var nodeProps = mergeProps({
19175
19194
  ref: elementRef,
19176
19195
  className: utils.classNames(props.node.className, cx('node', {
19177
- isLeaf: isLeaf
19196
+ leaf: isLeaf
19178
19197
  })),
19179
19198
  style: props.node.style,
19180
19199
  tabIndex: tabIndex,
@@ -19209,20 +19228,27 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19209
19228
  var mergeProps = hooks.useMergeProps();
19210
19229
  var context = React__namespace.useContext(api.PrimeReactContext);
19211
19230
  var props = TreeBase.getProps(inProps, context);
19212
- var _React$useState = React__namespace.useState(''),
19231
+ var _useDebounce = hooks.useDebounce('', props.filterDelay || 0),
19232
+ _useDebounce2 = _slicedToArray(_useDebounce, 3),
19233
+ filterValue = _useDebounce2[0],
19234
+ filterValueState = _useDebounce2[1],
19235
+ setFilterValueState = _useDebounce2[2];
19236
+ var _React$useState = React__namespace.useState(props.expandedKeys),
19213
19237
  _React$useState2 = _slicedToArray(_React$useState, 2),
19214
- filterValueState = _React$useState2[0],
19215
- setFilterValueState = _React$useState2[1];
19216
- var _React$useState3 = React__namespace.useState(props.expandedKeys),
19238
+ expandedKeysState = _React$useState2[0],
19239
+ setExpandedKeysState = _React$useState2[1];
19240
+ var _React$useState3 = React__namespace.useState({}),
19217
19241
  _React$useState4 = _slicedToArray(_React$useState3, 2),
19218
- expandedKeysState = _React$useState4[0],
19219
- setExpandedKeysState = _React$useState4[1];
19242
+ filterExpandedKeys = _React$useState4[0],
19243
+ setFilterExpandedKeys = _React$useState4[1];
19220
19244
  var elementRef = React__namespace.useRef(null);
19221
19245
  var filteredNodes = React__namespace.useRef([]);
19222
19246
  var dragState = React__namespace.useRef(null);
19223
19247
  var filterChanged = React__namespace.useRef(false);
19224
19248
  var filteredValue = props.onFilterValueChange ? props.filterValue : filterValueState;
19225
- var expandedKeys = props.onToggle ? props.expandedKeys : expandedKeysState;
19249
+ var isFiltering = props.filter && filteredValue;
19250
+ var expandedKeys = isFiltering ? filterExpandedKeys : props.onToggle ? props.expandedKeys : expandedKeysState;
19251
+ var currentFilterExpandedKeys = {};
19226
19252
  var childFocusEvent = React__namespace.useRef(null);
19227
19253
  var _TreeBase$setMetaData = TreeBase.setMetaData({
19228
19254
  props: props,
@@ -19261,10 +19287,14 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19261
19287
  if (navigateFocusToChild) {
19262
19288
  childFocusEvent.current = originalEvent;
19263
19289
  }
19264
- setExpandedKeysState(value);
19290
+ if (isFiltering) {
19291
+ setFilterExpandedKeys(value);
19292
+ } else {
19293
+ setExpandedKeysState(value);
19294
+ }
19265
19295
  }
19266
19296
  };
19267
- useUpdateEffect(function () {
19297
+ hooks.useUpdateEffect(function () {
19268
19298
  if (childFocusEvent.current) {
19269
19299
  var event = childFocusEvent.current;
19270
19300
  var nodeElement = event.target.getAttribute('data-pc-section') === 'toggler' ? event.target.closest('[role="treeitem"]') : event.target;
@@ -19284,6 +19314,10 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19284
19314
  childFocusEvent.current = null;
19285
19315
  }
19286
19316
  }, [expandedKeys]);
19317
+ React__namespace.useEffect(function () {
19318
+ if (props.filter) _filter();
19319
+ // eslint-disable-next-line react-hooks/exhaustive-deps
19320
+ }, [filteredValue, props.value, props.filter]);
19287
19321
  var onDragStart = function onDragStart(event) {
19288
19322
  dragState.current = {
19289
19323
  path: event.path,
@@ -19465,12 +19499,9 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19465
19499
  };
19466
19500
  var filter = function filter(value) {
19467
19501
  setFilterValueState(utils.ObjectUtils.isNotEmpty(value) ? value : '');
19468
- _filter();
19469
19502
  };
19470
19503
  var _filter = function _filter() {
19471
- if (!filterChanged.current) {
19472
- return;
19473
- }
19504
+ if (!filterChanged.current) return;
19474
19505
  if (utils.ObjectUtils.isEmpty(filteredValue)) {
19475
19506
  filteredNodes.current = props.value;
19476
19507
  } else {
@@ -19499,6 +19530,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19499
19530
  _iterator.f();
19500
19531
  }
19501
19532
  }
19533
+ setFilterExpandedKeys(currentFilterExpandedKeys);
19502
19534
  filterChanged.current = false;
19503
19535
  };
19504
19536
  var findFilteredNodes = function findFilteredNodes(node, paramsWithoutNode) {
@@ -19525,7 +19557,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19525
19557
  }
19526
19558
  }
19527
19559
  if (matched) {
19528
- node.expanded = true;
19560
+ currentFilterExpandedKeys[node.key] = true;
19529
19561
  return true;
19530
19562
  }
19531
19563
  }
@@ -19642,10 +19674,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19642
19674
  };
19643
19675
  var createModel = function createModel() {
19644
19676
  if (props.value) {
19645
- if (props.filter) {
19646
- filterChanged.current = true;
19647
- _filter();
19648
- }
19677
+ if (props.filter) filterChanged.current = true;
19649
19678
  var value = getRootNode();
19650
19679
  if (value.length > 0) {
19651
19680
  var rootNodes = createRootChildren(value);
@@ -19676,7 +19705,8 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19676
19705
  };
19677
19706
  var createFilter = function createFilter() {
19678
19707
  if (props.filter) {
19679
- var value = utils.ObjectUtils.isNotEmpty(filteredValue) ? filteredValue : '';
19708
+ var value = props.onFilterValueChange ? props.filterValue : filterValue;
19709
+ value = utils.ObjectUtils.isNotEmpty(value) ? value : '';
19680
19710
  var searchIconProps = mergeProps({
19681
19711
  className: cx('searchIcon')
19682
19712
  }, ptm('searchIcon'));
@@ -19770,7 +19800,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
19770
19800
 
19771
19801
  return exports;
19772
19802
 
19773
- })({}, React, primereact.api, primereact.componentbase, primereact.hooks, primereact.icons.search, primereact.icons.spinner, primereact.utils, primereact.icons.check, primereact.icons.chevrondown, primereact.icons.chevronright, primereact.icons.minus, primereact.ripple, primereact.tooltip);
19803
+ })({}, React, primereact.api, primereact.componentbase, primereact.hooks, primereact.icons.search, primereact.icons.spinner, primereact.utils, primereact.icons.check, primereact.tooltip, primereact.icons.chevrondown, primereact.icons.chevronright, primereact.icons.minus, primereact.ripple);
19774
19804
 
19775
19805
  undefined
19776
19806
  undefined