@docusaurus/theme-classic 0.0.0-5511 → 0.0.0-5521

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,10 +79,11 @@ function TabList({className, block, selectedValue, selectValue, tabValues}) {
79
79
  );
80
80
  }
81
81
  function TabContent({lazy, children, selectedValue}) {
82
- // eslint-disable-next-line no-param-reassign
83
- children = Array.isArray(children) ? children : [children];
82
+ const childTabs = (Array.isArray(children) ? children : [children]).filter(
83
+ Boolean,
84
+ );
84
85
  if (lazy) {
85
- const selectedTabItem = children.find(
86
+ const selectedTabItem = childTabs.find(
86
87
  (tabItem) => tabItem.props.value === selectedValue,
87
88
  );
88
89
  if (!selectedTabItem) {
@@ -93,7 +94,7 @@ function TabContent({lazy, children, selectedValue}) {
93
94
  }
94
95
  return (
95
96
  <div className="margin-top--md">
96
- {children.map((tabItem, i) =>
97
+ {childTabs.map((tabItem, i) =>
97
98
  cloneElement(tabItem, {
98
99
  key: i,
99
100
  hidden: tabItem.props.value !== selectedValue,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-classic",
3
- "version": "0.0.0-5511",
3
+ "version": "0.0.0-5521",
4
4
  "description": "Classic theme for Docusaurus",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/theme-classic.d.ts",
@@ -20,18 +20,18 @@
20
20
  "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@docusaurus/core": "0.0.0-5511",
24
- "@docusaurus/mdx-loader": "0.0.0-5511",
25
- "@docusaurus/module-type-aliases": "0.0.0-5511",
26
- "@docusaurus/plugin-content-blog": "0.0.0-5511",
27
- "@docusaurus/plugin-content-docs": "0.0.0-5511",
28
- "@docusaurus/plugin-content-pages": "0.0.0-5511",
29
- "@docusaurus/theme-common": "0.0.0-5511",
30
- "@docusaurus/theme-translations": "0.0.0-5511",
31
- "@docusaurus/types": "0.0.0-5511",
32
- "@docusaurus/utils": "0.0.0-5511",
33
- "@docusaurus/utils-common": "0.0.0-5511",
34
- "@docusaurus/utils-validation": "0.0.0-5511",
23
+ "@docusaurus/core": "0.0.0-5521",
24
+ "@docusaurus/mdx-loader": "0.0.0-5521",
25
+ "@docusaurus/module-type-aliases": "0.0.0-5521",
26
+ "@docusaurus/plugin-content-blog": "0.0.0-5521",
27
+ "@docusaurus/plugin-content-docs": "0.0.0-5521",
28
+ "@docusaurus/plugin-content-pages": "0.0.0-5521",
29
+ "@docusaurus/theme-common": "0.0.0-5521",
30
+ "@docusaurus/theme-translations": "0.0.0-5521",
31
+ "@docusaurus/types": "0.0.0-5521",
32
+ "@docusaurus/utils": "0.0.0-5521",
33
+ "@docusaurus/utils-common": "0.0.0-5521",
34
+ "@docusaurus/utils-validation": "0.0.0-5521",
35
35
  "@mdx-js/react": "^1.6.22",
36
36
  "clsx": "^1.2.1",
37
37
  "copy-text-to-clipboard": "^3.0.1",
@@ -62,5 +62,5 @@
62
62
  "engines": {
63
63
  "node": ">=16.14"
64
64
  },
65
- "gitHead": "227252d6714939e3a793d70bcd2097b39f7b16cb"
65
+ "gitHead": "9ef11aade496a7ae8d01a8a755680df079737df4"
66
66
  }
@@ -5,11 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {cloneElement} from 'react';
8
+ import React, {cloneElement, type ReactElement} from 'react';
9
9
  import clsx from 'clsx';
10
10
  import {
11
11
  useScrollPositionBlocker,
12
12
  useTabs,
13
+ type TabItemProps,
13
14
  } from '@docusaurus/theme-common/internal';
14
15
  import useIsBrowser from '@docusaurus/useIsBrowser';
15
16
  import type {Props} from '@theme/Tabs';
@@ -109,10 +110,11 @@ function TabContent({
109
110
  children,
110
111
  selectedValue,
111
112
  }: Props & ReturnType<typeof useTabs>) {
112
- // eslint-disable-next-line no-param-reassign
113
- children = Array.isArray(children) ? children : [children];
113
+ const childTabs = (Array.isArray(children) ? children : [children]).filter(
114
+ Boolean,
115
+ ) as ReactElement<TabItemProps>[];
114
116
  if (lazy) {
115
- const selectedTabItem = children.find(
117
+ const selectedTabItem = childTabs.find(
116
118
  (tabItem) => tabItem.props.value === selectedValue,
117
119
  );
118
120
  if (!selectedTabItem) {
@@ -123,7 +125,7 @@ function TabContent({
123
125
  }
124
126
  return (
125
127
  <div className="margin-top--md">
126
- {children.map((tabItem, i) =>
128
+ {childTabs.map((tabItem, i) =>
127
129
  cloneElement(tabItem, {
128
130
  key: i,
129
131
  hidden: tabItem.props.value !== selectedValue,