8 | )}/>
9 | );
10 |
11 | export default RouteWithSubRoutes
12 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/HELP-US-OUT.txt:
--------------------------------------------------------------------------------
1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
2 | Fonticons (https://fonticons.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
3 | comprehensive icon sets or copy and paste your own.
4 |
5 | Please. Check it out.
6 |
7 | -Dave Gandy
8 |
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/HELP-US-OUT.txt:
--------------------------------------------------------------------------------
1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
2 | Fonticons (https://fonticons.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
3 | comprehensive icon sets or copy and paste your own.
4 |
5 | Please. Check it out.
6 |
7 | -Dave Gandy
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # testing
7 | /coverage
8 |
9 | # production
10 | /build
11 |
12 | # misc
13 | .DS_Store
14 | .env.local
15 | .env.development.local
16 | .env.test.local
17 | .env.production.local
18 |
19 | npm-debug.log*
20 | yarn-debug.log*
21 | yarn-error.log*
22 |
--------------------------------------------------------------------------------
/config/jest/fileTransform.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const path = require('path');
4 |
5 | // This is a custom Jest transformer turning file imports into filenames.
6 | // http://facebook.github.io/jest/docs/tutorial-webpack.html
7 |
8 | module.exports = {
9 | process(src, filename) {
10 | return `module.exports = ${JSON.stringify(path.basename(filename))};`;
11 | },
12 | };
13 |
--------------------------------------------------------------------------------
/config/jest/cssTransform.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // This is a custom Jest transformer turning style imports into empty objects.
4 | // http://facebook.github.io/jest/docs/tutorial-webpack.html
5 |
6 | module.exports = {
7 | process() {
8 | return 'module.exports = {};';
9 | },
10 | getCacheKey() {
11 | // The output is always the same.
12 | return 'cssTransform';
13 | },
14 | };
15 |
--------------------------------------------------------------------------------
/src/reducers/rootReducer.js:
--------------------------------------------------------------------------------
1 | import { routerReducer } from 'react-router-redux';
2 | import { combineReducers } from 'redux';
3 | import { reducer as formReducer } from 'redux-form';
4 | import account from '../components/demo/initializeFromState/account';
5 |
6 | const rootReducer = combineReducers({
7 | routerReducer,
8 | account,
9 | form:formReducer,
10 | });
11 |
12 | export default rootReducer;
13 |
--------------------------------------------------------------------------------
/src/components/demo/initializeFromState/checkArray.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 |
3 | const renderFields = (fields) => (
4 |
5 | {fields.cbArray.map((cb,index) =>
6 |
7 |
8 |
9 | )}
10 |
11 |
12 | )
13 |
14 | export default renderFields;
--------------------------------------------------------------------------------
/src/components/demo/asyncValidation/asyncValidate.js:
--------------------------------------------------------------------------------
1 | const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
2 |
3 | function asyncValidate(values) {
4 | return sleep(1000).then(() => {
5 | // simulate server latency
6 | if (['john', 'paul', 'george', 'ringo'].includes(values.username)) {
7 | throw { username: 'That username is taken' }
8 | }
9 | })
10 | }
11 |
12 | export default asyncValidate
13 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/weather-icons-variables.scss:
--------------------------------------------------------------------------------
1 | @import 'icon-variables/variables-beaufort';
2 | @import 'icon-variables/variables-time';
3 | @import 'icon-variables/variables-moon';
4 | @import 'icon-variables/variables-direction';
5 | @import 'icon-variables/variables-day';
6 | @import 'icon-variables/variables-night';
7 | @import 'icon-variables/variables-neutral';
8 | @import 'icon-variables/variables-misc';
9 |
10 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-classes/classes-wind.scss:
--------------------------------------------------------------------------------
1 | // Wind Variables 2.0
2 |
3 | $wind: "\f0b1";
4 |
5 | .#{$wi-css-prefix}-wind:before { content: $wind; }
6 |
7 | @mixin wind-rotate( $val: 0deg ) {
8 | -webkit-transform: rotate($val);
9 | -moz-transform: rotate($val);
10 | -ms-transform: rotate($val);
11 | -o-transform: rotate($val);
12 | transform: rotate($val);
13 | }
14 |
15 | @import "classes-wind-degrees";
16 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-classes/classes-wind.less:
--------------------------------------------------------------------------------
1 | // Wind Variables 2.0
2 |
3 | @wind: "\f0b1";
4 |
5 | .@{wi-css-prefix}-wind:before { content: @wind; }
6 | .wind-rotate(@degrees) {
7 | -webkit-transform: rotate(@degrees);
8 | -moz-transform: rotate(@degrees);
9 | -ms-transform: rotate(@degrees);
10 | -o-transform: rotate(@degrees);
11 | transform: rotate(@degrees);
12 | }
13 |
14 | @import "classes-wind-degrees.less";
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/weather-icons-classes.scss:
--------------------------------------------------------------------------------
1 | @import "icon-classes/classes-day";
2 | @import "icon-classes/classes-night";
3 | @import "icon-classes/classes-neutral";
4 | @import "icon-classes/classes-misc";
5 | @import "icon-classes/classes-moon";
6 | @import "icon-classes/classes-moon-aliases";
7 | @import "icon-classes/classes-time";
8 | @import "icon-classes/classes-direction";
9 | @import "icon-classes/classes-beaufort";
10 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-classes/classes-wind.scss:
--------------------------------------------------------------------------------
1 | // Wind Variables 2.0
2 |
3 | $wind: "\f0b1";
4 |
5 | .#{$wi-css-prefix}-wind:before { content: $wind; }
6 |
7 | @mixin wind-rotate( $val: 0deg ) {
8 | -webkit-transform: rotate($val);
9 | -moz-transform: rotate($val);
10 | -ms-transform: rotate($val);
11 | -o-transform: rotate($val);
12 | transform: rotate($val);
13 | }
14 |
15 | @import "classes-wind-degrees.scss";
--------------------------------------------------------------------------------
/src/components/common/content/RouteRoot.js:
--------------------------------------------------------------------------------
1 | import React,{Component} from 'react';
2 | import { connect } from 'react-redux';
3 |
4 | class RouteRoot extends Component {
5 | componentDidMount(){
6 | const { history } = this.props;
7 | history.push({
8 | pathname:'/project/simple',
9 | });
10 | }
11 | render(){
12 | return(
13 |
14 | )
15 | }
16 | }
17 |
18 | export default connect()(RouteRoot);
19 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-classes/classes-wind.less:
--------------------------------------------------------------------------------
1 | // Wind Variables 2.0
2 |
3 | @wind: "\f0b1";
4 |
5 | .@{wi-css-prefix}-wind:before { content: @wind; }
6 | .wind-rotate(@degrees) {
7 | -webkit-transform: rotate(@degrees);
8 | -moz-transform: rotate(@degrees);
9 | -ms-transform: rotate(@degrees);
10 | -o-transform: rotate(@degrees);
11 | transform: rotate(@degrees);
12 | }
13 |
14 | @import "classes-wind-degrees.less";
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-variables/variables-beaufort.less:
--------------------------------------------------------------------------------
1 | @wind-beaufort-0: "\f0b7";
2 | @wind-beaufort-1: "\f0b8";
3 | @wind-beaufort-2: "\f0b9";
4 | @wind-beaufort-3: "\f0ba";
5 | @wind-beaufort-4: "\f0bb";
6 | @wind-beaufort-5: "\f0bc";
7 | @wind-beaufort-6: "\f0bd";
8 | @wind-beaufort-7: "\f0be";
9 | @wind-beaufort-8: "\f0bf";
10 | @wind-beaufort-9: "\f0c0";
11 | @wind-beaufort-10: "\f0c1";
12 | @wind-beaufort-11: "\f0c2";
13 | @wind-beaufort-12: "\f0c3";
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-variables/variables-beaufort.scss:
--------------------------------------------------------------------------------
1 | $wind-beaufort-0: "\f0b7";
2 | $wind-beaufort-1: "\f0b8";
3 | $wind-beaufort-2: "\f0b9";
4 | $wind-beaufort-3: "\f0ba";
5 | $wind-beaufort-4: "\f0bb";
6 | $wind-beaufort-5: "\f0bc";
7 | $wind-beaufort-6: "\f0bd";
8 | $wind-beaufort-7: "\f0be";
9 | $wind-beaufort-8: "\f0bf";
10 | $wind-beaufort-9: "\f0c0";
11 | $wind-beaufort-10: "\f0c1";
12 | $wind-beaufort-11: "\f0c2";
13 | $wind-beaufort-12: "\f0c3";
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.egg-info
3 | *.db
4 | *.db.old
5 | *.swp
6 | *.db-journal
7 |
8 | .coverage
9 | .DS_Store
10 | .installed.cfg
11 | _gh_pages/*
12 |
13 | .idea/*
14 | .svn/*
15 | src/website/static/*
16 | src/website/media/*
17 |
18 | bin
19 | cfcache
20 | develop-eggs
21 | dist
22 | downloads
23 | eggs
24 | parts
25 | tmp
26 | .sass-cache
27 | node_modules
28 |
29 | src/website/settingslocal.py
30 | stunnel.log
31 |
32 | .ruby-version
33 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/weather-icons-variables.less:
--------------------------------------------------------------------------------
1 | @import "icon-variables/variables-beaufort.less";
2 | @import "icon-variables/variables-time.less";
3 | @import "icon-variables/variables-moon.less";
4 | @import "icon-variables/variables-direction.less";
5 | @import "icon-variables/variables-day.less";
6 | @import "icon-variables/variables-night.less";
7 | @import "icon-variables/variables-neutral.less";
8 | @import "icon-variables/variables-misc.less";
9 |
10 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-variables/variables-beaufort.less:
--------------------------------------------------------------------------------
1 | @wind-beaufort-0: "\f0b7";
2 | @wind-beaufort-1: "\f0b8";
3 | @wind-beaufort-2: "\f0b9";
4 | @wind-beaufort-3: "\f0ba";
5 | @wind-beaufort-4: "\f0bb";
6 | @wind-beaufort-5: "\f0bc";
7 | @wind-beaufort-6: "\f0bd";
8 | @wind-beaufort-7: "\f0be";
9 | @wind-beaufort-8: "\f0bf";
10 | @wind-beaufort-9: "\f0c0";
11 | @wind-beaufort-10: "\f0c1";
12 | @wind-beaufort-11: "\f0c2";
13 | @wind-beaufort-12: "\f0c3";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-variables/variables-beaufort.scss:
--------------------------------------------------------------------------------
1 | $wind-beaufort-0: "\f0b7";
2 | $wind-beaufort-1: "\f0b8";
3 | $wind-beaufort-2: "\f0b9";
4 | $wind-beaufort-3: "\f0ba";
5 | $wind-beaufort-4: "\f0bb";
6 | $wind-beaufort-5: "\f0bc";
7 | $wind-beaufort-6: "\f0bd";
8 | $wind-beaufort-7: "\f0be";
9 | $wind-beaufort-8: "\f0bf";
10 | $wind-beaufort-9: "\f0c0";
11 | $wind-beaufort-10: "\f0c1";
12 | $wind-beaufort-11: "\f0c2";
13 | $wind-beaufort-12: "\f0c3";
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.egg-info
3 | *.db
4 | *.db.old
5 | *.swp
6 | *.db-journal
7 |
8 | .coverage
9 | .DS_Store
10 | .installed.cfg
11 | _gh_pages/*
12 |
13 | .idea/*
14 | .svn/*
15 | src/website/static/*
16 | src/website/media/*
17 |
18 | bin
19 | cfcache
20 | develop-eggs
21 | dist
22 | downloads
23 | eggs
24 | parts
25 | tmp
26 | .sass-cache
27 | node_modules
28 |
29 | src/website/settingslocal.py
30 | stunnel.log
31 |
32 | .ruby-version
33 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/weather-icons-variables.less:
--------------------------------------------------------------------------------
1 | @import "icon-variables/variables-beaufort.less";
2 | @import "icon-variables/variables-time.less";
3 | @import "icon-variables/variables-moon.less";
4 | @import "icon-variables/variables-direction.less";
5 | @import "icon-variables/variables-day.less";
6 | @import "icon-variables/variables-night.less";
7 | @import "icon-variables/variables-neutral.less";
8 | @import "icon-variables/variables-misc.less";
9 |
10 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/weather-icons-variables.scss:
--------------------------------------------------------------------------------
1 | @import 'icon-variables/variables-beaufort.scss';
2 | @import 'icon-variables/variables-time.scss';
3 | @import 'icon-variables/variables-moon.scss';
4 | @import 'icon-variables/variables-direction.scss';
5 | @import 'icon-variables/variables-day.scss';
6 | @import 'icon-variables/variables-night.scss';
7 | @import 'icon-variables/variables-neutral.scss';
8 | @import 'icon-variables/variables-misc.scss';
9 |
10 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/weather-icons-classes.less:
--------------------------------------------------------------------------------
1 | @import "icon-classes/classes-day.less";
2 | @import "icon-classes/classes-night.less";
3 | @import "icon-classes/classes-neutral.less";
4 | @import "icon-classes/classes-misc.less";
5 | @import "icon-classes/classes-moon.less";
6 | @import "icon-classes/classes-moon-aliases.less";
7 | @import "icon-classes/classes-time.less";
8 | @import "icon-classes/classes-direction.less";
9 | @import "icon-classes/classes-beaufort.less";
10 |
--------------------------------------------------------------------------------
/src/components/demo/normalizing/normalizePhone.js:
--------------------------------------------------------------------------------
1 | const normalizePhone = value => {
2 | if (!value) {
3 | return value
4 | }
5 |
6 | const onlyNums = value.replace(/[^\d]/g, '')
7 | if (onlyNums.length <= 3) {
8 | return onlyNums
9 | }
10 | if (onlyNums.length <= 7) {
11 | return `${onlyNums.slice(0, 3)}-${onlyNums.slice(3)}`
12 | }
13 | return `${onlyNums.slice(0, 3)}-${onlyNums.slice(3, 6)}-${onlyNums.slice(6, 10)}`
14 | }
15 |
16 | export default normalizePhone
17 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/weather-icons-classes.less:
--------------------------------------------------------------------------------
1 | @import "icon-classes/classes-day.less";
2 | @import "icon-classes/classes-night.less";
3 | @import "icon-classes/classes-neutral.less";
4 | @import "icon-classes/classes-misc.less";
5 | @import "icon-classes/classes-moon.less";
6 | @import "icon-classes/classes-moon-aliases.less";
7 | @import "icon-classes/classes-time.less";
8 | @import "icon-classes/classes-direction.less";
9 | @import "icon-classes/classes-beaufort.less";
10 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/weather-icons-classes.scss:
--------------------------------------------------------------------------------
1 | @import "icon-classes/classes-day.scss";
2 | @import "icon-classes/classes-night.scss";
3 | @import "icon-classes/classes-neutral.scss";
4 | @import "icon-classes/classes-misc.scss";
5 | @import "icon-classes/classes-moon.scss";
6 | @import "icon-classes/classes-moon-aliases.scss";
7 | @import "icon-classes/classes-time.scss";
8 | @import "icon-classes/classes-direction.scss";
9 | @import "icon-classes/classes-beaufort.scss";
10 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/components/common/content/projectContent/reducer.js:
--------------------------------------------------------------------------------
1 | import { LOADING_BLOCK, LOADING_NONE} from './actionTypes';
2 |
3 | export default function (state={
4 | isFetching:false
5 | },action) {
6 | switch(action.type) {
7 | case LOADING_BLOCK:
8 | return {
9 | ...state,
10 | isFetching:true
11 | };
12 | case LOADING_NONE:
13 | return {
14 | ...state,
15 | isFetching:false,
16 | };
17 |
18 | default:
19 | return state
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/src/plugins/images/tooltip/tooltip2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-classes/classes-direction.less:
--------------------------------------------------------------------------------
1 | .wi-direction-up:before {content: @direction-up;}
2 | .wi-direction-up-right:before {content: @direction-up-right;}
3 | .wi-direction-right:before {content: @direction-right;}
4 | .wi-direction-down-right:before {content: @direction-down-right;}
5 | .wi-direction-down:before {content: @direction-down;}
6 | .wi-direction-down-left:before {content: @direction-down-left;}
7 | .wi-direction-left:before {content: @direction-left;}
8 | .wi-direction-up-left:before {content: @direction-up-left;}
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-classes/classes-direction.scss:
--------------------------------------------------------------------------------
1 | .wi-direction-up:before {content: $direction-up;}
2 | .wi-direction-up-right:before {content: $direction-up-right;}
3 | .wi-direction-right:before {content: $direction-right;}
4 | .wi-direction-down-right:before {content: $direction-down-right;}
5 | .wi-direction-down:before {content: $direction-down;}
6 | .wi-direction-down-left:before {content: $direction-down-left;}
7 | .wi-direction-left:before {content: $direction-left;}
8 | .wi-direction-up-left:before {content: $direction-up-left;}
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/plugins/images/tooltip/tooltip3.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "font-awesome",
3 | "description": "Font Awesome",
4 | "version": "4.2.0",
5 | "keywords": [],
6 | "homepage": "http://fontawesome.io",
7 | "dependencies": {},
8 | "devDependencies": {},
9 | "license": ["OFL-1.1", "MIT", "CC-BY-3.0"],
10 | "main": [
11 | "./css/font-awesome.css",
12 | "./fonts/*"
13 | ],
14 | "ignore": [
15 | "*/.*",
16 | "*.json",
17 | "src",
18 | "*.yml",
19 | "Gemfile",
20 | "Gemfile.lock",
21 | "*.md"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-classes/classes-direction.less:
--------------------------------------------------------------------------------
1 | .wi-direction-up:before {content: @direction-up;}
2 | .wi-direction-up-right:before {content: @direction-up-right;}
3 | .wi-direction-right:before {content: @direction-right;}
4 | .wi-direction-down-right:before {content: @direction-down-right;}
5 | .wi-direction-down:before {content: @direction-down;}
6 | .wi-direction-down-left:before {content: @direction-down-left;}
7 | .wi-direction-left:before {content: @direction-left;}
8 | .wi-direction-up-left:before {content: @direction-up-left;}
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-classes/classes-direction.scss:
--------------------------------------------------------------------------------
1 | .wi-direction-up:before {content: $direction-up;}
2 | .wi-direction-up-right:before {content: $direction-up-right;}
3 | .wi-direction-right:before {content: $direction-right;}
4 | .wi-direction-down-right:before {content: $direction-down-right;}
5 | .wi-direction-down:before {content: $direction-down;}
6 | .wi-direction-down-left:before {content: $direction-down-left;}
7 | .wi-direction-left:before {content: $direction-left;}
8 | .wi-direction-up-left:before {content: $direction-up-left;}
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "font-awesome",
3 | "description": "Font Awesome",
4 | "version": "4.2.0",
5 | "keywords": [],
6 | "homepage": "http://fontawesome.io",
7 | "dependencies": {},
8 | "devDependencies": {},
9 | "license": ["OFL-1.1", "MIT", "CC-BY-3.0"],
10 | "main": [
11 | "./css/font-awesome.css",
12 | "./fonts/*"
13 | ],
14 | "ignore": [
15 | "*/.*",
16 | "*.json",
17 | "src",
18 | "*.yml",
19 | "Gemfile",
20 | "Gemfile.lock",
21 | "*.md"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/plugins/images/tooltip/tooltip1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-classes/classes-time.less:
--------------------------------------------------------------------------------
1 | .wi-time-1:before {content: @time-1;}
2 | .wi-time-2:before {content: @time-2;}
3 | .wi-time-3:before {content: @time-3;}
4 | .wi-time-4:before {content: @time-4;}
5 | .wi-time-5:before {content: @time-5;}
6 | .wi-time-6:before {content: @time-6;}
7 | .wi-time-7:before {content: @time-7;}
8 | .wi-time-8:before {content: @time-8;}
9 | .wi-time-9:before {content: @time-9;}
10 | .wi-time-10:before {content: @time-10;}
11 | .wi-time-11:before {content: @time-11;}
12 | .wi-time-12:before {content: @time-12;}
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-classes/classes-time.scss:
--------------------------------------------------------------------------------
1 | .wi-time-1:before {content: $time-1;}
2 | .wi-time-2:before {content: $time-2;}
3 | .wi-time-3:before {content: $time-3;}
4 | .wi-time-4:before {content: $time-4;}
5 | .wi-time-5:before {content: $time-5;}
6 | .wi-time-6:before {content: $time-6;}
7 | .wi-time-7:before {content: $time-7;}
8 | .wi-time-8:before {content: $time-8;}
9 | .wi-time-9:before {content: $time-9;}
10 | .wi-time-10:before {content: $time-10;}
11 | .wi-time-11:before {content: $time-11;}
12 | .wi-time-12:before {content: $time-12;}
--------------------------------------------------------------------------------
/src/components/demo/initializeFromState/account.js:
--------------------------------------------------------------------------------
1 | // Quack! This is a duck. https://github.com/erikras/ducks-modular-redux
2 | const LOAD = 'redux-form-examples/account/LOAD'
3 |
4 | const reducer = (state = {}, action) => {
5 | switch (action.type) {
6 | case LOAD:
7 | return {
8 | data: action.data
9 | }
10 | default:
11 | return state
12 | }
13 | }
14 |
15 | /**
16 | * Simulates data loaded into this reducer from somewhere
17 | */
18 | export const load = data => ({ type: LOAD, data })
19 |
20 | export default reducer
21 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-classes/classes-time.less:
--------------------------------------------------------------------------------
1 | .wi-time-1:before {content: @time-1;}
2 | .wi-time-2:before {content: @time-2;}
3 | .wi-time-3:before {content: @time-3;}
4 | .wi-time-4:before {content: @time-4;}
5 | .wi-time-5:before {content: @time-5;}
6 | .wi-time-6:before {content: @time-6;}
7 | .wi-time-7:before {content: @time-7;}
8 | .wi-time-8:before {content: @time-8;}
9 | .wi-time-9:before {content: @time-9;}
10 | .wi-time-10:before {content: @time-10;}
11 | .wi-time-11:before {content: @time-11;}
12 | .wi-time-12:before {content: @time-12;}
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-classes/classes-time.scss:
--------------------------------------------------------------------------------
1 | .wi-time-1:before {content: $time-1;}
2 | .wi-time-2:before {content: $time-2;}
3 | .wi-time-3:before {content: $time-3;}
4 | .wi-time-4:before {content: $time-4;}
5 | .wi-time-5:before {content: $time-5;}
6 | .wi-time-6:before {content: $time-6;}
7 | .wi-time-7:before {content: $time-7;}
8 | .wi-time-8:before {content: $time-8;}
9 | .wi-time-9:before {content: $time-9;}
10 | .wi-time-10:before {content: $time-10;}
11 | .wi-time-11:before {content: $time-11;}
12 | .wi-time-12:before {content: $time-12;}
--------------------------------------------------------------------------------
/src/plugins/images/tooltip/shape3.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # editorconfig.org
4 |
5 | root = true
6 |
7 |
8 | [*]
9 |
10 | # change these settings to your own preference
11 | indent_style = space
12 | indent_size = 2
13 |
14 | # we recommend you to keep these unchanged
15 | end_of_line = lf
16 | charset = utf-8
17 | trim_trailing_whitespace = true
18 | insert_final_newline = true
19 |
20 | [*.md]
21 | trim_trailing_whitespace = false
22 |
23 | [{package,bower}.json]
24 | indent_style = space
25 | indent_size = 2
26 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/router/Routes.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Provider } from 'react-redux';
3 | import { ConnectedRouter } from 'react-router-redux';
4 |
5 | import configureStore from '../store/configureStore';
6 | import { history } from '../router/history';
7 | import { MainRouter } from './MainRouter';
8 |
9 |
10 | const store = configureStore();
11 |
12 | const Routes = () => (
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | );
21 |
22 | export default Routes;
23 |
--------------------------------------------------------------------------------
/src/style/node/morris.css:
--------------------------------------------------------------------------------
1 | .morris-hover {
2 | position:absolute;
3 | z-index:1;
4 | }
5 |
6 | .morris-hover.morris-default-style .morris-hover-row-label {
7 | font-weight:bold;
8 | margin:0.25em 0
9 | }
10 | .morris-hover.morris-default-style .morris-hover-point {
11 | white-space:nowrap;
12 | margin:0.1em 0
13 | }
14 | .morris-hover.morris-default-style {
15 | border-radius: 2px;
16 | padding: 10px 12px;
17 | color: #666;
18 | background:rgba(0, 0, 0, 0.7);
19 | border: none;
20 | color: #fff!important ;
21 | }
22 | .morris-hover-point {
23 | color: rgba(257, 257, 257, 0.8)!important ;
24 | }
25 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-variables/variables-misc.less:
--------------------------------------------------------------------------------
1 | @alien: "\f075";
2 | @celsius: "\f03c";
3 | @fahrenheit: "\f045";
4 | @degrees: "\f042";
5 | @thermometer: "\f055";
6 | @thermometer-exterior: "\f053";
7 | @thermometer-internal: "\f054";
8 | @cloud-down: "\f03d";
9 | @cloud-up: "\f040";
10 | @cloud-refresh: "\f03e";
11 | @horizon: "\f047";
12 | @horizon-alt: "\f046";
13 | @sunrise: "\f051";
14 | @sunset: "\f052";
15 | @moonrise: "\f0c9";
16 | @moonset: "\f0ca";
17 | @refresh: "\f04c";
18 | @refresh-alt: "\f04b";
19 | @umbrella: "\f084";
20 | @barometer: "\f079";
21 | @humidity: "\f07a";
22 | @na: "\f07b";
23 | @train: "\f0cb";
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-variables/variables-misc.scss:
--------------------------------------------------------------------------------
1 | $alien: "\f075";
2 | $celsius: "\f03c";
3 | $fahrenheit: "\f045";
4 | $degrees: "\f042";
5 | $thermometer: "\f055";
6 | $thermometer-exterior: "\f053";
7 | $thermometer-internal: "\f054";
8 | $cloud-down: "\f03d";
9 | $cloud-up: "\f040";
10 | $cloud-refresh: "\f03e";
11 | $horizon: "\f047";
12 | $horizon-alt: "\f046";
13 | $sunrise: "\f051";
14 | $sunset: "\f052";
15 | $moonrise: "\f0c9";
16 | $moonset: "\f0ca";
17 | $refresh: "\f04c";
18 | $refresh-alt: "\f04b";
19 | $umbrella: "\f084";
20 | $barometer: "\f079";
21 | $humidity: "\f07a";
22 | $na: "\f07b";
23 | $train: "\f0cb";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-variables/variables-misc.less:
--------------------------------------------------------------------------------
1 | @alien: "\f075";
2 | @celsius: "\f03c";
3 | @fahrenheit: "\f045";
4 | @degrees: "\f042";
5 | @thermometer: "\f055";
6 | @thermometer-exterior: "\f053";
7 | @thermometer-internal: "\f054";
8 | @cloud-down: "\f03d";
9 | @cloud-up: "\f040";
10 | @cloud-refresh: "\f03e";
11 | @horizon: "\f047";
12 | @horizon-alt: "\f046";
13 | @sunrise: "\f051";
14 | @sunset: "\f052";
15 | @moonrise: "\f0c9";
16 | @moonset: "\f0ca";
17 | @refresh: "\f04c";
18 | @refresh-alt: "\f04b";
19 | @umbrella: "\f084";
20 | @barometer: "\f079";
21 | @humidity: "\f07a";
22 | @na: "\f07b";
23 | @train: "\f0cb";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-variables/variables-misc.scss:
--------------------------------------------------------------------------------
1 | $alien: "\f075";
2 | $celsius: "\f03c";
3 | $fahrenheit: "\f045";
4 | $degrees: "\f042";
5 | $thermometer: "\f055";
6 | $thermometer-exterior: "\f053";
7 | $thermometer-internal: "\f054";
8 | $cloud-down: "\f03d";
9 | $cloud-up: "\f040";
10 | $cloud-refresh: "\f03e";
11 | $horizon: "\f047";
12 | $horizon-alt: "\f046";
13 | $sunrise: "\f051";
14 | $sunset: "\f052";
15 | $moonrise: "\f0c9";
16 | $moonset: "\f0ca";
17 | $refresh: "\f04c";
18 | $refresh-alt: "\f04b";
19 | $umbrella: "\f084";
20 | $barometer: "\f079";
21 | $humidity: "\f07a";
22 | $na: "\f07b";
23 | $train: "\f0cb";
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/.npmignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.egg-info
3 | *.db
4 | *.db.old
5 | *.swp
6 | *.db-journal
7 |
8 | .coverage
9 | .DS_Store
10 | .installed.cfg
11 | _gh_pages/*
12 |
13 | .idea/*
14 | .svn/*
15 | src/website/static/*
16 | src/website/media/*
17 |
18 | bin
19 | cfcache
20 | develop-eggs
21 | dist
22 | downloads
23 | eggs
24 | parts
25 | tmp
26 | .sass-cache
27 | node_modules
28 |
29 | src/website/settingslocal.py
30 | stunnel.log
31 |
32 | .ruby-version
33 |
34 | # don't need these in the npm package.
35 | src/
36 | _config.yml
37 | bower.json
38 | component.json
39 | composer.json
40 | CONTRIBUTING.md
41 | Gemfile
42 | Gemfile.lock
43 |
--------------------------------------------------------------------------------
/src/components/demo/remoteSubmit/RemoteSubmitButton.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { connect } from 'react-redux'
3 | import { submit } from 'redux-form'
4 |
5 | const style = {
6 | padding: '10px 20px',
7 | width: 140,
8 | display: 'block',
9 | margin: '20px auto',
10 | fontSize: '16px'
11 | }
12 |
13 | const RemoteSubmitButton = ({ dispatch }) => (
14 |
21 | )
22 | // ^^^^^^^^^^^^ name of the form
23 |
24 | export default connect()(RemoteSubmitButton)
25 |
--------------------------------------------------------------------------------
/src/components/demo/wizard/validate.js:
--------------------------------------------------------------------------------
1 | const validate = values => {
2 | const errors = {}
3 | if (!values.firstName) {
4 | errors.firstName = 'Required'
5 | }
6 | if (!values.lastName) {
7 | errors.lastName = 'Required'
8 | }
9 | if (!values.email) {
10 | errors.email = 'Required'
11 | } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(values.email)) {
12 | errors.email = 'Invalid email address'
13 | }
14 | if (!values.sex) {
15 | errors.sex = 'Required'
16 | }
17 | if (!values.favoriteColor) {
18 | errors.favoriteColor = 'Required'
19 | }
20 | return errors
21 | }
22 |
23 | export default validate
24 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/.npmignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.egg-info
3 | *.db
4 | *.db.old
5 | *.swp
6 | *.db-journal
7 |
8 | .coverage
9 | .DS_Store
10 | .installed.cfg
11 | _gh_pages/*
12 |
13 | .idea/*
14 | .svn/*
15 | src/website/static/*
16 | src/website/media/*
17 |
18 | bin
19 | cfcache
20 | develop-eggs
21 | dist
22 | downloads
23 | eggs
24 | parts
25 | tmp
26 | .sass-cache
27 | node_modules
28 |
29 | src/website/settingslocal.py
30 | stunnel.log
31 |
32 | .ruby-version
33 |
34 | # don't need these in the npm package.
35 | src/
36 | _config.yml
37 | bower.json
38 | component.json
39 | composer.json
40 | CONTRIBUTING.md
41 | Gemfile
42 | Gemfile.lock
43 |
--------------------------------------------------------------------------------
/src/components/utils/validation/textareaField.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const textareaField = ({
4 | input,
5 | label,
6 | type,
7 | cols,
8 | rows,
9 | meta: { touched, error, warning }
10 | }) => (
11 |
12 |
13 |
14 | {touched &&
15 | ((error &&
{error}
) ||
16 | (warning &&
{warning}
))}
17 |
18 | )
19 |
20 | export default textareaField;
21 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-variables/variables-wind-names.less:
--------------------------------------------------------------------------------
1 | @n: "\f0b1";
2 | @nne: "\f0b1";
3 | @ne: "\f0b1";
4 | @ene: "\f0b1";
5 | @e: "\f0b1";
6 | @ese: "\f0b1";
7 | @se: "\f0b1";
8 | @sse: "\f0b1";
9 | @s: "\f0b1";
10 | @ssw: "\f0b1";
11 | @sw: "\f0b1";
12 | @wsw: "\f0b1";
13 | @w: "\f0b1";
14 | @wnw: "\f0b1";
15 | @nw: "\f0b1";
16 | @nnw: "\f0b1";
17 | @n: "\f0b1";
18 | @nne: "\f0b1";
19 | @ne: "\f0b1";
20 | @ene: "\f0b1";
21 | @e: "\f0b1";
22 | @ese: "\f0b1";
23 | @se: "\f0b1";
24 | @sse: "\f0b1";
25 | @s: "\f0b1";
26 | @ssw: "\f0b1";
27 | @sw: "\f0b1";
28 | @wsw: "\f0b1";
29 | @w: "\f0b1";
30 | @wnw: "\f0b1";
31 | @nw: "\f0b1";
32 | @nnw: "\f0b1";
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-variables/variables-wind-names.scss:
--------------------------------------------------------------------------------
1 | $n: "\f0b1";
2 | $nne: "\f0b1";
3 | $ne: "\f0b1";
4 | $ene: "\f0b1";
5 | $e: "\f0b1";
6 | $ese: "\f0b1";
7 | $se: "\f0b1";
8 | $sse: "\f0b1";
9 | $s: "\f0b1";
10 | $ssw: "\f0b1";
11 | $sw: "\f0b1";
12 | $wsw: "\f0b1";
13 | $w: "\f0b1";
14 | $wnw: "\f0b1";
15 | $nw: "\f0b1";
16 | $nnw: "\f0b1";
17 | $n: "\f0b1";
18 | $nne: "\f0b1";
19 | $ne: "\f0b1";
20 | $ene: "\f0b1";
21 | $e: "\f0b1";
22 | $ese: "\f0b1";
23 | $se: "\f0b1";
24 | $sse: "\f0b1";
25 | $s: "\f0b1";
26 | $ssw: "\f0b1";
27 | $sw: "\f0b1";
28 | $wsw: "\f0b1";
29 | $w: "\f0b1";
30 | $wnw: "\f0b1";
31 | $nw: "\f0b1";
32 | $nnw: "\f0b1";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-variables/variables-wind-names.less:
--------------------------------------------------------------------------------
1 | @n: "\f0b1";
2 | @nne: "\f0b1";
3 | @ne: "\f0b1";
4 | @ene: "\f0b1";
5 | @e: "\f0b1";
6 | @ese: "\f0b1";
7 | @se: "\f0b1";
8 | @sse: "\f0b1";
9 | @s: "\f0b1";
10 | @ssw: "\f0b1";
11 | @sw: "\f0b1";
12 | @wsw: "\f0b1";
13 | @w: "\f0b1";
14 | @wnw: "\f0b1";
15 | @nw: "\f0b1";
16 | @nnw: "\f0b1";
17 | @n: "\f0b1";
18 | @nne: "\f0b1";
19 | @ne: "\f0b1";
20 | @ene: "\f0b1";
21 | @e: "\f0b1";
22 | @ese: "\f0b1";
23 | @se: "\f0b1";
24 | @sse: "\f0b1";
25 | @s: "\f0b1";
26 | @ssw: "\f0b1";
27 | @sw: "\f0b1";
28 | @wsw: "\f0b1";
29 | @w: "\f0b1";
30 | @wnw: "\f0b1";
31 | @nw: "\f0b1";
32 | @nnw: "\f0b1";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-variables/variables-wind-names.scss:
--------------------------------------------------------------------------------
1 | $n: "\f0b1";
2 | $nne: "\f0b1";
3 | $ne: "\f0b1";
4 | $ene: "\f0b1";
5 | $e: "\f0b1";
6 | $ese: "\f0b1";
7 | $se: "\f0b1";
8 | $sse: "\f0b1";
9 | $s: "\f0b1";
10 | $ssw: "\f0b1";
11 | $sw: "\f0b1";
12 | $wsw: "\f0b1";
13 | $w: "\f0b1";
14 | $wnw: "\f0b1";
15 | $nw: "\f0b1";
16 | $nnw: "\f0b1";
17 | $n: "\f0b1";
18 | $nne: "\f0b1";
19 | $ne: "\f0b1";
20 | $ene: "\f0b1";
21 | $e: "\f0b1";
22 | $ese: "\f0b1";
23 | $se: "\f0b1";
24 | $sse: "\f0b1";
25 | $s: "\f0b1";
26 | $ssw: "\f0b1";
27 | $sw: "\f0b1";
28 | $wsw: "\f0b1";
29 | $w: "\f0b1";
30 | $wnw: "\f0b1";
31 | $nw: "\f0b1";
32 | $nnw: "\f0b1";
--------------------------------------------------------------------------------
/config/polyfills.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (typeof Promise === 'undefined') {
4 | // Rejection tracking prevents a common issue where React gets into an
5 | // inconsistent state due to an error, but it gets swallowed by a Promise,
6 | // and the user has no idea what causes React's erratic future behavior.
7 | require('promise/lib/rejection-tracking').enable();
8 | window.Promise = require('promise/lib/es6-extensions.js');
9 | }
10 |
11 | // fetch() polyfill for making API calls.
12 | require('whatwg-fetch');
13 |
14 | // Object.assign() is commonly used with React.
15 | // It will use the native implementation if it's present and isn't buggy.
16 | Object.assign = require('object-assign');
17 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/spinning.less:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | @-webkit-keyframes fa-spin {
10 | 0% {
11 | -webkit-transform: rotate(0deg);
12 | transform: rotate(0deg);
13 | }
14 | 100% {
15 | -webkit-transform: rotate(359deg);
16 | transform: rotate(359deg);
17 | }
18 | }
19 |
20 | @keyframes fa-spin {
21 | 0% {
22 | -webkit-transform: rotate(0deg);
23 | transform: rotate(0deg);
24 | }
25 | 100% {
26 | -webkit-transform: rotate(359deg);
27 | transform: rotate(359deg);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_spinning.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | @-webkit-keyframes fa-spin {
10 | 0% {
11 | -webkit-transform: rotate(0deg);
12 | transform: rotate(0deg);
13 | }
14 | 100% {
15 | -webkit-transform: rotate(359deg);
16 | transform: rotate(359deg);
17 | }
18 | }
19 |
20 | @keyframes fa-spin {
21 | 0% {
22 | -webkit-transform: rotate(0deg);
23 | transform: rotate(0deg);
24 | }
25 | 100% {
26 | -webkit-transform: rotate(359deg);
27 | transform: rotate(359deg);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/spinning.less:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | @-webkit-keyframes fa-spin {
10 | 0% {
11 | -webkit-transform: rotate(0deg);
12 | transform: rotate(0deg);
13 | }
14 | 100% {
15 | -webkit-transform: rotate(359deg);
16 | transform: rotate(359deg);
17 | }
18 | }
19 |
20 | @keyframes fa-spin {
21 | 0% {
22 | -webkit-transform: rotate(0deg);
23 | transform: rotate(0deg);
24 | }
25 | 100% {
26 | -webkit-transform: rotate(359deg);
27 | transform: rotate(359deg);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_spinning.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | @-webkit-keyframes fa-spin {
10 | 0% {
11 | -webkit-transform: rotate(0deg);
12 | transform: rotate(0deg);
13 | }
14 | 100% {
15 | -webkit-transform: rotate(359deg);
16 | transform: rotate(359deg);
17 | }
18 | }
19 |
20 | @keyframes fa-spin {
21 | 0% {
22 | -webkit-transform: rotate(0deg);
23 | transform: rotate(0deg);
24 | }
25 | 100% {
26 | -webkit-transform: rotate(359deg);
27 | transform: rotate(359deg);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/components/common/content/projectContent/ProjectContent.js:
--------------------------------------------------------------------------------
1 | import React,{ Component } from 'react'
2 | import {Switch} from 'react-router-dom'
3 | import RouteWithSubRoutes from '../../../../router/RouteWithSubRoutes'
4 | import { SideBar } from '../SideBar'
5 | import { Footer } from '../Footer'
6 |
7 | class ProjectContent extends Component {
8 | render() {
9 | const { routes } = this.props;
10 | return (
11 |
12 |
13 |
14 | {routes.map((route, i) => (
15 |
16 | ))}
17 |
18 |
19 |
20 | )
21 | }
22 | }
23 |
24 |
25 | export default ProjectContent;
26 |
--------------------------------------------------------------------------------
/src/plugins/images/tooltip/shape1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-variables/variables-day.less:
--------------------------------------------------------------------------------
1 | @day-sunny: "\f00d";
2 | @day-cloudy: "\f002";
3 | @day-cloudy-gusts: "\f000";
4 | @day-cloudy-windy: "\f001";
5 | @day-fog: "\f003";
6 | @day-hail: "\f004";
7 | @day-haze: "\f0b6";
8 | @day-lightning: "\f005";
9 | @day-rain: "\f008";
10 | @day-rain-mix: "\f006";
11 | @day-rain-wind: "\f007";
12 | @day-showers: "\f009";
13 | @day-sleet: "\f0b2";
14 | @day-sleet-storm: "\f068";
15 | @day-snow: "\f00a";
16 | @day-snow-thunderstorm: "\f06b";
17 | @day-snow-wind: "\f065";
18 | @day-sprinkle: "\f00b";
19 | @day-storm-showers: "\f00e";
20 | @day-sunny-overcast: "\f00c";
21 | @day-thunderstorm: "\f010";
22 | @day-windy: "\f085";
23 | @solar-eclipse: "\f06e";
24 | @hot: "\f072";
25 | @day-cloudy-high: "\f07d";
26 | @day-light-wind: "\f0c4";
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-variables/variables-day.scss:
--------------------------------------------------------------------------------
1 | $day-sunny: "\f00d";
2 | $day-cloudy: "\f002";
3 | $day-cloudy-gusts: "\f000";
4 | $day-cloudy-windy: "\f001";
5 | $day-fog: "\f003";
6 | $day-hail: "\f004";
7 | $day-haze: "\f0b6";
8 | $day-lightning: "\f005";
9 | $day-rain: "\f008";
10 | $day-rain-mix: "\f006";
11 | $day-rain-wind: "\f007";
12 | $day-showers: "\f009";
13 | $day-sleet: "\f0b2";
14 | $day-sleet-storm: "\f068";
15 | $day-snow: "\f00a";
16 | $day-snow-thunderstorm: "\f06b";
17 | $day-snow-wind: "\f065";
18 | $day-sprinkle: "\f00b";
19 | $day-storm-showers: "\f00e";
20 | $day-sunny-overcast: "\f00c";
21 | $day-thunderstorm: "\f010";
22 | $day-windy: "\f085";
23 | $solar-eclipse: "\f06e";
24 | $hot: "\f072";
25 | $day-cloudy-high: "\f07d";
26 | $day-light-wind: "\f0c4";
--------------------------------------------------------------------------------
/src/components/utils/MyDropify.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | const $ = window.$;
3 | require('dropify');
4 |
5 | class MyDropify extends Component {
6 | componentDidMount(){
7 | $('.dropify').dropify();
8 | }
9 | render() {
10 | const { input,dataAllowedFileExtensions } = this.props
11 | const onAttachmentChange = (e) => {
12 | e.preventDefault();
13 | const files = [...e.target.files];
14 | input.onChange(files);
15 | };
16 | return (
17 |
18 |
22 |
23 | )
24 | }
25 | }
26 |
27 | export default MyDropify;
28 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-variables/variables-day.less:
--------------------------------------------------------------------------------
1 | @day-sunny: "\f00d";
2 | @day-cloudy: "\f002";
3 | @day-cloudy-gusts: "\f000";
4 | @day-cloudy-windy: "\f001";
5 | @day-fog: "\f003";
6 | @day-hail: "\f004";
7 | @day-haze: "\f0b6";
8 | @day-lightning: "\f005";
9 | @day-rain: "\f008";
10 | @day-rain-mix: "\f006";
11 | @day-rain-wind: "\f007";
12 | @day-showers: "\f009";
13 | @day-sleet: "\f0b2";
14 | @day-sleet-storm: "\f068";
15 | @day-snow: "\f00a";
16 | @day-snow-thunderstorm: "\f06b";
17 | @day-snow-wind: "\f065";
18 | @day-sprinkle: "\f00b";
19 | @day-storm-showers: "\f00e";
20 | @day-sunny-overcast: "\f00c";
21 | @day-thunderstorm: "\f010";
22 | @day-windy: "\f085";
23 | @solar-eclipse: "\f06e";
24 | @hot: "\f072";
25 | @day-cloudy-high: "\f07d";
26 | @day-light-wind: "\f0c4";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-variables/variables-day.scss:
--------------------------------------------------------------------------------
1 | $day-sunny: "\f00d";
2 | $day-cloudy: "\f002";
3 | $day-cloudy-gusts: "\f000";
4 | $day-cloudy-windy: "\f001";
5 | $day-fog: "\f003";
6 | $day-hail: "\f004";
7 | $day-haze: "\f0b6";
8 | $day-lightning: "\f005";
9 | $day-rain: "\f008";
10 | $day-rain-mix: "\f006";
11 | $day-rain-wind: "\f007";
12 | $day-showers: "\f009";
13 | $day-sleet: "\f0b2";
14 | $day-sleet-storm: "\f068";
15 | $day-snow: "\f00a";
16 | $day-snow-thunderstorm: "\f06b";
17 | $day-snow-wind: "\f065";
18 | $day-sprinkle: "\f00b";
19 | $day-storm-showers: "\f00e";
20 | $day-sunny-overcast: "\f00c";
21 | $day-thunderstorm: "\f010";
22 | $day-windy: "\f085";
23 | $solar-eclipse: "\f06e";
24 | $hot: "\f072";
25 | $day-cloudy-high: "\f07d";
26 | $day-light-wind: "\f0c4";
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/components/demo/remoteSubmit/submit.js:
--------------------------------------------------------------------------------
1 | import { SubmissionError } from 'redux-form'
2 |
3 | const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
4 |
5 | function submit(values) {
6 | return sleep(1000).then(() => {
7 | // simulate server latency
8 | if (!['john', 'paul', 'george', 'ringo'].includes(values.username)) {
9 | throw new SubmissionError({
10 | username: 'User does not exist',
11 | _error: 'Login failed!'
12 | })
13 | } else if (values.password !== 'redux-form') {
14 | throw new SubmissionError({
15 | password: 'Wrong password',
16 | _error: 'Login failed!'
17 | })
18 | } else {
19 | window.alert(`You submitted:\n\n${JSON.stringify(values, null, 2)}`)
20 | }
21 | })
22 | }
23 |
24 | export default submit
25 |
--------------------------------------------------------------------------------
/src/components/demo/submitValidation/submit.js:
--------------------------------------------------------------------------------
1 | import { SubmissionError } from 'redux-form'
2 |
3 | const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
4 |
5 | function submit(values) {
6 | return sleep(1000).then(() => {
7 | // simulate server latency
8 | if (!['john', 'paul', 'george', 'ringo'].includes(values.username)) {
9 | throw new SubmissionError({
10 | username: 'User does not exist',
11 | _error: 'Login failed!'
12 | })
13 | } else if (values.password !== 'redux-form') {
14 | throw new SubmissionError({
15 | password: 'Wrong password',
16 | _error: 'Login failed!'
17 | })
18 | } else {
19 | window.alert(`You submitted:\n\n${JSON.stringify(values, null, 2)}`)
20 | }
21 | })
22 | }
23 |
24 | export default submit
25 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-classes/classes-beaufort.less:
--------------------------------------------------------------------------------
1 | .wi-wind-beaufort-0:before {content: @wind-beaufort-0;}
2 | .wi-wind-beaufort-1:before {content: @wind-beaufort-1;}
3 | .wi-wind-beaufort-2:before {content: @wind-beaufort-2;}
4 | .wi-wind-beaufort-3:before {content: @wind-beaufort-3;}
5 | .wi-wind-beaufort-4:before {content: @wind-beaufort-4;}
6 | .wi-wind-beaufort-5:before {content: @wind-beaufort-5;}
7 | .wi-wind-beaufort-6:before {content: @wind-beaufort-6;}
8 | .wi-wind-beaufort-7:before {content: @wind-beaufort-7;}
9 | .wi-wind-beaufort-8:before {content: @wind-beaufort-8;}
10 | .wi-wind-beaufort-9:before {content: @wind-beaufort-9;}
11 | .wi-wind-beaufort-10:before {content: @wind-beaufort-10;}
12 | .wi-wind-beaufort-11:before {content: @wind-beaufort-11;}
13 | .wi-wind-beaufort-12:before {content: @wind-beaufort-12;}
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-classes/classes-beaufort.scss:
--------------------------------------------------------------------------------
1 | .wi-wind-beaufort-0:before {content: $wind-beaufort-0;}
2 | .wi-wind-beaufort-1:before {content: $wind-beaufort-1;}
3 | .wi-wind-beaufort-2:before {content: $wind-beaufort-2;}
4 | .wi-wind-beaufort-3:before {content: $wind-beaufort-3;}
5 | .wi-wind-beaufort-4:before {content: $wind-beaufort-4;}
6 | .wi-wind-beaufort-5:before {content: $wind-beaufort-5;}
7 | .wi-wind-beaufort-6:before {content: $wind-beaufort-6;}
8 | .wi-wind-beaufort-7:before {content: $wind-beaufort-7;}
9 | .wi-wind-beaufort-8:before {content: $wind-beaufort-8;}
10 | .wi-wind-beaufort-9:before {content: $wind-beaufort-9;}
11 | .wi-wind-beaufort-10:before {content: $wind-beaufort-10;}
12 | .wi-wind-beaufort-11:before {content: $wind-beaufort-11;}
13 | .wi-wind-beaufort-12:before {content: $wind-beaufort-12;}
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-classes/classes-beaufort.less:
--------------------------------------------------------------------------------
1 | .wi-wind-beaufort-0:before {content: @wind-beaufort-0;}
2 | .wi-wind-beaufort-1:before {content: @wind-beaufort-1;}
3 | .wi-wind-beaufort-2:before {content: @wind-beaufort-2;}
4 | .wi-wind-beaufort-3:before {content: @wind-beaufort-3;}
5 | .wi-wind-beaufort-4:before {content: @wind-beaufort-4;}
6 | .wi-wind-beaufort-5:before {content: @wind-beaufort-5;}
7 | .wi-wind-beaufort-6:before {content: @wind-beaufort-6;}
8 | .wi-wind-beaufort-7:before {content: @wind-beaufort-7;}
9 | .wi-wind-beaufort-8:before {content: @wind-beaufort-8;}
10 | .wi-wind-beaufort-9:before {content: @wind-beaufort-9;}
11 | .wi-wind-beaufort-10:before {content: @wind-beaufort-10;}
12 | .wi-wind-beaufort-11:before {content: @wind-beaufort-11;}
13 | .wi-wind-beaufort-12:before {content: @wind-beaufort-12;}
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-classes/classes-beaufort.scss:
--------------------------------------------------------------------------------
1 | .wi-wind-beaufort-0:before {content: $wind-beaufort-0;}
2 | .wi-wind-beaufort-1:before {content: $wind-beaufort-1;}
3 | .wi-wind-beaufort-2:before {content: $wind-beaufort-2;}
4 | .wi-wind-beaufort-3:before {content: $wind-beaufort-3;}
5 | .wi-wind-beaufort-4:before {content: $wind-beaufort-4;}
6 | .wi-wind-beaufort-5:before {content: $wind-beaufort-5;}
7 | .wi-wind-beaufort-6:before {content: $wind-beaufort-6;}
8 | .wi-wind-beaufort-7:before {content: $wind-beaufort-7;}
9 | .wi-wind-beaufort-8:before {content: $wind-beaufort-8;}
10 | .wi-wind-beaufort-9:before {content: $wind-beaufort-9;}
11 | .wi-wind-beaufort-10:before {content: $wind-beaufort-10;}
12 | .wi-wind-beaufort-11:before {content: $wind-beaufort-11;}
13 | .wi-wind-beaufort-12:before {content: $wind-beaufort-12;}
--------------------------------------------------------------------------------
/scripts/test.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Do this as the first thing so that any code reading it knows the right env.
4 | process.env.BABEL_ENV = 'test';
5 | process.env.NODE_ENV = 'test';
6 | process.env.PUBLIC_URL = '';
7 |
8 | // Makes the script crash on unhandled rejections instead of silently
9 | // ignoring them. In the future, promise rejections that are not handled will
10 | // terminate the Node.js process with a non-zero exit code.
11 | process.on('unhandledRejection', err => {
12 | throw err;
13 | });
14 |
15 | // Ensure environment variables are read.
16 | require('../config/env');
17 |
18 | const jest = require('jest');
19 | const argv = process.argv.slice(2);
20 |
21 | // Watch unless on CI or in coverage mode
22 | if (!process.env.CI && argv.indexOf('--coverage') < 0) {
23 | argv.push('--watch');
24 | }
25 |
26 |
27 | jest.run(argv);
28 |
--------------------------------------------------------------------------------
/src/components/utils/validation/selectField.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | const selectField = ({
3 | input,
4 | label,
5 | selects,
6 | meta: { touched, error, warning }
7 | }) => (
8 |
9 |
10 | {label}
11 |
18 |
19 | {touched &&
20 | ((error &&
{error}
) ||
21 | (warning &&
{warning}
))}
22 |
23 | )
24 |
25 | export default selectField;
26 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/components/utils/validation/inputField.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const inputField = ({
4 | input,
5 | label,
6 | type,
7 | meta: { touched, error, warning,asyncValidating }
8 | }) => (
9 |
10 |
11 | {label}
12 |
13 | {asyncValidating &&
14 |
15 |
16 | }
17 |
18 | {touched &&
19 | ((error &&
{error}
) ||
20 | (warning &&
{warning}
))}
21 |
22 | )
23 |
24 | export default inputField;
25 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/store/configureStore.prod.js:
--------------------------------------------------------------------------------
1 | import {applyMiddleware, createStore, compose} from 'redux';
2 | import {routerMiddleware} from 'react-router-redux';
3 | import {history} from '../router/history';
4 |
5 | import thunk from 'redux-thunk';
6 |
7 | import rootReducer from '../reducers/rootReducer';
8 | // Create a history of your choosing (we're using a browser history in this case)
9 | // Build the middleware for intercepting and dispatching navigation actions
10 | const historyMiddleware = routerMiddleware(history);
11 |
12 |
13 | const middlewares = [
14 | thunk,
15 | historyMiddleware,
16 | ];
17 |
18 | const storeEnhancers = compose(
19 | applyMiddleware(...middlewares),
20 | );
21 |
22 | const configureStore = preloadedState => {
23 | const store = createStore(rootReducer, preloadedState, storeEnhancers);
24 | return store;
25 | }
26 | export default configureStore;
27 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "font-awesome",
3 | "description": "Font Awesome",
4 | "version": "4.2.0",
5 | "keywords": [],
6 | "homepage": "http://fontawesome.io",
7 | "dependencies": {},
8 | "devDependencies": {},
9 | "license": [
10 | "OFL-1.1",
11 | "MIT",
12 | "CC-BY-3.0"
13 | ],
14 | "main": [
15 | "./css/font-awesome.css",
16 | "./fonts/*"
17 | ],
18 | "ignore": [
19 | "*/.*",
20 | "*.json",
21 | "src",
22 | "*.yml",
23 | "Gemfile",
24 | "Gemfile.lock",
25 | "*.md"
26 | ],
27 | "_release": "4.2.0",
28 | "_resolution": {
29 | "type": "version",
30 | "tag": "v4.2.0",
31 | "commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74"
32 | },
33 | "_source": "git://github.com/FortAwesome/Font-Awesome.git",
34 | "_target": "~4.2.0",
35 | "_originalSource": "font-awesome"
36 | }
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "font-awesome",
3 | "description": "Font Awesome",
4 | "version": "4.2.0",
5 | "keywords": [],
6 | "homepage": "http://fontawesome.io",
7 | "dependencies": {},
8 | "devDependencies": {},
9 | "license": [
10 | "OFL-1.1",
11 | "MIT",
12 | "CC-BY-3.0"
13 | ],
14 | "main": [
15 | "./css/font-awesome.css",
16 | "./fonts/*"
17 | ],
18 | "ignore": [
19 | "*/.*",
20 | "*.json",
21 | "src",
22 | "*.yml",
23 | "Gemfile",
24 | "Gemfile.lock",
25 | "*.md"
26 | ],
27 | "_release": "4.2.0",
28 | "_resolution": {
29 | "type": "version",
30 | "tag": "v4.2.0",
31 | "commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74"
32 | },
33 | "_source": "git://github.com/FortAwesome/Font-Awesome.git",
34 | "_target": "~4.2.0",
35 | "_originalSource": "font-awesome"
36 | }
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/components/utils/MyDropzone.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import Dropzone from 'react-dropzone';
3 | class MyDropzone extends Component {
4 | render() {
5 | const { input,desc,accept } = this.props
6 | const onDrop = (files) => {
7 | input.onChange(files);
8 | };
9 | return (
10 |
11 | {({ isDragActive, isDragReject, acceptedFiles, rejectedFiles }) => {
12 | if (isDragActive) {
13 | return "This file is authorized";
14 | }
15 | if (isDragReject) {
16 | return "This file is not authorized";
17 | }
18 | return acceptedFiles.length || rejectedFiles.length
19 | ? `Accepted ${acceptedFiles.length}, rejected ${rejectedFiles.length} files`
20 | : desc;
21 | }}
22 |
23 | )
24 | }
25 | }
26 |
27 | export default MyDropzone;
28 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('../less/icons/font-awesome/fonts/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('../less/icons/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('../less/icons/font-awesome/fonts/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('../less/icons/font-awesome/fonts/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('../less/icons/font-awesome/fonts/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('../less/icons/font-awesome/fonts/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('../less/icons/font-awesome/fonts/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('../less/icons/font-awesome/fonts/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('../less/icons/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('../less/icons/font-awesome/fonts/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('../less/icons/font-awesome/fonts/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('../less/icons/font-awesome/fonts/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('../less/icons/font-awesome/fonts/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('../less/icons/font-awesome/fonts/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/components/demo/remoteSubmit/RemoteSubmitForm.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Field, reduxForm } from 'redux-form';
3 | import inputField from '../../utils/validation/inputField';
4 | import submit from './submit'
5 |
6 | const RemoteSubmitForm = props => {
7 | const { handleSubmit,error } = props;
8 | return(
9 |
18 | )
19 | }
20 |
21 | export default reduxForm({
22 | form: 'remoteSubmit', // a unique identifier for this form
23 | onSubmit: submit
24 | })(RemoteSubmitForm)
25 |
--------------------------------------------------------------------------------
/src/components/demo/fieldLevelValidation/validDesc.js:
--------------------------------------------------------------------------------
1 | export const required = value => (value ? undefined : 'Required');
2 |
3 | const nullValue = init => value => (value===init ? 'Required':undefined)
4 | export const nullValue1 = nullValue('-1');
5 |
6 | const maxLength = max => value =>
7 | value && value.length > max ? `Must be ${max} characters or less` : undefined;
8 | export const maxLength15 = maxLength(15);
9 |
10 | const minLength = min => value =>
11 | value && value.length < min ? `Must be ${min} characters or more` : undefined
12 | export const minLength2 = minLength(2)
13 |
14 | export const number = value =>
15 | value && isNaN(Number(value)) ? 'Must be a number' : undefined
16 |
17 | const minValue = min => value =>
18 | value && value < min ? `Must be at least ${min}` : undefined
19 | export const minValue18 = minValue(18)
20 |
21 | export const email = value =>
22 | value && !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(value)
23 | ? 'Invalid email address'
24 | : undefined
25 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-variables/variables-neutral.less:
--------------------------------------------------------------------------------
1 | @cloud: "\f041";
2 | @cloudy: "\f013";
3 | @cloudy-gusts: "\f011";
4 | @cloudy-windy: "\f012";
5 | @fog: "\f014";
6 | @hail: "\f015";
7 | @rain: "\f019";
8 | @rain-mix: "\f017";
9 | @rain-wind: "\f018";
10 | @showers: "\f01a";
11 | @sleet: "\f0b5";
12 | @snow: "\f01b";
13 | @sprinkle: "\f01c";
14 | @storm-showers: "\f01d";
15 | @thunderstorm: "\f01e";
16 | @snow-wind: "\f064";
17 | @snow: "\f01b";
18 | @smog: "\f074";
19 | @smoke: "\f062";
20 | @lightning: "\f016";
21 | @raindrops: "\f04e";
22 | @raindrop: "\f078";
23 | @dust: "\f063";
24 | @snowflake-cold: "\f076";
25 | @windy: "\f021";
26 | @strong-wind: "\f050";
27 | @sandstorm: "\f082";
28 | @earthquake: "\f0c6";
29 | @fire: "\f0c7";
30 | @flood: "\f07c";
31 | @meteor: "\f071";
32 | @tsunami: "\f0c5";
33 | @volcano: "\f0c8";
34 | @hurricane: "\f073";
35 | @tornado: "\f056";
36 | @small-craft-advisory: "\f0cc";
37 | @gale-warning: "\f0cd";
38 | @storm-warning: "\f0ce";
39 | @hurricane-warning: "\f0cf";
40 | @wind-direction: "\f0b1";
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-variables/variables-neutral.scss:
--------------------------------------------------------------------------------
1 | $cloud: "\f041";
2 | $cloudy: "\f013";
3 | $cloudy-gusts: "\f011";
4 | $cloudy-windy: "\f012";
5 | $fog: "\f014";
6 | $hail: "\f015";
7 | $rain: "\f019";
8 | $rain-mix: "\f017";
9 | $rain-wind: "\f018";
10 | $showers: "\f01a";
11 | $sleet: "\f0b5";
12 | $snow: "\f01b";
13 | $sprinkle: "\f01c";
14 | $storm-showers: "\f01d";
15 | $thunderstorm: "\f01e";
16 | $snow-wind: "\f064";
17 | $snow: "\f01b";
18 | $smog: "\f074";
19 | $smoke: "\f062";
20 | $lightning: "\f016";
21 | $raindrops: "\f04e";
22 | $raindrop: "\f078";
23 | $dust: "\f063";
24 | $snowflake-cold: "\f076";
25 | $windy: "\f021";
26 | $strong-wind: "\f050";
27 | $sandstorm: "\f082";
28 | $earthquake: "\f0c6";
29 | $fire: "\f0c7";
30 | $flood: "\f07c";
31 | $meteor: "\f071";
32 | $tsunami: "\f0c5";
33 | $volcano: "\f0c8";
34 | $hurricane: "\f073";
35 | $tornado: "\f056";
36 | $small-craft-advisory: "\f0cc";
37 | $gale-warning: "\f0cd";
38 | $storm-warning: "\f0ce";
39 | $hurricane-warning: "\f0cf";
40 | $wind-direction: "\f0b1";
--------------------------------------------------------------------------------
/src/components/demo/syncValidation/validDesc.js:
--------------------------------------------------------------------------------
1 | export const validate = values => {
2 | const errors = {}
3 | if (!values.username) {
4 | errors.username = 'Required'
5 | } else if (values.username.length > 15) {
6 | errors.username = 'Must be 15 characters or less'
7 | }
8 |
9 | if (!values.email) {
10 | errors.email = 'Required'
11 | } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(values.email)) {
12 | errors.email = 'Invalid email address'
13 | }
14 |
15 | if (!values.age) {
16 | errors.age = 'Required'
17 | } else if (isNaN(Number(values.age))) {
18 | errors.age = 'Must be a number'
19 | } else if (Number(values.age) < 18) {
20 | errors.age = 'Sorry, you must be at least 18 years old'
21 | }
22 |
23 | if (!values.sex) {
24 | errors.sex = 'Required'
25 | }
26 |
27 | if (!values.notes) {
28 | errors.notes = 'Required'
29 | }
30 |
31 | if (!values.favoriteColor || values.favoriteColor==='-1') {
32 | errors.favoriteColor = 'Required'
33 | }
34 | return errors
35 | }
36 |
--------------------------------------------------------------------------------
/src/components/demo/wizard/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import WizardForm from './WizardForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class Wizard extends Component {
6 | onSubmit = (value) => {
7 | console.log("Wizard onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Wizard Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default Wizard;
33 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-variables/variables-neutral.less:
--------------------------------------------------------------------------------
1 | @cloud: "\f041";
2 | @cloudy: "\f013";
3 | @cloudy-gusts: "\f011";
4 | @cloudy-windy: "\f012";
5 | @fog: "\f014";
6 | @hail: "\f015";
7 | @rain: "\f019";
8 | @rain-mix: "\f017";
9 | @rain-wind: "\f018";
10 | @showers: "\f01a";
11 | @sleet: "\f0b5";
12 | @snow: "\f01b";
13 | @sprinkle: "\f01c";
14 | @storm-showers: "\f01d";
15 | @thunderstorm: "\f01e";
16 | @snow-wind: "\f064";
17 | @snow: "\f01b";
18 | @smog: "\f074";
19 | @smoke: "\f062";
20 | @lightning: "\f016";
21 | @raindrops: "\f04e";
22 | @raindrop: "\f078";
23 | @dust: "\f063";
24 | @snowflake-cold: "\f076";
25 | @windy: "\f021";
26 | @strong-wind: "\f050";
27 | @sandstorm: "\f082";
28 | @earthquake: "\f0c6";
29 | @fire: "\f0c7";
30 | @flood: "\f07c";
31 | @meteor: "\f071";
32 | @tsunami: "\f0c5";
33 | @volcano: "\f0c8";
34 | @hurricane: "\f073";
35 | @tornado: "\f056";
36 | @small-craft-advisory: "\f0cc";
37 | @gale-warning: "\f0cd";
38 | @storm-warning: "\f0ce";
39 | @hurricane-warning: "\f0cf";
40 | @wind-direction: "\f0b1";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-variables/variables-neutral.scss:
--------------------------------------------------------------------------------
1 | $cloud: "\f041";
2 | $cloudy: "\f013";
3 | $cloudy-gusts: "\f011";
4 | $cloudy-windy: "\f012";
5 | $fog: "\f014";
6 | $hail: "\f015";
7 | $rain: "\f019";
8 | $rain-mix: "\f017";
9 | $rain-wind: "\f018";
10 | $showers: "\f01a";
11 | $sleet: "\f0b5";
12 | $snow: "\f01b";
13 | $sprinkle: "\f01c";
14 | $storm-showers: "\f01d";
15 | $thunderstorm: "\f01e";
16 | $snow-wind: "\f064";
17 | $snow: "\f01b";
18 | $smog: "\f074";
19 | $smoke: "\f062";
20 | $lightning: "\f016";
21 | $raindrops: "\f04e";
22 | $raindrop: "\f078";
23 | $dust: "\f063";
24 | $snowflake-cold: "\f076";
25 | $windy: "\f021";
26 | $strong-wind: "\f050";
27 | $sandstorm: "\f082";
28 | $earthquake: "\f0c6";
29 | $fire: "\f0c7";
30 | $flood: "\f07c";
31 | $meteor: "\f071";
32 | $tsunami: "\f0c5";
33 | $volcano: "\f0c8";
34 | $hurricane: "\f073";
35 | $tornado: "\f056";
36 | $small-craft-advisory: "\f0cc";
37 | $gale-warning: "\f0cd";
38 | $storm-warning: "\f0ce";
39 | $hurricane-warning: "\f0cf";
40 | $wind-direction: "\f0b1";
--------------------------------------------------------------------------------
/src/components/utils/validation/radioField.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 |
3 | class radioField extends Component {
4 |
5 | render(){
6 | const {
7 | input,
8 | type,
9 | label,
10 | meta: { touched, error, warning }
11 | } = this.props;
12 | return(
13 |
14 |
15 | {
16 | this.props.radios.map((item, i) => (
17 |
23 | ))
24 | }
25 |
30 |
31 | )
32 | }
33 | }
34 |
35 | export default radioField;
36 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/components/demo/fieldArrays/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import FieldArraysForm from './FieldArraysForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class FieldArray extends Component {
6 | onSubmit = (value) => {
7 | console.log("FieldArraysForm onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Field Arrays Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default FieldArray;
33 |
--------------------------------------------------------------------------------
/src/components/demo/remoteSubmit/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import RemoteSubmitForm from './RemoteSubmitForm';
3 | import RemoteSubmitButton from './RemoteSubmitButton';
4 | import {Values} from 'redux-form-website-template'
5 |
6 | class RemoteSubmit extends Component {
7 |
8 | render(){
9 | return (
10 |
11 |
12 |
13 |
14 |
15 |
Remote Validation Form
16 |
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default RemoteSubmit;
33 |
--------------------------------------------------------------------------------
/src/components/demo/wizard/WizardFormFirstPage.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Field, reduxForm } from 'redux-form'
3 | import validate from './validate'
4 | import inputField from '../../utils/validation/inputField'
5 |
6 | const WizardFormFirstPage = props => {
7 | const { handleSubmit } = props
8 | return (
9 |
26 | )
27 | }
28 |
29 | export default reduxForm({
30 | form: 'wizard', // <------ same form name
31 | destroyOnUnmount: false, // <------ preserve form data
32 | forceUnregisterOnUnmount: true, // <------ unregister fields on unmount
33 | validate
34 | })(WizardFormFirstPage)
35 |
--------------------------------------------------------------------------------
/src/components/demo/normalizing/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import FieldNormalizingForm from './FieldNormalizingForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class Normalizing extends Component {
6 | onSubmit = (value) => {
7 | console.log("Async onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Normalizing Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default Normalizing;
33 |
--------------------------------------------------------------------------------
/src/components/demo/asyncValidation/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import AsyncValidationForm from './AsyncValidationForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class AsyncValidation extends Component {
6 | onSubmit = (value) => {
7 | console.log("Async onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Async Validation Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default AsyncValidation;
33 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Ted Yuen
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-classes/classes-misc.less:
--------------------------------------------------------------------------------
1 | .wi-alien:before {content: @alien;}
2 | .wi-celsius:before {content: @celsius;}
3 | .wi-fahrenheit:before {content: @fahrenheit;}
4 | .wi-degrees:before {content: @degrees;}
5 | .wi-thermometer:before {content: @thermometer;}
6 | .wi-thermometer-exterior:before {content: @thermometer-exterior;}
7 | .wi-thermometer-internal:before {content: @thermometer-internal;}
8 | .wi-cloud-down:before {content: @cloud-down;}
9 | .wi-cloud-up:before {content: @cloud-up;}
10 | .wi-cloud-refresh:before {content: @cloud-refresh;}
11 | .wi-horizon:before {content: @horizon;}
12 | .wi-horizon-alt:before {content: @horizon-alt;}
13 | .wi-sunrise:before {content: @sunrise;}
14 | .wi-sunset:before {content: @sunset;}
15 | .wi-moonrise:before {content: @moonrise;}
16 | .wi-moonset:before {content: @moonset;}
17 | .wi-refresh:before {content: @refresh;}
18 | .wi-refresh-alt:before {content: @refresh-alt;}
19 | .wi-umbrella:before {content: @umbrella;}
20 | .wi-barometer:before {content: @barometer;}
21 | .wi-humidity:before {content: @humidity;}
22 | .wi-na:before {content: @na;}
23 | .wi-train:before {content: @train;}
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-classes/classes-misc.scss:
--------------------------------------------------------------------------------
1 | .wi-alien:before {content: $alien;}
2 | .wi-celsius:before {content: $celsius;}
3 | .wi-fahrenheit:before {content: $fahrenheit;}
4 | .wi-degrees:before {content: $degrees;}
5 | .wi-thermometer:before {content: $thermometer;}
6 | .wi-thermometer-exterior:before {content: $thermometer-exterior;}
7 | .wi-thermometer-internal:before {content: $thermometer-internal;}
8 | .wi-cloud-down:before {content: $cloud-down;}
9 | .wi-cloud-up:before {content: $cloud-up;}
10 | .wi-cloud-refresh:before {content: $cloud-refresh;}
11 | .wi-horizon:before {content: $horizon;}
12 | .wi-horizon-alt:before {content: $horizon-alt;}
13 | .wi-sunrise:before {content: $sunrise;}
14 | .wi-sunset:before {content: $sunset;}
15 | .wi-moonrise:before {content: $moonrise;}
16 | .wi-moonset:before {content: $moonset;}
17 | .wi-refresh:before {content: $refresh;}
18 | .wi-refresh-alt:before {content: $refresh-alt;}
19 | .wi-umbrella:before {content: $umbrella;}
20 | .wi-barometer:before {content: $barometer;}
21 | .wi-humidity:before {content: $humidity;}
22 | .wi-na:before {content: $na;}
23 | .wi-train:before {content: $train;}
--------------------------------------------------------------------------------
/src/components/demo/syncValidation/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import SyncValidationForm from './SyncValidationForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class SyncValidation extends Component {
6 | onSubmit = (value) => {
7 | console.log("Simple onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Sync Validation Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default SyncValidation;
33 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-classes/classes-misc.less:
--------------------------------------------------------------------------------
1 | .wi-alien:before {content: @alien;}
2 | .wi-celsius:before {content: @celsius;}
3 | .wi-fahrenheit:before {content: @fahrenheit;}
4 | .wi-degrees:before {content: @degrees;}
5 | .wi-thermometer:before {content: @thermometer;}
6 | .wi-thermometer-exterior:before {content: @thermometer-exterior;}
7 | .wi-thermometer-internal:before {content: @thermometer-internal;}
8 | .wi-cloud-down:before {content: @cloud-down;}
9 | .wi-cloud-up:before {content: @cloud-up;}
10 | .wi-cloud-refresh:before {content: @cloud-refresh;}
11 | .wi-horizon:before {content: @horizon;}
12 | .wi-horizon-alt:before {content: @horizon-alt;}
13 | .wi-sunrise:before {content: @sunrise;}
14 | .wi-sunset:before {content: @sunset;}
15 | .wi-moonrise:before {content: @moonrise;}
16 | .wi-moonset:before {content: @moonset;}
17 | .wi-refresh:before {content: @refresh;}
18 | .wi-refresh-alt:before {content: @refresh-alt;}
19 | .wi-umbrella:before {content: @umbrella;}
20 | .wi-barometer:before {content: @barometer;}
21 | .wi-humidity:before {content: @humidity;}
22 | .wi-na:before {content: @na;}
23 | .wi-train:before {content: @train;}
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-classes/classes-misc.scss:
--------------------------------------------------------------------------------
1 | .wi-alien:before {content: $alien;}
2 | .wi-celsius:before {content: $celsius;}
3 | .wi-fahrenheit:before {content: $fahrenheit;}
4 | .wi-degrees:before {content: $degrees;}
5 | .wi-thermometer:before {content: $thermometer;}
6 | .wi-thermometer-exterior:before {content: $thermometer-exterior;}
7 | .wi-thermometer-internal:before {content: $thermometer-internal;}
8 | .wi-cloud-down:before {content: $cloud-down;}
9 | .wi-cloud-up:before {content: $cloud-up;}
10 | .wi-cloud-refresh:before {content: $cloud-refresh;}
11 | .wi-horizon:before {content: $horizon;}
12 | .wi-horizon-alt:before {content: $horizon-alt;}
13 | .wi-sunrise:before {content: $sunrise;}
14 | .wi-sunset:before {content: $sunset;}
15 | .wi-moonrise:before {content: $moonrise;}
16 | .wi-moonset:before {content: $moonset;}
17 | .wi-refresh:before {content: $refresh;}
18 | .wi-refresh-alt:before {content: $refresh-alt;}
19 | .wi-umbrella:before {content: $umbrella;}
20 | .wi-barometer:before {content: $barometer;}
21 | .wi-humidity:before {content: $humidity;}
22 | .wi-na:before {content: $na;}
23 | .wi-train:before {content: $train;}
--------------------------------------------------------------------------------
/src/components/demo/fieldArrays/renderHobbies.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Field } from 'redux-form'
3 | import inputField from '../../utils/validation/inputField';
4 |
5 | const renderHobbies = ({ fields, meta: { error } }) => (
6 |
28 | )
29 |
30 | export default renderHobbies;
31 |
--------------------------------------------------------------------------------
/src/components/demo/submitValidation/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import SubmitValidationForm from './SubmitValidationForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class SubmitValidation extends Component {
6 | onSubmit = (value) => {
7 | console.log("Submit onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Submit Validation Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default SubmitValidation;
33 |
--------------------------------------------------------------------------------
/src/router/MainRouter.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import {Route} from 'react-router-dom'
3 |
4 | import '../style/node/bootstrap.min.css'
5 | import '../style/node/jquery.toast.min.css'
6 | import '../style/node/metisMenu.min.css'
7 | import '../style/pixel/animate.css'
8 | import '../style/pixel/style.css'
9 | import '../style/pixel/colors/purple.css'
10 | import '../style/node/bootstrap-datepicker.min.css'
11 | import '../style/node/dropify.min.css'
12 | import '../style/node/morris.css'
13 | import '../style/node/wizard.css'
14 | import '../style/node/dropzone.css'
15 | import '../style/node/magnific-popup.css'
16 | import '../style/node/multi-select.css'
17 |
18 | import RouteWithSubRoutes from './RouteWithSubRoutes';
19 | import routes from './routeConfig';
20 | import RouteRoot from '../components/common/content/RouteRoot';
21 |
22 | class MainRouter extends React.Component {
23 |
24 | render() {
25 | return(
26 |
27 |
28 | {routes.map((route, i) => (
29 |
30 | ))}
31 |
32 | )
33 | }
34 | }
35 |
36 | export { MainRouter };
37 |
--------------------------------------------------------------------------------
/src/components/demo/initializeFromState/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import InitializeFromStateForm from './InitializeFromStateForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class InitializeFromState extends Component {
6 | onSubmit = (value) => {
7 | console.log("Async onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Initialize From State Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default InitializeFromState;
33 |
--------------------------------------------------------------------------------
/src/components/demo/selectingFormValues/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import SelectingFormValuesForm from './SelectingFormValuesForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class SelectingFormValues extends Component {
6 | onSubmit = (value) => {
7 | console.log("Async onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Selecting Form Values Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default SelectingFormValues;
33 |
--------------------------------------------------------------------------------
/src/components/demo/fieldLevelValidation/view.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import FieldLevelValidationForm from './FieldLevelValidationForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class FieldLevelValidation extends Component {
6 | onSubmit = (value) => {
7 | console.log("Field Level onSubmit: "+JSON.stringify(value));
8 | }
9 | render(){
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
Field-Level Validation Form
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 | )
29 | }
30 | }
31 |
32 | export default FieldLevelValidation;
33 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/mappings/wi-forecast-io.less:
--------------------------------------------------------------------------------
1 | .@{wi-css-prefix}-forecast-io-clear-day:before { content: @day-sunny ; }
2 | .@{wi-css-prefix}-forecast-io-clear-night:before { content: @night-clear ; }
3 | .@{wi-css-prefix}-forecast-io-rain:before { content: @rain ; }
4 | .@{wi-css-prefix}-forecast-io-snow:before { content: @snow ; }
5 | .@{wi-css-prefix}-forecast-io-sleet:before { content: @sleet ; }
6 | .@{wi-css-prefix}-forecast-io-wind:before { content: @strong-wind ; }
7 | .@{wi-css-prefix}-forecast-io-fog:before { content: @fog ; }
8 | .@{wi-css-prefix}-forecast-io-cloudy:before { content: @cloudy ; }
9 | .@{wi-css-prefix}-forecast-io-partly-cloudy-day:before { content: @day-cloudy ; }
10 | .@{wi-css-prefix}-forecast-io-partly-cloudy-night:before { content: @night-cloudy ; }
11 | .@{wi-css-prefix}-forecast-io-hail:before { content: @hail ; }
12 | .@{wi-css-prefix}-forecast-io-thunderstorm:before { content: @thunderstorm ; }
13 | .@{wi-css-prefix}-forecast-io-tornado:before { content: @tornado ; }
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/mappings/wi-forecast-io.less:
--------------------------------------------------------------------------------
1 | .@{wi-css-prefix}-forecast-io-clear-day:before { content: @day-sunny ; }
2 | .@{wi-css-prefix}-forecast-io-clear-night:before { content: @night-clear ; }
3 | .@{wi-css-prefix}-forecast-io-rain:before { content: @rain ; }
4 | .@{wi-css-prefix}-forecast-io-snow:before { content: @snow ; }
5 | .@{wi-css-prefix}-forecast-io-sleet:before { content: @sleet ; }
6 | .@{wi-css-prefix}-forecast-io-wind:before { content: @strong-wind ; }
7 | .@{wi-css-prefix}-forecast-io-fog:before { content: @fog ; }
8 | .@{wi-css-prefix}-forecast-io-cloudy:before { content: @cloudy ; }
9 | .@{wi-css-prefix}-forecast-io-partly-cloudy-day:before { content: @day-cloudy ; }
10 | .@{wi-css-prefix}-forecast-io-partly-cloudy-night:before { content: @night-cloudy ; }
11 | .@{wi-css-prefix}-forecast-io-hail:before { content: @hail ; }
12 | .@{wi-css-prefix}-forecast-io-thunderstorm:before { content: @thunderstorm ; }
13 | .@{wi-css-prefix}-forecast-io-tornado:before { content: @tornado ; }
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/mappings/wi-forecast-io.scss:
--------------------------------------------------------------------------------
1 | .#{$wi-css-prefix}-forecast-io-clear-day:before { content: $day-sunny ; }
2 | .#{$wi-css-prefix}-forecast-io-clear-night:before { content: $night-clear ; }
3 | .#{$wi-css-prefix}-forecast-io-rain:before { content: $rain ; }
4 | .#{$wi-css-prefix}-forecast-io-snow:before { content: $snow ; }
5 | .#{$wi-css-prefix}-forecast-io-sleet:before { content: $sleet ; }
6 | .#{$wi-css-prefix}-forecast-io-wind:before { content: $strong-wind ; }
7 | .#{$wi-css-prefix}-forecast-io-fog:before { content: $fog ; }
8 | .#{$wi-css-prefix}-forecast-io-cloudy:before { content: $cloudy ; }
9 | .#{$wi-css-prefix}-forecast-io-partly-cloudy-day:before { content: $day-cloudy ; }
10 | .#{$wi-css-prefix}-forecast-io-partly-cloudy-night:before { content: $night-cloudy ; }
11 | .#{$wi-css-prefix}-forecast-io-hail:before { content: $hail ; }
12 | .#{$wi-css-prefix}-forecast-io-thunderstorm:before { content: $thunderstorm ; }
13 | .#{$wi-css-prefix}-forecast-io-tornado:before { content: $tornado ; }
--------------------------------------------------------------------------------
/src/components/demo/submitValidation/SubmitValidationForm.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Field, reduxForm } from 'redux-form';
3 | import inputField from '../../utils/validation/inputField';
4 | import submit from './submit';
5 |
6 | const SubmitValidationForm = props => {
7 | const { handleSubmit, pristine, reset, submitting,error } = props;
8 | return(
9 |
20 | )
21 | }
22 |
23 | export default reduxForm({
24 | form: 'submitValidationForm', // a unique identifier for this form
25 | })(SubmitValidationForm)
26 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/mappings/wi-forecast-io.scss:
--------------------------------------------------------------------------------
1 | .#{$wi-css-prefix}-forecast-io-clear-day:before { content: $day-sunny ; }
2 | .#{$wi-css-prefix}-forecast-io-clear-night:before { content: $night-clear ; }
3 | .#{$wi-css-prefix}-forecast-io-rain:before { content: $rain ; }
4 | .#{$wi-css-prefix}-forecast-io-snow:before { content: $snow ; }
5 | .#{$wi-css-prefix}-forecast-io-sleet:before { content: $sleet ; }
6 | .#{$wi-css-prefix}-forecast-io-wind:before { content: $strong-wind ; }
7 | .#{$wi-css-prefix}-forecast-io-fog:before { content: $fog ; }
8 | .#{$wi-css-prefix}-forecast-io-cloudy:before { content: $cloudy ; }
9 | .#{$wi-css-prefix}-forecast-io-partly-cloudy-day:before { content: $day-cloudy ; }
10 | .#{$wi-css-prefix}-forecast-io-partly-cloudy-night:before { content: $night-cloudy ; }
11 | .#{$wi-css-prefix}-forecast-io-hail:before { content: $hail ; }
12 | .#{$wi-css-prefix}-forecast-io-thunderstorm:before { content: $thunderstorm ; }
13 | .#{$wi-css-prefix}-forecast-io-tornado:before { content: $tornado ; }
--------------------------------------------------------------------------------
/src/style/pixel/spinners.css:
--------------------------------------------------------------------------------
1 | .preloader {
2 | width: 100%;
3 | height: 31px;
4 | text-align: center;
5 | }
6 |
7 | .cssload-speeding-wheel {
8 | width: 31px;
9 | height: 31px;
10 | margin: 0 auto;
11 | border: 2px solid rgba(97,100,193,0.98);
12 | border-radius: 50%;
13 | border-left-color: transparent;
14 | border-right-color: transparent;
15 | animation: cssload-spin 425ms infinite linear;
16 | -o-animation: cssload-spin 425ms infinite linear;
17 | -ms-animation: cssload-spin 425ms infinite linear;
18 | -webkit-animation: cssload-spin 425ms infinite linear;
19 | -moz-animation: cssload-spin 425ms infinite linear;
20 | }
21 |
22 |
23 |
24 | @keyframes cssload-spin {
25 | 100%{ transform: rotate(360deg); transform: rotate(360deg); }
26 | }
27 |
28 | @-o-keyframes cssload-spin {
29 | 100%{ -o-transform: rotate(360deg); transform: rotate(360deg); }
30 | }
31 |
32 | @-ms-keyframes cssload-spin {
33 | 100%{ -ms-transform: rotate(360deg); transform: rotate(360deg); }
34 | }
35 |
36 | @-webkit-keyframes cssload-spin {
37 | 100%{ -webkit-transform: rotate(360deg); transform: rotate(360deg); }
38 | }
39 |
40 | @-moz-keyframes cssload-spin {
41 | 100%{ -moz-transform: rotate(360deg); transform: rotate(360deg); }
42 | }
43 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/weather-icons.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Weather Icons 2.0
3 | * Updated August 1, 2015
4 | * Weather themed icons for Bootstrap
5 | * Author - Erik Flowers - erik@helloerik.com
6 | * Email: erik@helloerik.com
7 | * Twitter: http://twitter.com/Erik_UX
8 | * ------------------------------------------------------------------------------
9 | * Maintained at http://erikflowers.github.io/weather-icons
10 | *
11 | * License
12 | * ------------------------------------------------------------------------------
13 | * - Font licensed under SIL OFL 1.1 -
14 | * http://scripts.sil.org/OFL
15 | * - CSS, LESS and SCSS are licensed under MIT License -
16 | * http://opensource.org/licenses/mit-license.html
17 | * - Documentation licensed under CC BY 3.0 -
18 | * http://creativecommons.org/licenses/by/3.0/
19 | * - Inspired by and works great as a companion with Font Awesome
20 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
21 | */
22 |
23 | @import 'weather-icons-core';
24 | @import 'weather-icons-variables';
25 | @import 'weather-icons-classes';
26 | // Mappings to various APIs
27 | @import "mappings/wi-yahoo";
28 | @import "mappings/wi-forecast-io";
29 | @import "mappings/wi-wmo4680";
30 | @import "mappings/wi-owm";
31 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/weather-icons.min.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Weather Icons 2.0
3 | * Updated August 1, 2015
4 | * Weather themed icons for Bootstrap
5 | * Author - Erik Flowers - erik@helloerik.com
6 | * Email: erik@helloerik.com
7 | * Twitter: http://twitter.com/Erik_UX
8 | * ------------------------------------------------------------------------------
9 | * Maintained at http://erikflowers.github.io/weather-icons
10 | *
11 | * License
12 | * ------------------------------------------------------------------------------
13 | * - Font licensed under SIL OFL 1.1 -
14 | * http://scripts.sil.org/OFL
15 | * - CSS, SCSS and LESS are licensed under MIT License -
16 | * http://opensource.org/licenses/mit-license.html
17 | * - Documentation licensed under CC BY 3.0 -
18 | * http://creativecommons.org/licenses/by/3.0/
19 | * - Inspired by and works great as a companion with Font Awesome
20 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
21 | */
22 |
23 | @import 'weather-icons-core';
24 | @import 'weather-icons-variables';
25 | @import 'weather-icons-classes';
26 | // Mappings to various APIs
27 | @import "mappings/wi-yahoo";
28 | @import "mappings/wi-forecast-io";
29 | @import "mappings/wi-wmo4680";
30 | @import "mappings/wi-owm";
31 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/weather-icons.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Weather Icons 2.0
3 | * Updated August 1, 2015
4 | * Weather themed icons for Bootstrap
5 | * Author - Erik Flowers - erik@helloerik.com
6 | * Email: erik@helloerik.com
7 | * Twitter: http://twitter.com/Erik_UX
8 | * ------------------------------------------------------------------------------
9 | * Maintained at http://erikflowers.github.io/weather-icons
10 | *
11 | * License
12 | * ------------------------------------------------------------------------------
13 | * - Font licensed under SIL OFL 1.1 -
14 | * http://scripts.sil.org/OFL
15 | * - CSS, SCSS and LESS are licensed under MIT License -
16 | * http://opensource.org/licenses/mit-license.html
17 | * - Documentation licensed under CC BY 3.0 -
18 | * http://creativecommons.org/licenses/by/3.0/
19 | * - Inspired by and works great as a companion with Font Awesome
20 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
21 | */
22 |
23 | @import "weather-icons-core.less";
24 | @import "weather-icons-variables.less";
25 | @import "weather-icons-classes.less";
26 | // Mappings to various APIs
27 | @import "mappings/wi-yahoo.less";
28 | @import "mappings/wi-forecast-io.less";
29 | @import "mappings/wi-wmo4680.less";
30 | @import "mappings/wi-owm.less";
31 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/weather-icons.min.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Weather Icons 2.0
3 | * Updated August 1, 2015
4 | * Weather themed icons for Bootstrap
5 | * Author - Erik Flowers - erik@helloerik.com
6 | * Email: erik@helloerik.com
7 | * Twitter: http://twitter.com/Erik_UX
8 | * ------------------------------------------------------------------------------
9 | * Maintained at http://erikflowers.github.io/weather-icons
10 | *
11 | * License
12 | * ------------------------------------------------------------------------------
13 | * - Font licensed under SIL OFL 1.1 -
14 | * http://scripts.sil.org/OFL
15 | * - CSS, SCSS and LESS are licensed under MIT License -
16 | * http://opensource.org/licenses/mit-license.html
17 | * - Documentation licensed under CC BY 3.0 -
18 | * http://creativecommons.org/licenses/by/3.0/
19 | * - Inspired by and works great as a companion with Font Awesome
20 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
21 | */
22 |
23 | @import "weather-icons-core.less";
24 | @import "weather-icons-variables.less";
25 | @import "weather-icons-classes.less";
26 | // Mappings to various APIs
27 | @import "mappings/wi-yahoo.less";
28 | @import "mappings/wi-forecast-io.less";
29 | @import "mappings/wi-wmo4680.less";
30 | @import "mappings/wi-owm.less";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/weather-icons.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Weather Icons 2.0
3 | * Updated August 1, 2015
4 | * Weather themed icons for Bootstrap
5 | * Author - Erik Flowers - erik@helloerik.com
6 | * Email: erik@helloerik.com
7 | * Twitter: http://twitter.com/Erik_UX
8 | * ------------------------------------------------------------------------------
9 | * Maintained at http://erikflowers.github.io/weather-icons
10 | *
11 | * License
12 | * ------------------------------------------------------------------------------
13 | * - Font licensed under SIL OFL 1.1 -
14 | * http://scripts.sil.org/OFL
15 | * - CSS, LESS and SCSS are licensed under MIT License -
16 | * http://opensource.org/licenses/mit-license.html
17 | * - Documentation licensed under CC BY 3.0 -
18 | * http://creativecommons.org/licenses/by/3.0/
19 | * - Inspired by and works great as a companion with Font Awesome
20 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
21 | */
22 |
23 | @import 'weather-icons-core.scss';
24 | @import 'weather-icons-variables.scss';
25 | @import 'weather-icons-classes.scss';
26 | // Mappings to various APIs
27 | @import "mappings/wi-yahoo.scss";
28 | @import "mappings/wi-forecast-io.scss";
29 | @import "mappings/wi-wmo4680.scss";
30 | @import "mappings/wi-owm.scss";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/weather-icons.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Weather Icons 2.0
3 | * Updated August 1, 2015
4 | * Weather themed icons for Bootstrap
5 | * Author - Erik Flowers - erik@helloerik.com
6 | * Email: erik@helloerik.com
7 | * Twitter: http://twitter.com/Erik_UX
8 | * ------------------------------------------------------------------------------
9 | * Maintained at http://erikflowers.github.io/weather-icons
10 | *
11 | * License
12 | * ------------------------------------------------------------------------------
13 | * - Font licensed under SIL OFL 1.1 -
14 | * http://scripts.sil.org/OFL
15 | * - CSS, SCSS and LESS are licensed under MIT License -
16 | * http://opensource.org/licenses/mit-license.html
17 | * - Documentation licensed under CC BY 3.0 -
18 | * http://creativecommons.org/licenses/by/3.0/
19 | * - Inspired by and works great as a companion with Font Awesome
20 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
21 | */
22 |
23 | @import "weather-icons-core.less";
24 | @import "weather-icons-variables.less";
25 | @import "weather-icons-classes.less";
26 | // Mappings to various APIs
27 | @import "mappings/wi-yahoo.less";
28 | @import "mappings/wi-forecast-io.less";
29 | @import "mappings/wi-wmo4680.less";
30 | @import "mappings/wi-owm.less";
31 |
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/weather-icons.min.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Weather Icons 2.0
3 | * Updated August 1, 2015
4 | * Weather themed icons for Bootstrap
5 | * Author - Erik Flowers - erik@helloerik.com
6 | * Email: erik@helloerik.com
7 | * Twitter: http://twitter.com/Erik_UX
8 | * ------------------------------------------------------------------------------
9 | * Maintained at http://erikflowers.github.io/weather-icons
10 | *
11 | * License
12 | * ------------------------------------------------------------------------------
13 | * - Font licensed under SIL OFL 1.1 -
14 | * http://scripts.sil.org/OFL
15 | * - CSS, SCSS and LESS are licensed under MIT License -
16 | * http://opensource.org/licenses/mit-license.html
17 | * - Documentation licensed under CC BY 3.0 -
18 | * http://creativecommons.org/licenses/by/3.0/
19 | * - Inspired by and works great as a companion with Font Awesome
20 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
21 | */
22 |
23 | @import "weather-icons-core.less";
24 | @import "weather-icons-variables.less";
25 | @import "weather-icons-classes.less";
26 | // Mappings to various APIs
27 | @import "mappings/wi-yahoo.less";
28 | @import "mappings/wi-forecast-io.less";
29 | @import "mappings/wi-wmo4680.less";
30 | @import "mappings/wi-owm.less";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/weather-icons.min.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Weather Icons 2.0
3 | * Updated August 1, 2015
4 | * Weather themed icons for Bootstrap
5 | * Author - Erik Flowers - erik@helloerik.com
6 | * Email: erik@helloerik.com
7 | * Twitter: http://twitter.com/Erik_UX
8 | * ------------------------------------------------------------------------------
9 | * Maintained at http://erikflowers.github.io/weather-icons
10 | *
11 | * License
12 | * ------------------------------------------------------------------------------
13 | * - Font licensed under SIL OFL 1.1 -
14 | * http://scripts.sil.org/OFL
15 | * - CSS, SCSS and LESS are licensed under MIT License -
16 | * http://opensource.org/licenses/mit-license.html
17 | * - Documentation licensed under CC BY 3.0 -
18 | * http://creativecommons.org/licenses/by/3.0/
19 | * - Inspired by and works great as a companion with Font Awesome
20 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
21 | */
22 |
23 | @import 'weather-icons-core.scss';
24 | @import 'weather-icons-variables.scss';
25 | @import 'weather-icons-classes.scss';
26 | // Mappings to various APIs
27 | @import "mappings/wi-yahoo.scss";
28 | @import "mappings/wi-forecast-io.scss";
29 | @import "mappings/wi-wmo4680.scss";
30 | @import "mappings/wi-owm.scss";
--------------------------------------------------------------------------------
/src/style/pixel/variables.css:
--------------------------------------------------------------------------------
1 | /*@import 'https://fonts.googleapis.com/css?family=Rubik:300,400,500,700,900';*/
2 |
3 | .preloader {
4 | width: 100%;
5 | height: 100%;
6 | top: 0;
7 | position: fixed;
8 | z-index: 99999;
9 | background: #fff
10 | }
11 |
12 | .preloader .cssload-speeding-wheel {
13 | position: absolute;
14 | top: calc(50% - 3.5px);
15 | left: calc(50% - 3.5px)
16 | }
17 |
18 | @font-face {
19 | font-family:'Poppins';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/poppins/v1/2fCJtbhSlhNNa6S2xlh9GyEAvth_LlrfE80CYdSH47w.woff2) format('woff2');unicode-range:U+02BC,U+0900-097F,U+1CD0-1CF6,U+1CF8-1CF9,U+200B-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FB
20 | }
21 |
22 | @font-face {
23 | font-family:'Poppins';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/poppins/v1/UGh2YG8gx86rRGiAZYIbVyEAvth_LlrfE80CYdSH47w.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF
24 | }
25 |
26 | @font-face {
27 | font-family:'Poppins';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/poppins/v1/yQWaOD4iNU5NTY0apN-qj_k_vArhqVIZ0nv9q090hN8.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000
28 | }
29 |
--------------------------------------------------------------------------------
/src/components/demo/asyncValidation/AsyncValidationForm.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Field, reduxForm } from 'redux-form';
3 | import inputField from '../../utils/validation/inputField';
4 | import asyncValidate from './asyncValidate';
5 | import validate from './validate'
6 |
7 | const AsyncValidationForm = props => {
8 | const { handleSubmit, pristine, reset, submitting,error } = props;
9 | return(
10 |
21 | )
22 | }
23 |
24 | export default reduxForm({
25 | form: 'asyncValidationForm', // a unique identifier for this form
26 | validate,
27 | asyncValidate,
28 | asyncBlurFields: ['username']
29 | })(AsyncValidationForm)
30 |
--------------------------------------------------------------------------------
/src/style/node/wizard.css:
--------------------------------------------------------------------------------
1 | .hide {
2 | display: none;
3 | }
4 | .wizard-pane {
5 | position: absolute;
6 | opacity: 0;
7 | top: 0;
8 | visibility: hidden;
9 | transition: opacity 0.2s ease;
10 | }
11 | .wizard-pane.active {
12 | position: relative;
13 | visibility: visible;
14 | opacity: 1;
15 | }
16 | .wizard-pane.activing {
17 | visibility: visible;
18 | }
19 | .wizard-content {
20 | position: relative;
21 | padding: 0;
22 | transition: height 0.2s ease;
23 | }
24 | .current {
25 | color: blue !important;
26 | }
27 | .error {
28 | color: red !important;
29 | }
30 | .done {
31 | color: green !important;
32 | }
33 | .disabled {
34 | cursor: not-allowed !important;
35 | }
36 | .wizard-pane {
37 | padding: 10px;
38 | }
39 | .wizard-content {
40 | border: 1px solid #aaa;
41 | }
42 | .wizard-steps {
43 | padding: 0;
44 | margin: 0;
45 | list-style: none;
46 | }
47 | .wizard-steps > li {
48 | display: inline-block;
49 | padding: 5px 10px;
50 | cursor: pointer;
51 | color: #666;
52 | }
53 | .wizard-steps > li:hover {
54 | color: #333;
55 | }
56 | .wizard-buttons {
57 | margin-top: 10px;
58 | }
59 | .wizard-buttons > a {
60 | margin-right: 5px;
61 | padding: 5px 10px;
62 | border: 1px solid #aaa;
63 | border-radius: 20px;
64 | }
65 | .wizard-buttons > a.disabled {
66 | color: #aaa;
67 | border-color: #aaa;
68 | }
69 |
--------------------------------------------------------------------------------
/src/components/demo/simple/view.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from 'react';
2 | import SimpleForm from './SimpleForm';
3 | import {Values} from 'redux-form-website-template'
4 |
5 | class Simple extends Component {
6 | onSubmit = (value) => {
7 | if(value.inputfile1 !== undefined){
8 | console.log("inputfile1");
9 | console.log(value.inputfile1);
10 | }
11 | if(value.inputfile2 !== undefined){
12 | console.log("inputfile2");
13 | console.log("-------------");
14 | for (let file of value.inputfile2) {
15 | console.log(file);
16 | }
17 | console.log("-------------");
18 | }
19 | console.log("Simple onSubmit: "+JSON.stringify(value));
20 | }
21 | render(){
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
Simple Form
29 |
30 |
31 |
32 |
37 |
38 |
39 |
40 | )
41 | }
42 | }
43 |
44 | export default Simple;
45 |
--------------------------------------------------------------------------------
/src/components/demo/wizard/WizardForm.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react'
2 | import PropTypes from 'prop-types'
3 | import WizardFormFirstPage from './WizardFormFirstPage'
4 | import WizardFormSecondPage from './WizardFormSecondPage'
5 | import WizardFormThirdPage from './WizardFormThirdPage'
6 |
7 | class WizardForm extends Component {
8 | constructor(props) {
9 | super(props)
10 | this.nextPage = this.nextPage.bind(this)
11 | this.previousPage = this.previousPage.bind(this)
12 | this.state = {
13 | page: 1
14 | }
15 | }
16 | nextPage() {
17 | this.setState({ page: this.state.page + 1 })
18 | }
19 |
20 | previousPage() {
21 | this.setState({ page: this.state.page - 1 })
22 | }
23 |
24 | render() {
25 | const { onSubmit } = this.props
26 | const { page } = this.state
27 | return (
28 |
29 | {page === 1 && }
30 | {page === 2 &&
31 | }
35 | {page === 3 &&
36 | }
40 |
41 | )
42 | }
43 | }
44 |
45 | WizardForm.propTypes = {
46 | onSubmit: PropTypes.func.isRequired
47 | }
48 |
49 | export default WizardForm
50 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-classes/classes-day.less:
--------------------------------------------------------------------------------
1 | .wi-day-sunny:before {content: @day-sunny;}
2 | .wi-day-cloudy:before {content: @day-cloudy;}
3 | .wi-day-cloudy-gusts:before {content: @day-cloudy-gusts;}
4 | .wi-day-cloudy-windy:before {content: @day-cloudy-windy;}
5 | .wi-day-fog:before {content: @day-fog;}
6 | .wi-day-hail:before {content: @day-hail;}
7 | .wi-day-haze:before {content: @day-haze;}
8 | .wi-day-lightning:before {content: @day-lightning;}
9 | .wi-day-rain:before {content: @day-rain;}
10 | .wi-day-rain-mix:before {content: @day-rain-mix;}
11 | .wi-day-rain-wind:before {content: @day-rain-wind;}
12 | .wi-day-showers:before {content: @day-showers;}
13 | .wi-day-sleet:before {content: @day-sleet;}
14 | .wi-day-sleet-storm:before {content: @day-sleet-storm;}
15 | .wi-day-snow:before {content: @day-snow;}
16 | .wi-day-snow-thunderstorm:before {content: @day-snow-thunderstorm;}
17 | .wi-day-snow-wind:before {content: @day-snow-wind;}
18 | .wi-day-sprinkle:before {content: @day-sprinkle;}
19 | .wi-day-storm-showers:before {content: @day-storm-showers;}
20 | .wi-day-sunny-overcast:before {content: @day-sunny-overcast;}
21 | .wi-day-thunderstorm:before {content: @day-thunderstorm;}
22 | .wi-day-windy:before {content: @day-windy;}
23 | .wi-solar-eclipse:before {content: @solar-eclipse;}
24 | .wi-hot:before {content: @hot;}
25 | .wi-day-cloudy-high:before {content: @day-cloudy-high;}
26 | .wi-day-light-wind:before {content: @day-light-wind;}
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-classes/classes-day.scss:
--------------------------------------------------------------------------------
1 | .wi-day-sunny:before {content: $day-sunny;}
2 | .wi-day-cloudy:before {content: $day-cloudy;}
3 | .wi-day-cloudy-gusts:before {content: $day-cloudy-gusts;}
4 | .wi-day-cloudy-windy:before {content: $day-cloudy-windy;}
5 | .wi-day-fog:before {content: $day-fog;}
6 | .wi-day-hail:before {content: $day-hail;}
7 | .wi-day-haze:before {content: $day-haze;}
8 | .wi-day-lightning:before {content: $day-lightning;}
9 | .wi-day-rain:before {content: $day-rain;}
10 | .wi-day-rain-mix:before {content: $day-rain-mix;}
11 | .wi-day-rain-wind:before {content: $day-rain-wind;}
12 | .wi-day-showers:before {content: $day-showers;}
13 | .wi-day-sleet:before {content: $day-sleet;}
14 | .wi-day-sleet-storm:before {content: $day-sleet-storm;}
15 | .wi-day-snow:before {content: $day-snow;}
16 | .wi-day-snow-thunderstorm:before {content: $day-snow-thunderstorm;}
17 | .wi-day-snow-wind:before {content: $day-snow-wind;}
18 | .wi-day-sprinkle:before {content: $day-sprinkle;}
19 | .wi-day-storm-showers:before {content: $day-storm-showers;}
20 | .wi-day-sunny-overcast:before {content: $day-sunny-overcast;}
21 | .wi-day-thunderstorm:before {content: $day-thunderstorm;}
22 | .wi-day-windy:before {content: $day-windy;}
23 | .wi-solar-eclipse:before {content: $solar-eclipse;}
24 | .wi-hot:before {content: $hot;}
25 | .wi-day-cloudy-high:before {content: $day-cloudy-high;}
26 | .wi-day-light-wind:before {content: $day-light-wind;}
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-classes/classes-day.less:
--------------------------------------------------------------------------------
1 | .wi-day-sunny:before {content: @day-sunny;}
2 | .wi-day-cloudy:before {content: @day-cloudy;}
3 | .wi-day-cloudy-gusts:before {content: @day-cloudy-gusts;}
4 | .wi-day-cloudy-windy:before {content: @day-cloudy-windy;}
5 | .wi-day-fog:before {content: @day-fog;}
6 | .wi-day-hail:before {content: @day-hail;}
7 | .wi-day-haze:before {content: @day-haze;}
8 | .wi-day-lightning:before {content: @day-lightning;}
9 | .wi-day-rain:before {content: @day-rain;}
10 | .wi-day-rain-mix:before {content: @day-rain-mix;}
11 | .wi-day-rain-wind:before {content: @day-rain-wind;}
12 | .wi-day-showers:before {content: @day-showers;}
13 | .wi-day-sleet:before {content: @day-sleet;}
14 | .wi-day-sleet-storm:before {content: @day-sleet-storm;}
15 | .wi-day-snow:before {content: @day-snow;}
16 | .wi-day-snow-thunderstorm:before {content: @day-snow-thunderstorm;}
17 | .wi-day-snow-wind:before {content: @day-snow-wind;}
18 | .wi-day-sprinkle:before {content: @day-sprinkle;}
19 | .wi-day-storm-showers:before {content: @day-storm-showers;}
20 | .wi-day-sunny-overcast:before {content: @day-sunny-overcast;}
21 | .wi-day-thunderstorm:before {content: @day-thunderstorm;}
22 | .wi-day-windy:before {content: @day-windy;}
23 | .wi-solar-eclipse:before {content: @solar-eclipse;}
24 | .wi-hot:before {content: @hot;}
25 | .wi-day-cloudy-high:before {content: @day-cloudy-high;}
26 | .wi-day-light-wind:before {content: @day-light-wind;}
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-classes/classes-day.scss:
--------------------------------------------------------------------------------
1 | .wi-day-sunny:before {content: $day-sunny;}
2 | .wi-day-cloudy:before {content: $day-cloudy;}
3 | .wi-day-cloudy-gusts:before {content: $day-cloudy-gusts;}
4 | .wi-day-cloudy-windy:before {content: $day-cloudy-windy;}
5 | .wi-day-fog:before {content: $day-fog;}
6 | .wi-day-hail:before {content: $day-hail;}
7 | .wi-day-haze:before {content: $day-haze;}
8 | .wi-day-lightning:before {content: $day-lightning;}
9 | .wi-day-rain:before {content: $day-rain;}
10 | .wi-day-rain-mix:before {content: $day-rain-mix;}
11 | .wi-day-rain-wind:before {content: $day-rain-wind;}
12 | .wi-day-showers:before {content: $day-showers;}
13 | .wi-day-sleet:before {content: $day-sleet;}
14 | .wi-day-sleet-storm:before {content: $day-sleet-storm;}
15 | .wi-day-snow:before {content: $day-snow;}
16 | .wi-day-snow-thunderstorm:before {content: $day-snow-thunderstorm;}
17 | .wi-day-snow-wind:before {content: $day-snow-wind;}
18 | .wi-day-sprinkle:before {content: $day-sprinkle;}
19 | .wi-day-storm-showers:before {content: $day-storm-showers;}
20 | .wi-day-sunny-overcast:before {content: $day-sunny-overcast;}
21 | .wi-day-thunderstorm:before {content: $day-thunderstorm;}
22 | .wi-day-windy:before {content: $day-windy;}
23 | .wi-solar-eclipse:before {content: $solar-eclipse;}
24 | .wi-hot:before {content: $hot;}
25 | .wi-day-cloudy-high:before {content: $day-cloudy-high;}
26 | .wi-day-light-wind:before {content: $day-light-wind;}
--------------------------------------------------------------------------------
/src/style/icons/font-awesome/scss/_extras.scss:
--------------------------------------------------------------------------------
1 | /* EXTRAS
2 | * -------------------------- */
3 |
4 | /* Stacked and layered icon */
5 |
6 | /* Animated rotating icon */
7 | .#{$fa-css-prefix}-spin {
8 | -webkit-animation: spin 2s infinite linear;
9 | -moz-animation: spin 2s infinite linear;
10 | -o-animation: spin 2s infinite linear;
11 | animation: spin 2s infinite linear;
12 | }
13 |
14 | @-moz-keyframes spin {
15 | 0% { -moz-transform: rotate(0deg); }
16 | 100% { -moz-transform: rotate(359deg); }
17 | }
18 | @-webkit-keyframes spin {
19 | 0% { -webkit-transform: rotate(0deg); }
20 | 100% { -webkit-transform: rotate(359deg); }
21 | }
22 | @-o-keyframes spin {
23 | 0% { -o-transform: rotate(0deg); }
24 | 100% { -o-transform: rotate(359deg); }
25 | }
26 | @-ms-keyframes spin {
27 | 0% { -ms-transform: rotate(0deg); }
28 | 100% { -ms-transform: rotate(359deg); }
29 | }
30 | @keyframes spin {
31 | 0% { transform: rotate(0deg); }
32 | 100% { transform: rotate(359deg); }
33 | }
34 |
35 |
36 | // Icon rotations & flipping
37 | // -------------------------
38 |
39 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
40 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
41 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
42 |
43 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
44 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
45 |
--------------------------------------------------------------------------------
/src/style/less/icons/font-awesome/scss/_extras.scss:
--------------------------------------------------------------------------------
1 | /* EXTRAS
2 | * -------------------------- */
3 |
4 | /* Stacked and layered icon */
5 |
6 | /* Animated rotating icon */
7 | .#{$fa-css-prefix}-spin {
8 | -webkit-animation: spin 2s infinite linear;
9 | -moz-animation: spin 2s infinite linear;
10 | -o-animation: spin 2s infinite linear;
11 | animation: spin 2s infinite linear;
12 | }
13 |
14 | @-moz-keyframes spin {
15 | 0% { -moz-transform: rotate(0deg); }
16 | 100% { -moz-transform: rotate(359deg); }
17 | }
18 | @-webkit-keyframes spin {
19 | 0% { -webkit-transform: rotate(0deg); }
20 | 100% { -webkit-transform: rotate(359deg); }
21 | }
22 | @-o-keyframes spin {
23 | 0% { -o-transform: rotate(0deg); }
24 | 100% { -o-transform: rotate(359deg); }
25 | }
26 | @-ms-keyframes spin {
27 | 0% { -ms-transform: rotate(0deg); }
28 | 100% { -ms-transform: rotate(359deg); }
29 | }
30 | @keyframes spin {
31 | 0% { transform: rotate(0deg); }
32 | 100% { transform: rotate(359deg); }
33 | }
34 |
35 |
36 | // Icon rotations & flipping
37 | // -------------------------
38 |
39 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
40 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
41 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
42 |
43 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
44 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
45 |
--------------------------------------------------------------------------------
/src/components/demo/wizard/WizardFormSecondPage.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Field, reduxForm } from 'redux-form'
3 | import validate from './validate'
4 | import inputField from '../../utils/validation/inputField'
5 |
6 | const WizardFormSecondPage = props => {
7 | const { handleSubmit, previousPage } = props
8 | return (
9 |
29 | )
30 | }
31 |
32 | export default reduxForm({
33 | form: 'wizard', //Form name is same
34 | destroyOnUnmount: false,
35 | forceUnregisterOnUnmount: true, // <------ unregister fields on unmount
36 | validate
37 | })(WizardFormSecondPage)
38 |
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/less/icon-variables/variables-night.less:
--------------------------------------------------------------------------------
1 | @night-clear: "\f02e";
2 | @night-alt-cloudy: "\f086";
3 | @night-alt-cloudy-gusts: "\f022";
4 | @night-alt-cloudy-windy: "\f023";
5 | @night-alt-hail: "\f024";
6 | @night-alt-lightning: "\f025";
7 | @night-alt-rain: "\f028";
8 | @night-alt-rain-mix: "\f026";
9 | @night-alt-rain-wind: "\f027";
10 | @night-alt-showers: "\f029";
11 | @night-alt-sleet: "\f0b4";
12 | @night-alt-sleet-storm: "\f06a";
13 | @night-alt-snow: "\f02a";
14 | @night-alt-snow-thunderstorm: "\f06d";
15 | @night-alt-snow-wind: "\f067";
16 | @night-alt-sprinkle: "\f02b";
17 | @night-alt-storm-showers: "\f02c";
18 | @night-alt-thunderstorm: "\f02d";
19 | @night-cloudy: "\f031";
20 | @night-cloudy-gusts: "\f02f";
21 | @night-cloudy-windy: "\f030";
22 | @night-fog: "\f04a";
23 | @night-hail: "\f032";
24 | @night-lightning: "\f033";
25 | @night-partly-cloudy: "\f083";
26 | @night-rain: "\f036";
27 | @night-rain-mix: "\f034";
28 | @night-rain-wind: "\f035";
29 | @night-showers: "\f037";
30 | @night-sleet: "\f0b3";
31 | @night-sleet-storm: "\f069";
32 | @night-snow: "\f038";
33 | @night-snow-thunderstorm: "\f06c";
34 | @night-snow-wind: "\f066";
35 | @night-sprinkle: "\f039";
36 | @night-storm-showers: "\f03a";
37 | @night-thunderstorm: "\f03b";
38 | @lunar-eclipse: "\f070";
39 | @stars: "\f077";
40 | @storm-showers: "\f01d";
41 | @thunderstorm: "\f01e";
42 | @night-alt-cloudy-high: "\f07e";
43 | @night-cloudy-high: "\f080";
44 | @night-alt-partly-cloudy: "\f081";
--------------------------------------------------------------------------------
/src/style/icons/weather-icons/sass/icon-variables/variables-night.scss:
--------------------------------------------------------------------------------
1 | $night-clear: "\f02e";
2 | $night-alt-cloudy: "\f086";
3 | $night-alt-cloudy-gusts: "\f022";
4 | $night-alt-cloudy-windy: "\f023";
5 | $night-alt-hail: "\f024";
6 | $night-alt-lightning: "\f025";
7 | $night-alt-rain: "\f028";
8 | $night-alt-rain-mix: "\f026";
9 | $night-alt-rain-wind: "\f027";
10 | $night-alt-showers: "\f029";
11 | $night-alt-sleet: "\f0b4";
12 | $night-alt-sleet-storm: "\f06a";
13 | $night-alt-snow: "\f02a";
14 | $night-alt-snow-thunderstorm: "\f06d";
15 | $night-alt-snow-wind: "\f067";
16 | $night-alt-sprinkle: "\f02b";
17 | $night-alt-storm-showers: "\f02c";
18 | $night-alt-thunderstorm: "\f02d";
19 | $night-cloudy: "\f031";
20 | $night-cloudy-gusts: "\f02f";
21 | $night-cloudy-windy: "\f030";
22 | $night-fog: "\f04a";
23 | $night-hail: "\f032";
24 | $night-lightning: "\f033";
25 | $night-partly-cloudy: "\f083";
26 | $night-rain: "\f036";
27 | $night-rain-mix: "\f034";
28 | $night-rain-wind: "\f035";
29 | $night-showers: "\f037";
30 | $night-sleet: "\f0b3";
31 | $night-sleet-storm: "\f069";
32 | $night-snow: "\f038";
33 | $night-snow-thunderstorm: "\f06c";
34 | $night-snow-wind: "\f066";
35 | $night-sprinkle: "\f039";
36 | $night-storm-showers: "\f03a";
37 | $night-thunderstorm: "\f03b";
38 | $lunar-eclipse: "\f070";
39 | $stars: "\f077";
40 | $storm-showers: "\f01d";
41 | $thunderstorm: "\f01e";
42 | $night-alt-cloudy-high: "\f07e";
43 | $night-cloudy-high: "\f080";
44 | $night-alt-partly-cloudy: "\f081";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/less/icon-variables/variables-night.less:
--------------------------------------------------------------------------------
1 | @night-clear: "\f02e";
2 | @night-alt-cloudy: "\f086";
3 | @night-alt-cloudy-gusts: "\f022";
4 | @night-alt-cloudy-windy: "\f023";
5 | @night-alt-hail: "\f024";
6 | @night-alt-lightning: "\f025";
7 | @night-alt-rain: "\f028";
8 | @night-alt-rain-mix: "\f026";
9 | @night-alt-rain-wind: "\f027";
10 | @night-alt-showers: "\f029";
11 | @night-alt-sleet: "\f0b4";
12 | @night-alt-sleet-storm: "\f06a";
13 | @night-alt-snow: "\f02a";
14 | @night-alt-snow-thunderstorm: "\f06d";
15 | @night-alt-snow-wind: "\f067";
16 | @night-alt-sprinkle: "\f02b";
17 | @night-alt-storm-showers: "\f02c";
18 | @night-alt-thunderstorm: "\f02d";
19 | @night-cloudy: "\f031";
20 | @night-cloudy-gusts: "\f02f";
21 | @night-cloudy-windy: "\f030";
22 | @night-fog: "\f04a";
23 | @night-hail: "\f032";
24 | @night-lightning: "\f033";
25 | @night-partly-cloudy: "\f083";
26 | @night-rain: "\f036";
27 | @night-rain-mix: "\f034";
28 | @night-rain-wind: "\f035";
29 | @night-showers: "\f037";
30 | @night-sleet: "\f0b3";
31 | @night-sleet-storm: "\f069";
32 | @night-snow: "\f038";
33 | @night-snow-thunderstorm: "\f06c";
34 | @night-snow-wind: "\f066";
35 | @night-sprinkle: "\f039";
36 | @night-storm-showers: "\f03a";
37 | @night-thunderstorm: "\f03b";
38 | @lunar-eclipse: "\f070";
39 | @stars: "\f077";
40 | @storm-showers: "\f01d";
41 | @thunderstorm: "\f01e";
42 | @night-alt-cloudy-high: "\f07e";
43 | @night-cloudy-high: "\f080";
44 | @night-alt-partly-cloudy: "\f081";
--------------------------------------------------------------------------------
/src/style/less/icons/weather-icons/sass/icon-variables/variables-night.scss:
--------------------------------------------------------------------------------
1 | $night-clear: "\f02e";
2 | $night-alt-cloudy: "\f086";
3 | $night-alt-cloudy-gusts: "\f022";
4 | $night-alt-cloudy-windy: "\f023";
5 | $night-alt-hail: "\f024";
6 | $night-alt-lightning: "\f025";
7 | $night-alt-rain: "\f028";
8 | $night-alt-rain-mix: "\f026";
9 | $night-alt-rain-wind: "\f027";
10 | $night-alt-showers: "\f029";
11 | $night-alt-sleet: "\f0b4";
12 | $night-alt-sleet-storm: "\f06a";
13 | $night-alt-snow: "\f02a";
14 | $night-alt-snow-thunderstorm: "\f06d";
15 | $night-alt-snow-wind: "\f067";
16 | $night-alt-sprinkle: "\f02b";
17 | $night-alt-storm-showers: "\f02c";
18 | $night-alt-thunderstorm: "\f02d";
19 | $night-cloudy: "\f031";
20 | $night-cloudy-gusts: "\f02f";
21 | $night-cloudy-windy: "\f030";
22 | $night-fog: "\f04a";
23 | $night-hail: "\f032";
24 | $night-lightning: "\f033";
25 | $night-partly-cloudy: "\f083";
26 | $night-rain: "\f036";
27 | $night-rain-mix: "\f034";
28 | $night-rain-wind: "\f035";
29 | $night-showers: "\f037";
30 | $night-sleet: "\f0b3";
31 | $night-sleet-storm: "\f069";
32 | $night-snow: "\f038";
33 | $night-snow-thunderstorm: "\f06c";
34 | $night-snow-wind: "\f066";
35 | $night-sprinkle: "\f039";
36 | $night-storm-showers: "\f03a";
37 | $night-thunderstorm: "\f03b";
38 | $lunar-eclipse: "\f070";
39 | $stars: "\f077";
40 | $storm-showers: "\f01d";
41 | $thunderstorm: "\f01e";
42 | $night-alt-cloudy-high: "\f07e";
43 | $night-cloudy-high: "\f080";
44 | $night-alt-partly-cloudy: "\f081";
--------------------------------------------------------------------------------
/src/components/demo/fieldArrays/renderMembers.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Field,FieldArray } from 'redux-form'
3 | import inputField from '../../utils/validation/inputField';
4 | import renderHobbies from './renderHobbies';
5 |
6 | const renderMembers = ({ fields, meta: { error, submitFailed } }) => (
7 |
36 | )
37 |
38 | export default renderMembers;
39 |
--------------------------------------------------------------------------------
/src/components/demo/fieldArrays/FieldArraysForm.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Field, FieldArray, reduxForm } from 'redux-form'
3 | import { connect } from 'react-redux'
4 | import inputField from '../../utils/validation/inputField';
5 | import renderMembers from './renderMembers';
6 | import validate from './validate';
7 |
8 | let FieldArraysForm = props => {
9 | const { handleSubmit, pristine, reset, submitting } = props
10 | return (
11 |
26 | )
27 | }
28 |
29 | FieldArraysForm = reduxForm({
30 | form: 'fieldArrays', // a unique identifier for this form
31 | validate
32 | })(FieldArraysForm)
33 |
34 | FieldArraysForm = connect(
35 | state => ({
36 | initialValues: {
37 | members:[
38 | {
39 | firstName:'abc',
40 | lastName:'123'
41 | }
42 | ]
43 | }
44 | }),
45 | )(FieldArraysForm)
46 |
47 | export default FieldArraysForm
--------------------------------------------------------------------------------
/src/store/configureStore.dev.js:
--------------------------------------------------------------------------------
1 | import {applyMiddleware, createStore, compose} from 'redux';
2 | import {routerMiddleware} from 'react-router-redux';
3 | import {history} from '../router/history';
4 |
5 | import { createLogger } from 'redux-logger';
6 | import thunk from 'redux-thunk';
7 | // import promise from 'redux-promise';
8 |
9 | import Perf from 'react-addons-perf'
10 |
11 | import rootReducer from '../reducers/rootReducer';
12 |
13 | // Create a history of your choosing (we're using a browser history in this case)
14 | // Build the middleware for intercepting and dispatching navigation actions
15 | const historyMiddleware = routerMiddleware(history);
16 |
17 | const logger = createLogger({
18 | // ...options
19 | options:{
20 | timestamp:true
21 | }
22 | });
23 |
24 | // Be sure to ONLY add this middleware in development!
25 | // const middlewares = process.env.NODE_ENV !== 'production' ?
26 | // [require('redux-immutable-state-invariant').default(), thunk,historyMiddleware,logger] :
27 | // [thunk,historyMiddleware,logger];
28 | const middlewares = [
29 | // require('redux-immutable-state-invariant').default(),
30 | thunk,
31 | historyMiddleware,
32 | logger
33 | ];
34 |
35 | const win = window;
36 | win.Perf = Perf
37 | const storeEnhancers = compose(
38 | applyMiddleware(...middlewares),
39 | (win && win.devToolsExtension) ? win.devToolsExtension() : (f) => f,
40 | );
41 |
42 | const configureStore = preloadedState => {
43 | const store = createStore(rootReducer, preloadedState, storeEnhancers);
44 | return store;
45 | }
46 | export default configureStore;
47 |
--------------------------------------------------------------------------------