less-rails-semantic_ui 1.4.1.0 → 1.5.0.0

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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +35 -20
  4. data/assets/javascripts/semantic_ui/definitions/modules/popup.js +29 -11
  5. data/assets/javascripts/semantic_ui/definitions/modules/progress.js +121 -20
  6. data/assets/javascripts/semantic_ui/definitions/modules/search.js +2 -2
  7. data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +3 -0
  8. data/assets/javascripts/semantic_ui/definitions/modules/tab.js +24 -38
  9. data/assets/javascripts/semantic_ui/definitions/modules/video.js +2 -2
  10. data/assets/stylesheets/semantic_ui/definitions/collections/form.less +18 -3
  11. data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +23 -29
  12. data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +5 -4
  13. data/assets/stylesheets/semantic_ui/definitions/collections/table.less +13 -0
  14. data/assets/stylesheets/semantic_ui/definitions/elements/input.less +15 -14
  15. data/assets/stylesheets/semantic_ui/definitions/elements/label.less +22 -50
  16. data/assets/stylesheets/semantic_ui/definitions/elements/list.less +9 -9
  17. data/assets/stylesheets/semantic_ui/definitions/globals/reset.less +3 -0
  18. data/assets/stylesheets/semantic_ui/definitions/globals/site.less +0 -7
  19. data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +8 -6
  20. data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +1 -0
  21. data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +1 -0
  22. data/assets/stylesheets/semantic_ui/definitions/modules/progress.less +10 -10
  23. data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +3 -5
  24. data/assets/stylesheets/semantic_ui/themes/default/elements/input.variables +1 -1
  25. data/assets/stylesheets/semantic_ui/themes/default/elements/label.variables +2 -1
  26. data/assets/stylesheets/semantic_ui/themes/default/modules/checkbox.variables +1 -0
  27. data/assets/stylesheets/semantic_ui/themes/default/modules/progress.variables +2 -2
  28. data/less-rails-semantic_ui.gemspec +1 -1
  29. metadata +3 -3
@@ -302,10 +302,10 @@ $.fn.search = function(parameters) {
302
302
  notAlreadyResult = ($.inArray(content, results) == -1 && $.inArray(content, fullTextResults) == -1)
303
303
  ;
304
304
  if(fieldExists && notAlreadyResult) {
305
- if( searchRegExp.test( content[field] ) ) {
305
+ if( content[field].match(searchRegExp) ) {
306
306
  results.push(content);
307
307
  }
308
- else if( settings.searchFullText && fullTextRegExp.test( content[field] ) ) {
308
+ else if( settings.searchFullText && content[field].match(content[field]) ) {
309
309
  fullTextResults.push(content);
310
310
  }
311
311
  }
@@ -107,6 +107,9 @@ $.fn.sticky = function(parameters) {
107
107
  destroy: function() {
108
108
  module.verbose('Destroying previous module');
109
109
  module.reset();
110
+ if(observer) {
111
+ observer.disconnect();
112
+ }
110
113
  $window
111
114
  .off('resize' + eventNamespace, module.event.resize)
112
115
  ;
@@ -13,7 +13,7 @@
13
13
 
14
14
  "use strict";
15
15
 
16
- $.tab = $.fn.tab = function(parameters) {
16
+ $.fn.tab = function(parameters) {
17
17
 
18
18
  var
19
19
  // use window context if none specified
@@ -37,7 +37,6 @@ $.tab = $.fn.tab = function(parameters) {
37
37
  returnedValue
38
38
  ;
39
39
 
40
-
41
40
  $allModules
42
41
  .each(function() {
43
42
  var
@@ -158,6 +157,7 @@ $.tab = $.fn.tab = function(parameters) {
158
157
 
159
158
  instantiate: function () {
160
159
  module.verbose('Storing instance of module', module);
160
+ instance = module;
161
161
  $module
162
162
  .data(moduleNamespace, module)
163
163
  ;
@@ -313,7 +313,7 @@ $.tab = $.fn.tab = function(parameters) {
313
313
  $.proxy(settings.onTabLoad, $tab)(currentPath, parameterArray, historyEvent);
314
314
  }
315
315
  }
316
- else if(tabPath.search('/') == -1) {
316
+ else if(tabPath.search('/') == -1 && tabPath !== '') {
317
317
  // look for in page anchor
318
318
  $anchor = $('#' + tabPath + ', a[name="' + tabPath + '"]'),
319
319
  currentPath = $anchor.closest('[data-tab]').data('tab');
@@ -697,7 +697,6 @@ $.tab = $.fn.tab = function(parameters) {
697
697
  return found;
698
698
  }
699
699
  };
700
-
701
700
  if(methodInvoked) {
702
701
  if(instance === undefined) {
703
702
  module.initialize();
@@ -723,51 +722,38 @@ $.tab = $.fn.tab = function(parameters) {
723
722
  };
724
723
 
725
724
  // shortcut for tabbed content with no defined navigation
726
- $.tab = function(settings) {
727
- $(window).tab(settings);
725
+ $.tab = function() {
726
+ $(window).tab.apply(this, arguments);
728
727
  };
729
728
 
730
729
  $.fn.tab.settings = {
731
730
 
732
- name : 'Tab',
733
- namespace : 'tab',
734
-
735
- debug : false,
736
- verbose : true,
737
- performance : true,
738
-
739
- // uses pjax style endpoints fetching content from same url with remote-content headers
740
- auto : false,
741
- history : false,
742
- historyType : 'hash',
743
- path : false,
744
-
745
- context : false,
746
- childrenOnly : false,
747
-
748
- // max depth a tab can be nested
749
- maxDepth : 25,
750
-
751
- // dont load content on first load
752
- ignoreFirstLoad : false,
731
+ name : 'Tab',
732
+ namespace : 'tab',
753
733
 
754
- // load tab content new every tab click
755
- alwaysRefresh : false,
734
+ debug : false,
735
+ verbose : true,
736
+ performance : true,
756
737
 
757
- // cache the content requests to pull locally
758
- cache : true,
738
+ auto : false, // uses pjax style endpoints fetching content from same url with remote-content headers
739
+ history : false, // use browser history
740
+ historyType : 'hash', // #/ or html5 state
741
+ path : false, // base path of url
759
742
 
760
- // settings for api call
761
- apiSettings : false,
743
+ context : false, // specify a context that tabs must appear inside
744
+ childrenOnly : false, // use only tabs that are children of context
745
+ maxDepth : 25, // max depth a tab can be nested
762
746
 
763
- // only called first time a tab's content is loaded (when remote source)
764
- onTabInit : function(tabPath, parameterArray, historyEvent) {},
747
+ alwaysRefresh : false, // load tab content new every tab click
748
+ cache : true, // cache the content requests to pull locally
749
+ ignoreFirstLoad : false, // don't load remote content on first load
750
+ apiSettings : false, // settings for api call
765
751
 
766
- // called on every load
767
- onTabLoad : function(tabPath, parameterArray, historyEvent) {},
752
+ onTabInit : function(tabPath, parameterArray, historyEvent) {}, // called first time loaded
753
+ onTabLoad : function(tabPath, parameterArray, historyEvent) {}, // called on every load
768
754
 
769
755
  templates : {
770
- determineTitle: function(tabArray) {}
756
+ determineTitle: function(tabArray) {} // returns page title for path
771
757
  },
772
758
 
773
759
  error: {
@@ -178,10 +178,10 @@ $.fn.video = function(parameters) {
178
178
  return false;
179
179
  },
180
180
  id: function(url) {
181
- if(settings.regExp.youtube.test(url)) {
181
+ if(url.match(settings.regExp.youtube)) {
182
182
  return url.match(settings.regExp.youtube)[1];
183
183
  }
184
- else if(settings.regExp.vimeo.test(url)) {
184
+ else if(url.match(settings.regExp.vimeo)) {
185
185
  return url.match(settings.regExp.vimeo)[2];
186
186
  }
187
187
  return false;
@@ -682,7 +682,17 @@
682
682
  .ui.form .four.fields > .fields,
683
683
  .ui.form .four.fields > .field,
684
684
  .ui.form .five.fields > .fields,
685
- .ui.form .five.fields > .field {
685
+ .ui.form .five.fields > .field,
686
+ .ui.form .six.fields > .fields,
687
+ .ui.form .six.fields > .field,
688
+ .ui.form .seven.fields > .fields,
689
+ .ui.form .seven.fields > .field,
690
+ .ui.form .eight.fields > .fields,
691
+ .ui.form .eight.fields > .field,
692
+ .ui.form .nine.fields > .fields,
693
+ .ui.form .nine.fields > .field,
694
+ .ui.form .ten.fields > .fields,
695
+ .ui.form .ten.fields > .field {
686
696
  width: @oneColumn !important;
687
697
  margin: @fieldMargin;
688
698
  padding-left: 0%;
@@ -787,6 +797,7 @@
787
797
  .ui.form .fields > .fifteen.wide.field,
788
798
  .ui.form .fields > .sixteen.wide.field {
789
799
  width: @oneColumn !important;
800
+ margin: @fieldMargin;
790
801
  padding-left: 0%;
791
802
  padding-right: 0%;
792
803
  }
@@ -808,9 +819,11 @@
808
819
  .ui.form .inline.fields .field > label,
809
820
  .ui.form .inline.fields .field > p,
810
821
  .ui.form .inline.fields .field > input,
822
+ .ui.form .inline.fields .field > .ui.input,
811
823
  .ui.form .inline.field > label,
812
824
  .ui.form .inline.field > p,
813
- .ui.form .inline.field > input {
825
+ .ui.form .inline.field > input,
826
+ .ui.form .inline.field > .ui.input {
814
827
  display: inline-block;
815
828
  width: auto;
816
829
 
@@ -821,7 +834,9 @@
821
834
  font-size: @inlineLabelFontSize;
822
835
  }
823
836
  .ui.form .inline.fields .field > input,
824
- .ui.form .inline.field > input {
837
+ .ui.form .inline.fields .field > .ui.input,
838
+ .ui.form .inline.field > input,
839
+ .ui.form .inline.field > .ui.input {
825
840
  font-size: @inlineLabelFontSize;
826
841
  }
827
842
  .ui.form .inline.fields .field > .ui.checkbox label {
@@ -1588,14 +1588,10 @@
1588
1588
  .ui.stackable.grid {
1589
1589
  display: block !important;
1590
1590
  width: auto;
1591
- margin-left: -(@stackableGutter / 2) !important;
1592
- margin-right: -(@stackableGutter / 2) !important;
1591
+ margin-left: 0em !important;
1592
+ margin-right: 0em !important;
1593
1593
  padding: 0em;
1594
1594
  }
1595
- .ui.stackable.padded.grid:not(.vertically) {
1596
- margin-left: -(@stackableGutter / 2) !important;
1597
- margin-right: -(@stackableGutter / 2) !important;
1598
- }
1599
1595
  .ui.stackable.grid > .row > .wide.column,
1600
1596
  .ui.stackable.grid > .wide.column,
1601
1597
  .ui.stackable.grid > .column.grid > .column,
@@ -1604,48 +1600,46 @@
1604
1600
  .ui.stackable.grid > .column:not(.row) {
1605
1601
  display: block !important;
1606
1602
  width: auto !important;
1607
-
1608
1603
  margin: 0em 0em !important;
1609
- padding: (@stackableRowSpacing / 2) (@stackableGutter) !important;
1610
1604
  box-shadow: none !important;
1605
+ padding: (@stackableRowSpacing / 2) (@stackableGutter / 2) !important;
1611
1606
  }
1612
1607
  .ui.stackable.grid > .row {
1613
1608
  margin: 0em;
1614
1609
  padding: 0em;
1615
1610
  }
1616
1611
  .ui.stackable.grid .column > .ui.stackable.grid {
1617
- margin-left: -(@stackableGutter) !important;
1618
- margin-right: -(@stackableGutter) !important;
1612
+ margin-left: -(@stackableGutter / 2) !important;
1613
+ margin-right: -(@stackableGutter / 2) !important;
1619
1614
  }
1620
1615
 
1621
- .ui.stackable.celled.grid > .column:not(.row),
1622
- .ui.stackable.divided.grid > .column:not(.row),
1623
- .ui.stackable.celled.grid > .row > .column,
1624
- .ui.stackable.divided.grid > .row > .column {
1625
- border-top: @stackableMobileBorder;
1626
- box-shadow: none !important;
1627
- }
1628
- .ui.inverted.stackable.celled.grid > .column:not(.row),
1629
- .ui.inverted.stackable.divided.grid > .column:not(.row),
1630
- .ui.inverted.stackable.celled.grid > .row > .column,
1631
- .ui.inverted.stackable.divided.grid > .row > .column {
1632
- border-top: @stackableInvertedMobileBorder;
1616
+ /* Equal Height Stackable */
1617
+ .ui[class*="equal height"].stackable.page.grid {
1618
+ display: block !important;
1633
1619
  }
1620
+
1621
+ /* Divided Stackable */
1634
1622
  .ui.stackable.divided.grid > .row:first-child > .column:first-child,
1635
1623
  .ui.stackable.celled.grid > .row:first-child > .column:first-child,
1636
1624
  .ui.stackable.divided.grid > .column:not(.row):first-child,
1637
1625
  .ui.stackable.celled.grid > .column:not(.row):first-child {
1638
1626
  border-top: none !important;
1639
1627
  }
1640
-
1641
- .ui[class*="equal height"].stackable.page.grid {
1642
- display: block !important;
1643
- width: 100% !important;
1628
+ .ui.inverted.stackable.celled.grid > .column:not(.row),
1629
+ .ui.inverted.stackable.divided.grid > .column:not(.row),
1630
+ .ui.inverted.stackable.celled.grid > .row > .column,
1631
+ .ui.inverted.stackable.divided.grid > .row > .column {
1632
+ border-top: @stackableInvertedMobileBorder;
1644
1633
  }
1645
1634
 
1646
- /* Remove pointers from vertical menus */
1647
- .ui.stackable.grid .vertical.pointing.menu .item:after {
1648
- display: none;
1635
+ .ui.stackable.celled.grid > .column:not(.row),
1636
+ .ui.stackable.divided.grid > .column:not(.row),
1637
+ .ui.stackable.celled.grid > .row > .column,
1638
+ .ui.stackable.divided.grid > .row > .column {
1639
+ border-top: @stackableMobileBorder;
1640
+ box-shadow: none !important;
1641
+ padding-top: @stackableRowSpacing !important;
1642
+ padding-bottom: @stackableRowSpacing !important;
1649
1643
  }
1650
1644
 
1651
1645
  }
@@ -1453,13 +1453,14 @@
1453
1453
  border-radius: 0px !important;
1454
1454
  }
1455
1455
 
1456
- .ui.menu.fixed.top {
1456
+ .ui.fixed.menu,
1457
+ .ui.top.fixed.menu {
1457
1458
  top: 0px;
1458
1459
  left: 0px;
1459
1460
  right: auto;
1460
1461
  bottom: auto;
1461
1462
  }
1462
- .ui.menu.fixed.right {
1463
+ .ui.right.fixed.menu {
1463
1464
  top: 0px;
1464
1465
  right: 0px;
1465
1466
  left: auto;
@@ -1467,13 +1468,13 @@
1467
1468
  width: auto;
1468
1469
  height: 100%;
1469
1470
  }
1470
- .ui.menu.fixed.bottom {
1471
+ .ui.bottom.fixed.menu {
1471
1472
  bottom: 0px;
1472
1473
  left: 0px;
1473
1474
  top: auto;
1474
1475
  right: auto;
1475
1476
  }
1476
- .ui.menu.fixed.left {
1477
+ .ui.left.fixed.menu {
1477
1478
  top: 0px;
1478
1479
  left: 0px;
1479
1480
  right: auto;
@@ -217,6 +217,19 @@
217
217
  }
218
218
 
219
219
 
220
+ /*******************************
221
+ Coupling
222
+ *******************************/
223
+
224
+ /* UI Image */
225
+ .ui.table th .image,
226
+ .ui.table th .image img,
227
+ .ui.table td .image,
228
+ .ui.table td .image img {
229
+ max-width: none;
230
+ }
231
+
232
+
220
233
  /*******************************
221
234
  Types
222
235
  *******************************/
@@ -93,7 +93,7 @@
93
93
  Loading
94
94
  ---------------------*/
95
95
 
96
- .ui.loading.loading.input > .icon:before {
96
+ .ui.loading.loading.input > i.icon:before {
97
97
  position: absolute;
98
98
  content: '';
99
99
  top: 50%;
@@ -106,7 +106,7 @@
106
106
  border-radius: @circularRadius;
107
107
  border: @loaderLineWidth solid @loaderFillColor;
108
108
  }
109
- .ui.loading.loading.input > .icon:after {
109
+ .ui.loading.loading.input > i.icon:after {
110
110
  position: absolute;
111
111
  content: '';
112
112
  top: 50%;
@@ -192,7 +192,7 @@
192
192
  }
193
193
 
194
194
  /* Transparent Icon */
195
- .ui.transparent.icon.input > .icon {
195
+ .ui.transparent.icon.input > i.icon {
196
196
  width: @transparentIconWidth;
197
197
  }
198
198
  .ui.transparent.icon.input > input {
@@ -220,7 +220,7 @@
220
220
  Icon
221
221
  ---------------------*/
222
222
 
223
- .ui.icon.input > .icon {
223
+ .ui.icon.input > i.icon {
224
224
  cursor: default;
225
225
  position: absolute;
226
226
  text-align: center;
@@ -234,8 +234,12 @@
234
234
  border-radius: 0em @borderRadius @borderRadius 0em;
235
235
  transition: @iconTransition;
236
236
  }
237
- .ui.icon.input > .icon:before,
238
- .ui.icon.input > .icon:after {
237
+ .ui.icon.input input {
238
+ padding-right: @iconMargin !important;
239
+ }
240
+
241
+ .ui.icon.input > i.icon:before,
242
+ .ui.icon.input > i.icon:after {
239
243
  left: 0;
240
244
  position: absolute;
241
245
  text-align: center;
@@ -243,24 +247,21 @@
243
247
  width: 100%;
244
248
  margin-top: @iconOffset;
245
249
  }
246
- .ui.icon.input > .link.icon {
250
+ .ui.icon.input > i.link.icon {
247
251
  cursor: pointer;
248
252
  }
249
- .ui.icon.input input {
250
- padding-right: @iconMargin !important;
251
- }
252
- .ui.icon.input > .circular.icon {
253
+ .ui.icon.input > i.circular.icon {
253
254
  top: @circularIconVerticalOffset;
254
255
  right: @circularIconHorizontalOffset;
255
256
  }
256
257
 
257
258
  /* Left Icon Input */
258
- .ui[class*="left icon"].input > .icon {
259
+ .ui[class*="left icon"].input > i.icon {
259
260
  right: auto;
260
261
  left: @borderWidth;
261
262
  border-radius: @borderRadius 0em 0em @borderRadius;
262
263
  }
263
- .ui[class*="left icon"].input > .circular.icon {
264
+ .ui[class*="left icon"].input > i.circular.icon {
264
265
  right: auto;
265
266
  left: @circularIconHorizontalOffset;
266
267
  }
@@ -270,7 +271,7 @@
270
271
  }
271
272
 
272
273
  /* Focus */
273
- .ui.icon.input > input:focus ~ .icon {
274
+ .ui.icon.input > input:focus ~ i.icon {
274
275
  opacity: 1;
275
276
  }
276
277
 
@@ -278,49 +278,6 @@ a.ui.label {
278
278
  margin: 0em;
279
279
  }
280
280
 
281
- /* Text Label
282
- .ui.text.corner.label {
283
- font-weight: @cornerTextWeight;
284
- text-align: center;
285
- padding: 0.25em 0;
286
- top: 1.1em;
287
- transform: rotate(45deg);
288
- width: 4em;
289
- height: auto;
290
- }
291
- .ui.left.text.corner.label {
292
- transform: rotate(-45deg);
293
- }
294
- .ui.text.corner.label:before,
295
- .ui.text.corner.label:after {
296
- position: absolute;
297
- content: '';
298
- top: 0em;
299
- width: 0em;
300
- height: 0em;
301
- }
302
- .ui.text.corner.label:before {
303
- left: auto;
304
- right: 100%;
305
- border-top: 0em solid transparent;
306
- border-right-width: @ribbonTriangleSize;
307
- border-right-color: inherit;
308
- border-right-style: solid;
309
- border-bottom: @ribbonTriangleSize solid transparent;
310
- border-left: 0em solid transparent;
311
- }
312
- .ui.text.corner.label:after {
313
- left: 100%;
314
- right: auto;
315
- border-top: 0em solid transparent;
316
- border-right-width: @ribbonTriangleSize;
317
- border-right-color: inherit;
318
- border-right-style: solid;
319
- border-bottom: @ribbonTriangleSize solid transparent;
320
- border-left: 0em solid transparent;
321
- }
322
- */
323
-
324
281
  /* Left Corner */
325
282
  .ui.left.corner.label,
326
283
  .ui.left.corner.label:after {
@@ -367,11 +324,10 @@ a.ui.label {
367
324
  .ui.ribbon.label {
368
325
  position: relative;
369
326
  margin: 0em;
327
+
370
328
  left: -@ribbonDistance;
371
329
  padding-left: @ribbonDistance;
372
-
373
330
  border-radius: 0em @borderRadius @borderRadius 0em;
374
-
375
331
  border-color: @ribbonShadowColor;
376
332
  }
377
333
 
@@ -383,17 +339,33 @@ a.ui.label {
383
339
  left: 0%;
384
340
  background-color: transparent !important;
385
341
 
386
- border-top: 0em solid transparent;
387
- border-right-width: @ribbonTriangleSize;
342
+ border-style: solid;
343
+ border-width: 0em @ribbonTriangleSize @ribbonTriangleSize 0em;
344
+ border-color: transparent;
388
345
  border-right-color: inherit;
389
- border-right-style: solid;
390
- border-bottom: @ribbonTriangleSize solid transparent;
391
- border-left: 0em solid transparent;
392
346
 
393
347
  width: 0em;
394
348
  height: 0em;
395
349
  }
396
350
 
351
+ .ui[class*="right ribbon"].label {
352
+ text-align: left;
353
+ transform: translateX(-100%);
354
+ left: ~"calc(100% + "@ribbonDistance~")";
355
+ border-radius: @borderRadius 0em 0em @borderRadius;
356
+ padding-left: @horizontalPadding;
357
+ padding-right: @ribbonDistance;
358
+ }
359
+ .ui[class*="right ribbon"].label:after {
360
+ left: auto;
361
+ right: 0%;
362
+
363
+ border-style: solid;
364
+ border-width: @ribbonTriangleSize @ribbonTriangleSize 0em 0em;
365
+ border-color: transparent;
366
+ border-top-color: inherit;
367
+ }
368
+
397
369
  /*-------------------
398
370
  Attached
399
371
  --------------------*/