comfortable_mexican_sofa 2.0.9 → 2.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/comfy/vendor/bootstrap.min.js +3 -3
  3. data/app/assets/stylesheets/comfy/admin/cms/application.sass +1 -2
  4. data/app/assets/stylesheets/comfy/admin/cms/base.sass +12 -13
  5. data/app/assets/stylesheets/comfy/vendor/bootstrap/_alert.scss +3 -1
  6. data/app/assets/stylesheets/comfy/vendor/bootstrap/_button-group.scss +31 -72
  7. data/app/assets/stylesheets/comfy/vendor/bootstrap/_buttons.scss +26 -19
  8. data/app/assets/stylesheets/comfy/vendor/bootstrap/_card.scss +23 -12
  9. data/app/assets/stylesheets/comfy/vendor/bootstrap/_carousel.scss +2 -2
  10. data/app/assets/stylesheets/comfy/vendor/bootstrap/_close.scss +6 -1
  11. data/app/assets/stylesheets/comfy/vendor/bootstrap/_code.scss +4 -12
  12. data/app/assets/stylesheets/comfy/vendor/bootstrap/_custom-forms.scss +124 -84
  13. data/app/assets/stylesheets/comfy/vendor/bootstrap/_dropdown.scss +30 -2
  14. data/app/assets/stylesheets/comfy/vendor/bootstrap/_forms.scss +46 -71
  15. data/app/assets/stylesheets/comfy/vendor/bootstrap/_functions.scss +4 -4
  16. data/app/assets/stylesheets/comfy/vendor/bootstrap/_images.scss +0 -1
  17. data/app/assets/stylesheets/comfy/vendor/bootstrap/_input-group.scss +99 -126
  18. data/app/assets/stylesheets/comfy/vendor/bootstrap/_list-group.scss +2 -1
  19. data/app/assets/stylesheets/comfy/vendor/bootstrap/_modal.scss +24 -9
  20. data/app/assets/stylesheets/comfy/vendor/bootstrap/_nav.scss +2 -2
  21. data/app/assets/stylesheets/comfy/vendor/bootstrap/_navbar.scss +8 -3
  22. data/app/assets/stylesheets/comfy/vendor/bootstrap/_pagination.scss +32 -19
  23. data/app/assets/stylesheets/comfy/vendor/bootstrap/_popover.scss +106 -117
  24. data/app/assets/stylesheets/comfy/vendor/bootstrap/_print.scss +17 -3
  25. data/app/assets/stylesheets/comfy/vendor/bootstrap/_progress.scss +4 -1
  26. data/app/assets/stylesheets/comfy/vendor/bootstrap/_reboot.scss +3 -25
  27. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tables.scss +1 -1
  28. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tooltip.scss +65 -57
  29. data/app/assets/stylesheets/comfy/vendor/bootstrap/_type.scss +2 -2
  30. data/app/assets/stylesheets/comfy/vendor/bootstrap/_variables.scss +174 -108
  31. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-grid.scss +32 -0
  32. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-reboot.scss +12 -0
  33. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap.scss +42 -0
  34. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_background-variant.scss +2 -1
  35. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_breakpoints.scss +11 -7
  36. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_buttons.scss +37 -22
  37. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_caret.scss +30 -0
  38. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_forms.scss +48 -19
  39. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid-framework.scss +5 -7
  40. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_hover.scss +24 -46
  41. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_list-group.scss +10 -13
  42. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_screen-reader.scss +1 -1
  43. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-hide.scss +1 -0
  44. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_borders.scss +6 -1
  45. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_display.scss +10 -28
  46. data/app/controllers/comfy/admin/cms/files_controller.rb +6 -7
  47. data/app/helpers/comfy/admin/cms_helper.rb +5 -4
  48. data/app/models/concerns/comfy/cms/with_categories.rb +20 -9
  49. data/app/views/comfy/admin/cms/categories/_edit.html.haml +3 -3
  50. data/app/views/comfy/admin/cms/categories/_form.html.haml +3 -9
  51. data/app/views/comfy/admin/cms/categories/_index.html.haml +2 -2
  52. data/app/views/comfy/admin/cms/categories/_show.html.haml +4 -3
  53. data/app/views/comfy/admin/cms/categories/create.js.erb +1 -1
  54. data/app/views/comfy/admin/cms/files/_form.html.haml +11 -12
  55. data/app/views/comfy/admin/cms/files/edit.html.haml +2 -2
  56. data/app/views/comfy/admin/cms/files/new.html.haml +2 -2
  57. data/app/views/comfy/admin/cms/fragments/_form_fragment_attachments.html.haml +7 -5
  58. data/app/views/comfy/admin/cms/fragments/_form_fragments.html.haml +1 -1
  59. data/app/views/comfy/admin/cms/layouts/_form.html.haml +3 -2
  60. data/app/views/comfy/admin/cms/layouts/edit.html.haml +1 -1
  61. data/app/views/comfy/admin/cms/layouts/new.html.haml +2 -2
  62. data/app/views/comfy/admin/cms/pages/_form.html.haml +3 -5
  63. data/app/views/comfy/admin/cms/pages/edit.html.haml +1 -1
  64. data/app/views/comfy/admin/cms/pages/new.html.haml +1 -1
  65. data/app/views/comfy/admin/cms/revisions/show.html.haml +2 -2
  66. data/app/views/comfy/admin/cms/sites/_form.html.haml +4 -4
  67. data/app/views/comfy/admin/cms/sites/edit.html.haml +1 -1
  68. data/app/views/comfy/admin/cms/sites/new.html.haml +2 -2
  69. data/app/views/comfy/admin/cms/snippets/_form.html.haml +2 -2
  70. data/app/views/comfy/admin/cms/snippets/edit.html.haml +1 -1
  71. data/app/views/comfy/admin/cms/snippets/new.html.haml +2 -2
  72. data/app/views/comfy/admin/cms/translations/_form.html.haml +5 -7
  73. data/app/views/comfy/admin/cms/translations/edit.html.haml +1 -1
  74. data/app/views/comfy/admin/cms/translations/new.html.haml +2 -2
  75. data/comfortable_mexican_sofa.gemspec +6 -3
  76. data/config/locales/fr.yml +33 -33
  77. data/lib/comfortable_mexican_sofa/content/tags/file.rb +1 -1
  78. data/lib/comfortable_mexican_sofa/content/tags/files.rb +1 -1
  79. data/lib/comfortable_mexican_sofa/form_builder.rb +10 -15
  80. data/lib/comfortable_mexican_sofa/seeds.rb +2 -5
  81. data/lib/comfortable_mexican_sofa/version.rb +1 -1
  82. metadata +9 -116
  83. data/app/assets/stylesheets/comfy/vendor/_bootstrap.scss +0 -42
  84. data/doc/preview.jpg +0 -0
  85. data/test/controllers/comfy/admin/cms/base_controller_test.rb +0 -18
  86. data/test/controllers/comfy/admin/cms/categories_controller_test.rb +0 -74
  87. data/test/controllers/comfy/admin/cms/files_controller_test.rb +0 -242
  88. data/test/controllers/comfy/admin/cms/layouts_controller_test.rb +0 -137
  89. data/test/controllers/comfy/admin/cms/pages_controller_test.rb +0 -580
  90. data/test/controllers/comfy/admin/cms/revisions/layout_controller_test.rb +0 -62
  91. data/test/controllers/comfy/admin/cms/revisions/page_controller_test.rb +0 -87
  92. data/test/controllers/comfy/admin/cms/revisions/snippet_controller_test.rb +0 -60
  93. data/test/controllers/comfy/admin/cms/revisions/translation_controller_test.rb +0 -68
  94. data/test/controllers/comfy/admin/cms/sites_controller_test.rb +0 -106
  95. data/test/controllers/comfy/admin/cms/snippets_controller_test.rb +0 -156
  96. data/test/controllers/comfy/admin/cms/translations_controller_test.rb +0 -182
  97. data/test/controllers/comfy/cms/assets_controller_test.rb +0 -61
  98. data/test/controllers/comfy/cms/content_controller_test.rb +0 -249
  99. data/test/fixtures/active_storage/attachments.yml +0 -9
  100. data/test/fixtures/active_storage/blobs.yml +0 -13
  101. data/test/fixtures/comfy/cms/categories.yml +0 -4
  102. data/test/fixtures/comfy/cms/categorizations.yml +0 -3
  103. data/test/fixtures/comfy/cms/files.yml +0 -5
  104. data/test/fixtures/comfy/cms/fragments.yml +0 -25
  105. data/test/fixtures/comfy/cms/layouts.yml +0 -34
  106. data/test/fixtures/comfy/cms/pages.yml +0 -24
  107. data/test/fixtures/comfy/cms/revisions.yml +0 -29
  108. data/test/fixtures/comfy/cms/sites.yml +0 -5
  109. data/test/fixtures/comfy/cms/snippets.yml +0 -6
  110. data/test/fixtures/comfy/cms/translations.yml +0 -7
  111. data/test/fixtures/files/data.zip +0 -0
  112. data/test/fixtures/files/document.pdf +0 -0
  113. data/test/fixtures/files/image.gif +0 -0
  114. data/test/fixtures/files/image.jpg +0 -0
  115. data/test/fixtures/generators/cms/application.rb +0 -7
  116. data/test/fixtures/generators/cms/routes.rb +0 -5
  117. data/test/fixtures/generators/scaffold/controller.rb +0 -62
  118. data/test/fixtures/generators/scaffold/migration.rb +0 -9
  119. data/test/fixtures/generators/scaffold/model.rb +0 -21
  120. data/test/fixtures/generators/scaffold/routes.rb +0 -6
  121. data/test/fixtures/generators/scaffold/tests/controller.rb +0 -111
  122. data/test/fixtures/generators/scaffold/tests/fixture +0 -2
  123. data/test/fixtures/generators/scaffold/tests/model.rb +0 -24
  124. data/test/fixtures/generators/scaffold/views/_form.haml +0 -5
  125. data/test/fixtures/generators/scaffold/views/edit.haml +0 -5
  126. data/test/fixtures/generators/scaffold/views/index.haml +0 -21
  127. data/test/fixtures/generators/scaffold/views/new.haml +0 -5
  128. data/test/fixtures/generators/scaffold/views/show.haml +0 -4
  129. data/test/fixtures/views/_nav_hook.html.erb +0 -1
  130. data/test/fixtures/views/_nav_hook_2.html.erb +0 -1
  131. data/test/fixtures/views/render_test/_test.html.erb +0 -1
  132. data/test/fixtures/views/render_test/new.html.erb +0 -1
  133. data/test/fixtures/views/render_test/render_layout.html.erb +0 -1
  134. data/test/gemfiles/5.2.gemfile +0 -19
  135. data/test/generators/cms_assets_generator_test.rb +0 -14
  136. data/test/generators/cms_controllers_generator_test.rb +0 -14
  137. data/test/generators/cms_generator_test.rb +0 -26
  138. data/test/generators/cms_models_generator_test.rb +0 -14
  139. data/test/generators/cms_views_generator_test.rb +0 -14
  140. data/test/generators/scaffold_generator_test.rb +0 -32
  141. data/test/helpers/cms_helper_test.rb +0 -106
  142. data/test/integration/access_control_test.rb +0 -179
  143. data/test/integration/i18n_test.rb +0 -38
  144. data/test/integration/meta_variables_test.rb +0 -27
  145. data/test/integration/render_cms_test.rb +0 -255
  146. data/test/integration/routing_test.rb +0 -19
  147. data/test/integration/seeds_test.rb +0 -75
  148. data/test/integration/sites_test.rb +0 -107
  149. data/test/integration/view_hooks_test.rb +0 -47
  150. data/test/lib/configuration_test.rb +0 -38
  151. data/test/lib/content/block_test.rb +0 -26
  152. data/test/lib/content/params_parser_test.rb +0 -126
  153. data/test/lib/content/renderer_test.rb +0 -276
  154. data/test/lib/content/tag_test.rb +0 -58
  155. data/test/lib/content/tags/asset_test.rb +0 -104
  156. data/test/lib/content/tags/checkbox_test.rb +0 -21
  157. data/test/lib/content/tags/date_test.rb +0 -21
  158. data/test/lib/content/tags/datetime_test.rb +0 -21
  159. data/test/lib/content/tags/file_link_test.rb +0 -91
  160. data/test/lib/content/tags/file_test.rb +0 -69
  161. data/test/lib/content/tags/files_test.rb +0 -52
  162. data/test/lib/content/tags/fragment_test.rb +0 -68
  163. data/test/lib/content/tags/helper_test.rb +0 -62
  164. data/test/lib/content/tags/markdown_test.rb +0 -37
  165. data/test/lib/content/tags/number_test.rb +0 -14
  166. data/test/lib/content/tags/partial_test.rb +0 -65
  167. data/test/lib/content/tags/snippet_test.rb +0 -37
  168. data/test/lib/content/tags/template_test.rb +0 -51
  169. data/test/lib/content/tags/text_test.rb +0 -14
  170. data/test/lib/content/tags/textarea_test.rb +0 -14
  171. data/test/lib/content/tags/wysiwyg_test.rb +0 -14
  172. data/test/lib/revisions_test.rb +0 -222
  173. data/test/lib/seeds/files_test.rb +0 -97
  174. data/test/lib/seeds/layouts_test.rb +0 -156
  175. data/test/lib/seeds/pages_test.rb +0 -230
  176. data/test/lib/seeds/snippets_test.rb +0 -99
  177. data/test/lib/seeds_test.rb +0 -51
  178. data/test/models/categorization_test.rb +0 -76
  179. data/test/models/category_test.rb +0 -39
  180. data/test/models/file_test.rb +0 -43
  181. data/test/models/fragment_test.rb +0 -132
  182. data/test/models/layout_test.rb +0 -194
  183. data/test/models/page_test.rb +0 -575
  184. data/test/models/site_test.rb +0 -190
  185. data/test/models/snippet_test.rb +0 -56
  186. data/test/models/translation_test.rb +0 -67
  187. data/test/system/layouts_frontend_test.rb +0 -15
  188. data/test/system/pages_frontend_test.rb +0 -15
  189. data/test/system/sites_frontend_test.rb +0 -11
  190. data/test/system/snippets_frontend_test.rb +0 -15
  191. data/test/tasks/cms_seeds_test.rb +0 -34
  192. data/test/test_helper.rb +0 -201
@@ -59,6 +59,7 @@
59
59
  }
60
60
 
61
61
  @include hover-focus {
62
+ z-index: 1; // Place hover/active items above their siblings for proper border styling
62
63
  text-decoration: none;
63
64
  }
64
65
 
@@ -87,7 +88,7 @@
87
88
  .list-group-item {
88
89
  border-right: 0;
89
90
  border-left: 0;
90
- border-radius: 0;
91
+ @include border-radius(0);
91
92
  }
92
93
 
93
94
  &:first-child {
@@ -26,16 +26,10 @@
26
26
  // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342
27
27
  // See also https://github.com/twbs/bootstrap/issues/17695
28
28
 
29
- // When fading in the modal, animate it to slide down
30
- &.fade .modal-dialog {
31
- @include transition($modal-transition);
32
- transform: translate(0, -25%);
29
+ .modal-open & {
30
+ overflow-x: hidden;
31
+ overflow-y: auto;
33
32
  }
34
- &.show .modal-dialog { transform: translate(0, 0); }
35
- }
36
- .modal-open .modal {
37
- overflow-x: hidden;
38
- overflow-y: auto;
39
33
  }
40
34
 
41
35
  // Shell div to position the modal with bottom padding
@@ -45,6 +39,21 @@
45
39
  margin: $modal-dialog-margin;
46
40
  // allow clicks to pass through for custom click handling to close modal
47
41
  pointer-events: none;
42
+
43
+ // When fading in the modal, animate it to slide down
44
+ .modal.fade & {
45
+ @include transition($modal-transition);
46
+ transform: translate(0, -25%);
47
+ }
48
+ .modal.show & {
49
+ transform: translate(0, 0);
50
+ }
51
+ }
52
+
53
+ .modal-dialog-centered {
54
+ display: flex;
55
+ align-items: center;
56
+ min-height: calc(100% - (#{$modal-dialog-margin} * 2));
48
57
  }
49
58
 
50
59
  // Actual modal
@@ -52,6 +61,7 @@
52
61
  position: relative;
53
62
  display: flex;
54
63
  flex-direction: column;
64
+ width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`
55
65
  // counteract the pointer-events: none; in the .modal-dialog
56
66
  pointer-events: auto;
57
67
  background-color: $modal-content-bg;
@@ -141,11 +151,16 @@
141
151
  margin: $modal-dialog-margin-y-sm-up auto;
142
152
  }
143
153
 
154
+ .modal-dialog-centered {
155
+ min-height: calc(100% - (#{$modal-dialog-margin-y-sm-up} * 2));
156
+ }
157
+
144
158
  .modal-content {
145
159
  @include box-shadow($modal-content-box-shadow-sm-up);
146
160
  }
147
161
 
148
162
  .modal-sm { max-width: $modal-sm; }
163
+
149
164
  }
150
165
 
151
166
  @include media-breakpoint-up(lg) {
@@ -41,7 +41,7 @@
41
41
  @include border-top-radius($nav-tabs-border-radius);
42
42
 
43
43
  @include hover-focus {
44
- border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;
44
+ border-color: $nav-tabs-link-hover-border-color;
45
45
  }
46
46
 
47
47
  &.disabled {
@@ -55,7 +55,7 @@
55
55
  .nav-item.show .nav-link {
56
56
  color: $nav-tabs-link-active-color;
57
57
  background-color: $nav-tabs-link-active-bg;
58
- border-color: $nav-tabs-link-active-border-color $nav-tabs-link-active-border-color $nav-tabs-link-active-bg;
58
+ border-color: $nav-tabs-link-active-border-color;
59
59
  }
60
60
 
61
61
  .dropdown-menu {
@@ -109,13 +109,18 @@
109
109
  padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
110
110
  font-size: $navbar-toggler-font-size;
111
111
  line-height: 1;
112
- background: transparent; // remove default button style
112
+ background-color: transparent; // remove default button style
113
113
  border: $border-width solid transparent; // remove default button style
114
114
  @include border-radius($navbar-toggler-border-radius);
115
115
 
116
116
  @include hover-focus {
117
117
  text-decoration: none;
118
118
  }
119
+
120
+ // Opinionated: add "hand" cursor to non-disabled .navbar-toggler elements
121
+ &:not(:disabled):not(.disabled) {
122
+ cursor: pointer;
123
+ }
119
124
  }
120
125
 
121
126
  // Keep as a separate element so folks can easily override it with another icon
@@ -163,8 +168,8 @@
163
168
  }
164
169
 
165
170
  .nav-link {
166
- padding-right: .5rem;
167
- padding-left: .5rem;
171
+ padding-right: $navbar-nav-link-padding-x;
172
+ padding-left: $navbar-nav-link-padding-x;
168
173
  }
169
174
  }
170
175
 
@@ -4,6 +4,35 @@
4
4
  @include border-radius();
5
5
  }
6
6
 
7
+ .page-link {
8
+ position: relative;
9
+ display: block;
10
+ padding: $pagination-padding-y $pagination-padding-x;
11
+ margin-left: -$pagination-border-width;
12
+ line-height: $pagination-line-height;
13
+ color: $pagination-color;
14
+ background-color: $pagination-bg;
15
+ border: $pagination-border-width solid $pagination-border-color;
16
+
17
+ &:hover {
18
+ color: $pagination-hover-color;
19
+ text-decoration: none;
20
+ background-color: $pagination-hover-bg;
21
+ border-color: $pagination-hover-border-color;
22
+ }
23
+
24
+ &:focus {
25
+ z-index: 2;
26
+ outline: 0;
27
+ box-shadow: $pagination-focus-box-shadow;
28
+ }
29
+
30
+ // Opinionated: add "hand" cursor to non-disabled .page-link elements
31
+ &:not(:disabled):not(.disabled) {
32
+ cursor: pointer;
33
+ }
34
+ }
35
+
7
36
  .page-item {
8
37
  &:first-child {
9
38
  .page-link {
@@ -18,7 +47,7 @@
18
47
  }
19
48
 
20
49
  &.active .page-link {
21
- z-index: 2;
50
+ z-index: 1;
22
51
  color: $pagination-active-color;
23
52
  background-color: $pagination-active-bg;
24
53
  border-color: $pagination-active-border-color;
@@ -27,29 +56,13 @@
27
56
  &.disabled .page-link {
28
57
  color: $pagination-disabled-color;
29
58
  pointer-events: none;
59
+ // Opinionated: remove the "hand" cursor set previously for .page-link
60
+ cursor: auto;
30
61
  background-color: $pagination-disabled-bg;
31
62
  border-color: $pagination-disabled-border-color;
32
63
  }
33
64
  }
34
65
 
35
- .page-link {
36
- position: relative;
37
- display: block;
38
- padding: $pagination-padding-y $pagination-padding-x;
39
- margin-left: -$pagination-border-width;
40
- line-height: $pagination-line-height;
41
- color: $pagination-color;
42
- background-color: $pagination-bg;
43
- border: $pagination-border-width solid $pagination-border-color;
44
-
45
- @include hover-focus {
46
- color: $pagination-hover-color;
47
- text-decoration: none;
48
- background-color: $pagination-hover-bg;
49
- border-color: $pagination-hover-border-color;
50
- }
51
- }
52
-
53
66
 
54
67
  //
55
68
  // Sizing
@@ -8,166 +8,155 @@
8
8
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
9
9
  // So reset our font and text properties to avoid inheriting weird values.
10
10
  @include reset-text();
11
- font-size: $font-size-sm;
11
+ font-size: $popover-font-size;
12
12
  // Allow breaking very long words so they don't overflow the popover's bounds
13
13
  word-wrap: break-word;
14
14
  background-color: $popover-bg;
15
15
  background-clip: padding-box;
16
16
  border: $popover-border-width solid $popover-border-color;
17
- @include border-radius($border-radius-lg);
17
+ @include border-radius($popover-border-radius);
18
18
  @include box-shadow($popover-box-shadow);
19
19
 
20
- // Arrows
21
- //
22
- // .arrow is outer, .arrow::after is inner
23
-
24
20
  .arrow {
25
21
  position: absolute;
26
22
  display: block;
27
23
  width: $popover-arrow-width;
28
24
  height: $popover-arrow-height;
25
+ margin: 0 $border-radius-lg;
26
+
27
+ &::before,
28
+ &::after {
29
+ position: absolute;
30
+ display: block;
31
+ content: "";
32
+ border-color: transparent;
33
+ border-style: solid;
34
+ }
35
+ }
36
+ }
37
+
38
+ .bs-popover-top {
39
+ margin-bottom: $popover-arrow-height;
40
+
41
+ .arrow {
42
+ bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
29
43
  }
30
44
 
31
45
  .arrow::before,
32
46
  .arrow::after {
33
- position: absolute;
34
- display: block;
35
- border-color: transparent;
36
- border-style: solid;
47
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
37
48
  }
38
49
 
39
50
  .arrow::before {
40
- content: "";
41
- border-width: $popover-arrow-width;
51
+ bottom: 0;
52
+ border-top-color: $popover-arrow-outer-color;
42
53
  }
54
+
43
55
  .arrow::after {
44
- content: "";
45
- border-width: $popover-arrow-width;
56
+ bottom: $popover-border-width;
57
+ border-top-color: $popover-arrow-color;
46
58
  }
59
+ }
47
60
 
48
- // Popover directions
49
-
50
- &.bs-popover-top {
51
- margin-bottom: $popover-arrow-width;
52
-
53
- .arrow {
54
- bottom: 0;
55
- }
56
-
57
- .arrow::before,
58
- .arrow::after {
59
- border-bottom-width: 0;
60
- }
61
+ .bs-popover-right {
62
+ margin-left: $popover-arrow-height;
61
63
 
62
- .arrow::before {
63
- bottom: -$popover-arrow-width;
64
- margin-left: -$popover-arrow-width;
65
- border-top-color: $popover-arrow-outer-color;
66
- }
67
-
68
- .arrow::after {
69
- bottom: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);
70
- margin-left: -$popover-arrow-width;
71
- border-top-color: $popover-arrow-color;
72
- }
64
+ .arrow {
65
+ left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
66
+ width: $popover-arrow-height;
67
+ height: $popover-arrow-width;
68
+ margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
73
69
  }
74
70
 
75
- &.bs-popover-right {
76
- margin-left: $popover-arrow-width;
71
+ .arrow::before,
72
+ .arrow::after {
73
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
74
+ }
77
75
 
78
- .arrow {
79
- left: 0;
80
- }
76
+ .arrow::before {
77
+ left: 0;
78
+ border-right-color: $popover-arrow-outer-color;
79
+ }
81
80
 
82
- .arrow::before,
83
- .arrow::after {
84
- margin-top: -$popover-arrow-width;
85
- border-left-width: 0;
86
- }
81
+ .arrow::after {
82
+ left: $popover-border-width;
83
+ border-right-color: $popover-arrow-color;
84
+ }
85
+ }
87
86
 
88
- .arrow::before {
89
- left: -$popover-arrow-width;
90
- border-right-color: $popover-arrow-outer-color;
91
- }
87
+ .bs-popover-bottom {
88
+ margin-top: $popover-arrow-height;
92
89
 
93
- .arrow::after {
94
- left: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);
95
- border-right-color: $popover-arrow-color;
96
- }
90
+ .arrow {
91
+ top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
97
92
  }
98
93
 
99
- &.bs-popover-bottom {
100
- margin-top: $popover-arrow-width;
94
+ .arrow::before,
95
+ .arrow::after {
96
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
97
+ }
101
98
 
102
- .arrow {
103
- top: 0;
104
- }
99
+ .arrow::before {
100
+ top: 0;
101
+ border-bottom-color: $popover-arrow-outer-color;
102
+ }
105
103
 
106
- .arrow::before,
107
- .arrow::after {
108
- margin-left: -$popover-arrow-width;
109
- border-top-width: 0;
110
- }
104
+ .arrow::after {
105
+ top: $popover-border-width;
106
+ border-bottom-color: $popover-arrow-color;
107
+ }
111
108
 
112
- .arrow::before {
113
- top: -$popover-arrow-width;
114
- border-bottom-color: $popover-arrow-outer-color;
115
- }
109
+ // This will remove the popover-header's border just below the arrow
110
+ .popover-header::before {
111
+ position: absolute;
112
+ top: 0;
113
+ left: 50%;
114
+ display: block;
115
+ width: $popover-arrow-width;
116
+ margin-left: ($popover-arrow-width / -2);
117
+ content: "";
118
+ border-bottom: $popover-border-width solid $popover-header-bg;
119
+ }
120
+ }
116
121
 
117
- .arrow::after {
118
- top: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);
119
- border-bottom-color: $popover-arrow-color;
120
- }
122
+ .bs-popover-left {
123
+ margin-right: $popover-arrow-height;
121
124
 
122
- // This will remove the popover-header's border just below the arrow
123
- .popover-header::before {
124
- position: absolute;
125
- top: 0;
126
- left: 50%;
127
- display: block;
128
- width: 20px;
129
- margin-left: -10px;
130
- content: "";
131
- border-bottom: $popover-border-width solid $popover-header-bg;
132
- }
125
+ .arrow {
126
+ right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
127
+ width: $popover-arrow-height;
128
+ height: $popover-arrow-width;
129
+ margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
133
130
  }
134
131
 
135
- &.bs-popover-left {
136
- margin-right: $popover-arrow-width;
137
-
138
- .arrow {
139
- right: 0;
140
- }
132
+ .arrow::before,
133
+ .arrow::after {
134
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
135
+ }
141
136
 
142
- .arrow::before,
143
- .arrow::after {
144
- margin-top: -$popover-arrow-width;
145
- border-right-width: 0;
146
- }
137
+ .arrow::before {
138
+ right: 0;
139
+ border-left-color: $popover-arrow-outer-color;
140
+ }
147
141
 
148
- .arrow::before {
149
- right: -$popover-arrow-width;
150
- border-left-color: $popover-arrow-outer-color;
151
- }
142
+ .arrow::after {
143
+ right: $popover-border-width;
144
+ border-left-color: $popover-arrow-color;
145
+ }
146
+ }
152
147
 
153
- .arrow::after {
154
- right: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);
155
- border-left-color: $popover-arrow-color;
156
- }
148
+ .bs-popover-auto {
149
+ &[x-placement^="top"] {
150
+ @extend .bs-popover-top;
157
151
  }
158
- &.bs-popover-auto {
159
- &[x-placement^="top"] {
160
- @extend .bs-popover-top;
161
- }
162
- &[x-placement^="right"] {
163
- @extend .bs-popover-right;
164
- }
165
- &[x-placement^="bottom"] {
166
- @extend .bs-popover-bottom;
167
- }
168
- &[x-placement^="left"] {
169
- @extend .bs-popover-left;
170
- }
152
+ &[x-placement^="right"] {
153
+ @extend .bs-popover-right;
154
+ }
155
+ &[x-placement^="bottom"] {
156
+ @extend .bs-popover-bottom;
157
+ }
158
+ &[x-placement^="left"] {
159
+ @extend .bs-popover-left;
171
160
  }
172
161
  }
173
162