ui_bibz 3.0.13 → 4.0.0.beta3

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 (294) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +3 -3
  3. data/.github/workflows/linter.yml +13 -12
  4. data/.overcommit.yml +6 -0
  5. data/.rubocop.yml +6 -0
  6. data/.ruby-version +1 -1
  7. data/Gemfile +19 -12
  8. data/Gemfile.lock +178 -138
  9. data/app/assets/config/ui_bibz.js +12 -0
  10. data/app/assets/javascripts/forms/formula.js +82 -0
  11. data/app/assets/javascripts/forms/input-connected.js +132 -0
  12. data/app/assets/javascripts/forms/jquery.multi-select-extend.js +52 -0
  13. data/app/assets/javascripts/forms.js +160 -0
  14. data/app/assets/javascripts/interfaces.js +56 -0
  15. data/app/assets/javascripts/tables.js +49 -0
  16. data/app/assets/javascripts/ui_bibz_js.js +37 -0
  17. data/app/assets/stylesheets/navigations/_nav.sass +2 -0
  18. data/app/assets/stylesheets/navigations/_navbar.sass +12 -0
  19. data/app/assets/stylesheets/navigations/_progress_bar.sass +2 -0
  20. data/app/assets/stylesheets/navigations/_toolbar.sass +3 -0
  21. data/app/assets/stylesheets/sass/_boxes.sass +1 -0
  22. data/app/assets/stylesheets/sass/_containers.sass +2 -0
  23. data/app/assets/stylesheets/sass/_fixes.sass +2 -0
  24. data/app/assets/stylesheets/sass/_forms.sass +8 -0
  25. data/app/assets/stylesheets/sass/_navigations.sass +4 -0
  26. data/app/assets/stylesheets/sass/_notifications.sass +4 -0
  27. data/app/assets/stylesheets/sass/_tables.sass +2 -0
  28. data/app/assets/stylesheets/sass/_variables_mixins_functions.sass +3 -0
  29. data/app/assets/stylesheets/sass/boxes/_card.sass +4 -0
  30. data/app/assets/stylesheets/sass/containers/_panel.scss +330 -0
  31. data/app/assets/stylesheets/sass/forms/_bootstrap_select.sass +5 -0
  32. data/app/assets/stylesheets/sass/forms/_button.sass +3 -0
  33. data/app/assets/stylesheets/sass/forms/_date_picker.sass +3 -0
  34. data/app/assets/stylesheets/sass/forms/_form_check.sass +10 -0
  35. data/app/assets/stylesheets/sass/forms/_formula_field.sass +17 -0
  36. data/app/assets/stylesheets/sass/forms/_multiselect.sass +44 -0
  37. data/app/assets/stylesheets/sass/forms/_range.sass +44 -0
  38. data/app/assets/stylesheets/sass/forms/_slider.sass +136 -0
  39. data/app/assets/stylesheets/sass/forms/_surround_field.sass +25 -0
  40. data/app/assets/stylesheets/sass/notifications/_badge.sass +5 -0
  41. data/app/assets/stylesheets/sass/notifications/_glyph.sass +3 -0
  42. data/app/assets/stylesheets/sass/notifications/_star.sass +2 -0
  43. data/app/assets/stylesheets/sass/notifications/_toast.sass +3 -0
  44. data/app/assets/stylesheets/sass/tables/_table.sass +39 -0
  45. data/app/assets/stylesheets/sass/tables/_table_card.sass +39 -0
  46. data/app/assets/stylesheets/ui_bibz.sass +26 -0
  47. data/bin/test +3 -5
  48. data/config/importmap.rb +19 -0
  49. data/config/initializers/assets.rb +5 -0
  50. data/config/initializers/will_paginate.rb +1 -3
  51. data/lib/ui_bibz/builders/data_html_options_builder.rb +118 -0
  52. data/lib/ui_bibz/builders/html_classes_builder.rb +89 -0
  53. data/lib/ui_bibz/builders/html_options_builder.rb +22 -0
  54. data/lib/ui_bibz/factory_methods/component_initialize_factory_method.rb +33 -0
  55. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +12 -12
  56. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +50 -50
  57. data/lib/ui_bibz/helpers/ui/core/icons_helper.rb +6 -6
  58. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +2 -2
  59. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +2 -2
  60. data/lib/ui_bibz/helpers/ui/core/navigations_helper.rb +12 -12
  61. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +4 -4
  62. data/lib/ui_bibz/helpers/ui/core/windows_helper.rb +10 -2
  63. data/lib/ui_bibz/helpers/ui/ux_helper.rb +2 -2
  64. data/lib/ui_bibz/helpers/utils_helper.rb +2 -2
  65. data/lib/ui_bibz/infos.rb +3 -3
  66. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +12 -12
  67. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +1 -1
  68. data/lib/ui_bibz/rails/engine.rb +21 -4
  69. data/lib/ui_bibz/strategies/component_initialize_abstract_strategy.rb +27 -0
  70. data/lib/ui_bibz/strategies/component_initialize_block_strategy.rb +31 -0
  71. data/lib/ui_bibz/strategies/component_initialize_hash_strategy.rb +18 -0
  72. data/lib/ui_bibz/strategies/component_initialize_standard_strategy.rb +18 -0
  73. data/lib/ui_bibz/ui/concerns/card_itemable_concern.rb +4 -4
  74. data/lib/ui_bibz/ui/concerns/notification_concern.rb +1 -1
  75. data/lib/ui_bibz/ui/core/boxes/card.rb +1 -1
  76. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +4 -4
  77. data/lib/ui_bibz/ui/core/boxes/card_column.rb +1 -1
  78. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +1 -1
  79. data/lib/ui_bibz/ui/core/boxes/card_grid.rb +0 -3
  80. data/lib/ui_bibz/ui/core/boxes/card_group.rb +1 -1
  81. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +9 -9
  82. data/lib/ui_bibz/ui/core/boxes/components/card_col.rb +2 -2
  83. data/lib/ui_bibz/ui/core/boxes/components/card_list_group.rb +1 -1
  84. data/lib/ui_bibz/ui/core/boxes/components/card_row.rb +1 -1
  85. data/lib/ui_bibz/ui/core/component.rb +13 -62
  86. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +3 -1
  87. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +11 -11
  88. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +7 -7
  89. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +2 -2
  90. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +5 -6
  91. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +1 -1
  92. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +15 -15
  93. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_link.rb +1 -1
  94. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +5 -5
  95. data/lib/ui_bibz/ui/core/forms/numbers/slider_field.rb +1 -1
  96. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +10 -10
  97. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +2 -2
  98. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +32 -32
  99. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +7 -8
  100. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +1 -1
  101. data/lib/ui_bibz/ui/core/icons/glyph.rb +4 -3
  102. data/lib/ui_bibz/ui/core/layouts/row.rb +2 -2
  103. data/lib/ui_bibz/ui/core/lists/components/list.rb +4 -4
  104. data/lib/ui_bibz/ui/core/lists/list_group.rb +1 -1
  105. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +6 -4
  106. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +1 -2
  107. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +6 -5
  108. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +2 -2
  109. data/lib/ui_bibz/ui/core/navigations/nav.rb +10 -6
  110. data/lib/ui_bibz/ui/core/navigations/navbar.rb +21 -19
  111. data/lib/ui_bibz/ui/core/navigations/pagination.rb +3 -3
  112. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +5 -5
  113. data/lib/ui_bibz/ui/core/notifications/alert.rb +4 -5
  114. data/lib/ui_bibz/ui/core/notifications/badge.rb +6 -2
  115. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +1 -1
  116. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +3 -3
  117. data/lib/ui_bibz/ui/core/notifications/toast.rb +8 -9
  118. data/lib/ui_bibz/ui/core/windows/components/offcanvas_body.rb +47 -0
  119. data/lib/ui_bibz/ui/core/windows/components/offcanvas_header.rb +54 -0
  120. data/lib/ui_bibz/ui/core/windows/modal.rb +9 -9
  121. data/lib/ui_bibz/ui/core/windows/offcanvas.rb +84 -0
  122. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +4 -20
  123. data/lib/ui_bibz/ui/extensions/core/component/klass_extension.rb +11 -19
  124. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +1 -1
  125. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +3 -3
  126. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +3 -3
  127. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +3 -3
  128. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +4 -4
  129. data/lib/ui_bibz/ui/ux/containers/panel.rb +13 -13
  130. data/lib/ui_bibz/ui/ux/tables/components/actions.rb +4 -4
  131. data/lib/ui_bibz/ui/ux/tables/components/column.rb +1 -1
  132. data/lib/ui_bibz/ui/ux/tables/components/columns.rb +2 -2
  133. data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +1 -1
  134. data/lib/ui_bibz/ui/ux/tables/table.rb +5 -5
  135. data/lib/ui_bibz/ui/ux/tables/table_card.rb +6 -6
  136. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +1 -1
  137. data/lib/ui_bibz/utils/breakdown_class_name_generator.rb +3 -3
  138. data/lib/ui_bibz/utils/screwdriver.rb +1 -1
  139. data/lib/ui_bibz/view_objects/glyph_component_view_object.rb +38 -0
  140. data/lib/ui_bibz.rb +25 -0
  141. data/test/builders/data_html_classes_builder_test.rb +37 -0
  142. data/test/builders/html_classes_builder_test.rb +76 -0
  143. data/test/dummy/Rakefile +1 -1
  144. data/test/dummy/app/assets/stylesheets/application.css +1 -15
  145. data/test/dummy/app/channels/application_cable/channel.rb +6 -0
  146. data/test/dummy/app/channels/application_cable/connection.rb +6 -0
  147. data/test/dummy/app/jobs/application_job.rb +9 -0
  148. data/test/dummy/app/mailers/application_mailer.rb +6 -0
  149. data/test/dummy/app/views/layouts/application.html.erb +10 -12
  150. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  151. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  152. data/test/dummy/bin/rails +3 -3
  153. data/test/dummy/bin/rake +2 -2
  154. data/test/dummy/bin/setup +12 -12
  155. data/test/dummy/config/application.rb +13 -17
  156. data/test/dummy/config/boot.rb +3 -3
  157. data/test/dummy/config/database.yml +2 -2
  158. data/test/dummy/config/environment.rb +1 -1
  159. data/test/dummy/config/environments/development.rb +21 -16
  160. data/test/dummy/config/environments/production.rb +16 -41
  161. data/test/dummy/config/environments/test.rb +19 -8
  162. data/test/dummy/config/importmap.rb +11 -0
  163. data/test/dummy/config/initializers/content_security_policy.rb +21 -24
  164. data/test/dummy/config/initializers/filter_parameter_logging.rb +6 -2
  165. data/test/dummy/config/initializers/inflections.rb +4 -4
  166. data/test/dummy/config/initializers/permissions_policy.rb +12 -0
  167. data/test/dummy/config/locales/en.yml +13 -3
  168. data/test/dummy/config/puma.rb +7 -2
  169. data/test/dummy/config/storage.yml +5 -5
  170. data/test/dummy/config.ru +2 -1
  171. data/test/simple_form_test.rb +24 -24
  172. data/test/ui/core/boxes/card_test.rb +2 -1
  173. data/test/ui/core/component_test.rb +2 -2
  174. data/test/ui/core/forms/buttons/button_group_test.rb +1 -1
  175. data/test/ui/core/forms/buttons/button_link_test.rb +1 -1
  176. data/test/ui/core/forms/buttons/button_refresh_test.rb +1 -1
  177. data/test/ui/core/forms/buttons/button_test.rb +2 -2
  178. data/test/ui/core/forms/choices/box_switch_field_test.rb +10 -10
  179. data/test/ui/core/forms/choices/checkbox_field_test.rb +1 -1
  180. data/test/ui/core/forms/choices/choice_group_test.rb +1 -1
  181. data/test/ui/core/forms/dropdowns/dropdown_test.rb +1 -1
  182. data/test/ui/core/forms/numbers/formula_field_test.rb +1 -1
  183. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +2 -2
  184. data/test/ui/core/forms/selects/select_field_test.rb +1 -1
  185. data/test/ui/core/forms/surrounds/surround_field_test.rb +4 -4
  186. data/test/ui/core/forms/texts/auto_complete_field_test.rb +2 -2
  187. data/test/ui/core/icons/glyph_test.rb +8 -4
  188. data/test/ui/core/icons/star_test.rb +12 -6
  189. data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
  190. data/test/ui/core/navigations/link_test.rb +1 -1
  191. data/test/ui/core/navigations/nav_test.rb +11 -0
  192. data/test/ui/core/notifications/alert_test.rb +1 -1
  193. data/test/ui/core/notifications/badge_test.rb +3 -3
  194. data/test/ui/core/notifications/popover_test.rb +4 -4
  195. data/test/ui/core/notifications/spinner_test.rb +1 -1
  196. data/test/ui/core/notifications/toast_test.rb +1 -1
  197. data/test/ui/core/notifications/tooltip_test.rb +4 -4
  198. data/test/ui/core/windows/offcanvas_test.rb +27 -0
  199. data/test/ui/ux/containers/panel_test.rb +1 -1
  200. data/test/ui/ux/tables/table_test.rb +3 -3
  201. data/test/view_objects/glyph_component_view_object_test.rb +17 -0
  202. data/ui_bibz.gemspec +6 -20
  203. data/vendor/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  204. data/vendor/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  205. data/vendor/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  206. data/vendor/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  207. data/vendor/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  208. data/vendor/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  209. data/vendor/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  210. data/vendor/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  211. data/vendor/assets/javascripts/bootstrap-markdown.js +1 -1555
  212. data/vendor/assets/javascripts/bootstrap-multiselect.min.js +40 -1176
  213. data/vendor/assets/javascripts/bootstrap-switch.min.js +9 -21
  214. data/vendor/assets/javascripts/bs-custom-file-input.min.js +0 -1
  215. data/vendor/assets/javascripts/fontawesome/all.js +5977 -0
  216. data/vendor/assets/javascripts/fontawesome/all.min.js +6 -0
  217. data/vendor/assets/javascripts/fontawesome/brands.js +749 -0
  218. data/vendor/assets/javascripts/fontawesome/brands.min.js +6 -0
  219. data/vendor/assets/javascripts/fontawesome/conflict-detection.js +1138 -0
  220. data/vendor/assets/javascripts/fontawesome/conflict-detection.min.js +6 -0
  221. data/vendor/assets/javascripts/fontawesome/fontawesome.js +3126 -0
  222. data/vendor/assets/javascripts/fontawesome/fontawesome.min.js +6 -0
  223. data/vendor/assets/javascripts/fontawesome/regular.js +445 -0
  224. data/vendor/assets/javascripts/fontawesome/regular.min.js +6 -0
  225. data/vendor/assets/javascripts/fontawesome/solid.js +1672 -0
  226. data/vendor/assets/javascripts/fontawesome/solid.min.js +6 -0
  227. data/vendor/assets/javascripts/fontawesome/v4-shims.js +225 -0
  228. data/vendor/assets/javascripts/fontawesome/v4-shims.min.js +6 -0
  229. data/vendor/assets/javascripts/fuzzysort.js +562 -0
  230. data/vendor/assets/javascripts/jquery-3.7.0.min.js +2 -0
  231. data/vendor/assets/javascripts/jquery.multi-select.min.js +725 -1
  232. data/vendor/assets/stylesheets/bootstrap-multiselect.sass +115 -0
  233. data/vendor/assets/stylesheets/bootstrap-switch.scss +211 -0
  234. data/vendor/assets/stylesheets/fontawesome/_animated.scss +142 -9
  235. data/vendor/assets/stylesheets/fontawesome/_bordered-pulled.scss +13 -13
  236. data/vendor/assets/stylesheets/fontawesome/_core.scss +28 -6
  237. data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +2 -1
  238. data/vendor/assets/stylesheets/fontawesome/_functions.scss +57 -0
  239. data/vendor/assets/stylesheets/fontawesome/_icons.scss +7 -1438
  240. data/vendor/assets/stylesheets/fontawesome/_list.scss +4 -4
  241. data/vendor/assets/stylesheets/fontawesome/_mixins.scss +53 -34
  242. data/vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss +25 -18
  243. data/vendor/assets/stylesheets/fontawesome/_screen-reader.scss +12 -3
  244. data/vendor/assets/stylesheets/fontawesome/_shims.scss +640 -664
  245. data/vendor/assets/stylesheets/fontawesome/_sizing.scss +16 -0
  246. data/vendor/assets/stylesheets/fontawesome/_stacked.scss +5 -4
  247. data/vendor/assets/stylesheets/fontawesome/_variables.scss +4896 -1393
  248. data/vendor/assets/stylesheets/fontawesome/brands.scss +17 -10
  249. data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +7 -2
  250. data/vendor/assets/stylesheets/fontawesome/regular.scss +13 -10
  251. data/vendor/assets/stylesheets/fontawesome/solid.scss +13 -11
  252. data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +6 -1
  253. data/vendor/assets/stylesheets/multi-select.css +92 -0
  254. metadata +120 -348
  255. data/.gitlab-ci.yml +0 -17
  256. data/.travis.yml +0 -24
  257. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +0 -70
  258. data/structure.md +0 -68
  259. data/test/dummy/README.rdoc +0 -28
  260. data/test/dummy/app/assets/javascripts/application.js +0 -13
  261. data/test/dummy/app/javascripts/packs/index.js +0 -3
  262. data/test/dummy/config/initializers/application_controller_renderer.rb +0 -9
  263. data/test/dummy/config/initializers/assets.rb +0 -14
  264. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -8
  265. data/test/dummy/config/initializers/cookies_serializer.rb +0 -7
  266. data/test/dummy/config/initializers/mime_types.rb +0 -5
  267. data/test/dummy/config/initializers/session_store.rb +0 -5
  268. data/test/dummy/config/initializers/ui_bibz.rb +0 -5
  269. data/test/dummy/config/initializers/wrap_parameters.rb +0 -16
  270. data/test/dummy/config/secrets.yml +0 -22
  271. data/test/dummy/config/spring.rb +0 -8
  272. data/test/dummy/test/models/user_test.rb +0 -9
  273. data/vendor/assets/fonts/fa-brands-400.eot +0 -0
  274. data/vendor/assets/fonts/fa-brands-400.svg +0 -3570
  275. data/vendor/assets/fonts/fa-brands-400.ttf +0 -0
  276. data/vendor/assets/fonts/fa-brands-400.woff +0 -0
  277. data/vendor/assets/fonts/fa-brands-400.woff2 +0 -0
  278. data/vendor/assets/fonts/fa-regular-400.eot +0 -0
  279. data/vendor/assets/fonts/fa-regular-400.svg +0 -803
  280. data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
  281. data/vendor/assets/fonts/fa-regular-400.woff +0 -0
  282. data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
  283. data/vendor/assets/fonts/fa-solid-900.eot +0 -0
  284. data/vendor/assets/fonts/fa-solid-900.svg +0 -4938
  285. data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
  286. data/vendor/assets/fonts/fa-solid-900.woff +0 -0
  287. data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
  288. data/vendor/assets/javascripts/all.js +0 -4441
  289. data/vendor/assets/javascripts/all.min.js +0 -5
  290. data/vendor/assets/stylesheets/all.min.css +0 -5
  291. data/vendor/assets/stylesheets/fontawesome/_larger.scss +0 -23
  292. data/vendor/assets/stylesheets/svg-with-js.css +0 -5
  293. /data/{test/dummy/app/mailers/.keep → app/assets/stylesheets/sass/forms/_dropdown.sass} +0 -0
  294. /data/{test/dummy/app/views/users/index.html.erb → app/assets/stylesheets/sass/forms/_input_refresh_button.sass} +0 -0
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UiBibz
4
+ module Strategies
5
+ # Class to initialize component
6
+ class ComponentInitializeStandardStrategy < UiBibz::Strategies::ComponentInitializeAbstractStrategy
7
+ attr_reader :content
8
+
9
+ def options
10
+ with_indifferent_access(@options)
11
+ end
12
+
13
+ def html_options
14
+ with_indifferent_access(@html_options)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -34,15 +34,15 @@ module UiBibz::Ui::Concerns::CardItemableConcern # :nodoc:
34
34
  end
35
35
 
36
36
  # Add List group which is a component
37
- def list_group(content = nil, options = nil, html_options = nil, &block)
38
- @items << UiBibz::Ui::Core::Boxes::Components::CardListGroup.new(content, options, html_options).tap(&block).render
37
+ def list_group(content = nil, options = nil, html_options = nil, &)
38
+ @items << UiBibz::Ui::Core::Boxes::Components::CardListGroup.new(content, options, html_options).tap(&).render
39
39
  end
40
40
 
41
41
  # Add Image which is a component
42
- def image(content = nil, options = nil, html_options = nil, &block)
42
+ def image(content = nil, options = nil, html_options = nil, &)
43
43
  # Add position top to the image if the image is in top of the card
44
44
  options = (options || {}).merge(position: :top) if @header.nil? && @items.empty? && options.try(:[], :position).nil?
45
- @items << UiBibz::Ui::Core::Boxes::Components::CardImage.new(content, options, html_options, &block).render
45
+ @items << UiBibz::Ui::Core::Boxes::Components::CardImage.new(content, options, html_options, &).render
46
46
  end
47
47
 
48
48
  # Add a row whih is a component
@@ -5,7 +5,7 @@ module UiBibz::Ui::Concerns::NotificationConcern # :nodoc:
5
5
 
6
6
  included do
7
7
  def data_attributes
8
- self.class.const_get('DATA_ATTRIBUTES').filter_map do |data_attribute|
8
+ self.class.const_get(:DATA_ATTRIBUTES).filter_map do |data_attribute|
9
9
  options[data_attribute].to_s.blank? ? nil : { "data-bs-#{data_attribute}" => data_attribute_value(data_attribute) }
10
10
  end.reduce(&:merge) || {}
11
11
  end
@@ -92,7 +92,7 @@ module UiBibz::Ui::Core::Boxes
92
92
  include UiBibz::Ui::Concerns::CardItemableConcern
93
93
 
94
94
  # (see UiBibz::Ui::Core::Component#initialize)
95
- def initialize(content = nil, options = nil, html_options = nil, &block)
95
+ def initialize(...)
96
96
  super
97
97
  @items = @content.nil? ? [] : [UiBibz::Ui::Core::Boxes::Components::CardBody.new(@content).render]
98
98
  end
@@ -34,7 +34,7 @@ module UiBibz::Ui::Core::Boxes
34
34
  include UiBibz::Ui::Concerns::HtmlConcern
35
35
 
36
36
  # See UiBibz::Ui::Core::Component.initialize
37
- def initialize(content = nil, options = nil, html_options = nil, &block)
37
+ def initialize(...)
38
38
  super
39
39
  @items = []
40
40
  end
@@ -44,9 +44,9 @@ module UiBibz::Ui::Core::Boxes
44
44
  content_tag :div, @items.join.html_safe, html_options
45
45
  end
46
46
 
47
- def card(content = nil, options = nil, html_options = nil, &block)
47
+ def card(content = nil, options = nil, html_options = nil, &)
48
48
  content = (content || {}).merge({ parent_collapse: id })
49
- @items << UiBibz::Ui::Core::Boxes::Card.new(content, options, html_options).tap(&block).render
49
+ @items << UiBibz::Ui::Core::Boxes::Card.new(content, options, html_options).tap(&).render
50
50
  end
51
51
 
52
52
  private
@@ -60,7 +60,7 @@ module UiBibz::Ui::Core::Boxes
60
60
  end
61
61
 
62
62
  def component_html_options
63
- { id: id }
63
+ { id: }
64
64
  end
65
65
  end
66
66
  end
@@ -34,7 +34,7 @@ module UiBibz::Ui::Core::Boxes
34
34
  include UiBibz::Ui::Concerns::HtmlConcern
35
35
 
36
36
  # See UiBibz::Ui::Core::Component.initialize
37
- def initialize(content = nil, options = nil, html_options = nil, &block)
37
+ def initialize(...)
38
38
  super
39
39
  @items = []
40
40
  end
@@ -34,7 +34,7 @@ module UiBibz::Ui::Core::Boxes
34
34
  include UiBibz::Ui::Concerns::HtmlConcern
35
35
 
36
36
  # See UiBibz::Ui::Core::Component.initialize
37
- def initialize(content = nil, options = nil, html_options = nil, &block)
37
+ def initialize(...)
38
38
  super
39
39
  @items = []
40
40
  end
@@ -34,9 +34,6 @@ module UiBibz::Ui::Core::Boxes
34
34
  include UiBibz::Ui::Concerns::HtmlConcern
35
35
 
36
36
  # See UiBibz::Ui::Core::Component.initialize
37
- def initialize(content = nil, options = nil, html_options = nil, &block)
38
- super
39
- end
40
37
 
41
38
  # Render html tag
42
39
  def pre_render
@@ -34,7 +34,7 @@ module UiBibz::Ui::Core::Boxes
34
34
  include UiBibz::Ui::Concerns::HtmlConcern
35
35
 
36
36
  # See UiBibz::Ui::Core::Component.initialize
37
- def initialize(content = nil, options = nil, html_options = nil, &block)
37
+ def initialize(...)
38
38
  super
39
39
  @items = []
40
40
  end
@@ -38,7 +38,7 @@ module UiBibz::Ui::Core::Boxes::Components
38
38
  include UiBibz::Ui::Concerns::HtmlConcern
39
39
 
40
40
  # See UiBibz::Ui::Core::Component.initialize
41
- def initialize(content = nil, options = nil, html_options = nil, &block)
41
+ def initialize(...)
42
42
  super
43
43
  @items = [@content]
44
44
  end
@@ -54,20 +54,20 @@ module UiBibz::Ui::Core::Boxes::Components
54
54
  end
55
55
  end
56
56
 
57
- def title(content = nil, options = nil, html_options = nil, &block)
58
- @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyTitle.new(content, options, html_options, &block).render
57
+ def title(content = nil, options = nil, html_options = nil, &)
58
+ @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyTitle.new(content, options, html_options, &).render
59
59
  end
60
60
 
61
- def subtitle(content = nil, options = nil, html_options = nil, &block)
62
- @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodySubtitle.new(content, options, html_options, &block).render
61
+ def subtitle(content = nil, options = nil, html_options = nil, &)
62
+ @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodySubtitle.new(content, options, html_options, &).render
63
63
  end
64
64
 
65
- def link(content = nil, options = nil, html_options = nil, &block)
66
- @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyLink.new(content, options, html_options, &block).render
65
+ def link(content = nil, options = nil, html_options = nil, &)
66
+ @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyLink.new(content, options, html_options, &).render
67
67
  end
68
68
 
69
- def text(content = nil, options = nil, html_options = nil, &block)
70
- @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyText.new(content, options, html_options, &block).render
69
+ def text(content = nil, options = nil, html_options = nil, &)
70
+ @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyText.new(content, options, html_options, &).render
71
71
  end
72
72
 
73
73
  def row(content = nil, options = nil, html_options = nil, &block)
@@ -46,8 +46,8 @@ module UiBibz::Ui::Core::Boxes::Components
46
46
  include UiBibz::Ui::Concerns::CardItemableConcern
47
47
 
48
48
  # See UiBibz::Ui::Core::Component.initialize
49
- def initialize(content = nil, options = nil, html_options = nil, &block)
50
- content = { num: content } if content.is_a?(Integer)
49
+ def initialize(...)
50
+ { num: content } if content.is_a?(Integer)
51
51
  super
52
52
  @items = [@content]
53
53
  end
@@ -32,7 +32,7 @@ module UiBibz::Ui::Core::Boxes::Components
32
32
  #
33
33
  class CardListGroup < UiBibz::Ui::Core::Lists::ListGroup
34
34
  # See UiBibz::Ui::Core::Component.initialize
35
- def initialize(content = nil, options = nil, html_options = nil, &block)
35
+ def initialize(...)
36
36
  super
37
37
  @lists = []
38
38
  end
@@ -45,7 +45,7 @@ module UiBibz::Ui::Core::Boxes::Components
45
45
  #
46
46
  class CardRow < UiBibz::Ui::Core::Layouts::Row
47
47
  # See UiBibz::Ui::Core::Component.initialize
48
- def initialize(content = nil, options = nil, html_options = nil, &block)
48
+ def initialize(...)
49
49
  super
50
50
  @items = [@content]
51
51
  end
@@ -3,7 +3,6 @@
3
3
  require 'haml'
4
4
  require 'ui_bibz/ui/extensions/core/component/klass_extension'
5
5
  require 'ui_bibz/ui/extensions/core/component/glyph_extension'
6
- require 'ui_bibz/ui/extensions/core/component/popover_extension'
7
6
  module UiBibz::Ui::Core
8
7
  # Creates a component of the given +name+ using options created by the set of +options+.
9
8
  #
@@ -44,7 +43,6 @@ module UiBibz::Ui::Core
44
43
  class Component < UiBibz::Ui::Base
45
44
  include KlassExtension
46
45
  include GlyphExtension
47
- include PopoverExtension
48
46
 
49
47
  # Constants
50
48
  STATUSES = %i[primary secondary success danger warning info light dark].freeze
@@ -59,27 +57,13 @@ module UiBibz::Ui::Core
59
57
  # * Options of component is defined in hash options
60
58
  # * Html options is defined in hash html_options
61
59
  def initialize(content = nil, options = nil, html_options = nil, &block)
62
- if !block.nil?
63
- @tapped = tapped?(block)
64
- @html_options = options
65
- @options = content
66
- read_cache = Rails.cache.read(@options.try(:[], :cache))
67
- if read_cache.nil?
68
- context = eval('self', block.binding) # rubocop:disable Style/EvalWithLocation
69
- @content = context.capture(&block)
70
- else
71
- @content = read_cache
72
- end
73
- elsif content.is_a?(Hash)
74
- @html_options = options
75
- @options = content
76
- else
77
- @html_options = html_options
78
- @options = options
79
- @content = content
80
- end
81
- @html_options = (@html_options || {}).with_indifferent_access
82
- @options = (@options || {}).with_indifferent_access
60
+ component_initialize_factory_method = UiBibz::FactoryMethods::ComponentInitializeFactoryMethod.new(self, self.binding).make
61
+ @content = component_initialize_factory_method.content
62
+ @html_options = component_initialize_factory_method.html_options
63
+ @options = component_initialize_factory_method.options
64
+
65
+ @data_html_options_builder = UiBibz::Builders::DataHtmlOptionsBuilder.new(@html_options, @options)
66
+
83
67
  init_options
84
68
  init_component_html_options
85
69
  end
@@ -108,25 +92,7 @@ module UiBibz::Ui::Core
108
92
  end
109
93
 
110
94
  # Override this method to add html data
111
- def component_html_data
112
- # To stimulusjs
113
- data_target = html_options.try(:[], :data).try(:[], :target) || options.try(:delete, :target)
114
- add_html_data(:target, value: data_target) unless data_target.nil?
115
-
116
- data_controller = html_options.try(:[], :data).try(:[], :controller) || options.try(:delete, :controller)
117
- add_html_data(:controller, value: data_controller) unless data_controller.nil?
118
-
119
- data_action = html_options.try(:[], :data).try(:[], :action) || options.try(:delete, :action)
120
- add_html_data(:action, value: data_action) unless data_action.nil?
121
-
122
- # To turbolinks
123
- data_turbolinks = html_options.try(:[], :data).try(:[], :turbolinks) || options.try(:delete, :turbolinks)
124
- add_html_data(:turbolinks, value: data_turbolinks) unless data_turbolinks.nil?
125
-
126
- # To Turbo
127
- data_turbo = html_options.try(:[], :data).try(:[], :turbo) || options.try(:delete, :turbo)
128
- add_html_data(:turbo, value: data_turbo) unless data_turbo.nil?
129
- end
95
+ def component_html_data; end
130
96
 
131
97
  # Override this method to add html Options
132
98
  # Accept Hash
@@ -145,13 +111,6 @@ module UiBibz::Ui::Core
145
111
  []
146
112
  end
147
113
 
148
- # Add html data arguments
149
- def add_html_data(name, value: true)
150
- html_options[:data] = {} if html_options[:data].nil?
151
- value = value.strip if value.is_a?(String)
152
- html_options[:data].update({ name => value })
153
- end
154
-
155
114
  def disabled?
156
115
  options[:state] == :disabled || html_options[:disabled]
157
116
  end
@@ -181,20 +140,12 @@ module UiBibz::Ui::Core
181
140
  @options = component_options.merge(@options).with_indifferent_access
182
141
  end
183
142
 
184
- def initialize_component_html_data
185
- component_html_data
186
- popover_data_html
187
- tooltip_data_html
188
- end
189
-
190
- def initialize_component_html_options
191
- html_options.merge!(component_html_options)
192
- end
193
-
194
143
  def init_component_html_options
195
- initialize_component_html_data
196
- initialize_component_html_classes
197
- initialize_component_html_options
144
+ component_html_data
145
+ html_options_builder = UiBibz::Builders::HtmlOptionsBuilder.new(@data_html_options_builder.output, options)
146
+ html_options_builder.initialize_component_html_classes initialize_component_html_classes
147
+ html_options_builder.initialize_component_html_options component_html_options
148
+ @html_options = html_options_builder.html_options
198
149
  end
199
150
  end
200
151
  end
@@ -52,6 +52,8 @@ module UiBibz::Ui::Core::Forms::Buttons
52
52
  # content
53
53
  # end
54
54
  class Button < UiBibz::Ui::Core::Component
55
+ include GlyphExtension
56
+
55
57
  # Render html tag
56
58
  def pre_render
57
59
  button_html_tag
@@ -107,7 +109,7 @@ module UiBibz::Ui::Core::Forms::Buttons
107
109
  end
108
110
 
109
111
  def action
110
- add_html_data('action', value: options[:action]) unless options[:action].nil?
112
+ @data_html_options_builder.add('action', value: options[:action])
111
113
  end
112
114
 
113
115
  def badge_html
@@ -50,7 +50,7 @@ module UiBibz::Ui::Core::Forms::Buttons
50
50
  include UiBibz::Ui::Concerns::HtmlConcern
51
51
 
52
52
  # See UiBibz::Ui::Core::Component.initialize
53
- def initialize(content = nil, options = nil, html_options = nil, &block)
53
+ def initialize(...)
54
54
  super
55
55
  @items = []
56
56
  end
@@ -80,28 +80,28 @@ module UiBibz::Ui::Core::Forms::Buttons
80
80
  @items << ButtonLink.new(content, options, html_options, &block)
81
81
  end
82
82
 
83
- def dropdown(content, options = {}, html_options = nil, &block)
83
+ def dropdown(content, options = {}, html_options = nil, &)
84
84
  options = @options.merge(options)
85
- @items << ButtonGroupDropdown.new(content, options, html_options).tap(&block)
85
+ @items << ButtonGroupDropdown.new(content, options, html_options).tap(&)
86
86
  end
87
87
 
88
- def split_dropdown(content, options = {}, html_options = nil, &block)
88
+ def split_dropdown(content, options = {}, html_options = nil, &)
89
89
  options = @options.merge(options)
90
- @items << ButtonGroupSplitDropdown.new(content, options, html_options).tap(&block)
90
+ @items << ButtonGroupSplitDropdown.new(content, options, html_options).tap(&)
91
91
  end
92
92
 
93
- def input(attribute_name, options = {}, &block)
93
+ def input(attribute_name, options = {}, &)
94
94
  options = @options.merge(options)
95
95
 
96
- @items << @options[:form].input(attribute_name, options.merge({ label: false, wrapper: false }), &block)
96
+ @items << @options[:form].input(attribute_name, options.merge({ label: false, wrapper: false }), &)
97
97
  end
98
98
 
99
- def html(content = nil, options = nil, html_options = nil, &block)
100
- @items << UiBibz::Ui::Core::Component.new(content, options, html_options, &block)
99
+ def html(content = nil, options = nil, html_options = nil, &)
100
+ @items << UiBibz::Ui::Core::Component.new(content, options, html_options, &)
101
101
  end
102
102
 
103
- def choice_group(content = nil, options = nil, html_options = nil, &block)
104
- @items << UiBibz::Ui::Core::Forms::Choices::ChoiceGroup.new(content, options, html_options).tap(&block)
103
+ def choice_group(content = nil, options = nil, html_options = nil, &)
104
+ @items << UiBibz::Ui::Core::Forms::Choices::ChoiceGroup.new(content, options, html_options).tap(&)
105
105
  end
106
106
 
107
107
  private
@@ -88,7 +88,7 @@ module UiBibz::Ui::Core::Forms::Choices
88
88
 
89
89
  # '', 'mini', 'small', 'normal', 'large'
90
90
  def size
91
- add_html_data('size', value: matching_size[options[:size]]) unless options[:size].nil?
91
+ @data_html_options_builder.add('size', value: matching_size[options[:size]])
92
92
  end
93
93
 
94
94
  def matching_size
@@ -97,7 +97,7 @@ module UiBibz::Ui::Core::Forms::Choices
97
97
 
98
98
  # true, false => default : true
99
99
  def animate
100
- add_html_data('animate', value: options.delete(:animate)) unless options[:animate].nil?
100
+ @data_html_options_builder.add('animate', value: options.delete(:animate)) unless options[:animate].nil?
101
101
  end
102
102
 
103
103
  # active, disabled => default : active
@@ -107,27 +107,27 @@ module UiBibz::Ui::Core::Forms::Choices
107
107
 
108
108
  # 'primary', 'info', 'success', 'warning', 'danger', 'default' => default : default
109
109
  def left_color
110
- add_html_data('on_color', value: options[:left_color]) unless options[:left_color].nil?
110
+ @data_html_options_builder.add('on_color', value: options[:left_color])
111
111
  end
112
112
 
113
113
  # 'primary', 'info', 'success', 'warning', 'danger', 'default' => default : default
114
114
  def right_color
115
- add_html_data('off_color', value: options[:right_color]) unless options[:right_color].nil?
115
+ @data_html_options_builder.add('off_color', value: options[:right_color])
116
116
  end
117
117
 
118
118
  # String => default : "ON"
119
119
  def left_text
120
- add_html_data('on_text', value: options[:left_text]) unless options[:left_text].nil?
120
+ @data_html_options_builder.add('on_text', value: options[:left_text])
121
121
  end
122
122
 
123
123
  # String => default : "OFF"
124
124
  def right_text
125
- add_html_data('off_text', value: options[:right_text]) unless options[:right_text].nil?
125
+ @data_html_options_builder.add('off_text', value: options[:right_text])
126
126
  end
127
127
 
128
128
  # String => default : '&nbsp;'
129
129
  def middle_text
130
- add_html_data('label_text', value: options[:middle_text]) unless options[:middle_text].nil?
130
+ @data_html_options_builder.add('label_text', value: options[:middle_text])
131
131
  end
132
132
 
133
133
  def inline
@@ -65,13 +65,13 @@ module UiBibz::Ui::Core::Forms::Choices
65
65
 
66
66
  def wrapper_html_options
67
67
  (options[:wrapper_html] || {}).tap do |option|
68
- option[:class] = UiBibz::Utils::Screwdriver.join_classes(wrapper_classes, inline, options[:wrapper_html].try(:[], :class))
68
+ option[:class] = UiBibz::Builders::HtmlClassesBuilder.join_classes(wrapper_classes, inline, options[:wrapper_html].try(:[], :class))
69
69
  end
70
70
  end
71
71
 
72
72
  def label_html_options
73
73
  (options[:label_html] || {}).tap do |option|
74
- option[:class] = UiBibz::Utils::Screwdriver.join_classes(label_classes, options[:label_html].try(:[], :class))
74
+ option[:class] = UiBibz::Builders::HtmlClassesBuilder.join_classes(label_classes, options[:label_html].try(:[], :class))
75
75
  end
76
76
  end
77
77
 
@@ -52,7 +52,7 @@ module UiBibz::Ui::Core::Forms::Choices
52
52
 
53
53
  # See UiBibz::Ui::Core::Forms::Choices::Button.initialize
54
54
  #
55
- def initialize(content = nil, options = nil, html_options = nil, &block)
55
+ def initialize(...)
56
56
  super
57
57
  @items = []
58
58
  @errors = []
@@ -72,14 +72,14 @@ module UiBibz::Ui::Core::Forms::Choices
72
72
  @items << Choice.new(content, opts, html_options, &block)
73
73
  end
74
74
 
75
- def input(attribute_name, options = {}, &block)
75
+ def input(attribute_name, options = {}, &)
76
76
  new_options = options.merge(old_label: options[:label], label: false, wrapper: false, error: false)
77
77
  new_options = new_options.merge(name: @radio_name, type: :radio) if @options[:type] == :radio
78
78
 
79
- @items << @options[:form].input(attribute_name, new_options, &block)
79
+ @items << @options[:form].input(attribute_name, new_options, &)
80
80
  obj = @options[:form].object
81
81
  @errors << obj.errors[attribute_name] unless obj.errors[attribute_name].empty?
82
- @required_fields << (obj._validators[attribute_name].try(:first).class.to_s == 'ActiveRecord::Validations::PresenceValidator')
82
+ @required_fields << (obj._validators[attribute_name].try(:first).instance_of?(::ActiveRecord::Validations::PresenceValidator))
83
83
  end
84
84
 
85
85
  private
@@ -93,8 +93,7 @@ module UiBibz::Ui::Core::Forms::Choices
93
93
  end
94
94
 
95
95
  def component_html_data
96
- super
97
- add_html_data 'toggle', value: 'buttons' if @options[:form].nil?
96
+ @data_html_options_builder.add('toggle', value: 'buttons') if @options[:form].nil?
98
97
  end
99
98
  end
100
99
  end
@@ -61,7 +61,7 @@ module UiBibz::Ui::Core::Forms::Choices
61
61
  end
62
62
 
63
63
  def input_options
64
- @input_options ||= { type: type, autocomplete: :off, class: 'btn-check' }
64
+ @input_options ||= { type:, autocomplete: :off, class: 'btn-check' }
65
65
  .merge(checked)
66
66
  .merge(value)
67
67
  .merge(name)
@@ -95,15 +95,15 @@ module UiBibz::Ui::Core::Forms::Dates
95
95
  end
96
96
 
97
97
  def date_locale
98
- add_html_data 'date_locale', value: I18n.locale.to_s
98
+ @data_html_options_builder.add 'date_locale', value: I18n.locale.to_s
99
99
  end
100
100
 
101
101
  def provide
102
- add_html_data 'provide', value: 'datepicker'
102
+ @data_html_options_builder.add 'provide', value: 'datepicker'
103
103
  end
104
104
 
105
105
  def format
106
- add_html_data 'date_format', value: picker_pattern
106
+ @data_html_options_builder.add 'date_format', value: picker_pattern
107
107
  end
108
108
 
109
109
  def picker_pattern
@@ -111,51 +111,51 @@ module UiBibz::Ui::Core::Forms::Dates
111
111
  end
112
112
 
113
113
  def today_btn
114
- add_html_data 'date_today_btn', value: 'linked'
114
+ @data_html_options_builder.add 'date_today_btn', value: 'linked'
115
115
  end
116
116
 
117
117
  def today_highlight
118
- add_html_data('date_today_highlight') if options[:today_highlight]
118
+ @data_html_options_builder.add('date_today_highlight') if options[:today_highlight]
119
119
  end
120
120
 
121
121
  def calendar_weeks
122
- add_html_data('date_calendar_weeks') if options[:calendar_weeks]
122
+ @data_html_options_builder.add('date_calendar_weeks') if options[:calendar_weeks]
123
123
  end
124
124
 
125
125
  def autoclose
126
- add_html_data('date_autoclose') if options[:autoclose]
126
+ @data_html_options_builder.add('date_autoclose') if options[:autoclose]
127
127
  end
128
128
 
129
129
  def dates_disabled
130
- add_html_data('dates_disabled', value: [options[:dates_disabled]].flatten) if options[:dates_disabled]
130
+ @data_html_options_builder.add('dates_disabled', value: [options[:dates_disabled]].flatten) if options[:dates_disabled]
131
131
  end
132
132
 
133
133
  def toggle_active
134
- add_html_data('date_toggle_active')
134
+ @data_html_options_builder.add('date_toggle_active')
135
135
  end
136
136
 
137
137
  def display_mode
138
- add_html_data('date_start_view', value: views[options[:display_mode]]) if options[:display_mode]
138
+ @data_html_options_builder.add('date_start_view', value: views[options[:display_mode]]) if options[:display_mode]
139
139
  end
140
140
 
141
141
  def display_mode_min
142
- add_html_data('date_min_view_mode', value: views[options[:display_mode_min]]) if options[:display_mode_min]
142
+ @data_html_options_builder.add('date_min_view_mode', value: views[options[:display_mode_min]]) if options[:display_mode_min]
143
143
  end
144
144
 
145
145
  def display_mode_max
146
- add_html_data('date_max_view_mode', value: views[options[:display_mode_max]]) if options[:display_mode_max]
146
+ @data_html_options_builder.add('date_max_view_mode', value: views[options[:display_mode_max]]) if options[:display_mode_max]
147
147
  end
148
148
 
149
149
  def days_of_week_disabled
150
- add_html_data('date_days_of_week_disabled', value: [options[:days_of_week_disabled]].flatten) if options[:days_of_week_disabled]
150
+ @data_html_options_builder.add('date_days_of_week_disabled', value: [options[:days_of_week_disabled]].flatten) if options[:days_of_week_disabled]
151
151
  end
152
152
 
153
153
  def days_of_week_highlighted
154
- add_html_data('date_days_of_week_highlighted', value: [options[:days_of_week_highlighted]].flatten) if options[:days_of_week_highlighted]
154
+ @data_html_options_builder.add('date_days_of_week_highlighted', value: [options[:days_of_week_highlighted]].flatten) if options[:days_of_week_highlighted]
155
155
  end
156
156
 
157
157
  def multiple
158
- add_html_data('date_multidate', value: options[:multiple]) if options[:multiple]
158
+ @data_html_options_builder.add('date_multidate', value: options[:multiple])
159
159
  end
160
160
 
161
161
  # :lg, :sm or :xs
@@ -42,7 +42,7 @@ module UiBibz::Ui::Core::Forms::Dropdowns::Components
42
42
  #
43
43
  class DropdownLink < UiBibz::Ui::Core::Component
44
44
  # See UiBibz::Ui::Core::Component.initialize
45
- def initialize(content = nil, options = nil, html_options = nil, &block)
45
+ def initialize(...)
46
46
  super
47
47
  @html_options = @html_options.merge(link_html_options)
48
48
  end
@@ -70,7 +70,7 @@ module UiBibz::Ui::Core::Forms::Dropdowns
70
70
  class Dropdown < UiBibz::Ui::Core::Component
71
71
  include UiBibz::Ui::Concerns::HtmlConcern
72
72
 
73
- def initialize(content, options = nil, html_options = nil, &block)
73
+ def initialize(...)
74
74
  super
75
75
  @items = []
76
76
  @status = @options.delete(:status)
@@ -86,8 +86,8 @@ module UiBibz::Ui::Core::Forms::Dropdowns
86
86
 
87
87
  # Add dropdown header
88
88
  # See UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownHeader
89
- def header(content = nil, options = nil, html_options = nil, &block)
90
- @items << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownHeader.new(content, options, html_options, &block).render
89
+ def header(content = nil, options = nil, html_options = nil, &)
90
+ @items << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownHeader.new(content, options, html_options, &).render
91
91
  end
92
92
 
93
93
  # Add dropdown Separator
@@ -98,8 +98,8 @@ module UiBibz::Ui::Core::Forms::Dropdowns
98
98
 
99
99
  # Add dropdown link in list
100
100
  # See UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink
101
- def link(content = nil, options = nil, html_options = nil, &block)
102
- @items << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(content, options, html_options, &block).render
101
+ def link(content = nil, options = nil, html_options = nil, &)
102
+ @items << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(content, options, html_options, &).render
103
103
  end
104
104
 
105
105
  def id
@@ -74,7 +74,7 @@ module UiBibz::Ui::Core::Forms::Numbers
74
74
  end
75
75
 
76
76
  def range_html_options
77
- { max: options[:max] || 100, min: options[:min] || 0, step: options[:step] || 1, disabled: disabled }
77
+ { max: options[:max] || 100, min: options[:min] || 0, step: options[:step] || 1, disabled: }
78
78
  end
79
79
 
80
80
  def not_on_hundred_percent?