From 0fff6299f9c240fcf482ff374aa6533f3a470b50 Mon Sep 17 00:00:00 2001 From: Phuoc Nguyen Date: Fri, 22 Nov 2019 09:42:22 +0700 Subject: [PATCH 1/5] Add tab --- client/App.jsx | 2 + client/Home.jsx | 7 +++ client/layouts/tab/Cover.jsx | 20 ++++++++ client/layouts/tab/Details.jsx | 91 ++++++++++++++++++++++++++++++++++ 4 files changed, 120 insertions(+) create mode 100644 client/layouts/tab/Cover.jsx create mode 100644 client/layouts/tab/Details.jsx 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; From a9f65f43ccf712d188fbfccb4bd65a20d49fe19c Mon Sep 17 00:00:00 2001 From: Phuoc Nguyen Date: Fri, 22 Nov 2019 11:08:05 +0700 Subject: [PATCH 2/5] Add simple grid --- client/App.jsx | 2 + client/Home.jsx | 7 ++ client/layouts/simple-grid/Cover.jsx | 31 +++++++ client/layouts/simple-grid/Details.jsx | 121 +++++++++++++++++++++++++ 4 files changed, 161 insertions(+) create mode 100644 client/layouts/simple-grid/Cover.jsx create mode 100644 client/layouts/simple-grid/Details.jsx diff --git a/client/App.jsx b/client/App.jsx index 89de98c..739f299 100644 --- a/client/App.jsx +++ b/client/App.jsx @@ -22,6 +22,7 @@ import ProgressBar from './layouts/progress-bar/Details'; import SameHeightColumns from './layouts/same-height-columns/Details'; import Separator from './layouts/separator/Details'; import Sidebar from './layouts/sidebar/Details'; +import SimpleGrid from './layouts/simple-grid/Details'; import Slider from './layouts/slider/Details'; import SplitScreen from './layouts/split-screen/Details'; import StepperInput from './layouts/stepper-input/Details'; @@ -55,6 +56,7 @@ const App = () => { + diff --git a/client/Home.jsx b/client/Home.jsx index 0245be3..fbe9124 100644 --- a/client/Home.jsx +++ b/client/Home.jsx @@ -21,6 +21,7 @@ import ProgressBarCover from './layouts/progress-bar/Cover'; import SameHeightColumnsCover from './layouts/same-height-columns/Cover'; import SeparatorCover from './layouts/separator/Cover'; import SidebarCover from './layouts/sidebar/Cover'; +import SimpleGridCover from './layouts/simple-grid/Cover'; import SliderCover from './layouts/slider/Cover'; import SplitScreenCover from './layouts/split-screen/Cover'; import StepperInputCover from './layouts/stepper-input/Cover'; @@ -217,6 +218,12 @@ const Home = () => {

Separator

+
+ + +

Simple grid

+ +
diff --git a/client/layouts/simple-grid/Cover.jsx b/client/layouts/simple-grid/Cover.jsx new file mode 100644 index 0000000..3789dfe --- /dev/null +++ b/client/layouts/simple-grid/Cover.jsx @@ -0,0 +1,31 @@ +import React from 'react'; + +import Frame from '../../placeholders/Frame'; +import Rectangle from '../../placeholders/Rectangle'; + +const Cover = () => { + return ( + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + ); +}; + +export default Cover; diff --git a/client/layouts/simple-grid/Details.jsx b/client/layouts/simple-grid/Details.jsx new file mode 100644 index 0000000..1c15283 --- /dev/null +++ b/client/layouts/simple-grid/Details.jsx @@ -0,0 +1,121 @@ +import React from 'react'; + +import DetailsLayout from '../../DetailsLayout'; +import BrowserFrame from '../../placeholders/BrowserFrame'; +import Rectangle from '../../placeholders/Rectangle'; +import SampleCode from '../../SampleCode'; + +const Details = () => { + return ( + + +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ } + source={ + +
+ +
25%
+ + +
+ ... +
+
+`} +/> + } + /> + + ); +}; + +export default Details; From 370ad06c8829d8d5cc49f821380975f1caee30ed Mon Sep 17 00:00:00 2001 From: Phuoc Nguyen Date: Fri, 22 Nov 2019 11:46:02 +0700 Subject: [PATCH 3/5] Add split navigation --- client/App.jsx | 2 + client/Home.jsx | 7 +++ client/layouts/split-navigation/Cover.jsx | 20 ++++++++ client/layouts/split-navigation/Details.jsx | 56 +++++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 client/layouts/split-navigation/Cover.jsx create mode 100644 client/layouts/split-navigation/Details.jsx diff --git a/client/App.jsx b/client/App.jsx index 739f299..c50be8d 100644 --- a/client/App.jsx +++ b/client/App.jsx @@ -24,6 +24,7 @@ import Separator from './layouts/separator/Details'; import Sidebar from './layouts/sidebar/Details'; import SimpleGrid from './layouts/simple-grid/Details'; import Slider from './layouts/slider/Details'; +import SplitNavigation from './layouts/split-navigation/Details'; import SplitScreen from './layouts/split-screen/Details'; import StepperInput from './layouts/stepper-input/Details'; import StickyFooter from './layouts/sticky-footer/Details'; @@ -58,6 +59,7 @@ const App = () => { + diff --git a/client/Home.jsx b/client/Home.jsx index fbe9124..2d6b24e 100644 --- a/client/Home.jsx +++ b/client/Home.jsx @@ -23,6 +23,7 @@ import SeparatorCover from './layouts/separator/Cover'; import SidebarCover from './layouts/sidebar/Cover'; import SimpleGridCover from './layouts/simple-grid/Cover'; import SliderCover from './layouts/slider/Cover'; +import SplitNavigationCover from './layouts/split-navigation/Cover'; import SplitScreenCover from './layouts/split-screen/Cover'; import StepperInputCover from './layouts/stepper-input/Cover'; import StickyFooterCover from './layouts/sticky-footer/Cover'; @@ -230,6 +231,12 @@ const Home = () => {

Slider

+
+ + +

Split navigation

+ +
diff --git a/client/layouts/split-navigation/Cover.jsx b/client/layouts/split-navigation/Cover.jsx new file mode 100644 index 0000000..c5fdf44 --- /dev/null +++ b/client/layouts/split-navigation/Cover.jsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import Frame from '../../placeholders/Frame'; +import Rectangle from '../../placeholders/Rectangle'; + +const Cover = () => { + return ( + +
+
+
+
+
+
+
+ + ); +}; + +export default Cover; diff --git a/client/layouts/split-navigation/Details.jsx b/client/layouts/split-navigation/Details.jsx new file mode 100644 index 0000000..d60a1c3 --- /dev/null +++ b/client/layouts/split-navigation/Details.jsx @@ -0,0 +1,56 @@ +import React from 'react'; + +import DetailsLayout from '../../DetailsLayout'; +import BrowserFrame from '../../placeholders/BrowserFrame'; +import Rectangle from '../../placeholders/Rectangle'; +import SampleCode from '../../SampleCode'; + +const Details = () => { + return ( + + +
    +
  • +
  • +
  • +
  • +
+
+ } + source={ + + +
  • + ... +
  • + + +
  • + ... +
  • + +`} +/> + } + /> + + ); +}; + +export default Details; From 92555e70c3dea9dedbb17c7024086d2350afcade Mon Sep 17 00:00:00 2001 From: Phuoc Nguyen Date: Fri, 22 Nov 2019 18:27:44 +0700 Subject: [PATCH 4/5] Block supports justify --- client/placeholders/Block.jsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/client/placeholders/Block.jsx b/client/placeholders/Block.jsx index 56f54e2..d113436 100644 --- a/client/placeholders/Block.jsx +++ b/client/placeholders/Block.jsx @@ -1,11 +1,10 @@ import React from 'react'; import random from '../helpers/random'; -import Rectangle from './Rectangle'; -const Block = ({ numberOfBlocks }) => { +const Block = ({ justify = 'start', numberOfBlocks }) => { return ( -
    +
    { Array(numberOfBlocks).fill(0).map((_, i) => { const s = random(1, 5); From a52cc1ba385c4e2dfc55c8da16a5e07cbddf47df Mon Sep 17 00:00:00 2001 From: Phuoc Nguyen Date: Fri, 22 Nov 2019 18:27:55 +0700 Subject: [PATCH 5/5] Add Wizard --- client/App.jsx | 2 + client/Home.jsx | 7 ++ client/layouts/wizard/Cover.jsx | 32 ++++++++ client/layouts/wizard/Details.jsx | 119 ++++++++++++++++++++++++++++++ 4 files changed, 160 insertions(+) create mode 100644 client/layouts/wizard/Cover.jsx create mode 100644 client/layouts/wizard/Details.jsx diff --git a/client/App.jsx b/client/App.jsx index c50be8d..d946fe7 100644 --- a/client/App.jsx +++ b/client/App.jsx @@ -31,6 +31,7 @@ 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'; +import Wizard from './layouts/wizard/Details'; const App = () => { return ( @@ -66,6 +67,7 @@ const App = () => { + ); diff --git a/client/Home.jsx b/client/Home.jsx index 2d6b24e..7ba61d7 100644 --- a/client/Home.jsx +++ b/client/Home.jsx @@ -30,6 +30,7 @@ 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 WizardCover from './layouts/wizard/Cover'; import Layout from './Layout'; import useDocumentTitle from './hooks/useDocumentTitle'; @@ -255,6 +256,12 @@ const Home = () => {

    Tab

    +
    + + +

    Wizard

    + +
    diff --git a/client/layouts/wizard/Cover.jsx b/client/layouts/wizard/Cover.jsx new file mode 100644 index 0000000..4b18390 --- /dev/null +++ b/client/layouts/wizard/Cover.jsx @@ -0,0 +1,32 @@ +import React from 'react'; + +import Frame from '../../placeholders/Frame'; +import Line from '../../placeholders/Line'; + +const Cover = () => { + return ( + +
    +
    +
    +
    +
    1
    +
    +
    +
    +
    +
    2
    +
    +
    +
    +
    +
    3
    +
    +
    +
    +
    + + ); +}; + +export default Cover; diff --git a/client/layouts/wizard/Details.jsx b/client/layouts/wizard/Details.jsx new file mode 100644 index 0000000..b6b3f4b --- /dev/null +++ b/client/layouts/wizard/Details.jsx @@ -0,0 +1,119 @@ +import React from 'react'; + +import DetailsLayout from '../../DetailsLayout'; +import Block from '../../placeholders/Block'; +import BrowserFrame from '../../placeholders/BrowserFrame'; +import Circle from '../../placeholders/Circle'; +import Line from '../../placeholders/Line'; +import SampleCode from '../../SampleCode'; + +const Details = () => { + return ( + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + } + source={ + + +
    +
    + +
    + + +
    + ... +
    + + +
    +
    + + + ... +
    +
    +`} +/> + } + /> + + ); +}; + +export default Details;