bootstrap-email 1.5.2 → 1.6.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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/core/bootstrap-email.scss +22 -24
  4. data/core/bootstrap-head.scss +37 -36
  5. data/core/scss/_helper.scss +2 -0
  6. data/core/scss/{_reboot_email.scss → _reboot-email.scss} +10 -9
  7. data/core/scss/{_reboot_head.scss → _reboot-head.scss} +3 -2
  8. data/core/scss/_variable.scss +7 -0
  9. data/core/scss/components/_alert.scss +10 -7
  10. data/core/scss/components/_badge.scss +18 -15
  11. data/core/scss/components/_button.scss +25 -22
  12. data/core/scss/components/_card.scss +7 -5
  13. data/core/scss/components/_container.scss +4 -2
  14. data/core/scss/components/_grid.scss +4 -2
  15. data/core/scss/components/_hr.scss +3 -1
  16. data/core/scss/components/_stack.scss +5 -3
  17. data/core/scss/components/_table.scss +20 -17
  18. data/core/scss/helpers/_functions.scss +17 -8
  19. data/core/scss/helpers/_selectors_for_utils.scss +38 -13
  20. data/core/scss/utilities/_background.scss +5 -2
  21. data/core/scss/utilities/_border-radius.scss +9 -6
  22. data/core/scss/utilities/_border.scss +11 -8
  23. data/core/scss/utilities/_color.scss +7 -4
  24. data/core/scss/utilities/_display.scss +5 -2
  25. data/core/scss/utilities/_sizing.scss +16 -13
  26. data/core/scss/utilities/_spacing.scss +10 -7
  27. data/core/scss/utilities/_typography.scss +16 -13
  28. data/core/scss/utilities/_valign.scss +5 -2
  29. data/core/scss/variables/_body.scss +4 -2
  30. data/core/scss/variables/_borders.scss +3 -1
  31. data/core/scss/variables/_buttons.scss +16 -10
  32. data/core/scss/variables/_colors.scss +92 -90
  33. data/core/scss/variables/_tables.scss +4 -2
  34. data/core/scss/variables/_typography.scss +3 -1
  35. data/core/scss/variables/_utilities.scss +19 -17
  36. data/lib/bootstrap-email/converters/spacer.rb +2 -0
  37. data/lib/bootstrap-email/erb.rb +1 -1
  38. metadata +5 -20
  39. data/core/scss/_helpers.scss +0 -3
  40. data/core/scss/_variables.scss +0 -7
  41. data/core/scss/helpers/_mixins.scss +0 -21
@@ -1,3 +1,5 @@
1
+ @use "sass:map";
2
+ @use "../helper";
1
3
  // Color system
2
4
  $white: #ffffff !default;
3
5
  $gray-100: #f7fafc !default;
@@ -57,105 +59,105 @@ $palette-colors: (
57
59
  "gray-800": $gray-800,
58
60
  "gray-900": $gray-900,
59
61
 
60
- "blue-100": tint-color($blue, 80%),
61
- "blue-200": tint-color($blue, 60%),
62
- "blue-300": tint-color($blue, 40%),
63
- "blue-400": tint-color($blue, 20%),
62
+ "blue-100": helper.tint-color($blue, 80%),
63
+ "blue-200": helper.tint-color($blue, 60%),
64
+ "blue-300": helper.tint-color($blue, 40%),
65
+ "blue-400": helper.tint-color($blue, 20%),
64
66
  "blue-500": $blue,
65
- "blue-600": shade-color($blue, 20%),
66
- "blue-700": shade-color($blue, 40%),
67
- "blue-800": shade-color($blue, 60%),
68
- "blue-900": shade-color($blue, 80%),
69
-
70
- "indigo-100": tint-color($indigo, 80%),
71
- "indigo-200": tint-color($indigo, 60%),
72
- "indigo-300": tint-color($indigo, 40%),
73
- "indigo-400": tint-color($indigo, 20%),
67
+ "blue-600": helper.shade-color($blue, 20%),
68
+ "blue-700": helper.shade-color($blue, 40%),
69
+ "blue-800": helper.shade-color($blue, 60%),
70
+ "blue-900": helper.shade-color($blue, 80%),
71
+
72
+ "indigo-100": helper.tint-color($indigo, 80%),
73
+ "indigo-200": helper.tint-color($indigo, 60%),
74
+ "indigo-300": helper.tint-color($indigo, 40%),
75
+ "indigo-400": helper.tint-color($indigo, 20%),
74
76
  "indigo-500": $indigo,
75
- "indigo-600": shade-color($indigo, 20%),
76
- "indigo-700": shade-color($indigo, 40%),
77
- "indigo-800": shade-color($indigo, 60%),
78
- "indigo-900": shade-color($indigo, 80%),
79
-
80
- "purple-100": tint-color($purple, 80%),
81
- "purple-200": tint-color($purple, 60%),
82
- "purple-300": tint-color($purple, 40%),
83
- "purple-400": tint-color($purple, 20%),
77
+ "indigo-600": helper.shade-color($indigo, 20%),
78
+ "indigo-700": helper.shade-color($indigo, 40%),
79
+ "indigo-800": helper.shade-color($indigo, 60%),
80
+ "indigo-900": helper.shade-color($indigo, 80%),
81
+
82
+ "purple-100": helper.tint-color($purple, 80%),
83
+ "purple-200": helper.tint-color($purple, 60%),
84
+ "purple-300": helper.tint-color($purple, 40%),
85
+ "purple-400": helper.tint-color($purple, 20%),
84
86
  "purple-500": $purple,
85
- "purple-600": shade-color($purple, 20%),
86
- "purple-700": shade-color($purple, 40%),
87
- "purple-800": shade-color($purple, 60%),
88
- "purple-900": shade-color($purple, 80%),
89
-
90
- "pink-100": tint-color($pink, 80%),
91
- "pink-200": tint-color($pink, 60%),
92
- "pink-300": tint-color($pink, 40%),
93
- "pink-400": tint-color($pink, 20%),
87
+ "purple-600": helper.shade-color($purple, 20%),
88
+ "purple-700": helper.shade-color($purple, 40%),
89
+ "purple-800": helper.shade-color($purple, 60%),
90
+ "purple-900": helper.shade-color($purple, 80%),
91
+
92
+ "pink-100": helper.tint-color($pink, 80%),
93
+ "pink-200": helper.tint-color($pink, 60%),
94
+ "pink-300": helper.tint-color($pink, 40%),
95
+ "pink-400": helper.tint-color($pink, 20%),
94
96
  "pink-500": $pink,
95
- "pink-600": shade-color($pink, 20%),
96
- "pink-700": shade-color($pink, 40%),
97
- "pink-800": shade-color($pink, 60%),
98
- "pink-900": shade-color($pink, 80%),
99
-
100
- "red-100": tint-color($red, 80%),
101
- "red-200": tint-color($red, 60%),
102
- "red-300": tint-color($red, 40%),
103
- "red-400": tint-color($red, 20%),
97
+ "pink-600": helper.shade-color($pink, 20%),
98
+ "pink-700": helper.shade-color($pink, 40%),
99
+ "pink-800": helper.shade-color($pink, 60%),
100
+ "pink-900": helper.shade-color($pink, 80%),
101
+
102
+ "red-100": helper.tint-color($red, 80%),
103
+ "red-200": helper.tint-color($red, 60%),
104
+ "red-300": helper.tint-color($red, 40%),
105
+ "red-400": helper.tint-color($red, 20%),
104
106
  "red-500": $red,
105
- "red-600": shade-color($red, 20%),
106
- "red-700": shade-color($red, 40%),
107
- "red-800": shade-color($red, 60%),
108
- "red-900": shade-color($red, 80%),
109
-
110
- "orange-100": tint-color($orange, 80%),
111
- "orange-200": tint-color($orange, 60%),
112
- "orange-300": tint-color($orange, 40%),
113
- "orange-400": tint-color($orange, 20%),
107
+ "red-600": helper.shade-color($red, 20%),
108
+ "red-700": helper.shade-color($red, 40%),
109
+ "red-800": helper.shade-color($red, 60%),
110
+ "red-900": helper.shade-color($red, 80%),
111
+
112
+ "orange-100": helper.tint-color($orange, 80%),
113
+ "orange-200": helper.tint-color($orange, 60%),
114
+ "orange-300": helper.tint-color($orange, 40%),
115
+ "orange-400": helper.tint-color($orange, 20%),
114
116
  "orange-500": $orange,
115
- "orange-600": shade-color($orange, 20%),
116
- "orange-700": shade-color($orange, 40%),
117
- "orange-800": shade-color($orange, 60%),
118
- "orange-900": shade-color($orange, 80%),
119
-
120
- "yellow-100": tint-color($yellow, 80%),
121
- "yellow-200": tint-color($yellow, 60%),
122
- "yellow-300": tint-color($yellow, 40%),
123
- "yellow-400": tint-color($yellow, 20%),
117
+ "orange-600": helper.shade-color($orange, 20%),
118
+ "orange-700": helper.shade-color($orange, 40%),
119
+ "orange-800": helper.shade-color($orange, 60%),
120
+ "orange-900": helper.shade-color($orange, 80%),
121
+
122
+ "yellow-100": helper.tint-color($yellow, 80%),
123
+ "yellow-200": helper.tint-color($yellow, 60%),
124
+ "yellow-300": helper.tint-color($yellow, 40%),
125
+ "yellow-400": helper.tint-color($yellow, 20%),
124
126
  "yellow-500": $yellow,
125
- "yellow-600": shade-color($yellow, 20%),
126
- "yellow-700": shade-color($yellow, 40%),
127
- "yellow-800": shade-color($yellow, 60%),
128
- "yellow-900": shade-color($yellow, 80%),
129
-
130
- "green-100": tint-color($green, 80%),
131
- "green-200": tint-color($green, 60%),
132
- "green-300": tint-color($green, 40%),
133
- "green-400": tint-color($green, 20%),
127
+ "yellow-600": helper.shade-color($yellow, 20%),
128
+ "yellow-700": helper.shade-color($yellow, 40%),
129
+ "yellow-800": helper.shade-color($yellow, 60%),
130
+ "yellow-900": helper.shade-color($yellow, 80%),
131
+
132
+ "green-100": helper.tint-color($green, 80%),
133
+ "green-200": helper.tint-color($green, 60%),
134
+ "green-300": helper.tint-color($green, 40%),
135
+ "green-400": helper.tint-color($green, 20%),
134
136
  "green-500": $green,
135
- "green-600": shade-color($green, 20%),
136
- "green-700": shade-color($green, 40%),
137
- "green-800": shade-color($green, 60%),
138
- "green-900": shade-color($green, 80%),
139
-
140
- "teal-100": tint-color($teal, 80%),
141
- "teal-200": tint-color($teal, 60%),
142
- "teal-300": tint-color($teal, 40%),
143
- "teal-400": tint-color($teal, 20%),
137
+ "green-600": helper.shade-color($green, 20%),
138
+ "green-700": helper.shade-color($green, 40%),
139
+ "green-800": helper.shade-color($green, 60%),
140
+ "green-900": helper.shade-color($green, 80%),
141
+
142
+ "teal-100": helper.tint-color($teal, 80%),
143
+ "teal-200": helper.tint-color($teal, 60%),
144
+ "teal-300": helper.tint-color($teal, 40%),
145
+ "teal-400": helper.tint-color($teal, 20%),
144
146
  "teal-500": $teal,
145
- "teal-600": shade-color($teal, 20%),
146
- "teal-700": shade-color($teal, 40%),
147
- "teal-800": shade-color($teal, 60%),
148
- "teal-900": shade-color($teal, 80%),
149
-
150
- "cyan-100": tint-color($cyan, 80%),
151
- "cyan-200": tint-color($cyan, 60%),
152
- "cyan-300": tint-color($cyan, 40%),
153
- "cyan-400": tint-color($cyan, 20%),
147
+ "teal-600": helper.shade-color($teal, 20%),
148
+ "teal-700": helper.shade-color($teal, 40%),
149
+ "teal-800": helper.shade-color($teal, 60%),
150
+ "teal-900": helper.shade-color($teal, 80%),
151
+
152
+ "cyan-100": helper.tint-color($cyan, 80%),
153
+ "cyan-200": helper.tint-color($cyan, 60%),
154
+ "cyan-300": helper.tint-color($cyan, 40%),
155
+ "cyan-400": helper.tint-color($cyan, 20%),
154
156
  "cyan-500": $cyan,
155
- "cyan-600": shade-color($cyan, 20%),
156
- "cyan-700": shade-color($cyan, 40%),
157
- "cyan-800": shade-color($cyan, 60%),
158
- "cyan-900": shade-color($cyan, 80%),
157
+ "cyan-600": helper.shade-color($cyan, 20%),
158
+ "cyan-700": helper.shade-color($cyan, 40%),
159
+ "cyan-800": helper.shade-color($cyan, 60%),
160
+ "cyan-900": helper.shade-color($cyan, 80%),
159
161
  ) !default;
160
162
 
161
- $all-colors: map-merge($theme-colors, $palette-colors);
163
+ $all-colors: map.merge($theme-colors, $palette-colors);
@@ -1,4 +1,6 @@
1
+ @use "borders";
2
+
1
3
  $table-accent-bg: #f2f2f2 !default;
2
4
  $table-background-color: null !default;
3
- $table-border-color: $border-color !default;
4
- $table-border-width: $border-width !default;
5
+ $table-border-color: borders.$border-color !default;
6
+ $table-border-width: borders.$border-width !default;
@@ -1,3 +1,5 @@
1
+ @use "colors";
2
+
1
3
  $font-size-base: 16px !default;
2
4
  $font-weight-base: normal !default;
3
5
  $line-height-base: 1.5 !default;
@@ -7,7 +9,7 @@ $headings-margin-bottom: 0 !default;
7
9
  $headings-font-family: null !default;
8
10
  $headings-font-weight: 500 !default;
9
11
  $headings-color: null !default;
10
- $link-color: $primary !default;
12
+ $link-color: colors.$primary !default;
11
13
 
12
14
  /*
13
15
  **** Override the following variables to customize font or add web font ie: Google Fonts ****
@@ -1,26 +1,28 @@
1
+ @use "typography";
2
+
1
3
  $breakpoints: ('', 'lg-');
2
4
 
3
5
  $headings: (
4
- 1: 2.25 * $font-size-base,
5
- 2: 2 * $font-size-base,
6
- 3: 1.75 * $font-size-base,
7
- 4: 1.5 * $font-size-base,
8
- 5: 1.25 * $font-size-base,
9
- 6: 1 * $font-size-base
6
+ 1: 2.25 * typography.$font-size-base,
7
+ 2: 2 * typography.$font-size-base,
8
+ 3: 1.75 * typography.$font-size-base,
9
+ 4: 1.5 * typography.$font-size-base,
10
+ 5: 1.25 * typography.$font-size-base,
11
+ 6: 1 * typography.$font-size-base
10
12
  ) !default;
11
13
 
12
14
  $font-size: (
13
- 'xs': 0.75 * $font-size-base,
14
- 'sm': 0.875 * $font-size-base,
15
- 'base': 1 * $font-size-base,
16
- 'lg': 1.125 * $font-size-base,
17
- 'xl': 1.25 * $font-size-base,
18
- '2xl': 1.5 * $font-size-base,
19
- '3xl': 1.875 * $font-size-base,
20
- '4xl': 2.25 * $font-size-base,
21
- '5xl': 3 * $font-size-base,
22
- '6xl': 4 * $font-size-base,
23
- '7xl': 5 * $font-size-base
15
+ 'xs': 0.75 * typography.$font-size-base,
16
+ 'sm': 0.875 * typography.$font-size-base,
17
+ 'base': 1 * typography.$font-size-base,
18
+ 'lg': 1.125 * typography.$font-size-base,
19
+ 'xl': 1.25 * typography.$font-size-base,
20
+ '2xl': 1.5 * typography.$font-size-base,
21
+ '3xl': 1.875 * typography.$font-size-base,
22
+ '4xl': 2.25 * typography.$font-size-base,
23
+ '5xl': 3 * typography.$font-size-base,
24
+ '6xl': 4 * typography.$font-size-base,
25
+ '7xl': 5 * typography.$font-size-base
24
26
  ) !default;
25
27
 
26
28
  $line-height: (
@@ -5,6 +5,8 @@ module BootstrapEmail
5
5
  class Spacer < Base
6
6
  def build
7
7
  each_node('*[class*=s-]') do |node|
8
+ next unless node['class'].split.any? { |cls| cls.match?(/^s(-lg)?-\d+$/) }
9
+
8
10
  node.replace(template('table', classes: "#{node['class']} w-full", contents: '&nbsp;'))
9
11
  end
10
12
  end
@@ -3,7 +3,7 @@
3
3
  module BootstrapEmail
4
4
  class Erb
5
5
  def self.template(path, locals_hash = {})
6
- namespace = OpenStruct.new(locals_hash)
6
+ namespace = Struct.new(*locals_hash.keys, keyword_init: true).new(**locals_hash)
7
7
  template_html = File.read(path)
8
8
  ERB.new(template_html).result(namespace.instance_eval { binding })
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap-email
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Yamartino
@@ -65,20 +65,6 @@ dependencies:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
67
  version: '1.53'
68
- - !ruby/object:Gem::Dependency
69
- name: ostruct
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '0.6'
75
- type: :runtime
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '0.6'
82
68
  email: stu@stuyam.com
83
69
  executables:
84
70
  - bootstrap-email
@@ -90,10 +76,10 @@ files:
90
76
  - core/bootstrap-email.scss
91
77
  - core/bootstrap-head.scss
92
78
  - core/layout.html.erb
93
- - core/scss/_helpers.scss
94
- - core/scss/_reboot_email.scss
95
- - core/scss/_reboot_head.scss
96
- - core/scss/_variables.scss
79
+ - core/scss/_helper.scss
80
+ - core/scss/_reboot-email.scss
81
+ - core/scss/_reboot-head.scss
82
+ - core/scss/_variable.scss
97
83
  - core/scss/components/_alert.scss
98
84
  - core/scss/components/_badge.scss
99
85
  - core/scss/components/_button.scss
@@ -106,7 +92,6 @@ files:
106
92
  - core/scss/components/_stack.scss
107
93
  - core/scss/components/_table.scss
108
94
  - core/scss/helpers/_functions.scss
109
- - core/scss/helpers/_mixins.scss
110
95
  - core/scss/helpers/_selectors_for_utils.scss
111
96
  - core/scss/utilities/_background.scss
112
97
  - core/scss/utilities/_border-radius.scss
@@ -1,3 +0,0 @@
1
- @import 'helpers/functions';
2
- @import 'helpers/mixins';
3
- @import 'helpers/selectors_for_utils';
@@ -1,7 +0,0 @@
1
- @import 'variables/colors';
2
- @import 'variables/body';
3
- @import 'variables/typography';
4
- @import 'variables/borders';
5
- @import 'variables/tables';
6
- @import 'variables/buttons';
7
- @import 'variables/utilities';
@@ -1,21 +0,0 @@
1
- @mixin padding-group($prefix, $size, $value) {
2
- @include padding-util('.p-#{$prefix}#{$size}') {
3
- padding: $value;
4
- }
5
-
6
- @include padding-util('.pt-#{$prefix}#{$size}, .py-#{$prefix}#{$size}') {
7
- padding-top: $value;
8
- }
9
-
10
- @include padding-util('.pr-#{$prefix}#{$size}, .px-#{$prefix}#{$size}') {
11
- padding-right: $value;
12
- }
13
-
14
- @include padding-util('.pb-#{$prefix}#{$size}, .py-#{$prefix}#{$size}') {
15
- padding-bottom: $value;
16
- }
17
-
18
- @include padding-util('.pl-#{$prefix}#{$size}, .px-#{$prefix}#{$size}') {
19
- padding-left: $value;
20
- }
21
- }