forked from chimpanzees/styleguide
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.styl
More file actions
executable file
·223 lines (171 loc) · 5.18 KB
/
Copy pathindex.styl
File metadata and controls
executable file
·223 lines (171 loc) · 5.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
//
// Button groups
// --------------------------------------------------
// Make the div behave like a button
.btn-group,
.btn-group-vertical
position relative
display inline-block
vertical-align middle // match .btn alignment given font-size hack above
> .btn
position relative
float left
// Bring the "active" button to the front
&:hover,
&:focus,
&:active,
&.active
z-index 2
// Prevent double borders when buttons are next to each other
.btn-group
.btn + .btn,
.btn + .btn-group,
.btn-group + .btn,
.btn-group + .btn-group
margin-left -1px
// Optional Group multiple button groups together for a toolbar
.btn-toolbar
margin-left -5px // Offset the first child's margin
clearfix()
.btn,
.btn-group,
.input-group
float left
> .btn,
> .btn-group,
> .input-group
margin-left 5px
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle)
border-radius 0
// 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
.btn-group > .btn:first-child
margin-left 0
&:not(:last-child):not(.dropdown-toggle)
border-right-radius(0)
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child)
border-left-radius(0)
// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
.btn-group > .btn-group
float left
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn
border-radius 0
.btn-group > .btn-group:first-child:not(:last-child)
> .btn:last-child,
> .dropdown-toggle
border-right-radius(0)
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child
border-left-radius(0)
// On active and open, don't show outline
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle
outline 0
// Sizing
//
// Remix the default button sizing classes into new ones for easier manipulation.
.btn-group-xs > .btn
@extend .btn-xs
.btn-group-sm > .btn
@extend .btn-sm
.btn-group-lg > .btn
@extend .btn-lg
// Split button dropdowns
// ----------------------
// Give the line between buttons some depth
.btn-group > .btn + .dropdown-toggle
padding-left 8px
padding-right 8px
.btn-group > .btn-lg + .dropdown-toggle
padding-left 12px
padding-right 12px
// The clickable button for toggling the menu
// Remove the gradient and set the same inset shadow as the :active state
.btn-group.open .dropdown-toggle
box-shadow inset 0 3px 5px rgba(0, 0, 0, .125)
// Show no shadow for `.btn-link` since it has no other button styles.
&.btn-link
box-shadow none
// Reposition the caret
.btn .caret
margin-left 0
// Carets in other button sizes
.btn-lg .caret
border-width $caret-width-large $caret-width-large 0
border-bottom-width 0
// Upside down carets for .dropup
.dropup .btn-lg .caret
border-width 0 $caret-width-large $caret-width-large
// Vertical button groups
// ----------------------
.btn-group-vertical
> .btn,
> .btn-group,
> .btn-group > .btn
display block
float none
width 100%
max-width 100%
// Clear floats so dropdown menus can be properly placed
> .btn-group
clearfix()
> .btn
float none
> .btn + .btn,
> .btn + .btn-group,
> .btn-group + .btn,
> .btn-group + .btn-group
margin-top -1px
margin-left 0
.btn-group-vertical > .btn
&:not(:first-child):not(:last-child)
border-radius 0
&:first-child:not(:last-child)
border-top-radius($btn-border-radius-base)
border-bottom-radius(0)
&:last-child:not(:first-child)
border-top-radius(0)
border-bottom-radius($btn-border-radius-base)
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn
border-radius 0
.btn-group-vertical > .btn-group:first-child:not(:last-child)
> .btn:last-child,
> .dropdown-toggle
border-bottom-radius(0)
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child
border-top-radius(0)
// Justified button groups
// ----------------------
.btn-group-justified
display table
width 100%
table-layout fixed
border-collapse separate
> .btn,
> .btn-group
float none
display table-cell
width 1%
> .btn-group .btn
width 100%
> .btn-group .dropdown-menu
left auto
// Checkbox and radio options
//
// In order to support the browser's form validation feedback, powered by the
// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
// `display: none;` or `visibility: hidden;` as that also hides the popover.
// Simply visually hiding the inputs via `opacity` would leave them clickable in
// certain cases which is prevented by using `clip` and `pointer-events`.
// This way, we ensure a DOM element is visible to position the popover from.
//
// See https://github.com/twbs/bootstrap/pull/12794 and
// https://github.com/twbs/bootstrap/pull/14559 for more information.
[data-toggle="buttons"]
> .btn
> .btn-group > .btn
input[type="radio"],
input[type="checkbox"]
position absolute
clip rect(0, 0, 0, 0)
pointer-events none