diff --git a/client/App.jsx b/client/App.jsx
index 8bd9b9c..89de98c 100644
--- a/client/App.jsx
+++ b/client/App.jsx
@@ -28,6 +28,7 @@ import StepperInput from './layouts/stepper-input/Details';
import StickyFooter from './layouts/sticky-footer/Details';
import StickyHeader from './layouts/sticky-header/Details';
import Switch from './layouts/switch/Details';
+import Tab from './layouts/tab/Details';
const App = () => {
return (
@@ -60,6 +61,7 @@ const App = () => {
+
);
diff --git a/client/Home.jsx b/client/Home.jsx
index 5a22326..0245be3 100644
--- a/client/Home.jsx
+++ b/client/Home.jsx
@@ -27,6 +27,7 @@ import StepperInputCover from './layouts/stepper-input/Cover';
import StickyFooterCover from './layouts/sticky-footer/Cover';
import StickyHeaderCover from './layouts/sticky-header/Cover';
import SwitchCover from './layouts/switch/Cover';
+import TabCover from './layouts/tab/Cover';
import Layout from './Layout';
import useDocumentTitle from './hooks/useDocumentTitle';
@@ -234,6 +235,12 @@ const Home = () => {
Switch
+
+
+
+
Tab
+
+
diff --git a/client/layouts/tab/Cover.jsx b/client/layouts/tab/Cover.jsx
new file mode 100644
index 0000000..3a9c7d8
--- /dev/null
+++ b/client/layouts/tab/Cover.jsx
@@ -0,0 +1,20 @@
+import React from 'react';
+
+import Circle from '../../placeholders/Circle';
+import Frame from '../../placeholders/Frame';
+
+const Cover = () => {
+ return (
+
+
+
+ );
+};
+
+export default Cover;
diff --git a/client/layouts/tab/Details.jsx b/client/layouts/tab/Details.jsx
new file mode 100644
index 0000000..52563c4
--- /dev/null
+++ b/client/layouts/tab/Details.jsx
@@ -0,0 +1,91 @@
+import React, { useState } from 'react';
+
+import DetailsLayout from '../../DetailsLayout';
+import BrowserFrame from '../../placeholders/BrowserFrame';
+import Rectangle from '../../placeholders/Rectangle';
+import SampleCode from '../../SampleCode';
+
+const Details = () => {
+ const [activeTab, setActiveTab] = useState(0);
+
+ const Tab = ({ tabIndex, children }) => {
+ const isActive = tabIndex === activeTab;
+ const click = () => setActiveTab(tabIndex);
+ return (
+
+ {children}
+
+ );
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ source={
+
+
+
+ ...
+
+
+
+
+ ...
+
+
+`}
+/>
+ }
+ />
+
+ );
+};
+
+export default Details;