coveragebook_components 0.9.0 → 0.10.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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/build/coco/app.css +128 -106
  3. data/app/assets/build/coco/app.js +18 -12
  4. data/app/assets/build/coco/book.css +1 -8
  5. data/app/assets/build/coco/book.js +1 -1
  6. data/app/assets/css/base/base.css +1 -0
  7. data/app/assets/css/base/components/coco.css +0 -9
  8. data/app/assets/css/base/utils/text.css +79 -0
  9. data/app/components/coco/app/elements/alert/alert.css +14 -46
  10. data/app/components/coco/app/elements/alert/alert.html.erb +2 -2
  11. data/app/components/coco/app/elements/alert/alert.rb +11 -16
  12. data/app/components/coco/app/elements/button_group/button_group.css +6 -3
  13. data/app/components/coco/app/elements/button_group/button_group.js +8 -6
  14. data/app/components/coco/app/elements/stamp/stamp.css +103 -0
  15. data/app/components/coco/app/elements/stamp/stamp.html.erb +3 -0
  16. data/app/components/coco/app/elements/stamp/stamp.rb +29 -0
  17. data/app/components/coco/app/layouts/application/application.css +1 -1
  18. data/app/components/coco/app/layouts/page/page.css +4 -0
  19. data/app/components/coco/app/layouts/page/page.html.erb +5 -0
  20. data/app/components/coco/app/layouts/page/page.rb +4 -0
  21. data/app/components/coco/base/modal/modal.html.erb +2 -2
  22. data/app/components/coco/base/modal/modal.js +1 -1
  23. data/app/components/coco/base/modal/modal.rb +6 -4
  24. data/app/components/coco/base/placeholder/placeholder.html.erb +1 -1
  25. data/app/components/coco/base/placeholder/placeholder.rb +6 -0
  26. data/app/helpers/coco/app_helper.rb +17 -0
  27. data/app/helpers/coco/base_helper.rb +2 -2
  28. data/config/tailwind.app.config.cjs +1 -1
  29. data/config/tailwind.book.config.cjs +1 -0
  30. data/config/tokens.cjs +9 -4
  31. data/lib/coco/engine.rb +4 -2
  32. data/lib/coco.rb +1 -1
  33. metadata +6 -4
  34. data/app/components/coco/app/blocks/slat/slat.css +0 -9
  35. data/app/components/coco/app/blocks/slat/slat.rb +0 -13
@@ -5,14 +5,14 @@
5
5
  .alert-container {
6
6
  @apply flex items-start px-4 py-2 relative;
7
7
  }
8
-
8
+ /*
9
9
  .alert-icon {
10
10
  @apply flex items-center p-2 rounded-full;
11
11
 
12
12
  .coco-icon {
13
13
  @apply w-5 h-5;
14
14
  }
15
- }
15
+ } */
16
16
 
17
17
  .alert-body {
18
18
  @apply pl-4 pr-2;
@@ -58,6 +58,14 @@
58
58
  .alert-body {
59
59
  @apply @[1000px]:w-auto;
60
60
  }
61
+
62
+ .alert-stamp .coco-icon {
63
+ @apply text-content-light-1;
64
+ }
65
+
66
+ &[data-theme="warning-vivid"] .alert-stamp .coco-icon {
67
+ @apply text-content-dark-1;
68
+ }
61
69
  }
62
70
 
63
71
  /* Dismissable */
@@ -80,10 +88,6 @@
80
88
  @apply py-1.5;
81
89
  }
82
90
 
83
- .alert-icon {
84
- @apply p-0 !bg-transparent;
85
- }
86
-
87
91
  .alert-body {
88
92
  @apply pl-3;
89
93
  }
@@ -122,10 +126,6 @@
122
126
  @apply text-content-light-1;
123
127
  }
124
128
 
125
- .alert-icon {
126
- @apply text-content-light-1;
127
- }
128
-
129
129
  .coco_link:not([data-theme]) {
130
130
  @apply app-link-neutral-light;
131
131
  }
@@ -133,26 +133,14 @@
133
133
 
134
134
  &[data-theme="positive"] {
135
135
  @apply bg-background-positive-light border-positive-300 hover:border-positive-400;
136
-
137
- .alert-icon {
138
- @apply text-content-positive bg-positive-200;
139
- }
140
136
  }
141
137
 
142
138
  &[data-theme="positive-vivid"] {
143
139
  @apply bg-background-positive;
144
-
145
- .alert-icon {
146
- @apply bg-positive-700;
147
- }
148
140
  }
149
141
 
150
142
  &[data-theme="warning"] {
151
143
  @apply bg-background-warning-light border-warning-300 hover:border-warning-400;
152
-
153
- .alert-icon {
154
- @apply text-content-warning bg-warning-100;
155
- }
156
144
  }
157
145
 
158
146
  &[data-theme="warning-vivid"] {
@@ -162,10 +150,6 @@
162
150
  @apply text-content-dark-1;
163
151
  }
164
152
 
165
- .alert-icon {
166
- @apply bg-warning-600;
167
- }
168
-
169
153
  .coco-link:not([data-theme]) {
170
154
  @apply app-link-neutral-dark;
171
155
  }
@@ -173,34 +157,18 @@
173
157
 
174
158
  &[data-theme="negative"] {
175
159
  @apply bg-background-negative-light border-negative-300 hover:border-negative-400;
176
-
177
- .alert-icon {
178
- @apply text-content-negative bg-negative-200;
179
- }
180
160
  }
181
161
 
182
162
  &[data-theme="negative-vivid"] {
183
163
  @apply bg-background-negative;
184
-
185
- .alert-icon {
186
- @apply bg-negative-700;
187
- }
188
164
  }
189
165
 
190
166
  &[data-theme="info"] {
191
167
  @apply bg-background-info-light border-info-300 hover:border-info-400;
192
-
193
- .alert-icon {
194
- @apply text-content-info bg-info-200;
195
- }
196
168
  }
197
169
 
198
170
  &[data-theme="info-vivid"] {
199
171
  @apply bg-background-info;
200
-
201
- .alert-icon {
202
- @apply bg-info-700;
203
- }
204
172
  }
205
173
  }
206
174
  }
@@ -224,7 +192,7 @@
224
192
  @apply py-3;
225
193
  }
226
194
 
227
- .coco-icon {
195
+ .coco-stamp {
228
196
  @apply mt-1.5;
229
197
  }
230
198
 
@@ -249,7 +217,7 @@
249
217
  @apply items-center;
250
218
  }
251
219
 
252
- .alert-icon {
220
+ .alert-stamp {
253
221
  @apply self-center;
254
222
  }
255
223
 
@@ -267,7 +235,7 @@
267
235
  @apply items-center py-2.5;
268
236
  }
269
237
 
270
- .alert-icon {
238
+ .alert-stamp {
271
239
  @apply self-center;
272
240
  }
273
241
 
@@ -292,7 +260,7 @@
292
260
  @apply py-2;
293
261
  }
294
262
 
295
- .coco-icon {
263
+ .coco-stamp {
296
264
  @apply mt-0;
297
265
  }
298
266
 
@@ -9,8 +9,8 @@
9
9
  "vivid": vivid?
10
10
  }) do %>
11
11
  <div class="alert-container">
12
- <div class="alert-icon" data-role="icon">
13
- <%= icon %>
12
+ <div class="alert-stamp" data-role="icon">
13
+ <%= stamp %>
14
14
  </div>
15
15
 
16
16
  <div class="alert-body">
@@ -2,22 +2,11 @@ module Coco
2
2
  module App
3
3
  module Elements
4
4
  class Alert < Coco::Component
5
- include Concerns::WithIcon
5
+ include Concerns::AcceptsOptions
6
6
  include Concerns::AcceptsTheme
7
7
 
8
8
  THEMES = %W[positive warning negative info positive-vivid warning-vivid negative-vivid info-vivid]
9
9
 
10
- THEME_ICONS = {
11
- positive: :check_circle,
12
- positive_vivid: :check_circle,
13
- warning: :alert_triangle,
14
- warning_vivid: :alert_triangle,
15
- negative: :alert_circle,
16
- negative_vivid: :alert_circle,
17
- info: :info,
18
- info_vivid: :info
19
- }.freeze
20
-
21
10
  accepts_option :dismissable, from: [true, false], default: false
22
11
  accepts_option :dismiss_after_action, from: [true, false], default: true
23
12
  accepts_option :banner, from: [true, false], default: false
@@ -45,13 +34,9 @@ module Coco
45
34
  end
46
35
 
47
36
  before_render do
48
- theme = get_option_value(:theme)
49
-
50
37
  unless tag_attr?(:id)
51
38
  set_tag_attr(:id, "alert-#{rand(1000)}")
52
39
  end
53
-
54
- icon(name: THEME_ICONS[theme.tr("-", "_").to_sym])
55
40
  end
56
41
 
57
42
  def dismissable?
@@ -78,6 +63,16 @@ module Coco
78
63
  def button_size
79
64
  get_option_value(:condensed) ? :xs : :sm
80
65
  end
66
+
67
+ def stamp
68
+ type = unvividify(get_option_value(:theme))&.to_sym
69
+ style = if get_option_value(:banner)
70
+ :compact
71
+ else
72
+ vivid? ? :inverse : :subtle
73
+ end
74
+ coco_stamp(type, style:)
75
+ end
81
76
  end
82
77
  end
83
78
  end
@@ -2,10 +2,13 @@
2
2
  [data-coco][data-component="app-button-group"] {
3
3
  width: fit-content;
4
4
  border-radius: 44px;
5
- @apply opacity-0;
6
5
 
7
- &.button-group-ready {
8
- @apply opacity-100;
6
+ &[data-collapsible="true"] {
7
+ @apply opacity-0;
8
+
9
+ &.button-group-ready {
10
+ @apply opacity-100;
11
+ }
9
12
  }
10
13
 
11
14
  .button-group-buttons {
@@ -29,13 +29,15 @@ export default CocoComponent("appButtonGroup", () => {
29
29
  },
30
30
 
31
31
  init() {
32
- this.$nextTick(() => {
33
- if (!this.collapsible) return;
32
+ if (this.collapsible) {
33
+ this.$nextTick(() => {
34
+ this.onResize();
35
+ this.createSingletonTooltip();
36
+ this.ready = true;
37
+ });
38
+ } else {
34
39
  this.ready = true;
35
-
36
- this.onResize();
37
- this.createSingletonTooltip();
38
- });
40
+ }
39
41
 
40
42
  this.$watch("collapsed", (value) => {
41
43
  this.buttons.forEach((button) => {
@@ -0,0 +1,103 @@
1
+ @layer components {
2
+ [data-coco][data-component="app-stamp"] {
3
+ &:not([data-style="compact"]) {
4
+ @apply rounded-full relative;
5
+
6
+ .coco-icon {
7
+ @apply absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2;
8
+ }
9
+
10
+ /* Sizes */
11
+
12
+ &[data-size="xs"] {
13
+ @apply w-6 h-6;
14
+ }
15
+
16
+ &[data-size="sm"] {
17
+ @apply w-7 h-7;
18
+ }
19
+
20
+ &[data-size="md"] {
21
+ @apply w-9 h-9;
22
+ }
23
+
24
+ &[data-size="lg"] {
25
+ @apply w-11 h-11;
26
+ }
27
+ }
28
+
29
+ /* Themes */
30
+
31
+ &[data-theme="positive"] {
32
+ &[data-style="subtle"] {
33
+ @apply bg-green-200 text-content-positive;
34
+ }
35
+
36
+ &[data-style="vivid"] {
37
+ @apply bg-background-positive text-content-light-1;
38
+ }
39
+
40
+ &[data-style="inverse"] {
41
+ @apply bg-green-700 text-content-light-1;
42
+ }
43
+
44
+ &[data-style="compact"] {
45
+ @apply text-content-positive;
46
+ }
47
+ }
48
+
49
+ &[data-theme="negative"] {
50
+ &[data-style="subtle"] {
51
+ @apply bg-red-200 text-content-negative;
52
+ }
53
+
54
+ &[data-style="vivid"] {
55
+ @apply bg-background-negative text-content-light-1;
56
+ }
57
+
58
+ &[data-style="inverse"] {
59
+ @apply bg-red-700 text-content-light-1;
60
+ }
61
+
62
+ &[data-style="compact"] {
63
+ @apply text-content-negative;
64
+ }
65
+ }
66
+
67
+ &[data-theme="warning"] {
68
+ &[data-style="subtle"] {
69
+ @apply bg-amber-100 text-content-warning;
70
+ }
71
+
72
+ &[data-style="vivid"] {
73
+ @apply bg-background-warning text-content-light-1;
74
+ }
75
+
76
+ &[data-style="inverse"] {
77
+ @apply bg-amber-600 text-content-light-1;
78
+ }
79
+
80
+ &[data-style="compact"] {
81
+ @apply text-content-warning;
82
+ }
83
+ }
84
+
85
+ &[data-theme="info"] {
86
+ &[data-style="subtle"] {
87
+ @apply bg-blue-200 text-content-info;
88
+ }
89
+
90
+ &[data-style="vivid"] {
91
+ @apply bg-background-info text-content-light-1;
92
+ }
93
+
94
+ &[data-style="inverse"] {
95
+ @apply bg-blue-700 text-content-light-1;
96
+ }
97
+
98
+ &[data-style="compact"] {
99
+ @apply text-content-info;
100
+ }
101
+ }
102
+ }
103
+ }
@@ -0,0 +1,3 @@
1
+ <%= render component_tag do %>
2
+ <%= coco_icon(icon_name, size: get_option_value(:size)) %>
3
+ <% end %>
@@ -0,0 +1,29 @@
1
+ module Coco
2
+ module App
3
+ module Elements
4
+ class Stamp < Coco::Component
5
+ include Concerns::AcceptsOptions
6
+ include Concerns::AcceptsTheme
7
+
8
+ THEMES = [
9
+ "positive",
10
+ "negative",
11
+ "warning",
12
+ "info"
13
+ ]
14
+
15
+ DEFAULT_THEME = "info"
16
+
17
+ accepts_option :size, from: %i[xs sm md lg], default: :md
18
+ accepts_option :style, from: %i[subtle vivid inverse compact], default: :subtle
19
+ accepts_option :theme, from: THEMES, default: DEFAULT_THEME
20
+
21
+ attr_reader :icon_name
22
+
23
+ def initialize(icon:, **kwargs)
24
+ @icon_name = icon
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -52,7 +52,7 @@
52
52
  }
53
53
 
54
54
  .layout-body {
55
- @apply relative z-0 h-full overflow-y-auto scroll-smooth;
55
+ @apply relative z-0 h-full overflow-y-auto scroll-smooth bg-background-light-2;
56
56
  grid-area: body;
57
57
  }
58
58
 
@@ -4,6 +4,10 @@
4
4
  @apply pt-12 pb-12 px-app w-full;
5
5
  }
6
6
 
7
+ .page-sections {
8
+ @apply space-y-12;
9
+ }
10
+
7
11
  .page-controls {
8
12
  @apply fixed top-1/2 -translate-y-1/2 right-0 flex justify-between;
9
13
 
@@ -6,6 +6,11 @@
6
6
  <% end %>
7
7
  <div class="page-body" data-role="page-body">
8
8
  <div class="page-body-content">
9
+ <% if sections? %>
10
+ <div class="page-sections">
11
+ <%= safe_join(sections) %>
12
+ </div>
13
+ <% end %>
9
14
  <%= content %>
10
15
  </div>
11
16
  </div>
@@ -11,6 +11,10 @@ module Coco
11
11
  renders_one :header
12
12
  renders_many :hidden_sections
13
13
 
14
+ renders_many :sections, ->(**kwargs, &block) do
15
+ coco_tag(:section, **kwargs, &block)
16
+ end
17
+
14
18
  renders_one :previous_link, ->(**kwargs) do
15
19
  Coco::PagerLink.new(**kwargs, direction: :previous, class: "page-control-previous")
16
20
  end
@@ -24,11 +24,11 @@
24
24
  <% else %>
25
25
  <div data-role="inline-modal-content">
26
26
  <% if container_type == :dialog %>
27
- <%= render Coco::ModalDialog.new(title: title.to_s, dismissable: false) do %>
27
+ <%= render Coco::ModalDialog.new(id: @container_id, title: title.to_s, dismissable: false) do %>
28
28
  <%= content %>
29
29
  <% end %>
30
30
  <% else %>
31
- <%= coco_panel do %>
31
+ <%= coco_panel(id: @container_id) do %>
32
32
  <%= content %>
33
33
  <% end %>
34
34
  <% end %>
@@ -40,7 +40,7 @@ export default CocoComponent("modal", () => {
40
40
  },
41
41
 
42
42
  visit(url) {
43
- navigateTo(url, { frame: this.frame.id });
43
+ navigateTo(url, { frame: this.frame.id, turbo: true });
44
44
  },
45
45
 
46
46
  scrollTo(pos) {
@@ -9,15 +9,17 @@ module Coco
9
9
  renders_one :title
10
10
 
11
11
  renders_one :container, types: {
12
- dialog: ->(**kwargs, &block) do
12
+ dialog: ->(id: nil, **kwargs, &block) do
13
13
  @container_content = block
14
+ @container_id = id
14
15
  @container_type = :dialog
15
- Coco::ModalDialog.new(dismissable: get_option_value(:dismissable), **kwargs)
16
+ Coco::ModalDialog.new(dismissable: get_option_value(:dismissable), id:, **kwargs)
16
17
  end,
17
18
 
18
- lightbox: ->(**kwargs, &block) do
19
+ lightbox: ->(id: nil, **kwargs, &block) do
19
20
  @container_type = :lightbox
20
- Coco::ModalLightbox.new(dismissable: get_option_value(:dismissable), **kwargs)
21
+ @container_id = id
22
+ Coco::ModalLightbox.new(dismissable: get_option_value(:dismissable), id:, **kwargs)
21
23
  end
22
24
  }
23
25
 
@@ -1,7 +1,7 @@
1
1
  <%= render component_tag do %>
2
2
  <div class="placeholder-inner">
3
3
  <div class="placeholder-content">
4
- <%= content %>
4
+ <%= text_content || content %>
5
5
  </div>
6
6
  </div>
7
7
  <% end %>
@@ -5,5 +5,11 @@ module Coco
5
5
  accepts_option :size, from: [:auto, :full], default: :auto
6
6
  accepts_option :prose, from: [true, false], default: false
7
7
  accepts_option :boxed, from: [true, false], default: true
8
+
9
+ attr_reader :text_content
10
+
11
+ def initialize(text_content: nil, **)
12
+ @text_content = text_content
13
+ end
8
14
  end
9
15
  end
@@ -68,6 +68,23 @@ module Coco
68
68
  render Coco::App::Elements::SeamlessTextarea.new(**), &block
69
69
  end
70
70
 
71
+ def coco_stamp(type = nil, **)
72
+ props = case type
73
+ when :success, :positive
74
+ {icon: :check_circle, theme: :positive}
75
+ when :error, :negative
76
+ {icon: :alert_circle, theme: :negative}
77
+ when :warning
78
+ {icon: :alert_triangle, theme: :warning}
79
+ when :info
80
+ {icon: :info, theme: :info}
81
+ else
82
+ {}
83
+ end
84
+
85
+ render Coco::App::Elements::Stamp.new(**props, **)
86
+ end
87
+
71
88
  def coco_snackbar(**, &block)
72
89
  render Coco::App::Elements::Snackbar.new(**), &block
73
90
  end
@@ -29,8 +29,8 @@ module Coco
29
29
  end
30
30
  end
31
31
 
32
- def coco_placeholder(*, **, &block)
33
- render Coco::Placeholder.new(*, **), &block
32
+ def coco_placeholder(text_content = nil, **, &block)
33
+ render Coco::Placeholder.new(text_content:, **), &block
34
34
  end
35
35
 
36
36
  def coco_modal(name = "default", **, &block)
@@ -12,7 +12,7 @@ module.exports = merge(baseConfig, {
12
12
  fontFamily: {
13
13
  display: [fontFamily.displaySans, ...defaultTheme.fontFamily.sans],
14
14
  body: [fontFamily.bodySans, ...defaultTheme.fontFamily.sans],
15
- serif: [fontFamily.displaySerif, ...defaultTheme.fontFamily.serif],
15
+ branded: [fontFamily.displaySerif, ...defaultTheme.fontFamily.serif],
16
16
  },
17
17
  extend: {
18
18
  fontSize,
@@ -12,6 +12,7 @@ module.exports = merge(baseConfig, {
12
12
  fontFamily: {
13
13
  display: [fontFamily.displaySans, ...defaultTheme.fontFamily.sans],
14
14
  body: [fontFamily.bodySans, ...defaultTheme.fontFamily.sans],
15
+ branded: [fontFamily.displaySerif, ...defaultTheme.fontFamily.serif],
15
16
  },
16
17
  extend: {
17
18
  fontSize,
data/config/tokens.cjs CHANGED
@@ -199,11 +199,16 @@ const fontSize = {
199
199
  "display-3": ["64px", "68px"],
200
200
  "display-4": ["48px", "52px"],
201
201
 
202
- "heading-1": ["48px", "50px"],
203
- "heading-2": ["36px", "40px"],
204
- "heading-3": ["30px", "36px"],
202
+ "relaxed-display-1": ["96px", "104px"],
203
+ "relaxed-display-2": ["80px", "88px"],
204
+ "relaxed-display-3": ["64px", "72px"],
205
+ "relaxed-display-4": ["48px", "56px"],
206
+
207
+ "heading-1": ["40px", "48px"],
208
+ "heading-2": ["32px", "40px"],
209
+ "heading-3": ["28px", "36px"],
205
210
  "heading-4": ["24px", "30px"],
206
- "heading-5": ["20px", "25px"],
211
+ "heading-5": ["20px", "24px"],
207
212
  "heading-6": ["16px", "20px"],
208
213
 
209
214
  "subheading-1": ["32px", "40px"],
data/lib/coco/engine.rb CHANGED
@@ -30,8 +30,10 @@ module Coco
30
30
  end
31
31
  end
32
32
 
33
- Rails.application.config.to_prepare do
34
- Rails.autoloaders.main.eager_load_dir(coco_dir)
33
+ if Rails.env.production?
34
+ Rails.application.config.to_prepare do
35
+ Rails.autoloaders.main.eager_load_dir(coco_dir)
36
+ end
35
37
  end
36
38
  end
37
39
 
data/lib/coco.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Coco
2
- VERSION = "0.9.0"
2
+ VERSION = "0.10.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coveragebook_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Perkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-22 00:00:00.000000000 Z
11
+ date: 2023-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -1423,6 +1423,7 @@ files:
1423
1423
  - app/assets/css/base/components/tooltip.css
1424
1424
  - app/assets/css/base/utils/colors.css
1425
1425
  - app/assets/css/base/utils/icons.css
1426
+ - app/assets/css/base/utils/text.css
1426
1427
  - app/assets/css/book.css
1427
1428
  - app/assets/css/book/config.css
1428
1429
  - app/assets/css/libs/tippy.css
@@ -1492,8 +1493,6 @@ files:
1492
1493
  - app/components/coco/app/blocks/sidebar_nav/navbar/navbar.html.erb
1493
1494
  - app/components/coco/app/blocks/sidebar_nav/navbar/navbar.js
1494
1495
  - app/components/coco/app/blocks/sidebar_nav/navbar/navbar.rb
1495
- - app/components/coco/app/blocks/slat/slat.css
1496
- - app/components/coco/app/blocks/slat/slat.rb
1497
1496
  - app/components/coco/app/blocks/slide_editor/slide_editor.css
1498
1497
  - app/components/coco/app/blocks/slide_editor/slide_editor.html.erb
1499
1498
  - app/components/coco/app/blocks/slide_editor/slide_editor.js
@@ -1559,6 +1558,9 @@ files:
1559
1558
  - app/components/coco/app/elements/snackbar/snackbar.html.erb
1560
1559
  - app/components/coco/app/elements/snackbar/snackbar.js
1561
1560
  - app/components/coco/app/elements/snackbar/snackbar.rb
1561
+ - app/components/coco/app/elements/stamp/stamp.css
1562
+ - app/components/coco/app/elements/stamp/stamp.html.erb
1563
+ - app/components/coco/app/elements/stamp/stamp.rb
1562
1564
  - app/components/coco/app/elements/system_banner/system_banner.css
1563
1565
  - app/components/coco/app/elements/system_banner/system_banner.html.erb
1564
1566
  - app/components/coco/app/elements/system_banner/system_banner.js
@@ -1,9 +0,0 @@
1
- @layer components {
2
- [data-coco][data-component="app-slat"] {
3
- @apply px-app;
4
-
5
- &[data-padded="false"] {
6
- @apply px-0;
7
- }
8
- }
9
- }