compass-bootstrap-rails 0.1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. data/.gitignore +8 -0
  2. data/Gemfile +4 -0
  3. data/README.mkdn +151 -0
  4. data/Rakefile +1 -0
  5. data/compass-bootstrap.gemspec +25 -0
  6. data/lib/compass-bootstrap/rails/engine.rb +7 -0
  7. data/lib/compass-bootstrap/rails.rb +7 -0
  8. data/lib/compass-bootstrap/version.rb +5 -0
  9. data/lib/compass-bootstrap.rb +9 -0
  10. data/stylesheets/compass-bootstrap/_compass_bootstrap.scss +29 -0
  11. data/stylesheets/compass-bootstrap/_forms.scss +465 -0
  12. data/stylesheets/compass-bootstrap/_mixins.scss +210 -0
  13. data/stylesheets/compass-bootstrap/_patterns.scss +1003 -0
  14. data/stylesheets/compass-bootstrap/_reset.scss +141 -0
  15. data/stylesheets/compass-bootstrap/_scaffolding.scss +137 -0
  16. data/stylesheets/compass-bootstrap/_tables.scss +171 -0
  17. data/stylesheets/compass-bootstrap/_type.scss +187 -0
  18. data/stylesheets/compass-bootstrap/_variables.scss +60 -0
  19. data/vendor/assets/javascripts/bootstrap-alerts.js +104 -0
  20. data/vendor/assets/javascripts/bootstrap-dropdown.js +50 -0
  21. data/vendor/assets/javascripts/bootstrap-modal.js +227 -0
  22. data/vendor/assets/javascripts/bootstrap-popover.js +77 -0
  23. data/vendor/assets/javascripts/bootstrap-scrollspy.js +105 -0
  24. data/vendor/assets/javascripts/bootstrap-tabs.js +62 -0
  25. data/vendor/assets/javascripts/bootstrap-twipsy.js +307 -0
  26. data/vendor/assets/stylesheets/compass-bootstrap/_compass_bootstrap.scss +29 -0
  27. data/vendor/assets/stylesheets/compass-bootstrap/_forms.scss +465 -0
  28. data/vendor/assets/stylesheets/compass-bootstrap/_mixins.scss +210 -0
  29. data/vendor/assets/stylesheets/compass-bootstrap/_patterns.scss +1003 -0
  30. data/vendor/assets/stylesheets/compass-bootstrap/_reset.scss +141 -0
  31. data/vendor/assets/stylesheets/compass-bootstrap/_scaffolding.scss +137 -0
  32. data/vendor/assets/stylesheets/compass-bootstrap/_tables.scss +171 -0
  33. data/vendor/assets/stylesheets/compass-bootstrap/_type.scss +187 -0
  34. data/vendor/assets/stylesheets/compass-bootstrap/_variables.scss +60 -0
  35. data/vendor/assets/stylesheets/compass-bootstrap/compass_bootstrap.scss +29 -0
  36. data/vendor/assets/stylesheets/compass-bootstrap/manifest.rb +20 -0
  37. metadata +94 -0
@@ -0,0 +1,307 @@
1
+ /* ==========================================================
2
+ * bootstrap-twipsy.js v1.3.0
3
+ * http://twitter.github.com/bootstrap/javascript.html#twipsy
4
+ * Adapted from the original jQuery.tipsy by Jason Frame
5
+ * ==========================================================
6
+ * Copyright 2011 Twitter, Inc.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ * ========================================================== */
20
+
21
+
22
+ (function( $ ) {
23
+
24
+ /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
25
+ * ======================================================= */
26
+
27
+ var transitionEnd
28
+
29
+ $(document).ready(function () {
30
+
31
+ $.support.transition = (function () {
32
+ var thisBody = document.body || document.documentElement
33
+ , thisStyle = thisBody.style
34
+ , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
35
+ return support
36
+ })()
37
+
38
+ // set CSS transition event type
39
+ if ( $.support.transition ) {
40
+ transitionEnd = "TransitionEnd"
41
+ if ( $.browser.webkit ) {
42
+ transitionEnd = "webkitTransitionEnd"
43
+ } else if ( $.browser.mozilla ) {
44
+ transitionEnd = "transitionend"
45
+ } else if ( $.browser.opera ) {
46
+ transitionEnd = "oTransitionEnd"
47
+ }
48
+ }
49
+
50
+ })
51
+
52
+
53
+ /* TWIPSY PUBLIC CLASS DEFINITION
54
+ * ============================== */
55
+
56
+ var Twipsy = function ( element, options ) {
57
+ this.$element = $(element)
58
+ this.options = options
59
+ this.enabled = true
60
+ this.fixTitle()
61
+ }
62
+
63
+ Twipsy.prototype = {
64
+
65
+ show: function() {
66
+ var pos
67
+ , actualWidth
68
+ , actualHeight
69
+ , placement
70
+ , $tip
71
+ , tp
72
+
73
+ if (this.getTitle() && this.enabled) {
74
+ $tip = this.tip()
75
+ this.setContent()
76
+
77
+ if (this.options.animate) {
78
+ $tip.addClass('fade')
79
+ }
80
+
81
+ $tip
82
+ .remove()
83
+ .css({ top: 0, left: 0, display: 'block' })
84
+ .prependTo(document.body)
85
+
86
+ pos = $.extend({}, this.$element.offset(), {
87
+ width: this.$element[0].offsetWidth
88
+ , height: this.$element[0].offsetHeight
89
+ })
90
+
91
+ actualWidth = $tip[0].offsetWidth
92
+ actualHeight = $tip[0].offsetHeight
93
+ placement = _.maybeCall(this.options.placement, this.$element[0])
94
+
95
+ switch (placement) {
96
+ case 'below':
97
+ tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2}
98
+ break
99
+ case 'above':
100
+ tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2}
101
+ break
102
+ case 'left':
103
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset}
104
+ break
105
+ case 'right':
106
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset}
107
+ break
108
+ }
109
+
110
+ $tip
111
+ .css(tp)
112
+ .addClass(placement)
113
+ .addClass('in')
114
+ }
115
+ }
116
+
117
+ , setContent: function () {
118
+ var $tip = this.tip()
119
+ $tip.find('.twipsy-inner')[this.options.html ? 'html' : 'text'](this.getTitle())
120
+ $tip[0].className = 'twipsy'
121
+ }
122
+
123
+ , hide: function() {
124
+ var that = this
125
+ , $tip = this.tip()
126
+
127
+ $tip.removeClass('in')
128
+
129
+ function removeElement () {
130
+ $tip.remove()
131
+ }
132
+
133
+ $.support.transition && this.$tip.hasClass('fade') ?
134
+ $tip.bind(transitionEnd, removeElement) :
135
+ removeElement()
136
+ }
137
+
138
+ , fixTitle: function() {
139
+ var $e = this.$element
140
+ if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
141
+ $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
142
+ }
143
+ }
144
+
145
+ , getTitle: function() {
146
+ var title
147
+ , $e = this.$element
148
+ , o = this.options
149
+
150
+ this.fixTitle()
151
+
152
+ if (typeof o.title == 'string') {
153
+ title = $e.attr(o.title == 'title' ? 'data-original-title' : o.title)
154
+ } else if (typeof o.title == 'function') {
155
+ title = o.title.call($e[0])
156
+ }
157
+
158
+ title = ('' + title).replace(/(^\s*|\s*$)/, "")
159
+
160
+ return title || o.fallback
161
+ }
162
+
163
+ , tip: function() {
164
+ if (!this.$tip) {
165
+ this.$tip = $('<div class="twipsy" />').html('<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>')
166
+ }
167
+ return this.$tip
168
+ }
169
+
170
+ , validate: function() {
171
+ if (!this.$element[0].parentNode) {
172
+ this.hide()
173
+ this.$element = null
174
+ this.options = null
175
+ }
176
+ }
177
+
178
+ , enable: function() {
179
+ this.enabled = true
180
+ }
181
+
182
+ , disable: function() {
183
+ this.enabled = false
184
+ }
185
+
186
+ , toggleEnabled: function() {
187
+ this.enabled = !this.enabled
188
+ }
189
+
190
+ }
191
+
192
+
193
+ /* TWIPSY PRIVATE METHODS
194
+ * ====================== */
195
+
196
+ var _ = {
197
+
198
+ maybeCall: function ( thing, ctx ) {
199
+ return (typeof thing == 'function') ? (thing.call(ctx)) : thing
200
+ }
201
+
202
+ }
203
+
204
+
205
+ /* TWIPSY PLUGIN DEFINITION
206
+ * ======================== */
207
+
208
+ $.fn.twipsy = function (options) {
209
+ $.fn.twipsy.initWith.call(this, options, Twipsy, 'twipsy')
210
+ return this
211
+ }
212
+
213
+ $.fn.twipsy.initWith = function (options, Constructor, name) {
214
+ var twipsy
215
+ , binder
216
+ , eventIn
217
+ , eventOut
218
+
219
+ if (options === true) {
220
+ return this.data(name)
221
+ } else if (typeof options == 'string') {
222
+ twipsy = this.data(name)
223
+ if (twipsy) {
224
+ twipsy[options]()
225
+ }
226
+ return this
227
+ }
228
+
229
+ options = $.extend({}, $.fn[name].defaults, options)
230
+
231
+ function get(ele) {
232
+ var twipsy = $.data(ele, name)
233
+
234
+ if (!twipsy) {
235
+ twipsy = new Constructor(ele, $.fn.twipsy.elementOptions(ele, options))
236
+ $.data(ele, name, twipsy)
237
+ }
238
+
239
+ return twipsy
240
+ }
241
+
242
+ function enter() {
243
+ var twipsy = get(this)
244
+ twipsy.hoverState = 'in'
245
+
246
+ if (options.delayIn == 0) {
247
+ twipsy.show()
248
+ } else {
249
+ twipsy.fixTitle()
250
+ setTimeout(function() {
251
+ if (twipsy.hoverState == 'in') {
252
+ twipsy.show()
253
+ }
254
+ }, options.delayIn)
255
+ }
256
+ }
257
+
258
+ function leave() {
259
+ var twipsy = get(this)
260
+ twipsy.hoverState = 'out'
261
+ if (options.delayOut == 0) {
262
+ twipsy.hide()
263
+ } else {
264
+ setTimeout(function() {
265
+ if (twipsy.hoverState == 'out') {
266
+ twipsy.hide()
267
+ }
268
+ }, options.delayOut)
269
+ }
270
+ }
271
+
272
+ if (!options.live) {
273
+ this.each(function() {
274
+ get(this)
275
+ })
276
+ }
277
+
278
+ if (options.trigger != 'manual') {
279
+ binder = options.live ? 'live' : 'bind'
280
+ eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus'
281
+ eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur'
282
+ this[binder](eventIn, enter)[binder](eventOut, leave)
283
+ }
284
+
285
+ return this
286
+ }
287
+
288
+ $.fn.twipsy.Twipsy = Twipsy
289
+
290
+ $.fn.twipsy.defaults = {
291
+ animate: true
292
+ , delayIn: 0
293
+ , delayOut: 0
294
+ , fallback: ''
295
+ , placement: 'above'
296
+ , html: false
297
+ , live: false
298
+ , offset: 0
299
+ , title: 'title'
300
+ , trigger: 'hover'
301
+ }
302
+
303
+ $.fn.twipsy.elementOptions = function(ele, options) {
304
+ return $.metadata ? $.extend({}, options, $(ele).metadata()) : options
305
+ }
306
+
307
+ })( window.jQuery || window.ender )
@@ -0,0 +1,29 @@
1
+ /*!
2
+ * this is a port to SCSS version of the bootstrap less
3
+
4
+ * ==========================================
5
+ * Bootstrap @VERSION
6
+ *
7
+ * Copyright 2011 Twitter, Inc
8
+ * Licensed under the Apache License v2.0
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
12
+ * Date: @DATE
13
+ */
14
+
15
+ // CSS Reset
16
+ @import "reset.scss";
17
+
18
+ // Core
19
+ @import "variables.scss"; // Modify this for custom colors, font-sizes, etc
20
+ @import "mixins.scss";
21
+
22
+ // Grid system and page structure
23
+ @import "scaffolding.scss";
24
+
25
+ // Styled patterns and elements
26
+ @import "type.scss";
27
+ @import "forms.scss";
28
+ @import "tables.scss";
29
+ @import "patterns.scss";