furatto 0.0.1

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.
Files changed (118) hide show
  1. data/.gitignore +18 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +29 -0
  5. data/Rakefile +1 -0
  6. data/furatto.gemspec +21 -0
  7. data/lib/furatto.rb +16 -0
  8. data/lib/furatto/engine.rb +6 -0
  9. data/lib/furatto/version.rb +3 -0
  10. data/vendor/assets/fonts/fontawesome/FontAwesome.otf +0 -0
  11. data/vendor/assets/fonts/fontawesome/fontawesome-webfont.eot +0 -0
  12. data/vendor/assets/fonts/fontawesome/fontawesome-webfont.svg +399 -0
  13. data/vendor/assets/fonts/fontawesome/fontawesome-webfont.ttf +0 -0
  14. data/vendor/assets/fonts/fontawesome/fontawesome-webfont.woff +0 -0
  15. data/vendor/assets/fonts/meteocons-webfont.eot +0 -0
  16. data/vendor/assets/fonts/meteocons-webfont.svg +81 -0
  17. data/vendor/assets/fonts/meteocons-webfont.ttf +0 -0
  18. data/vendor/assets/fonts/meteocons-webfont.woff +0 -0
  19. data/vendor/assets/images/icheck/aero.png +0 -0
  20. data/vendor/assets/images/icheck/aero@2x.png +0 -0
  21. data/vendor/assets/images/icheck/blue.png +0 -0
  22. data/vendor/assets/images/icheck/blue@2x.png +0 -0
  23. data/vendor/assets/images/icheck/flat.png +0 -0
  24. data/vendor/assets/images/icheck/flat@2x.png +0 -0
  25. data/vendor/assets/images/icheck/green.png +0 -0
  26. data/vendor/assets/images/icheck/green@2x.png +0 -0
  27. data/vendor/assets/images/icheck/grey.png +0 -0
  28. data/vendor/assets/images/icheck/grey@2x.png +0 -0
  29. data/vendor/assets/images/icheck/orange.png +0 -0
  30. data/vendor/assets/images/icheck/orange@2x.png +0 -0
  31. data/vendor/assets/images/icheck/pink.png +0 -0
  32. data/vendor/assets/images/icheck/pink@2x.png +0 -0
  33. data/vendor/assets/images/icheck/purple.png +0 -0
  34. data/vendor/assets/images/icheck/purple@2x.png +0 -0
  35. data/vendor/assets/images/icheck/red.png +0 -0
  36. data/vendor/assets/images/icheck/red@2x.png +0 -0
  37. data/vendor/assets/images/icheck/yellow.png +0 -0
  38. data/vendor/assets/images/icheck/yellow@2x.png +0 -0
  39. data/vendor/assets/images/icons/customize-icon150.png +0 -0
  40. data/vendor/assets/images/icons/flexible-icon.png +0 -0
  41. data/vendor/assets/images/icons/github-128-black.png +0 -0
  42. data/vendor/assets/images/icons/iphone-icon150.png +0 -0
  43. data/vendor/assets/images/icons/lock-icon128.png +0 -0
  44. data/vendor/assets/images/icons/rocket-icon128.png +0 -0
  45. data/vendor/assets/images/icons/rocket-icon150.png +0 -0
  46. data/vendor/assets/images/icons/screen-icon.png +0 -0
  47. data/vendor/assets/images/icons/screens-icon.png +0 -0
  48. data/vendor/assets/images/icons/screens2-icon.png +0 -0
  49. data/vendor/assets/images/next.png +0 -0
  50. data/vendor/assets/images/previous.png +0 -0
  51. data/vendor/assets/images/themes.gif +0 -0
  52. data/vendor/assets/images/toggle.png +0 -0
  53. data/vendor/assets/javascripts/dropdown.js +169 -0
  54. data/vendor/assets/javascripts/furatto.js +15 -0
  55. data/vendor/assets/javascripts/jpanel.js +547 -0
  56. data/vendor/assets/javascripts/jquery.avgrund.js +127 -0
  57. data/vendor/assets/javascripts/jquery.dropkick-1.0.0.js +400 -0
  58. data/vendor/assets/javascripts/jquery.icheck.js +462 -0
  59. data/vendor/assets/javascripts/jquery.tagsinput.js +354 -0
  60. data/vendor/assets/javascripts/jquery.toolbar.js +242 -0
  61. data/vendor/assets/javascripts/legacy.js +140 -0
  62. data/vendor/assets/javascripts/picker.date.js +957 -0
  63. data/vendor/assets/javascripts/picker.js +785 -0
  64. data/vendor/assets/javascripts/picker.time.js +651 -0
  65. data/vendor/assets/javascripts/rainbow-custom.min.js +13 -0
  66. data/vendor/assets/javascripts/responsive-tables.js +67 -0
  67. data/vendor/assets/javascripts/responsiveslides.js +391 -0
  68. data/vendor/assets/javascripts/tooltip.js +353 -0
  69. data/vendor/assets/stylesheets/furatto.scss +101 -0
  70. data/vendor/assets/stylesheets/furatto/_alerts.scss +81 -0
  71. data/vendor/assets/stylesheets/furatto/_base.scss +187 -0
  72. data/vendor/assets/stylesheets/furatto/_buttons.scss +100 -0
  73. data/vendor/assets/stylesheets/furatto/_code.scss +66 -0
  74. data/vendor/assets/stylesheets/furatto/_date_picker.date.scss +266 -0
  75. data/vendor/assets/stylesheets/furatto/_date_picker.scss +158 -0
  76. data/vendor/assets/stylesheets/furatto/_date_picker.time.scss +122 -0
  77. data/vendor/assets/stylesheets/furatto/_dropdown.scss +261 -0
  78. data/vendor/assets/stylesheets/furatto/_font-awesome-ie7.scss +1953 -0
  79. data/vendor/assets/stylesheets/furatto/_fonts.scss +614 -0
  80. data/vendor/assets/stylesheets/furatto/_footer.scss +44 -0
  81. data/vendor/assets/stylesheets/furatto/_forms.scss +290 -0
  82. data/vendor/assets/stylesheets/furatto/_grid.scss +56 -0
  83. data/vendor/assets/stylesheets/furatto/_images.scss +44 -0
  84. data/vendor/assets/stylesheets/furatto/_labels.scss +43 -0
  85. data/vendor/assets/stylesheets/furatto/_layout.scss +0 -0
  86. data/vendor/assets/stylesheets/furatto/_left_navbar.scss +100 -0
  87. data/vendor/assets/stylesheets/furatto/_mixins.scss +283 -0
  88. data/vendor/assets/stylesheets/furatto/_modal.scss +103 -0
  89. data/vendor/assets/stylesheets/furatto/_nav.scss +106 -0
  90. data/vendor/assets/stylesheets/furatto/_navbar.scss +187 -0
  91. data/vendor/assets/stylesheets/furatto/_pagination.scss +158 -0
  92. data/vendor/assets/stylesheets/furatto/_responsive-1200px-min.scss +21 -0
  93. data/vendor/assets/stylesheets/furatto/_responsive-767px-max.scss +82 -0
  94. data/vendor/assets/stylesheets/furatto/_responsive-768px-979px.scss +23 -0
  95. data/vendor/assets/stylesheets/furatto/_responsive_navbar.scss +184 -0
  96. data/vendor/assets/stylesheets/furatto/_responsive_tables.scss +28 -0
  97. data/vendor/assets/stylesheets/furatto/_responsiveslides.scss +202 -0
  98. data/vendor/assets/stylesheets/furatto/_select.scss +191 -0
  99. data/vendor/assets/stylesheets/furatto/_tables.scss +90 -0
  100. data/vendor/assets/stylesheets/furatto/_tags.scss +107 -0
  101. data/vendor/assets/stylesheets/furatto/_toolbars.scss +116 -0
  102. data/vendor/assets/stylesheets/furatto/_tooltips.scss +143 -0
  103. data/vendor/assets/stylesheets/furatto/_typography.scss +266 -0
  104. data/vendor/assets/stylesheets/furatto/_variables.scss +628 -0
  105. data/vendor/assets/stylesheets/furatto/_vrt_navbar.scss +61 -0
  106. data/vendor/assets/stylesheets/furatto/icheck/_aero.scss +64 -0
  107. data/vendor/assets/stylesheets/furatto/icheck/_all.scss +20 -0
  108. data/vendor/assets/stylesheets/furatto/icheck/_blue.scss +64 -0
  109. data/vendor/assets/stylesheets/furatto/icheck/_flat.scss +64 -0
  110. data/vendor/assets/stylesheets/furatto/icheck/_green.scss +64 -0
  111. data/vendor/assets/stylesheets/furatto/icheck/_grey.scss +64 -0
  112. data/vendor/assets/stylesheets/furatto/icheck/_orange.scss +64 -0
  113. data/vendor/assets/stylesheets/furatto/icheck/_pink.scss +64 -0
  114. data/vendor/assets/stylesheets/furatto/icheck/_purple.scss +64 -0
  115. data/vendor/assets/stylesheets/furatto/icheck/_red.scss +64 -0
  116. data/vendor/assets/stylesheets/furatto/icheck/_yellow.scss +64 -0
  117. data/vendor/assets/stylesheets/normalize.scss +403 -0
  118. metadata +162 -0
@@ -0,0 +1,462 @@
1
+ /*!
2
+ * iCheck v0.9.1, http://git.io/uhUPMA
3
+ * =================================
4
+ * Powerful jQuery plugin for checkboxes and radio buttons customization
5
+ *
6
+ * (c) 2013 Damir Foy, http://damirfoy.com
7
+ * MIT Licensed
8
+ */
9
+
10
+ (function($) {
11
+
12
+ // Cached vars
13
+ var _iCheck = 'iCheck',
14
+ _iCheckHelper = _iCheck + '-helper',
15
+ _checkbox = 'checkbox',
16
+ _radio = 'radio',
17
+ _checked = 'checked',
18
+ _unchecked = 'un' + _checked,
19
+ _disabled = 'disabled',
20
+ _determinate = 'determinate',
21
+ _indeterminate = 'in' + _determinate,
22
+ _update = 'update',
23
+ _type = 'type',
24
+ _click = 'click',
25
+ _touch = 'touchbegin.i touchend.i',
26
+ _add = 'addClass',
27
+ _remove = 'removeClass',
28
+ _callback = 'trigger',
29
+ _label = 'label',
30
+ _cursor = 'cursor',
31
+ _mobile = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini/i.test(navigator.userAgent);
32
+
33
+ // Plugin init
34
+ $.fn[_iCheck] = function(options, fire) {
35
+
36
+ // Walker
37
+ var handle = ':' + _checkbox + ', :' + _radio,
38
+ stack = $(),
39
+ walker = function(object) {
40
+ object.each(function() {
41
+ var self = $(this);
42
+
43
+ if (self.is(handle)) {
44
+ stack = stack.add(self);
45
+ } else {
46
+ stack = stack.add(self.find(handle));
47
+ };
48
+ });
49
+ };
50
+
51
+ // Check if we should operate with some method
52
+ if (/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(options)) {
53
+
54
+ // Normalize method's name
55
+ options = options.toLowerCase();
56
+
57
+ // Find checkboxes and radio buttons
58
+ walker(this);
59
+
60
+ return stack.each(function() {
61
+ if (options == 'destroy') {
62
+ tidy(this, 'ifDestroyed');
63
+ } else {
64
+ operate($(this), true, options);
65
+ };
66
+
67
+ // Fire method's callback
68
+ if ($.isFunction(fire)) {
69
+ fire();
70
+ };
71
+ });
72
+
73
+ // Customization
74
+ } else if (typeof options == 'object' || !options) {
75
+
76
+ // Check if any options were passed
77
+ var settings = $.extend({
78
+ checkedClass: _checked,
79
+ disabledClass: _disabled,
80
+ indeterminateClass: _indeterminate,
81
+ labelHover: true
82
+ }, options),
83
+
84
+ selector = settings.handle,
85
+ hoverClass = settings.hoverClass || 'hover',
86
+ focusClass = settings.focusClass || 'focus',
87
+ activeClass = settings.activeClass || 'active',
88
+ labelHover = !!settings.labelHover,
89
+ labelHoverClass = settings.labelHoverClass || 'hover',
90
+
91
+ // Setup clickable area
92
+ area = ('' + settings.increaseArea).replace('%', '') | 0;
93
+
94
+ // Selector limit
95
+ if (selector == _checkbox || selector == _radio) {
96
+ handle = ':' + selector;
97
+ };
98
+
99
+ // Clickable area limit
100
+ if (area < -50) {
101
+ area = -50;
102
+ };
103
+
104
+ // Walk around the selector
105
+ walker(this);
106
+
107
+ return stack.each(function() {
108
+
109
+ // If already customized
110
+ tidy(this);
111
+
112
+ var self = $(this),
113
+ node = this,
114
+ id = node.id,
115
+
116
+ // Layer styles
117
+ offset = -area + '%',
118
+ size = 100 + (area * 2) + '%',
119
+ layer = {
120
+ position: 'absolute',
121
+ top: offset,
122
+ left: offset,
123
+ display: 'block',
124
+ width: size,
125
+ height: size,
126
+ margin: 0,
127
+ padding: 0,
128
+ background: '#fff',
129
+ border: 0,
130
+ opacity: 0
131
+ },
132
+
133
+ // Choose how to hide input
134
+ hide = _mobile ? {
135
+ position: 'absolute',
136
+ visibility: 'hidden'
137
+ } : area ? layer : {
138
+ position: 'absolute',
139
+ opacity: 0
140
+ },
141
+
142
+ // Get proper class
143
+ className = node[_type] == _checkbox ? settings.checkboxClass || 'i' + _checkbox : settings.radioClass || 'i' + _radio,
144
+
145
+ // Find assigned labels
146
+ label = $(_label + '[for="' + id + '"]').add(self.closest(_label)),
147
+
148
+ // Wrap input
149
+ parent = self.wrap('<div class="' + className + '"/>')[_callback]('ifCreated').parent().append(settings.insert),
150
+
151
+ // Layer addition
152
+ helper = $('<ins class="' + _iCheckHelper + '"/>').css(layer).appendTo(parent);
153
+
154
+ // Finalize customization
155
+ self.data(_iCheck, {o: settings, s: self.attr('style')}).css(hide);
156
+ !!settings.inheritClass && parent[_add](node.className);
157
+ !!settings.inheritID && id && parent.attr('id', _iCheck + '-' + id);
158
+ parent.css('position') == 'static' && parent.css('position', 'relative');
159
+ operate(self, true, _update);
160
+
161
+ // Label events
162
+ if (label.length) {
163
+ label.on(_click + '.i mouseenter.i mouseleave.i ' + _touch, function(event) {
164
+ var type = event[_type],
165
+ item = $(this);
166
+
167
+ // Do nothing if input is disabled
168
+ if (!node[_disabled]) {
169
+
170
+ // Click
171
+ if (type == _click) {
172
+ operate(self, false, true);
173
+
174
+ // Hover state
175
+ } else if (labelHover) {
176
+
177
+ // mouseleave|touchend
178
+ if (/ve|nd/.test(type)) {
179
+ parent[_remove](hoverClass);
180
+ item[_remove](labelHoverClass);
181
+ } else {
182
+ parent[_add](hoverClass);
183
+ item[_add](labelHoverClass);
184
+ };
185
+ };
186
+
187
+ if (_mobile) {
188
+ event.stopPropagation();
189
+ } else {
190
+ return false;
191
+ };
192
+ };
193
+ });
194
+ };
195
+
196
+ // Input events
197
+ self.on(_click + '.i focus.i blur.i keyup.i keydown.i keypress.i', function(event) {
198
+ var type = event[_type],
199
+ key = event.keyCode;
200
+
201
+ // Click
202
+ if (type == _click) {
203
+ return false;
204
+
205
+ // Keydown
206
+ } else if (type == 'keydown' && key == 32) {
207
+ if (!(node[_type] == _radio && node[_checked])) {
208
+ if (node[_checked]) {
209
+ off(self, _checked);
210
+ } else {
211
+ on(self, _checked);
212
+ };
213
+ };
214
+
215
+ return false;
216
+
217
+ // Keyup
218
+ } else if (type == 'keyup' && node[_type] == _radio) {
219
+ !node[_checked] && on(self, _checked);
220
+
221
+ // Focus/blur
222
+ } else if (/us|ur/.test(type)) {
223
+ parent[type == 'blur' ? _remove : _add](focusClass);
224
+ };
225
+ });
226
+
227
+ // Helper events
228
+ helper.on(_click + ' mousedown mouseup mouseover mouseout ' + _touch, function(event) {
229
+ var type = event[_type],
230
+
231
+ // mousedown|mouseup
232
+ toggle = /wn|up/.test(type) ? activeClass : hoverClass;
233
+
234
+ // Do nothing if input is disabled
235
+ if (!node[_disabled]) {
236
+
237
+ // Click
238
+ if (type == _click) {
239
+ operate(self, false, true);
240
+
241
+ // Active and hover states
242
+ } else {
243
+
244
+ // State is on
245
+ if (/wn|er|in/.test(type)) {
246
+
247
+ // mousedown|mouseover|touchbegin
248
+ parent[_add](toggle);
249
+
250
+ // State is off
251
+ } else {
252
+ parent[_remove](toggle + ' ' + activeClass);
253
+ };
254
+
255
+ // Label hover
256
+ if (label.length && labelHover && toggle == hoverClass) {
257
+
258
+ // mouseout|touchend
259
+ label[/ut|nd/.test(type) ? _remove : _add](labelHoverClass);
260
+ };
261
+ };
262
+
263
+ if (_mobile) {
264
+ event.stopPropagation();
265
+ } else {
266
+ return false;
267
+ };
268
+ };
269
+ });
270
+ });
271
+ } else {
272
+ return this;
273
+ };
274
+ };
275
+
276
+ // Do something with inputs
277
+ function operate(input, direct, method) {
278
+ var node = input[0];
279
+ state = /er/.test(method) ? _indeterminate : /bl/.test(method) ? _disabled : _checked,
280
+ active = method == _update ? {
281
+ checked: node[_checked],
282
+ disabled: node[_disabled],
283
+ indeterminate: input.attr(_indeterminate) == 'true' || input.attr(_determinate) == 'false'
284
+ } : node[state];
285
+
286
+ // Check, disable or indeterminate
287
+ if (/^(ch|di|in)/.test(method) && !active) {
288
+ on(input, state);
289
+
290
+ // Uncheck, enable or determinate
291
+ } else if (/^(un|en|de)/.test(method) && active) {
292
+ off(input, state);
293
+
294
+ // Update
295
+ } else if (method == _update) {
296
+
297
+ // Handle states
298
+ for (var state in active) {
299
+ if (active[state]) {
300
+ on(input, state, true);
301
+ } else {
302
+ off(input, state, true);
303
+ };
304
+ };
305
+
306
+ } else if (!direct || method == 'toggle') {
307
+
308
+ // Helper or label was clicked
309
+ if (!direct) {
310
+ input[_callback]('ifClicked');
311
+ };
312
+
313
+ // Toggle checked state
314
+ if (active) {
315
+ if (node[_type] !== _radio) {
316
+ off(input, state);
317
+ };
318
+ } else {
319
+ on(input, state);
320
+ };
321
+ };
322
+ };
323
+
324
+ // Add checked, disabled or indeterminate state
325
+ function on(input, state, keep) {
326
+ var node = input[0],
327
+ parent = input.parent(),
328
+ checked = state == _checked,
329
+ indeterminate = state == _indeterminate,
330
+ callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled',
331
+ regular = option(node, callback + capitalize(node[_type])),
332
+ specific = option(node, state + capitalize(node[_type]));
333
+
334
+ // Prevent unnecessary actions
335
+ if (node[state] !== true) {
336
+
337
+ // Toggle assigned radio buttons
338
+ if (!keep && state == _checked && node[_type] == _radio && node.name) {
339
+ var form = input.closest('form'),
340
+ inputs = 'input[name="' + node.name + '"]';
341
+
342
+ inputs = form.length ? form.find(inputs) : $(inputs);
343
+
344
+ inputs.each(function() {
345
+ if (this !== node && $.data(this, _iCheck)) {
346
+ off($(this), state);
347
+ };
348
+ });
349
+ };
350
+
351
+ // Indeterminate state
352
+ if (indeterminate) {
353
+
354
+ // Add indeterminate state
355
+ node[state] = true;
356
+
357
+ // Remove checked state
358
+ if (node[_checked]) {
359
+ off(input, _checked, 'force');
360
+ };
361
+
362
+ // Checked or disabled state
363
+ } else {
364
+
365
+ // Add checked or disabled state
366
+ if (!keep) {
367
+ node[state] = true;
368
+ };
369
+
370
+ // Remove indeterminate state
371
+ if (checked && node[_indeterminate]) {
372
+ off(input, _indeterminate, false);
373
+ };
374
+ };
375
+
376
+ // Trigger callbacks
377
+ callbacks(input, checked, state, keep);
378
+ };
379
+
380
+ // Add proper cursor
381
+ if (node[_disabled] && !!option(node, _cursor, true)) {
382
+ parent.find('.' + _iCheckHelper).css(_cursor, 'default');
383
+ };
384
+
385
+ // Add state class
386
+ parent[_add](specific || option(node, state));
387
+
388
+ // Remove regular state class
389
+ parent[_remove](regular || option(node, callback) || '');
390
+ };
391
+
392
+ // Remove checked, disabled or indeterminate state
393
+ function off(input, state, keep) {
394
+ var node = input[0],
395
+ parent = input.parent(),
396
+ checked = state == _checked,
397
+ indeterminate = state == _indeterminate,
398
+ callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled',
399
+ regular = option(node, callback + capitalize(node[_type])),
400
+ specific = option(node, state + capitalize(node[_type]));
401
+
402
+ // Prevent unnecessary actions
403
+ if (node[state] !== false) {
404
+
405
+ // Toggle state
406
+ if (indeterminate || !keep || keep == 'force') {
407
+ node[state] = false;
408
+ };
409
+
410
+ // Trigger callbacks
411
+ callbacks(input, checked, callback, keep);
412
+ };
413
+
414
+ // Add proper cursor
415
+ if (!node[_disabled] && !!option(node, _cursor, true)) {
416
+ parent.find('.' + _iCheckHelper).css(_cursor, 'pointer');
417
+ };
418
+
419
+ // Remove state class
420
+ parent[_remove](specific || option(node, state) || '');
421
+
422
+ // Add regular state class
423
+ parent[_add](regular || option(node, callback));
424
+ };
425
+
426
+ // Remove all traces
427
+ function tidy(node, callback) {
428
+ if ($.data(node, _iCheck)) {
429
+ var input = $(node);
430
+
431
+ // Remove everything except input
432
+ input.parent().html(input.attr('style', $.data(node, _iCheck).s || '')[_callback](callback || ''));
433
+
434
+ // Unbind events
435
+ input.off('.i').unwrap();
436
+ $(_label + '[for="' + node.id + '"]').add(input.closest(_label)).off('.i');
437
+ };
438
+ };
439
+
440
+ // Get some option
441
+ function option(node, state, regular) {
442
+ if ($.data(node, _iCheck)) {
443
+ return $.data(node, _iCheck).o[state + (regular ? '' : 'Class')];
444
+ };
445
+ };
446
+
447
+ // Capitalize some string
448
+ function capitalize(string) {
449
+ return string.charAt(0).toUpperCase() + string.slice(1);
450
+ };
451
+
452
+ // Executable handlers
453
+ function callbacks(input, checked, callback, keep) {
454
+ if (!keep) {
455
+ if (checked) {
456
+ input[_callback]('ifToggled');
457
+ };
458
+
459
+ input[_callback]('ifChanged')[_callback]('if' + capitalize(callback));
460
+ };
461
+ };
462
+ })(jQuery);