@ringcentral/juno 2.40.1 → 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 (178) 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/Virtuoso/index.d.ts +1 -1
  4. package/components/Virtuoso/index.js +1 -1
  5. package/components/Virtuoso/react-virtuoso/AATree.d.ts +1 -1
  6. package/components/Virtuoso/react-virtuoso/AATree.js +60 -48
  7. package/components/Virtuoso/react-virtuoso/TableVirtuoso.d.ts +5 -0
  8. package/components/Virtuoso/react-virtuoso/TableVirtuoso.js +217 -0
  9. package/components/Virtuoso/react-virtuoso/Virtuoso.d.ts +7696 -0
  10. package/components/Virtuoso/react-virtuoso/Virtuoso.js +317 -0
  11. package/components/Virtuoso/react-virtuoso/{Grid.d.ts → VirtuosoGrid.d.ts} +170 -72
  12. package/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +199 -0
  13. package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +119 -65
  14. package/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
  15. package/components/Virtuoso/react-virtuoso/comparators.d.ts +1 -1
  16. package/components/Virtuoso/react-virtuoso/comparators.js +1 -3
  17. package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.d.ts +194 -0
  18. package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +2 -0
  19. package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.d.ts +274 -0
  20. package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +2 -0
  21. package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.d.ts +125 -0
  22. package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +2 -0
  23. package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +3 -2
  24. package/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
  25. package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +80 -43
  26. package/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
  27. package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +57 -31
  28. package/components/Virtuoso/react-virtuoso/gridSystem.js +173 -86
  29. package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +76 -67
  30. package/components/Virtuoso/react-virtuoso/groupedListSystem.js +12 -12
  31. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +6 -3
  32. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +36 -17
  33. package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  34. package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +3 -2
  35. package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.d.ts +2 -0
  36. package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +5 -0
  37. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +2 -3
  38. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +36 -51
  39. package/components/Virtuoso/react-virtuoso/hooks/useSize.d.ts +2 -3
  40. package/components/Virtuoso/react-virtuoso/hooks/useSize.js +13 -13
  41. package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +17 -15
  42. package/components/Virtuoso/react-virtuoso/index.d.ts +7 -1
  43. package/components/Virtuoso/react-virtuoso/index.js +8 -1
  44. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +304 -68
  45. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +9 -31
  46. package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +127 -109
  47. package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
  48. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +38 -22
  49. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
  50. package/components/Virtuoso/react-virtuoso/interfaces.d.ts +150 -51
  51. package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +109 -59
  52. package/components/Virtuoso/react-virtuoso/listStateSystem.js +100 -52
  53. package/components/Virtuoso/react-virtuoso/listSystem.d.ts +1691 -693
  54. package/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
  55. package/components/Virtuoso/react-virtuoso/loggerSystem.d.ts +1 -1
  56. package/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
  57. package/components/Virtuoso/react-virtuoso/propsReadySystem.d.ts +1 -1
  58. package/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
  59. package/components/Virtuoso/react-virtuoso/react-urx/index.d.ts +110 -0
  60. package/components/Virtuoso/react-virtuoso/react-urx/index.js +200 -0
  61. package/components/Virtuoso/react-virtuoso/react-urx/package.json +5 -0
  62. package/components/Virtuoso/react-virtuoso/recalcSystem.d.ts +4 -0
  63. package/components/Virtuoso/react-virtuoso/recalcSystem.js +8 -0
  64. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +144 -78
  65. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +33 -21
  66. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +12 -7
  67. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
  68. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +19 -11
  69. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
  70. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +7 -6
  71. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +15 -27
  72. package/components/Virtuoso/react-virtuoso/sizeSystem.d.ts +20 -11
  73. package/components/Virtuoso/react-virtuoso/sizeSystem.js +182 -52
  74. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +8 -5
  75. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
  76. package/components/Virtuoso/react-virtuoso/stateLoadSystem.d.ts +318 -0
  77. package/components/Virtuoso/react-virtuoso/stateLoadSystem.js +41 -0
  78. package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +518 -467
  79. package/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
  80. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +115 -63
  81. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
  82. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +139 -73
  83. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +74 -31
  84. package/components/Virtuoso/react-virtuoso/urx/actions.d.ts +127 -0
  85. package/components/Virtuoso/react-virtuoso/urx/actions.js +98 -0
  86. package/components/Virtuoso/react-virtuoso/urx/constants.d.ts +8 -0
  87. package/components/Virtuoso/react-virtuoso/urx/constants.js +6 -0
  88. package/components/Virtuoso/react-virtuoso/urx/index.d.ts +6 -0
  89. package/components/Virtuoso/react-virtuoso/urx/index.js +9 -0
  90. package/components/Virtuoso/react-virtuoso/urx/package.json +5 -0
  91. package/components/Virtuoso/react-virtuoso/urx/pipe.d.ts +220 -0
  92. package/components/Virtuoso/react-virtuoso/urx/pipe.js +279 -0
  93. package/components/Virtuoso/react-virtuoso/urx/streams.d.ts +143 -0
  94. package/components/Virtuoso/react-virtuoso/urx/streams.js +227 -0
  95. package/components/Virtuoso/react-virtuoso/urx/system.d.ts +148 -0
  96. package/components/Virtuoso/react-virtuoso/urx/system.js +106 -0
  97. package/components/Virtuoso/react-virtuoso/urx/transformers.d.ts +71 -0
  98. package/components/Virtuoso/react-virtuoso/urx/transformers.js +106 -0
  99. package/components/Virtuoso/react-virtuoso/urx/utils.d.ts +57 -0
  100. package/components/Virtuoso/react-virtuoso/urx/utils.js +102 -0
  101. package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.d.ts +1 -0
  102. package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +6 -0
  103. package/components/Virtuoso/react-virtuoso/utils/context.d.ts +13 -0
  104. package/components/Virtuoso/react-virtuoso/utils/context.js +6 -0
  105. package/components/Virtuoso/react-virtuoso/utils/skipFrames.d.ts +1 -0
  106. package/components/Virtuoso/react-virtuoso/utils/skipFrames.js +11 -0
  107. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +6 -4
  108. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
  109. package/components/Virtuoso/utils/isOutOfRange.d.ts +1 -1
  110. package/components/Virtuoso/utils/useHighlightScroll.d.ts +2 -2
  111. package/es6/components/Virtuoso/index.js +1 -1
  112. package/es6/components/Virtuoso/react-virtuoso/AATree.js +60 -48
  113. package/es6/components/Virtuoso/react-virtuoso/{Table.js → TableVirtuoso.js} +73 -52
  114. package/es6/components/Virtuoso/react-virtuoso/{List.js → Virtuoso.js} +85 -161
  115. package/es6/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +198 -0
  116. package/es6/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
  117. package/es6/components/Virtuoso/react-virtuoso/comparators.js +1 -3
  118. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +0 -0
  119. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +0 -0
  120. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +0 -0
  121. package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
  122. package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
  123. package/es6/components/Virtuoso/react-virtuoso/gridSystem.js +173 -87
  124. package/es6/components/Virtuoso/react-virtuoso/groupedListSystem.js +13 -13
  125. package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +35 -16
  126. package/es6/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +2 -2
  127. package/es6/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +2 -0
  128. package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +35 -50
  129. package/es6/components/Virtuoso/react-virtuoso/hooks/useSize.js +11 -12
  130. package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +15 -14
  131. package/es6/components/Virtuoso/react-virtuoso/index.js +4 -1
  132. package/es6/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +11 -33
  133. package/es6/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
  134. package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
  135. package/es6/components/Virtuoso/react-virtuoso/listStateSystem.js +101 -54
  136. package/es6/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
  137. package/es6/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
  138. package/es6/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
  139. package/es6/components/Virtuoso/react-virtuoso/react-urx/index.js +197 -0
  140. package/es6/components/Virtuoso/react-virtuoso/recalcSystem.js +5 -0
  141. package/es6/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +34 -22
  142. package/es6/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
  143. package/es6/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
  144. package/es6/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +16 -28
  145. package/es6/components/Virtuoso/react-virtuoso/sizeSystem.js +180 -53
  146. package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
  147. package/es6/components/Virtuoso/react-virtuoso/stateLoadSystem.js +39 -0
  148. package/es6/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
  149. package/es6/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
  150. package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +75 -32
  151. package/es6/components/Virtuoso/react-virtuoso/urx/actions.js +90 -0
  152. package/es6/components/Virtuoso/react-virtuoso/urx/constants.js +4 -0
  153. package/es6/components/Virtuoso/react-virtuoso/urx/index.js +6 -0
  154. package/es6/components/Virtuoso/react-virtuoso/urx/pipe.js +266 -0
  155. package/es6/components/Virtuoso/react-virtuoso/urx/streams.js +220 -0
  156. package/es6/components/Virtuoso/react-virtuoso/urx/system.js +102 -0
  157. package/es6/components/Virtuoso/react-virtuoso/urx/transformers.js +101 -0
  158. package/es6/components/Virtuoso/react-virtuoso/urx/utils.js +88 -0
  159. package/es6/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +3 -0
  160. package/es6/components/Virtuoso/react-virtuoso/utils/context.js +3 -0
  161. package/es6/components/Virtuoso/react-virtuoso/utils/skipFrames.js +8 -0
  162. package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
  163. package/package.json +2 -2
  164. package/components/Virtuoso/Virtuoso.d.ts +0 -1
  165. package/components/Virtuoso/Virtuoso.js +0 -4
  166. package/components/Virtuoso/react-virtuoso/Grid.js +0 -168
  167. package/components/Virtuoso/react-virtuoso/List.d.ts +0 -6749
  168. package/components/Virtuoso/react-virtuoso/List.js +0 -393
  169. package/components/Virtuoso/react-virtuoso/Table.d.ts +0 -6515
  170. package/components/Virtuoso/react-virtuoso/Table.js +0 -196
  171. package/components/Virtuoso/react-virtuoso/components.d.ts +0 -505
  172. package/components/Virtuoso/react-virtuoso/components.js +0 -9
  173. package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.d.ts +0 -1
  174. package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -11
  175. package/es6/components/Virtuoso/Virtuoso.js +0 -1
  176. package/es6/components/Virtuoso/react-virtuoso/Grid.js +0 -166
  177. package/es6/components/Virtuoso/react-virtuoso/components.js +0 -7
  178. package/es6/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -8
@@ -0,0 +1,199 @@
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 gridSystem_1 = require("./gridSystem");
8
+ var useSize_1 = tslib_1.__importDefault(require("./hooks/useSize"));
9
+ var useWindowViewportRect_1 = tslib_1.__importDefault(require("./hooks/useWindowViewportRect"));
10
+ var Virtuoso_1 = require("./Virtuoso");
11
+ var loggerSystem_1 = require("./loggerSystem");
12
+ var correctItemSize_1 = require("./utils/correctItemSize");
13
+ var context_1 = require("./utils/context");
14
+ var gridComponentPropsSystem = /*#__PURE__*/ u.system(function () {
15
+ var itemContent = u.statefulStream(function (index) { return "Item " + index; });
16
+ var components = u.statefulStream({});
17
+ var context = u.statefulStream(null);
18
+ var itemClassName = u.statefulStream('virtuoso-grid-item');
19
+ var listClassName = u.statefulStream('virtuoso-grid-list');
20
+ var computeItemKey = u.statefulStream(Virtuoso_1.identity);
21
+ var headerFooterTag = u.statefulStream('div');
22
+ var scrollerRef = u.statefulStream(u.noop);
23
+ var distinctProp = function (propName, defaultValue) {
24
+ if (defaultValue === void 0) { defaultValue = null; }
25
+ return u.statefulStreamFromEmitter(u.pipe(components, u.map(function (components) { return components[propName]; }), u.distinctUntilChanged()), defaultValue);
26
+ };
27
+ return {
28
+ context: context,
29
+ itemContent: itemContent,
30
+ components: components,
31
+ computeItemKey: computeItemKey,
32
+ itemClassName: itemClassName,
33
+ listClassName: listClassName,
34
+ headerFooterTag: headerFooterTag,
35
+ scrollerRef: scrollerRef,
36
+ FooterComponent: distinctProp('Footer'),
37
+ HeaderComponent: distinctProp('Header'),
38
+ ListComponent: distinctProp('List', 'div'),
39
+ ItemComponent: distinctProp('Item', 'div'),
40
+ ScrollerComponent: distinctProp('Scroller', 'div'),
41
+ ScrollSeekPlaceholder: distinctProp('ScrollSeekPlaceholder', 'div'),
42
+ };
43
+ });
44
+ var combinedSystem = /*#__PURE__*/ u.system(function (_a) {
45
+ var _b = tslib_1.__read(_a, 2), gridSystem = _b[0], gridComponentPropsSystem = _b[1];
46
+ return tslib_1.__assign(tslib_1.__assign({}, gridSystem), gridComponentPropsSystem);
47
+ }, u.tup(gridSystem_1.gridSystem, gridComponentPropsSystem));
48
+ var GridItems = react_1.default.memo(function GridItems() {
49
+ var gridState = useEmitterValue('gridState');
50
+ var listClassName = useEmitterValue('listClassName');
51
+ var itemClassName = useEmitterValue('itemClassName');
52
+ var itemContent = useEmitterValue('itemContent');
53
+ var computeItemKey = useEmitterValue('computeItemKey');
54
+ var isSeeking = useEmitterValue('isSeeking');
55
+ var scrollHeightCallback = usePublisher('scrollHeight');
56
+ var ItemComponent = useEmitterValue('ItemComponent');
57
+ var ListComponent = useEmitterValue('ListComponent');
58
+ var ScrollSeekPlaceholder = useEmitterValue('ScrollSeekPlaceholder');
59
+ var context = useEmitterValue('context');
60
+ var itemDimensions = usePublisher('itemDimensions');
61
+ var gridGap = usePublisher('gap');
62
+ var log = useEmitterValue('log');
63
+ var stateRestoreInProgress = useEmitterValue('stateRestoreInProgress');
64
+ var listRef = useSize_1.default(function (el) {
65
+ var scrollHeight = el.parentElement.parentElement.scrollHeight;
66
+ scrollHeightCallback(scrollHeight);
67
+ var firstItem = el.firstChild;
68
+ if (firstItem) {
69
+ var _a = firstItem.getBoundingClientRect(), width = _a.width, height = _a.height;
70
+ itemDimensions({ width: width, height: height });
71
+ }
72
+ gridGap({
73
+ row: resolveGapValue('row-gap', getComputedStyle(el).rowGap, log),
74
+ column: resolveGapValue('column-gap', getComputedStyle(el).columnGap, log),
75
+ });
76
+ });
77
+ if (stateRestoreInProgress) {
78
+ return null;
79
+ }
80
+ // console.log('rendering items', gridState.items)
81
+ return react_1.default.createElement(ListComponent, tslib_1.__assign(tslib_1.__assign({ ref: listRef, className: listClassName }, Virtuoso_1.contextPropIfNotDomElement(ListComponent, context)), { style: { paddingTop: gridState.offsetTop, paddingBottom: gridState.offsetBottom }, 'data-test-id': 'virtuoso-item-list' }), gridState.items.map(function (item) {
82
+ var key = computeItemKey(item.index, item.data, context);
83
+ return isSeeking
84
+ ? react_1.default.createElement(ScrollSeekPlaceholder, tslib_1.__assign(tslib_1.__assign({ key: key }, Virtuoso_1.contextPropIfNotDomElement(ScrollSeekPlaceholder, context)), { index: item.index, height: gridState.itemHeight, width: gridState.itemWidth }))
85
+ : react_1.default.createElement(ItemComponent, tslib_1.__assign(tslib_1.__assign({}, Virtuoso_1.contextPropIfNotDomElement(ItemComponent, context)), { className: itemClassName, 'data-index': item.index, key: key }), itemContent(item.index, item.data, context));
86
+ }));
87
+ });
88
+ var Header = react_1.default.memo(function VirtuosoHeader() {
89
+ var Header = useEmitterValue('HeaderComponent');
90
+ var headerHeight = usePublisher('headerHeight');
91
+ var headerFooterTag = useEmitterValue('headerFooterTag');
92
+ var ref = useSize_1.default(function (el) { return headerHeight(correctItemSize_1.correctItemSize(el, 'height')); });
93
+ var context = useEmitterValue('context');
94
+ return Header
95
+ ? react_1.default.createElement(headerFooterTag, { ref: ref }, react_1.default.createElement(Header, Virtuoso_1.contextPropIfNotDomElement(Header, context)))
96
+ : null;
97
+ });
98
+ var Footer = react_1.default.memo(function VirtuosoGridFooter() {
99
+ var Footer = useEmitterValue('FooterComponent');
100
+ var footerHeight = usePublisher('footerHeight');
101
+ var headerFooterTag = useEmitterValue('headerFooterTag');
102
+ var ref = useSize_1.default(function (el) { return footerHeight(correctItemSize_1.correctItemSize(el, 'height')); });
103
+ var context = useEmitterValue('context');
104
+ return Footer
105
+ ? react_1.default.createElement(headerFooterTag, { ref: ref }, react_1.default.createElement(Footer, Virtuoso_1.contextPropIfNotDomElement(Footer, context)))
106
+ : null;
107
+ });
108
+ var Viewport = function (_a) {
109
+ var children = _a.children;
110
+ var ctx = react_1.default.useContext(context_1.VirtuosoGridMockContext);
111
+ var itemDimensions = usePublisher('itemDimensions');
112
+ var viewportDimensions = usePublisher('viewportDimensions');
113
+ var viewportRef = useSize_1.default(function (el) {
114
+ viewportDimensions(el.getBoundingClientRect());
115
+ });
116
+ react_1.default.useEffect(function () {
117
+ if (ctx) {
118
+ viewportDimensions({ height: ctx.viewportHeight, width: ctx.viewportWidth });
119
+ itemDimensions({ height: ctx.itemHeight, width: ctx.itemWidth });
120
+ }
121
+ }, [ctx, viewportDimensions, itemDimensions]);
122
+ return (react_1.default.createElement("div", { style: Virtuoso_1.viewportStyle, ref: viewportRef }, children));
123
+ };
124
+ var WindowViewport = function (_a) {
125
+ var children = _a.children;
126
+ var ctx = react_1.default.useContext(context_1.VirtuosoGridMockContext);
127
+ var windowViewportRect = usePublisher('windowViewportRect');
128
+ var itemDimensions = usePublisher('itemDimensions');
129
+ var customScrollParent = useEmitterValue('customScrollParent');
130
+ var viewportRef = useWindowViewportRect_1.default(windowViewportRect, customScrollParent);
131
+ react_1.default.useEffect(function () {
132
+ if (ctx) {
133
+ itemDimensions({ height: ctx.itemHeight, width: ctx.itemWidth });
134
+ windowViewportRect({ offsetTop: 0, visibleHeight: ctx.viewportHeight, visibleWidth: ctx.viewportWidth });
135
+ }
136
+ }, [ctx, windowViewportRect, itemDimensions]);
137
+ return (react_1.default.createElement("div", { ref: viewportRef, style: Virtuoso_1.viewportStyle }, children));
138
+ };
139
+ var GridRoot = react_1.default.memo(function GridRoot(_a) {
140
+ var props = tslib_1.__rest(_a, []);
141
+ var useWindowScroll = useEmitterValue('useWindowScroll');
142
+ var customScrollParent = useEmitterValue('customScrollParent');
143
+ var TheScroller = customScrollParent || useWindowScroll ? WindowScroller : Scroller;
144
+ var TheViewport = customScrollParent || useWindowScroll ? WindowViewport : Viewport;
145
+ return (react_1.default.createElement(TheScroller, tslib_1.__assign({}, props),
146
+ react_1.default.createElement(TheViewport, null,
147
+ react_1.default.createElement(Header, null),
148
+ react_1.default.createElement(GridItems, null),
149
+ react_1.default.createElement(Footer, null))));
150
+ });
151
+ var _a = react_urx_1.systemToComponent(combinedSystem, {
152
+ optional: {
153
+ context: 'context',
154
+ totalCount: 'totalCount',
155
+ overscan: 'overscan',
156
+ itemContent: 'itemContent',
157
+ components: 'components',
158
+ computeItemKey: 'computeItemKey',
159
+ data: 'data',
160
+ initialItemCount: 'initialItemCount',
161
+ scrollSeekConfiguration: 'scrollSeekConfiguration',
162
+ headerFooterTag: 'headerFooterTag',
163
+ listClassName: 'listClassName',
164
+ itemClassName: 'itemClassName',
165
+ useWindowScroll: 'useWindowScroll',
166
+ customScrollParent: 'customScrollParent',
167
+ scrollerRef: 'scrollerRef',
168
+ logLevel: 'logLevel',
169
+ restoreStateFrom: 'restoreStateFrom',
170
+ initialTopMostItemIndex: 'initialTopMostItemIndex',
171
+ },
172
+ methods: {
173
+ scrollTo: 'scrollTo',
174
+ scrollBy: 'scrollBy',
175
+ scrollToIndex: 'scrollToIndex',
176
+ },
177
+ events: {
178
+ isScrolling: 'isScrolling',
179
+ endReached: 'endReached',
180
+ startReached: 'startReached',
181
+ rangeChanged: 'rangeChanged',
182
+ atBottomStateChange: 'atBottomStateChange',
183
+ atTopStateChange: 'atTopStateChange',
184
+ stateChanged: 'stateChanged',
185
+ },
186
+ }, GridRoot), Grid = _a.Component, usePublisher = _a.usePublisher, useEmitterValue = _a.useEmitterValue, useEmitter = _a.useEmitter;
187
+ exports.Grid = Grid;
188
+ var Scroller = /*#__PURE__*/ Virtuoso_1.buildScroller({ usePublisher: usePublisher, useEmitterValue: useEmitterValue, useEmitter: useEmitter });
189
+ var WindowScroller = /*#__PURE__*/ Virtuoso_1.buildWindowScroller({ usePublisher: usePublisher, useEmitterValue: useEmitterValue, useEmitter: useEmitter });
190
+ function resolveGapValue(property, value, log) {
191
+ if (value !== 'normal' && !(value === null || value === void 0 ? void 0 : value.endsWith('px'))) {
192
+ log(property + " was not resolved to pixel value correctly", value, loggerSystem_1.LogLevel.WARN);
193
+ }
194
+ if (value === 'normal') {
195
+ return 0;
196
+ }
197
+ return parseInt(value !== null && value !== void 0 ? value : '0', 10);
198
+ }
199
+ exports.VirtuosoGrid = Grid;