diff --git a/src/App.module.css b/src/App.module.css index 547ec64..6a2138a 100644 --- a/src/App.module.css +++ b/src/App.module.css @@ -1,9 +1,20 @@ .appContainer { height: 100vh; width: 100%; + overflow: hidden; } -.mainContent { +.mobileMenu { + height: 100vh; + width: 0; + position: fixed; + z-index: 20; + top: 0; + right: 0; + background: white; + overflow-x: hidden; + transition: 0.15s ease-out; + box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2); } /* Large - Landscape Tablets / Desktops */ @@ -14,7 +25,34 @@ .appContainer { max-width: 1200px; margin: 0 auto; - background-color: blue; + } + + .mobileContent { + display: none; + } + + .mainContent { + display: flex; + } + + .alphaZone { + flex: 1; + } + + .betaZone { + flex: 1; + } + + .colorPickerContainer { + } + + .colorValuesContainer { + } + + .paletteEditorContainer { + } + + .paletteLibraryContainer { } } @@ -22,7 +60,63 @@ /* Horizontal layout, side menu, vertical tabbed picker */ @media (min-width: 568px) and (max-width: 991px) and (orientation: landscape) { .appContainer { - background-color: yellow; + } + + .mainContent, + .mobileTopNav { + display: none; + } + + .mobileContent { + display: flex; + } + + .mobileLeftNav { + } + + .mobileRightNav { + } + + .mobileAlphaZone { + flex: 1; + } + + .mobileBetaZone { + flex: 1; + } + + .mobileMenu { + } + + .mobileMenu.open { + width: 80vh; + } + + .mobileMenu .closeButton { + margin: 10px; + } + + .tabbedContainer { + max-height: 100vh; + overflow-y: scroll; + scroll-snap-type: y mandatory; + } + + .tabbedContainer .tab { + height: 100vh; + scroll-snap-align: start; + } + + .colorPickerContainer { + } + + .colorValuesContainer { + } + + .paletteEditorContainer { + } + + .paletteLibraryContainer { } } @@ -30,6 +124,62 @@ /* Vertical layout, side menu, horizontal tabbed picker */ @media (max-width: 567px) { .appContainer { - background-color: red; + } + + .mainContent, + .mobileRightNav, + .mobileLeftNav { + display: none; + } + + .mobileContent { + } + + .mobileTopNav { + display: flex; + } + + .menuButton { + margin-left: auto; + } + + .mobileAlphaZone { + } + + .mobileBetaZone { + } + + .mobileMenu { + } + + .mobileMenu.open { + width: 80%; + } + + .mobileMenu .closeButton { + margin: 10px; + } + + .tabbedContainer { + display: flex; + overflow-x: scroll; + scroll-snap-type: x mandatory; + } + + .tabbedContainer .tab { + min-width: 100vw; + scroll-snap-align: start; + } + + .colorPickerContainer { + } + + .colorValuesContainer { + } + + .paletteEditorContainer { + } + + .paletteLibraryContainer { } } diff --git a/src/App.tsx b/src/App.tsx index 2bfc2b7..65b8c86 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,7 +1,67 @@ +import { useState } from "react"; import styles from "./App.module.css"; +import ColorPicker from "./components/ColorPicker/ColorPicker"; +import ColorValues from "./components/ColorValues/ColorValues"; +import clsx from "clsx"; function App() { - return
; + const [menuOpen, setMenuOpen] = useState(false); + + const toggleMenu = () => setMenuOpen(!menuOpen); + const MenuButton = () => ( + + ); + + return ( +
+
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+ +
Palette Library
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+ ); } export default App; diff --git a/src/components/ColorPicker/ColorPicker.module.css b/src/components/ColorPicker/ColorPicker.module.css index e69de29..7bac3df 100644 --- a/src/components/ColorPicker/ColorPicker.module.css +++ b/src/components/ColorPicker/ColorPicker.module.css @@ -0,0 +1,36 @@ +.container { + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; +} + +.pickerSquare { + flex: 1; +} + +.pickerBar { + flex: 1; +} + +/* Large - Landscape Tablets / Desktops */ +/* Medium - Portrait Tablets */ +/* Horizontal layout, vertically scrolling picker and palette content */ +@media (min-width: 992px), + (min-width: 568px) and (max-width: 991px) and (orientation: portrait) { +} + +/* Medium - Landscape Phones */ +/* Horizontal layout, side menu, vertical tabbed picker */ +@media (min-width: 568px) and (max-width: 991px) and (orientation: landscape) { + .container { + flex-direction: row; + } +} + +/* Small - Portrait Phones*/ +/* Vertical layout, side menu, horizontal tabbed picker */ +@media (max-width: 567px) { +} diff --git a/src/components/ColorPicker/ColorPicker.tsx b/src/components/ColorPicker/ColorPicker.tsx index e69de29..e758c8e 100644 --- a/src/components/ColorPicker/ColorPicker.tsx +++ b/src/components/ColorPicker/ColorPicker.tsx @@ -0,0 +1,12 @@ +import styles from "./ColorPicker.module.css"; + +function ColorPicker() { + return ( +
+
Square
+
Bar
+
+ ); +} + +export default ColorPicker; diff --git a/src/components/ColorValues/ColorValues.module.css b/src/components/ColorValues/ColorValues.module.css index e69de29..28553a2 100644 --- a/src/components/ColorValues/ColorValues.module.css +++ b/src/components/ColorValues/ColorValues.module.css @@ -0,0 +1,24 @@ +.container { + width: 100%; + height: 100%; +} + +.valueItem { +} + +/* Large - Landscape Tablets / Desktops */ +/* Medium - Portrait Tablets */ +/* Horizontal layout, vertically scrolling picker and palette content */ +@media (min-width: 992px), + (min-width: 568px) and (max-width: 991px) and (orientation: portrait) { +} + +/* Medium - Landscape Phones */ +/* Horizontal layout, side menu, vertical tabbed picker */ +@media (min-width: 568px) and (max-width: 991px) and (orientation: landscape) { +} + +/* Small - Portrait Phones*/ +/* Vertical layout, side menu, horizontal tabbed picker */ +@media (max-width: 567px) { +} diff --git a/src/components/ColorValues/ColorValues.tsx b/src/components/ColorValues/ColorValues.tsx index e69de29..0a09878 100644 --- a/src/components/ColorValues/ColorValues.tsx +++ b/src/components/ColorValues/ColorValues.tsx @@ -0,0 +1,13 @@ +import styles from "./ColorValues.module.css"; + +function ColorValues() { + return ( +
+
RGB: 255, 0, 0
+
HEX: #FF0000
+
HSL: 0, 100%, 50%
+
+ ); +} + +export default ColorValues; diff --git a/src/components/Footer/Footer.module.css b/src/components/Footer/Footer.module.css index e69de29..0d3320e 100644 --- a/src/components/Footer/Footer.module.css +++ b/src/components/Footer/Footer.module.css @@ -0,0 +1,16 @@ +/* Large - Landscape Tablets / Desktops */ +/* Medium - Portrait Tablets */ +/* Horizontal layout, vertically scrolling picker and palette content */ +@media (min-width: 992px), + (min-width: 568px) and (max-width: 991px) and (orientation: portrait) { +} + +/* Medium - Landscape Phones */ +/* Horizontal layout, side menu, vertical tabbed picker */ +@media (min-width: 568px) and (max-width: 991px) and (orientation: landscape) { +} + +/* Small - Portrait Phones*/ +/* Vertical layout, side menu, horizontal tabbed picker */ +@media (max-width: 567px) { +} diff --git a/src/components/PaletteEditor/PaletteEditor.module.css b/src/components/PaletteEditor/PaletteEditor.module.css index e69de29..0d3320e 100644 --- a/src/components/PaletteEditor/PaletteEditor.module.css +++ b/src/components/PaletteEditor/PaletteEditor.module.css @@ -0,0 +1,16 @@ +/* Large - Landscape Tablets / Desktops */ +/* Medium - Portrait Tablets */ +/* Horizontal layout, vertically scrolling picker and palette content */ +@media (min-width: 992px), + (min-width: 568px) and (max-width: 991px) and (orientation: portrait) { +} + +/* Medium - Landscape Phones */ +/* Horizontal layout, side menu, vertical tabbed picker */ +@media (min-width: 568px) and (max-width: 991px) and (orientation: landscape) { +} + +/* Small - Portrait Phones*/ +/* Vertical layout, side menu, horizontal tabbed picker */ +@media (max-width: 567px) { +} diff --git a/src/components/PaletteLibrary/PaletteLibrary.module.css b/src/components/PaletteLibrary/PaletteLibrary.module.css index e69de29..0d3320e 100644 --- a/src/components/PaletteLibrary/PaletteLibrary.module.css +++ b/src/components/PaletteLibrary/PaletteLibrary.module.css @@ -0,0 +1,16 @@ +/* Large - Landscape Tablets / Desktops */ +/* Medium - Portrait Tablets */ +/* Horizontal layout, vertically scrolling picker and palette content */ +@media (min-width: 992px), + (min-width: 568px) and (max-width: 991px) and (orientation: portrait) { +} + +/* Medium - Landscape Phones */ +/* Horizontal layout, side menu, vertical tabbed picker */ +@media (min-width: 568px) and (max-width: 991px) and (orientation: landscape) { +} + +/* Small - Portrait Phones*/ +/* Vertical layout, side menu, horizontal tabbed picker */ +@media (max-width: 567px) { +}