├── src ├── App.css ├── assets │ ├── scss │ │ ├── theme │ │ │ ├── base │ │ │ │ ├── _base.scss │ │ │ │ ├── _fonts.scss │ │ │ │ ├── _scroll-reveal.scss │ │ │ │ └── _typography.scss │ │ │ ├── elements │ │ │ │ ├── _forms.scss │ │ │ │ ├── _modal.scss │ │ │ │ ├── _buttons.scss │ │ │ │ ├── _containers.scss │ │ │ │ └── _hamburger.scss │ │ │ ├── layout │ │ │ │ ├── _footer.scss │ │ │ │ ├── _header.scss │ │ │ │ └── _main.scss │ │ │ ├── patterns │ │ │ │ ├── _split.scss │ │ │ │ └── _tiles.scss │ │ │ ├── sections │ │ │ │ ├── _hero.scss │ │ │ │ ├── _section.scss │ │ │ │ ├── _features-split.scss │ │ │ │ ├── _features-tiles.scss │ │ │ │ ├── _cta.scss │ │ │ │ └── _testimonial.scss │ │ │ ├── illustrations │ │ │ │ └── _illustrations.scss │ │ │ └── _theme.scss │ │ ├── core │ │ │ ├── base │ │ │ │ ├── _fonts.scss │ │ │ │ ├── _scroll-reveal.scss │ │ │ │ ├── _base.scss │ │ │ │ ├── _typography.scss │ │ │ │ └── _helpers.scss │ │ │ ├── sections │ │ │ │ ├── _section.scss │ │ │ │ ├── _features-split.scss │ │ │ │ ├── _cta.scss │ │ │ │ ├── _hero.scss │ │ │ │ ├── _features-tiles.scss │ │ │ │ └── _testimonial.scss │ │ │ ├── layout │ │ │ │ ├── _main.scss │ │ │ │ ├── _header.scss │ │ │ │ └── _footer.scss │ │ │ ├── elements │ │ │ │ ├── _containers.scss │ │ │ │ ├── _hamburger.scss │ │ │ │ ├── _modal.scss │ │ │ │ ├── _buttons.scss │ │ │ │ └── _forms.scss │ │ │ ├── patterns │ │ │ │ ├── _tiles.scss │ │ │ │ └── _split.scss │ │ │ ├── _normalize.scss │ │ │ └── abstracts │ │ │ │ ├── _mixins.scss │ │ │ │ └── _functions.scss │ │ ├── settings │ │ │ ├── base │ │ │ │ ├── _misc.scss │ │ │ │ ├── _scroll-reveal.scss │ │ │ │ ├── _widths-and-spacing.scss │ │ │ │ ├── _typography.scss │ │ │ │ ├── _links.scss │ │ │ │ └── _colors.scss │ │ │ ├── patterns │ │ │ │ ├── _tiles.scss │ │ │ │ └── _split.scss │ │ │ ├── sections │ │ │ │ ├── _cta.scss │ │ │ │ ├── _hero.scss │ │ │ │ ├── _features-split.scss │ │ │ │ ├── _testimonial.scss │ │ │ │ └── _features-tiles.scss │ │ │ ├── layout │ │ │ │ ├── _header.scss │ │ │ │ └── _footer.scss │ │ │ ├── elements │ │ │ │ ├── _modal.scss │ │ │ │ └── _buttons-and-forms.scss │ │ │ └── _settings.scss │ │ └── style.scss │ └── images │ │ ├── video-placeholder.jpg │ │ ├── features-split-image-01.png │ │ ├── features-split-image-02.png │ │ ├── features-split-image-03.png │ │ ├── feature-tile-icon-02.svg │ │ ├── feature-tile-icon-01.svg │ │ ├── feature-tile-icon-03.svg │ │ ├── feature-tile-icon-04.svg │ │ ├── feature-tile-icon-05.svg │ │ ├── feature-tile-icon-06.svg │ │ ├── logo.svg │ │ └── cta-illustration.svg ├── components │ ├── elements │ │ ├── ButtonGroup.js │ │ ├── FormHint.js │ │ ├── FormLabel.js │ │ ├── Radio.js │ │ ├── Checkbox.js │ │ ├── Button.js │ │ ├── Switch.js │ │ ├── Select.js │ │ ├── Image.js │ │ ├── SmoothScroll.js │ │ ├── Input.js │ │ └── Modal.js │ ├── layout │ │ ├── partials │ │ │ ├── Logo.js │ │ │ ├── FooterNav.js │ │ │ └── FooterSocial.js │ │ ├── Footer.js │ │ └── Header.js │ └── sections │ │ ├── GenericSection.js │ │ ├── partials │ │ └── SectionHeader.js │ │ ├── Cta.js │ │ ├── Hero.js │ │ ├── Testimonial.js │ │ ├── FeaturesSplit.js │ │ └── FeaturesTiles.js ├── layouts │ └── LayoutDefault.js ├── App.test.js ├── utils │ ├── AppRoute.js │ ├── SectionProps.js │ └── ScrollReveal.js ├── views │ └── Home.js ├── index.js ├── App.js └── serviceWorker.js ├── public ├── robots.txt ├── favicon.ico ├── logo192.png ├── logo512.png ├── manifest.json └── index.html ├── .gitignore ├── package.json └── README.md /src/App.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/base/_base.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/base/_fonts.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/elements/_forms.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/elements/_modal.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/layout/_footer.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/layout/_header.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/layout/_main.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/patterns/_split.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/patterns/_tiles.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/sections/_hero.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/base/_scroll-reveal.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/elements/_buttons.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/elements/_containers.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/elements/_hamburger.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/sections/_section.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/theme/sections/_features-split.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srsedev/open-react-template/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srsedev/open-react-template/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srsedev/open-react-template/HEAD/public/logo512.png -------------------------------------------------------------------------------- /src/assets/scss/theme/base/_typography.scss: -------------------------------------------------------------------------------- 1 | h3, h4, h5, h6, 2 | .h3, .h4, .h5, .h6 { 3 | font-weight: 700; 4 | } -------------------------------------------------------------------------------- /src/assets/images/video-placeholder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srsedev/open-react-template/HEAD/src/assets/images/video-placeholder.jpg -------------------------------------------------------------------------------- /src/assets/images/features-split-image-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srsedev/open-react-template/HEAD/src/assets/images/features-split-image-01.png -------------------------------------------------------------------------------- /src/assets/images/features-split-image-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srsedev/open-react-template/HEAD/src/assets/images/features-split-image-02.png -------------------------------------------------------------------------------- /src/assets/images/features-split-image-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/srsedev/open-react-template/HEAD/src/assets/images/features-split-image-03.png -------------------------------------------------------------------------------- /src/assets/scss/core/base/_fonts.scss: -------------------------------------------------------------------------------- 1 | @if ( $font--provider == 'Google Fonts' ) { 2 | @import url('https://fonts.googleapis.com/css?family=#{$font--import}&display=swap'); 3 | } -------------------------------------------------------------------------------- /src/assets/scss/theme/sections/_features-tiles.scss: -------------------------------------------------------------------------------- 1 | .features-tiles-item-image { 2 | display: inline-flex; 3 | border-radius: 50%; 4 | background-color: get-color(primary, 3); 5 | } 6 | -------------------------------------------------------------------------------- /src/assets/scss/settings/base/_misc.scss: -------------------------------------------------------------------------------- 1 | // Larger images, extra width 2 | $image-larger--extra-width: 48px; // left and right exceeding pixels (.image-larger) 3 | 4 | // img radius 5 | $img-radius: 2px; 6 | -------------------------------------------------------------------------------- /src/assets/images/feature-tile-icon-02.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/feature-tile-icon-01.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/feature-tile-icon-03.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/feature-tile-icon-04.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/feature-tile-icon-05.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /src/components/elements/ButtonGroup.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import classNames from 'classnames'; 3 | 4 | const ButtonGroup = ({ 5 | className, 6 | ...props 7 | }) => { 8 | 9 | const classes = classNames( 10 | 'button-group', 11 | className 12 | ); 13 | 14 | return ( 15 |
19 | ); 20 | } 21 | 22 | export default ButtonGroup; -------------------------------------------------------------------------------- /src/layouts/LayoutDefault.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Header from '../components/layout/Header'; 3 | import Footer from '../components/layout/Footer'; 4 | 5 | const LayoutDefault = ({ children }) => ( 6 | <> 7 |
8 |
9 | {children} 10 |
11 |