dvl-core 0.0.12 → 0.1.0

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: 98184e2eb214df346c76050dd1443d9fa968e264
4
- data.tar.gz: 3708dac92dce55a124807fecceffe5220cf9af60
3
+ metadata.gz: 3c777dbfd9ae3d27f2bf2e8da62b5af5700364bd
4
+ data.tar.gz: 7b7675b9abafbb00b3e80b524ff729af5218a53b
5
5
  SHA512:
6
- metadata.gz: aabf63900ebbe84e8fea46975be833c070939f16479a97e56e9a0f217c270979375b5dd712648eac81b18d7e90059ebcdac75b9649ad48149c464f020dfd955f
7
- data.tar.gz: a51033f1a5036b7e28fc7403ce3d4b6ad3abab94ae176dd754615972a2372923c5812753217c9244667c093f5b03a049ba7df85e4cee6d2c5e3744bfd92a08e6
6
+ metadata.gz: 45231c013739045389fec1f970dece1779a178c22ae4a3a7ed8eb0bbb8d27a6629b7aca25eca286823d5f052241ed3780118023b3118c1f0b94d30ec8d6aca0a
7
+ data.tar.gz: 0a5308e5d0e8e5e97ef5d54fdb8d9d949a8951d85ec8ab9fe43b52c4688e0be2825a4a1354e87f6211f9f999d7d2af643a92b4a11cbee118c6071080fd4b526c
data/.gitignore CHANGED
@@ -2,3 +2,5 @@
2
2
  Gemfile.lock
3
3
  *.gem
4
4
  screenshots/
5
+ spec/dummy/tmp
6
+ spec/dummy/log
@@ -2,6 +2,7 @@ en:
2
2
  dvl_core:
3
3
  footer:
4
4
  about: " is an application by <a href='http://www.dobt.co' target='_blank'>The Department of Better Technology</a>."
5
+ about_no_app: "Built by <a href='http://www.dobt.co' target='_blank'>The Department of Better Technology</a>."
5
6
  status: Service Status
6
7
  legal: Legal
7
8
  help: Get Help
@@ -21,11 +21,10 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency 'erector-rails4'
22
22
  s.add_dependency 'sass'
23
23
 
24
- s.add_development_dependency 'capybara', '2.4.2'
24
+ s.add_development_dependency 'autoprefixer-rails', '4.0.2.2'
25
+ s.add_development_dependency 'capybara', '2.4.4'
25
26
  s.add_development_dependency 'poltergeist', '1.5.1'
26
- s.add_development_dependency 'rerun', '0.10.0'
27
- s.add_development_dependency 'rspec', '3.1.0'
27
+ s.add_development_dependency 'rails', '4.2.0'
28
+ s.add_development_dependency 'rspec-rails', '3.1.0'
28
29
  s.add_development_dependency 'rspec-html-matchers', '0.6.1'
29
- s.add_development_dependency 'sinatra', '1.4.5'
30
- s.add_development_dependency 'sinatra-assetpack', '0.3.3'
31
30
  end
@@ -1,3 +1,5 @@
1
+ require 'erector'
2
+
1
3
  class Dvl::Components::Flashes < Erector::Widget
2
4
  needs :flash
3
5
 
@@ -1,3 +1,5 @@
1
+ require 'erector'
2
+
1
3
  class Dvl::Components::Footer < Erector::Widget
2
4
  needs :application_name
3
5
 
@@ -5,8 +7,12 @@ class Dvl::Components::Footer < Erector::Widget
5
7
  footer.footer {
6
8
  div.footer_inner {
7
9
  span {
8
- text @application_name
9
- rawtext t('dvl_core.footer.about')
10
+ if @application_name
11
+ text @application_name
12
+ rawtext t('dvl_core.footer.about')
13
+ else
14
+ rawtext t('dvl_core.footer.about_no_app')
15
+ end
10
16
  }
11
17
 
12
18
  ul {
@@ -1,3 +1,5 @@
1
+ require 'erector'
2
+
1
3
  class Dvl::Components::Modal < Erector::Widget
2
4
  needs :title,
3
5
  id: nil,
@@ -1,5 +1,5 @@
1
1
  module Dvl
2
2
  module Core
3
- VERSION = '0.0.12'
3
+ VERSION = '0.1.0'
4
4
  end
5
5
  end
@@ -1,3 +1,3 @@
1
1
  #! /bin/sh
2
2
 
3
- bundle exec rerun 'ruby preview/app.rb'
3
+ cd spec/dummy && bundle exec rails s --port 4567
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+
6
+ Dummy::Application.load_tasks
@@ -0,0 +1,14 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require dvl/core
14
+ //= require dvl/components/flashes
@@ -0,0 +1,14 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require dvl/core
12
+ *= require dvl/components/flashes
13
+ *= require dvl/components/footer
14
+ */
@@ -0,0 +1,3 @@
1
+ class HomeController < ActionController::Base
2
+ layout false
3
+ end
@@ -0,0 +1,41 @@
1
+ class Views::Base < Erector::Widget
2
+ def content
3
+ rawtext '<!doctype html>'
4
+ html {
5
+ head {
6
+ link href: '//fonts.googleapis.com/css?family=Open+Sans:400,300,700,600', rel: 'stylesheet', type: 'text/css'
7
+ stylesheet_link_tag 'application', media: 'all'
8
+ style(type: 'text/css') {
9
+ rawtext %{
10
+ body {
11
+ padding: 0 1rem 1rem;
12
+ background: white;
13
+ }
14
+
15
+ .section_header {
16
+ font-size: 1.6rem;
17
+ padding: 1rem 0 0.25rem;
18
+ margin-bottom: 1rem;
19
+ border-bottom: 1px solid #eee;
20
+ }
21
+ }
22
+ }
23
+ }
24
+ body {
25
+ main
26
+ script src: '//code.jquery.com/jquery-1.11.1.min.js'
27
+ javascript_include_tag 'application'
28
+ script %{
29
+ $('[data-toggle="tooltip"]').tooltip()
30
+ }.html_safe
31
+ }
32
+ }
33
+ end
34
+
35
+ private
36
+
37
+ def docs(name, &block)
38
+ div.section_header name, id: name.downcase
39
+ yield
40
+ end
41
+ end
@@ -0,0 +1,15 @@
1
+ class Views::Home::Flashes < Views::Base
2
+ def main
3
+ ul {
4
+ li {
5
+ a 'Success', href: 'javascript:DvlFlash("success", "You did it!")'
6
+ }
7
+ li {
8
+ a 'Info', href: 'javascript:DvlFlash("info", "An informational message...")'
9
+ }
10
+ li {
11
+ a 'Error', href: 'javascript:DvlFlash("error", "Oh no, an error occured!")'
12
+ }
13
+ }
14
+ end
15
+ end
@@ -0,0 +1,7 @@
1
+ class Views::Home::Footer < Views::Base
2
+ def main
3
+ br
4
+ br
5
+ widget Dvl::Components::Footer.new(application_name: 'dvl-core')
6
+ end
7
+ end
@@ -0,0 +1,204 @@
1
+ class Views::Home::Index < Views::Base
2
+ def main
3
+ docs 'Buttons' do
4
+ a.button 'Yo!'
5
+ text ' '
6
+ a.button.info 'Info'
7
+ text ' '
8
+ a.button.primary 'Primary'
9
+ text ' '
10
+ a.button.success 'Success'
11
+ text ' '
12
+ a.button.white 'White'
13
+ text ' '
14
+ a.button_uppercase 'Uppercase'
15
+ end
16
+
17
+ docs 'Code' do
18
+ pre %{<p>This is some awesome code</p>}
19
+ p %{This is a paragraph with <code>code</code>.}.html_safe
20
+ end
21
+
22
+ docs 'Dropdowns' do
23
+ span.dropdown {
24
+ a.dropdown_toggle 'Click me',
25
+ 'data-toggle' => 'dropdown'
26
+ div.dropdown_menu {
27
+ ul.dropdown_body {
28
+ li {
29
+ a 'Hey! This is some really long dropdown text, yo.'
30
+ }
31
+ li {
32
+ a 'No!'
33
+ }
34
+ }
35
+ }
36
+ }
37
+ end
38
+
39
+ docs 'Forms' do
40
+ form {
41
+ input type: 'text'
42
+ label.checkbox {
43
+ input type: 'checkbox'
44
+ text 'Foo'
45
+ }
46
+ div.input_sub {
47
+ label.checkbox {
48
+ input type: 'checkbox'
49
+ text 'This is a sub-option of foo.'
50
+ }
51
+ }
52
+ div.form_actions {
53
+ button.button.primary 'Submit'
54
+ }
55
+ }
56
+ end
57
+
58
+ docs 'Grid' do
59
+ div.grid {
60
+ div.item.six_columns 'six_columns'
61
+ div.item.six_columns 'six_columns'
62
+ }
63
+ div.grid.gutter_none {
64
+ div.item.three_columns 'three_columns (gutter_none)'
65
+ div.item.three_columns 'three_columns (gutter_none)'
66
+ div.item.three_columns 'three_columns (gutter_none)'
67
+ div.item.three_columns 'three_columns (gutter_none)'
68
+ }
69
+ end
70
+
71
+ docs 'Labels' do
72
+ span.label.label_error 'Error'
73
+ text ' '
74
+ span.label.label_success 'Success'
75
+ text ' '
76
+ span.label.label_info 'Info'
77
+ text ' '
78
+ span.label.label_warning 'Warning'
79
+ end
80
+
81
+ docs 'Links' do
82
+ a.uppercase 'Uppercase'
83
+ text ' '
84
+ a.smallbold 'Smallbold'
85
+ end
86
+
87
+ docs 'Lists' do
88
+ ul {
89
+ li 'This'
90
+ li 'is a'
91
+ li 'list!'
92
+ }
93
+ end
94
+
95
+ docs 'Modals' do
96
+ a 'Open modal', 'data-toggle' => 'modal', href: '#modal'
97
+ widget Dvl::Components::Modal.new(title: 'Awesome modal', id: 'modal') do
98
+ div.modal_body {
99
+ text 'This is the modal body!'
100
+ }
101
+ end
102
+
103
+ br
104
+
105
+ a 'Confirmation modal', 'data-toggle' => 'modal', href: '#confirmModal'
106
+ widget Dvl::Components::Modal.new(
107
+ title: 'Are you sure?',
108
+ id: 'confirmModal',
109
+ html_opts: { class: 'modal_confirm' }
110
+ ) do
111
+ div.modal_body {
112
+ text 'Are you sure?'
113
+ }
114
+ div.modal_footer {
115
+ a.button.error 'OK'
116
+ }
117
+ end
118
+ end
119
+
120
+ docs 'Pagination' do
121
+ div(class: 'pagination-wrapper') {
122
+ ul {
123
+ li { a '‹' }
124
+ li { a '1' }
125
+ li { span '2' }
126
+ li { a '3' }
127
+ li { a '›' }
128
+ }
129
+ }
130
+ end
131
+
132
+ docs 'Progress' do
133
+ div.progress {
134
+ div.progress_inner(style: "width: 30%") {
135
+ text '30%'
136
+ }
137
+ }
138
+ end
139
+
140
+ docs 'Sidebar' do
141
+ div.sidebar_box {
142
+ ul.sidebar_data {
143
+ li {
144
+ div.sidebar_data_icon {
145
+ i '✓'
146
+ }
147
+ div.sidebar_data_text {
148
+ div.sidebar_data_label 'Label'
149
+ div.sidebar_data_value 'Value'
150
+ div.sidebar_data_details 'Details'
151
+ }
152
+ }
153
+ }
154
+ }
155
+ end
156
+
157
+ docs 'Tables' do
158
+ table {
159
+ thead {
160
+ tr {
161
+ th 'ID'
162
+ th 'Name'
163
+ }
164
+ }
165
+ tbody {
166
+ tr {
167
+ td '1'
168
+ td 'Bob'
169
+ }
170
+ tr {
171
+ td '2'
172
+ td 'Job'
173
+ }
174
+ }
175
+ }
176
+ end
177
+
178
+ docs 'Tooltips' do
179
+ %w(top right bottom left).each do |x|
180
+ a x.capitalize,
181
+ 'data-toggle' => 'tooltip',
182
+ 'data-placement' => x,
183
+ 'data-container' => 'body',
184
+ title: "Tooltip on the #{x}!"
185
+ text ' '
186
+ end
187
+ end
188
+
189
+ docs 'Typography' do
190
+ h1 'Heading 1'
191
+ h2 'Heading 2'
192
+ h3 'Heading 3'
193
+ h4 'Heading 4'
194
+ h5 'Heading 5'
195
+ h6 'Heading 6'
196
+ p 'Lorem ipsum.'
197
+
198
+ p.microcopy {
199
+ text 'This is some awesome .microcopy.'
200
+ a.microcopy_action 'Microcopy action'
201
+ }
202
+ end
203
+ end
204
+ end
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+
4
+ # path to your application root.
5
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
+
7
+ Dir.chdir APP_ROOT do
8
+ # This script is a starting point to setup your application.
9
+ # Add necessary setup steps to this file:
10
+
11
+ puts "== Installing dependencies =="
12
+ system "gem install bundler --conservative"
13
+ system "bundle check || bundle install"
14
+
15
+ # puts "\n== Copying sample files =="
16
+ # unless File.exist?("config/database.yml")
17
+ # system "cp config/database.yml.sample config/database.yml"
18
+ # end
19
+
20
+ puts "\n== Preparing database =="
21
+ system "bin/rake db:setup"
22
+
23
+ puts "\n== Removing old logs and tempfiles =="
24
+ system "rm -f log/*"
25
+ system "rm -rf tmp/cache"
26
+
27
+ puts "\n== Restarting application server =="
28
+ system "touch tmp/restart.txt"
29
+ end
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Rails.application
@@ -0,0 +1,37 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require "rails"
4
+
5
+ %w(
6
+ action_controller
7
+ action_view
8
+ action_mailer
9
+ active_job
10
+ rails/test_unit
11
+ sprockets
12
+ ).each do |framework|
13
+ begin
14
+ require "#{framework}/railtie"
15
+ rescue LoadError
16
+ end
17
+ end
18
+
19
+ Bundler.require(*Rails.groups)
20
+
21
+ module Dummy
22
+ class Application < Rails::Application
23
+ # Settings in config/environments/* take precedence over those specified here.
24
+ # Application configuration should go into files in config/initializers
25
+ # -- all .rb files in that directory are automatically loaded.
26
+
27
+ # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
28
+ # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
29
+ # config.time_zone = 'Central Time (US & Canada)'
30
+
31
+ # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
32
+ # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
33
+ # config.i18n.default_locale = :de
34
+ config.secret_key_base = 'xxx'
35
+ end
36
+ end
37
+
@@ -0,0 +1,5 @@
1
+ # Set up gems listed in the Gemfile.
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
3
+
4
+ require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
5
+ $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the Rails application.
5
+ Dummy::Application.initialize!
@@ -0,0 +1,36 @@
1
+ Dummy::Application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.cache_classes = true
9
+
10
+ # Do not eager load code on boot. This avoids loading your whole application
11
+ # just for the purpose of running a single test. If you are using a tool that
12
+ # preloads Rails for running tests, you may have to set it to true.
13
+ config.eager_load = false
14
+
15
+ # Configure static asset server for tests with Cache-Control for performance.
16
+ config.serve_static_files = true
17
+ config.static_cache_control = "public, max-age=3600"
18
+
19
+ # Show full error reports and disable caching.
20
+ config.consider_all_requests_local = true
21
+ config.action_controller.perform_caching = false
22
+
23
+ # Raise exceptions instead of rendering exception templates.
24
+ config.action_dispatch.show_exceptions = false
25
+
26
+ # Disable request forgery protection in test environment.
27
+ config.action_controller.allow_forgery_protection = false
28
+
29
+ # Tell Action Mailer not to deliver emails to the real world.
30
+ # The :test delivery method accumulates sent emails in the
31
+ # ActionMailer::Base.deliveries array.
32
+ config.action_mailer.delivery_method = :test
33
+
34
+ # Print deprecation notices to the stderr.
35
+ config.active_support.deprecation = :stderr
36
+ end
@@ -0,0 +1,7 @@
1
+ Rails.application.routes.draw do
2
+ scope controller: :home do
3
+ get '', action: :index
4
+ get 'flashes'
5
+ get 'footer'
6
+ end
7
+ end
@@ -1,12 +1,15 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
3
+
4
+ Rails.backtrace_cleaner.remove_silencers!
5
+
6
+ require 'rspec/rails'
1
7
  require 'capybara/rspec'
2
8
  require 'capybara/poltergeist'
3
9
  require 'rspec-html-matchers'
4
10
  require 'active_support/all'
5
- require 'erector'
6
11
  require 'dvl/core'
7
- require_relative '../preview/app'
8
12
 
9
- Capybara.app = App
10
13
  Capybara.javascript_driver = :poltergeist
11
14
 
12
15
  def take_screenshot(path, name, opts = {})
@@ -104,14 +104,9 @@ input[type="radio"] {
104
104
  padding: 0; /* 2 */
105
105
  }
106
106
  /**
107
- * 1. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
108
- * (include `-moz` to future-proof)
109
107
  * 2. Address `appearance` set to `searchfield` in Safari 5 and Chrome
110
108
  */
111
109
  input[type="search"] {
112
- -webkit-box-sizing: content-box; /* 1 */
113
- -moz-box-sizing: content-box;
114
- box-sizing: content-box;
115
110
  -webkit-appearance: textfield; /* 2 */
116
111
  }
117
112
  /* Remove decoration & cancel button in Safari 5 and Chrome on OS X */
@@ -94,32 +94,32 @@ $fontSize: 14;
94
94
 
95
95
  // Animation mixins
96
96
 
97
- $ease_in_quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
98
- $ease_in_cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
99
- $ease_in_quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
100
- $ease_in_quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
101
- $ease_in_sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
102
- $ease_in_expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
103
- $ease_in_circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
104
- $ease_in_back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
105
-
106
- $ease_out_quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
107
- $ease_out_cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
108
- $ease_out_quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
109
- $ease_out_quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
110
- $ease_out_sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
111
- $ease_out_expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
112
- $ease_out_circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
113
- $ease_out_back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
114
-
115
- $ease_in_out_quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
116
- $ease_in_out_cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
117
- $ease_in_out_quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
118
- $ease_in_out_quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
119
- $ease_in_out_sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
120
- $ease_in_out_expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
121
- $ease_in_out_circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
122
- $ease_in_out_back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
97
+ $easeInQuad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
98
+ $easeInCubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
99
+ $easeInQuart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
100
+ $easeInQuint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
101
+ $easeInSine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
102
+ $easeInExpo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
103
+ $easeInCirc: cubic-bezier(0.600, 0.040, 0.980, 0.335);
104
+ $easeInBack: cubic-bezier(0.600, -0.280, 0.735, 0.045);
105
+
106
+ $easeOutQuad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
107
+ $easeOutCubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
108
+ $easeOutQuart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
109
+ $easeOutQuint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
110
+ $easeOutSine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
111
+ $easeOutExpo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
112
+ $easeOutCirc: cubic-bezier(0.075, 0.820, 0.165, 1.000);
113
+ $easeOutBack: cubic-bezier(0.175, 0.885, 0.320, 1.275);
114
+
115
+ $easeInOutQuad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
116
+ $easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
117
+ $easeInOutQuart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
118
+ $easeInOutQuint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
119
+ $easeInOutSine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
120
+ $easeInOutExpo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
121
+ $easeInOutCirc: cubic-bezier(0.785, 0.135, 0.150, 0.860);
122
+ $easeInOutBack: cubic-bezier(0.680, -0.550, 0.265, 1.550);
123
123
 
124
124
 
125
125
  @mixin cf() {
@@ -9,7 +9,7 @@
9
9
  opacity: 0;
10
10
  visibility: visible;
11
11
  min-width: 40px;
12
- transition: transform 0.25s $ease_out_back, opacity 120ms ease-out;
12
+ transition: transform 0.25s $easeOutBack, opacity 120ms ease-out;
13
13
  &.top, &.bottom {
14
14
  padding: 5px 0;
15
15
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dvl-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Becker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-05 00:00:00.000000000 Z
11
+ date: 2015-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -67,103 +67,89 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: capybara
70
+ name: autoprefixer-rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 2.4.2
75
+ version: 4.0.2.2
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 2.4.2
83
- - !ruby/object:Gem::Dependency
84
- name: poltergeist
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '='
88
- - !ruby/object:Gem::Version
89
- version: 1.5.1
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '='
95
- - !ruby/object:Gem::Version
96
- version: 1.5.1
82
+ version: 4.0.2.2
97
83
  - !ruby/object:Gem::Dependency
98
- name: rerun
84
+ name: capybara
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - '='
102
88
  - !ruby/object:Gem::Version
103
- version: 0.10.0
89
+ version: 2.4.4
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - '='
109
95
  - !ruby/object:Gem::Version
110
- version: 0.10.0
96
+ version: 2.4.4
111
97
  - !ruby/object:Gem::Dependency
112
- name: rspec
98
+ name: poltergeist
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - '='
116
102
  - !ruby/object:Gem::Version
117
- version: 3.1.0
103
+ version: 1.5.1
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - '='
123
109
  - !ruby/object:Gem::Version
124
- version: 3.1.0
110
+ version: 1.5.1
125
111
  - !ruby/object:Gem::Dependency
126
- name: rspec-html-matchers
112
+ name: rails
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - '='
130
116
  - !ruby/object:Gem::Version
131
- version: 0.6.1
117
+ version: 4.2.0
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - '='
137
123
  - !ruby/object:Gem::Version
138
- version: 0.6.1
124
+ version: 4.2.0
139
125
  - !ruby/object:Gem::Dependency
140
- name: sinatra
126
+ name: rspec-rails
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - '='
144
130
  - !ruby/object:Gem::Version
145
- version: 1.4.5
131
+ version: 3.1.0
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - '='
151
137
  - !ruby/object:Gem::Version
152
- version: 1.4.5
138
+ version: 3.1.0
153
139
  - !ruby/object:Gem::Dependency
154
- name: sinatra-assetpack
140
+ name: rspec-html-matchers
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - '='
158
144
  - !ruby/object:Gem::Version
159
- version: 0.3.3
145
+ version: 0.6.1
160
146
  type: :development
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
150
  - - '='
165
151
  - !ruby/object:Gem::Version
166
- version: 0.3.3
152
+ version: 0.6.1
167
153
  description:
168
154
  email: adam@dobt.co
169
155
  executables: []
@@ -182,11 +168,28 @@ files:
182
168
  - lib/dvl/components/modal.rb
183
169
  - lib/dvl/core.rb
184
170
  - lib/dvl/core/version.rb
185
- - preview/app.rb
186
171
  - script/bootstrap
187
172
  - script/cibuild
188
173
  - script/preview
189
174
  - script/release
175
+ - spec/dummy/Rakefile
176
+ - spec/dummy/app/assets/javascripts/application.js
177
+ - spec/dummy/app/assets/stylesheets/application.css
178
+ - spec/dummy/app/controllers/home_controller.rb
179
+ - spec/dummy/app/views/base.rb
180
+ - spec/dummy/app/views/home/flashes.rb
181
+ - spec/dummy/app/views/home/footer.rb
182
+ - spec/dummy/app/views/home/index.rb
183
+ - spec/dummy/bin/bundle
184
+ - spec/dummy/bin/rails
185
+ - spec/dummy/bin/rake
186
+ - spec/dummy/bin/setup
187
+ - spec/dummy/config.ru
188
+ - spec/dummy/config/application.rb
189
+ - spec/dummy/config/boot.rb
190
+ - spec/dummy/config/environment.rb
191
+ - spec/dummy/config/environments/test.rb
192
+ - spec/dummy/config/routes.rb
190
193
  - spec/dvl_flashes_spec.rb
191
194
  - spec/main_spec.rb
192
195
  - spec/spec_helper.rb
@@ -245,6 +248,24 @@ signing_key:
245
248
  specification_version: 4
246
249
  summary: Base styles for the DOBT View Layer.
247
250
  test_files:
251
+ - spec/dummy/Rakefile
252
+ - spec/dummy/app/assets/javascripts/application.js
253
+ - spec/dummy/app/assets/stylesheets/application.css
254
+ - spec/dummy/app/controllers/home_controller.rb
255
+ - spec/dummy/app/views/base.rb
256
+ - spec/dummy/app/views/home/flashes.rb
257
+ - spec/dummy/app/views/home/footer.rb
258
+ - spec/dummy/app/views/home/index.rb
259
+ - spec/dummy/bin/bundle
260
+ - spec/dummy/bin/rails
261
+ - spec/dummy/bin/rake
262
+ - spec/dummy/bin/setup
263
+ - spec/dummy/config.ru
264
+ - spec/dummy/config/application.rb
265
+ - spec/dummy/config/boot.rb
266
+ - spec/dummy/config/environment.rb
267
+ - spec/dummy/config/environments/test.rb
268
+ - spec/dummy/config/routes.rb
248
269
  - spec/dvl_flashes_spec.rb
249
270
  - spec/main_spec.rb
250
271
  - spec/spec_helper.rb
@@ -1,331 +0,0 @@
1
- require 'sinatra/base'
2
- require 'sinatra/assetpack'
3
- require 'active_support/all'
4
- require 'erector'
5
- require 'dvl/core'
6
- require 'yaml'
7
-
8
- module AppHelpers
9
- def docs(name, &block)
10
- div.section_header name, id: name.downcase
11
- yield
12
- end
13
-
14
- def translations
15
- @translations ||= YAML::load(File.read("#{File.dirname(__FILE__)}/../config/locales/en.yml"))['en']
16
- end
17
-
18
- def t(key)
19
- pieces = key.split('.')
20
- found = translations.dup
21
-
22
- while pieces.length > 0
23
- found = found[pieces.shift] || {}
24
- end
25
-
26
- found
27
- end
28
- end
29
-
30
- Erector::HTMLWidget.send(:include, AppHelpers)
31
-
32
- module Views
33
- class Base < Erector::Widget
34
- def content
35
- rawtext '<!doctype html>'
36
- html {
37
- head {
38
- link href: '//fonts.googleapis.com/css?family=Open+Sans:400,300,700,600', rel: 'stylesheet', type: 'text/css'
39
-
40
- link href: '/css/dvl/core.css', rel: 'stylesheet', type: 'text/css', media: 'all'
41
- link href: '/css/dvl/components/flashes.css', rel: 'stylesheet', type: 'text/css', media: 'all'
42
- link href: '/css/dvl/components/footer.css', rel: 'stylesheet', type: 'text/css', media: 'all'
43
- style(type: 'text/css') {
44
- rawtext %{
45
- body {
46
- padding: 0 1rem 1rem;
47
- background: white;
48
- }
49
-
50
- .section_header {
51
- font-size: 1.6rem;
52
- padding: 1rem 0 0.25rem;
53
- margin-bottom: 1rem;
54
- border-bottom: 1px solid #eee;
55
- }
56
- }
57
- }
58
- }
59
- body {
60
- main
61
-
62
- script src: '//code.jquery.com/jquery-1.11.1.min.js'
63
- script src: '/js/dvl/core/modals.js'
64
- script src: '/js/dvl/core/dropdowns.js'
65
- script src: '/js/dvl/core/tooltips.js'
66
- script src: '/js/dvl/core/buttons.js'
67
- script src: '/js/dvl/components/flashes.js'
68
- script %{
69
- $('[data-toggle="tooltip"]').tooltip()
70
- }.html_safe
71
- }
72
- }
73
- end
74
- end
75
-
76
- class Home < Base
77
- def main
78
- docs 'Buttons' do
79
- a.button 'Yo!'
80
- text ' '
81
- a.button.info 'Info'
82
- text ' '
83
- a.button.primary 'Primary'
84
- text ' '
85
- a.button.success 'Success'
86
- text ' '
87
- a.button.white 'White'
88
- text ' '
89
- a.button_uppercase 'Uppercase'
90
- end
91
-
92
- docs 'Code' do
93
- pre %{<p>This is some awesome code</p>}
94
- p %{This is a paragraph with <code>code</code>.}.html_safe
95
- end
96
-
97
- docs 'Dropdowns' do
98
- span.dropdown {
99
- a.dropdown_toggle 'Click me',
100
- 'data-toggle' => 'dropdown'
101
- div.dropdown_menu {
102
- ul.dropdown_body {
103
- li {
104
- a 'Hey! This is some really long dropdown text, yo.'
105
- }
106
- li {
107
- a 'No!'
108
- }
109
- }
110
- }
111
- }
112
- end
113
-
114
- docs 'Forms' do
115
- form {
116
- input type: 'text'
117
- label.checkbox {
118
- input type: 'checkbox'
119
- text 'Foo'
120
- }
121
- div.input_sub {
122
- label.checkbox {
123
- input type: 'checkbox'
124
- text 'This is a sub-option of foo.'
125
- }
126
- }
127
- div.form_actions {
128
- button.button.primary 'Submit'
129
- }
130
- }
131
- end
132
-
133
- docs 'Grid' do
134
- div.grid {
135
- div.item.six_columns 'six_columns'
136
- div.item.six_columns 'six_columns'
137
- }
138
- div.grid.gutter_none {
139
- div.item.three_columns 'three_columns (gutter_none)'
140
- div.item.three_columns 'three_columns (gutter_none)'
141
- div.item.three_columns 'three_columns (gutter_none)'
142
- div.item.three_columns 'three_columns (gutter_none)'
143
- }
144
- end
145
-
146
- docs 'Labels' do
147
- span.label.label_error 'Error'
148
- text ' '
149
- span.label.label_success 'Success'
150
- text ' '
151
- span.label.label_info 'Info'
152
- text ' '
153
- span.label.label_warning 'Warning'
154
- end
155
-
156
- docs 'Links' do
157
- a.uppercase 'Uppercase'
158
- text ' '
159
- a.smallbold 'Smallbold'
160
- end
161
-
162
- docs 'Lists' do
163
- ul {
164
- li 'This'
165
- li 'is a'
166
- li 'list!'
167
- }
168
- end
169
-
170
- docs 'Modals' do
171
- a 'Open modal', 'data-toggle' => 'modal', href: '#modal'
172
- widget Dvl::Components::Modal.new(title: 'Awesome modal', id: 'modal') do
173
- div.modal_body {
174
- text 'This is the modal body!'
175
- }
176
- end
177
-
178
- br
179
-
180
- a 'Confirmation modal', 'data-toggle' => 'modal', href: '#confirmModal'
181
- widget Dvl::Components::Modal.new(
182
- title: 'Are you sure?',
183
- id: 'confirmModal',
184
- html_opts: { class: 'modal_confirm' }
185
- ) do
186
- div.modal_body {
187
- text 'Are you sure?'
188
- }
189
- div.modal_footer {
190
- a.button.error 'OK'
191
- }
192
- end
193
- end
194
-
195
- docs 'Pagination' do
196
- div(class: 'pagination-wrapper') {
197
- ul {
198
- li { a '‹' }
199
- li { a '1' }
200
- li { span '2' }
201
- li { a '3' }
202
- li { a '›' }
203
- }
204
- }
205
- end
206
-
207
- docs 'Progress' do
208
- div.progress {
209
- div.progress_inner(style: "width: 30%") {
210
- text '30%'
211
- }
212
- }
213
- end
214
-
215
- docs 'Sidebar' do
216
- div.sidebar_box {
217
- ul.sidebar_data {
218
- li {
219
- div.sidebar_data_icon {
220
- i '✓'
221
- }
222
- div.sidebar_data_text {
223
- div.sidebar_data_label 'Label'
224
- div.sidebar_data_value 'Value'
225
- div.sidebar_data_details 'Details'
226
- }
227
- }
228
- }
229
- }
230
- end
231
-
232
- docs 'Tables' do
233
- table {
234
- thead {
235
- tr {
236
- th 'ID'
237
- th 'Name'
238
- }
239
- }
240
- tbody {
241
- tr {
242
- td '1'
243
- td 'Bob'
244
- }
245
- tr {
246
- td '2'
247
- td 'Job'
248
- }
249
- }
250
- }
251
- end
252
-
253
- docs 'Tooltips' do
254
- %w(top right bottom left).each do |x|
255
- a x.capitalize,
256
- 'data-toggle' => 'tooltip',
257
- 'data-placement' => x,
258
- 'data-container' => 'body',
259
- title: "Tooltip on the #{x}!"
260
- text ' '
261
- end
262
- end
263
-
264
- docs 'Typography' do
265
- h1 'Heading 1'
266
- h2 'Heading 2'
267
- h3 'Heading 3'
268
- h4 'Heading 4'
269
- h5 'Heading 5'
270
- h6 'Heading 6'
271
- p 'Lorem ipsum.'
272
-
273
- p.microcopy {
274
- text 'This is some awesome .microcopy.'
275
- a.microcopy_action 'Microcopy action'
276
- }
277
- end
278
- end
279
- end
280
-
281
- class Flashes < Base
282
- def main
283
- ul {
284
- li {
285
- a 'Success', href: 'javascript:DvlFlash("success", "You did it!")'
286
- }
287
- li {
288
- a 'Info', href: 'javascript:DvlFlash("info", "An informational message...")'
289
- }
290
- li {
291
- a 'Error', href: 'javascript:DvlFlash("error", "Oh no, an error occured!")'
292
- }
293
- }
294
- end
295
- end
296
-
297
- class Footer < Base
298
- def main
299
- br
300
- br
301
- widget Dvl::Components::Footer.new(application_name: 'dvl-core')
302
- end
303
- end
304
- end
305
-
306
- class App < Sinatra::Base
307
-
308
- set :root, File.dirname(__FILE__)
309
- set :scss, { load_paths: [ "#{self.root}/../vendor/assets/stylesheets", "#{self.root}/../vendor/assets/stylesheets/dvl" ] }
310
-
311
- register Sinatra::AssetPack
312
-
313
- assets do
314
- serve '/css', from: '../vendor/assets/stylesheets'
315
- serve '/js', from: '../vendor/assets/javascripts'
316
- end
317
-
318
- get '/' do
319
- Views::Home.new.to_html
320
- end
321
-
322
- get '/flashes' do
323
- Views::Flashes.new.to_html
324
- end
325
-
326
- get '/footer' do
327
- Views::Footer.new.to_html
328
- end
329
-
330
- run! if app_file == $0
331
- end