bootstrap-sass-rails 2.3.2.1 → 3.0.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. data/README.md +5 -35
  2. data/app/assets/fonts/twitter/bootstrap/glyphiconshalflings-regular.eot +0 -0
  3. data/app/assets/fonts/twitter/bootstrap/glyphiconshalflings-regular.otf +0 -0
  4. data/app/assets/fonts/twitter/bootstrap/glyphiconshalflings-regular.svg +175 -0
  5. data/app/assets/fonts/twitter/bootstrap/glyphiconshalflings-regular.ttf +0 -0
  6. data/app/assets/fonts/twitter/bootstrap/glyphiconshalflings-regular.woff +0 -0
  7. data/app/assets/javascripts/twitter/bootstrap.js +0 -1
  8. data/app/assets/javascripts/twitter/bootstrap/affix.js +58 -49
  9. data/app/assets/javascripts/twitter/bootstrap/alert.js +36 -37
  10. data/app/assets/javascripts/twitter/bootstrap/button.js +41 -39
  11. data/app/assets/javascripts/twitter/bootstrap/carousel.js +131 -125
  12. data/app/assets/javascripts/twitter/bootstrap/collapse.js +108 -96
  13. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +72 -87
  14. data/app/assets/javascripts/twitter/bootstrap/modal.js +149 -155
  15. data/app/assets/javascripts/twitter/bootstrap/popover.js +60 -59
  16. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +103 -107
  17. data/app/assets/javascripts/twitter/bootstrap/tab.js +73 -82
  18. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +258 -255
  19. data/app/assets/javascripts/twitter/bootstrap/transition.js +34 -38
  20. data/app/assets/stylesheets/twitter/bootstrap.css.scss +21 -21
  21. data/app/assets/stylesheets/twitter/bootstrap/_accordion.scss +9 -13
  22. data/app/assets/stylesheets/twitter/bootstrap/_alerts.scss +44 -53
  23. data/app/assets/stylesheets/twitter/bootstrap/_badges.scss +51 -0
  24. data/app/assets/stylesheets/twitter/bootstrap/_breadcrumbs.scss +7 -9
  25. data/app/assets/stylesheets/twitter/bootstrap/_button-groups.scss +93 -151
  26. data/app/assets/stylesheets/twitter/bootstrap/_buttons.scss +94 -162
  27. data/app/assets/stylesheets/twitter/bootstrap/_carousel.scss +110 -64
  28. data/app/assets/stylesheets/twitter/bootstrap/_close.scss +9 -8
  29. data/app/assets/stylesheets/twitter/bootstrap/_code.scss +14 -21
  30. data/app/assets/stylesheets/twitter/bootstrap/_component-animations.scss +11 -5
  31. data/app/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +67 -144
  32. data/app/assets/stylesheets/twitter/bootstrap/_forms.scss +279 -552
  33. data/app/assets/stylesheets/twitter/bootstrap/_glyphicons.scss +202 -0
  34. data/app/assets/stylesheets/twitter/bootstrap/_grid.scss +194 -12
  35. data/app/assets/stylesheets/twitter/bootstrap/_jumbotron.scss +29 -0
  36. data/app/assets/stylesheets/twitter/bootstrap/_labels.scss +46 -0
  37. data/app/assets/stylesheets/twitter/bootstrap/_list-group.scss +89 -0
  38. data/app/assets/stylesheets/twitter/bootstrap/_media.scss +8 -8
  39. data/app/assets/stylesheets/twitter/bootstrap/_mixins.scss +301 -419
  40. data/app/assets/stylesheets/twitter/bootstrap/_modals.scss +93 -54
  41. data/app/assets/stylesheets/twitter/bootstrap/_navbar.scss +288 -402
  42. data/app/assets/stylesheets/twitter/bootstrap/_navs.scss +176 -349
  43. data/app/assets/stylesheets/twitter/bootstrap/_normalize.scss +396 -0
  44. data/app/assets/stylesheets/twitter/bootstrap/_pager.scss +45 -34
  45. data/app/assets/stylesheets/twitter/bootstrap/_pagination.scss +89 -104
  46. data/app/assets/stylesheets/twitter/bootstrap/_panels.scss +102 -0
  47. data/app/assets/stylesheets/twitter/bootstrap/_popovers.scss +55 -54
  48. data/app/assets/stylesheets/twitter/bootstrap/_print.scss +100 -0
  49. data/app/assets/stylesheets/twitter/bootstrap/_progress-bars.scss +31 -49
  50. data/app/assets/stylesheets/twitter/bootstrap/_responsive-utilities.scss +56 -33
  51. data/app/assets/stylesheets/twitter/bootstrap/_scaffolding.scss +60 -20
  52. data/app/assets/stylesheets/twitter/bootstrap/_tables.scss +132 -177
  53. data/app/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +20 -32
  54. data/app/assets/stylesheets/twitter/bootstrap/_tooltip.scss +45 -21
  55. data/app/assets/stylesheets/twitter/bootstrap/_type.scss +87 -101
  56. data/app/assets/stylesheets/twitter/bootstrap/_utilities.scss +17 -6
  57. data/app/assets/stylesheets/twitter/bootstrap/_variables.scss +448 -179
  58. data/app/assets/stylesheets/twitter/bootstrap/_wells.scss +5 -6
  59. data/lib/bootstrap/sass/rails/version.rb +1 -1
  60. data/test/cases/less_to_sass_spec.rb +1 -6
  61. data/test/cases/usage_css_spec.rb +77 -121
  62. data/test/cases/usage_js_spec.rb +13 -14
  63. data/test/dummy/app/assets/stylesheets/individual.css.scss +4 -4
  64. data/test/dummy/config/application.rb +2 -2
  65. data/test/dummy/log/test.log +431 -0
  66. data/test/dummy/tmp/cache/assets/C41/5B0/sprockets%2F095415e1141a435237aa9464752d21fd +1623 -2374
  67. data/test/dummy/tmp/cache/assets/C83/870/sprockets%2F508e55e1444b44d0187677a51893acf2 +0 -0
  68. data/test/dummy/tmp/cache/assets/C96/270/sprockets%2F7984a23519ffe6f306f43f447266634f +0 -0
  69. data/test/dummy/tmp/cache/assets/CA6/110/sprockets%2F272615ec4af76b10339048ca6da44284 +0 -0
  70. data/test/dummy/tmp/cache/assets/CC3/BF0/sprockets%2F468c709115f67bff62b7bc8c58577018 +0 -0
  71. data/test/dummy/tmp/cache/assets/CCB/C60/sprockets%2F0b4e89e7ef810989f02643e226d2799f +0 -0
  72. data/test/dummy/tmp/cache/assets/CD6/5C0/sprockets%2F95516af385b1c218d233ec924c081e2b +0 -0
  73. data/test/dummy/tmp/cache/assets/CE5/650/sprockets%2F8ab512c9b33ac90e699b73469d71f061 +0 -0
  74. data/test/dummy/tmp/cache/assets/CE9/E40/sprockets%2F47f8666418cd38da2ff7625f02422b5e +0 -0
  75. data/test/dummy/tmp/cache/assets/CF1/960/sprockets%2F339a6cb9e577ba950d8b438b9e080577 +0 -0
  76. data/test/dummy/tmp/cache/assets/CF1/ED0/sprockets%2F9947d52d16da82564b988d16366e3aea +489 -549
  77. data/test/dummy/tmp/cache/assets/CF9/BF0/sprockets%2F78b40808be290175c2aed7d0223adb10 +0 -0
  78. data/test/dummy/tmp/cache/assets/CFD/E70/sprockets%2Ff56d388878ed87bc4b45095e1e69542c +0 -0
  79. data/test/dummy/tmp/cache/assets/D04/3C0/sprockets%2F29d763bd40cc25622b1f04b876a5c3e3 +0 -0
  80. data/test/dummy/tmp/cache/assets/D07/830/sprockets%2F530e67cd61f082e10b6b1f055ef9e522 +0 -0
  81. data/test/dummy/tmp/cache/assets/D09/DA0/sprockets%2Fa128ed69035c50db9cf4530f847a232d +0 -0
  82. data/test/dummy/tmp/cache/assets/D0E/A50/sprockets%2F468261fcdd6da4ae335b6c649407642a +0 -0
  83. data/test/dummy/tmp/cache/assets/D0F/A00/sprockets%2F217ed4e8ba29d846187e02c07a7d3d16 +0 -0
  84. data/test/dummy/tmp/cache/assets/D15/460/sprockets%2F5e20cc6d707d604c87f1043fc59ae596 +0 -0
  85. data/test/dummy/tmp/cache/assets/D16/D10/sprockets%2F333dae5d08f2e7850832ce0c674e9b93 +0 -0
  86. data/test/dummy/tmp/cache/assets/D22/870/sprockets%2F4b8d9e928e17ed67ff01fa83837080f1 +0 -0
  87. data/test/dummy/tmp/cache/assets/D2D/360/sprockets%2Fc1ad77232fa01c1626bd87aef06951a2 +0 -0
  88. data/test/dummy/tmp/cache/assets/D33/070/sprockets%2F032ca4516063b36df778dcc512b8a6dc +0 -0
  89. data/test/dummy/tmp/cache/assets/D39/1E0/sprockets%2Ff9c833e26cf56e40e203bc1b4219d5c5 +0 -0
  90. data/test/dummy/tmp/cache/assets/D39/7B0/sprockets%2Fa8690aabd7f00442715ce19dd5c9b354 +0 -0
  91. data/test/dummy/tmp/cache/assets/D3F/FA0/sprockets%2F22c8366fdbaaa2872b202dfe7376629f +0 -0
  92. data/test/dummy/tmp/cache/assets/D49/BC0/sprockets%2F93df722705d460d54cacae968beb8790 +0 -0
  93. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  94. data/test/dummy/tmp/cache/assets/D52/080/sprockets%2F02ef730a09ca2dd5d1051d492825abaa +0 -0
  95. data/test/dummy/tmp/cache/assets/D5A/560/sprockets%2Fad87bf89db0c636d2899f3d47eb70838 +0 -0
  96. data/test/dummy/tmp/cache/assets/D61/DD0/sprockets%2Fb2451cc5a100eae9932abac970808df7 +0 -0
  97. data/test/dummy/tmp/cache/assets/D70/0D0/sprockets%2F75765d3bfee9346a60198cbb8cdad102 +0 -0
  98. data/test/dummy/tmp/cache/assets/D73/8E0/sprockets%2F3ca5f1e3af1278de20d8dd955c57c294 +0 -0
  99. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +1093 -1435
  100. data/test/dummy/tmp/cache/assets/D91/080/sprockets%2Fbcca522c6302f184f12fe0e8a7d7e71a +0 -0
  101. data/test/dummy/tmp/cache/assets/D99/2D0/sprockets%2F9d2cc0bcc83c5c5dd8129271fc88aa04 +0 -0
  102. data/test/dummy/tmp/cache/assets/D9F/300/sprockets%2Fc13fc73ceafa45876a901b3e775b83ae +0 -0
  103. data/test/dummy/tmp/cache/assets/DA5/5E0/sprockets%2F5ce12bd3f860cef43ffd6737c98d106a +0 -0
  104. data/test/dummy/tmp/cache/assets/DAE/6A0/sprockets%2Fe416a2a891a5f97fddb97ecc762f95a1 +0 -0
  105. data/test/dummy/tmp/cache/assets/DD5/C90/sprockets%2Fd55fb0d1a6d0ea7096cf7ffcb66752f6 +0 -0
  106. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  107. data/test/dummy/tmp/cache/assets/DFF/EA0/sprockets%2Fc05f92ff4e2fa5eadcfe9d3d151047f3 +0 -0
  108. data/test/dummy/tmp/cache/assets/E02/BF0/sprockets%2F136aca6e9aaec765cd78a28a2bcb79e7 +0 -0
  109. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  110. data/test/dummy/tmp/cache/assets/E1D/200/sprockets%2Faaff0ad50df12a7ad76ce7b32d377e0b +0 -0
  111. data/test/dummy/tmp/cache/assets/E22/B10/sprockets%2Fec73dbc745e21ceda62ae0b9d41b4ed5 +152 -158
  112. data/test/dummy/tmp/cache/assets/E3A/D90/sprockets%2Fce0dbefdb4416ebc42589ecdbf7d7857 +0 -0
  113. data/test/dummy/tmp/cache/assets/E5F/300/sprockets%2F243a2fff0dbb8aeec3dd579b4ff7c81b +1624 -2374
  114. data/test/dummy/tmp/cache/assets/test/sass/8f72aeff1178075699c0d6fdead3bf4e974c0ea8/bootstrap.css.scssc +0 -0
  115. data/test/dummy/tmp/cache/assets/test/sass/9f022039bcde6dbfad5a4cecd880da08604928b6/individual.css.scssc +0 -0
  116. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_accordion.scssc +0 -0
  117. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_alerts.scssc +0 -0
  118. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_badges.scssc +0 -0
  119. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_breadcrumbs.scssc +0 -0
  120. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_button-groups.scssc +0 -0
  121. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_buttons.scssc +0 -0
  122. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_carousel.scssc +0 -0
  123. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_close.scssc +0 -0
  124. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_code.scssc +0 -0
  125. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_component-animations.scssc +0 -0
  126. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_dropdowns.scssc +0 -0
  127. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_forms.scssc +0 -0
  128. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_glyphicons.scssc +0 -0
  129. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_grid.scssc +0 -0
  130. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_jumbotron.scssc +0 -0
  131. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_labels.scssc +0 -0
  132. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_list-group.scssc +0 -0
  133. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_media.scssc +0 -0
  134. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_mixins.scssc +0 -0
  135. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_modals.scssc +0 -0
  136. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_navbar.scssc +0 -0
  137. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_navs.scssc +0 -0
  138. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_normalize.scssc +0 -0
  139. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_pager.scssc +0 -0
  140. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_pagination.scssc +0 -0
  141. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_panels.scssc +0 -0
  142. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_popovers.scssc +0 -0
  143. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_print.scssc +0 -0
  144. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_progress-bars.scssc +0 -0
  145. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_responsive-utilities.scssc +0 -0
  146. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_scaffolding.scssc +0 -0
  147. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_tables.scssc +0 -0
  148. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_thumbnails.scssc +0 -0
  149. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_tooltip.scssc +0 -0
  150. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_type.scssc +0 -0
  151. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_utilities.scssc +0 -0
  152. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_variables.scssc +0 -0
  153. data/test/dummy/tmp/cache/assets/test/sass/cfad29a224e7f58382c29443f9b09f2fd1187615/_wells.scssc +0 -0
  154. data/test/dummy/tmp/cache/assets/test/sprockets/02ef730a09ca2dd5d1051d492825abaa +0 -0
  155. data/test/dummy/tmp/cache/assets/test/sprockets/032ca4516063b36df778dcc512b8a6dc +0 -0
  156. data/test/dummy/tmp/cache/assets/test/sprockets/0b4e89e7ef810989f02643e226d2799f +0 -0
  157. data/test/dummy/tmp/cache/assets/test/sprockets/136aca6e9aaec765cd78a28a2bcb79e7 +0 -0
  158. data/test/dummy/tmp/cache/assets/test/sprockets/17944d87edb3d6c919fabddafa06e625 +0 -0
  159. data/test/dummy/tmp/cache/assets/test/sprockets/19646e859b697be7dd414259f4f9ff62 +0 -0
  160. data/test/dummy/tmp/cache/assets/test/sprockets/1ac94a8529fe0f023d8a7793a71c9ee1 +0 -0
  161. data/test/dummy/tmp/cache/assets/test/sprockets/217ed4e8ba29d846187e02c07a7d3d16 +0 -0
  162. data/test/dummy/tmp/cache/assets/test/sprockets/22c8366fdbaaa2872b202dfe7376629f +0 -0
  163. data/test/dummy/tmp/cache/assets/test/sprockets/272615ec4af76b10339048ca6da44284 +0 -0
  164. data/test/dummy/tmp/cache/assets/test/sprockets/29d763bd40cc25622b1f04b876a5c3e3 +0 -0
  165. data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  166. data/test/dummy/tmp/cache/assets/test/sprockets/333dae5d08f2e7850832ce0c674e9b93 +0 -0
  167. data/test/dummy/tmp/cache/assets/test/sprockets/339a6cb9e577ba950d8b438b9e080577 +0 -0
  168. data/test/dummy/tmp/cache/assets/test/sprockets/3ca5f1e3af1278de20d8dd955c57c294 +0 -0
  169. data/test/dummy/tmp/cache/assets/test/sprockets/468261fcdd6da4ae335b6c649407642a +0 -0
  170. data/test/dummy/tmp/cache/assets/test/sprockets/468c709115f67bff62b7bc8c58577018 +0 -0
  171. data/test/dummy/tmp/cache/assets/test/sprockets/47f8666418cd38da2ff7625f02422b5e +0 -0
  172. data/test/dummy/tmp/cache/assets/test/sprockets/4a73849355d6fd23920426e6beee0670 +0 -0
  173. data/test/dummy/tmp/cache/assets/test/sprockets/4b8d9e928e17ed67ff01fa83837080f1 +0 -0
  174. data/test/dummy/tmp/cache/assets/test/sprockets/508e55e1444b44d0187677a51893acf2 +0 -0
  175. data/test/dummy/tmp/cache/assets/test/sprockets/530e67cd61f082e10b6b1f055ef9e522 +0 -0
  176. data/test/dummy/tmp/cache/assets/test/sprockets/5ce12bd3f860cef43ffd6737c98d106a +0 -0
  177. data/test/dummy/tmp/cache/assets/test/sprockets/5e20cc6d707d604c87f1043fc59ae596 +0 -0
  178. data/test/dummy/tmp/cache/assets/test/sprockets/657e02950f485b10525c2247b3d43a97 +0 -0
  179. data/test/dummy/tmp/cache/assets/test/sprockets/70398c32ae5ccaa657b2b8ab8aafd095 +0 -0
  180. data/test/dummy/tmp/cache/assets/test/sprockets/75765d3bfee9346a60198cbb8cdad102 +0 -0
  181. data/test/dummy/tmp/cache/assets/test/sprockets/78b40808be290175c2aed7d0223adb10 +0 -0
  182. data/test/dummy/tmp/cache/assets/test/sprockets/7984a23519ffe6f306f43f447266634f +0 -0
  183. data/test/dummy/tmp/cache/assets/test/sprockets/8ab512c9b33ac90e699b73469d71f061 +0 -0
  184. data/test/dummy/tmp/cache/assets/test/sprockets/93df722705d460d54cacae968beb8790 +0 -0
  185. data/test/dummy/tmp/cache/assets/test/sprockets/95516af385b1c218d233ec924c081e2b +0 -0
  186. data/test/dummy/tmp/cache/assets/test/sprockets/9d2cc0bcc83c5c5dd8129271fc88aa04 +0 -0
  187. data/test/dummy/tmp/cache/assets/test/sprockets/a128ed69035c50db9cf4530f847a232d +0 -0
  188. data/test/dummy/tmp/cache/assets/test/sprockets/a8690aabd7f00442715ce19dd5c9b354 +0 -0
  189. data/test/dummy/tmp/cache/assets/test/sprockets/aaff0ad50df12a7ad76ce7b32d377e0b +0 -0
  190. data/test/dummy/tmp/cache/assets/test/sprockets/ab4b53d2f50152d21a34997eafa92699 +0 -0
  191. data/test/dummy/tmp/cache/assets/test/sprockets/ad87bf89db0c636d2899f3d47eb70838 +0 -0
  192. data/test/dummy/tmp/cache/assets/test/sprockets/b2451cc5a100eae9932abac970808df7 +0 -0
  193. data/test/dummy/tmp/cache/assets/test/sprockets/bcca522c6302f184f12fe0e8a7d7e71a +0 -0
  194. data/test/dummy/tmp/cache/assets/test/sprockets/c05f92ff4e2fa5eadcfe9d3d151047f3 +0 -0
  195. data/test/dummy/tmp/cache/assets/test/sprockets/c13fc73ceafa45876a901b3e775b83ae +0 -0
  196. data/test/dummy/tmp/cache/assets/test/sprockets/c1ad77232fa01c1626bd87aef06951a2 +0 -0
  197. data/test/dummy/tmp/cache/assets/test/sprockets/ce0dbefdb4416ebc42589ecdbf7d7857 +0 -0
  198. data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  199. data/test/dummy/tmp/cache/assets/test/sprockets/d55fb0d1a6d0ea7096cf7ffcb66752f6 +0 -0
  200. data/test/dummy/tmp/cache/assets/test/sprockets/e416a2a891a5f97fddb97ecc762f95a1 +0 -0
  201. data/test/dummy/tmp/cache/assets/test/sprockets/f56d388878ed87bc4b45095e1e69542c +0 -0
  202. data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  203. data/test/dummy/tmp/cache/assets/test/sprockets/f9c833e26cf56e40e203bc1b4219d5c5 +0 -0
  204. data/test/dummy/tmp/cache/assets/test/sprockets/fad89ee9eff7367c9620338e7e1f8ce1 +0 -0
  205. data/test/dummy/tmp/cache/sass/56c119ce8b3716a2decf2be77551c309cebe0abe/bootstrap.css.scssc +0 -0
  206. data/test/dummy/tmp/cache/sass/73d26439e044eca0a3af4a431659ef4346a1c77c/individual.css.scssc +0 -0
  207. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_accordion.scssc +0 -0
  208. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_alerts.scssc +0 -0
  209. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_badges.scssc +0 -0
  210. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_breadcrumbs.scssc +0 -0
  211. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_button-groups.scssc +0 -0
  212. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_buttons.scssc +0 -0
  213. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_carousel.scssc +0 -0
  214. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_close.scssc +0 -0
  215. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_code.scssc +0 -0
  216. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_component-animations.scssc +0 -0
  217. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_dropdowns.scssc +0 -0
  218. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_forms.scssc +0 -0
  219. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_glyphicons.scssc +0 -0
  220. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_grid.scssc +0 -0
  221. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_jumbotron.scssc +0 -0
  222. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_labels.scssc +0 -0
  223. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_list-group.scssc +0 -0
  224. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_media.scssc +0 -0
  225. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_mixins.scssc +0 -0
  226. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_modals.scssc +0 -0
  227. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_navbar.scssc +0 -0
  228. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_navs.scssc +0 -0
  229. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_normalize.scssc +0 -0
  230. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_pager.scssc +0 -0
  231. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_pagination.scssc +0 -0
  232. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_panels.scssc +0 -0
  233. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_popovers.scssc +0 -0
  234. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_print.scssc +0 -0
  235. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_progress-bars.scssc +0 -0
  236. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_responsive-utilities.scssc +0 -0
  237. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_scaffolding.scssc +0 -0
  238. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_tables.scssc +0 -0
  239. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_thumbnails.scssc +0 -0
  240. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_tooltip.scssc +0 -0
  241. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_type.scssc +0 -0
  242. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_utilities.scssc +0 -0
  243. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_variables.scssc +0 -0
  244. data/test/dummy/tmp/cache/sass/e41478386532815a970184a6cca59a0fc53ffa12/_wells.scssc +0 -0
  245. metadata +303 -25
  246. data/app/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  247. data/app/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  248. data/app/assets/javascripts/twitter/bootstrap/typeahead.js +0 -335
  249. data/app/assets/stylesheets/twitter/bootstrap-no-sprites.css.scss +0 -62
  250. data/app/assets/stylesheets/twitter/bootstrap/_hero-unit.scss +0 -26
  251. data/app/assets/stylesheets/twitter/bootstrap/_labels-badges.scss +0 -84
  252. data/app/assets/stylesheets/twitter/bootstrap/_layouts.scss +0 -17
  253. data/app/assets/stylesheets/twitter/bootstrap/_reset.scss +0 -216
  254. data/app/assets/stylesheets/twitter/bootstrap/_responsive-1200px-min.scss +0 -29
  255. data/app/assets/stylesheets/twitter/bootstrap/_responsive-767px-max.scss +0 -193
  256. data/app/assets/stylesheets/twitter/bootstrap/_responsive-768px-979px.scss +0 -22
  257. data/app/assets/stylesheets/twitter/bootstrap/_responsive-navbar.scss +0 -189
  258. data/app/assets/stylesheets/twitter/bootstrap/_responsive.scss +0 -48
  259. data/app/assets/stylesheets/twitter/bootstrap/_sprites.scss +0 -199
  260. data/test/dummy/app/assets/stylesheets/no-sprites.css.scss +0 -3
@@ -1,8 +1,8 @@
1
- /* ===========================================================
2
- * bootstrap-tooltip.js v2.3.2
3
- * http://twitter.github.com/bootstrap/javascript.html#tooltips
1
+ /* ========================================================================
2
+ * Bootstrap: tooltip.js v3.0.0
3
+ * http://twbs.github.com/bootstrap/javascript.html#affix
4
4
  * Inspired by the original jQuery.tipsy by Jason Frame
5
- * ===========================================================
5
+ * ========================================================================
6
6
  * Copyright 2012 Twitter, Inc.
7
7
  *
8
8
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,342 +16,345 @@
16
16
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
17
  * See the License for the specific language governing permissions and
18
18
  * limitations under the License.
19
- * ========================================================== */
19
+ * ======================================================================== */
20
20
 
21
21
 
22
- !function ($) {
22
+ +function ($) { "use strict";
23
23
 
24
- "use strict"; // jshint ;_;
25
-
26
-
27
- /* TOOLTIP PUBLIC CLASS DEFINITION
28
- * =============================== */
24
+ // TOOLTIP PUBLIC CLASS DEFINITION
25
+ // ===============================
29
26
 
30
27
  var Tooltip = function (element, options) {
28
+ this.type =
29
+ this.options =
30
+ this.enabled =
31
+ this.timeout =
32
+ this.hoverState =
33
+ this.$element = null
34
+
31
35
  this.init('tooltip', element, options)
32
36
  }
33
37
 
34
- Tooltip.prototype = {
35
-
36
- constructor: Tooltip
37
-
38
- , init: function (type, element, options) {
39
- var eventIn
40
- , eventOut
41
- , triggers
42
- , trigger
43
- , i
44
-
45
- this.type = type
46
- this.$element = $(element)
47
- this.options = this.getOptions(options)
48
- this.enabled = true
49
-
50
- triggers = this.options.trigger.split(' ')
51
-
52
- for (i = triggers.length; i--;) {
53
- trigger = triggers[i]
54
- if (trigger == 'click') {
55
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
56
- } else if (trigger != 'manual') {
57
- eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
58
- eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
59
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
60
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
61
- }
62
- }
38
+ Tooltip.DEFAULTS = {
39
+ animation: true
40
+ , placement: 'top'
41
+ , selector: false
42
+ , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
43
+ , trigger: 'hover focus'
44
+ , title: ''
45
+ , delay: 0
46
+ , html: false
47
+ , container: false
48
+ }
63
49
 
64
- this.options.selector ?
65
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
66
- this.fixTitle()
67
- }
50
+ Tooltip.prototype.init = function (type, element, options) {
51
+ this.enabled = true
52
+ this.type = type
53
+ this.$element = $(element)
54
+ this.options = this.getOptions(options)
55
+
56
+ var triggers = this.options.trigger.split(' ')
57
+
58
+ for (var i = triggers.length; i--;) {
59
+ var trigger = triggers[i]
68
60
 
69
- , getOptions: function (options) {
70
- options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
61
+ if (trigger == 'click') {
62
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
63
+ } else if (trigger != 'manual') {
64
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
65
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
71
66
 
72
- if (options.delay && typeof options.delay == 'number') {
73
- options.delay = {
74
- show: options.delay
75
- , hide: options.delay
76
- }
67
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
68
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
77
69
  }
70
+ }
71
+
72
+ this.options.selector ?
73
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
74
+ this.fixTitle()
75
+ }
78
76
 
79
- return options
77
+ Tooltip.prototype.getDefaults = function () {
78
+ return Tooltip.DEFAULTS
79
+ }
80
+
81
+ Tooltip.prototype.getOptions = function (options) {
82
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options)
83
+
84
+ if (options.delay && typeof options.delay == 'number') {
85
+ options.delay = {
86
+ show: options.delay
87
+ , hide: options.delay
88
+ }
80
89
  }
81
90
 
82
- , enter: function (e) {
83
- var defaults = $.fn[this.type].defaults
84
- , options = {}
85
- , self
91
+ return options
92
+ }
86
93
 
87
- this._options && $.each(this._options, function (key, value) {
88
- if (defaults[key] != value) options[key] = value
89
- }, this)
94
+ Tooltip.prototype.enter = function (obj) {
95
+ var defaults = this.getDefaults()
96
+ var options = {}
90
97
 
91
- self = $(e.currentTarget)[this.type](options).data(this.type)
98
+ this._options && $.each(this._options, function (key, value) {
99
+ if (defaults[key] != value) options[key] = value
100
+ })
92
101
 
93
- if (!self.options.delay || !self.options.delay.show) return self.show()
102
+ var self = obj instanceof this.constructor ?
103
+ obj : $(obj.currentTarget)[this.type](options).data('bs.' + this.type)
94
104
 
95
- clearTimeout(this.timeout)
96
- self.hoverState = 'in'
97
- this.timeout = setTimeout(function() {
98
- if (self.hoverState == 'in') self.show()
99
- }, self.options.delay.show)
100
- }
105
+ clearTimeout(self.timeout)
101
106
 
102
- , leave: function (e) {
103
- var self = $(e.currentTarget)[this.type](this._options).data(this.type)
107
+ if (!self.options.delay || !self.options.delay.show) return self.show()
104
108
 
105
- if (this.timeout) clearTimeout(this.timeout)
106
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
109
+ self.hoverState = 'in'
110
+ self.timeout = setTimeout(function () {
111
+ if (self.hoverState == 'in') self.show()
112
+ }, self.options.delay.show)
113
+ }
107
114
 
108
- self.hoverState = 'out'
109
- this.timeout = setTimeout(function() {
110
- if (self.hoverState == 'out') self.hide()
111
- }, self.options.delay.hide)
112
- }
115
+ Tooltip.prototype.leave = function (obj) {
116
+ var self = obj instanceof this.constructor ?
117
+ obj : $(obj.currentTarget)[this.type](this._options).data('bs.' + this.type)
113
118
 
114
- , show: function () {
115
- var $tip
116
- , pos
117
- , actualWidth
118
- , actualHeight
119
- , placement
120
- , tp
121
- , e = $.Event('show')
122
-
123
- if (this.hasContent() && this.enabled) {
124
- this.$element.trigger(e)
125
- if (e.isDefaultPrevented()) return
126
- $tip = this.tip()
127
- this.setContent()
128
-
129
- if (this.options.animation) {
130
- $tip.addClass('fade')
131
- }
132
-
133
- placement = typeof this.options.placement == 'function' ?
134
- this.options.placement.call(this, $tip[0], this.$element[0]) :
135
- this.options.placement
119
+ clearTimeout(self.timeout)
136
120
 
137
- $tip
138
- .detach()
139
- .css({ top: 0, left: 0, display: 'block' })
121
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
140
122
 
141
- this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
123
+ self.hoverState = 'out'
124
+ self.timeout = setTimeout(function () {
125
+ if (self.hoverState == 'out') self.hide()
126
+ }, self.options.delay.hide)
127
+ }
142
128
 
143
- pos = this.getPosition()
129
+ Tooltip.prototype.show = function () {
130
+ var e = $.Event('show.bs.'+ this.type)
144
131
 
145
- actualWidth = $tip[0].offsetWidth
146
- actualHeight = $tip[0].offsetHeight
132
+ if (this.hasContent() && this.enabled) {
133
+ this.$element.trigger(e)
147
134
 
148
- switch (placement) {
149
- case 'bottom':
150
- tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
151
- break
152
- case 'top':
153
- tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
154
- break
155
- case 'left':
156
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
157
- break
158
- case 'right':
159
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
160
- break
161
- }
162
-
163
- this.applyPlacement(tp, placement)
164
- this.$element.trigger('shown')
165
- }
166
- }
135
+ if (e.isDefaultPrevented()) return
167
136
 
168
- , applyPlacement: function(offset, placement){
169
137
  var $tip = this.tip()
170
- , width = $tip[0].offsetWidth
171
- , height = $tip[0].offsetHeight
172
- , actualWidth
173
- , actualHeight
174
- , delta
175
- , replace
138
+
139
+ this.setContent()
140
+
141
+ if (this.options.animation) $tip.addClass('fade')
142
+
143
+ var placement = typeof this.options.placement == 'function' ?
144
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
145
+ this.options.placement
146
+
147
+ var autoToken = /\s?auto?\s?/i
148
+ var autoPlace = autoToken.test(placement)
149
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
176
150
 
177
151
  $tip
178
- .offset(offset)
152
+ .detach()
153
+ .css({ top: 0, left: 0, display: 'block' })
179
154
  .addClass(placement)
180
- .addClass('in')
181
155
 
182
- actualWidth = $tip[0].offsetWidth
183
- actualHeight = $tip[0].offsetHeight
156
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
184
157
 
185
- if (placement == 'top' && actualHeight != height) {
186
- offset.top = offset.top + height - actualHeight
187
- replace = true
188
- }
158
+ var pos = this.getPosition()
159
+ var actualWidth = $tip[0].offsetWidth
160
+ var actualHeight = $tip[0].offsetHeight
161
+
162
+ if (autoPlace) {
163
+ var $parent = this.$element.parent()
189
164
 
190
- if (placement == 'bottom' || placement == 'top') {
191
- delta = 0
165
+ var orgPlacement = placement
166
+ var docScroll = document.documentElement.scrollTop || document.body.scrollTop
167
+ var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth()
168
+ var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()
169
+ var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left
192
170
 
193
- if (offset.left < 0){
194
- delta = offset.left * -2
195
- offset.left = 0
196
- $tip.offset(offset)
197
- actualWidth = $tip[0].offsetWidth
198
- actualHeight = $tip[0].offsetHeight
199
- }
171
+ placement = placement == 'bottom' && pos.top + pos.height + actualHeight - docScroll > parentHeight ? 'top' :
172
+ placement == 'top' && pos.top - docScroll - actualHeight < 0 ? 'bottom' :
173
+ placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :
174
+ placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :
175
+ placement
200
176
 
201
- this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
202
- } else {
203
- this.replaceArrow(actualHeight - height, actualHeight, 'top')
177
+ $tip
178
+ .removeClass(orgPlacement)
179
+ .addClass(placement)
204
180
  }
205
181
 
206
- if (replace) $tip.offset(offset)
182
+ var tp = placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
183
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
184
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
185
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
186
+
187
+ this.applyPlacement(tp, placement)
188
+ this.$element.trigger('shown.bs.' + this.type)
207
189
  }
190
+ }
208
191
 
209
- , replaceArrow: function(delta, dimension, position){
210
- this
211
- .arrow()
212
- .css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
192
+ Tooltip.prototype.applyPlacement = function(offset, placement) {
193
+ var replace
194
+ var $tip = this.tip()
195
+ var width = $tip[0].offsetWidth
196
+ var height = $tip[0].offsetHeight
197
+
198
+ // manually read margins because getBoundingClientRect includes difference
199
+ offset.top = offset.top + parseInt($tip.css('margin-top'), 10)
200
+ offset.left = offset.left + parseInt($tip.css('margin-left'), 10)
201
+
202
+ $tip
203
+ .offset(offset)
204
+ .addClass('in')
205
+
206
+ var actualWidth = $tip[0].offsetWidth
207
+ var actualHeight = $tip[0].offsetHeight
208
+
209
+ if (placement == 'top' && actualHeight != height) {
210
+ replace = true
211
+ offset.top = offset.top + height - actualHeight
213
212
  }
214
213
 
215
- , setContent: function () {
216
- var $tip = this.tip()
217
- , title = this.getTitle()
214
+ if (placement == 'bottom' || placement == 'top') {
215
+ var delta = 0
216
+
217
+ if (offset.left < 0){
218
+ delta = offset.left * -2
219
+ offset.left = 0
218
220
 
219
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
220
- $tip.removeClass('fade in top bottom left right')
221
+ $tip.offset(offset)
222
+
223
+ actualWidth = $tip[0].offsetWidth
224
+ actualHeight = $tip[0].offsetHeight
225
+ }
226
+
227
+ this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
228
+ } else {
229
+ this.replaceArrow(actualHeight - height, actualHeight, 'top')
221
230
  }
222
231
 
223
- , hide: function () {
224
- var that = this
225
- , $tip = this.tip()
226
- , e = $.Event('hide')
232
+ if (replace) $tip.offset(offset)
233
+ }
227
234
 
228
- this.$element.trigger(e)
229
- if (e.isDefaultPrevented()) return
235
+ Tooltip.prototype.replaceArrow = function(delta, dimension, position) {
236
+ this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
237
+ }
230
238
 
231
- $tip.removeClass('in')
239
+ Tooltip.prototype.setContent = function () {
240
+ var $tip = this.tip()
241
+ var title = this.getTitle()
232
242
 
233
- function removeWithAnimation() {
234
- var timeout = setTimeout(function () {
235
- $tip.off($.support.transition.end).detach()
236
- }, 500)
243
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
244
+ $tip.removeClass('fade in top bottom left right')
245
+ }
237
246
 
238
- $tip.one($.support.transition.end, function () {
239
- clearTimeout(timeout)
240
- $tip.detach()
241
- })
242
- }
247
+ Tooltip.prototype.hide = function () {
248
+ var that = this
249
+ var $tip = this.tip()
250
+ var e = $.Event('hide.bs.' + this.type)
243
251
 
244
- $.support.transition && this.$tip.hasClass('fade') ?
245
- removeWithAnimation() :
246
- $tip.detach()
252
+ this.$element.trigger(e)
247
253
 
248
- this.$element.trigger('hidden')
254
+ if (e.isDefaultPrevented()) return
249
255
 
250
- return this
251
- }
256
+ $tip.removeClass('in')
252
257
 
253
- , fixTitle: function () {
254
- var $e = this.$element
255
- if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
256
- $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
257
- }
258
- }
258
+ $.support.transition && this.$tip.hasClass('fade') ?
259
+ $tip
260
+ .one($.support.transition.end, $tip.detach)
261
+ .emulateTransitionEnd(150) :
262
+ $tip.detach()
259
263
 
260
- , hasContent: function () {
261
- return this.getTitle()
262
- }
264
+ this.$element.trigger('hidden.bs.' + this.type)
263
265
 
264
- , getPosition: function () {
265
- var el = this.$element[0]
266
- return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
267
- width: el.offsetWidth
268
- , height: el.offsetHeight
269
- }, this.$element.offset())
266
+ return this
267
+ }
268
+
269
+ Tooltip.prototype.fixTitle = function () {
270
+ var $e = this.$element
271
+ if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
272
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
270
273
  }
274
+ }
271
275
 
272
- , getTitle: function () {
273
- var title
274
- , $e = this.$element
275
- , o = this.options
276
+ Tooltip.prototype.hasContent = function () {
277
+ return this.getTitle()
278
+ }
276
279
 
277
- title = $e.attr('data-original-title')
278
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
280
+ Tooltip.prototype.getPosition = function () {
281
+ var el = this.$element[0]
282
+ return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
283
+ width: el.offsetWidth
284
+ , height: el.offsetHeight
285
+ }, this.$element.offset())
286
+ }
279
287
 
280
- return title
281
- }
288
+ Tooltip.prototype.getTitle = function () {
289
+ var title
290
+ var $e = this.$element
291
+ var o = this.options
282
292
 
283
- , tip: function () {
284
- return this.$tip = this.$tip || $(this.options.template)
285
- }
293
+ title = $e.attr('data-original-title')
294
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
286
295
 
287
- , arrow: function(){
288
- return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
289
- }
296
+ return title
297
+ }
290
298
 
291
- , validate: function () {
292
- if (!this.$element[0].parentNode) {
293
- this.hide()
294
- this.$element = null
295
- this.options = null
296
- }
297
- }
299
+ Tooltip.prototype.tip = function () {
300
+ return this.$tip = this.$tip || $(this.options.template)
301
+ }
298
302
 
299
- , enable: function () {
300
- this.enabled = true
301
- }
303
+ Tooltip.prototype.arrow =function(){
304
+ return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
305
+ }
302
306
 
303
- , disable: function () {
304
- this.enabled = false
307
+ Tooltip.prototype.validate = function () {
308
+ if (!this.$element[0].parentNode) {
309
+ this.hide()
310
+ this.$element = null
311
+ this.options = null
305
312
  }
313
+ }
306
314
 
307
- , toggleEnabled: function () {
308
- this.enabled = !this.enabled
309
- }
315
+ Tooltip.prototype.enable = function () {
316
+ this.enabled = true
317
+ }
310
318
 
311
- , toggle: function (e) {
312
- var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
313
- self.tip().hasClass('in') ? self.hide() : self.show()
314
- }
319
+ Tooltip.prototype.disable = function () {
320
+ this.enabled = false
321
+ }
315
322
 
316
- , destroy: function () {
317
- this.hide().$element.off('.' + this.type).removeData(this.type)
318
- }
323
+ Tooltip.prototype.toggleEnabled = function () {
324
+ this.enabled = !this.enabled
325
+ }
326
+
327
+ Tooltip.prototype.toggle = function (e) {
328
+ var self = e ? $(e.currentTarget)[this.type](this._options).data('bs.' + this.type) : this
329
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
330
+ }
319
331
 
332
+ Tooltip.prototype.destroy = function () {
333
+ this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
320
334
  }
321
335
 
322
336
 
323
- /* TOOLTIP PLUGIN DEFINITION
324
- * ========================= */
337
+ // TOOLTIP PLUGIN DEFINITION
338
+ // =========================
325
339
 
326
340
  var old = $.fn.tooltip
327
341
 
328
- $.fn.tooltip = function ( option ) {
342
+ $.fn.tooltip = function (option) {
329
343
  return this.each(function () {
330
- var $this = $(this)
331
- , data = $this.data('tooltip')
332
- , options = typeof option == 'object' && option
333
- if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
344
+ var $this = $(this)
345
+ var data = $this.data('bs.tooltip')
346
+ var options = typeof option == 'object' && option
347
+
348
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
334
349
  if (typeof option == 'string') data[option]()
335
350
  })
336
351
  }
337
352
 
338
353
  $.fn.tooltip.Constructor = Tooltip
339
354
 
340
- $.fn.tooltip.defaults = {
341
- animation: true
342
- , placement: 'top'
343
- , selector: false
344
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
345
- , trigger: 'hover focus'
346
- , title: ''
347
- , delay: 0
348
- , html: false
349
- , container: false
350
- }
351
-
352
355
 
353
- /* TOOLTIP NO CONFLICT
354
- * =================== */
356
+ // TOOLTIP NO CONFLICT
357
+ // ===================
355
358
 
356
359
  $.fn.tooltip.noConflict = function () {
357
360
  $.fn.tooltip = old