@ringcentral/juno 2.4.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/components/Buttons/IconButton/IconButton.d.ts +6 -2
  2. package/components/Buttons/IconButton/IconButton.js +9 -7
  3. package/components/Buttons/IconButton/styles/StyledIconButton.js +15 -7
  4. package/components/Buttons/IconButton/utils/IconButtonUtils.d.ts +1 -1
  5. package/components/Buttons/IconButton/utils/IconButtonUtils.js +9 -1
  6. package/components/Dialer/DialPad/DialPad.d.ts +25 -7
  7. package/components/Dialer/DialPad/DialPad.js +6 -6
  8. package/components/Dialer/DialPad/utils/useDialKeyboard.d.ts +8 -9
  9. package/components/Dialer/DialTextField/DialTextField.d.ts +3 -1
  10. package/components/Dialer/DialTextField/DialTextField.js +7 -6
  11. package/components/Downshift/SuggestionList/SuggestionList.d.ts +74 -2
  12. package/components/Downshift/SuggestionList/SuggestionList.js +4 -1
  13. package/components/Downshift/styles/DownshiftStyle.d.ts +1 -1
  14. package/components/Forms/Picker/DatePicker/styles/StyledDatePickerHeader.d.ts +1 -1
  15. package/components/Forms/Picker/DatePicker/styles/StyledYear.d.ts +1 -1
  16. package/components/Forms/Picker/TimePicker/styles/StyledSelectionItem.d.ts +1 -1
  17. package/components/Forms/Picker/TimePicker/styles/StyledTimeIconButton.d.ts +1 -1
  18. package/components/Forms/Picker/styles/PickerBaseIconButton.d.ts +1 -1
  19. package/components/Forms/TextField/styles/ClearIconButton.d.ts +2 -2
  20. package/components/Grid/Grid.d.ts +1 -1
  21. package/components/Pagination/Pagination/Pagination.d.ts +1 -1
  22. package/components/Stepper/StepButton/StepButton.d.ts +1 -1
  23. package/components/Stepper/StepLabel/StepLabel.d.ts +1 -1
  24. package/components/Table/TableCell/styles/TableCellStyle.js +3 -1
  25. package/components/Table/types.d.ts +1 -1
  26. package/components/TablePagination/TablePagination.d.ts +1 -1
  27. package/components/VirtualizedMenu/VirtualizedMenu.js +11 -0
  28. package/components/VirtualizedMenu/VirtualizedMenuList.js +7 -14
  29. package/components/Virtuoso/react-virtuoso/AATree.js +15 -15
  30. package/components/Virtuoso/react-virtuoso/Grid.d.ts +193 -106
  31. package/components/Virtuoso/react-virtuoso/Grid.js +19 -24
  32. package/components/Virtuoso/react-virtuoso/List.d.ts +2664 -596
  33. package/components/Virtuoso/react-virtuoso/List.js +83 -70
  34. package/components/Virtuoso/react-virtuoso/Table.d.ts +6253 -0
  35. package/components/Virtuoso/react-virtuoso/Table.js +184 -0
  36. package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +153 -37
  37. package/components/Virtuoso/react-virtuoso/components.d.ts +248 -41
  38. package/components/Virtuoso/react-virtuoso/components.js +2 -0
  39. package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +2 -4
  40. package/components/Virtuoso/react-virtuoso/domIOSystem.js +12 -10
  41. package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +146 -27
  42. package/components/Virtuoso/react-virtuoso/followOutputSystem.js +28 -15
  43. package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +67 -52
  44. package/components/Virtuoso/react-virtuoso/gridSystem.js +17 -15
  45. package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +17 -3
  46. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +2 -1
  47. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +32 -7
  48. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +1 -1
  49. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +40 -26
  50. package/components/Virtuoso/react-virtuoso/hooks/useSize.d.ts +2 -2
  51. package/components/Virtuoso/react-virtuoso/hooks/useSize.js +26 -28
  52. package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.d.ts +1 -1
  53. package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +32 -12
  54. package/components/Virtuoso/react-virtuoso/index.d.ts +1 -0
  55. package/components/Virtuoso/react-virtuoso/index.js +2 -0
  56. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +165 -35
  57. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +1 -8
  58. package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +160 -38
  59. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +54 -12
  60. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +26 -10
  61. package/components/Virtuoso/react-virtuoso/interfaces.d.ts +134 -28
  62. package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +141 -32
  63. package/components/Virtuoso/react-virtuoso/listStateSystem.js +1 -2
  64. package/components/Virtuoso/react-virtuoso/listSystem.d.ts +2123 -407
  65. package/components/Virtuoso/react-virtuoso/listSystem.js +10 -7
  66. package/components/Virtuoso/react-virtuoso/loggerSystem.d.ts +17 -0
  67. package/components/Virtuoso/react-virtuoso/loggerSystem.js +37 -0
  68. package/components/Virtuoso/react-virtuoso/propsReadySystem.d.ts +8 -1
  69. package/components/Virtuoso/react-virtuoso/propsReadySystem.js +8 -2
  70. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +641 -0
  71. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +42 -0
  72. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +52 -67
  73. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +11 -25
  74. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +26 -5
  75. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +37 -13
  76. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +11 -4
  77. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +44 -15
  78. package/components/Virtuoso/react-virtuoso/sizeSystem.d.ts +12 -2
  79. package/components/Virtuoso/react-virtuoso/sizeSystem.js +109 -52
  80. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +17 -5
  81. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +87 -18
  82. package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +145 -33
  83. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +149 -35
  84. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +183 -42
  85. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +37 -26
  86. package/components/Virtuoso/react-virtuoso/utils/correctItemSize.d.ts +1 -0
  87. package/components/Virtuoso/react-virtuoso/utils/correctItemSize.js +6 -0
  88. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +7 -4
  89. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +9 -7
  90. package/components/Virtuoso/utils/useHighlightScroll.d.ts +4 -0
  91. package/components/Virtuoso/utils/useHighlightScroll.js +17 -0
  92. package/es6/components/Buttons/IconButton/IconButton.js +11 -9
  93. package/es6/components/Buttons/IconButton/styles/StyledIconButton.js +16 -8
  94. package/es6/components/Buttons/IconButton/utils/IconButtonUtils.js +9 -1
  95. package/es6/components/Dialer/DialPad/DialPad.js +6 -6
  96. package/es6/components/Dialer/DialTextField/DialTextField.js +7 -6
  97. package/es6/components/Downshift/SuggestionList/SuggestionList.js +5 -2
  98. package/es6/components/Table/TableCell/TableCell.js +2 -2
  99. package/es6/components/Table/TableCell/styles/TableCellStyle.js +3 -1
  100. package/es6/components/VirtualizedMenu/VirtualizedMenu.js +13 -2
  101. package/es6/components/VirtualizedMenu/VirtualizedMenuList.js +9 -16
  102. package/es6/components/Virtuoso/react-virtuoso/AATree.js +15 -15
  103. package/es6/components/Virtuoso/react-virtuoso/Grid.js +20 -25
  104. package/es6/components/Virtuoso/react-virtuoso/List.js +84 -72
  105. package/es6/components/Virtuoso/react-virtuoso/Table.js +182 -0
  106. package/es6/components/Virtuoso/react-virtuoso/components.js +2 -0
  107. package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +13 -10
  108. package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +28 -15
  109. package/es6/components/Virtuoso/react-virtuoso/gridSystem.js +17 -15
  110. package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +31 -6
  111. package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +40 -26
  112. package/es6/components/Virtuoso/react-virtuoso/hooks/useSize.js +27 -29
  113. package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +32 -12
  114. package/es6/components/Virtuoso/react-virtuoso/index.js +1 -0
  115. package/es6/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +1 -8
  116. package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +25 -10
  117. package/es6/components/Virtuoso/react-virtuoso/listStateSystem.js +2 -3
  118. package/es6/components/Virtuoso/react-virtuoso/listSystem.js +10 -7
  119. package/es6/components/Virtuoso/react-virtuoso/loggerSystem.js +34 -0
  120. package/es6/components/Virtuoso/react-virtuoso/propsReadySystem.js +9 -2
  121. package/es6/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +40 -0
  122. package/es6/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +11 -25
  123. package/es6/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +37 -13
  124. package/es6/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +39 -11
  125. package/es6/components/Virtuoso/react-virtuoso/sizeSystem.js +109 -52
  126. package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +87 -18
  127. package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +39 -28
  128. package/es6/components/Virtuoso/react-virtuoso/utils/correctItemSize.js +3 -0
  129. package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +9 -7
  130. package/es6/components/Virtuoso/utils/useHighlightScroll.js +16 -0
  131. package/es6/foundation/hooks/useLongPress/useLongPress.js +7 -7
  132. package/es6/foundation/index.js +1 -1
  133. package/es6/foundation/isWebKit154.js +57 -0
  134. package/es6/foundation/theme/ThemeProvider.js +4 -4
  135. package/foundation/hooks/useLongPress/useLongPress.d.ts +3 -1
  136. package/foundation/hooks/useLongPress/useLongPress.js +7 -7
  137. package/foundation/index.d.ts +1 -1
  138. package/foundation/index.js +1 -1
  139. package/foundation/isWebKit154.d.ts +20 -0
  140. package/foundation/{isSafari154.js → isWebKit154.js} +22 -17
  141. package/foundation/theme/ThemeProvider.d.ts +1 -1
  142. package/foundation/theme/ThemeProvider.js +4 -4
  143. package/package.json +2 -2
  144. package/es6/foundation/isSafari154.js +0 -52
  145. package/foundation/isSafari154.d.ts +0 -15
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
+ /* eslint-disable no-console */
4
5
  var React = tslib_1.__importStar(require("react"));
5
6
  var react_1 = require("react");
6
7
  var react_urx_1 = require("@virtuoso.dev/react-urx");
@@ -12,6 +13,7 @@ var List_1 = require("./List");
12
13
  var gridComponentPropsSystem = u.system(function () {
13
14
  var itemContent = u.statefulStream(function (index) { return "Item " + index; });
14
15
  var components = u.statefulStream({});
16
+ var context = u.statefulStream(null);
15
17
  var itemClassName = u.statefulStream('virtuoso-grid-item');
16
18
  var listClassName = u.statefulStream('virtuoso-grid-list');
17
19
  var computeItemKey = u.statefulStream(List_1.identity);
@@ -21,6 +23,7 @@ var gridComponentPropsSystem = u.system(function () {
21
23
  return u.statefulStreamFromEmitter(u.pipe(components, u.map(function (components) { return components[propName]; }), u.distinctUntilChanged()), defaultValue);
22
24
  };
23
25
  return {
26
+ context: context,
24
27
  itemContent: itemContent,
25
28
  components: components,
26
29
  computeItemKey: computeItemKey,
@@ -47,7 +50,6 @@ var combinedSystem = u.system(function (_a) {
47
50
  u.connect(u.pipe(stream, u.withLatestFrom(gridComponentPropsSystem.components), u.map(function (_a) {
48
51
  var _b;
49
52
  var _c = tslib_1.__read(_a, 2), comp = _c[0], components = _c[1];
50
- // eslint-disable-next-line no-console
51
53
  console.warn("react-virtuoso: " + propName + " property is deprecated. Pass components." + componentName + " instead.");
52
54
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
53
55
  return tslib_1.__assign(tslib_1.__assign({}, components), (_b = {}, _b[componentName] = comp, _b));
@@ -55,7 +57,6 @@ var combinedSystem = u.system(function (_a) {
55
57
  }
56
58
  u.subscribe(deprecatedProps.scrollSeek, function (_a) {
57
59
  var placeholder = _a.placeholder, config = tslib_1.__rest(_a, ["placeholder"]);
58
- // eslint-disable-next-line no-console
59
60
  console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead.");
60
61
  u.publish(gridComponentPropsSystem.components, tslib_1.__assign(tslib_1.__assign({}, u.getValue(gridComponentPropsSystem.components)), {
61
62
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
@@ -74,58 +75,51 @@ var GridItems = React.memo(function GridItems() {
74
75
  var itemContent = useEmitterValue('itemContent');
75
76
  var computeItemKey = useEmitterValue('computeItemKey');
76
77
  var isSeeking = useEmitterValue('isSeeking');
78
+ var scrollHeightCallback = usePublisher('scrollHeight');
77
79
  var ItemComponent = useEmitterValue('ItemComponent');
78
80
  var ListComponent = useEmitterValue('ListComponent');
79
81
  var ScrollSeekPlaceholder = useEmitterValue('ScrollSeekPlaceholder');
82
+ var context = useEmitterValue('context');
80
83
  var itemDimensions = usePublisher('itemDimensions');
81
84
  var listRef = useSize_1.default(function (el) {
85
+ var scrollHeight = el.parentElement.parentElement.scrollHeight;
86
+ scrollHeightCallback(scrollHeight);
82
87
  var firstItem = el.firstChild;
83
88
  if (firstItem) {
84
- itemDimensions({
85
- width: firstItem.offsetWidth,
86
- height: firstItem.offsetHeight,
87
- });
89
+ itemDimensions(firstItem.getBoundingClientRect());
88
90
  }
89
91
  });
90
- return react_1.createElement(ListComponent, {
91
- ref: listRef,
92
- className: listClassName,
93
- style: {
92
+ return react_1.createElement(ListComponent, tslib_1.__assign(tslib_1.__assign({ ref: listRef, className: listClassName }, List_1.contextPropIfNotDomElement(ListComponent, context)), { style: {
94
93
  paddingTop: gridState.offsetTop,
95
94
  paddingBottom: gridState.offsetBottom,
96
- },
97
- }, gridState.items.map(function (item) {
95
+ } }), gridState.items.map(function (item) {
98
96
  var key = computeItemKey(item.index);
99
97
  return isSeeking
100
- ? react_1.createElement(ScrollSeekPlaceholder, {
101
- key: key,
102
- style: { height: gridState.itemHeight, width: gridState.itemWidth },
103
- })
104
- : react_1.createElement(ItemComponent, { className: itemClassName, 'data-index': item.index, key: key }, itemContent(item.index));
98
+ ? react_1.createElement(ScrollSeekPlaceholder, tslib_1.__assign(tslib_1.__assign({ key: key }, List_1.contextPropIfNotDomElement(ScrollSeekPlaceholder, context)), { index: item.index, height: gridState.itemHeight, width: gridState.itemWidth }))
99
+ : react_1.createElement(ItemComponent, tslib_1.__assign(tslib_1.__assign({}, List_1.contextPropIfNotDomElement(ItemComponent, context)), { className: itemClassName, 'data-index': item.index, key: key }), itemContent(item.index, context));
105
100
  }));
106
101
  });
107
102
  var Viewport = function (_a) {
108
103
  var children = _a.children;
109
104
  var viewportDimensions = usePublisher('viewportDimensions');
110
105
  var viewportRef = useSize_1.default(function (el) {
111
- viewportDimensions({
112
- width: el.offsetWidth,
113
- height: el.offsetHeight,
114
- });
106
+ viewportDimensions(el.getBoundingClientRect());
115
107
  });
116
108
  return (React.createElement("div", { style: List_1.viewportStyle, ref: viewportRef }, children));
117
109
  };
118
110
  var WindowViewport = function (_a) {
119
111
  var children = _a.children;
120
112
  var windowViewportRect = usePublisher('windowViewportRect');
121
- var viewportRef = useWindowViewportRect_1.default(windowViewportRect);
113
+ var customScrollParent = useEmitterValue('customScrollParent');
114
+ var viewportRef = useWindowViewportRect_1.default(windowViewportRect, customScrollParent);
122
115
  return (React.createElement("div", { ref: viewportRef, style: List_1.viewportStyle }, children));
123
116
  };
124
117
  var GridRoot = React.memo(function GridRoot(_a) {
125
118
  var props = tslib_1.__rest(_a, []);
126
119
  var useWindowScroll = useEmitterValue('useWindowScroll');
127
- var TheScroller = useWindowScroll ? WindowScroller : Scroller;
128
- var TheViewport = useWindowScroll ? WindowViewport : Viewport;
120
+ var customScrollParent = useEmitterValue('customScrollParent');
121
+ var TheScroller = customScrollParent || useWindowScroll ? WindowScroller : Scroller;
122
+ var TheViewport = customScrollParent || useWindowScroll ? WindowViewport : Viewport;
129
123
  return (React.createElement(TheScroller, tslib_1.__assign({}, props),
130
124
  React.createElement(TheViewport, null,
131
125
  React.createElement(GridItems, null))));
@@ -142,6 +136,7 @@ var _a = react_urx_1.systemToComponent(combinedSystem, {
142
136
  listClassName: 'listClassName',
143
137
  itemClassName: 'itemClassName',
144
138
  useWindowScroll: 'useWindowScroll',
139
+ customScrollParent: 'customScrollParent',
145
140
  scrollerRef: 'scrollerRef',
146
141
  // deprecated
147
142
  item: 'item',