furatto 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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);