semantic-ui-sass 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +51 -0
  6. data/Rakefile +5 -0
  7. data/app/assets/fonts/semantic-ui/basic.icons.eot +0 -0
  8. data/app/assets/fonts/semantic-ui/basic.icons.svg +450 -0
  9. data/app/assets/fonts/semantic-ui/basic.icons.ttf +0 -0
  10. data/app/assets/fonts/semantic-ui/basic.icons.woff +0 -0
  11. data/app/assets/fonts/semantic-ui/icons.eot +0 -0
  12. data/app/assets/fonts/semantic-ui/icons.otf +0 -0
  13. data/app/assets/fonts/semantic-ui/icons.svg +399 -0
  14. data/app/assets/fonts/semantic-ui/icons.ttf +0 -0
  15. data/app/assets/fonts/semantic-ui/icons.woff +0 -0
  16. data/app/assets/images/semantic-ui/loader-large-inverted.gif +0 -0
  17. data/app/assets/images/semantic-ui/loader-large.gif +0 -0
  18. data/app/assets/images/semantic-ui/loader-medium-inverted.gif +0 -0
  19. data/app/assets/images/semantic-ui/loader-medium.gif +0 -0
  20. data/app/assets/images/semantic-ui/loader-mini-inverted.gif +0 -0
  21. data/app/assets/images/semantic-ui/loader-mini.gif +0 -0
  22. data/app/assets/images/semantic-ui/loader-small-inverted.gif +0 -0
  23. data/app/assets/images/semantic-ui/loader-small.gif +0 -0
  24. data/app/assets/javascripts/semantic-ui.js +20 -0
  25. data/app/assets/javascripts/semantic-ui/accordion.js +419 -0
  26. data/app/assets/javascripts/semantic-ui/behavior/api.js +638 -0
  27. data/app/assets/javascripts/semantic-ui/behavior/colorize.js +270 -0
  28. data/app/assets/javascripts/semantic-ui/behavior/form.js +702 -0
  29. data/app/assets/javascripts/semantic-ui/behavior/state.js +725 -0
  30. data/app/assets/javascripts/semantic-ui/chatroom.js +769 -0
  31. data/app/assets/javascripts/semantic-ui/checkbox.js +344 -0
  32. data/app/assets/javascripts/semantic-ui/dimmer.js +564 -0
  33. data/app/assets/javascripts/semantic-ui/dropdown.js +724 -0
  34. data/app/assets/javascripts/semantic-ui/modal.js +553 -0
  35. data/app/assets/javascripts/semantic-ui/nag.js +545 -0
  36. data/app/assets/javascripts/semantic-ui/popup.js +727 -0
  37. data/app/assets/javascripts/semantic-ui/rating.js +403 -0
  38. data/app/assets/javascripts/semantic-ui/search.js +772 -0
  39. data/app/assets/javascripts/semantic-ui/shape.js +778 -0
  40. data/app/assets/javascripts/semantic-ui/sidebar.js +490 -0
  41. data/app/assets/javascripts/semantic-ui/tab.js +689 -0
  42. data/app/assets/javascripts/semantic-ui/transition.js +654 -0
  43. data/app/assets/javascripts/semantic-ui/video.js +457 -0
  44. data/app/assets/stylesheets/semantic-ui.scss +4 -0
  45. data/app/assets/stylesheets/semantic-ui/collections/_all.scss +6 -0
  46. data/app/assets/stylesheets/semantic-ui/collections/_breadcrumb.scss +77 -0
  47. data/app/assets/stylesheets/semantic-ui/collections/_form.scss +569 -0
  48. data/app/assets/stylesheets/semantic-ui/collections/_grid.scss +643 -0
  49. data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +1767 -0
  50. data/app/assets/stylesheets/semantic-ui/collections/_message.scss +347 -0
  51. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +524 -0
  52. data/app/assets/stylesheets/semantic-ui/elements/_all.scss +12 -0
  53. data/app/assets/stylesheets/semantic-ui/elements/_basic.icon.scss +479 -0
  54. data/app/assets/stylesheets/semantic-ui/elements/_button.scss +1187 -0
  55. data/app/assets/stylesheets/semantic-ui/elements/_divider.scss +199 -0
  56. data/app/assets/stylesheets/semantic-ui/elements/_header.scss +342 -0
  57. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +772 -0
  58. data/app/assets/stylesheets/semantic-ui/elements/_image.scss +181 -0
  59. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +338 -0
  60. data/app/assets/stylesheets/semantic-ui/elements/_label.scss +827 -0
  61. data/app/assets/stylesheets/semantic-ui/elements/_loader.scss +185 -0
  62. data/app/assets/stylesheets/semantic-ui/elements/_progress.scss +352 -0
  63. data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +464 -0
  64. data/app/assets/stylesheets/semantic-ui/elements/_step.scss +293 -0
  65. data/app/assets/stylesheets/semantic-ui/modules/_accordion.scss +199 -0
  66. data/app/assets/stylesheets/semantic-ui/modules/_all.scss +16 -0
  67. data/app/assets/stylesheets/semantic-ui/modules/_chatroom.scss +281 -0
  68. data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +481 -0
  69. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +236 -0
  70. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +548 -0
  71. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +217 -0
  72. data/app/assets/stylesheets/semantic-ui/modules/_nag.scss +173 -0
  73. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +255 -0
  74. data/app/assets/stylesheets/semantic-ui/modules/_rating.scss +179 -0
  75. data/app/assets/stylesheets/semantic-ui/modules/_reveal.scss +365 -0
  76. data/app/assets/stylesheets/semantic-ui/modules/_search.scss +273 -0
  77. data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +113 -0
  78. data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +150 -0
  79. data/app/assets/stylesheets/semantic-ui/modules/_tab.scss +63 -0
  80. data/app/assets/stylesheets/semantic-ui/modules/_transition.scss +1096 -0
  81. data/app/assets/stylesheets/semantic-ui/modules/_video.scss +98 -0
  82. data/app/assets/stylesheets/semantic-ui/views/_all.scss +5 -0
  83. data/app/assets/stylesheets/semantic-ui/views/_comment.scss +221 -0
  84. data/app/assets/stylesheets/semantic-ui/views/_feed.scss +152 -0
  85. data/app/assets/stylesheets/semantic-ui/views/_item.scss +651 -0
  86. data/app/assets/stylesheets/semantic-ui/views/_list.scss +555 -0
  87. data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +27 -0
  88. data/lib/semantic/ui/sass.rb +10 -0
  89. data/lib/semantic/ui/sass/engine.rb +13 -0
  90. data/lib/semantic/ui/sass/version.rb +8 -0
  91. data/semantic-ui-sass.gemspec +24 -0
  92. data/tasks/converter.rb +237 -0
  93. metadata +177 -0
@@ -0,0 +1,457 @@
1
+ /* ******************************
2
+ Module - Video
3
+ Author: Jack Lukic
4
+
5
+ This is a video playlist and video embed plugin which helps
6
+ provide helpers for adding embed code for vimeo and youtube and
7
+ abstracting event handlers for each library
8
+
9
+ ****************************** */
10
+
11
+ ;(function ($, window, document, undefined) {
12
+
13
+ $.fn.video = function(parameters) {
14
+
15
+ var
16
+ $allModules = $(this),
17
+
18
+ settings = ( $.isPlainObject(parameters) )
19
+ ? $.extend(true, {}, $.fn.video.settings, parameters)
20
+ : $.fn.video.settings,
21
+
22
+ moduleSelector = $allModules.selector || '',
23
+
24
+ time = new Date().getTime(),
25
+ performance = [],
26
+
27
+ query = arguments[0],
28
+ methodInvoked = (typeof query == 'string'),
29
+ queryArguments = [].slice.call(arguments, 1),
30
+
31
+ selector = settings.selector,
32
+ className = settings.className,
33
+ error = settings.error,
34
+ metadata = settings.metadata,
35
+ namespace = settings.namespace,
36
+
37
+ eventNamespace = '.' + namespace,
38
+ moduleNamespace = namespace + '-module',
39
+
40
+ invokedResponse
41
+ ;
42
+
43
+ $allModules
44
+ .each(function() {
45
+ var
46
+ $module = $(this),
47
+ $placeholder = $module.find(selector.placeholder),
48
+ $playButton = $module.find(selector.playButton),
49
+ $embed = $module.find(selector.embed),
50
+
51
+ element = this,
52
+ instance = $module.data(moduleNamespace),
53
+ module
54
+ ;
55
+
56
+ module = {
57
+
58
+ initialize: function() {
59
+ module.debug('Initializing video');
60
+ $placeholder
61
+ .on('click' + eventNamespace, module.play)
62
+ ;
63
+ $playButton
64
+ .on('click' + eventNamespace, module.play)
65
+ ;
66
+ module.instantiate();
67
+ },
68
+
69
+ instantiate: function() {
70
+ module.verbose('Storing instance of module', module);
71
+ instance = module;
72
+ $module
73
+ .data(moduleNamespace, module)
74
+ ;
75
+ },
76
+
77
+ destroy: function() {
78
+ module.verbose('Destroying previous instance of video');
79
+ $module
80
+ .removeData(moduleNamespace)
81
+ .off(eventNamespace)
82
+ ;
83
+ },
84
+
85
+ // sets new video
86
+ change: function(source, id, url) {
87
+ module.debug('Changing video to ', source, id, url);
88
+ $module
89
+ .data(metadata.source, source)
90
+ .data(metadata.id, id)
91
+ .data(metadata.url, url)
92
+ ;
93
+ settings.onChange();
94
+ },
95
+
96
+ // clears video embed
97
+ reset: function() {
98
+ module.debug('Clearing video embed and showing placeholder');
99
+ $module
100
+ .removeClass(className.active)
101
+ ;
102
+ $embed
103
+ .html(' ')
104
+ ;
105
+ $placeholder
106
+ .show()
107
+ ;
108
+ settings.onReset();
109
+ },
110
+
111
+ // plays current video
112
+ play: function() {
113
+ module.debug('Playing video');
114
+ var
115
+ source = $module.data(metadata.source) || false,
116
+ url = $module.data(metadata.url) || false,
117
+ id = $module.data(metadata.id) || false
118
+ ;
119
+ $embed
120
+ .html( module.generate.html(source, id, url) )
121
+ ;
122
+ $module
123
+ .addClass(className.active)
124
+ ;
125
+ settings.onPlay();
126
+ },
127
+
128
+ generate: {
129
+ // generates iframe html
130
+ html: function(source, id, url) {
131
+ module.debug('Generating embed html');
132
+ var
133
+ width = (settings.width == 'auto')
134
+ ? $module.width()
135
+ : settings.width,
136
+ height = (settings.height == 'auto')
137
+ ? $module.height()
138
+ : settings.height,
139
+ html
140
+ ;
141
+ if(source && id) {
142
+ if(source == 'vimeo') {
143
+ html = ''
144
+ + '<iframe src="http://player.vimeo.com/video/' + id + '?=' + module.generate.url(source) + '"'
145
+ + ' width="' + width + '" height="' + height + '"'
146
+ + ' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'
147
+ ;
148
+ }
149
+ else if(source == 'youtube') {
150
+ html = ''
151
+ + '<iframe src="http://www.youtube.com/embed/' + id + '?=' + module.generate.url(source) + '"'
152
+ + ' width="' + width + '" height="' + height + '"'
153
+ + ' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'
154
+ ;
155
+ }
156
+ }
157
+ else if(url) {
158
+ html = ''
159
+ + '<iframe src="' + url + '"'
160
+ + ' width="' + width + '" height="' + height + '"'
161
+ + ' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'
162
+ ;
163
+ }
164
+ else {
165
+ module.error(error.noVideo);
166
+ }
167
+ return html;
168
+ },
169
+
170
+ // generate url parameters
171
+ url: function(source) {
172
+ var
173
+ api = (settings.api)
174
+ ? 1
175
+ : 0,
176
+ autoplay = (settings.autoplay)
177
+ ? 1
178
+ : 0,
179
+ hd = (settings.hd)
180
+ ? 1
181
+ : 0,
182
+ showUI = (settings.showUI)
183
+ ? 1
184
+ : 0,
185
+ // opposite used for some params
186
+ hideUI = !(settings.showUI)
187
+ ? 1
188
+ : 0,
189
+ url = ''
190
+ ;
191
+ if(source == 'vimeo') {
192
+ url = ''
193
+ + 'api=' + api
194
+ + '&amp;title=' + showUI
195
+ + '&amp;byline=' + showUI
196
+ + '&amp;portrait=' + showUI
197
+ + '&amp;autoplay=' + autoplay
198
+ ;
199
+ if(settings.color) {
200
+ url += '&amp;color=' + settings.color;
201
+ }
202
+ }
203
+ if(source == 'ustream') {
204
+ url = ''
205
+ + 'autoplay=' + autoplay
206
+ ;
207
+ if(settings.color) {
208
+ url += '&amp;color=' + settings.color;
209
+ }
210
+ }
211
+ else if(source == 'youtube') {
212
+ url = ''
213
+ + 'enablejsapi=' + api
214
+ + '&amp;autoplay=' + autoplay
215
+ + '&amp;autohide=' + hideUI
216
+ + '&amp;hq=' + hd
217
+ + '&amp;modestbranding=1'
218
+ ;
219
+ if(settings.color) {
220
+ url += '&amp;color=' + settings.color;
221
+ }
222
+ }
223
+ return url;
224
+ }
225
+ },
226
+
227
+ setting: function(name, value) {
228
+ if(value !== undefined) {
229
+ if( $.isPlainObject(name) ) {
230
+ $.extend(true, settings, name);
231
+ }
232
+ else {
233
+ settings[name] = value;
234
+ }
235
+ }
236
+ else {
237
+ return settings[name];
238
+ }
239
+ },
240
+ internal: function(name, value) {
241
+ if(value !== undefined) {
242
+ if( $.isPlainObject(name) ) {
243
+ $.extend(true, module, name);
244
+ }
245
+ else {
246
+ module[name] = value;
247
+ }
248
+ }
249
+ else {
250
+ return module[name];
251
+ }
252
+ },
253
+ debug: function() {
254
+ if(settings.debug) {
255
+ if(settings.performance) {
256
+ module.performance.log(arguments);
257
+ }
258
+ else {
259
+ module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
260
+ module.debug.apply(console, arguments);
261
+ }
262
+ }
263
+ },
264
+ verbose: function() {
265
+ if(settings.verbose && settings.debug) {
266
+ if(settings.performance) {
267
+ module.performance.log(arguments);
268
+ }
269
+ else {
270
+ module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
271
+ module.verbose.apply(console, arguments);
272
+ }
273
+ }
274
+ },
275
+ error: function() {
276
+ module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
277
+ module.error.apply(console, arguments);
278
+ },
279
+ performance: {
280
+ log: function(message) {
281
+ var
282
+ currentTime,
283
+ executionTime,
284
+ previousTime
285
+ ;
286
+ if(settings.performance) {
287
+ currentTime = new Date().getTime();
288
+ previousTime = time || currentTime;
289
+ executionTime = currentTime - previousTime;
290
+ time = currentTime;
291
+ performance.push({
292
+ 'Element' : element,
293
+ 'Name' : message[0],
294
+ 'Arguments' : [].slice.call(message, 1) || '',
295
+ 'Execution Time' : executionTime
296
+ });
297
+ }
298
+ clearTimeout(module.performance.timer);
299
+ module.performance.timer = setTimeout(module.performance.display, 100);
300
+ },
301
+ display: function() {
302
+ var
303
+ title = settings.name + ':',
304
+ totalTime = 0
305
+ ;
306
+ time = false;
307
+ clearTimeout(module.performance.timer);
308
+ $.each(performance, function(index, data) {
309
+ totalTime += data['Execution Time'];
310
+ });
311
+ title += ' ' + totalTime + 'ms';
312
+ if(moduleSelector) {
313
+ title += ' \'' + moduleSelector + '\'';
314
+ }
315
+ if($allModules.size() > 1) {
316
+ title += ' ' + '(' + $allModules.size() + ')';
317
+ }
318
+ if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
319
+ console.groupCollapsed(title);
320
+ if(console.table) {
321
+ console.table(performance);
322
+ }
323
+ else {
324
+ $.each(performance, function(index, data) {
325
+ console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
326
+ });
327
+ }
328
+ console.groupEnd();
329
+ }
330
+ performance = [];
331
+ }
332
+ },
333
+ invoke: function(query, passedArguments, context) {
334
+ var
335
+ maxDepth,
336
+ found,
337
+ response
338
+ ;
339
+ passedArguments = passedArguments || queryArguments;
340
+ context = element || context;
341
+ if(typeof query == 'string' && instance !== undefined) {
342
+ query = query.split(/[\. ]/);
343
+ maxDepth = query.length - 1;
344
+ $.each(query, function(depth, value) {
345
+ var camelCaseValue = (depth != maxDepth)
346
+ ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
347
+ : query
348
+ ;
349
+ if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) {
350
+ instance = instance[value];
351
+ }
352
+ else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) {
353
+ instance = instance[camelCaseValue];
354
+ }
355
+ else if( instance[value] !== undefined ) {
356
+ found = instance[value];
357
+ return false;
358
+ }
359
+ else if( instance[camelCaseValue] !== undefined ) {
360
+ found = instance[camelCaseValue];
361
+ return false;
362
+ }
363
+ else {
364
+ module.error(error.method);
365
+ return false;
366
+ }
367
+ });
368
+ }
369
+ if ( $.isFunction( found ) ) {
370
+ response = found.apply(context, passedArguments);
371
+ }
372
+ else if(found !== undefined) {
373
+ response = found;
374
+ }
375
+ if($.isArray(invokedResponse)) {
376
+ invokedResponse.push(response);
377
+ }
378
+ else if(typeof invokedResponse == 'string') {
379
+ invokedResponse = [invokedResponse, response];
380
+ }
381
+ else if(response !== undefined) {
382
+ invokedResponse = response;
383
+ }
384
+ return found;
385
+ }
386
+ };
387
+
388
+ if(methodInvoked) {
389
+ if(instance === undefined) {
390
+ module.initialize();
391
+ }
392
+ module.invoke(query);
393
+ }
394
+ else {
395
+ if(instance !== undefined) {
396
+ module.destroy();
397
+ }
398
+ module.initialize();
399
+ }
400
+ })
401
+ ;
402
+ return (invokedResponse !== undefined)
403
+ ? invokedResponse
404
+ : this
405
+ ;
406
+ };
407
+
408
+ $.fn.video.settings = {
409
+
410
+ name : 'Video',
411
+ namespace : 'video',
412
+
413
+ debug : true,
414
+ verbose : true,
415
+ performance : true,
416
+
417
+ metadata : {
418
+ source : 'source',
419
+ id : 'id',
420
+ url : 'url'
421
+ },
422
+
423
+ onPlay : function(){},
424
+ onReset : function(){},
425
+ onChange : function(){},
426
+
427
+ // callbacks not coded yet (needs to use jsapi)
428
+ onPause : function() {},
429
+ onStop : function() {},
430
+
431
+ width : 'auto',
432
+ height : 'auto',
433
+
434
+ autoplay : false,
435
+ color : '#442359',
436
+ hd : true,
437
+ showUI : false,
438
+ api : true,
439
+
440
+ error : {
441
+ noVideo : 'No video specified',
442
+ method : 'The method you called is not defined'
443
+ },
444
+
445
+ className : {
446
+ active : 'active'
447
+ },
448
+
449
+ selector : {
450
+ embed : '.embed',
451
+ placeholder : '.placeholder',
452
+ playButton : '.play'
453
+ }
454
+ };
455
+
456
+
457
+ })( jQuery, window , document );