paint-rails 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.gitmodules +3 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +31 -0
  7. data/Rakefile +32 -0
  8. data/lib/paint-rails/version.rb +5 -0
  9. data/lib/paint-rails.rb +8 -0
  10. data/paint-rails.gemspec +21 -0
  11. data/vendor/assets/images/favicon.ico +0 -0
  12. data/vendor/assets/images/logo.png +0 -0
  13. data/vendor/assets/stylesheets/bower_components/fastclick/.bower.json +23 -0
  14. data/vendor/assets/stylesheets/bower_components/fastclick/LICENSE +22 -0
  15. data/vendor/assets/stylesheets/bower_components/fastclick/README.md +140 -0
  16. data/vendor/assets/stylesheets/bower_components/fastclick/bower.json +12 -0
  17. data/vendor/assets/stylesheets/bower_components/fastclick/lib/fastclick.js +841 -0
  18. data/vendor/assets/stylesheets/bower_components/fontawesome/.bower.json +36 -0
  19. data/vendor/assets/stylesheets/bower_components/fontawesome/.gitignore +32 -0
  20. data/vendor/assets/stylesheets/bower_components/fontawesome/.npmignore +42 -0
  21. data/vendor/assets/stylesheets/bower_components/fontawesome/bower.json +23 -0
  22. data/vendor/assets/stylesheets/bower_components/fontawesome/css/font-awesome.css +1672 -0
  23. data/vendor/assets/stylesheets/bower_components/fontawesome/css/font-awesome.min.css +4 -0
  24. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
  25. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  26. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.svg +520 -0
  27. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  28. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  29. data/vendor/assets/stylesheets/bower_components/fontawesome/less/bordered-pulled.less +16 -0
  30. data/vendor/assets/stylesheets/bower_components/fontawesome/less/core.less +11 -0
  31. data/vendor/assets/stylesheets/bower_components/fontawesome/less/extras.less +2 -0
  32. data/vendor/assets/stylesheets/bower_components/fontawesome/less/fixed-width.less +6 -0
  33. data/vendor/assets/stylesheets/bower_components/fontawesome/less/font-awesome.less +17 -0
  34. data/vendor/assets/stylesheets/bower_components/fontawesome/less/icons.less +552 -0
  35. data/vendor/assets/stylesheets/bower_components/fontawesome/less/larger.less +13 -0
  36. data/vendor/assets/stylesheets/bower_components/fontawesome/less/list.less +19 -0
  37. data/vendor/assets/stylesheets/bower_components/fontawesome/less/mixins.less +25 -0
  38. data/vendor/assets/stylesheets/bower_components/fontawesome/less/path.less +14 -0
  39. data/vendor/assets/stylesheets/bower_components/fontawesome/less/rotated-flipped.less +20 -0
  40. data/vendor/assets/stylesheets/bower_components/fontawesome/less/spinning.less +29 -0
  41. data/vendor/assets/stylesheets/bower_components/fontawesome/less/stacked.less +20 -0
  42. data/vendor/assets/stylesheets/bower_components/fontawesome/less/variables.less +561 -0
  43. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_bordered-pulled.scss +16 -0
  44. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_core.scss +11 -0
  45. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_extras.scss +44 -0
  46. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_fixed-width.scss +6 -0
  47. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_icons.scss +552 -0
  48. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_larger.scss +13 -0
  49. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_list.scss +19 -0
  50. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_mixins.scss +25 -0
  51. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_path.scss +14 -0
  52. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_rotated-flipped.scss +20 -0
  53. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_spinning.scss +29 -0
  54. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_stacked.scss +20 -0
  55. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_variables.scss +561 -0
  56. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/font-awesome.scss +17 -0
  57. data/vendor/assets/stylesheets/bower_components/foundation/.bower.json +32 -0
  58. data/vendor/assets/stylesheets/bower_components/foundation/bower.json +23 -0
  59. data/vendor/assets/stylesheets/bower_components/foundation/css/foundation.css +6138 -0
  60. data/vendor/assets/stylesheets/bower_components/foundation/css/normalize.css +357 -0
  61. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.abide.js +314 -0
  62. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.accordion.js +66 -0
  63. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.alert.js +43 -0
  64. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.clearing.js +558 -0
  65. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.dropdown.js +326 -0
  66. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.equalizer.js +74 -0
  67. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.interchange.js +344 -0
  68. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.joyride.js +917 -0
  69. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.js +625 -0
  70. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.magellan.js +189 -0
  71. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.offcanvas.js +152 -0
  72. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.orbit.js +472 -0
  73. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.reveal.js +444 -0
  74. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.slider.js +239 -0
  75. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tab.js +217 -0
  76. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tooltip.js +300 -0
  77. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.topbar.js +445 -0
  78. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.js +5741 -0
  79. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.min.js +4 -0
  80. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/fastclick.js +9 -0
  81. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.cookie.js +8 -0
  82. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.js +26 -0
  83. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/modernizr.js +8 -0
  84. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/placeholder.js +2 -0
  85. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_functions.scss +102 -0
  86. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_settings.scss +1441 -0
  87. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_accordion.scss +157 -0
  88. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_alert-boxes.scss +128 -0
  89. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_block-grid.scss +132 -0
  90. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +132 -0
  91. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_button-groups.scss +197 -0
  92. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_buttons.scss +259 -0
  93. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_clearing.scss +247 -0
  94. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss +130 -0
  95. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown.scss +262 -0
  96. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_flex-video.scss +51 -0
  97. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_forms.scss +585 -0
  98. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_global.scss +460 -0
  99. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_grid.scss +275 -0
  100. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_icon-bar.scss +293 -0
  101. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_inline-lists.scss +57 -0
  102. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_joyride.scss +222 -0
  103. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_keystrokes.scss +61 -0
  104. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_labels.scss +106 -0
  105. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_magellan.scss +34 -0
  106. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_offcanvas.scss +513 -0
  107. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_orbit.scss +368 -0
  108. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pagination.scss +162 -0
  109. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_panels.scss +95 -0
  110. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pricing-tables.scss +150 -0
  111. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_progress-bars.scss +79 -0
  112. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_range-slider.scss +168 -0
  113. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_reveal.scss +222 -0
  114. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_side-nav.scss +116 -0
  115. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_split-buttons.scss +191 -0
  116. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_sub-nav.scss +123 -0
  117. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_switches.scss +230 -0
  118. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tables.scss +135 -0
  119. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tabs.scss +123 -0
  120. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_thumbs.scss +66 -0
  121. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_toolbar.scss +70 -0
  122. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tooltips.scss +142 -0
  123. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_top-bar.scss +685 -0
  124. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_type.scss +525 -0
  125. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_visibility.scss +408 -0
  126. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation.scss +45 -0
  127. data/vendor/assets/stylesheets/bower_components/foundation/scss/normalize.scss +427 -0
  128. data/vendor/assets/stylesheets/bower_components/jquery/.bower.json +37 -0
  129. data/vendor/assets/stylesheets/bower_components/jquery/MIT-LICENSE.txt +21 -0
  130. data/vendor/assets/stylesheets/bower_components/jquery/bower.json +27 -0
  131. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.js +9205 -0
  132. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.js +5 -0
  133. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.map +1 -0
  134. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/jsonp.js +89 -0
  135. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/load.js +75 -0
  136. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  137. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseXML.js +28 -0
  138. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/script.js +64 -0
  139. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  140. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  141. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/xhr.js +136 -0
  142. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax.js +786 -0
  143. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/attr.js +141 -0
  144. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/classes.js +158 -0
  145. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/prop.js +94 -0
  146. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/support.js +35 -0
  147. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/val.js +161 -0
  148. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes.js +11 -0
  149. data/vendor/assets/stylesheets/bower_components/jquery/src/callbacks.js +205 -0
  150. data/vendor/assets/stylesheets/bower_components/jquery/src/core/access.js +60 -0
  151. data/vendor/assets/stylesheets/bower_components/jquery/src/core/init.js +123 -0
  152. data/vendor/assets/stylesheets/bower_components/jquery/src/core/parseHTML.js +39 -0
  153. data/vendor/assets/stylesheets/bower_components/jquery/src/core/ready.js +97 -0
  154. data/vendor/assets/stylesheets/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  155. data/vendor/assets/stylesheets/bower_components/jquery/src/core.js +497 -0
  156. data/vendor/assets/stylesheets/bower_components/jquery/src/css/addGetHookIf.js +22 -0
  157. data/vendor/assets/stylesheets/bower_components/jquery/src/css/curCSS.js +57 -0
  158. data/vendor/assets/stylesheets/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  159. data/vendor/assets/stylesheets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  160. data/vendor/assets/stylesheets/bower_components/jquery/src/css/support.js +96 -0
  161. data/vendor/assets/stylesheets/bower_components/jquery/src/css/swap.js +28 -0
  162. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  163. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/getStyles.js +12 -0
  164. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/isHidden.js +13 -0
  165. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rmargin.js +3 -0
  166. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  167. data/vendor/assets/stylesheets/bower_components/jquery/src/css.js +450 -0
  168. data/vendor/assets/stylesheets/bower_components/jquery/src/data/Data.js +181 -0
  169. data/vendor/assets/stylesheets/bower_components/jquery/src/data/accepts.js +20 -0
  170. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/data_priv.js +5 -0
  171. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/data_user.js +5 -0
  172. data/vendor/assets/stylesheets/bower_components/jquery/src/data.js +178 -0
  173. data/vendor/assets/stylesheets/bower_components/jquery/src/deferred.js +149 -0
  174. data/vendor/assets/stylesheets/bower_components/jquery/src/deprecated.js +13 -0
  175. data/vendor/assets/stylesheets/bower_components/jquery/src/dimensions.js +50 -0
  176. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/Tween.js +114 -0
  177. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  178. data/vendor/assets/stylesheets/bower_components/jquery/src/effects.js +648 -0
  179. data/vendor/assets/stylesheets/bower_components/jquery/src/event/ajax.js +13 -0
  180. data/vendor/assets/stylesheets/bower_components/jquery/src/event/alias.js +39 -0
  181. data/vendor/assets/stylesheets/bower_components/jquery/src/event/support.js +9 -0
  182. data/vendor/assets/stylesheets/bower_components/jquery/src/event.js +868 -0
  183. data/vendor/assets/stylesheets/bower_components/jquery/src/exports/amd.js +24 -0
  184. data/vendor/assets/stylesheets/bower_components/jquery/src/exports/global.js +32 -0
  185. data/vendor/assets/stylesheets/bower_components/jquery/src/intro.js +44 -0
  186. data/vendor/assets/stylesheets/bower_components/jquery/src/jquery.js +37 -0
  187. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  188. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/support.js +32 -0
  189. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  190. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation.js +580 -0
  191. data/vendor/assets/stylesheets/bower_components/jquery/src/offset.js +207 -0
  192. data/vendor/assets/stylesheets/bower_components/jquery/src/outro.js +1 -0
  193. data/vendor/assets/stylesheets/bower_components/jquery/src/queue/delay.js +22 -0
  194. data/vendor/assets/stylesheets/bower_components/jquery/src/queue.js +142 -0
  195. data/vendor/assets/stylesheets/bower_components/jquery/src/selector-native.js +172 -0
  196. data/vendor/assets/stylesheets/bower_components/jquery/src/selector-sizzle.js +14 -0
  197. data/vendor/assets/stylesheets/bower_components/jquery/src/selector.js +1 -0
  198. data/vendor/assets/stylesheets/bower_components/jquery/src/serialize.js +111 -0
  199. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  200. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  201. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  202. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/findFilter.js +100 -0
  203. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  204. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing.js +199 -0
  205. data/vendor/assets/stylesheets/bower_components/jquery/src/var/arr.js +3 -0
  206. data/vendor/assets/stylesheets/bower_components/jquery/src/var/class2type.js +4 -0
  207. data/vendor/assets/stylesheets/bower_components/jquery/src/var/concat.js +5 -0
  208. data/vendor/assets/stylesheets/bower_components/jquery/src/var/hasOwn.js +5 -0
  209. data/vendor/assets/stylesheets/bower_components/jquery/src/var/indexOf.js +5 -0
  210. data/vendor/assets/stylesheets/bower_components/jquery/src/var/pnum.js +3 -0
  211. data/vendor/assets/stylesheets/bower_components/jquery/src/var/push.js +5 -0
  212. data/vendor/assets/stylesheets/bower_components/jquery/src/var/rnotwhite.js +3 -0
  213. data/vendor/assets/stylesheets/bower_components/jquery/src/var/slice.js +5 -0
  214. data/vendor/assets/stylesheets/bower_components/jquery/src/var/strundefined.js +3 -0
  215. data/vendor/assets/stylesheets/bower_components/jquery/src/var/support.js +4 -0
  216. data/vendor/assets/stylesheets/bower_components/jquery/src/var/toString.js +5 -0
  217. data/vendor/assets/stylesheets/bower_components/jquery/src/wrap.js +79 -0
  218. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/.bower.json +33 -0
  219. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/bower.json +21 -0
  220. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/jquery.placeholder.js +192 -0
  221. data/vendor/assets/stylesheets/bower_components/jquery.cookie/.bower.json +28 -0
  222. data/vendor/assets/stylesheets/bower_components/jquery.cookie/bower.json +18 -0
  223. data/vendor/assets/stylesheets/bower_components/jquery.cookie/jquery.cookie.js +117 -0
  224. data/vendor/assets/stylesheets/bower_components/modernizr/.bower.json +14 -0
  225. data/vendor/assets/stylesheets/bower_components/modernizr/.editorconfig +10 -0
  226. data/vendor/assets/stylesheets/bower_components/modernizr/.gitignore +2 -0
  227. data/vendor/assets/stylesheets/bower_components/modernizr/.travis.yml +6 -0
  228. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/a-download.js +8 -0
  229. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/audio-audiodata-api.js +4 -0
  230. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/audio-webaudio-api.js +4 -0
  231. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/battery-api.js +8 -0
  232. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/battery-level.js +11 -0
  233. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/blob-constructor.js +10 -0
  234. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/canvas-todataurl-type.js +28 -0
  235. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contenteditable.js +9 -0
  236. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contentsecuritypolicy.js +10 -0
  237. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contextmenu.js +11 -0
  238. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/cookies.js +15 -0
  239. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/cors.js +3 -0
  240. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundposition-shorthand.js +19 -0
  241. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundposition-xy.js +15 -0
  242. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundrepeat.js +31 -0
  243. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundsizecover.js +10 -0
  244. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-boxsizing.js +9 -0
  245. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-calc.js +12 -0
  246. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-cubicbezierrange.js +8 -0
  247. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-displayrunin.js +18 -0
  248. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-displaytable.js +27 -0
  249. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-filters.js +7 -0
  250. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-hyphens.js +205 -0
  251. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-lastchild.js +11 -0
  252. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-mask.js +12 -0
  253. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-mediaqueries.js +3 -0
  254. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-objectfit.js +6 -0
  255. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-overflow-scrolling.js +9 -0
  256. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-pointerevents.js +25 -0
  257. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-positionsticky.js +13 -0
  258. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-regions.js +55 -0
  259. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-remunit.js +19 -0
  260. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-resize.js +8 -0
  261. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-scrollbars.js +19 -0
  262. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-shapes.js +4 -0
  263. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-subpixelfont.js +23 -0
  264. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-supports.js +6 -0
  265. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-userselect.js +10 -0
  266. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vhunit.js +14 -0
  267. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vmaxunit.js +14 -0
  268. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vminunit.js +14 -0
  269. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vwunit.js +14 -0
  270. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/custom-protocol-handler.js +10 -0
  271. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dart.js +6 -0
  272. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dataview-api.js +4 -0
  273. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-classlist.js +4 -0
  274. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-createElement-attrs.js +11 -0
  275. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-dataset.js +9 -0
  276. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-microdata.js +4 -0
  277. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-datalist.js +12 -0
  278. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-details.js +25 -0
  279. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-output.js +4 -0
  280. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-progress-meter.js +11 -0
  281. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-ruby.js +53 -0
  282. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-time.js +4 -0
  283. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-track.js +11 -0
  284. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/emoji.js +11 -0
  285. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/es5-strictmode.js +7 -0
  286. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/event-deviceorientation-motion.js +11 -0
  287. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/exif-orientation.js +32 -0
  288. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/file-api.js +12 -0
  289. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/file-filesystem.js +9 -0
  290. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-fileinput.js +13 -0
  291. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-formattribute.js +29 -0
  292. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js +32 -0
  293. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-placeholder.js +10 -0
  294. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-speechinput.js +19 -0
  295. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-validation.js +62 -0
  296. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/fullscreen-api.js +10 -0
  297. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/gamepad.js +12 -0
  298. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/getusermedia.js +5 -0
  299. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/ie8compat.js +12 -0
  300. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-sandbox.js +5 -0
  301. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-seamless.js +5 -0
  302. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-srcdoc.js +5 -0
  303. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/img-apng.js +26 -0
  304. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/img-webp.js +20 -0
  305. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/json.js +7 -0
  306. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/lists-reversed.js +6 -0
  307. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/mathml.js +23 -0
  308. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-connection.js +22 -0
  309. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-eventsource.js +5 -0
  310. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-xhr2.js +13 -0
  311. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/notification.js +10 -0
  312. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/performance.js +5 -0
  313. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/pointerlock-api.js +4 -0
  314. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/quota-management-api.js +11 -0
  315. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/requestanimationframe.js +7 -0
  316. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/script-async.js +3 -0
  317. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/script-defer.js +3 -0
  318. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/style-scoped.js +6 -0
  319. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/svg-filters.js +13 -0
  320. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/unicode.js +32 -0
  321. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/url-data-uri.js +26 -0
  322. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/userdata.js +7 -0
  323. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/vibration.js +4 -0
  324. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/web-intents.js +6 -0
  325. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/webgl-extensions.js +42 -0
  326. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/websockets-binary.js +20 -0
  327. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/window-framed.js +8 -0
  328. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-blobworkers.js +66 -0
  329. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-dataworkers.js +34 -0
  330. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-sharedworkers.js +3 -0
  331. data/vendor/assets/stylesheets/bower_components/modernizr/grunt.js +69 -0
  332. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.ai +292 -1
  333. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.eps +0 -0
  334. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.pdf +292 -1
  335. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.png +0 -0
  336. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.svg +35 -0
  337. data/vendor/assets/stylesheets/bower_components/modernizr/modernizr.js +1406 -0
  338. data/vendor/assets/stylesheets/bower_components/modernizr/readme.md +28 -0
  339. data/vendor/assets/stylesheets/bower_components/modernizr/test/basic.html +65 -0
  340. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse.html +1451 -0
  341. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.eot +0 -0
  342. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.otf +0 -0
  343. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.svg +147 -0
  344. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.ttf +0 -0
  345. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.woff +0 -0
  346. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/alpha.png +0 -0
  347. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/apng_test.png +0 -0
  348. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/before-after.png +0 -0
  349. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/form_validation.html +15 -0
  350. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/ga.js +43 -0
  351. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/green5x5.png +0 -0
  352. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/hashchange.html +16 -0
  353. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/jquery.min.js +18 -0
  354. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/mathml.html +120 -0
  355. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/mathml_ref.png +0 -0
  356. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/modernizr-1.7.min.js +2 -0
  357. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/png_alpha_result.png +0 -0
  358. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/pushstate.html +40 -0
  359. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/red30x30.png +0 -0
  360. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/ruby.png +0 -0
  361. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/stroked-text.png +0 -0
  362. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/style.css +168 -0
  363. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-html-blur.png +0 -0
  364. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-img.svg +5 -0
  365. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-img.svg.1 +5 -0
  366. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg_blur.png +0 -0
  367. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/table.png +0 -0
  368. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/text-shadow1.png +0 -0
  369. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/text-shadow2.png +0 -0
  370. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/windsong_font.png +0 -0
  371. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/xhtml.html +14 -0
  372. data/vendor/assets/stylesheets/bower_components/modernizr/test/index.html +104 -0
  373. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/basic.html +65 -0
  374. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/dumpdata.js +75 -0
  375. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/detect-global.js +153 -0
  376. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/jquery-1.7b2.js +9279 -0
  377. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/jsonselect.js +279 -0
  378. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/polyfills.js +96 -0
  379. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/uaparser.js +215 -0
  380. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/setup.js +44 -0
  381. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/unit-caniuse.js +191 -0
  382. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/unit.js +669 -0
  383. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/qunit.css +231 -0
  384. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/qunit.js +1932 -0
  385. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/run-qunit.js +72 -0
  386. data/vendor/assets/stylesheets/components/_button.scss +61 -0
  387. data/vendor/assets/stylesheets/components/_dropdown.scss +27 -0
  388. data/vendor/assets/stylesheets/components/_grid.scss +37 -0
  389. data/vendor/assets/stylesheets/components/_heading.scss +17 -0
  390. data/vendor/assets/stylesheets/components/_icon.scss +4 -0
  391. data/vendor/assets/stylesheets/components/_label.scss +3 -0
  392. data/vendor/assets/stylesheets/components/_layout.scss +263 -0
  393. data/vendor/assets/stylesheets/components/_progress-bar.scss +14 -0
  394. data/vendor/assets/stylesheets/globals/_mixins.scss +5 -0
  395. data/vendor/assets/stylesheets/globals/_settings.scss +64 -0
  396. data/vendor/assets/stylesheets/paint.scss +20 -0
  397. metadata +481 -0
@@ -0,0 +1,279 @@
1
+ /*! Copyright (c) 2011, Lloyd Hilaiel, ISC License */
2
+ /*
3
+ * This is the JSONSelect reference implementation, in javascript.
4
+ */
5
+ (function(exports) {
6
+
7
+ var // localize references
8
+ toString = Object.prototype.toString;
9
+
10
+ function jsonParse(str) {
11
+ try {
12
+ if(JSON && JSON.parse){
13
+ return JSON.parse(str);
14
+ }
15
+ return (new Function("return " + str))();
16
+ } catch(e) {
17
+ te("ijs");
18
+ }
19
+ }
20
+
21
+ // emitted error codes.
22
+ var errorCodes = {
23
+ "ijs": "invalid json string",
24
+ "mpc": "multiple pseudo classes (:xxx) not allowed",
25
+ "mepf": "malformed expression in pseudo-function",
26
+ "nmi": "multiple ids not allowed",
27
+ "se": "selector expected",
28
+ "sra": "string required after '.'",
29
+ "uc": "unrecognized char",
30
+ "ujs": "unclosed json string",
31
+ "upc": "unrecognized pseudo class"
32
+ };
33
+
34
+ // throw an error message
35
+ function te(ec) {
36
+ throw new Error(errorCodes[ec]);
37
+ }
38
+
39
+ // THE LEXER
40
+ var toks = {
41
+ psc: 1, // pseudo class
42
+ psf: 2, // pseudo class function
43
+ typ: 3, // type
44
+ str: 4 // string
45
+ };
46
+
47
+ var pat = /^(?:([\r\n\t\ ]+)|([*.,>])|(string|boolean|null|array|object|number)|(:(?:root|first-child|last-child|only-child))|(:(?:nth-child|nth-last-child))|(:\w+)|(\"(?:[^\\]|\\[^\"])*\")|(\")|((?:[_a-zA-Z]|[^\0-\0177]|\\[^\r\n\f0-9a-fA-F])(?:[_a-zA-Z0-9\-]|[^\u0000-\u0177]|(?:\\[^\r\n\f0-9a-fA-F]))*))/;
48
+ var exprPat = /^\s*\(\s*(?:([+\-]?)([0-9]*)n\s*(?:([+\-])\s*([0-9]))?|(odd|even)|([+\-]?[0-9]+))\s*\)/;
49
+ var lex = function (str, off) {
50
+ if (!off) off = 0;
51
+ var m = pat.exec(str.substr(off));
52
+ if (!m) return undefined;
53
+ off+=m[0].length;
54
+ var a;
55
+ if (m[1]) a = [off, " "];
56
+ else if (m[2]) a = [off, m[0]];
57
+ else if (m[3]) a = [off, toks.typ, m[0]];
58
+ else if (m[4]) a = [off, toks.psc, m[0]];
59
+ else if (m[5]) a = [off, toks.psf, m[0]];
60
+ else if (m[6]) te("upc");
61
+ else if (m[7]) a = [off, toks.str, jsonParse(m[0])];
62
+ else if (m[8]) te("ujs");
63
+ else if (m[9]) a = [off, toks.str, m[0].replace(/\\([^\r\n\f0-9a-fA-F])/g,"$1")];
64
+ return a;
65
+ };
66
+
67
+ // THE PARSER
68
+
69
+ var parse = function (str) {
70
+ var a = [], off = 0, am;
71
+
72
+ while (true) {
73
+ var s = parse_selector(str, off);
74
+ a.push(s[1]);
75
+ s = lex(str, off = s[0]);
76
+ if (s && s[1] === " ") s = lex(str, off = s[0]);
77
+ if (!s) break;
78
+ // now we've parsed a selector, and have something else...
79
+ if (s[1] === ">") {
80
+ a.push(">");
81
+ off = s[0];
82
+ } else if (s[1] === ",") {
83
+ if (am === undefined) am = [ ",", a ];
84
+ else am.push(a);
85
+ a = [];
86
+ off = s[0];
87
+ }
88
+ }
89
+ if (am) am.push(a);
90
+ return am ? am : a;
91
+ };
92
+
93
+ var parse_selector = function(str, off) {
94
+ var soff = off;
95
+ var s = { };
96
+ var l = lex(str, off);
97
+ // skip space
98
+ if (l && l[1] === " ") { soff = off = l[0]; l = lex(str, off); }
99
+ if (l && l[1] === toks.typ) {
100
+ s.type = l[2];
101
+ l = lex(str, (off = l[0]));
102
+ } else if (l && l[1] === "*") {
103
+ // don't bother representing the universal sel, '*' in the
104
+ // parse tree, cause it's the default
105
+ l = lex(str, (off = l[0]));
106
+ }
107
+
108
+ // now support either an id or a pc
109
+ while (true) {
110
+ if (l === undefined) {
111
+ break;
112
+ } else if (l[1] === ".") {
113
+ l = lex(str, (off = l[0]));
114
+ if (!l || l[1] !== toks.str) te("sra");
115
+ if (s.id) te("nmi");
116
+ s.id = l[2];
117
+ } else if (l[1] === toks.psc) {
118
+ if (s.pc || s.pf) te("mpc");
119
+ // collapse first-child and last-child into nth-child expressions
120
+ if (l[2] === ":first-child") {
121
+ s.pf = ":nth-child";
122
+ s.a = 0;
123
+ s.b = 1;
124
+ } else if (l[2] === ":last-child") {
125
+ s.pf = ":nth-last-child";
126
+ s.a = 0;
127
+ s.b = 1;
128
+ } else {
129
+ s.pc = l[2];
130
+ }
131
+ } else if (l[1] === toks.psf) {
132
+ if (s.pc || s.pf ) te("mpc");
133
+ s.pf = l[2];
134
+ var m = exprPat.exec(str.substr(l[0]));
135
+ if (!m) te("mepf");
136
+ if (m[5]) {
137
+ s.a = 2;
138
+ s.b = (m[5] === "odd") ? 1 : 0;
139
+ } else if (m[6]) {
140
+ s.a = 0;
141
+ s.b = parseInt(m[6], 10);
142
+ } else {
143
+ s.a = parseInt((m[1] ? m[1] : "+") + (m[2] ? m[2] : "1"),10);
144
+ s.b = m[3] ? parseInt(m[3] + m[4],10) : 0;
145
+ }
146
+ l[0] += m[0].length;
147
+ } else {
148
+ break;
149
+ }
150
+ l = lex(str, (off = l[0]));
151
+ }
152
+
153
+ // now if we didn't actually parse anything it's an error
154
+ if (soff === off) te("se");
155
+
156
+ return [off, s];
157
+ };
158
+
159
+ // THE EVALUATOR
160
+
161
+ function isArray(o) {
162
+ return Array.isArray ? Array.isArray(o) :
163
+ toString.call(o) === "[object Array]";
164
+ }
165
+
166
+ function mytypeof(o) {
167
+ if (o === null) return "null";
168
+ var to = typeof o;
169
+ if (to === "object" && isArray(o)) to = "array";
170
+ return to;
171
+ }
172
+
173
+ function mn(node, sel, id, num, tot) {
174
+ var sels = [];
175
+ var cs = (sel[0] === ">") ? sel[1] : sel[0];
176
+ var m = true, mod;
177
+ if (cs.type) m = m && (cs.type === mytypeof(node));
178
+ if (cs.id) m = m && (cs.id === id);
179
+ if (m && cs.pf) {
180
+ if (cs.pf === ":nth-last-child") num = tot - num;
181
+ else num++;
182
+ if (cs.a === 0) {
183
+ m = cs.b === num;
184
+ } else {
185
+ mod = ((num - cs.b) % cs.a);
186
+
187
+ m = (!mod && ((num*cs.a + cs.b) >= 0));
188
+ }
189
+ }
190
+
191
+ // should we repeat this selector for descendants?
192
+ if (sel[0] !== ">" && sel[0].pc !== ":root") sels.push(sel);
193
+
194
+ if (m) {
195
+ // is there a fragment that we should pass down?
196
+ if (sel[0] === ">") { if (sel.length > 2) { m = false; sels.push(sel.slice(2)); } }
197
+ else if (sel.length > 1) { m = false; sels.push(sel.slice(1)); }
198
+ }
199
+
200
+ return [m, sels];
201
+ }
202
+
203
+ function forEach(sel, obj, fun, id, num, tot) {
204
+ var a = (sel[0] === ",") ? sel.slice(1) : [sel],
205
+ a0 = [],
206
+ call = false,
207
+ i = 0, j = 0, l = 0, k, x;
208
+ for (i = 0; i < a.length; i++) {
209
+ x = mn(obj, a[i], id, num, tot);
210
+ if (x[0]) {
211
+ call = true;
212
+ }
213
+ for (j = 0; j < x[1].length; j++) {
214
+ a0.push(x[1][j]);
215
+ }
216
+ }
217
+ if (a0.length && typeof obj === "object") {
218
+ if (a0.length >= 1) {
219
+ a0.unshift(",");
220
+ }
221
+ if (isArray(obj)) {
222
+ for (i = 0; i < obj.length; i++) {
223
+ forEach(a0, obj[i], fun, undefined, i, obj.length);
224
+ }
225
+ } else {
226
+ // it's a shame to do this for :last-child and other
227
+ // properties which count from the end when we don't
228
+ // even know if they're present. Also, the stream
229
+ // parser is going to be pissed.
230
+ l = 0;
231
+ for (k in obj) {
232
+ if (obj.hasOwnProperty(k)) {
233
+ l++;
234
+ }
235
+ }
236
+ i = 0;
237
+ for (k in obj) {
238
+ if (obj.hasOwnProperty(k)) {
239
+ forEach(a0, obj[k], fun, k, i++, l);
240
+ }
241
+ }
242
+ }
243
+ }
244
+ if (call && fun) {
245
+ fun(obj);
246
+ }
247
+ }
248
+
249
+ function match(sel, obj) {
250
+ var a = [];
251
+ forEach(sel, obj, function(x) {
252
+ a.push(x);
253
+ });
254
+ return a;
255
+ }
256
+
257
+ function compile(sel) {
258
+ return {
259
+ sel: parse(sel),
260
+ match: function(obj){
261
+ return match(this.sel, obj);
262
+ },
263
+ forEach: function(obj, fun) {
264
+ return forEach(this.sel, obj, fun);
265
+ }
266
+ };
267
+ }
268
+
269
+ exports._lex = lex;
270
+ exports._parse = parse;
271
+ exports.match = function (sel, obj) {
272
+ return compile(sel).match(obj);
273
+ };
274
+ exports.forEach = function(sel, obj, fun) {
275
+ return compile(sel).forEach(obj, fun);
276
+ };
277
+ exports.compile = compile;
278
+ })(typeof exports === "undefined" ? (window.JSONSelect = {}) : exports);
279
+
@@ -0,0 +1,96 @@
1
+
2
+ // Array.prototype.indexOf polyfill
3
+ if (!Array.prototype.indexOf){
4
+ Array.prototype.indexOf = function(searchElement /*, fromIndex */)
5
+ {
6
+ "use strict";
7
+
8
+ if (this === void 0 || this === null)
9
+ throw new TypeError();
10
+
11
+ var t = Object(this);
12
+ var len = t.length >>> 0;
13
+ if (len === 0)
14
+ return -1;
15
+
16
+ var n = 0;
17
+ if (arguments.length > 0)
18
+ {
19
+ n = Number(arguments[1]);
20
+ if (n !== n) // shortcut for verifying if it's NaN
21
+ n = 0;
22
+ else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0))
23
+ n = (n > 0 || -1) * Math.floor(Math.abs(n));
24
+ }
25
+
26
+ if (n >= len)
27
+ return -1;
28
+
29
+ var k = n >= 0
30
+ ? n
31
+ : Math.max(len - Math.abs(n), 0);
32
+
33
+ for (; k < len; k++)
34
+ {
35
+ if (k in t && t[k] === searchElement)
36
+ return k;
37
+ }
38
+ return -1;
39
+ };
40
+ }
41
+
42
+
43
+ // Object.keys()
44
+ if (!Object.keys) Object.keys = function(o){
45
+ if (o !== Object(o)) throw new TypeError('Object.keys called on non-object');
46
+ var ret=[], p;
47
+ for (p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
48
+ return ret;
49
+ };
50
+
51
+
52
+
53
+ if (!Array.prototype.map)
54
+ {
55
+ Array.prototype.map = function(fun /*, thisp */)
56
+ {
57
+ "use strict";
58
+
59
+ if (this === void 0 || this === null)
60
+ throw new TypeError();
61
+
62
+ var t = Object(this);
63
+ var len = t.length >>> 0;
64
+ if (typeof fun !== "function")
65
+ throw new TypeError();
66
+
67
+ var res = new Array(len);
68
+ var thisp = arguments[1];
69
+ for (var i = 0; i < len; i++)
70
+ {
71
+ if (i in t)
72
+ res[i] = fun.call(thisp, t[i], i, t);
73
+ }
74
+
75
+ return res;
76
+ };
77
+ }
78
+
79
+
80
+
81
+
82
+ /*!
83
+ http://www.JSON.org/json2.js
84
+ 2011-10-19
85
+
86
+ Public Domain.
87
+
88
+ NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
89
+
90
+ See http://www.JSON.org/js.html
91
+
92
+ This code should be minified before deployment.
93
+ See http://javascript.crockford.com/jsmin.html
94
+
95
+ */
96
+ var JSON;if(!JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());
@@ -0,0 +1,215 @@
1
+ // uaparser by lindsey simon,
2
+ // ported to node by tobie
3
+ // https://github.com/tobie/ua-parser/
4
+
5
+ // browserized by paul irish
6
+
7
+ (function(exports){
8
+
9
+ exports.uaparse = parse;
10
+
11
+ function parse(ua) {
12
+ for (var i=0; i < parsers.length; i++) {
13
+ var result = parsers[i](ua);
14
+ if (result) { return result; }
15
+ }
16
+ return new UserAgent();
17
+ }
18
+
19
+ function UserAgent(family) {
20
+ this.family = family || 'Other';
21
+ }
22
+
23
+ UserAgent.prototype.toVersionString = function() {
24
+ var output = '';
25
+ if (this.major != null) {
26
+ output += this.major;
27
+ if (this.minor != null) {
28
+ output += '.' + this.minor;
29
+ if (this.patch != null) {
30
+ output += '.' + this.patch;
31
+ }
32
+ }
33
+ }
34
+ return output;
35
+ };
36
+
37
+ UserAgent.prototype.toString = function() {
38
+ var suffix = this.toVersionString();
39
+ if (suffix) { suffix = ' ' + suffix; }
40
+ return this.family + suffix;
41
+ };
42
+
43
+
44
+ var regexes = [
45
+ {"pattern":"^(Opera)/(\\d+)\\.(\\d+) \\(Nintendo Wii",
46
+ "v1_replacement":null,
47
+ "family_replacement":"Wii"},
48
+ {"pattern":"(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?)",
49
+ "v1_replacement":null,
50
+ "family_replacement":"Firefox ($1)"},
51
+ {"pattern":"(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?",
52
+ "v1_replacement":null,
53
+ "family_replacement":"Firefox ($1)"},
54
+ {"pattern":"(SeaMonkey|Fennec|Camino)/(\\d+)\\.(\\d+)([ab]?\\d+[a-z]*)",
55
+ "v1_replacement":null,
56
+ "family_replacement":null},
57
+ {"pattern":"(Flock)/(\\d+)\\.(\\d+)(b\\d+?)",
58
+ "v1_replacement":null,
59
+ "family_replacement":null},
60
+ {"pattern":"(Fennec)/(\\d+)\\.(\\d+)(pre)",
61
+ "v1_replacement":null,
62
+ "family_replacement":null},
63
+ {"pattern":"(Navigator)/(\\d+)\\.(\\d+)\\.(\\d+)",
64
+ "v1_replacement":null,
65
+ "family_replacement":"Netscape"},
66
+ {"pattern":"(Navigator)/(\\d+)\\.(\\d+)([ab]\\d+)",
67
+ "v1_replacement":null,
68
+ "family_replacement":"Netscape"},
69
+ {"pattern":"(Netscape6)/(\\d+)\\.(\\d+)\\.(\\d+)",
70
+ "v1_replacement":null,
71
+ "family_replacement":"Netscape"},
72
+ {"pattern":"(MyIBrow)/(\\d+)\\.(\\d+)",
73
+ "v1_replacement":null,
74
+ "family_replacement":"My Internet Browser"},
75
+ {"pattern":"(Firefox).*Tablet browser (\\d+)\\.(\\d+)\\.(\\d+)",
76
+ "v1_replacement":null,
77
+ "family_replacement":"MicroB"},
78
+ {"pattern":"(Opera)/9.80.*Version\\/(\\d+)\\.(\\d+)(?:\\.(\\d+))?",
79
+ "v1_replacement":null,
80
+ "family_replacement":null},
81
+ {"pattern":"(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?) \\(Swiftfox\\)",
82
+ "v1_replacement":null,
83
+ "family_replacement":"Swiftfox"},
84
+ {"pattern":"(Firefox)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)? \\(Swiftfox\\)",
85
+ "v1_replacement":null,
86
+ "family_replacement":"Swiftfox"},
87
+ {"pattern":"(konqueror)/(\\d+)\\.(\\d+)\\.(\\d+)",
88
+ "v1_replacement":null,
89
+ "family_replacement":"Konqueror"},
90
+ {"pattern":"(Jasmine|ANTGalio|Midori|Fresco|Lobo|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Shiira|Sunrise|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Vodafone|NetFront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|Iron|Iris)/(\\d+)\\.(\\d+)\\.(\\d+)",
91
+ "v1_replacement":null,
92
+ "family_replacement":null},
93
+ {"pattern":"(Bolt|Jasmine|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|Vodafone|NetFront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|NetNewsWire|Iron|Space Bison|Stainless|Orca)/(\\d+)\\.(\\d+)",
94
+ "v1_replacement":null,
95
+ "family_replacement":null},
96
+ {"pattern":"(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)",
97
+ "v1_replacement":null,
98
+ "family_replacement":null},
99
+ {"pattern":"(iCab|Lunascape|Opera|Android) (\\d+)\\.(\\d+)",
100
+ "v1_replacement":null,
101
+ "family_replacement":null},
102
+ {"pattern":"(IEMobile) (\\d+)\\.(\\d+)",
103
+ "v1_replacement":null,
104
+ "family_replacement":"IE Mobile"},
105
+ {"pattern":"(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)",
106
+ "v1_replacement":null,
107
+ "family_replacement":null},
108
+ {"pattern":"(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*)?",
109
+ "v1_replacement":null,
110
+ "family_replacement":null},
111
+ {"pattern":"(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+))?",
112
+ "v1_replacement":null,
113
+ "family_replacement":"Obigo"},
114
+ {"pattern":"(MAXTHON|Maxthon) (\\d+)\\.(\\d+)",
115
+ "v1_replacement":null,
116
+ "family_replacement":"Maxthon"},
117
+ {"pattern":"(Maxthon|MyIE2|Uzbl|Shiira)",
118
+ "v1_replacement":"0",
119
+ "family_replacement":null},
120
+ {"pattern":"(PLAYSTATION) (\\d+)",
121
+ "v1_replacement":null,
122
+ "family_replacement":"PlayStation"},
123
+ {"pattern":"(PlayStation Portable)[^\\d]+(\\d+).(\\d+)",
124
+ "v1_replacement":null,
125
+ "family_replacement":null},
126
+ {"pattern":"(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)",
127
+ "v1_replacement":null,
128
+ "family_replacement":null},
129
+ {"pattern":"(Opera)/(\\d+)\\.(\\d+).*Opera Mobi",
130
+ "v1_replacement":null,
131
+ "family_replacement":"Opera Mobile"},
132
+ {"pattern":"(POLARIS)/(\\d+)\\.(\\d+)",
133
+ "v1_replacement":null,
134
+ "family_replacement":"Polaris"},
135
+ {"pattern":"(BonEcho)/(\\d+)\\.(\\d+)\\.(\\d+)",
136
+ "v1_replacement":null,
137
+ "family_replacement":"Bon Echo"},
138
+ {"pattern":"(iPhone) OS (\\d+)_(\\d+)(?:_(\\d+))?",
139
+ "v1_replacement":null,
140
+ "family_replacement":null},
141
+ {"pattern":"(Avant)",
142
+ "v1_replacement":"1",
143
+ "family_replacement":null},
144
+ {"pattern":"(Nokia)[EN]?(\\d+)",
145
+ "v1_replacement":null,
146
+ "family_replacement":null},
147
+ {"pattern":"(Black[bB]erry)(\\d+)",
148
+ "v1_replacement":null,
149
+ "family_replacement":"Blackberry"},
150
+ {"pattern":"(OmniWeb)/v(\\d+)\\.(\\d+)",
151
+ "v1_replacement":null,
152
+ "family_replacement":null},
153
+ {"pattern":"(Blazer)/(\\d+)\\.(\\d+)",
154
+ "v1_replacement":null,
155
+ "family_replacement":"Palm Blazer"},
156
+ {"pattern":"(Pre)/(\\d+)\\.(\\d+)",
157
+ "v1_replacement":null,
158
+ "family_replacement":"Palm Pre"},
159
+ {"pattern":"(Links) \\((\\d+)\\.(\\d+)",
160
+ "v1_replacement":null,
161
+ "family_replacement":null},
162
+ {"pattern":"(QtWeb) Internet Browser/(\\d+)\\.(\\d+)",
163
+ "v1_replacement":null,
164
+ "family_replacement":null},
165
+ {"pattern":"(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari/",
166
+ "v1_replacement":null,
167
+ "family_replacement":"Safari"},
168
+ {"pattern":"(OLPC)/Update(\\d+)\\.(\\d+)",
169
+ "v1_replacement":null,
170
+ "family_replacement":null},
171
+ {"pattern":"(OLPC)/Update()\\.(\\d+)",
172
+ "v1_replacement":"0",
173
+ "family_replacement":null},
174
+ {"pattern":"(SamsungSGHi560)",
175
+ "v1_replacement":null,
176
+ "family_replacement":"Samsung SGHi560"},
177
+ {"pattern":"^(SonyEricssonK800i)",
178
+ "v1_replacement":null,
179
+ "family_replacement":"Sony Ericsson K800i"},
180
+ {"pattern":"(Teleca Q7)",
181
+ "v1_replacement":null,
182
+ "family_replacement":null},
183
+ {"pattern":"(MSIE) (\\d+)\\.(\\d+)",
184
+ "v1_replacement":null,
185
+ "family_replacement":"IE"}
186
+
187
+ ];
188
+
189
+ var parsers = regexes.map(function(obj) {
190
+ var regexp = new RegExp(obj.pattern),
191
+ famRep = obj.family_replacement,
192
+ v1Rep = obj.v1_replacement;
193
+
194
+ function parser(ua) {
195
+ var m = ua.match(regexp);
196
+
197
+ if (!m) { return null; }
198
+
199
+ var familly = famRep ? famRep.replace('$1', m[1]) : m[1];
200
+
201
+ var obj = new UserAgent(familly);
202
+ obj.major = parseInt(v1Rep ? v1Rep : m[2]);
203
+ obj.minor = m[3] ? parseInt(m[3]) : null;
204
+ obj.patch = m[4] ? parseInt(m[4]) : null;
205
+
206
+ return obj;
207
+ }
208
+
209
+ return parser;
210
+ });
211
+
212
+
213
+ })(window);
214
+
215
+
@@ -0,0 +1,44 @@
1
+
2
+ // Avoid `console` errors in browsers that lack a console
3
+ if (!(window.console && console.log)) {
4
+ (function() {
5
+ var noop = function() {};
6
+ var methods = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'markTimeline', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn'];
7
+ var length = methods.length;
8
+ var console = window.console = {};
9
+ while (length--) {
10
+ console[methods[length]] = noop;
11
+ }
12
+ }());
13
+ }
14
+
15
+ // test helper object
16
+ window.TEST = {
17
+ // note some unique members of the Modernizr object
18
+ inputs : ['input','inputtypes', 'textarea'],
19
+ audvid : ['video','audio'],
20
+ API : ['addTest', 'mq', 'hasEvent', 'testProp', 'testAllProps', 'testStyles', '_prefixes', '_domPrefixes', '_cssomPrefixes', 'prefixed'],
21
+ extraclass: ['js'],
22
+ privates : ['_enableHTML5','_version','_fontfaceready'],
23
+ deprecated : [
24
+ { oldish : 'crosswindowmessaging', newish : 'postmessage'},
25
+ { oldish : 'historymanagement', newish : 'history'},
26
+ ],
27
+
28
+ // utility methods
29
+ inArray: function(elem, array) {
30
+ if (array.indexOf) {
31
+ return array.indexOf(elem);
32
+ }
33
+ for (var i = 0, length = array.length; i < length; i++) {
34
+ if (array[i] === elem) {
35
+ return i;
36
+ }
37
+ }
38
+ return -1;
39
+ },
40
+ trim : function(str){
41
+ return str.replace(/^\s*/, "").replace(/\s*$/, "");
42
+ }
43
+ };
44
+