Skip to content

feat(theme): Use React context for <Tabs>, allow custom <TabItem> components#11733

Merged
slorber merged 5 commits intomainfrom
slorber/refactor-tabs-with-context
Feb 12, 2026
Merged

feat(theme): Use React context for <Tabs>, allow custom <TabItem> components#11733
slorber merged 5 commits intomainfrom
slorber/refactor-tabs-with-context

Conversation

@slorber
Copy link
Copy Markdown
Collaborator

@slorber slorber commented Feb 12, 2026

Motivation

The theme <Tabs> component implementation was not very flexible to support many composition patterns, assuming that <TabItem> must be a direct child of <Tabs> to work, relying on element.props.value and cloneElement() clunky APIs.

This PR introduces a context for each <Tabs> so that <TabItem> can be wrapped in more flexible ways.

This required some refactoring that also cleans up a bit of this historically complex component. The component can be further simplified / splitted in follow up PRs.

Fix #11672

Test Plan

CI + unit tests + dogfood + Argos

Test links

https://deploy-preview-11733--docusaurus-2.netlify.app/docs/markdown-features/tabs
https://deploy-preview-11733--docusaurus-2.netlify.app/tests/pages/tabs-tests

@slorber slorber requested a review from Josh-Cena as a code owner February 12, 2026 16:30
@slorber slorber added the pr: new feature This PR adds a new API or behavior. label Feb 12, 2026
@meta-cla meta-cla Bot added the CLA Signed Signed Facebook CLA label Feb 12, 2026
@slorber slorber added the Argos Add this label to run UI visual regression tests. See argos.yml GH action. label Feb 12, 2026
@netlify
Copy link
Copy Markdown

netlify Bot commented Feb 12, 2026

[V2]

Name Link
🔨 Latest commit f330eaf
🔍 Latest deploy log https://app.netlify.com/projects/docusaurus-2/deploys/698e04e719188300088b9c76
😎 Deploy Preview https://deploy-preview-11733--docusaurus-2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 12, 2026

Size Change: +268 B (0%)

Total Size: 11.8 MB

ℹ️ View Unchanged
Filename Size Change
website/.docusaurus/codeTranslations.json 2 B 0 B
website/.docusaurus/docusaurus.config.mjs 29 kB 0 B
website/.docusaurus/globalData.json 38.5 kB 0 B
website/.docusaurus/i18n.json 1.36 kB 0 B
website/.docusaurus/registry.js 177 kB 0 B
website/.docusaurus/routes.js 88.2 kB 0 B
website/.docusaurus/routesChunkNames.json 92.2 kB 0 B
website/.docusaurus/site-metadata.json 2.54 kB 0 B
website/build/assets/css/styles.********.css 145 kB 0 B
website/build/assets/js/main.********.js 747 kB 0 B
website/build/assets/js/runtime~main.********.js 39.1 kB 0 B
website/build/blog.html 77.1 kB 0 B
website/build/blog/2017/12/14/introducing-docusaurus.html 65.5 kB 0 B
website/build/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus.html 44.8 kB +12 B (+0.03%)
website/build/blog/2018/09/11/Towards-Docusaurus-2.html 49.2 kB 0 B
website/build/blog/2018/12/14/Happy-First-Birthday-Slash.html 29 kB 0 B
website/build/blog/2019/12/30/docusaurus-2019-recap.html 40 kB -1 B (0%)
website/build/blog/2020/01/07/tribute-to-endi.html 32.6 kB 0 B
website/build/blog/2021/01/19/docusaurus-2020-recap.html 51.4 kB 0 B
website/build/blog/2021/03/09/releasing-docusaurus-i18n.html 47.4 kB -1 B (0%)
website/build/blog/2021/05/12/announcing-docusaurus-two-beta.html 48 kB 0 B
website/build/blog/2021/11/21/algolia-docsearch-migration.html 54.2 kB +12 B (+0.02%)
website/build/blog/2022/01/24/docusaurus-2021-recap.html 43.3 kB 0 B
website/build/blog/2022/08/01/announcing-docusaurus-2.0.html 133 kB 0 B
website/build/blog/2022/09/01/docusaurus-2.1.html 50.1 kB -1 B (0%)
website/build/blog/archive.html 23.5 kB 0 B
website/build/blog/authors.html 50.3 kB 0 B
website/build/blog/authors/j-marcey.html 70.2 kB 0 B
website/build/blog/authors/josh-cena.html 46.7 kB 0 B
website/build/blog/authors/lex-111.html 55.5 kB 0 B
website/build/blog/authors/slorber.html 80.6 kB 0 B
website/build/blog/authors/slorber/page/2.html 80.7 kB 0 B
website/build/blog/authors/slorber/page/3.html 82.9 kB 0 B
website/build/blog/authors/slorber/page/4.html 97.4 kB 0 B
website/build/blog/authors/slorber/page/5.html 42.2 kB 0 B
website/build/blog/authors/yangshun.html 66.1 kB 0 B
website/build/blog/authors/zpao.html 47.2 kB 0 B
website/build/blog/page/2.html 77.2 kB 0 B
website/build/blog/page/3.html 80.2 kB 0 B
website/build/blog/page/4.html 87.5 kB 0 B
website/build/blog/page/5.html 62.4 kB 0 B
website/build/blog/page/6.html 38 kB 0 B
website/build/blog/preparing-your-site-for-docusaurus-v3.html 125 kB +4 B (0%)
website/build/blog/releases/2.2.html 50.3 kB 0 B
website/build/blog/releases/2.3.html 60.6 kB 0 B
website/build/blog/releases/2.4.html 64.1 kB 0 B
website/build/blog/releases/3.0.html 105 kB 0 B
website/build/blog/releases/3.1.html 53.1 kB +1 B (0%)
website/build/blog/releases/3.2.html 48.9 kB 0 B
website/build/blog/releases/3.3.html 55.9 kB 0 B
website/build/blog/releases/3.4.html 55.1 kB +7 B (+0.01%)
website/build/blog/releases/3.5.html 57.8 kB +1 B (0%)
website/build/blog/releases/3.6.html 76.1 kB +1 B (0%)
website/build/blog/releases/3.7.html 50.6 kB +1 B (0%)
website/build/blog/releases/3.8.html 85.4 kB 0 B
website/build/blog/releases/3.9.html 60.4 kB 0 B
website/build/blog/tags.html 27.2 kB 0 B
website/build/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing.html 123 kB 0 B
website/build/docs.html 48.4 kB 0 B
website/build/docs/advanced.html 30 kB 0 B
website/build/docs/advanced/architecture.html 29.5 kB +4 B (+0.01%)
website/build/docs/advanced/client.html 68.5 kB 0 B
website/build/docs/advanced/plugins.html 54 kB 0 B
website/build/docs/advanced/routing.html 69 kB +8 B (+0.01%)
website/build/docs/advanced/ssg.html 73.1 kB 0 B
website/build/docs/api/docusaurus-config.html 227 kB +10 B (0%)
website/build/docs/api/misc/@docusaurus/eslint-plugin.html 44 kB +4 B (+0.01%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-html-links.html 35.5 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text.html 34.6 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading.html 35.8 kB +4 B (+0.01%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages.html 39.4 kB 0 B
website/build/docs/api/misc/@docusaurus/logger.html 38 kB 0 B
website/build/docs/api/misc/create-docusaurus.html 33.1 kB 0 B
website/build/docs/api/misc/docusaurus-init/index.html 361 B 0 B
website/build/docs/api/plugin-methods.html 64 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/extend-infrastructure.html 58 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/i18n-lifecycles.html 56.4 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/lifecycle-apis.html 157 kB 0 B
website/build/docs/api/plugin-methods/static-methods.html 43.9 kB +4 B (+0.01%)
website/build/docs/api/plugins.html 32.4 kB +4 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-client-redirects.html 58.9 kB +13 B (+0.02%)
website/build/docs/api/plugins/@docusaurus/plugin-content-blog.html 182 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-docs.html 188 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-pages.html 73.3 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-css-cascade-layers.html 46.7 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-debug.html 47.3 kB +12 B (+0.03%)
website/build/docs/api/plugins/@docusaurus/plugin-google-analytics.html 48.8 kB +3 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-google-gtag.html 48.3 kB -4 B (-0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-google-tag-manager.html 47.2 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-ideal-image.html 51 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-pwa.html 115 kB +4 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-rsdoctor.html 40 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-sitemap.html 64.7 kB +6 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-svgr.html 45 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-vercel-analytics.html 40.3 kB +12 B (+0.03%)
website/build/docs/api/themes.html 29.3 kB 0 B
website/build/docs/api/themes/@docusaurus/theme-classic.html 42.6 kB +4 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-live-codeblock.html 35.8 kB +2 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-mermaid.html 34.6 kB +4 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-search-algolia.html 32.4 kB 0 B
website/build/docs/api/themes/configuration.html 246 kB 0 B
website/build/docs/blog.html 198 kB 0 B
website/build/docs/browser-support.html 46.8 kB 0 B
website/build/docs/category/getting-started.html 26.9 kB 0 B
website/build/docs/category/guides.html 35.6 kB 0 B
website/build/docs/cli.html 58.8 kB 0 B
website/build/docs/configuration.html 90.1 kB +7 B (+0.01%)
website/build/docs/create-doc.html 60.3 kB +3 B (0%)
website/build/docs/creating-pages.html 56 kB +1 B (0%)
website/build/docs/deployment.html 210 kB -1 B (0%)
website/build/docs/docs-introduction.html 49.6 kB 0 B
website/build/docs/docs-multi-instance.html 72 kB +4 B (+0.01%)
website/build/docs/docusaurus-core.html 219 kB 0 B
website/build/docs/guides/whats-next.html 32.2 kB 0 B
website/build/docs/i18n/crowdin.html 141 kB +12 B (+0.01%)
website/build/docs/i18n/git.html 75.4 kB +4 B (+0.01%)
website/build/docs/i18n/introduction.html 48.4 kB 0 B
website/build/docs/i18n/tutorial.html 161 kB +4 B (0%)
website/build/docs/installation.html 63.3 kB -2 B (0%)
website/build/docs/introduction/index.html 280 B 0 B
website/build/docs/markdown-features.html 78.5 kB 0 B
website/build/docs/markdown-features/admonitions.html 115 kB +3 B (0%)
website/build/docs/markdown-features/assets.html 84.9 kB +2 B (0%)
website/build/docs/markdown-features/code-blocks.html 215 kB +7 B (0%)
website/build/docs/markdown-features/diagrams.html 53.8 kB +9 B (+0.02%)
website/build/docs/markdown-features/head-metadata.html 50.2 kB 0 B
website/build/docs/markdown-features/links.html 40.3 kB +1 B (0%)
website/build/docs/markdown-features/math-equations.html 88 kB +4 B (0%)
website/build/docs/markdown-features/plugins.html 93.8 kB +8 B (+0.01%)
website/build/docs/markdown-features/react.html 130 kB 0 B
website/build/docs/markdown-features/tabs.html 137 kB 0 B
website/build/docs/markdown-features/toc.html 81.7 kB +4 B (0%)
website/build/docs/migration.html 38.2 kB +4 B (+0.01%)
website/build/docs/migration/v2.html 38.9 kB 0 B
website/build/docs/migration/v2/automated.html 39.3 kB 0 B
website/build/docs/migration/v2/manual.html 185 kB 0 B
website/build/docs/migration/v2/translated-sites.html 50.1 kB 0 B
website/build/docs/migration/v2/versioned-sites.html 58.9 kB +8 B (+0.01%)
website/build/docs/migration/v3.html 187 kB +2 B (0%)
website/build/docs/playground.html 31.1 kB 0 B
website/build/docs/resources/index.html 325 B 0 B
website/build/docs/search.html 121 kB +2 B (0%)
website/build/docs/seo.html 86.3 kB +13 B (+0.02%)
website/build/docs/sidebar.html 133 kB +1 B (0%)
website/build/docs/sidebar/autogenerated.html 143 kB 0 B
website/build/docs/sidebar/items.html 170 kB +1 B (0%)
website/build/docs/sidebar/multiple-sidebars.html 60.8 kB +4 B (+0.01%)
website/build/docs/static-assets.html 50.9 kB +4 B (+0.01%)
website/build/docs/styling-layout.html 133 kB +1 B (0%)
website/build/docs/support/index.html 319 B 0 B
website/build/docs/swizzling.html 109 kB +14 B (+0.01%)
website/build/docs/team/index.html 310 B 0 B
website/build/docs/typescript-support.html 58.9 kB +4 B (+0.01%)
website/build/docs/using-plugins.html 104 kB 0 B
website/build/docs/versioning.html 89.8 kB -2 B (0%)
website/build/index.html 35.5 kB 0 B

compressed-size-action::DOCUSAURUS_INFRA_FASTER

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 12, 2026

⚡️ Lighthouse report for the deploy preview of this PR

URL Performance Accessibility Best Practices SEO Report
/ 🔴 42 🟢 98 🟢 100 🟢 100 Report
/docs/installation 🔴 49 🟢 97 🟢 100 🟢 100 Report
/docs/category/getting-started 🟠 71 🟢 100 🟢 100 🟠 86 Report
/blog 🟠 65 🟢 96 🟢 100 🟠 86 Report
/blog/preparing-your-site-for-docusaurus-v3 🟠 66 🟢 92 🟢 100 🟢 100 Report
/blog/tags/release 🟠 67 🟢 96 🟢 100 🟠 86 Report
/blog/tags 🟠 66 🟢 100 🟢 100 🟠 86 Report

@argos-ci
Copy link
Copy Markdown

argos-ci Bot commented Feb 12, 2026

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) 👍 Changes approved 2 changed Feb 12, 2026, 4:59 PM

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 12, 2026

Size Change: +258 B (0%)

Total Size: 12.3 MB

ℹ️ View Unchanged
Filename Size Change
website/.docusaurus/codeTranslations.json 2 B 0 B
website/.docusaurus/docusaurus.config.mjs 29 kB 0 B
website/.docusaurus/globalData.json 38.5 kB 0 B
website/.docusaurus/i18n.json 1.36 kB 0 B
website/.docusaurus/registry.js 177 kB 0 B
website/.docusaurus/routes.js 88.2 kB 0 B
website/.docusaurus/routesChunkNames.json 92.2 kB 0 B
website/.docusaurus/site-metadata.json 2.38 kB 0 B
website/build/assets/css/styles.********.css 137 kB 0 B
website/build/assets/js/main.********.js 749 kB 0 B
website/build/assets/js/runtime~main.********.js 38.8 kB 0 B
website/build/blog.html 79.8 kB 0 B
website/build/blog/2017/12/14/introducing-docusaurus.html 67.6 kB 0 B
website/build/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus.html 46.7 kB +12 B (+0.03%)
website/build/blog/2018/09/11/Towards-Docusaurus-2.html 51.2 kB 0 B
website/build/blog/2018/12/14/Happy-First-Birthday-Slash.html 30.6 kB 0 B
website/build/blog/2019/12/30/docusaurus-2019-recap.html 41.9 kB -1 B (0%)
website/build/blog/2020/01/07/tribute-to-endi.html 34.2 kB 0 B
website/build/blog/2021/01/19/docusaurus-2020-recap.html 53.5 kB 0 B
website/build/blog/2021/03/09/releasing-docusaurus-i18n.html 49.4 kB -1 B (0%)
website/build/blog/2021/05/12/announcing-docusaurus-two-beta.html 50.1 kB 0 B
website/build/blog/2021/11/21/algolia-docsearch-migration.html 56.5 kB +12 B (+0.02%)
website/build/blog/2022/01/24/docusaurus-2021-recap.html 45.3 kB 0 B
website/build/blog/2022/08/01/announcing-docusaurus-2.0.html 137 kB 0 B
website/build/blog/2022/09/01/docusaurus-2.1.html 52.4 kB -1 B (0%)
website/build/blog/archive.html 24.9 kB 0 B
website/build/blog/authors.html 52.5 kB 0 B
website/build/blog/authors/j-marcey.html 72.8 kB 0 B
website/build/blog/authors/josh-cena.html 48.8 kB 0 B
website/build/blog/authors/lex-111.html 57.9 kB 0 B
website/build/blog/authors/slorber.html 83.5 kB 0 B
website/build/blog/authors/slorber/page/2.html 83.6 kB 0 B
website/build/blog/authors/slorber/page/3.html 85.9 kB 0 B
website/build/blog/authors/slorber/page/4.html 101 kB 0 B
website/build/blog/authors/slorber/page/5.html 44.2 kB 0 B
website/build/blog/authors/yangshun.html 68.8 kB 0 B
website/build/blog/authors/zpao.html 49.3 kB 0 B
website/build/blog/page/2.html 80 kB 0 B
website/build/blog/page/3.html 82.9 kB 0 B
website/build/blog/page/4.html 90.5 kB 0 B
website/build/blog/page/5.html 64.8 kB 0 B
website/build/blog/page/6.html 39.7 kB 0 B
website/build/blog/preparing-your-site-for-docusaurus-v3.html 130 kB -1 B (0%)
website/build/blog/releases/2.2.html 52.5 kB 0 B
website/build/blog/releases/2.3.html 63.1 kB 0 B
website/build/blog/releases/2.4.html 66.8 kB 0 B
website/build/blog/releases/3.0.html 109 kB 0 B
website/build/blog/releases/3.1.html 55.2 kB +1 B (0%)
website/build/blog/releases/3.2.html 51 kB 0 B
website/build/blog/releases/3.3.html 58.3 kB 0 B
website/build/blog/releases/3.4.html 57.4 kB +7 B (+0.01%)
website/build/blog/releases/3.5.html 60.2 kB +1 B (0%)
website/build/blog/releases/3.6.html 79.1 kB +1 B (0%)
website/build/blog/releases/3.7.html 52.9 kB +1 B (0%)
website/build/blog/releases/3.8.html 88.6 kB 0 B
website/build/blog/releases/3.9.html 62.9 kB 0 B
website/build/blog/tags.html 28.9 kB 0 B
website/build/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing.html 127 kB 0 B
website/build/docs.html 50.3 kB 0 B
website/build/docs/advanced.html 31.5 kB 0 B
website/build/docs/advanced/architecture.html 31 kB +4 B (+0.01%)
website/build/docs/advanced/client.html 71.2 kB 0 B
website/build/docs/advanced/plugins.html 56.2 kB 0 B
website/build/docs/advanced/routing.html 71.6 kB +8 B (+0.01%)
website/build/docs/advanced/ssg.html 76.2 kB 0 B
website/build/docs/api/docusaurus-config.html 235 kB +10 B (0%)
website/build/docs/api/misc/@docusaurus/eslint-plugin.html 46.3 kB +4 B (+0.01%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-html-links.html 37.4 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text.html 36.4 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading.html 37.6 kB +4 B (+0.01%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages.html 41.3 kB 0 B
website/build/docs/api/misc/@docusaurus/logger.html 39.7 kB 0 B
website/build/docs/api/misc/create-docusaurus.html 34.7 kB 0 B
website/build/docs/api/misc/docusaurus-init/index.html 361 B 0 B
website/build/docs/api/plugin-methods.html 66.5 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/extend-infrastructure.html 60.4 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/i18n-lifecycles.html 58.6 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/lifecycle-apis.html 162 kB 0 B
website/build/docs/api/plugin-methods/static-methods.html 45.8 kB +4 B (+0.01%)
website/build/docs/api/plugins.html 34 kB +4 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-client-redirects.html 61.6 kB +13 B (+0.02%)
website/build/docs/api/plugins/@docusaurus/plugin-content-blog.html 190 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-docs.html 196 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-pages.html 77 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-css-cascade-layers.html 48.9 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-debug.html 49.5 kB +12 B (+0.02%)
website/build/docs/api/plugins/@docusaurus/plugin-google-analytics.html 51.1 kB +3 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-google-gtag.html 50.6 kB -4 B (-0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-google-tag-manager.html 49.4 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-ideal-image.html 53.5 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-pwa.html 120 kB +4 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-rsdoctor.html 42 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-sitemap.html 67.5 kB +6 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-svgr.html 47.1 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-vercel-analytics.html 42.4 kB +12 B (+0.03%)
website/build/docs/api/themes.html 30.8 kB 0 B
website/build/docs/api/themes/@docusaurus/theme-classic.html 44.6 kB +4 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-live-codeblock.html 37.5 kB +2 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-mermaid.html 36.3 kB +4 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-search-algolia.html 34.1 kB 0 B
website/build/docs/api/themes/configuration.html 258 kB 0 B
website/build/docs/blog.html 204 kB 0 B
website/build/docs/browser-support.html 49.1 kB 0 B
website/build/docs/category/getting-started.html 28.4 kB 0 B
website/build/docs/category/guides.html 37.4 kB 0 B
website/build/docs/cli.html 62.2 kB 0 B
website/build/docs/configuration.html 93.6 kB +7 B (+0.01%)
website/build/docs/create-doc.html 62.8 kB +3 B (0%)
website/build/docs/creating-pages.html 58.4 kB +1 B (0%)
website/build/docs/deployment.html 218 kB -1 B (0%)
website/build/docs/docs-introduction.html 51.9 kB 0 B
website/build/docs/docs-multi-instance.html 75.2 kB +4 B (+0.01%)
website/build/docs/docusaurus-core.html 227 kB 0 B
website/build/docs/guides/whats-next.html 34 kB 0 B
website/build/docs/i18n/crowdin.html 146 kB +12 B (+0.01%)
website/build/docs/i18n/git.html 78.6 kB +4 B (+0.01%)
website/build/docs/i18n/introduction.html 50.6 kB 0 B
website/build/docs/i18n/tutorial.html 168 kB +4 B (0%)
website/build/docs/installation.html 66 kB -2 B (0%)
website/build/docs/introduction/index.html 280 B 0 B
website/build/docs/markdown-features.html 81.5 kB 0 B
website/build/docs/markdown-features/admonitions.html 119 kB +3 B (0%)
website/build/docs/markdown-features/assets.html 88.8 kB +2 B (0%)
website/build/docs/markdown-features/code-blocks.html 223 kB +7 B (0%)
website/build/docs/markdown-features/diagrams.html 56.3 kB +9 B (+0.02%)
website/build/docs/markdown-features/head-metadata.html 52.5 kB 0 B
website/build/docs/markdown-features/links.html 42.3 kB +1 B (0%)
website/build/docs/markdown-features/math-equations.html 91.9 kB +4 B (0%)
website/build/docs/markdown-features/plugins.html 97.5 kB +8 B (+0.01%)
website/build/docs/markdown-features/react.html 136 kB 0 B
website/build/docs/markdown-features/tabs.html 143 kB 0 B
website/build/docs/markdown-features/toc.html 85.2 kB +4 B (0%)
website/build/docs/migration.html 40.1 kB -1 B (0%)
website/build/docs/migration/v2.html 40.7 kB 0 B
website/build/docs/migration/v2/automated.html 41.2 kB 0 B
website/build/docs/migration/v2/manual.html 192 kB 0 B
website/build/docs/migration/v2/translated-sites.html 52.3 kB 0 B
website/build/docs/migration/v2/versioned-sites.html 61.3 kB +8 B (+0.01%)
website/build/docs/migration/v3.html 194 kB +2 B (0%)
website/build/docs/playground.html 32.6 kB 0 B
website/build/docs/resources/index.html 325 B 0 B
website/build/docs/search.html 125 kB +2 B (0%)
website/build/docs/seo.html 90.1 kB +13 B (+0.01%)
website/build/docs/sidebar.html 138 kB +1 B (0%)
website/build/docs/sidebar/autogenerated.html 148 kB 0 B
website/build/docs/sidebar/items.html 177 kB +1 B (0%)
website/build/docs/sidebar/multiple-sidebars.html 63.7 kB +4 B (+0.01%)
website/build/docs/static-assets.html 53.3 kB +4 B (+0.01%)
website/build/docs/styling-layout.html 139 kB +1 B (0%)
website/build/docs/support/index.html 319 B 0 B
website/build/docs/swizzling.html 113 kB +14 B (+0.01%)
website/build/docs/team/index.html 310 B 0 B
website/build/docs/typescript-support.html 61.4 kB +4 B (+0.01%)
website/build/docs/using-plugins.html 108 kB 0 B
website/build/docs/versioning.html 93.6 kB -2 B (0%)
website/build/index.html 37.1 kB 0 B

compressed-size-action::DOCUSAURUS_INFRA_SLOWER

@slorber slorber merged commit 2c6b920 into main Feb 12, 2026
46 checks passed
@slorber slorber deleted the slorber/refactor-tabs-with-context branch February 12, 2026 17:28
@akshatsinha0
Copy link
Copy Markdown
Contributor

akshatsinha0 commented Feb 13, 2026

@slorber
I noticed the Details component has a similar compound pattern where collapse state is trapped inside the parent and children can't access it. Would it make sense to apply the same Context + Provider treatment there (useDetails hook, DetailsProvider, etc.)? Potential pr? Do not wanna overenginner it :), coz the browser's native

Details element might already handles show/hide
automatically

@slorber
Copy link
Copy Markdown
Collaborator Author

slorber commented Feb 13, 2026

@akshatsinha0 I'm not sure I understand what you mean exactly, but I'd rather not refactor this Details component at this point because we want to re-implement this later and get closer to the native details behavior.

Our current implementation has issues, and new browser capabilities are deployed to support collapsing animations without JS.

See also #10055

@akshatsinha0
Copy link
Copy Markdown
Contributor

@akshatsinha0 I'm not sure I understand what you mean exactly, but I'd rather not refactor this Details component at this point because we want to re-implement this later and get closer to the native details behavior.

Our current implementation has issues, and new browser capabilities are deployed to support collapsing animations without JS.

See also #10055

Got it, makes sense ; I was thinking about it from the wrong angle. Checked it out, the CSS only approach using ::details-content transitions is different direction.

@juanitosvq
Copy link
Copy Markdown

It looks like this change broke docusaurus-openapi-docs: PaloAltoNetworks/docusaurus-openapi-docs#1395

sserrata added a commit to PaloAltoNetworks/docusaurus-openapi-docs that referenced this pull request Apr 8, 2026
Docusaurus 3.10.0 refactored the internal Tabs system to use React
context (facebook/docusaurus#11733), breaking all custom tab components.

- Replace useTabs(props) with useTabsContextValue(props) + TabsProvider
- Remove cloneElement hidden prop injection (TabItem self-manages via context)
- Consolidate imports to @docusaurus/theme-common/internal (deep lib/ paths
  are now restricted by the package exports field)
- Update ambient type declarations in theme-classic.d.ts
- Bump Docusaurus peerDeps/devDeps to ^3.10.0

Closes #1395

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sserrata added a commit to PaloAltoNetworks/docusaurus-openapi-docs that referenced this pull request Apr 8, 2026
* fix: update Tabs API for Docusaurus 3.10.0 compatibility

Docusaurus 3.10.0 refactored the internal Tabs system to use React
context (facebook/docusaurus#11733), breaking all custom tab components.

- Replace useTabs(props) with useTabsContextValue(props) + TabsProvider
- Remove cloneElement hidden prop injection (TabItem self-manages via context)
- Consolidate imports to @docusaurus/theme-common/internal (deep lib/ paths
  are now restricted by the package exports field)
- Update ambient type declarations in theme-classic.d.ts
- Bump Docusaurus peerDeps/devDeps to ^3.10.0

Closes #1395

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor: remove unnecessary cloneElement in non-lazy TabContent

With TabItem now self-managing visibility via context, the
cloneElement call that only injected key was dead weight. Render
children directly instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
clementnero added a commit to camunda/camunda-docs that referenced this pull request Apr 12, 2026
…cusaurus 3.10.0 upgrade

@camunda8/docusaurus-theme-openapi-docs 4.6.4 pulls in @docusaurus/* 3.10.0
as transitive dependencies, which introduces a breaking React Context change
in Tabs (facebook/docusaurus#11733) causing SSG failures across all versioned
docs pages (ReactContextError at useDocsPreferredVersionContext).

Additionally, Docusaurus 3.10.0 renamed 'experimental_faster' to 'faster'
in the site config, which is incompatible with 3.9.x.

Pin the OpenAPI packages to exact 4.6.3 and keep Docusaurus at 3.9.2 until
the OpenAPI theme is updated for Docusaurus 3.10.0 compatibility.
Thiladev pushed a commit to Thiladev/effect-fc that referenced this pull request Apr 23, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@docusaurus/core](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fcore/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fcore/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fcore/3.9.2/3.10.0?slim=true) |
| [@docusaurus/module-type-aliases](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-module-type-aliases)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fmodule-type-aliases/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fmodule-type-aliases/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fmodule-type-aliases/3.9.2/3.10.0?slim=true) |
| [@docusaurus/preset-classic](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fpreset-classic/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fpreset-classic/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fpreset-classic/3.9.2/3.10.0?slim=true) |
| [@docusaurus/tsconfig](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-tsconfig)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2ftsconfig/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2ftsconfig/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2ftsconfig/3.9.2/3.10.0?slim=true) |
| [@docusaurus/types](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-types)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2ftypes/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2ftypes/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2ftypes/3.9.2/3.10.0?slim=true) |
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.84.2` → `^0.85.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.84.3/0.85.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.85.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.84.3/0.85.1?slim=true) |

---

### Release Notes

<details>
<summary>facebook/docusaurus (@&#8203;docusaurus/core)</summary>

### [`v3.10.0`](https://github.com/facebook/docusaurus/blob/HEAD/CHANGELOG.md#3100-2026-04-07)

[Compare Source](facebook/docusaurus@v3.9.2...v3.10.0)

##### 🚀 New Feature

- `docusaurus-types`, `docusaurus`
  - [#&#8203;11896](facebook/docusaurus#11896) feat(core): add `future.v4.mdx1CompatDisabledByDefault` flag ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11797](facebook/docusaurus#11797) feat(core): promote `siteConfig.storage` to stable + add `future.v4.siteStorageNamespacing` flag \[Claude] ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11571](facebook/docusaurus#11571) feat(core): support custom html elements in head tags ([@&#8203;lebalz](https://github.com/lebalz))
- `create-docusaurus`
  - [#&#8203;11897](facebook/docusaurus#11897) feat(create-docusaurus): update init template to `.mdx` extension and strict MDX syntax ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11696](facebook/docusaurus#11696) feat(create-docusaurus): Newly initialized TS sites should use "strict: true" ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11611](facebook/docusaurus#11611) feat(create-docusaurus): enable creation in current directory ([@&#8203;Mcheung7272](https://github.com/Mcheung7272))
- Other
  - [#&#8203;11874](facebook/docusaurus#11874) feat(ci): improve npm supply chain security - improve Dependabot config ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11712](facebook/docusaurus#11712) feat(publish): Use trusted publishing (OIDC) for canary releases ([@&#8203;slorber](https://github.com/slorber))
- `create-docusaurus`, `docusaurus-bundler`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-pwa`, `docusaurus-types`, `docusaurus`
  - [#&#8203;11802](facebook/docusaurus#11802) feat(core): Docusaurus Faster is stable + v4 future flag turns it on by default ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-mdx-loader`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11777](facebook/docusaurus#11777) feat(cli): `write-heading-ids` CLI now supports the `--syntax` and `--migrate` options ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-mdx-loader`
  - [#&#8203;11755](facebook/docusaurus#11755) feat(mdx-loader): add support for explicit `headingId` based on MD/MDX comments ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-theme-live-codeblock`, `docusaurus-theme-translations`
  - [#&#8203;11675](facebook/docusaurus#11675) feat(theme-live-codeblock): reset button + wire `position` prop ([@&#8203;NPX2218](https://github.com/NPX2218))
- `docusaurus-theme-classic`, `docusaurus-theme-common`
  - [#&#8203;11734](facebook/docusaurus#11734) feat(theme): Split `<DocCard>`, improve extensibility, better handling of emoji icons, stable classNames ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11733](facebook/docusaurus#11733) feat(theme): Use React context for `<Tabs>`, allow custom `<TabItem>` components ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-faster`, `docusaurus`
  - [#&#8203;11715](facebook/docusaurus#11715) feat(bundler): upgrade to Rspack 1.7, remove useless experimental feature flags ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-plugin-content-pages`
  - [#&#8203;11666](facebook/docusaurus#11666) feat(pages): add support for Markdown file path links ([@&#8203;VedantMadane](https://github.com/VedantMadane))
- `docusaurus-mdx-loader`, `docusaurus-theme-classic`
  - [#&#8203;11642](facebook/docusaurus#11642) feat(mdx-loader): add admonitions directive support for class/id shortcuts ([@&#8203;lebalz](https://github.com/lebalz))
- `docusaurus-theme-classic`
  - [#&#8203;11635](facebook/docusaurus#11635) feat(theme): add MDXComponents/Li to swizzle config ([@&#8203;moskalakamil](https://github.com/moskalakamil))
- `docusaurus-theme-search-algolia`
  - [#&#8203;11581](facebook/docusaurus#11581) feat(theme-search-algolia): allow overriding transformSearchClient ([@&#8203;hugohaggmark](https://github.com/hugohaggmark))
  - [#&#8203;11541](facebook/docusaurus#11541) feat(theme-search-algolia): add support for DocSearch v4.3.2 and new Suggested Questions ([@&#8203;NatanTechofNY](https://github.com/NatanTechofNY))
- `create-docusaurus`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11512](facebook/docusaurus#11512) feat(core): New siteConfig `future.experimental_vcs` API + `future.experimental_faster.gitEagerVcs` flag ([@&#8203;slorber](https://github.com/slorber))

##### 🐛 Bug Fix

- `docusaurus`
  - [#&#8203;11844](facebook/docusaurus#11844) fix(core): fix `url.resolve()` Node.js deprecation warning ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11833](facebook/docusaurus#11833) fix(core): upgrade serve handler min version to for upgrade users to a secure version ([@&#8203;BearAlliance](https://github.com/BearAlliance))
  - [#&#8203;11763](facebook/docusaurus#11763) fix(cli): fix `write-heading-ids` CLI when no files provided ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11693](facebook/docusaurus#11693) fix(core): Remove deprecated experiments.lazyBarrel config for RsPack ([@&#8203;VedikaGupt](https://github.com/VedikaGupt))
  - [#&#8203;11604](facebook/docusaurus#11604) fix(core): webpack aliases shouldn't be created for test files and typedefs ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11603](facebook/docusaurus#11603) fix(core): Fix openBrowser AppleScript support for Arc ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11579](facebook/docusaurus#11579) fix(core): in `isInternalUrl()`, URI protocol scheme detection should implement the spec more strictly ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11550](facebook/docusaurus#11550) fix(core): optimize i18n integration for site builds + improve inference of locale config ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-faster`, `docusaurus`
  - [#&#8203;11817](facebook/docusaurus#11817) fix(faster): upgrade Rspack, fix Yarn PnP support ([@&#8203;slorber](https://github.com/slorber))
- `create-docusaurus`, `docusaurus-logger`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-pwa`, `docusaurus`
  - [#&#8203;11843](facebook/docusaurus#11843) fix(create-docusaurus): fix support for TypeScript 6.0 + fix our CI ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-utils`
  - [#&#8203;11804](facebook/docusaurus#11804) fix(utils): Git Eager VSC should have better DX ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-theme-classic`
  - [#&#8203;11796](facebook/docusaurus#11796) fix(theme): restore copy-text-to-clipboard as lazy fallback for non-secure contexts ([@&#8203;dmoranp](https://github.com/dmoranp))
  - [#&#8203;11513](facebook/docusaurus#11513) fix(a11y): add Space key support for navbar dropdowns ([@&#8203;TheCyperpunk](https://github.com/TheCyperpunk))
  - [#&#8203;11565](facebook/docusaurus#11565) fix(theme): Change code block line from span to div, fix Firefox text selection/copy bug ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-plugin-content-docs`
  - [#&#8203;11794](facebook/docusaurus#11794) fix(content-docs): translate generated-index category titles in pagination links ([@&#8203;dmoranp](https://github.com/dmoranp))
  - [#&#8203;11743](facebook/docusaurus#11743) fix(content-docs): use category key for generated-index translation lookup ([@&#8203;4RH1T3CT0R7](https://github.com/4RH1T3CT0R7))
  - [#&#8203;11616](facebook/docusaurus#11616) fix(docs): breadcrumb APIs only return category/docs items, ignoring links ([@&#8203;Chesars](https://github.com/Chesars))
- `docusaurus-plugin-google-gtag`
  - [#&#8203;11770](facebook/docusaurus#11770) fix(create-docusaurus): update [@&#8203;types/gtag](https://github.com/types/gtag).js to 0.0.20 ([@&#8203;fresh3nough](https://github.com/fresh3nough))
- `docusaurus-theme-search-algolia`
  - [#&#8203;11683](facebook/docusaurus#11683) fix(algolia): upgrade to DocSearch 4.5 + fix types ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11560](facebook/docusaurus#11560) fix(theme-search-algolia): preserve query strings in useSearchResultUrlProcessor ([@&#8203;pyrytakala](https://github.com/pyrytakala))
- `docusaurus-plugin-content-blog`
  - [#&#8203;11736](facebook/docusaurus#11736) fix(content-blog): fix wrong path variable in feed XSLT CSS file validation ([@&#8203;akshatsinha0](https://github.com/akshatsinha0))
  - [#&#8203;11577](facebook/docusaurus#11577) fix(blog): Fix author paginated page url: `/blog/authors/<author>/page/2` ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11562](facebook/docusaurus#11562) chore(blog): refactor blog Content, remove useless `blogListPaginated` attribute ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11559](facebook/docusaurus#11559) fix(content-blog): filter unlisted posts from author pages ([@&#8203;pyrytakala](https://github.com/pyrytakala))
- `docusaurus-theme-classic`, `docusaurus-theme-common`
  - [#&#8203;11713](facebook/docusaurus#11713) fix(a11y): remove `useKeyboardNavigation` hook ([@&#8203;nmggithub](https://github.com/nmggithub))
- `docusaurus-plugin-ideal-image`
  - [#&#8203;11659](facebook/docusaurus#11659) fix(ideal-image): `<IdealImage>` should forward remaining props to the underlying component ([@&#8203;tempoz](https://github.com/tempoz))
- `eslint-plugin`
  - [#&#8203;11587](facebook/docusaurus#11587) fix(eslint-plugin): specify exact type of `no-untranslated-text` rule options ([@&#8203;andreww2012](https://github.com/andreww2012))
- `docusaurus-mdx-loader`
  - [#&#8203;11530](facebook/docusaurus#11530) fix(mdx-loader): fix url.parse deprecation warning on Node 24+ ([@&#8203;kou029w](https://github.com/kou029w))
- `docusaurus-bundler`, `docusaurus-faster`, `docusaurus-theme-mermaid`
  - [#&#8203;11496](facebook/docusaurus#11496) fix(faster): fix server build SWC / browserslist node target ([@&#8203;slorber](https://github.com/slorber))

##### :running\_woman: Performance

- `docusaurus-plugin-content-blog`
  - [#&#8203;11707](facebook/docusaurus#11707) refactor(content-blog): decouple getTagsFile from generateBlogPosts ([@&#8203;garry00107](https://github.com/garry00107))
- `create-docusaurus`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11684](facebook/docusaurus#11684) refactor(create-docusaurus): remove useless dependencies (docusaurus-utils, execa, fs-extra) + simplify some code ([@&#8203;slorber](https://github.com/slorber))
- `create-docusaurus`
  - [#&#8203;11653](facebook/docusaurus#11653) refactor(create-docusaurus): replace lodash with native implementation ([@&#8203;torresgol10](https://github.com/torresgol10))

##### 📝 Documentation

- `docusaurus`
  - [#&#8203;11779](facebook/docusaurus#11779) chore(website): migrate MDX heading ids to comment syntax + upgrade Crowdin parser version ([@&#8203;slorber](https://github.com/slorber))
- Other
  - [#&#8203;11784](facebook/docusaurus#11784) docs(website): change recommended syntax for math equations ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11623](facebook/docusaurus#11623) docs: Add expose-markdown-docusaurus-plugin resource ([@&#8203;FlyNumber](https://github.com/FlyNumber))

##### 🤖 Dependencies

- Other
  - [#&#8203;11886](facebook/docusaurus#11886) chore(deps): bump react-json-view-lite from 2.3.0 to 2.5.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11885](facebook/docusaurus#11885) chore(deps): bump postcss from 8.5.4 to 8.5.8 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11888](facebook/docusaurus#11888) chore(deps): bump lodash from 4.17.23 to 4.18.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11882](facebook/docusaurus#11882) chore(deps): bump [@&#8203;babel/core](https://github.com/babel/core) from 7.28.6 to 7.29.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11880](facebook/docusaurus#11880) chore(deps): bump fs-extra and [@&#8203;types/fs-extra](https://github.com/types/fs-extra) ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11861](facebook/docusaurus#11861) chore(deps): bump preactjs/compressed-size-action from 2.9.0 to 2.9.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11851](facebook/docusaurus#11851) chore(deps): bump handlebars from 4.7.7 to 4.7.9 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11849](facebook/docusaurus#11849) chore(deps): bump convict from 6.2.4 to 6.2.5 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11857](facebook/docusaurus#11857) chore(deps): bump node-forge from 1.3.2 to 1.4.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11838](facebook/docusaurus#11838) chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11822](facebook/docusaurus#11822) chore(deps): bump flatted from 3.3.1 to 3.4.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11810](facebook/docusaurus#11810) chore(deps): bump marocchino/sticky-pull-request-comment from 2.9.4 to 3.0.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11811](facebook/docusaurus#11811) chore(deps): bump treosh/lighthouse-ci-action from 12.6.1 to 12.6.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11813](facebook/docusaurus#11813) chore(deps): bump socket.io-parser from 4.2.4 to 4.2.6 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11806](facebook/docusaurus#11806) chore(deps): bump yauzl from 3.1.3 to 3.2.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11789](facebook/docusaurus#11789) chore(deps): bump actions/dependency-review-action from 4.8.3 to 4.9.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11790](facebook/docusaurus#11790) chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11776](facebook/docusaurus#11776) chore(deps): bump dompurify from 3.2.5 to 3.3.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11768](facebook/docusaurus#11768) chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11774](facebook/docusaurus#11774) chore(deps): bump svgo from 3.2.0 to 3.3.3 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11762](facebook/docusaurus#11762) chore(deps): bump rollup from 2.79.2 to 2.80.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11756](facebook/docusaurus#11756) chore(deps): bump actions/dependency-review-action from 4.8.2 to 4.8.3 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11692](facebook/docusaurus#11692) chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11679](facebook/docusaurus#11679) chore(deps): bump lodash from 4.17.21 to 4.17.23 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11674](facebook/docusaurus#11674) chore(deps): bump actions/setup-node from 6.1.0 to 6.2.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11625](facebook/docusaurus#11625) chore(deps): bump preactjs/compressed-size-action from 2.8.0 to 2.9.0 - pin all remaining GitHub actions ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11608](facebook/docusaurus#11608) chore(deps): bump actions/setup-node from 6.0.0 to 6.1.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11609](facebook/docusaurus#11609) chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11589](facebook/docusaurus#11589) chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11574](facebook/docusaurus#11574) chore(deps): bump node-forge from 1.3.1 to 1.3.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11557](facebook/docusaurus#11557) chore(deps): bump actions/dependency-review-action from 4.8.1 to 4.8.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11569](facebook/docusaurus#11569) chore(deps): bump actions/checkout from 5.0.0 to 6.0.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11551](facebook/docusaurus#11551) chore(deps): bump js-yaml from 4.1.0 to 4.1.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11514](facebook/docusaurus#11514) chore(deps): bump actions/upload-artifact from 4 to 5 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11515](facebook/docusaurus#11515) chore(deps): bump github/codeql-action from 4.30.9 to 4.31.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11504](facebook/docusaurus#11504) chore(deps): bump github/codeql-action from 4.30.8 to 4.30.9 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11503](facebook/docusaurus#11503) chore(deps): bump actions/setup-node from 5.0.0 to 6.0.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
- `docusaurus-bundler`, `docusaurus-mdx-loader`
  - [#&#8203;11717](facebook/docusaurus#11717) chore(deps): bump webpack from 5.95.0 to 5.104.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))

##### 🔧 Maintenance

- Other
  - [#&#8203;11846](facebook/docusaurus#11846) chore(website): disable `mdx1Compat.comments` on our site ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11845](facebook/docusaurus#11845) chore(website): Upgrade to Algolia v4.6 ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11795](facebook/docusaurus#11795) chore(ci): canary/trusted publishing shouldn't use any caching ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11753](facebook/docusaurus#11753) chore: Add basic AGENTS.md ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11639](facebook/docusaurus#11639) test(jest): simplify Jest snapshotPathNormalizer.ts ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11626](facebook/docusaurus#11626) chore(website): upgrade to DocSearch 4.4.0 + fix little website theming issues ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11553](facebook/docusaurus#11553) chore(ci): upgrade Netlify to Node 24 (LTS) + add `git backfill` command ([@&#8203;slorber](https://github.com/slorber))
- `create-docusaurus`, `docusaurus-babel`, `docusaurus-bundler`, `docusaurus-cssnano-preset`, `docusaurus-faster`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-css-cascade-layers`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-rsdoctor`, `docusaurus-plugin-sitemap`, `docusaurus-plugin-svgr`, `docusaurus-plugin-vercel-analytics`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-tsconfig`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`, `stylelint-copyright`
  - [#&#8203;11823](facebook/docusaurus#11823) chore(ci): fixes for the npm trusted publishing workflow ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11819](facebook/docusaurus#11819) chore(ci): add Trusted Publishing release workflow through dispatch action ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-mermaid`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11698](facebook/docusaurus#11698) chore(monorepo): upgrade React packages to v19 ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11702](facebook/docusaurus#11702) chore(monorepo): upgrade to Jest 30 ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`
  - [#&#8203;11697](facebook/docusaurus#11697) chore(monorepo): upgrade React monorepo types to v19 ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-babel`
  - [#&#8203;11586](facebook/docusaurus#11586) chore(deps): remove unused [@&#8203;babel/runtime-corejs3](https://github.com/babel/runtime-corejs3) dependency ([@&#8203;JustinBeckwith](https://github.com/JustinBeckwith))
- `docusaurus-plugin-content-blog`
  - [#&#8203;11564](facebook/docusaurus#11564) test(blog): Add basic tests for blog routes. ([@&#8203;slorber](https://github.com/slorber))

##### :globe\_with\_meridians: Translations

- `docusaurus-theme-translations`
  - [#&#8203;11632](facebook/docusaurus#11632) feat(i18n): add Urdu (ur) default theme translations ([@&#8203;hammadurrehman2006](https://github.com/hammadurrehman2006))
  - [#&#8203;11533](facebook/docusaurus#11533) fix(translations): complete theme translations for Algolia pt-br ([@&#8203;luicfrr](https://github.com/luicfrr))

##### Committers: 41

- Akshat Sinha ([@&#8203;akshatsinha0](https://github.com/akshatsinha0))
- Aleksandar Zgonjan ([@&#8203;acosoft](https://github.com/acosoft))
- Andrew Kazakov ([@&#8203;andreww2012](https://github.com/andreww2012))
- Anukool Pandey ([@&#8203;ANUKOOL324](https://github.com/ANUKOOL324))
- Artem Lytkin ([@&#8203;4RH1T3CT0R7](https://github.com/4RH1T3CT0R7))
- Balthasar Hofer ([@&#8203;lebalz](https://github.com/lebalz))
- Bhoomi Sharma ([@&#8203;Bhoomi070](https://github.com/Bhoomi070))
- Cesar Garcia ([@&#8203;Chesars](https://github.com/Chesars))
- Denny Morán ([@&#8203;dmoranp](https://github.com/dmoranp))
- Dmitriy Rotaenko ([@&#8203;dmitriyrotaenko](https://github.com/dmitriyrotaenko))
- Eoin Shaughnessy ([@&#8203;EoinTrial](https://github.com/EoinTrial))
- Gaurav Sulsule ([@&#8203;garry00107](https://github.com/garry00107))
- Gnana Eswar Gunturu ([@&#8203;GnanaEswarGunturu](https://github.com/GnanaEswarGunturu))
- Hugo Häggmark ([@&#8203;hugohaggmark](https://github.com/hugohaggmark))
- Ivan Torres ([@&#8203;torresgol10](https://github.com/torresgol10))
- Justin Beckwith ([@&#8203;JustinBeckwith](https://github.com/JustinBeckwith))
- Kamil Moskała ([@&#8203;moskalakamil](https://github.com/moskalakamil))
- Kohei Watanabe ([@&#8203;kou029w](https://github.com/kou029w))
- Kuldeep Prasad Mishra ([@&#8203;kmish9685](https://github.com/kmish9685))
- Kunwardeep Singh ([@&#8203;work109677-sudo](https://github.com/work109677-sudo))
- Luiz Carlos ([@&#8203;luicfrr](https://github.com/luicfrr))
- Matthew Cheung ([@&#8203;Mcheung7272](https://github.com/Mcheung7272))
- Max Clayton Clowes ([@&#8203;mcclowes](https://github.com/mcclowes))
- Misrilal ([@&#8203;Misrilal-Sah](https://github.com/Misrilal-Sah))
- Muhammad Hammad ur Rehman ([@&#8203;hammadurrehman2006](https://github.com/hammadurrehman2006))
- Nader Jaber ([@&#8203;FlyNumber](https://github.com/FlyNumber))
- Natan Yagudayev ([@&#8203;NatanTechofNY](https://github.com/NatanTechofNY))
- Neel Bansal ([@&#8203;NPX2218](https://github.com/NPX2218))
- Nick Cacace ([@&#8203;BearAlliance](https://github.com/BearAlliance))
- Noah Gregory ([@&#8203;nmggithub](https://github.com/nmggithub))
- Poetry Of Code ([@&#8203;poetryofcode](https://github.com/poetryofcode))
- Pyry Takala ([@&#8203;pyrytakala](https://github.com/pyrytakala))
- Salman Chishti ([@&#8203;salmanmkc](https://github.com/salmanmkc))
- Sreehari Upas ([@&#8203;SreehariU](https://github.com/SreehariU))
- Sébastien Lorber ([@&#8203;slorber](https://github.com/slorber))
- Vedant Madane ([@&#8203;VedantMadane](https://github.com/VedantMadane))
- Vedika Gupta ([@&#8203;VedikaGupt](https://github.com/VedikaGupt))
- Zoey Greer ([@&#8203;tempoz](https://github.com/tempoz))
- [@&#8203;TheCyperpunk](https://github.com/TheCyperpunk)
- [@&#8203;snikkrs](https://github.com/snikkrs)
- fre$h ([@&#8203;fresh3nough](https://github.com/fresh3nough)

</details>

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.85.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.85.1)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.85.0...@effect/language-service@0.85.1)

##### Patch Changes

- [#&#8203;726](Effect-TS/language-service#726) [`fd4a8da`](Effect-TS/language-service@fd4a8da) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 beta examples and type parsing to match the renamed Context APIs in the latest 4.0.0-beta releases.

- [#&#8203;724](Effect-TS/language-service#724) [`14d5798`](Effect-TS/language-service@14d5798) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Refactor Effect context tracking to use cached node context flags and direct generator lookups.

  This aligns the TypeScript implementation more closely with the TSGo version and simplifies diagnostics that need to detect whether code is inside an Effect generator.

### [`v0.85.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.85.0)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.3...@effect/language-service@0.85.0)

##### Minor Changes

- [#&#8203;720](Effect-TS/language-service#720) [`4229bb9`](Effect-TS/language-service@4229bb9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `nestedEffectGenYield` diagnostic to detect `yield* Effect.gen(...)` inside an existing Effect generator context.

  Example:

  ```ts
  Effect.gen(function* () {
    yield* Effect.gen(function* () {
      yield* Effect.succeed(1);
    });
  });
  ```

- [#&#8203;723](Effect-TS/language-service#723) [`da9cc4b`](Effect-TS/language-service@da9cc4b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectMapFlatten` style diagnostic for `Effect.map(...)` immediately followed by `Effect.flatten` in pipe flows.

  Example:

  ```ts
  import { Effect } from "effect";

  const program = Effect.succeed(1).pipe(
    Effect.map((n) => Effect.succeed(n + 1)),
    Effect.flatten
  );
  ```

- [#&#8203;718](Effect-TS/language-service#718) [`0af7c0f`](Effect-TS/language-service@0af7c0f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `lazyPromiseInEffectSync` diagnostic to catch `Effect.sync(() => Promise...)` patterns and suggest using `Effect.promise` or `Effect.tryPromise` for async work.

  Example:

  ```ts
  Effect.sync(() => Promise.resolve(1));
  ```

- [#&#8203;714](Effect-TS/language-service#714) [`32985b2`](Effect-TS/language-service@32985b2) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `processEnv` and `processEnvInEffect` diagnostics to guide `process.env.*` reads toward Effect `Config` APIs.

  Examples:

  - `process.env.PORT`
  - `process.env["API_KEY"]`

- [#&#8203;721](Effect-TS/language-service#721) [`f05ae89`](Effect-TS/language-service@f05ae89) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `unnecessaryArrowBlock` style diagnostic for arrow functions whose block body only returns an expression.

  Example:

  ```ts
  const trim = (value: string) => {
    return value.trim();
  };
  ```

- [#&#8203;717](Effect-TS/language-service#717) [`b77848a`](Effect-TS/language-service@b77848a) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `newPromise` and `asyncFunction` effect-native diagnostics to report manual `Promise` construction and async function declarations, with guidance toward Effect-based async control flow.

- [#&#8203;722](Effect-TS/language-service#722) [`6f19858`](Effect-TS/language-service@6f19858) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectDoNotation` style diagnostic for `Effect.Do` usage and suggest migrating to `Effect.gen` or `Effect.fn`.

  Example:

  ```ts
  import { pipe } from "effect/Function";
  import { Effect } from "effect";

  const program = pipe(
    Effect.Do,
    Effect.bind("a", () => Effect.succeed(1)),
    Effect.let("b", ({ a }) => a + 1)
  );
  ```

- [#&#8203;716](Effect-TS/language-service#716) [`c3f67b0`](Effect-TS/language-service@c3f67b0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `cryptoRandomUUID` and `cryptoRandomUUIDInEffect` diagnostics for Effect v4 to discourage `crypto.randomUUID()` in favor of the Effect `Random` module, which uses Effect-injected randomness instead of the global crypto implementation.

##### Patch Changes

- [#&#8203;719](Effect-TS/language-service#719) [`d23980a`](Effect-TS/language-service@d23980a) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 beta dependencies to `4.0.0-beta.43` for the language service and v4 harness packages.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4xNCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/effect-fc/pulls/45
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Argos Add this label to run UI visual regression tests. See argos.yml GH action. CLA Signed Signed Facebook CLA pr: new feature This PR adds a new API or behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cannot extend Tabs and TabItem components

3 participants