blazer-rails 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. checksums.yaml +7 -0
  2. data/.bowerrc +3 -0
  3. data/.gitignore +9 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +85 -0
  8. data/Rakefile +1 -0
  9. data/assets/fonts/FontAwesome.otf +0 -0
  10. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  11. data/assets/fonts/fontawesome-webfont.woff +0 -0
  12. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  13. data/assets/javascripts/blazer.js +5 -0
  14. data/assets/stylesheets/blazer.scss.erb +12 -0
  15. data/blazer-rails.gemspec +26 -0
  16. data/bower.json +27 -0
  17. data/lib/blazer-rails.rb +2 -0
  18. data/lib/blazer-rails/engine.rb +13 -0
  19. data/lib/blazer-rails/version.rb +3 -0
  20. data/vendor/assets/components/jquery/.bower.json +25 -0
  21. data/vendor/assets/components/jquery/AUTHORS.txt +278 -0
  22. data/vendor/assets/components/jquery/LICENSE.txt +36 -0
  23. data/vendor/assets/components/jquery/README.md +65 -0
  24. data/vendor/assets/components/jquery/bower.json +14 -0
  25. data/vendor/assets/components/jquery/dist/jquery.js +9814 -0
  26. data/vendor/assets/components/jquery/dist/jquery.min.js +4 -0
  27. data/vendor/assets/components/jquery/dist/jquery.min.map +1 -0
  28. data/vendor/assets/components/jquery/external/sizzle/LICENSE.txt +36 -0
  29. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.js +2143 -0
  30. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  31. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  32. data/vendor/assets/components/jquery/src/.jshintrc +29 -0
  33. data/vendor/assets/components/jquery/src/ajax.js +845 -0
  34. data/vendor/assets/components/jquery/src/ajax/jsonp.js +100 -0
  35. data/vendor/assets/components/jquery/src/ajax/load.js +83 -0
  36. data/vendor/assets/components/jquery/src/ajax/parseJSON.js +13 -0
  37. data/vendor/assets/components/jquery/src/ajax/parseXML.js +27 -0
  38. data/vendor/assets/components/jquery/src/ajax/script.js +68 -0
  39. data/vendor/assets/components/jquery/src/ajax/var/location.js +3 -0
  40. data/vendor/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  41. data/vendor/assets/components/jquery/src/ajax/var/rquery.js +3 -0
  42. data/vendor/assets/components/jquery/src/ajax/xhr.js +167 -0
  43. data/vendor/assets/components/jquery/src/attributes.js +11 -0
  44. data/vendor/assets/components/jquery/src/attributes/attr.js +142 -0
  45. data/vendor/assets/components/jquery/src/attributes/classes.js +177 -0
  46. data/vendor/assets/components/jquery/src/attributes/prop.js +125 -0
  47. data/vendor/assets/components/jquery/src/attributes/support.js +36 -0
  48. data/vendor/assets/components/jquery/src/attributes/val.js +177 -0
  49. data/vendor/assets/components/jquery/src/callbacks.js +232 -0
  50. data/vendor/assets/components/jquery/src/core.js +494 -0
  51. data/vendor/assets/components/jquery/src/core/access.js +65 -0
  52. data/vendor/assets/components/jquery/src/core/init.js +134 -0
  53. data/vendor/assets/components/jquery/src/core/parseHTML.js +41 -0
  54. data/vendor/assets/components/jquery/src/core/ready.js +103 -0
  55. data/vendor/assets/components/jquery/src/core/var/rsingleTag.js +5 -0
  56. data/vendor/assets/components/jquery/src/css.js +502 -0
  57. data/vendor/assets/components/jquery/src/css/addGetHookIf.js +24 -0
  58. data/vendor/assets/components/jquery/src/css/adjustCSS.js +65 -0
  59. data/vendor/assets/components/jquery/src/css/curCSS.js +60 -0
  60. data/vendor/assets/components/jquery/src/css/defaultDisplay.js +72 -0
  61. data/vendor/assets/components/jquery/src/css/hiddenVisibleSelectors.js +18 -0
  62. data/vendor/assets/components/jquery/src/css/showHide.js +48 -0
  63. data/vendor/assets/components/jquery/src/css/support.js +121 -0
  64. data/vendor/assets/components/jquery/src/css/var/cssExpand.js +3 -0
  65. data/vendor/assets/components/jquery/src/css/var/getStyles.js +15 -0
  66. data/vendor/assets/components/jquery/src/css/var/isHidden.js +16 -0
  67. data/vendor/assets/components/jquery/src/css/var/rmargin.js +3 -0
  68. data/vendor/assets/components/jquery/src/css/var/rnumnonpx.js +5 -0
  69. data/vendor/assets/components/jquery/src/css/var/swap.js +24 -0
  70. data/vendor/assets/components/jquery/src/data.js +187 -0
  71. data/vendor/assets/components/jquery/src/data/Data.js +200 -0
  72. data/vendor/assets/components/jquery/src/data/var/acceptData.js +18 -0
  73. data/vendor/assets/components/jquery/src/data/var/dataPriv.js +5 -0
  74. data/vendor/assets/components/jquery/src/data/var/dataUser.js +5 -0
  75. data/vendor/assets/components/jquery/src/deferred.js +158 -0
  76. data/vendor/assets/components/jquery/src/deprecated.js +32 -0
  77. data/vendor/assets/components/jquery/src/dimensions.js +54 -0
  78. data/vendor/assets/components/jquery/src/effects.js +629 -0
  79. data/vendor/assets/components/jquery/src/effects/Tween.js +121 -0
  80. data/vendor/assets/components/jquery/src/effects/animatedSelector.js +13 -0
  81. data/vendor/assets/components/jquery/src/event.js +711 -0
  82. data/vendor/assets/components/jquery/src/event/ajax.js +20 -0
  83. data/vendor/assets/components/jquery/src/event/alias.js +27 -0
  84. data/vendor/assets/components/jquery/src/event/focusin.js +53 -0
  85. data/vendor/assets/components/jquery/src/event/support.js +9 -0
  86. data/vendor/assets/components/jquery/src/event/trigger.js +183 -0
  87. data/vendor/assets/components/jquery/src/exports/amd.js +24 -0
  88. data/vendor/assets/components/jquery/src/exports/global.js +26 -0
  89. data/vendor/assets/components/jquery/src/intro.js +44 -0
  90. data/vendor/assets/components/jquery/src/jquery.js +37 -0
  91. data/vendor/assets/components/jquery/src/manipulation.js +481 -0
  92. data/vendor/assets/components/jquery/src/manipulation/_evalUrl.js +20 -0
  93. data/vendor/assets/components/jquery/src/manipulation/buildFragment.js +102 -0
  94. data/vendor/assets/components/jquery/src/manipulation/getAll.js +21 -0
  95. data/vendor/assets/components/jquery/src/manipulation/setGlobalEval.js +20 -0
  96. data/vendor/assets/components/jquery/src/manipulation/support.js +33 -0
  97. data/vendor/assets/components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  98. data/vendor/assets/components/jquery/src/manipulation/var/rscriptType.js +3 -0
  99. data/vendor/assets/components/jquery/src/manipulation/var/rtagName.js +3 -0
  100. data/vendor/assets/components/jquery/src/manipulation/wrapMap.js +27 -0
  101. data/vendor/assets/components/jquery/src/offset.js +218 -0
  102. data/vendor/assets/components/jquery/src/outro.js +2 -0
  103. data/vendor/assets/components/jquery/src/queue.js +143 -0
  104. data/vendor/assets/components/jquery/src/queue/delay.js +22 -0
  105. data/vendor/assets/components/jquery/src/selector-native.js +211 -0
  106. data/vendor/assets/components/jquery/src/selector-sizzle.js +14 -0
  107. data/vendor/assets/components/jquery/src/selector.js +1 -0
  108. data/vendor/assets/components/jquery/src/serialize.js +125 -0
  109. data/vendor/assets/components/jquery/src/traversing.js +175 -0
  110. data/vendor/assets/components/jquery/src/traversing/findFilter.js +100 -0
  111. data/vendor/assets/components/jquery/src/traversing/var/dir.js +20 -0
  112. data/vendor/assets/components/jquery/src/traversing/var/rneedsContext.js +6 -0
  113. data/vendor/assets/components/jquery/src/traversing/var/siblings.js +15 -0
  114. data/vendor/assets/components/jquery/src/var/arr.js +3 -0
  115. data/vendor/assets/components/jquery/src/var/class2type.js +5 -0
  116. data/vendor/assets/components/jquery/src/var/concat.js +5 -0
  117. data/vendor/assets/components/jquery/src/var/document.js +3 -0
  118. data/vendor/assets/components/jquery/src/var/documentElement.js +5 -0
  119. data/vendor/assets/components/jquery/src/var/hasOwn.js +5 -0
  120. data/vendor/assets/components/jquery/src/var/indexOf.js +5 -0
  121. data/vendor/assets/components/jquery/src/var/pnum.js +3 -0
  122. data/vendor/assets/components/jquery/src/var/push.js +5 -0
  123. data/vendor/assets/components/jquery/src/var/rcssNum.js +7 -0
  124. data/vendor/assets/components/jquery/src/var/rnotwhite.js +3 -0
  125. data/vendor/assets/components/jquery/src/var/slice.js +5 -0
  126. data/vendor/assets/components/jquery/src/var/support.js +5 -0
  127. data/vendor/assets/components/jquery/src/var/toString.js +5 -0
  128. data/vendor/assets/components/jquery/src/wrap.js +79 -0
  129. data/vendor/assets/components/uikit/.bower.json +34 -0
  130. data/vendor/assets/components/uikit/README.md +13 -0
  131. data/vendor/assets/components/uikit/bower.json +25 -0
  132. data/vendor/assets/components/uikit/css/components/accordion.almost-flat.css +39 -0
  133. data/vendor/assets/components/uikit/css/components/accordion.almost-flat.min.css +2 -0
  134. data/vendor/assets/components/uikit/css/components/accordion.css +37 -0
  135. data/vendor/assets/components/uikit/css/components/accordion.gradient.css +39 -0
  136. data/vendor/assets/components/uikit/css/components/accordion.gradient.min.css +2 -0
  137. data/vendor/assets/components/uikit/css/components/accordion.min.css +2 -0
  138. data/vendor/assets/components/uikit/css/components/autocomplete.almost-flat.css +57 -0
  139. data/vendor/assets/components/uikit/css/components/autocomplete.almost-flat.min.css +2 -0
  140. data/vendor/assets/components/uikit/css/components/autocomplete.css +55 -0
  141. data/vendor/assets/components/uikit/css/components/autocomplete.gradient.css +57 -0
  142. data/vendor/assets/components/uikit/css/components/autocomplete.gradient.min.css +2 -0
  143. data/vendor/assets/components/uikit/css/components/autocomplete.min.css +2 -0
  144. data/vendor/assets/components/uikit/css/components/datepicker.almost-flat.css +129 -0
  145. data/vendor/assets/components/uikit/css/components/datepicker.almost-flat.min.css +2 -0
  146. data/vendor/assets/components/uikit/css/components/datepicker.css +123 -0
  147. data/vendor/assets/components/uikit/css/components/datepicker.gradient.css +139 -0
  148. data/vendor/assets/components/uikit/css/components/datepicker.gradient.min.css +2 -0
  149. data/vendor/assets/components/uikit/css/components/datepicker.min.css +2 -0
  150. data/vendor/assets/components/uikit/css/components/dotnav.almost-flat.css +128 -0
  151. data/vendor/assets/components/uikit/css/components/dotnav.almost-flat.min.css +2 -0
  152. data/vendor/assets/components/uikit/css/components/dotnav.css +124 -0
  153. data/vendor/assets/components/uikit/css/components/dotnav.gradient.css +128 -0
  154. data/vendor/assets/components/uikit/css/components/dotnav.gradient.min.css +2 -0
  155. data/vendor/assets/components/uikit/css/components/dotnav.min.css +2 -0
  156. data/vendor/assets/components/uikit/css/components/form-advanced.almost-flat.css +78 -0
  157. data/vendor/assets/components/uikit/css/components/form-advanced.almost-flat.min.css +2 -0
  158. data/vendor/assets/components/uikit/css/components/form-advanced.css +78 -0
  159. data/vendor/assets/components/uikit/css/components/form-advanced.gradient.css +78 -0
  160. data/vendor/assets/components/uikit/css/components/form-advanced.gradient.min.css +2 -0
  161. data/vendor/assets/components/uikit/css/components/form-advanced.min.css +2 -0
  162. data/vendor/assets/components/uikit/css/components/form-file.almost-flat.css +34 -0
  163. data/vendor/assets/components/uikit/css/components/form-file.almost-flat.min.css +2 -0
  164. data/vendor/assets/components/uikit/css/components/form-file.css +34 -0
  165. data/vendor/assets/components/uikit/css/components/form-file.gradient.css +34 -0
  166. data/vendor/assets/components/uikit/css/components/form-file.gradient.min.css +2 -0
  167. data/vendor/assets/components/uikit/css/components/form-file.min.css +2 -0
  168. data/vendor/assets/components/uikit/css/components/form-password.almost-flat.css +34 -0
  169. data/vendor/assets/components/uikit/css/components/form-password.almost-flat.min.css +2 -0
  170. data/vendor/assets/components/uikit/css/components/form-password.css +34 -0
  171. data/vendor/assets/components/uikit/css/components/form-password.gradient.css +34 -0
  172. data/vendor/assets/components/uikit/css/components/form-password.gradient.min.css +2 -0
  173. data/vendor/assets/components/uikit/css/components/form-password.min.css +2 -0
  174. data/vendor/assets/components/uikit/css/components/form-select.almost-flat.css +35 -0
  175. data/vendor/assets/components/uikit/css/components/form-select.almost-flat.min.css +2 -0
  176. data/vendor/assets/components/uikit/css/components/form-select.css +35 -0
  177. data/vendor/assets/components/uikit/css/components/form-select.gradient.css +35 -0
  178. data/vendor/assets/components/uikit/css/components/form-select.gradient.min.css +2 -0
  179. data/vendor/assets/components/uikit/css/components/form-select.min.css +2 -0
  180. data/vendor/assets/components/uikit/css/components/htmleditor.almost-flat.css +222 -0
  181. data/vendor/assets/components/uikit/css/components/htmleditor.almost-flat.min.css +2 -0
  182. data/vendor/assets/components/uikit/css/components/htmleditor.css +164 -0
  183. data/vendor/assets/components/uikit/css/components/htmleditor.gradient.css +229 -0
  184. data/vendor/assets/components/uikit/css/components/htmleditor.gradient.min.css +2 -0
  185. data/vendor/assets/components/uikit/css/components/htmleditor.min.css +2 -0
  186. data/vendor/assets/components/uikit/css/components/nestable.almost-flat.css +135 -0
  187. data/vendor/assets/components/uikit/css/components/nestable.almost-flat.min.css +2 -0
  188. data/vendor/assets/components/uikit/css/components/nestable.css +132 -0
  189. data/vendor/assets/components/uikit/css/components/nestable.gradient.css +139 -0
  190. data/vendor/assets/components/uikit/css/components/nestable.gradient.min.css +2 -0
  191. data/vendor/assets/components/uikit/css/components/nestable.min.css +2 -0
  192. data/vendor/assets/components/uikit/css/components/notify.almost-flat.css +98 -0
  193. data/vendor/assets/components/uikit/css/components/notify.almost-flat.min.css +2 -0
  194. data/vendor/assets/components/uikit/css/components/notify.css +92 -0
  195. data/vendor/assets/components/uikit/css/components/notify.gradient.css +98 -0
  196. data/vendor/assets/components/uikit/css/components/notify.gradient.min.css +2 -0
  197. data/vendor/assets/components/uikit/css/components/notify.min.css +2 -0
  198. data/vendor/assets/components/uikit/css/components/placeholder.almost-flat.css +29 -0
  199. data/vendor/assets/components/uikit/css/components/placeholder.almost-flat.min.css +2 -0
  200. data/vendor/assets/components/uikit/css/components/placeholder.css +29 -0
  201. data/vendor/assets/components/uikit/css/components/placeholder.gradient.css +29 -0
  202. data/vendor/assets/components/uikit/css/components/placeholder.gradient.min.css +2 -0
  203. data/vendor/assets/components/uikit/css/components/placeholder.min.css +2 -0
  204. data/vendor/assets/components/uikit/css/components/progress.almost-flat.css +104 -0
  205. data/vendor/assets/components/uikit/css/components/progress.almost-flat.min.css +2 -0
  206. data/vendor/assets/components/uikit/css/components/progress.css +94 -0
  207. data/vendor/assets/components/uikit/css/components/progress.gradient.css +112 -0
  208. data/vendor/assets/components/uikit/css/components/progress.gradient.min.css +2 -0
  209. data/vendor/assets/components/uikit/css/components/progress.min.css +2 -0
  210. data/vendor/assets/components/uikit/css/components/search.almost-flat.css +191 -0
  211. data/vendor/assets/components/uikit/css/components/search.almost-flat.min.css +2 -0
  212. data/vendor/assets/components/uikit/css/components/search.css +189 -0
  213. data/vendor/assets/components/uikit/css/components/search.gradient.css +191 -0
  214. data/vendor/assets/components/uikit/css/components/search.gradient.min.css +2 -0
  215. data/vendor/assets/components/uikit/css/components/search.min.css +2 -0
  216. data/vendor/assets/components/uikit/css/components/slidenav.almost-flat.css +98 -0
  217. data/vendor/assets/components/uikit/css/components/slidenav.almost-flat.min.css +2 -0
  218. data/vendor/assets/components/uikit/css/components/slidenav.css +98 -0
  219. data/vendor/assets/components/uikit/css/components/slidenav.gradient.css +98 -0
  220. data/vendor/assets/components/uikit/css/components/slidenav.gradient.min.css +2 -0
  221. data/vendor/assets/components/uikit/css/components/slidenav.min.css +2 -0
  222. data/vendor/assets/components/uikit/css/components/slider.almost-flat.css +85 -0
  223. data/vendor/assets/components/uikit/css/components/slider.almost-flat.min.css +2 -0
  224. data/vendor/assets/components/uikit/css/components/slider.css +85 -0
  225. data/vendor/assets/components/uikit/css/components/slider.gradient.css +85 -0
  226. data/vendor/assets/components/uikit/css/components/slider.gradient.min.css +2 -0
  227. data/vendor/assets/components/uikit/css/components/slider.min.css +2 -0
  228. data/vendor/assets/components/uikit/css/components/slideshow.almost-flat.css +144 -0
  229. data/vendor/assets/components/uikit/css/components/slideshow.almost-flat.min.css +2 -0
  230. data/vendor/assets/components/uikit/css/components/slideshow.css +144 -0
  231. data/vendor/assets/components/uikit/css/components/slideshow.gradient.css +144 -0
  232. data/vendor/assets/components/uikit/css/components/slideshow.gradient.min.css +2 -0
  233. data/vendor/assets/components/uikit/css/components/slideshow.min.css +2 -0
  234. data/vendor/assets/components/uikit/css/components/sortable.almost-flat.css +62 -0
  235. data/vendor/assets/components/uikit/css/components/sortable.almost-flat.min.css +2 -0
  236. data/vendor/assets/components/uikit/css/components/sortable.css +62 -0
  237. data/vendor/assets/components/uikit/css/components/sortable.gradient.css +62 -0
  238. data/vendor/assets/components/uikit/css/components/sortable.gradient.min.css +2 -0
  239. data/vendor/assets/components/uikit/css/components/sortable.min.css +2 -0
  240. data/vendor/assets/components/uikit/css/components/sticky.almost-flat.css +23 -0
  241. data/vendor/assets/components/uikit/css/components/sticky.almost-flat.min.css +2 -0
  242. data/vendor/assets/components/uikit/css/components/sticky.css +23 -0
  243. data/vendor/assets/components/uikit/css/components/sticky.gradient.css +23 -0
  244. data/vendor/assets/components/uikit/css/components/sticky.gradient.min.css +2 -0
  245. data/vendor/assets/components/uikit/css/components/sticky.min.css +2 -0
  246. data/vendor/assets/components/uikit/css/components/tooltip.almost-flat.css +118 -0
  247. data/vendor/assets/components/uikit/css/components/tooltip.almost-flat.min.css +2 -0
  248. data/vendor/assets/components/uikit/css/components/tooltip.css +116 -0
  249. data/vendor/assets/components/uikit/css/components/tooltip.gradient.css +118 -0
  250. data/vendor/assets/components/uikit/css/components/tooltip.gradient.min.css +2 -0
  251. data/vendor/assets/components/uikit/css/components/tooltip.min.css +2 -0
  252. data/vendor/assets/components/uikit/css/components/upload.almost-flat.css +10 -0
  253. data/vendor/assets/components/uikit/css/components/upload.almost-flat.min.css +2 -0
  254. data/vendor/assets/components/uikit/css/components/upload.css +10 -0
  255. data/vendor/assets/components/uikit/css/components/upload.gradient.css +10 -0
  256. data/vendor/assets/components/uikit/css/components/upload.gradient.min.css +2 -0
  257. data/vendor/assets/components/uikit/css/components/upload.min.css +2 -0
  258. data/vendor/assets/components/uikit/css/uikit.almost-flat.css +9043 -0
  259. data/vendor/assets/components/uikit/css/uikit.almost-flat.min.css +2 -0
  260. data/vendor/assets/components/uikit/css/uikit.css +8743 -0
  261. data/vendor/assets/components/uikit/css/uikit.gradient.css +9106 -0
  262. data/vendor/assets/components/uikit/css/uikit.gradient.min.css +2 -0
  263. data/vendor/assets/components/uikit/css/uikit.min.css +2 -0
  264. data/vendor/assets/components/uikit/fonts/FontAwesome.otf +0 -0
  265. data/vendor/assets/components/uikit/fonts/fontawesome-webfont.ttf +0 -0
  266. data/vendor/assets/components/uikit/fonts/fontawesome-webfont.woff +0 -0
  267. data/vendor/assets/components/uikit/fonts/fontawesome-webfont.woff2 +0 -0
  268. data/vendor/assets/components/uikit/js/components/accordion.js +174 -0
  269. data/vendor/assets/components/uikit/js/components/accordion.min.js +2 -0
  270. data/vendor/assets/components/uikit/js/components/autocomplete.js +334 -0
  271. data/vendor/assets/components/uikit/js/components/autocomplete.min.js +2 -0
  272. data/vendor/assets/components/uikit/js/components/datepicker.js +3166 -0
  273. data/vendor/assets/components/uikit/js/components/datepicker.min.js +3 -0
  274. data/vendor/assets/components/uikit/js/components/form-password.js +67 -0
  275. data/vendor/assets/components/uikit/js/components/form-password.min.js +2 -0
  276. data/vendor/assets/components/uikit/js/components/form-select.js +77 -0
  277. data/vendor/assets/components/uikit/js/components/form-select.min.js +2 -0
  278. data/vendor/assets/components/uikit/js/components/grid-parallax.js +168 -0
  279. data/vendor/assets/components/uikit/js/components/grid-parallax.min.js +2 -0
  280. data/vendor/assets/components/uikit/js/components/grid.js +527 -0
  281. data/vendor/assets/components/uikit/js/components/grid.min.js +2 -0
  282. data/vendor/assets/components/uikit/js/components/htmleditor.js +635 -0
  283. data/vendor/assets/components/uikit/js/components/htmleditor.min.js +2 -0
  284. data/vendor/assets/components/uikit/js/components/lightbox.js +590 -0
  285. data/vendor/assets/components/uikit/js/components/lightbox.min.js +2 -0
  286. data/vendor/assets/components/uikit/js/components/nestable.js +653 -0
  287. data/vendor/assets/components/uikit/js/components/nestable.min.js +2 -0
  288. data/vendor/assets/components/uikit/js/components/notify.js +189 -0
  289. data/vendor/assets/components/uikit/js/components/notify.min.js +2 -0
  290. data/vendor/assets/components/uikit/js/components/pagination.js +147 -0
  291. data/vendor/assets/components/uikit/js/components/pagination.min.js +2 -0
  292. data/vendor/assets/components/uikit/js/components/parallax.js +462 -0
  293. data/vendor/assets/components/uikit/js/components/parallax.min.js +2 -0
  294. data/vendor/assets/components/uikit/js/components/search.js +92 -0
  295. data/vendor/assets/components/uikit/js/components/search.min.js +2 -0
  296. data/vendor/assets/components/uikit/js/components/slider.js +540 -0
  297. data/vendor/assets/components/uikit/js/components/slider.min.js +2 -0
  298. data/vendor/assets/components/uikit/js/components/slideset.js +514 -0
  299. data/vendor/assets/components/uikit/js/components/slideset.min.js +2 -0
  300. data/vendor/assets/components/uikit/js/components/slideshow-fx.js +375 -0
  301. data/vendor/assets/components/uikit/js/components/slideshow-fx.min.js +2 -0
  302. data/vendor/assets/components/uikit/js/components/slideshow.js +562 -0
  303. data/vendor/assets/components/uikit/js/components/slideshow.min.js +2 -0
  304. data/vendor/assets/components/uikit/js/components/sortable.js +679 -0
  305. data/vendor/assets/components/uikit/js/components/sortable.min.js +2 -0
  306. data/vendor/assets/components/uikit/js/components/sticky.js +358 -0
  307. data/vendor/assets/components/uikit/js/components/sticky.min.js +2 -0
  308. data/vendor/assets/components/uikit/js/components/timepicker.js +192 -0
  309. data/vendor/assets/components/uikit/js/components/timepicker.min.js +2 -0
  310. data/vendor/assets/components/uikit/js/components/tooltip.js +234 -0
  311. data/vendor/assets/components/uikit/js/components/tooltip.min.js +2 -0
  312. data/vendor/assets/components/uikit/js/components/upload.js +260 -0
  313. data/vendor/assets/components/uikit/js/components/upload.min.js +2 -0
  314. data/vendor/assets/components/uikit/js/core/alert.js +66 -0
  315. data/vendor/assets/components/uikit/js/core/alert.min.js +2 -0
  316. data/vendor/assets/components/uikit/js/core/button.js +157 -0
  317. data/vendor/assets/components/uikit/js/core/button.min.js +2 -0
  318. data/vendor/assets/components/uikit/js/core/core.js +785 -0
  319. data/vendor/assets/components/uikit/js/core/core.min.js +2 -0
  320. data/vendor/assets/components/uikit/js/core/cover.js +95 -0
  321. data/vendor/assets/components/uikit/js/core/cover.min.js +2 -0
  322. data/vendor/assets/components/uikit/js/core/dropdown.js +525 -0
  323. data/vendor/assets/components/uikit/js/core/dropdown.min.js +2 -0
  324. data/vendor/assets/components/uikit/js/core/grid.js +117 -0
  325. data/vendor/assets/components/uikit/js/core/grid.min.js +2 -0
  326. data/vendor/assets/components/uikit/js/core/modal.js +393 -0
  327. data/vendor/assets/components/uikit/js/core/modal.min.js +2 -0
  328. data/vendor/assets/components/uikit/js/core/nav.js +136 -0
  329. data/vendor/assets/components/uikit/js/core/nav.min.js +2 -0
  330. data/vendor/assets/components/uikit/js/core/offcanvas.js +180 -0
  331. data/vendor/assets/components/uikit/js/core/offcanvas.min.js +2 -0
  332. data/vendor/assets/components/uikit/js/core/scrollspy.js +209 -0
  333. data/vendor/assets/components/uikit/js/core/scrollspy.min.js +2 -0
  334. data/vendor/assets/components/uikit/js/core/smooth-scroll.js +62 -0
  335. data/vendor/assets/components/uikit/js/core/smooth-scroll.min.js +2 -0
  336. data/vendor/assets/components/uikit/js/core/switcher.js +305 -0
  337. data/vendor/assets/components/uikit/js/core/switcher.min.js +2 -0
  338. data/vendor/assets/components/uikit/js/core/tab.js +167 -0
  339. data/vendor/assets/components/uikit/js/core/tab.min.js +2 -0
  340. data/vendor/assets/components/uikit/js/core/toggle.js +120 -0
  341. data/vendor/assets/components/uikit/js/core/toggle.min.js +2 -0
  342. data/vendor/assets/components/uikit/js/core/touch.js +175 -0
  343. data/vendor/assets/components/uikit/js/core/touch.min.js +2 -0
  344. data/vendor/assets/components/uikit/js/core/utility.js +319 -0
  345. data/vendor/assets/components/uikit/js/core/utility.min.js +2 -0
  346. data/vendor/assets/components/uikit/js/uikit.js +3811 -0
  347. data/vendor/assets/components/uikit/js/uikit.min.js +3 -0
  348. data/vendor/assets/components/uikit/less/components/accordion.less +94 -0
  349. data/vendor/assets/components/uikit/less/components/autocomplete.less +107 -0
  350. data/vendor/assets/components/uikit/less/components/datepicker.less +197 -0
  351. data/vendor/assets/components/uikit/less/components/dotnav.less +212 -0
  352. data/vendor/assets/components/uikit/less/components/form-advanced.less +128 -0
  353. data/vendor/assets/components/uikit/less/components/form-file.less +63 -0
  354. data/vendor/assets/components/uikit/less/components/form-password.less +74 -0
  355. data/vendor/assets/components/uikit/less/components/form-select.less +66 -0
  356. data/vendor/assets/components/uikit/less/components/htmleditor.less +269 -0
  357. data/vendor/assets/components/uikit/less/components/nestable.less +229 -0
  358. data/vendor/assets/components/uikit/less/components/notify.less +190 -0
  359. data/vendor/assets/components/uikit/less/components/placeholder.less +66 -0
  360. data/vendor/assets/components/uikit/less/components/progress.less +173 -0
  361. data/vendor/assets/components/uikit/less/components/search.less +309 -0
  362. data/vendor/assets/components/uikit/less/components/slidenav.less +183 -0
  363. data/vendor/assets/components/uikit/less/components/slider.less +131 -0
  364. data/vendor/assets/components/uikit/less/components/slideshow.less +208 -0
  365. data/vendor/assets/components/uikit/less/components/sortable.less +122 -0
  366. data/vendor/assets/components/uikit/less/components/sticky.less +54 -0
  367. data/vendor/assets/components/uikit/less/components/tooltip.less +177 -0
  368. data/vendor/assets/components/uikit/less/components/upload.less +34 -0
  369. data/vendor/assets/components/uikit/less/core/alert.less +141 -0
  370. data/vendor/assets/components/uikit/less/core/animation.less +599 -0
  371. data/vendor/assets/components/uikit/less/core/article.less +139 -0
  372. data/vendor/assets/components/uikit/less/core/badge.less +110 -0
  373. data/vendor/assets/components/uikit/less/core/base.less +563 -0
  374. data/vendor/assets/components/uikit/less/core/block.less +155 -0
  375. data/vendor/assets/components/uikit/less/core/breadcrumb.less +86 -0
  376. data/vendor/assets/components/uikit/less/core/button.less +406 -0
  377. data/vendor/assets/components/uikit/less/core/close.less +132 -0
  378. data/vendor/assets/components/uikit/less/core/column.less +209 -0
  379. data/vendor/assets/components/uikit/less/core/comment.less +172 -0
  380. data/vendor/assets/components/uikit/less/core/contrast.less +493 -0
  381. data/vendor/assets/components/uikit/less/core/cover.less +70 -0
  382. data/vendor/assets/components/uikit/less/core/description-list.less +71 -0
  383. data/vendor/assets/components/uikit/less/core/dropdown.less +280 -0
  384. data/vendor/assets/components/uikit/less/core/flex.less +320 -0
  385. data/vendor/assets/components/uikit/less/core/form.less +629 -0
  386. data/vendor/assets/components/uikit/less/core/grid.less +731 -0
  387. data/vendor/assets/components/uikit/less/core/icon.less +925 -0
  388. data/vendor/assets/components/uikit/less/core/list.less +102 -0
  389. data/vendor/assets/components/uikit/less/core/modal.less +343 -0
  390. data/vendor/assets/components/uikit/less/core/nav.less +468 -0
  391. data/vendor/assets/components/uikit/less/core/navbar.less +325 -0
  392. data/vendor/assets/components/uikit/less/core/offcanvas.less +168 -0
  393. data/vendor/assets/components/uikit/less/core/overlay.less +534 -0
  394. data/vendor/assets/components/uikit/less/core/pagination.less +197 -0
  395. data/vendor/assets/components/uikit/less/core/panel.less +332 -0
  396. data/vendor/assets/components/uikit/less/core/print.less +61 -0
  397. data/vendor/assets/components/uikit/less/core/subnav.less +213 -0
  398. data/vendor/assets/components/uikit/less/core/switcher.less +38 -0
  399. data/vendor/assets/components/uikit/less/core/tab.less +368 -0
  400. data/vendor/assets/components/uikit/less/core/table.less +147 -0
  401. data/vendor/assets/components/uikit/less/core/text.less +128 -0
  402. data/vendor/assets/components/uikit/less/core/thumbnail.less +122 -0
  403. data/vendor/assets/components/uikit/less/core/thumbnav.less +122 -0
  404. data/vendor/assets/components/uikit/less/core/utility.less +610 -0
  405. data/vendor/assets/components/uikit/less/core/variables.less +23 -0
  406. data/vendor/assets/components/uikit/less/uikit-variables.less +819 -0
  407. data/vendor/assets/components/uikit/less/uikit.less +52 -0
  408. data/vendor/assets/components/uikit/scss/components/accordion.scss +94 -0
  409. data/vendor/assets/components/uikit/scss/components/autocomplete.scss +107 -0
  410. data/vendor/assets/components/uikit/scss/components/datepicker.scss +197 -0
  411. data/vendor/assets/components/uikit/scss/components/dotnav.scss +212 -0
  412. data/vendor/assets/components/uikit/scss/components/form-advanced.scss +128 -0
  413. data/vendor/assets/components/uikit/scss/components/form-file.scss +63 -0
  414. data/vendor/assets/components/uikit/scss/components/form-password.scss +74 -0
  415. data/vendor/assets/components/uikit/scss/components/form-select.scss +66 -0
  416. data/vendor/assets/components/uikit/scss/components/htmleditor.scss +269 -0
  417. data/vendor/assets/components/uikit/scss/components/nestable.scss +229 -0
  418. data/vendor/assets/components/uikit/scss/components/notify.scss +190 -0
  419. data/vendor/assets/components/uikit/scss/components/placeholder.scss +66 -0
  420. data/vendor/assets/components/uikit/scss/components/progress.scss +173 -0
  421. data/vendor/assets/components/uikit/scss/components/search.scss +309 -0
  422. data/vendor/assets/components/uikit/scss/components/slidenav.scss +183 -0
  423. data/vendor/assets/components/uikit/scss/components/slider.scss +131 -0
  424. data/vendor/assets/components/uikit/scss/components/slideshow.scss +208 -0
  425. data/vendor/assets/components/uikit/scss/components/sortable.scss +122 -0
  426. data/vendor/assets/components/uikit/scss/components/sticky.scss +54 -0
  427. data/vendor/assets/components/uikit/scss/components/tooltip.scss +177 -0
  428. data/vendor/assets/components/uikit/scss/components/upload.scss +34 -0
  429. data/vendor/assets/components/uikit/scss/core/alert.scss +141 -0
  430. data/vendor/assets/components/uikit/scss/core/animation.scss +599 -0
  431. data/vendor/assets/components/uikit/scss/core/article.scss +139 -0
  432. data/vendor/assets/components/uikit/scss/core/badge.scss +110 -0
  433. data/vendor/assets/components/uikit/scss/core/base.scss +563 -0
  434. data/vendor/assets/components/uikit/scss/core/block.scss +155 -0
  435. data/vendor/assets/components/uikit/scss/core/breadcrumb.scss +86 -0
  436. data/vendor/assets/components/uikit/scss/core/button.scss +406 -0
  437. data/vendor/assets/components/uikit/scss/core/close.scss +132 -0
  438. data/vendor/assets/components/uikit/scss/core/column.scss +209 -0
  439. data/vendor/assets/components/uikit/scss/core/comment.scss +172 -0
  440. data/vendor/assets/components/uikit/scss/core/contrast.scss +493 -0
  441. data/vendor/assets/components/uikit/scss/core/cover.scss +70 -0
  442. data/vendor/assets/components/uikit/scss/core/description-list.scss +71 -0
  443. data/vendor/assets/components/uikit/scss/core/dropdown.scss +280 -0
  444. data/vendor/assets/components/uikit/scss/core/flex.scss +320 -0
  445. data/vendor/assets/components/uikit/scss/core/form.scss +629 -0
  446. data/vendor/assets/components/uikit/scss/core/grid.scss +731 -0
  447. data/vendor/assets/components/uikit/scss/core/icon.scss +925 -0
  448. data/vendor/assets/components/uikit/scss/core/list.scss +102 -0
  449. data/vendor/assets/components/uikit/scss/core/modal.scss +343 -0
  450. data/vendor/assets/components/uikit/scss/core/nav.scss +468 -0
  451. data/vendor/assets/components/uikit/scss/core/navbar.scss +325 -0
  452. data/vendor/assets/components/uikit/scss/core/offcanvas.scss +168 -0
  453. data/vendor/assets/components/uikit/scss/core/overlay.scss +534 -0
  454. data/vendor/assets/components/uikit/scss/core/pagination.scss +197 -0
  455. data/vendor/assets/components/uikit/scss/core/panel.scss +332 -0
  456. data/vendor/assets/components/uikit/scss/core/print.scss +61 -0
  457. data/vendor/assets/components/uikit/scss/core/subnav.scss +213 -0
  458. data/vendor/assets/components/uikit/scss/core/switcher.scss +38 -0
  459. data/vendor/assets/components/uikit/scss/core/tab.scss +368 -0
  460. data/vendor/assets/components/uikit/scss/core/table.scss +147 -0
  461. data/vendor/assets/components/uikit/scss/core/text.scss +128 -0
  462. data/vendor/assets/components/uikit/scss/core/thumbnail.scss +122 -0
  463. data/vendor/assets/components/uikit/scss/core/thumbnav.scss +122 -0
  464. data/vendor/assets/components/uikit/scss/core/utility.scss +610 -0
  465. data/vendor/assets/components/uikit/scss/core/variables.scss +23 -0
  466. data/vendor/assets/components/uikit/scss/uikit-mixins.scss +327 -0
  467. data/vendor/assets/components/uikit/scss/uikit-variables.scss +819 -0
  468. data/vendor/assets/components/uikit/scss/uikit.scss +52 -0
  469. metadata +567 -0
@@ -0,0 +1,2 @@
1
+ /*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
2
+ !function(e){var t;window.UIkit&&(t=e(UIkit)),"function"==typeof define&&define.amd&&define("uikit-upload",["uikit"],function(){return t||e(UIkit)})}(function(e){"use strict";function t(o,a){function r(t,n){var o=new FormData,a=new XMLHttpRequest;if(n.before(n,t)!==!1){for(var r,i=0;r=t[i];i++)o.append(n.param,r);for(var l in n.params)o.append(l,n.params[l]);a.upload.addEventListener("progress",function(e){var t=e.loaded/e.total*100;n.progress(t,e)},!1),a.addEventListener("loadstart",function(e){n.loadstart(e)},!1),a.addEventListener("load",function(e){n.load(e)},!1),a.addEventListener("loadend",function(e){n.loadend(e)},!1),a.addEventListener("error",function(e){n.error(e)},!1),a.addEventListener("abort",function(e){n.abort(e)},!1),a.open(n.method,n.action,!0),"json"==n.type&&a.setRequestHeader("Accept","application/json"),a.onreadystatechange=function(){if(n.readystatechange(a),4==a.readyState){var t=a.responseText;if("json"==n.type)try{t=e.$.parseJSON(t)}catch(o){t=!1}n.complete(t,a)}},n.beforeSend(a),a.send(o)}}if(!e.support.ajaxupload)return this;if(a=e.$.extend({},t.defaults,a),o.length){if("*.*"!==a.allow)for(var i,l=0;i=o[l];l++)if(!n(a.allow,i.name))return"string"==typeof a.notallowed?alert(a.notallowed):a.notallowed(i,a),void 0;var s=a.complete;if(a.single){var d=o.length,f=0,p=!0;a.beforeAll(o),a.complete=function(e,t){f+=1,s(e,t),a.filelimit&&f>=a.filelimit&&(p=!1),p&&d>f?r([o[f]],a):a.allcomplete(e,t)},r([o[0]],a)}else a.complete=function(e,t){s(e,t),a.allcomplete(e,t)},r(o,a)}}function n(e,t){var n="^"+e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$";return n="^"+n+"$",null!==t.match(new RegExp(n,"i"))}return e.component("uploadSelect",{init:function(){var e=this;this.on("change",function(){t(e.element[0].files,e.options);var n=e.element.clone(!0).data("uploadSelect",e);e.element.replaceWith(n),e.element=n})}}),e.component("uploadDrop",{defaults:{dragoverClass:"uk-dragover"},init:function(){var e=this,n=!1;this.on("drop",function(n){n.dataTransfer&&n.dataTransfer.files&&(n.stopPropagation(),n.preventDefault(),e.element.removeClass(e.options.dragoverClass),e.element.trigger("dropped.uk.upload",[n.dataTransfer.files]),t(n.dataTransfer.files,e.options))}).on("dragenter",function(e){e.stopPropagation(),e.preventDefault()}).on("dragover",function(t){t.stopPropagation(),t.preventDefault(),n||(e.element.addClass(e.options.dragoverClass),n=!0)}).on("dragleave",function(t){t.stopPropagation(),t.preventDefault(),e.element.removeClass(e.options.dragoverClass),n=!1})}}),e.support.ajaxupload=function(){function e(){var e=document.createElement("INPUT");return e.type="file","files"in e}function t(){var e=new XMLHttpRequest;return!!(e&&"upload"in e&&"onprogress"in e.upload)}function n(){return!!window.FormData}return e()&&t()&&n()}(),e.support.ajaxupload&&e.$.event.props.push("dataTransfer"),t.defaults={action:"",single:!0,method:"POST",param:"files[]",params:{},allow:"*.*",type:"text",filelimit:!1,before:function(){},beforeSend:function(){},beforeAll:function(){},loadstart:function(){},load:function(){},loadend:function(){},error:function(){},abort:function(){},progress:function(){},complete:function(){},allcomplete:function(){},readystatechange:function(){},notallowed:function(e,t){alert("Only the following file types are allowed: "+t.allow)}},e.Utils.xhrupload=t,t});
@@ -0,0 +1,66 @@
1
+ /*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
2
+ (function(UI) {
3
+
4
+ "use strict";
5
+
6
+ UI.component('alert', {
7
+
8
+ defaults: {
9
+ "fade": true,
10
+ "duration": 200,
11
+ "trigger": ".uk-alert-close"
12
+ },
13
+
14
+ boot: function() {
15
+
16
+ // init code
17
+ UI.$html.on("click.alert.uikit", "[data-uk-alert]", function(e) {
18
+
19
+ var ele = UI.$(this);
20
+
21
+ if (!ele.data("alert")) {
22
+
23
+ var alert = UI.alert(ele, UI.Utils.options(ele.attr("data-uk-alert")));
24
+
25
+ if (UI.$(e.target).is(alert.options.trigger)) {
26
+ e.preventDefault();
27
+ alert.close();
28
+ }
29
+ }
30
+ });
31
+ },
32
+
33
+ init: function() {
34
+
35
+ var $this = this;
36
+
37
+ this.on("click", this.options.trigger, function(e) {
38
+ e.preventDefault();
39
+ $this.close();
40
+ });
41
+ },
42
+
43
+ close: function() {
44
+
45
+ var element = this.trigger("close.uk.alert"),
46
+ removeElement = function () {
47
+ this.trigger("closed.uk.alert").remove();
48
+ }.bind(this);
49
+
50
+ if (this.options.fade) {
51
+ element.css("overflow", "hidden").css("max-height", element.height()).animate({
52
+ "height" : 0,
53
+ "opacity" : 0,
54
+ "padding-top" : 0,
55
+ "padding-bottom" : 0,
56
+ "margin-top" : 0,
57
+ "margin-bottom" : 0
58
+ }, this.options.duration, removeElement);
59
+ } else {
60
+ removeElement();
61
+ }
62
+ }
63
+
64
+ });
65
+
66
+ })(UIkit);
@@ -0,0 +1,2 @@
1
+ /*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
2
+ !function(t){"use strict";t.component("alert",{defaults:{fade:!0,duration:200,trigger:".uk-alert-close"},boot:function(){t.$html.on("click.alert.uikit","[data-uk-alert]",function(i){var o=t.$(this);if(!o.data("alert")){var e=t.alert(o,t.Utils.options(o.attr("data-uk-alert")));t.$(i.target).is(e.options.trigger)&&(i.preventDefault(),e.close())}})},init:function(){var t=this;this.on("click",this.options.trigger,function(i){i.preventDefault(),t.close()})},close:function(){var t=this.trigger("close.uk.alert"),i=function(){this.trigger("closed.uk.alert").remove()}.bind(this);this.options.fade?t.css("overflow","hidden").css("max-height",t.height()).animate({height:0,opacity:0,"padding-top":0,"padding-bottom":0,"margin-top":0,"margin-bottom":0},this.options.duration,i):i()}})}(UIkit);
@@ -0,0 +1,157 @@
1
+ /*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
2
+ (function(UI) {
3
+
4
+ "use strict";
5
+
6
+ UI.component('buttonRadio', {
7
+
8
+ defaults: {
9
+ "activeClass": 'uk-active',
10
+ "target": ".uk-button"
11
+ },
12
+
13
+ boot: function() {
14
+
15
+ // init code
16
+ UI.$html.on("click.buttonradio.uikit", "[data-uk-button-radio]", function(e) {
17
+
18
+ var ele = UI.$(this);
19
+
20
+ if (!ele.data("buttonRadio")) {
21
+
22
+ var obj = UI.buttonRadio(ele, UI.Utils.options(ele.attr("data-uk-button-radio"))),
23
+ target = UI.$(e.target);
24
+
25
+ if (target.is(obj.options.target)) {
26
+ target.trigger("click");
27
+ }
28
+ }
29
+ });
30
+ },
31
+
32
+ init: function() {
33
+
34
+ var $this = this;
35
+
36
+ // Init ARIA
37
+ this.find($this.options.target).attr('aria-checked', 'false').filter('.' + $this.options.activeClass).attr('aria-checked', 'true');
38
+
39
+ this.on("click", this.options.target, function(e) {
40
+
41
+ var ele = UI.$(this);
42
+
43
+ if (ele.is('a[href="#"]')) e.preventDefault();
44
+
45
+ $this.find($this.options.target).not(ele).removeClass($this.options.activeClass).blur();
46
+ ele.addClass($this.options.activeClass);
47
+
48
+ // Update ARIA
49
+ $this.find($this.options.target).not(ele).attr('aria-checked', 'false');
50
+ ele.attr('aria-checked', 'true');
51
+
52
+ $this.trigger("change.uk.button", [ele]);
53
+ });
54
+
55
+ },
56
+
57
+ getSelected: function() {
58
+ return this.find('.' + this.options.activeClass);
59
+ }
60
+ });
61
+
62
+ UI.component('buttonCheckbox', {
63
+
64
+ defaults: {
65
+ "activeClass": 'uk-active',
66
+ "target": ".uk-button"
67
+ },
68
+
69
+ boot: function() {
70
+
71
+ UI.$html.on("click.buttoncheckbox.uikit", "[data-uk-button-checkbox]", function(e) {
72
+ var ele = UI.$(this);
73
+
74
+ if (!ele.data("buttonCheckbox")) {
75
+
76
+ var obj = UI.buttonCheckbox(ele, UI.Utils.options(ele.attr("data-uk-button-checkbox"))),
77
+ target = UI.$(e.target);
78
+
79
+ if (target.is(obj.options.target)) {
80
+ target.trigger("click");
81
+ }
82
+ }
83
+ });
84
+ },
85
+
86
+ init: function() {
87
+
88
+ var $this = this;
89
+
90
+ // Init ARIA
91
+ this.find($this.options.target).attr('aria-checked', 'false').filter('.' + $this.options.activeClass).attr('aria-checked', 'true');
92
+
93
+ this.on("click", this.options.target, function(e) {
94
+ var ele = UI.$(this);
95
+
96
+ if (ele.is('a[href="#"]')) e.preventDefault();
97
+
98
+ ele.toggleClass($this.options.activeClass).blur();
99
+
100
+ // Update ARIA
101
+ ele.attr('aria-checked', ele.hasClass($this.options.activeClass));
102
+
103
+ $this.trigger("change.uk.button", [ele]);
104
+ });
105
+
106
+ },
107
+
108
+ getSelected: function() {
109
+ return this.find('.' + this.options.activeClass);
110
+ }
111
+ });
112
+
113
+
114
+ UI.component('button', {
115
+
116
+ defaults: {},
117
+
118
+ boot: function() {
119
+
120
+ UI.$html.on("click.button.uikit", "[data-uk-button]", function(e) {
121
+ var ele = UI.$(this);
122
+
123
+ if (!ele.data("button")) {
124
+
125
+ var obj = UI.button(ele, UI.Utils.options(ele.attr("data-uk-button")));
126
+ ele.trigger("click");
127
+ }
128
+ });
129
+ },
130
+
131
+ init: function() {
132
+
133
+ var $this = this;
134
+
135
+ // Init ARIA
136
+ this.element.attr('aria-pressed', this.element.hasClass("uk-active"));
137
+
138
+ this.on("click", function(e) {
139
+
140
+ if ($this.element.is('a[href="#"]')) e.preventDefault();
141
+
142
+ $this.toggle();
143
+ $this.trigger("change.uk.button", [$this.element.blur().hasClass("uk-active")]);
144
+ });
145
+
146
+ },
147
+
148
+ toggle: function() {
149
+ this.element.toggleClass("uk-active");
150
+
151
+ // Update ARIA
152
+ this.element.attr('aria-pressed', this.element.hasClass("uk-active"));
153
+ }
154
+ });
155
+
156
+ })(UIkit);
157
+
@@ -0,0 +1,2 @@
1
+ /*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
2
+ !function(t){"use strict";t.component("buttonRadio",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){t.$html.on("click.buttonradio.uikit","[data-uk-button-radio]",function(i){var a=t.$(this);if(!a.data("buttonRadio")){var e=t.buttonRadio(a,t.Utils.options(a.attr("data-uk-button-radio"))),o=t.$(i.target);o.is(e.options.target)&&o.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter("."+i.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(a){var e=t.$(this);e.is('a[href="#"]')&&a.preventDefault(),i.find(i.options.target).not(e).removeClass(i.options.activeClass).blur(),e.addClass(i.options.activeClass),i.find(i.options.target).not(e).attr("aria-checked","false"),e.attr("aria-checked","true"),i.trigger("change.uk.button",[e])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),t.component("buttonCheckbox",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){t.$html.on("click.buttoncheckbox.uikit","[data-uk-button-checkbox]",function(i){var a=t.$(this);if(!a.data("buttonCheckbox")){var e=t.buttonCheckbox(a,t.Utils.options(a.attr("data-uk-button-checkbox"))),o=t.$(i.target);o.is(e.options.target)&&o.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter("."+i.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(a){var e=t.$(this);e.is('a[href="#"]')&&a.preventDefault(),e.toggleClass(i.options.activeClass).blur(),e.attr("aria-checked",e.hasClass(i.options.activeClass)),i.trigger("change.uk.button",[e])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),t.component("button",{defaults:{},boot:function(){t.$html.on("click.button.uikit","[data-uk-button]",function(){var i=t.$(this);if(!i.data("button")){{t.button(i,t.Utils.options(i.attr("data-uk-button")))}i.trigger("click")}})},init:function(){var t=this;this.element.attr("aria-pressed",this.element.hasClass("uk-active")),this.on("click",function(i){t.element.is('a[href="#"]')&&i.preventDefault(),t.toggle(),t.trigger("change.uk.button",[t.element.blur().hasClass("uk-active")])})},toggle:function(){this.element.toggleClass("uk-active"),this.element.attr("aria-pressed",this.element.hasClass("uk-active"))}})}(UIkit);
@@ -0,0 +1,785 @@
1
+ /*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
2
+ (function(core) {
3
+
4
+ if (typeof define == "function" && define.amd) { // AMD
5
+
6
+ define("uikit", function(){
7
+
8
+ var uikit = window.UIkit || core(window, window.jQuery, window.document);
9
+
10
+ uikit.load = function(res, req, onload, config) {
11
+
12
+ var resources = res.split(','), load = [], i, base = (config.config && config.config.uikit && config.config.uikit.base ? config.config.uikit.base : "").replace(/\/+$/g, "");
13
+
14
+ if (!base) {
15
+ throw new Error( "Please define base path to UIkit in the requirejs config." );
16
+ }
17
+
18
+ for (i = 0; i < resources.length; i += 1) {
19
+ var resource = resources[i].replace(/\./g, '/');
20
+ load.push(base+'/components/'+resource);
21
+ }
22
+
23
+ req(load, function() {
24
+ onload(uikit);
25
+ });
26
+ };
27
+
28
+ return uikit;
29
+ });
30
+ }
31
+
32
+ if (!window.jQuery) {
33
+ throw new Error( "UIkit requires jQuery" );
34
+ }
35
+
36
+ if (window && window.jQuery) {
37
+ core(window, window.jQuery, window.document);
38
+ }
39
+
40
+
41
+ })(function(global, $, doc) {
42
+
43
+ "use strict";
44
+
45
+ var UI = {}, _UI = global.UIkit ? Object.create(global.UIkit) : undefined;
46
+
47
+ UI.version = '2.26.3';
48
+
49
+ UI.noConflict = function() {
50
+ // restore UIkit version
51
+ if (_UI) {
52
+ global.UIkit = _UI;
53
+ $.UIkit = _UI;
54
+ $.fn.uk = _UI.fn;
55
+ }
56
+
57
+ return UI;
58
+ };
59
+
60
+ UI.prefix = function(str) {
61
+ return str;
62
+ };
63
+
64
+ // cache jQuery
65
+ UI.$ = $;
66
+
67
+ UI.$doc = UI.$(document);
68
+ UI.$win = UI.$(window);
69
+ UI.$html = UI.$('html');
70
+
71
+ UI.support = {};
72
+ UI.support.transition = (function() {
73
+
74
+ var transitionEnd = (function() {
75
+
76
+ var element = doc.body || doc.documentElement,
77
+ transEndEventNames = {
78
+ WebkitTransition : 'webkitTransitionEnd',
79
+ MozTransition : 'transitionend',
80
+ OTransition : 'oTransitionEnd otransitionend',
81
+ transition : 'transitionend'
82
+ }, name;
83
+
84
+ for (name in transEndEventNames) {
85
+ if (element.style[name] !== undefined) return transEndEventNames[name];
86
+ }
87
+ }());
88
+
89
+ return transitionEnd && { end: transitionEnd };
90
+ })();
91
+
92
+ UI.support.animation = (function() {
93
+
94
+ var animationEnd = (function() {
95
+
96
+ var element = doc.body || doc.documentElement,
97
+ animEndEventNames = {
98
+ WebkitAnimation : 'webkitAnimationEnd',
99
+ MozAnimation : 'animationend',
100
+ OAnimation : 'oAnimationEnd oanimationend',
101
+ animation : 'animationend'
102
+ }, name;
103
+
104
+ for (name in animEndEventNames) {
105
+ if (element.style[name] !== undefined) return animEndEventNames[name];
106
+ }
107
+ }());
108
+
109
+ return animationEnd && { end: animationEnd };
110
+ })();
111
+
112
+ // requestAnimationFrame polyfill
113
+ //https://github.com/darius/requestAnimationFrame
114
+ (function() {
115
+
116
+ Date.now = Date.now || function() { return new Date().getTime(); };
117
+
118
+ var vendors = ['webkit', 'moz'];
119
+ for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
120
+ var vp = vendors[i];
121
+ window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];
122
+ window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']
123
+ || window[vp+'CancelRequestAnimationFrame']);
124
+ }
125
+ if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) // iOS6 is buggy
126
+ || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
127
+ var lastTime = 0;
128
+ window.requestAnimationFrame = function(callback) {
129
+ var now = Date.now();
130
+ var nextTime = Math.max(lastTime + 16, now);
131
+ return setTimeout(function() { callback(lastTime = nextTime); },
132
+ nextTime - now);
133
+ };
134
+ window.cancelAnimationFrame = clearTimeout;
135
+ }
136
+ }());
137
+
138
+ UI.support.touch = (
139
+ ('ontouchstart' in document) ||
140
+ (global.DocumentTouch && document instanceof global.DocumentTouch) ||
141
+ (global.navigator.msPointerEnabled && global.navigator.msMaxTouchPoints > 0) || //IE 10
142
+ (global.navigator.pointerEnabled && global.navigator.maxTouchPoints > 0) || //IE >=11
143
+ false
144
+ );
145
+
146
+ UI.support.mutationobserver = (global.MutationObserver || global.WebKitMutationObserver || null);
147
+
148
+ UI.Utils = {};
149
+
150
+ UI.Utils.isFullscreen = function() {
151
+ return document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || document.fullscreenElement || false;
152
+ };
153
+
154
+ UI.Utils.str2json = function(str, notevil) {
155
+ try {
156
+ if (notevil) {
157
+ return JSON.parse(str
158
+ // wrap keys without quote with valid double quote
159
+ .replace(/([\$\w]+)\s*:/g, function(_, $1){return '"'+$1+'":';})
160
+ // replacing single quote wrapped ones to double quote
161
+ .replace(/'([^']+)'/g, function(_, $1){return '"'+$1+'"';})
162
+ );
163
+ } else {
164
+ return (new Function("", "var json = " + str + "; return JSON.parse(JSON.stringify(json));"))();
165
+ }
166
+ } catch(e) { return false; }
167
+ };
168
+
169
+ UI.Utils.debounce = function(func, wait, immediate) {
170
+ var timeout;
171
+ return function() {
172
+ var context = this, args = arguments;
173
+ var later = function() {
174
+ timeout = null;
175
+ if (!immediate) func.apply(context, args);
176
+ };
177
+ var callNow = immediate && !timeout;
178
+ clearTimeout(timeout);
179
+ timeout = setTimeout(later, wait);
180
+ if (callNow) func.apply(context, args);
181
+ };
182
+ };
183
+
184
+ UI.Utils.throttle = function (func, limit) {
185
+ var wait = false;
186
+ return function () {
187
+ if (!wait) {
188
+ func.call();
189
+ wait = true;
190
+ setTimeout(function () {
191
+ wait = false;
192
+ }, limit);
193
+ }
194
+ }
195
+ };
196
+
197
+ UI.Utils.removeCssRules = function(selectorRegEx) {
198
+ var idx, idxs, stylesheet, _i, _j, _k, _len, _len1, _len2, _ref;
199
+
200
+ if(!selectorRegEx) return;
201
+
202
+ setTimeout(function(){
203
+ try {
204
+ _ref = document.styleSheets;
205
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
206
+ stylesheet = _ref[_i];
207
+ idxs = [];
208
+ stylesheet.cssRules = stylesheet.cssRules;
209
+ for (idx = _j = 0, _len1 = stylesheet.cssRules.length; _j < _len1; idx = ++_j) {
210
+ if (stylesheet.cssRules[idx].type === CSSRule.STYLE_RULE && selectorRegEx.test(stylesheet.cssRules[idx].selectorText)) {
211
+ idxs.unshift(idx);
212
+ }
213
+ }
214
+ for (_k = 0, _len2 = idxs.length; _k < _len2; _k++) {
215
+ stylesheet.deleteRule(idxs[_k]);
216
+ }
217
+ }
218
+ } catch (_error) {}
219
+ }, 0);
220
+ };
221
+
222
+ UI.Utils.isInView = function(element, options) {
223
+
224
+ var $element = $(element);
225
+
226
+ if (!$element.is(':visible')) {
227
+ return false;
228
+ }
229
+
230
+ var window_left = UI.$win.scrollLeft(), window_top = UI.$win.scrollTop(), offset = $element.offset(), left = offset.left, top = offset.top;
231
+
232
+ options = $.extend({topoffset:0, leftoffset:0}, options);
233
+
234
+ if (top + $element.height() >= window_top && top - options.topoffset <= window_top + UI.$win.height() &&
235
+ left + $element.width() >= window_left && left - options.leftoffset <= window_left + UI.$win.width()) {
236
+ return true;
237
+ } else {
238
+ return false;
239
+ }
240
+ };
241
+
242
+ UI.Utils.checkDisplay = function(context, initanimation) {
243
+
244
+ var elements = UI.$('[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]', context || document), animated;
245
+
246
+ if (context && !elements.length) {
247
+ elements = $(context);
248
+ }
249
+
250
+ elements.trigger('display.uk.check');
251
+
252
+ // fix firefox / IE animations
253
+ if (initanimation) {
254
+
255
+ if (typeof(initanimation)!='string') {
256
+ initanimation = '[class*="uk-animation-"]';
257
+ }
258
+
259
+ elements.find(initanimation).each(function(){
260
+
261
+ var ele = UI.$(this),
262
+ cls = ele.attr('class'),
263
+ anim = cls.match(/uk\-animation\-(.+)/);
264
+
265
+ ele.removeClass(anim[0]).width();
266
+
267
+ ele.addClass(anim[0]);
268
+ });
269
+ }
270
+
271
+ return elements;
272
+ };
273
+
274
+ UI.Utils.options = function(string) {
275
+
276
+ if ($.type(string)!='string') return string;
277
+
278
+ if (string.indexOf(':') != -1 && string.trim().substr(-1) != '}') {
279
+ string = '{'+string+'}';
280
+ }
281
+
282
+ var start = (string ? string.indexOf("{") : -1), options = {};
283
+
284
+ if (start != -1) {
285
+ try {
286
+ options = UI.Utils.str2json(string.substr(start));
287
+ } catch (e) {}
288
+ }
289
+
290
+ return options;
291
+ };
292
+
293
+ UI.Utils.animate = function(element, cls) {
294
+
295
+ var d = $.Deferred();
296
+
297
+ element = UI.$(element);
298
+
299
+ element.css('display', 'none').addClass(cls).one(UI.support.animation.end, function() {
300
+ element.removeClass(cls);
301
+ d.resolve();
302
+ });
303
+
304
+ element.css('display', '');
305
+
306
+ return d.promise();
307
+ };
308
+
309
+ UI.Utils.uid = function(prefix) {
310
+ return (prefix || 'id') + (new Date().getTime())+"RAND"+(Math.ceil(Math.random() * 100000));
311
+ };
312
+
313
+ UI.Utils.template = function(str, data) {
314
+
315
+ var tokens = str.replace(/\n/g, '\\n').replace(/\{\{\{\s*(.+?)\s*\}\}\}/g, "{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),
316
+ i=0, toc, cmd, prop, val, fn, output = [], openblocks = 0;
317
+
318
+ while(i < tokens.length) {
319
+
320
+ toc = tokens[i];
321
+
322
+ if(toc.match(/\{\{\s*(.+?)\s*\}\}/)) {
323
+ i = i + 1;
324
+ toc = tokens[i];
325
+ cmd = toc[0];
326
+ prop = toc.substring(toc.match(/^(\^|\#|\!|\~|\:)/) ? 1:0);
327
+
328
+ switch(cmd) {
329
+ case '~':
330
+ output.push("for(var $i=0;$i<"+prop+".length;$i++) { var $item = "+prop+"[$i];");
331
+ openblocks++;
332
+ break;
333
+ case ':':
334
+ output.push("for(var $key in "+prop+") { var $val = "+prop+"[$key];");
335
+ openblocks++;
336
+ break;
337
+ case '#':
338
+ output.push("if("+prop+") {");
339
+ openblocks++;
340
+ break;
341
+ case '^':
342
+ output.push("if(!"+prop+") {");
343
+ openblocks++;
344
+ break;
345
+ case '/':
346
+ output.push("}");
347
+ openblocks--;
348
+ break;
349
+ case '!':
350
+ output.push("__ret.push("+prop+");");
351
+ break;
352
+ default:
353
+ output.push("__ret.push(escape("+prop+"));");
354
+ break;
355
+ }
356
+ } else {
357
+ output.push("__ret.push('"+toc.replace(/\'/g, "\\'")+"');");
358
+ }
359
+ i = i + 1;
360
+ }
361
+
362
+ fn = new Function('$data', [
363
+ 'var __ret = [];',
364
+ 'try {',
365
+ 'with($data){', (!openblocks ? output.join('') : '__ret = ["Not all blocks are closed correctly."]'), '};',
366
+ '}catch(e){__ret = [e.message];}',
367
+ 'return __ret.join("").replace(/\\n\\n/g, "\\n");',
368
+ "function escape(html) { return String(html).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');}"
369
+ ].join("\n"));
370
+
371
+ return data ? fn(data) : fn;
372
+ };
373
+
374
+ UI.Utils.events = {};
375
+ UI.Utils.events.click = UI.support.touch ? 'tap' : 'click';
376
+
377
+ global.UIkit = UI;
378
+
379
+ // deprecated
380
+
381
+ UI.fn = function(command, options) {
382
+
383
+ var args = arguments, cmd = command.match(/^([a-z\-]+)(?:\.([a-z]+))?/i), component = cmd[1], method = cmd[2];
384
+
385
+ if (!UI[component]) {
386
+ $.error("UIkit component [" + component + "] does not exist.");
387
+ return this;
388
+ }
389
+
390
+ return this.each(function() {
391
+ var $this = $(this), data = $this.data(component);
392
+ if (!data) $this.data(component, (data = UI[component](this, method ? undefined : options)));
393
+ if (method) data[method].apply(data, Array.prototype.slice.call(args, 1));
394
+ });
395
+ };
396
+
397
+ $.UIkit = UI;
398
+ $.fn.uk = UI.fn;
399
+
400
+ UI.langdirection = UI.$html.attr("dir") == "rtl" ? "right" : "left";
401
+
402
+ UI.components = {};
403
+
404
+ UI.component = function(name, def) {
405
+
406
+ var fn = function(element, options) {
407
+
408
+ var $this = this;
409
+
410
+ this.UIkit = UI;
411
+ this.element = element ? UI.$(element) : null;
412
+ this.options = $.extend(true, {}, this.defaults, options);
413
+ this.plugins = {};
414
+
415
+ if (this.element) {
416
+ this.element.data(name, this);
417
+ }
418
+
419
+ this.init();
420
+
421
+ (this.options.plugins.length ? this.options.plugins : Object.keys(fn.plugins)).forEach(function(plugin) {
422
+
423
+ if (fn.plugins[plugin].init) {
424
+ fn.plugins[plugin].init($this);
425
+ $this.plugins[plugin] = true;
426
+ }
427
+
428
+ });
429
+
430
+ this.trigger('init.uk.component', [name, this]);
431
+
432
+ return this;
433
+ };
434
+
435
+ fn.plugins = {};
436
+
437
+ $.extend(true, fn.prototype, {
438
+
439
+ defaults : {plugins: []},
440
+
441
+ boot: function(){},
442
+ init: function(){},
443
+
444
+ on: function(a1,a2,a3){
445
+ return UI.$(this.element || this).on(a1,a2,a3);
446
+ },
447
+
448
+ one: function(a1,a2,a3){
449
+ return UI.$(this.element || this).one(a1,a2,a3);
450
+ },
451
+
452
+ off: function(evt){
453
+ return UI.$(this.element || this).off(evt);
454
+ },
455
+
456
+ trigger: function(evt, params) {
457
+ return UI.$(this.element || this).trigger(evt, params);
458
+ },
459
+
460
+ find: function(selector) {
461
+ return UI.$(this.element ? this.element: []).find(selector);
462
+ },
463
+
464
+ proxy: function(obj, methods) {
465
+
466
+ var $this = this;
467
+
468
+ methods.split(' ').forEach(function(method) {
469
+ if (!$this[method]) $this[method] = function() { return obj[method].apply(obj, arguments); };
470
+ });
471
+ },
472
+
473
+ mixin: function(obj, methods) {
474
+
475
+ var $this = this;
476
+
477
+ methods.split(' ').forEach(function(method) {
478
+ if (!$this[method]) $this[method] = obj[method].bind($this);
479
+ });
480
+ },
481
+
482
+ option: function() {
483
+
484
+ if (arguments.length == 1) {
485
+ return this.options[arguments[0]] || undefined;
486
+ } else if (arguments.length == 2) {
487
+ this.options[arguments[0]] = arguments[1];
488
+ }
489
+ }
490
+
491
+ }, def);
492
+
493
+ this.components[name] = fn;
494
+
495
+ this[name] = function() {
496
+
497
+ var element, options;
498
+
499
+ if (arguments.length) {
500
+
501
+ switch(arguments.length) {
502
+ case 1:
503
+
504
+ if (typeof arguments[0] === "string" || arguments[0].nodeType || arguments[0] instanceof jQuery) {
505
+ element = $(arguments[0]);
506
+ } else {
507
+ options = arguments[0];
508
+ }
509
+
510
+ break;
511
+ case 2:
512
+
513
+ element = $(arguments[0]);
514
+ options = arguments[1];
515
+ break;
516
+ }
517
+ }
518
+
519
+ if (element && element.data(name)) {
520
+ return element.data(name);
521
+ }
522
+
523
+ return (new UI.components[name](element, options));
524
+ };
525
+
526
+ if (UI.domready) {
527
+ UI.component.boot(name);
528
+ }
529
+
530
+ return fn;
531
+ };
532
+
533
+ UI.plugin = function(component, name, def) {
534
+ this.components[component].plugins[name] = def;
535
+ };
536
+
537
+ UI.component.boot = function(name) {
538
+
539
+ if (UI.components[name].prototype && UI.components[name].prototype.boot && !UI.components[name].booted) {
540
+ UI.components[name].prototype.boot.apply(UI, []);
541
+ UI.components[name].booted = true;
542
+ }
543
+ };
544
+
545
+ UI.component.bootComponents = function() {
546
+
547
+ for (var component in UI.components) {
548
+ UI.component.boot(component);
549
+ }
550
+ };
551
+
552
+
553
+ // DOM mutation save ready helper function
554
+
555
+ UI.domObservers = [];
556
+ UI.domready = false;
557
+
558
+ UI.ready = function(fn) {
559
+
560
+ UI.domObservers.push(fn);
561
+
562
+ if (UI.domready) {
563
+ fn(document);
564
+ }
565
+ };
566
+
567
+ UI.on = function(a1,a2,a3){
568
+
569
+ if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) {
570
+ a2.apply(UI.$doc);
571
+ }
572
+
573
+ return UI.$doc.on(a1,a2,a3);
574
+ };
575
+
576
+ UI.one = function(a1,a2,a3){
577
+
578
+ if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) {
579
+ a2.apply(UI.$doc);
580
+ return UI.$doc;
581
+ }
582
+
583
+ return UI.$doc.one(a1,a2,a3);
584
+ };
585
+
586
+ UI.trigger = function(evt, params) {
587
+ return UI.$doc.trigger(evt, params);
588
+ };
589
+
590
+ UI.domObserve = function(selector, fn) {
591
+
592
+ if(!UI.support.mutationobserver) return;
593
+
594
+ fn = fn || function() {};
595
+
596
+ UI.$(selector).each(function() {
597
+
598
+ var element = this,
599
+ $element = UI.$(element);
600
+
601
+ if ($element.data('observer')) {
602
+ return;
603
+ }
604
+
605
+ try {
606
+
607
+ var observer = new UI.support.mutationobserver(UI.Utils.debounce(function(mutations) {
608
+ fn.apply(element, []);
609
+ $element.trigger('changed.uk.dom');
610
+ }, 50), {childList: true, subtree: true});
611
+
612
+ // pass in the target node, as well as the observer options
613
+ observer.observe(element, { childList: true, subtree: true });
614
+
615
+ $element.data('observer', observer);
616
+
617
+ } catch(e) {}
618
+ });
619
+ };
620
+
621
+ UI.init = function(root) {
622
+
623
+ root = root || document;
624
+
625
+ UI.domObservers.forEach(function(fn){
626
+ fn(root);
627
+ });
628
+ };
629
+
630
+ UI.on('domready.uk.dom', function(){
631
+
632
+ UI.init();
633
+
634
+ if (UI.domready) UI.Utils.checkDisplay();
635
+ });
636
+
637
+ document.addEventListener('DOMContentLoaded', function(){
638
+
639
+ var domReady = function() {
640
+
641
+ UI.$body = UI.$('body');
642
+
643
+ UI.trigger('beforeready.uk.dom');
644
+
645
+ UI.component.bootComponents();
646
+
647
+ // custom scroll observer
648
+ requestAnimationFrame((function(){
649
+
650
+ var memory = {dir: {x:0, y:0}, x: window.pageXOffset, y:window.pageYOffset};
651
+
652
+ var fn = function(){
653
+ // reading this (window.page[X|Y]Offset) causes a full page recalc of the layout in Chrome,
654
+ // so we only want to do this once
655
+ var wpxo = window.pageXOffset;
656
+ var wpyo = window.pageYOffset;
657
+
658
+ // Did the scroll position change since the last time we were here?
659
+ if (memory.x != wpxo || memory.y != wpyo) {
660
+
661
+ // Set the direction of the scroll and store the new position
662
+ if (wpxo != memory.x) {memory.dir.x = wpxo > memory.x ? 1:-1; } else { memory.dir.x = 0; }
663
+ if (wpyo != memory.y) {memory.dir.y = wpyo > memory.y ? 1:-1; } else { memory.dir.y = 0; }
664
+
665
+ memory.x = wpxo;
666
+ memory.y = wpyo;
667
+
668
+ // Trigger the scroll event, this could probably be sent using memory.clone() but this is
669
+ // more explicit and easier to see exactly what is being sent in the event.
670
+ UI.$doc.trigger('scrolling.uk.document', [{
671
+ "dir": {"x": memory.dir.x, "y": memory.dir.y}, "x": wpxo, "y": wpyo
672
+ }]);
673
+ }
674
+
675
+ requestAnimationFrame(fn);
676
+ };
677
+
678
+ if (UI.support.touch) {
679
+ UI.$html.on('touchmove touchend MSPointerMove MSPointerUp pointermove pointerup', fn);
680
+ }
681
+
682
+ if (memory.x || memory.y) fn();
683
+
684
+ return fn;
685
+
686
+ })());
687
+
688
+ // run component init functions on dom
689
+ UI.trigger('domready.uk.dom');
690
+
691
+ if (UI.support.touch) {
692
+
693
+ // remove css hover rules for touch devices
694
+ // UI.Utils.removeCssRules(/\.uk-(?!navbar).*:hover/);
695
+
696
+ // viewport unit fix for uk-height-viewport - should be fixed in iOS 8
697
+ if (navigator.userAgent.match(/(iPad|iPhone|iPod)/g)) {
698
+
699
+ UI.$win.on('load orientationchange resize', UI.Utils.debounce((function(){
700
+
701
+ var fn = function() {
702
+ $('.uk-height-viewport').css('height', window.innerHeight);
703
+ return fn;
704
+ };
705
+
706
+ return fn();
707
+
708
+ })(), 100));
709
+ }
710
+ }
711
+
712
+ UI.trigger('afterready.uk.dom');
713
+
714
+ // mark that domready is left behind
715
+ UI.domready = true;
716
+
717
+ // auto init js components
718
+ if (UI.support.mutationobserver) {
719
+
720
+ var initFn = UI.Utils.debounce(function(){
721
+ requestAnimationFrame(function(){ UI.init(document.body);});
722
+ }, 10);
723
+
724
+ (new UI.support.mutationobserver(function(mutations) {
725
+
726
+ var init = false;
727
+
728
+ mutations.every(function(mutation){
729
+
730
+ if (mutation.type != 'childList') return true;
731
+
732
+ for (var i = 0, node; i < mutation.addedNodes.length; ++i) {
733
+
734
+ node = mutation.addedNodes[i];
735
+
736
+ if (node.outerHTML && node.outerHTML.indexOf('data-uk-') !== -1) {
737
+ return (init = true) && false;
738
+ }
739
+ }
740
+ return true;
741
+ });
742
+
743
+ if (init) initFn();
744
+
745
+ })).observe(document.body, {childList: true, subtree: true});
746
+ }
747
+ };
748
+
749
+ if (document.readyState == 'complete' || document.readyState == 'interactive') {
750
+ setTimeout(domReady);
751
+ }
752
+
753
+ return domReady;
754
+
755
+ }());
756
+
757
+ // add touch identifier class
758
+ UI.$html.addClass(UI.support.touch ? "uk-touch" : "uk-notouch");
759
+
760
+ // add uk-hover class on tap to support overlays on touch devices
761
+ if (UI.support.touch) {
762
+
763
+ var hoverset = false,
764
+ exclude,
765
+ hovercls = 'uk-hover',
766
+ selector = '.uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover';
767
+
768
+ UI.$html.on('mouseenter touchstart MSPointerDown pointerdown', selector, function() {
769
+
770
+ if (hoverset) $('.'+hovercls).removeClass(hovercls);
771
+
772
+ hoverset = $(this).addClass(hovercls);
773
+
774
+ }).on('mouseleave touchend MSPointerUp pointerup', function(e) {
775
+
776
+ exclude = $(e.target).parents(selector);
777
+
778
+ if (hoverset) {
779
+ hoverset.not(exclude).removeClass(hovercls);
780
+ }
781
+ });
782
+ }
783
+
784
+ return UI;
785
+ });