diff --git a/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx b/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx
index 670d538f43ca34f00035fe43a832ee221c869387..6de6f8cd82f8d60eed80a8389c0962aa4658916f 100644
--- a/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx
+++ b/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx
@@ -38,32 +38,31 @@ const splittedCodeJS = `<Dropzone
     uploadButton: {},
   }}
   >
-  {extFiles.map((file) => (
-    <FileMosaic
-      {...file}
-      key={file.id}
-      onDelete={onDelete}
-      onSee={handleSee}
-      onWatch={handleWatch}
-      onAbort={handleAbort}
-      onCancel={handleCancel}
-      resultOnTooltip
-      alwaysActive
-      preview
-      info
-    />
-  ))}
+    {extFiles.map((file) => (
+      <FileMosaic
+        {...file}
+        key={file.id}
+        onDelete={onDelete}
+        onSee={handleSee}
+        onWatch={handleWatch}
+        onAbort={handleAbort}
+        onCancel={handleCancel}
+        resultOnTooltip
+        preview
+        info
+      />
+    ))}
 </Dropzone>
 <FullScreen
   open={imageSrc !== undefined}
   onClose={() => setImageSrc(undefined)}
-  >
+>
   <ImagePreview src={imageSrc} />
 </FullScreen>
 <FullScreen
   open={videoSrc !== undefined}
   onClose={() => setVideoSrc(undefined)}
-  >
+>
   <VideoPreview src={videoSrc} autoPlay controls />
 </FullScreen>`;
 const completeCodeJS = `import {
@@ -72,9 +71,9 @@ const completeCodeJS = `import {
   FullScreen,
   ImagePreview,
   VideoPreview,
- } from "@files-ui/react";
+} from "@files-ui/react";
 
- const BASE_URL =
+const BASE_URL =
  "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503";
 
 export default function AdvancedDropzoneDemo() {
@@ -122,26 +121,26 @@ export default function AdvancedDropzoneDemo() {
  return (
    <>
      <Dropzone
-       onChange={updateFiles}
-       minHeight="195px"
-       value={extFiles}
-       maxFiles={3}
-       // FmaxFileSize={2998000 * 20}
-       label="Drag'n drop files here or click to browse"
-       // accept=".png,image/*, video/*"
-       uploadConfig={{
-         // autoUpload: true
-         url: BASE_URL + "/file/28048465460",
-         cleanOnUpload: true,
+      onChange={updateFiles}
+      minHeight="195px"
+      value={extFiles}
+      maxFiles={3}
+      // FmaxFileSize={2998000 * 20}
+      label="Drag'n drop files here or click to browse"
+      // accept=".png,image/*, video/*"
+      uploadConfig={{
+        // autoUpload: true
+        url: BASE_URL + "/file/28048465460",
+        cleanOnUpload: true,
       }}
-       onUploadStart={handleStart}
-       onUploadFinish={handleFinish}
-       //fakeUpload
-       actionButtons={{
-         position: "after",
-         abortButton: {},
-         deleteButton: {},
-         uploadButton: {},
+      onUploadStart={handleStart}
+      onUploadFinish={handleFinish}
+      //fakeUpload
+      actionButtons={{
+        position: "after",
+        abortButton: {},
+        deleteButton: {},
+        uploadButton: {},
       }}
      >
        {extFiles.map((file) => (
diff --git a/src/pages/demo/AvatarDemoPage.tsx b/src/pages/demo/AvatarDemoPage.tsx
index edc71e4c42769f52c0334f3de7a5388935ab3255..403e3ae202e72f31b7b9e52b72132a48b2b094e1 100644
--- a/src/pages/demo/AvatarDemoPage.tsx
+++ b/src/pages/demo/AvatarDemoPage.tsx
@@ -26,11 +26,24 @@ import DemoAvatarLoading from "../../components/demo-components/avatar-demo/Demo
 import CodeDemoAvatarLoading from "../../components/demo-components/avatar-demo/CodeDemoAvatarLoading";
 import CodeDemoAvatarVariant from "../../components/demo-components/avatar-demo/CodeAvatarVariant";
 import CodeDemoAvatarLabels from "../../components/demo-components/avatar-demo/CodeDemoAvatarLabels";
+import { scrollHandler } from "../../utils/scrollHandler";
 
 interface AvatarDemoPageProps {}
 const AvatarDemoPage: React.FC<AvatarDemoPageProps> = (
   props: AvatarDemoPageProps
 ) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   return (
     <React.Fragment>
       <MainContentContainer>
@@ -221,8 +234,8 @@ const AvatarDemoPage: React.FC<AvatarDemoPageProps> = (
                 not set.
               </li>
               <li>
-                <CodeHighlight>changeLabel</CodeHighlight>: when there is a valid
-                source set.
+                <CodeHighlight>changeLabel</CodeHighlight>: when there is a
+                valid source set.
               </li>
               <li>
                 <CodeHighlight>loadingLabel</CodeHighlight>: when you want to
@@ -261,7 +274,12 @@ const AvatarDemoPage: React.FC<AvatarDemoPageProps> = (
       </MainContentContainer>
 
       <RightMenuContainer>
-        <RightMenu width="240px" items={rightMenuItems} />
+        <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
       </RightMenuContainer>
     </React.Fragment>
   );
diff --git a/src/pages/demo/DropzoneDemoPage.jsx b/src/pages/demo/DropzoneDemoPage.jsx
index 01b4c266d843f490e9b0b48d6e74214b809e44db..96e159c68bd486175a0796f324560ba0a33a15fa 100644
--- a/src/pages/demo/DropzoneDemoPage.jsx
+++ b/src/pages/demo/DropzoneDemoPage.jsx
@@ -39,8 +39,21 @@ import CodeDemoDropzoneClickable from "../../components/demo-components/dropzone
 import CodeDemoDropzoneDropLayer from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneDropLayer";
 import CodeDemoDropzoneBehaviour from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneBehaviour";
 import CodeDemoDropzoneLabel from "../../components/demo-components/dropzone-demo/CodeDropzoneDemoLabel";
+import { scrollHandler } from "../../utils/scrollHandler";
 
 const DropzoneDemoPage = (props) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   return (
     <React.Fragment>
       <MainContentContainer>
@@ -642,7 +655,12 @@ const DropzoneDemoPage = (props) => {
       </MainContentContainer>
 
       <RightMenuContainer>
-        <RightMenu width="240px" items={rightMenuItems} />
+        <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
       </RightMenuContainer>
     </React.Fragment>
   );
diff --git a/src/pages/demo/FileInputButtonDemoPage.tsx b/src/pages/demo/FileInputButtonDemoPage.tsx
index 621353cc67d663faa9d4d4c56f3f0ecd11c0d748..6e4586b3015cbc23b253d515d97cbe70bd3f3ea0 100644
--- a/src/pages/demo/FileInputButtonDemoPage.tsx
+++ b/src/pages/demo/FileInputButtonDemoPage.tsx
@@ -34,11 +34,24 @@ import DemoDropzoneUploading from "../../components/demo-components/dropzone-dem
 import CodeDemoDropzoneUploading from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneUploading";
 import DemoDropzoneActionButtons from "../../components/demo-components/dropzone-demo/DemoDropzoneActionButtons";
 import CodeDemoDropzoneActionButtons from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneActionButtons";
+import { scrollHandler } from "../../utils/scrollHandler";
 
 interface FileInputButtonDemoPageProps {}
 const FileInputButtonDemoPage: React.FC<FileInputButtonDemoPageProps> = (
   props: FileInputButtonDemoPageProps
 ) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   return (
     <React.Fragment>
       <MainContentContainer>
@@ -213,9 +226,10 @@ const FileInputButtonDemoPage: React.FC<FileInputButtonDemoPageProps> = (
           <Alert severity="info">
             <AlertTitle> "fakeUpload" </AlertTitle>
             By giving this prop, the {"<FileInputButton/>"} component will
-            simulate the upload operation by randomly setting the upload status and
-            message on each uploadable <TypeHighlight>ExtFile</TypeHighlight>.
-            It will also set a fake progress.
+            simulate the upload operation by randomly setting the upload status
+            and message on each uploadable{" "}
+            <TypeHighlight>ExtFile</TypeHighlight>. It will also set a fake
+            progress.
           </Alert>
           <br />
           <Alert severity="info">
@@ -453,7 +467,12 @@ const FileInputButtonDemoPage: React.FC<FileInputButtonDemoPageProps> = (
       </MainContentContainer>
 
       <RightMenuContainer>
-        <RightMenu width="240px" items={rightMenuItems} />
+        <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
       </RightMenuContainer>
     </React.Fragment>
   );
diff --git a/src/pages/demo/FullScreenDemoPage.tsx b/src/pages/demo/FullScreenDemoPage.tsx
index aef7d771f00399c926d078a81ffe64b14093d531..18c088163ebb6112aa277e3f4cf44c4e0362dcd8 100644
--- a/src/pages/demo/FullScreenDemoPage.tsx
+++ b/src/pages/demo/FullScreenDemoPage.tsx
@@ -13,10 +13,23 @@ import MainTitle from "../../components/main-title/MainTitle";
 import MainParagraph from "../../components/paragraph-main/MainParagraph";
 import RightMenu from "../../components/RightMenu/RightMenu";
 import AnchorToTab from "../../components/util-components/AnchorToTab";
+import { scrollHandler } from "../../utils/scrollHandler";
 interface FullScreenDemoPageProps {}
 const FullScreenDemoPage: React.FC<FullScreenDemoPageProps> = (
   props: FullScreenDemoPageProps
 ) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   return (
     <React.Fragment>
       <MainContentContainer>
@@ -127,7 +140,12 @@ const FullScreenDemoPage: React.FC<FullScreenDemoPageProps> = (
         </section>
       </MainContentContainer>
       <RightMenuContainer>
-        <RightMenu width="240px" items={rightMenuItems} />
+        <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
       </RightMenuContainer>
     </React.Fragment>
   );
diff --git a/src/pages/download-page/FileDownloadPage.tsx b/src/pages/download-page/FileDownloadPage.tsx
index 8657bba2f0f78db4dc87aa6cdb00caf86ac7d997..ef7e7db102c78cc98fb9e5a2a35529cdb259b067 100644
--- a/src/pages/download-page/FileDownloadPage.tsx
+++ b/src/pages/download-page/FileDownloadPage.tsx
@@ -16,8 +16,21 @@ import MainTitle from "../../components/main-title/MainTitle";
 import MainParagraph from "../../components/paragraph-main/MainParagraph";
 import RightMenu from "../../components/RightMenu/RightMenu";
 import AnchorToTab from "../../components/util-components/AnchorToTab";
+import { scrollHandler } from "../../utils/scrollHandler";
 
 const FileDownloadPage = () => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   return (
     <React.Fragment>
       <MainLayoutPage selectedIndex={9}>
@@ -25,10 +38,8 @@ const FileDownloadPage = () => {
           <MainTitle>File Download</MainTitle>
           <MainParagraph>
             In this page you will find some demos for downloading files with{" "}
-            <CodeHighlight>{"<FileMosaic/>"}</CodeHighlight>{" "}
-            and {" "}
-            <CodeHighlight>{"<FileCard/>"}</CodeHighlight>{" "}
-            components.
+            <CodeHighlight>{"<FileMosaic/>"}</CodeHighlight> and{" "}
+            <CodeHighlight>{"<FileCard/>"}</CodeHighlight> components.
           </MainParagraph>
           <section id="samehost">
             <SubTitle content="Same origin URL" />
@@ -162,7 +173,12 @@ const FileDownloadPage = () => {
       </MainLayoutPage>
 
       <RightMenuContainer>
-        <RightMenu width="240px" items={rightMenuItems} />
+        <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
       </RightMenuContainer>
     </React.Fragment>
   );
diff --git a/src/pages/file-icons/FileIconsPage.jsx b/src/pages/file-icons/FileIconsPage.jsx
index c7032b5f234f94f6cf76d117ee5d14a998f66324..996e48628abb01252d50b364a12581376f57c1e4 100644
--- a/src/pages/file-icons/FileIconsPage.jsx
+++ b/src/pages/file-icons/FileIconsPage.jsx
@@ -12,7 +12,20 @@ import DemoFileMosaicFileIcons from "../../components/demo-components/filemosaic
 import MainLayoutPage from "../../components/layout-pages/MainLayoutPage";
 import AnchorToTab from "../../components/util-components/AnchorToTab";
 import FileCardMosaicSwitch from "../../components/switch/FileCardMosaicSwitch";
+import { scrollHandler } from "../../utils/scrollHandler";
 const FileIconsPage = (props) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   const [component, setComponent] = React.useState("FileMosaic");
   const handleChangeComponent = (newVal) => {
     setComponent(newVal);
@@ -24,11 +37,11 @@ const FileIconsPage = (props) => {
           <MainTitle>File Icons (extensive list)</MainTitle>
           <MainParagraph>
             Both <CodeHighlight>{"<FileMosaic/>"}</CodeHighlight> and{" "}
-            <CodeHighlight>{"<FileCard/>"}</CodeHighlight> components diplay a file icon
-            according to the file mime type. A media type (also known as a
-            Multipurpose Internet Mail Extensions or MIME type) indicates the
-            nature and format of a document, file, or assortment of bytes. You
-            can find more information{" "}
+            <CodeHighlight>{"<FileCard/>"}</CodeHighlight> components diplay a
+            file icon according to the file mime type. A media type (also known
+            as a Multipurpose Internet Mail Extensions or MIME type) indicates
+            the nature and format of a document, file, or assortment of bytes.
+            You can find more information{" "}
             <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">
               here
             </AnchorToTab>
@@ -63,11 +76,15 @@ const FileIconsPage = (props) => {
               <DemoFileMosaicFileIcons card={component === "FileCard"} />
             </Paper>
           </section>
-
-          <RightMenuContainer>
-            <RightMenu width="240px" items={rightMenuItems} />
-          </RightMenuContainer>
         </MainContentContainer>
+        <RightMenuContainer>
+          <RightMenu
+            width="240px"
+            items={rightMenuItems}
+            selectedItemProp={selectedItem}
+            setSelected={setSelectedItem}
+          />
+        </RightMenuContainer>
       </MainLayoutPage>
     </React.Fragment>
   );
diff --git a/src/pages/getting-started/GettingStartedPage.jsx b/src/pages/getting-started/GettingStartedPage.jsx
index 6a545ba15cf9e6d53f0e965dca981224b8a6454a..74d99bd03f64de6dd146260fe76cb3a6aac4ba4b 100644
--- a/src/pages/getting-started/GettingStartedPage.jsx
+++ b/src/pages/getting-started/GettingStartedPage.jsx
@@ -16,7 +16,21 @@ import MainLayoutPage from "../../components/layout-pages/MainLayoutPage";
 import MainContentContainer from "../../components/layout-pages/MainContentContainer";
 import MainTitle from "../../components/main-title/MainTitle";
 import RightMenuContainer from "../../components/layout-pages/RightMenuContainer";
+import { scrollHandler } from "../../utils/scrollHandler";
 const GettingStartedPage = ({ darkModeOn }) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
+
   return (
     <MainLayoutPage selectedIndex={0}>
       <MainContentContainer>
@@ -63,7 +77,12 @@ const GettingStartedPage = ({ darkModeOn }) => {
         </section>
       </MainContentContainer>
       <RightMenuContainer>
-        <RightMenu width="240px" items={rightMenuItems} />
+        <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
       </RightMenuContainer>
     </MainLayoutPage>
   );
diff --git a/src/pages/localization/LocalizationPage.jsx b/src/pages/localization/LocalizationPage.jsx
index 730aa0b6ce76dc2409053b9152e117e497683bb0..e1885031556903f831a6af56c38eddbe0f04d333 100644
--- a/src/pages/localization/LocalizationPage.jsx
+++ b/src/pages/localization/LocalizationPage.jsx
@@ -14,8 +14,21 @@ import FileCardMosaicSwitch from "../../components/switch/FileCardMosaicSwitch";
 import TypeHighlight from "../../components/typeHighlight/TypeHighlight";
 import DemoFileMosaicLocalization from "../../components/demo-components/localization/DemoFileMosaicLocalization";
 import CodeJSFileMosaicLocalization from "../../components/demo-components/localization/CodeJSFileMosaicLocalization";
+import { scrollHandler } from "../../utils/scrollHandler";
 
 const LocalizationPage = (props) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   const [component, setComponent] = React.useState("FileMosaic");
   const handleChangeComponent = (newVal) => {
     setComponent(newVal);
@@ -80,7 +93,12 @@ const LocalizationPage = (props) => {
           </section>
 
           <RightMenuContainer>
-            <RightMenu width="240px" items={rightMenuItems} />
+            <RightMenu
+              width="240px"
+              items={rightMenuItems}
+              selectedItemProp={selectedItem}
+              setSelected={setSelectedItem}
+            />
           </RightMenuContainer>
         </MainContentContainer>
       </MainLayoutPage>
diff --git a/src/pages/server-side/ServerSidePage.tsx b/src/pages/server-side/ServerSidePage.tsx
index ffbd314bde1b9bd41bc1c872752b24fbbb09e468..4252902e75ac3c9c6bb7ee31bce585b800495eba 100644
--- a/src/pages/server-side/ServerSidePage.tsx
+++ b/src/pages/server-side/ServerSidePage.tsx
@@ -13,7 +13,20 @@ import RightMenu from "../../components/RightMenu/RightMenu";
 import AnchorToTab from "../../components/util-components/AnchorToTab";
 import { FileMosaic } from "../../files-ui";
 import { redirect } from "../../utils/redirect";
+import { scrollHandler } from "../../utils/scrollHandler";
 const ServerSidePage = () => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   return (
     <React.Fragment>
       <MainLayoutPage selectedIndex={6}>
@@ -63,12 +76,9 @@ const ServerSidePage = () => {
                   link
                 </AnchorToTab>
                 .
-
-
-
               </DescParagraph>
             </Paper>
-            <CodeDemoServerSideExpress splittedOnly/>
+            <CodeDemoServerSideExpress splittedOnly />
           </section>
           <section id="springboot">
             <SubTitle content="Java - Spring boot" />{" "}
@@ -101,12 +111,18 @@ const ServerSidePage = () => {
                 .
               </DescParagraph>
             </Paper>
-            <CodeDemoServerSideJava splittedOnly/>
+            <CodeDemoServerSideJava splittedOnly />
           </section>
         </MainContentContainer>
         <RightMenuContainer>
-          <RightMenu width="240px" items={rightMenuItems} />
+          <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
         </RightMenuContainer>
+        
       </MainLayoutPage>
     </React.Fragment>
   );
@@ -132,7 +148,6 @@ const logoExpress = {
   type: "image/png",
   imageUrl: "/serverside/nodeexpress.jpg",
   name: "Click me!",
-
 };
 
 const logoJava = {
diff --git a/src/pages/types-page/TypesPage.jsx b/src/pages/types-page/TypesPage.jsx
index 9f9f73223059d23d218cd803621b99c8c6da06b3..90bdd76b474d8e0681b2ea66f7be558d5029b102 100644
--- a/src/pages/types-page/TypesPage.jsx
+++ b/src/pages/types-page/TypesPage.jsx
@@ -17,6 +17,7 @@ import { HeaderConfigAPIRows } from "../../data/HeaderConfigAPIRows";
 import { ServerResponseAPIRows } from "../../data/ServerResponseAPIRows";
 import { UploadConfigAPIRows } from "../../data/UploadConfigAPIRows";
 import { ValidateFileResponseAPIrows } from "../../data/ValidateFileResponseAPIrows";
+import { scrollHandler } from "../../utils/scrollHandler";
 import PropsTableApi from "../api/PropsTableApi";
 
 const rightMenuItems = [
@@ -68,6 +69,19 @@ const rightMenuItems = [
 ];
 
 const TypesPage = (props) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
+
   return (
     <React.Fragment>
       <MainLayoutPage selectedIndex={7}>
@@ -165,7 +179,12 @@ const TypesPage = (props) => {
         </MainContentContainer>
       </MainLayoutPage>{" "}
       <RightMenuContainer>
-        <RightMenu width="240px" items={rightMenuItems} />
+        <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
       </RightMenuContainer>
     </React.Fragment>
   );
diff --git a/src/pages/usage/UsagePage.jsx b/src/pages/usage/UsagePage.jsx
index 33ace5eeef67d58c1792373ca2cfbeb59c6a775b..f1193068bf5fc8fc1182ce88baa0e9841907f40d 100644
--- a/src/pages/usage/UsagePage.jsx
+++ b/src/pages/usage/UsagePage.jsx
@@ -12,6 +12,7 @@ import AdvancedDropzoneCodeJS from "../../components/demo-components/dropzone-de
 import RightMenuContainer from "../../components/layout-pages/RightMenuContainer";
 import MainContentContainer from "../../components/layout-pages/MainContentContainer";
 import MainTitle from "../../components/main-title/MainTitle";
+import { scrollHandler } from "../../utils/scrollHandler";
 const rightMenuItems = [
   { id: 0, label: "Quick start", referTo: "/usage#quick-start" },
   {
@@ -21,6 +22,18 @@ const rightMenuItems = [
   },
 ];
 const UsagePage = (props) => {
+  const [selectedItem, setSelectedItem] = React.useState(0);
+
+  React.useEffect(() => {
+    window.addEventListener("scroll", () =>
+      scrollHandler(rightMenuItems, setSelectedItem)
+    );
+    return () => {
+      window.removeEventListener("scroll", () =>
+        scrollHandler(rightMenuItems, setSelectedItem)
+      );
+    };
+  }, []);
   return (
     <MainLayoutPage selectedIndex={1}>
       <MainContentContainer>
@@ -54,21 +67,21 @@ const UsagePage = (props) => {
             demo below. Try adding the <CodeHighlight>accept</CodeHighlight>{" "}
             prop to the Dropzone to see the changes:
           </DescParagraph>
-          {/*   <iframe
-          title="codesandbox"
-          src="https://codesandbox.io/embed/dropzone-ui-basic-3j01v"
-          //src="https://codesandbox.io/embed/u9sy1h?hidenavigation=1&amp;fontsize=14&amp;view=preview"
-          //src="https://codesandbox.io/s/material-ui-u9sy1h"
-          style={{
-            width: "100%",
-            height: "500px",
-            border: "0px none",
-            borderRadius: "4px",
-            overflow: "hidden",
-          }}
-          allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
-          sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
-        ></iframe> */}
+          <iframe
+            title="codesandbox"
+            src="https://codesandbox.io/embed/dropzone-ui-basic-3j01v"
+            //src="https://codesandbox.io/embed/u9sy1h?hidenavigation=1&amp;fontsize=14&amp;view=preview"
+            //src="https://codesandbox.io/s/material-ui-u9sy1h"
+            style={{
+              width: "100%",
+              height: "500px",
+              border: "0px none",
+              borderRadius: "4px",
+              overflow: "hidden",
+            }}
+            allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
+            sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
+          ></iframe>
         </section>
 
         <section id="advanced-example">
@@ -100,7 +113,12 @@ const UsagePage = (props) => {
       </MainContentContainer>
 
       <RightMenuContainer>
-        <RightMenu width="240px" items={rightMenuItems} />
+        <RightMenu
+          width="240px"
+          items={rightMenuItems}
+          selectedItemProp={selectedItem}
+          setSelected={setSelectedItem}
+        />
       </RightMenuContainer>
     </MainLayoutPage>
   );