diff --git a/client/App.jsx b/client/App.jsx
index f211598..c11643c 100644
--- a/client/App.jsx
+++ b/client/App.jsx
@@ -11,6 +11,7 @@ import InputAddon from './layouts/input-add-on/Details';
import MediaObject from './layouts/media-object/Details';
import Menu from './layouts/menu/Details';
import PreviousNextButtons from './layouts/previous-next-buttons/Details';
+import ProgressBar from './layouts/progress-bar/Details';
import SameHeightColumns from './layouts/same-height-columns/Details';
import Sidebar from './layouts/sidebar/Details';
import SplitScreen from './layouts/split-screen/Details';
@@ -32,6 +33,7 @@ const App = () => {
+
diff --git a/client/Home.jsx b/client/Home.jsx
index 5b33cef..b4900dd 100644
--- a/client/Home.jsx
+++ b/client/Home.jsx
@@ -10,6 +10,7 @@ import InputAddonCover from './layouts/input-add-on/Cover';
import MediaObjectCover from './layouts/media-object/Cover';
import MenuCover from './layouts/menu/Cover';
import PreviousNextButtonCover from './layouts/previous-next-buttons/Cover';
+import ProgressBarCover from './layouts/progress-bar/Cover';
import SameHeightColumnsCover from './layouts/same-height-columns/Cover';
import SidebarCover from './layouts/sidebar/Cover';
import SplitScreenCover from './layouts/split-screen/Cover';
@@ -125,6 +126,12 @@ const Home = () => {
Previous next buttons
+
diff --git a/client/layouts/progress-bar/Cover.jsx b/client/layouts/progress-bar/Cover.jsx
new file mode 100644
index 0000000..78bc62e
--- /dev/null
+++ b/client/layouts/progress-bar/Cover.jsx
@@ -0,0 +1,17 @@
+import React from 'react';
+
+import Frame from '../../placeholders/Frame';
+
+const Cover = () => {
+ return (
+
+
+
+ );
+};
+
+export default Cover;
diff --git a/client/layouts/progress-bar/Details.jsx b/client/layouts/progress-bar/Details.jsx
new file mode 100644
index 0000000..072964c
--- /dev/null
+++ b/client/layouts/progress-bar/Details.jsx
@@ -0,0 +1,68 @@
+import React, { useState } from 'react';
+
+import DetailsLayout from '../../DetailsLayout';
+import BrowserFrame from '../../placeholders/BrowserFrame';
+import SampleCode from '../../SampleCode';
+import useDocumentTitle from '../../useDocumentTitle';
+import useInterval from '../../hooks/useInterval';
+
+const Details = () => {
+ useDocumentTitle('CSS Layout ∙ Progress bar');
+ const [progress, setProgress] = useState(0);
+ useInterval(() => {
+ setProgress(v => v === 100 ? 0 : v + 1);
+ }, 1 * 100);
+
+ return (
+
+ Progress bar
+
+
+
+ }
+ source={
+
+
+
+ 40%
+
+
+`}
+/>
+ }
+ />
+
+ );
+};
+
+export default Details;