@ringcentral/juno 2.40.0 → 2.41.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 (183) hide show
  1. package/components/Downshift/SuggestionList/SuggestionList.d.ts +3 -3
  2. package/components/Downshift/utils/useDownshift.d.ts +1 -1
  3. package/components/Tooltip/Tooltip.js +20 -2
  4. package/components/Virtuoso/index.d.ts +1 -1
  5. package/components/Virtuoso/index.js +1 -1
  6. package/components/Virtuoso/react-virtuoso/AATree.d.ts +1 -1
  7. package/components/Virtuoso/react-virtuoso/AATree.js +60 -48
  8. package/components/Virtuoso/react-virtuoso/TableVirtuoso.d.ts +5 -0
  9. package/components/Virtuoso/react-virtuoso/TableVirtuoso.js +217 -0
  10. package/components/Virtuoso/react-virtuoso/Virtuoso.d.ts +7696 -0
  11. package/components/Virtuoso/react-virtuoso/Virtuoso.js +317 -0
  12. package/components/Virtuoso/react-virtuoso/{Grid.d.ts → VirtuosoGrid.d.ts} +170 -72
  13. package/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +199 -0
  14. package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +119 -65
  15. package/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
  16. package/components/Virtuoso/react-virtuoso/comparators.d.ts +1 -1
  17. package/components/Virtuoso/react-virtuoso/comparators.js +1 -3
  18. package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.d.ts +194 -0
  19. package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +2 -0
  20. package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.d.ts +274 -0
  21. package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +2 -0
  22. package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.d.ts +125 -0
  23. package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +2 -0
  24. package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +3 -2
  25. package/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
  26. package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +80 -43
  27. package/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
  28. package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +57 -31
  29. package/components/Virtuoso/react-virtuoso/gridSystem.js +173 -86
  30. package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +76 -67
  31. package/components/Virtuoso/react-virtuoso/groupedListSystem.js +12 -12
  32. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +6 -3
  33. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +36 -17
  34. package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  35. package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +3 -2
  36. package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.d.ts +2 -0
  37. package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +5 -0
  38. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +2 -3
  39. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +36 -51
  40. package/components/Virtuoso/react-virtuoso/hooks/useSize.d.ts +2 -3
  41. package/components/Virtuoso/react-virtuoso/hooks/useSize.js +13 -13
  42. package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +17 -15
  43. package/components/Virtuoso/react-virtuoso/index.d.ts +7 -1
  44. package/components/Virtuoso/react-virtuoso/index.js +8 -1
  45. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +304 -68
  46. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +9 -31
  47. package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +127 -109
  48. package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
  49. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +38 -22
  50. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
  51. package/components/Virtuoso/react-virtuoso/interfaces.d.ts +150 -51
  52. package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +109 -59
  53. package/components/Virtuoso/react-virtuoso/listStateSystem.js +100 -52
  54. package/components/Virtuoso/react-virtuoso/listSystem.d.ts +1691 -693
  55. package/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
  56. package/components/Virtuoso/react-virtuoso/loggerSystem.d.ts +1 -1
  57. package/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
  58. package/components/Virtuoso/react-virtuoso/propsReadySystem.d.ts +1 -1
  59. package/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
  60. package/components/Virtuoso/react-virtuoso/react-urx/index.d.ts +110 -0
  61. package/components/Virtuoso/react-virtuoso/react-urx/index.js +200 -0
  62. package/components/Virtuoso/react-virtuoso/react-urx/package.json +5 -0
  63. package/components/Virtuoso/react-virtuoso/recalcSystem.d.ts +4 -0
  64. package/components/Virtuoso/react-virtuoso/recalcSystem.js +8 -0
  65. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +144 -78
  66. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +33 -21
  67. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +12 -7
  68. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
  69. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +19 -11
  70. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
  71. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +7 -6
  72. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +15 -27
  73. package/components/Virtuoso/react-virtuoso/sizeSystem.d.ts +20 -11
  74. package/components/Virtuoso/react-virtuoso/sizeSystem.js +182 -52
  75. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +8 -5
  76. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
  77. package/components/Virtuoso/react-virtuoso/stateLoadSystem.d.ts +318 -0
  78. package/components/Virtuoso/react-virtuoso/stateLoadSystem.js +41 -0
  79. package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +518 -467
  80. package/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
  81. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +115 -63
  82. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
  83. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +139 -73
  84. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +74 -31
  85. package/components/Virtuoso/react-virtuoso/urx/actions.d.ts +127 -0
  86. package/components/Virtuoso/react-virtuoso/urx/actions.js +98 -0
  87. package/components/Virtuoso/react-virtuoso/urx/constants.d.ts +8 -0
  88. package/components/Virtuoso/react-virtuoso/urx/constants.js +6 -0
  89. package/components/Virtuoso/react-virtuoso/urx/index.d.ts +6 -0
  90. package/components/Virtuoso/react-virtuoso/urx/index.js +9 -0
  91. package/components/Virtuoso/react-virtuoso/urx/package.json +5 -0
  92. package/components/Virtuoso/react-virtuoso/urx/pipe.d.ts +220 -0
  93. package/components/Virtuoso/react-virtuoso/urx/pipe.js +279 -0
  94. package/components/Virtuoso/react-virtuoso/urx/streams.d.ts +143 -0
  95. package/components/Virtuoso/react-virtuoso/urx/streams.js +227 -0
  96. package/components/Virtuoso/react-virtuoso/urx/system.d.ts +148 -0
  97. package/components/Virtuoso/react-virtuoso/urx/system.js +106 -0
  98. package/components/Virtuoso/react-virtuoso/urx/transformers.d.ts +71 -0
  99. package/components/Virtuoso/react-virtuoso/urx/transformers.js +106 -0
  100. package/components/Virtuoso/react-virtuoso/urx/utils.d.ts +57 -0
  101. package/components/Virtuoso/react-virtuoso/urx/utils.js +102 -0
  102. package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.d.ts +1 -0
  103. package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +6 -0
  104. package/components/Virtuoso/react-virtuoso/utils/context.d.ts +13 -0
  105. package/components/Virtuoso/react-virtuoso/utils/context.js +6 -0
  106. package/components/Virtuoso/react-virtuoso/utils/skipFrames.d.ts +1 -0
  107. package/components/Virtuoso/react-virtuoso/utils/skipFrames.js +11 -0
  108. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +6 -4
  109. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
  110. package/components/Virtuoso/utils/isOutOfRange.d.ts +1 -1
  111. package/components/Virtuoso/utils/useHighlightScroll.d.ts +2 -2
  112. package/es6/components/Tooltip/Tooltip.js +21 -3
  113. package/es6/components/Virtuoso/index.js +1 -1
  114. package/es6/components/Virtuoso/react-virtuoso/AATree.js +60 -48
  115. package/es6/components/Virtuoso/react-virtuoso/{Table.js → TableVirtuoso.js} +73 -52
  116. package/es6/components/Virtuoso/react-virtuoso/{List.js → Virtuoso.js} +85 -161
  117. package/es6/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +198 -0
  118. package/es6/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
  119. package/es6/components/Virtuoso/react-virtuoso/comparators.js +1 -3
  120. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +0 -0
  121. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +0 -0
  122. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +0 -0
  123. package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
  124. package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
  125. package/es6/components/Virtuoso/react-virtuoso/gridSystem.js +173 -87
  126. package/es6/components/Virtuoso/react-virtuoso/groupedListSystem.js +13 -13
  127. package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +35 -16
  128. package/es6/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +2 -2
  129. package/es6/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +2 -0
  130. package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +35 -50
  131. package/es6/components/Virtuoso/react-virtuoso/hooks/useSize.js +11 -12
  132. package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +15 -14
  133. package/es6/components/Virtuoso/react-virtuoso/index.js +4 -1
  134. package/es6/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +11 -33
  135. package/es6/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
  136. package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
  137. package/es6/components/Virtuoso/react-virtuoso/listStateSystem.js +101 -54
  138. package/es6/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
  139. package/es6/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
  140. package/es6/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
  141. package/es6/components/Virtuoso/react-virtuoso/react-urx/index.js +197 -0
  142. package/es6/components/Virtuoso/react-virtuoso/recalcSystem.js +5 -0
  143. package/es6/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +34 -22
  144. package/es6/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
  145. package/es6/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
  146. package/es6/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +16 -28
  147. package/es6/components/Virtuoso/react-virtuoso/sizeSystem.js +180 -53
  148. package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
  149. package/es6/components/Virtuoso/react-virtuoso/stateLoadSystem.js +39 -0
  150. package/es6/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
  151. package/es6/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
  152. package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +75 -32
  153. package/es6/components/Virtuoso/react-virtuoso/urx/actions.js +90 -0
  154. package/es6/components/Virtuoso/react-virtuoso/urx/constants.js +4 -0
  155. package/es6/components/Virtuoso/react-virtuoso/urx/index.js +6 -0
  156. package/es6/components/Virtuoso/react-virtuoso/urx/pipe.js +266 -0
  157. package/es6/components/Virtuoso/react-virtuoso/urx/streams.js +220 -0
  158. package/es6/components/Virtuoso/react-virtuoso/urx/system.js +102 -0
  159. package/es6/components/Virtuoso/react-virtuoso/urx/transformers.js +101 -0
  160. package/es6/components/Virtuoso/react-virtuoso/urx/utils.js +88 -0
  161. package/es6/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +3 -0
  162. package/es6/components/Virtuoso/react-virtuoso/utils/context.js +3 -0
  163. package/es6/components/Virtuoso/react-virtuoso/utils/skipFrames.js +8 -0
  164. package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
  165. package/es6/foundation/hooks/useForkRef/useForkRef.js +2 -1
  166. package/foundation/hooks/useForkRef/useForkRef.d.ts +2 -1
  167. package/foundation/hooks/useForkRef/useForkRef.js +1 -0
  168. package/package.json +2 -2
  169. package/components/Virtuoso/Virtuoso.d.ts +0 -1
  170. package/components/Virtuoso/Virtuoso.js +0 -4
  171. package/components/Virtuoso/react-virtuoso/Grid.js +0 -168
  172. package/components/Virtuoso/react-virtuoso/List.d.ts +0 -6749
  173. package/components/Virtuoso/react-virtuoso/List.js +0 -393
  174. package/components/Virtuoso/react-virtuoso/Table.d.ts +0 -6515
  175. package/components/Virtuoso/react-virtuoso/Table.js +0 -196
  176. package/components/Virtuoso/react-virtuoso/components.d.ts +0 -505
  177. package/components/Virtuoso/react-virtuoso/components.js +0 -9
  178. package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.d.ts +0 -1
  179. package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -11
  180. package/es6/components/Virtuoso/Virtuoso.js +0 -1
  181. package/es6/components/Virtuoso/react-virtuoso/Grid.js +0 -166
  182. package/es6/components/Virtuoso/react-virtuoso/components.js +0 -7
  183. package/es6/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -8
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var react_urx_1 = require("./react-urx");
5
+ var u = tslib_1.__importStar(require("./urx"));
6
+ var react_1 = tslib_1.__importDefault(require("react"));
7
+ var useChangedChildSizes_1 = tslib_1.__importDefault(require("./hooks/useChangedChildSizes"));
8
+ var listSystem_1 = require("./listSystem");
9
+ var Virtuoso_1 = require("./Virtuoso");
10
+ var useSize_1 = tslib_1.__importDefault(require("./hooks/useSize"));
11
+ var correctItemSize_1 = require("./utils/correctItemSize");
12
+ var useWindowViewportRect_1 = tslib_1.__importDefault(require("./hooks/useWindowViewportRect"));
13
+ var context_1 = require("./utils/context");
14
+ var tableComponentPropsSystem = /*#__PURE__*/ u.system(function () {
15
+ var itemContent = u.statefulStream(function (index) { return react_1.default.createElement("td", null,
16
+ "Item $",
17
+ index); });
18
+ var context = u.statefulStream(null);
19
+ var fixedHeaderContent = u.statefulStream(null);
20
+ var fixedFooterContent = u.statefulStream(null);
21
+ var components = u.statefulStream({});
22
+ var computeItemKey = u.statefulStream(Virtuoso_1.identity);
23
+ var scrollerRef = u.statefulStream(u.noop);
24
+ var distinctProp = function (propName, defaultValue) {
25
+ if (defaultValue === void 0) { defaultValue = null; }
26
+ return u.statefulStreamFromEmitter(u.pipe(components, u.map(function (components) { return components[propName]; }), u.distinctUntilChanged()), defaultValue);
27
+ };
28
+ return {
29
+ context: context,
30
+ itemContent: itemContent,
31
+ fixedHeaderContent: fixedHeaderContent,
32
+ fixedFooterContent: fixedFooterContent,
33
+ components: components,
34
+ computeItemKey: computeItemKey,
35
+ scrollerRef: scrollerRef,
36
+ TableComponent: distinctProp('Table', 'table'),
37
+ TableHeadComponent: distinctProp('TableHead', 'thead'),
38
+ TableFooterComponent: distinctProp('TableFoot', 'tfoot'),
39
+ TableBodyComponent: distinctProp('TableBody', 'tbody'),
40
+ TableRowComponent: distinctProp('TableRow', 'tr'),
41
+ ScrollerComponent: distinctProp('Scroller', 'div'),
42
+ EmptyPlaceholder: distinctProp('EmptyPlaceholder'),
43
+ ScrollSeekPlaceholder: distinctProp('ScrollSeekPlaceholder'),
44
+ FillerRow: distinctProp('FillerRow'),
45
+ };
46
+ });
47
+ var combinedSystem = /*#__PURE__*/ u.system(function (_a) {
48
+ var _b = tslib_1.__read(_a, 2), listSystem = _b[0], propsSystem = _b[1];
49
+ return tslib_1.__assign(tslib_1.__assign({}, listSystem), propsSystem);
50
+ }, u.tup(listSystem_1.listSystem, tableComponentPropsSystem));
51
+ var DefaultScrollSeekPlaceholder = function (_a) {
52
+ var height = _a.height;
53
+ return (react_1.default.createElement("tr", null,
54
+ react_1.default.createElement("td", { style: { height: height } })));
55
+ };
56
+ var DefaultFillerRow = function (_a) {
57
+ var height = _a.height;
58
+ return (react_1.default.createElement("tr", null,
59
+ react_1.default.createElement("td", { style: { height: height, padding: 0, border: 0 } })));
60
+ };
61
+ var ITEM_STYLE = { overflowAnchor: 'none' };
62
+ var Items = /*#__PURE__*/ react_1.default.memo(function VirtuosoItems() {
63
+ var listState = useEmitterValue('listState');
64
+ var sizeRanges = usePublisher('sizeRanges');
65
+ var useWindowScroll = useEmitterValue('useWindowScroll');
66
+ var customScrollParent = useEmitterValue('customScrollParent');
67
+ var windowScrollContainerStateCallback = usePublisher('windowScrollContainerState');
68
+ var _scrollContainerStateCallback = usePublisher('scrollContainerState');
69
+ var scrollContainerStateCallback = customScrollParent || useWindowScroll ? windowScrollContainerStateCallback : _scrollContainerStateCallback;
70
+ var itemContent = useEmitterValue('itemContent');
71
+ var trackItemSizes = useEmitterValue('trackItemSizes');
72
+ var itemSize = useEmitterValue('itemSize');
73
+ var log = useEmitterValue('log');
74
+ var _a = useChangedChildSizes_1.default(sizeRanges, itemSize, trackItemSizes, scrollContainerStateCallback, log, undefined, customScrollParent), callbackRef = _a.callbackRef, ref = _a.ref;
75
+ var _b = tslib_1.__read(react_1.default.useState(0), 2), deviation = _b[0], setDeviation = _b[1];
76
+ useEmitter('deviation', function (value) {
77
+ if (deviation !== value) {
78
+ ref.current.style.marginTop = value + "px";
79
+ setDeviation(value);
80
+ }
81
+ });
82
+ var EmptyPlaceholder = useEmitterValue('EmptyPlaceholder');
83
+ var ScrollSeekPlaceholder = useEmitterValue('ScrollSeekPlaceholder') || DefaultScrollSeekPlaceholder;
84
+ var FillerRow = useEmitterValue('FillerRow') || DefaultFillerRow;
85
+ var TableBodyComponent = useEmitterValue('TableBodyComponent');
86
+ var TableRowComponent = useEmitterValue('TableRowComponent');
87
+ var computeItemKey = useEmitterValue('computeItemKey');
88
+ var isSeeking = useEmitterValue('isSeeking');
89
+ var paddingTopAddition = useEmitterValue('paddingTopAddition');
90
+ var firstItemIndex = useEmitterValue('firstItemIndex');
91
+ var statefulTotalCount = useEmitterValue('statefulTotalCount');
92
+ var context = useEmitterValue('context');
93
+ if (statefulTotalCount === 0 && EmptyPlaceholder) {
94
+ return react_1.default.createElement(EmptyPlaceholder, Virtuoso_1.contextPropIfNotDomElement(EmptyPlaceholder, context));
95
+ }
96
+ var paddingTop = listState.offsetTop + paddingTopAddition + deviation;
97
+ var paddingBottom = listState.offsetBottom;
98
+ var paddingTopEl = paddingTop > 0 ? react_1.default.createElement(FillerRow, { height: paddingTop, key: "padding-top", context: context }) : null;
99
+ var paddingBottomEl = paddingBottom > 0 ? react_1.default.createElement(FillerRow, { height: paddingBottom, key: "padding-bottom", context: context }) : null;
100
+ var items = listState.items.map(function (item) {
101
+ var index = item.originalIndex;
102
+ var key = computeItemKey(index + firstItemIndex, item.data, context);
103
+ if (isSeeking) {
104
+ return react_1.default.createElement(ScrollSeekPlaceholder, tslib_1.__assign(tslib_1.__assign({}, Virtuoso_1.contextPropIfNotDomElement(ScrollSeekPlaceholder, context)), { key: key, index: item.index, height: item.size, type: item.type || 'item' }));
105
+ }
106
+ return react_1.default.createElement(TableRowComponent, tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, Virtuoso_1.contextPropIfNotDomElement(TableRowComponent, context)), Virtuoso_1.itemPropIfNotDomElement(TableRowComponent, item.data)), { key: key, 'data-index': index, 'data-known-size': item.size, 'data-item-index': item.index, style: ITEM_STYLE }), itemContent(item.index, item.data, context));
107
+ });
108
+ return react_1.default.createElement(TableBodyComponent, tslib_1.__assign({ ref: callbackRef, 'data-test-id': 'virtuoso-item-list' }, Virtuoso_1.contextPropIfNotDomElement(TableBodyComponent, context)), tslib_1.__spread([paddingTopEl], items, [paddingBottomEl]));
109
+ });
110
+ var Viewport = function (_a) {
111
+ var children = _a.children;
112
+ var ctx = react_1.default.useContext(context_1.VirtuosoMockContext);
113
+ var viewportHeight = usePublisher('viewportHeight');
114
+ var fixedItemHeight = usePublisher('fixedItemHeight');
115
+ var viewportRef = useSize_1.default(u.compose(viewportHeight, function (el) { return correctItemSize_1.correctItemSize(el, 'height'); }));
116
+ react_1.default.useEffect(function () {
117
+ if (ctx) {
118
+ viewportHeight(ctx.viewportHeight);
119
+ fixedItemHeight(ctx.itemHeight);
120
+ }
121
+ }, [ctx, viewportHeight, fixedItemHeight]);
122
+ return (react_1.default.createElement("div", { style: Virtuoso_1.viewportStyle, ref: viewportRef, "data-viewport-type": "element" }, children));
123
+ };
124
+ var WindowViewport = function (_a) {
125
+ var children = _a.children;
126
+ var ctx = react_1.default.useContext(context_1.VirtuosoMockContext);
127
+ var windowViewportRect = usePublisher('windowViewportRect');
128
+ var fixedItemHeight = usePublisher('fixedItemHeight');
129
+ var customScrollParent = useEmitterValue('customScrollParent');
130
+ var viewportRef = useWindowViewportRect_1.default(windowViewportRect, customScrollParent);
131
+ react_1.default.useEffect(function () {
132
+ if (ctx) {
133
+ fixedItemHeight(ctx.itemHeight);
134
+ windowViewportRect({ offsetTop: 0, visibleHeight: ctx.viewportHeight, visibleWidth: 100 });
135
+ }
136
+ }, [ctx, windowViewportRect, fixedItemHeight]);
137
+ return (react_1.default.createElement("div", { ref: viewportRef, style: Virtuoso_1.viewportStyle, "data-viewport-type": "window" }, children));
138
+ };
139
+ var TableRoot = react_1.default.memo(function TableVirtuosoRoot(props) {
140
+ var useWindowScroll = useEmitterValue('useWindowScroll');
141
+ var customScrollParent = useEmitterValue('customScrollParent');
142
+ var fixedHeaderHeight = usePublisher('fixedHeaderHeight');
143
+ var fixedFooterHeight = usePublisher('fixedFooterHeight');
144
+ var fixedHeaderContent = useEmitterValue('fixedHeaderContent');
145
+ var fixedFooterContent = useEmitterValue('fixedFooterContent');
146
+ var context = useEmitterValue('context');
147
+ var theadRef = useSize_1.default(u.compose(fixedHeaderHeight, function (el) { return correctItemSize_1.correctItemSize(el, 'height'); }));
148
+ var tfootRef = useSize_1.default(u.compose(fixedFooterHeight, function (el) { return correctItemSize_1.correctItemSize(el, 'height'); }));
149
+ var TheScroller = customScrollParent || useWindowScroll ? WindowScroller : Scroller;
150
+ var TheViewport = customScrollParent || useWindowScroll ? WindowViewport : Viewport;
151
+ var TheTable = useEmitterValue('TableComponent');
152
+ var TheTHead = useEmitterValue('TableHeadComponent');
153
+ var TheTFoot = useEmitterValue('TableFooterComponent');
154
+ var theHead = fixedHeaderContent
155
+ ? react_1.default.createElement(TheTHead, tslib_1.__assign({ key: 'TableHead', style: { zIndex: 2, position: 'sticky', top: 0 }, ref: theadRef }, Virtuoso_1.contextPropIfNotDomElement(TheTHead, context)), fixedHeaderContent())
156
+ : null;
157
+ var theFoot = fixedFooterContent
158
+ ? react_1.default.createElement(TheTFoot, tslib_1.__assign({ key: 'TableFoot', style: { zIndex: 1, position: 'sticky', bottom: 0 }, ref: tfootRef }, Virtuoso_1.contextPropIfNotDomElement(TheTFoot, context)), fixedFooterContent())
159
+ : null;
160
+ return (react_1.default.createElement(TheScroller, tslib_1.__assign({}, props),
161
+ react_1.default.createElement(TheViewport, null, react_1.default.createElement(TheTable, tslib_1.__assign({ style: { borderSpacing: 0, overflowAnchor: 'none' } }, Virtuoso_1.contextPropIfNotDomElement(TheTable, context)), [theHead, react_1.default.createElement(Items, { key: "TableBody" }), theFoot]))));
162
+ });
163
+ var _a = react_urx_1.systemToComponent(combinedSystem, {
164
+ required: {},
165
+ optional: {
166
+ restoreStateFrom: 'restoreStateFrom',
167
+ context: 'context',
168
+ followOutput: 'followOutput',
169
+ firstItemIndex: 'firstItemIndex',
170
+ itemContent: 'itemContent',
171
+ fixedHeaderContent: 'fixedHeaderContent',
172
+ fixedFooterContent: 'fixedFooterContent',
173
+ overscan: 'overscan',
174
+ increaseViewportBy: 'increaseViewportBy',
175
+ totalCount: 'totalCount',
176
+ topItemCount: 'topItemCount',
177
+ initialTopMostItemIndex: 'initialTopMostItemIndex',
178
+ components: 'components',
179
+ groupCounts: 'groupCounts',
180
+ atBottomThreshold: 'atBottomThreshold',
181
+ atTopThreshold: 'atTopThreshold',
182
+ computeItemKey: 'computeItemKey',
183
+ defaultItemHeight: 'defaultItemHeight',
184
+ fixedItemHeight: 'fixedItemHeight',
185
+ itemSize: 'itemSize',
186
+ scrollSeekConfiguration: 'scrollSeekConfiguration',
187
+ data: 'data',
188
+ initialItemCount: 'initialItemCount',
189
+ initialScrollTop: 'initialScrollTop',
190
+ alignToBottom: 'alignToBottom',
191
+ useWindowScroll: 'useWindowScroll',
192
+ customScrollParent: 'customScrollParent',
193
+ scrollerRef: 'scrollerRef',
194
+ logLevel: 'logLevel',
195
+ },
196
+ methods: {
197
+ scrollToIndex: 'scrollToIndex',
198
+ scrollIntoView: 'scrollIntoView',
199
+ scrollTo: 'scrollTo',
200
+ scrollBy: 'scrollBy',
201
+ getState: 'getState',
202
+ },
203
+ events: {
204
+ isScrolling: 'isScrolling',
205
+ endReached: 'endReached',
206
+ startReached: 'startReached',
207
+ rangeChanged: 'rangeChanged',
208
+ atBottomStateChange: 'atBottomStateChange',
209
+ atTopStateChange: 'atTopStateChange',
210
+ totalListHeightChanged: 'totalListHeightChanged',
211
+ itemsRendered: 'itemsRendered',
212
+ groupIndices: 'groupIndices',
213
+ },
214
+ }, TableRoot), Table = _a.Component, usePublisher = _a.usePublisher, useEmitterValue = _a.useEmitterValue, useEmitter = _a.useEmitter;
215
+ var Scroller = /*#__PURE__*/ Virtuoso_1.buildScroller({ usePublisher: usePublisher, useEmitterValue: useEmitterValue, useEmitter: useEmitter });
216
+ var WindowScroller = /*#__PURE__*/ Virtuoso_1.buildWindowScroller({ usePublisher: usePublisher, useEmitterValue: useEmitterValue, useEmitter: useEmitter });
217
+ exports.TableVirtuoso = Table;