bootstrap-on-rails 3.2.0 → 3.3.1
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.
- checksums.yaml +4 -4
- data/README.md +5 -1
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +1 -1
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/javascripts/bootstrap/affix.js +43 -23
- data/app/assets/javascripts/bootstrap/alert.js +6 -4
- data/app/assets/javascripts/bootstrap/button.js +16 -10
- data/app/assets/javascripts/bootstrap/carousel.js +27 -10
- data/app/assets/javascripts/bootstrap/collapse.js +69 -28
- data/app/assets/javascripts/bootstrap/dropdown.js +20 -10
- data/app/assets/javascripts/bootstrap/modal.js +67 -23
- data/app/assets/javascripts/bootstrap/popover.js +13 -7
- data/app/assets/javascripts/bootstrap/scrollspy.js +12 -7
- data/app/assets/javascripts/bootstrap/tab.js +41 -16
- data/app/assets/javascripts/bootstrap/tooltip.js +60 -39
- data/app/assets/javascripts/bootstrap/transition.js +1 -1
- data/app/assets/stylesheets/bootstrap/alerts.less +0 -0
- data/app/assets/stylesheets/bootstrap/badges.less +7 -1
- data/app/assets/stylesheets/bootstrap/bootstrap.less +0 -0
- data/app/assets/stylesheets/bootstrap/breadcrumbs.less +0 -0
- data/app/assets/stylesheets/bootstrap/button-groups.less +16 -13
- data/app/assets/stylesheets/bootstrap/buttons.less +7 -4
- data/app/assets/stylesheets/bootstrap/carousel.less +24 -0
- data/app/assets/stylesheets/bootstrap/close.less +0 -0
- data/app/assets/stylesheets/bootstrap/code.less +1 -0
- data/app/assets/stylesheets/bootstrap/component-animations.less +5 -2
- data/app/assets/stylesheets/bootstrap/dropdowns.less +3 -5
- data/app/assets/stylesheets/bootstrap/forms.less +46 -40
- data/app/assets/stylesheets/bootstrap/glyphicons.less +7 -6
- data/app/assets/stylesheets/bootstrap/grid.less +0 -0
- data/app/assets/stylesheets/bootstrap/input-groups.less +0 -0
- data/app/assets/stylesheets/bootstrap/jumbotron.less +6 -5
- data/app/assets/stylesheets/bootstrap/labels.less +0 -0
- data/app/assets/stylesheets/bootstrap/list-group.less +1 -8
- data/app/assets/stylesheets/bootstrap/media.less +27 -36
- data/app/assets/stylesheets/bootstrap/mixins.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/alerts.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/background-variant.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/border-radius.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/buttons.less +2 -0
- data/app/assets/stylesheets/bootstrap/mixins/center-block.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/clearfix.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/forms.less +5 -1
- data/app/assets/stylesheets/bootstrap/mixins/gradients.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/grid-framework.less +2 -2
- data/app/assets/stylesheets/bootstrap/mixins/grid.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/hide-text.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/image.less +0 -1
- data/app/assets/stylesheets/bootstrap/mixins/labels.less +1 -1
- data/app/assets/stylesheets/bootstrap/mixins/list-group.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/nav-divider.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/nav-vertical-align.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/opacity.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/pagination.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/panels.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/progress-bar.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/reset-filter.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/resize.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/responsive-visibility.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/size.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/tab-focus.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/table-row.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/text-emphasis.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/text-overflow.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins/vendor-prefixes.less +6 -3
- data/app/assets/stylesheets/bootstrap/modals.less +3 -5
- data/app/assets/stylesheets/bootstrap/navbar.less +30 -25
- data/app/assets/stylesheets/bootstrap/navs.less +3 -1
- data/app/assets/stylesheets/bootstrap/normalize.less +5 -3
- data/app/assets/stylesheets/bootstrap/pager.less +1 -2
- data/app/assets/stylesheets/bootstrap/pagination.less +1 -1
- data/app/assets/stylesheets/bootstrap/panels.less +21 -3
- data/app/assets/stylesheets/bootstrap/popovers.less +6 -4
- data/app/assets/stylesheets/bootstrap/print.less +102 -96
- data/app/assets/stylesheets/bootstrap/progress-bars.less +1 -19
- data/app/assets/stylesheets/bootstrap/responsive-embed.less +2 -1
- data/app/assets/stylesheets/bootstrap/responsive-utilities.less +0 -0
- data/app/assets/stylesheets/bootstrap/scaffolding.less +1 -1
- data/app/assets/stylesheets/bootstrap/tables.less +11 -10
- data/app/assets/stylesheets/bootstrap/theme.less +23 -9
- data/app/assets/stylesheets/bootstrap/thumbnails.less +1 -1
- data/app/assets/stylesheets/bootstrap/tooltip.less +12 -4
- data/app/assets/stylesheets/bootstrap/type.less +0 -11
- data/app/assets/stylesheets/bootstrap/utilities.less +0 -1
- data/app/assets/stylesheets/bootstrap/variables.less +31 -20
- data/app/assets/stylesheets/bootstrap/wells.less +0 -0
- data/lib/bootstrap-on-rails/version.rb +1 -1
- metadata +2 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ========================================================================
|
2
|
-
* Bootstrap: tooltip.js v3.
|
2
|
+
* Bootstrap: tooltip.js v3.3.1
|
3
3
|
* http://getbootstrap.com/javascript/#tooltip
|
4
4
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
5
5
|
* ========================================================================
|
@@ -25,7 +25,9 @@
|
|
25
25
|
this.init('tooltip', element, options)
|
26
26
|
}
|
27
27
|
|
28
|
-
Tooltip.VERSION = '3.
|
28
|
+
Tooltip.VERSION = '3.3.1'
|
29
|
+
|
30
|
+
Tooltip.TRANSITION_DURATION = 150
|
29
31
|
|
30
32
|
Tooltip.DEFAULTS = {
|
31
33
|
animation: true,
|
@@ -103,6 +105,11 @@
|
|
103
105
|
var self = obj instanceof this.constructor ?
|
104
106
|
obj : $(obj.currentTarget).data('bs.' + this.type)
|
105
107
|
|
108
|
+
if (self && self.$tip && self.$tip.is(':visible')) {
|
109
|
+
self.hoverState = 'in'
|
110
|
+
return
|
111
|
+
}
|
112
|
+
|
106
113
|
if (!self) {
|
107
114
|
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
108
115
|
$(obj.currentTarget).data('bs.' + this.type, self)
|
@@ -145,7 +152,7 @@
|
|
145
152
|
if (this.hasContent() && this.enabled) {
|
146
153
|
this.$element.trigger(e)
|
147
154
|
|
148
|
-
var inDom = $.contains(
|
155
|
+
var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
|
149
156
|
if (e.isDefaultPrevented() || !inDom) return
|
150
157
|
var that = this
|
151
158
|
|
@@ -181,13 +188,13 @@
|
|
181
188
|
|
182
189
|
if (autoPlace) {
|
183
190
|
var orgPlacement = placement
|
184
|
-
var $
|
185
|
-
var
|
191
|
+
var $container = this.options.container ? $(this.options.container) : this.$element.parent()
|
192
|
+
var containerDim = this.getPosition($container)
|
186
193
|
|
187
|
-
placement = placement == 'bottom' && pos.
|
188
|
-
placement == 'top' && pos.top
|
189
|
-
placement == 'right' && pos.right
|
190
|
-
placement == 'left' && pos.left
|
194
|
+
placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
|
195
|
+
placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
|
196
|
+
placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
|
197
|
+
placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
|
191
198
|
placement
|
192
199
|
|
193
200
|
$tip
|
@@ -200,14 +207,17 @@
|
|
200
207
|
this.applyPlacement(calculatedOffset, placement)
|
201
208
|
|
202
209
|
var complete = function () {
|
210
|
+
var prevHoverState = that.hoverState
|
203
211
|
that.$element.trigger('shown.bs.' + that.type)
|
204
212
|
that.hoverState = null
|
213
|
+
|
214
|
+
if (prevHoverState == 'out') that.leave(that)
|
205
215
|
}
|
206
216
|
|
207
217
|
$.support.transition && this.$tip.hasClass('fade') ?
|
208
218
|
$tip
|
209
219
|
.one('bsTransitionEnd', complete)
|
210
|
-
.emulateTransitionEnd(
|
220
|
+
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
211
221
|
complete()
|
212
222
|
}
|
213
223
|
}
|
@@ -254,16 +264,18 @@
|
|
254
264
|
if (delta.left) offset.left += delta.left
|
255
265
|
else offset.top += delta.top
|
256
266
|
|
257
|
-
var
|
258
|
-
var
|
259
|
-
var arrowOffsetPosition =
|
267
|
+
var isVertical = /top|bottom/.test(placement)
|
268
|
+
var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
|
269
|
+
var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
|
260
270
|
|
261
271
|
$tip.offset(offset)
|
262
|
-
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition],
|
272
|
+
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
|
263
273
|
}
|
264
274
|
|
265
|
-
Tooltip.prototype.replaceArrow = function (delta, dimension,
|
266
|
-
this.arrow()
|
275
|
+
Tooltip.prototype.replaceArrow = function (delta, dimension, isHorizontal) {
|
276
|
+
this.arrow()
|
277
|
+
.css(isHorizontal ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
|
278
|
+
.css(isHorizontal ? 'top' : 'left', '')
|
267
279
|
}
|
268
280
|
|
269
281
|
Tooltip.prototype.setContent = function () {
|
@@ -274,16 +286,17 @@
|
|
274
286
|
$tip.removeClass('fade in top bottom left right')
|
275
287
|
}
|
276
288
|
|
277
|
-
Tooltip.prototype.hide = function () {
|
289
|
+
Tooltip.prototype.hide = function (callback) {
|
278
290
|
var that = this
|
279
291
|
var $tip = this.tip()
|
280
292
|
var e = $.Event('hide.bs.' + this.type)
|
281
293
|
|
282
|
-
this.$element.removeAttr('aria-describedby')
|
283
|
-
|
284
294
|
function complete() {
|
285
295
|
if (that.hoverState != 'in') $tip.detach()
|
286
|
-
that.$element
|
296
|
+
that.$element
|
297
|
+
.removeAttr('aria-describedby')
|
298
|
+
.trigger('hidden.bs.' + that.type)
|
299
|
+
callback && callback()
|
287
300
|
}
|
288
301
|
|
289
302
|
this.$element.trigger(e)
|
@@ -295,7 +308,7 @@
|
|
295
308
|
$.support.transition && this.$tip.hasClass('fade') ?
|
296
309
|
$tip
|
297
310
|
.one('bsTransitionEnd', complete)
|
298
|
-
.emulateTransitionEnd(
|
311
|
+
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
299
312
|
complete()
|
300
313
|
|
301
314
|
this.hoverState = null
|
@@ -316,13 +329,20 @@
|
|
316
329
|
|
317
330
|
Tooltip.prototype.getPosition = function ($element) {
|
318
331
|
$element = $element || this.$element
|
332
|
+
|
319
333
|
var el = $element[0]
|
320
334
|
var isBody = el.tagName == 'BODY'
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
335
|
+
|
336
|
+
var elRect = el.getBoundingClientRect()
|
337
|
+
if (elRect.width == null) {
|
338
|
+
// width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
|
339
|
+
elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
|
340
|
+
}
|
341
|
+
var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
|
342
|
+
var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
|
343
|
+
var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
|
344
|
+
|
345
|
+
return $.extend({}, elRect, scroll, outerDims, elOffset)
|
326
346
|
}
|
327
347
|
|
328
348
|
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
@@ -386,14 +406,6 @@
|
|
386
406
|
return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
|
387
407
|
}
|
388
408
|
|
389
|
-
Tooltip.prototype.validate = function () {
|
390
|
-
if (!this.$element[0].parentNode) {
|
391
|
-
this.hide()
|
392
|
-
this.$element = null
|
393
|
-
this.options = null
|
394
|
-
}
|
395
|
-
}
|
396
|
-
|
397
409
|
Tooltip.prototype.enable = function () {
|
398
410
|
this.enabled = true
|
399
411
|
}
|
@@ -420,8 +432,11 @@
|
|
420
432
|
}
|
421
433
|
|
422
434
|
Tooltip.prototype.destroy = function () {
|
435
|
+
var that = this
|
423
436
|
clearTimeout(this.timeout)
|
424
|
-
this.hide(
|
437
|
+
this.hide(function () {
|
438
|
+
that.$element.off('.' + that.type).removeData('bs.' + that.type)
|
439
|
+
})
|
425
440
|
}
|
426
441
|
|
427
442
|
|
@@ -430,12 +445,18 @@
|
|
430
445
|
|
431
446
|
function Plugin(option) {
|
432
447
|
return this.each(function () {
|
433
|
-
var $this
|
434
|
-
var data
|
435
|
-
var options
|
448
|
+
var $this = $(this)
|
449
|
+
var data = $this.data('bs.tooltip')
|
450
|
+
var options = typeof option == 'object' && option
|
451
|
+
var selector = options && options.selector
|
436
452
|
|
437
453
|
if (!data && option == 'destroy') return
|
438
|
-
if (
|
454
|
+
if (selector) {
|
455
|
+
if (!data) $this.data('bs.tooltip', (data = {}))
|
456
|
+
if (!data[selector]) data[selector] = new Tooltip(this, options)
|
457
|
+
} else {
|
458
|
+
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
|
459
|
+
}
|
439
460
|
if (typeof option == 'string') data[option]()
|
440
461
|
})
|
441
462
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ========================================================================
|
2
|
-
* Bootstrap: transition.js v3.
|
2
|
+
* Bootstrap: transition.js v3.3.1
|
3
3
|
* http://getbootstrap.com/javascript/#transitions
|
4
4
|
* ========================================================================
|
5
5
|
* Copyright 2011-2014 Twitter, Inc.
|
File without changes
|
@@ -44,11 +44,17 @@
|
|
44
44
|
}
|
45
45
|
|
46
46
|
// Account for badges in navs
|
47
|
-
|
47
|
+
.list-group-item.active > &,
|
48
48
|
.nav-pills > .active > a > & {
|
49
49
|
color: @badge-active-color;
|
50
50
|
background-color: @badge-active-bg;
|
51
51
|
}
|
52
|
+
.list-group-item > & {
|
53
|
+
float: right;
|
54
|
+
}
|
55
|
+
.list-group-item > & + & {
|
56
|
+
margin-right: 5px;
|
57
|
+
}
|
52
58
|
.nav-pills > li > a > & {
|
53
59
|
margin-left: 3px;
|
54
60
|
}
|
File without changes
|
File without changes
|
@@ -18,10 +18,6 @@
|
|
18
18
|
&.active {
|
19
19
|
z-index: 2;
|
20
20
|
}
|
21
|
-
&:focus {
|
22
|
-
// Remove focus outline when dropdown JS adds it after closing the menu
|
23
|
-
outline: 0;
|
24
|
-
}
|
25
21
|
}
|
26
22
|
}
|
27
23
|
|
@@ -198,7 +194,6 @@
|
|
198
194
|
}
|
199
195
|
|
200
196
|
|
201
|
-
|
202
197
|
// Justified button groups
|
203
198
|
// ----------------------
|
204
199
|
|
@@ -226,15 +221,23 @@
|
|
226
221
|
// Checkbox and radio options
|
227
222
|
//
|
228
223
|
// In order to support the browser's form validation feedback, powered by the
|
229
|
-
// `required` attribute, we have to "hide" the inputs via `
|
230
|
-
//
|
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`.
|
231
228
|
// This way, we ensure a DOM element is visible to position the popover from.
|
232
229
|
//
|
233
|
-
// See https://github.com/twbs/bootstrap/pull/12794
|
230
|
+
// See https://github.com/twbs/bootstrap/pull/12794 and
|
231
|
+
// https://github.com/twbs/bootstrap/pull/14559 for more information.
|
234
232
|
|
235
|
-
[data-toggle="buttons"]
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
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
|
+
}
|
240
243
|
}
|
@@ -12,6 +12,7 @@
|
|
12
12
|
font-weight: @btn-font-weight;
|
13
13
|
text-align: center;
|
14
14
|
vertical-align: middle;
|
15
|
+
touch-action: manipulation;
|
15
16
|
cursor: pointer;
|
16
17
|
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
|
17
18
|
border: 1px solid transparent;
|
@@ -22,13 +23,15 @@
|
|
22
23
|
&,
|
23
24
|
&:active,
|
24
25
|
&.active {
|
25
|
-
&:focus
|
26
|
+
&:focus,
|
27
|
+
&.focus {
|
26
28
|
.tab-focus();
|
27
29
|
}
|
28
30
|
}
|
29
31
|
|
30
32
|
&:hover,
|
31
|
-
&:focus
|
33
|
+
&:focus,
|
34
|
+
&.focus {
|
32
35
|
color: @btn-default-color;
|
33
36
|
text-decoration: none;
|
34
37
|
}
|
@@ -43,7 +46,7 @@
|
|
43
46
|
&.disabled,
|
44
47
|
&[disabled],
|
45
48
|
fieldset[disabled] & {
|
46
|
-
cursor:
|
49
|
+
cursor: @cursor-disabled;
|
47
50
|
pointer-events: none; // Future-proof disabling of clicks
|
48
51
|
.opacity(.65);
|
49
52
|
.box-shadow(none);
|
@@ -85,11 +88,11 @@
|
|
85
88
|
.btn-link {
|
86
89
|
color: @link-color;
|
87
90
|
font-weight: normal;
|
88
|
-
cursor: pointer;
|
89
91
|
border-radius: 0;
|
90
92
|
|
91
93
|
&,
|
92
94
|
&:active,
|
95
|
+
&.active,
|
93
96
|
&[disabled],
|
94
97
|
fieldset[disabled] & {
|
95
98
|
background-color: transparent;
|
@@ -24,6 +24,30 @@
|
|
24
24
|
&:extend(.img-responsive);
|
25
25
|
line-height: 1;
|
26
26
|
}
|
27
|
+
|
28
|
+
// WebKit CSS3 transforms for supported devices
|
29
|
+
@media all and (transform-3d), (-webkit-transform-3d) {
|
30
|
+
transition: transform .6s ease-in-out;
|
31
|
+
backface-visibility: hidden;
|
32
|
+
perspective: 1000;
|
33
|
+
|
34
|
+
&.next,
|
35
|
+
&.active.right {
|
36
|
+
transform: translate3d(100%, 0, 0);
|
37
|
+
left: 0;
|
38
|
+
}
|
39
|
+
&.prev,
|
40
|
+
&.active.left {
|
41
|
+
transform: translate3d(-100%, 0, 0);
|
42
|
+
left: 0;
|
43
|
+
}
|
44
|
+
&.next.left,
|
45
|
+
&.prev.right,
|
46
|
+
&.active {
|
47
|
+
transform: translate3d(0, 0, 0);
|
48
|
+
left: 0;
|
49
|
+
}
|
50
|
+
}
|
27
51
|
}
|
28
52
|
|
29
53
|
> .active,
|
File without changes
|
@@ -17,8 +17,9 @@
|
|
17
17
|
|
18
18
|
.collapse {
|
19
19
|
display: none;
|
20
|
+
visibility: hidden;
|
20
21
|
|
21
|
-
&.in { display: block; }
|
22
|
+
&.in { display: block; visibility: visible; }
|
22
23
|
tr&.in { display: table-row; }
|
23
24
|
tbody&.in { display: table-row-group; }
|
24
25
|
}
|
@@ -27,5 +28,7 @@
|
|
27
28
|
position: relative;
|
28
29
|
height: 0;
|
29
30
|
overflow: hidden;
|
30
|
-
.transition(height
|
31
|
+
.transition-property(~"height, visibility");
|
32
|
+
.transition-duration(.35s);
|
33
|
+
.transition-timing-function(ease);
|
31
34
|
}
|
@@ -103,16 +103,15 @@
|
|
103
103
|
&:focus {
|
104
104
|
color: @dropdown-link-disabled-color;
|
105
105
|
}
|
106
|
-
|
107
|
-
// Nuke hover/focus effects
|
108
|
-
.dropdown-menu > .disabled > a {
|
106
|
+
|
107
|
+
// Nuke hover/focus effects
|
109
108
|
&:hover,
|
110
109
|
&:focus {
|
111
110
|
text-decoration: none;
|
112
111
|
background-color: transparent;
|
113
112
|
background-image: none; // Remove CSS gradient
|
114
113
|
.reset-filter();
|
115
|
-
cursor:
|
114
|
+
cursor: @cursor-disabled;
|
116
115
|
}
|
117
116
|
}
|
118
117
|
|
@@ -212,4 +211,3 @@
|
|
212
211
|
}
|
213
212
|
}
|
214
213
|
}
|
215
|
-
|
@@ -141,7 +141,7 @@ output {
|
|
141
141
|
&[disabled],
|
142
142
|
&[readonly],
|
143
143
|
fieldset[disabled] & {
|
144
|
-
cursor:
|
144
|
+
cursor: @cursor-disabled;
|
145
145
|
background-color: @input-bg-disabled;
|
146
146
|
opacity: 1; // iOS fix for unreadable disabled content
|
147
147
|
}
|
@@ -168,23 +168,27 @@ input[type="search"] {
|
|
168
168
|
// Special styles for iOS temporal inputs
|
169
169
|
//
|
170
170
|
// In Mobile Safari, setting `display: block` on temporal inputs causes the
|
171
|
-
// text within the input to become vertically misaligned.
|
172
|
-
//
|
173
|
-
//
|
174
|
-
|
175
|
-
|
176
|
-
input[type="date"],
|
177
|
-
input[type="time"],
|
178
|
-
input[type="datetime-local"],
|
179
|
-
input[type="month"] {
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
171
|
+
// text within the input to become vertically misaligned. As a workaround, we
|
172
|
+
// set a pixel line-height that matches the given height of the input, but only
|
173
|
+
// for Safari.
|
174
|
+
|
175
|
+
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
176
|
+
input[type="date"],
|
177
|
+
input[type="time"],
|
178
|
+
input[type="datetime-local"],
|
179
|
+
input[type="month"] {
|
180
|
+
line-height: @input-height-base;
|
181
|
+
}
|
182
|
+
input[type="date"].input-sm,
|
183
|
+
input[type="time"].input-sm,
|
184
|
+
input[type="datetime-local"].input-sm,
|
185
|
+
input[type="month"].input-sm {
|
185
186
|
line-height: @input-height-small;
|
186
187
|
}
|
187
|
-
|
188
|
+
input[type="date"].input-lg,
|
189
|
+
input[type="time"].input-lg,
|
190
|
+
input[type="datetime-local"].input-lg,
|
191
|
+
input[type="month"].input-lg {
|
188
192
|
line-height: @input-height-large;
|
189
193
|
}
|
190
194
|
}
|
@@ -208,11 +212,11 @@ input[type="month"] {
|
|
208
212
|
.checkbox {
|
209
213
|
position: relative;
|
210
214
|
display: block;
|
211
|
-
min-height: @line-height-computed; // clear the floating input if there is no label text
|
212
215
|
margin-top: 10px;
|
213
216
|
margin-bottom: 10px;
|
214
217
|
|
215
218
|
label {
|
219
|
+
min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text
|
216
220
|
padding-left: 20px;
|
217
221
|
margin-bottom: 0;
|
218
222
|
font-weight: normal;
|
@@ -258,7 +262,7 @@ input[type="checkbox"] {
|
|
258
262
|
&[disabled],
|
259
263
|
&.disabled,
|
260
264
|
fieldset[disabled] & {
|
261
|
-
cursor:
|
265
|
+
cursor: @cursor-disabled;
|
262
266
|
}
|
263
267
|
}
|
264
268
|
// These classes are used directly on <label>s
|
@@ -266,7 +270,7 @@ input[type="checkbox"] {
|
|
266
270
|
.checkbox-inline {
|
267
271
|
&.disabled,
|
268
272
|
fieldset[disabled] & {
|
269
|
-
cursor:
|
273
|
+
cursor: @cursor-disabled;
|
270
274
|
}
|
271
275
|
}
|
272
276
|
// These classes are used on elements with <label> descendants
|
@@ -275,7 +279,7 @@ input[type="checkbox"] {
|
|
275
279
|
&.disabled,
|
276
280
|
fieldset[disabled] & {
|
277
281
|
label {
|
278
|
-
cursor:
|
282
|
+
cursor: @cursor-disabled;
|
279
283
|
}
|
280
284
|
}
|
281
285
|
}
|
@@ -306,12 +310,14 @@ input[type="checkbox"] {
|
|
306
310
|
// Build on `.form-control` with modifier classes to decrease or increase the
|
307
311
|
// height and font-size of form controls.
|
308
312
|
|
309
|
-
.input-sm
|
310
|
-
|
313
|
+
.input-sm,
|
314
|
+
.form-group-sm .form-control {
|
315
|
+
.input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
|
311
316
|
}
|
312
317
|
|
313
|
-
.input-lg
|
314
|
-
|
318
|
+
.input-lg,
|
319
|
+
.form-group-lg .form-control {
|
320
|
+
.input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
|
315
321
|
}
|
316
322
|
|
317
323
|
|
@@ -331,7 +337,7 @@ input[type="checkbox"] {
|
|
331
337
|
// Feedback icon (requires .glyphicon classes)
|
332
338
|
.form-control-feedback {
|
333
339
|
position: absolute;
|
334
|
-
top:
|
340
|
+
top: 0;
|
335
341
|
right: 0;
|
336
342
|
z-index: 2; // Ensure icon is above input groups
|
337
343
|
display: block;
|
@@ -339,6 +345,7 @@ input[type="checkbox"] {
|
|
339
345
|
height: @input-height-base;
|
340
346
|
line-height: @input-height-base;
|
341
347
|
text-align: center;
|
348
|
+
pointer-events: none;
|
342
349
|
}
|
343
350
|
.input-lg + .form-control-feedback {
|
344
351
|
width: @input-height-large;
|
@@ -362,10 +369,15 @@ input[type="checkbox"] {
|
|
362
369
|
.form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
|
363
370
|
}
|
364
371
|
|
372
|
+
// Reposition feedback icon if input has visible label above
|
373
|
+
.has-feedback label {
|
365
374
|
|
366
|
-
|
367
|
-
|
368
|
-
|
375
|
+
& ~ .form-control-feedback {
|
376
|
+
top: (@line-height-computed + 5); // Height of the `label` and its margin
|
377
|
+
}
|
378
|
+
&.sr-only ~ .form-control-feedback {
|
379
|
+
top: 0;
|
380
|
+
}
|
369
381
|
}
|
370
382
|
|
371
383
|
|
@@ -382,7 +394,6 @@ input[type="checkbox"] {
|
|
382
394
|
}
|
383
395
|
|
384
396
|
|
385
|
-
|
386
397
|
// Inline forms
|
387
398
|
//
|
388
399
|
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
|
@@ -412,6 +423,11 @@ input[type="checkbox"] {
|
|
412
423
|
vertical-align: middle;
|
413
424
|
}
|
414
425
|
|
426
|
+
// Make static controls behave like regular ones
|
427
|
+
.form-control-static {
|
428
|
+
display: inline-block;
|
429
|
+
}
|
430
|
+
|
415
431
|
.input-group {
|
416
432
|
display: inline-table;
|
417
433
|
vertical-align: middle;
|
@@ -453,10 +469,7 @@ input[type="checkbox"] {
|
|
453
469
|
margin-left: 0;
|
454
470
|
}
|
455
471
|
|
456
|
-
//
|
457
|
-
//
|
458
|
-
// Reposition the icon because it's now within a grid column and columns have
|
459
|
-
// `position: relative;` on them. Also accounts for the grid gutter padding.
|
472
|
+
// Re-override the feedback icon.
|
460
473
|
.has-feedback .form-control-feedback {
|
461
474
|
top: 0;
|
462
475
|
}
|
@@ -509,7 +522,6 @@ input[type="checkbox"] {
|
|
509
522
|
// Reposition the icon because it's now within a grid column and columns have
|
510
523
|
// `position: relative;` on them. Also accounts for the grid gutter padding.
|
511
524
|
.has-feedback .form-control-feedback {
|
512
|
-
top: 0;
|
513
525
|
right: (@grid-gutter-width / 2);
|
514
526
|
}
|
515
527
|
|
@@ -523,9 +535,6 @@ input[type="checkbox"] {
|
|
523
535
|
padding-top: ((@padding-large-vertical * @line-height-large) + 1);
|
524
536
|
}
|
525
537
|
}
|
526
|
-
.form-control {
|
527
|
-
&:extend(.input-lg);
|
528
|
-
}
|
529
538
|
}
|
530
539
|
.form-group-sm {
|
531
540
|
@media (min-width: @screen-sm-min) {
|
@@ -533,8 +542,5 @@ input[type="checkbox"] {
|
|
533
542
|
padding-top: (@padding-small-vertical + 1);
|
534
543
|
}
|
535
544
|
}
|
536
|
-
.form-control {
|
537
|
-
&:extend(.input-sm);
|
538
|
-
}
|
539
545
|
}
|
540
546
|
}
|