nouislider-rails 7.0.2 → 8.0.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.
@@ -0,0 +1,4 @@
1
+ /*
2
+ *= require nouislider/nouislider
3
+ *= require nouislider/pips
4
+ */
@@ -0,0 +1,162 @@
1
+
2
+ /* Functional styling;
3
+ * These styles are required for noUiSlider to function.
4
+ * You don't need to change these rules to apply your design.
5
+ */
6
+ .noUi-target,
7
+ .noUi-target * {
8
+ -webkit-touch-callout: none;
9
+ -webkit-user-select: none;
10
+ -ms-touch-action: none;
11
+ -ms-user-select: none;
12
+ -moz-user-select: none;
13
+ -moz-box-sizing: border-box;
14
+ box-sizing: border-box;
15
+ }
16
+ .noUi-target {
17
+ position: relative;
18
+ direction: ltr;
19
+ }
20
+ .noUi-base {
21
+ width: 100%;
22
+ height: 100%;
23
+ position: relative;
24
+ z-index: 1; /* Fix 401 */
25
+ }
26
+ .noUi-origin {
27
+ position: absolute;
28
+ right: 0;
29
+ top: 0;
30
+ left: 0;
31
+ bottom: 0;
32
+ }
33
+ .noUi-handle {
34
+ position: relative;
35
+ z-index: 1;
36
+ }
37
+ .noUi-stacking .noUi-handle {
38
+ /* This class is applied to the lower origin when
39
+ its values is > 50%. */
40
+ z-index: 10;
41
+ }
42
+ .noUi-state-tap .noUi-origin {
43
+ -webkit-transition: left 0.3s, top 0.3s;
44
+ transition: left 0.3s, top 0.3s;
45
+ }
46
+ .noUi-state-drag * {
47
+ cursor: inherit !important;
48
+ }
49
+
50
+ /* Painting and performance;
51
+ * Browsers can paint handles in their own layer.
52
+ */
53
+ .noUi-base {
54
+ -webkit-transform: translate3d(0,0,0);
55
+ transform: translate3d(0,0,0);
56
+ }
57
+
58
+ /* Slider size and handle placement;
59
+ */
60
+ .noUi-horizontal {
61
+ height: 18px;
62
+ }
63
+ .noUi-horizontal .noUi-handle {
64
+ width: 34px;
65
+ height: 28px;
66
+ left: -17px;
67
+ top: -6px;
68
+ }
69
+ .noUi-vertical {
70
+ width: 18px;
71
+ }
72
+ .noUi-vertical .noUi-handle {
73
+ width: 28px;
74
+ height: 34px;
75
+ left: -6px;
76
+ top: -17px;
77
+ }
78
+
79
+ /* Styling;
80
+ */
81
+ .noUi-background {
82
+ background: #FAFAFA;
83
+ box-shadow: inset 0 1px 1px #f0f0f0;
84
+ }
85
+ .noUi-connect {
86
+ background: #3FB8AF;
87
+ box-shadow: inset 0 0 3px rgba(51,51,51,0.45);
88
+ -webkit-transition: background 450ms;
89
+ transition: background 450ms;
90
+ }
91
+ .noUi-origin {
92
+ border-radius: 2px;
93
+ }
94
+ .noUi-target {
95
+ border-radius: 4px;
96
+ border: 1px solid #D3D3D3;
97
+ box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
98
+ }
99
+ .noUi-target.noUi-connect {
100
+ box-shadow: inset 0 0 3px rgba(51,51,51,0.45), 0 3px 6px -5px #BBB;
101
+ }
102
+
103
+ /* Handles and cursors;
104
+ */
105
+ .noUi-dragable {
106
+ cursor: w-resize;
107
+ }
108
+ .noUi-vertical .noUi-dragable {
109
+ cursor: n-resize;
110
+ }
111
+ .noUi-handle {
112
+ border: 1px solid #D9D9D9;
113
+ border-radius: 3px;
114
+ background: #FFF;
115
+ cursor: default;
116
+ box-shadow: inset 0 0 1px #FFF,
117
+ inset 0 1px 7px #EBEBEB,
118
+ 0 3px 6px -3px #BBB;
119
+ }
120
+ .noUi-active {
121
+ box-shadow: inset 0 0 1px #FFF,
122
+ inset 0 1px 7px #DDD,
123
+ 0 3px 6px -3px #BBB;
124
+ }
125
+
126
+ /* Handle stripes;
127
+ */
128
+ .noUi-handle:before,
129
+ .noUi-handle:after {
130
+ content: "";
131
+ display: block;
132
+ position: absolute;
133
+ height: 14px;
134
+ width: 1px;
135
+ background: #E8E7E6;
136
+ left: 14px;
137
+ top: 6px;
138
+ }
139
+ .noUi-handle:after {
140
+ left: 17px;
141
+ }
142
+ .noUi-vertical .noUi-handle:before,
143
+ .noUi-vertical .noUi-handle:after {
144
+ width: 14px;
145
+ height: 1px;
146
+ left: 6px;
147
+ top: 14px;
148
+ }
149
+ .noUi-vertical .noUi-handle:after {
150
+ top: 17px;
151
+ }
152
+
153
+ /* Disabled state;
154
+ */
155
+ [disabled].noUi-connect,
156
+ [disabled] .noUi-connect {
157
+ background: #B8B8B8;
158
+ }
159
+ [disabled].noUi-origin,
160
+ [disabled] .noUi-handle {
161
+ cursor: not-allowed;
162
+ }
@@ -0,0 +1,98 @@
1
+
2
+ /* Base;
3
+ *
4
+ */
5
+ .noUi-pips,
6
+ .noUi-pips * {
7
+ -moz-box-sizing: border-box;
8
+ box-sizing: border-box;
9
+ }
10
+ .noUi-pips {
11
+ position: absolute;
12
+ font: 400 12px Arial;
13
+ color: #999;
14
+ }
15
+
16
+ /* Values;
17
+ *
18
+ */
19
+ .noUi-value {
20
+ width: 40px;
21
+ position: absolute;
22
+ text-align: center;
23
+ }
24
+ .noUi-value-sub {
25
+ color: #ccc;
26
+ font-size: 10px;
27
+ }
28
+
29
+ /* Markings;
30
+ *
31
+ */
32
+ .noUi-marker {
33
+ position: absolute;
34
+ background: #CCC;
35
+ }
36
+ .noUi-marker-sub {
37
+ background: #AAA;
38
+ }
39
+ .noUi-marker-large {
40
+ background: #AAA;
41
+ }
42
+
43
+ /* Horizontal layout;
44
+ *
45
+ */
46
+ .noUi-pips-horizontal {
47
+ padding: 10px 0;
48
+ height: 50px;
49
+ top: 100%;
50
+ left: 0;
51
+ width: 100%;
52
+ }
53
+ .noUi-value-horizontal {
54
+ margin-left: -20px;
55
+ padding-top: 20px;
56
+ }
57
+ .noUi-value-horizontal.noUi-value-sub {
58
+ padding-top: 15px;
59
+ }
60
+
61
+ .noUi-marker-horizontal.noUi-marker {
62
+ margin-left: -1px;
63
+ width: 2px;
64
+ height: 5px;
65
+ }
66
+ .noUi-marker-horizontal.noUi-marker-sub {
67
+ height: 10px;
68
+ }
69
+ .noUi-marker-horizontal.noUi-marker-large {
70
+ height: 15px;
71
+ }
72
+
73
+ /* Vertical layout;
74
+ *
75
+ */
76
+ .noUi-pips-vertical {
77
+ padding: 0 10px;
78
+ height: 100%;
79
+ top: 0;
80
+ left: 100%;
81
+ }
82
+ .noUi-value-vertical {
83
+ width: 15px;
84
+ margin-left: 20px;
85
+ margin-top: -5px;
86
+ }
87
+
88
+ .noUi-marker-vertical.noUi-marker {
89
+ width: 5px;
90
+ height: 2px;
91
+ margin-top: -1px;
92
+ }
93
+ .noUi-marker-vertical.noUi-marker-sub {
94
+ width: 10px;
95
+ }
96
+ .noUi-marker-vertical.noUi-marker-large {
97
+ width: 15px;
98
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nouislider-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.2
4
+ version: 8.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-09 00:00:00.000000000 Z
11
+ date: 2015-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -52,7 +52,7 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- description: 'Currently tracking 7.0.2 of jquery-noUiSlider: https://github.com/leongersen/noUiSlider).
55
+ description: 'Currently tracking 8.0.2 of noUiSlider: https://github.com/leongersen/noUiSlider).
56
56
  All credit and thanks to @leongersen for the awesome library.'
57
57
  email:
58
58
  - chug2k@gmail.com
@@ -62,6 +62,7 @@ extra_rdoc_files: []
62
62
  files:
63
63
  - ".gitignore"
64
64
  - Gemfile
65
+ - Gemfile.lock
65
66
  - LICENSE.txt
66
67
  - README.md
67
68
  - Rakefile
@@ -69,12 +70,10 @@ files:
69
70
  - lib/nouislider/rails/version.rb
70
71
  - nouislider-rails.gemspec
71
72
  - screenshot.png
72
- - vendor/assets/javascripts/jquery.nouislider.js
73
- - vendor/assets/javascripts/libLink/jquery.liblink.js
74
- - vendor/assets/javascripts/nouislider/jquery.nouislider.js
75
- - vendor/assets/javascripts/wnumb/wNumb.js
76
- - vendor/assets/stylesheets/jquery.nouislider.css
77
- - vendor/assets/stylesheets/nouislider/jquery.nouislider.css
73
+ - vendor/assets/javascripts/nouislider.js
74
+ - vendor/assets/stylesheets/nouislider.css
75
+ - vendor/assets/stylesheets/nouislider/nouislider.css
76
+ - vendor/assets/stylesheets/nouislider/nouislider.pips.css
78
77
  homepage: https://github.com/chug2k/nouislider-rails
79
78
  licenses:
80
79
  - MIT
@@ -95,8 +94,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
94
  version: '0'
96
95
  requirements: []
97
96
  rubyforge_project:
98
- rubygems_version: 2.2.2
97
+ rubygems_version: 2.4.6
99
98
  signing_key:
100
99
  specification_version: 4
101
- summary: jquery-nouislider.js for the Rails asset pipeline.
100
+ summary: nouislider.js for the Rails asset pipeline.
102
101
  test_files: []
@@ -1,3 +0,0 @@
1
- //= require wnumb/wNumb
2
- //= require libLink/jquery.liblink
3
- //= require nouislider/jquery.nouislider
@@ -1,311 +0,0 @@
1
- /*jslint browser: true */
2
- /*jslint white: true */
3
-
4
- (function( $ ){
5
-
6
- 'use strict';
7
-
8
- // Helpers
9
-
10
- // Test in an object is an instance of jQuery or Zepto.
11
- function isInstance ( a ) {
12
- return a instanceof $ || ( $.zepto && $.zepto.isZ(a) );
13
- }
14
-
15
-
16
- // Link types
17
-
18
- function fromPrefix ( target, method ) {
19
-
20
- // If target is a string, a new hidden input will be created.
21
- if ( typeof target === 'string' && target.indexOf('-inline-') === 0 ) {
22
-
23
- // By default, use the 'html' method.
24
- this.method = method || 'html';
25
-
26
- // Use jQuery to create the element
27
- this.target = this.el = $( target.replace('-inline-', '') || '<div/>' );
28
-
29
- return true;
30
- }
31
- }
32
-
33
- function fromString ( target ) {
34
-
35
- // If the string doesn't begin with '-', which is reserved, add a new hidden input.
36
- if ( typeof target === 'string' && target.indexOf('-') !== 0 ) {
37
-
38
- this.method = 'val';
39
-
40
- var element = document.createElement('input');
41
- element.name = target;
42
- element.type = 'hidden';
43
- this.target = this.el = $(element);
44
-
45
- return true;
46
- }
47
- }
48
-
49
- function fromFunction ( target ) {
50
-
51
- // The target can also be a function, which will be called.
52
- if ( typeof target === 'function' ) {
53
- this.target = false;
54
- this.method = target;
55
-
56
- return true;
57
- }
58
- }
59
-
60
- function fromInstance ( target, method ) {
61
-
62
- if ( isInstance( target ) && !method ) {
63
-
64
- // If a jQuery/Zepto input element is provided, but no method is set,
65
- // the element can assume it needs to respond to 'change'...
66
- if ( target.is('input, select, textarea') ) {
67
-
68
- // Default to .val if this is an input element.
69
- this.method = 'val';
70
-
71
- // Fire the API changehandler when the target changes.
72
- this.target = target.on('change.liblink', this.changeHandler);
73
-
74
- } else {
75
-
76
- this.target = target;
77
-
78
- // If no method is set, and we are not auto-binding an input, default to 'html'.
79
- this.method = 'html';
80
- }
81
-
82
- return true;
83
- }
84
- }
85
-
86
- function fromInstanceMethod ( target, method ) {
87
-
88
- // The method must exist on the element.
89
- if ( isInstance( target ) &&
90
- (typeof method === 'function' ||
91
- (typeof method === 'string' && target[method]))
92
- ) {
93
- this.method = method;
94
- this.target = target;
95
-
96
- return true;
97
- }
98
- }
99
-
100
- var
101
- /** @const */
102
- creationFunctions = [fromPrefix, fromString, fromFunction, fromInstance, fromInstanceMethod];
103
-
104
-
105
- // Link Instance
106
-
107
- /** @constructor */
108
- function Link ( target, method, format ) {
109
-
110
- var that = this, valid = false;
111
-
112
- // Forward calls within scope.
113
- this.changeHandler = function ( changeEvent ) {
114
- var decodedValue = that.formatInstance.from( $(this).val() );
115
-
116
- // If the value is invalid, stop this event, as well as it's propagation.
117
- if ( decodedValue === false || isNaN(decodedValue) ) {
118
-
119
- // Reset the value.
120
- $(this).val(that.lastSetValue);
121
- return false;
122
- }
123
-
124
- that.changeHandlerMethod.call( '', changeEvent, decodedValue );
125
- };
126
-
127
- // See if this Link needs individual targets based on its usage.
128
- // If so, return the element that needs to be copied by the
129
- // implementing interface.
130
- // Default the element to false.
131
- this.el = false;
132
-
133
- // Store the formatter, or use the default.
134
- this.formatInstance = format;
135
-
136
- // Try all Link types.
137
- /*jslint unparam: true*/
138
- $.each(creationFunctions, function(i, fn){
139
- valid = fn.call(that, target, method);
140
- return !valid;
141
- });
142
- /*jslint unparam: false*/
143
-
144
- // Nothing matched, throw error.
145
- if ( !valid ) {
146
- throw new RangeError("(Link) Invalid Link.");
147
- }
148
- }
149
-
150
- // Provides external items with the object value.
151
- Link.prototype.set = function ( value ) {
152
-
153
- // Ignore the value, so only the passed-on arguments remain.
154
- var args = Array.prototype.slice.call( arguments ),
155
- additionalArgs = args.slice(1);
156
-
157
- // Store some values. The actual, numerical value,
158
- // the formatted value and the parameters for use in 'resetValue'.
159
- // Slice additionalArgs to break the relation.
160
- this.lastSetValue = this.formatInstance.to( value );
161
-
162
- // Prepend the value to the function arguments.
163
- additionalArgs.unshift(
164
- this.lastSetValue
165
- );
166
-
167
- // When target is undefined, the target was a function.
168
- // In that case, provided the object as the calling scope.
169
- // Branch between writing to a function or an object.
170
- ( typeof this.method === 'function' ?
171
- this.method :
172
- this.target[ this.method ] ).apply( this.target, additionalArgs );
173
- };
174
-
175
-
176
- // Developer API
177
-
178
- /** @constructor */
179
- function LinkAPI ( origin ) {
180
- this.items = [];
181
- this.elements = [];
182
- this.origin = origin;
183
- }
184
-
185
- LinkAPI.prototype.push = function( item, element ) {
186
- this.items.push(item);
187
-
188
- // Prevent 'false' elements
189
- if ( element ) {
190
- this.elements.push(element);
191
- }
192
- };
193
-
194
- LinkAPI.prototype.reconfirm = function ( flag ) {
195
- var i;
196
- for ( i = 0; i < this.elements.length; i += 1 ) {
197
- this.origin.LinkConfirm(flag, this.elements[i]);
198
- }
199
- };
200
-
201
- LinkAPI.prototype.remove = function ( flag ) {
202
- var i;
203
- for ( i = 0; i < this.items.length; i += 1 ) {
204
- this.items[i].target.off('.liblink');
205
- }
206
- for ( i = 0; i < this.elements.length; i += 1 ) {
207
- this.elements[i].remove();
208
- }
209
- };
210
-
211
- LinkAPI.prototype.change = function ( value ) {
212
-
213
- if ( this.origin.LinkIsEmitting ) {
214
- return false;
215
- }
216
-
217
- this.origin.LinkIsEmitting = true;
218
-
219
- var args = Array.prototype.slice.call( arguments, 1 ), i;
220
- args.unshift( value );
221
-
222
- // Write values to serialization Links.
223
- // Convert the value to the correct relative representation.
224
- for ( i = 0; i < this.items.length; i += 1 ) {
225
- this.items[i].set.apply(this.items[i], args);
226
- }
227
-
228
- this.origin.LinkIsEmitting = false;
229
- };
230
-
231
-
232
- // jQuery plugin
233
-
234
- function binder ( flag, target, method, format ){
235
-
236
- if ( flag === 0 ) {
237
- flag = this.LinkDefaultFlag;
238
- }
239
-
240
- // Create a list of API's (if it didn't exist yet);
241
- if ( !this.linkAPI ) {
242
- this.linkAPI = {};
243
- }
244
-
245
- // Add an API point.
246
- if ( !this.linkAPI[flag] ) {
247
- this.linkAPI[flag] = new LinkAPI(this);
248
- }
249
-
250
- var linkInstance = new Link ( target, method, format || this.LinkDefaultFormatter );
251
-
252
- // Default the calling scope to the linked object.
253
- if ( !linkInstance.target ) {
254
- linkInstance.target = $(this);
255
- }
256
-
257
- // If the Link requires creation of a new element,
258
- // Pass the element and request confirmation to get the changehandler.
259
- // Set the method to be called when a Link changes.
260
- linkInstance.changeHandlerMethod = this.LinkConfirm( flag, linkInstance.el );
261
-
262
- // Store the linkInstance in the flagged list.
263
- this.linkAPI[flag].push( linkInstance, linkInstance.el );
264
-
265
- // Now that Link have been connected, request an update.
266
- this.LinkUpdate( flag );
267
- }
268
-
269
- /** @export */
270
- $.fn.Link = function( flag ){
271
-
272
- var that = this;
273
-
274
- // Delete all linkAPI
275
- if ( flag === false ) {
276
-
277
- return that.each(function(){
278
-
279
- // .Link(false) can be called on elements without Links.
280
- // When that happens, the objects can't be looped.
281
- if ( !this.linkAPI ) {
282
- return;
283
- }
284
-
285
- $.map(this.linkAPI, function(api){
286
- api.remove();
287
- });
288
-
289
- delete this.linkAPI;
290
- });
291
- }
292
-
293
- if ( flag === undefined ) {
294
-
295
- flag = 0;
296
-
297
- } else if ( typeof flag !== 'string') {
298
-
299
- throw new Error("Flag must be string.");
300
- }
301
-
302
- return {
303
- to: function( a, b, c ){
304
- return that.each(function(){
305
- binder.call(this, flag, a, b, c);
306
- });
307
- }
308
- };
309
- };
310
-
311
- }( window.jQuery || window.Zepto ));