ui_bibz 3.0.13 → 4.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
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,115 @@
1
+ span
2
+ &.multiselect-native-select
3
+ position: relative
4
+ select
5
+ border: 0 !important
6
+ clip: rect(0 0 0 0) !important
7
+ height: 1px !important
8
+ margin: -1px -1px -1px -3px !important
9
+ overflow: hidden !important
10
+ padding: 0 !important
11
+ position: absolute !important
12
+ width: 1px !important
13
+ left: 50%
14
+ top: 30px
15
+ .multiselect
16
+ overflow: hidden
17
+ text-overflow: ellipsis
18
+ &.dropdown-toggle
19
+ &:after
20
+ display: none
21
+ .multiselect-container
22
+ position: absolute
23
+ list-style-type: none
24
+ margin: 0
25
+ padding: 0
26
+ .multiselect-reset
27
+ .input-group
28
+ width: 93%
29
+ .multiselect-filter
30
+ & > .fa-search
31
+ z-index: 1
32
+ padding-left: 0.75rem
33
+ & > input
34
+ &.multiselect-search
35
+ border: none
36
+ border-bottom: 1px solid lightgrey
37
+ padding-left: 2rem
38
+ margin-left: -1.625rem
39
+ border-bottom-right-radius: 0
40
+ border-bottom-left-radius: 0
41
+ &:focus
42
+ border-bottom-right-radius: 0.25rem
43
+ border-bottom-left-radius: 0.25rem
44
+ & > .multiselect-moz-clear-filter
45
+ margin-left: -1.5rem
46
+ display: none
47
+ .multiselect-option
48
+ &.multiselect-group-option-indented
49
+ padding-left: 1.75rem
50
+ .multiselect-container .multiselect-option,
51
+ .multiselect-container .multiselect-group,
52
+ .multiselect-container .multiselect-all
53
+ padding: 0.25rem 0.25rem 0.25rem 0.75rem
54
+ .multiselect-container .multiselect-option.dropdown-item,
55
+ .multiselect-container .multiselect-option.dropdown-toggle,
56
+ .multiselect-container .multiselect-group.dropdown-item,
57
+ .multiselect-container .multiselect-group.dropdown-toggle,
58
+ .multiselect-container .multiselect-all.dropdown-item,
59
+ .multiselect-container .multiselect-all.dropdown-toggle
60
+ cursor: pointer
61
+ .multiselect-container .multiselect-option .form-check-label,
62
+ .multiselect-container .multiselect-group .form-check-label,
63
+ .multiselect-container .multiselect-all .form-check-label
64
+ cursor: pointer
65
+ .multiselect-container .multiselect-option.active:not(.multiselect-active-item-fallback),
66
+ .multiselect-container .multiselect-option:not(.multiselect-active-item-fallback):active,
67
+ .multiselect-container .multiselect-group.active:not(.multiselect-active-item-fallback),
68
+ .multiselect-container .multiselect-group:not(.multiselect-active-item-fallback):active,
69
+ .multiselect-container .multiselect-all.active:not(.multiselect-active-item-fallback),
70
+ .multiselect-container .multiselect-all:not(.multiselect-active-item-fallback):active
71
+ background-color: lightgrey
72
+ color: black
73
+ .multiselect-container .multiselect-option:hover,
74
+ .multiselect-container .multiselect-option:focus,
75
+ .multiselect-container .multiselect-group:hover,
76
+ .multiselect-container .multiselect-group:focus,
77
+ .multiselect-container .multiselect-all:hover,
78
+ .multiselect-container .multiselect-all:focus
79
+ background-color: darkgray !important
80
+ .multiselect-container .multiselect-option .form-check,
81
+ .multiselect-container .multiselect-group .form-check,
82
+ .multiselect-container .multiselect-all .form-check
83
+ padding: 0 5px 0 20px
84
+ .multiselect-container .multiselect-option:focus,
85
+ .multiselect-container .multiselect-group:focus,
86
+ .multiselect-container .multiselect-all:focus
87
+ outline: none
88
+ .form-inline
89
+ .multiselect-container
90
+ span
91
+ &.form-check
92
+ padding: 3px 20px 3px 40px
93
+ .input-group
94
+ &.input-group-sm
95
+ & > .multiselect-native-select
96
+ .multiselect
97
+ padding: .25rem .5rem
98
+ font-size: .875rem
99
+ line-height: 1.5
100
+ padding-right: 1.75rem
101
+ height: calc(4em)
102
+ & > .multiselect-native-select
103
+ flex: 1 1 auto
104
+ width: 1%
105
+ & > div
106
+ &.btn-group
107
+ width: 100%
108
+ &:not(:first-child)
109
+ .multiselect
110
+ border-top-left-radius: 0
111
+ border-bottom-left-radius: 0
112
+ &:not(:last-child)
113
+ .multiselect
114
+ border-top-right-radius: 0
115
+ border-bottom-right-radius: 0
@@ -0,0 +1,211 @@
1
+ /**
2
+ * bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.
3
+ *
4
+ * @version v3.4 for Bootstrap 4.x
5
+ * @homepage https://bttstrp.github.io/bootstrap-switch
6
+ * @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)
7
+ * & djibe
8
+ * @license Apache-2.0
9
+ */
10
+
11
+ $bootstrap-switch-border-radius: 4px;
12
+ $bootstrap-switch-handle-border-radius: 3px;
13
+
14
+ .bootstrap-switch {
15
+ display: inline-block;
16
+ direction: ltr;
17
+ cursor: pointer;
18
+ border-radius: $bootstrap-switch-border-radius;
19
+ border: 1px solid #ccc;
20
+ position: relative;
21
+ text-align: left;
22
+ overflow: hidden;
23
+ line-height: 8px;
24
+ z-index: 0;
25
+ user-select: none;
26
+ vertical-align: middle;
27
+ transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
28
+
29
+ .bootstrap-switch-container {
30
+ display: inline-block;
31
+ top: 0;
32
+ border-radius: $bootstrap-switch-border-radius;
33
+ transform: translate3d(0, 0, 0);
34
+ }
35
+
36
+ .bootstrap-switch-handle-on,
37
+ .bootstrap-switch-handle-off,
38
+ .bootstrap-switch-label {
39
+ box-sizing: border-box;
40
+ cursor: pointer;
41
+ display: table-cell;
42
+ vertical-align: middle;
43
+ padding: 6px 12px;
44
+ font-size: 14px;
45
+ line-height: 20px;
46
+ font-weight: 500;
47
+ }
48
+
49
+ .bootstrap-switch-handle-on,
50
+ .bootstrap-switch-handle-off {
51
+ text-align: center;
52
+ z-index: 1;
53
+
54
+ &.bootstrap-switch-primary {
55
+ background: $primary;
56
+ color: #fff;
57
+ }
58
+
59
+ &.bootstrap-switch-default {
60
+ background: #eee;
61
+ color: rgba(0, 0, 0, .87);
62
+ }
63
+
64
+ &.bootstrap-switch-secondary {
65
+ background: $secondary;
66
+ color: #fff;
67
+ }
68
+
69
+ &.bootstrap-switch-info {
70
+ background: $info;
71
+ color: #fff;
72
+ }
73
+
74
+ &.bootstrap-switch-success {
75
+ background: $success;
76
+ color: #fff;
77
+ }
78
+
79
+ &.bootstrap-switch-warning {
80
+ background: $warning;
81
+ color: #fff;
82
+ }
83
+
84
+ &.bootstrap-switch-danger {
85
+ background: $danger;
86
+ color: #fff;
87
+ }
88
+ }
89
+
90
+ .bootstrap-switch-label {
91
+ text-align: center;
92
+ margin-top: -1px;
93
+ margin-bottom: -1px;
94
+ z-index: 100;
95
+ color: #333;
96
+ background: #fff;
97
+ padding: 8px 12px; //test https://github.com/Bttstrp/bootstrap-switch/issues/693
98
+ }
99
+
100
+ span::before {
101
+ content: "\200b";
102
+ }
103
+
104
+ .bootstrap-switch-handle-on {
105
+ border-bottom-left-radius: $bootstrap-switch-handle-border-radius;
106
+ border-top-left-radius: $bootstrap-switch-handle-border-radius;
107
+ }
108
+
109
+ .bootstrap-switch-handle-off {
110
+ border-bottom-right-radius: $bootstrap-switch-handle-border-radius;
111
+ border-top-right-radius: $bootstrap-switch-handle-border-radius;
112
+ }
113
+
114
+ input[type='radio'],
115
+ input[type='checkbox'] {
116
+ position: absolute !important;
117
+ top: 0;
118
+ left: 0;
119
+ margin: 0;
120
+ z-index: -1;
121
+ opacity: 0;
122
+ filter: alpha(opacity=0);
123
+ visibility: hidden;
124
+ }
125
+
126
+ &.bootstrap-switch-mini {
127
+
128
+ .bootstrap-switch-handle-on,
129
+ .bootstrap-switch-handle-off,
130
+ .bootstrap-switch-label {
131
+ padding: 1px 5px;
132
+ font-size: 12px;
133
+ line-height: 1.5;
134
+ }
135
+ }
136
+
137
+ &.bootstrap-switch-small {
138
+
139
+ .bootstrap-switch-handle-on,
140
+ .bootstrap-switch-handle-off,
141
+ .bootstrap-switch-label {
142
+
143
+ padding: 5px 10px;
144
+ font-size: 12px;
145
+ line-height: 1.5;
146
+ }
147
+ }
148
+
149
+ &.bootstrap-switch-large {
150
+
151
+ .bootstrap-switch-handle-on,
152
+ .bootstrap-switch-handle-off,
153
+ .bootstrap-switch-label {
154
+ padding: 6px 16px;
155
+ font-size: 18px;
156
+ line-height: 1.3333333;
157
+ }
158
+ }
159
+
160
+ &.bootstrap-switch-disabled,
161
+ &.bootstrap-switch-readonly,
162
+ &.bootstrap-switch-indeterminate {
163
+ cursor: default !important;
164
+ }
165
+
166
+ &.bootstrap-switch-disabled .bootstrap-switch-handle-on,
167
+ &.bootstrap-switch-readonly .bootstrap-switch-handle-on,
168
+ &.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
169
+ &.bootstrap-switch-disabled .bootstrap-switch-handle-off,
170
+ &.bootstrap-switch-readonly .bootstrap-switch-handle-off,
171
+ &.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
172
+ &.bootstrap-switch-disabled .bootstrap-switch-label,
173
+ &.bootstrap-switch-readonly .bootstrap-switch-label,
174
+ &.bootstrap-switch-indeterminate .bootstrap-switch-label {
175
+ opacity: 0.5;
176
+ filter: alpha(opacity=50);
177
+ cursor: default !important;
178
+ }
179
+
180
+ &.bootstrap-switch-animate .bootstrap-switch-container {
181
+ transition: margin-left 0.5s;
182
+ }
183
+
184
+ &.bootstrap-switch-inverse {
185
+ .bootstrap-switch-handle-on {
186
+ border-radius: 0 $bootstrap-switch-handle-border-radius $bootstrap-switch-handle-border-radius 0;
187
+ }
188
+
189
+ .bootstrap-switch-handle-off {
190
+ border-radius: $bootstrap-switch-handle-border-radius 0 0 $bootstrap-switch-handle-border-radius;
191
+ }
192
+ }
193
+
194
+ &.bootstrap-switch-focused {
195
+ border-color: #66afe9;
196
+ outline: 0;
197
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
198
+ }
199
+
200
+ &.bootstrap-switch-on .bootstrap-switch-label,
201
+ &.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
202
+ border-bottom-right-radius: $bootstrap-switch-handle-border-radius;
203
+ border-top-right-radius: $bootstrap-switch-handle-border-radius;
204
+ }
205
+
206
+ &.bootstrap-switch-off .bootstrap-switch-label,
207
+ &.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
208
+ border-bottom-left-radius: $bootstrap-switch-handle-border-radius;
209
+ border-top-left-radius: $bootstrap-switch-handle-border-radius;
210
+ }
211
+ }
@@ -1,20 +1,153 @@
1
- // Animated Icons
1
+ // animating icons
2
2
  // --------------------------
3
3
 
4
+ .#{$fa-css-prefix}-beat {
5
+ animation-name: #{$fa-css-prefix}-beat;
6
+ animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
7
+ animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
8
+ animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
9
+ animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
10
+ animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out);
11
+ }
12
+
13
+ .#{$fa-css-prefix}-bounce {
14
+ animation-name: #{$fa-css-prefix}-bounce;
15
+ animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
16
+ animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
17
+ animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
18
+ animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
19
+ animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1));
20
+ }
21
+
22
+ .#{$fa-css-prefix}-fade {
23
+ animation-name: #{$fa-css-prefix}-fade;
24
+ animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
25
+ animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
26
+ animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
27
+ animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
28
+ animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
29
+ }
30
+
31
+ .#{$fa-css-prefix}-beat-fade {
32
+ animation-name: #{$fa-css-prefix}-beat-fade;
33
+ animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
34
+ animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
35
+ animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
36
+ animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
37
+ animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
38
+ }
39
+
40
+ .#{$fa-css-prefix}-flip {
41
+ animation-name: #{$fa-css-prefix}-flip;
42
+ animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
43
+ animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
44
+ animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
45
+ animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
46
+ animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out);
47
+ }
48
+
49
+ .#{$fa-css-prefix}-shake {
50
+ animation-name: #{$fa-css-prefix}-shake;
51
+ animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
52
+ animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
53
+ animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
54
+ animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
55
+ animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear);
56
+ }
57
+
4
58
  .#{$fa-css-prefix}-spin {
5
- animation: fa-spin 2s infinite linear;
59
+ animation-name: #{$fa-css-prefix}-spin;
60
+ animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
61
+ animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
62
+ animation-duration: var(--#{$fa-css-prefix}-animation-duration, 2s);
63
+ animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
64
+ animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear);
65
+ }
66
+
67
+ .#{$fa-css-prefix}-spin-reverse {
68
+ --#{$fa-css-prefix}-animation-direction: reverse;
69
+ }
70
+
71
+ .#{$fa-css-prefix}-pulse,
72
+ .#{$fa-css-prefix}-spin-pulse {
73
+ animation-name: #{$fa-css-prefix}-spin;
74
+ animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
75
+ animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
76
+ animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
77
+ animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, steps(8));
78
+ }
79
+
80
+ // if agent or operating system prefers reduced motion, disable animations
81
+ // see: https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/
82
+ // see: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
83
+ @media (prefers-reduced-motion: reduce) {
84
+ .#{$fa-css-prefix}-beat,
85
+ .#{$fa-css-prefix}-bounce,
86
+ .#{$fa-css-prefix}-fade,
87
+ .#{$fa-css-prefix}-beat-fade,
88
+ .#{$fa-css-prefix}-flip,
89
+ .#{$fa-css-prefix}-pulse,
90
+ .#{$fa-css-prefix}-shake,
91
+ .#{$fa-css-prefix}-spin,
92
+ .#{$fa-css-prefix}-spin-pulse {
93
+ animation-delay: -1ms;
94
+ animation-duration: 1ms;
95
+ animation-iteration-count: 1;
96
+ transition-delay: 0s;
97
+ transition-duration: 0s;
98
+ }
99
+ }
100
+
101
+ @keyframes #{$fa-css-prefix}-beat {
102
+ 0%, 90% { transform: scale(1); }
103
+ 45% { transform: scale(var(--#{$fa-css-prefix}-beat-scale, 1.25)); }
104
+ }
105
+
106
+ @keyframes #{$fa-css-prefix}-bounce {
107
+ 0% { transform: scale(1,1) translateY(0); }
108
+ 10% { transform: scale(var(--#{$fa-css-prefix}-bounce-start-scale-x, 1.1),var(--#{$fa-css-prefix}-bounce-start-scale-y, 0.9)) translateY(0); }
109
+ 30% { transform: scale(var(--#{$fa-css-prefix}-bounce-jump-scale-x, 0.9),var(--#{$fa-css-prefix}-bounce-jump-scale-y, 1.1)) translateY(var(--#{$fa-css-prefix}-bounce-height, -0.5em)); }
110
+ 50% { transform: scale(var(--#{$fa-css-prefix}-bounce-land-scale-x, 1.05),var(--#{$fa-css-prefix}-bounce-land-scale-y, 0.95)) translateY(0); }
111
+ 57% { transform: scale(1,1) translateY(var(--#{$fa-css-prefix}-bounce-rebound, -0.125em)); }
112
+ 64% { transform: scale(1,1) translateY(0); }
113
+ 100% { transform: scale(1,1) translateY(0); }
6
114
  }
7
115
 
8
- .#{$fa-css-prefix}-pulse {
9
- animation: fa-spin 1s infinite steps(8);
116
+ @keyframes #{$fa-css-prefix}-fade {
117
+ 50% { opacity: var(--#{$fa-css-prefix}-fade-opacity, 0.4); }
10
118
  }
11
119
 
12
- @keyframes fa-spin {
13
- 0% {
14
- transform: rotate(0deg);
120
+ @keyframes #{$fa-css-prefix}-beat-fade {
121
+ 0%, 100% {
122
+ opacity: var(--#{$fa-css-prefix}-beat-fade-opacity, 0.4);
123
+ transform: scale(1);
15
124
  }
125
+ 50% {
126
+ opacity: 1;
127
+ transform: scale(var(--#{$fa-css-prefix}-beat-fade-scale, 1.125));
128
+ }
129
+ }
16
130
 
17
- 100% {
18
- transform: rotate(360deg);
131
+ @keyframes #{$fa-css-prefix}-flip {
132
+ 50% {
133
+ transform: rotate3d(var(--#{$fa-css-prefix}-flip-x, 0), var(--#{$fa-css-prefix}-flip-y, 1), var(--#{$fa-css-prefix}-flip-z, 0), var(--#{$fa-css-prefix}-flip-angle, -180deg));
19
134
  }
20
135
  }
136
+
137
+ @keyframes #{$fa-css-prefix}-shake {
138
+ 0% { transform: rotate(-15deg); }
139
+ 4% { transform: rotate(15deg); }
140
+ 8%, 24% { transform: rotate(-18deg); }
141
+ 12%, 28% { transform: rotate(18deg); }
142
+ 16% { transform: rotate(-22deg); }
143
+ 20% { transform: rotate(22deg); }
144
+ 32% { transform: rotate(-12deg); }
145
+ 36% { transform: rotate(12deg); }
146
+ 40%, 100% { transform: rotate(0deg); }
147
+ }
148
+
149
+ @keyframes #{$fa-css-prefix}-spin {
150
+ 0% { transform: rotate(0deg); }
151
+ 100% { transform: rotate(360deg); }
152
+ }
153
+
@@ -1,20 +1,20 @@
1
- // Bordered & Pulled
1
+ // bordered + pulled icons
2
2
  // -------------------------
3
3
 
4
4
  .#{$fa-css-prefix}-border {
5
- border: solid .08em $fa-border-color;
6
- border-radius: .1em;
7
- padding: .2em .25em .15em;
5
+ border-color: var(--#{$fa-css-prefix}-border-color, #{$fa-border-color});
6
+ border-radius: var(--#{$fa-css-prefix}-border-radius, #{$fa-border-radius});
7
+ border-style: var(--#{$fa-css-prefix}-border-style, #{$fa-border-style});
8
+ border-width: var(--#{$fa-css-prefix}-border-width, #{$fa-border-width});
9
+ padding: var(--#{$fa-css-prefix}-border-padding, #{$fa-border-padding});
8
10
  }
9
11
 
10
- .#{$fa-css-prefix}-pull-left { float: left; }
11
- .#{$fa-css-prefix}-pull-right { float: right; }
12
+ .#{$fa-css-prefix}-pull-left {
13
+ float: left;
14
+ margin-right: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin});
15
+ }
12
16
 
13
- .#{$fa-css-prefix},
14
- .fas,
15
- .far,
16
- .fal,
17
- .fab {
18
- &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
19
- &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
17
+ .#{$fa-css-prefix}-pull-right {
18
+ float: right;
19
+ margin-left: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin});
20
20
  }
@@ -1,21 +1,43 @@
1
- // Base Class Definition
1
+ // base icon class definition
2
2
  // -------------------------
3
3
 
4
+ .#{$fa-css-prefix} {
5
+ font-family: var(--#{$fa-css-prefix}-style-family, '#{$fa-style-family}');
6
+ font-weight: var(--#{$fa-css-prefix}-style, #{$fa-style});
7
+ }
8
+
4
9
  .#{$fa-css-prefix},
10
+ .#{$fa-css-prefix}-classic,
11
+ .#{$fa-css-prefix}-sharp,
5
12
  .fas,
13
+ .#{$fa-css-prefix}-solid,
6
14
  .far,
7
- .fal,
8
- .fad,
9
- .fab {
15
+ .#{$fa-css-prefix}-regular,
16
+ .fab,
17
+ .#{$fa-css-prefix}-brands {
10
18
  -moz-osx-font-smoothing: grayscale;
11
19
  -webkit-font-smoothing: antialiased;
12
- display: inline-block;
20
+ display: var(--#{$fa-css-prefix}-display, #{$fa-display});
13
21
  font-style: normal;
14
22
  font-variant: normal;
15
- text-rendering: auto;
16
23
  line-height: 1;
24
+ text-rendering: auto;
17
25
  }
18
26
 
27
+ .fas,
28
+ .#{$fa-css-prefix}-classic,
29
+ .#{$fa-css-prefix}-solid,
30
+ .far,
31
+ .#{$fa-css-prefix}-regular {
32
+ font-family: 'Font Awesome 6 Free';
33
+ }
34
+
35
+ .fab,
36
+ .#{$fa-css-prefix}-brands {
37
+ font-family: 'Font Awesome 6 Brands';
38
+ }
39
+
40
+
19
41
  %fa-icon {
20
42
  @include fa-icon;
21
43
  }
@@ -1,5 +1,6 @@
1
- // Fixed Width Icons
1
+ // fixed-width icons
2
2
  // -------------------------
3
+
3
4
  .#{$fa-css-prefix}-fw {
4
5
  text-align: center;
5
6
  width: $fa-fw-width;
@@ -0,0 +1,57 @@
1
+ // functions
2
+ // --------------------------
3
+
4
+ // fa-content: convenience function used to set content property
5
+ @function fa-content($fa-var) {
6
+ @return unquote("\"#{ $fa-var }\"");
7
+ }
8
+
9
+ // fa-divide: Originally obtained from the Bootstrap https://github.com/twbs/bootstrap
10
+ //
11
+ // Licensed under: The MIT License (MIT)
12
+ //
13
+ // Copyright (c) 2011-2021 Twitter, Inc.
14
+ // Copyright (c) 2011-2021 The Bootstrap Authors
15
+ //
16
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
17
+ // of this software and associated documentation files (the "Software"), to deal
18
+ // in the Software without restriction, including without limitation the rights
19
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
20
+ // copies of the Software, and to permit persons to whom the Software is
21
+ // furnished to do so, subject to the following conditions:
22
+ //
23
+ // The above copyright notice and this permission notice shall be included in
24
+ // all copies or substantial portions of the Software.
25
+ //
26
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
32
+ // THE SOFTWARE.
33
+
34
+ @function fa-divide($dividend, $divisor, $precision: 10) {
35
+ $sign: if($dividend > 0 and $divisor > 0, 1, -1);
36
+ $dividend: abs($dividend);
37
+ $divisor: abs($divisor);
38
+ $quotient: 0;
39
+ $remainder: $dividend;
40
+ @if $dividend == 0 {
41
+ @return 0;
42
+ }
43
+ @if $divisor == 0 {
44
+ @error "Cannot divide by 0";
45
+ }
46
+ @if $divisor == 1 {
47
+ @return $dividend;
48
+ }
49
+ @while $remainder >= $divisor {
50
+ $quotient: $quotient + 1;
51
+ $remainder: $remainder - $divisor;
52
+ }
53
+ @if $remainder > 0 and $precision > 0 {
54
+ $remainder: fa-divide($remainder * 10, $divisor, $precision - 1) * .1;
55
+ }
56
+ @return ($quotient + $remainder) * $sign;
57
+ }