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
@@ -91,13 +91,13 @@
91
91
  .carousel-control-prev {
92
92
  left: 0;
93
93
  @if $enable-gradients {
94
- background: linear-gradient(90deg, rgba(0,0,0,.25), rgba(0,0,0,.001));
94
+ background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
95
95
  }
96
96
  }
97
97
  .carousel-control-next {
98
98
  right: 0;
99
99
  @if $enable-gradients {
100
- background: linear-gradient(270deg, rgba(0,0,0,.25), rgba(0,0,0,.001));
100
+ background: linear-gradient(270deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
101
101
  }
102
102
  }
103
103
 
@@ -12,6 +12,11 @@
12
12
  text-decoration: none;
13
13
  opacity: .75;
14
14
  }
15
+
16
+ // Opinionated: add "hand" cursor to non-disabled .close elements
17
+ &:not(:disabled):not(.disabled) {
18
+ cursor: pointer;
19
+ }
15
20
  }
16
21
 
17
22
  // Additional properties for button version
@@ -22,7 +27,7 @@
22
27
  // stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type
23
28
  button.close {
24
29
  padding: 0;
25
- background: transparent;
30
+ background-color: transparent;
26
31
  border: 0;
27
32
  -webkit-appearance: none;
28
33
  }
@@ -8,24 +8,20 @@ samp {
8
8
 
9
9
  // Inline code
10
10
  code {
11
- padding: $code-padding-y $code-padding-x;
12
11
  font-size: $code-font-size;
13
12
  color: $code-color;
14
- background-color: $code-bg;
15
- @include border-radius($border-radius);
13
+ word-break: break-word;
16
14
 
17
15
  // Streamline the style when inside anchors to avoid broken underline and more
18
16
  a > & {
19
- padding: 0;
20
17
  color: inherit;
21
- background-color: inherit;
22
18
  }
23
19
  }
24
20
 
25
21
  // User input typically entered via keyboard
26
22
  kbd {
27
- padding: $code-padding-y $code-padding-x;
28
- font-size: $code-font-size;
23
+ padding: $kbd-padding-y $kbd-padding-x;
24
+ font-size: $kbd-font-size;
29
25
  color: $kbd-color;
30
26
  background-color: $kbd-bg;
31
27
  @include border-radius($border-radius-sm);
@@ -42,18 +38,14 @@ kbd {
42
38
  // Blocks of code
43
39
  pre {
44
40
  display: block;
45
- margin-top: 0;
46
- margin-bottom: 1rem;
47
41
  font-size: $code-font-size;
48
42
  color: $pre-color;
49
43
 
50
44
  // Account for some code outputs that place code tags in pre tags
51
45
  code {
52
- padding: 0;
53
46
  font-size: inherit;
54
47
  color: inherit;
55
- background-color: transparent;
56
- border-radius: 0;
48
+ word-break: normal;
57
49
  }
58
50
  }
59
51
 
@@ -9,9 +9,13 @@
9
9
 
10
10
  .custom-control {
11
11
  position: relative;
12
- display: inline-flex;
12
+ display: block;
13
13
  min-height: (1rem * $line-height-base);
14
14
  padding-left: $custom-control-gutter;
15
+ }
16
+
17
+ .custom-control-inline {
18
+ display: inline-flex;
15
19
  margin-right: $custom-control-spacer-x;
16
20
  }
17
21
 
@@ -20,71 +24,107 @@
20
24
  z-index: -1; // Put the input behind the label so it doesn't overlay text
21
25
  opacity: 0;
22
26
 
23
- &:checked ~ .custom-control-indicator {
27
+ &:checked ~ .custom-control-label::before {
24
28
  color: $custom-control-indicator-checked-color;
25
29
  @include gradient-bg($custom-control-indicator-checked-bg);
26
30
  @include box-shadow($custom-control-indicator-checked-box-shadow);
27
31
  }
28
32
 
29
- &:focus ~ .custom-control-indicator {
33
+ &:focus ~ .custom-control-label::before {
30
34
  // the mixin is not used here to make sure there is feedback
31
35
  box-shadow: $custom-control-indicator-focus-box-shadow;
32
36
  }
33
37
 
34
- &:active ~ .custom-control-indicator {
38
+ &:active ~ .custom-control-label::before {
35
39
  color: $custom-control-indicator-active-color;
36
- @include gradient-bg($custom-control-indicator-active-bg);
40
+ background-color: $custom-control-indicator-active-bg;
37
41
  @include box-shadow($custom-control-indicator-active-box-shadow);
38
42
  }
39
43
 
40
44
  &:disabled {
41
- ~ .custom-control-indicator {
42
- background-color: $custom-control-indicator-disabled-bg;
43
- }
45
+ ~ .custom-control-label {
46
+ color: $custom-control-label-disabled-color;
44
47
 
45
- ~ .custom-control-description {
46
- color: $custom-control-description-disabled-color;
48
+ &::before {
49
+ background-color: $custom-control-indicator-disabled-bg;
50
+ }
47
51
  }
48
52
  }
49
53
  }
50
54
 
51
- // Custom indicator
55
+ // Custom control indicators
52
56
  //
53
- // Generates a shadow element to create our makeshift checkbox/radio background.
57
+ // Build the custom controls out of psuedo-elements.
54
58
 
55
- .custom-control-indicator {
56
- position: absolute;
57
- top: (($line-height-base - $custom-control-indicator-size) / 2);
58
- left: 0;
59
- display: block;
60
- width: $custom-control-indicator-size;
61
- height: $custom-control-indicator-size;
62
- pointer-events: none;
63
- user-select: none;
64
- background-color: $custom-control-indicator-bg;
65
- background-repeat: no-repeat;
66
- background-position: center center;
67
- background-size: $custom-control-indicator-bg-size;
68
- @include box-shadow($custom-control-indicator-box-shadow);
59
+ .custom-control-label {
60
+ margin-bottom: 0;
61
+
62
+ // Background-color and (when enabled) gradient
63
+ &::before {
64
+ position: absolute;
65
+ top: (($line-height-base - $custom-control-indicator-size) / 2);
66
+ left: 0;
67
+ display: block;
68
+ width: $custom-control-indicator-size;
69
+ height: $custom-control-indicator-size;
70
+ pointer-events: none;
71
+ content: "";
72
+ user-select: none;
73
+ background-color: $custom-control-indicator-bg;
74
+ @include box-shadow($custom-control-indicator-box-shadow);
75
+ }
76
+
77
+ // Foreground (icon)
78
+ &::after {
79
+ position: absolute;
80
+ top: (($line-height-base - $custom-control-indicator-size) / 2);
81
+ left: 0;
82
+ display: block;
83
+ width: $custom-control-indicator-size;
84
+ height: $custom-control-indicator-size;
85
+ content: "";
86
+ background-repeat: no-repeat;
87
+ background-position: center center;
88
+ background-size: $custom-control-indicator-bg-size;
89
+ }
69
90
  }
70
91
 
92
+
71
93
  // Checkboxes
72
94
  //
73
95
  // Tweak just a few things for checkboxes.
74
96
 
75
97
  .custom-checkbox {
76
- .custom-control-indicator {
98
+ .custom-control-label::before {
77
99
  @include border-radius($custom-checkbox-indicator-border-radius);
78
100
  }
79
101
 
80
- .custom-control-input:checked ~ .custom-control-indicator {
81
- background-image: $custom-checkbox-indicator-icon-checked;
102
+ .custom-control-input:checked ~ .custom-control-label {
103
+ &::before {
104
+ @include gradient-bg($custom-control-indicator-checked-bg);
105
+ }
106
+ &::after {
107
+ background-image: $custom-checkbox-indicator-icon-checked;
108
+ }
82
109
  }
83
110
 
84
- .custom-control-input:indeterminate ~ .custom-control-indicator {
85
- background-color: $custom-checkbox-indicator-indeterminate-bg;
86
- background-image: $custom-checkbox-indicator-icon-indeterminate;
87
- @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);
111
+ .custom-control-input:indeterminate ~ .custom-control-label {
112
+ &::before {
113
+ @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);
114
+ @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);
115
+ }
116
+ &::after {
117
+ background-image: $custom-checkbox-indicator-icon-indeterminate;
118
+ }
119
+ }
120
+
121
+ .custom-control-input:disabled {
122
+ &:checked ~ .custom-control-label::before {
123
+ background-color: $custom-control-indicator-checked-disabled-bg;
124
+ }
125
+ &:indeterminate ~ .custom-control-label::before {
126
+ background-color: $custom-control-indicator-checked-disabled-bg;
127
+ }
88
128
  }
89
129
  }
90
130
 
@@ -93,30 +133,22 @@
93
133
  // Tweak just a few things for radios.
94
134
 
95
135
  .custom-radio {
96
- .custom-control-indicator {
136
+ .custom-control-label::before {
97
137
  border-radius: $custom-radio-indicator-border-radius;
98
138
  }
99
139
 
100
- .custom-control-input:checked ~ .custom-control-indicator {
101
- background-image: $custom-radio-indicator-icon-checked;
140
+ .custom-control-input:checked ~ .custom-control-label {
141
+ &::before {
142
+ @include gradient-bg($custom-control-indicator-checked-bg);
143
+ }
144
+ &::after {
145
+ background-image: $custom-radio-indicator-icon-checked;
146
+ }
102
147
  }
103
- }
104
-
105
-
106
- // Layout options
107
- //
108
- // By default radios and checkboxes are `inline-block` with no additional spacing
109
- // set. Use these optional classes to tweak the layout.
110
148
 
111
- .custom-controls-stacked {
112
- display: flex;
113
- flex-direction: column;
114
-
115
- .custom-control {
116
- margin-bottom: $custom-control-spacer-y;
117
-
118
- + .custom-control {
119
- margin-left: 0;
149
+ .custom-control-input:disabled {
150
+ &:checked ~ .custom-control-label::before {
151
+ background-color: $custom-control-indicator-checked-disabled-bg;
120
152
  }
121
153
  }
122
154
  }
@@ -130,8 +162,8 @@
130
162
 
131
163
  .custom-select {
132
164
  display: inline-block;
133
- max-width: 100%;
134
- height: $input-height;
165
+ width: 100%;
166
+ height: $custom-select-height;
135
167
  padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
136
168
  line-height: $custom-select-line-height;
137
169
  color: $custom-select-color;
@@ -148,12 +180,12 @@
148
180
 
149
181
  &:focus {
150
182
  border-color: $custom-select-focus-border-color;
151
- outline: none;
152
- @include box-shadow($custom-select-focus-box-shadow);
183
+ outline: 0;
184
+ box-shadow: $custom-select-focus-box-shadow;
153
185
 
154
186
  &::-ms-value {
155
187
  // For visual consistency with other platforms/browsers,
156
- // supress the default white text on blue background highlight given to
188
+ // suppress the default white text on blue background highlight given to
157
189
  // the selected option text when the (still closed) <select> receives focus
158
190
  // in IE and (under certain conditions) Edge.
159
191
  // See https://github.com/twbs/bootstrap/issues/19398.
@@ -162,8 +194,10 @@
162
194
  }
163
195
  }
164
196
 
165
- &[multiple] {
197
+ &[multiple],
198
+ &[size]:not([size="1"]) {
166
199
  height: auto;
200
+ padding-right: $custom-select-padding-x;
167
201
  background-image: none;
168
202
  }
169
203
 
@@ -185,6 +219,13 @@
185
219
  font-size: $custom-select-font-size-sm;
186
220
  }
187
221
 
222
+ .custom-select-lg {
223
+ height: $custom-select-height-lg;
224
+ padding-top: $custom-select-padding-y;
225
+ padding-bottom: $custom-select-padding-y;
226
+ font-size: $custom-select-font-size-lg;
227
+ }
228
+
188
229
 
189
230
  // File
190
231
  //
@@ -193,65 +234,64 @@
193
234
  .custom-file {
194
235
  position: relative;
195
236
  display: inline-block;
196
- max-width: 100%;
237
+ width: 100%;
197
238
  height: $custom-file-height;
198
239
  margin-bottom: 0;
199
240
  }
200
241
 
201
242
  .custom-file-input {
202
- min-width: $custom-file-width;
203
- max-width: 100%;
243
+ position: relative;
244
+ z-index: 2;
245
+ width: 100%;
204
246
  height: $custom-file-height;
205
247
  margin: 0;
206
248
  opacity: 0;
207
249
 
208
250
  &:focus ~ .custom-file-control {
251
+ border-color: $custom-file-focus-border-color;
209
252
  box-shadow: $custom-file-focus-box-shadow;
253
+
254
+ &::before {
255
+ border-color: $custom-file-focus-border-color;
256
+ }
257
+ }
258
+
259
+ @each $lang, $value in $custom-file-text {
260
+ &:lang(#{$lang}) ~ .custom-file-label::after {
261
+ content: $value;
262
+ }
210
263
  }
211
264
  }
212
265
 
213
- .custom-file-control {
266
+ .custom-file-label {
214
267
  position: absolute;
215
268
  top: 0;
216
269
  right: 0;
217
270
  left: 0;
218
- z-index: 5;
271
+ z-index: 1;
219
272
  height: $custom-file-height;
220
273
  padding: $custom-file-padding-y $custom-file-padding-x;
221
274
  line-height: $custom-file-line-height;
222
275
  color: $custom-file-color;
223
- pointer-events: none;
224
- user-select: none;
225
276
  background-color: $custom-file-bg;
226
277
  border: $custom-file-border-width solid $custom-file-border-color;
227
278
  @include border-radius($custom-file-border-radius);
228
279
  @include box-shadow($custom-file-box-shadow);
229
280
 
230
- @each $lang, $text in map-get($custom-file-text, placeholder) {
231
- &:lang(#{$lang}):empty::after {
232
- content: $text;
233
- }
234
- }
235
-
236
- &::before {
281
+ &::after {
237
282
  position: absolute;
238
- top: -$custom-file-border-width;
239
- right: -$custom-file-border-width;
240
- bottom: -$custom-file-border-width;
241
- z-index: 6;
283
+ top: 0;
284
+ right: 0;
285
+ bottom: 0;
286
+ z-index: 3;
242
287
  display: block;
243
- height: $custom-file-height;
288
+ height: calc(#{$custom-file-height} - #{$custom-file-border-width} * 2);
244
289
  padding: $custom-file-padding-y $custom-file-padding-x;
245
290
  line-height: $custom-file-line-height;
246
291
  color: $custom-file-button-color;
292
+ content: "Browse";
247
293
  @include gradient-bg($custom-file-button-bg);
248
- border: $custom-file-border-width solid $custom-file-border-color;
294
+ border-left: $custom-file-border-width solid $custom-file-border-color;
249
295
  @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
250
296
  }
251
-
252
- @each $lang, $text in map-get($custom-file-text, button-label) {
253
- &:lang(#{$lang})::before {
254
- content: $text;
255
- }
256
- }
257
297
  }
@@ -27,7 +27,7 @@
27
27
  background-color: $dropdown-bg;
28
28
  background-clip: padding-box;
29
29
  border: $dropdown-border-width solid $dropdown-border-color;
30
- @include border-radius($border-radius);
30
+ @include border-radius($dropdown-border-radius);
31
31
  @include box-shadow($dropdown-box-shadow);
32
32
  }
33
33
 
@@ -44,6 +44,34 @@
44
44
  }
45
45
  }
46
46
 
47
+ .dropright {
48
+ .dropdown-menu {
49
+ margin-top: 0;
50
+ margin-left: $dropdown-spacer;
51
+ }
52
+
53
+ .dropdown-toggle {
54
+ @include caret(right);
55
+ &::after {
56
+ vertical-align: 0;
57
+ }
58
+ }
59
+ }
60
+
61
+ .dropleft {
62
+ .dropdown-menu {
63
+ margin-top: 0;
64
+ margin-right: $dropdown-spacer;
65
+ }
66
+
67
+ .dropdown-toggle {
68
+ @include caret(left);
69
+ &::before {
70
+ vertical-align: 0;
71
+ }
72
+ }
73
+ }
74
+
47
75
  // Dividers (basically an `<hr>`) within the dropdown
48
76
  .dropdown-divider {
49
77
  @include nav-divider($dropdown-divider-bg);
@@ -61,7 +89,7 @@
61
89
  color: $dropdown-link-color;
62
90
  text-align: inherit; // For `<button>`s
63
91
  white-space: nowrap; // prevent links from randomly breaking onto new lines
64
- background: none; // For `<button>`s
92
+ background-color: transparent; // For `<button>`s
65
93
  border: 0; // For `<button>`s
66
94
 
67
95
  @include hover-focus {