nodebb-theme-persona 12.1.6 → 12.1.8

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 (247) hide show
  1. package/README.md +16 -14
  2. package/{scss/account.scss → less/account.less} +97 -13
  3. package/less/bootstrap/.csscomb.json +297 -0
  4. package/less/bootstrap/.csslintrc +19 -0
  5. package/less/bootstrap/alerts.less +73 -0
  6. package/less/bootstrap/badges.less +66 -0
  7. package/less/bootstrap/bootstrap.less +50 -0
  8. package/less/bootstrap/breadcrumbs.less +26 -0
  9. package/less/bootstrap/button-groups.less +243 -0
  10. package/less/bootstrap/buttons.less +160 -0
  11. package/less/bootstrap/carousel.less +269 -0
  12. package/less/bootstrap/close.less +34 -0
  13. package/less/bootstrap/code.less +69 -0
  14. package/less/bootstrap/component-animations.less +33 -0
  15. package/less/bootstrap/dropdowns.less +214 -0
  16. package/less/bootstrap/forms.less +574 -0
  17. package/less/bootstrap/glyphicons.less +305 -0
  18. package/less/bootstrap/grid.less +84 -0
  19. package/less/bootstrap/input-groups.less +166 -0
  20. package/less/bootstrap/jumbotron.less +50 -0
  21. package/less/bootstrap/labels.less +64 -0
  22. package/less/bootstrap/list-group.less +124 -0
  23. package/less/bootstrap/media.less +61 -0
  24. package/less/bootstrap/mixins/alerts.less +14 -0
  25. package/less/bootstrap/mixins/background-variant.less +8 -0
  26. package/less/bootstrap/mixins/border-radius.less +18 -0
  27. package/less/bootstrap/mixins/buttons.less +52 -0
  28. package/less/bootstrap/mixins/center-block.less +7 -0
  29. package/less/bootstrap/mixins/clearfix.less +22 -0
  30. package/less/bootstrap/mixins/forms.less +85 -0
  31. package/less/bootstrap/mixins/gradients.less +59 -0
  32. package/less/bootstrap/mixins/grid-framework.less +91 -0
  33. package/less/bootstrap/mixins/grid.less +122 -0
  34. package/less/bootstrap/mixins/hide-text.less +21 -0
  35. package/less/bootstrap/mixins/image.less +33 -0
  36. package/less/bootstrap/mixins/labels.less +12 -0
  37. package/less/bootstrap/mixins/list-group.less +29 -0
  38. package/less/bootstrap/mixins/nav-divider.less +10 -0
  39. package/less/bootstrap/mixins/nav-vertical-align.less +9 -0
  40. package/less/bootstrap/mixins/opacity.less +8 -0
  41. package/less/bootstrap/mixins/pagination.less +23 -0
  42. package/less/bootstrap/mixins/panels.less +24 -0
  43. package/less/bootstrap/mixins/progress-bar.less +10 -0
  44. package/less/bootstrap/mixins/reset-filter.less +8 -0
  45. package/less/bootstrap/mixins/resize.less +6 -0
  46. package/less/bootstrap/mixins/responsive-visibility.less +15 -0
  47. package/less/bootstrap/mixins/size.less +10 -0
  48. package/less/bootstrap/mixins/tab-focus.less +9 -0
  49. package/less/bootstrap/mixins/table-row.less +28 -0
  50. package/less/bootstrap/mixins/text-emphasis.less +8 -0
  51. package/less/bootstrap/mixins/text-overflow.less +8 -0
  52. package/less/bootstrap/mixins/vendor-prefixes.less +227 -0
  53. package/less/bootstrap/mixins.less +39 -0
  54. package/less/bootstrap/modals.less +150 -0
  55. package/less/bootstrap/navbar.less +660 -0
  56. package/less/bootstrap/navs.less +242 -0
  57. package/less/bootstrap/normalize.less +427 -0
  58. package/less/bootstrap/pager.less +54 -0
  59. package/less/bootstrap/pagination.less +88 -0
  60. package/less/bootstrap/panels.less +265 -0
  61. package/less/bootstrap/popovers.less +135 -0
  62. package/less/bootstrap/print.less +107 -0
  63. package/less/bootstrap/progress-bars.less +87 -0
  64. package/less/bootstrap/responsive-embed.less +35 -0
  65. package/less/bootstrap/responsive-utilities.less +194 -0
  66. package/less/bootstrap/scaffolding.less +162 -0
  67. package/less/bootstrap/tables.less +234 -0
  68. package/less/bootstrap/theme.less +273 -0
  69. package/less/bootstrap/thumbnails.less +36 -0
  70. package/less/bootstrap/tooltip.less +102 -0
  71. package/less/bootstrap/type.less +302 -0
  72. package/less/bootstrap/utilities.less +55 -0
  73. package/less/bootstrap/variables.less +861 -0
  74. package/less/bootstrap/wells.less +29 -0
  75. package/less/bootstrap-flipped.css +1550 -0
  76. package/{scss/categories.scss → less/categories.less} +40 -10
  77. package/{scss/category.scss → less/category.less} +75 -26
  78. package/{scss/chats.scss → less/chats.less} +88 -35
  79. package/{scss/flags.scss → less/flags.less} +3 -3
  80. package/{scss/footer.scss → less/footer.less} +1 -0
  81. package/{scss/groups.scss → less/groups.less} +38 -14
  82. package/{scss/header.scss → less/header.less} +139 -63
  83. package/{scss/helpers.scss → less/helpers.less} +0 -0
  84. package/less/ip-blacklist.less +7 -0
  85. package/{scss/keyframes.scss → less/keyframes.less} +0 -0
  86. package/{scss/mixins.scss → less/mixins.less} +59 -17
  87. package/{scss/mobile.scss → less/mobile.less} +18 -13
  88. package/{scss/modules/alerts.scss → less/modules/alerts.less} +21 -21
  89. package/less/modules/bottom-sheet.less +60 -0
  90. package/{scss/modules/composer-default.scss → less/modules/composer-default.less} +2 -2
  91. package/{scss/modules/cookie-consent.scss → less/modules/cookie-consent.less} +1 -1
  92. package/{scss/modules/fab.scss → less/modules/fab.less} +2 -2
  93. package/{scss/modules/morph.scss → less/modules/morph.less} +1 -1
  94. package/{scss/modules/necro-post.scss → less/modules/necro-post.less} +0 -0
  95. package/less/modules/nprogress.less +80 -0
  96. package/{scss/modules/taskbar.scss → less/modules/taskbar.less} +10 -11
  97. package/{scss/modules/usercard.scss → less/modules/usercard.less} +0 -0
  98. package/{scss/noscript.scss → less/noscript.less} +7 -5
  99. package/less/notifications.less +38 -0
  100. package/{scss/outgoing.scss → less/outgoing.less} +0 -0
  101. package/{scss/persona.scss → less/persona.less} +13 -1
  102. package/less/post-queue.less +19 -0
  103. package/{scss/posts_list.scss → less/posts_list.less} +14 -11
  104. package/{scss/register.scss → less/register.less} +7 -2
  105. package/less/rtl.less +132 -0
  106. package/less/search.less +96 -0
  107. package/{scss/style.scss → less/style.less} +47 -23
  108. package/less/tags.less +37 -0
  109. package/{scss/topic.scss → less/topic.less} +94 -57
  110. package/less/topics_list.less +16 -0
  111. package/less/users.less +73 -0
  112. package/{scss/variables.scss → less/variables.less} +3 -3
  113. package/package.json +2 -2
  114. package/public/persona.js +22 -11
  115. package/templates/account/blocks.tpl +26 -24
  116. package/templates/account/categories.tpl +6 -6
  117. package/templates/account/consent.tpl +10 -10
  118. package/templates/account/edit/password.tpl +10 -8
  119. package/templates/account/edit/username.tpl +10 -6
  120. package/templates/account/edit.tpl +23 -23
  121. package/templates/account/followers.tpl +3 -3
  122. package/templates/account/following.tpl +3 -3
  123. package/templates/account/groups.tpl +2 -2
  124. package/templates/account/info.tpl +72 -67
  125. package/templates/account/posts.tpl +1 -1
  126. package/templates/account/profile.tpl +18 -20
  127. package/templates/account/sessions.tpl +3 -3
  128. package/templates/account/settings.tpl +81 -93
  129. package/templates/account/topics.tpl +5 -5
  130. package/templates/account/uploads.tpl +2 -2
  131. package/templates/admin/plugins/persona.tpl +3 -3
  132. package/templates/alert.tpl +15 -0
  133. package/templates/category.tpl +14 -15
  134. package/templates/chat.tpl +9 -16
  135. package/templates/chats.tpl +3 -5
  136. package/templates/flags/detail.tpl +80 -86
  137. package/templates/flags/list.tpl +4 -4
  138. package/templates/footer.tpl +1 -1
  139. package/templates/groups/details.tpl +218 -23
  140. package/templates/groups/list.tpl +9 -11
  141. package/templates/groups/members.tpl +4 -1
  142. package/templates/header.tpl +4 -10
  143. package/templates/ip-blacklist.tpl +20 -22
  144. package/templates/login.tpl +14 -17
  145. package/templates/modules/taskbar.tpl +1 -1
  146. package/templates/modules/usercard.tpl +2 -2
  147. package/templates/notifications.tpl +38 -40
  148. package/templates/partials/acceptTos.tpl +8 -8
  149. package/templates/partials/account/category-item.tpl +5 -6
  150. package/templates/partials/account/header.tpl +2 -2
  151. package/templates/partials/account/menu.tpl +37 -37
  152. package/templates/partials/breadcrumbs.tpl +1 -1
  153. package/templates/partials/buttons/newTopic.tpl +3 -10
  154. package/templates/partials/categories/item.tpl +10 -24
  155. package/templates/partials/categories/lastpost.tpl +3 -3
  156. package/templates/partials/categories/link.tpl +10 -10
  157. package/templates/partials/category/sort.tpl +7 -7
  158. package/templates/partials/category/subcategory.tpl +3 -3
  159. package/templates/partials/category/tags.tpl +5 -3
  160. package/templates/partials/category/tools.tpl +16 -16
  161. package/templates/partials/category/watch.tpl +10 -8
  162. package/templates/partials/category-filter-content.tpl +5 -17
  163. package/templates/partials/category-filter-right.tpl +1 -1
  164. package/templates/partials/category-selector-content.tpl +4 -17
  165. package/templates/partials/category-selector-right.tpl +1 -1
  166. package/templates/partials/change_owner_modal.tpl +22 -0
  167. package/templates/partials/chats/message-window.tpl +8 -10
  168. package/templates/partials/chats/message.tpl +11 -11
  169. package/templates/partials/chats/options.tpl +8 -8
  170. package/templates/partials/chats/recent_room.tpl +1 -1
  171. package/templates/partials/chats/system-message.tpl +1 -1
  172. package/templates/partials/chats/user.tpl +1 -1
  173. package/templates/partials/chats-menu.tpl +11 -11
  174. package/templates/partials/cookie-consent.tpl +1 -1
  175. package/templates/partials/delete_posts_modal.tpl +19 -0
  176. package/templates/partials/flags/filters.tpl +32 -34
  177. package/templates/partials/fork_thread_modal.tpl +22 -0
  178. package/templates/partials/groups/list.tpl +6 -6
  179. package/templates/partials/groups/memberlist.tpl +10 -11
  180. package/templates/partials/menu.tpl +156 -149
  181. package/templates/partials/merge_topics_modal.tpl +58 -0
  182. package/templates/partials/modals/change_picture_modal.tpl +73 -0
  183. package/templates/partials/modals/flag_modal.tpl +45 -0
  184. package/templates/partials/modals/manage_room.tpl +11 -0
  185. package/templates/partials/modals/manage_room_users.tpl +7 -0
  186. package/templates/partials/modals/post_history.tpl +36 -0
  187. package/templates/partials/modals/rename_room.tpl +4 -0
  188. package/templates/partials/modals/upload_file_modal.tpl +44 -0
  189. package/templates/partials/modals/upload_picture_from_url_modal.tpl +17 -0
  190. package/templates/partials/modals/votes_modal.tpl +10 -0
  191. package/templates/partials/move_thread_modal.tpl +17 -0
  192. package/templates/partials/notifications_list.tpl +2 -2
  193. package/templates/partials/paginator.tpl +21 -21
  194. package/templates/partials/post_bar.tpl +4 -4
  195. package/templates/partials/posts_list.tpl +1 -1
  196. package/templates/partials/posts_list_item.tpl +2 -2
  197. package/templates/partials/quick-search-results.tpl +11 -14
  198. package/templates/partials/slideout-menu.tpl +1 -1
  199. package/templates/partials/tags_list.tpl +3 -3
  200. package/templates/partials/thread_tools.tpl +4 -4
  201. package/templates/partials/topic/badge.tpl +5 -0
  202. package/templates/partials/topic/deleted-message.tpl +2 -2
  203. package/templates/partials/topic/event.tpl +2 -2
  204. package/templates/partials/topic/navigation-post.tpl +3 -3
  205. package/templates/partials/topic/navigator.tpl +7 -7
  206. package/templates/partials/topic/necro-post.tpl +1 -1
  207. package/templates/partials/topic/post-menu-list.tpl +23 -26
  208. package/templates/partials/topic/post-menu.tpl +3 -3
  209. package/templates/partials/topic/post.tpl +44 -49
  210. package/templates/partials/topic/quickreply.tpl +3 -3
  211. package/templates/partials/topic/reply-button.tpl +3 -3
  212. package/templates/partials/topic/sort.tpl +5 -5
  213. package/templates/partials/topic/tags.tpl +5 -3
  214. package/templates/partials/topic/topic-menu-list.tpl +16 -18
  215. package/templates/partials/topic/watch.tpl +10 -11
  216. package/templates/partials/topics_list.tpl +25 -27
  217. package/templates/partials/users_list.tpl +10 -22
  218. package/templates/partials/users_list_menu.tpl +9 -19
  219. package/templates/popular.tpl +35 -9
  220. package/templates/post-queue.tpl +35 -42
  221. package/templates/recent.tpl +24 -10
  222. package/templates/register.tpl +17 -17
  223. package/templates/registerComplete.tpl +10 -14
  224. package/templates/reset.tpl +5 -7
  225. package/templates/reset_code.tpl +9 -9
  226. package/templates/search.tpl +87 -100
  227. package/templates/tag.tpl +10 -8
  228. package/templates/tags.tpl +3 -5
  229. package/templates/top.tpl +35 -9
  230. package/templates/topic.tpl +10 -8
  231. package/templates/tos.tpl +4 -4
  232. package/templates/unread.tpl +22 -10
  233. package/templates/users.tpl +20 -7
  234. package/theme.json +6 -6
  235. package/theme.less +2 -0
  236. package/scss/modules/nprogress.scss +0 -80
  237. package/scss/overrides.scss +0 -44
  238. package/scss/search.scss +0 -39
  239. package/scss/tags.scss +0 -11
  240. package/scss/topics_list.scss +0 -17
  241. package/templates/partials/groups/admin.tpl +0 -195
  242. package/templates/partials/groups/badge.tpl +0 -1
  243. package/templates/partials/toast.tpl +0 -14
  244. package/templates/partials/topic/tag.tpl +0 -1
  245. package/templates/partials/topic-filters.tpl +0 -12
  246. package/templates/partials/topic-terms.tpl +0 -12
  247. package/theme.scss +0 -1
@@ -0,0 +1,50 @@
1
+ // Core variables and mixins
2
+ @import "variables.less";
3
+ @import "mixins.less";
4
+
5
+ // Reset and dependencies
6
+ @import "normalize.less";
7
+ @import "print.less";
8
+ @import "glyphicons.less";
9
+
10
+ // Core CSS
11
+ @import "scaffolding.less";
12
+ @import "type.less";
13
+ @import "code.less";
14
+ @import "grid.less";
15
+ @import "tables.less";
16
+ @import "forms.less";
17
+ @import "buttons.less";
18
+
19
+ // Components
20
+ @import "component-animations.less";
21
+ @import "dropdowns.less";
22
+ @import "button-groups.less";
23
+ @import "input-groups.less";
24
+ @import "navs.less";
25
+ @import "navbar.less";
26
+ @import "breadcrumbs.less";
27
+ @import "pagination.less";
28
+ @import "pager.less";
29
+ @import "labels.less";
30
+ @import "badges.less";
31
+ @import "jumbotron.less";
32
+ @import "thumbnails.less";
33
+ @import "alerts.less";
34
+ @import "progress-bars.less";
35
+ @import "media.less";
36
+ @import "list-group.less";
37
+ @import "panels.less";
38
+ @import "responsive-embed.less";
39
+ @import "wells.less";
40
+ @import "close.less";
41
+
42
+ // Components w/ JavaScript
43
+ @import "modals.less";
44
+ @import "tooltip.less";
45
+ @import "popovers.less";
46
+ @import "carousel.less";
47
+
48
+ // Utility classes
49
+ @import "utilities.less";
50
+ @import "responsive-utilities.less";
@@ -0,0 +1,26 @@
1
+ //
2
+ // Breadcrumbs
3
+ // --------------------------------------------------
4
+
5
+
6
+ .breadcrumb {
7
+ padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
8
+ margin-bottom: @line-height-computed;
9
+ list-style: none;
10
+ background-color: @breadcrumb-bg;
11
+ border-radius: @border-radius-base;
12
+
13
+ > li {
14
+ display: inline-block;
15
+
16
+ + li:before {
17
+ content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
18
+ padding: 0 5px;
19
+ color: @breadcrumb-color;
20
+ }
21
+ }
22
+
23
+ > .active {
24
+ color: @breadcrumb-active-color;
25
+ }
26
+ }
@@ -0,0 +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
+ }
@@ -0,0 +1,160 @@
1
+ //
2
+ // Buttons
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base styles
7
+ // --------------------------------------------------
8
+
9
+ .btn {
10
+ display: inline-block;
11
+ margin-bottom: 0; // For input.btn
12
+ font-weight: @btn-font-weight;
13
+ text-align: center;
14
+ vertical-align: middle;
15
+ touch-action: manipulation;
16
+ cursor: pointer;
17
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
18
+ border: 1px solid transparent;
19
+ white-space: nowrap;
20
+ .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);
21
+ .user-select(none);
22
+
23
+ &,
24
+ &:active,
25
+ &.active {
26
+ &:focus,
27
+ &.focus {
28
+ .tab-focus();
29
+ }
30
+ }
31
+
32
+ &:hover,
33
+ &:focus,
34
+ &.focus {
35
+ color: @btn-default-color;
36
+ text-decoration: none;
37
+ }
38
+
39
+ &:active,
40
+ &.active {
41
+ outline: 0;
42
+ background-image: none;
43
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
44
+ }
45
+
46
+ &.disabled,
47
+ &[disabled],
48
+ fieldset[disabled] & {
49
+ cursor: @cursor-disabled;
50
+ pointer-events: none; // Future-proof disabling of clicks
51
+ .opacity(.65);
52
+ .box-shadow(none);
53
+ }
54
+ }
55
+
56
+
57
+ // Alternate buttons
58
+ // --------------------------------------------------
59
+
60
+ .btn-default {
61
+ .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
62
+ }
63
+ .btn-primary {
64
+ .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
65
+ }
66
+ // Success appears as green
67
+ .btn-success {
68
+ .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
69
+ }
70
+ // Info appears as blue-green
71
+ .btn-info {
72
+ .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
73
+ }
74
+ // Warning appears as orange
75
+ .btn-warning {
76
+ .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
77
+ }
78
+ // Danger and error appear as red
79
+ .btn-danger {
80
+ .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
81
+ }
82
+
83
+
84
+ // Link buttons
85
+ // -------------------------
86
+
87
+ // Make a button look and behave like a link
88
+ .btn-link {
89
+ color: @link-color;
90
+ font-weight: normal;
91
+ border-radius: 0;
92
+
93
+ &,
94
+ &:active,
95
+ &.active,
96
+ &[disabled],
97
+ fieldset[disabled] & {
98
+ background-color: transparent;
99
+ .box-shadow(none);
100
+ }
101
+ &,
102
+ &:hover,
103
+ &:focus,
104
+ &:active {
105
+ border-color: transparent;
106
+ }
107
+ &:hover,
108
+ &:focus {
109
+ color: @link-hover-color;
110
+ text-decoration: @link-hover-decoration;
111
+ background-color: transparent;
112
+ }
113
+ &[disabled],
114
+ fieldset[disabled] & {
115
+ &:hover,
116
+ &:focus {
117
+ color: @btn-link-disabled-color;
118
+ text-decoration: none;
119
+ }
120
+ }
121
+ }
122
+
123
+
124
+ // Button Sizes
125
+ // --------------------------------------------------
126
+
127
+ .btn-lg {
128
+ // line-height: ensure even-numbered height of button next to large input
129
+ .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
130
+ }
131
+ .btn-sm {
132
+ // line-height: ensure proper height of button next to small input
133
+ .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
134
+ }
135
+ .btn-xs {
136
+ .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);
137
+ }
138
+
139
+
140
+ // Block button
141
+ // --------------------------------------------------
142
+
143
+ .btn-block {
144
+ display: block;
145
+ width: 100%;
146
+ }
147
+
148
+ // Vertically space out multiple block buttons
149
+ .btn-block + .btn-block {
150
+ margin-top: 5px;
151
+ }
152
+
153
+ // Specificity overrides
154
+ input[type="submit"],
155
+ input[type="reset"],
156
+ input[type="button"] {
157
+ &.btn-block {
158
+ width: 100%;
159
+ }
160
+ }