titon-toolkit 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/changelog.md +66 -183
  3. data/readme.md +17 -8
  4. data/roadmap.md +13 -11
  5. data/scss/toolkit.scss +3 -2
  6. data/scss/toolkit/_common.scss +72 -22
  7. data/scss/toolkit/base.scss +12 -1
  8. data/scss/toolkit/components/accordion.scss +19 -17
  9. data/scss/toolkit/components/blackout.scss +20 -18
  10. data/scss/toolkit/components/breadcrumb.scss +37 -36
  11. data/scss/toolkit/components/button-group.scss +130 -128
  12. data/scss/toolkit/components/button.scss +100 -98
  13. data/scss/toolkit/components/carousel.scss +63 -63
  14. data/scss/toolkit/components/code.scss +49 -47
  15. data/scss/toolkit/components/divider.scss +34 -32
  16. data/scss/toolkit/components/drop.scss +82 -79
  17. data/scss/toolkit/components/flex.scss +110 -0
  18. data/scss/toolkit/components/flyout.scss +59 -53
  19. data/scss/toolkit/components/form.scss +178 -170
  20. data/scss/toolkit/components/grid.scss +36 -34
  21. data/scss/toolkit/components/icon.scss +28 -25
  22. data/scss/toolkit/components/input-group.scss +35 -33
  23. data/scss/toolkit/components/input.scss +102 -99
  24. data/scss/toolkit/components/label.scss +99 -97
  25. data/scss/toolkit/components/lazy-load.scss +6 -4
  26. data/scss/toolkit/components/loader.scss +124 -122
  27. data/scss/toolkit/components/mask.scss +24 -22
  28. data/scss/toolkit/components/matrix.scss +16 -14
  29. data/scss/toolkit/components/modal.scss +104 -102
  30. data/scss/toolkit/components/notice.scss +24 -23
  31. data/scss/toolkit/components/off-canvas.scss +118 -116
  32. data/scss/toolkit/components/pagination.scss +90 -66
  33. data/scss/toolkit/components/pin.scss +11 -9
  34. data/scss/toolkit/components/popover.scss +50 -48
  35. data/scss/toolkit/components/progress.scss +42 -40
  36. data/scss/toolkit/components/responsive.scss +61 -66
  37. data/scss/toolkit/components/showcase.scss +62 -60
  38. data/scss/toolkit/components/step.scss +51 -44
  39. data/scss/toolkit/components/switch.scss +96 -93
  40. data/scss/toolkit/components/tab.scss +25 -25
  41. data/scss/toolkit/components/table.scss +76 -75
  42. data/scss/toolkit/components/toast.scss +91 -89
  43. data/scss/toolkit/components/tooltip.scss +82 -80
  44. data/scss/toolkit/components/type-ahead.scss +53 -52
  45. data/scss/toolkit/components/typography.scss +45 -43
  46. data/scss/toolkit/mixins/_flex.scss +80 -0
  47. data/scss/toolkit/mixins/_grid.scss +6 -29
  48. data/scss/toolkit/mixins/_helper.scss +33 -4
  49. data/scss/toolkit/mixins/_layout.scss +28 -1
  50. data/version.md +1 -1
  51. metadata +4 -2
@@ -6,55 +6,57 @@
6
6
 
7
7
  @import "../common";
8
8
 
9
- html {
10
- font-size: $base-size;
11
- line-height: $base-line-height;
12
- }
13
-
14
- h1 { font-size: $h1-size; }
15
- h2 { font-size: $h2-size; }
16
- h3 { font-size: $h3-size; }
17
- h4 { font-size: $h4-size; }
18
- h5 { font-size: $h5-size; }
19
- h6 { font-size: $h6-size; }
20
-
21
- h1, h2, h3, h4, h5, h6 {
22
- margin: 0;
23
- padding: 0;
24
- line-height: $base-line-height;
25
- font-weight: normal;
26
- }
9
+ @include export("typography") {
10
+ html {
11
+ font-size: $base-size;
12
+ line-height: $base-line-height;
13
+ }
27
14
 
28
- p, ul, ol {
29
- margin: $margin 0 0 0;
15
+ h1 { font-size: $h1-size; }
16
+ h2 { font-size: $h2-size; }
17
+ h3 { font-size: $h3-size; }
18
+ h4 { font-size: $h4-size; }
19
+ h5 { font-size: $h5-size; }
20
+ h6 { font-size: $h6-size; }
30
21
 
31
- ul, ol {
22
+ h1, h2, h3, h4, h5, h6 {
32
23
  margin: 0;
24
+ padding: 0;
25
+ line-height: $base-line-height;
26
+ font-weight: normal;
33
27
  }
34
- }
35
28
 
36
- hr {
37
- margin: $margin 0;
38
- }
29
+ p, ul, ol {
30
+ margin: $margin 0 0 0;
39
31
 
40
- blockquote {
41
- margin: $margin;
42
- padding: 0 $padding;
43
- border-left: 5px solid $gray;
32
+ ul, ol {
33
+ margin: 0;
34
+ }
35
+ }
44
36
 
45
- cite { display: block; font-size: $small-size; }
46
- cite::before { content: "\2014 \00A0"; /* em dash */ }
47
- }
37
+ hr {
38
+ margin: $margin 0;
39
+ }
48
40
 
49
- mark {
50
- display: inline-block;
51
- background: $gray-dark;
52
- border-radius: $round;
53
- padding: 0 .3em;
54
- }
41
+ blockquote {
42
+ margin: $margin;
43
+ padding: 0 $padding;
44
+ border-#{$align-direction}: 5px solid $gray;
45
+
46
+ cite { display: block; font-size: $small-size; }
47
+ cite::before { content: "\2014 \00A0"; /* em dash */ }
48
+ }
55
49
 
56
- .text-muted { color: $default; }
57
- .text-info { color: darken($info, 15%); }
58
- .text-error { color: darken($error, 15%); }
59
- .text-warning { color: darken($warning, 15%); }
60
- .text-success { color: darken($success, 15%); }
50
+ mark {
51
+ display: inline-block;
52
+ background: $gray-dark;
53
+ border-radius: $round;
54
+ padding: 0 .3em;
55
+ }
56
+
57
+ .text-muted { color: $default; }
58
+ .text-info { color: darken($info, 15%); }
59
+ .text-error { color: darken($error, 15%); }
60
+ .text-warning { color: darken($warning, 15%); }
61
+ .text-success { color: darken($success, 15%); }
62
+ }
@@ -0,0 +1,80 @@
1
+ @import "layout";
2
+ @import "helper";
3
+
4
+ $flex-align-map: (
5
+ top: flex-start,
6
+ bottom: flex-end,
7
+ left: flex-start,
8
+ right: flex-end,
9
+ center: center,
10
+ between: space-between,
11
+ around: space-around,
12
+ stretch: stretch,
13
+ baseline: baseline
14
+ );
15
+
16
+ // justify-content - Align blocks/lines on main axis.
17
+ // align-content - Align blocks/lines on cross axis. This is the opposite of justify-content.
18
+ // align-items - Align blocks within a line on the cross axis when each block has a variable height.
19
+
20
+ // Calculate the width of an individual flex block.
21
+ // Take into account max widths and gutters.
22
+ @function flex-span($n, $columns, $width: $flex-width, $gutter: $flex-gutter) {
23
+ @return span-width($n, $columns, $width, $gutter);
24
+ }
25
+
26
+ // Styles for the region that contains blocks.
27
+ @mixin flex-region($width: $flex-width) {
28
+ display: flex;
29
+ max-width: $width;
30
+ }
31
+
32
+ // Align the blocks within a region horizontally or vertically.
33
+ @mixin flex-region-align($align: left) {
34
+ justify-content: map-get($flex-align-map, $align);
35
+ }
36
+
37
+ // Set the orientation of blocks. Either display vertically or horizontally.
38
+ @mixin flex-region-orientation($orientation: horizontal) {
39
+ @if $orientation == vertical {
40
+ flex-direction: column;
41
+ } @else {
42
+ flex-direction: row;
43
+ }
44
+ }
45
+
46
+ // Set the wrapping of blocks within a region.
47
+ @mixin flex-region-wrap($wrap: true) {
48
+ @if $wrap {
49
+ flex-wrap: wrap;
50
+ align-items: flex-start;
51
+ } @else {
52
+ flex-wrap: nowrap;
53
+ align-items: stretch;
54
+ }
55
+ }
56
+
57
+ // Set the width, grow, and shrink settings for a block.
58
+ @mixin flex-block($width: auto, $grow: 1, $shrink: 0) {
59
+ flex: $grow $shrink $width;
60
+ }
61
+
62
+ // Override the blocks alignment set by the parent.
63
+ @mixin flex-block-align($align: left) {
64
+ align-self: map-get($flex-align-map, $align);
65
+ }
66
+
67
+ // Set the order of a block. Defaults to 100 so that custom blocks can be set higher.
68
+ @mixin flex-block-order($order: 100) {
69
+ order: $order;
70
+ }
71
+
72
+ // Set a block to grow by default.
73
+ @mixin flex-block-grow($width: auto) {
74
+ @include flex-block($width);
75
+ }
76
+
77
+ // Set a block to shrink by default.
78
+ @mixin flex-block-shrink($width: auto) {
79
+ @include flex-block($width, 0, 1);
80
+ }
@@ -1,33 +1,10 @@
1
-
2
1
  @import "layout";
3
-
4
- // Calculate the gutter spacing as a percentage.
5
- // Use the max width of the grid to calculate against.
6
- @function grid-gutter($width, $gutter) {
7
- @return if($gutter, ((to-pixel($gutter) / to-pixel($width)) * 100 * 1%), 0%);
8
- }
2
+ @import "helper";
9
3
 
10
4
  // Calculate the width of an individual grid column.
11
5
  // Take into account max widths and gutters.
12
6
  @function grid-span($n, $columns, $width: $grid-width, $gutter: $grid-gutter) {
13
- $row-width: 100%;
14
- $gutter-width: 0%;
15
-
16
- // If a gutter is set, remove width based on the sum of the gutter columns
17
- @if $gutter {
18
- $gutter-width: grid-gutter($width, $gutter);
19
- $row-width: $row-width - ($gutter-width * ($columns - 1));
20
- }
21
-
22
- // The column width should span a division of the total width
23
- $span-width: ($row-width / $columns) * $n;
24
-
25
- // If a gutter is set, increase the column width to fill in the missing gaps
26
- @if $gutter and $n > 1 {
27
- $span-width: $span-width + (($n - 1) * $gutter-width);
28
- }
29
-
30
- @return $span-width;
7
+ @return span-width($n, $columns, $width, $gutter);
31
8
  }
32
9
 
33
10
  // Styles for the grid row containing the columns.
@@ -42,11 +19,11 @@
42
19
  @mixin grid-column($width: $grid-width, $gutter: $grid-gutter) {
43
20
  position: relative;
44
21
  min-height: 1px;
45
- float: left;
22
+ float: $align-direction;
46
23
 
47
24
  @if $gutter {
48
- margin-right: grid-gutter($width, $gutter);
25
+ margin-#{$align-opposite-direction}: gutter($width, $gutter);
49
26
 
50
- &:last-child { margin-right: 0; }
27
+ &:last-child { margin-#{$align-opposite-direction}: 0; }
51
28
  }
52
- }
29
+ }
@@ -29,16 +29,16 @@
29
29
  }
30
30
 
31
31
  // Remove the first selector character (#, ., etc) from the class name or ID
32
- @function remove-selector-char($selector) {
32
+ @function remove-selector($selector) {
33
33
  @return str-slice($selector, 2, str-length($selector));
34
34
  }
35
35
 
36
36
  // Generate a class name and apply an optional prefix
37
- @function class-name($class, $prefix: $vendor-prefix, $selector: ".") {
37
+ @function class-name($class, $prefix: $namespace, $selector: ".") {
38
38
  $name: $class;
39
39
 
40
40
  @if str_slice($class, 1, 1) == $selector {
41
- $name: remove-selector-char($name);
41
+ $name: remove-selector($name);
42
42
  }
43
43
 
44
44
  @if $prefix != "" {
@@ -61,4 +61,33 @@
61
61
  }
62
62
 
63
63
  @return $name;
64
- }
64
+ }
65
+
66
+ // Calculate the gutter spacing as a percentage.
67
+ // Use the max width of the grid to calculate against.
68
+ @function gutter($width, $gutter) {
69
+ @return if($gutter, ((to-pixel($gutter) / to-pixel($width)) * 100 * 1%), 0%);
70
+ }
71
+
72
+ // Calculate the width of an individual element within a row.
73
+ // Take into account max widths and gutters.
74
+ @function span-width($n, $columns, $width, $gutter) {
75
+ $row-width: 100%;
76
+ $gutter-width: 0%;
77
+
78
+ // If a gutter is set, remove width based on the sum of the gutter columns
79
+ @if $gutter {
80
+ $gutter-width: gutter($width, $gutter);
81
+ $row-width: $row-width - ($gutter-width * ($columns - 1));
82
+ }
83
+
84
+ // The column width should span a division of the total width
85
+ $span-width: ($row-width / $columns) * $n;
86
+
87
+ // If a gutter is set, increase the column width to fill in the missing gaps
88
+ @if $gutter and $n > 1 {
89
+ $span-width: $span-width + (($n - 1) * $gutter-width);
90
+ }
91
+
92
+ @return $span-width;
93
+ }
@@ -1,4 +1,18 @@
1
1
 
2
+ // Export a component into the compiled output only once
3
+ // Also check to see if it has been excluded from the output all together
4
+ @mixin export($module) {
5
+ // Module is excluded, so do nothing
6
+ @if (index($modules-excluded, $module) != null) {
7
+
8
+ // Module hasn't been exported yet, so export it and log usage
9
+ } @else if (index($modules-exported, $module) == null) {
10
+ $modules-exported: append($modules-exported, $module) !global;
11
+
12
+ @content;
13
+ }
14
+ }
15
+
2
16
  // Container clear fix for floats
3
17
  @mixin clear-fix {
4
18
  &::after {
@@ -87,4 +101,17 @@
87
101
  @content;
88
102
  }
89
103
  }
90
- }
104
+ }
105
+
106
+ // Generate code blocks for LTR and RTL styles.
107
+ @mixin ltr() {
108
+ &[dir="ltr"] {
109
+ @content;
110
+ }
111
+ }
112
+
113
+ @mixin rtl() {
114
+ &[dir="rtl"] {
115
+ @content;
116
+ }
117
+ }
data/version.md CHANGED
@@ -1 +1 @@
1
- 2.0.2
1
+ 2.1.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: titon-toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Project Titon
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-17 00:00:00.000000000 Z
12
+ date: 2015-02-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sass
@@ -64,6 +64,7 @@ files:
64
64
  - scss/toolkit/components/code.scss
65
65
  - scss/toolkit/components/divider.scss
66
66
  - scss/toolkit/components/drop.scss
67
+ - scss/toolkit/components/flex.scss
67
68
  - scss/toolkit/components/flyout.scss
68
69
  - scss/toolkit/components/form.scss
69
70
  - scss/toolkit/components/grid.scss
@@ -93,6 +94,7 @@ files:
93
94
  - scss/toolkit/components/type-ahead.scss
94
95
  - scss/toolkit/components/typography.scss
95
96
  - scss/toolkit/mixins/_components.scss
97
+ - scss/toolkit/mixins/_flex.scss
96
98
  - scss/toolkit/mixins/_grid.scss
97
99
  - scss/toolkit/mixins/_helper.scss
98
100
  - scss/toolkit/mixins/_layout.scss