From 357fe8dd1c8aed857cb864e5fd6f9a577a91081b Mon Sep 17 00:00:00 2001 From: avivkeller Date: Wed, 29 Jul 2026 12:00:15 -0700 Subject: [PATCH] fix(ui): always mount code tabs --- .changeset/chubby-bats-work.md | 5 +++++ packages/ui-components/src/Common/CodeTabs/index.module.css | 5 +++++ packages/ui-components/src/MDX/CodeTabs.tsx | 6 +++++- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .changeset/chubby-bats-work.md diff --git a/.changeset/chubby-bats-work.md b/.changeset/chubby-bats-work.md new file mode 100644 index 0000000000000..5d023924f287f --- /dev/null +++ b/.changeset/chubby-bats-work.md @@ -0,0 +1,5 @@ +--- +'@node-core/ui-components': patch +--- + +Always mount CodeTabs, even when inactive diff --git a/packages/ui-components/src/Common/CodeTabs/index.module.css b/packages/ui-components/src/Common/CodeTabs/index.module.css index 5f738303ceff0..6b5748064f3c8 100644 --- a/packages/ui-components/src/Common/CodeTabs/index.module.css +++ b/packages/ui-components/src/Common/CodeTabs/index.module.css @@ -1,6 +1,11 @@ @reference "../../styles/index.css"; .root { + /* `forceMount` keeps every panel in the DOM, so hide the inactive ones here */ + > [role='tabpanel'][data-state='inactive'] { + @apply hidden; + } + > [role='tabpanel'] > :first-child { @apply rounded-t-none; } diff --git a/packages/ui-components/src/MDX/CodeTabs.tsx b/packages/ui-components/src/MDX/CodeTabs.tsx index 1861f7e7d5736..a4092ae6ece73 100644 --- a/packages/ui-components/src/MDX/CodeTabs.tsx +++ b/packages/ui-components/src/MDX/CodeTabs.tsx @@ -57,7 +57,11 @@ const MDXCodeTabs: FC = ({ {...props} > {languages.map((_, index) => ( - + {codes[index]} ))}