diff --git a/packages/website/src/components/OptionsSelector.tsx b/packages/website/src/components/OptionsSelector.tsx
index f3a579df30b4..f57f2600f49c 100644
--- a/packages/website/src/components/OptionsSelector.tsx
+++ b/packages/website/src/components/OptionsSelector.tsx
@@ -1,6 +1,11 @@
/* eslint-disable jsx-a11y/label-has-associated-control */
import React, { useCallback } from 'react';
+import {
+ NavbarSecondaryMenuFiller,
+ useWindowSize,
+} from '@docusaurus/theme-common';
+
import Expander from './layout/Expander';
import Dropdown from './inputs/Dropdown';
import Checkbox from './inputs/Checkbox';
@@ -29,7 +34,7 @@ const ASTOptions = [
{ value: 'scope', label: 'Scope' },
] as const;
-function OptionsSelector({
+function OptionsSelectorContent({
state,
setState,
tsVersions,
@@ -154,4 +159,17 @@ function OptionsSelector({
);
}
+function OptionsSelector(props: OptionsSelectorParams): JSX.Element {
+ const windowSize = useWindowSize();
+ if (windowSize === 'mobile') {
+ return (
+
+ );
+ }
+ return ;
+}
+
export default OptionsSelector;
diff --git a/packages/website/src/components/Playground.module.css b/packages/website/src/components/Playground.module.css
index b6c4e1904c03..771da57e32d7 100644
--- a/packages/website/src/components/Playground.module.css
+++ b/packages/website/src/components/Playground.module.css
@@ -88,7 +88,7 @@
}
.options {
- width: 100%;
+ display: none;
}
.tabCode {
diff --git a/packages/website/src/components/layout/Expander.module.css b/packages/website/src/components/layout/Expander.module.css
index bd7df1af6644..28640f9c69ff 100644
--- a/packages/website/src/components/layout/Expander.module.css
+++ b/packages/website/src/components/layout/Expander.module.css
@@ -39,14 +39,14 @@
.arrow {
margin: 0 0.5rem 0 0;
- transform: rotateZ(-90deg);
+ transform: rotateZ(0deg);
transition: transform 250ms ease-in-out;
width: 1rem;
height: 1rem;
}
-.expandedArrow {
- transform: rotateZ(0deg);
+.arrow.expandedArrow {
+ transform: rotateZ(90deg);
}
.children {
diff --git a/packages/website/src/components/layout/Expander.tsx b/packages/website/src/components/layout/Expander.tsx
index 23d632be3b33..247b972d0df2 100644
--- a/packages/website/src/components/layout/Expander.tsx
+++ b/packages/website/src/components/layout/Expander.tsx
@@ -1,4 +1,6 @@
-import React, { useState } from 'react';
+import React from 'react';
+import clsx from 'clsx';
+import { useCollapsible, Collapsible } from '@docusaurus/theme-common';
import styles from './Expander.module.css';
import ArrowIcon from '@site/src/icons/arrow.svg';
@@ -10,23 +12,21 @@ export interface ExpanderProps {
}
function Expander(props: ExpanderProps): JSX.Element {
- const [isExpanded, setIsExpanded] = useState(true);
-
- const handleToggle = (): void => {
- setIsExpanded(!isExpanded);
- };
+ const { collapsed, toggleCollapsed } = useCollapsible({
+ initialState: false,
+ });
return (
-
-