rails_admin 3.0.0.beta2 → 3.0.0.rc

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 (250) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/Rakefile +11 -0
  4. data/app/assets/javascripts/rails_admin.js +4 -4
  5. data/app/assets/stylesheets/rails_admin.scss +31 -0
  6. data/app/controllers/rails_admin/application_controller.rb +1 -1
  7. data/app/controllers/rails_admin/main_controller.rb +10 -18
  8. data/app/helpers/rails_admin/application_helper.rb +12 -13
  9. data/app/helpers/rails_admin/form_builder.rb +3 -3
  10. data/app/helpers/rails_admin/main_helper.rb +1 -1
  11. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.erb +2 -2
  12. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.erb +4 -4
  13. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.erb +4 -4
  14. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.erb +12 -10
  15. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.erb +4 -4
  16. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.erb +4 -4
  17. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.erb +6 -4
  18. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.erb +4 -4
  19. data/app/views/layouts/rails_admin/_navigation.html.erb +12 -16
  20. data/app/views/layouts/rails_admin/_secondary_navigation.html.erb +8 -8
  21. data/app/views/layouts/rails_admin/_sidebar_navigation.html.erb +1 -5
  22. data/app/views/layouts/rails_admin/application.html.erb +4 -7
  23. data/app/views/layouts/rails_admin/{pjax.html.erb → content.html.erb} +7 -5
  24. data/app/views/layouts/rails_admin/modal.js.erb +1 -1
  25. data/app/views/rails_admin/main/_dashboard_history.html.erb +1 -1
  26. data/app/views/rails_admin/main/_delete_notice.html.erb +2 -2
  27. data/app/views/rails_admin/main/_form_boolean.html.erb +6 -8
  28. data/app/views/rails_admin/main/_form_colorpicker.html.erb +5 -1
  29. data/app/views/rails_admin/main/_form_datetime.html.erb +8 -7
  30. data/app/views/rails_admin/main/_form_enumeration.html.erb +5 -1
  31. data/app/views/rails_admin/main/_form_file_upload.html.erb +1 -1
  32. data/app/views/rails_admin/main/_form_filtering_multiselect.html.erb +14 -14
  33. data/app/views/rails_admin/main/_form_filtering_select.html.erb +16 -21
  34. data/app/views/rails_admin/main/_form_multiple_file_upload.html.erb +1 -1
  35. data/app/views/rails_admin/main/_form_nested_many.html.erb +4 -4
  36. data/app/views/rails_admin/main/_form_nested_one.html.erb +4 -4
  37. data/app/views/rails_admin/main/_form_polymorphic_association.html.erb +11 -6
  38. data/app/views/rails_admin/main/_submit_buttons.html.erb +8 -8
  39. data/app/views/rails_admin/main/bulk_delete.html.erb +1 -1
  40. data/app/views/rails_admin/main/dashboard.html.erb +4 -4
  41. data/app/views/rails_admin/main/delete.html.erb +1 -1
  42. data/app/views/rails_admin/main/edit.html.erb +1 -1
  43. data/app/views/rails_admin/main/export.html.erb +35 -32
  44. data/app/views/rails_admin/main/history.html.erb +16 -14
  45. data/app/views/rails_admin/main/index.html.erb +38 -35
  46. data/app/views/rails_admin/main/new.html.erb +1 -1
  47. data/config/locales/rails_admin.en.yml +0 -1
  48. data/lib/generators/rails_admin/install_generator.rb +0 -1
  49. data/lib/generators/rails_admin/templates/webpack.config.js +0 -3
  50. data/lib/rails_admin/adapters/active_record/object_extension.rb +1 -1
  51. data/lib/rails_admin/adapters/active_record/property.rb +1 -1
  52. data/lib/rails_admin/adapters/active_record.rb +7 -3
  53. data/lib/rails_admin/adapters/mongoid/property.rb +3 -3
  54. data/lib/rails_admin/adapters/mongoid.rb +2 -2
  55. data/lib/rails_admin/config/actions/base.rb +1 -6
  56. data/lib/rails_admin/config/actions/dashboard.rb +13 -9
  57. data/lib/rails_admin/config/actions/delete.rb +4 -0
  58. data/lib/rails_admin/config/actions/edit.rb +4 -0
  59. data/lib/rails_admin/config/actions/new.rb +5 -0
  60. data/lib/rails_admin/config/actions/show_in_app.rb +0 -4
  61. data/lib/rails_admin/config/fields/association.rb +6 -1
  62. data/lib/rails_admin/config/fields/base.rb +1 -1
  63. data/lib/rails_admin/config/fields/types/action_text.rb +1 -1
  64. data/lib/rails_admin/config/fields/types/date.rb +7 -0
  65. data/lib/rails_admin/config/fields/types/datetime.rb +9 -4
  66. data/lib/rails_admin/config/fields/types/has_many_association.rb +4 -0
  67. data/lib/rails_admin/config/fields/types/has_one_association.rb +4 -0
  68. data/lib/rails_admin/config/fields/types/time.rb +9 -0
  69. data/lib/rails_admin/config/has_fields.rb +4 -0
  70. data/lib/rails_admin/config/model.rb +8 -0
  71. data/lib/rails_admin/config/sections/list.rb +4 -4
  72. data/lib/rails_admin/config.rb +4 -1
  73. data/lib/rails_admin/engine.rb +2 -5
  74. data/lib/rails_admin/support/datetime.rb +50 -53
  75. data/lib/rails_admin/support/esmodule_preprocessor.rb +2 -1
  76. data/lib/rails_admin/version.rb +1 -1
  77. data/package.json +7 -5
  78. data/src/rails_admin/base.js +3 -6
  79. data/src/rails_admin/filter-box.js +36 -37
  80. data/src/rails_admin/filtering-select.js +3 -6
  81. data/src/rails_admin/i18n.js +0 -3
  82. data/src/rails_admin/nested-form-hooks.js +16 -8
  83. data/src/rails_admin/remote-form.js +18 -15
  84. data/src/rails_admin/styles/base/theming.scss +80 -155
  85. data/src/rails_admin/styles/base/variables.scss +2 -0
  86. data/src/rails_admin/styles/base.scss +8 -45
  87. data/src/rails_admin/styles/filtering-multiselect.scss +2 -2
  88. data/src/rails_admin/styles/filtering-select.scss +1 -1
  89. data/src/rails_admin/styles/widgets.scss +1 -10
  90. data/src/rails_admin/ui.js +4 -54
  91. data/src/rails_admin/widgets.js +38 -48
  92. data/vendor/assets/javascripts/rails_admin/bootstrap.js +5046 -0
  93. data/vendor/assets/javascripts/rails_admin/flatpickr-with-locales.js +10683 -0
  94. data/vendor/assets/javascripts/rails_admin/popper.js +1974 -0
  95. data/vendor/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +118 -0
  96. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alert.scss +57 -0
  97. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badge.scss +29 -0
  98. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumb.scss +28 -0
  99. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-group.scss +139 -0
  100. data/vendor/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +64 -110
  101. data/vendor/assets/stylesheets/rails_admin/bootstrap/_card.scss +216 -0
  102. data/vendor/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +162 -176
  103. data/vendor/assets/stylesheets/rails_admin/bootstrap/_close.scss +31 -26
  104. data/vendor/assets/stylesheets/rails_admin/bootstrap/_containers.scss +41 -0
  105. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdown.scss +240 -0
  106. data/vendor/assets/stylesheets/rails_admin/bootstrap/_forms.scss +9 -538
  107. data/vendor/assets/stylesheets/rails_admin/bootstrap/_functions.scss +302 -0
  108. data/vendor/assets/stylesheets/rails_admin/bootstrap/_grid.scss +18 -69
  109. data/vendor/assets/stylesheets/rails_admin/bootstrap/_helpers.scss +9 -0
  110. data/vendor/assets/stylesheets/rails_admin/bootstrap/_images.scss +42 -0
  111. data/vendor/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +127 -84
  112. data/vendor/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +26 -22
  113. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modal.scss +209 -0
  114. data/vendor/assets/stylesheets/rails_admin/bootstrap/_nav.scss +139 -0
  115. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +218 -542
  116. data/vendor/assets/stylesheets/rails_admin/bootstrap/_offcanvas.scss +83 -0
  117. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +46 -70
  118. data/vendor/assets/stylesheets/rails_admin/bootstrap/_placeholders.scss +51 -0
  119. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popover.scss +158 -0
  120. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress.scss +48 -0
  121. data/vendor/assets/stylesheets/rails_admin/bootstrap/_reboot.scss +625 -0
  122. data/vendor/assets/stylesheets/rails_admin/bootstrap/_root.scss +54 -0
  123. data/vendor/assets/stylesheets/rails_admin/bootstrap/_spinners.scss +69 -0
  124. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tables.scss +100 -178
  125. data/vendor/assets/stylesheets/rails_admin/bootstrap/_toasts.scss +51 -0
  126. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +97 -77
  127. data/vendor/assets/stylesheets/rails_admin/bootstrap/_transitions.scss +27 -0
  128. data/vendor/assets/stylesheets/rails_admin/bootstrap/_type.scss +54 -254
  129. data/vendor/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +628 -55
  130. data/vendor/assets/stylesheets/rails_admin/bootstrap/_variables.scss +1572 -781
  131. data/vendor/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +38 -35
  132. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_floating-labels.scss +63 -0
  133. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-check.scss +152 -0
  134. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-control.scss +219 -0
  135. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-range.scss +91 -0
  136. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-select.scss +72 -0
  137. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-text.scss +11 -0
  138. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_input-group.scss +121 -0
  139. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_labels.scss +36 -0
  140. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_validation.scss +12 -0
  141. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_clearfix.scss +3 -0
  142. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_colored-links.scss +12 -0
  143. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_position.scss +30 -0
  144. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_ratio.scss +26 -0
  145. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stacks.scss +15 -0
  146. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stretched-link.scss +15 -0
  147. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_text-truncation.scss +7 -0
  148. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_visually-hidden.scss +8 -0
  149. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_vr.scss +8 -0
  150. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alert.scss +11 -0
  151. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_backdrop.scss +14 -0
  152. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +72 -12
  153. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_box-shadow.scss +18 -0
  154. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_breakpoints.scss +127 -0
  155. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +113 -30
  156. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_caret.scss +64 -0
  157. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +5 -18
  158. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_color-scheme.scss +7 -0
  159. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_container.scss +9 -0
  160. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_deprecate.scss +10 -0
  161. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +130 -70
  162. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +27 -38
  163. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +127 -98
  164. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +6 -24
  165. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +13 -20
  166. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_lists.scss +7 -0
  167. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +24 -16
  168. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-text.scss +17 -0
  169. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +1 -1
  170. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-variants.scss +21 -0
  171. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
  172. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_transition.scss +26 -0
  173. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_utilities.scss +89 -0
  174. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_visually-hidden.scss +29 -0
  175. data/vendor/assets/stylesheets/rails_admin/bootstrap/utilities/_api.scss +47 -0
  176. data/vendor/assets/stylesheets/rails_admin/bootstrap/vendor/_rfs.scss +354 -0
  177. data/vendor/assets/stylesheets/rails_admin/flatpickr.css +791 -0
  178. metadata +80 -91
  179. data/app/assets/stylesheets/rails_admin.scss.erb +0 -76
  180. data/lib/generators/rails_admin/templates/environment.js +0 -6
  181. data/src/rails_admin/styles/themes/cerulean/mixins.scss +0 -0
  182. data/src/rails_admin/styles/themes/cerulean/theming.scss +0 -135
  183. data/src/rails_admin/styles/themes/cerulean/variables.scss +0 -830
  184. data/src/rails_admin/styles/themes/default/mixins.scss +0 -8
  185. data/src/rails_admin/styles/themes/default/theming.scss +0 -11
  186. data/src/rails_admin/styles/themes/default/variables.scss +0 -12
  187. data/src/rails_admin/vendor/jquery.pjax.js +0 -899
  188. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +0 -164
  189. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +0 -95
  190. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +0 -125
  191. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +0 -246
  192. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +0 -212
  193. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +0 -165
  194. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +0 -358
  195. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +0 -123
  196. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +0 -172
  197. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +0 -155
  198. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +0 -677
  199. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +0 -59
  200. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +0 -1782
  201. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap.js +0 -13
  202. data/vendor/assets/javascripts/rails_admin/bootstrap-datetimepicker.js +0 -2611
  203. data/vendor/assets/javascripts/rails_admin/jquery.pjax.js +0 -898
  204. data/vendor/assets/javascripts/rails_admin/moment-with-locales.js +0 -18085
  205. data/vendor/assets/stylesheets/rails_admin/_bootstrap-datetimepicker.scss +0 -343
  206. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +0 -68
  207. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badges.scss +0 -57
  208. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +0 -26
  209. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +0 -240
  210. data/vendor/assets/stylesheets/rails_admin/bootstrap/_code.scss +0 -68
  211. data/vendor/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +0 -35
  212. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +0 -215
  213. data/vendor/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +0 -237
  214. data/vendor/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +0 -166
  215. data/vendor/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +0 -48
  216. data/vendor/assets/stylesheets/rails_admin/bootstrap/_labels.scss +0 -66
  217. data/vendor/assets/stylesheets/rails_admin/bootstrap/_media.scss +0 -56
  218. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modals.scss +0 -150
  219. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navs.scss +0 -242
  220. data/vendor/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +0 -425
  221. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pager.scss +0 -55
  222. data/vendor/assets/stylesheets/rails_admin/bootstrap/_panels.scss +0 -243
  223. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +0 -133
  224. data/vendor/assets/stylesheets/rails_admin/bootstrap/_print.scss +0 -101
  225. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +0 -105
  226. data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +0 -34
  227. data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +0 -174
  228. data/vendor/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +0 -150
  229. data/vendor/assets/stylesheets/rails_admin/bootstrap/_theme.scss +0 -258
  230. data/vendor/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +0 -38
  231. data/vendor/assets/stylesheets/rails_admin/bootstrap/_wells.scss +0 -29
  232. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +0 -14
  233. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +0 -11
  234. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +0 -7
  235. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +0 -81
  236. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +0 -21
  237. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +0 -12
  238. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +0 -10
  239. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  240. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +0 -8
  241. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +0 -24
  242. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +0 -10
  243. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +0 -8
  244. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +0 -21
  245. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +0 -10
  246. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +0 -9
  247. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +0 -28
  248. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +0 -11
  249. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +0 -219
  250. data/vendor/assets/stylesheets/rails_admin/bootstrap-datetimepicker-build.scss +0 -16
@@ -0,0 +1,69 @@
1
+ //
2
+ // Rotating border
3
+ //
4
+
5
+ // scss-docs-start spinner-border-keyframes
6
+ @keyframes spinner-border {
7
+ to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
8
+ }
9
+ // scss-docs-end spinner-border-keyframes
10
+
11
+ .spinner-border {
12
+ display: inline-block;
13
+ width: $spinner-width;
14
+ height: $spinner-height;
15
+ vertical-align: $spinner-vertical-align;
16
+ border: $spinner-border-width solid currentColor;
17
+ border-right-color: transparent;
18
+ // stylelint-disable-next-line property-disallowed-list
19
+ border-radius: 50%;
20
+ animation: $spinner-animation-speed linear infinite spinner-border;
21
+ }
22
+
23
+ .spinner-border-sm {
24
+ width: $spinner-width-sm;
25
+ height: $spinner-height-sm;
26
+ border-width: $spinner-border-width-sm;
27
+ }
28
+
29
+ //
30
+ // Growing circle
31
+ //
32
+
33
+ // scss-docs-start spinner-grow-keyframes
34
+ @keyframes spinner-grow {
35
+ 0% {
36
+ transform: scale(0);
37
+ }
38
+ 50% {
39
+ opacity: 1;
40
+ transform: none;
41
+ }
42
+ }
43
+ // scss-docs-end spinner-grow-keyframes
44
+
45
+ .spinner-grow {
46
+ display: inline-block;
47
+ width: $spinner-width;
48
+ height: $spinner-height;
49
+ vertical-align: $spinner-vertical-align;
50
+ background-color: currentColor;
51
+ // stylelint-disable-next-line property-disallowed-list
52
+ border-radius: 50%;
53
+ opacity: 0;
54
+ animation: $spinner-animation-speed linear infinite spinner-grow;
55
+ }
56
+
57
+ .spinner-grow-sm {
58
+ width: $spinner-width-sm;
59
+ height: $spinner-height-sm;
60
+ }
61
+
62
+ @if $enable-reduced-motion {
63
+ @media (prefers-reduced-motion: reduce) {
64
+ .spinner-border,
65
+ .spinner-grow {
66
+ animation-duration: $spinner-animation-speed * 2;
67
+ }
68
+ }
69
+ }
@@ -1,233 +1,155 @@
1
1
  //
2
- // Tables
3
- // --------------------------------------------------
4
-
5
-
6
- table {
7
- background-color: $table-bg;
8
- }
9
- th {
10
- text-align: left;
11
- }
12
-
13
-
14
- // Baseline styles
2
+ // Basic Bootstrap table
3
+ //
15
4
 
16
5
  .table {
6
+ --#{$variable-prefix}table-bg: #{$table-bg};
7
+ --#{$variable-prefix}table-accent-bg: #{$table-accent-bg};
8
+ --#{$variable-prefix}table-striped-color: #{$table-striped-color};
9
+ --#{$variable-prefix}table-striped-bg: #{$table-striped-bg};
10
+ --#{$variable-prefix}table-active-color: #{$table-active-color};
11
+ --#{$variable-prefix}table-active-bg: #{$table-active-bg};
12
+ --#{$variable-prefix}table-hover-color: #{$table-hover-color};
13
+ --#{$variable-prefix}table-hover-bg: #{$table-hover-bg};
14
+
17
15
  width: 100%;
18
- max-width: 100%;
19
- margin-bottom: $line-height-computed;
20
- // Cells
21
- > thead,
22
- > tbody,
23
- > tfoot {
24
- > tr {
25
- > th,
26
- > td {
27
- padding: $table-cell-padding;
28
- line-height: $line-height-base;
29
- vertical-align: top;
30
- border-top: 1px solid $table-border-color;
31
- }
32
- }
16
+ margin-bottom: $spacer;
17
+ color: $table-color;
18
+ vertical-align: $table-cell-vertical-align;
19
+ border-color: $table-border-color;
20
+
21
+ // Target th & td
22
+ // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.
23
+ // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).
24
+ // Another advantage is that this generates less code and makes the selector less specific making it easier to override.
25
+ // stylelint-disable-next-line selector-max-universal
26
+ > :not(caption) > * > * {
27
+ padding: $table-cell-padding-y $table-cell-padding-x;
28
+ background-color: var(--#{$variable-prefix}table-bg);
29
+ border-bottom-width: $table-border-width;
30
+ box-shadow: inset 0 0 0 9999px var(--#{$variable-prefix}table-accent-bg);
33
31
  }
34
- // Bottom align for column headings
35
- > thead > tr > th {
36
- vertical-align: bottom;
37
- border-bottom: 2px solid $table-border-color;
38
- }
39
- // Remove top border from thead by default
40
- > caption + thead,
41
- > colgroup + thead,
42
- > thead:first-child {
43
- > tr:first-child {
44
- > th,
45
- > td {
46
- border-top: 0;
47
- }
48
- }
32
+
33
+ > tbody {
34
+ vertical-align: inherit;
49
35
  }
50
- // Account for multiple tbody instances
51
- > tbody + tbody {
52
- border-top: 2px solid $table-border-color;
36
+
37
+ > thead {
38
+ vertical-align: bottom;
53
39
  }
54
40
 
55
- // Nesting
56
- .table {
57
- background-color: $body-bg;
41
+ // Highlight border color between thead, tbody and tfoot.
42
+ > :not(:first-child) {
43
+ border-top: (2 * $table-border-width) solid $table-group-separator-color;
58
44
  }
59
45
  }
60
46
 
61
47
 
48
+ //
49
+ // Change placement of captions with a class
50
+ //
51
+
52
+ .caption-top {
53
+ caption-side: top;
54
+ }
55
+
56
+
57
+ //
62
58
  // Condensed table w/ half padding
59
+ //
63
60
 
64
- .table-condensed {
65
- > thead,
66
- > tbody,
67
- > tfoot {
68
- > tr {
69
- > th,
70
- > td {
71
- padding: $table-condensed-cell-padding;
72
- }
73
- }
61
+ .table-sm {
62
+ // stylelint-disable-next-line selector-max-universal
63
+ > :not(caption) > * > * {
64
+ padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;
74
65
  }
75
66
  }
76
67
 
77
68
 
78
- // Bordered version
69
+ // Border versions
70
+ //
71
+ // Add or remove borders all around the table and between all the columns.
79
72
  //
80
- // Add borders all around the table and between all the columns.
73
+ // When borders are added on all sides of the cells, the corners can render odd when
74
+ // these borders do not have the same color or if they are semi-transparent.
75
+ // Therefor we add top and border bottoms to the `tr`s and left and right borders
76
+ // to the `td`s or `th`s
81
77
 
82
78
  .table-bordered {
83
- border: 1px solid $table-border-color;
84
- > thead,
85
- > tbody,
86
- > tfoot {
87
- > tr {
88
- > th,
89
- > td {
90
- border: 1px solid $table-border-color;
91
- }
92
- }
93
- }
94
- > thead > tr {
95
- > th,
96
- > td {
97
- border-bottom-width: 2px;
79
+ > :not(caption) > * {
80
+ border-width: $table-border-width 0;
81
+
82
+ // stylelint-disable-next-line selector-max-universal
83
+ > * {
84
+ border-width: 0 $table-border-width;
98
85
  }
99
86
  }
100
87
  }
101
88
 
89
+ .table-borderless {
90
+ // stylelint-disable-next-line selector-max-universal
91
+ > :not(caption) > * > * {
92
+ border-bottom-width: 0;
93
+ }
94
+
95
+ > :not(:first-child) {
96
+ border-top-width: 0;
97
+ }
98
+ }
102
99
 
103
100
  // Zebra-striping
104
101
  //
105
102
  // Default zebra-stripe styles (alternating gray and transparent backgrounds)
106
103
 
107
104
  .table-striped {
108
- > tbody > tr:nth-child(odd) {
109
- > td,
110
- > th {
111
- background-color: $table-bg-accent;
112
- }
105
+ > tbody > tr:nth-of-type(#{$table-striped-order}) > * {
106
+ --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-striped-bg);
107
+ color: var(--#{$variable-prefix}table-striped-color);
113
108
  }
114
109
  }
115
110
 
111
+ // Active table
112
+ //
113
+ // The `.table-active` class can be added to highlight rows or cells
114
+
115
+ .table-active {
116
+ --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-active-bg);
117
+ color: var(--#{$variable-prefix}table-active-color);
118
+ }
116
119
 
117
120
  // Hover effect
118
121
  //
119
122
  // Placed here since it has to come after the potential zebra striping
120
123
 
121
124
  .table-hover {
122
- > tbody > tr:hover {
123
- > td,
124
- > th {
125
- background-color: $table-bg-hover;
126
- }
125
+ > tbody > tr:hover > * {
126
+ --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-hover-bg);
127
+ color: var(--#{$variable-prefix}table-hover-color);
127
128
  }
128
129
  }
129
130
 
130
131
 
131
- // Table cell sizing
132
+ // Table variants
132
133
  //
133
- // Reset default table behavior
134
+ // Table variants set the table cell backgrounds, border colors
135
+ // and the colors of the striped, hovered & active tables
134
136
 
135
- table col[class*="col-"] {
136
- position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
137
- float: none;
138
- display: table-column;
139
- }
140
- table {
141
- td,
142
- th {
143
- &[class*="col-"] {
144
- position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
145
- float: none;
146
- display: table-cell;
147
- }
148
- }
137
+ @each $color, $value in $table-variants {
138
+ @include table-variant($color, $value);
149
139
  }
150
140
 
151
-
152
- // Table backgrounds
153
- //
154
- // Exact selectors below required to override `.table-striped` and prevent
155
- // inheritance to nested tables.
156
-
157
- // Generate the contextual variants
158
- @include table-row-variant('active', $table-bg-active);
159
- @include table-row-variant('success', $state-success-bg);
160
- @include table-row-variant('info', $state-info-bg);
161
- @include table-row-variant('warning', $state-warning-bg);
162
- @include table-row-variant('danger', $state-danger-bg);
163
-
164
-
165
141
  // Responsive tables
166
142
  //
167
- // Wrap your tables in `.table-responsive` and we'll make them mobile friendly
168
- // by enabling horizontal scrolling. Only applies <768px. Everything above that
169
- // will display normally.
170
-
171
- .table-responsive {
172
- @media screen and (max-width: $screen-xs-max) {
173
- width: 100%;
174
- margin-bottom: ($line-height-computed * 0.75);
175
- overflow-y: hidden;
176
- overflow-x: auto;
177
- -ms-overflow-style: -ms-autohiding-scrollbar;
178
- border: 1px solid $table-border-color;
179
- -webkit-overflow-scrolling: touch;
180
-
181
- // Tighten up spacing
182
- > .table {
183
- margin-bottom: 0;
184
-
185
- // Ensure the content doesn't wrap
186
- > thead,
187
- > tbody,
188
- > tfoot {
189
- > tr {
190
- > th,
191
- > td {
192
- white-space: nowrap;
193
- }
194
- }
195
- }
196
- }
143
+ // Generate series of `.table-responsive-*` classes for configuring the screen
144
+ // size of where your table will overflow.
197
145
 
198
- // Special overrides for the bordered tables
199
- > .table-bordered {
200
- border: 0;
201
-
202
- // Nuke the appropriate borders so that the parent can handle them
203
- > thead,
204
- > tbody,
205
- > tfoot {
206
- > tr {
207
- > th:first-child,
208
- > td:first-child {
209
- border-left: 0;
210
- }
211
- > th:last-child,
212
- > td:last-child {
213
- border-right: 0;
214
- }
215
- }
216
- }
217
-
218
- // Only nuke the last row's bottom-border in `tbody` and `tfoot` since
219
- // chances are there will be only one `tr` in a `thead` and that would
220
- // remove the border altogether.
221
- > tbody,
222
- > tfoot {
223
- > tr:last-child {
224
- > th,
225
- > td {
226
- border-bottom: 0;
227
- }
228
- }
229
- }
146
+ @each $breakpoint in map-keys($grid-breakpoints) {
147
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
230
148
 
149
+ @include media-breakpoint-down($breakpoint) {
150
+ .table-responsive#{$infix} {
151
+ overflow-x: auto;
152
+ -webkit-overflow-scrolling: touch;
231
153
  }
232
154
  }
233
155
  }
@@ -0,0 +1,51 @@
1
+ .toast {
2
+ width: $toast-max-width;
3
+ max-width: 100%;
4
+ @include font-size($toast-font-size);
5
+ color: $toast-color;
6
+ pointer-events: auto;
7
+ background-color: $toast-background-color;
8
+ background-clip: padding-box;
9
+ border: $toast-border-width solid $toast-border-color;
10
+ box-shadow: $toast-box-shadow;
11
+ @include border-radius($toast-border-radius);
12
+
13
+ &.showing {
14
+ opacity: 0;
15
+ }
16
+
17
+ &:not(.show) {
18
+ display: none;
19
+ }
20
+ }
21
+
22
+ .toast-container {
23
+ width: max-content;
24
+ max-width: 100%;
25
+ pointer-events: none;
26
+
27
+ > :not(:last-child) {
28
+ margin-bottom: $toast-spacing;
29
+ }
30
+ }
31
+
32
+ .toast-header {
33
+ display: flex;
34
+ align-items: center;
35
+ padding: $toast-padding-y $toast-padding-x;
36
+ color: $toast-header-color;
37
+ background-color: $toast-header-background-color;
38
+ background-clip: padding-box;
39
+ border-bottom: $toast-border-width solid $toast-header-border-color;
40
+ @include border-top-radius(subtract($toast-border-radius, $toast-border-width));
41
+
42
+ .btn-close {
43
+ margin-right: $toast-padding-x * -.5;
44
+ margin-left: $toast-padding-x;
45
+ }
46
+ }
47
+
48
+ .toast-body {
49
+ padding: $toast-padding-x; // apply to both vertical and horizontal
50
+ word-wrap: break-word;
51
+ }
@@ -1,95 +1,115 @@
1
- //
2
- // Tooltips
3
- // --------------------------------------------------
4
-
5
-
6
1
  // Base class
7
2
  .tooltip {
8
3
  position: absolute;
9
4
  z-index: $zindex-tooltip;
10
5
  display: block;
11
- visibility: visible;
12
- font-size: $font-size-small;
13
- line-height: 1.4;
14
- @include opacity(0);
15
-
16
- &.in { @include opacity($tooltip-opacity); }
17
- &.top { margin-top: -3px; padding: $tooltip-arrow-width 0; }
18
- &.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; }
19
- &.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; }
20
- &.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; }
21
- }
6
+ margin: $tooltip-margin;
7
+ // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
8
+ // So reset our font and text properties to avoid inheriting weird values.
9
+ @include reset-text();
10
+ @include font-size($tooltip-font-size);
11
+ // Allow breaking very long words so they don't overflow the tooltip's bounds
12
+ word-wrap: break-word;
13
+ opacity: 0;
22
14
 
23
- // Wrapper for the tooltip content
24
- .tooltip-inner {
25
- max-width: $tooltip-max-width;
26
- padding: 3px 8px;
27
- color: $tooltip-color;
28
- text-align: center;
29
- text-decoration: none;
30
- background-color: $tooltip-bg;
31
- border-radius: $border-radius-base;
32
- }
15
+ &.show { opacity: $tooltip-opacity; }
33
16
 
34
- // Arrows
35
- .tooltip-arrow {
36
- position: absolute;
37
- width: 0;
38
- height: 0;
39
- border-color: transparent;
40
- border-style: solid;
41
- }
42
- .tooltip {
43
- &.top .tooltip-arrow {
44
- bottom: 0;
45
- left: 50%;
46
- margin-left: -$tooltip-arrow-width;
47
- border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
48
- border-top-color: $tooltip-arrow-color;
49
- }
50
- &.top-left .tooltip-arrow {
51
- bottom: 0;
52
- left: $tooltip-arrow-width;
53
- border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
54
- border-top-color: $tooltip-arrow-color;
17
+ .tooltip-arrow {
18
+ position: absolute;
19
+ display: block;
20
+ width: $tooltip-arrow-width;
21
+ height: $tooltip-arrow-height;
22
+
23
+ &::before {
24
+ position: absolute;
25
+ content: "";
26
+ border-color: transparent;
27
+ border-style: solid;
28
+ }
55
29
  }
56
- &.top-right .tooltip-arrow {
30
+ }
31
+
32
+ .bs-tooltip-top {
33
+ padding: $tooltip-arrow-height 0;
34
+
35
+ .tooltip-arrow {
57
36
  bottom: 0;
58
- right: $tooltip-arrow-width;
59
- border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
60
- border-top-color: $tooltip-arrow-color;
37
+
38
+ &::before {
39
+ top: -1px;
40
+ border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
41
+ border-top-color: $tooltip-arrow-color;
42
+ }
61
43
  }
62
- &.right .tooltip-arrow {
63
- top: 50%;
44
+ }
45
+
46
+ .bs-tooltip-end {
47
+ padding: 0 $tooltip-arrow-height;
48
+
49
+ .tooltip-arrow {
64
50
  left: 0;
65
- margin-top: -$tooltip-arrow-width;
66
- border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;
67
- border-right-color: $tooltip-arrow-color;
51
+ width: $tooltip-arrow-height;
52
+ height: $tooltip-arrow-width;
53
+
54
+ &::before {
55
+ right: -1px;
56
+ border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
57
+ border-right-color: $tooltip-arrow-color;
58
+ }
68
59
  }
69
- &.left .tooltip-arrow {
70
- top: 50%;
60
+ }
61
+
62
+ .bs-tooltip-bottom {
63
+ padding: $tooltip-arrow-height 0;
64
+
65
+ .tooltip-arrow {
66
+ top: 0;
67
+
68
+ &::before {
69
+ bottom: -1px;
70
+ border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
71
+ border-bottom-color: $tooltip-arrow-color;
72
+ }
73
+ }
74
+ }
75
+
76
+ .bs-tooltip-start {
77
+ padding: 0 $tooltip-arrow-height;
78
+
79
+ .tooltip-arrow {
71
80
  right: 0;
72
- margin-top: -$tooltip-arrow-width;
73
- border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;
74
- border-left-color: $tooltip-arrow-color;
81
+ width: $tooltip-arrow-height;
82
+ height: $tooltip-arrow-width;
83
+
84
+ &::before {
85
+ left: -1px;
86
+ border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
87
+ border-left-color: $tooltip-arrow-color;
88
+ }
75
89
  }
76
- &.bottom .tooltip-arrow {
77
- top: 0;
78
- left: 50%;
79
- margin-left: -$tooltip-arrow-width;
80
- border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
81
- border-bottom-color: $tooltip-arrow-color;
90
+ }
91
+
92
+ .bs-tooltip-auto {
93
+ &[data-popper-placement^="top"] {
94
+ @extend .bs-tooltip-top;
82
95
  }
83
- &.bottom-left .tooltip-arrow {
84
- top: 0;
85
- left: $tooltip-arrow-width;
86
- border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
87
- border-bottom-color: $tooltip-arrow-color;
96
+ &[data-popper-placement^="right"] {
97
+ @extend .bs-tooltip-end;
88
98
  }
89
- &.bottom-right .tooltip-arrow {
90
- top: 0;
91
- right: $tooltip-arrow-width;
92
- border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
93
- border-bottom-color: $tooltip-arrow-color;
99
+ &[data-popper-placement^="bottom"] {
100
+ @extend .bs-tooltip-bottom;
94
101
  }
102
+ &[data-popper-placement^="left"] {
103
+ @extend .bs-tooltip-start;
104
+ }
105
+ }
106
+
107
+ // Wrapper for the tooltip content
108
+ .tooltip-inner {
109
+ max-width: $tooltip-max-width;
110
+ padding: $tooltip-padding-y $tooltip-padding-x;
111
+ color: $tooltip-color;
112
+ text-align: center;
113
+ background-color: $tooltip-bg;
114
+ @include border-radius($tooltip-border-radius);
95
115
  }
@@ -0,0 +1,27 @@
1
+ .fade {
2
+ @include transition($transition-fade);
3
+
4
+ &:not(.show) {
5
+ opacity: 0;
6
+ }
7
+ }
8
+
9
+ // scss-docs-start collapse-classes
10
+ .collapse {
11
+ &:not(.show) {
12
+ display: none;
13
+ }
14
+ }
15
+
16
+ .collapsing {
17
+ height: 0;
18
+ overflow: hidden;
19
+ @include transition($transition-collapse);
20
+
21
+ &.collapse-horizontal {
22
+ width: 0;
23
+ height: auto;
24
+ @include transition($transition-collapse-width);
25
+ }
26
+ }
27
+ // scss-docs-end collapse-classes