bs5 0.0.21 → 0.0.26

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/bs5_manifest.js +1 -0
  3. data/app/assets/javascripts/bs5/application.js +13 -0
  4. data/app/components/bs5/alert_component.html.erb +1 -1
  5. data/app/components/bs5/alert_component.rb +1 -0
  6. data/app/components/bs5/button_tag_component.rb +10 -1
  7. data/app/components/bs5/close_button_component.rb +14 -6
  8. data/app/components/bs5/dropdown/item_component.html.erb +1 -0
  9. data/app/components/bs5/dropdown/item_component.rb +39 -0
  10. data/app/components/bs5/dropdown_component.html.erb +22 -0
  11. data/app/components/bs5/dropdown_component.rb +154 -0
  12. data/app/components/bs5/example_component.html.erb +2 -1
  13. data/app/components/bs5/toast/body_component.html.erb +3 -0
  14. data/app/components/bs5/toast/body_component.rb +8 -0
  15. data/app/components/bs5/toast/header_component.html.erb +4 -0
  16. data/app/components/bs5/toast/header_component.rb +9 -0
  17. data/app/components/bs5/toast_component.html.erb +8 -0
  18. data/app/components/bs5/toast_component.rb +72 -0
  19. data/app/components/bs5/toast_container_component.html.erb +3 -0
  20. data/app/components/bs5/toast_container_component.rb +19 -0
  21. data/app/helpers/bs5/components_helper.rb +2 -2
  22. data/app/views/bs5/examples/alert/color/snippet.html.erb +8 -24
  23. data/app/views/bs5/examples/alert/default/snippet.html.erb +1 -3
  24. data/app/views/bs5/examples/dropdowns/dark/_example.html.erb +2 -0
  25. data/app/views/bs5/examples/dropdowns/dark/snippet.html.erb +7 -0
  26. data/app/views/bs5/examples/dropdowns/directions/_example.html.erb +7 -0
  27. data/app/views/bs5/examples/dropdowns/directions/snippet1.html.erb +17 -0
  28. data/app/views/bs5/examples/dropdowns/directions/snippet2.html.erb +17 -0
  29. data/app/views/bs5/examples/dropdowns/directions/snippet3.html.erb +17 -0
  30. data/app/views/bs5/examples/dropdowns/menu_alignment/_example.html.erb +5 -0
  31. data/app/views/bs5/examples/dropdowns/menu_alignment/snippet1.html.erb +5 -0
  32. data/app/views/bs5/examples/dropdowns/menu_alignment/snippet2.html.erb +7 -0
  33. data/app/views/bs5/examples/dropdowns/menu_alignment/snippet3.html.erb +7 -0
  34. data/app/views/bs5/examples/dropdowns/menu_content/_example.html.erb +9 -0
  35. data/app/views/bs5/examples/dropdowns/menu_content/snippet1.html.erb +5 -0
  36. data/app/views/bs5/examples/dropdowns/menu_content/snippet2.html.erb +7 -0
  37. data/app/views/bs5/examples/dropdowns/menu_content/snippet3.html.erb +10 -0
  38. data/app/views/bs5/examples/dropdowns/menu_content/snippet4.html.erb +24 -0
  39. data/app/views/bs5/examples/dropdowns/menu_items/_example.html.erb +7 -0
  40. data/app/views/bs5/examples/dropdowns/menu_items/snippet1.html.erb +5 -0
  41. data/app/views/bs5/examples/dropdowns/menu_items/snippet2.html.erb +6 -0
  42. data/app/views/bs5/examples/dropdowns/menu_items/snippet3.html.erb +5 -0
  43. data/app/views/bs5/examples/dropdowns/menu_items/snippet4.html.erb +5 -0
  44. data/app/views/bs5/examples/dropdowns/single/_example.html.erb +4 -0
  45. data/app/views/bs5/examples/dropdowns/single/snippet1.html.erb +5 -0
  46. data/app/views/bs5/examples/dropdowns/single/snippet2.html.erb +47 -0
  47. data/app/views/bs5/examples/dropdowns/single/snippet3.html.erb +47 -0
  48. data/app/views/bs5/examples/dropdowns/sizing/_example.html.erb +3 -0
  49. data/app/views/bs5/examples/dropdowns/sizing/snippet1.html.erb +17 -0
  50. data/app/views/bs5/examples/dropdowns/sizing/snippet2.html.erb +17 -0
  51. data/app/views/bs5/examples/dropdowns/split/_example.html.erb +3 -0
  52. data/app/views/bs5/examples/dropdowns/split/snippet1.html.erb +35 -0
  53. data/app/views/bs5/examples/dropdowns/split/snippet2.html.erb +47 -0
  54. data/app/views/bs5/examples/list_group/active/snippet.html.erb +5 -5
  55. data/app/views/bs5/examples/list_group/default/snippet.html.erb +5 -5
  56. data/app/views/bs5/examples/list_group/disabled/snippet.html.erb +5 -5
  57. data/app/views/bs5/examples/list_group/flush/snippet.html.erb +5 -5
  58. data/app/views/bs5/examples/list_group/horizontal/snippet.html.erb +18 -18
  59. data/app/views/bs5/examples/list_group/style/default.html.erb +8 -8
  60. data/app/views/bs5/examples/toasts/color_schemes/_example.html.erb +2 -0
  61. data/app/views/bs5/examples/toasts/color_schemes/snippet.html.erb +33 -0
  62. data/app/views/bs5/examples/toasts/custom_content/_example.html.erb +3 -0
  63. data/app/views/bs5/examples/toasts/custom_content/snippet1.html.erb +3 -0
  64. data/app/views/bs5/examples/toasts/custom_content/snippet2.html.erb +9 -0
  65. data/app/views/bs5/examples/toasts/default/_example.html.erb +2 -0
  66. data/app/views/bs5/examples/toasts/default/snippet.html.erb +17 -0
  67. data/app/views/bs5/examples/toasts/js_options/_example.html.erb +2 -0
  68. data/app/views/bs5/examples/toasts/js_options/snippet.html.erb +23 -0
  69. data/app/views/bs5/examples/toasts/placement/_example.html.erb +3 -0
  70. data/app/views/bs5/examples/toasts/placement/snippet1.html.erb +44 -0
  71. data/app/views/bs5/examples/toasts/placement/snippet2.html.erb +24 -0
  72. data/app/views/bs5/examples/toasts/stacking/_example.html.erb +2 -0
  73. data/app/views/bs5/examples/toasts/stacking/snippet.html.erb +37 -0
  74. data/app/views/bs5/pages/dropdowns.html.erb +10 -0
  75. data/app/views/bs5/pages/toasts.html.erb +7 -0
  76. data/app/views/layouts/bs5/pages.html.erb +3 -0
  77. data/lib/bs5/engine.rb +6 -0
  78. data/lib/bs5/version.rb +1 -1
  79. data/lib/generators/bs5/install/templates/bs5.js +24 -13
  80. data/lib/tasks/rubocop.rake +1 -1
  81. metadata +61 -16
@@ -0,0 +1,7 @@
1
+ <h1>Toasts</h1>
2
+ <%= render 'bs5/examples/toasts/default/example' %>
3
+ <%= render 'bs5/examples/toasts/stacking/example' %>
4
+ <%= render 'bs5/examples/toasts/custom_content/example' %>
5
+ <%= render 'bs5/examples/toasts/color_schemes/example' %>
6
+ <%= render 'bs5/examples/toasts/placement/example' %>
7
+ <%= render 'bs5/examples/toasts/js_options/example' %>
@@ -4,6 +4,7 @@
4
4
  <title>Bs5</title>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
7
+ <%= javascript_include_tag 'bs5/application', 'data-turbolinks-track': 'reload' %>
7
8
  <%= stylesheet_pack_tag 'styles', media: 'all', 'data-turbolinks-track': 'reload' %>
8
9
  <style><%= Rouge::Themes::Github.render(scope: '.highlight') %></style>
9
10
  </head>
@@ -21,9 +22,11 @@
21
22
  <% lg.item(active: current_page?(pages_path('button_group'))) do %><%= link_to 'Button group', pages_path('button_group') %><% end %>
22
23
  <% lg.item(active: current_page?(pages_path('close_button'))) do %><%= link_to 'Close button', pages_path('close_button') %><% end %>
23
24
  <% lg.item(active: current_page?(pages_path('collapse'))) do %><%= link_to 'Collapse', pages_path('collapse') %><% end %>
25
+ <% lg.item(active: current_page?(pages_path('dropdowns'))) do %><%= link_to 'Dropdowns', pages_path('dropdowns') %><% end %>
24
26
  <% lg.item(active: current_page?(pages_path('list_group'))) do %><%= link_to 'List group', pages_path('list_group') %><% end %>
25
27
  <% lg.item(active: current_page?(pages_path('popovers'))) do %><%= link_to 'Popovers', pages_path('popovers') %><% end %>
26
28
  <% lg.item(active: current_page?(pages_path('spinners'))) do %><%= link_to 'Spinners', pages_path('spinners') %><% end %>
29
+ <% lg.item(active: current_page?(pages_path('toasts'))) do %><%= link_to 'Toasts', pages_path('toasts') %><% end %>
27
30
  <% lg.item(active: current_page?(pages_path('tooltips'))) do %><%= link_to 'Tooltips', pages_path('tooltips') %><% end %>
28
31
  <%- end %>
29
32
  </div>
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'view_component/engine'
4
+ require 'sprockets/railtie'
4
5
  module Bs5
5
6
  class Engine < ::Rails::Engine
6
7
  isolate_namespace Bs5
@@ -9,5 +10,10 @@ module Bs5
9
10
  config.before_configuration do |app|
10
11
  app.config.view_component.preview_paths << "#{Bs5::Engine.root}/spec/components/previews"
11
12
  end
13
+
14
+ initializer 'bs5.assets.precompile' do |app|
15
+ app.config.assets.paths << Rails.root.join('app/assets/javascripts')
16
+ app.config.assets.precompile << 'bs5/application.js'
17
+ end
12
18
  end
13
19
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bs5
4
- VERSION = '0.0.21'
4
+ VERSION = '0.0.26'
5
5
  end
@@ -1,24 +1,35 @@
1
1
  import * as bootstrap from "bootstrap";
2
2
 
3
- function tooltipify() {
4
- const tooltipTriggerList = [].slice.call(
5
- document.querySelectorAll('[data-bs-toggle="tooltip"]')
6
- );
7
- tooltipTriggerList.map(function (tooltipTriggerEl) {
8
- return new bootstrap.Tooltip(tooltipTriggerEl);
9
- });
3
+ function popoverify() {
4
+ document
5
+ .querySelectorAll('[data-bs-toggle="popover"]')
6
+ .forEach(function (popoverTriggerEl) {
7
+ new bootstrap.Popover(popoverTriggerEl);
8
+ });
10
9
  }
11
10
 
12
- function popoverify() {
13
- const popoverTriggerList = [].slice.call(
14
- document.querySelectorAll('[data-bs-toggle="popover"]')
15
- );
16
- popoverTriggerList.map(function (popoverTriggerEl) {
17
- return new bootstrap.Popover(popoverTriggerEl);
11
+ function toastify() {
12
+ document.querySelectorAll(".toast").forEach(function (toastNode) {
13
+ let autohide = new RegExp("true", "i").test(
14
+ toastNode.dataset["bsAutohide"] || "false"
15
+ );
16
+ let toast = new bootstrap.Toast(toastNode, {
17
+ autohide,
18
+ });
19
+ toast.show();
18
20
  });
19
21
  }
20
22
 
23
+ function tooltipify() {
24
+ document
25
+ .querySelectorAll('[data-bs-toggle="tooltip"]')
26
+ .forEach(function (tooltipTriggerEl) {
27
+ new bootstrap.Tooltip(tooltipTriggerEl);
28
+ });
29
+ }
30
+
21
31
  export function start() {
22
32
  popoverify();
33
+ toastify();
23
34
  tooltipify();
24
35
  }
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- return unless RuboCop
3
+ return unless defined?(RuboCop)
4
4
 
5
5
  require 'rubocop/rake_task'
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bs5
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.21
4
+ version: 0.0.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Baselier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-12 00:00:00.000000000 Z
11
+ date: 2020-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -100,20 +100,6 @@ dependencies:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: 4.0.1
103
- - !ruby/object:Gem::Dependency
104
- name: rubocop-rails
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: '2.8'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: '2.8'
117
103
  - !ruby/object:Gem::Dependency
118
104
  name: sqlite3
119
105
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +125,7 @@ files:
139
125
  - README.md
140
126
  - Rakefile
141
127
  - app/assets/config/bs5_manifest.js
128
+ - app/assets/javascripts/bs5/application.js
142
129
  - app/assets/stylesheets/bs5/application.css
143
130
  - app/components/bs5/accordion_component.html.erb
144
131
  - app/components/bs5/accordion_component.rb
@@ -156,12 +143,24 @@ files:
156
143
  - app/components/bs5/button_toolbar_component.rb
157
144
  - app/components/bs5/close_button_component.html.erb
158
145
  - app/components/bs5/close_button_component.rb
146
+ - app/components/bs5/dropdown/item_component.html.erb
147
+ - app/components/bs5/dropdown/item_component.rb
148
+ - app/components/bs5/dropdown_component.html.erb
149
+ - app/components/bs5/dropdown_component.rb
159
150
  - app/components/bs5/example_component.html.erb
160
151
  - app/components/bs5/example_component.rb
161
152
  - app/components/bs5/list_group_component.html.erb
162
153
  - app/components/bs5/list_group_component.rb
163
154
  - app/components/bs5/spinner_component.html.erb
164
155
  - app/components/bs5/spinner_component.rb
156
+ - app/components/bs5/toast/body_component.html.erb
157
+ - app/components/bs5/toast/body_component.rb
158
+ - app/components/bs5/toast/header_component.html.erb
159
+ - app/components/bs5/toast/header_component.rb
160
+ - app/components/bs5/toast_component.html.erb
161
+ - app/components/bs5/toast_component.rb
162
+ - app/components/bs5/toast_container_component.html.erb
163
+ - app/components/bs5/toast_container_component.rb
165
164
  - app/controllers/bs5/application_controller.rb
166
165
  - app/controllers/bs5/pages_controller.rb
167
166
  - app/helpers/bs5/application_helper.rb
@@ -229,6 +228,36 @@ files:
229
228
  - app/views/bs5/examples/collapse/default/_example.html.erb
230
229
  - app/views/bs5/examples/collapse/default/multiple_targets.html.erb
231
230
  - app/views/bs5/examples/collapse/default/snippet.html.erb
231
+ - app/views/bs5/examples/dropdowns/dark/_example.html.erb
232
+ - app/views/bs5/examples/dropdowns/dark/snippet.html.erb
233
+ - app/views/bs5/examples/dropdowns/directions/_example.html.erb
234
+ - app/views/bs5/examples/dropdowns/directions/snippet1.html.erb
235
+ - app/views/bs5/examples/dropdowns/directions/snippet2.html.erb
236
+ - app/views/bs5/examples/dropdowns/directions/snippet3.html.erb
237
+ - app/views/bs5/examples/dropdowns/menu_alignment/_example.html.erb
238
+ - app/views/bs5/examples/dropdowns/menu_alignment/snippet1.html.erb
239
+ - app/views/bs5/examples/dropdowns/menu_alignment/snippet2.html.erb
240
+ - app/views/bs5/examples/dropdowns/menu_alignment/snippet3.html.erb
241
+ - app/views/bs5/examples/dropdowns/menu_content/_example.html.erb
242
+ - app/views/bs5/examples/dropdowns/menu_content/snippet1.html.erb
243
+ - app/views/bs5/examples/dropdowns/menu_content/snippet2.html.erb
244
+ - app/views/bs5/examples/dropdowns/menu_content/snippet3.html.erb
245
+ - app/views/bs5/examples/dropdowns/menu_content/snippet4.html.erb
246
+ - app/views/bs5/examples/dropdowns/menu_items/_example.html.erb
247
+ - app/views/bs5/examples/dropdowns/menu_items/snippet1.html.erb
248
+ - app/views/bs5/examples/dropdowns/menu_items/snippet2.html.erb
249
+ - app/views/bs5/examples/dropdowns/menu_items/snippet3.html.erb
250
+ - app/views/bs5/examples/dropdowns/menu_items/snippet4.html.erb
251
+ - app/views/bs5/examples/dropdowns/single/_example.html.erb
252
+ - app/views/bs5/examples/dropdowns/single/snippet1.html.erb
253
+ - app/views/bs5/examples/dropdowns/single/snippet2.html.erb
254
+ - app/views/bs5/examples/dropdowns/single/snippet3.html.erb
255
+ - app/views/bs5/examples/dropdowns/sizing/_example.html.erb
256
+ - app/views/bs5/examples/dropdowns/sizing/snippet1.html.erb
257
+ - app/views/bs5/examples/dropdowns/sizing/snippet2.html.erb
258
+ - app/views/bs5/examples/dropdowns/split/_example.html.erb
259
+ - app/views/bs5/examples/dropdowns/split/snippet1.html.erb
260
+ - app/views/bs5/examples/dropdowns/split/snippet2.html.erb
232
261
  - app/views/bs5/examples/list_group/actionable/_example.html.erb
233
262
  - app/views/bs5/examples/list_group/actionable/button.html.erb
234
263
  - app/views/bs5/examples/list_group/actionable/snippet.html.erb
@@ -278,6 +307,20 @@ files:
278
307
  - app/views/bs5/examples/spinners/size/_example.html.erb
279
308
  - app/views/bs5/examples/spinners/size/size1.html.erb
280
309
  - app/views/bs5/examples/spinners/size/size2.html.erb
310
+ - app/views/bs5/examples/toasts/color_schemes/_example.html.erb
311
+ - app/views/bs5/examples/toasts/color_schemes/snippet.html.erb
312
+ - app/views/bs5/examples/toasts/custom_content/_example.html.erb
313
+ - app/views/bs5/examples/toasts/custom_content/snippet1.html.erb
314
+ - app/views/bs5/examples/toasts/custom_content/snippet2.html.erb
315
+ - app/views/bs5/examples/toasts/default/_example.html.erb
316
+ - app/views/bs5/examples/toasts/default/snippet.html.erb
317
+ - app/views/bs5/examples/toasts/js_options/_example.html.erb
318
+ - app/views/bs5/examples/toasts/js_options/snippet.html.erb
319
+ - app/views/bs5/examples/toasts/placement/_example.html.erb
320
+ - app/views/bs5/examples/toasts/placement/snippet1.html.erb
321
+ - app/views/bs5/examples/toasts/placement/snippet2.html.erb
322
+ - app/views/bs5/examples/toasts/stacking/_example.html.erb
323
+ - app/views/bs5/examples/toasts/stacking/snippet.html.erb
281
324
  - app/views/bs5/examples/tooltips/default/_example.html.erb
282
325
  - app/views/bs5/examples/tooltips/default/buttons.html.erb
283
326
  - app/views/bs5/examples/tooltips/default/disabled_elements.html.erb
@@ -290,9 +333,11 @@ files:
290
333
  - app/views/bs5/pages/buttons.html.erb
291
334
  - app/views/bs5/pages/close_button.html.erb
292
335
  - app/views/bs5/pages/collapse.html.erb
336
+ - app/views/bs5/pages/dropdowns.html.erb
293
337
  - app/views/bs5/pages/list_group.html.erb
294
338
  - app/views/bs5/pages/popovers.html.erb
295
339
  - app/views/bs5/pages/spinners.html.erb
340
+ - app/views/bs5/pages/toasts.html.erb
296
341
  - app/views/bs5/pages/tooltips.html.erb
297
342
  - app/views/layouts/bs5/application.html.erb
298
343
  - app/views/layouts/bs5/pages.html.erb