ui_bibz 2.5.2 → 3.0.0.alpha3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (288) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +2 -2
  3. data/.gitignore +3 -2
  4. data/.rubocop.yml +125 -2
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/Gemfile +1 -0
  8. data/Gemfile.lock +110 -103
  9. data/README.md +9 -52
  10. data/Rakefile +3 -2
  11. data/bin/test +7 -0
  12. data/config/initializers/will_paginate.rb +2 -1
  13. data/lib/ui_bibz.rb +17 -2
  14. data/lib/ui_bibz/concerns/models/searchable.rb +3 -3
  15. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -1
  16. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +18 -0
  17. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +10 -2
  18. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +1 -1
  19. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +9 -5
  20. data/lib/ui_bibz/helpers/ui/ux_helper.rb +2 -6
  21. data/lib/ui_bibz/infos.rb +11 -5
  22. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +15 -2
  23. data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +4 -7
  24. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +6 -9
  25. data/lib/ui_bibz/inputs/ui_bibz_inputs/string_input.rb +1 -1
  26. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_field_input.rb +23 -0
  27. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input.rb +3 -2
  28. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input.rb +3 -2
  29. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_slider_field_input.rb +12 -0
  30. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +8 -2
  31. data/lib/ui_bibz/rails/engine.rb +2 -13
  32. data/lib/ui_bibz/railtie.rb +6 -0
  33. data/lib/ui_bibz/ui/concerns/card_itemable_concern.rb +65 -0
  34. data/lib/ui_bibz/ui/concerns/html_concern.rb +16 -0
  35. data/lib/ui_bibz/ui/core/boxes/card.rb +5 -50
  36. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +2 -0
  37. data/lib/ui_bibz/ui/core/boxes/card_column.rb +3 -1
  38. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +3 -1
  39. data/lib/ui_bibz/ui/core/boxes/card_grid.rb +60 -0
  40. data/lib/ui_bibz/ui/core/boxes/card_group.rb +3 -1
  41. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +0 -3
  42. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_subtitle.rb +47 -0
  43. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +0 -3
  44. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +1 -4
  45. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +7 -0
  46. data/lib/ui_bibz/ui/core/boxes/components/card_col.rb +65 -0
  47. data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +0 -3
  48. data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +2 -4
  49. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +0 -3
  50. data/lib/ui_bibz/ui/core/boxes/components/card_row.rb +65 -0
  51. data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +0 -4
  52. data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +1 -4
  53. data/lib/ui_bibz/ui/core/component.rb +16 -9
  54. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +1 -1
  55. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +9 -11
  56. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +0 -3
  57. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +0 -3
  58. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +0 -3
  59. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +7 -10
  60. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +8 -7
  61. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +22 -2
  62. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +24 -12
  63. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +11 -6
  64. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +1 -5
  65. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +12 -15
  66. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +0 -1
  67. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +0 -3
  68. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +8 -13
  69. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +0 -3
  70. data/lib/ui_bibz/ui/core/forms/files/file_field.rb +20 -10
  71. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +16 -8
  72. data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +20 -3
  73. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +33 -5
  74. data/lib/ui_bibz/ui/core/forms/numbers/slider_field.rb +132 -0
  75. data/lib/ui_bibz/ui/core/forms/numbers/slider_header.rb +71 -0
  76. data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +0 -3
  77. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +6 -9
  78. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +0 -3
  79. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +0 -3
  80. data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +2 -5
  81. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +1 -4
  82. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +0 -3
  83. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +0 -3
  84. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +0 -3
  85. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +1 -12
  86. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +9 -4
  87. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +0 -3
  88. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +9 -4
  89. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +0 -3
  90. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +1 -4
  91. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -7
  92. data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +2 -5
  93. data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +0 -3
  94. data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +0 -3
  95. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +1 -4
  96. data/lib/ui_bibz/ui/core/icons/glyph.rb +1 -4
  97. data/lib/ui_bibz/ui/core/icons/star.rb +0 -3
  98. data/lib/ui_bibz/ui/core/layouts/col.rb +5 -42
  99. data/lib/ui_bibz/ui/core/layouts/container.rb +9 -6
  100. data/lib/ui_bibz/ui/core/layouts/row.rb +32 -2
  101. data/lib/ui_bibz/ui/core/lists/components/list.rb +6 -8
  102. data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +0 -3
  103. data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +0 -3
  104. data/lib/ui_bibz/ui/core/lists/list_group.rb +9 -6
  105. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +3 -2
  106. data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +0 -3
  107. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +1 -4
  108. data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +3 -1
  109. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +14 -5
  110. data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +0 -4
  111. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +1 -4
  112. data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +0 -3
  113. data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +0 -3
  114. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +4 -4
  115. data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +1 -4
  116. data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +0 -3
  117. data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +0 -3
  118. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +3 -3
  119. data/lib/ui_bibz/ui/core/navigations/link.rb +0 -3
  120. data/lib/ui_bibz/ui/core/navigations/nav.rb +37 -10
  121. data/lib/ui_bibz/ui/core/navigations/navbar.rb +28 -7
  122. data/lib/ui_bibz/ui/core/navigations/pagination.rb +3 -1
  123. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +10 -5
  124. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +2 -0
  125. data/lib/ui_bibz/ui/core/notifications/alert.rb +2 -2
  126. data/lib/ui_bibz/ui/core/notifications/badge.rb +2 -5
  127. data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +0 -3
  128. data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +4 -10
  129. data/lib/ui_bibz/ui/core/notifications/components/bar.rb +0 -3
  130. data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +0 -3
  131. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +1 -6
  132. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +7 -5
  133. data/lib/ui_bibz/ui/core/notifications/spinner.rb +0 -3
  134. data/lib/ui_bibz/ui/core/notifications/toast.rb +14 -3
  135. data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +0 -3
  136. data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +0 -3
  137. data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +1 -7
  138. data/lib/ui_bibz/ui/core/windows/modal.rb +61 -14
  139. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +4 -2
  140. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +9 -9
  141. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +2 -2
  142. data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +0 -3
  143. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +2 -0
  144. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +2 -0
  145. data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +0 -3
  146. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +2 -0
  147. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +1 -4
  148. data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +0 -4
  149. data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +0 -3
  150. data/lib/ui_bibz/ui/ux/containers/panel.rb +4 -2
  151. data/lib/ui_bibz/ui/ux/tables/components/thead.rb +0 -3
  152. data/lib/ui_bibz/ui/ux/tables/table.rb +2 -4
  153. data/lib/ui_bibz/ui/ux/tables/table_card.rb +4 -3
  154. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +5 -5
  155. data/lib/ui_bibz/utils/breakdown_class_name_generator.rb +69 -0
  156. data/lib/ui_bibz/utils/internationalization.rb +1 -1
  157. data/lib/ui_bibz/utils/screwdriver.rb +16 -10
  158. data/package.json +5 -0
  159. data/test/dummy/Rakefile +1 -1
  160. data/test/dummy/app/javascripts/packs/index.js +3 -0
  161. data/test/dummy/app/models/user.rb +1 -0
  162. data/test/dummy/app/views/layouts/application.html.erb +4 -1
  163. data/{app/ui/.keep → test/dummy/app/views/users/index.html.erb} +0 -0
  164. data/test/dummy/bin/setup +17 -13
  165. data/test/dummy/config.ru +2 -1
  166. data/test/dummy/config/application.rb +1 -0
  167. data/test/dummy/config/cable.yml +10 -0
  168. data/test/dummy/config/database.yml +1 -1
  169. data/test/dummy/config/environment.rb +1 -1
  170. data/test/dummy/config/environments/development.rb +33 -12
  171. data/test/dummy/config/environments/production.rb +52 -19
  172. data/test/dummy/config/environments/test.rb +18 -12
  173. data/test/dummy/config/initializers/application_controller_renderer.rb +9 -0
  174. data/test/dummy/config/initializers/assets.rb +4 -3
  175. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -1
  176. data/test/dummy/config/initializers/content_security_policy.rb +29 -0
  177. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  178. data/test/dummy/config/initializers/inflections.rb +0 -1
  179. data/test/dummy/config/initializers/mime_types.rb +0 -1
  180. data/test/dummy/config/initializers/wrap_parameters.rb +2 -2
  181. data/test/dummy/config/puma.rb +40 -0
  182. data/test/dummy/config/routes.rb +3 -0
  183. data/test/dummy/config/spring.rb +8 -0
  184. data/test/dummy/config/storage.yml +34 -0
  185. data/test/dummy/db/migrate/20150123191805_create_users.rb +1 -1
  186. data/test/dummy/db/schema.rb +24 -24
  187. data/test/dummy/public/404.html +6 -6
  188. data/test/dummy/public/422.html +6 -6
  189. data/test/dummy/public/500.html +6 -6
  190. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  191. data/test/dummy/public/apple-touch-icon.png +0 -0
  192. data/test/dummy/storage/.keep +0 -0
  193. data/test/simple_form_test.rb +45 -22
  194. data/test/store_test.rb +5 -5
  195. data/test/test_helper.rb +18 -9
  196. data/test/ui/core/boxes/card_grid_test.rb +17 -0
  197. data/test/ui/core/boxes/card_test.rb +45 -11
  198. data/test/ui/core/boxes/jumbotron_test.rb +2 -2
  199. data/test/ui/core/component_test.rb +1 -1
  200. data/test/ui/core/forms/buttons/button_link_test.rb +1 -1
  201. data/test/ui/core/forms/buttons/button_test.rb +2 -2
  202. data/test/ui/core/forms/choices/checkbox_field_test.rb +1 -1
  203. data/test/ui/core/forms/choices/choice_group_test.rb +11 -9
  204. data/test/ui/core/forms/choices/radio_field_test.rb +1 -1
  205. data/test/ui/core/forms/dates/date_picker_field_test.rb +1 -1
  206. data/test/ui/core/forms/files/file_field_test.rb +12 -0
  207. data/test/ui/core/forms/numbers/formula_field_test.rb +1 -1
  208. data/test/ui/core/forms/numbers/range_field_test.rb +23 -2
  209. data/test/ui/core/forms/numbers/slider_field_test.rb +26 -0
  210. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +10 -10
  211. data/test/ui/core/forms/selects/multi_column_field_test.rb +1 -1
  212. data/test/ui/core/forms/selects/multi_select_field_test.rb +2 -2
  213. data/test/ui/core/forms/selects/select_field_test.rb +3 -3
  214. data/test/ui/core/forms/surrounds/surround_field_test.rb +15 -3
  215. data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +1 -1
  216. data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -8
  217. data/test/ui/core/forms/texts/text_field_test.rb +2 -2
  218. data/test/ui/core/layouts/col_test.rb +11 -2
  219. data/test/ui/core/layouts/container_test.rb +15 -1
  220. data/test/ui/core/layouts/row_test.rb +68 -3
  221. data/test/ui/core/lists/list_group_test.rb +1 -1
  222. data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
  223. data/test/ui/core/navigations/link_test.rb +1 -1
  224. data/test/ui/core/navigations/nav_test.rb +11 -0
  225. data/test/ui/core/navigations/navbar_test.rb +4 -4
  226. data/test/ui/core/notifications/alert_test.rb +2 -2
  227. data/test/ui/core/notifications/badge_test.rb +3 -3
  228. data/test/ui/core/notifications/progress_bar_test.rb +1 -1
  229. data/test/ui/core/notifications/toast_test.rb +10 -1
  230. data/test/ui/core/windows/modal_test.rb +15 -1
  231. data/test/ui/utils/breakdown_class_name_generator_test.rb +60 -0
  232. data/test/ui/ux/containers/panel_test.rb +5 -5
  233. data/test/ui/ux/tables/table_test.rb +6 -6
  234. data/test/ui_bibz_test.rb +1 -1
  235. data/ui_bibz.gemspec +17 -17
  236. data/vendor/assets/fonts/fa-brands-400.eot +0 -0
  237. data/vendor/assets/fonts/fa-brands-400.svg +2 -2
  238. data/vendor/assets/fonts/fa-brands-400.ttf +0 -0
  239. data/vendor/assets/fonts/fa-brands-400.woff +0 -0
  240. data/vendor/assets/fonts/fa-brands-400.woff2 +0 -0
  241. data/vendor/assets/fonts/fa-regular-400.eot +0 -0
  242. data/vendor/assets/fonts/fa-regular-400.svg +2 -2
  243. data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
  244. data/vendor/assets/fonts/fa-regular-400.woff +0 -0
  245. data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
  246. data/vendor/assets/fonts/fa-solid-900.eot +0 -0
  247. data/vendor/assets/fonts/fa-solid-900.svg +241 -3
  248. data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
  249. data/vendor/assets/fonts/fa-solid-900.woff +0 -0
  250. data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
  251. data/vendor/assets/javascripts/all.js +57 -7
  252. data/vendor/assets/javascripts/all.min.js +2 -2
  253. data/vendor/assets/stylesheets/all.min.css +2 -2
  254. data/vendor/assets/stylesheets/fontawesome/_icons.scss +31 -0
  255. data/vendor/assets/stylesheets/fontawesome/_variables.scss +34 -3
  256. data/vendor/assets/stylesheets/fontawesome/brands.scss +1 -1
  257. data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +1 -1
  258. data/vendor/assets/stylesheets/fontawesome/regular.scss +1 -1
  259. data/vendor/assets/stylesheets/fontawesome/solid.scss +1 -1
  260. data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +1 -1
  261. metadata +101 -107
  262. data/.rubocop_todo.yml +0 -25
  263. data/app/assets/javascripts/fix_bootstrap.coffee +0 -7
  264. data/app/assets/javascripts/form.coffee +0 -83
  265. data/app/assets/javascripts/formula.coffee +0 -69
  266. data/app/assets/javascripts/input-connected.coffee +0 -101
  267. data/app/assets/javascripts/interface.coffee +0 -55
  268. data/app/assets/javascripts/jquery.multi-select-extend.coffee +0 -38
  269. data/app/assets/javascripts/table.coffee +0 -36
  270. data/app/assets/javascripts/ui_bibz.coffee.erb +0 -75
  271. data/app/assets/stylesheets/_custom_variables.sass +0 -20
  272. data/app/assets/stylesheets/_panel.scss +0 -315
  273. data/app/assets/stylesheets/bootstrap-switch.sass +0 -159
  274. data/app/assets/stylesheets/boxes.sass +0 -5
  275. data/app/assets/stylesheets/containers.sass +0 -2
  276. data/app/assets/stylesheets/fix-bootstrap-4.sass +0 -19
  277. data/app/assets/stylesheets/fix_addon.sass +0 -217
  278. data/app/assets/stylesheets/forms.sass +0 -91
  279. data/app/assets/stylesheets/navigations.sass +0 -17
  280. data/app/assets/stylesheets/notifications.sass +0 -42
  281. data/app/assets/stylesheets/tables.sass +0 -66
  282. data/app/assets/stylesheets/ui_bibz.sass.erb +0 -55
  283. data/lib/generators/ui_bibz/install_generator.rb +0 -17
  284. data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +0 -5
  285. data/lib/ui_bibz/ui/core/icons/glyph_group.rb +0 -101
  286. data/test/dummy/bin/bundle +0 -5
  287. data/test/ui/core/forms/files/text_field_test.rb +0 -12
  288. data/test/ui/core/icons/glyph_group_test.rb +0 -37
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ![Ui Bibz logo](https://repository-images.githubusercontent.com/29547689/3b149e00-a3f6-11e9-9144-e96702055f08)
1
+ ![Ui Bibz logo](https://repository-images.githubusercontent.com/29547689/e29b2180-0d59-11eb-89f3-4541571d7c67)
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/ui_bibz.svg)](http://badge.fury.io/rb/ui_bibz)
4
4
  [![Build Status](https://travis-ci.org/thooams/Ui-Bibz.svg)](https://travis-ci.org/thooams/Ui-Bibz)
@@ -6,63 +6,20 @@
6
6
  [![Test Coverage](https://codeclimate.com/github/thooams/Ui-Bibz/badges/coverage.svg)](https://codeclimate.com/github/thooams/Ui-Bibz)
7
7
  [![Inline docs](http://inch-ci.org/github/thooams/Ui-Bibz.svg?branch=master)](http://inch-ci.org/github/thooams/Ui-Bibz)
8
8
  [![security](https://hakiri.io/github/thooams/Ui-Bibz/master.svg)](https://hakiri.io/github/thooams/Ui-Bibz/master)
9
- [![Dependency Status](https://gemnasium.com/thooams/Ui-Bibz.svg)](https://gemnasium.com/thooams/Ui-Bibz)
10
9
  ![Ruby](https://github.com/thooams/Ui-Bibz/workflows/Ruby/badge.svg)
11
10
 
12
11
  This project rocks and uses MIT-LICENSE.
13
12
 
14
13
  # Ui Bibz
15
- > Ui Bibz is a [Ui framework](http://fr.wikipedia.org/wiki/Framework_d%27interface)
16
- > to allow build an interface very quickly and simply
17
- > using [Ruby on Rails 4](http://rubyonrails.org/) and [Boostrap 4](http://getbootstrap.com/).
18
-
19
- Ui Bibz load [boostrap](http://getbootstrap.com/) and [awesomefont](http://fontawesome.io/).
14
+ > Ui Bibz is an [Ui framework](https://en.wikipedia.org/wiki/CSS_framework)
15
+ > that allows you to build an interface very quickly and simply
16
+ > using [Ruby on Rails 6](http://rubyonrails.org/) and [Boostrap 5](http://getbootstrap.com/).
20
17
 
18
+ Ui Bibz load [Bootstrap](http://getbootstrap.com/) and [Font Awesome](http://fontawesome.io/).
21
19
 
22
20
  ## Documentation
23
- Full documentation is here :
24
- [Ui Bibz](http://hummel.link/Ui-Bibz/)
25
-
26
-
27
- ## Installation
28
-
29
- Add it to your Gemfile
30
- For bootstrap v4:
31
-
32
- ```
33
- gem 'ui_bibz'
34
- ```
35
-
36
- For bootstrap v3:
37
-
38
- ```
39
- gem 'ui_bibz', '~> 1.2.5.3'
40
- ```
41
-
42
- Run the following command to install it:
43
-
44
- ```
45
- bundle install
46
- ```
47
-
48
- ## Configuration
49
-
50
- Put this line in: /app/assets/stylesheets/applications.css
51
-
52
- ```
53
- *= require ui_bibz
54
- ```
55
-
56
- Put this line in: /app/assets/javascripts/applications.js
57
-
58
- ```
59
- //= require ui_bibz
60
- ```
61
-
62
- Ps: You can use sass variables into Boostrap.
63
-
64
- ## And after
65
-
66
- * See documentation [here](https://ui-bibz-documentation.herokuapp.com/) for boostrap 4.
67
- * See documentation [here](http://hummel.link/Ui-Bibz/1.2.5/) for boostrap 3.
21
+ Full documentation is here with bootstrap 5:
22
+ [Ui Bibz v3](http://hummel.link/Ui-Bibz/docs/v3/)
68
23
 
24
+ Older documentation is here with bootstrap 4:
25
+ [Ui Bibz v2.5](http://hummel.link/Ui-Bibz/docs/v2.5/)
data/Rakefile CHANGED
@@ -7,8 +7,8 @@ rescue LoadError
7
7
  end
8
8
 
9
9
  require 'rdoc/task'
10
- # Maintain your gem's version:
11
10
  require 'ui_bibz/infos'
11
+
12
12
  RDoc::Task.new(:rdoc) do |rdoc|
13
13
  rdoc.main = 'README.md'
14
14
  rdoc.rdoc_dir = "rdoc-v#{UiBibz::VERSION}"
@@ -22,9 +22,10 @@ RDoc::Task.new(:rdoc) do |rdoc|
22
22
  rdoc.rdoc_files.include('lib/ui_bibz/helpers/*.rb')
23
23
  end
24
24
 
25
- Bundler::GemHelper.install_tasks
25
+ require 'bundler/gem_tasks'
26
26
 
27
27
  require 'rake/testtask'
28
+
28
29
  Rake::TestTask.new(:test) do |t|
29
30
  t.libs << 'lib'
30
31
  t.libs << 'test'
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ $LOAD_PATH << File.expand_path('../test', __dir__)
5
+
6
+ require 'bundler/setup'
7
+ require 'rails/plugin/test'
@@ -49,7 +49,8 @@ module WillPaginate
49
49
  if page == current_page
50
50
  tag :li, tag(:span, page, class: 'page-link'), class: 'page-item active'
51
51
  else
52
- link_options.merge! class: 'page-link', rel: rel_value(page)
52
+ link_options[:class] = 'page-link'
53
+ link_options[:rel] = rel_value(page)
53
54
  tag :li, link(page, page, link_options), class: 'page-item'
54
55
  end
55
56
  end
@@ -4,6 +4,10 @@ require 'action_view'
4
4
  require 'will_paginate'
5
5
  require 'will-paginate-i18n'
6
6
 
7
+ # require "zeitwerk"
8
+ # loader = Zeitwerk::Loader.for_gem
9
+ # loader.setup # ready!
10
+ #
7
11
  module UiBibzForm
8
12
  autoload :UiBibzFormBuilder, 'ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder'
9
13
  end
@@ -14,6 +18,7 @@ module UiBibzInputs
14
18
  autoload :StringInput, 'ui_bibz/inputs/ui_bibz_inputs/string_input'
15
19
  autoload :UiAutoCompleteFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input'
16
20
  autoload :UiChoiceGroupInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input'
21
+ autoload :UiChoiceFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_choice_field_input'
17
22
  autoload :UiDatePickerFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input'
18
23
  autoload :UiDropdownSelectFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input'
19
24
  autoload :UiFormulaFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input'
@@ -28,6 +33,7 @@ module UiBibzInputs
28
33
  autoload :UiTextFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input'
29
34
  autoload :UiFileFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input'
30
35
  autoload :UiRangeFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input'
36
+ autoload :UiSliderFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_slider_field_input'
31
37
  end
32
38
 
33
39
  module UiBibz
@@ -62,11 +68,18 @@ module UiBibz
62
68
  module Utils
63
69
  autoload :Screwdriver, 'ui_bibz/utils/screwdriver'
64
70
  autoload :GlyphChanger, 'ui_bibz/utils/glyph_changer'
71
+ autoload :BreakdownClassNameGenerator, 'ui_bibz/utils/breakdown_class_name_generator'
65
72
  end
66
73
 
67
74
  module Ui
68
75
  # Base
69
- autoload :Base, 'ui_bibz/ui/base'
76
+ autoload :Base, 'ui_bibz/ui/base'
77
+
78
+ # Concerns
79
+ module Concerns
80
+ autoload :HtmlConcern, 'ui_bibz/ui/concerns/html_concern'
81
+ autoload :CardItemableConcern, 'ui_bibz/ui/concerns/card_itemable_concern'
82
+ end
70
83
 
71
84
  # Core
72
85
  module Core
@@ -75,6 +88,7 @@ module UiBibz
75
88
  autoload :CardAccordion, 'ui_bibz/ui/core/boxes/card_accordion'
76
89
  autoload :CardColumn, 'ui_bibz/ui/core/boxes/card_column'
77
90
  autoload :CardDeck, 'ui_bibz/ui/core/boxes/card_deck'
91
+ autoload :CardGrid, 'ui_bibz/ui/core/boxes/card_grid'
78
92
  autoload :CardGroup, 'ui_bibz/ui/core/boxes/card_group'
79
93
  autoload :Jumbotron, 'ui_bibz/ui/core/boxes/jumbotron'
80
94
  end
@@ -105,6 +119,8 @@ module UiBibz
105
119
  autoload :FormulaField, 'ui_bibz/ui/core/forms/numbers/formula_field'
106
120
  autoload :NumberField, 'ui_bibz/ui/core/forms/numbers/number_field'
107
121
  autoload :RangeField, 'ui_bibz/ui/core/forms/numbers/range_field'
122
+ autoload :SliderField, 'ui_bibz/ui/core/forms/numbers/slider_field'
123
+ autoload :SliderHeader, 'ui_bibz/ui/core/forms/numbers/slider_header'
108
124
  end
109
125
 
110
126
  module Selects
@@ -138,7 +154,6 @@ module UiBibz
138
154
 
139
155
  module Icons
140
156
  autoload :Glyph, 'ui_bibz/ui/core/icons/glyph'
141
- autoload :GlyphGroup, 'ui_bibz/ui/core/icons/glyph_group'
142
157
  autoload :Star, 'ui_bibz/ui/core/icons/star'
143
158
  end
144
159
 
@@ -62,7 +62,7 @@ module UiBibz::Concerns::Models::Searchable
62
62
  sql = generate_parent_sort_query sql if @params[:parent]
63
63
 
64
64
  # Main query with argument or not
65
- sql = search_by_query sql unless @tmp_params[:search].blank?
65
+ sql = search_by_query sql if @tmp_params[:search].present?
66
66
 
67
67
  generate_sql sql, column_args
68
68
  end
@@ -80,7 +80,7 @@ module UiBibz::Concerns::Models::Searchable
80
80
  end
81
81
 
82
82
  def self.generate_count_sql(sql)
83
- sq = "SELECT * FROM (#{sql.group(table_name + '.id').to_sql}) countable ORDER BY countable.count #{@tmp_params[:direction] || asc}"
83
+ sq = "SELECT * FROM (#{sql.group("#{table_name}.id").to_sql}) countable ORDER BY countable.count #{@tmp_params[:direction] || asc}"
84
84
  paginate_by_sql(sq, page: @tmp_params[:page], per_page: @session[:per_page])
85
85
  end
86
86
 
@@ -134,7 +134,7 @@ module UiBibz::Concerns::Models::Searchable
134
134
  sql_attributes = sql_attributes.merge(Hash["#{attribute}_#{i}".to_sym, "%#{pattern}%"])
135
135
  end
136
136
  end
137
- sql_query << '(' + sql_subquery.join(' OR ') + ')'
137
+ sql_query << "(#{sql_subquery.join(' OR ')})"
138
138
  end
139
139
 
140
140
  sql.where([sql_query.join(' AND '), sql_attributes])
@@ -9,7 +9,7 @@ module UiBibz::Helpers::Ui::Core::BoxesHelper
9
9
  # Option +tap: true+ is required if you want add +header+, +block+ or
10
10
  # +footer+.
11
11
  def ui_card(content = nil, options = nil, html_options = nil, &block)
12
- if tap?(content, options)
12
+ if tapped?(block)
13
13
  UiBibz::Ui::Core::Boxes::Card.new(content, options, html_options).tap(&block).render
14
14
  else
15
15
  UiBibz::Ui::Core::Boxes::Card.new(content, options, html_options, &block).render
@@ -41,6 +41,14 @@ module UiBibz::Helpers::Ui::Core::BoxesHelper
41
41
  UiBibz::Ui::Core::Boxes::CardDeck.new(content, options, html_options).tap(&block).render
42
42
  end
43
43
 
44
+ # Card Grid Component
45
+ #
46
+ # +options+ (Hash)
47
+ # +html_options+ (Hash)
48
+ def ui_card_grid(content = nil, options = nil, html_options = nil, &block)
49
+ UiBibz::Ui::Core::Boxes::CardGrid.new(content, options, html_options).tap(&block).render
50
+ end
51
+
44
52
  # Card Column Component
45
53
  #
46
54
  # +options+ (Hash)
@@ -181,6 +181,24 @@ module UiBibz::Helpers::Ui::Core::FormsHelper
181
181
  UiBibz::Ui::Core::Forms::Numbers::RangeField.new(name, options, html_options, &block).render
182
182
  end
183
183
 
184
+ # Slider Component
185
+ #
186
+ # +name+ (String) [Required]
187
+ # +options+ (Hash)
188
+ # +html_options+ (Hash)
189
+ def ui_slider_field(name, options = nil, html_options = nil, &block)
190
+ UiBibz::Ui::Core::Forms::Numbers::SliderField.new(name, options, html_options, &block).render
191
+ end
192
+
193
+ # Slider Header Component
194
+ #
195
+ # +name+ (String) [Required]
196
+ # +options+ (Hash)
197
+ # +html_options+ (Hash)
198
+ def ui_slider_header(options, html_options = nil, &block)
199
+ UiBibz::Ui::Core::Forms::Numbers::SliderHeader.new(nil, options, html_options, &block).render
200
+ end
201
+
184
202
  # File Component
185
203
  #
186
204
  # +name+ (String) [Required]
@@ -6,7 +6,11 @@ module UiBibz::Helpers::Ui::Core::LayoutsHelper
6
6
  # +options+ (Hash)
7
7
  # +html_options+ (Hash)
8
8
  def ui_row(content = nil, options = nil, html_options = nil, &block)
9
- UiBibz::Ui::Core::Layouts::Row.new(content, options, html_options, &block).render
9
+ if tapped?(block)
10
+ UiBibz::Ui::Core::Layouts::Row.new(content, options, html_options).tap(&block).render
11
+ else
12
+ UiBibz::Ui::Core::Layouts::Row.new(content, options, html_options, &block).render
13
+ end
10
14
  end
11
15
 
12
16
  # Col Component
@@ -14,7 +18,11 @@ module UiBibz::Helpers::Ui::Core::LayoutsHelper
14
18
  # +options+ (Hash)
15
19
  # +html_options+ (Hash)
16
20
  def ui_col(content = nil, options = nil, html_options = nil, &block)
17
- UiBibz::Ui::Core::Layouts::Col.new(content, options, html_options, &block).render
21
+ if tapped?(block)
22
+ UiBibz::Ui::Core::Layouts::Col.new(content, options, html_options).tap(&block).render
23
+ else
24
+ UiBibz::Ui::Core::Layouts::Col.new(content, options, html_options, &block).render
25
+ end
18
26
  end
19
27
 
20
28
  # Container Component
@@ -14,7 +14,7 @@ module UiBibz::Helpers::Ui::Core::ListsHelper
14
14
  # +options+ (Hash)
15
15
  # +html_options+ (Hash)
16
16
  def ui_list(content = nil, options = nil, html_options = nil, &block)
17
- if tap?(content, options)
17
+ if tapped?(block)
18
18
  UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options).tap(&block).render
19
19
  else
20
20
  UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options, &block).render
@@ -7,7 +7,7 @@ module UiBibz::Helpers::Ui::Core::NotificationsHelper
7
7
  # +html_options+ (Hash)
8
8
  #
9
9
  def ui_alert(content = nil, options = nil, html_options = nil, &block)
10
- if tap?(content, options)
10
+ if tapped?(block)
11
11
  UiBibz::Ui::Core::Notifications::Alert.new(content, options, html_options).tap(&block).render
12
12
  else
13
13
  UiBibz::Ui::Core::Notifications::Alert.new(content, options, html_options, &block).render
@@ -28,7 +28,7 @@ module UiBibz::Helpers::Ui::Core::NotificationsHelper
28
28
  # +options+ (Hash)
29
29
  # +html_options+ (Hash)
30
30
  def ui_progress_bar(percentage = nil, options = nil, html_options = nil, &block)
31
- if tap?(percentage, options)
31
+ if tapped?(block)
32
32
  UiBibz::Ui::Core::Notifications::ProgressBar.new(percentage, options, html_options).tap(&block).render
33
33
  else
34
34
  UiBibz::Ui::Core::Notifications::ProgressBar.new(percentage, options, html_options, &block).render
@@ -40,7 +40,11 @@ module UiBibz::Helpers::Ui::Core::NotificationsHelper
40
40
  # +options+ (Hash)
41
41
  # +html_options+ (Hash)
42
42
  def ui_toast(content = nil, options = nil, html_options = nil, &block)
43
- UiBibz::Ui::Core::Notifications::Toast.new(content, options, html_options).tap(&block).render
43
+ if tapped?(block)
44
+ UiBibz::Ui::Core::Notifications::Toast.new(content, options, html_options).tap(&block).render
45
+ else
46
+ UiBibz::Ui::Core::Notifications::Toast.new(content, options, html_options, &block).render
47
+ end
44
48
  end
45
49
 
46
50
  # Spinner Component
@@ -54,7 +58,7 @@ module UiBibz::Helpers::Ui::Core::NotificationsHelper
54
58
 
55
59
  private
56
60
 
57
- def tap?(content, options)
58
- (content[:tap] if content.is_a?(Hash)) || (options[:tap] unless options.nil?)
61
+ def tapped?(block)
62
+ UiBibz::Utils::Screwdriver.tapped?(block)
59
63
  end
60
64
  end
@@ -6,10 +6,8 @@ module UiBibz::Helpers::Ui::UxHelper
6
6
  # +options+ (Hash)
7
7
  # +html_options+ (Hash)
8
8
  #
9
- # Option +tap: true+ is required if you want add +header+, +block+ or
10
- # +footer+.
11
9
  def ui_table(content = nil, options = nil, html_options = nil, &block)
12
- if tap?(content, options)
10
+ if tapped?(block)
13
11
  UiBibz::Ui::Ux::Tables::Table.new(content, options, html_options).tap(&block).render
14
12
  else
15
13
  UiBibz::Ui::Ux::Tables::Table.new(content, options, html_options, &block).render
@@ -52,10 +50,8 @@ module UiBibz::Helpers::Ui::UxHelper
52
50
  # +options+ (Hash) [Required]
53
51
  # +html_options+ (Hash)
54
52
  #
55
- # Option +tap: true+ is required if you want add +header+, +block+ or
56
- # +footer+.
57
53
  def ui_table_card(content = nil, options = nil, html_options = nil, &block)
58
- if tap?(content, options)
54
+ if tapped?(block)
59
55
  UiBibz::Ui::Ux::Tables::TableCard.new(content, options, html_options).tap(&block).render
60
56
  else
61
57
  UiBibz::Ui::Ux::Tables::TableCard.new(content, options, html_options, &block).render
@@ -2,10 +2,16 @@
2
2
 
3
3
  module UiBibz
4
4
  NAME = 'Ui Bibz'
5
- VERSION = '2.5.2'
6
- DESCRIPTION = 'A Rails Interface Framework using Bootstrap.'
7
- SUMMARY = 'Create your project with Ui Bibz. Over a thirty reusable components built to provide iconography, dropdowns, input groups, navigation, alerts, and much more.'
5
+ SLUG = 'ui_bibz'
6
+ BOOTSTRAP_VERSION = '5.0.0.alpha2'
7
+ DESCRIPTION = "A Rails Interface Framework using Bootstrap #{BOOTSTRAP_VERSION}."
8
+ SUMMARY = "Ui Bibz is an Ui Framework that allows you to build an interface very quickly and simply using Bootstrap #{BOOTSTRAP_VERSION}."
8
9
  LICENSE = 'MIT'
9
- FONTAWESOME_VERSION = '5.12.1'
10
- BOOTSTRAP_VERSION = '4.4.1'
10
+ FONTAWESOME_VERSION = '5.15.1'
11
+ HOMEPAGE = 'http://thooams.github.io/Ui-Bibz/'
12
+ REPO = 'git+https://github.com/thooams/Ui-Bibz.git'
13
+ EMAIL = 'thomas@hummel.link'
14
+ AUTHOR = 'Thooams'
15
+ VERSION = '3.0.0.alpha3'
16
+ AUTHORS = ['Thooams'].freeze
11
17
  end
@@ -18,7 +18,7 @@ module UiBibzForm
18
18
  surround_field = UiBibz::Ui::Core::Forms::Surrounds::SurroundField.new(content, opts, html_options).tap(&block)
19
19
  errors_text = surround_field.errors.flatten.to_sentence
20
20
  required = surround_field.required_fields.any? { |u| u == true }
21
- wrapper_classes = UiBibz::Utils::Screwdriver.join_classes(('has-error' unless errors_text.blank?), wrapper_html.try(:[], :class))
21
+ wrapper_classes = UiBibz::Utils::Screwdriver.join_classes(('has-error' if errors_text.present?), wrapper_html.try(:[], :class))
22
22
  label_classes = UiBibz::Utils::Screwdriver.join_classes(('required' if required), 'control-label')
23
23
  abbr_html = content_tag('abbr', I18n.t(:"simple_form.required.mark", default: '*'), title: I18n.t(:"simple_form.required.text", default: 'required')) if required
24
24
 
@@ -27,7 +27,7 @@ module UiBibzForm
27
27
  content_tag :div, wrapper_html do
28
28
  concat content_tag(:label, "#{abbr_html} #{content[:label]}".html_safe, class: label_classes) if content[:label]
29
29
  concat surround_field.render
30
- concat content_tag(:span, errors_text || content[:hint], class: 'help-block') if !errors_text.blank? || !content[:hint].nil?
30
+ concat content_tag(:span, errors_text || content[:hint], class: 'help-block') if errors_text.present? || !content[:hint].nil?
31
31
  end
32
32
  end
33
33
 
@@ -43,6 +43,19 @@ module UiBibzForm
43
43
  concat UiBibz::Ui::Core::Forms::Buttons::ButtonGroup.new(content, opts, html_options).tap(&block).render
44
44
  end
45
45
  end
46
+
47
+ def ui_choice_group(content = nil, opts = nil, html_options = nil, &block)
48
+ content = (options || {}).merge(content || {})
49
+ content = content.merge(template: @template, form: self)
50
+
51
+ input_classes = UiBibz::Utils::Screwdriver.join_classes('button_group', options[:input_html].try(:[], :class))
52
+ wrapper_html = (options[:input_html] || {}).merge({ class: input_classes })
53
+
54
+ content_tag :div, wrapper_html do
55
+ concat content_tag(:label, content[:label]) unless content[:label].nil?
56
+ concat UiBibz::Ui::Core::Forms::Choices::ChoiceGroup.new(content, opts, html_options).tap(&block).render
57
+ end
58
+ end
46
59
  end
47
60
  # end
48
61
  end
@@ -4,10 +4,6 @@ module UiBibzInputs
4
4
  class BaseInput < SimpleForm::Inputs::Base
5
5
  include ActionView::Helpers::FormTagHelper
6
6
 
7
- def input(wrapper_options)
8
- super
9
- end
10
-
11
7
  def options
12
8
  super.merge({ value: @builder.object.send(attribute_name) }).merge(@builder.options[:input_html] || {})
13
9
  end
@@ -15,9 +11,10 @@ module UiBibzInputs
15
11
  private
16
12
 
17
13
  def input_attribute_name
18
- new_attribute_name = @builder.lookup_model_names.first.to_s
19
- new_attribute_name += "[#{@builder.lookup_model_names.second}_attributes]" if @builder.lookup_model_names.second
20
- new_attribute_name + "[#{attribute_name}]"
14
+ # new_attribute_name = @builder.lookup_model_names.first.to_s
15
+ # new_attribute_name += "[#{@builder.lookup_model_names.second}_attributes]" if @builder.lookup_model_names.second
16
+ # new_attribute_name + "[#{attribute_name}]"
17
+ "#{@builder.object_name}[#{attribute_name}]"
21
18
  end
22
19
  end
23
20
  end