├── .gitignore ├── __mocks__ ├── styleMock.js ├── fileMock.js └── test.png ├── src ├── styles │ ├── vars.css │ ├── font.css │ ├── styles.css │ └── colors.css ├── components │ ├── Deck.css │ ├── Highlight.css │ ├── Title.css │ ├── Subtitle.css │ ├── Text.css │ ├── __snapshots__ │ │ ├── Text.test.js.snap │ │ ├── Title.test.js.snap │ │ ├── Subtitle.test.js.snap │ │ ├── Slide.test.js.snap │ │ ├── Footer.test.js.snap │ │ ├── Highlight.test.js.snap │ │ ├── Image.test.js.snap │ │ ├── Quote.test.js.snap │ │ ├── Video.test.js.snap │ │ ├── List.test.js.snap │ │ ├── Deck.test.js.snap │ │ ├── Columns.test.js.snap │ │ ├── Navigation.test.js.snap │ │ ├── Browser.test.js.snap │ │ └── Code.test.js.snap │ ├── Video.test.js │ ├── Slide.css │ ├── Text.test.js │ ├── Footer.test.js │ ├── List.css │ ├── Slide.test.js │ ├── Title.test.js │ ├── Code.test.js │ ├── Browser.test.js │ ├── Quote.test.js │ ├── Subtitle.test.js │ ├── Highlight.test.js │ ├── Image.test.js │ ├── Navigation.test.js │ ├── List.test.js │ ├── Deck.test.js │ ├── Columns.test.js │ ├── Footer.css │ ├── Text.js │ ├── Title.js │ ├── Video.css │ ├── Columns.css │ ├── Subtitle.js │ ├── Quote.css │ ├── Image.css │ ├── Highlight.js │ ├── Columns.js │ ├── Quote.js │ ├── Slide.js │ ├── Footer.js │ ├── PresenterNotes.css │ ├── Browser.js │ ├── Navigation.css │ ├── Navigation.js │ ├── List.js │ ├── Video.js │ ├── Code.js │ ├── Browser.css │ ├── Image.js │ ├── Code.css │ ├── PresenterNotes.js │ └── Deck.js ├── services │ └── Keyboard.js └── index.js ├── .eslintignore ├── .babelrc ├── postcss.config.js ├── .npmignore ├── .travis.yml ├── .eslintrc ├── webpack.config.babel.js ├── package.json └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | -------------------------------------------------------------------------------- /__mocks__/styleMock.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /__mocks__/fileMock.js: -------------------------------------------------------------------------------- 1 | module.exports = 'test-file-stub'; 2 | -------------------------------------------------------------------------------- /src/styles/vars.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --breakpoint: 600px; 3 | } 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | .babelrc 4 | .eslintrc 5 | .eslintignore 6 | -------------------------------------------------------------------------------- /__mocks__/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sambego/diorama/HEAD/__mocks__/test.png -------------------------------------------------------------------------------- /src/components/Deck.css: -------------------------------------------------------------------------------- 1 | .swipe, 2 | .deck { 3 | width: 100vw; 4 | height: 100vh; 5 | overflow: hidden; 6 | } 7 | -------------------------------------------------------------------------------- /src/components/Highlight.css: -------------------------------------------------------------------------------- 1 | .highlight { 2 | padding: 0.5rem; 3 | background-color: var(--color-primary); 4 | } 5 | -------------------------------------------------------------------------------- /src/styles/font.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Import Google Montserrat 3 | */ 4 | @import url('https://fonts.googleapis.com/css?family=Montserrat:400,700'); 5 | -------------------------------------------------------------------------------- /src/components/Title.css: -------------------------------------------------------------------------------- 1 | .title { 2 | margin: 0; 3 | max-width: 80vw; 4 | font-size: 6vw; 5 | font-weight: 700; 6 | text-transform: uppercase; 7 | } 8 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-env", "@babel/preset-react"], 3 | "plugins": ["@babel/plugin-proposal-class-properties", "transform-function-bind"] 4 | } 5 | -------------------------------------------------------------------------------- /src/components/Subtitle.css: -------------------------------------------------------------------------------- 1 | .subtitle { 2 | margin: 0; 3 | max-width: 80%; 4 | font-size: 4.5vw; 5 | font-weight: 700; 6 | text-transform: uppercase; 7 | } 8 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require("postcss-import")(), 4 | require("postcss-nested")(), 5 | require("autoprefixer")(), 6 | ] 7 | }; 8 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # .npmignore 2 | 3 | __mocks__ 4 | src 5 | .babelrc 6 | .eslintrc 7 | .eslintignore 8 | .gitignore 9 | .travis.yml 10 | postcss.config.js 11 | webpack.config.babel.js 12 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - '10' 5 | 6 | sudo: false 7 | 8 | cache: 9 | directories: 10 | - 'node_modules' 11 | 12 | script: 13 | - npm run test 14 | -------------------------------------------------------------------------------- /src/components/Text.css: -------------------------------------------------------------------------------- 1 | .text { 2 | margin: 0; 3 | max-width: 80vw; 4 | font-size: 3.5vw; 5 | line-height: 1.7; 6 | } 7 | 8 | @media (min-width: 600px) { 9 | .text { 10 | font-size: 2.5vw; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/components/__snapshots__/Text.test.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`renders correctly 1`] = ` 4 |

8 | Text content 9 |

10 | `; 11 | -------------------------------------------------------------------------------- /src/components/__snapshots__/Title.test.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`renders correctly 1`] = ` 4 |

8 | Title content 9 |

10 | `; 11 | -------------------------------------------------------------------------------- /src/components/__snapshots__/Subtitle.test.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`renders correctly 1`] = ` 4 |

8 | Subtitle content 9 |

10 | `; 11 | -------------------------------------------------------------------------------- /src/components/Video.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import renderer from 'react-test-renderer'; 3 | import Video from './Video'; 4 | 5 | it('renders correctly', () => { 6 | const tree = renderer.create(