diff --git a/apps/public-docsite-v9/src/Concepts/PackageMaturityLevels.stories.mdx b/apps/public-docsite-v9/src/Concepts/PackageMaturityLevels.stories.mdx index 836d3c07afa02..0e0dcbe6232da 100644 --- a/apps/public-docsite-v9/src/Concepts/PackageMaturityLevels.stories.mdx +++ b/apps/public-docsite-v9/src/Concepts/PackageMaturityLevels.stories.mdx @@ -57,7 +57,6 @@ Fluent UI v9 packages are categorized into four main maturity levels that indica Some packages don't follow the preview naming convention but are still considered preview status, as they were created before the preview phase was introduced: - `@fluentui/theme` -- `@fluentui/react-virtualizer` --- diff --git a/packages/react-components/react-virtualizer/library/.babelrc.json b/packages/react-components/react-virtualizer/library/.babelrc.json deleted file mode 100644 index 630deaf765c49..0000000000000 --- a/packages/react-components/react-virtualizer/library/.babelrc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "../../../../.babelrc-v9.json", - "plugins": ["annotate-pure-calls", "@babel/transform-react-pure-annotations"] -} diff --git a/packages/react-components/react-virtualizer/library/.eslintrc.json b/packages/react-components/react-virtualizer/library/.eslintrc.json deleted file mode 100644 index e4a3a70dd4445..0000000000000 --- a/packages/react-components/react-virtualizer/library/.eslintrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": ["plugin:@fluentui/eslint-plugin/react"], - "root": true, - "rules": { - "@typescript-eslint/no-deprecated": "off" - } -} diff --git a/packages/react-components/react-virtualizer/library/.swcrc b/packages/react-components/react-virtualizer/library/.swcrc deleted file mode 100644 index b4ffa86dee306..0000000000000 --- a/packages/react-components/react-virtualizer/library/.swcrc +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/swcrc", - "exclude": [ - "/testing", - "/**/*.cy.ts", - "/**/*.cy.tsx", - "/**/*.spec.ts", - "/**/*.spec.tsx", - "/**/*.test.ts", - "/**/*.test.tsx" - ], - "jsc": { - "parser": { - "syntax": "typescript", - "tsx": true, - "decorators": false, - "dynamicImport": false - }, - "externalHelpers": true, - "transform": { - "react": { - "runtime": "classic", - "useSpread": true - } - }, - "target": "es2019" - }, - "minify": false, - "sourceMaps": true -} diff --git a/packages/react-components/react-virtualizer/library/CHANGELOG.json b/packages/react-components/react-virtualizer/library/CHANGELOG.json deleted file mode 100644 index 55fe42078183a..0000000000000 --- a/packages/react-components/react-virtualizer/library/CHANGELOG.json +++ /dev/null @@ -1,2432 +0,0 @@ -{ - "name": "@fluentui/react-virtualizer", - "entries": [ - { - "date": "Wed, 30 Jul 2025 16:55:40 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.102", - "version": "9.0.0-alpha.102", - "comments": { - "none": [ - { - "author": "olfedias@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "8341f03de463b84bdbea893da086d98abfa82f69", - "comment": "chore:" - } - ] - } - }, - { - "date": "Wed, 30 Jul 2025 13:10:57 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.102", - "version": "9.0.0-alpha.102", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.1.4", - "commit": "be736930143d28b05665f11c576cca9671cfb0fd" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.23.1", - "commit": "be736930143d28b05665f11c576cca9671cfb0fd" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.24.1", - "commit": "be736930143d28b05665f11c576cca9671cfb0fd" - } - ] - } - }, - { - "date": "Mon, 28 Jul 2025 18:48:20 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.101", - "version": "9.0.0-alpha.101", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "0fd55307020d8be2399db8b88ab5da9e78202ab1", - "comment": "deprecate: react-virtualizer moving to fluentui-contrib" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.1.3", - "commit": "27822054c223a560c0b49ec0b9079f628776e498" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.23.0", - "commit": "27822054c223a560c0b49ec0b9079f628776e498" - } - ] - } - }, - { - "date": "Thu, 26 Jun 2025 14:11:55 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.100", - "version": "9.0.0-alpha.100", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "0a4dcce4c5f7f5d6f53aa0b3a9b54a303306c12d", - "comment": "fix: Ensure virtualizer recalcs on numItems change" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.1.2", - "commit": "2b89e39a253fe3570265284b19d2461b9d37fb86" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.22.0", - "commit": "2b89e39a253fe3570265284b19d2461b9d37fb86" - } - ] - } - }, - { - "date": "Wed, 18 Jun 2025 17:34:00 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.99", - "version": "9.0.0-alpha.99", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.1.1", - "commit": "ddb50b0e9313fe7eb75830a0546d01a2c7fe270b" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.21.1", - "commit": "ddb50b0e9313fe7eb75830a0546d01a2c7fe270b" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.24.0", - "commit": "ddb50b0e9313fe7eb75830a0546d01a2c7fe270b" - } - ] - } - }, - { - "date": "Thu, 12 Jun 2025 09:43:33 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.98", - "version": "9.0.0-alpha.98", - "comments": { - "none": [ - { - "author": "dmytrokirpa@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "77aced49c930c034ac6491ed6d93435dc0c91d18", - "comment": "chore: adjust types to support react 18" - } - ], - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.1.0", - "commit": "77aced49c930c034ac6491ed6d93435dc0c91d18" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.21.0", - "commit": "77aced49c930c034ac6491ed6d93435dc0c91d18" - } - ] - } - }, - { - "date": "Fri, 06 Jun 2025 13:15:17 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.97", - "version": "9.0.0-alpha.97", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.55", - "commit": "82db061493527440f473c6c6480305f8afe293be" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.20.0", - "commit": "82db061493527440f473c6c6480305f8afe293be" - } - ] - } - }, - { - "date": "Wed, 16 Apr 2025 19:42:06 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.96", - "version": "9.0.0-alpha.96", - "comments": { - "none": [ - { - "author": "vgenaev@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "622a30743a392d2fd1239adbc92453ddbca8d3fa", - "comment": "chore: type useCallback params" - } - ], - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.54", - "commit": "f4eaf10b78c110ab74994db06112a38d7c941cff" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.19.0", - "commit": "f4eaf10b78c110ab74994db06112a38d7c941cff" - } - ] - } - }, - { - "date": "Thu, 27 Mar 2025 21:12:51 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.95", - "version": "9.0.0-alpha.95", - "comments": { - "none": [ - { - "author": "dmytrokirpa@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "79c4ef242f754118fd614cd8642dc603f677284e", - "comment": "feat: add customStyleHook" - } - ], - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.53", - "commit": "79c4ef242f754118fd614cd8642dc603f677284e" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.23", - "commit": "79c4ef242f754118fd614cd8642dc603f677284e" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.23.1", - "commit": "79c4ef242f754118fd614cd8642dc603f677284e" - } - ] - } - }, - { - "date": "Wed, 19 Mar 2025 15:40:43 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.94", - "version": "9.0.0-alpha.94", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.52", - "commit": "0b9dc9fb09cd640fbaaa2555472d32f3db04a508" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.22", - "commit": "0b9dc9fb09cd640fbaaa2555472d32f3db04a508" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.23.0", - "commit": "0b9dc9fb09cd640fbaaa2555472d32f3db04a508" - } - ] - } - }, - { - "date": "Tue, 11 Mar 2025 18:58:54 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.93", - "version": "9.0.0-alpha.93", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.51", - "commit": "17389d335ea4e0e2ce7a9c730f02ed5c4273e546" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.21", - "commit": "17389d335ea4e0e2ce7a9c730f02ed5c4273e546" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.22.0", - "commit": "17389d335ea4e0e2ce7a9c730f02ed5c4273e546" - } - ] - } - }, - { - "date": "Fri, 07 Feb 2025 10:42:12 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.92", - "version": "9.0.0-alpha.92", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "a17aac2acd61ee1e4cdd59c2637498cabd81cfe9", - "comment": "fix: Fix regression of child render function update" - } - ] - } - }, - { - "date": "Wed, 22 Jan 2025 14:00:13 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.91", - "version": "9.0.0-alpha.91", - "comments": { - "none": [ - { - "author": "vgenaev@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d", - "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule" - }, - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce", - "comment": "fix: make api.md up to date" - } - ], - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50", - "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.20", - "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695" - } - ] - } - }, - { - "date": "Wed, 08 Jan 2025 18:33:36 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.90", - "version": "9.0.0-alpha.90", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49", - "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb" - } - ] - } - }, - { - "date": "Mon, 16 Dec 2024 16:26:46 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.89", - "version": "9.0.0-alpha.89", - "comments": { - "prerelease": [ - { - "author": "olfedias@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "f15afa79910b9998044dddcce63e9583e4f8b905", - "comment": "chore: remove usage of \"export *\"" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.48", - "commit": "27a945ec646737e2132d05da293265335ee6d0ff" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.19", - "commit": "27a945ec646737e2132d05da293265335ee6d0ff" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.21.2", - "commit": "27a945ec646737e2132d05da293265335ee6d0ff" - } - ] - } - }, - { - "date": "Fri, 06 Dec 2024 12:53:45 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.88", - "version": "9.0.0-alpha.88", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "9a01d453c2cab9699ac50e929421f0be35c589cb", - "comment": "feat: Add gap property to simplify gap css virtualization" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.47", - "commit": "0676543e19b8d0dc12ac4f18b2768a5eec8f34eb" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.18", - "commit": "0676543e19b8d0dc12ac4f18b2768a5eec8f34eb" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.21.1", - "commit": "0676543e19b8d0dc12ac4f18b2768a5eec8f34eb" - } - ] - } - }, - { - "date": "Thu, 28 Nov 2024 09:30:54 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.87", - "version": "9.0.0-alpha.87", - "comments": { - "none": [ - { - "author": "vgenaev@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "e1b642f5460a740fe84be00b0e336ca0bdc33dbe", - "comment": "chore: use consistent react imports" - } - ] - } - }, - { - "date": "Mon, 11 Nov 2024 10:00:38 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.87", - "version": "9.0.0-alpha.87", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "5b86f90fce2c5ad084258dec54400b48a4651373", - "comment": "fix: Enable virtualizer to fall back to most recent IO event if none intersecting" - }, - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "2558ddce7329d2a1c1f76fa1e5f614918fe6dcd9", - "comment": "chore: replace npm-scripts and just-scrtips with nx inferred tasks" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.46", - "commit": "027ab04e8d35e90f7d3cecf78c12d86b600e9716" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.17", - "commit": "027ab04e8d35e90f7d3cecf78c12d86b600e9716" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.21.0", - "commit": "027ab04e8d35e90f7d3cecf78c12d86b600e9716" - } - ] - } - }, - { - "date": "Tue, 15 Oct 2024 17:17:53 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.86", - "version": "9.0.0-alpha.86", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.45", - "commit": "1907e859fbe89f001cf92eda8e3674d961cab6ac" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.16", - "commit": "1907e859fbe89f001cf92eda8e3674d961cab6ac" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.20.2", - "commit": "1907e859fbe89f001cf92eda8e3674d961cab6ac" - } - ] - } - }, - { - "date": "Thu, 26 Sep 2024 14:15:28 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.85", - "version": "9.0.0-alpha.85", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "12d545e2f9eda489784fc1c4869a70fd50a4f5c7", - "comment": "BREAKING CHANGE (useVirtualizerDynamicMeasure): optimized with scrollPos state and children height reference, updated algorithm to be more accurate, and exported measurement hook" - } - ] - } - }, - { - "date": "Mon, 23 Sep 2024 12:40:17 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.84", - "version": "9.0.0-alpha.84", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.44", - "commit": "1a4a95e350f578f8296815771baaebb30ddaf642" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.15", - "commit": "1a4a95e350f578f8296815771baaebb30ddaf642" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.20.1", - "commit": "1a4a95e350f578f8296815771baaebb30ddaf642" - } - ] - } - }, - { - "date": "Tue, 10 Sep 2024 10:19:12 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.83", - "version": "9.0.0-alpha.83", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.43", - "commit": "b1c2ab614e70a7e34a35d590fc2cc838452ef14d" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.14", - "commit": "b1c2ab614e70a7e34a35d590fc2cc838452ef14d" - } - ] - } - }, - { - "date": "Tue, 23 Jul 2024 20:13:14 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.82", - "version": "9.0.0-alpha.82", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.42", - "commit": "970bf5ca221b35fcf03c89b4e20e1b350dbe4406" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.13", - "commit": "970bf5ca221b35fcf03c89b4e20e1b350dbe4406" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.20.0", - "commit": "970bf5ca221b35fcf03c89b4e20e1b350dbe4406" - } - ] - } - }, - { - "date": "Mon, 15 Jul 2024 17:25:24 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.81", - "version": "9.0.0-alpha.81", - "comments": { - "none": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "674cdee6cfb1cb34e6ba1b24f665d0b8751a5dea", - "comment": "chore: remove npmScope from project name" - } - ], - "prerelease": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "4edb54ea6e32b7ee68a9e3a8444378711a9d66f9", - "comment": "fix: revert incorectly set npm versions in all packages" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.41", - "commit": "55bc89dc28b64931d4ec0af78e85dd56e45a6493" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.12", - "commit": "55bc89dc28b64931d4ec0af78e85dd56e45a6493" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.19.1", - "commit": "55bc89dc28b64931d4ec0af78e85dd56e45a6493" - } - ] - } - }, - { - "date": "Mon, 01 Jul 2024 20:30:40 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.80", - "version": "9.0.0-alpha.80", - "comments": { - "prerelease": [ - { - "author": "seanmonahan@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "9f98d7d373bfdd91a2bfac3c4a81ddc313c7e94c", - "comment": "chore: add eslint react-compiler" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.40", - "commit": "597871ce66d6937249b4774cb79be145f99ad997" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.11", - "commit": "597871ce66d6937249b4774cb79be145f99ad997" - } - ] - } - }, - { - "date": "Wed, 12 Jun 2024 13:17:28 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.79", - "version": "9.0.0-alpha.79", - "comments": { - "none": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "0026465e01bea4aa029929679ea0d817435d42ab", - "comment": "chore: split react libraries in two (/library and /stories)" - } - ] - } - }, - { - "date": "Thu, 06 Jun 2024 15:26:44 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.79", - "version": "9.0.0-alpha.79", - "comments": { - "prerelease": [ - { - "author": "seanmonahan@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "a9defa95f62960e1584dd9d6d07db57d1fdeec4b", - "comment": "fix: update internal function to optionally use global Fluent context." - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.39", - "commit": "df493e7e4d6278fa2e87b8d18d08bd7f793ba9a0" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.10", - "commit": "df493e7e4d6278fa2e87b8d18d08bd7f793ba9a0" - } - ] - } - }, - { - "date": "Mon, 20 May 2024 12:45:09 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.78", - "version": "9.0.0-alpha.78", - "comments": { - "prerelease": [ - { - "author": "olfedias@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "973489fd37077876f099ad93e8a840fe59a882ec", - "comment": "chore: bump @griffel/react" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.38", - "commit": "796f5d3a54f904825e5cb00b97f4366306ca5d5a" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.9", - "commit": "796f5d3a54f904825e5cb00b97f4366306ca5d5a" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.19.0", - "commit": "796f5d3a54f904825e5cb00b97f4366306ca5d5a" - } - ] - } - }, - { - "date": "Mon, 06 May 2024 12:55:02 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.77", - "version": "9.0.0-alpha.77", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.37", - "commit": "16b1c50437919a44f8143c05c2a5fb9b39e03dc2" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.8", - "commit": "16b1c50437919a44f8143c05c2a5fb9b39e03dc2" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.18.0", - "commit": "16b1c50437919a44f8143c05c2a5fb9b39e03dc2" - } - ] - } - }, - { - "date": "Thu, 02 May 2024 11:36:44 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.76", - "version": "9.0.0-alpha.76", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "2939b63a57f70c5b3c77a4a9e9200bf0e8777596", - "comment": "Fix: Use Fluent hooks for IO and timeout functionality" - } - ] - } - }, - { - "date": "Tue, 23 Apr 2024 08:17:49 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.75", - "version": "9.0.0-alpha.75", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.36", - "commit": "120868a45d3be46d3e8213083d9ecce435e83acf" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.7", - "commit": "120868a45d3be46d3e8213083d9ecce435e83acf" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.17.0", - "commit": "120868a45d3be46d3e8213083d9ecce435e83acf" - } - ] - } - }, - { - "date": "Tue, 02 Apr 2024 09:48:01 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.74", - "version": "9.0.0-alpha.74", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.35", - "commit": "5c661f1050c6345035d2b6e1a7f549973fd23654" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.6", - "commit": "5c661f1050c6345035d2b6e1a7f549973fd23654" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.16.0", - "commit": "5c661f1050c6345035d2b6e1a7f549973fd23654" - } - ] - } - }, - { - "date": "Mon, 18 Mar 2024 19:50:46 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.73", - "version": "9.0.0-alpha.73", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.34", - "commit": "9e6c3cf0dfdad1aa0b4752919e2214c7da2a0d42" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.5", - "commit": "9e6c3cf0dfdad1aa0b4752919e2214c7da2a0d42" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.15.2", - "commit": "9e6c3cf0dfdad1aa0b4752919e2214c7da2a0d42" - } - ] - } - }, - { - "date": "Fri, 15 Mar 2024 21:43:49 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.72", - "version": "9.0.0-alpha.72", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.33", - "commit": "b2ded2504c2579038b15ca797666cc81d55c0364" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.4", - "commit": "b2ded2504c2579038b15ca797666cc81d55c0364" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.15.1", - "commit": "b2ded2504c2579038b15ca797666cc81d55c0364" - } - ] - } - }, - { - "date": "Thu, 07 Mar 2024 19:33:27 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.71", - "version": "9.0.0-alpha.71", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.32", - "commit": "58ccc2f33f85adc0d6992724178e42794ed4916d" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.3", - "commit": "58ccc2f33f85adc0d6992724178e42794ed4916d" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.15.0", - "commit": "58ccc2f33f85adc0d6992724178e42794ed4916d" - } - ] - } - }, - { - "date": "Wed, 28 Feb 2024 02:34:19 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.70", - "version": "9.0.0-alpha.70", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "e2d67e42af41e920fc44f9f741d383c413344f2f", - "comment": "feat: Add pagination for both static and dynamic virtualizers" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.31", - "commit": "433026729cd8bbd2e73f6314e05b803cad3168bb" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.2", - "commit": "433026729cd8bbd2e73f6314e05b803cad3168bb" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.14.1", - "commit": "433026729cd8bbd2e73f6314e05b803cad3168bb" - } - ] - } - }, - { - "date": "Tue, 20 Feb 2024 14:22:29 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.69", - "version": "9.0.0-alpha.69", - "comments": { - "none": [ - { - "author": "yuanboxue@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "4cfa006aa5f50a397b67ccd29ff0212bf86464b9", - "comment": "chore: disable consistent-callback-type lint rule for existing callbacks" - } - ], - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.30", - "commit": "5fb68e9bc86c1cbd66249c639a5565fe7a0b22b4" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.1", - "commit": "5fb68e9bc86c1cbd66249c639a5565fe7a0b22b4" - } - ] - } - }, - { - "date": "Tue, 30 Jan 2024 23:16:54 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.68", - "version": "9.0.0-alpha.68", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.29", - "commit": "c55a16a06b489f733384e65642b37343650d2f38" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.18.0", - "commit": "c55a16a06b489f733384e65642b37343650d2f38" - } - ] - } - }, - { - "date": "Tue, 23 Jan 2024 15:11:00 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.67", - "version": "9.0.0-alpha.67", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.28", - "commit": "0d7e251f3f73716c5b7d1e4b1031ff3eb4f4053f" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.17.0", - "commit": "0d7e251f3f73716c5b7d1e4b1031ff3eb4f4053f" - } - ] - } - }, - { - "date": "Thu, 18 Jan 2024 14:25:03 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.66", - "version": "9.0.0-alpha.66", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.27", - "commit": "42b8015b3d44861b4a9e26a9861c87b97ee5158d" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.16.1", - "commit": "42b8015b3d44861b4a9e26a9861c87b97ee5158d" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.14.0", - "commit": "42b8015b3d44861b4a9e26a9861c87b97ee5158d" - } - ] - } - }, - { - "date": "Wed, 17 Jan 2024 16:18:50 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.65", - "version": "9.0.0-alpha.65", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.26", - "commit": "06421bb5960c4d8d01c0a2faee17aebd9c9fe0cb" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.16.0", - "commit": "06421bb5960c4d8d01c0a2faee17aebd9c9fe0cb" - } - ] - } - }, - { - "date": "Tue, 16 Jan 2024 13:14:13 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.64", - "version": "9.0.0-alpha.64", - "comments": { - "prerelease": [ - { - "author": "mgodbolt@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "f2e37e16ab2ee873cfc3f0a4a2cba3098277f2fc", - "comment": "fix: correct version of @types/react-dom peer dep that matches for 16.x" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.25", - "commit": "0c422edc87177d3d707c71fa3cad3fa2b872bdf8" - } - ] - } - }, - { - "date": "Mon, 08 Jan 2024 16:24:28 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.63", - "version": "9.0.0-alpha.63", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.24", - "commit": "0893aaa977c642d01c3c39032f929bc50a04d867" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.15.6", - "commit": "0893aaa977c642d01c3c39032f929bc50a04d867" - } - ] - } - }, - { - "date": "Wed, 03 Jan 2024 09:26:44 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.62", - "version": "9.0.0-alpha.62", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.23", - "commit": "9d99266dec5a450bcd44c0f777735b31dd98eccc" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.15.5", - "commit": "9d99266dec5a450bcd44c0f777735b31dd98eccc" - } - ] - } - }, - { - "date": "Mon, 18 Dec 2023 14:40:46 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.61", - "version": "9.0.0-alpha.61", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.22", - "commit": "c1b96dae4218975ea6366c714880e174cf9955e4" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.15.4", - "commit": "c1b96dae4218975ea6366c714880e174cf9955e4" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.13.2", - "commit": "c1b96dae4218975ea6366c714880e174cf9955e4" - } - ] - } - }, - { - "date": "Thu, 14 Dec 2023 09:58:46 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.60", - "version": "9.0.0-alpha.60", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.21", - "commit": "73c8cb55e5957d6ce321ecabe35d177d791ff0b6" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.15.3", - "commit": "73c8cb55e5957d6ce321ecabe35d177d791ff0b6" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.13.1", - "commit": "73c8cb55e5957d6ce321ecabe35d177d791ff0b6" - } - ] - } - }, - { - "date": "Thu, 30 Nov 2023 13:42:08 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.59", - "version": "9.0.0-alpha.59", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "4dddcd651b848e2f4d5b90a28e64e13118da31b6", - "comment": "feat: Add default auto-measuring on dynamic virtualizezr if no sizing function provided" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.20", - "commit": "f882fe7c3fbe6b4d6c3153732d384880bfd351dc" - } - ] - } - }, - { - "date": "Mon, 20 Nov 2023 09:55:10 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.58", - "version": "9.0.0-alpha.58", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.13.0", - "commit": "873b079e8c57fc139366d6ab57d9070abd81865a" - } - ] - } - }, - { - "date": "Fri, 10 Nov 2023 13:46:33 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.57", - "version": "9.0.0-alpha.57", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "7a359e8d433593f9ee27d86be56af4b0babe09a4", - "comment": "feat: Ensure IO handles RTL margin and mutations" - } - ] - } - }, - { - "date": "Thu, 09 Nov 2023 17:29:48 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.56", - "version": "9.0.0-alpha.56", - "comments": { - "prerelease": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "baa8387b51ae5e028dd7c2f98827ab9bd749f90e", - "comment": "chore: use package.json#files setup instead of npmignore for all v9 libraries" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.19", - "commit": "9c30220feb177e8336960c21cf6df78c9c1ca629" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.15.2", - "commit": "9c30220feb177e8336960c21cf6df78c9c1ca629" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.12.0", - "commit": "9c30220feb177e8336960c21cf6df78c9c1ca629" - } - ] - } - }, - { - "date": "Wed, 01 Nov 2023 12:55:59 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.55", - "version": "9.0.0-alpha.55", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.11.1", - "commit": "838b05367dbdddb17732b9e0c807090e0a4445d5" - } - ] - } - }, - { - "date": "Sat, 28 Oct 2023 23:35:59 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.54", - "version": "9.0.0-alpha.54", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-shared-contexts to v9.11.0", - "commit": "555b0fae3ec7f052e765557ae243c58000514f92" - } - ] - } - }, - { - "date": "Mon, 23 Oct 2023 09:51:57 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.53", - "version": "9.0.0-alpha.53", - "comments": { - "prerelease": [ - { - "author": "lingfangao@hotmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "17dbeb93ab542e982942aef91ce3747acc8053c4", - "comment": "fix: use targetDocument resize observer" - } - ] - } - }, - { - "date": "Wed, 18 Oct 2023 17:54:08 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.52", - "version": "9.0.0-alpha.52", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.18", - "commit": "c0d3065982e1646c54ba00c1d524248b792dbcad" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.15.1", - "commit": "c0d3065982e1646c54ba00c1d524248b792dbcad" - } - ] - } - }, - { - "date": "Thu, 12 Oct 2023 14:55:44 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.51", - "version": "9.0.0-alpha.51", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.17", - "commit": "8178c3cae60005bc21137aa1f3e766e18cdb4a30" - } - ] - } - }, - { - "date": "Wed, 11 Oct 2023 13:54:26 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.50", - "version": "9.0.0-alpha.50", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.16", - "commit": "b4466a0b9d3568e8e1ee1d814db5c8449dfd65b8" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.15.0", - "commit": "b4466a0b9d3568e8e1ee1d814db5c8449dfd65b8" - } - ] - } - }, - { - "date": "Mon, 09 Oct 2023 20:45:44 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.49", - "version": "9.0.0-alpha.49", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.15", - "commit": "d2196ea1ca001fbc22f38fcb258016f1df6c87e4" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.14.2", - "commit": "d2196ea1ca001fbc22f38fcb258016f1df6c87e4" - } - ] - } - }, - { - "date": "Thu, 05 Oct 2023 15:25:35 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.48", - "version": "9.0.0-alpha.48", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.14", - "commit": "690590449dc3d65cd40b2b06a990fd920180919d" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.14.1", - "commit": "690590449dc3d65cd40b2b06a990fd920180919d" - } - ] - } - }, - { - "date": "Wed, 04 Oct 2023 08:45:47 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.47", - "version": "9.0.0-alpha.47", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.13", - "commit": "67b6cc6534e684ed32704dc6c0faee632bb840dc" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.14.0", - "commit": "67b6cc6534e684ed32704dc6c0faee632bb840dc" - } - ] - } - }, - { - "date": "Tue, 26 Sep 2023 17:49:15 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.46", - "version": "9.0.0-alpha.46", - "comments": { - "prerelease": [ - { - "author": "yuanboxue@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "05a23f6f5f331841c9ac9fb63764440c543f791d", - "comment": "chore: trigger manual version bump after broken release" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.12", - "commit": "05a23f6f5f331841c9ac9fb63764440c543f791d" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.13.5", - "commit": "05a23f6f5f331841c9ac9fb63764440c543f791d" - } - ] - } - }, - { - "date": "Tue, 26 Sep 2023 15:31:40 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.45", - "version": "9.0.0-alpha.45", - "comments": { - "prerelease": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "e61473fa10195f6ebf2308205c1e72e91b711831", - "comment": "fix: bump swc core to mitigate transpilation memory leaks" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.11", - "commit": "e16520437e10cd824ac254dd797e32762b5de72d" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.13.4", - "commit": "e16520437e10cd824ac254dd797e32762b5de72d" - } - ] - } - }, - { - "date": "Wed, 20 Sep 2023 17:47:45 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.44", - "version": "9.0.0-alpha.44", - "comments": { - "prerelease": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "41d0ed0376ad79f1f5f5c4c7487515a1c6be35f0", - "comment": "chore: trigger manual version bump after broken release" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.10", - "commit": "41d0ed0376ad79f1f5f5c4c7487515a1c6be35f0" - } - ] - } - }, - { - "date": "Wed, 20 Sep 2023 14:59:53 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.43", - "version": "9.0.0-alpha.43", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.9", - "commit": "c60d4e7169457535c8d23701f6b951d1fff478ab" - } - ] - } - }, - { - "date": "Thu, 14 Sep 2023 16:44:47 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.42", - "version": "9.0.0-alpha.42", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.8", - "commit": "bad33fa7f241bc772b5bc4c6ee624d6ff6b4a473" - } - ] - } - }, - { - "date": "Tue, 12 Sep 2023 08:51:34 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.41", - "version": "9.0.0-alpha.41", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.7", - "commit": "6fa505d282299778ee9c160ab91f2f510e2d4335" - } - ] - } - }, - { - "date": "Wed, 06 Sep 2023 13:31:31 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.40", - "version": "9.0.0-alpha.40", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.6", - "commit": "52532950407fd4d3664ec6aa337855214233813b" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.13.3", - "commit": "52532950407fd4d3664ec6aa337855214233813b" - } - ] - } - }, - { - "date": "Tue, 05 Sep 2023 15:39:04 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.39", - "version": "9.0.0-alpha.39", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.5", - "commit": "94019033dfe3fd39ec0cde7dfb3b57c22805aa91" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.13.2", - "commit": "94019033dfe3fd39ec0cde7dfb3b57c22805aa91" - } - ] - } - }, - { - "date": "Tue, 05 Sep 2023 13:29:12 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.38", - "version": "9.0.0-alpha.38", - "comments": { - "prerelease": [ - { - "author": "bernardo.sunderhus@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "eea6d93a62249ba4fba3347fb291c67ee1a3fb24", - "comment": "chore: migrate package to use JSX importSource" - }, - { - "author": "bernardo.sunderhus@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "b93c2ac22355b6cb6f33dd509c6cd9c21f4fffc8", - "comment": "bumps @swc/helpers version to 0.5.1" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.4", - "commit": "da959e66f36b429e40ae61810d08dc71c16e154a" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.13.1", - "commit": "da959e66f36b429e40ae61810d08dc71c16e154a" - } - ] - } - }, - { - "date": "Tue, 29 Aug 2023 12:57:36 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.37", - "version": "9.0.0-alpha.37", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.3", - "commit": "f40ca42c8392904750bf1ef24826d273d1a5b4d5" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.13.0", - "commit": "f40ca42c8392904750bf1ef24826d273d1a5b4d5" - } - ] - } - }, - { - "date": "Thu, 24 Aug 2023 10:26:35 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.36", - "version": "9.0.0-alpha.36", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.2", - "commit": "3f6c5a749ef403c06b9c9e753df9afbb84a2ecb5" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.12.0", - "commit": "3f6c5a749ef403c06b9c9e753df9afbb84a2ecb5" - } - ] - } - }, - { - "date": "Wed, 23 Aug 2023 12:01:49 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.35", - "version": "9.0.0-alpha.35", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.1", - "commit": "f94b6d05d7642563cb96e2718402fbbbab65cbbc" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.11.2", - "commit": "f94b6d05d7642563cb96e2718402fbbbab65cbbc" - } - ] - } - }, - { - "date": "Wed, 16 Aug 2023 17:41:08 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.34", - "version": "9.0.0-alpha.34", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "e40f1181983bbf4b0926cd15fb8dbc7a9e3188a3", - "comment": "Fix: Ensure scrollViewRef is merged with container ref" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0", - "commit": "b331b368030e157e0ff38a59c9d4aaf1d01d9b6a" - } - ] - } - }, - { - "date": "Wed, 16 Aug 2023 11:38:33 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.33", - "version": "9.0.0-alpha.33", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.16", - "commit": "70fb3a013a466af6f5918b7301761b14dc46cea3" - } - ] - } - }, - { - "date": "Fri, 11 Aug 2023 12:14:25 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.32", - "version": "9.0.0-alpha.32", - "comments": { - "prerelease": [ - { - "author": "bernardo.sunderhus@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "742ae8f17c984b1e0098785c457e35f5a8054438", - "comment": "chore(react-virtualizer): migrate to new slot API" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.15", - "commit": "a77bcda1628e8b20b113d0237317efd7ebbc5294" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.11.1", - "commit": "a77bcda1628e8b20b113d0237317efd7ebbc5294" - } - ] - } - }, - { - "date": "Wed, 09 Aug 2023 13:17:10 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.31", - "version": "9.0.0-alpha.31", - "comments": { - "prerelease": [ - { - "author": "olfedias@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "b090c0339983847a62b9dc6187d08dc8c4b1d55f", - "comment": "chore: Update Griffel to latest version" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.14", - "commit": "9509e950254d838cdfe3718a775ba5c78cb8f11a" - } - ] - } - }, - { - "date": "Fri, 04 Aug 2023 08:52:58 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.30", - "version": "9.0.0-alpha.30", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.13", - "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.11.0", - "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca" - } - ] - } - }, - { - "date": "Thu, 20 Jul 2023 18:27:36 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.29", - "version": "9.0.0-alpha.29", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.12", - "commit": "5a4b16715e8e929f11d8113f710e578ca73acaa6" - } - ] - } - }, - { - "date": "Mon, 17 Jul 2023 21:27:36 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.28", - "version": "9.0.0-alpha.28", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "2971c4f9e3273db1e46e14c424ec32db0f67f8d5", - "comment": "Feat: Add imperative ref access to both virtualizer length and current index" - } - ] - } - }, - { - "date": "Thu, 13 Jul 2023 21:25:48 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.27", - "version": "9.0.0-alpha.27", - "comments": { - "none": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "8a9e1018f2abb2c7608c49d32acf44e93c43cba6", - "comment": "chore: update devDependencies to use * for inner workspace dependencies" - } - ] - } - }, - { - "date": "Tue, 11 Jul 2023 18:46:36 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.27", - "version": "9.0.0-alpha.27", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "2fa67922261c28392dbe659fff44f3e86eff2efb", - "comment": "Fix: Ensure 'start buffer' is margin padded into the non-virtualized space on horizontal layouts" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.11", - "commit": "f958e7e175264e289a6ecdc5b108e826f6b34e74" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-conformance-griffel to v9.0.0", - "commit": "f958e7e175264e289a6ecdc5b108e826f6b34e74" - } - ] - } - }, - { - "date": "Mon, 03 Jul 2023 11:57:14 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.26", - "version": "9.0.0-alpha.26", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.10", - "commit": "61633ba5de03e0ddf4839dba6da325e30c7ce9bd" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.10.1", - "commit": "61633ba5de03e0ddf4839dba6da325e30c7ce9bd" - } - ] - } - }, - { - "date": "Wed, 28 Jun 2023 11:12:36 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.25", - "version": "9.0.0-alpha.25", - "comments": { - "none": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "fbe878e9c9785588197481f172c42c2c0a230292", - "comment": "fix: update .npmignore to unify v8 packages and exclude project.json" - } - ], - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.9", - "commit": "08de131d5f3346e001dcd8d2f0f3809c698f16d7" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.10.0", - "commit": "08de131d5f3346e001dcd8d2f0f3809c698f16d7" - } - ] - } - }, - { - "date": "Mon, 26 Jun 2023 09:53:55 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.24", - "version": "9.0.0-alpha.24", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.8", - "commit": "3e47257676ace0598b9ed336a54befd4d063c332" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.9.4", - "commit": "3e47257676ace0598b9ed336a54befd4d063c332" - } - ] - } - }, - { - "date": "Tue, 20 Jun 2023 12:39:06 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.23", - "version": "9.0.0-alpha.23", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "ab901891c51f8bd5d1a5099e66011c9c84372566", - "comment": "feature: Add scrollTo index hook and callbacks, isScrolling flag" - }, - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "cf6b94ba6559236150bc1f1814b023607edaeb20", - "comment": "chore: migrate to ts 4.7 which wont emit undefined anymore for optional arguments" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.7", - "commit": "81c9b35e0830297b2aca2cece2ae67b3899c4647" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.9.3", - "commit": "81c9b35e0830297b2aca2cece2ae67b3899c4647" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-conformance-griffel to v9.0.0-beta.23", - "commit": "81c9b35e0830297b2aca2cece2ae67b3899c4647" - } - ] - } - }, - { - "date": "Wed, 31 May 2023 06:46:23 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.22", - "version": "9.0.0-alpha.22", - "comments": { - "prerelease": [ - { - "author": "seanmonahan@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "d640b972d7ac86bfb76ae6c6329f12cdd33b3b7c", - "comment": "chore: Update Griffel to v1.5.7." - }, - { - "author": "olfedias@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "588b9393a673137dd8a867686d1e1cd45c350ca4", - "comment": "chore: move makeStyles() calls to .styles.ts files" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.6", - "commit": "17ca96c6b7f684f36a5c63e40e78b4986a86c713" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.9.2", - "commit": "17ca96c6b7f684f36a5c63e40e78b4986a86c713" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-conformance-griffel to v9.0.0-beta.22", - "commit": "17ca96c6b7f684f36a5c63e40e78b4986a86c713" - } - ] - } - }, - { - "date": "Thu, 25 May 2023 10:00:48 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.21", - "version": "9.0.0-alpha.21", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.5", - "commit": "8f7c1b7591b3e665ae39e1b22ab0f0b28fb795c4" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.9.1", - "commit": "8f7c1b7591b3e665ae39e1b22ab0f0b28fb795c4" - } - ] - } - }, - { - "date": "Wed, 24 May 2023 20:45:37 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.20", - "version": "9.0.0-alpha.20", - "comments": { - "none": [ - { - "author": "olfedias@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "69e0617a93cb44ef42f3bd19284b7dc5fe27fed3", - "comment": "chore: update test-ssr script" - } - ] - } - }, - { - "date": "Thu, 18 May 2023 00:39:19 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.20", - "version": "9.0.0-alpha.20", - "comments": { - "none": [ - { - "author": "olfedias@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "06cd515eda59a3078bfe32f9cc7c1f281cd20208", - "comment": "chore: add test-ssr script to v9 packages" - } - ], - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.4", - "commit": "c496a1cf1ec82c08753df72c9061e84b77b7daeb" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.9.0", - "commit": "c496a1cf1ec82c08753df72c9061e84b77b7daeb" - } - ] - } - }, - { - "date": "Fri, 12 May 2023 20:28:06 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.19", - "version": "9.0.0-alpha.19", - "comments": { - "none": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "dbda7fa69e3000aaf8dd4a061e254ebd35198b8e", - "comment": "fix: update npmignore files to fix npm8/node16 regression how npm publish works" - } - ], - "prerelease": [ - { - "author": "olfedias@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "c28decb23d191a0daaaf6d5d1832429715102129", - "comment": "chore: exclude .swcrc from being published" - }, - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "0ffdc48b94a76bfd209015b1a9c49eb62aca1ba0", - "comment": "feature: Add dynamically sized virtualizer scroll view" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.3", - "commit": "79c08ce5bbf6387b2b18ba4c3d2d5681e0177d4b" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.8.1", - "commit": "79c08ce5bbf6387b2b18ba4c3d2d5681e0177d4b" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-conformance-griffel to v9.0.0-beta.21", - "commit": "79c08ce5bbf6387b2b18ba4c3d2d5681e0177d4b" - } - ] - } - }, - { - "date": "Mon, 24 Apr 2023 08:12:46 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.18", - "version": "9.0.0-alpha.18", - "comments": { - "prerelease": [ - { - "author": "bernardo.sunderhus@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "142c07abdeedea8f6b2e0cc15acf02795ce7f0fc", - "comment": "chore: adopt custom JSX pragma" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.2", - "commit": "505433ac64f144c9cca456097413d6af4582e5ee" - } - ] - } - }, - { - "date": "Mon, 17 Apr 2023 17:54:02 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.17", - "version": "9.0.0-alpha.17", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.8.0", - "commit": "35d247e0b6a8c2b22e69942afbabe18043e59585" - } - ] - } - }, - { - "date": "Wed, 12 Apr 2023 09:31:45 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.16", - "version": "9.0.0-alpha.16", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.7.4", - "commit": "45cb6089b0f5f464ae0dd9e9cba7e199a9d67cd8" - } - ] - } - }, - { - "date": "Tue, 04 Apr 2023 18:44:50 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.15", - "version": "9.0.0-alpha.15", - "comments": { - "prerelease": [ - { - "author": "martinhochel@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "5c53cfd7875712af78dd5bca396ce0d24030973c", - "comment": "fix: remove disallowed v9 react-fabric/v8 from dependency to mitigate dep-tree creep" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.7.3", - "commit": "6778d76bbbad7e1975c151c797f28c2708cde2ce" - } - ] - } - }, - { - "date": "Fri, 24 Mar 2023 10:15:27 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.14", - "version": "9.0.0-alpha.14", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "19801e7edc22f433eeace3cf636f4722ea02a36b", - "comment": "[feat] Add static measurement hooks and embedded scroll option" - } - ] - } - }, - { - "date": "Tue, 21 Mar 2023 21:23:16 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.13", - "version": "9.0.0-alpha.13", - "comments": { - "prerelease": [ - { - "author": "tristan.watanabe@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "2fac1a139149bd13b76b1306207bc988dca9c72c", - "comment": "chore: migrate to swc transpilation approach." - }, - { - "author": "tristan.watanabe@gmail.com", - "package": "@fluentui/react-virtualizer", - "commit": "ead1c6d4c2ac3f3596b62b8cbc07b0a03041f11f", - "comment": "fix: add node field to package.json exports map." - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.7.2", - "commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5" - }, - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-conformance-griffel to v9.0.0-beta.20", - "commit": "b7a26f6263c80e3253c6b8338c33b73bae33e2b5" - } - ] - } - }, - { - "date": "Thu, 16 Mar 2023 14:36:59 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.12", - "version": "9.0.0-alpha.12", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.7.1", - "commit": "e7dcadf7cabae6bc6811ca04a630e7d850388f81" - } - ] - } - }, - { - "date": "Mon, 13 Mar 2023 08:58:26 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.11", - "version": "9.0.0-alpha.11", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.7.0", - "commit": "edf96a6b5d6f13843ada1400480e347b84384b8e" - } - ] - } - }, - { - "date": "Fri, 10 Mar 2023 07:14:01 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.10", - "version": "9.0.0-alpha.10", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.6.2", - "commit": "3cefc38eed17e3f37cd38fca9099cc9d700cd584" - } - ] - } - }, - { - "date": "Wed, 08 Mar 2023 17:42:51 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.9", - "version": "9.0.0-alpha.9", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.6.1", - "commit": "e0d11faf97f6466f4cd23ed18266cf1e80094f56" - } - ] - } - }, - { - "date": "Thu, 16 Feb 2023 19:18:49 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.8", - "version": "9.0.0-alpha.8", - "comments": { - "prerelease": [ - { - "author": "mgodbolt@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "c6f47613e95f8e43ef00792ea673d673881e14fb", - "comment": "fixing build issues" - } - ] - } - }, - { - "date": "Thu, 16 Feb 2023 16:18:01 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.7", - "version": "9.0.0-alpha.7", - "comments": { - "prerelease": [ - { - "author": "mgodbolt@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "4af9156bc869948b12610689f15b2a778aa690ca", - "comment": "fix: Updating peer dependencies to support React 18." - } - ] - } - }, - { - "date": "Wed, 15 Feb 2023 11:44:52 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.6", - "version": "9.0.0-alpha.6", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.6.0", - "commit": "087d981aab96bef2e332a373069a19bc702a7ca2" - } - ] - } - }, - { - "date": "Mon, 13 Feb 2023 23:43:14 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.5", - "version": "9.0.0-alpha.5", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.5.3", - "commit": "29e62b13706c2845b21d665d43cdacf1ef1b1513" - } - ] - } - }, - { - "date": "Fri, 10 Feb 2023 08:50:02 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.4", - "version": "9.0.0-alpha.4", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.5.2", - "commit": "cc62f050f8231e8f21a2cf7dddf33003e0ba3931" - } - ] - } - }, - { - "date": "Tue, 31 Jan 2023 19:53:58 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.3", - "version": "9.0.0-alpha.3", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.5.1", - "commit": "794d9e845cb952f597ba786e70cd8d248be62746" - } - ] - } - }, - { - "date": "Thu, 26 Jan 2023 13:31:03 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.2", - "version": "9.0.0-alpha.2", - "comments": { - "prerelease": [ - { - "author": "beachball", - "package": "@fluentui/react-virtualizer", - "comment": "Bump @fluentui/react-utilities to v9.5.0", - "commit": "403e1370f1effca7d3db131eda381abf31cf66b1" - } - ] - } - }, - { - "date": "Mon, 23 Jan 2023 16:43:12 GMT", - "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.1", - "version": "9.0.0-alpha.1", - "comments": { - "prerelease": [ - { - "author": "mifraser@microsoft.com", - "package": "@fluentui/react-virtualizer", - "commit": "547235ce85eef5fc65ed0cdd51ef5244d480b4b6", - "comment": "feat: Initial unstable release of the Virtualizer" - } - ] - } - } - ] -} diff --git a/packages/react-components/react-virtualizer/library/CHANGELOG.md b/packages/react-components/react-virtualizer/library/CHANGELOG.md deleted file mode 100644 index 43b7e081fb7e2..0000000000000 --- a/packages/react-components/react-virtualizer/library/CHANGELOG.md +++ /dev/null @@ -1,1046 +0,0 @@ -# Change Log - @fluentui/react-virtualizer - -This log was last generated on Wed, 30 Jul 2025 13:10:57 GMT and should not be manually modified. - - - -## [9.0.0-alpha.102](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.102) - -Wed, 30 Jul 2025 13:10:57 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.101..@fluentui/react-virtualizer_v9.0.0-alpha.102) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.1.4 ([PR #34881](https://github.com/microsoft/fluentui/pull/34881) by beachball) -- Bump @fluentui/react-utilities to v9.23.1 ([PR #34881](https://github.com/microsoft/fluentui/pull/34881) by beachball) -- Bump @fluentui/react-shared-contexts to v9.24.1 ([PR #34881](https://github.com/microsoft/fluentui/pull/34881) by beachball) - -## [9.0.0-alpha.101](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.101) - -Mon, 28 Jul 2025 18:48:20 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.100..@fluentui/react-virtualizer_v9.0.0-alpha.101) - -### Changes - -- deprecate: react-virtualizer moving to fluentui-contrib ([PR #34899](https://github.com/microsoft/fluentui/pull/34899) by mifraser@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.1.3 ([PR #34918](https://github.com/microsoft/fluentui/pull/34918) by beachball) -- Bump @fluentui/react-utilities to v9.23.0 ([PR #34918](https://github.com/microsoft/fluentui/pull/34918) by beachball) - -## [9.0.0-alpha.100](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.100) - -Thu, 26 Jun 2025 14:11:55 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.99..@fluentui/react-virtualizer_v9.0.0-alpha.100) - -### Changes - -- fix: Ensure virtualizer recalcs on numItems change ([PR #34673](https://github.com/microsoft/fluentui/pull/34673) by mifraser@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.1.2 ([PR #34529](https://github.com/microsoft/fluentui/pull/34529) by beachball) -- Bump @fluentui/react-utilities to v9.22.0 ([PR #34529](https://github.com/microsoft/fluentui/pull/34529) by beachball) - -## [9.0.0-alpha.99](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.99) - -Wed, 18 Jun 2025 17:34:00 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.98..@fluentui/react-virtualizer_v9.0.0-alpha.99) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.1.1 ([PR #34675](https://github.com/microsoft/fluentui/pull/34675) by beachball) -- Bump @fluentui/react-utilities to v9.21.1 ([PR #34675](https://github.com/microsoft/fluentui/pull/34675) by beachball) -- Bump @fluentui/react-shared-contexts to v9.24.0 ([PR #34675](https://github.com/microsoft/fluentui/pull/34675) by beachball) - -## [9.0.0-alpha.98](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.98) - -Thu, 12 Jun 2025 09:43:33 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.97..@fluentui/react-virtualizer_v9.0.0-alpha.98) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.1.0 ([PR #34456](https://github.com/microsoft/fluentui/pull/34456) by beachball) -- Bump @fluentui/react-utilities to v9.21.0 ([PR #34456](https://github.com/microsoft/fluentui/pull/34456) by beachball) - -## [9.0.0-alpha.97](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.97) - -Fri, 06 Jun 2025 13:15:17 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.96..@fluentui/react-virtualizer_v9.0.0-alpha.97) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.55 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball) -- Bump @fluentui/react-utilities to v9.20.0 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball) - -## [9.0.0-alpha.96](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.96) - -Wed, 16 Apr 2025 19:42:06 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.95..@fluentui/react-virtualizer_v9.0.0-alpha.96) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.54 ([PR #34166](https://github.com/microsoft/fluentui/pull/34166) by beachball) -- Bump @fluentui/react-utilities to v9.19.0 ([PR #34166](https://github.com/microsoft/fluentui/pull/34166) by beachball) - -## [9.0.0-alpha.95](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.95) - -Thu, 27 Mar 2025 21:12:51 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.94..@fluentui/react-virtualizer_v9.0.0-alpha.95) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.53 ([PR #34034](https://github.com/microsoft/fluentui/pull/34034) by beachball) -- Bump @fluentui/react-utilities to v9.18.23 ([PR #34034](https://github.com/microsoft/fluentui/pull/34034) by beachball) -- Bump @fluentui/react-shared-contexts to v9.23.1 ([PR #34034](https://github.com/microsoft/fluentui/pull/34034) by beachball) - -## [9.0.0-alpha.94](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.94) - -Wed, 19 Mar 2025 15:40:43 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.93..@fluentui/react-virtualizer_v9.0.0-alpha.94) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.52 ([PR #34032](https://github.com/microsoft/fluentui/pull/34032) by beachball) -- Bump @fluentui/react-utilities to v9.18.22 ([PR #34032](https://github.com/microsoft/fluentui/pull/34032) by beachball) -- Bump @fluentui/react-shared-contexts to v9.23.0 ([PR #34032](https://github.com/microsoft/fluentui/pull/34032) by beachball) - -## [9.0.0-alpha.93](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.93) - -Tue, 11 Mar 2025 18:58:54 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.92..@fluentui/react-virtualizer_v9.0.0-alpha.93) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.51 ([PR #33927](https://github.com/microsoft/fluentui/pull/33927) by beachball) -- Bump @fluentui/react-utilities to v9.18.21 ([PR #33927](https://github.com/microsoft/fluentui/pull/33927) by beachball) -- Bump @fluentui/react-shared-contexts to v9.22.0 ([PR #33927](https://github.com/microsoft/fluentui/pull/33927) by beachball) - -## [9.0.0-alpha.92](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.92) - -Fri, 07 Feb 2025 10:42:12 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.91..@fluentui/react-virtualizer_v9.0.0-alpha.92) - -### Changes - -- fix: Fix regression of child render function update ([PR #33788](https://github.com/microsoft/fluentui/pull/33788) by mifraser@microsoft.com) - -## [9.0.0-alpha.91](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.91) - -Wed, 22 Jan 2025 14:00:13 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.90..@fluentui/react-virtualizer_v9.0.0-alpha.91) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball) -- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball) - -## [9.0.0-alpha.90](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.90) - -Wed, 08 Jan 2025 18:33:36 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.89..@fluentui/react-virtualizer_v9.0.0-alpha.90) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball) - -## [9.0.0-alpha.89](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.89) - -Mon, 16 Dec 2024 16:26:46 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.88..@fluentui/react-virtualizer_v9.0.0-alpha.89) - -### Changes - -- chore: remove usage of "export *" ([PR #33457](https://github.com/microsoft/fluentui/pull/33457) by olfedias@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.48 ([PR #33468](https://github.com/microsoft/fluentui/pull/33468) by beachball) -- Bump @fluentui/react-utilities to v9.18.19 ([PR #33468](https://github.com/microsoft/fluentui/pull/33468) by beachball) -- Bump @fluentui/react-shared-contexts to v9.21.2 ([PR #33468](https://github.com/microsoft/fluentui/pull/33468) by beachball) - -## [9.0.0-alpha.88](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.88) - -Fri, 06 Dec 2024 12:53:45 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.87..@fluentui/react-virtualizer_v9.0.0-alpha.88) - -### Changes - -- feat: Add gap property to simplify gap css virtualization ([PR #33275](https://github.com/microsoft/fluentui/pull/33275) by mifraser@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.47 ([PR #33372](https://github.com/microsoft/fluentui/pull/33372) by beachball) -- Bump @fluentui/react-utilities to v9.18.18 ([PR #33372](https://github.com/microsoft/fluentui/pull/33372) by beachball) -- Bump @fluentui/react-shared-contexts to v9.21.1 ([PR #33372](https://github.com/microsoft/fluentui/pull/33372) by beachball) - -## [9.0.0-alpha.87](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.87) - -Mon, 11 Nov 2024 10:00:38 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.86..@fluentui/react-virtualizer_v9.0.0-alpha.87) - -### Changes - -- fix: Enable virtualizer to fall back to most recent IO event if none intersecting ([PR #33125](https://github.com/microsoft/fluentui/pull/33125) by mifraser@microsoft.com) -- chore: replace npm-scripts and just-scrtips with nx inferred tasks ([PR #33074](https://github.com/microsoft/fluentui/pull/33074) by martinhochel@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.46 ([PR #33238](https://github.com/microsoft/fluentui/pull/33238) by beachball) -- Bump @fluentui/react-utilities to v9.18.17 ([PR #33238](https://github.com/microsoft/fluentui/pull/33238) by beachball) -- Bump @fluentui/react-shared-contexts to v9.21.0 ([PR #33238](https://github.com/microsoft/fluentui/pull/33238) by beachball) - -## [9.0.0-alpha.86](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.86) - -Tue, 15 Oct 2024 17:17:53 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.85..@fluentui/react-virtualizer_v9.0.0-alpha.86) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.45 ([PR #32999](https://github.com/microsoft/fluentui/pull/32999) by beachball) -- Bump @fluentui/react-utilities to v9.18.16 ([PR #32999](https://github.com/microsoft/fluentui/pull/32999) by beachball) -- Bump @fluentui/react-shared-contexts to v9.20.2 ([PR #32999](https://github.com/microsoft/fluentui/pull/32999) by beachball) - -## [9.0.0-alpha.85](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.85) - -Thu, 26 Sep 2024 14:15:28 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.84..@fluentui/react-virtualizer_v9.0.0-alpha.85) - -### Changes - -- BREAKING CHANGE (useVirtualizerDynamicMeasure): optimized with scrollPos state and children height reference, updated algorithm to be more accurate, and exported measurement hook ([PR #32375](https://github.com/microsoft/fluentui/pull/32375) by mifraser@microsoft.com) - -## [9.0.0-alpha.84](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.84) - -Mon, 23 Sep 2024 12:40:17 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.83..@fluentui/react-virtualizer_v9.0.0-alpha.84) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.44 ([PR #32840](https://github.com/microsoft/fluentui/pull/32840) by beachball) -- Bump @fluentui/react-utilities to v9.18.15 ([PR #32840](https://github.com/microsoft/fluentui/pull/32840) by beachball) -- Bump @fluentui/react-shared-contexts to v9.20.1 ([PR #32840](https://github.com/microsoft/fluentui/pull/32840) by beachball) - -## [9.0.0-alpha.83](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.83) - -Tue, 10 Sep 2024 10:19:12 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.82..@fluentui/react-virtualizer_v9.0.0-alpha.83) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.43 ([PR #32494](https://github.com/microsoft/fluentui/pull/32494) by beachball) -- Bump @fluentui/react-utilities to v9.18.14 ([PR #32494](https://github.com/microsoft/fluentui/pull/32494) by beachball) - -## [9.0.0-alpha.82](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.82) - -Tue, 23 Jul 2024 20:13:14 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.81..@fluentui/react-virtualizer_v9.0.0-alpha.82) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.42 ([PR #32067](https://github.com/microsoft/fluentui/pull/32067) by beachball) -- Bump @fluentui/react-utilities to v9.18.13 ([PR #32067](https://github.com/microsoft/fluentui/pull/32067) by beachball) -- Bump @fluentui/react-shared-contexts to v9.20.0 ([PR #32067](https://github.com/microsoft/fluentui/pull/32067) by beachball) - -## [9.0.0-alpha.81](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.81) - -Mon, 15 Jul 2024 17:25:24 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.80..@fluentui/react-virtualizer_v9.0.0-alpha.81) - -### Changes - -- fix: revert incorectly set npm versions in all packages ([PR #31937](https://github.com/microsoft/fluentui/pull/31937) by martinhochel@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.41 ([PR #31998](https://github.com/microsoft/fluentui/pull/31998) by beachball) -- Bump @fluentui/react-utilities to v9.18.12 ([PR #31998](https://github.com/microsoft/fluentui/pull/31998) by beachball) -- Bump @fluentui/react-shared-contexts to v9.19.1 ([PR #31998](https://github.com/microsoft/fluentui/pull/31998) by beachball) - -## [9.0.0-alpha.80](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.80) - -Mon, 01 Jul 2024 20:30:40 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.79..@fluentui/react-virtualizer_v9.0.0-alpha.80) - -### Changes - -- chore: add eslint react-compiler ([PR #31457](https://github.com/microsoft/fluentui/pull/31457) by seanmonahan@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.40 ([PR #31861](https://github.com/microsoft/fluentui/pull/31861) by beachball) -- Bump @fluentui/react-utilities to v9.18.11 ([PR #31861](https://github.com/microsoft/fluentui/pull/31861) by beachball) - -## [9.0.0-alpha.79](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.79) - -Thu, 06 Jun 2024 15:26:44 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.78..@fluentui/react-virtualizer_v9.0.0-alpha.79) - -### Changes - -- fix: update internal function to optionally use global Fluent context. ([PR #30967](https://github.com/microsoft/fluentui/pull/30967) by seanmonahan@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.39 ([PR #31586](https://github.com/microsoft/fluentui/pull/31586) by beachball) -- Bump @fluentui/react-utilities to v9.18.10 ([PR #31586](https://github.com/microsoft/fluentui/pull/31586) by beachball) - -## [9.0.0-alpha.78](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.78) - -Mon, 20 May 2024 12:45:09 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.77..@fluentui/react-virtualizer_v9.0.0-alpha.78) - -### Changes - -- chore: bump @griffel/react ([PR #31258](https://github.com/microsoft/fluentui/pull/31258) by olfedias@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.38 ([PR #26682](https://github.com/microsoft/fluentui/pull/26682) by beachball) -- Bump @fluentui/react-utilities to v9.18.9 ([PR #26682](https://github.com/microsoft/fluentui/pull/26682) by beachball) -- Bump @fluentui/react-shared-contexts to v9.19.0 ([PR #26682](https://github.com/microsoft/fluentui/pull/26682) by beachball) - -## [9.0.0-alpha.77](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.77) - -Mon, 06 May 2024 12:55:02 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.76..@fluentui/react-virtualizer_v9.0.0-alpha.77) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.37 ([PR #31271](https://github.com/microsoft/fluentui/pull/31271) by beachball) -- Bump @fluentui/react-utilities to v9.18.8 ([PR #31271](https://github.com/microsoft/fluentui/pull/31271) by beachball) -- Bump @fluentui/react-shared-contexts to v9.18.0 ([PR #31271](https://github.com/microsoft/fluentui/pull/31271) by beachball) - -## [9.0.0-alpha.76](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.76) - -Thu, 02 May 2024 11:36:44 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.75..@fluentui/react-virtualizer_v9.0.0-alpha.76) - -### Changes - -- Fix: Use Fluent hooks for IO and timeout functionality ([PR #31250](https://github.com/microsoft/fluentui/pull/31250) by mifraser@microsoft.com) - -## [9.0.0-alpha.75](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.75) - -Tue, 23 Apr 2024 08:17:49 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.74..@fluentui/react-virtualizer_v9.0.0-alpha.75) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.36 ([PR #31113](https://github.com/microsoft/fluentui/pull/31113) by beachball) -- Bump @fluentui/react-utilities to v9.18.7 ([PR #31113](https://github.com/microsoft/fluentui/pull/31113) by beachball) -- Bump @fluentui/react-shared-contexts to v9.17.0 ([PR #31113](https://github.com/microsoft/fluentui/pull/31113) by beachball) - -## [9.0.0-alpha.74](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.74) - -Tue, 02 Apr 2024 09:48:01 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.73..@fluentui/react-virtualizer_v9.0.0-alpha.74) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.35 ([PR #30644](https://github.com/microsoft/fluentui/pull/30644) by beachball) -- Bump @fluentui/react-utilities to v9.18.6 ([PR #30644](https://github.com/microsoft/fluentui/pull/30644) by beachball) -- Bump @fluentui/react-shared-contexts to v9.16.0 ([PR #30644](https://github.com/microsoft/fluentui/pull/30644) by beachball) - -## [9.0.0-alpha.73](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.73) - -Mon, 18 Mar 2024 19:50:46 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.72..@fluentui/react-virtualizer_v9.0.0-alpha.73) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.34 ([PR #30600](https://github.com/microsoft/fluentui/pull/30600) by beachball) -- Bump @fluentui/react-utilities to v9.18.5 ([PR #30600](https://github.com/microsoft/fluentui/pull/30600) by beachball) -- Bump @fluentui/react-shared-contexts to v9.15.2 ([PR #30600](https://github.com/microsoft/fluentui/pull/30600) by beachball) - -## [9.0.0-alpha.72](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.72) - -Fri, 15 Mar 2024 21:43:49 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.71..@fluentui/react-virtualizer_v9.0.0-alpha.72) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.33 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball) -- Bump @fluentui/react-utilities to v9.18.4 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball) -- Bump @fluentui/react-shared-contexts to v9.15.1 ([PR #30740](https://github.com/microsoft/fluentui/pull/30740) by beachball) - -## [9.0.0-alpha.71](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.71) - -Thu, 07 Mar 2024 19:33:27 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.70..@fluentui/react-virtualizer_v9.0.0-alpha.71) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.32 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball) -- Bump @fluentui/react-utilities to v9.18.3 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball) -- Bump @fluentui/react-shared-contexts to v9.15.0 ([PR #30687](https://github.com/microsoft/fluentui/pull/30687) by beachball) - -## [9.0.0-alpha.70](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.70) - -Wed, 28 Feb 2024 02:34:19 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.69..@fluentui/react-virtualizer_v9.0.0-alpha.70) - -### Changes - -- feat: Add pagination for both static and dynamic virtualizers ([PR #30560](https://github.com/microsoft/fluentui/pull/30560) by mifraser@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.31 ([PR #30639](https://github.com/microsoft/fluentui/pull/30639) by beachball) -- Bump @fluentui/react-utilities to v9.18.2 ([PR #30639](https://github.com/microsoft/fluentui/pull/30639) by beachball) -- Bump @fluentui/react-shared-contexts to v9.14.1 ([PR #30639](https://github.com/microsoft/fluentui/pull/30639) by beachball) - -## [9.0.0-alpha.69](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.69) - -Tue, 20 Feb 2024 14:22:29 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.68..@fluentui/react-virtualizer_v9.0.0-alpha.69) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.30 ([PR #30543](https://github.com/microsoft/fluentui/pull/30543) by beachball) -- Bump @fluentui/react-utilities to v9.18.1 ([PR #30543](https://github.com/microsoft/fluentui/pull/30543) by beachball) - -## [9.0.0-alpha.68](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.68) - -Tue, 30 Jan 2024 23:16:54 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.67..@fluentui/react-virtualizer_v9.0.0-alpha.68) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.29 ([PR #29983](https://github.com/microsoft/fluentui/pull/29983) by beachball) -- Bump @fluentui/react-utilities to v9.18.0 ([PR #29983](https://github.com/microsoft/fluentui/pull/29983) by beachball) - -## [9.0.0-alpha.67](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.67) - -Tue, 23 Jan 2024 15:11:00 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.66..@fluentui/react-virtualizer_v9.0.0-alpha.67) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.28 ([PR #30359](https://github.com/microsoft/fluentui/pull/30359) by beachball) -- Bump @fluentui/react-utilities to v9.17.0 ([PR #30359](https://github.com/microsoft/fluentui/pull/30359) by beachball) - -## [9.0.0-alpha.66](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.66) - -Thu, 18 Jan 2024 14:25:03 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.65..@fluentui/react-virtualizer_v9.0.0-alpha.66) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.27 ([PR #30046](https://github.com/microsoft/fluentui/pull/30046) by beachball) -- Bump @fluentui/react-utilities to v9.16.1 ([PR #30046](https://github.com/microsoft/fluentui/pull/30046) by beachball) -- Bump @fluentui/react-shared-contexts to v9.14.0 ([PR #30046](https://github.com/microsoft/fluentui/pull/30046) by beachball) - -## [9.0.0-alpha.65](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.65) - -Wed, 17 Jan 2024 16:18:50 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.64..@fluentui/react-virtualizer_v9.0.0-alpha.65) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.26 ([PR #30339](https://github.com/microsoft/fluentui/pull/30339) by beachball) -- Bump @fluentui/react-utilities to v9.16.0 ([PR #30339](https://github.com/microsoft/fluentui/pull/30339) by beachball) - -## [9.0.0-alpha.64](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.64) - -Tue, 16 Jan 2024 13:14:13 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.63..@fluentui/react-virtualizer_v9.0.0-alpha.64) - -### Changes - -- fix: correct version of @types/react-dom peer dep that matches for 16.x ([PR #30259](https://github.com/microsoft/fluentui/pull/30259) by mgodbolt@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.25 ([PR #30299](https://github.com/microsoft/fluentui/pull/30299) by beachball) - -## [9.0.0-alpha.63](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.63) - -Mon, 08 Jan 2024 16:24:28 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.62..@fluentui/react-virtualizer_v9.0.0-alpha.63) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.24 ([PR #30179](https://github.com/microsoft/fluentui/pull/30179) by beachball) -- Bump @fluentui/react-utilities to v9.15.6 ([PR #30179](https://github.com/microsoft/fluentui/pull/30179) by beachball) - -## [9.0.0-alpha.62](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.62) - -Wed, 03 Jan 2024 09:26:44 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.61..@fluentui/react-virtualizer_v9.0.0-alpha.62) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.23 ([PR #30163](https://github.com/microsoft/fluentui/pull/30163) by beachball) -- Bump @fluentui/react-utilities to v9.15.5 ([PR #30163](https://github.com/microsoft/fluentui/pull/30163) by beachball) - -## [9.0.0-alpha.61](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.61) - -Mon, 18 Dec 2023 14:40:46 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.60..@fluentui/react-virtualizer_v9.0.0-alpha.61) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.22 ([PR #30103](https://github.com/microsoft/fluentui/pull/30103) by beachball) -- Bump @fluentui/react-utilities to v9.15.4 ([PR #30103](https://github.com/microsoft/fluentui/pull/30103) by beachball) -- Bump @fluentui/react-shared-contexts to v9.13.2 ([PR #30103](https://github.com/microsoft/fluentui/pull/30103) by beachball) - -## [9.0.0-alpha.60](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.60) - -Thu, 14 Dec 2023 09:58:46 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.59..@fluentui/react-virtualizer_v9.0.0-alpha.60) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.21 ([PR #30056](https://github.com/microsoft/fluentui/pull/30056) by beachball) -- Bump @fluentui/react-utilities to v9.15.3 ([PR #30056](https://github.com/microsoft/fluentui/pull/30056) by beachball) -- Bump @fluentui/react-shared-contexts to v9.13.1 ([PR #30056](https://github.com/microsoft/fluentui/pull/30056) by beachball) - -## [9.0.0-alpha.59](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.59) - -Thu, 30 Nov 2023 13:42:08 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.58..@fluentui/react-virtualizer_v9.0.0-alpha.59) - -### Changes - -- feat: Add default auto-measuring on dynamic virtualizezr if no sizing function provided ([PR #29868](https://github.com/microsoft/fluentui/pull/29868) by mifraser@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.20 ([PR #29929](https://github.com/microsoft/fluentui/pull/29929) by beachball) - -## [9.0.0-alpha.58](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.58) - -Mon, 20 Nov 2023 09:55:10 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.57..@fluentui/react-virtualizer_v9.0.0-alpha.58) - -### Changes - -- Bump @fluentui/react-shared-contexts to v9.13.0 ([PR #29878](https://github.com/microsoft/fluentui/pull/29878) by beachball) - -## [9.0.0-alpha.57](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.57) - -Fri, 10 Nov 2023 13:46:33 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.56..@fluentui/react-virtualizer_v9.0.0-alpha.57) - -### Changes - -- feat: Ensure IO handles RTL margin and mutations ([PR #29501](https://github.com/microsoft/fluentui/pull/29501) by mifraser@microsoft.com) - -## [9.0.0-alpha.56](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.56) - -Thu, 09 Nov 2023 17:29:48 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.55..@fluentui/react-virtualizer_v9.0.0-alpha.56) - -### Changes - -- chore: use package.json#files setup instead of npmignore for all v9 libraries ([PR #29734](https://github.com/microsoft/fluentui/pull/29734) by martinhochel@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.19 ([PR #29800](https://github.com/microsoft/fluentui/pull/29800) by beachball) -- Bump @fluentui/react-utilities to v9.15.2 ([PR #29800](https://github.com/microsoft/fluentui/pull/29800) by beachball) -- Bump @fluentui/react-shared-contexts to v9.12.0 ([PR #29800](https://github.com/microsoft/fluentui/pull/29800) by beachball) - -## [9.0.0-alpha.55](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.55) - -Wed, 01 Nov 2023 12:55:59 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.54..@fluentui/react-virtualizer_v9.0.0-alpha.55) - -### Changes - -- Bump @fluentui/react-shared-contexts to v9.11.1 ([PR #29663](https://github.com/microsoft/fluentui/pull/29663) by beachball) - -## [9.0.0-alpha.54](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.54) - -Sat, 28 Oct 2023 23:35:59 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.53..@fluentui/react-virtualizer_v9.0.0-alpha.54) - -### Changes - -- Bump @fluentui/react-shared-contexts to v9.11.0 ([commit](https://github.com/microsoft/fluentui/commit/555b0fae3ec7f052e765557ae243c58000514f92) by beachball) - -## [9.0.0-alpha.53](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.53) - -Mon, 23 Oct 2023 09:51:57 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.52..@fluentui/react-virtualizer_v9.0.0-alpha.53) - -### Changes - -- fix: use targetDocument resize observer ([PR #29551](https://github.com/microsoft/fluentui/pull/29551) by lingfangao@hotmail.com) - -## [9.0.0-alpha.52](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.52) - -Wed, 18 Oct 2023 17:54:08 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.51..@fluentui/react-virtualizer_v9.0.0-alpha.52) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.18 ([PR #29560](https://github.com/microsoft/fluentui/pull/29560) by beachball) -- Bump @fluentui/react-utilities to v9.15.1 ([PR #29560](https://github.com/microsoft/fluentui/pull/29560) by beachball) - -## [9.0.0-alpha.51](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.51) - -Thu, 12 Oct 2023 14:55:44 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.50..@fluentui/react-virtualizer_v9.0.0-alpha.51) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.17 ([PR #29513](https://github.com/microsoft/fluentui/pull/29513) by beachball) - -## [9.0.0-alpha.50](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.50) - -Wed, 11 Oct 2023 13:54:26 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.49..@fluentui/react-virtualizer_v9.0.0-alpha.50) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.16 ([PR #29262](https://github.com/microsoft/fluentui/pull/29262) by beachball) -- Bump @fluentui/react-utilities to v9.15.0 ([PR #29262](https://github.com/microsoft/fluentui/pull/29262) by beachball) - -## [9.0.0-alpha.49](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.49) - -Mon, 09 Oct 2023 20:45:44 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.48..@fluentui/react-virtualizer_v9.0.0-alpha.49) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.15 ([PR #29364](https://github.com/microsoft/fluentui/pull/29364) by beachball) -- Bump @fluentui/react-utilities to v9.14.2 ([PR #29364](https://github.com/microsoft/fluentui/pull/29364) by beachball) - -## [9.0.0-alpha.48](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.48) - -Thu, 05 Oct 2023 15:25:35 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.47..@fluentui/react-virtualizer_v9.0.0-alpha.48) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.14 ([PR #29412](https://github.com/microsoft/fluentui/pull/29412) by beachball) -- Bump @fluentui/react-utilities to v9.14.1 ([PR #29412](https://github.com/microsoft/fluentui/pull/29412) by beachball) - -## [9.0.0-alpha.47](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.47) - -Wed, 04 Oct 2023 08:45:47 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.46..@fluentui/react-virtualizer_v9.0.0-alpha.47) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.13 ([commit](https://github.com/microsoft/fluentui/commit/67b6cc6534e684ed32704dc6c0faee632bb840dc) by beachball) -- Bump @fluentui/react-utilities to v9.14.0 ([commit](https://github.com/microsoft/fluentui/commit/67b6cc6534e684ed32704dc6c0faee632bb840dc) by beachball) - -## [9.0.0-alpha.46](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.46) - -Tue, 26 Sep 2023 17:49:15 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.45..@fluentui/react-virtualizer_v9.0.0-alpha.46) - -### Changes - -- chore: trigger manual version bump after broken release ([PR #29303](https://github.com/microsoft/fluentui/pull/29303) by yuanboxue@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.12 ([PR #29303](https://github.com/microsoft/fluentui/pull/29303) by beachball) -- Bump @fluentui/react-utilities to v9.13.5 ([PR #29303](https://github.com/microsoft/fluentui/pull/29303) by beachball) - -## [9.0.0-alpha.45](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.45) - -Tue, 26 Sep 2023 15:31:40 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.44..@fluentui/react-virtualizer_v9.0.0-alpha.45) - -### Changes - -- fix: bump swc core to mitigate transpilation memory leaks ([PR #29253](https://github.com/microsoft/fluentui/pull/29253) by martinhochel@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.11 ([PR #29300](https://github.com/microsoft/fluentui/pull/29300) by beachball) -- Bump @fluentui/react-utilities to v9.13.4 ([PR #29300](https://github.com/microsoft/fluentui/pull/29300) by beachball) - -## [9.0.0-alpha.44](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.44) - -Wed, 20 Sep 2023 17:47:45 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.43..@fluentui/react-virtualizer_v9.0.0-alpha.44) - -### Changes - -- chore: trigger manual version bump after broken release ([PR #29197](https://github.com/microsoft/fluentui/pull/29197) by martinhochel@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.10 ([PR #29197](https://github.com/microsoft/fluentui/pull/29197) by beachball) - -## [9.0.0-alpha.43](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.43) - -Wed, 20 Sep 2023 14:59:53 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.42..@fluentui/react-virtualizer_v9.0.0-alpha.43) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.9 ([PR #29193](https://github.com/microsoft/fluentui/pull/29193) by beachball) - -## [9.0.0-alpha.42](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.42) - -Thu, 14 Sep 2023 16:44:47 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.41..@fluentui/react-virtualizer_v9.0.0-alpha.42) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.8 ([PR #29145](https://github.com/microsoft/fluentui/pull/29145) by beachball) - -## [9.0.0-alpha.41](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.41) - -Tue, 12 Sep 2023 08:51:34 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.40..@fluentui/react-virtualizer_v9.0.0-alpha.41) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.7 ([PR #29129](https://github.com/microsoft/fluentui/pull/29129) by beachball) - -## [9.0.0-alpha.40](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.40) - -Wed, 06 Sep 2023 13:31:31 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.39..@fluentui/react-virtualizer_v9.0.0-alpha.40) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.6 ([PR #29080](https://github.com/microsoft/fluentui/pull/29080) by beachball) -- Bump @fluentui/react-utilities to v9.13.3 ([PR #29080](https://github.com/microsoft/fluentui/pull/29080) by beachball) - -## [9.0.0-alpha.39](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.39) - -Tue, 05 Sep 2023 15:39:04 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.38..@fluentui/react-virtualizer_v9.0.0-alpha.39) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.5 ([PR #29055](https://github.com/microsoft/fluentui/pull/29055) by beachball) -- Bump @fluentui/react-utilities to v9.13.2 ([PR #29055](https://github.com/microsoft/fluentui/pull/29055) by beachball) - -## [9.0.0-alpha.38](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.38) - -Tue, 05 Sep 2023 13:29:12 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.37..@fluentui/react-virtualizer_v9.0.0-alpha.38) - -### Changes - -- chore: migrate package to use JSX importSource ([PR #28959](https://github.com/microsoft/fluentui/pull/28959) by bernardo.sunderhus@gmail.com) -- bumps @swc/helpers version to 0.5.1 ([PR #28989](https://github.com/microsoft/fluentui/pull/28989) by bernardo.sunderhus@gmail.com) -- Bump @fluentui/react-jsx-runtime to v9.0.4 ([PR #29056](https://github.com/microsoft/fluentui/pull/29056) by beachball) -- Bump @fluentui/react-utilities to v9.13.1 ([PR #29056](https://github.com/microsoft/fluentui/pull/29056) by beachball) - -## [9.0.0-alpha.37](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.37) - -Tue, 29 Aug 2023 12:57:36 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.36..@fluentui/react-virtualizer_v9.0.0-alpha.37) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.3 ([PR #29005](https://github.com/microsoft/fluentui/pull/29005) by beachball) -- Bump @fluentui/react-utilities to v9.13.0 ([PR #29005](https://github.com/microsoft/fluentui/pull/29005) by beachball) - -## [9.0.0-alpha.36](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.36) - -Thu, 24 Aug 2023 10:26:35 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.35..@fluentui/react-virtualizer_v9.0.0-alpha.36) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.2 ([PR #28973](https://github.com/microsoft/fluentui/pull/28973) by beachball) -- Bump @fluentui/react-utilities to v9.12.0 ([PR #28973](https://github.com/microsoft/fluentui/pull/28973) by beachball) - -## [9.0.0-alpha.35](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.35) - -Wed, 23 Aug 2023 12:01:49 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.34..@fluentui/react-virtualizer_v9.0.0-alpha.35) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.1 ([PR #28957](https://github.com/microsoft/fluentui/pull/28957) by beachball) -- Bump @fluentui/react-utilities to v9.11.2 ([PR #28957](https://github.com/microsoft/fluentui/pull/28957) by beachball) - -## [9.0.0-alpha.34](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.34) - -Wed, 16 Aug 2023 17:41:08 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.33..@fluentui/react-virtualizer_v9.0.0-alpha.34) - -### Changes - -- Fix: Ensure scrollViewRef is merged with container ref ([PR #28829](https://github.com/microsoft/fluentui/pull/28829) by mifraser@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.0 ([PR #28885](https://github.com/microsoft/fluentui/pull/28885) by beachball) - -## [9.0.0-alpha.33](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.33) - -Wed, 16 Aug 2023 11:38:33 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.32..@fluentui/react-virtualizer_v9.0.0-alpha.33) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.16 ([PR #28791](https://github.com/microsoft/fluentui/pull/28791) by beachball) - -## [9.0.0-alpha.32](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.32) - -Fri, 11 Aug 2023 12:14:25 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.31..@fluentui/react-virtualizer_v9.0.0-alpha.32) - -### Changes - -- chore(react-virtualizer): migrate to new slot API ([PR #28774](https://github.com/microsoft/fluentui/pull/28774) by bernardo.sunderhus@gmail.com) -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.15 ([PR #28808](https://github.com/microsoft/fluentui/pull/28808) by beachball) -- Bump @fluentui/react-utilities to v9.11.1 ([PR #28808](https://github.com/microsoft/fluentui/pull/28808) by beachball) - -## [9.0.0-alpha.31](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.31) - -Wed, 09 Aug 2023 13:17:10 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.30..@fluentui/react-virtualizer_v9.0.0-alpha.31) - -### Changes - -- chore: Update Griffel to latest version ([PR #28684](https://github.com/microsoft/fluentui/pull/28684) by olfedias@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.14 ([PR #28775](https://github.com/microsoft/fluentui/pull/28775) by beachball) - -## [9.0.0-alpha.30](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.30) - -Fri, 04 Aug 2023 08:52:58 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.29..@fluentui/react-virtualizer_v9.0.0-alpha.30) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.13 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball) -- Bump @fluentui/react-utilities to v9.11.0 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball) - -## [9.0.0-alpha.29](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.29) - -Thu, 20 Jul 2023 18:27:36 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.28..@fluentui/react-virtualizer_v9.0.0-alpha.29) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.12 ([PR #26826](https://github.com/microsoft/fluentui/pull/26826) by beachball) - -## [9.0.0-alpha.28](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.28) - -Mon, 17 Jul 2023 21:27:36 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.27..@fluentui/react-virtualizer_v9.0.0-alpha.28) - -### Changes - -- Feat: Add imperative ref access to both virtualizer length and current index ([PR #28450](https://github.com/microsoft/fluentui/pull/28450) by mifraser@microsoft.com) - -## [9.0.0-alpha.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.27) - -Tue, 11 Jul 2023 18:46:36 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.26..@fluentui/react-virtualizer_v9.0.0-alpha.27) - -### Changes - -- Fix: Ensure 'start buffer' is margin padded into the non-virtualized space on horizontal layouts ([PR #28437](https://github.com/microsoft/fluentui/pull/28437) by mifraser@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.11 ([PR #28491](https://github.com/microsoft/fluentui/pull/28491) by beachball) -- Bump @fluentui/react-conformance-griffel to v9.0.0 ([PR #28491](https://github.com/microsoft/fluentui/pull/28491) by beachball) - -## [9.0.0-alpha.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.26) - -Mon, 03 Jul 2023 11:57:14 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.25..@fluentui/react-virtualizer_v9.0.0-alpha.26) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.10 ([PR #28412](https://github.com/microsoft/fluentui/pull/28412) by beachball) -- Bump @fluentui/react-utilities to v9.10.1 ([PR #28412](https://github.com/microsoft/fluentui/pull/28412) by beachball) - -## [9.0.0-alpha.25](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.25) - -Wed, 28 Jun 2023 11:12:36 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.24..@fluentui/react-virtualizer_v9.0.0-alpha.25) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.9 ([PR #28320](https://github.com/microsoft/fluentui/pull/28320) by beachball) -- Bump @fluentui/react-utilities to v9.10.0 ([PR #28320](https://github.com/microsoft/fluentui/pull/28320) by beachball) - -## [9.0.0-alpha.24](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.24) - -Mon, 26 Jun 2023 09:53:55 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.23..@fluentui/react-virtualizer_v9.0.0-alpha.24) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.8 ([PR #28296](https://github.com/microsoft/fluentui/pull/28296) by beachball) -- Bump @fluentui/react-utilities to v9.9.4 ([PR #28296](https://github.com/microsoft/fluentui/pull/28296) by beachball) - -## [9.0.0-alpha.23](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.23) - -Tue, 20 Jun 2023 12:39:06 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.22..@fluentui/react-virtualizer_v9.0.0-alpha.23) - -### Changes - -- feature: Add scrollTo index hook and callbacks, isScrolling flag ([PR #27864](https://github.com/microsoft/fluentui/pull/27864) by mifraser@microsoft.com) -- chore: migrate to ts 4.7 which wont emit undefined anymore for optional arguments ([PR #28067](https://github.com/microsoft/fluentui/pull/28067) by martinhochel@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.7 ([PR #28229](https://github.com/microsoft/fluentui/pull/28229) by beachball) -- Bump @fluentui/react-utilities to v9.9.3 ([PR #28229](https://github.com/microsoft/fluentui/pull/28229) by beachball) -- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.23 ([PR #28229](https://github.com/microsoft/fluentui/pull/28229) by beachball) - -## [9.0.0-alpha.22](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.22) - -Wed, 31 May 2023 06:46:23 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.21..@fluentui/react-virtualizer_v9.0.0-alpha.22) - -### Changes - -- chore: Update Griffel to v1.5.7. ([PR #27925](https://github.com/microsoft/fluentui/pull/27925) by seanmonahan@microsoft.com) -- chore: move makeStyles() calls to .styles.ts files ([PR #27685](https://github.com/microsoft/fluentui/pull/27685) by olfedias@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.6 ([PR #28054](https://github.com/microsoft/fluentui/pull/28054) by beachball) -- Bump @fluentui/react-utilities to v9.9.2 ([PR #28054](https://github.com/microsoft/fluentui/pull/28054) by beachball) -- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.22 ([PR #28054](https://github.com/microsoft/fluentui/pull/28054) by beachball) - -## [9.0.0-alpha.21](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.21) - -Thu, 25 May 2023 10:00:48 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.20..@fluentui/react-virtualizer_v9.0.0-alpha.21) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.5 ([PR #27988](https://github.com/microsoft/fluentui/pull/27988) by beachball) -- Bump @fluentui/react-utilities to v9.9.1 ([PR #27988](https://github.com/microsoft/fluentui/pull/27988) by beachball) - -## [9.0.0-alpha.20](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.20) - -Thu, 18 May 2023 00:39:19 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.19..@fluentui/react-virtualizer_v9.0.0-alpha.20) - -### Changes - -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.4 ([PR #27834](https://github.com/microsoft/fluentui/pull/27834) by beachball) -- Bump @fluentui/react-utilities to v9.9.0 ([PR #27834](https://github.com/microsoft/fluentui/pull/27834) by beachball) - -## [9.0.0-alpha.19](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.19) - -Fri, 12 May 2023 20:28:06 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.18..@fluentui/react-virtualizer_v9.0.0-alpha.19) - -### Changes - -- chore: exclude .swcrc from being published ([PR #27740](https://github.com/microsoft/fluentui/pull/27740) by olfedias@microsoft.com) -- feature: Add dynamically sized virtualizer scroll view ([PR #27298](https://github.com/microsoft/fluentui/pull/27298) by mifraser@microsoft.com) -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.3 ([PR #27827](https://github.com/microsoft/fluentui/pull/27827) by beachball) -- Bump @fluentui/react-utilities to v9.8.1 ([PR #27827](https://github.com/microsoft/fluentui/pull/27827) by beachball) -- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.21 ([PR #27827](https://github.com/microsoft/fluentui/pull/27827) by beachball) - -## [9.0.0-alpha.18](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.18) - -Mon, 24 Apr 2023 08:12:46 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.17..@fluentui/react-virtualizer_v9.0.0-alpha.18) - -### Changes - -- chore: adopt custom JSX pragma ([PR #27629](https://github.com/microsoft/fluentui/pull/27629) by bernardo.sunderhus@gmail.com) -- Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.2 ([commit](https://github.com/microsoft/fluentui/commit/505433ac64f144c9cca456097413d6af4582e5ee) by beachball) - -## [9.0.0-alpha.17](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.17) - -Mon, 17 Apr 2023 17:54:02 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.16..@fluentui/react-virtualizer_v9.0.0-alpha.17) - -### Changes - -- Bump @fluentui/react-utilities to v9.8.0 ([PR #27564](https://github.com/microsoft/fluentui/pull/27564) by beachball) - -## [9.0.0-alpha.16](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.16) - -Wed, 12 Apr 2023 09:31:45 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.15..@fluentui/react-virtualizer_v9.0.0-alpha.16) - -### Changes - -- Bump @fluentui/react-utilities to v9.7.4 ([PR #27274](https://github.com/microsoft/fluentui/pull/27274) by beachball) - -## [9.0.0-alpha.15](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.15) - -Tue, 04 Apr 2023 18:44:50 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.14..@fluentui/react-virtualizer_v9.0.0-alpha.15) - -### Changes - -- fix: remove disallowed v9 react-fabric/v8 from dependency to mitigate dep-tree creep ([PR #27334](https://github.com/microsoft/fluentui/pull/27334) by martinhochel@microsoft.com) -- Bump @fluentui/react-utilities to v9.7.3 ([PR #27434](https://github.com/microsoft/fluentui/pull/27434) by beachball) - -## [9.0.0-alpha.14](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.14) - -Fri, 24 Mar 2023 10:15:27 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.13..@fluentui/react-virtualizer_v9.0.0-alpha.14) - -### Changes - -- [feat] Add static measurement hooks and embedded scroll option ([PR #26985](https://github.com/microsoft/fluentui/pull/26985) by mifraser@microsoft.com) - -## [9.0.0-alpha.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.13) - -Tue, 21 Mar 2023 21:23:16 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.12..@fluentui/react-virtualizer_v9.0.0-alpha.13) - -### Changes - -- chore: migrate to swc transpilation approach. ([PR #27250](https://github.com/microsoft/fluentui/pull/27250) by tristan.watanabe@gmail.com) -- fix: add node field to package.json exports map. ([PR #27154](https://github.com/microsoft/fluentui/pull/27154) by tristan.watanabe@gmail.com) -- Bump @fluentui/react-utilities to v9.7.2 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball) -- Bump @fluentui/react-conformance-griffel to v9.0.0-beta.20 ([PR #27271](https://github.com/microsoft/fluentui/pull/27271) by beachball) - -## [9.0.0-alpha.12](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.12) - -Thu, 16 Mar 2023 14:36:59 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.11..@fluentui/react-virtualizer_v9.0.0-alpha.12) - -### Changes - -- Bump @fluentui/react-utilities to v9.7.1 ([PR #27229](https://github.com/microsoft/fluentui/pull/27229) by beachball) - -## [9.0.0-alpha.11](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.11) - -Mon, 13 Mar 2023 08:58:26 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.10..@fluentui/react-virtualizer_v9.0.0-alpha.11) - -### Changes - -- Bump @fluentui/react-utilities to v9.7.0 ([PR #27161](https://github.com/microsoft/fluentui/pull/27161) by beachball) - -## [9.0.0-alpha.10](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.10) - -Fri, 10 Mar 2023 07:14:01 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.9..@fluentui/react-virtualizer_v9.0.0-alpha.10) - -### Changes - -- Bump @fluentui/react-utilities to v9.6.2 ([PR #27157](https://github.com/microsoft/fluentui/pull/27157) by beachball) - -## [9.0.0-alpha.9](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.9) - -Wed, 08 Mar 2023 17:42:51 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.8..@fluentui/react-virtualizer_v9.0.0-alpha.9) - -### Changes - -- Bump @fluentui/react-utilities to v9.6.1 ([PR #27127](https://github.com/microsoft/fluentui/pull/27127) by beachball) - -## [9.0.0-alpha.8](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.8) - -Thu, 16 Feb 2023 19:18:49 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.7..@fluentui/react-virtualizer_v9.0.0-alpha.8) - -### Changes - -- fixing build issues ([PR #26877](https://github.com/microsoft/fluentui/pull/26877) by mgodbolt@microsoft.com) - -## [9.0.0-alpha.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.7) - -Thu, 16 Feb 2023 16:18:01 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.6..@fluentui/react-virtualizer_v9.0.0-alpha.7) - -### Changes - -- fix: Updating peer dependencies to support React 18. ([PR #26866](https://github.com/microsoft/fluentui/pull/26866) by mgodbolt@microsoft.com) - -## [9.0.0-alpha.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.6) - -Wed, 15 Feb 2023 11:44:52 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.5..@fluentui/react-virtualizer_v9.0.0-alpha.6) - -### Changes - -- Bump @fluentui/react-utilities to v9.6.0 ([PR #26845](https://github.com/microsoft/fluentui/pull/26845) by beachball) - -## [9.0.0-alpha.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.5) - -Mon, 13 Feb 2023 23:43:14 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.4..@fluentui/react-virtualizer_v9.0.0-alpha.5) - -### Changes - -- Bump @fluentui/react-utilities to v9.5.3 ([PR #26814](https://github.com/microsoft/fluentui/pull/26814) by beachball) - -## [9.0.0-alpha.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.4) - -Fri, 10 Feb 2023 08:50:02 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.3..@fluentui/react-virtualizer_v9.0.0-alpha.4) - -### Changes - -- Bump @fluentui/react-utilities to v9.5.2 ([commit](https://github.com/microsoft/fluentui/commit/cc62f050f8231e8f21a2cf7dddf33003e0ba3931) by beachball) - -## [9.0.0-alpha.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.3) - -Tue, 31 Jan 2023 19:53:58 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.2..@fluentui/react-virtualizer_v9.0.0-alpha.3) - -### Changes - -- Bump @fluentui/react-utilities to v9.5.1 ([PR #26557](https://github.com/microsoft/fluentui/pull/26557) by beachball) - -## [9.0.0-alpha.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.2) - -Thu, 26 Jan 2023 13:31:03 GMT -[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.1..@fluentui/react-virtualizer_v9.0.0-alpha.2) - -### Changes - -- Bump @fluentui/react-utilities to v9.5.0 ([PR #26496](https://github.com/microsoft/fluentui/pull/26496) by beachball) - -## [9.0.0-alpha.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.1) - -Mon, 23 Jan 2023 16:43:12 GMT - -### Changes - -- feat: Initial unstable release of the Virtualizer ([PR #25451](https://github.com/microsoft/fluentui/pull/25451) by mifraser@microsoft.com) diff --git a/packages/react-components/react-virtualizer/library/LICENSE b/packages/react-components/react-virtualizer/library/LICENSE deleted file mode 100644 index 5f1de3d373b12..0000000000000 --- a/packages/react-components/react-virtualizer/library/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -@fluentui/react-virtualizer - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Note: Usage of the fonts and icons referenced in Fluent UI React is subject to the terms listed at https://aka.ms/fluentui-assets-license diff --git a/packages/react-components/react-virtualizer/library/README.md b/packages/react-components/react-virtualizer/library/README.md deleted file mode 100644 index 35f1d7c8fa3b4..0000000000000 --- a/packages/react-components/react-virtualizer/library/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# @fluentui/react-virtualizer - -**This package has been deprecated and moved to the [Fluent UI contributor repo](https://github.com/microsoft/fluentui-contrib/tree/main/packages/react-virtualizer) for stable release** - -**Virtualizer components for [Fluent UI React](https://react.fluentui.dev/)** - -These are not production-ready components and **should never be used in product**. This space is useful for testing new components whose APIs might change before final release. diff --git a/packages/react-components/react-virtualizer/library/config/api-extractor.json b/packages/react-components/react-virtualizer/library/config/api-extractor.json deleted file mode 100644 index 8d482156d10d5..0000000000000 --- a/packages/react-components/react-virtualizer/library/config/api-extractor.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "@fluentui/scripts-api-extractor/api-extractor.common.v-next.json", - "mainEntryPointFilePath": "/../../../../../../dist/out-tsc/types/packages/react-components//library/src/index.d.ts" -} diff --git a/packages/react-components/react-virtualizer/library/config/tests.js b/packages/react-components/react-virtualizer/library/config/tests.js deleted file mode 100644 index 2e211ae9e2142..0000000000000 --- a/packages/react-components/react-virtualizer/library/config/tests.js +++ /dev/null @@ -1 +0,0 @@ -/** Jest test setup file. */ diff --git a/packages/react-components/react-virtualizer/library/etc/react-virtualizer.api.md b/packages/react-components/react-virtualizer/library/etc/react-virtualizer.api.md deleted file mode 100644 index 0062bc712231b..0000000000000 --- a/packages/react-components/react-virtualizer/library/etc/react-virtualizer.api.md +++ /dev/null @@ -1,239 +0,0 @@ -## API Report File for "@fluentui/react-virtualizer" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import type { ComponentProps } from '@fluentui/react-utilities'; -import type { ComponentState } from '@fluentui/react-utilities'; -import * as React_2 from 'react'; -import type { Slot } from '@fluentui/react-utilities'; -import type { SlotClassNames } from '@fluentui/react-utilities'; - -// @public @deprecated -export type DynamicVirtualizerContextProps = Required; - -// @public @deprecated (undocumented) -export interface IndexedResizeCallbackElement { - // (undocumented) - handleResize: () => void; -} - -// @public @deprecated (undocumented) -export const renderVirtualizer_unstable: (state: VirtualizerState) => JSX.Element; - -// @public @deprecated (undocumented) -export const renderVirtualizerScrollView_unstable: (state: VirtualizerScrollViewState) => JSX.Element; - -// @public @deprecated (undocumented) -export const renderVirtualizerScrollViewDynamic_unstable: (state: VirtualizerScrollViewDynamicState) => JSX.Element; - -// @public @deprecated -export interface ResizeCallbackWithRef { - // (undocumented) - (entries: ResizeObserverEntry[], observer: ResizeObserver, scrollRef?: React_2.MutableRefObject): void; -} - -// @public (undocumented) -export type ScrollToInterface = { - scrollTo: (index: number, behavior?: ScrollBehavior, callback?: (index: number) => void) => void; - virtualizerLength: React_2.RefObject; - currentIndex: React_2.RefObject | undefined; -}; - -// @public (undocumented) -export const scrollToItemDynamic: (params: ScrollToItemDynamicParams) => void; - -// @public (undocumented) -export type ScrollToItemDynamicParams = { - index: number; - itemSizes: React_2.RefObject; - totalSize: number; - scrollViewRef: React_2.RefObject; - axis?: 'horizontal' | 'vertical'; - reversed?: boolean; - behavior?: ScrollBehavior; -}; - -// @public (undocumented) -export const scrollToItemStatic: (params: ScrollToItemStaticParams) => void; - -// @public (undocumented) -export type ScrollToItemStaticParams = { - index: number; - itemSize: number; - totalItems: number; - scrollViewRef: React_2.RefObject; - axis?: 'horizontal' | 'vertical'; - reversed?: boolean; - behavior?: ScrollBehavior; -}; - -// @public @deprecated -export const useDynamicVirtualizerMeasure: (virtualizerProps: VirtualizerMeasureDynamicProps) => { - virtualizerLength: number; - bufferItems: number; - bufferSize: number; - scrollRef: (instance: TElement | null) => void; - containerSizeRef: React_2.RefObject; - updateScrollPosition: (scrollPosition: number) => void; -}; - -// @public @deprecated -export const useIntersectionObserver: (callback: IntersectionObserverCallback, options?: IntersectionObserverInit) => { - setObserverList: React_2.Dispatch>; - setObserverInit: (newInit: IntersectionObserverInit | undefined) => void; - observer: React_2.MutableRefObject; -}; - -// @public @deprecated -export function useMeasureList(currentIndex: number, refLength: number, totalLength: number, defaultItemSize: number): { - widthArray: React_2.MutableRefObject; - heightArray: React_2.MutableRefObject; - createIndexedRef: (index: number) => (el: TElement) => void; - refArray: React_2.MutableRefObject<(TElement | null | undefined)[]>; - sizeUpdateCount: number; -}; - -// @public @deprecated -export const useResizeObserverRef_unstable: (resizeCallback: ResizeCallbackWithRef) => (instance: HTMLElement | HTMLDivElement | null) => void; - -// @public @deprecated -export const useStaticVirtualizerMeasure: (virtualizerProps: VirtualizerMeasureProps) => { - virtualizerLength: number; - bufferItems: number; - bufferSize: number; - scrollRef: (instance: TElement | null) => void; - containerSizeRef: React_2.MutableRefObject; -}; - -// @public @deprecated (undocumented) -export function useVirtualizer_unstable(props: VirtualizerProps): VirtualizerState; - -// @public @deprecated (undocumented) -export const useVirtualizerContext_unstable: () => VirtualizerContextProps; - -// @public @deprecated (undocumented) -export function useVirtualizerScrollView_unstable(props: VirtualizerScrollViewProps): VirtualizerScrollViewState; - -// @public @deprecated (undocumented) -export function useVirtualizerScrollViewDynamic_unstable(props: VirtualizerScrollViewDynamicProps): VirtualizerScrollViewDynamicState; - -// @public @deprecated -export const useVirtualizerScrollViewDynamicStyles_unstable: (state: VirtualizerScrollViewDynamicState) => VirtualizerScrollViewDynamicState; - -// @public @deprecated -export const useVirtualizerScrollViewStyles_unstable: (state: VirtualizerScrollViewState) => VirtualizerScrollViewState; - -// @public @deprecated -export const useVirtualizerStyles_unstable: (state: VirtualizerState) => VirtualizerState; - -// @public @deprecated -export const Virtualizer: React_2.FC; - -// @public @deprecated -export type VirtualizerChildRenderFunction = (index: number, isScrolling: boolean) => React_2.ReactNode; - -// @public @deprecated (undocumented) -export const virtualizerClassNames: SlotClassNames; - -// @public @deprecated (undocumented) -export type VirtualizerContextProps = { - contextIndex: number; - setContextIndex: (index: number) => void; - childProgressiveSizes?: React_2.MutableRefObject; -}; - -// @public @deprecated (undocumented) -export const VirtualizerContextProvider: React_2.Provider; - -// @public @deprecated (undocumented) -export type VirtualizerDataRef = { - progressiveSizes: React_2.RefObject; - nodeSizes: React_2.RefObject; - setFlaggedIndex: (index: number | null) => void; - currentIndex: React_2.RefObject; -}; - -// @public @deprecated (undocumented) -export type VirtualizerMeasureDynamicProps = { - defaultItemSize: number; - virtualizerContext: DynamicVirtualizerContextProps; - numItems: number; - getItemSize: (index: number) => number; - direction?: 'vertical' | 'horizontal'; - bufferItems?: number; - bufferSize?: number; -}; - -// @public @deprecated (undocumented) -export type VirtualizerMeasureProps = { - defaultItemSize: number; - direction?: 'vertical' | 'horizontal'; - bufferItems?: number; - bufferSize?: number; -}; - -// @public @deprecated (undocumented) -export type VirtualizerProps = ComponentProps> & VirtualizerConfigProps; - -// @public @deprecated -export const VirtualizerScrollView: React_2.FC; - -// @public @deprecated (undocumented) -export const virtualizerScrollViewClassNames: SlotClassNames; - -// @public @deprecated -export const VirtualizerScrollViewDynamic: React_2.FC; - -// @public @deprecated (undocumented) -export const virtualizerScrollViewDynamicClassNames: SlotClassNames; - -// @public @deprecated (undocumented) -export type VirtualizerScrollViewDynamicProps = ComponentProps> & Partial> & { - itemSize: number; - getItemSize?: (index: number) => number; - numItems: number; - children: VirtualizerChildRenderFunction; - imperativeRef?: React_2.RefObject; - enablePagination?: boolean; - virtualizerContext?: DynamicVirtualizerContextProps; -}; - -// @public @deprecated (undocumented) -export type VirtualizerScrollViewDynamicSlots = VirtualizerScrollViewSlots; - -// @public (undocumented) -export type VirtualizerScrollViewDynamicState = ComponentState & VirtualizerConfigState; - -// @public @deprecated (undocumented) -export type VirtualizerScrollViewProps = ComponentProps> & Partial> & { - itemSize: number; - numItems: number; - children: VirtualizerChildRenderFunction; - imperativeRef?: React_2.RefObject; - enablePagination?: boolean; -}; - -// @public @deprecated (undocumented) -export type VirtualizerScrollViewSlots = VirtualizerSlots & { - container: NonNullable>; -}; - -// @public @deprecated (undocumented) -export type VirtualizerScrollViewState = ComponentState & VirtualizerConfigState; - -// @public @deprecated (undocumented) -export type VirtualizerSlots = { - before: NonNullable>; - beforeContainer: NonNullable>; - after: NonNullable>; - afterContainer: NonNullable>; -}; - -// @public @deprecated (undocumented) -export type VirtualizerState = ComponentState & VirtualizerConfigState; - -// (No @packageDocumentation comment for this package) - -``` diff --git a/packages/react-components/react-virtualizer/library/jest.config.js b/packages/react-components/react-virtualizer/library/jest.config.js deleted file mode 100644 index dc88c3fa6d9af..0000000000000 --- a/packages/react-components/react-virtualizer/library/jest.config.js +++ /dev/null @@ -1,34 +0,0 @@ -// @ts-check -/* eslint-disable */ - -const { readFileSync } = require('node:fs'); -const { join } = require('node:path'); - -// Reading the SWC compilation config and remove the "exclude" -// for the test files to be compiled by SWC -const { exclude: _, ...swcJestConfig } = JSON.parse(readFileSync(join(__dirname, '.swcrc'), 'utf-8')); - -// disable .swcrc look-up by SWC core because we're passing in swcJestConfig ourselves. -// If we do not disable this, SWC Core will read .swcrc and won't transform our test files due to "exclude" -if (swcJestConfig.swcrc === undefined) { - swcJestConfig.swcrc = false; -} - -// Uncomment if using global setup/teardown files being transformed via swc -// https://nx.dev/packages/jest/documents/overview#global-setup/teardown-with-nx-libraries -// jest needs EsModule Interop to find the default exported setup/teardown functions -// swcJestConfig.module.noInterop = false; - -/** - * @type {import('@jest/types').Config.InitialOptions} - */ -module.exports = { - displayName: 'react-virtualizer', - preset: '../../../../jest.preset.js', - transform: { - '^.+\\.tsx?$': ['@swc/jest', swcJestConfig], - }, - coverageDirectory: './coverage', - setupFilesAfterEnv: ['./config/tests.js'], - snapshotSerializers: ['@griffel/jest-serializer'], -}; diff --git a/packages/react-components/react-virtualizer/library/package.json b/packages/react-components/react-virtualizer/library/package.json deleted file mode 100644 index 9eb81a0ec6bc8..0000000000000 --- a/packages/react-components/react-virtualizer/library/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "@fluentui/react-virtualizer", - "version": "9.0.0-alpha.102", - "description": "Generic and composable virtualizer framework built on browser intersection observer", - "main": "lib-commonjs/index.js", - "module": "lib/index.js", - "typings": "./dist/index.d.ts", - "sideEffects": false, - "repository": { - "type": "git", - "url": "https://github.com/microsoft/fluentui" - }, - "license": "MIT", - "devDependencies": { - "@fluentui/eslint-plugin": "*", - "@fluentui/react-conformance": "*", - "@fluentui/react-conformance-griffel": "*", - "@fluentui/scripts-api-extractor": "*" - }, - "dependencies": { - "@fluentui/react-jsx-runtime": "^9.1.4", - "@fluentui/react-utilities": "^9.23.1", - "@fluentui/react-shared-contexts": "^9.24.1", - "@griffel/react": "^1.5.22", - "@swc/helpers": "^0.5.1" - }, - "peerDependencies": { - "@types/react": ">=16.14.0 <19.0.0", - "@types/react-dom": ">=16.9.0 <19.0.0", - "react": ">=16.14.0 <19.0.0", - "react-dom": ">=16.14.0 <19.0.0" - }, - "beachball": { - "disallowedChangeTypes": [ - "major", - "minor", - "patch" - ] - }, - "exports": { - ".": { - "types": "./dist/index.d.ts", - "node": "./lib-commonjs/index.js", - "import": "./lib/index.js", - "require": "./lib-commonjs/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "*.md", - "dist/*.d.ts", - "lib", - "lib-commonjs" - ] -} diff --git a/packages/react-components/react-virtualizer/library/project.json b/packages/react-components/react-virtualizer/library/project.json deleted file mode 100644 index ac76c9a2a8797..0000000000000 --- a/packages/react-components/react-virtualizer/library/project.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "react-virtualizer", - "$schema": "../../../../node_modules/nx/schemas/project-schema.json", - "projectType": "library", - "implicitDependencies": [], - "sourceRoot": "packages/react-components/react-virtualizer/library/src", - "tags": ["vNext", "platform:web"] -} diff --git a/packages/react-components/react-virtualizer/library/src/Hooks.ts b/packages/react-components/react-virtualizer/library/src/Hooks.ts deleted file mode 100644 index 66843929c72e8..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/Hooks.ts +++ /dev/null @@ -1,17 +0,0 @@ -export type { - IndexedResizeCallbackElement, - ResizeCallbackWithRef, - VirtualizerDynamicPaginationProps, - VirtualizerMeasureDynamicProps, - VirtualizerMeasureProps, - VirtualizerStaticPaginationProps, -} from './hooks/index'; -export { - createResizeObserverFromDocument, - getRTLRootMargin, - useDynamicVirtualizerMeasure, - useIntersectionObserver, - useMeasureList, - useResizeObserverRef_unstable, - useStaticVirtualizerMeasure, -} from './hooks/index'; diff --git a/packages/react-components/react-virtualizer/library/src/Utilities.ts b/packages/react-components/react-virtualizer/library/src/Utilities.ts deleted file mode 100644 index 869d0f30c543e..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/Utilities.ts +++ /dev/null @@ -1,14 +0,0 @@ -export type { - DynamicVirtualizerContextProps, - ScrollToInterface, - ScrollToItemDynamicParams, - ScrollToItemStaticParams, - VirtualizerContextProps, -} from './utilities/index'; -export { - VirtualizerContextProvider, - scrollToItemDynamic, - scrollToItemStatic, - useVirtualizerContextState_unstable, - useVirtualizerContext_unstable, -} from './utilities/index'; diff --git a/packages/react-components/react-virtualizer/library/src/Virtualizer.ts b/packages/react-components/react-virtualizer/library/src/Virtualizer.ts deleted file mode 100644 index 88b1c91db8e71..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/Virtualizer.ts +++ /dev/null @@ -1,17 +0,0 @@ -export type { - VirtualizerChildRenderFunction, - VirtualizerConfigProps, - VirtualizerConfigState, - VirtualizerDataRef, - VirtualizerProps, - VirtualizerSlots, - VirtualizerState, -} from './components/Virtualizer/index'; -export { - Virtualizer, - renderVirtualizerChildPlaceholder, - renderVirtualizer_unstable, - useVirtualizerStyles_unstable, - useVirtualizer_unstable, - virtualizerClassNames, -} from './components/Virtualizer/index'; diff --git a/packages/react-components/react-virtualizer/library/src/VirtualizerScrollView.ts b/packages/react-components/react-virtualizer/library/src/VirtualizerScrollView.ts deleted file mode 100644 index 637c28ce8d450..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/VirtualizerScrollView.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type { - VirtualizerScrollViewProps, - VirtualizerScrollViewSlots, - VirtualizerScrollViewState, -} from './components/VirtualizerScrollView/index'; -export { - VirtualizerScrollView, - renderVirtualizerScrollView_unstable, - useVirtualizerScrollViewStyles_unstable, - useVirtualizerScrollView_unstable, - virtualizerScrollViewClassNames, -} from './components/VirtualizerScrollView/index'; diff --git a/packages/react-components/react-virtualizer/library/src/VirtualizerScrollViewDynamic.ts b/packages/react-components/react-virtualizer/library/src/VirtualizerScrollViewDynamic.ts deleted file mode 100644 index 2b72c0c097ca2..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/VirtualizerScrollViewDynamic.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type { - VirtualizerScrollViewDynamicProps, - VirtualizerScrollViewDynamicSlots, - VirtualizerScrollViewDynamicState, -} from './components/VirtualizerScrollViewDynamic/index'; -export { - VirtualizerScrollViewDynamic, - renderVirtualizerScrollViewDynamic_unstable, - useVirtualizerScrollViewDynamicStyles_unstable, - useVirtualizerScrollViewDynamic_unstable, - virtualizerScrollViewDynamicClassNames, -} from './components/VirtualizerScrollViewDynamic/index'; diff --git a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/Virtualizer.ts b/packages/react-components/react-virtualizer/library/src/components/Virtualizer/Virtualizer.ts deleted file mode 100644 index 24c33f312d7a0..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/Virtualizer.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as React from 'react'; -import type { VirtualizerProps } from './Virtualizer.types'; -import { useVirtualizerStyles_unstable } from './useVirtualizerStyles.styles'; -import { useVirtualizer_unstable } from './useVirtualizer'; -import { renderVirtualizer_unstable } from './renderVirtualizer'; -import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts'; - -/** - * Virtualizer pseudo-component, this functional wrapper - * provides a simple interface for reducing the total number - * of elements rendered at one time in large lists. - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const Virtualizer: React.FC = (props: VirtualizerProps) => { - const state = useVirtualizer_unstable(props); - useVirtualizerStyles_unstable(state); - useCustomStyleHook_unstable('useVirtualizerStyles_unstable')(state); - - return renderVirtualizer_unstable(state); -}; - -Virtualizer.displayName = 'Virtualizer'; diff --git a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/Virtualizer.types.ts b/packages/react-components/react-virtualizer/library/src/components/Virtualizer/Virtualizer.types.ts deleted file mode 100644 index 41967016d8b23..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/Virtualizer.types.ts +++ /dev/null @@ -1,228 +0,0 @@ -import * as React from 'react'; -import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities'; -import type { VirtualizerContextProps } from '../../Utilities'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerSlots = { - /** - * The intersection observed 'before' element will detect when scrolling towards the beginning. - */ - before: NonNullable>; - /** - * A block place holding whitespace at the beginning of current DOM children. - */ - beforeContainer: NonNullable>; - /** - * The intersection observed 'after' element will detect when scrolling towards the end. - */ - after: NonNullable>; - /** - * A block place holding whitespace after the end of current DOM children. - */ - afterContainer: NonNullable>; -}; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerConfigState = { - /** - * The current virtualized array of children to show in the DOM. - */ - virtualizedChildren: React.ReactNode[]; - /** - * The current start index for the virtualizer, all previous index's will be removed from DOM. - */ - virtualizerStartIndex: number; - /** - * Current buffer height required at beginning of array. - */ - afterBufferHeight: number; - /** - * Current buffer height required at end of array. - */ - beforeBufferHeight: number; - /** - * The total current height of the scrollView/child content. - */ - totalVirtualizerHeight: number; - /** - * The scroll direction - * @default vertical - */ - axis?: 'vertical' | 'horizontal'; - /** - * Tells the virtualizer to measure in the reverse direction (for column-reverse order etc.) - */ - reversed?: boolean; - /** - * Enables the isScrolling property in the child render function - * Default: false - to prevent nessecary render function calls - */ - enableScrollLoad?: boolean; - /** - * Pixel size of intersection observers and how much they 'cross over' into the bufferItems index. - * Minimum 1px. - */ - bufferSize: number; - /** - * Ref for access to internal size knowledge, can be used to measure updates - */ - childSizes: React.MutableRefObject; - /** - * Ref for access to internal progressive size knowledge, can be used to measure updates - */ - childProgressiveSizes: React.MutableRefObject; -}; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerState = ComponentState & VirtualizerConfigState; - -/** - * The main child render method of Virtualization - * isScrolling will only be enabled when enableScrollLoad is set to true. - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerChildRenderFunction = (index: number, isScrolling: boolean) => React.ReactNode; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerDataRef = { - progressiveSizes: React.RefObject; - nodeSizes: React.RefObject; - setFlaggedIndex: (index: number | null) => void; - currentIndex: React.RefObject; -}; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerConfigProps = { - /** - * Child render function. - * Iteratively called to return current virtualizer DOM children. - * Will act as a row or column indexer depending on Virtualizer settings. - * Can be used dynamically. - */ - children: VirtualizerChildRenderFunction; - - /** - * Default cell size to use if no custom callback provided. - * If implementing `getItemSize` this should be the initial and ideally minimum cell size. - */ - itemSize: number; - - /** - * The total number of items to be virtualized. - */ - numItems: number; - - /** - * Number of children to render in the DOM during virtualization. - * Constraints: - * - Large enough that the items rendered in DOM cover the viewport - * and intersection observer buffers (buffersize) at both ends. - */ - virtualizerLength: number; - - /** - * Defaults to 1/4th (or 1/3rd for dynamic items) of virtualizerLength. - * RECOMMEND: Override this with a consistent value if using a dynamic virtualizer. - * - * Controls the number of elements rendered before the current index entering the virtualized viewport. - * Constraints: - * - Large enough to cover bufferSize (prevents buffers intersecting into the viewport during rest state). - * - Small enough that the virtualizer only renders a few items outside of view. - */ - bufferItems?: number; - - /** - * Defaults to half of bufferItems * itemSize size (in pixels). - * RECOMMEND: Override this with a consistent minimum item size value if using a dynamic virtualizer. - * The length (in pixels) before the end/start DOM index where the virtualizer recalculation will be triggered. - * Increasing this reduces whitespace on ultra-fast scroll, as additional elements - * are buffered to appear while virtualization recalculates. - * Constraints: - * - At least 1px - although this will only trigger the recalculation after bookends (whitespace) enter viewport. - * - BufferSize must be smaller than bufferItems pixel size, as it prevents bookends entering viewport at rest. - */ - bufferSize?: number; - - /** - * Enables users to override the intersectionObserverRoot. - * We recommend passing this in for accurate distance assessment in IO - */ - scrollViewRef?: React.MutableRefObject; - - /** - * The scroll direction - * @default vertical - */ - axis?: 'vertical' | 'horizontal'; - - /** - * Tells the virtualizer to measure in the reverse direction (for column-reverse order etc.) - * This value should be flipped in RTL implementation (TBD whether automate RTL). - */ - reversed?: boolean; - - /** - * Enables the isScrolling property in the child render function - * Default: false - to prevent nessecary render function calls - */ - enableScrollLoad?: boolean; - - /** - * Callback for acquiring size of individual items - * @param index - the index of the requested size's child - */ - getItemSize?: (index: number) => number; - - /** - * Virtualizer context can be passed as a prop for extended class use - */ - virtualizerContext?: VirtualizerContextProps; - - /** - * Callback for notifying when a flagged index has been rendered - */ - // eslint-disable-next-line @nx/workspace-consistent-callback-type -- can't change type of existing callback - onRenderedFlaggedIndex?: (index: number) => void; - - /* - * Callback for notifying when a flagged index has been rendered - */ - flaggedIndex?: React.MutableRefObject; - - /** - * Imperative ref contains our scrollTo index functionality for user control. - */ - imperativeVirtualizerRef?: React.RefObject; - - /** - * A ref that provides the size of container (vertical - height, horizontal - width), set by a resize observer. - * Virtualizer Measure hooks provide a suitable reference. - */ - containerSizeRef: React.RefObject; - - /** - * A callback that enables updating scroll position for calculating required dynamic lengths, - * this should be passed in from useDynamicVirtualizerMeasure - */ - updateScrollPosition?: (position: number) => void; - - /** - * Spacing between rendered children for calculation, should match the container's gap CSS value. - */ - gap?: number; -}; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerProps = ComponentProps> & VirtualizerConfigProps; diff --git a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/index.ts b/packages/react-components/react-virtualizer/library/src/components/Virtualizer/index.ts deleted file mode 100644 index 2c31666d3c8c8..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -export { Virtualizer } from './Virtualizer'; -export type { - VirtualizerChildRenderFunction, - VirtualizerConfigProps, - VirtualizerConfigState, - VirtualizerDataRef, - VirtualizerProps, - VirtualizerSlots, - VirtualizerState, -} from './Virtualizer.types'; -export { useVirtualizer_unstable } from './useVirtualizer'; -export { renderVirtualizerChildPlaceholder, renderVirtualizer_unstable } from './renderVirtualizer'; -export { useVirtualizerStyles_unstable, virtualizerClassNames } from './useVirtualizerStyles.styles'; diff --git a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/renderVirtualizer.tsx b/packages/react-components/react-virtualizer/library/src/components/Virtualizer/renderVirtualizer.tsx deleted file mode 100644 index d175d30bb8c63..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/renderVirtualizer.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/** @jsxRuntime automatic */ -/** @jsxImportSource @fluentui/react-jsx-runtime */ - -import * as React from 'react'; -import type { VirtualizerSlots, VirtualizerState } from './Virtualizer.types'; - -import { assertSlots } from '@fluentui/react-utilities'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const renderVirtualizer_unstable = (state: VirtualizerState) => { - assertSlots(state); - return ( - - {/* The 'before' bookend to hold items in place and detect scroll previous */} - - - - {/* The reduced list of non-virtualized children to be rendered */} - {state.virtualizedChildren} - {/* The 'after' bookend to hold items in place and detect scroll next */} - - - - - ); -}; -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const renderVirtualizerChildPlaceholder = (child: React.ReactNode, index: number) => { - return ( - - {child} - - ); -}; diff --git a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/useVirtualizer.ts b/packages/react-components/react-virtualizer/library/src/components/Virtualizer/useVirtualizer.ts deleted file mode 100644 index 02b73bbbf97c7..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/useVirtualizer.ts +++ /dev/null @@ -1,621 +0,0 @@ -import * as React from 'react'; -import type { VirtualizerProps, VirtualizerState } from './Virtualizer.types'; - -import { useIntersectionObserver } from '../../hooks/useIntersectionObserver'; -import { useVirtualizerContextState_unstable } from '../../Utilities'; -import { slot, useTimeout } from '@fluentui/react-utilities'; -import { flushSync } from 'react-dom'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export function useVirtualizer_unstable(props: VirtualizerProps): VirtualizerState { - 'use no memo'; - - const { - itemSize, - numItems, - virtualizerLength, - children: renderChild, - getItemSize, - bufferItems = Math.round(virtualizerLength / 4.0), - bufferSize = Math.floor(bufferItems / 2.0) * itemSize, - axis = 'vertical', - reversed = false, - virtualizerContext, - onRenderedFlaggedIndex, - imperativeVirtualizerRef, - containerSizeRef, - scrollViewRef, - enableScrollLoad, - updateScrollPosition, - gap = 0, - } = props; - - /* The context is optional, it's useful for injecting additional index logic, or performing uniform state updates*/ - const _virtualizerContext = useVirtualizerContextState_unstable(virtualizerContext); - - // We use this ref as a constant source to access the virtualizer's state imperatively - const actualIndexRef = React.useRef(_virtualizerContext.contextIndex); - - const flaggedIndex = React.useRef(null); - const actualIndex = _virtualizerContext.contextIndex; - - // Just in case our ref gets out of date vs the context during a re-render - if (_virtualizerContext.contextIndex !== actualIndexRef.current) { - actualIndexRef.current = _virtualizerContext.contextIndex; - } - const setActualIndex = React.useCallback( - (index: number) => { - actualIndexRef.current = index; - _virtualizerContext.setContextIndex(index); - }, - [_virtualizerContext], - ); - - // Store ref to before padding element - const beforeElementRef = React.useRef(null); - - // Store ref to before padding element - const afterElementRef = React.useRef(null); - - // We need to store an array to track dynamic sizes, we can use this to incrementally update changes - const childSizes = React.useRef(new Array(getItemSize ? numItems : 0)); - - /* We keep track of the progressive sizing/placement down the list, - this helps us skip re-calculations unless children/size changes */ - const childProgressiveSizes = React.useRef(new Array(getItemSize ? numItems : 0)); - if (virtualizerContext?.childProgressiveSizes) { - virtualizerContext.childProgressiveSizes.current = childProgressiveSizes.current; - } - - // The internal tracking REF for child array (updates often). - const childArray = React.useRef(new Array(virtualizerLength)); - - const populateSizeArrays = () => { - if (!getItemSize) { - // Static sizes, never mind! - return; - } - - if (numItems !== childSizes.current.length) { - childSizes.current = new Array(numItems); - } - - if (numItems !== childProgressiveSizes.current.length) { - childProgressiveSizes.current = new Array(numItems); - if (virtualizerContext?.childProgressiveSizes) { - virtualizerContext.childProgressiveSizes.current = childProgressiveSizes.current; - } - } - - for (let index = 0; index < numItems; index++) { - const _gap = index < numItems - 1 ? gap : 0; - childSizes.current[index] = getItemSize(index) + _gap; - if (index === 0) { - childProgressiveSizes.current[index] = childSizes.current[index]; - } else { - childProgressiveSizes.current[index] = childProgressiveSizes.current[index - 1] + childSizes.current[index]; - } - } - }; - - const [isScrolling, setIsScrolling] = React.useState(false); - const [setScrollTimer, clearScrollTimer] = useTimeout(); - const scrollCounter = React.useRef(0); - - const initializeScrollingTimer = React.useCallback(() => { - if (!enableScrollLoad) { - // Disabled by default for reduction of render callbacks - setIsScrolling(false); - clearScrollTimer(); - return; - } - /* - * This can be considered the 'velocity' required to start 'isScrolling' - * INIT_SCROLL_FLAG_REQ: Number of renders required to activate isScrolling - * INIT_SCROLL_FLAG_DELAY: Amount of time (ms) before current number of renders is reset - * - Maybe we should let users customize these in the future. - */ - const INIT_SCROLL_FLAG_REQ = 10; - const INIT_SCROLL_FLAG_DELAY = 100; - - scrollCounter.current++; - if (scrollCounter.current >= INIT_SCROLL_FLAG_REQ) { - setIsScrolling(true); - } - clearScrollTimer(); - setScrollTimer(() => { - setIsScrolling(false); - scrollCounter.current = 0; - }, INIT_SCROLL_FLAG_DELAY); - }, [clearScrollTimer, setScrollTimer, enableScrollLoad]); - - React.useEffect(() => { - initializeScrollingTimer(); - }, [actualIndex, initializeScrollingTimer]); - - const updateChildRows = React.useCallback( - (newIndex: number) => { - if (numItems === 0) { - /* Nothing to virtualize */ - return; - } - - /* - We reset the array every time to ensure children are re-rendered - This function should only be called when update is nessecary - */ - childArray.current = new Array(virtualizerLength); - const _actualIndex = Math.max(newIndex, 0); - const end = Math.min(_actualIndex + virtualizerLength, numItems); - for (let i = _actualIndex; i < end; i++) { - childArray.current[i - _actualIndex] = renderChild(i, isScrolling); - } - }, - [isScrolling, numItems, renderChild, virtualizerLength], - ); - - const updateCurrentItemSizes = React.useCallback( - (newIndex: number) => { - if (!getItemSize) { - // Static sizes, not required. - return; - } - // We should always call our size function on index change (only for the items that will be rendered) - // This ensures we request the latest data for incoming items in case sizing has changed. - const endIndex = Math.min(newIndex + virtualizerLength, numItems); - const startIndex = Math.max(newIndex, 0); - - let didUpdate = false; - for (let i = startIndex; i < endIndex; i++) { - const _gap = i < numItems - 1 ? gap : 0; - const newSize = getItemSize(i) + _gap; - if (newSize !== childSizes.current[i]) { - childSizes.current[i] = newSize; - didUpdate = true; - } - } - - if (didUpdate) { - // Update our progressive size array - for (let i = startIndex; i < numItems; i++) { - const prevSize = i > 0 ? childProgressiveSizes.current[i - 1] : 0; - childProgressiveSizes.current[i] = prevSize + childSizes.current[i]; - } - } - }, - [getItemSize, numItems, virtualizerLength, gap], - ); - - const batchUpdateNewIndex = React.useCallback( - (index: number) => { - // Local updates - updateChildRows(index); - updateCurrentItemSizes(index); - - // State setters - setActualIndex(index); - }, - [setActualIndex, updateChildRows, updateCurrentItemSizes], - ); - - const findIndexRecursive = React.useCallback( - (scrollPos: number, lowIndex: number, highIndex: number): number => { - if (lowIndex > highIndex) { - // We shouldn't get here - but no-op the index if we do. - return actualIndex; - } - const midpoint = Math.floor((lowIndex + highIndex) / 2); - const iBefore = Math.max(midpoint - 1, 0); - const iAfter = Math.min(midpoint + 1, childProgressiveSizes.current.length - 1); - const indexValue = childProgressiveSizes.current[midpoint]; - const afterIndexValue = childProgressiveSizes.current[iAfter]; - const beforeIndexValue = childProgressiveSizes.current[iBefore]; - if (scrollPos <= afterIndexValue && scrollPos >= beforeIndexValue) { - /* We've found our index - if we are exactly matching before/after index that's ok, - better to reduce checks if it's right on the boundary. */ - return midpoint; - } - - if (indexValue > scrollPos) { - return findIndexRecursive(scrollPos, lowIndex, midpoint - 1); - } else { - return findIndexRecursive(scrollPos, midpoint + 1, highIndex); - } - }, - [actualIndex], - ); - - const getIndexFromSizeArray = React.useCallback( - (scrollPos: number): number => { - /* Quick searches our progressive height array */ - if ( - scrollPos === 0 || - childProgressiveSizes.current.length === 0 || - scrollPos <= childProgressiveSizes.current[0] - ) { - // Check start - return 0; - } - - if (scrollPos >= childProgressiveSizes.current[childProgressiveSizes.current.length - 1]) { - // Check end - return childProgressiveSizes.current.length - 1; - } - - return findIndexRecursive(scrollPos, 0, childProgressiveSizes.current.length - 1); - }, - [findIndexRecursive], - ); - const getIndexFromScrollPosition = React.useCallback( - (scrollPos: number) => { - if (!getItemSize) { - return Math.round(scrollPos / (itemSize + gap)); - } - - return getIndexFromSizeArray(scrollPos); - }, - [getIndexFromSizeArray, getItemSize, itemSize, gap], - ); - - const calculateTotalSize = React.useCallback(() => { - if (!getItemSize) { - return (itemSize + gap) * numItems; - } - - // Time for custom size calcs - return childProgressiveSizes.current[numItems - 1]; - }, [getItemSize, itemSize, numItems, gap]); - - const calculateBefore = React.useCallback(() => { - const currentIndex = Math.min(actualIndex, numItems - 1); - - if (!getItemSize) { - // The missing items from before virtualization starts height - return currentIndex * (itemSize + gap); - } - - if (currentIndex <= 0) { - return 0; - } - - // Time for custom size calcs - return childProgressiveSizes.current[currentIndex - 1]; - }, [actualIndex, getItemSize, itemSize, numItems, gap]); - - const calculateAfter = React.useCallback(() => { - if (numItems === 0 || actualIndex + virtualizerLength >= numItems) { - return 0; - } - - const lastItemIndex = Math.min(actualIndex + virtualizerLength, numItems); - if (!getItemSize) { - // The missing items from after virtualization ends height - const remainingItems = numItems - lastItemIndex; - return remainingItems * (itemSize + gap) - gap; - } - - // Time for custom size calcs - return childProgressiveSizes.current[numItems - 1] - childProgressiveSizes.current[lastItemIndex - 1]; - }, [actualIndex, getItemSize, itemSize, numItems, virtualizerLength, gap]); - - // We store the number of items since last render, we will allow an update if the number of items changes - const previousNumItems = React.useRef(numItems); - // Observe intersections of virtualized components - const { setObserverList } = useIntersectionObserver( - React.useCallback( - // TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286 - // eslint-disable-next-line no-restricted-globals - (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => { - /* Sanity check - do we even need virtualization? */ - if (virtualizerLength > numItems) { - if (actualIndex !== 0) { - batchUpdateNewIndex(0); - } - // No-op - return; - } - - if (entries.length === 0) { - // No entries found, return. - return; - } - // Find the latest entry that is intersecting - const sortedEntries = entries.sort((entry1, entry2) => entry2.time - entry1.time); - const latestEntry = sortedEntries.find(entry => { - return entry.isIntersecting; - }); - - if (!latestEntry) { - return; - } - - // We have to be sure our item sizes are up to date with current indexed ref before calculation - // Check if we still need - updateCurrentItemSizes(actualIndexRef.current); - - const calculateOverBuffer = (): number => { - /** - * We avoid using the scroll ref scrollTop, it may be incorrect - * as virtualization may exist within a scroll view with other elements - * The benefit of using IO is that we can detect relative scrolls, - * so any items can be placed around the virtualizer in the scroll view - */ - let measurementPos = 0; - if (latestEntry.target === afterElementRef.current) { - // Get after buffers position - measurementPos = calculateTotalSize() - calculateAfter(); - - // Get exact intersection position based on overflow size (how far into IO did we scroll?) - const overflowAmount = - axis === 'vertical' ? latestEntry.intersectionRect.height : latestEntry.intersectionRect.width; - // Add to original after position - measurementPos += overflowAmount; - // Ignore buffer size (IO offset) - measurementPos -= bufferSize; - // we hit the after buffer and detected the end of view, we need to find the start index. - measurementPos -= containerSizeRef.current ?? 0; - - // Calculate how far past the window bounds we are (this will be zero if IO is within window) - const hOverflow = latestEntry.boundingClientRect.top - latestEntry.intersectionRect.top; - const hOverflowReversed = latestEntry.boundingClientRect.bottom - latestEntry.intersectionRect.bottom; - const wOverflow = latestEntry.boundingClientRect.left - latestEntry.intersectionRect.left; - const wOverflowReversed = latestEntry.boundingClientRect.right - latestEntry.intersectionRect.right; - const widthOverflow = reversed ? wOverflowReversed : wOverflow; - const heightOverflow = reversed ? hOverflowReversed : hOverflow; - const additionalOverflow = axis === 'vertical' ? heightOverflow : widthOverflow; - - if (reversed) { - measurementPos += additionalOverflow; - } else { - measurementPos -= additionalOverflow; - } - } else if (latestEntry.target === beforeElementRef.current) { - // Get before buffers position - measurementPos = calculateBefore(); - - // Get exact intersection position based on overflow size (how far into window did we scroll IO?) - const overflowAmount = - axis === 'vertical' ? latestEntry.intersectionRect.height : latestEntry.intersectionRect.width; - - // Minus from original before position - measurementPos -= overflowAmount; - // Ignore buffer size (IO offset) - measurementPos += bufferSize; - // Calculate how far past the window bounds we are (this will be zero if IO is within window) - const hOverflow = latestEntry.boundingClientRect.bottom - latestEntry.intersectionRect.bottom; - const hOverflowReversed = latestEntry.boundingClientRect.top - latestEntry.intersectionRect.top; - const wOverflow = latestEntry.boundingClientRect.right - latestEntry.intersectionRect.right; - const wOverflowReversed = latestEntry.boundingClientRect.left - latestEntry.intersectionRect.left; - const widthOverflow = reversed ? wOverflowReversed : wOverflow; - const heightOverflow = reversed ? hOverflowReversed : hOverflow; - const additionalOverflow = axis === 'vertical' ? heightOverflow : widthOverflow; - - if (reversed) { - measurementPos += additionalOverflow; - } else { - measurementPos -= additionalOverflow; - } - } - - return measurementPos; - }; - - // Get exact relative 'scrollTop' via IO values - const measurementPos = calculateOverBuffer(); - - const maxIndex = Math.max(numItems - virtualizerLength, 0); - - const startIndex = getIndexFromScrollPosition(measurementPos) - bufferItems; - - // Safety limits - const newStartIndex = Math.min(Math.max(startIndex, 0), maxIndex); - flushSync(() => { - // Callback to allow measure functions to check virtualizer length - if ( - previousNumItems.current === numItems && - newStartIndex + virtualizerLength >= numItems && - actualIndex + virtualizerLength >= numItems - ) { - // We've already hit the end, no need to update state. - return; - } - // We should ensure we update virtualizer calculations if the length changes - previousNumItems.current = virtualizerLength; - updateScrollPosition?.(measurementPos); - if (actualIndex !== newStartIndex) { - batchUpdateNewIndex(newStartIndex); - } - }); - }, - [ - actualIndex, - virtualizerLength, - axis, - reversed, - numItems, - bufferSize, - bufferItems, - containerSizeRef, - updateScrollPosition, - batchUpdateNewIndex, - calculateAfter, - calculateBefore, - calculateTotalSize, - getIndexFromScrollPosition, - updateCurrentItemSizes, - ], - ), - { - root: scrollViewRef ? scrollViewRef?.current : null, - rootMargin: '0px', - threshold: 0, - }, - ); - - const setBeforeRef = React.useCallback( - (element: HTMLDivElement) => { - if (!element || beforeElementRef.current === element) { - return; - } - beforeElementRef.current = element; - const newList = []; - - newList.push(beforeElementRef.current); - - if (afterElementRef.current) { - newList.push(afterElementRef.current); - } - - // Ensure we update array if before element changed - setObserverList(newList); - }, - [setObserverList], - ); - - const setAfterRef = React.useCallback( - (element: HTMLDivElement) => { - if (!element || afterElementRef.current === element) { - return; - } - afterElementRef.current = element; - const newList = []; - - if (beforeElementRef.current) { - newList.push(beforeElementRef.current); - } - - newList.push(afterElementRef.current); - - // Ensure we update array if after element changed - setObserverList(newList); - }, - [setObserverList], - ); - - // Initialize the size array before first render. - const hasInitialized = React.useRef(false); - const initializeSizeArray = () => { - if (hasInitialized.current === false) { - hasInitialized.current = true; - populateSizeArrays(); - } - }; - - React.useImperativeHandle( - imperativeVirtualizerRef, - () => { - return { - progressiveSizes: childProgressiveSizes, - nodeSizes: childSizes, - setFlaggedIndex: (index: number | null) => (flaggedIndex.current = index), - currentIndex: actualIndexRef, - }; - }, - [childProgressiveSizes, childSizes], - ); - - // Initialization on mount - update array index to 0 (ready state). - // Only fire on mount (no deps). - React.useEffect(() => { - if (actualIndex < 0) { - batchUpdateNewIndex(0); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - /* - * forceUpdate: - * We only want to trigger this when child render or scroll loading changes, - * it will force re-render all children elements - */ - const forceUpdate = React.useReducer(() => ({}), {})[1]; - // If the user passes in an updated renderChild function - update current children - React.useEffect(() => { - if (actualIndex >= 0) { - updateChildRows(actualIndex); - forceUpdate(); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [renderChild, isScrolling]); - - React.useEffect(() => { - // Ensure we repopulate if getItemSize callback changes - populateSizeArrays(); - - // We only run this effect on getItemSize change (recalc dynamic sizes) - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getItemSize, gap]); - - // Effect to check flag index on updates - React.useEffect(() => { - if (!onRenderedFlaggedIndex || flaggedIndex.current === null) { - return; - } - if (actualIndex <= flaggedIndex.current && actualIndex + virtualizerLength >= flaggedIndex.current) { - onRenderedFlaggedIndex(flaggedIndex.current); - flaggedIndex.current = null; - } - }, [actualIndex, onRenderedFlaggedIndex, virtualizerLength]); - - // Ensure we have run through and updated the whole size list array at least once. - initializeSizeArray(); - - if (getItemSize && (numItems !== childSizes.current.length || numItems !== childProgressiveSizes.current.length)) { - // Child length mismatch, repopulate size arrays. - populateSizeArrays(); - } - - // Ensure we recalc if virtualizer length changes - const maxCompare = Math.min(virtualizerLength, numItems); - if (childArray.current.length !== maxCompare && actualIndex + childArray.current.length < numItems) { - updateChildRows(actualIndex); - } - - const isFullyInitialized = hasInitialized.current && actualIndex >= 0; - return { - components: { - before: 'div', - after: 'div', - beforeContainer: 'div', - afterContainer: 'div', - }, - virtualizedChildren: childArray.current, - before: slot.always(props.before, { - defaultProps: { - ref: setBeforeRef, - role: 'none', - }, - elementType: 'div', - }), - after: slot.always(props.after, { - defaultProps: { - ref: setAfterRef, - role: 'none', - }, - elementType: 'div', - }), - beforeContainer: slot.always(props.beforeContainer, { - defaultProps: { - role: 'none', - }, - elementType: 'div', - }), - afterContainer: slot.always(props.afterContainer, { - defaultProps: { - role: 'none', - }, - elementType: 'div', - }), - beforeBufferHeight: isFullyInitialized ? calculateBefore() : 0, - afterBufferHeight: isFullyInitialized ? calculateAfter() : 0, - totalVirtualizerHeight: isFullyInitialized ? calculateTotalSize() : virtualizerLength * itemSize, - virtualizerStartIndex: actualIndex, - axis, - bufferSize, - reversed, - childSizes, - childProgressiveSizes, - }; -} diff --git a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/useVirtualizerStyles.styles.ts b/packages/react-components/react-virtualizer/library/src/components/Virtualizer/useVirtualizerStyles.styles.ts deleted file mode 100644 index 02c522e8a80c5..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/Virtualizer/useVirtualizerStyles.styles.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { makeStyles, mergeClasses } from '@griffel/react'; -import { VirtualizerSlots, VirtualizerState } from './Virtualizer.types'; -import type { SlotClassNames } from '@fluentui/react-utilities'; - -const virtualizerClassName = 'fui-Virtualizer'; -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const virtualizerClassNames: SlotClassNames = { - before: `${virtualizerClassName}__before`, - beforeContainer: `${virtualizerClassName}__beforeContainer`, - after: `${virtualizerClassName}__after`, - afterContainer: `${virtualizerClassName}__afterContainer`, -}; - -const useStyles = makeStyles({ - base: { - display: 'block', - pointerEvents: 'none', - }, - relative: { - position: 'relative', - }, - horizontal: { - minHeight: '100%', - }, - vertical: { - minWidth: '100%', - }, -}); - -/** - * Apply styling to the Virtualizer states - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useVirtualizerStyles_unstable = (state: VirtualizerState): VirtualizerState => { - 'use no memo'; - - const styles = useStyles(); - const { reversed, axis, beforeBufferHeight, afterBufferHeight, bufferSize } = state; - const horizontal = axis === 'horizontal'; - - state.before.className = mergeClasses( - virtualizerClassNames.before, - styles.base, - styles.relative, - horizontal ? styles.horizontal : styles.vertical, - state.before.className, - ); - - state.after.className = mergeClasses( - virtualizerClassNames.after, - styles.base, - styles.relative, - horizontal ? styles.horizontal : styles.vertical, - state.after.className, - ); - - state.beforeContainer.className = mergeClasses( - virtualizerClassNames.beforeContainer, - styles.base, - horizontal ? styles.horizontal : styles.vertical, - state.beforeContainer.className, - ); - - state.afterContainer.className = mergeClasses( - virtualizerClassNames.afterContainer, - styles.base, - horizontal ? styles.horizontal : styles.vertical, - state.afterContainer.className, - ); - - const beforeHeightPx = beforeBufferHeight + 'px'; - const afterHeightPx = afterBufferHeight + 'px'; - const beforeBufferHeightPx = beforeBufferHeight + bufferSize + 'px'; - const afterBufferHeightPx = afterBufferHeight + bufferSize + 'px'; - const bufferPx = bufferSize + 'px'; - - const beforeBuffer = { - // Column - ...(!reversed && !horizontal && { marginBottom: `-${bufferPx}` }), - // Column-Reverse - ...(reversed && !horizontal && { marginTop: `-${bufferPx}` }), - // Row - ...(!reversed && horizontal && { marginRight: `-${bufferPx}` }), - // Row-Reverse - ...(reversed && horizontal && { marginLeft: `-${bufferPx}` }), - }; - - const afterBuffer = { - // Column - ...(!reversed && !horizontal && { marginTop: `-${bufferPx}` }), - // Column-Reverse - ...(reversed && !horizontal && { marginBottom: `-${bufferPx}` }), - // Row - ...(!reversed && horizontal && { marginLeft: `-${bufferPx}` }), - // Row-Reverse - ...(reversed && horizontal && { marginRight: `-${bufferPx}` }), - }; - - state.before.style = { - height: horizontal ? '100%' : beforeBufferHeightPx, - width: horizontal ? beforeBufferHeightPx : '100%', - ...beforeBuffer, - ...state.before.style, - }; - - state.beforeContainer.style = { - height: horizontal ? 'auto' : beforeHeightPx, - width: horizontal ? beforeHeightPx : 'auto', - ...state.beforeContainer.style, - }; - - state.after.style = { - height: horizontal ? '100%' : afterBufferHeightPx, - width: horizontal ? afterBufferHeightPx : '100%', - ...afterBuffer, - ...state.after.style, - }; - - state.afterContainer.style = { - height: horizontal ? 'auto' : afterHeightPx, - width: horizontal ? afterHeightPx : 'auto', - ...state.afterContainer.style, - }; - - return state; -}; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/VirtualizerScrollView.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/VirtualizerScrollView.ts deleted file mode 100644 index 9fc34563c492d..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/VirtualizerScrollView.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type { VirtualizerScrollViewProps } from './VirtualizerScrollView.types'; -import { useVirtualizerScrollView_unstable } from './useVirtualizerScrollView'; -import { renderVirtualizerScrollView_unstable } from './renderVirtualizerScrollView'; -import { useVirtualizerScrollViewStyles_unstable } from './useVirtualizerScrollViewStyles.styles'; -import * as React from 'react'; -import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts'; - -/** - * Virtualizer ScrollView - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const VirtualizerScrollView: React.FC = (props: VirtualizerScrollViewProps) => { - const state = useVirtualizerScrollView_unstable(props); - - useVirtualizerScrollViewStyles_unstable(state); - useCustomStyleHook_unstable('useVirtualizerScrollViewStyles_unstable')(state); - - return renderVirtualizerScrollView_unstable(state); -}; - -VirtualizerScrollView.displayName = 'VirtualizerScrollView'; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/VirtualizerScrollView.types.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/VirtualizerScrollView.types.ts deleted file mode 100644 index 80296eb99e2e1..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/VirtualizerScrollView.types.ts +++ /dev/null @@ -1,60 +0,0 @@ -import * as React from 'react'; -import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities'; -import type { - VirtualizerSlots, - VirtualizerConfigProps, - VirtualizerConfigState, - VirtualizerChildRenderFunction, -} from '../Virtualizer/Virtualizer.types'; -import type { ScrollToInterface } from '../../Utilities'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerScrollViewSlots = VirtualizerSlots & { - /** - * The root container that provides embedded scrolling. - */ - container: NonNullable>; -}; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerScrollViewProps = ComponentProps> & - Partial< - Omit< - VirtualizerConfigProps, - 'itemSize' | 'numItems' | 'getItemSize' | 'children' | 'flagIndex' | 'imperativeVirtualizerRef' - > - > & { - /** - * Virtualizer item size in pixels - static. - * Axis: 'vertical' = Height - * Axis: 'horizontal' = Width - */ - itemSize: number; - /** - * The total number of items to be virtualized. - */ - numItems: number; - /** - * Child render function. - * Iteratively called to return current virtualizer DOM children. - * Will act as a row or column indexer depending on Virtualizer settings. - */ - children: VirtualizerChildRenderFunction; - /** - * Imperative ref contains our scrollTo index functionality for user control. - */ - imperativeRef?: React.RefObject; - /** - * Imperative ref contains our scrollTo index functionality for user control. - */ - enablePagination?: boolean; - }; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerScrollViewState = ComponentState & VirtualizerConfigState; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/index.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/index.ts deleted file mode 100644 index 642f1db8f2afa..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export { VirtualizerScrollView } from './VirtualizerScrollView'; -export type { - VirtualizerScrollViewProps, - VirtualizerScrollViewSlots, - VirtualizerScrollViewState, -} from './VirtualizerScrollView.types'; -export { useVirtualizerScrollView_unstable } from './useVirtualizerScrollView'; -export { renderVirtualizerScrollView_unstable } from './renderVirtualizerScrollView'; -export { - useVirtualizerScrollViewStyles_unstable, - virtualizerScrollViewClassNames, -} from './useVirtualizerScrollViewStyles.styles'; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/renderVirtualizerScrollView.tsx b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/renderVirtualizerScrollView.tsx deleted file mode 100644 index 7e717725f2c96..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/renderVirtualizerScrollView.tsx +++ /dev/null @@ -1,16 +0,0 @@ -/** @jsxRuntime automatic */ -/** @jsxImportSource @fluentui/react-jsx-runtime */ - -import type { VirtualizerScrollViewSlots, VirtualizerScrollViewState } from './VirtualizerScrollView.types'; - -import { assertSlots } from '@fluentui/react-utilities'; -import { renderVirtualizer_unstable } from '../Virtualizer/renderVirtualizer'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const renderVirtualizerScrollView_unstable = (state: VirtualizerScrollViewState) => { - assertSlots(state); - - return {renderVirtualizer_unstable(state)}; -}; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/useVirtualizerScrollView.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/useVirtualizerScrollView.ts deleted file mode 100644 index 5e7962119e516..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/useVirtualizerScrollView.ts +++ /dev/null @@ -1,85 +0,0 @@ -import * as React from 'react'; -import { slot, useMergedRefs } from '@fluentui/react-utilities'; -import { useVirtualizer_unstable } from '../Virtualizer/useVirtualizer'; -import type { VirtualizerScrollViewProps, VirtualizerScrollViewState } from './VirtualizerScrollView.types'; -import { useStaticVirtualizerMeasure } from '../../Hooks'; -import { scrollToItemStatic } from '../../Utilities'; -import type { VirtualizerDataRef } from '../Virtualizer/Virtualizer.types'; -import { useStaticVirtualizerPagination } from '../../hooks/useStaticPagination'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export function useVirtualizerScrollView_unstable(props: VirtualizerScrollViewProps): VirtualizerScrollViewState { - const { imperativeRef, itemSize, numItems, axis = 'vertical', reversed, enablePagination = false } = props; - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef } = useStaticVirtualizerMeasure({ - defaultItemSize: props.itemSize, - direction: props.axis ?? 'vertical', - }); - - // Store the virtualizer length as a ref for imperative ref access - const virtualizerLengthRef = React.useRef(virtualizerLength); - if (virtualizerLengthRef.current !== virtualizerLength) { - virtualizerLengthRef.current = virtualizerLength; - } - - const paginationRef = useStaticVirtualizerPagination({ axis, itemSize }, enablePagination); - const scrollViewRef = useMergedRefs(props.scrollViewRef, scrollRef, paginationRef) as React.RefObject; - const imperativeVirtualizerRef = React.useRef(null); - const scrollCallbackRef = React.useRef void)>(null); - - React.useImperativeHandle( - imperativeRef, - () => { - return { - scrollTo(index: number, behavior = 'auto', callback: ((index: number) => void) | undefined) { - scrollCallbackRef.current = callback ?? null; - imperativeVirtualizerRef.current?.setFlaggedIndex(index); - scrollToItemStatic({ - index, - itemSize, - totalItems: numItems, - scrollViewRef, - axis, - reversed, - behavior, - }); - }, - currentIndex: imperativeVirtualizerRef.current?.currentIndex, - virtualizerLength: virtualizerLengthRef, - }; - }, - [axis, scrollViewRef, itemSize, numItems, reversed], - ); - - const handleRenderedIndex = (index: number) => { - if (scrollCallbackRef.current) { - scrollCallbackRef.current(index); - } - }; - - const virtualizerState = useVirtualizer_unstable({ - ...props, - virtualizerLength, - bufferItems, - bufferSize, - onRenderedFlaggedIndex: handleRenderedIndex, - imperativeVirtualizerRef, - containerSizeRef, - }); - - return { - ...virtualizerState, - components: { - // eslint-disable-next-line @typescript-eslint/no-deprecated - ...virtualizerState.components, - container: 'div', - }, - container: slot.always(props.container, { - defaultProps: { - ref: scrollViewRef as React.RefObject, - }, - elementType: 'div', - }), - }; -} diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.styles.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.styles.ts deleted file mode 100644 index 93c20b084861a..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollView/useVirtualizerScrollViewStyles.styles.ts +++ /dev/null @@ -1,73 +0,0 @@ -import type { VirtualizerScrollViewState } from './VirtualizerScrollView.types'; -import type { SlotClassNames } from '@fluentui/react-utilities'; -import type { VirtualizerScrollViewSlots } from './VirtualizerScrollView.types'; -import { useVirtualizerStyles_unstable, virtualizerClassNames } from '../Virtualizer/useVirtualizerStyles.styles'; -import { makeStyles, mergeClasses } from '@griffel/react'; - -const virtualizerScrollViewClassName = 'fui-Virtualizer-Scroll-View'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const virtualizerScrollViewClassNames: SlotClassNames = { - ...virtualizerClassNames, - container: `${virtualizerScrollViewClassName}__container`, -}; - -const useStyles = makeStyles({ - base: { - display: 'flex', - width: '100%', - height: '100%', - }, - vertical: { - flexDirection: 'column', - overflowY: 'auto', - }, - horizontal: { - flexDirection: 'row', - overflowX: 'auto', - }, - verticalReversed: { - flexDirection: 'column-reverse', - overflowY: 'auto', - }, - horizontalReversed: { - flexDirection: 'row-reverse', - overflowX: 'auto', - }, -}); - -/** - * Apply styling to the Virtualizer states - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useVirtualizerScrollViewStyles_unstable = ( - state: VirtualizerScrollViewState, -): VirtualizerScrollViewState => { - 'use no memo'; - - const styles = useStyles(); - - // Default virtualizer styles base - useVirtualizerStyles_unstable(state); - - const containerStyle = - state.axis === 'horizontal' - ? state.reversed - ? styles.horizontalReversed - : styles.horizontal - : state.reversed - ? styles.verticalReversed - : styles.vertical; - - // Add container styles - state.container.className = mergeClasses( - virtualizerScrollViewClassNames.container, - styles.base, - containerStyle, - state.container.className, - ); - - return state; -}; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.ts deleted file mode 100644 index 2d830222e2fbe..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { VirtualizerScrollViewDynamicProps } from './VirtualizerScrollViewDynamic.types'; -import { useVirtualizerScrollViewDynamic_unstable } from './useVirtualizerScrollViewDynamic'; -import { renderVirtualizerScrollViewDynamic_unstable } from './renderVirtualizerScrollViewDynamic'; -import { useVirtualizerScrollViewDynamicStyles_unstable } from './useVirtualizerScrollViewDynamicStyles.styles'; -import * as React from 'react'; -import type { VirtualizerContextProps } from '../../Utilities'; -import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts'; - -/** - * Virtualizer ScrollView - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const VirtualizerScrollViewDynamic: React.FC = ( - props: VirtualizerScrollViewDynamicProps, - context: React.Context, -) => { - const state = useVirtualizerScrollViewDynamic_unstable(props); - - useVirtualizerScrollViewDynamicStyles_unstable(state); - useCustomStyleHook_unstable('useVirtualizerScrollViewDynamicStyles_unstable')(state); - - return renderVirtualizerScrollViewDynamic_unstable(state); -}; - -VirtualizerScrollViewDynamic.displayName = 'VirtualizerScrollViewDynamic'; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.ts deleted file mode 100644 index e16aa3d278c98..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamic.types.ts +++ /dev/null @@ -1,64 +0,0 @@ -import * as React from 'react'; -import type { ComponentProps, ComponentState } from '@fluentui/react-utilities'; -import type { - VirtualizerConfigProps, - VirtualizerConfigState, - VirtualizerChildRenderFunction, -} from '../Virtualizer/Virtualizer.types'; - -import type { VirtualizerScrollViewSlots } from '../VirtualizerScrollView/VirtualizerScrollView.types'; -import type { DynamicVirtualizerContextProps, ScrollToInterface } from '../../Utilities'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerScrollViewDynamicSlots = VirtualizerScrollViewSlots; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerScrollViewDynamicProps = ComponentProps> & - Partial< - Omit< - VirtualizerConfigProps, - 'itemSize' | 'numItems' | 'getItemSize' | 'children' | 'flagIndex' | 'virtualizerContext' - > - > & { - /** - * Set as the minimum item size. - * Axis: 'vertical' = Height - * Axis: 'horizontal' = Width - */ - itemSize: number; - /** - * Callback for acquiring size of individual items - * @param index - the index of the requested size's child - * If undefined, Virtualizer will auto-measure by default (performance tradeoff) - */ - getItemSize?: (index: number) => number; - /** - * The total number of items to be virtualized. - */ - numItems: number; - /** - * Child render function. - * Iteratively called to return current virtualizer DOM children. - * Will act as a row or column indexer depending on Virtualizer settings. - */ - children: VirtualizerChildRenderFunction; - /** - * Imperative ref contains our scrollTo index functionality for user control. - */ - imperativeRef?: React.RefObject; - /** - * Imperative ref contains our scrollTo index functionality for user control. - */ - enablePagination?: boolean; - /** - * Enables override of dynamic virtualizer context if required. - */ - virtualizerContext?: DynamicVirtualizerContextProps; - }; - -export type VirtualizerScrollViewDynamicState = ComponentState & - VirtualizerConfigState; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/index.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/index.ts deleted file mode 100644 index a34087eee8c3c..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export { VirtualizerScrollViewDynamic } from './VirtualizerScrollViewDynamic'; -export type { - VirtualizerScrollViewDynamicProps, - VirtualizerScrollViewDynamicSlots, - VirtualizerScrollViewDynamicState, -} from './VirtualizerScrollViewDynamic.types'; -export { useVirtualizerScrollViewDynamic_unstable } from './useVirtualizerScrollViewDynamic'; -export { renderVirtualizerScrollViewDynamic_unstable } from './renderVirtualizerScrollViewDynamic'; -export { - useVirtualizerScrollViewDynamicStyles_unstable, - virtualizerScrollViewDynamicClassNames, -} from './useVirtualizerScrollViewDynamicStyles.styles'; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.tsx b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.tsx deleted file mode 100644 index 73d406df9c2bb..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/renderVirtualizerScrollViewDynamic.tsx +++ /dev/null @@ -1,16 +0,0 @@ -/** @jsxRuntime automatic */ -/** @jsxImportSource @fluentui/react-jsx-runtime */ -import { assertSlots } from '@fluentui/react-utilities'; -import { - VirtualizerScrollViewDynamicSlots, - VirtualizerScrollViewDynamicState, -} from './VirtualizerScrollViewDynamic.types'; -import { renderVirtualizer_unstable } from '../Virtualizer/renderVirtualizer'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const renderVirtualizerScrollViewDynamic_unstable = (state: VirtualizerScrollViewDynamicState) => { - assertSlots(state); - return {renderVirtualizer_unstable(state)}; -}; diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.tsx b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.tsx deleted file mode 100644 index b5cf29339e33f..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamic.tsx +++ /dev/null @@ -1,200 +0,0 @@ -import * as React from 'react'; -import { slot, useMergedRefs } from '@fluentui/react-utilities'; -import { useVirtualizer_unstable } from '../Virtualizer/useVirtualizer'; -import type { - VirtualizerScrollViewDynamicProps, - VirtualizerScrollViewDynamicState, -} from './VirtualizerScrollViewDynamic.types'; -import { useDynamicVirtualizerMeasure } from '../../Hooks'; -import { useVirtualizerContextState_unstable, scrollToItemDynamic } from '../../Utilities'; -import type { VirtualizerDataRef } from '../Virtualizer/Virtualizer.types'; -import { useMeasureList } from '../../hooks/useMeasureList'; -import type { IndexedResizeCallbackElement } from '../../hooks/useMeasureList'; -import { useDynamicVirtualizerPagination } from '../../hooks/useDynamicPagination'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export function useVirtualizerScrollViewDynamic_unstable( - props: VirtualizerScrollViewDynamicProps, -): VirtualizerScrollViewDynamicState { - 'use no memo'; - - const contextState = useVirtualizerContextState_unstable(props.virtualizerContext); - const { - imperativeRef, - axis = 'vertical', - reversed, - imperativeVirtualizerRef, - enablePagination = false, - bufferItems: _bufferItems, - bufferSize: _bufferSize, - } = props; - - let sizeTrackingArray = React.useRef(new Array(props.numItems).fill(props.itemSize)); - - // This lets us trigger updates when a size change occurs. - const [sizeUpdateCount, setSizeUpdateCount] = React.useState(0); - - const getChildSizeAuto = React.useCallback( - (index: number) => { - if (sizeTrackingArray.current.length <= index || sizeTrackingArray.current[index] <= 0) { - // Default size for initial state or untracked - return props.itemSize; - } - /* Required to be defined prior to our measure function - * we use a sizing array ref that we will update post-render - */ - return sizeTrackingArray.current[index]; - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [sizeTrackingArray, props.itemSize, sizeUpdateCount], - ); - - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef, updateScrollPosition } = - useDynamicVirtualizerMeasure({ - defaultItemSize: props.itemSize, - direction: props.axis ?? 'vertical', - getItemSize: props.getItemSize ?? getChildSizeAuto, - virtualizerContext: contextState, - numItems: props.numItems, - bufferItems: _bufferItems, - bufferSize: _bufferSize, - }); - - const _imperativeVirtualizerRef = useMergedRefs(React.useRef(null), imperativeVirtualizerRef); - - const paginationRef = useDynamicVirtualizerPagination( - { - axis, - progressiveItemSizes: _imperativeVirtualizerRef.current?.progressiveSizes, - virtualizerLength, - currentIndex: contextState?.contextIndex ?? 0, - }, - enablePagination, - ); - - // Store the virtualizer length as a ref for imperative ref access - const virtualizerLengthRef = React.useRef(virtualizerLength); - if (virtualizerLengthRef.current !== virtualizerLength) { - virtualizerLengthRef.current = virtualizerLength; - } - const scrollViewRef = useMergedRefs(props.scrollViewRef, scrollRef, paginationRef); - const scrollCallbackRef = React.useRef void)>(null); - - React.useImperativeHandle( - imperativeRef, - () => { - return { - scrollTo(index: number, behavior = 'auto', callback: undefined | ((index: number) => void)) { - scrollCallbackRef.current = callback ?? null; - if (_imperativeVirtualizerRef.current) { - const progressiveSizes = _imperativeVirtualizerRef.current.progressiveSizes.current; - const totalSize = - progressiveSizes && progressiveSizes?.length > 0 - ? progressiveSizes[Math.max(progressiveSizes.length - 1, 0)] - : 0; - - _imperativeVirtualizerRef.current.setFlaggedIndex(index); - scrollToItemDynamic({ - index, - itemSizes: _imperativeVirtualizerRef.current?.nodeSizes, - totalSize, - scrollViewRef: scrollViewRef as React.RefObject, - axis, - reversed, - behavior, - }); - } - }, - currentIndex: _imperativeVirtualizerRef.current?.currentIndex, - virtualizerLength: virtualizerLengthRef, - }; - }, - [axis, scrollViewRef, reversed, _imperativeVirtualizerRef], - ); - - const handleRenderedIndex = (index: number) => { - if (scrollCallbackRef.current) { - scrollCallbackRef.current(index); - } - }; - - const virtualizerState = useVirtualizer_unstable({ - ...props, - getItemSize: props.getItemSize ?? getChildSizeAuto, - virtualizerLength, - bufferItems, - bufferSize, - virtualizerContext: contextState, - imperativeVirtualizerRef: _imperativeVirtualizerRef, - onRenderedFlaggedIndex: handleRenderedIndex, - containerSizeRef, - scrollViewRef, - updateScrollPosition, - }); - - const measureObject = useMeasureList( - virtualizerState.virtualizerStartIndex, - virtualizerLength, - props.numItems, - props.itemSize, - ); - - if (enablePagination && measureObject.sizeUpdateCount !== sizeUpdateCount) { - /* This enables us to let callback know that the sizes have been updated - triggers a re-render but is only required on pagination (else index change handles) */ - setSizeUpdateCount(measureObject.sizeUpdateCount); - } - - if (axis === 'horizontal') { - sizeTrackingArray = measureObject.widthArray; - } else { - sizeTrackingArray = measureObject.heightArray; - } - - if (!props.getItemSize) { - // Auto-measuring is required - React.Children.map(virtualizerState.virtualizedChildren, (child, index) => { - if (React.isValidElement(child)) { - virtualizerState.virtualizedChildren[index] = ( - { - if (child.hasOwnProperty('ref')) { - // We must access this from the child directly, not props (forward ref). - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const localRef = (child as any)?.ref; - - if (typeof localRef === 'function') { - localRef(element); - } else if (localRef) { - localRef.current = element; - } - } - - // Call the auto-measure ref attachment. - measureObject.createIndexedRef(index)(element); - }} - /> - ); - } - }); - } - - return { - ...virtualizerState, - components: { - // eslint-disable-next-line @typescript-eslint/no-deprecated - ...virtualizerState.components, - container: 'div', - }, - container: slot.always(props.container, { - defaultProps: { - ref: scrollViewRef, - }, - elementType: 'div', - }), - }; -} diff --git a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.styles.ts b/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.styles.ts deleted file mode 100644 index 200cd3d3a195a..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/components/VirtualizerScrollViewDynamic/useVirtualizerScrollViewDynamicStyles.styles.ts +++ /dev/null @@ -1,75 +0,0 @@ -import type { SlotClassNames } from '@fluentui/react-utilities'; -import type { - VirtualizerScrollViewDynamicSlots, - VirtualizerScrollViewDynamicState, -} from './VirtualizerScrollViewDynamic.types'; -import { useVirtualizerStyles_unstable, virtualizerClassNames } from '../Virtualizer/useVirtualizerStyles.styles'; -import { makeStyles, mergeClasses } from '@griffel/react'; - -const virtualizerScrollViewDynamicClassName = 'fui-Virtualizer-Scroll-View-Dynamic'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const virtualizerScrollViewDynamicClassNames: SlotClassNames = { - ...virtualizerClassNames, - container: `${virtualizerScrollViewDynamicClassName}__container`, -}; - -const useStyles = makeStyles({ - base: { - display: 'flex', - width: '100%', - height: '100%', - }, - vertical: { - flexDirection: 'column', - overflowY: 'auto', - }, - horizontal: { - flexDirection: 'row', - overflowX: 'auto', - }, - verticalReversed: { - flexDirection: 'column-reverse', - overflowY: 'auto', - }, - horizontalReversed: { - flexDirection: 'row-reverse', - overflowX: 'auto', - }, -}); - -/** - * Apply styling to the Virtualizer states - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useVirtualizerScrollViewDynamicStyles_unstable = ( - state: VirtualizerScrollViewDynamicState, -): VirtualizerScrollViewDynamicState => { - 'use no memo'; - - const styles = useStyles(); - - // Default virtualizer styles base - useVirtualizerStyles_unstable(state); - - const containerStyle = - state.axis === 'horizontal' - ? state.reversed - ? styles.horizontalReversed - : styles.horizontal - : state.reversed - ? styles.verticalReversed - : styles.vertical; - - // Add container styles - state.container.className = mergeClasses( - virtualizerScrollViewDynamicClassNames.container, - styles.base, - containerStyle, - state.container.className, - ); - - return state; -}; diff --git a/packages/react-components/react-virtualizer/library/src/hooks/hooks.types.ts b/packages/react-components/react-virtualizer/library/src/hooks/hooks.types.ts deleted file mode 100644 index ab2972f0bf1b9..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/hooks.types.ts +++ /dev/null @@ -1,88 +0,0 @@ -import * as React from 'react'; -import { DynamicVirtualizerContextProps } from '../Utilities'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerMeasureProps = { - defaultItemSize: number; - direction?: 'vertical' | 'horizontal'; - - /** - * Override recommended number of buffer items - */ - bufferItems?: number; - - /** - * Override recommended buffer size (px) - */ - bufferSize?: number; -}; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerMeasureDynamicProps = { - defaultItemSize: number; - virtualizerContext: DynamicVirtualizerContextProps; - numItems: number; - getItemSize: (index: number) => number; - direction?: 'vertical' | 'horizontal'; - - /** - * Override recommended number of buffer items - */ - bufferItems?: number; - - /** - * Override recommended buffer size (px) - */ - bufferSize?: number; -}; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerStaticPaginationProps = { - itemSize: number; - axis?: 'vertical' | 'horizontal'; -}; - -/** - * Props to be passed into dynamic virtualization hooks - * All props can be acquired from useVirtualizer hooks themselves and passed in - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerDynamicPaginationProps = { - /** - * An array that tracks the sizing of each item in virtualizer cumulatively - */ - progressiveItemSizes: React.RefObject | undefined; - /** - * The current starting index of the virtualizer's DOM elements - */ - currentIndex: number; - /** - * The axis we should paginate on (should match virtualizer's axis) - */ - axis?: 'vertical' | 'horizontal'; - /** - * The current length of Virtualizer's actual DOM elements - */ - virtualizerLength: number; -}; - -/** - * Additional direct Ref prevents reading old resize entry data - * Backwards compatible with ResizeObserverCallback if preferred - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export interface ResizeCallbackWithRef { - ( - entries: ResizeObserverEntry[], - // TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286 - // eslint-disable-next-line no-restricted-globals - observer: ResizeObserver, - scrollRef?: React.MutableRefObject, - ): void; -} diff --git a/packages/react-components/react-virtualizer/library/src/hooks/index.ts b/packages/react-components/react-virtualizer/library/src/hooks/index.ts deleted file mode 100644 index e81f652686c57..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -export { getRTLRootMargin, useIntersectionObserver } from './useIntersectionObserver'; -export { useStaticVirtualizerMeasure } from './useVirtualizerMeasure'; -export { useDynamicVirtualizerMeasure } from './useDynamicVirtualizerMeasure'; -export { useResizeObserverRef_unstable } from './useResizeObserverRef'; -export type { - ResizeCallbackWithRef, - VirtualizerDynamicPaginationProps, - VirtualizerMeasureDynamicProps, - VirtualizerMeasureProps, - VirtualizerStaticPaginationProps, -} from './hooks.types'; -export type { IndexedResizeCallbackElement } from './useMeasureList'; -export { createResizeObserverFromDocument, useMeasureList } from './useMeasureList'; diff --git a/packages/react-components/react-virtualizer/library/src/hooks/useDynamicPagination.ts b/packages/react-components/react-virtualizer/library/src/hooks/useDynamicPagination.ts deleted file mode 100644 index be9459f4a03c3..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/useDynamicPagination.ts +++ /dev/null @@ -1,138 +0,0 @@ -import * as React from 'react'; -import { VirtualizerDynamicPaginationProps } from './hooks.types'; -import { useTimeout } from '@fluentui/react-utilities'; - -/** - * Optional hook that will enable pagination on the virtualizer so that it 'autoscrolls' to an items exact position - * Sizes are dynamic so we require a progressive sizing array (passed in from Dynamic virtualizer hooks) - * On short scrolls, we will go at minimum to the next/previous item so that arrow pagination works - * All VirtualizerDynamicPaginationProps can be grabbed from dynamic Virtualizer hooks externally and passed in - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useDynamicVirtualizerPagination = ( - virtualizerProps: VirtualizerDynamicPaginationProps, - paginationEnabled: Boolean = true, -) => { - 'use no memo'; - - const { axis = 'vertical', currentIndex, progressiveItemSizes, virtualizerLength } = virtualizerProps; - - const [setScrollTimer, clearScrollTimer] = useTimeout(); - const lastScrollPos = React.useRef(-1); - const lastIndexScrolled = React.useRef(-1); - - const scrollContainer = React.useRef(null); - - const clearListeners = () => { - if (scrollContainer.current) { - scrollContainer.current.removeEventListener('scroll', onScroll); - scrollContainer.current = null; - clearScrollTimer(); - } - }; - - React.useEffect(() => { - return () => { - clearListeners(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - /** - * Handle scroll stop event and paginate to the closest item - * If the closest item is the same as the previous scroll end - * we paginate to the next/previous one based on direction - * - * Users/Virtualizer-Hooks must pass in a cumulative array of sizes - * This prevents the need to recalculate and ensures size arrays are synced externally - */ - const onScrollEnd = React.useCallback(() => { - if (!scrollContainer.current || !paginationEnabled || !progressiveItemSizes?.current) { - // No container found - return; - } - - const currentScrollPos = Math.round( - axis === 'vertical' ? scrollContainer.current.scrollTop : scrollContainer.current.scrollLeft, - ); - let closestItemPos = 0; - let closestItem = 0; - const endItem = Math.min(currentIndex + virtualizerLength, progressiveItemSizes.current.length); - - for (let i = currentIndex; i < endItem - 1; i++) { - if ( - currentScrollPos <= progressiveItemSizes.current[i + 1] && - currentScrollPos >= progressiveItemSizes.current[i] - ) { - // Found our in between position - const distanceToPrev = Math.abs(currentScrollPos - progressiveItemSizes.current[i]); - const distanceToNext = Math.abs(progressiveItemSizes.current[i + 1] - currentScrollPos); - if (distanceToPrev < distanceToNext) { - closestItem = i; - } else { - closestItem = i + 1; - } - break; - } - } - - let nextItem; - if (Math.round(closestItem - lastIndexScrolled.current) === 0) { - // Special case for go to next/previous with minimum amount of scroll needed - const nextTarget = lastScrollPos.current < currentScrollPos ? 1 : -1; - // This will also handle a case where we scrolled to the exact correct position (noop) - const isSecondaryScroll = Math.round(lastScrollPos.current - currentScrollPos) === 0; - const posMod = isSecondaryScroll ? 0 : nextTarget; - nextItem = closestItem + posMod; - } else { - // Pagination for anything else can just jump to the closest! - nextItem = closestItem; - } - - // Safeguard nextItem - nextItem = Math.min(Math.max(0, nextItem), progressiveItemSizes.current.length); - closestItemPos = progressiveItemSizes.current[nextItem]; - - if (axis === 'vertical') { - scrollContainer.current.scrollTo({ top: closestItemPos, behavior: 'smooth' }); - } else { - scrollContainer.current.scrollTo({ left: closestItemPos, behavior: 'smooth' }); - } - lastScrollPos.current = progressiveItemSizes.current[nextItem]; - lastIndexScrolled.current = nextItem; - }, [paginationEnabled, currentIndex, scrollContainer, virtualizerLength, axis, progressiveItemSizes]); - - /** - * On scroll timer that will continuously delay callback until scrolling stops - */ - const onScroll = React.useCallback(() => { - clearScrollTimer(); - setScrollTimer(onScrollEnd, 100); - }, [onScrollEnd, clearScrollTimer, setScrollTimer]); - - /** - * Pagination ref will ensure we attach listeners to containers on change - * It is returned from hook and merged into the scroll container externally - */ - const paginationRef = React.useCallback( - (instance: HTMLElement | HTMLDivElement | null) => { - if (!paginationEnabled) { - clearListeners(); - scrollContainer.current = null; - return; - } - if (scrollContainer.current !== instance) { - clearListeners(); - - scrollContainer.current = instance; - if (scrollContainer.current) { - scrollContainer.current.addEventListener('scroll', onScroll); - } - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [onScroll, onScrollEnd, paginationEnabled], - ); - - return paginationRef; -}; diff --git a/packages/react-components/react-virtualizer/library/src/hooks/useDynamicVirtualizerMeasure.ts b/packages/react-components/react-virtualizer/library/src/hooks/useDynamicVirtualizerMeasure.ts deleted file mode 100644 index ac7d5eccab414..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/useDynamicVirtualizerMeasure.ts +++ /dev/null @@ -1,173 +0,0 @@ -import { useIsomorphicLayoutEffect, useMergedRefs } from '@fluentui/react-utilities'; -import * as React from 'react'; -import { VirtualizerMeasureDynamicProps } from './hooks.types'; -import { useResizeObserverRef_unstable } from './useResizeObserverRef'; -import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts'; - -/** - * React hook that measures virtualized space dynamically to ensure optimized virtualization length. - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useDynamicVirtualizerMeasure = ( - virtualizerProps: VirtualizerMeasureDynamicProps, -): { - virtualizerLength: number; - bufferItems: number; - bufferSize: number; - scrollRef: (instance: TElement | null) => void; - containerSizeRef: React.RefObject; - updateScrollPosition: (scrollPosition: number) => void; -} => { - const { - defaultItemSize, - direction = 'vertical', - numItems, - getItemSize, - bufferItems, - bufferSize, - virtualizerContext, - } = virtualizerProps; - - const [state, setState] = React.useState({ - virtualizerLength: 0, - virtualizerBufferItems: 0, - virtualizerBufferSize: 0, - }); - - const containerSizeRef = React.useRef(0); - const scrollPosition = React.useRef(0); - const { virtualizerLength, virtualizerBufferItems, virtualizerBufferSize } = state; - - const { targetDocument } = useFluent(); - const container = React.useRef(null); - const handleScrollResize = React.useCallback( - (scrollRef: React.MutableRefObject) => { - if (!scrollRef?.current) { - // Error? ignore? - return; - } - - if (scrollRef.current !== targetDocument?.body) { - // We have a local scroll container - containerSizeRef.current = - direction === 'vertical' - ? scrollRef?.current.getBoundingClientRect().height - : scrollRef?.current.getBoundingClientRect().width; - } else if (targetDocument?.defaultView) { - // If our scroll ref is the document body, we should check window height - containerSizeRef.current = - direction === 'vertical' ? targetDocument?.defaultView?.innerHeight : targetDocument?.defaultView?.innerWidth; - } - - let indexSizer = 0; - let i = 0; - let length = 0; - - const startIndex = virtualizerContext.contextIndex; - const sizeToBeat = containerSizeRef.current + virtualizerBufferSize * 2; - - while (indexSizer <= sizeToBeat && i + startIndex < numItems) { - const iItemSize = getItemSize(startIndex + i); - if (virtualizerContext.childProgressiveSizes.current.length < numItems) { - /* We are in unknown territory, either an initial render or an update - in virtualizer item length has occurred. - We need to let the new items render first then we can accurately assess.*/ - return virtualizerLength - virtualizerBufferSize * 2; - } - - const currentScrollPos = scrollPosition.current; - const currentItemPos = virtualizerContext.childProgressiveSizes.current[startIndex + i] - iItemSize; - - if (currentScrollPos > currentItemPos + iItemSize) { - // The item isn't in view, ignore for now. - i++; - continue; - } else if (currentScrollPos > currentItemPos) { - // The item is partially out of view, ignore the out of bounds portion - const variance = currentItemPos + iItemSize - currentScrollPos; - indexSizer += variance; - } else { - // Item is in view - indexSizer += iItemSize; - } - // Increment - i++; - length++; - } - - /* - * Number of items to append at each end, i.e. 'preload' each side before entering view. - * Minimum: 2 - we give slightly more buffer for dynamic version. - */ - const newBufferItems = bufferItems ?? Math.max(Math.ceil(length / 3), 1); - - /* - * This is how far we deviate into the bufferItems to detect a redraw. - */ - const newBufferSize = bufferSize ?? Math.max(defaultItemSize / 2, 1); - const totalLength = length + newBufferItems * 2; - - setState({ - virtualizerLength: totalLength, - virtualizerBufferSize: newBufferSize, - virtualizerBufferItems: newBufferItems, - }); - }, - [ - bufferItems, - bufferSize, - defaultItemSize, - direction, - getItemSize, - numItems, - targetDocument?.body, - targetDocument?.defaultView, - virtualizerBufferSize, - virtualizerContext.childProgressiveSizes, - virtualizerContext.contextIndex, - virtualizerLength, - ], - ); - - const resizeCallback = React.useCallback( - ( - _entries: ResizeObserverEntry[], - // TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286 - // eslint-disable-next-line no-restricted-globals - _observer: ResizeObserver, - scrollRef?: React.MutableRefObject, - ) => { - if (scrollRef) { - handleScrollResize(scrollRef); - } - }, - [handleScrollResize], - ); - - const scrollRef = useMergedRefs(container, useResizeObserverRef_unstable(resizeCallback)); - - useIsomorphicLayoutEffect(() => { - if (virtualizerContext.contextIndex + virtualizerLength < numItems) { - // Avoid re-rendering/re-calculating when the end index has already been reached - handleScrollResize(container); - } - }, [handleScrollResize, numItems, virtualizerContext.contextIndex, virtualizerLength]); - - const updateScrollPosition = React.useCallback( - (_scrollPosition: number) => { - scrollPosition.current = _scrollPosition; - // Check if our vLength's need recalculating - handleScrollResize(scrollRef); - }, - [handleScrollResize, scrollRef], - ); - - return { - virtualizerLength, - bufferItems: virtualizerBufferItems, - bufferSize: virtualizerBufferSize, - scrollRef, - containerSizeRef, - updateScrollPosition, - }; -}; diff --git a/packages/react-components/react-virtualizer/library/src/hooks/useIntersectionObserver.ts b/packages/react-components/react-virtualizer/library/src/hooks/useIntersectionObserver.ts deleted file mode 100644 index aae14ad6bbeeb..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/useIntersectionObserver.ts +++ /dev/null @@ -1,154 +0,0 @@ -import * as React from 'react'; -import { useIsomorphicLayoutEffect } from '@fluentui/react-utilities'; -import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts'; - -const { useCallback, useState, useRef } = React; -import { useMutationObserver } from './useMutationObserver'; - -/** - * This function will take the rootMargin and flip the sides if we are in RTL based on the computed reading direction of the target element. - * @param ltrRootMargin the margin to be processed and flipped if required - * @param target target element that will have its current reading direction determined - * @returns the corrected rootMargin (if it was necessary to correct) - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const getRTLRootMargin = ( - ltrRootMargin: string, - target?: Element | Document | null | undefined, - win?: Window | null, -): string => { - if (target && win) { - // get the computed dir for the target element - const newDir = win.getComputedStyle(target as Element).direction; - - // If we're in rtl reading direction, we might need to flip the margins on the left/right sides - if (newDir === 'rtl') { - let newMargin = ltrRootMargin; - const splitMargins = ltrRootMargin.split(' '); - - // We only need to do this if we get four values, otherwise the sides are equal and don't require flipping. - if (splitMargins.length === 4) { - newMargin = `${splitMargins[0]} ${splitMargins[3]} ${splitMargins[2]} ${splitMargins[1]}`; - } - - return newMargin; - } else { - return ltrRootMargin; - } - } - - return ltrRootMargin; -}; - -/** - * React hook that allows easy usage of the browser API IntersectionObserver within React - * @param callback - A function called when the percentage of the target element is visible crosses a threshold. - * @param options - An optional object which customizes the observer. If options isn't specified, the observer uses the - * document's viewport as the root, with no margin, and a 0% threshold (meaning that even a one-pixel change is - * enough to trigger a callback). - * @returns An array containing a callback to update the list of Elements the observer should listen to, a callback to - * update the init options of the IntersectionObserver and a ref to the IntersectionObserver instance itself. - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useIntersectionObserver = ( - callback: IntersectionObserverCallback, - options?: IntersectionObserverInit, -): { - setObserverList: React.Dispatch>; - setObserverInit: (newInit: IntersectionObserverInit | undefined) => void; - // TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286 - // eslint-disable-next-line no-restricted-globals - observer: React.MutableRefObject; -} => { - 'use no memo'; - - // TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286 - // eslint-disable-next-line no-restricted-globals - const observer = useRef(); - const [observerList, setObserverList] = useState(); - const { targetDocument } = useFluent(); - const win = targetDocument?.defaultView; - - // set the initial init with corrected margins based on the observed root's calculated reading direction. - const [observerInit, setObserverInit] = useState( - options && { - ...options, - rootMargin: getRTLRootMargin(options.rootMargin ?? '0px', options.root as Element, win), - }, - ); - - // We have to assume that any values passed in for rootMargin by the consuming app are ltr values. As such we will store the ltr value. - const ltrRootMargin = useRef(options?.rootMargin ?? '0px'); - - // Callback function to execute when mutations are observed - const mutationObserverCallback: MutationCallback = useCallback( - mutationList => { - for (const mutation of mutationList) { - // Ensuring that the right attribute is being observed and that the root is within the tree of the element being mutated. - if ( - mutation.type === 'attributes' && - mutation.attributeName === 'dir' && - options?.root && - mutation.target.contains(options?.root) - ) { - setObserverInit({ - ...observerInit, - rootMargin: getRTLRootMargin(ltrRootMargin.current, observerInit?.root, win), - }); - } - } - }, - [ltrRootMargin, observerInit, options?.root, win], - ); - - // Mutation observer for dir attribute changes in the document - useMutationObserver(targetDocument, mutationObserverCallback, { - attributes: true, - subtree: true, - attributeFilter: ['dir'], - }); - - // Observer elements in passed in list and clean up previous list - // This effect is only triggered when observerList is updated - useIsomorphicLayoutEffect(() => { - if (!win) { - return; - } - - observer.current = new win.IntersectionObserver(callback, { - ...observerInit, - rootMargin: getRTLRootMargin(ltrRootMargin.current, observerInit?.root, win), - }); - - // If we have an instance of IO and a list with elements, observer the elements - if (observer.current && observerList && observerList.length > 0) { - observerList.forEach(element => { - observer.current?.observe(element); - }); - } - - // clean up previous elements being listened to - return () => { - if (observer.current) { - observer.current.disconnect(); - } - }; - }, [observerList, observerInit, callback, win]); - - // Do not use internally, we need to track external settings only here - const setObserverInitExternal = useCallback( - (newInit: IntersectionObserverInit | undefined) => { - // Since we know this is coming from consumers, we can store this value as LTR somewhat safely. - ltrRootMargin.current = newInit?.rootMargin ?? '0px'; - - // Call the internal setter to update the value and ensure if our calculated direction is rtl, we flip the margin - setObserverInit({ - ...newInit, - rootMargin: getRTLRootMargin(ltrRootMargin.current, newInit?.root as Element, win), - }); - }, - [ltrRootMargin, setObserverInit, win], - ); - - return { setObserverList, setObserverInit: setObserverInitExternal, observer }; -}; diff --git a/packages/react-components/react-virtualizer/library/src/hooks/useMeasureList.ts b/packages/react-components/react-virtualizer/library/src/hooks/useMeasureList.ts deleted file mode 100644 index 598ea2f863efc..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/useMeasureList.ts +++ /dev/null @@ -1,145 +0,0 @@ -import * as React from 'react'; -import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts'; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export interface IndexedResizeCallbackElement { - handleResize: () => void; -} -/** - * Provides a way of automating size in the virtualizer - * Returns - * `width` - element width ref (0 by default), - * `height` - element height ref (0 by default), - * `measureElementRef` - a ref function to be passed as `ref` to the element you want to measure - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export function useMeasureList< - TElement extends HTMLElement & IndexedResizeCallbackElement = HTMLElement & IndexedResizeCallbackElement, ->(currentIndex: number, refLength: number, totalLength: number, defaultItemSize: number) { - const widthArray = React.useRef(new Array(totalLength).fill(defaultItemSize)); - const heightArray = React.useRef(new Array(totalLength).fill(defaultItemSize)); - - const refArray = React.useRef>([]); - const { targetDocument } = useFluent(); - - // This lets us trigger updates when a size change occurs. - const sizeUpdateCount = React.useRef(0); - - // the handler for resize observer - const handleIndexUpdate = React.useCallback( - (index: number) => { - let isChanged = false; - const boundClientRect = refArray.current[index]?.getBoundingClientRect(); - const containerWidth = boundClientRect?.width; - if (containerWidth !== widthArray.current[currentIndex + index]) { - isChanged = true; - } - widthArray.current[currentIndex + index] = containerWidth || defaultItemSize; - - const containerHeight = boundClientRect?.height; - - if (containerHeight !== heightArray.current[currentIndex + index]) { - isChanged = true; - } - heightArray.current[currentIndex + index] = containerHeight || defaultItemSize; - - if (isChanged) { - sizeUpdateCount.current = sizeUpdateCount.current + 1; - } - }, - [currentIndex, defaultItemSize, sizeUpdateCount], - ); - - const handleElementResizeCallback = (entries: ResizeObserverEntry[]) => { - for (const entry of entries) { - const target = entry.target as TElement; - // Call the elements own resize handler (indexed) - target.handleResize(); - } - }; - - React.useEffect(() => { - const newHeightLength = totalLength - heightArray.current.length; - const newWidthLength = totalLength - widthArray.current.length; - /* Ensure we grow or truncate arrays with prior properties, - keeping the existing values is important for whitespace assumptions. - Even if items in the 'middle' are deleted, we will recalc the whitespace as it is explored.*/ - if (newWidthLength > 0) { - widthArray.current = widthArray.current.concat(new Array(newWidthLength).fill(defaultItemSize)); - } else if (newWidthLength < 0) { - widthArray.current = widthArray.current.slice(0, totalLength); - } - if (newHeightLength > 0) { - heightArray.current = heightArray.current.concat(new Array(newHeightLength).fill(defaultItemSize)); - } else if (newHeightLength < 0) { - heightArray.current = heightArray.current.slice(0, totalLength); - } - }, [defaultItemSize, totalLength]); - - // Keep the reference of ResizeObserver as a ref, as it should live through renders - const resizeObserver = React.useRef(createResizeObserverFromDocument(targetDocument, handleElementResizeCallback)); - - /* createIndexedRef provides a dynamic function to create an undefined number of refs at render time - * these refs then provide an indexed callback via attaching 'handleResize' to the element itself - * this function is then called on resize by handleElementResize and relies on indexing - * to track continuous sizes throughout renders while releasing all virtualized element refs each render cycle. - */ - const createIndexedRef = React.useCallback( - (index: number) => { - const measureElementRef = (el: TElement) => { - if (!targetDocument || !resizeObserver.current) { - return; - } - - if (el) { - el.handleResize = () => { - handleIndexUpdate(index); - }; - } - - // cleanup previous container - if (refArray.current[index] !== undefined && refArray.current[index] !== null) { - resizeObserver.current.unobserve(refArray.current[index]!); - } - - refArray.current[index] = undefined; - if (el) { - refArray.current[index] = el; - resizeObserver.current.observe(el); - handleIndexUpdate(index); - } - }; - - return measureElementRef; - }, - [handleIndexUpdate, resizeObserver, targetDocument], - ); - - React.useEffect(() => { - const _resizeObserver = resizeObserver; - return () => _resizeObserver.current?.disconnect(); - }, [resizeObserver]); - - return { widthArray, heightArray, createIndexedRef, refArray, sizeUpdateCount: sizeUpdateCount.current }; -} - -/** - * FIXME - TS 3.8/3.9 don't have ResizeObserver types by default, move this to a shared utility once we bump the minbar - * A utility method that creates a ResizeObserver from a target document - * @param targetDocument - document to use to create the ResizeObserver - * @param callback - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver#callback - * @returns a ResizeObserver instance or null if the global does not exist on the document - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export function createResizeObserverFromDocument( - targetDocument: Document | null | undefined, - callback: ResizeObserverCallback, -) { - if (!targetDocument?.defaultView?.ResizeObserver) { - return null; - } - - return new targetDocument.defaultView.ResizeObserver(callback); -} diff --git a/packages/react-components/react-virtualizer/library/src/hooks/useMutationObserver.ts b/packages/react-components/react-virtualizer/library/src/hooks/useMutationObserver.ts deleted file mode 100644 index 81ae6169af4ec..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/useMutationObserver.ts +++ /dev/null @@ -1,44 +0,0 @@ -import * as React from 'react'; -import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts'; - -const { useRef, useEffect } = React; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useMutationObserver = ( - target: Element | Document | undefined, - callback: MutationCallback, - options?: MutationObserverInit, -): { - observer: React.MutableRefObject; // eslint-disable-line no-restricted-globals -} => { - 'use no memo'; - - // TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286 - // eslint-disable-next-line no-restricted-globals - const observer = useRef(); - const { targetDocument } = useFluent(); - const win = targetDocument?.defaultView; - - useEffect(() => { - if (!win) { - return; - } - // Create an observer instance linked to the callback function - observer.current = new win.MutationObserver(callback); - }, [callback, win]); - - useEffect(() => { - if (target) { - // Start observing the target node for configured mutations - observer.current?.observe(target, options); - } - - return () => { - observer.current?.disconnect(); - }; - }, [target, options]); - - return { observer }; -}; diff --git a/packages/react-components/react-virtualizer/library/src/hooks/useResizeObserverRef.ts b/packages/react-components/react-virtualizer/library/src/hooks/useResizeObserverRef.ts deleted file mode 100644 index 92466c7698a45..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/useResizeObserverRef.ts +++ /dev/null @@ -1,70 +0,0 @@ -import * as React from 'react'; -import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts'; -import { debounce } from '../utilities/debounce'; -import { createResizeObserverFromDocument } from '../utilities/createResizeObserverFromDocument'; -import { ResizeCallbackWithRef } from './hooks.types'; - -/** - * useResizeObserverRef_unstable simplifies resize observer connection and ensures debounce/cleanup - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useResizeObserverRef_unstable = (resizeCallback: ResizeCallbackWithRef) => { - 'use no memo'; - - const { targetDocument } = useFluent(); - const container = React.useRef(null); - const containerHeightRef = React.useRef(0); - const containerWidthRef = React.useRef(0); - // the handler for resize observer - // TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286 - // eslint-disable-next-line no-restricted-globals - const handleResize = debounce((entries: ResizeObserverEntry[], observer: ResizeObserver) => { - const containerHeight = container.current?.clientHeight; - const containerWidth = container.current?.clientWidth; - // Our resize observer will fire on scroll resize, let index change handle that instead. - if (containerHeightRef.current !== containerHeight || containerWidth !== containerWidthRef.current) { - containerWidthRef.current = containerWidth ?? 0; - containerHeightRef.current = containerHeight ?? 0; - resizeCallback(entries, observer, container); - } - }); - - // Keep the reference of ResizeObserver in the state, as it should live through renders - const [resizeObserver, setResizeObserver] = React.useState(() => - createResizeObserverFromDocument(targetDocument, handleResize), - ); - - React.useEffect(() => { - // Update our state when resizeCallback changes - container.current = null; - resizeObserver?.disconnect(); - setResizeObserver(() => createResizeObserverFromDocument(targetDocument, handleResize)); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [resizeCallback, targetDocument]); - - React.useEffect(() => { - return () => { - container.current = null; - resizeObserver?.disconnect(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - const scrollRef = React.useCallback( - (instance: HTMLElement | HTMLDivElement | null) => { - if (container.current !== instance) { - if (container.current) { - resizeObserver?.unobserve(container.current); - } - - container.current = instance; - if (container.current) { - resizeObserver?.observe(container.current); - } - } - }, - [resizeObserver], - ); - - return scrollRef; -}; diff --git a/packages/react-components/react-virtualizer/library/src/hooks/useStaticPagination.ts b/packages/react-components/react-virtualizer/library/src/hooks/useStaticPagination.ts deleted file mode 100644 index 69372874b6f3c..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/useStaticPagination.ts +++ /dev/null @@ -1,115 +0,0 @@ -import * as React from 'react'; -import { VirtualizerStaticPaginationProps } from './hooks.types'; -import { useTimeout } from '@fluentui/react-utilities'; - -/** - * Optional hook that will enable pagination on the virtualizer so that it 'autoscrolls' to an items exact position - * Sizes are uniform/static, we round to the nearest item on long scrolls - * On short scrolls, we will go at minimum to the next/previous item so that arrow pagination works - * All VirtualizerStaticPaginationProps can be grabbed from Virtualizer hooks externally and passed in/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useStaticVirtualizerPagination = ( - virtualizerProps: VirtualizerStaticPaginationProps, - paginationEnabled: Boolean = true, -) => { - 'use no memo'; - - const { itemSize, axis = 'vertical' } = virtualizerProps; - - const [setScrollTimer, clearScrollTimer] = useTimeout(); - const lastScrollPos = React.useRef(0); - const lastIndexScrolled = React.useRef(0); - - const scrollContainer = React.useRef(null); - - const clearListeners = () => { - if (scrollContainer.current) { - scrollContainer.current.removeEventListener('scroll', onScroll); - - scrollContainer.current = null; - clearScrollTimer(); - } - }; - - React.useEffect(() => { - return () => { - clearListeners(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - /** - * Handle scroll stop event and paginate to the closest item - * If the closest item is the same as the previous scroll end - * we paginate to the next/previous one based on direction - */ - const onScrollEnd = React.useCallback(() => { - if (!scrollContainer.current || !paginationEnabled) { - // No container found - return; - } - - const currentScrollPos = Math.round( - axis === 'vertical' ? scrollContainer.current.scrollTop : scrollContainer.current.scrollLeft, - ); - const closestItem = Math.round(currentScrollPos / itemSize); - - let nextItem = 0; - if (Math.round(closestItem - lastIndexScrolled.current) === 0) { - // Special case for go to next/previous with minimum amount of scroll needed - const nextTarget = lastScrollPos.current < currentScrollPos ? 1 : -1; - const isSecondaryScroll = lastScrollPos.current === currentScrollPos; - const posMod = isSecondaryScroll ? 0 : nextTarget; - - nextItem = closestItem + posMod; - } else { - // Pagination for anything else can just jump to the closest! - nextItem = closestItem; - } - - const nextItemPos = nextItem * itemSize; - - if (axis === 'vertical') { - scrollContainer.current.scrollTo({ top: nextItemPos, behavior: 'smooth' }); - } else { - scrollContainer.current.scrollTo({ left: nextItemPos, behavior: 'smooth' }); - } - lastScrollPos.current = nextItemPos; - lastIndexScrolled.current = nextItem; - }, [paginationEnabled, axis, itemSize]); - - /** - * On scroll timer that will continuously delay callback until scrolling stops - */ - const onScroll = React.useCallback(() => { - clearScrollTimer(); - setScrollTimer(onScrollEnd, 100); - }, [onScrollEnd, clearScrollTimer, setScrollTimer]); - - /** - * Pagination ref will ensure we attach listeners to containers on change - * It is returned from hook and merged into the scroll container externally - */ - const paginationRef = React.useCallback( - (instance: HTMLElement | HTMLDivElement | null) => { - if (!paginationEnabled) { - clearListeners(); - scrollContainer.current = null; - return; - } - if (scrollContainer.current !== instance) { - clearListeners(); - - scrollContainer.current = instance; - if (scrollContainer.current) { - scrollContainer.current.addEventListener('scroll', onScroll); - } - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [onScroll, onScrollEnd, paginationEnabled], - ); - - return paginationRef; -}; diff --git a/packages/react-components/react-virtualizer/library/src/hooks/useVirtualizerMeasure.ts b/packages/react-components/react-virtualizer/library/src/hooks/useVirtualizerMeasure.ts deleted file mode 100644 index f41c6abad66dd..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/hooks/useVirtualizerMeasure.ts +++ /dev/null @@ -1,91 +0,0 @@ -import * as React from 'react'; -import { VirtualizerMeasureProps } from './hooks.types'; -import { useResizeObserverRef_unstable } from './useResizeObserverRef'; -import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts'; - -/** - * React hook that measures virtualized space based on a static size to ensure optimized virtualization length. - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useStaticVirtualizerMeasure = ( - virtualizerProps: VirtualizerMeasureProps, -): { - virtualizerLength: number; - bufferItems: number; - bufferSize: number; - scrollRef: (instance: TElement | null) => void; - containerSizeRef: React.MutableRefObject; -} => { - const { defaultItemSize, direction = 'vertical', bufferItems, bufferSize } = virtualizerProps; - - const [state, setState] = React.useState({ - virtualizerLength: 0, - _bufferSize: 0, - _bufferItems: 0, - }); - - const containerSizeRef = React.useRef(0); - const { targetDocument } = useFluent(); - - const { virtualizerLength, _bufferItems, _bufferSize } = state; - - const resizeCallback = React.useCallback( - ( - _entries: ResizeObserverEntry[], - // TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286 - // eslint-disable-next-line no-restricted-globals - _observer: ResizeObserver, - scrollRef?: React.MutableRefObject, - ) => { - if (!scrollRef?.current) { - return; - } - - if (scrollRef.current !== targetDocument?.body) { - // We have a local scroll container - containerSizeRef.current = - direction === 'vertical' - ? scrollRef?.current.getBoundingClientRect().height - : scrollRef?.current.getBoundingClientRect().width; - } else if (targetDocument?.defaultView) { - // If our scroll ref is the document body, we should check window height - containerSizeRef.current = - direction === 'vertical' ? targetDocument?.defaultView?.innerHeight : targetDocument?.defaultView?.innerWidth; - } - /* - * Number of items required to cover viewport. - */ - const length = Math.ceil(containerSizeRef.current / defaultItemSize + 1); - - /* - * Number of items to append at each end, i.e. 'preload' each side before entering view. - * Minimum: 1 - */ - const newBufferItems = bufferItems ?? Math.max(Math.ceil(length / 4), 1); - - /* - * This is how far we deviate into the bufferItems to detect a redraw. - */ - const newBufferSize = bufferSize ?? Math.max(defaultItemSize / 2.0, 1); - - const totalLength = length + newBufferItems * 2; - - setState({ - virtualizerLength: totalLength, - _bufferItems: newBufferItems, - _bufferSize: newBufferSize, - }); - }, - [bufferItems, bufferSize, defaultItemSize, direction, targetDocument?.body, targetDocument?.defaultView], - ); - - const scrollRef = useResizeObserverRef_unstable(resizeCallback); - - return { - virtualizerLength, - bufferItems: _bufferItems, - bufferSize: _bufferSize, - scrollRef, - containerSizeRef, - }; -}; diff --git a/packages/react-components/react-virtualizer/library/src/index.ts b/packages/react-components/react-virtualizer/library/src/index.ts deleted file mode 100644 index 6912c0057e4a7..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -export { - Virtualizer, - virtualizerClassNames, - useVirtualizer_unstable, - renderVirtualizer_unstable, - useVirtualizerStyles_unstable, -} from './Virtualizer'; - -export type { - VirtualizerProps, - VirtualizerState, - VirtualizerSlots, - VirtualizerChildRenderFunction, - VirtualizerDataRef, -} from './Virtualizer'; - -export { - useIntersectionObserver, - useStaticVirtualizerMeasure, - useDynamicVirtualizerMeasure, - useResizeObserverRef_unstable, - useMeasureList, -} from './Hooks'; - -export type { - ResizeCallbackWithRef, - VirtualizerMeasureDynamicProps, - VirtualizerMeasureProps, - IndexedResizeCallbackElement, -} from './Hooks'; - -export type { ScrollToItemDynamicParams, ScrollToItemStaticParams, ScrollToInterface } from './Utilities'; - -export { - VirtualizerContextProvider, - useVirtualizerContext_unstable, - scrollToItemStatic, - scrollToItemDynamic, -} from './Utilities'; - -export type { VirtualizerContextProps, DynamicVirtualizerContextProps } from './Utilities'; - -export { - VirtualizerScrollView, - virtualizerScrollViewClassNames, - useVirtualizerScrollView_unstable, - renderVirtualizerScrollView_unstable, - useVirtualizerScrollViewStyles_unstable, -} from './VirtualizerScrollView'; - -export type { - VirtualizerScrollViewProps, - VirtualizerScrollViewState, - VirtualizerScrollViewSlots, -} from './VirtualizerScrollView'; - -export { - VirtualizerScrollViewDynamic, - virtualizerScrollViewDynamicClassNames, - useVirtualizerScrollViewDynamic_unstable, - renderVirtualizerScrollViewDynamic_unstable, - useVirtualizerScrollViewDynamicStyles_unstable, -} from './VirtualizerScrollViewDynamic'; - -export type { - VirtualizerScrollViewDynamicProps, - VirtualizerScrollViewDynamicState, - VirtualizerScrollViewDynamicSlots, -} from './VirtualizerScrollViewDynamic'; diff --git a/packages/react-components/react-virtualizer/library/src/testing/useVirtualizer.test.ts b/packages/react-components/react-virtualizer/library/src/testing/useVirtualizer.test.ts deleted file mode 100644 index 0290dd4cf94a0..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/testing/useVirtualizer.test.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { renderHook } from '@testing-library/react-hooks'; -import { useVirtualizer_unstable } from '../components/Virtualizer/useVirtualizer'; - -describe('useVirtualizer', () => { - beforeEach(() => { - // IntersectionObserver isn't available in test environment - const mockIntersectionObserver = jest.fn(); - mockIntersectionObserver.mockReturnValue({ - observe: () => null, - unobserve: () => null, - disconnect: () => null, - }); - window.IntersectionObserver = mockIntersectionObserver; - }); - - it('should have the correct number of initial items', () => { - const virtualizerLength = 50; - const actualLength = 250; - const divArr = new Array(actualLength).fill('Test-Node'); - const containerSizeRef = { - current: 300, - }; - - const rowFunc = (index: number) => { - return divArr[index]; - }; - const { result } = renderHook(() => - useVirtualizer_unstable({ - numItems: divArr.length, - virtualizerLength, - itemSize: 100, // 100 pixels - children: rowFunc, - containerSizeRef, - }), - ); - - // Initial render shows only first 100 items - expect(result.current.virtualizedChildren.length).toBe(virtualizerLength); - // The start index should be 0 once mounted - expect(result.current.virtualizerStartIndex).toBe(0); - }); -}); diff --git a/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrolling.ts b/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrolling.ts deleted file mode 100644 index befebe9ea3707..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrolling.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ScrollToItemStaticParams } from './imperativeScrolling.types'; - -export const scrollToItemStatic = (params: ScrollToItemStaticParams) => { - const { index, itemSize, totalItems, scrollViewRef, axis = 'vertical', reversed = false, behavior = 'auto' } = params; - - if (axis === 'horizontal') { - if (reversed) { - scrollViewRef.current?.scrollTo({ - left: totalItems * itemSize - itemSize * index, - behavior, - }); - } else { - scrollViewRef.current?.scrollTo({ - left: itemSize * index, - behavior, - }); - } - } else { - if (reversed) { - scrollViewRef.current?.scrollTo({ - top: totalItems * itemSize - itemSize * index, - behavior, - }); - } else { - scrollViewRef.current?.scrollTo({ - top: itemSize * index, - behavior, - }); - } - } -}; diff --git a/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrolling.types.ts b/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrolling.types.ts deleted file mode 100644 index c44bce35cd4b3..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrolling.types.ts +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from 'react'; - -export type ScrollToItemStaticParams = { - index: number; - itemSize: number; - totalItems: number; - scrollViewRef: React.RefObject; - axis?: 'horizontal' | 'vertical'; - reversed?: boolean; - behavior?: ScrollBehavior; -}; - -export type ScrollToItemDynamicParams = { - index: number; - itemSizes: React.RefObject; - totalSize: number; - scrollViewRef: React.RefObject; - axis?: 'horizontal' | 'vertical'; - reversed?: boolean; - behavior?: ScrollBehavior; -}; - -export type ScrollToInterface = { - scrollTo: (index: number, behavior?: ScrollBehavior, callback?: (index: number) => void) => void; - virtualizerLength: React.RefObject; - currentIndex: React.RefObject | undefined; -}; diff --git a/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrollingDynamic.ts b/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrollingDynamic.ts deleted file mode 100644 index 7d506e00e9e04..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/imperativeScrollingDynamic.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ScrollToItemDynamicParams } from './imperativeScrolling.types'; - -export const scrollToItemDynamic = (params: ScrollToItemDynamicParams) => { - const { index, itemSizes, totalSize, scrollViewRef, axis = 'vertical', reversed = false, behavior = 'auto' } = params; - if (!itemSizes.current) { - return; - } - - if (itemSizes.current === null || itemSizes.current.length < index) { - // null check - abort - return; - } - - let itemDepth = 0; - for (let i = 0; i < index; i++) { - if (i < index) { - itemDepth += itemSizes.current[i]; - } - } - - if (axis === 'horizontal') { - if (reversed) { - scrollViewRef.current?.scrollTo({ - left: totalSize - itemDepth, - behavior, - }); - } else { - scrollViewRef.current?.scrollTo({ - left: itemDepth, - behavior, - }); - } - } else { - if (reversed) { - scrollViewRef.current?.scrollTo({ - top: totalSize - itemDepth, - behavior, - }); - } else { - scrollViewRef.current?.scrollTo({ - top: itemDepth, - behavior, - }); - } - } -}; diff --git a/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/index.ts b/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/index.ts deleted file mode 100644 index 67f161d8895ca..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/ImperativeScrolling/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { scrollToItemStatic } from './imperativeScrolling'; -export type { - ScrollToInterface, - ScrollToItemDynamicParams, - ScrollToItemStaticParams, -} from './imperativeScrolling.types'; -export { scrollToItemDynamic } from './imperativeScrollingDynamic'; diff --git a/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/VirtualizerContext.ts b/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/VirtualizerContext.ts deleted file mode 100644 index cadbf2df99797..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/VirtualizerContext.ts +++ /dev/null @@ -1,43 +0,0 @@ -import * as React from 'react'; -import type { DynamicVirtualizerContextProps, VirtualizerContextProps } from './types'; - -const VirtualizerContext = React.createContext( - undefined, -) as React.Context; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const VirtualizerContextProvider = VirtualizerContext.Provider; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useVirtualizerContext_unstable = () => { - return React.useContext(VirtualizerContext); -}; - -/** - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export const useVirtualizerContextState_unstable = ( - passedContext?: VirtualizerContextProps, -): DynamicVirtualizerContextProps => { - const virtualizerContext = useVirtualizerContext_unstable(); - const [_contextIndex, _setContextIndex] = React.useState(-1); - const childProgressiveSizes = React.useRef([]); - - /* We respect any wrapped providers while also ensuring defaults or passed through - * Order of usage -> Passed Prop -> Provider Context -> Internal State default - */ - const context = React.useMemo( - () => ({ - contextIndex: passedContext?.contextIndex ?? virtualizerContext?.contextIndex ?? _contextIndex, - setContextIndex: passedContext?.setContextIndex ?? virtualizerContext?.setContextIndex ?? _setContextIndex, - childProgressiveSizes, - }), - [_contextIndex, passedContext, virtualizerContext], - ); - - return context; -}; diff --git a/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/index.ts b/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/index.ts deleted file mode 100644 index ab9f63db3b44e..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { - VirtualizerContextProvider, - useVirtualizerContextState_unstable, - useVirtualizerContext_unstable, -} from './VirtualizerContext'; -export type { DynamicVirtualizerContextProps, VirtualizerContextProps } from './types'; diff --git a/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/types.ts b/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/types.ts deleted file mode 100644 index 8e9e4c6cd7cfa..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/VirtualizerContext/types.ts +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from 'react'; -/** - * {@docCategory Virtualizer} - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type VirtualizerContextProps = { - contextIndex: number; - setContextIndex: (index: number) => void; - /* - * These optional props are used in dynamic virtualizer - */ - childProgressiveSizes?: React.MutableRefObject; -}; - -/** - * Some props are optional on static virtualizer, but required for dynamic. - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export type DynamicVirtualizerContextProps = Required; diff --git a/packages/react-components/react-virtualizer/library/src/utilities/createResizeObserverFromDocument.ts b/packages/react-components/react-virtualizer/library/src/utilities/createResizeObserverFromDocument.ts deleted file mode 100644 index c26fef5873218..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/createResizeObserverFromDocument.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * FIXME - TS 3.8/3.9 don't have ResizeObserver types by default, move this to a shared utility once we bump the minbar - * A utility method that creates a ResizeObserver from a target document - * @param targetDocument - document to use to create the ResizeObserver - * @param callback - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver#callback - * @returns a ResizeObserver instance or null if the global does not exist on the document - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export function createResizeObserverFromDocument( - targetDocument: Document | null | undefined, - callback: ResizeObserverCallback, -) { - if (!targetDocument?.defaultView?.ResizeObserver) { - return null; - } - - return new targetDocument.defaultView.ResizeObserver(callback); -} diff --git a/packages/react-components/react-virtualizer/library/src/utilities/debounce.ts b/packages/react-components/react-virtualizer/library/src/utilities/debounce.ts deleted file mode 100644 index 59dc3b42d84bb..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/debounce.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Microtask debouncer - * https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide - * @param fn - Function to debounce - * @returns debounced function - * @deprecated migrated to \@fluentui\-contrib/react\-virtualizer for stable release. - */ -export function debounce(fn: Function) { - let pending: boolean; - return () => { - if (!pending) { - pending = true; - queueMicrotask(() => { - // Need to set pending to `false` before the debounced function is run. - // React can actually interrupt the function while it's running! - pending = false; - fn(); - }); - } - }; -} diff --git a/packages/react-components/react-virtualizer/library/src/utilities/index.ts b/packages/react-components/react-virtualizer/library/src/utilities/index.ts deleted file mode 100644 index 26a8df742ea85..0000000000000 --- a/packages/react-components/react-virtualizer/library/src/utilities/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export type { DynamicVirtualizerContextProps, VirtualizerContextProps } from './VirtualizerContext'; -export { - VirtualizerContextProvider, - useVirtualizerContextState_unstable, - useVirtualizerContext_unstable, -} from './VirtualizerContext'; -export type { ScrollToInterface, ScrollToItemDynamicParams, ScrollToItemStaticParams } from './ImperativeScrolling'; -export { scrollToItemDynamic, scrollToItemStatic } from './ImperativeScrolling'; diff --git a/packages/react-components/react-virtualizer/library/tsconfig.json b/packages/react-components/react-virtualizer/library/tsconfig.json deleted file mode 100644 index 32bdbdf1ac26f..0000000000000 --- a/packages/react-components/react-virtualizer/library/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "extends": "../../../../tsconfig.base.json", - "compilerOptions": { - "target": "ES2019", - "noEmit": true, - "isolatedModules": true, - "importHelpers": true, - "jsx": "react", - "noUnusedLocals": true, - "preserveConstEnums": true - }, - "include": [], - "files": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/react-components/react-virtualizer/library/tsconfig.lib.json b/packages/react-components/react-virtualizer/library/tsconfig.lib.json deleted file mode 100644 index 53066fdd11fff..0000000000000 --- a/packages/react-components/react-virtualizer/library/tsconfig.lib.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "noEmit": false, - "lib": ["ES2019", "dom"], - "declaration": true, - "declarationDir": "../../../../dist/out-tsc/types", - "outDir": "../../../../dist/out-tsc", - "inlineSources": true, - "types": ["static-assets", "environment"] - }, - "exclude": [ - "./src/testing/**", - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.test.ts", - "**/*.test.tsx", - "**/*.stories.ts", - "**/*.stories.tsx" - ], - "include": ["./src/**/*.ts", "./src/**/*.tsx"] -} diff --git a/packages/react-components/react-virtualizer/library/tsconfig.spec.json b/packages/react-components/react-virtualizer/library/tsconfig.spec.json deleted file mode 100644 index 911456fe4b4d9..0000000000000 --- a/packages/react-components/react-virtualizer/library/tsconfig.spec.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "CommonJS", - "outDir": "dist", - "types": ["jest", "node"] - }, - "include": [ - "**/*.spec.ts", - "**/*.spec.tsx", - "**/*.test.ts", - "**/*.test.tsx", - "**/*.d.ts", - "./src/testing/**/*.ts", - "./src/testing/**/*.tsx" - ] -} diff --git a/packages/react-components/react-virtualizer/stories/.eslintrc.json b/packages/react-components/react-virtualizer/stories/.eslintrc.json deleted file mode 100644 index 7d7516a890d84..0000000000000 --- a/packages/react-components/react-virtualizer/stories/.eslintrc.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": ["plugin:@fluentui/eslint-plugin/react"], - "root": true, - "rules": { - "@typescript-eslint/no-deprecated": "off", - "import/no-extraneous-dependencies": [ - "error", - { - "packageDir": [".", "../../../../"] - } - ] - } -} diff --git a/packages/react-components/react-virtualizer/stories/.storybook/main.js b/packages/react-components/react-virtualizer/stories/.storybook/main.js deleted file mode 100644 index b380cd896aea1..0000000000000 --- a/packages/react-components/react-virtualizer/stories/.storybook/main.js +++ /dev/null @@ -1,14 +0,0 @@ -const rootMain = require('../../../../../.storybook/main'); - -module.exports = /** @type {Omit} */ ({ - ...rootMain, - stories: [...rootMain.stories, '../src/**/*.stories.mdx', '../src/**/index.stories.@(ts|tsx)'], - addons: [...rootMain.addons], - webpackFinal: (config, options) => { - const localConfig = { ...rootMain.webpackFinal(config, options) }; - - // add your own webpack tweaks if needed - - return localConfig; - }, -}); diff --git a/packages/react-components/react-virtualizer/stories/.storybook/preview.js b/packages/react-components/react-virtualizer/stories/.storybook/preview.js deleted file mode 100644 index 94455f782364e..0000000000000 --- a/packages/react-components/react-virtualizer/stories/.storybook/preview.js +++ /dev/null @@ -1,7 +0,0 @@ -import * as rootPreview from '../../../../../.storybook/preview'; - -/** @type {typeof rootPreview.decorators} */ -export const decorators = [...rootPreview.decorators]; - -/** @type {typeof rootPreview.parameters} */ -export const parameters = { ...rootPreview.parameters }; diff --git a/packages/react-components/react-virtualizer/stories/.storybook/tsconfig.json b/packages/react-components/react-virtualizer/stories/.storybook/tsconfig.json deleted file mode 100644 index 4cdd1ce9d006f..0000000000000 --- a/packages/react-components/react-virtualizer/stories/.storybook/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "", - "allowJs": true, - "checkJs": true, - "types": ["static-assets", "environment"] - }, - "include": ["*.js"] -} diff --git a/packages/react-components/react-virtualizer/stories/README.md b/packages/react-components/react-virtualizer/stories/README.md deleted file mode 100644 index 858235508a07f..0000000000000 --- a/packages/react-components/react-virtualizer/stories/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @fluentui/react-virtualizer-stories - -Storybook stories for packages/react-components/react-virtualizer - -## Usage - -To include within storybook specify stories globs: - -\`\`\`js -module.exports = { -stories: ['../packages/react-components/react-virtualizer/stories/src/**/*.stories.mdx', '../packages/react-components/react-virtualizer/stories/src/**/index.stories.@(ts|tsx)'], -} -\`\`\` - -## API - -no public API available diff --git a/packages/react-components/react-virtualizer/stories/package.json b/packages/react-components/react-virtualizer/stories/package.json deleted file mode 100644 index 4d381865ceb42..0000000000000 --- a/packages/react-components/react-virtualizer/stories/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@fluentui/react-virtualizer-stories", - "version": "0.0.0", - "private": true, - "devDependencies": { - "@fluentui/react-components": "*", - "@fluentui/react-virtualizer": ">=9.0.0-alpha", - "@fluentui/react-storybook-addon": "*", - "@fluentui/react-storybook-addon-export-to-sandbox": "*", - "@fluentui/scripts-storybook": "*", - "@fluentui/eslint-plugin": "*" - } -} diff --git a/packages/react-components/react-virtualizer/stories/project.json b/packages/react-components/react-virtualizer/stories/project.json deleted file mode 100644 index cdfa30be91b14..0000000000000 --- a/packages/react-components/react-virtualizer/stories/project.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "react-virtualizer-stories", - "$schema": "../../../../node_modules/nx/schemas/project-schema.json", - "projectType": "library", - "implicitDependencies": [], - "sourceRoot": "packages/react-components/react-virtualizer/stories/src", - "tags": ["vNext", "platform:web", "type:stories"] -} diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/Default.stories.tsx b/packages/react-components/react-virtualizer/stories/src/Virtualizer/Default.stories.tsx deleted file mode 100644 index e198568fe03f9..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/Default.stories.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import * as React from 'react'; -import { Virtualizer, useStaticVirtualizerMeasure } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - container: { - display: 'flex', - flexDirection: 'column', - overflowY: 'auto', - width: '100%', - height: '100%', - maxHeight: '80vh', - }, - child: { - height: '25px', - lineHeight: '25px', - width: '100%', - minHeight: '25px', - }, -}); - -export const Default = () => { - const styles = useStyles(); - const childLength = 1000; - - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef } = useStaticVirtualizerMeasure({ - defaultItemSize: 25, - }); - - return ( -
-
- - {index => { - return ( - {`Node-${index}`} - ); - }} - -
-
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/DefaultUnbounded.stories.tsx b/packages/react-components/react-virtualizer/stories/src/Virtualizer/DefaultUnbounded.stories.tsx deleted file mode 100644 index 6a160404fc5ab..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/DefaultUnbounded.stories.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import * as React from 'react'; -import { Virtualizer, useStaticVirtualizerMeasure } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -import { useFluent } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - container: { - /* - * This is an 'unbounded' example intended to show virtualization in Body doc scroll - * However, we need a sensible height limit - * this would be enforced by a browser window, - * but iFrames can break this if not capped. - */ - display: 'flex', - flexDirection: 'column', - maxHeight: '300VH', - width: '100%', - height: '100%', - }, - child: { - display: 'flex', - lineHeight: '100px', - width: '100%', - }, - block: { - width: '100%', - paddingTop: '100px', - paddingBottom: '100px', - fontSize: '36px', - textAlign: 'center', - minHeight: '100px', - }, -}); - -export const DefaultUnbounded = () => { - const styles = useStyles(); - const childLength = 1000; - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef } = useStaticVirtualizerMeasure({ - defaultItemSize: 100, - }); - - const { targetDocument } = useFluent(); - if (targetDocument) { - scrollRef(targetDocument.body); - } - - return ( -
-
{`Virtualizer`}
- - {(index, isScrolling) => { - return ( - {`Node-${index}`} - ); - }} - -
- Footer -
-
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/Dynamic.stories.tsx b/packages/react-components/react-virtualizer/stories/src/Virtualizer/Dynamic.stories.tsx deleted file mode 100644 index 09298f1e7f657..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/Dynamic.stories.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import * as React from 'react'; -import { Virtualizer, useDynamicVirtualizerMeasure, VirtualizerContextProvider } from '@fluentui/react-virtualizer'; -import type { DynamicVirtualizerContextProps } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const smallSize = 100; -const largeSize = 200; -const useStyles = makeStyles({ - container: { - display: 'flex', - flexDirection: 'column', - overflowY: 'auto', - width: '100%', - height: '100%', - maxHeight: '750px', - gap: '20px', - }, - child: { - height: `${smallSize}px`, - lineHeight: `${smallSize}px`, - width: '100%', - backgroundColor: '#BBBBBB', - }, - childLarge: { - height: `${largeSize}px`, - lineHeight: `${largeSize}px`, - width: '100%', - backgroundColor: '#DDDDDD', - }, -}); - -export const Dynamic = () => { - const [currentIndex, setCurrentIndex] = React.useState(-1); - const childProgressiveSizes = React.useRef([]); - const [flag, toggleFlag] = React.useState(false); - const styles = useStyles(); - const childLength = 1000; - const timeoutRef = React.useRef | null>(null); - - React.useEffect(() => { - updateTimeout(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - const updateTimeout = () => { - timeoutRef.current && clearTimeout(timeoutRef.current); - timeoutRef.current = setTimeout(() => { - toggleFlag(iFlag => !iFlag); - updateTimeout(); - }, 2000); - }; - - const getSizeForIndex = React.useCallback( - (index: number): number => { - const sizeValue1 = flag ? largeSize : smallSize; - const sizeValue2 = flag ? smallSize : largeSize; - - const sizeValue = index % 2 === 0 ? sizeValue1 : sizeValue2; - return sizeValue; - }, - [flag], - ); - - const contextState: DynamicVirtualizerContextProps = { - contextIndex: currentIndex, - setContextIndex: setCurrentIndex, - childProgressiveSizes, - }; - - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef, updateScrollPosition } = - useDynamicVirtualizerMeasure({ - defaultItemSize: 100, - getItemSize: getSizeForIndex, - numItems: childLength, - virtualizerContext: contextState, - }); - - return ( - -
- - {React.useCallback( - (index: number) => { - const sizeValue = getSizeForIndex(index); - const sizeClass = sizeValue === smallSize ? styles.child : styles.childLarge; - return ( -
{`Node-${index}-size-${sizeValue}`}
- ); - }, - [getSizeForIndex, styles.child, styles.childLarge], - )} -
-
-
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/Horizontal.stories.tsx b/packages/react-components/react-virtualizer/stories/src/Virtualizer/Horizontal.stories.tsx deleted file mode 100644 index ca017a693e59d..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/Horizontal.stories.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import * as React from 'react'; -import { useStaticVirtualizerMeasure, Virtualizer } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - container: { - display: 'flex', - flexDirection: 'row', - overflowY: 'auto', - width: '100%', - height: '100%', - maxHeight: '750px', - }, - child: { - minWidth: '100px', - minHeight: '100px', - height: '100%', - }, -}); - -export const Horizontal = () => { - const styles = useStyles(); - const childLength = 1000; - const itemWidth = 100; - - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef } = useStaticVirtualizerMeasure({ - defaultItemSize: itemWidth, - direction: 'horizontal', - }); - - return ( -
- - {index => { - return ( - {`Node-${index}`} - ); - }} - -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/MultiUnbounded.stories.tsx b/packages/react-components/react-virtualizer/stories/src/Virtualizer/MultiUnbounded.stories.tsx deleted file mode 100644 index bc03277a444b3..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/MultiUnbounded.stories.tsx +++ /dev/null @@ -1,101 +0,0 @@ -import * as React from 'react'; -import { Virtualizer, useStaticVirtualizerMeasure } from '@fluentui/react-virtualizer'; -import { makeStyles, useFluent } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - container: { - /* - * This is an 'unbounded' example intended to show virtualization in Body doc scroll - * However, we need a sensible height limit - * this would be enforced by a browser window, - * but iFrames can break this if not capped. - */ - display: 'flex', - flexDirection: 'column', - maxHeight: '300VH', - width: '100%', - height: '100%', - }, - child: { - display: 'flex', - height: '100px', - lineHeight: '100px', - width: '100%', - }, - block: { - width: '100%', - paddingTop: '100px', - paddingBottom: '100px', - fontSize: '36px', - textAlign: 'center', - }, -}); - -export const MultiUnbounded = () => { - const styles = useStyles(); - const childLength = 100; - const repeatingVirtualizers = 5; - - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef } = useStaticVirtualizerMeasure({ - defaultItemSize: 100, - }); - - const { targetDocument } = useFluent(); - if (targetDocument) { - scrollRef(targetDocument.body); - } - - const renderHeader = (index: number) => { - return
{`Virtualizer Instance - ${index}`}
; - }; - - const renderVirtualization = (index: number) => { - return ( - - {rowIndex => { - return ( - {`Node-${index}-${rowIndex}`} - ); - }} - - ); - }; - - const renderVirtualizerLoop = () => { - // Virtualizer instances can all run independently, even inline a single scroll view. - const array = []; - for (let i = 0; i < repeatingVirtualizers; i++) { - array.push(renderHeader(i)); - array.push(renderVirtualization(i)); - } - return array; - }; - - return ( -
- {renderVirtualizerLoop()} -
- Footer -
-
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/RTL.stories.tsx b/packages/react-components/react-virtualizer/stories/src/Virtualizer/RTL.stories.tsx deleted file mode 100644 index 8f4f1333c46ca..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/RTL.stories.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import * as React from 'react'; -import { useStaticVirtualizerMeasure, Virtualizer } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - container: { - display: 'flex', - flexDirection: 'row', - overflowY: 'auto', - width: '100%', - height: '100%', - maxHeight: '750px', - direction: 'rtl', - }, - child: { - minWidth: '100px', - minHeight: '100px', - height: '100%', - }, -}); - -export const RTL = () => { - const styles = useStyles(); - const childLength = 1000; - - const itemWidth = 100; - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef } = useStaticVirtualizerMeasure({ - defaultItemSize: itemWidth, - direction: 'horizontal', - }); - - return ( -
- - {index => { - return ( - {`Node-${index}`} - ); - }} - -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/Reversed.stories.tsx b/packages/react-components/react-virtualizer/stories/src/Virtualizer/Reversed.stories.tsx deleted file mode 100644 index 56cc09b6257ca..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/Reversed.stories.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import * as React from 'react'; -import { useStaticVirtualizerMeasure, Virtualizer } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - container: { - display: 'flex', - flexDirection: 'column-reverse', - overflowY: 'auto', - width: '100%', - height: '100%', - maxHeight: '750px', - }, - child: { - height: '100px', - lineHeight: '100px', - width: '100%', - }, -}); - -export const Reversed = () => { - const styles = useStyles(); - const childLength = 1000; - const itemSize = 100; - - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef } = useStaticVirtualizerMeasure({ - defaultItemSize: itemSize, - }); - - return ( -
- - {index => { - return ( - {`Node-${index}`} - ); - }} - -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/ReversedHorizontal.stories.tsx b/packages/react-components/react-virtualizer/stories/src/Virtualizer/ReversedHorizontal.stories.tsx deleted file mode 100644 index 0dca7e63f0d69..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/ReversedHorizontal.stories.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import * as React from 'react'; -import { useStaticVirtualizerMeasure, Virtualizer } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - container: { - display: 'flex', - flexDirection: 'row-reverse', - overflowY: 'auto', - width: '100%', - height: '100%', - maxHeight: '750px', - }, - child: { - minWidth: '100px', - minHeight: '100px', - height: '100%', - }, -}); - -export const ReversedHorizontal = () => { - const styles = useStyles(); - const childLength = 1000; - - const itemWidth = 100; - - const { virtualizerLength, bufferItems, bufferSize, scrollRef, containerSizeRef } = useStaticVirtualizerMeasure({ - defaultItemSize: itemWidth, - direction: 'horizontal', - }); - - return ( -
- - {index => { - return ( - {`Node-${index}`} - ); - }} - -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/VirtualizerDescription.md b/packages/react-components/react-virtualizer/stories/src/Virtualizer/VirtualizerDescription.md deleted file mode 100644 index 99a7bd52f594f..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/VirtualizerDescription.md +++ /dev/null @@ -1,12 +0,0 @@ - - -> **⚠️ Preview components are considered unstable:** -> -> ```jsx -> -> import { Virtualizer } from '@fluentui/react-virtualizer'; -> -> ``` -> -> - Features and APIs may change before final release -> - Please contact us if you intend to use this in your product diff --git a/packages/react-components/react-virtualizer/stories/src/Virtualizer/index.stories.ts b/packages/react-components/react-virtualizer/stories/src/Virtualizer/index.stories.ts deleted file mode 100644 index b5a8886213d2a..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/Virtualizer/index.stories.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Virtualizer } from '@fluentui/react-virtualizer'; -import descriptionMd from './VirtualizerDescription.md'; - -export { Default } from './Default.stories'; -export { DefaultUnbounded } from './DefaultUnbounded.stories'; -export { Dynamic } from './Dynamic.stories'; -export { Horizontal } from './Horizontal.stories'; -export { ReversedHorizontal } from './ReversedHorizontal.stories'; -export { Reversed } from './Reversed.stories'; -export { RTL } from './RTL.stories'; -export { MultiUnbounded } from './MultiUnbounded.stories'; - -export default { - title: 'Preview Components/Virtualizer', - component: Virtualizer, - parameters: { - docs: { - description: { - component: [descriptionMd].join('\n'), - }, - }, - }, -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/Default.stories.tsx b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/Default.stories.tsx deleted file mode 100644 index cd501df2b6915..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/Default.stories.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import * as React from 'react'; -import { VirtualizerScrollView } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - child: { - height: '100px', - lineHeight: '100px', - width: '100%', - }, -}); - -export const Default = () => { - const styles = useStyles(); - const childLength = 10000; - - return ( - - {(index: number) => { - return ( -
{`Node-${index}`}
- ); - }} -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/ScrollTo.stories.tsx b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/ScrollTo.stories.tsx deleted file mode 100644 index d9a9a58cb8f1b..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/ScrollTo.stories.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import * as React from 'react'; -import { VirtualizerScrollView } from '@fluentui/react-virtualizer'; -import type { ScrollToInterface } from '@fluentui/react-virtualizer'; -import { Text, Input, makeStyles } from '@fluentui/react-components'; -import { Button } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - child: { - height: '100px', - lineHeight: '100px', - width: '100%', - }, -}); - -export const ScrollTo = () => { - const styles = useStyles(); - const childLength = 1000; - const scrollRef = React.useRef(null); - const [goToIndex, setGoToIndex] = React.useState(0); - const [message, setMessage] = React.useState(''); - - const scrollToIndex = () => { - if (scrollRef?.current?.scrollTo) { - setMessage(`Going to index: ${goToIndex}`); - scrollRef.current.scrollTo(goToIndex, 'smooth', (index: number) => { - setMessage(`Reached index: ${index}`); - }); - } - }; - - const onChangeGoToIndex = (ev?: React.FormEvent) => { - const indexValue = ev ? (ev.currentTarget as HTMLInputElement).value : ''; - const newIndex = Math.min(Math.max(parseInt(indexValue, 10), 0), childLength - 1); - setGoToIndex(newIndex); - }; - - return ( -
- - - {message} - - {(index: number) => { - return ( -
{`Node-${index}`}
- ); - }} -
-
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/SnapToAlignment.stories.tsx b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/SnapToAlignment.stories.tsx deleted file mode 100644 index 40ef03e4dab4e..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/SnapToAlignment.stories.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import * as React from 'react'; -import { VirtualizerScrollView } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - child: { - display: 'flex', - height: '100px', - lineHeight: '100px', - width: '100px', - minWidth: '100px', - }, - container: { - scrollSnapType: 'x mandatory', - }, -}); - -export const SnapToAlignment = () => { - const styles = useStyles(); - const childLength = 100; - - return ( - - {(index: number) => { - return ( -
{`Node-${index}`}
- ); - }} -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/VirtualizerScrollViewAccessibility.md b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/VirtualizerScrollViewAccessibility.md deleted file mode 100644 index c6ac70514fc04..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/VirtualizerScrollViewAccessibility.md +++ /dev/null @@ -1,3 +0,0 @@ -## Accessibility - -When the ScrollView has no focusable children, the container itself should be given `tabIndex: 0` so that it can be scrolled with the keyboard. If it does contain focusable descendants, this is not necessary. diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/VirtualizerScrollViewDescription.md b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/VirtualizerScrollViewDescription.md deleted file mode 100644 index abd58d5aef2f3..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/VirtualizerScrollViewDescription.md +++ /dev/null @@ -1,12 +0,0 @@ - - -> **⚠️ Preview components are considered unstable:** -> -> ```jsx -> -> import { VirtualizerScrollView } from '@fluentui/react-virtualizer'; -> -> ``` -> -> - Features and APIs may change before final release -> - Please contact us if you intend to use this in your product diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/index.stories.ts b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/index.stories.ts deleted file mode 100644 index 0110a824b0ee4..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollView/index.stories.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { VirtualizerScrollView } from '@fluentui/react-virtualizer'; -import descriptionMd from './VirtualizerScrollViewDescription.md'; -import accessibilityMd from './VirtualizerScrollViewAccessibility.md'; - -export { Default } from './Default.stories'; -export { ScrollTo } from './ScrollTo.stories'; -export { SnapToAlignment } from './SnapToAlignment.stories'; - -export default { - title: 'Preview Components/VirtualizerScrollView', - component: VirtualizerScrollView, - parameters: { - docs: { - description: { - component: [descriptionMd, accessibilityMd].join('\n'), - }, - }, - }, -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/AutoMeasure.stories.tsx b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/AutoMeasure.stories.tsx deleted file mode 100644 index 74d1144e1a705..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/AutoMeasure.stories.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import * as React from 'react'; -import { VirtualizerScrollViewDynamic } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - child: { - lineHeight: '25px', - width: '100%', - minHeight: '25px', - }, -}); - -export const AutoMeasure = () => { - const styles = useStyles(); - const childLength = 100; - const minHeight = 25; - const maxHeightIncrease = 55; - // Array size ref stores a list of random num for div sizing and callbacks - const arraySize = React.useRef(new Array(childLength).fill(minHeight)); - - React.useEffect(() => { - // Set random heights on init (to be measured) - for (let i = 0; i < childLength; i++) { - // if (i % 10 == 0) { - if (i < 10) { - arraySize.current[i] = 1000; - } else { - arraySize.current[i] = Math.floor(Math.random() * maxHeightIncrease + minHeight); - } - - // arraySize.current[i] = Math.floor(Math.random() * maxHeightIncrease + minHeight); - } - }, []); - - return ( - - {(index: number) => { - const backgroundColor = index % 2 ? '#CCCCCC' : '#ABABAB'; - return ( -
{`Node-${index} - size: ${arraySize.current[index]}`}
- ); - }} -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/Default.stories.tsx b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/Default.stories.tsx deleted file mode 100644 index ecd85ebe39d1c..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/Default.stories.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import * as React from 'react'; -import { VirtualizerScrollViewDynamic } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - child: { - lineHeight: '42px', - width: '100%', - minHeight: '42px', - }, -}); - -export const Default = () => { - const styles = useStyles(); - const childLength = 10000; - const minHeight = 42; - const maxHeightMod = 150; - // Array size ref stores a list of random num for div sizing and callbacks - const arraySize = React.useRef(new Array(childLength).fill(minHeight)); - // totalSize flag drives our callback update - const [totalSize, setTotalSize] = React.useState(minHeight * childLength); - - React.useEffect(() => { - let _totalSize = 0; - for (let i = 0; i < childLength; i++) { - arraySize.current[i] = Math.floor(Math.random() * maxHeightMod + minHeight); - _totalSize += arraySize.current[i]; - } - setTotalSize(_totalSize); - }, []); - - const getItemSizeCallback = React.useCallback( - (index: number) => { - return arraySize.current[index]; - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [arraySize, totalSize], - ); - - return ( - - {(index: number) => { - const backgroundColor = index % 2 ? '#FFFFFF' : '#ABABAB'; - return ( -
{`Node-${index} - size: ${arraySize.current[index]}`}
- ); - }} -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/ScrollLoading.stories.tsx b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/ScrollLoading.stories.tsx deleted file mode 100644 index 5a3d38ff980bb..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/ScrollLoading.stories.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import * as React from 'react'; -import { VirtualizerScrollViewDynamic } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - child: { - lineHeight: '42px', - width: '100%', - minHeight: '42px', - }, -}); - -export const ScrollLoading = () => { - const styles = useStyles(); - const childLength = 1000; - const minHeight = 42; - // Array size ref stores a list of random num for div sizing and callbacks - const arraySize = React.useRef(new Array(childLength).fill(minHeight)); - // totalSize flag drives our callback update - const [totalSize, setTotalSize] = React.useState(minHeight * childLength); - - React.useEffect(() => { - let _totalSize = 0; - for (let i = 0; i < childLength; i++) { - arraySize.current[i] = Math.random() * 150 + minHeight; - _totalSize += arraySize.current[i]; - } - setTotalSize(_totalSize); - }, []); - - const getItemSizeCallback = React.useCallback( - (index: number) => { - return arraySize.current[index]; - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [arraySize, totalSize], - ); - - return ( - - {(index: number, isScrolling = false) => { - const backgroundColor = index % 2 ? '#FFFFFF' : '#ABABAB'; - return isScrolling ? ( -
LOADING
- ) : ( -
{`Node-${index} - size: ${arraySize.current[index]}`}
- ); - }} -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/ScrollTo.stories.tsx b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/ScrollTo.stories.tsx deleted file mode 100644 index 3d903cf42b9e4..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/ScrollTo.stories.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import * as React from 'react'; -import { VirtualizerScrollViewDynamic } from '@fluentui/react-virtualizer'; -import type { ScrollToInterface } from '@fluentui/react-virtualizer'; -import type { VirtualizerDataRef } from '@fluentui/react-virtualizer'; -import { Button, Input, makeStyles, Text } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - child: { - lineHeight: '42px', - width: '100%', - minHeight: '42px', - }, -}); - -export const ScrollTo = () => { - const styles = useStyles(); - const childLength = 1000; - const minHeight = 42; - // Array size ref stores a list of random num for div sizing and callbacks - const arraySize = React.useRef(new Array(childLength).fill(minHeight)); - // totalSize flag drives our callback update - const [totalSize, setTotalSize] = React.useState(minHeight * childLength); - - const scrollRef = React.useRef(null); - const sizeRef = React.useRef(null); - const [goToIndex, setGoToIndex] = React.useState(0); - const [message, setMessage] = React.useState(''); - - const scrollToIndex = () => { - if (scrollRef?.current?.scrollTo) { - setMessage(`Going to index: ${goToIndex}`); - scrollRef.current.scrollTo(goToIndex, 'smooth', (index: number) => { - setMessage(`Reached index: ${index}`); - }); - } - }; - - const onChangeGoToIndex = (ev?: React.FormEvent) => { - const indexValue = ev ? (ev.currentTarget as HTMLInputElement).value : ''; - const newIndex = Math.min(Math.max(parseInt(indexValue, 10), 0), childLength - 1); - setGoToIndex(newIndex); - }; - - React.useEffect(() => { - let _totalSize = 0; - for (let i = 0; i < childLength; i++) { - arraySize.current[i] = Math.random() * 250 + minHeight; - _totalSize += arraySize.current[i]; - } - setTotalSize(_totalSize); - }, []); - - const getItemSizeCallback = React.useCallback( - (index: number) => { - return arraySize.current[index]; - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [arraySize, totalSize], - ); - - return ( -
- - - {message} - - {(index: number) => { - const backgroundColor = index % 2 ? '#FFFFFF' : '#ABABAB'; - return ( -
{`Node-${index} - size: ${arraySize.current[index]}`}
- ); - }} -
-
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/SnapToAlignment.stories.tsx b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/SnapToAlignment.stories.tsx deleted file mode 100644 index cf64b832489c5..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/SnapToAlignment.stories.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import * as React from 'react'; -import { VirtualizerScrollViewDynamic } from '@fluentui/react-virtualizer'; -import { makeStyles } from '@fluentui/react-components'; - -const useStyles = makeStyles({ - child: { - lineHeight: '42px', - width: '100%', - minHeight: '42px', - scrollSnapType: 'y mandatory', - scrollBehavior: 'auto', - }, -}); - -export const SnapToAlignment = () => { - const styles = useStyles(); - const childLength = 1000; - const minHeight = 42; - const maxHeightIncrease = 150; - // Array size ref stores a list of random num for div sizing and callbacks - const arraySize = React.useRef(new Array(childLength).fill(minHeight)); - - React.useEffect(() => { - // Set random heights on init (to be measured) - for (let i = 0; i < childLength; i++) { - arraySize.current[i] = Math.floor(Math.random() * maxHeightIncrease + minHeight); - } - }, []); - - return ( - - {(index: number) => { - const backgroundColor = index % 2 ? '#FFFFFF' : '#ABABAB'; - return ( -
{`Node-${index} - size: ${arraySize.current[index]}`}
- ); - }} -
- ); -}; diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamicAccessibility.md b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamicAccessibility.md deleted file mode 100644 index c6ac70514fc04..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamicAccessibility.md +++ /dev/null @@ -1,3 +0,0 @@ -## Accessibility - -When the ScrollView has no focusable children, the container itself should be given `tabIndex: 0` so that it can be scrolled with the keyboard. If it does contain focusable descendants, this is not necessary. diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamicDescription.md b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamicDescription.md deleted file mode 100644 index bc2261aa25f03..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/VirtualizerScrollViewDynamicDescription.md +++ /dev/null @@ -1,12 +0,0 @@ - - -> **⚠️ Preview components are considered unstable:** -> -> ```jsx -> -> import { VirtualizerScrollViewDynamic } from '@fluentui/react-virtualizer'; -> -> ``` -> -> - Features and APIs may change before final release -> - Please contact us if you intend to use this in your product diff --git a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/index.stories.ts b/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/index.stories.ts deleted file mode 100644 index 7d9d6866dcddd..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/VirtualizerScrollViewDynamic/index.stories.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { VirtualizerScrollViewDynamic } from '@fluentui/react-virtualizer'; -import descriptionMd from './VirtualizerScrollViewDynamicDescription.md'; -import accessibilityMd from './VirtualizerScrollViewDynamicAccessibility.md'; - -export { AutoMeasure } from './AutoMeasure.stories'; -export { Default } from './Default.stories'; -export { ScrollTo } from './ScrollTo.stories'; -export { ScrollLoading } from './ScrollLoading.stories'; -export { SnapToAlignment } from './SnapToAlignment.stories'; - -export default { - title: 'Preview Components/VirtualizerScrollViewDynamic', - component: VirtualizerScrollViewDynamic, - parameters: { - docs: { - description: { - component: [descriptionMd, accessibilityMd].join('\n'), - }, - }, - }, -}; diff --git a/packages/react-components/react-virtualizer/stories/src/index.ts b/packages/react-components/react-virtualizer/stories/src/index.ts deleted file mode 100644 index cb0ff5c3b541f..0000000000000 --- a/packages/react-components/react-virtualizer/stories/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/react-components/react-virtualizer/stories/tsconfig.json b/packages/react-components/react-virtualizer/stories/tsconfig.json deleted file mode 100644 index efc50169d1df1..0000000000000 --- a/packages/react-components/react-virtualizer/stories/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "extends": "../../../../tsconfig.base.json", - "compilerOptions": { - "target": "ES2019", - "noEmit": true, - "isolatedModules": true, - "importHelpers": true, - "jsx": "react", - "noUnusedLocals": true, - "preserveConstEnums": true - }, - "include": [], - "files": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./.storybook/tsconfig.json" - } - ] -} diff --git a/packages/react-components/react-virtualizer/stories/tsconfig.lib.json b/packages/react-components/react-virtualizer/stories/tsconfig.lib.json deleted file mode 100644 index 9486b224643d9..0000000000000 --- a/packages/react-components/react-virtualizer/stories/tsconfig.lib.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "lib": ["ES2019", "dom"], - "outDir": "../../../../dist/out-tsc", - "inlineSources": true, - "types": ["static-assets", "environment"] - }, - "include": ["./src/**/*.ts", "./src/**/*.tsx"] -} diff --git a/tsconfig.base.all.json b/tsconfig.base.all.json index b6f6c8c72cca9..716d2796a517d 100644 --- a/tsconfig.base.all.json +++ b/tsconfig.base.all.json @@ -244,8 +244,6 @@ "@fluentui/react-utilities-compat-stories": [ "packages/react-components/react-utilities-compat/stories/src/index.ts" ], - "@fluentui/react-virtualizer": ["packages/react-components/react-virtualizer/library/src/index.ts"], - "@fluentui/react-virtualizer-stories": ["packages/react-components/react-virtualizer/stories/src/index.ts"], "@fluentui/recipes": ["packages/react-components/recipes/src/index.ts"], "@fluentui/theme-designer": ["packages/react-components/theme-designer/src/index.ts"], "@fluentui/tokens": ["packages/tokens/src/index.ts"], diff --git a/tsconfig.base.json b/tsconfig.base.json index 91d2ec428a4df..28fcf783f39a2 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -203,8 +203,6 @@ "@fluentui/react-utilities-compat-stories": [ "packages/react-components/react-utilities-compat/stories/src/index.ts" ], - "@fluentui/react-virtualizer": ["packages/react-components/react-virtualizer/library/src/index.ts"], - "@fluentui/react-virtualizer-stories": ["packages/react-components/react-virtualizer/stories/src/index.ts"], "@fluentui/recipes": ["packages/react-components/recipes/src/index.ts"], "@fluentui/theme-designer": ["packages/react-components/theme-designer/src/index.ts"], "@fluentui/tokens": ["packages/tokens/src/index.ts"], diff --git a/yarn.lock b/yarn.lock index 3958cd882012c..b7fc7f2198ba5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2068,6 +2068,17 @@ lodash "^4.17.15" prop-types "^15.7.2" +"@fluentui/react-virtualizer@9.0.0-alpha.102": + version "9.0.0-alpha.102" + resolved "https://registry.yarnpkg.com/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.102.tgz#a39217269e2bedc1c04da42bdd194f86436024e2" + integrity sha512-kt/kuAMTKTTY/00ToUlgUwUCty2HGj4Tnr+fxKRmr7Ziy5VWhi1YoNJ8vcgmxog5J90t4tS29LB0LP0KztQUVg== + dependencies: + "@fluentui/react-jsx-runtime" "^9.1.4" + "@fluentui/react-shared-contexts" "^9.24.1" + "@fluentui/react-utilities" "^9.23.1" + "@griffel/react" "^1.5.22" + "@swc/helpers" "^0.5.1" + "@fluentui/state@^0.66.5": version "0.66.5" resolved "https://registry.yarnpkg.com/@fluentui/state/-/state-0.66.5.tgz#e7abc25d52610736b598e375d2078fec8ab1de29" @@ -19841,7 +19852,7 @@ string-length@^5.0.1: char-regex "^2.0.0" strip-ansi "^7.0.1" -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -19876,15 +19887,6 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -19986,7 +19988,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -20021,13 +20023,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -22085,7 +22080,7 @@ workspace-tools@^0.27.0: js-yaml "^4.1.0" micromatch "^4.0.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -22120,15 +22115,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"