mice 0.2.5 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 018fae66b83dbc267e6b0725ff529b3169f2ee68
4
- data.tar.gz: 3a86177e6bb5a8346ec0bcb4003b7d5abab57ce9
3
+ metadata.gz: 3bcd6f9973735608132f90dfa76843c6d654b997
4
+ data.tar.gz: 5e7ea1129685321a09ccc7496ac59196928aaa61
5
5
  SHA512:
6
- metadata.gz: 568900afa0be427313fcb3b898590ad081b0c706907e58fc6f319e2b084b89178f8b256aba2cc7536abe175ccf2c809b9e395906f944d18025d08564b6500684
7
- data.tar.gz: d81336787153b825c2f90261096ce22e10a730af0c5c4aea373fb840598bb5a85263ed9c4f3099958a4df95333c8755882bf7ffd0125d503bb63abd57b041624
6
+ metadata.gz: d77212ed41480632c2bd7e9b946d948f1bc69c5cea730435dec58dc612655e69fa2cdd877eafef3f2906e373328b356f2fc7e4d1f59e7d580dfe5b8fb8fe6790
7
+ data.tar.gz: 8acc15eb6ac2480ba02e2988352225b3a4109cd3a0870527bb47e7d9ccfb3dc4274df032928ad2927add8317bb30d84856f140fe055fe623b04c277da3328b62
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mice (0.2.5)
4
+ mice (0.2.7)
5
5
  sass (~> 3.2)
6
6
 
7
7
  GEM
data/lib/mice/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mice
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.7"
3
3
  end
@@ -0,0 +1,280 @@
1
+ /* ========================================================================
2
+ * Bootstrap: modal.js v3.2.0
3
+ * http://getbootstrap.com/javascript/#modals
4
+ * ========================================================================
5
+ * Copyright 2011-2014 Twitter, Inc.
6
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7
+ * ======================================================================== */
8
+
9
+
10
+ +function ($) {
11
+ 'use strict';
12
+
13
+ // MODAL CLASS DEFINITION
14
+ // ======================
15
+
16
+ var Modal = function (element, options) {
17
+ this.options = options
18
+ this.$body = $(document.body)
19
+ this.$element = $(element)
20
+ this.$backdrop =
21
+ this.isShown = null
22
+ this.scrollbarWidth = 0
23
+
24
+ if (this.options.remote) {
25
+ this.$element
26
+ .find('.modal-content')
27
+ .load(this.options.remote, $.proxy(function () {
28
+ this.$element.trigger('loaded.bs.modal')
29
+ }, this))
30
+ }
31
+ }
32
+
33
+ Modal.VERSION = '3.2.0'
34
+
35
+ Modal.DEFAULTS = {
36
+ backdrop: true,
37
+ keyboard: true,
38
+ show: true
39
+ }
40
+
41
+ Modal.prototype.toggle = function (_relatedTarget) {
42
+ return this.isShown ? this.hide() : this.show(_relatedTarget)
43
+ }
44
+
45
+ Modal.prototype.show = function (_relatedTarget) {
46
+ var that = this
47
+ var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
48
+
49
+ this.$element.trigger(e)
50
+
51
+ if (this.isShown || e.isDefaultPrevented()) return
52
+
53
+ this.isShown = true
54
+
55
+ this.checkScrollbar()
56
+ this.$body.addClass('modal-open')
57
+
58
+ this.setScrollbar()
59
+ this.escape()
60
+
61
+ this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
62
+
63
+ this.backdrop(function () {
64
+ var transition = $.support.transition && that.$element.hasClass('fade')
65
+
66
+ if (!that.$element.parent().length) {
67
+ that.$element.appendTo(that.$body) // don't move modals dom position
68
+ }
69
+
70
+ that.$element
71
+ .show()
72
+ .scrollTop(0)
73
+
74
+ if (transition) {
75
+ that.$element[0].offsetWidth // force reflow
76
+ }
77
+
78
+ that.$element
79
+ .addClass('in')
80
+ .attr('aria-hidden', false)
81
+
82
+ that.enforceFocus()
83
+
84
+ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
85
+
86
+ transition ?
87
+ that.$element.find('.modal-dialog') // wait for modal to slide in
88
+ .one('miceTransitionEnd', function () {
89
+ that.$element.trigger('focus').trigger(e)
90
+ })
91
+ .emulateTransitionEnd(300) :
92
+ that.$element.trigger('focus').trigger(e)
93
+ })
94
+ }
95
+
96
+ Modal.prototype.hide = function (e) {
97
+ if (e) e.preventDefault()
98
+
99
+ e = $.Event('hide.bs.modal')
100
+
101
+ this.$element.trigger(e)
102
+
103
+ if (!this.isShown || e.isDefaultPrevented()) return
104
+
105
+ this.isShown = false
106
+
107
+ this.$body.removeClass('modal-open')
108
+
109
+ this.resetScrollbar()
110
+ this.escape()
111
+
112
+ $(document).off('focusin.bs.modal')
113
+
114
+ this.$element
115
+ .removeClass('in')
116
+ .attr('aria-hidden', true)
117
+ .off('click.dismiss.bs.modal')
118
+
119
+ $.support.transition && this.$element.hasClass('fade') ?
120
+ this.$element
121
+ .one('miceTransitionEnd', $.proxy(this.hideModal, this))
122
+ .emulateTransitionEnd(300) :
123
+ this.hideModal()
124
+ }
125
+
126
+ Modal.prototype.enforceFocus = function () {
127
+ $(document)
128
+ .off('focusin.bs.modal') // guard against infinite focus loop
129
+ .on('focusin.bs.modal', $.proxy(function (e) {
130
+ if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
131
+ this.$element.trigger('focus')
132
+ }
133
+ }, this))
134
+ }
135
+
136
+ Modal.prototype.escape = function () {
137
+ if (this.isShown && this.options.keyboard) {
138
+ this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {
139
+ e.which == 27 && this.hide()
140
+ }, this))
141
+ } else if (!this.isShown) {
142
+ this.$element.off('keyup.dismiss.bs.modal')
143
+ }
144
+ }
145
+
146
+ Modal.prototype.hideModal = function () {
147
+ var that = this
148
+ this.$element.hide()
149
+ this.backdrop(function () {
150
+ that.$element.trigger('hidden.bs.modal')
151
+ })
152
+ }
153
+
154
+ Modal.prototype.removeBackdrop = function () {
155
+ this.$backdrop && this.$backdrop.remove()
156
+ this.$backdrop = null
157
+ }
158
+
159
+ Modal.prototype.backdrop = function (callback) {
160
+ var that = this
161
+ var animate = this.$element.hasClass('fade') ? 'fade' : ''
162
+
163
+ if (this.isShown && this.options.backdrop) {
164
+ var doAnimate = $.support.transition && animate
165
+
166
+ this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
167
+ .appendTo(this.$body)
168
+
169
+ this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
170
+ if (e.target !== e.currentTarget) return
171
+ this.options.backdrop == 'static'
172
+ ? this.$element[0].focus.call(this.$element[0])
173
+ : this.hide.call(this)
174
+ }, this))
175
+
176
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
177
+
178
+ this.$backdrop.addClass('in')
179
+
180
+ if (!callback) return
181
+
182
+ doAnimate ?
183
+ this.$backdrop
184
+ .one('miceTransitionEnd', callback)
185
+ .emulateTransitionEnd(150) :
186
+ callback()
187
+
188
+ } else if (!this.isShown && this.$backdrop) {
189
+ this.$backdrop.removeClass('in')
190
+
191
+ var callbackRemove = function () {
192
+ that.removeBackdrop()
193
+ callback && callback()
194
+ }
195
+ $.support.transition && this.$element.hasClass('fade') ?
196
+ this.$backdrop
197
+ .one('miceTransitionEnd', callbackRemove)
198
+ .emulateTransitionEnd(150) :
199
+ callbackRemove()
200
+
201
+ } else if (callback) {
202
+ callback()
203
+ }
204
+ }
205
+
206
+ Modal.prototype.checkScrollbar = function () {
207
+ if (document.body.clientWidth >= window.innerWidth) return
208
+ this.scrollbarWidth = this.scrollbarWidth || this.measureScrollbar()
209
+ }
210
+
211
+ Modal.prototype.setScrollbar = function () {
212
+ var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
213
+ if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
214
+ }
215
+
216
+ Modal.prototype.resetScrollbar = function () {
217
+ this.$body.css('padding-right', '')
218
+ }
219
+
220
+ Modal.prototype.measureScrollbar = function () { // thx walsh
221
+ var scrollDiv = document.createElement('div')
222
+ scrollDiv.className = 'modal-scrollbar-measure'
223
+ this.$body.append(scrollDiv)
224
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
225
+ this.$body[0].removeChild(scrollDiv)
226
+ return scrollbarWidth
227
+ }
228
+
229
+
230
+ // MODAL PLUGIN DEFINITION
231
+ // =======================
232
+
233
+ function Plugin(option, _relatedTarget) {
234
+ return this.each(function () {
235
+ var $this = $(this)
236
+ var data = $this.data('bs.modal')
237
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
238
+
239
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
240
+ if (typeof option == 'string') data[option](_relatedTarget)
241
+ else if (options.show) data.show(_relatedTarget)
242
+ })
243
+ }
244
+
245
+ var old = $.fn.modal
246
+
247
+ $.fn.modal = Plugin
248
+ $.fn.modal.Constructor = Modal
249
+
250
+
251
+ // MODAL NO CONFLICT
252
+ // =================
253
+
254
+ $.fn.modal.noConflict = function () {
255
+ $.fn.modal = old
256
+ return this
257
+ }
258
+
259
+
260
+ // MODAL DATA-API
261
+ // ==============
262
+
263
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
264
+ var $this = $(this)
265
+ var href = $this.attr('href')
266
+ var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
267
+ var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
268
+
269
+ if ($this.is('a')) e.preventDefault()
270
+
271
+ $target.one('show.bs.modal', function (showEvent) {
272
+ if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
273
+ $target.one('hidden.bs.modal', function () {
274
+ $this.is(':visible') && $this.trigger('focus')
275
+ })
276
+ })
277
+ Plugin.call($target, option, this)
278
+ })
279
+
280
+ }(jQuery);
@@ -0,0 +1,339 @@
1
+ # Mice: tooltip
2
+
3
+ # Inspired by the original jQuery.tipsy by Jason Frame
4
+ # https://github.com/jaz303/tipsy
5
+
6
+ # Copyright (c) 2014 Miclle
7
+ # Licensed under MIT (https://github.com/miclle/mice/blob/master/LICENSE)
8
+
9
+
10
+ # Generated markup by the plugin
11
+ # <div class="tooltip top" role="tooltip">
12
+ # <div class="arrow"></div>
13
+ # <div class="inner">Some tooltip text!</div>
14
+ # </div>
15
+
16
+ 'use strict';
17
+
18
+ (($) ->
19
+
20
+ # TOOLTIP PUBLIC CLASS DEFINITION
21
+ # ===============================
22
+ class Tooltip
23
+ constructor: (element, options) ->
24
+ @type
25
+ @options
26
+ @enabled
27
+ @timeout
28
+ @hoverState
29
+ @$element = null
30
+
31
+ @init('tooltip', element, options)
32
+
33
+
34
+ init: (type, element, options) ->
35
+ @enabled = true
36
+ @type = type
37
+ @$element = $(element)
38
+ @options = @getOptions(options)
39
+ @$viewport = @options.viewport and $(@options.viewport.selector or @options.viewport)
40
+
41
+ for trigger in @options.trigger.split(' ')
42
+ if trigger == 'click'
43
+ @$element.on('click.' + @type, @options.selector, $.proxy(@toggle, @))
44
+ else if trigger != 'manual'
45
+ eventIn = if trigger == 'hover' then 'mouseenter' else 'focusin'
46
+ eventOut = if trigger == 'hover' then 'mouseleave' else 'focusout'
47
+
48
+ @$element.on((eventIn) + '.' + @type, @options.selector, $.proxy(@enter, @))
49
+ @$element.on((eventOut) + '.' + @type, @options.selector, $.proxy(@leave, @))
50
+
51
+ if @options.selector
52
+ @_options = $.extend({}, @options, { trigger: 'manual', selector: '' })
53
+ else
54
+ @fixTitle()
55
+
56
+ return
57
+
58
+ getDefault: ->
59
+ $.fn.tooltip.defaults
60
+
61
+ getOptions: (options) ->
62
+ options = $.extend({}, @getDefault(), @$element.data(), options)
63
+ options.delay = show: options.delay, hide: options.delay if options.delay and typeof options.delay == 'number'
64
+ options
65
+
66
+ getDelegateOptions: ->
67
+ options = {}
68
+ defaults = @getDefaults()
69
+
70
+ @_options and $.each @_options, (key, value) ->
71
+ options[key] = value if defaults[key] != value
72
+
73
+ options
74
+
75
+ enter: (obj) ->
76
+ self = if obj instanceof @constructor then obj else $(obj.currentTarget).data('mice.' + @type)
77
+
78
+ if !self
79
+ self = new @constructor(obj.currentTarget, @getDelegateOptions())
80
+ $(obj.currentTarget).data('mice.' + @type, self)
81
+
82
+ clearTimeout(@timeout)
83
+
84
+ self.hoverState = 'in'
85
+
86
+ return self.show() if !self.options.delay or !self.options.delay.show
87
+
88
+ self.timeout = setTimeout (-> self.show() if self.hoverState == 'in') , self.options.delay.show
89
+
90
+ leave: (obj) ->
91
+ self = if obj instanceof @constructor then obj else $(obj.currentTarget).data('mice.' + @type)
92
+
93
+ if !self
94
+ self = new @constructor(obj.currentTarget, @getDelegateOptions())
95
+ $(obj.currentTarget).data('mice.' + @type, self)
96
+
97
+ clearTimeout(self.timeout)
98
+
99
+ self.hoverState = 'out'
100
+
101
+ return self.hide() if !self.options.delay or !self.options.delay.hide
102
+
103
+ self.timeout = setTimeout (-> self.hide() if self.hoverState == 'out') , self.options.delay.hide
104
+
105
+ show: ->
106
+ e = $.Event('show.mice.'+@type)
107
+ if @getTitle() and @enabled
108
+ @$element.trigger e
109
+
110
+ inDom = $.contains(document.documentElement, @$element[0])
111
+ return if e.isDefaultPrevented() or !inDom
112
+
113
+ that = @
114
+
115
+ $tip = @tip()
116
+ @setContent()
117
+
118
+ $tip.addClass 'fade' if @options.animation
119
+
120
+ placement = if typeof @options.placement == 'function' then @options.placement.call(@, $tip[0], @$element[0]) else @options.placement
121
+
122
+ autoToken = /\s?auto?\s?/i
123
+ autoPlace = autoToken.test(placement)
124
+ placement = placement.replace(autoToken, '') or 'top' if autoPlace
125
+
126
+ $tip.detach().css({ top: 0, left: 0, display: 'block' }).addClass(placement).data('mice.' + @type, @)
127
+
128
+ if @options.container then $tip.appendTo(@options.container) else $tip.insertAfter(@$element)
129
+
130
+ pos = @getPosition()
131
+ actualWidth = $tip[0].offsetWidth
132
+ actualHeight = $tip[0].offsetHeight
133
+
134
+ if autoPlace
135
+ orgPlacement = placement
136
+ $parent = @$element.parent()
137
+ parentDim = @getPosition($parent)
138
+
139
+ placement = if placement == 'bottom' and pos.top + pos.height + actualHeight - parentDim.scroll > parentDim.height then 'top' else
140
+ if placement == 'top' and pos.top - parentDim.scroll - actualHeight < 0 then 'bottom' else
141
+ if placement == 'right' and pos.right + actualWidth > parentDim.width then 'left' else
142
+ if placement == 'left' and pos.left - actualWidth < parentDim.left then 'right' else placement
143
+
144
+ $tip.removeClass(orgPlacement).addClass(placement)
145
+
146
+ calculatedOffset = @getCalculatedOffset placement, pos, actualWidth, actualHeight
147
+
148
+ @applyPlacement calculatedOffset, placement
149
+
150
+ complete = ->
151
+ that.$element.trigger('shown.mice.' + that.type)
152
+ that.hoverState = null
153
+
154
+ if $.support.transition and @$tip.hasClass('fade') then $tip.one('miceTransitionEnd', complete).emulateTransitionEnd(150) else complete()
155
+
156
+ applyPlacement: (offset, placement) ->
157
+ $tip = @tip()
158
+ width = $tip[0].offsetWidth
159
+ height = $tip[0].offsetHeight
160
+
161
+ # manually read margins because getBoundingClientRect includes difference
162
+ marginTop = parseInt($tip.css('margin-top'), 10)
163
+ marginLeft = parseInt($tip.css('margin-left'), 10)
164
+
165
+ # we must check for NaN for ie 8/9
166
+ offset.top = offset.top + if isNaN(marginTop) then 0 else marginTop
167
+ offset.left = offset.left + if isNaN(marginLeft) then 0 else marginLeft
168
+
169
+ # $.fn.offset doesn't round pixel values
170
+ # so we use setOffset directly with our own function B-0
171
+ $.offset.setOffset($tip[0], $.extend({ using: (props) -> $tip.css({ top: Math.round(props.top), left: Math.round(props.left) }) }, offset), 0)
172
+
173
+ $tip.addClass 'in'
174
+
175
+ # check to see if placing tip in new offset caused the tip to resize itself
176
+ actualWidth = $tip[0].offsetWidth
177
+ actualHeight = $tip[0].offsetHeight
178
+
179
+ offset.top = offset.top + height - actualHeight if placement == 'top' and actualHeight != height
180
+
181
+ delta = @getViewportAdjustedDelta placement, offset, actualWidth, actualHeight
182
+
183
+ if delta.left then offset.left += delta.left else offset.top += delta.top
184
+
185
+ arrowDelta = if delta.left then delta.left * 2 - width + actualWidth else delta.top * 2 - height + actualHeight
186
+ arrowPosition = if delta.left then 'left' else 'top'
187
+ arrowOffsetPosition = if delta.left then 'offsetWidth' else 'offsetHeight'
188
+
189
+ $tip.offset(offset)
190
+ @replaceArrow arrowDelta, $tip[0][arrowOffsetPosition], arrowPosition
191
+
192
+ replaceArrow: (delta, dimension, position) ->
193
+ @arrow().css(position, if delta then (50 * (1 - delta / dimension) + '%') else '')
194
+
195
+ setContent: ->
196
+ @tip().find('.inner')[if @options.html then 'html' else 'text'](@getTitle()).removeClass('fade in top bottom left right')
197
+
198
+ hide: ->
199
+ that = @
200
+ $tip = @tip()
201
+ e = $.Event('hide.mice.' + @type)
202
+
203
+ complete = ->
204
+ $tip.detach() if that.hoverState != 'in'
205
+ that.$element.trigger('hidden.mice.' + that.type)
206
+
207
+ @$element.trigger(e)
208
+
209
+ return if e.isDefaultPrevented()
210
+
211
+ $tip.removeClass('in')
212
+
213
+ if $.support.transition and @$tip.hasClass('fade') then $tip.one('miceTransitionEnd', complete).emulateTransitionEnd(150) else complete()
214
+
215
+ @hoverState = null
216
+
217
+ @
218
+
219
+ fixTitle: ->
220
+ @$element.attr('data-original-title', @$element.attr('title') or '').removeAttr('title') if @$element.attr('title') or typeof (@$element.attr('data-original-title')) != 'string'
221
+
222
+ getPosition: ($element) ->
223
+ $element = $element or @$element
224
+ el = $element[0]
225
+ isBody = el.tagName == 'BODY'
226
+
227
+ return $.extend({}, (if (typeof el.getBoundingClientRect == 'function') then el.getBoundingClientRect() else null), {
228
+ scroll: if isBody then document.documentElement.scrollTop or document.body.scrollTop else $element.scrollTop()
229
+ width: if isBody then $(window).width() else $element.outerWidth()
230
+ height: if isBody then $(window).height() else $element.outerHeight()
231
+ }, if isBody then { top: 0, left: 0 } else $element.offset())
232
+
233
+ getCalculatedOffset: (placement, pos, actualWidth, actualHeight) ->
234
+ switch placement
235
+ when 'bottom' then { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 }
236
+ when 'top' then { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 }
237
+ when 'left' then { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth }
238
+ when 'right' then { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
239
+
240
+ getViewportAdjustedDelta: (placement, pos, actualWidth, actualHeight) ->
241
+ delta = { top: 0, left: 0 }
242
+ return delta if !@$viewport
243
+
244
+ viewportPadding = @options.viewport and @options.viewport.padding or 0
245
+ viewportDimensions = @getPosition @$viewport
246
+
247
+ if /right|left/.test placement
248
+ topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
249
+ bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
250
+ if topEdgeOffset < viewportDimensions.top #top overflow
251
+ delta.top = viewportDimensions.top - topEdgeOffset
252
+ else if bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height #bottom overflow
253
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
254
+ else
255
+ leftEdgeOffset = pos.left - viewportPadding
256
+ rightEdgeOffset = pos.left + viewportPadding + actualWidth
257
+ if leftEdgeOffset < viewportDimensions.left #left overflow
258
+ delta.left = viewportDimensions.left - leftEdgeOffset
259
+ else if rightEdgeOffset > viewportDimensions.width #right overflow
260
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
261
+
262
+ delta
263
+
264
+ getTitle: ->
265
+ @$element.attr('data-original-title') or (if typeof @options.title == 'function' then @options.title.call(@$element[0]) else @options.title)
266
+
267
+ tip: ->
268
+ @$tip = @$tip or $(@options.template).addClass @options.contextual
269
+
270
+ arrow: ->
271
+ @$arrow = @$arrow or @tip().find('.arrow')
272
+
273
+ validate: ->
274
+ if !@$element[0].parentNode
275
+ @hide()
276
+ @$element = null
277
+ @options = null
278
+
279
+ enable: ->
280
+ @enabled = true
281
+
282
+ disable: ->
283
+ @enabled = false
284
+
285
+ toggleEnabled: ->
286
+ @enabled = !@enabled
287
+
288
+ toggle: (e) ->
289
+ self = @
290
+ if e
291
+ self = $(e.currentTarget).data('mice.' + @type)
292
+ if !self
293
+ self = new @constructor(e.currentTarget, @getDelegateOptions())
294
+ $(e.currentTarget).data('mice.' + @type, self)
295
+
296
+ if self.tip().hasClass('in') then self.leave(self) else self.enter(self)
297
+
298
+ destroy: ->
299
+ clearTimeout(@timeout)
300
+ @hide().$element.off('.' + @type).removeData('mice.' + @type)
301
+
302
+
303
+ # TOOLTIP PLUGIN DEFINITION
304
+ # =========================
305
+ $.fn.tooltip = (option) ->
306
+ @each ->
307
+ $element = $(@)
308
+ data = $element.data('mice.tooltip')
309
+ options = typeof option == 'object' and option
310
+
311
+ return if !data and option == 'destroy'
312
+
313
+ $element.data('mice.tooltip', (data = new Tooltip(@, options))) if !data
314
+
315
+ data[option]() if typeof option == 'string'
316
+
317
+
318
+ $.fn.tooltip.Constructor = Tooltip
319
+
320
+ # TOOLTIP PLUGIN DEFAULT OPTIONS
321
+ # =========================
322
+ $.fn.tooltip.defaults =
323
+ animation: true
324
+ placement: 'top'
325
+ contextual: ''
326
+ selector: false
327
+ template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="inner"></div></div>'
328
+ trigger: 'hover focus'
329
+ title: ''
330
+ delay: 0
331
+ html: false
332
+ container: false
333
+ viewport:
334
+ selector: 'body'
335
+ padding: 0
336
+
337
+ return
338
+
339
+ ) jQuery
@@ -0,0 +1,36 @@
1
+ # Mice: transition.coffee
2
+
3
+ # Copyright (c) 2014 Miclle
4
+ # Licensed under MIT (https://github.com/miclle/mice/blob/master/LICENSE)
5
+
6
+ "use strict"
7
+ (($) ->
8
+
9
+ # CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
10
+ transitionEnd = ->
11
+ element = document.createElement("mice")
12
+ transEndEventNames =
13
+ WebkitTransition : "webkitTransitionEnd"
14
+ MozTransition : "transitionend"
15
+ OTransition : "oTransitionEnd otransitionend"
16
+ transition : "transitionend"
17
+
18
+ return end: transEndEventNames[name] for name of transEndEventNames when element.style[name] isnt `undefined`
19
+ false # explicit for ie8 ( ._.)
20
+
21
+ # http://blog.alexmaccaw.com/css-transitions
22
+ $.fn.emulateTransitionEnd = (duration) =>
23
+ called = false
24
+ $(this).one "miceTransitionEnd", -> called = true
25
+ setTimeout (-> $(_this).trigger $.support.transition.end unless called), duration
26
+ @
27
+
28
+ $ ->
29
+ $.support.transition = transitionEnd()
30
+ return unless $.support.transition
31
+ $.event.special.miceTransitionEnd =
32
+ bindType : $.support.transition.end
33
+ delegateType : $.support.transition.end
34
+ handle : (e) -> e.handleObj.handler.apply @, arguments if $(e.target).is(@)
35
+
36
+ ) jQuery
@@ -1 +1,4 @@
1
- //= require mice/alert
1
+ //= require mice/transition
2
+ //= require mice/alert
3
+ //= require mice/modal
4
+ //= require mice/tooltip
@@ -0,0 +1,11 @@
1
+ //
2
+ // Component animations
3
+ // --------------------------------------------------
4
+
5
+ .fade {
6
+ opacity: 0;
7
+ @include transition(opacity .15s linear);
8
+ &.in {
9
+ opacity: 1;
10
+ }
11
+ }
@@ -97,6 +97,23 @@
97
97
  transition-timing-function: $function;
98
98
  }
99
99
 
100
+ @mixin transition-transform($transition...) {
101
+ -webkit-transition: -webkit-transform $transition;
102
+ -moz-transition: -moz-transform $transition;
103
+ -o-transition: -o-transform $transition;
104
+ transition: transform $transition;
105
+ }
106
+
107
+ @mixin translate($x, $y) {
108
+ -webkit-transform: translate($x, $y);
109
+ -ms-transform: translate($x, $y); // IE9 only
110
+ -o-transform: translate($x, $y);
111
+ transform: translate($x, $y);
112
+ }
113
+ @mixin translate3d($x, $y, $z) {
114
+ -webkit-transform: translate3d($x, $y, $z);
115
+ transform: translate3d($x, $y, $z);
116
+ }
100
117
 
101
118
  // Animations
102
119
  // --------------------------------------------------
@@ -0,0 +1,160 @@
1
+ //
2
+ // Modals
3
+ // --------------------------------------------------
4
+
5
+ // .modal-open - body class for killing the scroll
6
+ // .modal - container to scroll within
7
+ // .dialog - positioning shell for the actual modal
8
+ // .content - actual modal w/ bg and corners and shit
9
+
10
+ // Kill the scroll on the body
11
+ .modal-open {
12
+ overflow: hidden;
13
+
14
+ .modal {
15
+ overflow-x: hidden;
16
+ overflow-y: auto;
17
+ }
18
+ }
19
+
20
+
21
+ // Container that the modal scrolls within
22
+ .modal {
23
+ display: none;
24
+ overflow: hidden;
25
+ position: fixed;
26
+ top: 0;
27
+ right: 0;
28
+ bottom: 0;
29
+ left: 0;
30
+ z-index: $zindex-modal;
31
+ -webkit-overflow-scrolling: touch;
32
+ outline: 0;
33
+
34
+ // When fading in the modal, animate it to slide down
35
+ &.fade .dialog {
36
+ @include translate3d(0, -25%, 0);
37
+ @include transition-transform(0.3s ease-out);
38
+ }
39
+ &.in .dialog { @include translate3d(0, 0, 0); }
40
+
41
+ }
42
+
43
+ // Modal background
44
+ .modal-backdrop {
45
+ position: fixed;
46
+ top: 0;
47
+ right: 0;
48
+ bottom: 0;
49
+ left: 0;
50
+ z-index: $zindex-modal-background;
51
+ background-color: $modal-backdrop-background;
52
+
53
+ // Fade for backdrop
54
+ &.fade {
55
+ @include opacity(0);
56
+ &.in { @include opacity($modal-backdrop-opacity); }
57
+ }
58
+ }
59
+
60
+
61
+ .modal {
62
+ // Shell div to position the modal with bottom padding
63
+ .dialog {
64
+ position: relative;
65
+ width: auto;
66
+ margin: 10px;
67
+ }
68
+
69
+ // Actual modal
70
+ .content {
71
+ position: relative;
72
+ background-color: $modal-content-background;
73
+ border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
74
+ border: 1px solid $modal-content-border-color;
75
+ border-radius: $border-radius;
76
+ @include box-shadow(0 3px 9px rgba(0,0,0,.5));
77
+ background-clip: padding-box;
78
+ // Remove focus outline from opened modal
79
+ outline: 0;
80
+ }
81
+
82
+ // Modal header
83
+ // Top section of the modal w/ title and dismiss
84
+ .header {
85
+ padding: $modal-title-padding;
86
+ border-bottom: 1px solid $modal-header-border-color;
87
+ min-height: ($modal-title-padding + $modal-title-line-height);
88
+
89
+ // Close icon
90
+ .close { margin-top: -2px; }
91
+
92
+ // Title text within header
93
+ h1, h2, h3, h4, h5, h6 {
94
+ margin: 0;
95
+ line-height: $modal-title-line-height;
96
+ }
97
+ }
98
+
99
+ // Modal body
100
+ // Where all modal content resides (sibling of .header and .footer)
101
+ .body {
102
+ position: relative;
103
+ padding: $modal-inner-padding;
104
+ }
105
+
106
+ // Footer (for actions)
107
+ .footer {
108
+ padding: $modal-inner-padding;
109
+ text-align: right; // right align buttons
110
+ border-top: 1px solid $modal-footer-border-color;
111
+ @include clearfix(); // clear it in case folks use .pull-* classes on buttons
112
+
113
+ // Properly space out buttons
114
+ .button + .button {
115
+ margin-left: 5px;
116
+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
117
+ }
118
+ // but override that for button groups
119
+ .buttons .button + .button {
120
+ margin-left: -1px;
121
+ }
122
+ // and override it for block buttons as well
123
+ .button.block + .button.block {
124
+ margin-left: 0;
125
+ }
126
+ }
127
+
128
+ }
129
+
130
+
131
+ // Measure scrollbar width for padding body during modal show/hide
132
+ .modal-scrollbar-measure {
133
+ position: absolute;
134
+ top: -9999px;
135
+ width: 50px;
136
+ height: 50px;
137
+ overflow: scroll;
138
+ }
139
+
140
+
141
+ // Scale up the modal
142
+ @media (min-width: $screen-sm-min) {
143
+ // Automatically set modal's width for larger viewports
144
+ .modal{
145
+ .dialog {
146
+ width: $modal-medium;
147
+ margin: 30px auto;
148
+ }
149
+ .content {
150
+ @include box-shadow(0 5px 15px rgba(0,0,0,.5));
151
+ }
152
+ }
153
+
154
+ // Modal sizes
155
+ .modal .small { width: $modal-small; }
156
+ }
157
+
158
+ @media (min-width: $screen-md-min) {
159
+ .modal .large { width: $modal-large; }
160
+ }
@@ -0,0 +1,36 @@
1
+ //
2
+ // Tooltips
3
+ // --------------------------------------------------
4
+
5
+
6
+ .tooltip {
7
+ font-size: 10px; position: absolute; padding: 5px; z-index: 100000;
8
+ }
9
+ .tooltip-inner { background-color: #000; color: #FFF; max-width: 200px; padding: 5px 8px 4px 8px; text-align: center; }
10
+
11
+ /* Rounded corners */
12
+ .tooltip-inner {
13
+ border-radius: $border-radius;
14
+ }
15
+
16
+ /* Uncomment for shadow */
17
+ /*.tooltip-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/
18
+
19
+ .tooltip-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; }
20
+
21
+ /* Rules to colour arrows */
22
+ .tooltip-arrow-bottom { border-bottom-color: #000; }
23
+ .tooltip-arrow-top { border-top-color: #000; }
24
+ .tooltip-arrow-left { border-left-color: #000; }
25
+ .tooltip-arrow-right { border-right-color: #000; }
26
+
27
+ .tooltip-bottom .tooltip-arrow { top: 0px; left: 50%; margin-left: -5px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; }
28
+ .tooltip-nw .tooltip-arrow { top: 0; left: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;}
29
+ .tooltip-ne .tooltip-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;}
30
+
31
+ .tooltip-top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; }
32
+ .tooltip-sw .tooltip-arrow { bottom: 0; left: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; }
33
+ .tooltip-se .tooltip-arrow { bottom: 0; right: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; }
34
+
35
+ .tooltip-left .tooltip-arrow { right: 0; top: 50%; margin-top: -5px; border-left-style: solid; border-right: none; border-top-color: transparent; border-bottom-color: transparent; }
36
+ .tooltip-right .tooltip-arrow { left: 0; top: 50%; margin-top: -5px; border-right-style: solid; border-left: none; border-top-color: transparent; border-bottom-color: transparent; }
@@ -0,0 +1,124 @@
1
+ //
2
+ // Tooltips
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Tooltip variants
7
+ @mixin tooltip-variant($tooltip-color, $tooltip-background, $tooltip-arrow-color) {
8
+ .inner{
9
+ color: $tooltip-color;
10
+ background-color: $tooltip-background;
11
+ }
12
+
13
+ &.top .arrow,
14
+ &.top-left .arrow,
15
+ &.top-right .arrow {
16
+ border-top-color: $tooltip-arrow-color;
17
+ }
18
+
19
+ &.right .arrow {
20
+ border-right-color: $tooltip-arrow-color;
21
+ }
22
+ &.left .arrow {
23
+ border-left-color: $tooltip-arrow-color;
24
+ }
25
+ &.bottom .arrow,
26
+ &.bottom-left .arrow,
27
+ &.bottom-right .arrow {
28
+ border-bottom-color: $tooltip-arrow-color;
29
+ }
30
+ }
31
+
32
+
33
+ // Base class
34
+ .tooltip {
35
+ position: absolute;
36
+ z-index: $zindex-tooltip;
37
+ display: block;
38
+ visibility: visible;
39
+ font-size: $font-size-small;
40
+ line-height: 1.4;
41
+ @include opacity(0);
42
+
43
+ &.in { @include opacity($tooltip-opacity); }
44
+ &.top { margin-top: -3px; padding: $tooltip-arrow-width 0; }
45
+ &.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; }
46
+ &.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; }
47
+ &.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; }
48
+
49
+ // Wrapper for the tooltip content
50
+ .inner {
51
+ max-width: $tooltip-max-width;
52
+ padding: 3px 8px;
53
+ color: $tooltip-color;
54
+ text-align: center;
55
+ text-decoration: none;
56
+ background-color: $tooltip-background;
57
+ border-radius: $border-radius;
58
+ }
59
+
60
+ // Arrows
61
+ .arrow {
62
+ position: absolute;
63
+ width: 0;
64
+ height: 0;
65
+ border-color: transparent;
66
+ border-style: solid;
67
+ }
68
+
69
+ &.top .arrow {
70
+ bottom: 0;
71
+ left: 50%;
72
+ margin-left: -$tooltip-arrow-width;
73
+ border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
74
+ }
75
+ &.top-left .arrow {
76
+ bottom: 0;
77
+ left: $tooltip-arrow-width;
78
+ border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
79
+ }
80
+ &.top-right .arrow {
81
+ bottom: 0;
82
+ right: $tooltip-arrow-width;
83
+ border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
84
+ }
85
+ &.right .arrow {
86
+ top: 50%;
87
+ left: 0;
88
+ margin-top: -$tooltip-arrow-width;
89
+ border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;
90
+ }
91
+ &.left .arrow {
92
+ top: 50%;
93
+ right: 0;
94
+ margin-top: -$tooltip-arrow-width;
95
+ border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;
96
+ }
97
+ &.bottom .arrow {
98
+ top: 0;
99
+ left: 50%;
100
+ margin-left: -$tooltip-arrow-width;
101
+ border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
102
+ }
103
+ &.bottom-left .arrow {
104
+ top: 0;
105
+ left: $tooltip-arrow-width;
106
+ border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
107
+ }
108
+ &.bottom-right .arrow {
109
+ top: 0;
110
+ right: $tooltip-arrow-width;
111
+ border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
112
+ }
113
+
114
+
115
+ // Colors
116
+ // Contextual variations
117
+ & { @include tooltip-variant($tooltip-color, $tooltip-background, $tooltip-arrow-color); }
118
+ &.primary { @include tooltip-variant($tooltip-primary-color, $tooltip-primary-background, $tooltip-primary-arrow-color); }
119
+ &.success { @include tooltip-variant($tooltip-success-color, $tooltip-success-background, $tooltip-success-arrow-color); }
120
+ &.info { @include tooltip-variant($tooltip-info-color, $tooltip-info-background, $tooltip-info-arrow-color); }
121
+ &.warning { @include tooltip-variant($tooltip-warning-color, $tooltip-warning-background, $tooltip-warning-arrow-color); }
122
+ &.danger { @include tooltip-variant($tooltip-danger-color, $tooltip-danger-background, $tooltip-danger-arrow-color); }
123
+
124
+ }
@@ -45,4 +45,4 @@
45
45
 
46
46
  .affix {
47
47
  position: fixed;
48
- }
48
+ }
@@ -267,6 +267,11 @@ $breadcrumb-active-color: $gray-light !default;
267
267
  $breadcrumb-separator: "/" !default;
268
268
 
269
269
 
270
+ // Wells
271
+ // --------------------------------------------------
272
+ $well-background: #f5f5f5 !default;
273
+ $well-border: darken($well-background, 7%) !default;
274
+
270
275
 
271
276
  // Pagination
272
277
  // --------------------------------------------------
@@ -409,6 +414,38 @@ $progress-bar-danger-background: $brand-danger !default;
409
414
  $progress-bar-info-background: $brand-info !default;
410
415
 
411
416
 
417
+ // Modals
418
+ // --------------------------------------------------
419
+
420
+ // Padding applied to the modal body
421
+ $modal-inner-padding: 15px !default;
422
+
423
+ // Padding applied to the modal title
424
+ $modal-title-padding: 15px !default;
425
+ // Modal title line-height
426
+ $modal-title-line-height: $line-height-base !default;
427
+
428
+ // Background color of modal content area
429
+ $modal-content-background: #fff !default;
430
+ // Modal content border color
431
+ $modal-content-border-color: rgba(0,0,0,.2) !default;
432
+ // Modal content border color **for IE8**
433
+ $modal-content-fallback-border-color: #999 !default;
434
+
435
+ // Modal backdrop background color
436
+ $modal-backdrop-background: #000 !default;
437
+ // Modal backdrop opacity
438
+ $modal-backdrop-opacity: .5 !default;
439
+ // Modal header border color
440
+ $modal-header-border-color: #e5e5e5 !default;
441
+ // Modal footer border color
442
+ $modal-footer-border-color: $modal-header-border-color !default;
443
+
444
+ $modal-large: 900px !default;
445
+ $modal-medium: 600px !default;
446
+ $modal-small: 300px !default;
447
+
448
+
412
449
  // Alerts
413
450
  // --------------------------------------------------
414
451
  $alert-padding: 15px !default;
@@ -442,3 +479,59 @@ $close-text-shadow: 0 1px 0 #fff !default;
442
479
  // Z-index master list
443
480
  // --------------------------------------------------
444
481
  $zindex-navbar-fixed: 1030 !default;
482
+ $zindex-modal-background: 1040 !default;
483
+ $zindex-modal: 1050 !default;
484
+ $zindex-tooltip: 1070 !default;
485
+
486
+
487
+ // Media queries breakpoints
488
+ // --------------------------------------------------
489
+ // Define the breakpoints at which your layout will change, adapting to different screen sizes.
490
+
491
+ // Deprecated `$screen-xs-min` as of v3.2.0
492
+ $screen-xs-min: 480px !default;
493
+
494
+ // Small screen / tablet
495
+ $screen-sm-min: 768px !default;
496
+
497
+ // Medium screen / desktop
498
+ $screen-md-min: 992px !default;
499
+
500
+ // Large screen / wide desktop
501
+ $screen-lg-min: 1200px !default;
502
+
503
+ // So media queries don't overlap when required, provide a maximum
504
+ $screen-xs-max: ($screen-sm-min - 1) !default;
505
+ $screen-sm-max: ($screen-md-min - 1) !default;
506
+ $screen-md-max: ($screen-lg-min - 1) !default;
507
+
508
+
509
+ // Tooltips
510
+ // --------------------------------------------------
511
+ $tooltip-max-width: 200px !default;
512
+ $tooltip-color: #fff !default;
513
+ $tooltip-background: #000 !default;
514
+ $tooltip-opacity: .9 !default;
515
+ $tooltip-arrow-width: 5px !default;
516
+ $tooltip-arrow-color: $tooltip-background !default;
517
+
518
+ $tooltip-primary-color: #fff !default;
519
+ $tooltip-primary-background: $brand-primary !default;
520
+ $tooltip-primary-arrow-color: $tooltip-primary-background !default;
521
+
522
+ $tooltip-success-color: #fff !default;
523
+ $tooltip-success-background: $brand-success !default;
524
+ $tooltip-success-arrow-color: $tooltip-success-background !default;
525
+
526
+ $tooltip-info-color: #fff !default;
527
+ $tooltip-info-background: $brand-info !default;
528
+ $tooltip-info-arrow-color: $tooltip-info-background !default;
529
+
530
+ $tooltip-warning-color: #fff !default;
531
+ $tooltip-warning-background: $brand-warning !default;
532
+ $tooltip-warning-arrow-color: $tooltip-warning-background !default;
533
+
534
+ $tooltip-danger-color: #fff !default;
535
+ $tooltip-danger-background: $brand-danger !default;
536
+ $tooltip-danger-arrow-color: $tooltip-danger-background !default;
537
+
@@ -0,0 +1,29 @@
1
+ //
2
+ // Wells
3
+ // --------------------------------------------------
4
+
5
+ // Base class
6
+ .well {
7
+ min-height: 20px;
8
+ padding: 19px;
9
+ margin-bottom: 20px;
10
+ background-color: $well-background;
11
+ border: 1px solid $well-border;
12
+ border-radius: $border-radius;
13
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
14
+ blockquote {
15
+ border-color: #ddd;
16
+ border-color: rgba(0,0,0,.15);
17
+ }
18
+
19
+ // Sizes
20
+ &.large {
21
+ padding: 24px;
22
+ border-radius: $border-radius-large;
23
+ }
24
+ &.small {
25
+ padding: 9px;
26
+ border-radius: $border-radius-small;
27
+ }
28
+ }
29
+
@@ -16,14 +16,15 @@
16
16
  @import "mice/images";
17
17
  @import "mice/icons";
18
18
 
19
+ // Components
20
+ @import "mice/component-animations";
21
+
19
22
  @import "mice/menu";
20
23
  @import "mice/tabs";
21
24
  @import "mice/navbar";
22
25
  @import "mice/sidebar";
23
26
  @import "mice/lists";
24
27
  @import "mice/tables";
25
-
26
- // Components
27
28
  @import "mice/breadcrumbs";
28
29
  @import "mice/pagination";
29
30
  @import "mice/panels";
@@ -33,6 +34,9 @@
33
34
  @import "mice/progress";
34
35
  @import "mice/alerts";
35
36
  @import "mice/close";
37
+ @import "mice/wells";
38
+ @import "mice/modals";
39
+ @import "mice/tooltips";
36
40
 
37
41
  // Form
38
42
  @import "mice/forms";
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - miclle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-06 00:00:00.000000000 Z
11
+ date: 2014-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
@@ -68,6 +68,9 @@ files:
68
68
  - vendor/assets/javascripts/mice/jquery.js
69
69
  - vendor/assets/javascripts/mice/jquery.min.js
70
70
  - vendor/assets/javascripts/mice/jquery.min.map
71
+ - vendor/assets/javascripts/mice/modal.js
72
+ - vendor/assets/javascripts/mice/tooltip.coffee
73
+ - vendor/assets/javascripts/mice/transition.coffee
71
74
  - vendor/assets/stylesheets/mice-mobile.scss
72
75
  - vendor/assets/stylesheets/mice.scss
73
76
  - vendor/assets/stylesheets/mice/_alerts.scss
@@ -76,6 +79,7 @@ files:
76
79
  - vendor/assets/stylesheets/mice/_callouts.scss
77
80
  - vendor/assets/stylesheets/mice/_close.scss
78
81
  - vendor/assets/stylesheets/mice/_code.scss
82
+ - vendor/assets/stylesheets/mice/_component-animations.scss
79
83
  - vendor/assets/stylesheets/mice/_forms.scss
80
84
  - vendor/assets/stylesheets/mice/_grid.scss
81
85
  - vendor/assets/stylesheets/mice/_icons.scss
@@ -85,6 +89,7 @@ files:
85
89
  - vendor/assets/stylesheets/mice/_media.scss
86
90
  - vendor/assets/stylesheets/mice/_menu.scss
87
91
  - vendor/assets/stylesheets/mice/_mixins.scss
92
+ - vendor/assets/stylesheets/mice/_modals.scss
88
93
  - vendor/assets/stylesheets/mice/_navbar.scss
89
94
  - vendor/assets/stylesheets/mice/_normalize.scss
90
95
  - vendor/assets/stylesheets/mice/_pagination.scss
@@ -95,9 +100,12 @@ files:
95
100
  - vendor/assets/stylesheets/mice/_tables.scss
96
101
  - vendor/assets/stylesheets/mice/_tabs.scss
97
102
  - vendor/assets/stylesheets/mice/_timeline.scss
103
+ - vendor/assets/stylesheets/mice/_tipsy.scss
104
+ - vendor/assets/stylesheets/mice/_tooltips.scss
98
105
  - vendor/assets/stylesheets/mice/_typography.scss
99
106
  - vendor/assets/stylesheets/mice/_utilities.scss
100
107
  - vendor/assets/stylesheets/mice/_variables.scss
108
+ - vendor/assets/stylesheets/mice/_wells.scss
101
109
  - vendor/assets/stylesheets/mobile/bars.scss
102
110
  - vendor/assets/stylesheets/mobile/base.scss
103
111
  - vendor/assets/stylesheets/mobile/cards.scss