nodebb-theme-persona 11.2.19 → 11.2.20

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 (221) hide show
  1. package/.eslintrc +2 -2
  2. package/README.md +14 -14
  3. package/languages/de/persona.json +3 -3
  4. package/languages/en-GB/persona.json +2 -2
  5. package/languages/en-US/persona.json +2 -2
  6. package/languages/fr/persona.json +3 -3
  7. package/languages/pl/persona.json +3 -3
  8. package/languages/pt-PT/persona.json +2 -2
  9. package/languages/tr/persona.json +4 -4
  10. package/languages/zh-CN/persona.json +4 -4
  11. package/less/account.less +2 -2
  12. package/less/bootstrap/.csscomb.json +297 -297
  13. package/less/bootstrap/.csslintrc +19 -19
  14. package/less/bootstrap/alerts.less +73 -73
  15. package/less/bootstrap/badges.less +66 -66
  16. package/less/bootstrap/bootstrap.less +50 -50
  17. package/less/bootstrap/breadcrumbs.less +26 -26
  18. package/less/bootstrap/button-groups.less +243 -243
  19. package/less/bootstrap/buttons.less +160 -160
  20. package/less/bootstrap/carousel.less +269 -269
  21. package/less/bootstrap/close.less +34 -34
  22. package/less/bootstrap/code.less +69 -69
  23. package/less/bootstrap/component-animations.less +33 -33
  24. package/less/bootstrap/forms.less +574 -574
  25. package/less/bootstrap/glyphicons.less +305 -305
  26. package/less/bootstrap/grid.less +84 -84
  27. package/less/bootstrap/input-groups.less +166 -166
  28. package/less/bootstrap/jumbotron.less +50 -50
  29. package/less/bootstrap/labels.less +64 -64
  30. package/less/bootstrap/list-group.less +124 -124
  31. package/less/bootstrap/media.less +61 -61
  32. package/less/bootstrap/mixins/alerts.less +14 -14
  33. package/less/bootstrap/mixins/background-variant.less +8 -8
  34. package/less/bootstrap/mixins/border-radius.less +18 -18
  35. package/less/bootstrap/mixins/buttons.less +52 -52
  36. package/less/bootstrap/mixins/center-block.less +7 -7
  37. package/less/bootstrap/mixins/clearfix.less +22 -22
  38. package/less/bootstrap/mixins/forms.less +85 -85
  39. package/less/bootstrap/mixins/gradients.less +59 -59
  40. package/less/bootstrap/mixins/grid-framework.less +91 -91
  41. package/less/bootstrap/mixins/grid.less +122 -122
  42. package/less/bootstrap/mixins/hide-text.less +21 -21
  43. package/less/bootstrap/mixins/image.less +33 -33
  44. package/less/bootstrap/mixins/labels.less +12 -12
  45. package/less/bootstrap/mixins/list-group.less +29 -29
  46. package/less/bootstrap/mixins/nav-divider.less +10 -10
  47. package/less/bootstrap/mixins/nav-vertical-align.less +9 -9
  48. package/less/bootstrap/mixins/opacity.less +8 -8
  49. package/less/bootstrap/mixins/pagination.less +23 -23
  50. package/less/bootstrap/mixins/panels.less +24 -24
  51. package/less/bootstrap/mixins/progress-bar.less +10 -10
  52. package/less/bootstrap/mixins/reset-filter.less +8 -8
  53. package/less/bootstrap/mixins/resize.less +6 -6
  54. package/less/bootstrap/mixins/responsive-visibility.less +15 -15
  55. package/less/bootstrap/mixins/size.less +10 -10
  56. package/less/bootstrap/mixins/tab-focus.less +9 -9
  57. package/less/bootstrap/mixins/table-row.less +28 -28
  58. package/less/bootstrap/mixins/text-emphasis.less +8 -8
  59. package/less/bootstrap/mixins/text-overflow.less +8 -8
  60. package/less/bootstrap/mixins/vendor-prefixes.less +227 -227
  61. package/less/bootstrap/mixins.less +39 -39
  62. package/less/bootstrap/modals.less +150 -150
  63. package/less/bootstrap/navbar.less +660 -660
  64. package/less/bootstrap/navs.less +242 -242
  65. package/less/bootstrap/normalize.less +427 -427
  66. package/less/bootstrap/pager.less +54 -54
  67. package/less/bootstrap/pagination.less +88 -88
  68. package/less/bootstrap/panels.less +265 -265
  69. package/less/bootstrap/popovers.less +135 -135
  70. package/less/bootstrap/print.less +107 -107
  71. package/less/bootstrap/progress-bars.less +87 -87
  72. package/less/bootstrap/responsive-embed.less +35 -35
  73. package/less/bootstrap/responsive-utilities.less +194 -194
  74. package/less/bootstrap/scaffolding.less +161 -161
  75. package/less/bootstrap/tables.less +234 -234
  76. package/less/bootstrap/theme.less +273 -273
  77. package/less/bootstrap/thumbnails.less +36 -36
  78. package/less/bootstrap/tooltip.less +102 -102
  79. package/less/bootstrap/type.less +302 -302
  80. package/less/bootstrap/utilities.less +55 -55
  81. package/less/bootstrap/variables.less +861 -861
  82. package/less/bootstrap/wells.less +29 -29
  83. package/less/bootstrap-flipped.css +1550 -1550
  84. package/less/categories.less +235 -235
  85. package/less/category.less +1 -1
  86. package/less/chats.less +622 -622
  87. package/less/flags.less +42 -42
  88. package/less/footer.less +17 -17
  89. package/less/groups.less +201 -201
  90. package/less/ip-blacklist.less +6 -6
  91. package/less/keyframes.less +152 -152
  92. package/less/mixins.less +0 -7
  93. package/less/mobile.less +291 -291
  94. package/less/modules/composer-default.less +16 -16
  95. package/less/modules/cookie-consent.less +12 -12
  96. package/less/modules/fab.less +32 -32
  97. package/less/modules/morph.less +268 -268
  98. package/less/modules/necro-post.less +8 -8
  99. package/less/modules/nprogress.less +80 -80
  100. package/less/modules/usercard.less +64 -64
  101. package/less/noscript.less +82 -82
  102. package/less/notifications.less +37 -37
  103. package/less/outgoing.less +8 -8
  104. package/less/persona.less +47 -47
  105. package/less/post-queue.less +19 -19
  106. package/less/register.less +75 -75
  107. package/less/rtl.less +132 -132
  108. package/less/style.less +303 -303
  109. package/less/tags.less +36 -36
  110. package/less/topic.less +2 -2
  111. package/less/topics_list.less +15 -15
  112. package/less/users.less +72 -72
  113. package/less/variables.less +6 -6
  114. package/package.json +1 -1
  115. package/public/.eslintrc +2 -2
  116. package/public/admin.js +23 -23
  117. package/public/modules/autohidingnavbar.js +220 -220
  118. package/templates/account/blocks.tpl +34 -34
  119. package/templates/account/categories.tpl +28 -28
  120. package/templates/account/consent.tpl +68 -68
  121. package/templates/account/edit/email.tpl +30 -30
  122. package/templates/account/edit/password.tpl +31 -31
  123. package/templates/account/edit/username.tpl +29 -29
  124. package/templates/account/followers.tpl +16 -16
  125. package/templates/account/following.tpl +16 -16
  126. package/templates/account/groups.tpl +16 -16
  127. package/templates/account/info.tpl +187 -187
  128. package/templates/account/posts.tpl +18 -18
  129. package/templates/account/sessions.tpl +31 -31
  130. package/templates/account/topics.tpl +30 -30
  131. package/templates/account/uploads.tpl +42 -42
  132. package/templates/admin/plugins/persona.tpl +28 -28
  133. package/templates/alert.tpl +15 -15
  134. package/templates/categories.tpl +31 -31
  135. package/templates/category.tpl +62 -62
  136. package/templates/chats.tpl +15 -15
  137. package/templates/flags/list.tpl +71 -71
  138. package/templates/footer.tpl +18 -18
  139. package/templates/groups/details.tpl +272 -272
  140. package/templates/groups/list.tpl +46 -46
  141. package/templates/groups/members.tpl +8 -8
  142. package/templates/ip-blacklist.tpl +55 -55
  143. package/templates/login.tpl +90 -90
  144. package/templates/modules/taskbar.tpl +2 -2
  145. package/templates/modules/usercard.tpl +36 -36
  146. package/templates/notifications.tpl +64 -64
  147. package/templates/partials/acceptTos.tpl +8 -8
  148. package/templates/partials/account/category-item.tpl +22 -22
  149. package/templates/partials/account/header.tpl +46 -46
  150. package/templates/partials/breadcrumbs.tpl +18 -18
  151. package/templates/partials/buttons/newTopic.tpl +15 -15
  152. package/templates/partials/categories/item.tpl +46 -46
  153. package/templates/partials/categories/lastpost.tpl +26 -26
  154. package/templates/partials/categories/link.tpl +10 -10
  155. package/templates/partials/category/sort.tpl +14 -14
  156. package/templates/partials/category/subcategory.tpl +17 -17
  157. package/templates/partials/category/tags.tpl +4 -4
  158. package/templates/partials/category/tools.tpl +80 -80
  159. package/templates/partials/category/watch.tpl +22 -22
  160. package/templates/partials/category-filter-content.tpl +18 -18
  161. package/templates/partials/category-filter-right.tpl +2 -2
  162. package/templates/partials/category-filter.tpl +2 -2
  163. package/templates/partials/category-selector-right.tpl +2 -2
  164. package/templates/partials/category-selector.tpl +2 -2
  165. package/templates/partials/change_owner_modal.tpl +22 -22
  166. package/templates/partials/chats/dropdown.tpl +33 -33
  167. package/templates/partials/chats/messages.tpl +6 -6
  168. package/templates/partials/chats/recent_room.tpl +24 -24
  169. package/templates/partials/chats-menu.tpl +10 -10
  170. package/templates/partials/cookie-consent.tpl +4 -4
  171. package/templates/partials/delete_posts_modal.tpl +18 -18
  172. package/templates/partials/fork_thread_modal.tpl +21 -21
  173. package/templates/partials/groups/list.tpl +20 -20
  174. package/templates/partials/groups/memberlist.tpl +39 -39
  175. package/templates/partials/menu.tpl +230 -230
  176. package/templates/partials/merge_topics_modal.tpl +57 -57
  177. package/templates/partials/modals/flag_modal.tpl +44 -44
  178. package/templates/partials/modals/manage_room.tpl +10 -10
  179. package/templates/partials/modals/manage_room_users.tpl +6 -6
  180. package/templates/partials/modals/post_history.tpl +36 -36
  181. package/templates/partials/modals/rename_room.tpl +3 -3
  182. package/templates/partials/modals/votes_modal.tpl +10 -10
  183. package/templates/partials/move_thread_modal.tpl +16 -16
  184. package/templates/partials/paginator.tpl +44 -44
  185. package/templates/partials/post_bar.tpl +20 -20
  186. package/templates/partials/posts_list.tpl +7 -7
  187. package/templates/partials/quick-search-results.tpl +30 -30
  188. package/templates/partials/slideout-menu.tpl +26 -26
  189. package/templates/partials/tags_list.tpl +4 -4
  190. package/templates/partials/thread_tools.tpl +7 -7
  191. package/templates/partials/topic/badge.tpl +4 -4
  192. package/templates/partials/topic/browsing-users.tpl +12 -12
  193. package/templates/partials/topic/deleted-message.tpl +10 -10
  194. package/templates/partials/topic/navigation-post.tpl +11 -11
  195. package/templates/partials/topic/navigator.tpl +31 -31
  196. package/templates/partials/topic/necro-post.tpl +2 -2
  197. package/templates/partials/topic/post-menu.tpl +4 -4
  198. package/templates/partials/topic/post.tpl +104 -104
  199. package/templates/partials/topic/quickreply.tpl +20 -20
  200. package/templates/partials/topic/reply-button.tpl +26 -26
  201. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  202. package/templates/partials/topic/sort.tpl +9 -9
  203. package/templates/partials/topic/stats.tpl +11 -11
  204. package/templates/partials/topic/tags.tpl +4 -4
  205. package/templates/partials/topic/watch.tpl +20 -20
  206. package/templates/partials/users_list.tpl +39 -39
  207. package/templates/partials/users_list_menu.tpl +10 -10
  208. package/templates/popular.tpl +61 -61
  209. package/templates/post-queue.tpl +75 -75
  210. package/templates/recent.tpl +51 -51
  211. package/templates/reset.tpl +23 -23
  212. package/templates/reset_code.tpl +41 -41
  213. package/templates/tag.tpl +35 -35
  214. package/templates/tags.tpl +30 -30
  215. package/templates/top.tpl +61 -61
  216. package/templates/tos.tpl +4 -4
  217. package/templates/unread.tpl +49 -49
  218. package/templates/unsubscribe.tpl +6 -6
  219. package/templates/users.tpl +47 -47
  220. package/theme.json +6 -6
  221. package/theme.less +1 -1
@@ -1,243 +1,243 @@
1
- //
2
- // Button groups
3
- // --------------------------------------------------
4
-
5
- // Make the div behave like a button
6
- .btn-group,
7
- .btn-group-vertical {
8
- position: relative;
9
- display: inline-block;
10
- vertical-align: middle; // match .btn alignment given font-size hack above
11
- > .btn {
12
- position: relative;
13
- float: left;
14
- // Bring the "active" button to the front
15
- &:hover,
16
- &:focus,
17
- &:active,
18
- &.active {
19
- z-index: 2;
20
- }
21
- }
22
- }
23
-
24
- // Prevent double borders when buttons are next to each other
25
- .btn-group {
26
- .btn + .btn,
27
- .btn + .btn-group,
28
- .btn-group + .btn,
29
- .btn-group + .btn-group {
30
- margin-left: -1px;
31
- }
32
- }
33
-
34
- // Optional: Group multiple button groups together for a toolbar
35
- .btn-toolbar {
36
- margin-left: -5px; // Offset the first child's margin
37
- &:extend(.clearfix all);
38
-
39
- .btn-group,
40
- .input-group {
41
- float: left;
42
- }
43
- > .btn,
44
- > .btn-group,
45
- > .input-group {
46
- margin-left: 5px;
47
- }
48
- }
49
-
50
- .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
51
- border-radius: 0;
52
- }
53
-
54
- // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
55
- .btn-group > .btn:first-child {
56
- margin-left: 0;
57
- &:not(:last-child):not(.dropdown-toggle) {
58
- .border-right-radius(0);
59
- }
60
- }
61
- // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
62
- .btn-group > .btn:last-child:not(:first-child),
63
- .btn-group > .dropdown-toggle:not(:first-child) {
64
- .border-left-radius(0);
65
- }
66
-
67
- // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
68
- .btn-group > .btn-group {
69
- float: left;
70
- }
71
- .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
72
- border-radius: 0;
73
- }
74
- .btn-group > .btn-group:first-child:not(:last-child) {
75
- > .btn:last-child,
76
- > .dropdown-toggle {
77
- .border-right-radius(0);
78
- }
79
- }
80
- .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
81
- .border-left-radius(0);
82
- }
83
-
84
- // On active and open, don't show outline
85
- .btn-group .dropdown-toggle:active,
86
- .btn-group.open .dropdown-toggle {
87
- outline: 0;
88
- }
89
-
90
-
91
- // Sizing
92
- //
93
- // Remix the default button sizing classes into new ones for easier manipulation.
94
-
95
- .btn-group-xs > .btn { &:extend(.btn-xs); }
96
- .btn-group-sm > .btn { &:extend(.btn-sm); }
97
- .btn-group-lg > .btn { &:extend(.btn-lg); }
98
-
99
-
100
- // Split button dropdowns
101
- // ----------------------
102
-
103
- // Give the line between buttons some depth
104
- .btn-group > .btn + .dropdown-toggle {
105
- padding-left: 8px;
106
- padding-right: 8px;
107
- }
108
- .btn-group > .btn-lg + .dropdown-toggle {
109
- padding-left: 12px;
110
- padding-right: 12px;
111
- }
112
-
113
- // The clickable button for toggling the menu
114
- // Remove the gradient and set the same inset shadow as the :active state
115
- .btn-group.open .dropdown-toggle {
116
- .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
117
-
118
- // Show no shadow for `.btn-link` since it has no other button styles.
119
- &.btn-link {
120
- .box-shadow(none);
121
- }
122
- }
123
-
124
-
125
- // Reposition the caret
126
- .btn .caret {
127
- margin-left: 0;
128
- }
129
- // Carets in other button sizes
130
- .btn-lg .caret {
131
- border-width: @caret-width-large @caret-width-large 0;
132
- border-bottom-width: 0;
133
- }
134
- // Upside down carets for .dropup
135
- .dropup .btn-lg .caret {
136
- border-width: 0 @caret-width-large @caret-width-large;
137
- }
138
-
139
-
140
- // Vertical button groups
141
- // ----------------------
142
-
143
- .btn-group-vertical {
144
- > .btn,
145
- > .btn-group,
146
- > .btn-group > .btn {
147
- display: block;
148
- float: none;
149
- width: 100%;
150
- max-width: 100%;
151
- }
152
-
153
- // Clear floats so dropdown menus can be properly placed
154
- > .btn-group {
155
- &:extend(.clearfix all);
156
- > .btn {
157
- float: none;
158
- }
159
- }
160
-
161
- > .btn + .btn,
162
- > .btn + .btn-group,
163
- > .btn-group + .btn,
164
- > .btn-group + .btn-group {
165
- margin-top: -1px;
166
- margin-left: 0;
167
- }
168
- }
169
-
170
- .btn-group-vertical > .btn {
171
- &:not(:first-child):not(:last-child) {
172
- border-radius: 0;
173
- }
174
- &:first-child:not(:last-child) {
175
- border-top-right-radius: @border-radius-base;
176
- .border-bottom-radius(0);
177
- }
178
- &:last-child:not(:first-child) {
179
- border-bottom-left-radius: @border-radius-base;
180
- .border-top-radius(0);
181
- }
182
- }
183
- .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
184
- border-radius: 0;
185
- }
186
- .btn-group-vertical > .btn-group:first-child:not(:last-child) {
187
- > .btn:last-child,
188
- > .dropdown-toggle {
189
- .border-bottom-radius(0);
190
- }
191
- }
192
- .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
193
- .border-top-radius(0);
194
- }
195
-
196
-
197
- // Justified button groups
198
- // ----------------------
199
-
200
- .btn-group-justified {
201
- display: table;
202
- width: 100%;
203
- table-layout: fixed;
204
- border-collapse: separate;
205
- > .btn,
206
- > .btn-group {
207
- float: none;
208
- display: table-cell;
209
- width: 1%;
210
- }
211
- > .btn-group .btn {
212
- width: 100%;
213
- }
214
-
215
- > .btn-group .dropdown-menu {
216
- left: auto;
217
- }
218
- }
219
-
220
-
221
- // Checkbox and radio options
222
- //
223
- // In order to support the browser's form validation feedback, powered by the
224
- // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
225
- // `display: none;` or `visibility: hidden;` as that also hides the popover.
226
- // Simply visually hiding the inputs via `opacity` would leave them clickable in
227
- // certain cases which is prevented by using `clip` and `pointer-events`.
228
- // This way, we ensure a DOM element is visible to position the popover from.
229
- //
230
- // See https://github.com/twbs/bootstrap/pull/12794 and
231
- // https://github.com/twbs/bootstrap/pull/14559 for more information.
232
-
233
- [data-toggle="buttons"] {
234
- > .btn,
235
- > .btn-group > .btn {
236
- input[type="radio"],
237
- input[type="checkbox"] {
238
- position: absolute;
239
- clip: rect(0,0,0,0);
240
- pointer-events: none;
241
- }
242
- }
243
- }
1
+ //
2
+ // Button groups
3
+ // --------------------------------------------------
4
+
5
+ // Make the div behave like a button
6
+ .btn-group,
7
+ .btn-group-vertical {
8
+ position: relative;
9
+ display: inline-block;
10
+ vertical-align: middle; // match .btn alignment given font-size hack above
11
+ > .btn {
12
+ position: relative;
13
+ float: left;
14
+ // Bring the "active" button to the front
15
+ &:hover,
16
+ &:focus,
17
+ &:active,
18
+ &.active {
19
+ z-index: 2;
20
+ }
21
+ }
22
+ }
23
+
24
+ // Prevent double borders when buttons are next to each other
25
+ .btn-group {
26
+ .btn + .btn,
27
+ .btn + .btn-group,
28
+ .btn-group + .btn,
29
+ .btn-group + .btn-group {
30
+ margin-left: -1px;
31
+ }
32
+ }
33
+
34
+ // Optional: Group multiple button groups together for a toolbar
35
+ .btn-toolbar {
36
+ margin-left: -5px; // Offset the first child's margin
37
+ &:extend(.clearfix all);
38
+
39
+ .btn-group,
40
+ .input-group {
41
+ float: left;
42
+ }
43
+ > .btn,
44
+ > .btn-group,
45
+ > .input-group {
46
+ margin-left: 5px;
47
+ }
48
+ }
49
+
50
+ .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
51
+ border-radius: 0;
52
+ }
53
+
54
+ // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
55
+ .btn-group > .btn:first-child {
56
+ margin-left: 0;
57
+ &:not(:last-child):not(.dropdown-toggle) {
58
+ .border-right-radius(0);
59
+ }
60
+ }
61
+ // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
62
+ .btn-group > .btn:last-child:not(:first-child),
63
+ .btn-group > .dropdown-toggle:not(:first-child) {
64
+ .border-left-radius(0);
65
+ }
66
+
67
+ // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
68
+ .btn-group > .btn-group {
69
+ float: left;
70
+ }
71
+ .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
72
+ border-radius: 0;
73
+ }
74
+ .btn-group > .btn-group:first-child:not(:last-child) {
75
+ > .btn:last-child,
76
+ > .dropdown-toggle {
77
+ .border-right-radius(0);
78
+ }
79
+ }
80
+ .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
81
+ .border-left-radius(0);
82
+ }
83
+
84
+ // On active and open, don't show outline
85
+ .btn-group .dropdown-toggle:active,
86
+ .btn-group.open .dropdown-toggle {
87
+ outline: 0;
88
+ }
89
+
90
+
91
+ // Sizing
92
+ //
93
+ // Remix the default button sizing classes into new ones for easier manipulation.
94
+
95
+ .btn-group-xs > .btn { &:extend(.btn-xs); }
96
+ .btn-group-sm > .btn { &:extend(.btn-sm); }
97
+ .btn-group-lg > .btn { &:extend(.btn-lg); }
98
+
99
+
100
+ // Split button dropdowns
101
+ // ----------------------
102
+
103
+ // Give the line between buttons some depth
104
+ .btn-group > .btn + .dropdown-toggle {
105
+ padding-left: 8px;
106
+ padding-right: 8px;
107
+ }
108
+ .btn-group > .btn-lg + .dropdown-toggle {
109
+ padding-left: 12px;
110
+ padding-right: 12px;
111
+ }
112
+
113
+ // The clickable button for toggling the menu
114
+ // Remove the gradient and set the same inset shadow as the :active state
115
+ .btn-group.open .dropdown-toggle {
116
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
117
+
118
+ // Show no shadow for `.btn-link` since it has no other button styles.
119
+ &.btn-link {
120
+ .box-shadow(none);
121
+ }
122
+ }
123
+
124
+
125
+ // Reposition the caret
126
+ .btn .caret {
127
+ margin-left: 0;
128
+ }
129
+ // Carets in other button sizes
130
+ .btn-lg .caret {
131
+ border-width: @caret-width-large @caret-width-large 0;
132
+ border-bottom-width: 0;
133
+ }
134
+ // Upside down carets for .dropup
135
+ .dropup .btn-lg .caret {
136
+ border-width: 0 @caret-width-large @caret-width-large;
137
+ }
138
+
139
+
140
+ // Vertical button groups
141
+ // ----------------------
142
+
143
+ .btn-group-vertical {
144
+ > .btn,
145
+ > .btn-group,
146
+ > .btn-group > .btn {
147
+ display: block;
148
+ float: none;
149
+ width: 100%;
150
+ max-width: 100%;
151
+ }
152
+
153
+ // Clear floats so dropdown menus can be properly placed
154
+ > .btn-group {
155
+ &:extend(.clearfix all);
156
+ > .btn {
157
+ float: none;
158
+ }
159
+ }
160
+
161
+ > .btn + .btn,
162
+ > .btn + .btn-group,
163
+ > .btn-group + .btn,
164
+ > .btn-group + .btn-group {
165
+ margin-top: -1px;
166
+ margin-left: 0;
167
+ }
168
+ }
169
+
170
+ .btn-group-vertical > .btn {
171
+ &:not(:first-child):not(:last-child) {
172
+ border-radius: 0;
173
+ }
174
+ &:first-child:not(:last-child) {
175
+ border-top-right-radius: @border-radius-base;
176
+ .border-bottom-radius(0);
177
+ }
178
+ &:last-child:not(:first-child) {
179
+ border-bottom-left-radius: @border-radius-base;
180
+ .border-top-radius(0);
181
+ }
182
+ }
183
+ .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
184
+ border-radius: 0;
185
+ }
186
+ .btn-group-vertical > .btn-group:first-child:not(:last-child) {
187
+ > .btn:last-child,
188
+ > .dropdown-toggle {
189
+ .border-bottom-radius(0);
190
+ }
191
+ }
192
+ .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
193
+ .border-top-radius(0);
194
+ }
195
+
196
+
197
+ // Justified button groups
198
+ // ----------------------
199
+
200
+ .btn-group-justified {
201
+ display: table;
202
+ width: 100%;
203
+ table-layout: fixed;
204
+ border-collapse: separate;
205
+ > .btn,
206
+ > .btn-group {
207
+ float: none;
208
+ display: table-cell;
209
+ width: 1%;
210
+ }
211
+ > .btn-group .btn {
212
+ width: 100%;
213
+ }
214
+
215
+ > .btn-group .dropdown-menu {
216
+ left: auto;
217
+ }
218
+ }
219
+
220
+
221
+ // Checkbox and radio options
222
+ //
223
+ // In order to support the browser's form validation feedback, powered by the
224
+ // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
225
+ // `display: none;` or `visibility: hidden;` as that also hides the popover.
226
+ // Simply visually hiding the inputs via `opacity` would leave them clickable in
227
+ // certain cases which is prevented by using `clip` and `pointer-events`.
228
+ // This way, we ensure a DOM element is visible to position the popover from.
229
+ //
230
+ // See https://github.com/twbs/bootstrap/pull/12794 and
231
+ // https://github.com/twbs/bootstrap/pull/14559 for more information.
232
+
233
+ [data-toggle="buttons"] {
234
+ > .btn,
235
+ > .btn-group > .btn {
236
+ input[type="radio"],
237
+ input[type="checkbox"] {
238
+ position: absolute;
239
+ clip: rect(0,0,0,0);
240
+ pointer-events: none;
241
+ }
242
+ }
243
+ }