ratchet_design 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/images/ratchet/favicon.ico +0 -0
- data/app/assets/images/ratchet/safari-pinned-tab.svg +1 -0
- data/app/assets/javascripts/ratchet/base/form.js +9 -118
- data/app/assets/javascripts/ratchet/base/mobilemenu.js +12 -50
- data/app/assets/javascripts/ratchet/base/sync-input-value.js +30 -0
- data/app/assets/javascripts/ratchet/core.js +58 -77
- data/app/assets/javascripts/ratchet/enhancement/_collapse.js +3 -6
- data/app/assets/javascripts/ratchet/enhancement/_swap.js +3 -7
- data/app/assets/javascripts/ratchet/enhancement/lightbox.js +165 -0
- data/app/assets/javascripts/ratchet/enhancement/notice.js +8 -3
- data/app/assets/javascripts/ratchet/enhancement/sticky.js +18 -35
- data/app/assets/javascripts/ratchet/enhancement/waypoints.js +125 -162
- data/app/assets/javascripts/ratchet/shim/scope.js +94 -0
- data/app/assets/javascripts/ratchet/{enhancement → utility}/loader.js +15 -8
- data/app/assets/stylesheets/ratchet/_core.scss +4 -1
- data/app/assets/stylesheets/ratchet/base/_button.scss +3 -3
- data/app/assets/stylesheets/ratchet/base/_form.scss +63 -47
- data/app/assets/stylesheets/ratchet/base/_multistep-form.scss +64 -0
- data/app/assets/stylesheets/ratchet/base/_text.scss +15 -15
- data/app/assets/stylesheets/ratchet/enhancement/_lightbox.scss +98 -0
- data/app/assets/stylesheets/ratchet/enhancement/_tooltip.scss +142 -0
- data/app/assets/stylesheets/ratchet/fonts-woff.css +4 -4
- data/app/assets/stylesheets/ratchet/fonts-woff2.css +4 -4
- data/app/assets/stylesheets/ratchet/utility/_global.scss +3 -13
- data/app/assets/stylesheets/ratchet/{enhancement → utility}/_loader.scss +1 -1
- data/app/helpers/ratchet/application_helper.rb +6 -12
- data/app/helpers/ratchet/form_helper.rb +140 -0
- data/app/views/layouts/ratchet/default.html.slim +3 -2
- data/app/views/shared/ratchet/_footer.html.slim +1 -1
- data/app/views/shared/ratchet/_header.html.slim +1 -1
- data/lib/ratchet_design/version.rb +1 -1
- data/lib/ratchet_design.rb +24 -4
- data/public/assets/ratchet/core-0.1.2.js +133 -0
- data/public/assets/ratchet/core-0.1.2.js.gz +0 -0
- data/public/assets/ratchet/core-0.1.2.map.json +1 -0
- data/public/assets/ratchet/core-0.1.20.js +20472 -0
- data/public/assets/ratchet/{fonts-woff-0.1.1.css → fonts-woff-0.1.2.css} +4 -4
- data/public/assets/ratchet/{fonts-woff-0.1.1.css.gz → fonts-woff-0.1.2.css.gz} +0 -0
- data/public/assets/ratchet/{fonts-woff2-0.1.1.css → fonts-woff2-0.1.2.css} +4 -4
- data/public/assets/ratchet/{fonts-woff2-0.1.1.css.gz → fonts-woff2-0.1.2.css.gz} +0 -0
- metadata +48 -27
- data/app/assets/javascripts/ratchet/base/validation.js +0 -263
- data/app/assets/javascripts/ratchet/enhancement/_lightbox.js +0 -93
- data/app/assets/javascripts/ratchet/shim/classlist.js +0 -234
- data/app/assets/javascripts/ratchet/shim/object.assign.js +0 -30
- data/app/assets/javascripts/ratchet/utility/compile_data.js +0 -32
- data/app/assets/javascripts/ratchet/utility/from_top.js +0 -14
- data/app/assets/javascripts/ratchet/utility/full_stop.js +0 -55
- data/app/assets/javascripts/ratchet/utility/get_closest.js +0 -20
- data/app/assets/javascripts/ratchet/utility/get_next.js +0 -17
- data/app/assets/javascripts/ratchet/utility/matches.js +0 -15
- data/app/assets/javascripts/ratchet/utility/scroll_to.js +0 -74
- data/app/assets/javascripts/ratchet/utility/throttle.js +0 -25
- data/app/assets/javascripts/ratchet/utility/timeout.js +0 -45
- data/app/assets/javascripts/ratchet/utility/unhover.js +0 -56
- data/app/assets/javascripts/ratchet/utility/word_count.js +0 -15
- data/app/assets/stylesheets/ratchet/enhancement/_signup.scss +0 -206
- data/public/assets/ratchet/core-0.1.1.js +0 -103
- data/public/assets/ratchet/core-0.1.1.js.gz +0 -0
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6297919184307b0129029a416712ee65e6c1d94
|
4
|
+
data.tar.gz: 83c451f5339b4c0f4e83959962459f6733a618b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
*
|
3
|
+
* Ratchet forms module
|
4
4
|
* @author Kyle Foster (@hkfoster)
|
5
5
|
* @license MIT
|
6
6
|
**/
|
7
7
|
|
8
|
-
|
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 =
|
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
|
-
|
29
|
+
toolbox.event.on( docBody, 'keypress', 'input[type=number]', restrictInput )
|
31
30
|
|
32
31
|
// Run delegated `on input` listener
|
33
|
-
|
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
|
77
|
+
function restrictInput( event ) {
|
79
78
|
|
80
|
-
//
|
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
|
9
|
+
var toolbox = require( 'compose-toolbox' )
|
10
10
|
|
11
11
|
// Public API function
|
12
|
-
var mobileMenu = function(
|
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
|
-
|
18
|
+
nav : '.main-nav',
|
19
|
+
button : '.mobile-menu-button'
|
19
20
|
},
|
20
21
|
|
21
22
|
// Scoped variables
|
22
|
-
options =
|
23
|
-
selector =
|
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
|
-
|
28
|
+
toolbox.event.on( document, 'click', selector, function() {
|
29
|
+
// Toggle body class
|
30
|
+
docBody.classList.toggle( options.openClass )
|
31
|
+
})
|
29
32
|
|
30
|
-
|
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
|
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
|
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
|
27
|
-
var
|
28
|
-
var
|
29
|
-
var
|
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
|
35
|
-
var
|
36
|
-
require( '
|
37
|
-
require( '
|
38
|
-
require( '
|
39
|
-
require( '
|
40
|
-
|
41
|
-
require( 'codemirror/mode/
|
42
|
-
require( 'codemirror/mode/
|
43
|
-
require( 'codemirror/mode/
|
44
|
-
require( 'codemirror/mode/
|
45
|
-
require( 'codemirror/mode/
|
46
|
-
require( 'codemirror/mode/
|
47
|
-
require( 'codemirror/mode/
|
48
|
-
require( 'codemirror/
|
49
|
-
require( 'codemirror/
|
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
|
-
|
61
|
+
var ratchet = toolbox.merge( {
|
53
62
|
loadFont : loadFont,
|
54
|
-
fullStop : fullStop,
|
55
|
-
unhover : unhover,
|
56
|
-
throttle : throttle,
|
57
63
|
loadScript : loadScript,
|
58
|
-
|
59
|
-
|
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 :
|
69
|
-
loader : loader,
|
68
|
+
validation : formUp.validate,
|
70
69
|
waypoints : waypoints,
|
71
70
|
notice : notice,
|
72
71
|
sticky : sticky,
|
73
|
-
|
74
|
-
|
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
|
-
|
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 : '
|
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
|
-
|
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
|
+
});
|