ratchet_design 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/ratchet/favicon.ico +0 -0
  3. data/app/assets/images/ratchet/safari-pinned-tab.svg +1 -0
  4. data/app/assets/javascripts/ratchet/base/form.js +9 -118
  5. data/app/assets/javascripts/ratchet/base/mobilemenu.js +12 -50
  6. data/app/assets/javascripts/ratchet/base/sync-input-value.js +30 -0
  7. data/app/assets/javascripts/ratchet/core.js +58 -77
  8. data/app/assets/javascripts/ratchet/enhancement/_collapse.js +3 -6
  9. data/app/assets/javascripts/ratchet/enhancement/_swap.js +3 -7
  10. data/app/assets/javascripts/ratchet/enhancement/lightbox.js +165 -0
  11. data/app/assets/javascripts/ratchet/enhancement/notice.js +8 -3
  12. data/app/assets/javascripts/ratchet/enhancement/sticky.js +18 -35
  13. data/app/assets/javascripts/ratchet/enhancement/waypoints.js +125 -162
  14. data/app/assets/javascripts/ratchet/shim/scope.js +94 -0
  15. data/app/assets/javascripts/ratchet/{enhancement → utility}/loader.js +15 -8
  16. data/app/assets/stylesheets/ratchet/_core.scss +4 -1
  17. data/app/assets/stylesheets/ratchet/base/_button.scss +3 -3
  18. data/app/assets/stylesheets/ratchet/base/_form.scss +63 -47
  19. data/app/assets/stylesheets/ratchet/base/_multistep-form.scss +64 -0
  20. data/app/assets/stylesheets/ratchet/base/_text.scss +15 -15
  21. data/app/assets/stylesheets/ratchet/enhancement/_lightbox.scss +98 -0
  22. data/app/assets/stylesheets/ratchet/enhancement/_tooltip.scss +142 -0
  23. data/app/assets/stylesheets/ratchet/fonts-woff.css +4 -4
  24. data/app/assets/stylesheets/ratchet/fonts-woff2.css +4 -4
  25. data/app/assets/stylesheets/ratchet/utility/_global.scss +3 -13
  26. data/app/assets/stylesheets/ratchet/{enhancement → utility}/_loader.scss +1 -1
  27. data/app/helpers/ratchet/application_helper.rb +6 -12
  28. data/app/helpers/ratchet/form_helper.rb +140 -0
  29. data/app/views/layouts/ratchet/default.html.slim +3 -2
  30. data/app/views/shared/ratchet/_footer.html.slim +1 -1
  31. data/app/views/shared/ratchet/_header.html.slim +1 -1
  32. data/lib/ratchet_design/version.rb +1 -1
  33. data/lib/ratchet_design.rb +24 -4
  34. data/public/assets/ratchet/core-0.1.2.js +133 -0
  35. data/public/assets/ratchet/core-0.1.2.js.gz +0 -0
  36. data/public/assets/ratchet/core-0.1.2.map.json +1 -0
  37. data/public/assets/ratchet/core-0.1.20.js +20472 -0
  38. data/public/assets/ratchet/{fonts-woff-0.1.1.css → fonts-woff-0.1.2.css} +4 -4
  39. data/public/assets/ratchet/{fonts-woff-0.1.1.css.gz → fonts-woff-0.1.2.css.gz} +0 -0
  40. data/public/assets/ratchet/{fonts-woff2-0.1.1.css → fonts-woff2-0.1.2.css} +4 -4
  41. data/public/assets/ratchet/{fonts-woff2-0.1.1.css.gz → fonts-woff2-0.1.2.css.gz} +0 -0
  42. metadata +48 -27
  43. data/app/assets/javascripts/ratchet/base/validation.js +0 -263
  44. data/app/assets/javascripts/ratchet/enhancement/_lightbox.js +0 -93
  45. data/app/assets/javascripts/ratchet/shim/classlist.js +0 -234
  46. data/app/assets/javascripts/ratchet/shim/object.assign.js +0 -30
  47. data/app/assets/javascripts/ratchet/utility/compile_data.js +0 -32
  48. data/app/assets/javascripts/ratchet/utility/from_top.js +0 -14
  49. data/app/assets/javascripts/ratchet/utility/full_stop.js +0 -55
  50. data/app/assets/javascripts/ratchet/utility/get_closest.js +0 -20
  51. data/app/assets/javascripts/ratchet/utility/get_next.js +0 -17
  52. data/app/assets/javascripts/ratchet/utility/matches.js +0 -15
  53. data/app/assets/javascripts/ratchet/utility/scroll_to.js +0 -74
  54. data/app/assets/javascripts/ratchet/utility/throttle.js +0 -25
  55. data/app/assets/javascripts/ratchet/utility/timeout.js +0 -45
  56. data/app/assets/javascripts/ratchet/utility/unhover.js +0 -56
  57. data/app/assets/javascripts/ratchet/utility/word_count.js +0 -15
  58. data/app/assets/stylesheets/ratchet/enhancement/_signup.scss +0 -206
  59. data/public/assets/ratchet/core-0.1.1.js +0 -103
  60. data/public/assets/ratchet/core-0.1.1.js.gz +0 -0
  61. data/public/assets/ratchet/core-0.1.1.map.json +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 05e52118e10d1100b0d48fc879d875a872586559
4
- data.tar.gz: a4b56310564057e3446f8b8d16c7a39f7d728b0c
3
+ metadata.gz: f6297919184307b0129029a416712ee65e6c1d94
4
+ data.tar.gz: 83c451f5339b4c0f4e83959962459f6733a618b9
5
5
  SHA512:
6
- metadata.gz: 44157e35a90e6263f377a3477956cce463aba8a69d4a207af25cfeb30dab9d2c2298e02ee61dc4228533242c75d3cc3e90127d55c8594799e5a13db8f52e50b3
7
- data.tar.gz: 6e94d09f3ea42db5ac4c61775d39f65d6fa3dfe666a40cba15959bf4bc493879f733288b70bf4b31ae74b18378d24359192e166c53494711e7c8d3a788de7496
6
+ metadata.gz: d5dc301107da8ff1a7f52a96e9e3d183d6adb48605c11a71d8546bb6942aa60f3e7885fe4594a5cf2546a1e268c5781bd7eeedd4516eaaafbdce903370b4f2e7
7
+ data.tar.gz: 80fb37a9190e8ad60ad1aef7c89efa0c74aaa5f7e747a469635a7bcc63f23e71cfe1de0094cc0e895a7d34b612d734598012c10b903924080e28e1ada1962d87
Binary file
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M11.251 24.382l-4.844-8.414 4.844-8.35h9.562l4.78 8.35-4.78 8.414h-9.562zM16.103 0c.781.008 1.56.067 2.331.185 1.431.218 2.83.633 4.149 1.23 1.698.768 3.258 1.836 4.592 3.139 1.263 1.233 2.321 2.674 3.117 4.25.664 1.315 1.144 2.722 1.421 4.169.326 1.698.374 3.449.145 5.162-.218 1.631-.69 3.226-1.396 4.712-.812 1.712-1.931 3.275-3.287 4.599-1.427 1.393-3.112 2.518-4.949 3.295-1.933.818-4.024 1.245-6.123 1.258-2.102.014-4.202-.387-6.149-1.183-1.847-.755-3.547-1.86-4.991-3.237-1.371-1.307-2.508-2.856-3.341-4.557-.722-1.475-1.214-3.062-1.452-4.687-.251-1.711-.224-3.463.08-5.165.266-1.484.744-2.929 1.415-4.279.786-1.581 1.836-3.029 3.092-4.27 1.302-1.287 2.824-2.35 4.484-3.125 1.309-.612 2.701-1.043 4.127-1.28.768-.127 1.544-.196 2.323-.213l.412-.003zm-.194 1.913c-.688.006-1.374.058-2.054.162-1.259.192-2.49.557-3.649 1.082-1.419.642-2.729 1.521-3.862 2.589-1.152 1.086-2.12 2.364-2.851 3.768-.611 1.174-1.054 2.435-1.311 3.734-.302 1.522-.35 3.096-.145 4.634.188 1.406.591 2.782 1.192 4.068.706 1.512 1.684 2.895 2.872 4.069 1.249 1.234 2.727 2.233 4.34 2.927 1.695.73 3.531 1.117 5.377 1.14 1.852.024 3.705-.317 5.425-1.008 1.631-.655 3.134-1.619 4.413-2.824 1.235-1.164 2.258-2.549 3.005-4.073.635-1.298 1.068-2.693 1.277-4.123.225-1.537.197-3.111-.087-4.638-.241-1.303-.669-2.571-1.266-3.754-.701-1.388-1.633-2.658-2.746-3.744-1.113-1.087-2.406-1.99-3.812-2.657-1.147-.545-2.369-.932-3.621-1.148-.675-.116-1.357-.18-2.042-.2l-.455-.004z" /></svg>
@@ -1,18 +1,17 @@
1
1
  /**
2
2
  * Form 0.0.1
3
- * Compose forms module
3
+ * Ratchet forms module
4
4
  * @author Kyle Foster (@hkfoster)
5
5
  * @license MIT
6
6
  **/
7
7
 
8
- // Dependencies
9
- var evt = require( 'compose-event' );
8
+ var toolbox = require( 'compose-toolbox' )
10
9
 
11
10
  // Public API function
12
11
  var form = function( element, settings ) {
13
12
 
14
13
  // Overridable defaults
15
- var defaults = {};
14
+ var defaults = {}
16
15
 
17
16
  // Parameter variables
18
17
  var selector = document.querySelector( element ) || document.querySelector( 'form' );
@@ -21,22 +20,22 @@ var form = function( element, settings ) {
21
20
  if ( !selector ) return false;
22
21
 
23
22
  // Scoped variables
24
- var options = Object.assign( {}, defaults, settings ),
23
+ var options = toolbox.merge( defaults, settings ),
25
24
  rangeEls = document.querySelectorAll( 'input[type=range]' ),
26
25
  tickEls = document.querySelectorAll( 'input[type=checkbox], input[type=radio]' ),
27
26
  docBody = document.body;
28
27
 
29
28
  // Prevent non-numeric characters in number fields
30
- docBody.addEventListener( 'keypress', keyHandler, false );
29
+ toolbox.event.on( docBody, 'keypress', 'input[type=number]', restrictInput )
31
30
 
32
31
  // Run delegated `on input` listener
33
- docBody.addEventListener( 'input', rangeHandler, true );
32
+ toolbox.event.on( docBody, 'input', '[type=range]', rangeHandler )
34
33
 
35
34
  // Loop over any range inputs that are present
36
35
  for ( var rangeIndex = 0; rangeIndex < rangeEls.length; rangeIndex++ ) {
37
36
 
38
37
  // And run their handler function explicitly at runtime
39
- rangeHandler( rangeEls[ rangeIndex ] );
38
+ rangeHandler( rangeEls[ rangeIndex ] )
40
39
 
41
40
  }
42
41
 
@@ -75,14 +74,9 @@ var form = function( element, settings ) {
75
74
  }
76
75
 
77
76
  // Keydown handler function
78
- function keyHandler( event ) {
77
+ function restrictInput( event ) {
79
78
 
80
- // Only run on number inputs
81
- if ( event.target.type !== 'number' ) {
82
- return false;
83
- }
84
-
85
- // If user enters non-numeric characters
79
+ // If user typing in an input[type=number] and enters non-numeric characters
86
80
  if ( event.which < 48 || event.which > 57 ) {
87
81
 
88
82
  // Supress them
@@ -111,109 +105,6 @@ var form = function( element, settings ) {
111
105
 
112
106
  }
113
107
 
114
- // Rangetouch 0.0.9 - https://github.com/selz/rangetouch
115
- function rangeTouch( size ) {
116
-
117
- // Bail if not a touch device
118
- if ( !( 'ontouchstart' in document.documentElement ) ) {
119
- return;
120
- }
121
-
122
- // Scoped variables
123
- var rangeInputs = document.querySelectorAll( '[type=range]' ),
124
- thumbSize = size || 20;
125
-
126
- // Set touchAction to prevent delays
127
- for ( var i = rangeInputs.length - 1; i >= 0; i-- ) {
128
- rangeInputs[ i ].style.touchAction = 'manipulation';
129
- rangeInputs[ i ].style.webkitUserSelect = 'none';
130
- }
131
-
132
- // Listen for events
133
- docBody.addEventListener( 'touchstart', setValue, false );
134
- docBody.addEventListener( 'touchmove', setValue, false );
135
- docBody.addEventListener( 'touchend', setValue, false );
136
-
137
- // Get the number of decimal places
138
- function getDecimalPlaces( value ) {
139
- var match = ( '' + value ).match( /( ?:\.( \d+ ) )?( ?:[eE]( [+-]?\d+ ) )?$/ );
140
- if ( !match ) {
141
- return 0;
142
- }
143
- return Math.max( 0, ( match[ 1 ] ? match[ 1 ].length : 0 ) - ( match[ 2 ] ? +match[ 2 ] : 0 ) );
144
- }
145
-
146
- // Round to the nearest step
147
- function roundToStep( number, step ) {
148
- if ( step < 1 ) {
149
- var places = getDecimalPlaces( parseInt( step ) );
150
- return parseFloat( number.toFixed( places ) );
151
- }
152
- return ( Math.round( number / step ) * step );
153
- }
154
-
155
- // Get the value based on touch position
156
- function getValue( event ) {
157
-
158
- // Scoped variables
159
- var input = event.target,
160
- touch = event.changedTouches[ 0 ],
161
- min = parseFloat( input.getAttribute( 'min' ) ) || 0,
162
- max = parseFloat( input.getAttribute( 'max' ) ) || 100,
163
- step = parseFloat( input.getAttribute( 'step' ) ) || 1,
164
- delta = max - min;
165
-
166
- // Calculate percentage
167
- var percent,
168
- clientRect = input.getBoundingClientRect(),
169
- thumbWidth = ( ( ( 100 / clientRect.width ) * ( thumbSize / 2 ) ) / 100 );
170
-
171
- // Determine left percentage
172
- percent = ( ( 100 / clientRect.width ) * ( touch.clientX - clientRect.left ) );
173
-
174
- // Don't allow outside bounds
175
- if ( percent < 0 ) {
176
- percent = 0;
177
- } else if ( percent > 100 ) {
178
- percent = 100;
179
- }
180
-
181
- // Factor in the thumb offset
182
- if ( percent < 50 ) {
183
- percent -= ( ( 100 - ( percent * 2 ) ) * thumbWidth );
184
- } else if ( percent > 50 ) {
185
- percent += ( ( ( percent - 50 ) * 2 ) * thumbWidth );
186
- }
187
-
188
- // Find the closest step to the mouse position
189
- return min + roundToStep( delta * ( percent / 100 ), step );
190
-
191
- }
192
-
193
- // Update range value based on position
194
- function setValue( event ) {
195
-
196
- // Bail if not a range slider
197
- if ( event.target.type !== 'range' ) {
198
- return;
199
- }
200
-
201
- // Prevent text highlight on iOS
202
- event.preventDefault();
203
-
204
- // Set value
205
- event.target.value = getValue( event );
206
-
207
- // Trigger input event
208
- evt.fire( event.target, ( event.type === 'touchend' ? 'change' : 'input' ) );
209
-
210
- }
211
-
212
- }
213
-
214
- // Initialize RangeTouch
215
- rangeTouch();
216
-
217
108
  };
218
109
 
219
110
  // Public API
@@ -6,69 +6,31 @@
6
6
  **/
7
7
 
8
8
  // Dependencies
9
- var matches = require( '../utility/matches' );
9
+ var toolbox = require( 'compose-toolbox' )
10
10
 
11
11
  // Public API function
12
- var mobileMenu = function( element, settings ) {
12
+ var mobileMenu = function( settings ) {
13
13
 
14
14
  // Overridable defaults
15
15
  var defaults = {
16
16
  initWidth : '700px',
17
17
  openClass : 'menu-open',
18
- menuButton : '.mobile-menu-button'
18
+ nav : '.main-nav',
19
+ button : '.mobile-menu-button'
19
20
  },
20
21
 
21
22
  // Scoped variables
22
- options = Object.assign( {}, defaults, settings ),
23
- selector = document.querySelector( element ),
24
- widthQuery = window.matchMedia( '(max-width: ' + options.initWidth + ')' ),
23
+ options = toolbox.merge( defaults, settings ),
24
+ selector = options.button + ', ' + options.openClass + ' ' + options.nav + ' a',
25
25
  docBody = document.body;
26
26
 
27
27
  // Attach listeners
28
- if ( selector ) {
28
+ toolbox.event.on( document, 'click', selector, function() {
29
+ // Toggle body class
30
+ docBody.classList.toggle( options.openClass )
31
+ })
29
32
 
30
- // Call listener function explicitly at run time
31
- queryHandler( widthQuery );
32
-
33
- // Attach listener function to listen in on state changes
34
- widthQuery.addListener( queryHandler );
35
-
36
- }
37
-
38
- // Click handler function
39
- function clickHandler( event ) {
40
-
41
- // Combine element selector with anchor links
42
- var toggleSelector = options.menuButton + ', .' + options.openClass + ' ' + element + ' a[href^="#"]';
43
-
44
- // Only run on menu button
45
- if ( matches( event.target, toggleSelector ) ) {
46
-
47
- // Toggle body class
48
- docBody.classList.toggle( options.openClass );
49
-
50
- }
51
-
52
- }
53
-
54
- // Media query handler function
55
- function queryHandler( condition ) {
56
-
57
- // If media query matches
58
- if ( condition.matches ) {
59
-
60
- // Click function listener
61
- selector.addEventListener( 'click', clickHandler, false );
62
-
63
- } else {
64
-
65
- // Remove click listener
66
- selector.removeEventListener( 'click', clickHandler, false );
67
-
68
- }
69
- }
70
-
71
- };
33
+ }
72
34
 
73
35
  // Public API
74
- module.exports = mobileMenu;
36
+ module.exports = mobileMenu
@@ -0,0 +1,30 @@
1
+ var toolbox = require( 'compose-toolbox' )
2
+ var Event = toolbox.event
3
+ var textSelectors = 'textarea, input[type=url], input[type=tel], input[type=text], input[type=email], input[type=number], input[type=password]'
4
+
5
+ Event.bubbleFormEvents()
6
+
7
+ function textInputs() {
8
+ return document.querySelectorAll( textSelectors )
9
+ }
10
+
11
+ function syncValue( input ) {
12
+
13
+ // Allow calling from event handler
14
+ if ( input.target ) { input = input.target }
15
+
16
+ // If element only contains whitespace, strip value
17
+ if ( !input.value.replace( /\s/g, '' ).length ) { input.value = ''; }
18
+
19
+ input.setAttribute( 'value', input.value )
20
+
21
+ }
22
+
23
+ Event.change( function() {
24
+
25
+ // Ensure that all inputs have a value
26
+ toolbox.each( textInputs(), syncValue )
27
+
28
+ })
29
+
30
+ Event.on( document, 'blur', 'input', syncValue )
@@ -1,95 +1,76 @@
1
- // Shim modules
2
- require( './shim/classlist' );
3
- require( './shim/object.assign' );
4
-
5
1
  // Utility modules
6
- var loadFont = require( './utility/load_font' );
7
- var fullStop = require( './utility/full_stop' );
8
- var unhover = require( './utility/unhover' );
9
- var throttle = require( './utility/throttle' );
10
- var loadScript = require( './utility/load_script' );
11
- var fromTop = require( './utility/from_top' );
12
- var scrollTo = require( './utility/scroll_to' );
13
- var matches = require( './utility/matches' );
14
- var getClosest = require( './utility/get_closest' );
15
- var getNext = require( './utility/get_next' );
16
- var wordCount = require( './utility/word_count' );
17
- var compileData = require( './utility/compile_data' );
18
- var timeout = require( './utility/timeout' );
2
+ var loadFont = require( './utility/load_font' )
3
+ var loadScript = require( './utility/load_script' )
19
4
 
20
5
  // Base modules
21
- var mobileMenu = require( './base/mobilemenu' );
22
- var form = require( './base/form' );
23
- var validation = require( './base/validation' );
6
+ var mobileMenu = require( './base/mobilemenu' )
7
+ var form = require( './base/form' )
8
+ var formUp = require( 'compose-form-up' )
9
+ form.validate = formUp.validate
10
+ form.next = formUp.next
11
+ require( './base/sync-input-value' )
24
12
 
25
13
  // Enhancement modules
26
- var loader = require( './enhancement/loader' );
27
- var waypoints = require( './enhancement/waypoints' );
28
- var notice = require( './enhancement/notice' );
29
- var sticky = require( './enhancement/sticky' );
30
- var esvg = require( './_svg' );
14
+ var waypoints = require( './enhancement/waypoints' )
15
+ var notice = require( './enhancement/notice' )
16
+ var sticky = require( './enhancement/sticky' )
17
+ var lightbox = require( './enhancement/lightbox' )
18
+ var esvg = require( './_svg' )
31
19
  // var swap = require( './enhancement/swap' );
32
20
 
33
21
  // Vendor modules
34
- var event = require( 'compose-event' );
35
- var highlighter = require( 'compose-code-highlighter' );
36
- require( 'codemirror/mode/htmlmixed/htmlmixed' );
37
- require( 'codemirror/mode/slim/slim' );
38
- require( 'codemirror/mode/javascript/javascript' );
39
- require( 'codemirror/mode/css/css' );
40
- require( 'codemirror/mode/sql/sql' );
41
- require( 'codemirror/mode/php/php' );
42
- require( 'codemirror/mode/ruby/ruby' );
43
- require( 'codemirror/mode/shell/shell' );
44
- require( 'codemirror/mode/go/go' );
45
- require( 'codemirror/mode/python/python' );
46
- require( 'codemirror/mode/yaml/yaml' );
47
- require( 'codemirror/mode/clike/clike' );
48
- require( 'codemirror/addon/runmode/runmode' );
49
- require( 'codemirror/addon/edit/matchbrackets' );
22
+ var toolbox = require( 'compose-toolbox' )
23
+ var event = toolbox.event
24
+ var ajax = require( 'superagent' )
25
+ var rangeTouch = require( 'rangetouch' )
26
+ var highlighter = require( 'compose-code-highlighter' )
27
+ var loader = require( 'compose-loader' )
28
+
29
+ require( 'codemirror/mode/htmlmixed/htmlmixed' )
30
+ require( 'codemirror/mode/slim/slim' )
31
+ require( 'codemirror/mode/javascript/javascript' )
32
+ require( 'codemirror/mode/css/css' )
33
+ require( 'codemirror/mode/sql/sql' )
34
+ require( 'codemirror/mode/php/php' )
35
+ require( 'codemirror/mode/ruby/ruby' )
36
+ require( 'codemirror/mode/shell/shell' )
37
+ require( 'codemirror/mode/go/go' )
38
+ require( 'codemirror/mode/python/python' )
39
+ require( 'codemirror/mode/yaml/yaml' )
40
+ require( 'codemirror/mode/clike/clike' )
41
+ require( 'codemirror/addon/runmode/runmode' )
42
+ require( 'codemirror/addon/edit/matchbrackets' )
43
+
44
+ // Initialize component features
45
+ rangeTouch.set("thumbWidth", 20); // Annoying hack to make input ranges work smoothly on touch devices
46
+
47
+ event.scroll.disablePointer() // disable pointer events on scroll for performance (to avoid extra repaints)
48
+ event.resize.disableAnimation() // disable animation on resize for performance (to avoid extra repaints)
49
+
50
+ // Trigger these events each time the page loads
51
+ event.change( function() {
52
+
53
+ // Form module
54
+ form()
55
+
56
+ // Syntax highlighting
57
+ highlighter.highlight()
58
+ });
50
59
 
51
60
  // Public API object
52
- window.ratchet = module.exports = {
61
+ var ratchet = toolbox.merge( {
53
62
  loadFont : loadFont,
54
- fullStop : fullStop,
55
- unhover : unhover,
56
- throttle : throttle,
57
63
  loadScript : loadScript,
58
- fromTop : fromTop,
59
- scrollTo : scrollTo,
60
- matches : matches,
61
- getClosest : getClosest,
62
- getNext : getNext,
63
- wordCount : wordCount,
64
- compileData : compileData,
65
- timeout : timeout,
64
+ ajax : ajax,
65
+ loader : loader,
66
66
  mobileMenu : mobileMenu,
67
67
  form : form,
68
- validation : validation,
69
- loader : loader,
68
+ validation : formUp.validate,
70
69
  waypoints : waypoints,
71
70
  notice : notice,
72
71
  sticky : sticky,
73
- esvg : esvg,
74
- event : event
75
- }
76
-
77
- // Default events instantiation
78
- event.change( function() {
79
-
80
- // Unhover module
81
- unhover();
82
-
83
- // FullStop module
84
- fullStop();
85
-
86
- // Form module
87
- form();
88
-
89
- // Validation module
90
- validation();
91
-
92
- // Syntax highlighting
93
- highlighter.highlight();
72
+ lightbox : lightbox,
73
+ esvg : esvg
74
+ }, toolbox )
94
75
 
95
- }, false );
76
+ window.ratchet = module.exports = ratchet
@@ -5,9 +5,6 @@
5
5
  * @license MIT
6
6
  **/
7
7
 
8
- // Dependencies
9
- var getClosest = require('../utility/get_closest')
10
-
11
8
  ;( function( root, factory ) {
12
9
  if ( typeof define === 'function' && define.amd ) {
13
10
  define( factory );
@@ -29,7 +26,7 @@ var getClosest = require('../utility/get_closest')
29
26
  defaults = {
30
27
  expandText : 'Show more ∨',
31
28
  collapseText : 'Show less ∧',
32
- triggerText : '&nbsp;'
29
+ triggerText : '{{ more }}'
33
30
  };
34
31
 
35
32
  // Only run if selector exists
@@ -77,7 +74,7 @@ var getClosest = require('../utility/get_closest')
77
74
  event.preventDefault();
78
75
 
79
76
  // Scoped variables
80
- var expandable = getClosest( event.target, element ),
77
+ var expandable = compose.getClosest( event.target, element ),
81
78
  stateObject = state[ expandable.dataset.idx ];
82
79
 
83
80
  // Toggle between excerpt and full text
@@ -93,4 +90,4 @@ var getClosest = require('../utility/get_closest')
93
90
  // Public API
94
91
  return exports;
95
92
 
96
- });
93
+ });
@@ -1,13 +1,9 @@
1
1
  /**
2
- * Swap 0.0.2
3
- * Compose swappable element module
2
+ * Swap.js 0.0.2
4
3
  * @author Kyle Foster (@hkfoster)
5
4
  * @license MIT
6
5
  **/
7
6
 
8
- // Dependencies
9
- var ScrollTo = require('../utility/scroll_to')
10
-
11
7
  // Transport
12
8
  ;( function( root, factory ) {
13
9
  if ( typeof define === 'function' && define.amd ) {
@@ -71,7 +67,7 @@ var ScrollTo = require('../utility/scroll_to')
71
67
  } else {
72
68
 
73
69
  // Stop default anchor tag jump
74
- ScrollTo(0, 0);
70
+ window.scrollTo(0, 0);
75
71
 
76
72
  // Assign appropriate element(s) variables
77
73
  var loadedTarget = document.querySelector( '#' + getHash() ),
@@ -117,4 +113,4 @@ var ScrollTo = require('../utility/scroll_to')
117
113
 
118
114
  }
119
115
 
120
- });
116
+ });