@fluentui/react-virtualizer 9.0.0-alpha.2 → 9.0.0-alpha.21
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.
- package/CHANGELOG.json +383 -1
- package/CHANGELOG.md +184 -2
- package/dist/index.d.ts +180 -34
- package/lib/Hooks.js.map +1 -1
- package/lib/Utilities.js +2 -0
- package/lib/Utilities.js.map +1 -0
- package/lib/Virtualizer.js.map +1 -1
- package/lib/VirtualizerScrollView.js +2 -0
- package/lib/VirtualizerScrollView.js.map +1 -0
- package/lib/VirtualizerScrollViewDynamic.js +2 -0
- package/lib/VirtualizerScrollViewDynamic.js.map +1 -0
- package/lib/components/Virtualizer/Virtualizer.js.map +1 -1
- package/lib/components/Virtualizer/Virtualizer.types.js +1 -1
- package/lib/components/Virtualizer/Virtualizer.types.js.map +1 -1
- package/lib/components/Virtualizer/index.js.map +1 -1
- package/lib/components/Virtualizer/renderVirtualizer.js +11 -12
- package/lib/components/Virtualizer/renderVirtualizer.js.map +1 -1
- package/lib/components/Virtualizer/useVirtualizer.js +46 -41
- package/lib/components/Virtualizer/useVirtualizer.js.map +1 -1
- package/lib/components/Virtualizer/useVirtualizerStyles.js.map +1 -1
- package/lib/components/VirtualizerScrollView/VirtualizerScrollView.js +14 -0
- package/lib/components/VirtualizerScrollView/VirtualizerScrollView.js.map +1 -0
- package/lib/components/VirtualizerScrollView/VirtualizerScrollView.types.js +2 -0
- package/lib/components/VirtualizerScrollView/VirtualizerScrollView.types.js.map +1 -0
- package/lib/components/VirtualizerScrollView/index.js +6 -0
- package/lib/components/VirtualizerScrollView/index.js.map +1 -0
- package/lib/components/VirtualizerScrollView/renderVirtualizerScrollView.js +11 -0
- package/lib/components/VirtualizerScrollView/renderVirtualizerScrollView.js.map +1 -0
- package/lib/components/VirtualizerScrollView/useVirtualizerScrollView.js +38 -0
- package/lib/components/VirtualizerScrollView/useVirtualizerScrollView.js.map +1 -0
- package/lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js +47 -0
- package/lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js.map +1 -0
- package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js +14 -0
- package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map +1 -0
- package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js +2 -0
- package/lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js.map +1 -0
- package/lib/components/VirtualizerScrollViewDynamic/index.js +6 -0
- package/lib/components/VirtualizerScrollViewDynamic/index.js.map +1 -0
- package/lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js +11 -0
- package/lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js.map +1 -0
- package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js +44 -0
- package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map +1 -0
- package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js +46 -0
- package/lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js.map +1 -0
- package/lib/hooks/hooks.types.js +2 -0
- package/lib/hooks/hooks.types.js.map +1 -0
- package/lib/hooks/index.js +4 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useDynamicVirtualizerMeasure.js +99 -0
- package/lib/hooks/useDynamicVirtualizerMeasure.js.map +1 -0
- package/lib/hooks/useIntersectionObserver.js +2 -10
- package/lib/hooks/useIntersectionObserver.js.map +1 -1
- package/lib/hooks/useResizeObserverRef.js +40 -0
- package/lib/hooks/useResizeObserverRef.js.map +1 -0
- package/lib/hooks/useVirtualizerMeasure.js +53 -0
- package/lib/hooks/useVirtualizerMeasure.js.map +1 -0
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/utilities/VirtualizerContext/VirtualizerContext.js +27 -0
- package/lib/utilities/VirtualizerContext/VirtualizerContext.js.map +1 -0
- package/lib/utilities/VirtualizerContext/index.js +3 -0
- package/lib/utilities/VirtualizerContext/index.js.map +1 -0
- package/lib/utilities/VirtualizerContext/types.js +4 -0
- package/lib/utilities/VirtualizerContext/types.js.map +1 -0
- package/lib/utilities/debounce.js +20 -0
- package/lib/utilities/debounce.js.map +1 -0
- package/lib/utilities/index.js +2 -0
- package/lib/utilities/index.js.map +1 -0
- package/lib-commonjs/Hooks.js +5 -4
- package/lib-commonjs/Hooks.js.map +1 -1
- package/lib-commonjs/Utilities.js +9 -0
- package/lib-commonjs/Utilities.js.map +1 -0
- package/lib-commonjs/Virtualizer.js +5 -4
- package/lib-commonjs/Virtualizer.js.map +1 -1
- package/lib-commonjs/VirtualizerScrollView.js +9 -0
- package/lib-commonjs/VirtualizerScrollView.js.map +1 -0
- package/lib-commonjs/VirtualizerScrollViewDynamic.js +9 -0
- package/lib-commonjs/VirtualizerScrollViewDynamic.js.map +1 -0
- package/lib-commonjs/components/Virtualizer/Virtualizer.js +14 -17
- package/lib-commonjs/components/Virtualizer/Virtualizer.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/Virtualizer.types.js +5 -2
- package/lib-commonjs/components/Virtualizer/Virtualizer.types.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/index.js +9 -8
- package/lib-commonjs/components/Virtualizer/index.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/renderVirtualizer.js +26 -21
- package/lib-commonjs/components/Virtualizer/renderVirtualizer.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/useVirtualizer.js +363 -361
- package/lib-commonjs/components/Virtualizer/useVirtualizer.js.map +1 -1
- package/lib-commonjs/components/Virtualizer/useVirtualizerStyles.js +112 -107
- package/lib-commonjs/components/Virtualizer/useVirtualizerStyles.js.map +1 -1
- package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.js +21 -0
- package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.types.js +7 -0
- package/lib-commonjs/components/VirtualizerScrollView/VirtualizerScrollView.types.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollView/index.js +13 -0
- package/lib-commonjs/components/VirtualizerScrollView/index.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollView/renderVirtualizerScrollView.js +17 -0
- package/lib-commonjs/components/VirtualizerScrollView/renderVirtualizerScrollView.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollView.js +43 -0
- package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollView.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js +70 -0
- package/lib-commonjs/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js +21 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js +7 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/index.js +13 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/index.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js +17 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js +49 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map +1 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js +69 -0
- package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js.map +1 -0
- package/lib-commonjs/hooks/hooks.types.js +7 -0
- package/lib-commonjs/hooks/hooks.types.js.map +1 -0
- package/lib-commonjs/hooks/index.js +9 -4
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/useDynamicVirtualizerMeasure.js +107 -0
- package/lib-commonjs/hooks/useDynamicVirtualizerMeasure.js.map +1 -0
- package/lib-commonjs/hooks/useIntersectionObserver.js +41 -54
- package/lib-commonjs/hooks/useIntersectionObserver.js.map +1 -1
- package/lib-commonjs/hooks/useResizeObserverRef.js +51 -0
- package/lib-commonjs/hooks/useResizeObserverRef.js.map +1 -0
- package/lib-commonjs/hooks/useVirtualizerMeasure.js +53 -0
- package/lib-commonjs/hooks/useVirtualizerMeasure.js.map +1 -0
- package/lib-commonjs/index.js +36 -40
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utilities/VirtualizerContext/VirtualizerContext.js +48 -0
- package/lib-commonjs/utilities/VirtualizerContext/VirtualizerContext.js.map +1 -0
- package/lib-commonjs/utilities/VirtualizerContext/index.js +10 -0
- package/lib-commonjs/utilities/VirtualizerContext/index.js.map +1 -0
- package/lib-commonjs/utilities/VirtualizerContext/types.js +9 -0
- package/lib-commonjs/utilities/VirtualizerContext/types.js.map +1 -0
- package/lib-commonjs/utilities/debounce.js +29 -0
- package/lib-commonjs/utilities/debounce.js.map +1 -0
- package/lib-commonjs/utilities/index.js +9 -0
- package/lib-commonjs/utilities/index.js.map +1 -0
- package/package.json +13 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.js"],"sourcesContent":["import { useVirtualizerStyles_unstable, virtualizerClassNames } from '../Virtualizer/useVirtualizerStyles';\nimport { __styles, mergeClasses } from '@griffel/react';\nconst virtualizerScrollViewClassName = 'fui-Virtualizer-Scroll-View';\nexport const virtualizerScrollViewClassNames = {\n ...virtualizerClassNames,\n container: `${virtualizerScrollViewClassName}__container`\n};\nconst useStyles = /*#__PURE__*/__styles({\n base: {\n mc9l5x: \"f22iagw\",\n a9b677: \"fly5x3f\",\n Bqenvij: \"f1l02sjl\",\n Eiaeu8: \"f1115ve7\"\n },\n vertical: {\n Beiy3e4: \"f1vx9l62\",\n Eiaeu8: \"f1115ve7\",\n Bmxbyg5: \"f5zp4f\"\n },\n horizontal: {\n Beiy3e4: \"f1063pyq\",\n B68tc82: \"f1oy3dpc\"\n },\n verticalReversed: {\n Beiy3e4: \"f1gkdon0\",\n Bmxbyg5: \"f5zp4f\"\n },\n horizontalReversed: {\n Beiy3e4: \"f1oztnx0\",\n B68tc82: \"f1oy3dpc\"\n }\n}, {\n d: [\".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}\", \".fly5x3f{width:100%;}\", \".f1l02sjl{height:100%;}\", \".f1115ve7{overflow-anchor:none;}\", \".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}\", \".f5zp4f{overflow-y:auto;}\", \".f1063pyq{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}\", \".f1oy3dpc{overflow-x:auto;}\", \".f1gkdon0{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}\", \".f1oztnx0{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}\"]\n});\n/**\n * Apply styling to the Virtualizer states\n */\nexport const useVirtualizerScrollViewStyles_unstable = state => {\n const styles = useStyles();\n // Default virtualizer styles base\n useVirtualizerStyles_unstable(state);\n const containerStyle = state.axis === 'horizontal' ? state.reversed ? styles.horizontalReversed : styles.horizontal : state.reversed ? styles.verticalReversed : styles.vertical;\n // Add container styles\n state.container.className = mergeClasses(virtualizerScrollViewClassNames.container, styles.base, containerStyle, state.container.className);\n return state;\n};\n//# sourceMappingURL=useVirtualizerScrollViewStyles.js.map"],"names":["virtualizerScrollViewClassNames","useVirtualizerScrollViewStyles_unstable","virtualizerScrollViewClassName","virtualizerClassNames","container","useStyles","__styles","base","mc9l5x","a9b677","Bqenvij","Eiaeu8","vertical","Beiy3e4","Bmxbyg5","horizontal","B68tc82","verticalReversed","horizontalReversed","d","state","styles","useVirtualizerStyles_unstable","containerStyle","axis","reversed","className","mergeClasses"],"mappings":";;;;;;;;;;;IAGaA,+BAA+B,MAA/BA;IAkCAC,uCAAuC,MAAvCA;;sCArCwD;uBAC9B;AACvC,MAAMC,iCAAiC;AAChC,MAAMF,kCAAkC;IAC7C,GAAGG,2CAAqB;IACxBC,WAAW,CAAC,EAAEF,+BAA+B,WAAW,CAAC;AAC3D;AACA,MAAMG,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCC,MAAM;QACJC,QAAQ;QACRC,QAAQ;QACRC,SAAS;QACTC,QAAQ;IACV;IACAC,UAAU;QACRC,SAAS;QACTF,QAAQ;QACRG,SAAS;IACX;IACAC,YAAY;QACVF,SAAS;QACTG,SAAS;IACX;IACAC,kBAAkB;QAChBJ,SAAS;QACTC,SAAS;IACX;IACAI,oBAAoB;QAClBL,SAAS;QACTG,SAAS;IACX;AACF,GAAG;IACDG,GAAG;QAAC;QAAwF;QAAyB;QAA2B;QAAoC;QAA6F;QAA6B;QAAoF;QAA+B;QAAqH;KAA2G;AACnoB;AAIO,MAAMlB,0CAA0CmB,CAAAA,QAAS;IAC9D,MAAMC,SAAShB;IACf,kCAAkC;IAClCiB,IAAAA,mDAA6B,EAACF;IAC9B,MAAMG,iBAAiBH,MAAMI,IAAI,KAAK,eAAeJ,MAAMK,QAAQ,GAAGJ,OAAOH,kBAAkB,GAAGG,OAAON,UAAU,GAAGK,MAAMK,QAAQ,GAAGJ,OAAOJ,gBAAgB,GAAGI,OAAOT,QAAQ;IAChL,uBAAuB;IACvBQ,MAAMhB,SAAS,CAACsB,SAAS,GAAGC,IAAAA,mBAAY,EAAC3B,gCAAgCI,SAAS,EAAEiB,OAAOd,IAAI,EAAEgB,gBAAgBH,MAAMhB,SAAS,CAACsB,SAAS;IAC1I,OAAON;AACT,GACA,0DAA0D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "VirtualizerScrollViewDynamic", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>VirtualizerScrollViewDynamic
|
|
8
|
+
});
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _useVirtualizerScrollViewDynamic = require("./useVirtualizerScrollViewDynamic");
|
|
11
|
+
const _renderVirtualizerScrollViewDynamic = require("./renderVirtualizerScrollViewDynamic");
|
|
12
|
+
const _useVirtualizerScrollViewDynamicStyles = require("./useVirtualizerScrollViewDynamicStyles");
|
|
13
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
14
|
+
const VirtualizerScrollViewDynamic = (props, context)=>{
|
|
15
|
+
const state = (0, _useVirtualizerScrollViewDynamic.useVirtualizerScrollViewDynamic_unstable)(props);
|
|
16
|
+
(0, _useVirtualizerScrollViewDynamicStyles.useVirtualizerScrollViewDynamicStyles_unstable)(state);
|
|
17
|
+
return (0, _renderVirtualizerScrollViewDynamic.renderVirtualizerScrollViewDynamic_unstable)(state);
|
|
18
|
+
};
|
|
19
|
+
VirtualizerScrollViewDynamic.displayName = 'VirtualizerScrollViewDynamic'; //# sourceMappingURL=VirtualizerScrollViewDynamic.js.map
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=VirtualizerScrollViewDynamic.js.map
|
package/lib-commonjs/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.js"],"sourcesContent":["import { useVirtualizerScrollViewDynamic_unstable } from './useVirtualizerScrollViewDynamic';\nimport { renderVirtualizerScrollViewDynamic_unstable } from './renderVirtualizerScrollViewDynamic';\nimport { useVirtualizerScrollViewDynamicStyles_unstable } from './useVirtualizerScrollViewDynamicStyles';\nimport * as React from 'react';\n/**\n * Virtualizer ScrollView\n */\nexport const VirtualizerScrollViewDynamic = (props, context) => {\n const state = useVirtualizerScrollViewDynamic_unstable(props);\n useVirtualizerScrollViewDynamicStyles_unstable(state);\n return renderVirtualizerScrollViewDynamic_unstable(state);\n};\nVirtualizerScrollViewDynamic.displayName = 'VirtualizerScrollViewDynamic';\n//# sourceMappingURL=VirtualizerScrollViewDynamic.js.map"],"names":["VirtualizerScrollViewDynamic","props","context","state","useVirtualizerScrollViewDynamic_unstable","useVirtualizerScrollViewDynamicStyles_unstable","renderVirtualizerScrollViewDynamic_unstable","displayName"],"mappings":";;;;+BAOaA;;aAAAA;;;iDAP4C;oDACG;uDACG;6DACxC;AAIhB,MAAMA,+BAA+B,CAACC,OAAOC,UAAY;IAC9D,MAAMC,QAAQC,IAAAA,yEAAwC,EAACH;IACvDI,IAAAA,qFAA8C,EAACF;IAC/C,OAAOG,IAAAA,+EAA2C,EAACH;AACrD;AACAH,6BAA6BO,WAAW,GAAG,gCAC3C,wDAAwD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=VirtualizerScrollViewDynamic.types.js.map"],"names":[],"mappings":";;;;CACA,8DAA8D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./VirtualizerScrollViewDynamic"), exports);
|
|
7
|
+
_exportStar(require("./VirtualizerScrollViewDynamic.types"), exports);
|
|
8
|
+
_exportStar(require("./useVirtualizerScrollViewDynamic"), exports);
|
|
9
|
+
_exportStar(require("./renderVirtualizerScrollViewDynamic"), exports);
|
|
10
|
+
_exportStar(require("./useVirtualizerScrollViewDynamicStyles"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/index.js"],"sourcesContent":["export * from './VirtualizerScrollViewDynamic';\nexport * from './VirtualizerScrollViewDynamic.types';\nexport * from './useVirtualizerScrollViewDynamic';\nexport * from './renderVirtualizerScrollViewDynamic';\nexport * from './useVirtualizerScrollViewDynamicStyles';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CACd,iCAAiC"}
|
package/lib-commonjs/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** @jsxRuntime classic */ /** @jsx createElement */ "use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "renderVirtualizerScrollViewDynamic_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>renderVirtualizerScrollViewDynamic_unstable
|
|
8
|
+
});
|
|
9
|
+
const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
|
|
10
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
11
|
+
const _renderVirtualizer = require("../Virtualizer/renderVirtualizer");
|
|
12
|
+
const renderVirtualizerScrollViewDynamic_unstable = (state)=>{
|
|
13
|
+
const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
|
|
14
|
+
return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.container, slotProps.container, (0, _renderVirtualizer.renderVirtualizer_unstable)(state));
|
|
15
|
+
}; //# sourceMappingURL=renderVirtualizerScrollViewDynamic.js.map
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=renderVirtualizerScrollViewDynamic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { renderVirtualizer_unstable } from '../Virtualizer/renderVirtualizer';\nexport const renderVirtualizerScrollViewDynamic_unstable = state => {\n const {\n slots,\n slotProps\n } = getSlotsNext(state);\n return /*#__PURE__*/createElement(slots.container, slotProps.container, renderVirtualizer_unstable(state));\n};\n//# sourceMappingURL=renderVirtualizerScrollViewDynamic.js.map"],"names":["renderVirtualizerScrollViewDynamic_unstable","state","slots","slotProps","getSlotsNext","createElement","container","renderVirtualizer_unstable"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAGrCA;;aAAAA;;iCAHqE;gCACrD;mCACc;AACpC,MAAMA,8CAA8CC,CAAAA,QAAS;IAClE,MAAM,EACJC,MAAK,EACLC,UAAS,EACV,GAAGC,IAAAA,4BAAY,EAACH;IACjB,OAAO,WAAW,GAAEI,IAAAA,8BAAa,EAACH,MAAMI,SAAS,EAAEH,UAAUG,SAAS,EAAEC,IAAAA,6CAA0B,EAACN;AACrG,GACA,8DAA8D"}
|
package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useVirtualizerScrollViewDynamic_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useVirtualizerScrollViewDynamic_unstable
|
|
8
|
+
});
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
12
|
+
const _useVirtualizer = require("../Virtualizer/useVirtualizer");
|
|
13
|
+
const _hooks = require("../../Hooks");
|
|
14
|
+
const _utilities = require("../../Utilities");
|
|
15
|
+
function useVirtualizerScrollViewDynamic_unstable(props) {
|
|
16
|
+
const contextState = (0, _utilities.useVirtualizerContextState_unstable)(props.virtualizerContext);
|
|
17
|
+
var _props_axis, _contextState_contextIndex;
|
|
18
|
+
const { virtualizerLength , bufferItems , bufferSize , scrollRef } = (0, _hooks.useDynamicVirtualizerMeasure)({
|
|
19
|
+
defaultItemSize: props.itemSize,
|
|
20
|
+
direction: (_props_axis = props.axis) !== null && _props_axis !== void 0 ? _props_axis : 'vertical',
|
|
21
|
+
getItemSize: props.getItemSize,
|
|
22
|
+
currentIndex: (_contextState_contextIndex = contextState === null || contextState === void 0 ? void 0 : contextState.contextIndex) !== null && _contextState_contextIndex !== void 0 ? _contextState_contextIndex : 0,
|
|
23
|
+
numItems: props.numItems
|
|
24
|
+
});
|
|
25
|
+
const iScrollRef = (0, _reactUtilities.useMergedRefs)(_react.useRef(null), scrollRef);
|
|
26
|
+
const virtualizerState = (0, _useVirtualizer.useVirtualizer_unstable)({
|
|
27
|
+
...props,
|
|
28
|
+
virtualizerLength,
|
|
29
|
+
bufferItems,
|
|
30
|
+
bufferSize,
|
|
31
|
+
scrollViewRef: iScrollRef,
|
|
32
|
+
virtualizerContext: contextState
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
...virtualizerState,
|
|
36
|
+
components: {
|
|
37
|
+
...virtualizerState.components,
|
|
38
|
+
container: 'div'
|
|
39
|
+
},
|
|
40
|
+
container: (0, _reactUtilities.resolveShorthand)(props.container, {
|
|
41
|
+
required: true,
|
|
42
|
+
defaultProps: {
|
|
43
|
+
ref: iScrollRef
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
};
|
|
47
|
+
} //# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map
|
package/lib-commonjs/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.js"],"sourcesContent":["import * as React from 'react';\nimport { resolveShorthand, useMergedRefs } from '@fluentui/react-utilities';\nimport { useVirtualizer_unstable } from '../Virtualizer/useVirtualizer';\nimport { useDynamicVirtualizerMeasure } from '../../Hooks';\nimport { useVirtualizerContextState_unstable } from '../../Utilities';\nexport function useVirtualizerScrollViewDynamic_unstable(props) {\n const contextState = useVirtualizerContextState_unstable(props.virtualizerContext);\n var _props_axis, _contextState_contextIndex;\n const {\n virtualizerLength,\n bufferItems,\n bufferSize,\n scrollRef\n } = useDynamicVirtualizerMeasure({\n defaultItemSize: props.itemSize,\n direction: (_props_axis = props.axis) !== null && _props_axis !== void 0 ? _props_axis : 'vertical',\n getItemSize: props.getItemSize,\n currentIndex: (_contextState_contextIndex = contextState === null || contextState === void 0 ? void 0 : contextState.contextIndex) !== null && _contextState_contextIndex !== void 0 ? _contextState_contextIndex : 0,\n numItems: props.numItems\n });\n const iScrollRef = useMergedRefs(React.useRef(null), scrollRef);\n const virtualizerState = useVirtualizer_unstable({\n ...props,\n virtualizerLength,\n bufferItems,\n bufferSize,\n scrollViewRef: iScrollRef,\n virtualizerContext: contextState\n });\n return {\n ...virtualizerState,\n components: {\n ...virtualizerState.components,\n container: 'div'\n },\n container: resolveShorthand(props.container, {\n required: true,\n defaultProps: {\n ref: iScrollRef\n }\n })\n };\n}\n//# sourceMappingURL=useVirtualizerScrollViewDynamic.js.map"],"names":["useVirtualizerScrollViewDynamic_unstable","props","contextState","useVirtualizerContextState_unstable","virtualizerContext","_props_axis","_contextState_contextIndex","virtualizerLength","bufferItems","bufferSize","scrollRef","useDynamicVirtualizerMeasure","defaultItemSize","itemSize","direction","axis","getItemSize","currentIndex","contextIndex","numItems","iScrollRef","useMergedRefs","React","useRef","virtualizerState","useVirtualizer_unstable","scrollViewRef","components","container","resolveShorthand","required","defaultProps","ref"],"mappings":";;;;+BAKgBA;;aAAAA;;;6DALO;gCACyB;gCACR;uBACK;2BACO;AAC7C,SAASA,yCAAyCC,KAAK,EAAE;IAC9D,MAAMC,eAAeC,IAAAA,8CAAmC,EAACF,MAAMG,kBAAkB;IACjF,IAAIC,aAAaC;IACjB,MAAM,EACJC,kBAAiB,EACjBC,YAAW,EACXC,WAAU,EACVC,UAAS,EACV,GAAGC,IAAAA,mCAA4B,EAAC;QAC/BC,iBAAiBX,MAAMY,QAAQ;QAC/BC,WAAW,AAACT,CAAAA,cAAcJ,MAAMc,IAAI,AAAD,MAAO,IAAI,IAAIV,gBAAgB,KAAK,IAAIA,cAAc,UAAU;QACnGW,aAAaf,MAAMe,WAAW;QAC9BC,cAAc,AAACX,CAAAA,6BAA6BJ,iBAAiB,IAAI,IAAIA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAagB,YAAY,AAAD,MAAO,IAAI,IAAIZ,+BAA+B,KAAK,IAAIA,6BAA6B,CAAC;QACrNa,UAAUlB,MAAMkB,QAAQ;IAC1B;IACA,MAAMC,aAAaC,IAAAA,6BAAa,EAACC,OAAMC,MAAM,CAAC,IAAI,GAAGb;IACrD,MAAMc,mBAAmBC,IAAAA,uCAAuB,EAAC;QAC/C,GAAGxB,KAAK;QACRM;QACAC;QACAC;QACAiB,eAAeN;QACfhB,oBAAoBF;IACtB;IACA,OAAO;QACL,GAAGsB,gBAAgB;QACnBG,YAAY;YACV,GAAGH,iBAAiBG,UAAU;YAC9BC,WAAW;QACb;QACAA,WAAWC,IAAAA,gCAAgB,EAAC5B,MAAM2B,SAAS,EAAE;YAC3CE,UAAU,IAAI;YACdC,cAAc;gBACZC,KAAKZ;YACP;QACF;IACF;AACF,EACA,2DAA2D"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
virtualizerScrollViewDynamicClassNames: ()=>virtualizerScrollViewDynamicClassNames,
|
|
13
|
+
useVirtualizerScrollViewDynamicStyles_unstable: ()=>useVirtualizerScrollViewDynamicStyles_unstable
|
|
14
|
+
});
|
|
15
|
+
const _useVirtualizerStyles = require("../Virtualizer/useVirtualizerStyles");
|
|
16
|
+
const _react = require("@griffel/react");
|
|
17
|
+
const virtualizerScrollViewDynamicClassName = 'fui-Virtualizer-Scroll-View-Dynamic';
|
|
18
|
+
const virtualizerScrollViewDynamicClassNames = {
|
|
19
|
+
..._useVirtualizerStyles.virtualizerClassNames,
|
|
20
|
+
container: `${virtualizerScrollViewDynamicClassName}__container`
|
|
21
|
+
};
|
|
22
|
+
const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
23
|
+
base: {
|
|
24
|
+
mc9l5x: "f22iagw",
|
|
25
|
+
a9b677: "fly5x3f",
|
|
26
|
+
Bqenvij: "f1l02sjl",
|
|
27
|
+
Eiaeu8: "f1115ve7"
|
|
28
|
+
},
|
|
29
|
+
vertical: {
|
|
30
|
+
Beiy3e4: "f1vx9l62",
|
|
31
|
+
Bmxbyg5: "f5zp4f"
|
|
32
|
+
},
|
|
33
|
+
horizontal: {
|
|
34
|
+
Beiy3e4: "f1063pyq",
|
|
35
|
+
B68tc82: "f1oy3dpc"
|
|
36
|
+
},
|
|
37
|
+
verticalReversed: {
|
|
38
|
+
Beiy3e4: "f1gkdon0",
|
|
39
|
+
Bmxbyg5: "f5zp4f"
|
|
40
|
+
},
|
|
41
|
+
horizontalReversed: {
|
|
42
|
+
Beiy3e4: "f1oztnx0",
|
|
43
|
+
B68tc82: "f1oy3dpc"
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
d: [
|
|
47
|
+
".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}",
|
|
48
|
+
".fly5x3f{width:100%;}",
|
|
49
|
+
".f1l02sjl{height:100%;}",
|
|
50
|
+
".f1115ve7{overflow-anchor:none;}",
|
|
51
|
+
".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}",
|
|
52
|
+
".f5zp4f{overflow-y:auto;}",
|
|
53
|
+
".f1063pyq{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}",
|
|
54
|
+
".f1oy3dpc{overflow-x:auto;}",
|
|
55
|
+
".f1gkdon0{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}",
|
|
56
|
+
".f1oztnx0{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}"
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
const useVirtualizerScrollViewDynamicStyles_unstable = (state)=>{
|
|
60
|
+
const styles = useStyles();
|
|
61
|
+
// Default virtualizer styles base
|
|
62
|
+
(0, _useVirtualizerStyles.useVirtualizerStyles_unstable)(state);
|
|
63
|
+
const containerStyle = state.axis === 'horizontal' ? state.reversed ? styles.horizontalReversed : styles.horizontal : state.reversed ? styles.verticalReversed : styles.vertical;
|
|
64
|
+
// Add container styles
|
|
65
|
+
state.container.className = (0, _react.mergeClasses)(virtualizerScrollViewDynamicClassNames.container, styles.base, containerStyle, state.container.className);
|
|
66
|
+
return state;
|
|
67
|
+
}; //# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.js.map
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.js"],"sourcesContent":["import { useVirtualizerStyles_unstable, virtualizerClassNames } from '../Virtualizer/useVirtualizerStyles';\nimport { __styles, mergeClasses } from '@griffel/react';\nconst virtualizerScrollViewDynamicClassName = 'fui-Virtualizer-Scroll-View-Dynamic';\nexport const virtualizerScrollViewDynamicClassNames = {\n ...virtualizerClassNames,\n container: `${virtualizerScrollViewDynamicClassName}__container`\n};\nconst useStyles = /*#__PURE__*/__styles({\n base: {\n mc9l5x: \"f22iagw\",\n a9b677: \"fly5x3f\",\n Bqenvij: \"f1l02sjl\",\n Eiaeu8: \"f1115ve7\"\n },\n vertical: {\n Beiy3e4: \"f1vx9l62\",\n Bmxbyg5: \"f5zp4f\"\n },\n horizontal: {\n Beiy3e4: \"f1063pyq\",\n B68tc82: \"f1oy3dpc\"\n },\n verticalReversed: {\n Beiy3e4: \"f1gkdon0\",\n Bmxbyg5: \"f5zp4f\"\n },\n horizontalReversed: {\n Beiy3e4: \"f1oztnx0\",\n B68tc82: \"f1oy3dpc\"\n }\n}, {\n d: [\".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}\", \".fly5x3f{width:100%;}\", \".f1l02sjl{height:100%;}\", \".f1115ve7{overflow-anchor:none;}\", \".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}\", \".f5zp4f{overflow-y:auto;}\", \".f1063pyq{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}\", \".f1oy3dpc{overflow-x:auto;}\", \".f1gkdon0{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}\", \".f1oztnx0{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}\"]\n});\n/**\n * Apply styling to the Virtualizer states\n */\nexport const useVirtualizerScrollViewDynamicStyles_unstable = state => {\n const styles = useStyles();\n // Default virtualizer styles base\n useVirtualizerStyles_unstable(state);\n const containerStyle = state.axis === 'horizontal' ? state.reversed ? styles.horizontalReversed : styles.horizontal : state.reversed ? styles.verticalReversed : styles.vertical;\n // Add container styles\n state.container.className = mergeClasses(virtualizerScrollViewDynamicClassNames.container, styles.base, containerStyle, state.container.className);\n return state;\n};\n//# sourceMappingURL=useVirtualizerScrollViewDynamicStyles.js.map"],"names":["virtualizerScrollViewDynamicClassNames","useVirtualizerScrollViewDynamicStyles_unstable","virtualizerScrollViewDynamicClassName","virtualizerClassNames","container","useStyles","__styles","base","mc9l5x","a9b677","Bqenvij","Eiaeu8","vertical","Beiy3e4","Bmxbyg5","horizontal","B68tc82","verticalReversed","horizontalReversed","d","state","styles","useVirtualizerStyles_unstable","containerStyle","axis","reversed","className","mergeClasses"],"mappings":";;;;;;;;;;;IAGaA,sCAAsC,MAAtCA;IAiCAC,8CAA8C,MAA9CA;;sCApCwD;uBAC9B;AACvC,MAAMC,wCAAwC;AACvC,MAAMF,yCAAyC;IACpD,GAAGG,2CAAqB;IACxBC,WAAW,CAAC,EAAEF,sCAAsC,WAAW,CAAC;AAClE;AACA,MAAMG,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCC,MAAM;QACJC,QAAQ;QACRC,QAAQ;QACRC,SAAS;QACTC,QAAQ;IACV;IACAC,UAAU;QACRC,SAAS;QACTC,SAAS;IACX;IACAC,YAAY;QACVF,SAAS;QACTG,SAAS;IACX;IACAC,kBAAkB;QAChBJ,SAAS;QACTC,SAAS;IACX;IACAI,oBAAoB;QAClBL,SAAS;QACTG,SAAS;IACX;AACF,GAAG;IACDG,GAAG;QAAC;QAAwF;QAAyB;QAA2B;QAAoC;QAA6F;QAA6B;QAAoF;QAA+B;QAAqH;KAA2G;AACnoB;AAIO,MAAMlB,iDAAiDmB,CAAAA,QAAS;IACrE,MAAMC,SAAShB;IACf,kCAAkC;IAClCiB,IAAAA,mDAA6B,EAACF;IAC9B,MAAMG,iBAAiBH,MAAMI,IAAI,KAAK,eAAeJ,MAAMK,QAAQ,GAAGJ,OAAOH,kBAAkB,GAAGG,OAAON,UAAU,GAAGK,MAAMK,QAAQ,GAAGJ,OAAOJ,gBAAgB,GAAGI,OAAOT,QAAQ;IAChL,uBAAuB;IACvBQ,MAAMhB,SAAS,CAACsB,SAAS,GAAGC,IAAAA,mBAAY,EAAC3B,uCAAuCI,SAAS,EAAEiB,OAAOd,IAAI,EAAEgB,gBAAgBH,MAAMhB,SAAS,CAACsB,SAAS;IACjJ,OAAON;AACT,GACA,iEAAiE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../lib/hooks/hooks.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=hooks.types.js.map"],"names":[],"mappings":";;;;CACA,uCAAuC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./useIntersectionObserver"), exports);
|
|
7
|
+
_exportStar(require("./useVirtualizerMeasure"), exports);
|
|
8
|
+
_exportStar(require("./useDynamicVirtualizerMeasure"), exports);
|
|
9
|
+
_exportStar(require("./useResizeObserverRef"), exports);
|
|
10
|
+
_exportStar(require("./hooks.types"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
12
|
+
|
|
8
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../lib/hooks/index.js"],"sourcesContent":["export * from './useIntersectionObserver';\nexport * from './useVirtualizerMeasure';\nexport * from './useDynamicVirtualizerMeasure';\nexport * from './useResizeObserverRef';\nexport * from './hooks.types';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CACd,iCAAiC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useDynamicVirtualizerMeasure", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useDynamicVirtualizerMeasure
|
|
8
|
+
});
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
11
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
12
|
+
const _useResizeObserverRef = require("./useResizeObserverRef");
|
|
13
|
+
const useDynamicVirtualizerMeasure = (virtualizerProps)=>{
|
|
14
|
+
const { defaultItemSize , direction ='vertical' , numItems , getItemSize , currentIndex } = virtualizerProps;
|
|
15
|
+
const indexRef = (0, _react.useRef)(currentIndex);
|
|
16
|
+
indexRef.current = currentIndex;
|
|
17
|
+
const [state, setState] = _react.useState({
|
|
18
|
+
virtualizerLength: 0,
|
|
19
|
+
virtualizerBufferItems: 0,
|
|
20
|
+
virtualizerBufferSize: 0
|
|
21
|
+
});
|
|
22
|
+
const { virtualizerLength , virtualizerBufferItems , virtualizerBufferSize } = state;
|
|
23
|
+
const container = _react.useRef(null);
|
|
24
|
+
const handleScrollResize = _react.useCallback((scrollRef)=>{
|
|
25
|
+
if (!(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current)) {
|
|
26
|
+
// Error? ignore?
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (scrollRef.current !== container.current) {
|
|
30
|
+
container.current = scrollRef.current;
|
|
31
|
+
}
|
|
32
|
+
const containerSize = direction === 'vertical' ? scrollRef.current.getBoundingClientRect().height : scrollRef.current.getBoundingClientRect().width;
|
|
33
|
+
let indexSizer = 0;
|
|
34
|
+
let length = 0;
|
|
35
|
+
while(indexSizer <= containerSize && length < numItems){
|
|
36
|
+
const iItemSize = getItemSize(indexRef.current + length);
|
|
37
|
+
// Increment
|
|
38
|
+
indexSizer += iItemSize;
|
|
39
|
+
length++;
|
|
40
|
+
}
|
|
41
|
+
/*
|
|
42
|
+
* Number of items to append at each end, i.e. 'preload' each side before entering view.
|
|
43
|
+
*/ const bufferItems = Math.max(Math.floor(length / 4), 2);
|
|
44
|
+
/*
|
|
45
|
+
* This is how far we deviate into the bufferItems to detect a redraw.
|
|
46
|
+
*/ const bufferSize = Math.max(Math.floor(length / 8 * defaultItemSize), 1);
|
|
47
|
+
const totalLength = length + bufferItems * 2 + 3;
|
|
48
|
+
setState({
|
|
49
|
+
virtualizerLength: totalLength,
|
|
50
|
+
virtualizerBufferSize: bufferSize,
|
|
51
|
+
virtualizerBufferItems: bufferItems
|
|
52
|
+
});
|
|
53
|
+
}, [
|
|
54
|
+
defaultItemSize,
|
|
55
|
+
direction,
|
|
56
|
+
getItemSize,
|
|
57
|
+
numItems
|
|
58
|
+
]);
|
|
59
|
+
const resizeCallback = _react.useCallback((_entries, _observer, scrollRef)=>{
|
|
60
|
+
if (scrollRef) {
|
|
61
|
+
handleScrollResize(scrollRef);
|
|
62
|
+
}
|
|
63
|
+
}, [
|
|
64
|
+
handleScrollResize
|
|
65
|
+
]);
|
|
66
|
+
const scrollRef = (0, _useResizeObserverRef.useResizeObserverRef_unstable)(resizeCallback);
|
|
67
|
+
(0, _reactUtilities.useIsomorphicLayoutEffect)(()=>{
|
|
68
|
+
var _container_current, _container_current1;
|
|
69
|
+
if (!container.current) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const containerSize = direction === 'vertical' ? ((_container_current = container.current) === null || _container_current === void 0 ? void 0 : _container_current.getBoundingClientRect().height) * 1.5 : ((_container_current1 = container.current) === null || _container_current1 === void 0 ? void 0 : _container_current1.getBoundingClientRect().width) * 1.5;
|
|
73
|
+
let couldBeSmaller = false;
|
|
74
|
+
let recheckTotal = 0;
|
|
75
|
+
for(let i = currentIndex; i < currentIndex + virtualizerLength; i++){
|
|
76
|
+
const newItemSize = getItemSize(i);
|
|
77
|
+
recheckTotal += newItemSize;
|
|
78
|
+
const newLength = i - currentIndex;
|
|
79
|
+
const bufferItems = Math.max(Math.floor(newLength / 4), 2);
|
|
80
|
+
const totalNewLength = newLength + bufferItems * 2 + 4;
|
|
81
|
+
const compareLengths = totalNewLength < virtualizerLength;
|
|
82
|
+
if (recheckTotal > containerSize && compareLengths) {
|
|
83
|
+
couldBeSmaller = true;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Check if the render has caused us to need a re-calc of virtualizer length
|
|
88
|
+
if (recheckTotal < containerSize || couldBeSmaller) {
|
|
89
|
+
handleScrollResize(container);
|
|
90
|
+
}
|
|
91
|
+
}, [
|
|
92
|
+
getItemSize,
|
|
93
|
+
currentIndex,
|
|
94
|
+
direction,
|
|
95
|
+
virtualizerLength,
|
|
96
|
+
resizeCallback,
|
|
97
|
+
handleScrollResize
|
|
98
|
+
]);
|
|
99
|
+
return {
|
|
100
|
+
virtualizerLength,
|
|
101
|
+
bufferItems: virtualizerBufferItems,
|
|
102
|
+
bufferSize: virtualizerBufferSize,
|
|
103
|
+
scrollRef
|
|
104
|
+
};
|
|
105
|
+
}; //# sourceMappingURL=useDynamicVirtualizerMeasure.js.map
|
|
106
|
+
|
|
107
|
+
//# sourceMappingURL=useDynamicVirtualizerMeasure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../lib/hooks/useDynamicVirtualizerMeasure.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useResizeObserverRef_unstable } from './useResizeObserverRef';\nimport { useRef } from 'react';\n/**\n * React hook that measures virtualized space dynamically to ensure optimized virtualization length.\n */\nexport const useDynamicVirtualizerMeasure = virtualizerProps => {\n const {\n defaultItemSize,\n direction = 'vertical',\n numItems,\n getItemSize,\n currentIndex\n } = virtualizerProps;\n const indexRef = useRef(currentIndex);\n indexRef.current = currentIndex;\n const [state, setState] = React.useState({\n virtualizerLength: 0,\n virtualizerBufferItems: 0,\n virtualizerBufferSize: 0\n });\n const {\n virtualizerLength,\n virtualizerBufferItems,\n virtualizerBufferSize\n } = state;\n const container = React.useRef(null);\n const handleScrollResize = React.useCallback(scrollRef => {\n if (!(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current)) {\n // Error? ignore?\n return;\n }\n if (scrollRef.current !== container.current) {\n container.current = scrollRef.current;\n }\n const containerSize = direction === 'vertical' ? scrollRef.current.getBoundingClientRect().height : scrollRef.current.getBoundingClientRect().width;\n let indexSizer = 0;\n let length = 0;\n while (indexSizer <= containerSize && length < numItems) {\n const iItemSize = getItemSize(indexRef.current + length);\n // Increment\n indexSizer += iItemSize;\n length++;\n }\n /*\n * Number of items to append at each end, i.e. 'preload' each side before entering view.\n */\n const bufferItems = Math.max(Math.floor(length / 4), 2);\n /*\n * This is how far we deviate into the bufferItems to detect a redraw.\n */\n const bufferSize = Math.max(Math.floor(length / 8 * defaultItemSize), 1);\n const totalLength = length + bufferItems * 2 + 3;\n setState({\n virtualizerLength: totalLength,\n virtualizerBufferSize: bufferSize,\n virtualizerBufferItems: bufferItems\n });\n }, [defaultItemSize, direction, getItemSize, numItems]);\n const resizeCallback = React.useCallback((_entries, _observer, scrollRef) => {\n if (scrollRef) {\n handleScrollResize(scrollRef);\n }\n }, [handleScrollResize]);\n const scrollRef = useResizeObserverRef_unstable(resizeCallback);\n useIsomorphicLayoutEffect(() => {\n var _container_current, _container_current1;\n if (!container.current) {\n return;\n }\n const containerSize = direction === 'vertical' ? ((_container_current = container.current) === null || _container_current === void 0 ? void 0 : _container_current.getBoundingClientRect().height) * 1.5 : ((_container_current1 = container.current) === null || _container_current1 === void 0 ? void 0 : _container_current1.getBoundingClientRect().width) * 1.5;\n let couldBeSmaller = false;\n let recheckTotal = 0;\n for (let i = currentIndex; i < currentIndex + virtualizerLength; i++) {\n const newItemSize = getItemSize(i);\n recheckTotal += newItemSize;\n const newLength = i - currentIndex;\n const bufferItems = Math.max(Math.floor(newLength / 4), 2);\n const totalNewLength = newLength + bufferItems * 2 + 4;\n const compareLengths = totalNewLength < virtualizerLength;\n if (recheckTotal > containerSize && compareLengths) {\n couldBeSmaller = true;\n break;\n }\n }\n // Check if the render has caused us to need a re-calc of virtualizer length\n if (recheckTotal < containerSize || couldBeSmaller) {\n handleScrollResize(container);\n }\n }, [getItemSize, currentIndex, direction, virtualizerLength, resizeCallback, handleScrollResize]);\n return {\n virtualizerLength,\n bufferItems: virtualizerBufferItems,\n bufferSize: virtualizerBufferSize,\n scrollRef\n };\n};\n//# sourceMappingURL=useDynamicVirtualizerMeasure.js.map"],"names":["useDynamicVirtualizerMeasure","virtualizerProps","defaultItemSize","direction","numItems","getItemSize","currentIndex","indexRef","useRef","current","state","setState","React","useState","virtualizerLength","virtualizerBufferItems","virtualizerBufferSize","container","handleScrollResize","useCallback","scrollRef","containerSize","getBoundingClientRect","height","width","indexSizer","length","iItemSize","bufferItems","Math","max","floor","bufferSize","totalLength","resizeCallback","_entries","_observer","useResizeObserverRef_unstable","useIsomorphicLayoutEffect","_container_current","_container_current1","couldBeSmaller","recheckTotal","i","newItemSize","newLength","totalNewLength","compareLengths"],"mappings":"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"}
|
|
@@ -1,59 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useIntersectionObserver", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useIntersectionObserver
|
|
5
8
|
});
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
observerList.forEach(element => {
|
|
41
|
-
var _a;
|
|
42
|
-
(_a = observer.current) === null || _a === void 0 ? void 0 : _a.observe(element);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
// clean up previous elements being listened to
|
|
46
|
-
return () => {
|
|
47
|
-
if (observer.current) {
|
|
48
|
-
observer.current.disconnect();
|
|
49
|
-
}
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
12
|
+
const { useState , useRef } = _react;
|
|
13
|
+
const useIntersectionObserver = (callback, options)=>{
|
|
14
|
+
const observer = useRef();
|
|
15
|
+
const [observerList, setObserverList] = useState();
|
|
16
|
+
const [observerInit, setObserverInit] = useState(options);
|
|
17
|
+
// Observer elements in passed in list and clean up previous list
|
|
18
|
+
// This effect is only triggered when observerList is updated
|
|
19
|
+
(0, _reactUtilities.useIsomorphicLayoutEffect)(()=>{
|
|
20
|
+
observer.current = new IntersectionObserver(callback, observerInit);
|
|
21
|
+
// If we have an instance of IO and a list with elements, observer the elements
|
|
22
|
+
if (observer.current && observerList && observerList.length > 0) {
|
|
23
|
+
observerList.forEach((element)=>{
|
|
24
|
+
var _observer_current;
|
|
25
|
+
(_observer_current = observer.current) === null || _observer_current === void 0 ? void 0 : _observer_current.observe(element);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
// clean up previous elements being listened to
|
|
29
|
+
return ()=>{
|
|
30
|
+
if (observer.current) {
|
|
31
|
+
observer.current.disconnect();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}, [
|
|
35
|
+
observerList,
|
|
36
|
+
observerInit,
|
|
37
|
+
callback
|
|
38
|
+
]);
|
|
39
|
+
return {
|
|
40
|
+
setObserverList,
|
|
41
|
+
setObserverInit,
|
|
42
|
+
observer
|
|
50
43
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
setObserverList,
|
|
54
|
-
setObserverInit,
|
|
55
|
-
observer
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
exports.useIntersectionObserver = useIntersectionObserver;
|
|
44
|
+
}; //# sourceMappingURL=useIntersectionObserver.js.map
|
|
45
|
+
|
|
59
46
|
//# sourceMappingURL=useIntersectionObserver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../lib/hooks/useIntersectionObserver.js"],"sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nconst {\n useState,\n useRef\n} = React;\n/**\n * React hook that allows easy usage of the browser API IntersectionObserver within React\n * @param callback - A function called when the percentage of the target element is visible crosses a threshold.\n * @param options - An optional object which customizes the observer. If options isn't specified, the observer uses the\n * document's viewport as the root, with no margin, and a 0% threshold (meaning that even a one-pixel change is\n * enough to trigger a callback).\n * @returns An array containing a callback to update the list of Elements the observer should listen to, a callback to\n * update the init options of the IntersectionObserver and a ref to the IntersectionObserver instance itself.\n */\nexport const useIntersectionObserver = (callback, options) => {\n const observer = useRef();\n const [observerList, setObserverList] = useState();\n const [observerInit, setObserverInit] = useState(options);\n // Observer elements in passed in list and clean up previous list\n // This effect is only triggered when observerList is updated\n useIsomorphicLayoutEffect(() => {\n observer.current = new IntersectionObserver(callback, observerInit);\n // If we have an instance of IO and a list with elements, observer the elements\n if (observer.current && observerList && observerList.length > 0) {\n observerList.forEach(element => {\n var _observer_current;\n (_observer_current = observer.current) === null || _observer_current === void 0 ? void 0 : _observer_current.observe(element);\n });\n }\n // clean up previous elements being listened to\n return () => {\n if (observer.current) {\n observer.current.disconnect();\n }\n };\n }, [observerList, observerInit, callback]);\n return {\n setObserverList,\n setObserverInit,\n observer\n };\n};\n//# sourceMappingURL=useIntersectionObserver.js.map"],"names":["useIntersectionObserver","useState","useRef","React","callback","options","observer","observerList","setObserverList","observerInit","setObserverInit","useIsomorphicLayoutEffect","current","IntersectionObserver","length","forEach","element","_observer_current","observe","disconnect"],"mappings":";;;;+BAeaA;;aAAAA;;;6DAfU;gCACmB;AAC1C,MAAM,EACJC,SAAQ,EACRC,OAAM,EACP,GAAGC;AAUG,MAAMH,0BAA0B,CAACI,UAAUC,UAAY;IAC5D,MAAMC,WAAWJ;IACjB,MAAM,CAACK,cAAcC,gBAAgB,GAAGP;IACxC,MAAM,CAACQ,cAAcC,gBAAgB,GAAGT,SAASI;IACjD,iEAAiE;IACjE,6DAA6D;IAC7DM,IAAAA,yCAAyB,EAAC,IAAM;QAC9BL,SAASM,OAAO,GAAG,IAAIC,qBAAqBT,UAAUK;QACtD,+EAA+E;QAC/E,IAAIH,SAASM,OAAO,IAAIL,gBAAgBA,aAAaO,MAAM,GAAG,GAAG;YAC/DP,aAAaQ,OAAO,CAACC,CAAAA,UAAW;gBAC9B,IAAIC;gBACHA,CAAAA,oBAAoBX,SAASM,OAAO,AAAD,MAAO,IAAI,IAAIK,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBC,OAAO,CAACF,QAAQ;YAC/H;QACF,CAAC;QACD,+CAA+C;QAC/C,OAAO,IAAM;YACX,IAAIV,SAASM,OAAO,EAAE;gBACpBN,SAASM,OAAO,CAACO,UAAU;YAC7B,CAAC;QACH;IACF,GAAG;QAACZ;QAAcE;QAAcL;KAAS;IACzC,OAAO;QACLI;QACAE;QACAJ;IACF;AACF,GACA,mDAAmD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useResizeObserverRef_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useResizeObserverRef_unstable
|
|
8
|
+
});
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
|
+
const _debounce = require("../utilities/debounce");
|
|
12
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
13
|
+
const useResizeObserverRef_unstable = (resizeCallback)=>{
|
|
14
|
+
const container = _react.useRef(null);
|
|
15
|
+
// the handler for resize observer
|
|
16
|
+
const handleResize = (0, _debounce.debounce)((entries, observer)=>{
|
|
17
|
+
resizeCallback(entries, observer, container);
|
|
18
|
+
});
|
|
19
|
+
// Keep the reference of ResizeObserver in the state, as it should live through renders
|
|
20
|
+
const [resizeObserver, setResizeObserver] = _react.useState(()=>(0, _reactUtilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
|
|
21
|
+
_react.useEffect(()=>{
|
|
22
|
+
// Update our state when resizeCallback changes
|
|
23
|
+
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
|
|
24
|
+
setResizeObserver((0, _reactUtilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
|
|
25
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26
|
+
}, [
|
|
27
|
+
resizeCallback
|
|
28
|
+
]);
|
|
29
|
+
_react.useEffect(()=>{
|
|
30
|
+
return ()=>{
|
|
31
|
+
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
|
|
32
|
+
};
|
|
33
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
|
+
}, []);
|
|
35
|
+
const scrollRef = _react.useCallback((instance)=>{
|
|
36
|
+
if (container.current !== instance) {
|
|
37
|
+
if (container.current) {
|
|
38
|
+
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(container.current);
|
|
39
|
+
}
|
|
40
|
+
container.current = instance;
|
|
41
|
+
if (container.current) {
|
|
42
|
+
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(container.current);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}, [
|
|
46
|
+
resizeObserver
|
|
47
|
+
]);
|
|
48
|
+
return scrollRef;
|
|
49
|
+
}; //# sourceMappingURL=useResizeObserverRef.js.map
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=useResizeObserverRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../lib/hooks/useResizeObserverRef.js"],"sourcesContent":["import * as React from 'react';\nimport { debounce } from '../utilities/debounce';\nimport { canUseDOM } from '@fluentui/react-utilities';\n/**\n * useResizeObserverRef_unstable simplifies resize observer connection and ensures debounce/cleanup\n */\nexport const useResizeObserverRef_unstable = resizeCallback => {\n const container = React.useRef(null);\n // the handler for resize observer\n const handleResize = debounce((entries, observer) => {\n resizeCallback(entries, observer, container);\n });\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver, setResizeObserver] = React.useState(() => canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n React.useEffect(() => {\n // Update our state when resizeCallback changes\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n setResizeObserver(canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [resizeCallback]);\n React.useEffect(() => {\n return () => {\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const scrollRef = React.useCallback(instance => {\n if (container.current !== instance) {\n if (container.current) {\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(container.current);\n }\n container.current = instance;\n if (container.current) {\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(container.current);\n }\n }\n }, [resizeObserver]);\n return scrollRef;\n};\n//# sourceMappingURL=useResizeObserverRef.js.map"],"names":["useResizeObserverRef_unstable","resizeCallback","container","React","useRef","handleResize","debounce","entries","observer","resizeObserver","setResizeObserver","useState","canUseDOM","ResizeObserver","undefined","useEffect","disconnect","scrollRef","useCallback","instance","current","unobserve","observe"],"mappings":";;;;+BAMaA;;aAAAA;;;6DANU;0BACE;gCACC;AAInB,MAAMA,gCAAgCC,CAAAA,iBAAkB;IAC7D,MAAMC,YAAYC,OAAMC,MAAM,CAAC,IAAI;IACnC,kCAAkC;IAClC,MAAMC,eAAeC,IAAAA,kBAAQ,EAAC,CAACC,SAASC,WAAa;QACnDP,eAAeM,SAASC,UAAUN;IACpC;IACA,uFAAuF;IACvF,MAAM,CAACO,gBAAgBC,kBAAkB,GAAGP,OAAMQ,QAAQ,CAAC,IAAMC,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBS,SAAS;IAC3HX,OAAMY,SAAS,CAAC,IAAM;QACpB,+CAA+C;QAC/CN,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeO,UAAU,EAAE;QAC3FN,kBAAkBE,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBS,SAAS;IAC5E,uDAAuD;IACzD,GAAG;QAACb;KAAe;IACnBE,OAAMY,SAAS,CAAC,IAAM;QACpB,OAAO,IAAM;YACXN,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeO,UAAU,EAAE;QAC7F;IACA,uDAAuD;IACzD,GAAG,EAAE;IACL,MAAMC,YAAYd,OAAMe,WAAW,CAACC,CAAAA,WAAY;QAC9C,IAAIjB,UAAUkB,OAAO,KAAKD,UAAU;YAClC,IAAIjB,UAAUkB,OAAO,EAAE;gBACrBX,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeY,SAAS,CAACnB,UAAUkB,OAAO,CAAC;YAC7G,CAAC;YACDlB,UAAUkB,OAAO,GAAGD;YACpB,IAAIjB,UAAUkB,OAAO,EAAE;gBACrBX,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAea,OAAO,CAACpB,UAAUkB,OAAO,CAAC;YAC3G,CAAC;QACH,CAAC;IACH,GAAG;QAACX;KAAe;IACnB,OAAOQ;AACT,GACA,gDAAgD"}
|