fleetio_spark 0.2.48 → 1.0.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spark/_icons.js +1 -1
  3. data/app/assets/javascripts/spark/components/app/sidebar/_fix.js +4 -4
  4. data/app/assets/javascripts/spark/components/app/sidebar/_toggle.js +1 -1
  5. data/app/assets/javascripts/spark/components/layout/_auto-grid.js +5 -5
  6. data/app/assets/javascripts/spark/components/nav/_toggle.js +16 -7
  7. data/app/assets/javascripts/spark/components/ui/_sticky_panel.js +2 -2
  8. data/app/assets/javascripts/spark/components/ui/_toast.js +3 -6
  9. data/app/assets/javascripts/spark/shims/_dataset.js +241 -0
  10. data/app/assets/javascripts/spark/spark.js +18 -16
  11. data/app/assets/stylesheets/spark/_index.scss +0 -1
  12. data/app/assets/stylesheets/spark/components/_index.scss +11 -5
  13. data/app/assets/stylesheets/spark/components/app/_header.scss +15 -28
  14. data/app/assets/stylesheets/spark/components/app/_layout.scss +2 -2
  15. data/app/assets/stylesheets/spark/components/app/_sidebar.scss +19 -47
  16. data/app/assets/stylesheets/spark/components/app/sidebar/_header.scss +44 -48
  17. data/app/assets/stylesheets/spark/components/app/sidebar/_toggle.scss +5 -2
  18. data/app/assets/stylesheets/spark/components/button/_button.scss +48 -53
  19. data/app/assets/stylesheets/spark/components/button/_button_group.scss +10 -16
  20. data/app/assets/stylesheets/spark/components/button/_size.scss +17 -8
  21. data/app/assets/stylesheets/spark/components/icon/_badge.scss +41 -0
  22. data/app/assets/stylesheets/spark/{_icons.scss → components/icon/_icon.scss} +0 -0
  23. data/app/assets/stylesheets/spark/components/{form → input}/_switch.scss +20 -20
  24. data/app/assets/stylesheets/spark/components/layout/_block.scss +44 -0
  25. data/app/assets/stylesheets/spark/components/layout/_grid.scss +26 -29
  26. data/app/assets/stylesheets/spark/components/layout/_media_block.scss +76 -0
  27. data/app/assets/stylesheets/spark/components/layout/_page.scss +54 -0
  28. data/app/assets/stylesheets/spark/components/{app → messaging}/_banner.scss +3 -3
  29. data/app/assets/stylesheets/spark/components/messaging/_trial-notice.scss +20 -0
  30. data/app/assets/stylesheets/spark/components/nav/_item.scss +6 -30
  31. data/app/assets/stylesheets/spark/components/nav/_sidebar.scss +11 -48
  32. data/app/assets/stylesheets/spark/components/nav/_tabs.scss +5 -5
  33. data/app/assets/stylesheets/spark/components/nav/sidebar/_theme-default.scss +59 -0
  34. data/app/assets/stylesheets/spark/components/nav/sidebar/_theme-primary.scss +69 -0
  35. data/app/assets/stylesheets/spark/components/nav/tree/_group.scss +1 -6
  36. data/app/assets/stylesheets/spark/components/ui/_card.scss +57 -0
  37. data/app/assets/stylesheets/spark/components/ui/_header.scss +55 -55
  38. data/app/assets/stylesheets/spark/components/ui/_placeholder.scss +8 -22
  39. data/app/assets/stylesheets/spark/components/ui/_toolbar.scss +1 -27
  40. data/app/assets/stylesheets/spark/components_old/_dropdown.scss +117 -114
  41. data/app/assets/stylesheets/spark/components_old/_index.scss +1 -1
  42. data/app/assets/stylesheets/spark/components_old/header/_index.scss +0 -1
  43. data/app/assets/stylesheets/spark/components_old/header/_search.scss +2 -0
  44. data/app/assets/stylesheets/spark/core/_vars.scss +6 -3
  45. data/app/components/spark/badge.html.slim +4 -0
  46. data/app/components/spark/badge.rb +15 -0
  47. data/app/components/spark/banner.html.slim +7 -0
  48. data/app/components/spark/banner.rb +28 -0
  49. data/app/components/spark/button.html.slim +9 -0
  50. data/app/components/spark/button.rb +68 -0
  51. data/app/components/spark/button/group.html.slim +4 -0
  52. data/app/components/spark/button/group.rb +22 -0
  53. data/app/components/spark/card.html.slim +7 -0
  54. data/app/components/spark/card.rb +13 -0
  55. data/app/components/spark/checklist.html.slim +14 -0
  56. data/app/components/spark/checklist.rb +49 -0
  57. data/app/components/spark/checklist/container.html.slim +14 -0
  58. data/app/components/spark/checklist/container.rb +51 -0
  59. data/app/components/spark/checklist/item.html.slim +9 -0
  60. data/app/components/spark/checklist/item.rb +24 -0
  61. data/app/components/spark/checklist/trigger.html.slim +6 -0
  62. data/app/components/spark/checklist/trigger.rb +13 -0
  63. data/app/components/spark/component/base.rb +27 -0
  64. data/app/components/spark/embed/wistia_media.html.slim +11 -0
  65. data/app/components/spark/embed/wistia_media.rb +22 -0
  66. data/app/components/spark/embed/wistia_media_component.rb +22 -36
  67. data/app/components/spark/grid.html.slim +4 -0
  68. data/app/components/spark/grid.rb +31 -0
  69. data/app/components/spark/grid/column.html.slim +1 -0
  70. data/app/components/spark/grid/column.rb +34 -0
  71. data/app/components/spark/icon.html.slim +1 -0
  72. data/app/components/spark/icon.rb +34 -0
  73. data/app/components/spark/icon/placeholder.html.slim +20 -0
  74. data/app/components/spark/icon/placeholder.rb +139 -0
  75. data/app/components/spark/input/base.html.slim +1 -0
  76. data/app/components/spark/input/base.rb +17 -0
  77. data/app/components/spark/input/checkbox.html.slim +2 -0
  78. data/app/components/spark/input/checkbox.rb +14 -0
  79. data/app/components/spark/input/label.html.slim +4 -0
  80. data/app/components/spark/input/label.rb +13 -0
  81. data/app/components/spark/input/switch.html.slim +5 -0
  82. data/app/components/spark/input/switch.rb +24 -0
  83. data/app/components/spark/layout/block.html.slim +13 -0
  84. data/app/components/spark/layout/block.rb +62 -0
  85. data/app/components/spark/layout/media_block.html.slim +11 -0
  86. data/app/components/spark/layout/media_block.rb +29 -0
  87. data/app/components/spark/layout/page.html.slim +15 -0
  88. data/app/components/spark/layout/page.rb +37 -0
  89. data/app/components/spark/nav/group.html.slim +5 -0
  90. data/app/components/spark/nav/group.rb +31 -0
  91. data/app/components/spark/nav/item.html.slim +12 -0
  92. data/app/components/spark/nav/item.rb +36 -0
  93. data/app/components/spark/nav/sidebar.html.slim +14 -0
  94. data/app/components/spark/nav/sidebar.rb +60 -0
  95. data/app/components/spark/nav/tab_panels.html.slim +6 -0
  96. data/app/components/spark/nav/tab_panels.rb +42 -0
  97. data/app/components/spark/nav/tabs.html.slim +8 -0
  98. data/app/components/spark/nav/tabs.rb +36 -0
  99. data/app/components/spark/nav/toggle.html.slim +9 -0
  100. data/app/components/spark/nav/toggle.rb +20 -0
  101. data/app/components/spark/nav/tree.html.slim +9 -0
  102. data/app/components/spark/nav/tree.rb +53 -0
  103. data/app/components/spark/nav/tree/group.html.slim +9 -0
  104. data/app/components/spark/nav/tree/group.rb +26 -0
  105. data/app/components/spark/sticky_panel.html.slim +2 -0
  106. data/app/components/spark/sticky_panel.rb +12 -0
  107. data/app/components/spark/toolbar.html.slim +7 -0
  108. data/app/components/spark/toolbar.rb +14 -0
  109. data/app/components/spark/tooltip.html.slim +3 -0
  110. data/app/components/spark/tooltip.rb +13 -0
  111. data/app/components/spark/trial_notice.html.slim +3 -0
  112. data/app/components/spark/trial_notice.rb +35 -0
  113. data/app/components/spark/widget_card.html.slim +5 -0
  114. data/app/components/spark/widget_card.rb +12 -0
  115. data/app/helpers/spark/application_helper.rb +9 -0
  116. data/lib/fleetio_spark.rb +6 -6
  117. data/lib/fleetio_spark/version.rb +1 -1
  118. data/public/code-1.0.0.rc.1.js +2 -0
  119. data/public/code-1.0.0.rc.1.js.gz +0 -0
  120. data/public/code-1.0.0.rc.1.js.map +1 -0
  121. data/public/spark-1.0.0.rc.1.css +1 -0
  122. data/public/spark-1.0.0.rc.1.css.gz +0 -0
  123. data/public/spark-1.0.0.rc.1.js +2 -0
  124. data/public/spark-1.0.0.rc.1.js.gz +0 -0
  125. data/public/spark-1.0.0.rc.1.js.map +1 -0
  126. metadata +110 -75
  127. data/app/assets/stylesheets/spark/components/layout/_base.scss +0 -0
  128. data/app/assets/stylesheets/spark/components/layout/_header.scss +0 -55
  129. data/app/assets/stylesheets/spark/components/page/_header.scss +0 -9
  130. data/app/assets/stylesheets/spark/components/page/_main.scss +0 -62
  131. data/app/assets/stylesheets/spark/components_old/header/_trial-status.scss +0 -61
  132. data/app/components/spark/app/banner_component.rb +0 -32
  133. data/app/components/spark/app/content_component.rb +0 -32
  134. data/app/components/spark/app/header_component.rb +0 -59
  135. data/app/components/spark/app/layout_component.rb +0 -92
  136. data/app/components/spark/app/modal_component.rb +0 -5
  137. data/app/components/spark/app/sidebar/header_component.rb +0 -39
  138. data/app/components/spark/app/sidebar_component.rb +0 -20
  139. data/app/components/spark/button/add_component.rb +0 -9
  140. data/app/components/spark/button/base_component.rb +0 -39
  141. data/app/components/spark/button/cancel_component.rb +0 -8
  142. data/app/components/spark/button/danger_component.rb +0 -8
  143. data/app/components/spark/button/group_component.rb +0 -24
  144. data/app/components/spark/button/icon_component.rb +0 -14
  145. data/app/components/spark/button/primary_component.rb +0 -8
  146. data/app/components/spark/button/text_component.rb +0 -8
  147. data/app/components/spark/form/checkbox_component.rb +0 -16
  148. data/app/components/spark/form/input_component.rb +0 -9
  149. data/app/components/spark/form/label_component.rb +0 -12
  150. data/app/components/spark/form/switch_component.rb +0 -32
  151. data/app/components/spark/layout/base_component.rb +0 -2
  152. data/app/components/spark/layout/grid/column_component.rb +0 -32
  153. data/app/components/spark/layout/grid_component.rb +0 -37
  154. data/app/components/spark/layout/header_component.rb +0 -26
  155. data/app/components/spark/layout/page_component.rb +0 -31
  156. data/app/components/spark/nav/breadcrumbs_component.rb +0 -2
  157. data/app/components/spark/nav/group_component.rb +0 -36
  158. data/app/components/spark/nav/item_component.rb +0 -44
  159. data/app/components/spark/nav/pills_component.rb +0 -28
  160. data/app/components/spark/nav/sidebar_component.rb +0 -59
  161. data/app/components/spark/nav/tab_panels/panel_component.rb +0 -37
  162. data/app/components/spark/nav/tab_panels/tab_component.rb +0 -13
  163. data/app/components/spark/nav/tab_panels_component.rb +0 -28
  164. data/app/components/spark/nav/tabs_component.rb +0 -59
  165. data/app/components/spark/nav/toggle_component.rb +0 -28
  166. data/app/components/spark/nav/tree/group_component.rb +0 -35
  167. data/app/components/spark/nav/tree_component.rb +0 -56
  168. data/app/components/spark/page/layout_component.rb +0 -32
  169. data/app/components/spark/page/main_component.rb +0 -39
  170. data/app/components/spark/ui/card_component.rb +0 -16
  171. data/app/components/spark/ui/checklist/container_component.rb +0 -56
  172. data/app/components/spark/ui/checklist/item_component.rb +0 -37
  173. data/app/components/spark/ui/checklist_trigger_component.rb +0 -20
  174. data/app/components/spark/ui/icon/_icon.html.erb +0 -0
  175. data/app/components/spark/ui/icon_component.rb +0 -30
  176. data/app/components/spark/ui/placeholder_component.rb +0 -105
  177. data/app/components/spark/ui/sticky_panel_component.rb +0 -9
  178. data/app/components/spark/ui/toolbar_component.rb +0 -17
  179. data/app/components/spark/ui/tooltip_component.rb +0 -13
  180. data/app/components/spark/ui/widget_card_component.rb +0 -13
  181. data/lib/fleetio_spark/component.rb +0 -36
  182. data/public/code-0.2.48.js +0 -2
  183. data/public/code-0.2.48.js.gz +0 -0
  184. data/public/code-0.2.48.js.map +0 -1
  185. data/public/spark-0.2.48.css +0 -1
  186. data/public/spark-0.2.48.css.gz +0 -0
  187. data/public/spark-0.2.48.js +0 -2
  188. data/public/spark-0.2.48.js.gz +0 -0
  189. data/public/spark-0.2.48.js.map +0 -1
@@ -2,26 +2,20 @@
2
2
  .spark-button-group {
3
3
  display: flex;
4
4
 
5
- .spark-button-wrapper:not(:first-child):not(:last-child) {
6
- .spark-button {
7
- border-radius: 0;
8
- margin-left: -1px;
9
- }
5
+ .spark-button:not(:first-child):not(:last-child) {
6
+ border-radius: 0;
7
+ margin-left: -1px;
10
8
  }
11
9
 
12
- .spark-button-wrapper:first-child {
13
- .spark-button {
14
- border-top-right-radius: 0;
15
- border-bottom-right-radius: 0;
16
- }
10
+ .spark-button:first-child {
11
+ border-top-right-radius: 0;
12
+ border-bottom-right-radius: 0;
17
13
  }
18
14
 
19
- .spark-button-wrapper:last-child {
20
- .spark-button {
21
- border-top-left-radius: 0;
22
- border-bottom-left-radius: 0;
23
- margin-left: -1px;
24
- }
15
+ .spark-button:last-child {
16
+ border-top-left-radius: 0;
17
+ border-bottom-left-radius: 0;
18
+ margin-left: -1px;
25
19
  }
26
20
 
27
21
  .spark-button:hover,
@@ -1,18 +1,27 @@
1
1
  $button-sizes: (
2
2
  base: (
3
- padding: $pad-md,
3
+ horizontal-padding: $pad-md,
4
+ vertical-padding: ($pad-md / 2),
4
5
  font-size: 13px
5
6
  ),
7
+ xs: (
8
+ horizontal-padding: $pad-sm,
9
+ vertical-padding: $pad-xs,
10
+ font-size: 12px
11
+ ),
6
12
  small: (
7
- padding: $pad-sm,
13
+ horizontal-padding: $pad-base,
14
+ vertical-padding: $pad-xs,
8
15
  font-size: 12px
9
16
  ),
10
17
  medium: (
11
- padding: 20px,
18
+ horizontal-padding: 20px,
19
+ vertical-padding: 10px,
12
20
  font-size: 16px
13
21
  ),
14
22
  large: (
15
- padding: $pad-xl,
23
+ horizontal-padding: $pad-xl,
24
+ vertical-padding: $pad-md,
16
25
  font-size: 18px
17
26
  )
18
27
  );
@@ -37,11 +46,11 @@ $button-sizes: (
37
46
  // )
38
47
  // );
39
48
 
40
- @mixin button-size($horizontal-padding, $font-size){
49
+ @mixin button-size($horizontal-padding, $vertical-padding, $font-size){
41
50
  $svg-size: ($font-size - 3);
42
51
 
43
52
  font-size: $font-size;
44
- padding: ($horizontal-padding / 2) $horizontal-padding;
53
+ padding: $vertical-padding $horizontal-padding;
45
54
  min-height: ($horizontal-padding + $font-size) + 5;
46
55
 
47
56
  .spark-icon {
@@ -50,11 +59,11 @@ $button-sizes: (
50
59
  }
51
60
 
52
61
  &.theme-text {
53
- padding: ($horizontal-padding / 2);
62
+ padding: $horizontal-padding / 2;
54
63
 
55
64
  .spark-icon{
56
65
  height: ($svg-size * 2);
57
66
  padding: ($svg-size / 2) 0;
58
67
  }
59
68
  }
60
- }
69
+ }
@@ -0,0 +1,41 @@
1
+ .spark-badge {
2
+ display: inline-flex;
3
+ padding: 0 $pad-base - 1;
4
+ margin-left: $pad-base;
5
+ padding: 1px 6px;
6
+
7
+ font-size: 10px;
8
+ border-radius: 30px;
9
+ text-align: center;
10
+ text-transform: uppercase;
11
+ font-weight: 600;
12
+ border: 1px solid transparent;
13
+ line-height: 1.1em;
14
+
15
+ &.fill {
16
+ color: #fff;
17
+
18
+ &.color-gray { background: $fl-gray-500; }
19
+ &.color-red { background: $fl-red-500; }
20
+ &.color-yellow { background: $fl-yellow-600; }
21
+ &.color-green { background: $fl-green-500; }
22
+ &.color-teal { background: $fl-teal-500; }
23
+ &.color-blue { background: $fl-blue-500; }
24
+ &.color-purple { background: $fl-purple-500; }
25
+ &.color-gray { background: $fl-gray-500; }
26
+ }
27
+
28
+ &.outline {
29
+ border-color: currentColor;
30
+ background: transparent;
31
+
32
+ &.color-gray { color: $fl-gray-500; }
33
+ &.color-red { color: $fl-red-500; }
34
+ &.color-yellow { color: $fl-yellow-600; }
35
+ &.color-green { color: $fl-green-500; }
36
+ &.color-teal { color: $fl-teal-500; }
37
+ &.color-blue { color: $fl-blue-500; }
38
+ &.color-purple { color: $fl-purple-500; }
39
+ &.color-gray { color: $fl-gray-500; }
40
+ }
41
+ }
@@ -1,44 +1,44 @@
1
1
  @mixin spark-switch-size($width, $height) {
2
2
  $tick-width: ($width - 6)/2;
3
- .spark-switch-panel {
3
+ .spark-input-switch-panel {
4
4
  width: $width;
5
5
  height: $height;
6
6
  border-radius: $height;
7
7
  }
8
8
 
9
- .spark-switch-tick {
9
+ .spark-input-switch-tick {
10
10
  width: $tick-width;
11
11
  height: $height - 4;
12
12
  border-radius: $height;
13
13
  }
14
14
 
15
- .spark-switch-input {
15
+ .spark-input {
16
16
  @include input-active {
17
- ~ .spark-switch-panel {
17
+ ~ .spark-input-switch-panel {
18
18
  box-shadow: 0 0 0 3px rgba(101, 133, 255, 0.5);
19
19
  // transform: scale(1.1) translate3d( $tick-width , 0, 0 );
20
20
  }
21
21
  }
22
22
  &[disabled] {
23
- ~ .spark-switch-panel {
23
+ ~ .spark-input-switch-panel {
24
24
  box-shadow: none;
25
25
  }
26
26
  }
27
27
  }
28
28
 
29
- input:checked + .spark-switch-panel .spark-switch-tick {
29
+ input:checked + .spark-input-switch-panel .spark-input-switch-tick {
30
30
  transform: translate3d( $tick-width + 2 , 0, 0 );
31
31
  }
32
32
  }
33
33
 
34
- .spark-switch {
34
+ .spark-input-switch {
35
35
 
36
36
  .label-text {
37
37
  margin-right: $pad-base;
38
38
  padding-bottom: 0;
39
39
  line-height: 1.5em;
40
40
  }
41
-
41
+
42
42
  &-label {
43
43
  display: flex;
44
44
  position: relative;
@@ -54,7 +54,7 @@
54
54
  }
55
55
  }
56
56
 
57
- &-panel {
57
+ &-panel {
58
58
  background: $fl-gray-300;
59
59
  position: relative;
60
60
  transition-property: background, box-shadow, border-color;
@@ -72,7 +72,7 @@
72
72
  font-weight: 500;
73
73
  }
74
74
 
75
- &-input {
75
+ .spark-input {
76
76
  position: absolute;
77
77
  border: none;
78
78
  cursor: pointer;
@@ -80,37 +80,37 @@
80
80
  z-index: -1;
81
81
 
82
82
  &[disabled] {
83
- ~ .spark-switch-panel {
83
+ ~ .spark-input-switch-panel {
84
84
  background: rgba($fl-gray-300, 0.5);
85
85
  }
86
86
  }
87
87
  }
88
88
 
89
- &-input:checked {
90
- ~ .spark-switch-panel {
89
+ .spark-input:checked {
90
+ ~ .spark-input-switch-panel {
91
91
  background: $fl-green-600;
92
92
  }
93
93
 
94
94
  &[disabled] {
95
- ~ .spark-switch-panel {
95
+ ~ .spark-input-switch-panel {
96
96
  background: rgba($fl-green-600, 0.5);
97
97
  }
98
98
  }
99
99
  }
100
-
101
- &.small {
100
+
101
+ &.size-small {
102
102
  @include spark-switch-size(30px, 16px);
103
103
  }
104
- &.medium {
104
+ &.size-medium {
105
105
  @include spark-switch-size(46px, 24px);
106
106
  }
107
-
107
+
108
108
  &.expanded {
109
109
  .label-text { margin-right: auto; }
110
110
  }
111
111
 
112
- &-align-right {
113
- .spark-switch-label {
112
+ .align-right {
113
+ .spark-input-switch-label {
114
114
  flex-direction: row-reverse;
115
115
  }
116
116
  .label-text {
@@ -0,0 +1,44 @@
1
+ .spark-layout-block {
2
+ display: flex;
3
+ align-items: center;
4
+ width: 100%;
5
+
6
+ @each $label, $size in $gutter-sizes {
7
+ &.gutter-#{$label} .spark-layout-block-item {
8
+ margin: 0 $size;
9
+ }
10
+ &.action-gutter-#{$label} .spark-layout-block-action {
11
+ margin: 0 $size;
12
+ }
13
+ }
14
+
15
+ &-items, &-actions {
16
+ display: flex;
17
+ align-items: center;
18
+ }
19
+
20
+ &-items {
21
+ flex-grow: 1;
22
+ .spark-layout-block-item:first-child {
23
+ margin-left: 0;
24
+ }
25
+ }
26
+
27
+ &-actions {
28
+ margin-left: auto;
29
+ .spark-layout-block-action:last-child {
30
+ margin-right: 0;
31
+ }
32
+ }
33
+
34
+ &-item, &-action {
35
+ &.expand { flex-grow: 1; }
36
+ }
37
+
38
+ @include until($width-sm) {
39
+ .block-spacer { margin: 0; }
40
+ }
41
+
42
+ // TODO: Design size classes
43
+ .block-spacer.size-base { width: $pad-base; }
44
+ }
@@ -1,5 +1,4 @@
1
1
  $grid-columns: 12;
2
- $gutter-sizes : ['base', $pad-base], ['small', $pad-sm], ['medium', $pad-md], ['large', $pad-lg], ['xl', $pad-xl];
3
2
 
4
3
  @mixin horizontal-gutter($amount) {
5
4
  // Pulls left and right to line up flush with other elements
@@ -59,53 +58,51 @@ $gutter-sizes : ['base', $pad-base], ['small', $pad-sm], ['medium', $pad-md], ['
59
58
  // display: flex;
60
59
  }
61
60
 
62
- &-no-wrap {
61
+ &.no-wrap {
63
62
  .spark-grid-columns{
64
63
  flex-wrap: nowrap;
65
64
  }
66
65
  }
67
66
 
68
- &-reverse {
67
+ &.reverse {
69
68
  .spark-grid-columns{
70
69
  flex-direction: row-reverse;
71
70
  }
72
71
  }
73
- }
74
72
 
75
- @for $a from 1 through $grid-columns {
76
- [data-span="#{$a}"] {
77
- flex: none;
78
- flex-basis: calc-flex-basis(($grid-columns / $a), 0);
79
- }
80
- [data-offset="#{$a}"] {
81
- margin-left: calc-flex-basis(($grid-columns / $a), 0);
73
+ @for $a from 1 through $grid-columns {
74
+ [data-span="#{$a}"] {
75
+ flex: none;
76
+ flex-basis: calc-flex-basis(($grid-columns / $a), 0);
77
+ }
78
+ [data-offset="#{$a}"] {
79
+ margin-left: calc-flex-basis(($grid-columns / $a), 0);
80
+ }
82
81
  }
83
- }
82
+
83
+ @each $label, $size in $gutter-sizes {
84
84
 
85
- @each $label, $size in $gutter-sizes {
85
+ &.gutter-#{$label} > .spark-grid-columns {
86
86
 
87
- .spark-grid-gutter-#{$label} .spark-grid-columns {
87
+ @include horizontal-gutter($size);
88
88
 
89
- .spark-grid-column {
90
- min-width: calc-flex-basis(($grid-columns / 1), $size);
91
- }
92
-
93
- @include horizontal-gutter($size);
89
+ & > .spark-grid-column {
90
+ min-width: calc-flex-basis(($grid-columns / 1), $size);
94
91
 
95
- @for $a from 1 through $grid-columns {
92
+ @for $a from 1 through $grid-columns {
96
93
 
97
- [data-span="#{$a}"] {
98
- flex: none;
99
- flex-basis: calc-flex-basis(($grid-columns / $a), $size);
100
- }
101
- [data-offset="#{$a}"] {
102
- margin-left: calc-offset(($grid-columns / $a), $size);
94
+ &[data-span="#{$a}"] {
95
+ flex: none;
96
+ flex-basis: calc-flex-basis(($grid-columns / $a), $size);
97
+ }
98
+ &[data-offset="#{$a}"] {
99
+ margin-left: calc-offset(($grid-columns / $a), $size);
100
+ }
101
+ }
103
102
  }
104
103
  }
105
- }
106
104
 
107
- .spark-grid-gutter-#{$label}-match {
108
- .spark-grid-columns {
105
+ &.gutter-#{$label}-match > .spark-grid-columns {
109
106
  @include vertical-gutter($size);
110
107
  }
111
108
  }
@@ -0,0 +1,76 @@
1
+ @mixin media-block-gutter($gutter: 0) {
2
+ .spark-media-block-image {
3
+ margin: 0 $gutter 0 0;
4
+ }
5
+
6
+ &.layout-reverse {
7
+ > .spark-media-block-image {
8
+ margin: 0 0 0 $gutter;
9
+ }
10
+ }
11
+ }
12
+
13
+ .spark-media-block {
14
+ @include media-block-gutter;
15
+ display: flex;
16
+ align-items: flex-start;
17
+ min-width: 0;
18
+
19
+ @each $label, $size in $gutter-sizes {
20
+ &.gutter-#{$label} {
21
+ @include media-block-gutter($size);
22
+ }
23
+ }
24
+
25
+ &.layout-reverse {
26
+ > .spark-media-block-image {
27
+ order: 1;
28
+ }
29
+ }
30
+
31
+ &.expand { flex: 1; }
32
+
33
+ &-content {
34
+ flex: 1;
35
+ min-width: 0;
36
+
37
+ &,
38
+ & :last-child {
39
+ margin-bottom: 0;
40
+ }
41
+ }
42
+
43
+ &-title {
44
+ font-weight: 700;
45
+ margin-bottom: $pad-xs;
46
+
47
+ &.no-wrap {
48
+ display: flex;
49
+
50
+ &, > * {
51
+ white-space: nowrap;
52
+ overflow: hidden;
53
+ min-width: 0;
54
+ text-overflow: ellipsis;
55
+ }
56
+ }
57
+ }
58
+
59
+ &.align-top {
60
+ .spark-media-block-image {
61
+ align-self: flex-start;
62
+ }
63
+ }
64
+
65
+ &.align-middle {
66
+ .spark-media-block-image {
67
+ align-self: center;
68
+ }
69
+ }
70
+
71
+ &.align-bottom {
72
+ .spark-media-block-image {
73
+ align-self: flex-end;
74
+ }
75
+ }
76
+ }