mvpkit 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: efb3bd7d5c2433bbcb2b04a9f01b4c7eae68ec25
4
- data.tar.gz: a438288232925292eae8081d6a1c5a5ad4200d47
3
+ metadata.gz: 43a8f1a7d4f294aef3a08e9d1e9317011d38a960
4
+ data.tar.gz: 5f3633b797df92142c78c90528576fd3323a662f
5
5
  SHA512:
6
- metadata.gz: 3e86972e2bdb44fe843ded17e8a3a5bd3cb51e9fc36e1936c3ce6ddf22905d70d4b59c6d94f4f9ebcf055586491f09f7aa68c8fe5ac674df48b1f7235cda6626
7
- data.tar.gz: 79d4083e27af2f062a85ff68bce876e22275571b3fd35147540c7ebfd49649b93f7077f32c83a73d38d124915254e87653cf52ffe9e75b9903f53d8387e1454d
6
+ metadata.gz: af4fd888a04f26a11994f67f114583dc520a1bbf5ec3c2f4766b64c595e471b916171f31007339aeeea3efdf4464516c909d1e428de71ca1537e32fc938c07b1
7
+ data.tar.gz: 3d22f8655e398b327b5a8d35f90235db4ae0820671b5fba481a1815e4a8aacbe3e8628589a60d5cd578b0ef43f79ca6e48593a6f7f2405a16ce047284c8355ec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0
1
+ 2.0.1
data/mvpkit.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: mvpkit 2.0.0 ruby lib
5
+ # stub: mvpkit 2.0.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "mvpkit".freeze
9
- s.version = "2.0.0"
9
+ s.version = "2.0.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Ian Hunter".freeze]
14
- s.date = "2017-09-10"
14
+ s.date = "2017-09-11"
15
15
  s.description = "Built for Developers. Ideal for MVPs, product ideation and validation.".freeze
16
16
  s.email = "ianhunter@gmail.com".freeze
17
17
  s.executables = ["mvp".freeze]
@@ -27,9 +27,6 @@ Gem::Specification.new do |s|
27
27
  "README.md",
28
28
  "Rakefile",
29
29
  "VERSION",
30
- "assets/js/application.js",
31
- "assets/js/init/controllers.js",
32
- "assets/js/init/forms.js",
33
30
  "bin/mvp",
34
31
  "bin/rails",
35
32
  "config/initializers/iteration.rb",
@@ -69,6 +66,8 @@ Gem::Specification.new do |s|
69
66
  "project/app/assets/stylesheets/elements/timeline.scss",
70
67
  "project/app/assets/stylesheets/elements/typography.scss",
71
68
  "project/app/assets/stylesheets/init/bootstrap.scss",
69
+ "project/app/assets/stylesheets/init/font-awesome.scss",
70
+ "project/app/assets/stylesheets/init/open-iconic.scss",
72
71
  "project/app/assets/stylesheets/init/reset.scss",
73
72
  "project/app/assets/stylesheets/init/variables.scss",
74
73
  "project/app/assets/stylesheets/treatments/backgrounds.scss",
@@ -128,6 +127,7 @@ Gem::Specification.new do |s|
128
127
  "project/app/helpers/application_helper.rb",
129
128
  "project/app/javascript/components/.gitkeep",
130
129
  "project/app/javascript/components/conversion.jsx",
130
+ "project/app/javascript/components/examples/reactstrap.jsx",
131
131
  "project/app/javascript/packs/application.js",
132
132
  "project/app/javascript/packs/server_rendering.js",
133
133
  "project/app/mailers/application_mailer.rb",
data/project/Gemfile CHANGED
@@ -22,6 +22,7 @@ gem "geocoder"
22
22
  gem "hashie"
23
23
  gem 'identicon'
24
24
  gem 'jbuilder', '~> 2.5'
25
+ gem 'kaminari'
25
26
  gem 'mustache'
26
27
  gem 'mvpkit', '~> 1.1.1'#, path: '../../mvpkit'
27
28
  gem 'pg'
data/project/Gemfile.lock CHANGED
@@ -280,6 +280,18 @@ GEM
280
280
  js_regex (1.2.3)
281
281
  regexp_parser (>= 0.3.6, <= 0.5.0)
282
282
  json (1.8.6)
283
+ kaminari (1.0.1)
284
+ activesupport (>= 4.1.0)
285
+ kaminari-actionview (= 1.0.1)
286
+ kaminari-activerecord (= 1.0.1)
287
+ kaminari-core (= 1.0.1)
288
+ kaminari-actionview (1.0.1)
289
+ actionview
290
+ kaminari-core (= 1.0.1)
291
+ kaminari-activerecord (1.0.1)
292
+ activerecord
293
+ kaminari-core (= 1.0.1)
294
+ kaminari-core (1.0.1)
283
295
  launchy (2.4.3)
284
296
  addressable (~> 2.3)
285
297
  letter_opener (1.4.1)
@@ -491,6 +503,7 @@ DEPENDENCIES
491
503
  hashie
492
504
  identicon
493
505
  jbuilder (~> 2.5)
506
+ kaminari
494
507
  letter_opener
495
508
  listen (~> 3.0.5)
496
509
  mustache
@@ -1,9 +1,9 @@
1
1
  @import "init/variables";
2
2
 
3
- @import 'font-awesome/scss/font-awesome';
3
+ // Fonts
4
+ @import "init/open-iconic";
5
+ @import "init/font-awesome";
4
6
  @import "init/bootstrap";
5
- @import "bootstrap/scss/bootstrap";
6
-
7
7
  @import "init/reset";
8
8
 
9
9
  @import "elements/*";
@@ -1,48 +1,19 @@
1
1
  @import 'init/variables';
2
2
 
3
- .btn {
4
- box-shadow: 0 1px 2px 0 rgba(106, 116, 135, 0.1);
5
- padding: 8px 15px 5px 15px;
3
+ .btn-group {
4
+ .btn {
5
+ // padding: 16px;
6
+ }
7
+ }
6
8
 
9
+ .btn {
7
10
  &:hover {
8
11
  cursor: pointer;
9
12
  }
10
13
 
11
- &.btn-lg {
12
- padding: 9px 15px 5px 15px
13
- }
14
-
15
- &.btn-sm {
16
- padding: 5px 5px 3px 5px
17
- }
18
-
19
- &.btn-wite {
20
- padding-left: 30px;
21
- padding-right: 30px;
22
- }
23
-
24
- &.btn-secondary {
25
- border: solid 1px $color-grey;
26
- color: $color-grey-dark;
27
- background-color: $color-grey-lightest;
28
-
29
- .fa {
30
- color: $color-grey;
31
- }
32
-
14
+ &.btn-outline-light {
33
15
  &:hover {
34
- background-color: darken($color-grey-lightest, 5%);
35
- }
36
-
37
- &:focus,
38
- &:active {
39
- outline: none !important;
40
- box-shadow: 0 1px 2px 0 rgba(106, 116, 135, 0.1);
41
- }
42
-
43
- &.selected {
44
- color: $color-grey-lightest;
45
- background-color: $color-grey;
16
+ color: $color-black;
46
17
  }
47
18
  }
48
19
 
@@ -62,8 +33,9 @@
62
33
 
63
34
  @each $name, $val in $colors {
64
35
  &.btn-#{"" + $name} {
65
- @include button-variant(#FFF, $val, $color-grey-light);
66
- .fa { color: #fff; }
36
+ color: $color-white !important;
37
+ @include button-variant($val, $val);
38
+ .fa { color: $color-white; }
67
39
  }
68
40
 
69
41
  &.btn-outline-#{"" + $name} {
@@ -99,9 +71,3 @@
99
71
  }
100
72
  }
101
73
  }
102
-
103
- .btn-group {
104
- .btn {
105
- padding: 8px 10px 5px 10px;
106
- }
107
- }
@@ -1,8 +1,3 @@
1
- .form-group {
2
- margin-bottom: 0;
3
- position: relative;
4
- }
5
-
6
1
  .form-control {
7
2
  padding: 8px 10px 5px 10px;
8
3
  box-shadow: 0 1px 2px 0 rgba(106, 116, 135, 0.1);
@@ -18,7 +18,7 @@
18
18
  &.active {
19
19
  color: $color-green;
20
20
  border: $card-border-width solid $card-border-color;
21
- background: #FFF;
21
+ background: $color-white;
22
22
  @include border-radius($card-border-radius);
23
23
  @extend .shadowed;
24
24
  }
@@ -51,3 +51,5 @@ $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !
51
51
 
52
52
  $table-cell-padding: 15px 10px 10px 10px;
53
53
  $table-sm-cell-padding: 0;
54
+
55
+ @import "bootstrap/scss/bootstrap";
@@ -0,0 +1,2 @@
1
+ $fa-font-path: 'font-awesome/font/fonts/';
2
+ @import 'font-awesome/scss/font-awesome';
@@ -0,0 +1,2 @@
1
+ $icon-font-path: 'open-iconic/font/fonts/';
2
+ @import 'open-iconic/font/css/open-iconic-bootstrap.scss';
@@ -6,6 +6,7 @@ $color-green: #BFE1BF;
6
6
  $color-yellow: #FCD059;
7
7
  $color-red: #DE5842;
8
8
 
9
+ $color-white: #FFF;
9
10
  $color-black: #000;
10
11
  $color-grey: #EDEDEA;
11
12
  $color-grey-lightest: lighten($color-grey, 30%);
@@ -1,9 +1,9 @@
1
1
  body {
2
- background-color: #FFF;
2
+ background-color: $color-white;
3
3
  }
4
4
 
5
5
  .bg-white {
6
- background-color: #FFF !important;
6
+ background-color: $color-white !important;
7
7
  }
8
8
 
9
9
  @each $name, $val in $colors {
@@ -5,7 +5,7 @@ class ApplicationController < ActionController::Base
5
5
 
6
6
  helper MVP::Engine.helpers
7
7
 
8
- before_action :authenticate_with_http_basic if ENV['HTTP_BASIC_AUTH_USER']
8
+ before_action :http_basic_auth if ENV['HTTP_BASIC_AUTH_USER']
9
9
  # before_action :authenticate_user!
10
10
  before_action :configure_permitted_parameters, if: :devise_controller?
11
11
 
@@ -28,7 +28,7 @@ class ApplicationController < ActionController::Base
28
28
 
29
29
  private
30
30
 
31
- def authenticate_with_http_basic
31
+ def http_basic_auth
32
32
  authenticate_or_request_with_http_basic do |username, password|
33
33
  username == ENV['HTTP_BASIC_AUTH_USER'] && password == ENV['HTTP_BASIC_AUTH_PASSWORD']
34
34
  end
@@ -1,5 +1,6 @@
1
1
  module Admin
2
2
  class ApplicationController < ::ApplicationController
3
3
  protect_from_forgery with: :exception
4
+ before_action :http_basic_auth if ENV['HTTP_BASIC_AUTH_USER']
4
5
  end
5
6
  end
@@ -0,0 +1,79 @@
1
+ import React from 'react';
2
+ import { Button, Form, FormGroup, Label, Input, FormText } from 'reactstrap';
3
+
4
+ export default class ReactstrapExamples extends React.Component {
5
+ render() {
6
+ return (
7
+ <Form>
8
+ <FormGroup>
9
+ <Label for="exampleEmail">Email</Label>
10
+ <Input type="email" name="email" id="exampleEmail" placeholder="with a placeholder" />
11
+ </FormGroup>
12
+ <FormGroup>
13
+ <Label for="examplePassword">Password</Label>
14
+ <Input type="password" name="password" id="examplePassword" placeholder="password placeholder" />
15
+ </FormGroup>
16
+ <FormGroup>
17
+ <Label for="exampleSelect">Select</Label>
18
+ <Input type="select" name="select" id="exampleSelect">
19
+ <option>1</option>
20
+ <option>2</option>
21
+ <option>3</option>
22
+ <option>4</option>
23
+ <option>5</option>
24
+ </Input>
25
+ </FormGroup>
26
+ <FormGroup>
27
+ <Label for="exampleSelectMulti">Select Multiple</Label>
28
+ <Input type="select" name="selectMulti" id="exampleSelectMulti" multiple>
29
+ <option>1</option>
30
+ <option>2</option>
31
+ <option>3</option>
32
+ <option>4</option>
33
+ <option>5</option>
34
+ </Input>
35
+ </FormGroup>
36
+ <FormGroup>
37
+ <Label for="exampleText">Text Area</Label>
38
+ <Input type="textarea" name="text" id="exampleText" />
39
+ </FormGroup>
40
+ <FormGroup>
41
+ <Label for="exampleFile">File</Label>
42
+ <Input type="file" name="file" id="exampleFile" />
43
+ <FormText color="muted">
44
+ This is some placeholder block-level help text for the above input.
45
+ It's a bit lighter and easily wraps to a new line.
46
+ </FormText>
47
+ </FormGroup>
48
+ <FormGroup tag="fieldset">
49
+ <legend>Radio Buttons</legend>
50
+ <FormGroup check>
51
+ <Label check>
52
+ <Input type="radio" name="radio1" />{' '}
53
+ Option one is this and that—be sure to include why it's great
54
+ </Label>
55
+ </FormGroup>
56
+ <FormGroup check>
57
+ <Label check>
58
+ <Input type="radio" name="radio1" />{' '}
59
+ Option two can be something else and selecting it will deselect option one
60
+ </Label>
61
+ </FormGroup>
62
+ <FormGroup check disabled>
63
+ <Label check>
64
+ <Input type="radio" name="radio1" disabled />{' '}
65
+ Option three is disabled
66
+ </Label>
67
+ </FormGroup>
68
+ </FormGroup>
69
+ <FormGroup check>
70
+ <Label check>
71
+ <Input type="checkbox" />{' '}
72
+ Check me out
73
+ </Label>
74
+ </FormGroup>
75
+ <Button>Submit</Button>
76
+ </Form>
77
+ );
78
+ }
79
+ }
@@ -12,17 +12,18 @@ var componentRequireContext = require.context("components", true)
12
12
  var ReactRailsUJS = require("react_ujs")
13
13
  ReactRailsUJS.useContext(componentRequireContext)
14
14
 
15
- window.Tether = require('tether');
16
- window.Popper = require('popper.js').default
17
- window.jQuery = require('jquery')
18
- window.jQueryUJS = require('jquery-ujs');
19
- window.$ = window.jQuery;
15
+ window.Tether = require('tether');
16
+ window.Popper = require('popper.js').default
17
+ window.jQuery = require('jquery')
18
+ window.jQueryUJS = require('jquery-ujs');
19
+ window.$ = window.jQuery;
20
20
 
21
- window.is = require('is_js');
22
- window._ = require('lodash');
21
+ window.is = require('is_js');
22
+ window._ = require('lodash');
23
23
  _.mixin(require('lodash-inflection'));
24
24
 
25
- window.Moment = require('moment');
26
- window.bs = require('bootstrap');
25
+ window.Moment = require('moment');
26
+ window.bs = require('bootstrap');
27
27
 
28
- window.Conversion = require('components/conversion');
28
+ window.ReactstrapExamples = require('components/examples/reactstrap');
29
+ window.Conversion = require('components/conversion');
@@ -10,10 +10,11 @@
10
10
  <h2 class="mb20">Quick Tour</h2>
11
11
 
12
12
  <div class="mb50">
13
- <p class="mb20">You've got <a href="https://getbootstrap.com/docs/4.0/getting-started/introduction/">Bootstrap 4</a> ready to go.</p>
13
+ <h4 class="mb10">Bootstrap 4</h4>
14
+ <p class="mb20">You've got <a href="https://getbootstrap.com/docs/4.0/getting-started/introduction/" target="_blank">Bootstrap 4</a> right out of the box.</p>
14
15
 
15
16
  <div class="row">
16
- <% ['primary','secondary','success','warning','danger'].each do |color| %>
17
+ <% ['primary','secondary','success','warning','danger','green','red','blue','yellow'].each do |color| %>
17
18
  <div class="col-sm-4 mb20">
18
19
  <a href="#" class="btn btn-<%= color %> btn-block">.btn-<%= color %></a>
19
20
  </div>
@@ -21,6 +22,77 @@
21
22
  </div>
22
23
  </div>
23
24
 
25
+ <div class="mb50">
26
+ <h4 class="mb10">Reactstrap</h4>
27
+ <p class="mb20">Inside React components you have the Reactstrap library <a href="https://reactstrap.github.io/components/" target="_blank">Bootstrap 4</a> right out of the box.</p>
28
+
29
+ <%= react_component 'examples/reactstrap' %>
30
+ </div>
31
+
32
+ <div class="mb50">
33
+ <h4 class="mb20">Icons</h4>
34
+ <p class="mb20">Font-Awesome (<a href="http://fontawesome.io/icons/" target="_blank">icons</a>)</p>
35
+ <div class="mb20">
36
+ <% ['address-book','address-book-o','address-card','address-card-o','bandcamp','bath','bathtub (alias)','drivers-license (alias)','drivers-license-o (alias)','eercast','envelope-open','envelope-open-o','etsy','free-code-camp','grav','handshake-o','id-badge','id-card','id-card-o','imdb','linode','meetup','microchip','podcast','quora','ravelry','s15 (alias)','shower','snowflake-o','superpowers','telegram','thermometer (alias)','thermometer-0 (alias)','thermometer-1 (alias)','thermometer-2 (alias)','thermometer-3 (alias)','thermometer-4 (alias)','thermometer-empty','thermometer-full','thermometer-half','thermometer-quarter','thermometer-three-quarters','times-rectangle (alias)','times-rectangle-o (alias)','user-circle','user-circle-o','user-o','vcard (alias)','vcard-o (alias)','window-close','window-close-o','window-maximize','window-minimize','window-restore','wpexplorer','address-book','address-book-o','address-card','address-card-o','adjust','american-sign-language-interpreting','anchor','archive','area-chart','arrows','arrows-h','arrows-v','asl-interpreting (alias)','assistive-listening-systems','asterisk','at','audio-description','automobile (alias)','balance-scale','ban','bank (alias)','bar-chart','bar-chart-o (alias)','barcode','bars','bath','bathtub (alias)','battery (alias)','battery-0 (alias)','battery-1 (alias)','battery-2 (alias)','battery-3 (alias)','battery-4 (alias)','battery-empty','battery-full','battery-half','battery-quarter','battery-three-quarters','bed','beer','bell','bell-o','bell-slash','bell-slash-o','bicycle','binoculars','birthday-cake','blind','bluetooth','bluetooth-b','bolt','bomb','book','bookmark','bookmark-o','braille','briefcase','bug','building','building-o','bullhorn','bullseye','bus','cab (alias)','calculator','calendar','calendar-check-o','calendar-minus-o','calendar-o','calendar-plus-o','calendar-times-o','camera','camera-retro','car','caret-square-o-down','caret-square-o-left','caret-square-o-right','caret-square-o-up','cart-arrow-down','cart-plus','cc','certificate','check','check-circle','check-circle-o','check-square','check-square-o','child','circle','circle-o','circle-o-notch','circle-thin','clock-o','clone','close (alias)','cloud','cloud-download','cloud-upload','code','code-fork','coffee','cog','cogs','comment','comment-o','commenting','commenting-o','comments','comments-o','compass','copyright','creative-commons','credit-card','credit-card-alt','crop','crosshairs','cube','cubes','cutlery','dashboard (alias)','database','deaf','deafness (alias)','desktop','diamond','dot-circle-o','download','drivers-license (alias)','drivers-license-o (alias)','edit (alias)','ellipsis-h','ellipsis-v','envelope','envelope-o','envelope-open','envelope-open-o','envelope-square','eraser','exchange','exclamation','exclamation-circle','exclamation-triangle','external-link','external-link-square','eye','eye-slash','eyedropper','fax','feed (alias)','female','fighter-jet','file-archive-o','file-audio-o','file-code-o','file-excel-o','file-image-o','file-movie-o (alias)','file-pdf-o','file-photo-o (alias)','file-picture-o (alias)','file-powerpoint-o','file-sound-o (alias)','file-video-o','file-word-o','file-zip-o (alias)','film','filter','fire','fire-extinguisher','flag','flag-checkered','flag-o','flash (alias)','flask','folder','folder-o','folder-open','folder-open-o','frown-o','futbol-o','gamepad','gavel','gear (alias)','gears (alias)','gift','glass','globe','graduation-cap','group (alias)','hand-grab-o (alias)','hand-lizard-o','hand-paper-o','hand-peace-o','hand-pointer-o','hand-rock-o','hand-scissors-o','hand-spock-o','hand-stop-o (alias)','handshake-o','hard-of-hearing (alias)','hashtag','hdd-o','headphones','heart','heart-o','heartbeat','history','home','hotel (alias)','hourglass','hourglass-1 (alias)','hourglass-2 (alias)','hourglass-3 (alias)','hourglass-end','hourglass-half','hourglass-o','hourglass-start','i-cursor','id-badge','id-card','id-card-o','image (alias)','inbox','industry','info','info-circle','institution (alias)','key','keyboard-o','language','laptop','leaf','legal (alias)','lemon-o','level-down','level-up','life-bouy (alias)','life-buoy (alias)','life-ring','life-saver (alias)','lightbulb-o','line-chart','location-arrow','lock','low-vision','magic','magnet','mail-forward (alias)','mail-reply (alias)','mail-reply-all (alias)','male','map','map-marker','map-o','map-pin','map-signs','meh-o','microchip','microphone','microphone-slash','minus','minus-circle','minus-square','minus-square-o','mobile','mobile-phone (alias)','money','moon-o','mortar-board (alias)','motorcycle','mouse-pointer','music','navicon (alias)','newspaper-o','object-group','object-ungroup','paint-brush','paper-plane','paper-plane-o','paw','pencil','pencil-square','pencil-square-o','percent','phone','phone-square','photo (alias)','picture-o','pie-chart','plane','plug','plus','plus-circle','plus-square','plus-square-o','podcast','power-off','print','puzzle-piece','qrcode','question','question-circle','question-circle-o','quote-left','quote-right','random','recycle','refresh','registered','remove (alias)','reorder (alias)','reply','reply-all','retweet','road','rocket','rss','rss-square','s15 (alias)','search','search-minus','search-plus','send (alias)','send-o (alias)','server','share','share-alt','share-alt-square','share-square','share-square-o','shield','ship','shopping-bag','shopping-basket','shopping-cart','shower','sign-in','sign-language','sign-out','signal','signing (alias)','sitemap','sliders','smile-o','snowflake-o','soccer-ball-o (alias)','sort','sort-alpha-asc','sort-alpha-desc','sort-amount-asc','sort-amount-desc','sort-asc','sort-desc','sort-down (alias)','sort-numeric-asc','sort-numeric-desc','sort-up (alias)','space-shuttle','spinner','spoon','square','square-o','star','star-half','star-half-empty (alias)','star-half-full (alias)','star-half-o','star-o','sticky-note','sticky-note-o','street-view','suitcase','sun-o','support (alias)','tablet','tachometer','tag','tags','tasks','taxi','television','terminal','thermometer (alias)','thermometer-0 (alias)','thermometer-1 (alias)','thermometer-2 (alias)','thermometer-3 (alias)','thermometer-4 (alias)','thermometer-empty','thermometer-full','thermometer-half','thermometer-quarter','thermometer-three-quarters','thumb-tack','thumbs-down','thumbs-o-down','thumbs-o-up','thumbs-up','ticket','times','times-circle','times-circle-o','times-rectangle (alias)','times-rectangle-o (alias)','tint','toggle-down (alias)','toggle-left (alias)','toggle-off','toggle-on','toggle-right (alias)','toggle-up (alias)','trademark','trash','trash-o','tree','trophy','truck','tty','tv (alias)','umbrella','universal-access','university','unlock','unlock-alt','unsorted (alias)','upload','user','user-circle','user-circle-o','user-o','user-plus','user-secret','user-times','users','vcard (alias)','vcard-o (alias)','video-camera','volume-control-phone','volume-down','volume-off','volume-up','warning (alias)','wheelchair','wheelchair-alt','wifi','window-close','window-close-o','window-maximize','window-minimize','window-restore','wrench'].each do |icon| %>
37
+ <i class="fa fa-<%= icon %>"></i>
38
+ <% end %>
39
+ </div>
40
+
41
+ <div class="mb20">
42
+ <span><i class="fa fa-spinner fa-pulse fa-1x fa-fw"></i> spinning icons too ...</span>
43
+ </div>
44
+
45
+ <p class="mb20">Open Iconic (<a href="https://useiconic.com/open/" target="_blank">icons</a>)</p>
46
+ <div class="mb20">
47
+ <% icons = [ "account-login", "account-logout", "action-redo", "action-undo",
48
+ "align-center", "align-left", "align-right", "aperture", "arrow-bottom",
49
+ "arrow-circle-bottom", "arrow-circle-left", "arrow-circle-right",
50
+ "arrow-circle-top", "arrow-left", "arrow-right", "arrow-thick-bottom",
51
+ "arrow-thick-left", "arrow-thick-right", "arrow-thick-top", "arrow-top",
52
+ "audio", "audio-spectrum", "badge", "ban", "bar-chart", "basket",
53
+ "battery-empty", "battery-full", "beaker", "bell", "bluetooth", "bold",
54
+ "bolt", "book", "bookmark", "box", "briefcase", "british-pound",
55
+ "browser", "brush", "bug", "bullhorn", "calculator", "calendar",
56
+ "camera-slr", "caret-bottom", "caret-left", "caret-right", "caret-top",
57
+ "cart", "chat", "check", "chevron-bottom", "chevron-left",
58
+ "chevron-right", "chevron-top", "circle-check", "circle-x", "clipboard",
59
+ "clock", "cloud", "cloud-download", "cloud-upload", "cloudy", "code",
60
+ "cog", "collapse-left", "collapse-down", "collapse-right", "collapse-up",
61
+ "command", "comment-square", "compass", "contrast", "copywriting",
62
+ "credit-card", "crop", "dashboard", "data-transfer-download",
63
+ "data-transfer-upload", "delete", "dial", "document", "dollar",
64
+ "double-quote-sans-left", "double-quote-sans-right",
65
+ "double-quote-serif-left", "double-quote-serif-right", "droplet", "eject",
66
+ "elevator", "ellipses", "envelope-closed", "euro", "envelope-open",
67
+ "excerpt", "expand-down", "expand-left", "expand-right", "expand-up",
68
+ "external-link", "eye", "eyedropper", "file", "fire", "flag", "flash",
69
+ "folder", "fork", "fullscreen-enter", "fullscreen-exit", "globe", "graph",
70
+ "grid-four-up", "grid-three-up", "grid-two-up", "hard-drive", "header",
71
+ "headphones", "heart", "image", "inbox", "home", "infinity", "info",
72
+ "italic", "justify-center", "justify-left", "justify-right", "key",
73
+ "laptop", "layers", "lightbulb", "link-broken", "link-intact", "list",
74
+ "list-rich", "location", "lock-locked", "lock-unlocked", "loop",
75
+ "loop-circular", "loop-square", "magnifying-glass", "map", "map-marker",
76
+ "media-pause", "media-play", "media-record", "media-skip-backward",
77
+ "media-skip-forward", "media-step-backward", "media-step-forward",
78
+ "media-stop", "medical-cross", "menu", "microphone", "minus", "monitor",
79
+ "moon", "move", "musical-note", "paperclip", "people", "pencil", "person",
80
+ "phone", "pie-chart", "pin", "play-circle", "plus", "power-standby",
81
+ "print", "project", "pulse", "puzzle-piece", "question-mark", "rain",
82
+ "random", "reload", "resize-both", "resize-height", "resize-width", "rss",
83
+ "rss-alt", "script", "share", "share-boxed", "shield", "signal",
84
+ "signpost", "sort-ascending", "sort-descending", "spreadsheet", "star",
85
+ "sun", "tablet", "tag", "tags", "target", "task", "terminal", "text",
86
+ "thumb-up", "thumb-down", "timer", "transfer", "trash", "underline",
87
+ "vertical-align-bottom", "vertical-align-center", "vertical-align-top",
88
+ "volume-high", "video", "volume-low", "volume-off", "warning", "wifi",
89
+ "wrench", "x", "yen", "zoom-in", "zoom-out"
90
+ ].each do |icon| %>
91
+ <span class="oi oi-<%= icon %>"></span>
92
+ <% end %>
93
+ </div>
94
+ </div>
95
+
24
96
  <p class="mb15">Here's a sample React conversion form. It takes an email as an input, validates and submits to the server to create a conversion, which will show up in <a href="/a/conversions">conversions admin</a></p>
25
97
 
26
98
  <%= react_component 'Conversion' %>
data/project/package.json CHANGED
@@ -37,6 +37,7 @@
37
37
  "jquery-ujs": "^1.2.2",
38
38
  "lodash-inflection": "^1.5.0",
39
39
  "moment": "^2.18.1",
40
+ "open-iconic": "^1.1.1",
40
41
  "path-complete-extname": "^0.1.0",
41
42
  "popper.js": "^1.12.5",
42
43
  "react": "^15.6.1",
data/project/yarn.lock CHANGED
@@ -3091,6 +3091,10 @@ onetime@^1.0.0:
3091
3091
  version "1.1.0"
3092
3092
  resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
3093
3093
 
3094
+ open-iconic@^1.1.1:
3095
+ version "1.1.1"
3096
+ resolved "https://registry.yarnpkg.com/open-iconic/-/open-iconic-1.1.1.tgz#9dcfc8c7cd3c61cdb4a236b1a347894c97adc0c6"
3097
+
3094
3098
  opn@4.0.2:
3095
3099
  version "4.0.2"
3096
3100
  resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mvpkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Hunter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-10 00:00:00.000000000 Z
11
+ date: 2017-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: semantic
@@ -54,9 +54,6 @@ files:
54
54
  - README.md
55
55
  - Rakefile
56
56
  - VERSION
57
- - assets/js/application.js
58
- - assets/js/init/controllers.js
59
- - assets/js/init/forms.js
60
57
  - bin/mvp
61
58
  - bin/rails
62
59
  - config/initializers/iteration.rb
@@ -96,6 +93,8 @@ files:
96
93
  - project/app/assets/stylesheets/elements/timeline.scss
97
94
  - project/app/assets/stylesheets/elements/typography.scss
98
95
  - project/app/assets/stylesheets/init/bootstrap.scss
96
+ - project/app/assets/stylesheets/init/font-awesome.scss
97
+ - project/app/assets/stylesheets/init/open-iconic.scss
99
98
  - project/app/assets/stylesheets/init/reset.scss
100
99
  - project/app/assets/stylesheets/init/variables.scss
101
100
  - project/app/assets/stylesheets/treatments/backgrounds.scss
@@ -155,6 +154,7 @@ files:
155
154
  - project/app/helpers/application_helper.rb
156
155
  - project/app/javascript/components/.gitkeep
157
156
  - project/app/javascript/components/conversion.jsx
157
+ - project/app/javascript/components/examples/reactstrap.jsx
158
158
  - project/app/javascript/packs/application.js
159
159
  - project/app/javascript/packs/server_rendering.js
160
160
  - project/app/mailers/application_mailer.rb
@@ -1,31 +0,0 @@
1
- require('jquery')
2
- require('jquery-ujs')
3
- require('jquery.cookie')
4
- var _ = require('lodash')
5
- var is = require('is')
6
-
7
- require('./init/controllers')
8
- require('./init/forms')
9
-
10
- window.track = function(event, attributes, fn){
11
- console.log("Track: " + event + " " + JSON.stringify(attributes))
12
-
13
- if (is.fn(attributes)) fn = attributes, attributes = null;
14
- if (is.undefined(attributes)) { attributes = {} }
15
- if ($.cookie('invisible') == "true") {
16
- if (!is.undefined(fn)) { fn() }
17
- return
18
- }
19
-
20
- var attrs = _.extend({
21
- iteration: $('body').data('iteration')
22
- }, attributes)
23
-
24
- if (typeof(analytics) != 'undefined') {
25
- analytics.track(event, attrs, fn);
26
- }
27
-
28
- if (typeof(amplitude) != 'undefined') {
29
- amplitude.getInstance().logEvent(event, attrs, fn);
30
- }
31
- }
@@ -1,26 +0,0 @@
1
- window.controllers = {}
2
-
3
- let handler = function(){
4
- var $body = $("body");
5
- var controller = $body.data("controller").replace(/\//g, "_");
6
- var action = $body.data("action");
7
-
8
- var activeController = window.controllers[controller];
9
-
10
- if (activeController !== undefined) {
11
- if (window.env == "development") {
12
- console.log("[Controllers] " + controller + "." + action + "()");
13
- }
14
-
15
- if ($.isFunction(activeController.init)) {
16
- activeController.init();
17
- }
18
-
19
- if ($.isFunction(activeController[action])) {
20
- activeController[action]();
21
- }
22
- }
23
- }
24
-
25
- // $(handler);
26
- document.addEventListener("turbolinks:load", handler)
@@ -1,12 +0,0 @@
1
- $(function(){
2
- $('form.no-enter-submit').bind("keypress", function(e) {
3
- if (e.keyCode == 13) {
4
- e.preventDefault();
5
- return false;
6
- }
7
- });
8
-
9
- $('form.disable-on-submit').on('submit', function(e){
10
- $(this).find(".btn").addClass('disabled')
11
- })
12
- })