primereact 8.1.0 → 8.1.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 (57) hide show
  1. package/autocomplete/autocomplete.cjs.js +8 -3
  2. package/autocomplete/autocomplete.cjs.min.js +1 -1
  3. package/autocomplete/autocomplete.esm.js +8 -3
  4. package/autocomplete/autocomplete.esm.min.js +1 -1
  5. package/autocomplete/autocomplete.js +8 -3
  6. package/autocomplete/autocomplete.min.js +1 -1
  7. package/calendar/calendar.cjs.js +1 -1
  8. package/calendar/calendar.cjs.min.js +1 -1
  9. package/calendar/calendar.esm.js +1 -1
  10. package/calendar/calendar.esm.min.js +1 -1
  11. package/calendar/calendar.js +1 -1
  12. package/calendar/calendar.min.js +1 -1
  13. package/core/core.js +54 -4
  14. package/core/core.min.js +3 -3
  15. package/dialog/dialog.cjs.js +5 -1
  16. package/dialog/dialog.cjs.min.js +1 -1
  17. package/dialog/dialog.d.ts +2 -0
  18. package/dialog/dialog.esm.js +5 -1
  19. package/dialog/dialog.esm.min.js +1 -1
  20. package/dialog/dialog.js +5 -1
  21. package/dialog/dialog.min.js +1 -1
  22. package/dropdown/dropdown.cjs.js +1 -1
  23. package/dropdown/dropdown.cjs.min.js +1 -1
  24. package/dropdown/dropdown.esm.js +1 -1
  25. package/dropdown/dropdown.esm.min.js +1 -1
  26. package/dropdown/dropdown.js +1 -1
  27. package/dropdown/dropdown.min.js +1 -1
  28. package/hooks/hooks.cjs.js +48 -2
  29. package/hooks/hooks.cjs.min.js +1 -1
  30. package/hooks/hooks.d.ts +3 -1
  31. package/hooks/hooks.esm.js +47 -3
  32. package/hooks/hooks.esm.min.js +1 -1
  33. package/hooks/hooks.js +48 -2
  34. package/hooks/hooks.min.js +1 -1
  35. package/package.json +1 -1
  36. package/primereact.all.cjs.js +80 -30
  37. package/primereact.all.cjs.min.js +1 -1
  38. package/primereact.all.esm.js +79 -31
  39. package/primereact.all.esm.min.js +1 -1
  40. package/primereact.all.js +80 -30
  41. package/primereact.all.min.js +1 -1
  42. package/resources/primereact.css +113 -113
  43. package/resources/primereact.min.css +1 -1
  44. package/styleclass/styleclass.cjs.js +12 -17
  45. package/styleclass/styleclass.cjs.min.js +1 -1
  46. package/styleclass/styleclass.esm.js +12 -17
  47. package/styleclass/styleclass.esm.min.js +1 -1
  48. package/styleclass/styleclass.js +12 -17
  49. package/styleclass/styleclass.min.js +1 -1
  50. package/treetable/treetable.cjs.js +5 -5
  51. package/treetable/treetable.cjs.min.js +1 -1
  52. package/treetable/treetable.d.ts +1 -1
  53. package/treetable/treetable.esm.js +5 -5
  54. package/treetable/treetable.esm.min.js +1 -1
  55. package/treetable/treetable.js +5 -5
  56. package/treetable/treetable.min.js +1 -1
  57. package/web-types.json +14 -2
@@ -3025,9 +3025,25 @@ var useInterval = function useInterval(fn) {
3025
3025
 
3026
3026
  var useStorage = function useStorage(initialValue, key) {
3027
3027
  var storage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'local';
3028
- // Since the local storage API isn't available in server-rendering environments,
3028
+ // Since the local storage API isn't available in server-rendering environments,
3029
3029
  // we check that typeof window !== 'undefined' to make SSR and SSG work properly.
3030
- var storageAvailable = typeof window !== 'undefined';
3030
+ var storageAvailable = typeof window !== 'undefined'; // subscribe to window storage event so changes in one tab to a stored value
3031
+ // are properly reflected in all tabs
3032
+
3033
+ var _useEventListener = useEventListener({
3034
+ target: 'window',
3035
+ type: 'storage',
3036
+ listener: function listener(event) {
3037
+ var area = storage === 'local' ? window.localStorage : window.sessionStorage;
3038
+
3039
+ if (event.storageArea === area && event.key === key) {
3040
+ setStoredValue(event.newValue || undefined);
3041
+ }
3042
+ }
3043
+ }),
3044
+ _useEventListener2 = _slicedToArray(_useEventListener, 2),
3045
+ bindWindowStorageListener = _useEventListener2[0],
3046
+ unbindWindowStorageListener = _useEventListener2[1];
3031
3047
 
3032
3048
  var _React$useState = React.useState(function () {
3033
3049
  if (!storageAvailable) {
@@ -3061,8 +3077,36 @@ var useStorage = function useStorage(initialValue, key) {
3061
3077
  }
3062
3078
  };
3063
3079
 
3080
+ React.useEffect(function () {
3081
+ bindWindowStorageListener();
3082
+ return function () {
3083
+ return unbindWindowStorageListener();
3084
+ };
3085
+ }, []);
3064
3086
  return [storedValue, setValue];
3065
3087
  };
3088
+ /**
3089
+ * Hook to wrap around useState that stores the value in the browser local storage.
3090
+ *
3091
+ * @param {any} initialValue the initial value to store
3092
+ * @param {string} key the key to store the value in local storage
3093
+ * @returns a stateful value, and a function to update it.
3094
+ */
3095
+
3096
+ var useLocalStorage = function useLocalStorage(initialValue, key) {
3097
+ return useStorage(initialValue, key, 'local');
3098
+ };
3099
+ /**
3100
+ * Hook to wrap around useState that stores the value in the browser session storage.
3101
+ *
3102
+ * @param {any} initialValue the initial value to store
3103
+ * @param {string} key the key to store the value in session storage
3104
+ * @returns a stateful value, and a function to update it.
3105
+ */
3106
+
3107
+ var useSessionStorage = function useSessionStorage(initialValue, key) {
3108
+ return useStorage(initialValue, key, 'session');
3109
+ };
3066
3110
  /* eslint-enable */
3067
3111
 
3068
3112
  /* eslint-disable */
@@ -5372,7 +5416,8 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5372
5416
 
5373
5417
  var onOverlayEntering = function onOverlayEntering() {
5374
5418
  if (props.autoHighlight && props.suggestions && props.suggestions.length) {
5375
- DomHandler.addClass(overlayRef.current.firstChild.firstChild, 'p-highlight');
5419
+ var element = getScrollableElement().firstChild.firstChild;
5420
+ DomHandler.addClass(element, 'p-highlight');
5376
5421
  }
5377
5422
  };
5378
5423
 
@@ -5445,7 +5490,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5445
5490
  if (nextElement) {
5446
5491
  DomHandler.addClass(nextElement, 'p-highlight');
5447
5492
  DomHandler.removeClass(highlightItem, 'p-highlight');
5448
- DomHandler.scrollInView(overlayRef.current, nextElement);
5493
+ DomHandler.scrollInView(getScrollableElement(), nextElement);
5449
5494
  }
5450
5495
  } else {
5451
5496
  highlightItem = DomHandler.findSingle(overlayRef.current, 'li');
@@ -5470,7 +5515,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5470
5515
  if (previousElement) {
5471
5516
  DomHandler.addClass(previousElement, 'p-highlight');
5472
5517
  DomHandler.removeClass(highlightItem, 'p-highlight');
5473
- DomHandler.scrollInView(overlayRef.current, previousElement);
5518
+ DomHandler.scrollInView(getScrollableElement(), previousElement);
5474
5519
  }
5475
5520
  }
5476
5521
 
@@ -5603,6 +5648,10 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5603
5648
  }) : -1;
5604
5649
  };
5605
5650
 
5651
+ var getScrollableElement = function getScrollableElement() {
5652
+ return virtualScrollerRef.current ? overlayRef.current.firstChild : overlayRef.current;
5653
+ };
5654
+
5606
5655
  var getOptionGroupLabel = function getOptionGroupLabel(optionGroup) {
5607
5656
  return props.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, props.optionGroupLabel) : optionGroup;
5608
5657
  };
@@ -9407,7 +9456,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9407
9456
  onExit: onOverlayExit,
9408
9457
  onExited: onOverlayExited,
9409
9458
  transitionOptions: props.transitionOptions
9410
- }, datePicker, timePicker, buttonBar, footer, monthPicker, yearPicker));
9459
+ }, datePicker, timePicker, monthPicker, yearPicker, buttonBar, footer));
9411
9460
  }));
9412
9461
  Calendar.displayName = 'Calendar';
9413
9462
  Calendar.defaultProps = {
@@ -12619,9 +12668,11 @@ var Dialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
12619
12668
  var icons = ObjectUtils.getJSXElement(props.icons, props);
12620
12669
  var header = ObjectUtils.getJSXElement(props.header, props);
12621
12670
  var headerId = idState + '_header';
12671
+ var headerClassName = classNames('p-dialog-header', props.headerClassName);
12622
12672
  return /*#__PURE__*/React.createElement("div", {
12623
12673
  ref: headerRef,
12624
- className: "p-dialog-header",
12674
+ style: props.headerStyle,
12675
+ className: headerClassName,
12625
12676
  onMouseDown: onDragStart
12626
12677
  }, /*#__PURE__*/React.createElement("div", {
12627
12678
  id: headerId,
@@ -12743,6 +12794,8 @@ Dialog.defaultProps = {
12743
12794
  modal: true,
12744
12795
  onHide: null,
12745
12796
  onShow: null,
12797
+ headerStyle: null,
12798
+ headerClassName: null,
12746
12799
  contentStyle: null,
12747
12800
  contentClassName: null,
12748
12801
  closeOnEscape: true,
@@ -16127,7 +16180,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
16127
16180
  if (highlightItem && highlightItem.scrollIntoView) {
16128
16181
  highlightItem.scrollIntoView({
16129
16182
  block: 'nearest',
16130
- inline: 'start'
16183
+ inline: 'nearest'
16131
16184
  });
16132
16185
  }
16133
16186
  };
@@ -35424,8 +35477,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35424
35477
  }
35425
35478
 
35426
35479
  animating.current = false;
35427
- },
35428
- when: false
35480
+ }
35429
35481
  }),
35430
35482
  _useEventListener2 = _slicedToArray(_useEventListener, 2),
35431
35483
  bindTargetEnterListener = _useEventListener2[0],
@@ -35442,8 +35494,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35442
35494
 
35443
35495
  unbindTargetLeaveListener();
35444
35496
  animating.current = false;
35445
- },
35446
- when: false
35497
+ }
35447
35498
  }),
35448
35499
  _useEventListener4 = _slicedToArray(_useEventListener3, 2),
35449
35500
  bindTargetLeaveListener = _useEventListener4[0],
@@ -35458,7 +35509,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35458
35509
  leave();
35459
35510
  }
35460
35511
  },
35461
- when: false
35512
+ when: props.hideOnOutsideClick
35462
35513
  }),
35463
35514
  _useEventListener6 = _slicedToArray(_useEventListener5, 2),
35464
35515
  bindDocumentClickListener = _useEventListener6[0],
@@ -35474,8 +35525,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35474
35525
  } else {
35475
35526
  if (targetRef.current.offsetParent === null) enter();else leave();
35476
35527
  }
35477
- },
35478
- when: false
35528
+ }
35479
35529
  }),
35480
35530
  _useEventListener8 = _slicedToArray(_useEventListener7, 2),
35481
35531
  bindClickListener = _useEventListener8[0],
@@ -35501,8 +35551,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35501
35551
  }
35502
35552
 
35503
35553
  bindTargetEnterListener({
35504
- target: targetRef.current,
35505
- when: true
35554
+ target: targetRef.current
35506
35555
  });
35507
35556
  }
35508
35557
  } else {
@@ -35516,8 +35565,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35516
35565
  }
35517
35566
 
35518
35567
  bindDocumentClickListener({
35519
- target: elementRef.current && elementRef.current.ownerDocument,
35520
- when: props.hideOnOutsideClick
35568
+ target: elementRef.current && elementRef.current.ownerDocument
35521
35569
  });
35522
35570
  };
35523
35571
 
@@ -35532,8 +35580,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35532
35580
  }
35533
35581
 
35534
35582
  bindTargetLeaveListener({
35535
- target: targetRef.current,
35536
- when: true
35583
+ target: targetRef.current
35537
35584
  });
35538
35585
  }
35539
35586
  } else {
@@ -35577,8 +35624,7 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35577
35624
  var init = function init() {
35578
35625
  elementRef.current = ObjectUtils.getRefElement(props.nodeRef);
35579
35626
  bindClickListener({
35580
- target: elementRef.current,
35581
- when: true
35627
+ target: elementRef.current
35582
35628
  });
35583
35629
  };
35584
35630
 
@@ -35600,9 +35646,11 @@ var StyleClass = /*#__PURE__*/React.forwardRef(function (props, ref) {
35600
35646
  init();
35601
35647
  });
35602
35648
  useUpdateEffect(function () {
35603
- destroy();
35604
35649
  init();
35605
- }, [props.nodeRef]);
35650
+ return function () {
35651
+ unbindClickListener();
35652
+ };
35653
+ });
35606
35654
  useUnmountEffect(function () {
35607
35655
  destroy();
35608
35656
  });
@@ -40098,12 +40146,12 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
40098
40146
  }
40099
40147
  };
40100
40148
 
40101
- var getColumnProp = function getColumnProp() {
40102
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
40103
- args[_key] = arguments[_key];
40149
+ var getColumnProp = function getColumnProp(column) {
40150
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
40151
+ args[_key - 1] = arguments[_key];
40104
40152
  }
40105
40153
 
40106
- return props.column ? typeof args[0] === 'string' ? props.column.props[args[0]] : (args[0] || props.column).props[args[1]] : null;
40154
+ return column ? typeof args[0] === 'string' ? column.props[args[0]] : (args[0] || column).props[args[1]] : null;
40107
40155
  };
40108
40156
 
40109
40157
  var createSortIcon = function createSortIcon(column, sorted, sortOrder) {
@@ -40179,7 +40227,7 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
40179
40227
  var className = classNames(column.props.headerClassName || column.props.className, {
40180
40228
  'p-sortable-column': column.props.sortable,
40181
40229
  'p-highlight': sorted,
40182
- 'p-resizable-column': props.resizableColumns && getColumnProp('resizeable')
40230
+ 'p-resizable-column': props.resizableColumns && getColumnProp(column, 'resizeable')
40183
40231
  });
40184
40232
  var resizer = createResizer(column);
40185
40233
  return /*#__PURE__*/React.createElement("th", {
@@ -41722,4 +41770,4 @@ TriStateCheckbox.defaultProps = {
41722
41770
  onChange: null
41723
41771
  };
41724
41772
 
41725
- export { Accordion, AccordionTab, AutoComplete, Avatar, AvatarGroup, Badge, BlockUI, BreadCrumb, Button, CSSTransition, Calendar, Captcha, Card, Carousel, CascadeSelect, Chart, Checkbox, Chip, Chips, ColorPicker, Column, ColumnGroup, ConfirmDialog, ConfirmPopup, ConnectedOverlayScrollHandler, ContextMenu, DataScroller, DataTable, DataView, DataViewItem, DataViewLayoutOptions, DeferredContent, Dialog, Divider, Dock, DomHandler, Dropdown, Editor, EventBus, Fieldset, FileUpload, FilterMatchMode, FilterOperator, FilterService, FullCalendar, GMap, Galleria, IconUtils, Image, Inplace, InplaceContent, InplaceDisplay, InputMask, InputNumber, InputSwitch, InputText, InputTextarea, KeyFilter, Knob, ListBox, MegaMenu, Mention, Menu, Menubar, Message, MessageSeverity, Messages, MultiSelect, MultiStateCheckbox, ObjectUtils, OrderList, OrganizationChart, OverlayPanel, OverlayService, Paginator, Panel, PanelMenu, Password, PickList, Portal, PrimeIcons, ProgressBar, ProgressSpinner, RadioButton, Rating, Ripple, Row, ScrollPanel, ScrollTop, SelectButton, Sidebar, Skeleton, SlideMenu, Slider, SpeedDial, SplitButton, Splitter, SplitterPanel, Steps, StyleClass, TabMenu, TabPanel, TabView, Tag, Terminal, TerminalService, TieredMenu, Timeline, Toast, ToggleButton, Toolbar, Tooltip, Tree, TreeSelect, TreeTable, TriStateCheckbox, UniqueComponentId, VirtualScroller, ZIndexUtils, addLocale, ariaLabel, classNames, confirmDialog, confirmPopup, PrimeReact as default, locale, localeOption, localeOptions, mask, updateLocaleOption, updateLocaleOptions, useEventListener, useInterval, useMountEffect, useOverlayListener, useOverlayScrollListener, usePrevious, useResizeListener, useStorage, useTimeout, useUnmountEffect, useUpdateEffect };
41773
+ export { Accordion, AccordionTab, AutoComplete, Avatar, AvatarGroup, Badge, BlockUI, BreadCrumb, Button, CSSTransition, Calendar, Captcha, Card, Carousel, CascadeSelect, Chart, Checkbox, Chip, Chips, ColorPicker, Column, ColumnGroup, ConfirmDialog, ConfirmPopup, ConnectedOverlayScrollHandler, ContextMenu, DataScroller, DataTable, DataView, DataViewItem, DataViewLayoutOptions, DeferredContent, Dialog, Divider, Dock, DomHandler, Dropdown, Editor, EventBus, Fieldset, FileUpload, FilterMatchMode, FilterOperator, FilterService, FullCalendar, GMap, Galleria, IconUtils, Image, Inplace, InplaceContent, InplaceDisplay, InputMask, InputNumber, InputSwitch, InputText, InputTextarea, KeyFilter, Knob, ListBox, MegaMenu, Mention, Menu, Menubar, Message, MessageSeverity, Messages, MultiSelect, MultiStateCheckbox, ObjectUtils, OrderList, OrganizationChart, OverlayPanel, OverlayService, Paginator, Panel, PanelMenu, Password, PickList, Portal, PrimeIcons, ProgressBar, ProgressSpinner, RadioButton, Rating, Ripple, Row, ScrollPanel, ScrollTop, SelectButton, Sidebar, Skeleton, SlideMenu, Slider, SpeedDial, SplitButton, Splitter, SplitterPanel, Steps, StyleClass, TabMenu, TabPanel, TabView, Tag, Terminal, TerminalService, TieredMenu, Timeline, Toast, ToggleButton, Toolbar, Tooltip, Tree, TreeSelect, TreeTable, TriStateCheckbox, UniqueComponentId, VirtualScroller, ZIndexUtils, addLocale, ariaLabel, classNames, confirmDialog, confirmPopup, PrimeReact as default, locale, localeOption, localeOptions, mask, updateLocaleOption, updateLocaleOptions, useEventListener, useInterval, useLocalStorage, useMountEffect, useOverlayListener, useOverlayScrollListener, usePrevious, useResizeListener, useSessionStorage, useStorage, useTimeout, useUnmountEffect, useUpdateEffect };