ui_bibz 3.0.0.alpha6 → 3.0.0.alpha12

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/Gemfile.lock +17 -14
  4. data/README.md +5 -1
  5. data/lib/ui_bibz/concerns/models/searchable.rb +1 -1
  6. data/lib/ui_bibz/infos.rb +4 -4
  7. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +1 -1
  8. data/lib/ui_bibz/ui/concerns/html_concern.rb +10 -4
  9. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +5 -1
  10. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +2 -11
  11. data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +1 -2
  12. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +0 -1
  13. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +3 -1
  14. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +2 -0
  15. data/lib/ui_bibz/ui/core/forms/numbers/slider_header.rb +2 -2
  16. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +35 -5
  17. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +1 -9
  18. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +1 -9
  19. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +5 -4
  20. data/lib/ui_bibz/ui/core/icons/glyph.rb +9 -1
  21. data/lib/ui_bibz/ui/core/lists/list_group.rb +1 -1
  22. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +1 -1
  23. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +1 -1
  24. data/lib/ui_bibz/ui/core/navigations/nav.rb +3 -3
  25. data/lib/ui_bibz/ui/core/navigations/navbar.rb +6 -4
  26. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +5 -1
  27. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +15 -1
  28. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +9 -24
  29. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +1 -1
  30. data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +1 -1
  31. data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +3 -3
  32. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +4 -4
  33. data/test/simple_form_test.rb +4 -4
  34. data/test/ui/core/boxes/card_test.rb +2 -2
  35. data/test/ui/core/component_test.rb +2 -2
  36. data/test/ui/core/forms/buttons/button_group_test.rb +1 -1
  37. data/test/ui/core/forms/buttons/button_link_test.rb +1 -8
  38. data/test/ui/core/forms/buttons/button_refresh_test.rb +1 -1
  39. data/test/ui/core/forms/buttons/button_test.rb +2 -9
  40. data/test/ui/core/forms/choices/choice_group_test.rb +3 -3
  41. data/test/ui/core/forms/dropdowns/dropdown_test.rb +1 -1
  42. data/test/ui/core/forms/selects/multi_select_field_test.rb +3 -3
  43. data/test/ui/core/forms/selects/select_field_test.rb +1 -1
  44. data/test/ui/core/forms/surrounds/surround_field_test.rb +4 -4
  45. data/test/ui/core/forms/texts/auto_complete_field_test.rb +2 -2
  46. data/test/ui/core/lists/list_group_test.rb +1 -1
  47. data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
  48. data/test/ui/core/navigations/link_test.rb +1 -1
  49. data/test/ui/core/navigations/nav_test.rb +2 -2
  50. data/test/ui/core/navigations/tab_group_test.rb +5 -5
  51. data/test/ui/core/notifications/alert_test.rb +1 -1
  52. data/test/ui/core/notifications/badge_test.rb +2 -2
  53. data/test/ui/ux/containers/panel_test.rb +1 -1
  54. data/test/ui/ux/tables/table_test.rb +2 -2
  55. data/ui_bibz.gemspec +2 -1
  56. metadata +20 -6
@@ -61,7 +61,7 @@ module UiBibz::Ui::Core::Icons
61
61
 
62
62
  # Render html tag
63
63
  def pre_render
64
- [content_tag(:i, '', html_options), options[:label]].compact.join(' ').html_safe
64
+ [content_tag(:i, '', html_options), label].compact.join(' ').html_safe
65
65
  end
66
66
 
67
67
  private
@@ -138,5 +138,13 @@ module UiBibz::Ui::Core::Icons
138
138
  def match_style
139
139
  { solid: 'fas', regular: 'far', light: 'fal', brands: 'fab' }
140
140
  end
141
+
142
+ def label
143
+ if options[:text] == false
144
+ content_tag :span, options[:label], class: 'visually-hidden'
145
+ else
146
+ options[:label]
147
+ end
148
+ end
141
149
  end
142
150
  end
@@ -90,7 +90,7 @@ module UiBibz::Ui::Core::Lists
90
90
  options = options.merge({ tag_type: @options[:tag_type] }) unless @options[:tag_type].nil?
91
91
 
92
92
  @lists << if tapped?(block)
93
- content = (content || {}).merge(tap: true)
93
+ content = (content || {}).merge(options)
94
94
  UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options).tap(&block).render
95
95
  else
96
96
  UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options, &block).render
@@ -60,7 +60,7 @@ module UiBibz::Ui::Core::Navigations
60
60
  end
61
61
 
62
62
  def link_html
63
- content_tag :a, button_content, class: join_classes(size, state, 'dropdown-toggle', 'nav-link'), 'data-toggle' => 'dropdown', 'aria-expanded' => false
63
+ content_tag :a, button_content, class: join_classes(size, state, 'dropdown-toggle', 'nav-link'), href: '#', 'data-toggle' => 'dropdown', 'aria-expanded' => false
64
64
  end
65
65
  end
66
66
  end
@@ -45,7 +45,7 @@ module UiBibz::Ui::Core::Navigations
45
45
  when 'nav-tabs'
46
46
  html_tag_base
47
47
  when 'list-group'
48
- html_tag_base.merge("aria-controls": sanitize_text(content))
48
+ html_tag_base.merge("aria-controls": sanitize_text(content).parameterize)
49
49
  else
50
50
  {}
51
51
  end.merge(options[:a_html] || {})
@@ -82,7 +82,7 @@ module UiBibz::Ui::Core::Navigations
82
82
  # Add nav link items
83
83
  # See UiBibz::Ui::Core::Navigations::NavLink
84
84
  def link(content = nil, options = {}, html_options = nil, &block)
85
- if block_given?
85
+ if block
86
86
  content[:nav_type] = type
87
87
  content[:nav_tags] = nav_tags
88
88
  else
@@ -93,7 +93,7 @@ module UiBibz::Ui::Core::Navigations
93
93
  end
94
94
 
95
95
  def text(content = nil, options = {}, html_options = nil, &block)
96
- block_given? ? content[:nav_type] = type : options[:nav_type] = type
96
+ block ? content[:nav_type] = type : options[:nav_type] = type
97
97
  @items << NavText.new(content, options, html_options, &block)
98
98
  end
99
99
 
@@ -120,7 +120,7 @@ module UiBibz::Ui::Core::Navigations
120
120
  end
121
121
 
122
122
  def component_html_options
123
- @options[:type] == :list ? { role: 'tablist' } : super
123
+ %i[tabs list].include?(@options[:type]) ? { role: 'tablist' } : super
124
124
  end
125
125
 
126
126
  # tabs or pills
@@ -31,6 +31,8 @@ module UiBibz::Ui::Core::Navigations
31
31
  # * +title+ - String
32
32
  # * +container+ - Hash container options
33
33
  # * +container_html+ - Hash container html options
34
+ # * +expand_size+ - Symbol size
35
+ # (+:sm+, +:md+, +:lg+, +:xl+, +:xxl+)
34
36
  #
35
37
  # ==== Signatures
36
38
  #
@@ -132,11 +134,11 @@ module UiBibz::Ui::Core::Navigations
132
134
  end
133
135
 
134
136
  def navbar_toggle_html(content = nil, &block)
135
- @navbar_toggle_html = if !block.nil?
137
+ @navbar_toggle_html = if block.nil?
138
+ content
139
+ else
136
140
  context = eval('self', block.binding) # rubocop:disable Style/EvalWithLocation
137
141
  context.capture(&block)
138
- else
139
- content
140
142
  end
141
143
  end
142
144
 
@@ -165,7 +167,7 @@ module UiBibz::Ui::Core::Navigations
165
167
  end
166
168
 
167
169
  def expand_size
168
- "navbar-expand-#{@options[:expand_size] || :lg}" # unless @options[:expand_size].nil?
170
+ "navbar-expand-#{@options[:expand_size] || :lg}" unless options[:collapsible] == false
169
171
  end
170
172
 
171
173
  def position
@@ -67,7 +67,7 @@ module UiBibz::Ui::Core::Navigations
67
67
  # Add nav link items
68
68
  # See UiBibz::Ui::Core::Navigations::NavLink
69
69
  def tab(content = nil, options = {}, html_options = nil, &block)
70
- if block_given?
70
+ if block
71
71
  content[:nav_type] = type
72
72
  content[:tag_type] = @options[:tag_type]
73
73
  else
@@ -83,6 +83,10 @@ module UiBibz::Ui::Core::Navigations
83
83
  ['nav', 'nav-tabs', position, justify, fill]
84
84
  end
85
85
 
86
+ def component_html_options
87
+ { role: 'tablist' }
88
+ end
89
+
86
90
  def type
87
91
  'nav-tabs'
88
92
  end
@@ -31,12 +31,13 @@ module UiBibz::Ui::Core::Notifications::Components
31
31
  # end.render
32
32
  #
33
33
  class ToastHeader < UiBibz::Ui::Core::Component
34
+ include Webpacker::Helper if defined?(Webpacker)
34
35
  # See UiBibz::Ui::Core::Component.initialize
35
36
 
36
37
  def pre_render
37
38
  content_tag :div, html_options do
38
39
  concat UiBibz::Ui::Core::Icons::Glyph.new(options[:glyph], class: 'mr-2').render unless options[:glyph].nil?
39
- concat image_tag(options[:img], class: 'rounded mr-2') unless options[:img].nil?
40
+ concat image unless options[:image].nil?
40
41
  concat content_tag(:strong, content, class: 'mr-auto')
41
42
  concat content_tag(:small, options[:time], class: 'text-muted') unless options[:time].nil?
42
43
  concat close_button
@@ -45,6 +46,19 @@ module UiBibz::Ui::Core::Notifications::Components
45
46
 
46
47
  private
47
48
 
49
+ def image
50
+ if options[:image].is_a?(String)
51
+ image_tag(options[:image], class: 'rounded mr-2', alt: sanitize_text(options[:image])) unless options[:image].nil?
52
+ else
53
+ options[:image][:class] = UiBibz::Utils::Screwdriver.join_classes(options[:image][:class], 'rounded mr-2')
54
+ if options[:image].delete(:pack)
55
+ image_pack_tag(options[:image].delete(:href), **options[:image])
56
+ else
57
+ image_tag(options[:image].delete(:href), **options[:image])
58
+ end
59
+ end
60
+ end
61
+
48
62
  def close_button
49
63
  content_tag :button, '', class: 'ml-2 mb-1 btn-close', "data-dismiss": 'toast', "aria-label": 'Close'
50
64
  end
@@ -3,28 +3,11 @@
3
3
  module GlyphExtension
4
4
  # Render glyph and content html
5
5
  def glyph_and_content_html(content_html = nil)
6
- [glyph_with_space, ct_html(content_html)].compact.join(' ').html_safe
7
- end
8
-
9
- def ct_html(content_html)
10
- content_html || content if options[:text].nil? || options[:text] == true
11
- end
12
-
13
- # Render glyph with space html
14
- def glyph_with_space
15
- out = [glyph]
16
- out << if options[:text] == false
17
- content_tag(:span, ' ', class: 'empty-space')
18
- else
19
- ' '
20
- end
21
- out.join unless glyph.nil?
6
+ options[:glyph] ? generate_glyph(content_html) : content_html || content
22
7
  end
23
8
 
24
9
  # Render glyph html
25
- def glyph
26
- options[:content] = content if options[:text] == false
27
-
10
+ def generate_glyph(content_html)
28
11
  glyph_options = if options[:glyph].is_a?(Hash)
29
12
  options[:glyph]
30
13
  elsif options[:glyph]
@@ -33,11 +16,13 @@ module GlyphExtension
33
16
  {}
34
17
  end
35
18
 
36
- glyph_options[:text] = options[:text] unless options[:text].nil?
37
- glyph_options[:content] = options[:content] unless options[:content].nil?
38
- glyph_options[:shortcut] = options[:shortcut] unless options[:shortcut].nil?
39
- glyph_options[:html_options] = options[:html_options] unless options[:html_options].nil?
19
+ glyph_options = glyph_options.tap do |h|
20
+ h[:text] = options[:text]
21
+ h[:label] = options[:label] || content_html || content
22
+ h[:shortcut] = options[:shortcut] unless options[:shortcut].nil?
23
+ end
40
24
 
41
- UiBibz::Utils::GlyphChanger.new(glyph_options[:name], glyph_options).render unless glyph_options[:name].nil?
25
+ # UiBibz::Utils::GlyphChanger.new(glyph_options[:name], glyph_options).render unless glyph_options[:name].nil?
26
+ UiBibz::Ui::Core::Icons::Glyph.new(glyph_options[:name], glyph_options).render if glyph_options[:name].present?
42
27
  end
43
28
  end
@@ -28,7 +28,7 @@ module PopoverExtension
28
28
  TOOLTIP_METHODS.each { |mth| add_html_data(mth, value: options[:tooltip].try(:[], mth)) unless options[:tooltip].try(:[], mth).nil? }
29
29
  add_html_data :placement, value: options[:tooltip].try(:[], :position) unless options[:tooltip].try(:[], :position).nil?
30
30
  else
31
- add_html_data :title, value: options[:tooltip]
31
+ add_html_data :title, value: options[:tooltip] == true ? sanitize_text(content) : options[:tooltip]
32
32
  end
33
33
  end
34
34
  end
@@ -7,7 +7,7 @@ module SurroundExtension
7
7
  private
8
8
 
9
9
  def surrounded?
10
- !options[:append].nil? || !options[:prepend].nil? || !options[:refresh].nil? || !options[:surrounded].nil?
10
+ options[:append].present? || options[:prepend].present? || options[:refresh].present? || options[:surrounded].present?
11
11
  end
12
12
 
13
13
  def surround_wrapper_tag(ct_tag)
@@ -34,12 +34,12 @@ module UiBibz::Ui::Ux::Tables
34
34
 
35
35
  # Render html tag
36
36
  def render
37
- if @per_page_field.options[:wrap_form] != false
37
+ if @per_page_field.options[:wrap_form] == false
38
+ per_page_html
39
+ else
38
40
  form_tag(url_for(url_parameters), method: :get) do
39
41
  per_page_html_in_wrap
40
42
  end
41
- else
42
- per_page_html
43
43
  end
44
44
  end
45
45
 
@@ -13,12 +13,12 @@ module UiBibz::Ui::Ux::Tables
13
13
 
14
14
  # Render html tag
15
15
  def pre_render
16
- if options[:wrap_form] != false
16
+ if options[:wrap_form] == false
17
+ search_field_html
18
+ else
17
19
  form_tag(url_for(url_parameters), method: :get, class: 'form-table-search-field') do
18
20
  search_field_html_in_wrap
19
21
  end
20
- else
21
- search_field_html
22
22
  end
23
23
  end
24
24
 
@@ -69,7 +69,7 @@ module UiBibz::Ui::Ux::Tables
69
69
  end
70
70
 
71
71
  def clear_button
72
- content_tag :button, UiBibz::Ui::Core::Icons::Glyph.new('times-circle').render, type: :button, class: 'btn btn-secondary input-group-btn clear-search-btn'
72
+ content_tag :button, UiBibz::Ui::Core::Icons::Glyph.new('times-circle', text: false, label: 'Clear Search').render, type: :button, class: 'btn btn-secondary input-group-btn clear-search-btn'
73
73
  end
74
74
 
75
75
  def component_html_classes
@@ -82,7 +82,7 @@ test1</textarea></div></form>"
82
82
  f.input :name_fr, as: :ui_dropdown_select_field, multiple: true, collection: @users, label_method: :name_fr
83
83
  end
84
84
 
85
- expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_dropdown_select_field optional user_name_fr\"><label class=\"control-label ui_dropdown_select_field optional\" for=\"user_name_fr\">Name fr</label><select name=\"user[name_fr][]\" id=\"user_name_fr\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\"><option value=\"1\">test1</option>
85
+ expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_dropdown_select_field optional user_name_fr\"><label class=\"control-label ui_dropdown_select_field optional\" for=\"user_name_fr\">Name fr</label><select name=\"user[name_fr][]\" id=\"user_name_fr\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\" data-dropdown-classes=\"dropdown\"><option value=\"1\">test1</option>
86
86
  <option value=\"2\">test2</option></select></div></form>"
87
87
 
88
88
  assert_equal expected, actual
@@ -93,7 +93,7 @@ test1</textarea></div></form>"
93
93
  f.input :name_fr, as: :ui_dropdown_select_field, multiple: true, collection: @continents, toto: 'lala', grouped: true, group_method: :countries
94
94
  end
95
95
 
96
- expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_dropdown_select_field optional user_name_fr\"><label class=\"control-label ui_dropdown_select_field optional\" for=\"user_name_fr\">Name fr</label><select name=\"user[name_fr][]\" id=\"user_name_fr\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\"><optgroup label=\"Europe\"><option value=\"1\">France</option>
96
+ expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_dropdown_select_field optional user_name_fr\"><label class=\"control-label ui_dropdown_select_field optional\" for=\"user_name_fr\">Name fr</label><select name=\"user[name_fr][]\" id=\"user_name_fr\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\" data-dropdown-classes=\"dropdown\"><optgroup label=\"Europe\"><option value=\"1\">France</option>
97
97
  <option value=\"2\">Deutchland</option></optgroup></select></div></form>"
98
98
 
99
99
  assert_equal expected, actual
@@ -104,7 +104,7 @@ test1</textarea></div></form>"
104
104
  f.input :name_fr, as: :ui_text_field
105
105
  end
106
106
 
107
- expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_text_field optional user_name_fr\"><label class=\"control-label ui_text_field optional\" for=\"user_name_fr\">Name fr</label><input type=\"ui_text_field\" name=\"user[name_fr]\" id=\"user_name_fr\" value=\"test1\" class=\"form-control string ui_text_field optional\" /></div></form>"
107
+ expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_text_field optional user_name_fr\"><label class=\"control-label ui_text_field optional\" for=\"user_name_fr\">Name fr</label><input type=\"text\" name=\"user[name_fr]\" id=\"user_name_fr\" value=\"test1\" class=\"form-control string ui_text_field optional\" /></div></form>"
108
108
 
109
109
  assert_equal expected, actual
110
110
  end
@@ -147,7 +147,7 @@ test1</textarea></div></form>"
147
147
  end
148
148
 
149
149
  expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_select_field optional user_name_fr\"><label class=\"control-label ui_select_field optional\" for=\"user_name_fr\">Name fr</label><div class=\"field-refresh input-group ui_surround_field\"><select name=\"user[name_fr]\" id=\"user_name_fr\" class=\"form-control select-field form-select\"><option value=\"1\">test1</option>
150
- <option value=\"2\">test2</option></select><span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#user_name_fr&quot;,&quot;url&quot;:&quot;&quot;,&quot;data&quot;:[]}}\" class=\"btn-secondary ui-bibz-connect btn input-refresh-button\"><i class=\"glyph fas fa-sync-alt\"></i> </span></div></div></form>"
150
+ <option value=\"2\">test2</option></select><span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#user_name_fr&quot;,&quot;url&quot;:&quot;&quot;,&quot;data&quot;:[]}}\" class=\"btn-secondary ui-bibz-connect btn input-refresh-button\"><i class=\"glyph fas fa-sync-alt\"></i></span></div></div></form>"
151
151
 
152
152
  assert_equal expected, actual
153
153
  end
@@ -59,7 +59,7 @@ class CardTest < ActionView::TestCase
59
59
  p.body 'state'
60
60
  p.footer 'state'
61
61
  end
62
- expected = '<div class="state card"><div class="card-header"><i class="glyph fas fa-eye"></i> state</div><div class="card-body">state</div><div class="card-footer">state</div></div>'
62
+ expected = "<div class=\"state card\"><div class=\"card-header\"><i class=\"glyph fas fa-eye\"></i> state</div><div class=\"card-body\">state</div><div class=\"card-footer\">state</div></div>"
63
63
 
64
64
  assert_equal expected, actual
65
65
  end
@@ -145,7 +145,7 @@ class CardTest < ActionView::TestCase
145
145
  end
146
146
  end
147
147
  end
148
- expected = "<div class=\"card\"><div class=\"card-header\"><ul class=\"nav nav-tabs card-header-tabs\"><li class=\"nav-item\"><a href=\"#link1\" class=\"nav-link\" data-toggle=\"tab\" role=\"tab\">link1</a></li><li class=\"nav-item\"><a href=\"#link2\" class=\"nav-link\" data-toggle=\"tab\" role=\"tab\">link2</a></li></ul></div></div>"
148
+ expected = "<div class=\"card\"><div class=\"card-header\"><ul class=\"nav nav-tabs card-header-tabs\" role=\"tablist\"><li class=\"nav-item\"><a href=\"#link1\" class=\"nav-link\" data-toggle=\"tab\" role=\"tab\">link1</a></li><li class=\"nav-item\"><a href=\"#link2\" class=\"nav-link\" data-toggle=\"tab\" role=\"tab\">link2</a></li></ul></div></div>"
149
149
 
150
150
  assert_equal expected, actual
151
151
  end
@@ -5,7 +5,7 @@ require 'test_helper'
5
5
  class ComponentTest < ActionView::TestCase
6
6
  test 'create complex component' do
7
7
  actual = UiBibz::Ui::Core::Component.new('New component', { state: :active, glyph: 'add' }, { class: 'new-class' }).render
8
- expected = '<i class="glyph fas fa-add"></i> New component'
8
+ expected = "<i class=\"glyph fas fa-add\"></i> New component"
9
9
 
10
10
  assert_equal expected, actual
11
11
  end
@@ -21,7 +21,7 @@ class ComponentTest < ActionView::TestCase
21
21
 
22
22
  test 'create component without text and glyph' do
23
23
  actual = UiBibz::Ui::Core::Component.new('My text', { glyph: 'diamond', text: false }).render
24
- expected = '<i class="glyph fas fa-diamond"></i><span class="empty-space"> </span>'
24
+ expected = "<i class=\"glyph fas fa-diamond\"></i> <span class=\"visually-hidden\">My text</span>"
25
25
 
26
26
  assert_equal expected, actual
27
27
  end
@@ -47,7 +47,7 @@ class ButtonGroupTest < ActionView::TestCase
47
47
  d.link 'Link 1', url: '#link1', glyph: 'eye'
48
48
  end
49
49
  end
50
- expected = '<div class="btn-group" role="group"><div id="dropdown-test" class="dropup btn-group"><button class="btn btn-success dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="dropdown-test">Dropdown</button><div class="dropdown-menu" arial-labelledby="dropdown-test"><a class="dropdown-item" href="#link1"><i class="glyph fas fa-eye"></i> Link 1</a></div></div></div>'
50
+ expected = "<div class=\"btn-group\" role=\"group\"><div id=\"dropdown-test\" class=\"dropup btn-group\"><button class=\"btn btn-success dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\" id=\"dropdown-test\">Dropdown</button><div class=\"dropdown-menu\" arial-labelledby=\"dropdown-test\"><a class=\"dropdown-item\" href=\"#link1\"><i class=\"glyph fas fa-eye\"></i> Link 1</a></div></div></div>"
51
51
 
52
52
  assert_equal expected, actual
53
53
  end
@@ -54,13 +54,6 @@ class ButtonLinkTest < ActionView::TestCase
54
54
  assert_equal expected, actual
55
55
  end
56
56
 
57
- test 'button_link block' do
58
- actual = ui_button_link('state', type: :block)
59
- expected = '<a class="btn-secondary btn btn-block" role="button" href="#">state</a>'
60
-
61
- assert_equal expected, actual
62
- end
63
-
64
57
  test 'button_link size' do
65
58
  actual = ui_button_link('state', size: :sm)
66
59
  expected = '<a class="btn-secondary btn btn-sm" role="button" href="#">state</a>'
@@ -77,7 +70,7 @@ class ButtonLinkTest < ActionView::TestCase
77
70
 
78
71
  test 'button_link glyph' do
79
72
  actual = ui_button_link('state', glyph: 'diamond')
80
- expected = '<a class="btn-secondary btn" role="button" href="#"><i class="glyph fas fa-diamond"></i> state</a>'
73
+ expected = '<a class="btn-secondary btn" role="button" href="#"><i class="glyph fas fa-diamond"></i> state</a>'
81
74
 
82
75
  assert_equal expected, actual
83
76
  end
@@ -5,7 +5,7 @@ require 'test_helper'
5
5
  class ButtonRefreshTest < ActionView::TestCase
6
6
  test 'button' do
7
7
  actual = UiBibz::Ui::Core::Forms::Buttons::ButtonRefresh.new('state', status: :success, connect: { target: { url: '/' } }).render
8
- expected = '<span data-connect="{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;&quot;,&quot;url&quot;:&quot;/&quot;,&quot;data&quot;:[]}}" class="btn-success ui-bibz-connect btn input-refresh-button"><i class="glyph fas fa-sync-alt"></i> state</span>'
8
+ expected = "<span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;&quot;,&quot;url&quot;:&quot;/&quot;,&quot;data&quot;:[]}}\" class=\"btn-success ui-bibz-connect btn input-refresh-button\"><i class=\"glyph fas fa-sync-alt\"></i> state</span>"
9
9
 
10
10
  assert_equal expected, actual
11
11
  end
@@ -47,13 +47,6 @@ class ButtonTest < ActionView::TestCase
47
47
  assert_equal expected, actual
48
48
  end
49
49
 
50
- test 'button block' do
51
- actual = ui_button('state', type: :block)
52
- expected = '<button class="btn-secondary btn btn-block">state</button>'
53
-
54
- assert_equal expected, actual
55
- end
56
-
57
50
  test 'button size' do
58
51
  actual = ui_button('state', size: :sm)
59
52
  expected = '<button class="btn-secondary btn btn-sm">state</button>'
@@ -70,14 +63,14 @@ class ButtonTest < ActionView::TestCase
70
63
 
71
64
  test 'button glyph' do
72
65
  actual = ui_button('state', glyph: 'diamond')
73
- expected = '<button class="btn-secondary btn"><i class="glyph fas fa-diamond"></i> state</button>'
66
+ expected = "<button class=\"btn-secondary btn\"><i class=\"glyph fas fa-diamond\"></i> state</button>"
74
67
 
75
68
  assert_equal expected, actual
76
69
  end
77
70
 
78
71
  test 'button glyph without text' do
79
72
  actual = ui_button('state', glyph: 'diamond', text: false)
80
- expected = '<button class="btn-secondary btn without-text"><i class="glyph fas fa-diamond"></i><span class="empty-space"> </span></button>'
73
+ expected = "<button class=\"btn-secondary btn\"><i class=\"glyph fas fa-diamond\"></i> <span class=\"visually-hidden\">state</span></button>"
81
74
 
82
75
  assert_equal expected, actual
83
76
  end
@@ -11,7 +11,7 @@ class ChoiceGroupTest < ActionView::TestCase
11
11
  bc.choice 'Checkbox 2', state: :active
12
12
  end
13
13
 
14
- expected = "<div data-toggle=\"buttons\" class=\"btn-group button-choice btn-group-toggle\"><input type=\"checkbox\" autocomplete=\"off\" class=\"btn-check\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-secondary btn checkbox\" for=\"#{actual.items.first.input_options[:id]}\">Checkbox 1</label><input type=\"checkbox\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-secondary btn checkbox\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Checkbox 2</label></div>"
14
+ expected = "<div data-toggle=\"buttons\" class=\"btn-group button-choice btn-group-toggle\"><input type=\"checkbox\" autocomplete=\"off\" class=\"btn-check\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-secondary btn\" for=\"#{actual.items.first.input_options[:id]}\">Checkbox 1</label><input type=\"checkbox\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-secondary btn\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Checkbox 2</label></div>"
15
15
 
16
16
  assert_equal expected, actual.render
17
17
  end
@@ -22,7 +22,7 @@ class ChoiceGroupTest < ActionView::TestCase
22
22
  bc.choice 'Radio 2', state: :active
23
23
  end
24
24
 
25
- expected = "<div data-toggle=\"buttons\" class=\"btn-group button-choice btn-group-toggle\"><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" name=\"#{actual.items.first.input_options[:name]}\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-secondary btn radio\" for=\"#{actual.items.first.input_options[:id]}\">Radio 1</label><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" name=\"#{actual.items.last.input_options[:name]}\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-secondary btn radio\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Radio 2</label></div>"
25
+ expected = "<div data-toggle=\"buttons\" class=\"btn-group button-choice btn-group-toggle\"><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" name=\"#{actual.items.first.input_options[:name]}\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-secondary btn\" for=\"#{actual.items.first.input_options[:id]}\">Radio 1</label><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" name=\"#{actual.items.last.input_options[:name]}\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-secondary btn\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Radio 2</label></div>"
26
26
 
27
27
  assert_equal expected, actual.render
28
28
  end
@@ -32,7 +32,7 @@ class ChoiceGroupTest < ActionView::TestCase
32
32
  bc.choice 'Radio 1', glyph: 'diamond', status: :primary
33
33
  bc.choice 'Radio 2', state: :active
34
34
  end
35
- expected = "<div data-toggle=\"buttons\" class=\"btn-group btn-group-lg button-choice btn-group-toggle\"><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" name=\"#{actual.items.first.input_options[:name]}\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-outline-primary btn btn-lg radio\" for=\"#{actual.items.first.input_options[:id]}\"><i class=\"glyph fas fa-diamond\"></i> Radio 1</label><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" name=\"#{actual.items.last.input_options[:name]}\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-outline-secondary btn btn-lg radio\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Radio 2</label></div>"
35
+ expected = "<div data-toggle=\"buttons\" class=\"btn-group btn-group-lg button-choice btn-group-toggle\"><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" name=\"#{actual.items.first.input_options[:name]}\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-outline-primary btn btn-lg\" for=\"#{actual.items.first.input_options[:id]}\"><i class=\"glyph fas fa-diamond\"></i> Radio 1</label><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" name=\"#{actual.items.last.input_options[:name]}\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-outline-secondary btn btn-lg\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Radio 2</label></div>"
36
36
 
37
37
  assert_equal expected, actual.render
38
38
  end