try_api 0.0.18 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (235) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/try_api/application.js.coffee +9 -37
  3. data/app/assets/javascripts/try_api/param.directive.js.coffee +4 -4
  4. data/app/assets/javascripts/try_api/url.directive.js.coffee +10 -3
  5. data/app/assets/stylesheets/try_api/application.css.sass +20 -10
  6. data/app/models/try_api/base.rb +54 -10
  7. data/app/models/try_api/config_parser.rb +1 -6
  8. data/app/models/try_api/example_response.rb +10 -9
  9. data/app/models/try_api/header.rb +0 -10
  10. data/app/models/try_api/menu_item.rb +1 -18
  11. data/app/models/try_api/method.rb +4 -47
  12. data/app/models/try_api/parameter.rb +1 -22
  13. data/app/models/try_api/project.rb +1 -17
  14. data/app/views/layouts/try_api/application.html.erb +10 -2
  15. data/app/views/try_api/pages/index.html +4 -5
  16. data/lib/generators/try_api/install_generator.rb +1 -13
  17. data/lib/generators/try_api/templates/try_api/base.yml +141 -0
  18. data/lib/generators/try_api/templates/try_api/variables.yml +5 -0
  19. data/lib/try_api/version.rb +1 -1
  20. metadata +4 -217
  21. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/README.md +0 -120
  22. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/bower.json +0 -19
  23. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/index.js +0 -2
  24. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/package.json +0 -23
  25. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/ui-bootstrap-csp.css +0 -115
  26. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/ui-bootstrap-tpls.js +0 -7476
  27. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js +0 -10
  28. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/ui-bootstrap.js +0 -7109
  29. data/app/assets/javascripts/try_api/bower_components/angular-bootstrap/ui-bootstrap.min.js +0 -10
  30. data/app/assets/javascripts/try_api/bower_components/angular-highlightjs/LICENSE.txt +0 -20
  31. data/app/assets/javascripts/try_api/bower_components/angular-highlightjs/README.md +0 -186
  32. data/app/assets/javascripts/try_api/bower_components/angular-highlightjs/angular-highlightjs.js +0 -520
  33. data/app/assets/javascripts/try_api/bower_components/angular-highlightjs/angular-highlightjs.min.js +0 -6
  34. data/app/assets/javascripts/try_api/bower_components/angular-highlightjs/bower.json +0 -22
  35. data/app/assets/javascripts/try_api/bower_components/angular-highlightjs/build/angular-highlightjs.js +0 -520
  36. data/app/assets/javascripts/try_api/bower_components/angular-highlightjs/build/angular-highlightjs.min.js +0 -6
  37. data/app/assets/javascripts/try_api/bower_components/angular-highlightjs/src/angular-highlightjs.js +0 -501
  38. data/app/assets/javascripts/try_api/bower_components/angular-ladda/CHANGELOG.md +0 -71
  39. data/app/assets/javascripts/try_api/bower_components/angular-ladda/LICENSE.txt +0 -22
  40. data/app/assets/javascripts/try_api/bower_components/angular-ladda/README.md +0 -203
  41. data/app/assets/javascripts/try_api/bower_components/angular-ladda/bower.json +0 -36
  42. data/app/assets/javascripts/try_api/bower_components/angular-ladda/dist/angular-ladda.js +0 -99
  43. data/app/assets/javascripts/try_api/bower_components/angular-ladda/dist/angular-ladda.min.js +0 -2
  44. data/app/assets/javascripts/try_api/bower_components/angular-ladda/package.json +0 -51
  45. data/app/assets/javascripts/try_api/bower_components/angular-ladda/src/angular-ladda.js +0 -98
  46. data/app/assets/javascripts/try_api/bower_components/angular/LICENSE.md +0 -21
  47. data/app/assets/javascripts/try_api/bower_components/angular/README.md +0 -64
  48. data/app/assets/javascripts/try_api/bower_components/angular/angular-csp.css +0 -21
  49. data/app/assets/javascripts/try_api/bower_components/angular/angular.js +0 -31768
  50. data/app/assets/javascripts/try_api/bower_components/angular/angular.min.js +0 -318
  51. data/app/assets/javascripts/try_api/bower_components/angular/bower.json +0 -9
  52. data/app/assets/javascripts/try_api/bower_components/angular/index.js +0 -2
  53. data/app/assets/javascripts/try_api/bower_components/angular/package.json +0 -25
  54. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/README.md +0 -25
  55. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/bower.json +0 -27
  56. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/css/font-awesome.css +0 -2199
  57. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/css/font-awesome.min.css +0 -4
  58. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/fonts/FontAwesome.otf +0 -0
  59. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/fonts/fontawesome-webfont.eot +0 -0
  60. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/fonts/fontawesome-webfont.svg +0 -685
  61. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  62. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/fonts/fontawesome-webfont.woff +0 -0
  63. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  64. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/animated.less +0 -34
  65. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/bordered-pulled.less +0 -25
  66. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/core.less +0 -12
  67. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/fixed-width.less +0 -6
  68. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/font-awesome.less +0 -18
  69. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/icons.less +0 -733
  70. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/larger.less +0 -13
  71. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/list.less +0 -19
  72. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/mixins.less +0 -60
  73. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/path.less +0 -15
  74. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/rotated-flipped.less +0 -20
  75. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/screen-reader.less +0 -5
  76. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/stacked.less +0 -20
  77. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/less/variables.less +0 -744
  78. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/package.json +0 -14
  79. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_animated.scss +0 -34
  80. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_bordered-pulled.scss +0 -25
  81. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_core.scss +0 -12
  82. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_fixed-width.scss +0 -6
  83. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_icons.scss +0 -733
  84. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_larger.scss +0 -13
  85. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_list.scss +0 -19
  86. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_mixins.scss +0 -60
  87. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_path.scss +0 -15
  88. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_rotated-flipped.scss +0 -20
  89. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_screen-reader.scss +0 -5
  90. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_stacked.scss +0 -20
  91. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/_variables.scss +0 -744
  92. data/app/assets/javascripts/try_api/bower_components/components-font-awesome/scss/font-awesome.scss +0 -18
  93. data/app/assets/javascripts/try_api/bower_components/highlightjs/LICENSE.txt +0 -24
  94. data/app/assets/javascripts/try_api/bower_components/highlightjs/README.md +0 -12
  95. data/app/assets/javascripts/try_api/bower_components/highlightjs/bower.json +0 -14
  96. data/app/assets/javascripts/try_api/bower_components/highlightjs/component.json +0 -12
  97. data/app/assets/javascripts/try_api/bower_components/highlightjs/composer.json +0 -26
  98. data/app/assets/javascripts/try_api/bower_components/highlightjs/highlight.pack.js +0 -15387
  99. data/app/assets/javascripts/try_api/bower_components/highlightjs/highlight.pack.min.js +0 -13
  100. data/app/assets/javascripts/try_api/bower_components/highlightjs/package.json +0 -8
  101. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/agate.css +0 -108
  102. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/androidstudio.css +0 -66
  103. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/arduino-light.css +0 -88
  104. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/arta.css +0 -73
  105. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/ascetic.css +0 -45
  106. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-cave-dark.css +0 -83
  107. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-cave-light.css +0 -85
  108. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-cave.dark.css +0 -113
  109. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-cave.light.css +0 -113
  110. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-dune-dark.css +0 -69
  111. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-dune-light.css +0 -69
  112. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-dune.dark.css +0 -94
  113. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-dune.light.css +0 -94
  114. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-estuary-dark.css +0 -84
  115. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-estuary-light.css +0 -84
  116. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-estuary.dark.css +0 -113
  117. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-estuary.light.css +0 -113
  118. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-forest-dark.css +0 -69
  119. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-forest-light.css +0 -69
  120. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-forest.dark.css +0 -94
  121. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-forest.light.css +0 -94
  122. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-heath-dark.css +0 -69
  123. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-heath-light.css +0 -69
  124. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-heath.dark.css +0 -94
  125. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-heath.light.css +0 -94
  126. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-lakeside-dark.css +0 -69
  127. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-lakeside-light.css +0 -69
  128. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-lakeside.dark.css +0 -94
  129. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-lakeside.light.css +0 -94
  130. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-plateau-dark.css +0 -84
  131. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-plateau-light.css +0 -84
  132. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-plateau.dark.css +0 -113
  133. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-plateau.light.css +0 -113
  134. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-savanna-dark.css +0 -84
  135. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-savanna-light.css +0 -84
  136. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-savanna.dark.css +0 -113
  137. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-savanna.light.css +0 -113
  138. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-seaside-dark.css +0 -69
  139. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-seaside-light.css +0 -69
  140. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-seaside.dark.css +0 -94
  141. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-seaside.light.css +0 -94
  142. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-sulphurpool-dark.css +0 -69
  143. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-sulphurpool-light.css +0 -69
  144. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-sulphurpool.dark.css +0 -94
  145. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atelier-sulphurpool.light.css +0 -94
  146. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atom-one-dark.css +0 -95
  147. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/atom-one-light.css +0 -95
  148. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/brown-paper.css +0 -64
  149. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/brown-papersq.png +0 -0
  150. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/brown_paper.css +0 -103
  151. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/brown_papersq.png +0 -0
  152. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/codepen-embed.css +0 -60
  153. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/color-brewer.css +0 -71
  154. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/darcula.css +0 -77
  155. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/dark.css +0 -63
  156. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/darkula.css +0 -6
  157. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/default.css +0 -99
  158. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/docco.css +0 -97
  159. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/dracula.css +0 -76
  160. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/far.css +0 -71
  161. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/foundation.css +0 -88
  162. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/github-gist.css +0 -71
  163. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/github.css +0 -99
  164. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/googlecode.css +0 -89
  165. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/grayscale.css +0 -101
  166. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/gruvbox-dark.css +0 -108
  167. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/gruvbox-light.css +0 -108
  168. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/hopscotch.css +0 -83
  169. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/hybrid.css +0 -102
  170. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/idea.css +0 -97
  171. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/ir-black.css +0 -73
  172. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/ir_black.css +0 -106
  173. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/kimbie.dark.css +0 -74
  174. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/kimbie.light.css +0 -74
  175. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/magula.css +0 -70
  176. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/mono-blue.css +0 -59
  177. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/monokai-sublime.css +0 -83
  178. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/monokai.css +0 -70
  179. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/monokai_sublime.css +0 -154
  180. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/obsidian.css +0 -88
  181. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/ocean.css +0 -74
  182. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/paraiso-dark.css +0 -72
  183. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/paraiso-light.css +0 -72
  184. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/paraiso.dark.css +0 -96
  185. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/paraiso.light.css +0 -96
  186. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/pojoaque.css +0 -83
  187. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/pojoaque.jpg +0 -0
  188. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/purebasic.css +0 -96
  189. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/qtcreator_dark.css +0 -83
  190. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/qtcreator_light.css +0 -83
  191. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/railscasts.css +0 -106
  192. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/rainbow.css +0 -85
  193. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/school-book.css +0 -72
  194. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/school-book.png +0 -0
  195. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/school_book.css +0 -111
  196. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/school_book.png +0 -0
  197. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/solarized-dark.css +0 -84
  198. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/solarized-light.css +0 -84
  199. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/solarized_dark.css +0 -107
  200. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/solarized_light.css +0 -107
  201. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/sunburst.css +0 -102
  202. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/tomorrow-night-blue.css +0 -75
  203. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/tomorrow-night-bright.css +0 -74
  204. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/tomorrow-night-eighties.css +0 -74
  205. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/tomorrow-night.css +0 -75
  206. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/tomorrow.css +0 -72
  207. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/vs.css +0 -68
  208. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/xcode.css +0 -93
  209. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/xt256.css +0 -92
  210. data/app/assets/javascripts/try_api/bower_components/highlightjs/styles/zenburn.css +0 -80
  211. data/app/assets/javascripts/try_api/bower_components/ladda/Gruntfile.js +0 -114
  212. data/app/assets/javascripts/try_api/bower_components/ladda/LICENSE.txt +0 -19
  213. data/app/assets/javascripts/try_api/bower_components/ladda/README.md +0 -142
  214. data/app/assets/javascripts/try_api/bower_components/ladda/bower.json +0 -14
  215. data/app/assets/javascripts/try_api/bower_components/ladda/css/demo.css +0 -60
  216. data/app/assets/javascripts/try_api/bower_components/ladda/css/ladda-themed.scss +0 -81
  217. data/app/assets/javascripts/try_api/bower_components/ladda/css/ladda.scss +0 -486
  218. data/app/assets/javascripts/try_api/bower_components/ladda/dist/ladda-themeless.min.css +0 -7
  219. data/app/assets/javascripts/try_api/bower_components/ladda/dist/ladda.jquery.min.js +0 -8
  220. data/app/assets/javascripts/try_api/bower_components/ladda/dist/ladda.min.css +0 -9
  221. data/app/assets/javascripts/try_api/bower_components/ladda/dist/ladda.min.js +0 -8
  222. data/app/assets/javascripts/try_api/bower_components/ladda/dist/spin.min.js +0 -1
  223. data/app/assets/javascripts/try_api/bower_components/ladda/index.html +0 -185
  224. data/app/assets/javascripts/try_api/bower_components/ladda/js/ladda.jquery.js +0 -46
  225. data/app/assets/javascripts/try_api/bower_components/ladda/js/ladda.js +0 -459
  226. data/app/assets/javascripts/try_api/bower_components/ladda/js/spin.js +0 -354
  227. data/app/assets/javascripts/try_api/bower_components/ladda/test/bootstrap.html +0 -6302
  228. data/app/assets/javascripts/try_api/bower_components/ladda/test/bootstrap.jquery.html +0 -6306
  229. data/app/assets/javascripts/try_api/bower_components/ladda/test/form.html +0 -38
  230. data/app/assets/javascripts/try_api/bower_components/spin.js/LICENSE.txt +0 -21
  231. data/app/assets/javascripts/try_api/bower_components/spin.js/README.md +0 -21
  232. data/app/assets/javascripts/try_api/bower_components/spin.js/bower.json +0 -18
  233. data/app/assets/javascripts/try_api/bower_components/spin.js/jquery.spin.js +0 -80
  234. data/app/assets/javascripts/try_api/bower_components/spin.js/spin.js +0 -337
  235. data/lib/generators/try_api/templates/config/try_api.yml +0 -344
@@ -1,7 +0,0 @@
1
- /*!
2
- * Ladda
3
- * http://lab.hakim.se/ladda
4
- * MIT licensed
5
- *
6
- * Copyright (C) 2016 Hakim El Hattab, http://hakim.se
7
- */.ladda-button{position:relative}.ladda-button .ladda-spinner{position:absolute;z-index:2;display:inline-block;width:32px;height:32px;top:50%;margin-top:0;opacity:0;pointer-events:none}.ladda-button .ladda-label{position:relative;z-index:3}.ladda-button .ladda-progress{position:absolute;width:0;height:100%;left:0;top:0;background:rgba(0,0,0,0.2);visibility:hidden;opacity:0;-webkit-transition:0.1s linear all !important;-moz-transition:0.1s linear all !important;-ms-transition:0.1s linear all !important;-o-transition:0.1s linear all !important;transition:0.1s linear all !important}.ladda-button[data-loading] .ladda-progress{opacity:1;visibility:visible}.ladda-button,.ladda-button .ladda-spinner,.ladda-button .ladda-label{-webkit-transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;-moz-transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;-ms-transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;-o-transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important}.ladda-button[data-style=zoom-in],.ladda-button[data-style=zoom-in] .ladda-spinner,.ladda-button[data-style=zoom-in] .ladda-label,.ladda-button[data-style=zoom-out],.ladda-button[data-style=zoom-out] .ladda-spinner,.ladda-button[data-style=zoom-out] .ladda-label{-webkit-transition:0.3s ease all !important;-moz-transition:0.3s ease all !important;-ms-transition:0.3s ease all !important;-o-transition:0.3s ease all !important;transition:0.3s ease all !important}.ladda-button[data-style=expand-right] .ladda-spinner{right:-6px}.ladda-button[data-style=expand-right][data-size="s"] .ladda-spinner,.ladda-button[data-style=expand-right][data-size="xs"] .ladda-spinner{right:-12px}.ladda-button[data-style=expand-right][data-loading]{padding-right:56px}.ladda-button[data-style=expand-right][data-loading] .ladda-spinner{opacity:1}.ladda-button[data-style=expand-right][data-loading][data-size="s"],.ladda-button[data-style=expand-right][data-loading][data-size="xs"]{padding-right:40px}.ladda-button[data-style=expand-left] .ladda-spinner{left:26px}.ladda-button[data-style=expand-left][data-size="s"] .ladda-spinner,.ladda-button[data-style=expand-left][data-size="xs"] .ladda-spinner{left:4px}.ladda-button[data-style=expand-left][data-loading]{padding-left:56px}.ladda-button[data-style=expand-left][data-loading] .ladda-spinner{opacity:1}.ladda-button[data-style=expand-left][data-loading][data-size="s"],.ladda-button[data-style=expand-left][data-loading][data-size="xs"]{padding-left:40px}.ladda-button[data-style=expand-up]{overflow:hidden}.ladda-button[data-style=expand-up] .ladda-spinner{top:-32px;left:50%;margin-left:0}.ladda-button[data-style=expand-up][data-loading]{padding-top:54px}.ladda-button[data-style=expand-up][data-loading] .ladda-spinner{opacity:1;top:26px;margin-top:0}.ladda-button[data-style=expand-up][data-loading][data-size="s"],.ladda-button[data-style=expand-up][data-loading][data-size="xs"]{padding-top:32px}.ladda-button[data-style=expand-up][data-loading][data-size="s"] .ladda-spinner,.ladda-button[data-style=expand-up][data-loading][data-size="xs"] .ladda-spinner{top:4px}.ladda-button[data-style=expand-down]{overflow:hidden}.ladda-button[data-style=expand-down] .ladda-spinner{top:62px;left:50%;margin-left:0}.ladda-button[data-style=expand-down][data-size="s"] .ladda-spinner,.ladda-button[data-style=expand-down][data-size="xs"] .ladda-spinner{top:40px}.ladda-button[data-style=expand-down][data-loading]{padding-bottom:54px}.ladda-button[data-style=expand-down][data-loading] .ladda-spinner{opacity:1}.ladda-button[data-style=expand-down][data-loading][data-size="s"],.ladda-button[data-style=expand-down][data-loading][data-size="xs"]{padding-bottom:32px}.ladda-button[data-style=slide-left]{overflow:hidden}.ladda-button[data-style=slide-left] .ladda-label{position:relative}.ladda-button[data-style=slide-left] .ladda-spinner{left:100%;margin-left:0}.ladda-button[data-style=slide-left][data-loading] .ladda-label{opacity:0;left:-100%}.ladda-button[data-style=slide-left][data-loading] .ladda-spinner{opacity:1;left:50%}.ladda-button[data-style=slide-right]{overflow:hidden}.ladda-button[data-style=slide-right] .ladda-label{position:relative}.ladda-button[data-style=slide-right] .ladda-spinner{right:100%;margin-left:0;left:16px}.ladda-button[data-style=slide-right][data-loading] .ladda-label{opacity:0;left:100%}.ladda-button[data-style=slide-right][data-loading] .ladda-spinner{opacity:1;left:50%}.ladda-button[data-style=slide-up]{overflow:hidden}.ladda-button[data-style=slide-up] .ladda-label{position:relative}.ladda-button[data-style=slide-up] .ladda-spinner{left:50%;margin-left:0;margin-top:1em}.ladda-button[data-style=slide-up][data-loading] .ladda-label{opacity:0;top:-1em}.ladda-button[data-style=slide-up][data-loading] .ladda-spinner{opacity:1;margin-top:0}.ladda-button[data-style=slide-down]{overflow:hidden}.ladda-button[data-style=slide-down] .ladda-label{position:relative}.ladda-button[data-style=slide-down] .ladda-spinner{left:50%;margin-left:0;margin-top:-2em}.ladda-button[data-style=slide-down][data-loading] .ladda-label{opacity:0;top:1em}.ladda-button[data-style=slide-down][data-loading] .ladda-spinner{opacity:1;margin-top:0}.ladda-button[data-style=zoom-out]{overflow:hidden}.ladda-button[data-style=zoom-out] .ladda-spinner{left:50%;margin-left:32px;-webkit-transform:scale(2.5);-moz-transform:scale(2.5);-ms-transform:scale(2.5);-o-transform:scale(2.5);transform:scale(2.5)}.ladda-button[data-style=zoom-out] .ladda-label{position:relative;display:inline-block}.ladda-button[data-style=zoom-out][data-loading] .ladda-label{opacity:0;-webkit-transform:scale(0.5);-moz-transform:scale(0.5);-ms-transform:scale(0.5);-o-transform:scale(0.5);transform:scale(0.5)}.ladda-button[data-style=zoom-out][data-loading] .ladda-spinner{opacity:1;margin-left:0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.ladda-button[data-style=zoom-in]{overflow:hidden}.ladda-button[data-style=zoom-in] .ladda-spinner{left:50%;margin-left:-16px;-webkit-transform:scale(0.2);-moz-transform:scale(0.2);-ms-transform:scale(0.2);-o-transform:scale(0.2);transform:scale(0.2)}.ladda-button[data-style=zoom-in] .ladda-label{position:relative;display:inline-block}.ladda-button[data-style=zoom-in][data-loading] .ladda-label{opacity:0;-webkit-transform:scale(2.2);-moz-transform:scale(2.2);-ms-transform:scale(2.2);-o-transform:scale(2.2);transform:scale(2.2)}.ladda-button[data-style=zoom-in][data-loading] .ladda-spinner{opacity:1;margin-left:0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.ladda-button[data-style=contract]{overflow:hidden;width:100px}.ladda-button[data-style=contract] .ladda-spinner{left:50%;margin-left:0}.ladda-button[data-style=contract][data-loading]{border-radius:50%;width:52px}.ladda-button[data-style=contract][data-loading] .ladda-label{opacity:0}.ladda-button[data-style=contract][data-loading] .ladda-spinner{opacity:1}.ladda-button[data-style=contract-overlay]{overflow:hidden;width:100px;box-shadow:0px 0px 0px 2000px transparent}.ladda-button[data-style=contract-overlay] .ladda-spinner{left:50%;margin-left:0}.ladda-button[data-style=contract-overlay][data-loading]{border-radius:50%;width:52px;box-shadow:0px 0px 0px 2000px rgba(0,0,0,0.8)}.ladda-button[data-style=contract-overlay][data-loading] .ladda-label{opacity:0}.ladda-button[data-style=contract-overlay][data-loading] .ladda-spinner{opacity:1}
@@ -1,8 +0,0 @@
1
- /*!
2
- * Ladda for jQuery
3
- * http://lab.hakim.se/ladda
4
- * MIT licensed
5
- *
6
- * Copyright (C) 2015 Hakim El Hattab, http://hakim.se
7
- */
8
- !function(a,b){if(void 0===b)return console.error("jQuery required for Ladda.jQuery");var c=[];b=b.extend(b,{ladda:function(b){"stopAll"===b&&a.stopAll()}}),b.fn=b.extend(b.fn,{ladda:function(d){var e=c.slice.call(arguments,1);return"bind"===d?(e.unshift(b(this).selector),a.bind.apply(a,e)):b(this).each(function(){var c,f=b(this);void 0===d?f.data("ladda",a.create(this)):(c=f.data("ladda"),c[d].apply(c,e))}),this}})}(this.Ladda,this.jQuery);
@@ -1,9 +0,0 @@
1
- /*!
2
- * Ladda including the default theme.
3
- *//*!
4
- * Ladda
5
- * http://lab.hakim.se/ladda
6
- * MIT licensed
7
- *
8
- * Copyright (C) 2016 Hakim El Hattab, http://hakim.se
9
- */.ladda-button{position:relative}.ladda-button .ladda-spinner{position:absolute;z-index:2;display:inline-block;width:32px;height:32px;top:50%;margin-top:0;opacity:0;pointer-events:none}.ladda-button .ladda-label{position:relative;z-index:3}.ladda-button .ladda-progress{position:absolute;width:0;height:100%;left:0;top:0;background:rgba(0,0,0,0.2);visibility:hidden;opacity:0;-webkit-transition:0.1s linear all !important;-moz-transition:0.1s linear all !important;-ms-transition:0.1s linear all !important;-o-transition:0.1s linear all !important;transition:0.1s linear all !important}.ladda-button[data-loading] .ladda-progress{opacity:1;visibility:visible}.ladda-button,.ladda-button .ladda-spinner,.ladda-button .ladda-label{-webkit-transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;-moz-transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;-ms-transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;-o-transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;transition:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important}.ladda-button[data-style=zoom-in],.ladda-button[data-style=zoom-in] .ladda-spinner,.ladda-button[data-style=zoom-in] .ladda-label,.ladda-button[data-style=zoom-out],.ladda-button[data-style=zoom-out] .ladda-spinner,.ladda-button[data-style=zoom-out] .ladda-label{-webkit-transition:0.3s ease all !important;-moz-transition:0.3s ease all !important;-ms-transition:0.3s ease all !important;-o-transition:0.3s ease all !important;transition:0.3s ease all !important}.ladda-button[data-style=expand-right] .ladda-spinner{right:-6px}.ladda-button[data-style=expand-right][data-size="s"] .ladda-spinner,.ladda-button[data-style=expand-right][data-size="xs"] .ladda-spinner{right:-12px}.ladda-button[data-style=expand-right][data-loading]{padding-right:56px}.ladda-button[data-style=expand-right][data-loading] .ladda-spinner{opacity:1}.ladda-button[data-style=expand-right][data-loading][data-size="s"],.ladda-button[data-style=expand-right][data-loading][data-size="xs"]{padding-right:40px}.ladda-button[data-style=expand-left] .ladda-spinner{left:26px}.ladda-button[data-style=expand-left][data-size="s"] .ladda-spinner,.ladda-button[data-style=expand-left][data-size="xs"] .ladda-spinner{left:4px}.ladda-button[data-style=expand-left][data-loading]{padding-left:56px}.ladda-button[data-style=expand-left][data-loading] .ladda-spinner{opacity:1}.ladda-button[data-style=expand-left][data-loading][data-size="s"],.ladda-button[data-style=expand-left][data-loading][data-size="xs"]{padding-left:40px}.ladda-button[data-style=expand-up]{overflow:hidden}.ladda-button[data-style=expand-up] .ladda-spinner{top:-32px;left:50%;margin-left:0}.ladda-button[data-style=expand-up][data-loading]{padding-top:54px}.ladda-button[data-style=expand-up][data-loading] .ladda-spinner{opacity:1;top:26px;margin-top:0}.ladda-button[data-style=expand-up][data-loading][data-size="s"],.ladda-button[data-style=expand-up][data-loading][data-size="xs"]{padding-top:32px}.ladda-button[data-style=expand-up][data-loading][data-size="s"] .ladda-spinner,.ladda-button[data-style=expand-up][data-loading][data-size="xs"] .ladda-spinner{top:4px}.ladda-button[data-style=expand-down]{overflow:hidden}.ladda-button[data-style=expand-down] .ladda-spinner{top:62px;left:50%;margin-left:0}.ladda-button[data-style=expand-down][data-size="s"] .ladda-spinner,.ladda-button[data-style=expand-down][data-size="xs"] .ladda-spinner{top:40px}.ladda-button[data-style=expand-down][data-loading]{padding-bottom:54px}.ladda-button[data-style=expand-down][data-loading] .ladda-spinner{opacity:1}.ladda-button[data-style=expand-down][data-loading][data-size="s"],.ladda-button[data-style=expand-down][data-loading][data-size="xs"]{padding-bottom:32px}.ladda-button[data-style=slide-left]{overflow:hidden}.ladda-button[data-style=slide-left] .ladda-label{position:relative}.ladda-button[data-style=slide-left] .ladda-spinner{left:100%;margin-left:0}.ladda-button[data-style=slide-left][data-loading] .ladda-label{opacity:0;left:-100%}.ladda-button[data-style=slide-left][data-loading] .ladda-spinner{opacity:1;left:50%}.ladda-button[data-style=slide-right]{overflow:hidden}.ladda-button[data-style=slide-right] .ladda-label{position:relative}.ladda-button[data-style=slide-right] .ladda-spinner{right:100%;margin-left:0;left:16px}.ladda-button[data-style=slide-right][data-loading] .ladda-label{opacity:0;left:100%}.ladda-button[data-style=slide-right][data-loading] .ladda-spinner{opacity:1;left:50%}.ladda-button[data-style=slide-up]{overflow:hidden}.ladda-button[data-style=slide-up] .ladda-label{position:relative}.ladda-button[data-style=slide-up] .ladda-spinner{left:50%;margin-left:0;margin-top:1em}.ladda-button[data-style=slide-up][data-loading] .ladda-label{opacity:0;top:-1em}.ladda-button[data-style=slide-up][data-loading] .ladda-spinner{opacity:1;margin-top:0}.ladda-button[data-style=slide-down]{overflow:hidden}.ladda-button[data-style=slide-down] .ladda-label{position:relative}.ladda-button[data-style=slide-down] .ladda-spinner{left:50%;margin-left:0;margin-top:-2em}.ladda-button[data-style=slide-down][data-loading] .ladda-label{opacity:0;top:1em}.ladda-button[data-style=slide-down][data-loading] .ladda-spinner{opacity:1;margin-top:0}.ladda-button[data-style=zoom-out]{overflow:hidden}.ladda-button[data-style=zoom-out] .ladda-spinner{left:50%;margin-left:32px;-webkit-transform:scale(2.5);-moz-transform:scale(2.5);-ms-transform:scale(2.5);-o-transform:scale(2.5);transform:scale(2.5)}.ladda-button[data-style=zoom-out] .ladda-label{position:relative;display:inline-block}.ladda-button[data-style=zoom-out][data-loading] .ladda-label{opacity:0;-webkit-transform:scale(0.5);-moz-transform:scale(0.5);-ms-transform:scale(0.5);-o-transform:scale(0.5);transform:scale(0.5)}.ladda-button[data-style=zoom-out][data-loading] .ladda-spinner{opacity:1;margin-left:0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.ladda-button[data-style=zoom-in]{overflow:hidden}.ladda-button[data-style=zoom-in] .ladda-spinner{left:50%;margin-left:-16px;-webkit-transform:scale(0.2);-moz-transform:scale(0.2);-ms-transform:scale(0.2);-o-transform:scale(0.2);transform:scale(0.2)}.ladda-button[data-style=zoom-in] .ladda-label{position:relative;display:inline-block}.ladda-button[data-style=zoom-in][data-loading] .ladda-label{opacity:0;-webkit-transform:scale(2.2);-moz-transform:scale(2.2);-ms-transform:scale(2.2);-o-transform:scale(2.2);transform:scale(2.2)}.ladda-button[data-style=zoom-in][data-loading] .ladda-spinner{opacity:1;margin-left:0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.ladda-button[data-style=contract]{overflow:hidden;width:100px}.ladda-button[data-style=contract] .ladda-spinner{left:50%;margin-left:0}.ladda-button[data-style=contract][data-loading]{border-radius:50%;width:52px}.ladda-button[data-style=contract][data-loading] .ladda-label{opacity:0}.ladda-button[data-style=contract][data-loading] .ladda-spinner{opacity:1}.ladda-button[data-style=contract-overlay]{overflow:hidden;width:100px;box-shadow:0px 0px 0px 2000px transparent}.ladda-button[data-style=contract-overlay] .ladda-spinner{left:50%;margin-left:0}.ladda-button[data-style=contract-overlay][data-loading]{border-radius:50%;width:52px;box-shadow:0px 0px 0px 2000px rgba(0,0,0,0.8)}.ladda-button[data-style=contract-overlay][data-loading] .ladda-label{opacity:0}.ladda-button[data-style=contract-overlay][data-loading] .ladda-spinner{opacity:1}.ladda-button{background:#666;border:0;padding:14px 18px;font-size:18px;cursor:pointer;color:#fff;border-radius:2px;border:1px solid transparent;-webkit-appearance:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.ladda-button:hover{border-color:rgba(0,0,0,0.07);background-color:#888}.ladda-button[data-color=green]{background:#2aca76}.ladda-button[data-color=green]:hover{background-color:#38d683}.ladda-button[data-color=blue]{background:#53b5e6}.ladda-button[data-color=blue]:hover{background-color:#69bfe9}.ladda-button[data-color=red]{background:#ea8557}.ladda-button[data-color=red]:hover{background-color:#ed956e}.ladda-button[data-color=purple]{background:#9973C2}.ladda-button[data-color=purple]:hover{background-color:#a685ca}.ladda-button[data-color=mint]{background:#16a085}.ladda-button[data-color=mint]:hover{background-color:#19b698}.ladda-button[disabled],.ladda-button[data-loading]{border-color:rgba(0,0,0,0.07)}.ladda-button[disabled],.ladda-button[disabled]:hover,.ladda-button[data-loading],.ladda-button[data-loading]:hover{cursor:default;background-color:#999}.ladda-button[data-size=xs]{padding:4px 8px}.ladda-button[data-size=xs] .ladda-label{font-size:0.7em}.ladda-button[data-size=s]{padding:6px 10px}.ladda-button[data-size=s] .ladda-label{font-size:0.9em}.ladda-button[data-size=l] .ladda-label{font-size:1.2em}.ladda-button[data-size=xl] .ladda-label{font-size:1.5em}
@@ -1,8 +0,0 @@
1
- /*!
2
- * Ladda 1.0.0 (2016-03-08, 09:31)
3
- * http://lab.hakim.se/ladda
4
- * MIT licensed
5
- *
6
- * Copyright (C) 2016 Hakim El Hattab, http://hakim.se
7
- */
8
- !function(a,b){"object"==typeof exports?module.exports=b(require("spin.js")):"function"==typeof define&&define.amd?define(["spin"],b):a.Ladda=b(a.Spinner)}(this,function(a){"use strict";function b(a){if("undefined"==typeof a)return void console.warn("Ladda button target must be defined.");if(/ladda-button/i.test(a.className)||(a.className+=" ladda-button"),a.hasAttribute("data-style")||a.setAttribute("data-style","expand-right"),!a.querySelector(".ladda-label")){var b=document.createElement("span");b.className="ladda-label",i(a,b)}var c,d=a.querySelector(".ladda-spinner");d||(d=document.createElement("span"),d.className="ladda-spinner"),a.appendChild(d);var e,f={start:function(){return c||(c=g(a)),a.setAttribute("disabled",""),a.setAttribute("data-loading",""),clearTimeout(e),c.spin(d),this.setProgress(0),this},startAfter:function(a){return clearTimeout(e),e=setTimeout(function(){f.start()},a),this},stop:function(){return a.removeAttribute("disabled"),a.removeAttribute("data-loading"),clearTimeout(e),c&&(e=setTimeout(function(){c.stop()},1e3)),this},toggle:function(){return this.isLoading()?this.stop():this.start(),this},setProgress:function(b){b=Math.max(Math.min(b,1),0);var c=a.querySelector(".ladda-progress");0===b&&c&&c.parentNode?c.parentNode.removeChild(c):(c||(c=document.createElement("div"),c.className="ladda-progress",a.appendChild(c)),c.style.width=(b||0)*a.offsetWidth+"px")},enable:function(){return this.stop(),this},disable:function(){return this.stop(),a.setAttribute("disabled",""),this},isLoading:function(){return a.hasAttribute("data-loading")},remove:function(){clearTimeout(e),a.removeAttribute("disabled",""),a.removeAttribute("data-loading",""),c&&(c.stop(),c=null);for(var b=0,d=j.length;d>b;b++)if(f===j[b]){j.splice(b,1);break}}};return j.push(f),f}function c(a,b){for(;a.parentNode&&a.tagName!==b;)a=a.parentNode;return b===a.tagName?a:void 0}function d(a){for(var b=["input","textarea","select"],c=[],d=0;d<b.length;d++)for(var e=a.getElementsByTagName(b[d]),f=0;f<e.length;f++)e[f].hasAttribute("required")&&c.push(e[f]);return c}function e(a,e){e=e||{};var f=[];"string"==typeof a?f=h(document.querySelectorAll(a)):"object"==typeof a&&"string"==typeof a.nodeName&&(f=[a]);for(var g=0,i=f.length;i>g;g++)!function(){var a=f[g];if("function"==typeof a.addEventListener){var h=b(a),i=-1;a.addEventListener("click",function(b){var f=!0,g=c(a,"FORM");if("undefined"!=typeof g)if("function"==typeof g.checkValidity)f=g.checkValidity();else for(var j=d(g),k=0;k<j.length;k++)""===j[k].value.replace(/^\s+|\s+$/g,"")&&(f=!1),"checkbox"!==j[k].type&&"radio"!==j[k].type||j[k].checked||(f=!1),"email"===j[k].type&&(f=/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/.test(j[k].value));f&&(h.startAfter(1),"number"==typeof e.timeout&&(clearTimeout(i),i=setTimeout(h.stop,e.timeout)),"function"==typeof e.callback&&e.callback.apply(null,[h]))},!1)}}()}function f(){for(var a=0,b=j.length;b>a;a++)j[a].stop()}function g(b){var c,d,e=b.offsetHeight;0===e&&(e=parseFloat(window.getComputedStyle(b).height)),e>32&&(e*=.8),b.hasAttribute("data-spinner-size")&&(e=parseInt(b.getAttribute("data-spinner-size"),10)),b.hasAttribute("data-spinner-color")&&(c=b.getAttribute("data-spinner-color")),b.hasAttribute("data-spinner-lines")&&(d=parseInt(b.getAttribute("data-spinner-lines"),10));var f=.2*e,g=.6*f,h=7>f?2:3;return new a({color:c||"#fff",lines:d||12,radius:f,length:g,width:h,zIndex:"auto",top:"auto",left:"auto",className:""})}function h(a){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);return b}function i(a,b){var c=document.createRange();c.selectNodeContents(a),c.surroundContents(b),a.appendChild(b)}var j=[];return{bind:e,create:b,stopAll:f}});
@@ -1 +0,0 @@
1
- !function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.Spinner=b()}(this,function(){"use strict";function a(a,b){var c,d=document.createElement(a||"div");for(c in b)d[c]=b[c];return d}function b(a){for(var b=1,c=arguments.length;c>b;b++)a.appendChild(arguments[b]);return a}function c(a,b,c,d){var e=["opacity",b,~~(100*a),c,d].join("-"),f=.01+c/d*100,g=Math.max(1-(1-a)/b*(100-f),a),h=j.substring(0,j.indexOf("Animation")).toLowerCase(),i=h&&"-"+h+"-"||"";return l[e]||(m.insertRule("@"+i+"keyframes "+e+"{0%{opacity:"+g+"}"+f+"%{opacity:"+a+"}"+(f+.01)+"%{opacity:1}"+(f+b)%100+"%{opacity:"+a+"}100%{opacity:"+g+"}}",m.cssRules.length),l[e]=1),e}function d(a,b){var c,d,e=a.style;for(b=b.charAt(0).toUpperCase()+b.slice(1),d=0;d<k.length;d++)if(c=k[d]+b,void 0!==e[c])return c;return void 0!==e[b]?b:void 0}function e(a,b){for(var c in b)a.style[d(a,c)||c]=b[c];return a}function f(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)void 0===a[d]&&(a[d]=c[d])}return a}function g(a,b){return"string"==typeof a?a:a[b%a.length]}function h(a){this.opts=f(a||{},h.defaults,n)}function i(){function c(b,c){return a("<"+b+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',c)}m.addRule(".spin-vml","behavior:url(#default#VML)"),h.prototype.lines=function(a,d){function f(){return e(c("group",{coordsize:k+" "+k,coordorigin:-j+" "+-j}),{width:k,height:k})}function h(a,h,i){b(m,b(e(f(),{rotation:360/d.lines*a+"deg",left:~~h}),b(e(c("roundrect",{arcsize:d.corners}),{width:j,height:d.width,left:d.radius,top:-d.width>>1,filter:i}),c("fill",{color:g(d.color,a),opacity:d.opacity}),c("stroke",{opacity:0}))))}var i,j=d.length+d.width,k=2*j,l=2*-(d.width+d.length)+"px",m=e(f(),{position:"absolute",top:l,left:l});if(d.shadow)for(i=1;i<=d.lines;i++)h(i,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(i=1;i<=d.lines;i++)h(i);return b(a,m)},h.prototype.opacity=function(a,b,c,d){var e=a.firstChild;d=d.shadow&&d.lines||0,e&&b+d<e.childNodes.length&&(e=e.childNodes[b+d],e=e&&e.firstChild,e=e&&e.firstChild,e&&(e.opacity=c))}}var j,k=["webkit","Moz","ms","O"],l={},m=function(){var c=a("style",{type:"text/css"});return b(document.getElementsByTagName("head")[0],c),c.sheet||c.styleSheet}(),n={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:.25,fps:20,zIndex:2e9,className:"spinner",top:"50%",left:"50%",position:"absolute"};h.defaults={},f(h.prototype,{spin:function(b){this.stop();var c=this,d=c.opts,f=c.el=e(a(0,{className:d.className}),{position:d.position,width:0,zIndex:d.zIndex});d.radius+d.length+d.width;if(e(f,{left:d.left,top:d.top}),b&&b.insertBefore(f,b.firstChild||null),f.setAttribute("role","progressbar"),c.lines(f,c.opts),!j){var g,h=0,i=(d.lines-1)*(1-d.direction)/2,k=d.fps,l=k/d.speed,m=(1-d.opacity)/(l*d.trail/100),n=l/d.lines;!function o(){h++;for(var a=0;a<d.lines;a++)g=Math.max(1-(h+(d.lines-a)*n)%l*m,d.opacity),c.opacity(f,a*d.direction+i,g,d);c.timeout=c.el&&setTimeout(o,~~(1e3/k))}()}return c},stop:function(){var a=this.el;return a&&(clearTimeout(this.timeout),a.parentNode&&a.parentNode.removeChild(a),this.el=void 0),this},lines:function(d,f){function h(b,c){return e(a(),{position:"absolute",width:f.length+f.width+"px",height:f.width+"px",background:b,boxShadow:c,transformOrigin:"left",transform:"rotate("+~~(360/f.lines*k+f.rotate)+"deg) translate("+f.radius+"px,0)",borderRadius:(f.corners*f.width>>1)+"px"})}for(var i,k=0,l=(f.lines-1)*(1-f.direction)/2;k<f.lines;k++)i=e(a(),{position:"absolute",top:1+~(f.width/2)+"px",transform:f.hwaccel?"translate3d(0,0,0)":"",opacity:f.opacity,animation:j&&c(f.opacity,f.trail,l+k*f.direction,f.lines)+" "+1/f.speed+"s linear infinite"}),f.shadow&&b(i,e(h("#000","0 0 4px #000"),{top:"2px"})),b(d,b(i,h(g(f.color,k),"0 0 1px rgba(0,0,0,.1)")));return d},opacity:function(a,b,c){b<a.childNodes.length&&(a.childNodes[b].style.opacity=c)}});var o=e(a("group"),{behavior:"url(#default#VML)"});return!d(o,"transform")&&o.adj?i():j=d(o,"animation"),h});
@@ -1,185 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
-
4
- <head>
5
- <meta charset="utf-8">
6
-
7
- <title>Ladda</title>
8
-
9
- <meta name="description" content="">
10
- <meta name="author" content="Hakim El Hattab">
11
-
12
- <meta name="apple-mobile-web-app-capable" content="yes" />
13
- <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
14
-
15
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
16
-
17
- <link rel="stylesheet" href="css/demo.css">
18
- <link rel="stylesheet" href="dist/ladda.min.css">
19
-
20
- <!--[if lt IE 9]>
21
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
22
- <![endif]-->
23
-
24
- </head>
25
-
26
- <body>
27
-
28
- <article class="examples">
29
-
30
- <div class="intro">
31
- <h1>Ladda</h1>
32
- <p>
33
- A UI concept which merges loading indicators into the action that invoked them. Primarily intended for use with forms where
34
- it gives users immediate feedback upon submit rather than leaving them wondering while the browser does its thing. For a
35
- real-world example, check out any of the forms on <a href="http://slides.com">slides.com</a>.
36
- </p>
37
- </div>
38
-
39
- <section class="button-demo">
40
- <h3>expand-left</h3>
41
- <button class="ladda-button" data-color="green" data-style="expand-left">Submit</button>
42
- </section>
43
-
44
- <section class="button-demo">
45
- <h3>expand-right</h3>
46
- <button class="ladda-button" data-color="green" data-style="expand-right">Submit</button>
47
- </section>
48
-
49
- <section class="button-demo">
50
- <h3>expand-up</h3>
51
- <button class="ladda-button" data-color="green" data-style="expand-up">Submit</button>
52
- </section>
53
-
54
- <section class="button-demo">
55
- <h3>expand-down</h3>
56
- <button class="ladda-button" data-color="green" data-style="expand-down">Submit</button>
57
- </section>
58
-
59
-
60
- <section class="button-demo">
61
- <h3>contract</h3>
62
- <button class="ladda-button" data-color="red" data-style="contract">Submit</button>
63
- </section>
64
-
65
- <section class="button-demo">
66
- <h3>contract-overlay</h3>
67
- <button class="ladda-button" data-color="red" data-style="contract-overlay" style="z-index: 10;">Submit</button>
68
- </section>
69
-
70
- <section class="button-demo">
71
- <h3>zoom-in</h3>
72
- <button class="ladda-button" data-color="red" data-style="zoom-in">Submit</button>
73
- </section>
74
-
75
- <section class="button-demo">
76
- <h3>zoom-out</h3>
77
- <button class="ladda-button" data-color="red" data-style="zoom-out">Submit</button>
78
- </section>
79
-
80
-
81
- <section class="button-demo">
82
- <h3>slide-left</h3>
83
- <button class="ladda-button" data-color="blue" data-style="slide-left">Submit</button>
84
- </section>
85
-
86
- <section class="button-demo">
87
- <h3>slide-right</h3>
88
- <button class="ladda-button" data-color="blue" data-style="slide-right">Submit</button>
89
- </section>
90
-
91
- <section class="button-demo">
92
- <h3>slide-up</h3>
93
- <button class="ladda-button" data-color="blue" data-style="slide-up">Submit</button>
94
- </section>
95
-
96
- <section class="button-demo">
97
- <h3>slide-down</h3>
98
- <button class="ladda-button" data-color="blue" data-style="slide-down">Submit</button>
99
- </section>
100
-
101
- <h3 id="progress">Built-in progress bar</h3>
102
-
103
- <section class="progress-demo">
104
- <h3>expand-right</h3>
105
- <button class="ladda-button" data-color="purple" data-style="expand-right">Submit</button>
106
- </section>
107
-
108
- <section class="progress-demo">
109
- <h3>contract</h3>
110
- <button class="ladda-button" data-color="purple" data-style="contract">Submit</button>
111
- </section>
112
-
113
- <h3 id="sizes">Sizes</h3>
114
-
115
- <section class="progress-demo">
116
- <h3>Extra Small</h3>
117
- <button class="ladda-button" data-color="mint" data-style="expand-right" data-size="xs">Submit</button>
118
- </section>
119
-
120
- <section class="progress-demo">
121
- <h3>Small</h3>
122
- <button class="ladda-button" data-color="mint" data-style="expand-right" data-size="s">Submit</button>
123
- </section>
124
-
125
- <section class="progress-demo">
126
- <h3>Large</h3>
127
- <button class="ladda-button" data-color="mint" data-style="expand-right" data-size="l">Submit</button>
128
- </section>
129
-
130
- <section class="progress-demo">
131
- <h3>Extra Large</h3>
132
- <button class="ladda-button" data-color="mint" data-style="expand-right" data-size="xl">Submit</button>
133
- </section>
134
-
135
- <footer>
136
- <small class="sharing">
137
- <a href="http://twitter.com/share" class="twitter-share-button" data-text="Ladda - Buttons with built-in loading indicators by @hakimel" data-url="http://lab.hakim.se/ladda" data-count="small" data-related="hakimel"></a>
138
- </small>
139
- <small class="outro">by <a href="http://hakim.se">Hakim El Hattab</a> / <a href="http://twitter.com/hakimel">@hakimel</a></small>
140
- </footer>
141
-
142
- </article>
143
-
144
- <script src="dist/spin.min.js"></script>
145
- <script src="dist/ladda.min.js"></script>
146
-
147
- <script>
148
-
149
- // Bind normal buttons
150
- Ladda.bind( '.button-demo button', { timeout: 2000 } );
151
-
152
- // Bind progress buttons and simulate loading progress
153
- Ladda.bind( '.progress-demo button', {
154
- callback: function( instance ) {
155
- var progress = 0;
156
- var interval = setInterval( function() {
157
- progress = Math.min( progress + Math.random() * 0.1, 1 );
158
- instance.setProgress( progress );
159
-
160
- if( progress === 1 ) {
161
- instance.stop();
162
- clearInterval( interval );
163
- }
164
- }, 200 );
165
- }
166
- } );
167
-
168
- // You can control loading explicitly using the JavaScript API
169
- // as outlined below:
170
-
171
- // var l = Ladda.create( document.querySelector( 'button' ) );
172
- // l.start();
173
- // l.stop();
174
- // l.toggle();
175
- // l.isLoading();
176
- // l.setProgress( 0-1 );
177
-
178
- </script>
179
-
180
- <a class="fork" href="https://github.com/hakimel/Ladda"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://github-camo.global.ssl.fastly.net/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub"></a>
181
-
182
- <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
183
-
184
- </body>
185
- </html>
@@ -1,46 +0,0 @@
1
- /*!
2
- * Ladda for jQuery
3
- * http://lab.hakim.se/ladda
4
- * MIT licensed
5
- *
6
- * Copyright (C) 2015 Hakim El Hattab, http://hakim.se
7
- */
8
-
9
- (function( Ladda, $ ) {
10
- if ($ === undefined)
11
- return console.error( 'jQuery required for Ladda.jQuery' );
12
-
13
- var arr = [];
14
-
15
- $ = $.extend( $, {
16
- ladda: function( arg ) {
17
- if( arg === 'stopAll' )
18
- Ladda.stopAll();
19
- }
20
- });
21
-
22
- $.fn = $.extend( $.fn, {
23
- ladda: function( arg ) {
24
- var args = arr.slice.call( arguments, 1 );
25
-
26
- if( arg === 'bind' ) {
27
- args.unshift( $( this ).selector );
28
- Ladda.bind.apply( Ladda, args );
29
- }
30
- else {
31
- $( this ).each( function() {
32
- var $this = $( this ), ladda;
33
-
34
- if( arg === undefined )
35
- $this.data( 'ladda', Ladda.create( this ) );
36
- else {
37
- ladda = $this.data( 'ladda' );
38
- ladda[arg].apply( ladda, args );
39
- }
40
- });
41
- }
42
-
43
- return this;
44
- }
45
- });
46
- }( this.Ladda, this.jQuery ));
@@ -1,459 +0,0 @@
1
- /*!
2
- * Ladda
3
- * http://lab.hakim.se/ladda
4
- * MIT licensed
5
- *
6
- * Copyright (C) 2016 Hakim El Hattab, http://hakim.se
7
- */
8
- /* jshint node:true, browser:true */
9
- (function( root, factory ) {
10
-
11
- // CommonJS
12
- if( typeof exports === 'object' ) {
13
- module.exports = factory(require('spin.js'));
14
- }
15
- // AMD module
16
- else if( typeof define === 'function' && define.amd ) {
17
- define( [ 'spin' ], factory );
18
- }
19
- // Browser global
20
- else {
21
- root.Ladda = factory( root.Spinner );
22
- }
23
-
24
- }
25
- (this, function( Spinner ) {
26
- 'use strict';
27
-
28
- // All currently instantiated instances of Ladda
29
- var ALL_INSTANCES = [];
30
-
31
- /**
32
- * Creates a new instance of Ladda which wraps the
33
- * target button element.
34
- *
35
- * @return An API object that can be used to control
36
- * the loading animation state.
37
- */
38
- function create( button ) {
39
-
40
- if( typeof button === 'undefined' ) {
41
- console.warn( "Ladda button target must be defined." );
42
- return;
43
- }
44
-
45
- // The button must have the class "ladda-button"
46
- if( !/ladda-button/i.test( button.className ) ) {
47
- button.className += ' ladda-button';
48
- }
49
-
50
- // Style is required, default to "expand-right"
51
- if( !button.hasAttribute( 'data-style' ) ) {
52
- button.setAttribute( 'data-style', 'expand-right' );
53
- }
54
-
55
- // The text contents must be wrapped in a ladda-label
56
- // element, create one if it doesn't already exist
57
- if( !button.querySelector( '.ladda-label' ) ) {
58
- var laddaLabel = document.createElement( 'span' );
59
- laddaLabel.className = 'ladda-label';
60
- wrapContent( button, laddaLabel );
61
- }
62
-
63
- // The spinner component
64
- var spinner,
65
- spinnerWrapper = button.querySelector( '.ladda-spinner' );
66
-
67
- // Wrapper element for the spinner
68
- if( !spinnerWrapper ) {
69
- spinnerWrapper = document.createElement( 'span' );
70
- spinnerWrapper.className = 'ladda-spinner';
71
- }
72
-
73
- button.appendChild( spinnerWrapper );
74
-
75
- // Timer used to delay starting/stopping
76
- var timer;
77
-
78
- var instance = {
79
-
80
- /**
81
- * Enter the loading state.
82
- */
83
- start: function() {
84
-
85
- // Create the spinner if it doesn't already exist
86
- if( !spinner ) spinner = createSpinner( button );
87
-
88
- button.setAttribute( 'disabled', '' );
89
- button.setAttribute( 'data-loading', '' );
90
-
91
- clearTimeout( timer );
92
- spinner.spin( spinnerWrapper );
93
-
94
- this.setProgress( 0 );
95
-
96
- return this; // chain
97
-
98
- },
99
-
100
- /**
101
- * Enter the loading state, after a delay.
102
- */
103
- startAfter: function( delay ) {
104
-
105
- clearTimeout( timer );
106
- timer = setTimeout( function() { instance.start(); }, delay );
107
-
108
- return this; // chain
109
-
110
- },
111
-
112
- /**
113
- * Exit the loading state.
114
- */
115
- stop: function() {
116
-
117
- button.removeAttribute( 'disabled' );
118
- button.removeAttribute( 'data-loading' );
119
-
120
- // Kill the animation after a delay to make sure it
121
- // runs for the duration of the button transition
122
- clearTimeout( timer );
123
-
124
- if( spinner ) {
125
- timer = setTimeout( function() { spinner.stop(); }, 1000 );
126
- }
127
-
128
- return this; // chain
129
-
130
- },
131
-
132
- /**
133
- * Toggle the loading state on/off.
134
- */
135
- toggle: function() {
136
-
137
- if( this.isLoading() ) {
138
- this.stop();
139
- }
140
- else {
141
- this.start();
142
- }
143
-
144
- return this; // chain
145
-
146
- },
147
-
148
- /**
149
- * Sets the width of the visual progress bar inside of
150
- * this Ladda button
151
- *
152
- * @param {Number} progress in the range of 0-1
153
- */
154
- setProgress: function( progress ) {
155
-
156
- // Cap it
157
- progress = Math.max( Math.min( progress, 1 ), 0 );
158
-
159
- var progressElement = button.querySelector( '.ladda-progress' );
160
-
161
- // Remove the progress bar if we're at 0 progress
162
- if( progress === 0 && progressElement && progressElement.parentNode ) {
163
- progressElement.parentNode.removeChild( progressElement );
164
- }
165
- else {
166
- if( !progressElement ) {
167
- progressElement = document.createElement( 'div' );
168
- progressElement.className = 'ladda-progress';
169
- button.appendChild( progressElement );
170
- }
171
-
172
- progressElement.style.width = ( ( progress || 0 ) * button.offsetWidth ) + 'px';
173
- }
174
-
175
- },
176
-
177
- enable: function() {
178
-
179
- this.stop();
180
-
181
- return this; // chain
182
-
183
- },
184
-
185
- disable: function () {
186
-
187
- this.stop();
188
- button.setAttribute( 'disabled', '' );
189
-
190
- return this; // chain
191
-
192
- },
193
-
194
- isLoading: function() {
195
-
196
- return button.hasAttribute( 'data-loading' );
197
-
198
- },
199
-
200
- remove: function() {
201
-
202
- clearTimeout( timer );
203
-
204
- button.removeAttribute( 'disabled', '' );
205
- button.removeAttribute( 'data-loading', '' );
206
-
207
- if( spinner ) {
208
- spinner.stop();
209
- spinner = null;
210
- }
211
-
212
- for( var i = 0, len = ALL_INSTANCES.length; i < len; i++ ) {
213
- if( instance === ALL_INSTANCES[i] ) {
214
- ALL_INSTANCES.splice( i, 1 );
215
- break;
216
- }
217
- }
218
-
219
- }
220
-
221
- };
222
-
223
- ALL_INSTANCES.push( instance );
224
-
225
- return instance;
226
-
227
- }
228
-
229
- /**
230
- * Get the first ancestor node from an element, having a
231
- * certain type.
232
- *
233
- * @param elem An HTML element
234
- * @param type an HTML tag type (uppercased)
235
- *
236
- * @return An HTML element
237
- */
238
- function getAncestorOfTagType( elem, type ) {
239
-
240
- while ( elem.parentNode && elem.tagName !== type ) {
241
- elem = elem.parentNode;
242
- }
243
-
244
- return ( type === elem.tagName ) ? elem : undefined;
245
-
246
- }
247
-
248
- /**
249
- * Returns a list of all inputs in the given form that
250
- * have their `required` attribute set.
251
- *
252
- * @param form The from HTML element to look in
253
- *
254
- * @return A list of elements
255
- */
256
- function getRequiredFields( form ) {
257
-
258
- var requirables = [ 'input', 'textarea', 'select' ];
259
- var inputs = [];
260
-
261
- for( var i = 0; i < requirables.length; i++ ) {
262
- var candidates = form.getElementsByTagName( requirables[i] );
263
- for( var j = 0; j < candidates.length; j++ ) {
264
- if ( candidates[j].hasAttribute( 'required' ) ) {
265
- inputs.push( candidates[j] );
266
- }
267
- }
268
- }
269
-
270
- return inputs;
271
-
272
- }
273
-
274
-
275
- /**
276
- * Binds the target buttons to automatically enter the
277
- * loading state when clicked.
278
- *
279
- * @param target Either an HTML element or a CSS selector.
280
- * @param options
281
- * - timeout Number of milliseconds to wait before
282
- * automatically cancelling the animation.
283
- */
284
- function bind( target, options ) {
285
-
286
- options = options || {};
287
-
288
- var targets = [];
289
-
290
- if( typeof target === 'string' ) {
291
- targets = toArray( document.querySelectorAll( target ) );
292
- }
293
- else if( typeof target === 'object' && typeof target.nodeName === 'string' ) {
294
- targets = [ target ];
295
- }
296
-
297
- for( var i = 0, len = targets.length; i < len; i++ ) {
298
-
299
- (function() {
300
- var element = targets[i];
301
-
302
- // Make sure we're working with a DOM element
303
- if( typeof element.addEventListener === 'function' ) {
304
- var instance = create( element );
305
- var timeout = -1;
306
-
307
- element.addEventListener( 'click', function( event ) {
308
-
309
- // If the button belongs to a form, make sure all the
310
- // fields in that form are filled out
311
- var valid = true;
312
- var form = getAncestorOfTagType( element, 'FORM' );
313
-
314
- if( typeof form !== 'undefined' ) {
315
- // Modern form validation
316
- if( typeof form.checkValidity === 'function' ) {
317
- valid = form.checkValidity();
318
- }
319
- // Fallback to manual validation for old browsers
320
- else {
321
- var requireds = getRequiredFields( form );
322
- for( var i = 0; i < requireds.length; i++ ) {
323
-
324
- if( requireds[i].value.replace( /^\s+|\s+$/g, '' ) === '' ) {
325
- valid = false;
326
- }
327
-
328
- // Radiobuttons and Checkboxes need to be checked for the "checked" attribute
329
- if( (requireds[i].type === 'checkbox' || requireds[i].type === 'radio' ) && !requireds[i].checked ) {
330
- valid = false;
331
- }
332
-
333
- // Email field validation
334
- if( requireds[i].type === 'email' ) {
335
- valid = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/.test( requireds[i].value );
336
- }
337
-
338
- }
339
- }
340
- }
341
-
342
- if( valid ) {
343
- // This is asynchronous to avoid an issue where setting
344
- // the disabled attribute on the button prevents forms
345
- // from submitting
346
- instance.startAfter( 1 );
347
-
348
- // Set a loading timeout if one is specified
349
- if( typeof options.timeout === 'number' ) {
350
- clearTimeout( timeout );
351
- timeout = setTimeout( instance.stop, options.timeout );
352
- }
353
-
354
- // Invoke callbacks
355
- if( typeof options.callback === 'function' ) {
356
- options.callback.apply( null, [ instance ] );
357
- }
358
- }
359
-
360
- }, false );
361
- }
362
- })();
363
-
364
- }
365
-
366
- }
367
-
368
- /**
369
- * Stops ALL current loading animations.
370
- */
371
- function stopAll() {
372
-
373
- for( var i = 0, len = ALL_INSTANCES.length; i < len; i++ ) {
374
- ALL_INSTANCES[i].stop();
375
- }
376
-
377
- }
378
-
379
- function createSpinner( button ) {
380
-
381
- var height = button.offsetHeight,
382
- spinnerColor,
383
- spinnerLines;
384
-
385
- if( height === 0 ) {
386
- // We may have an element that is not visible so
387
- // we attempt to get the height in a different way
388
- height = parseFloat( window.getComputedStyle( button ).height );
389
- }
390
-
391
- // If the button is tall we can afford some padding
392
- if( height > 32 ) {
393
- height *= 0.8;
394
- }
395
-
396
- // Prefer an explicit height if one is defined
397
- if( button.hasAttribute( 'data-spinner-size' ) ) {
398
- height = parseInt( button.getAttribute( 'data-spinner-size' ), 10 );
399
- }
400
-
401
- // Allow buttons to specify the color of the spinner element
402
- if( button.hasAttribute( 'data-spinner-color' ) ) {
403
- spinnerColor = button.getAttribute( 'data-spinner-color' );
404
- }
405
-
406
- // Allow buttons to specify the number of lines of the spinner
407
- if( button.hasAttribute( 'data-spinner-lines' ) ) {
408
- spinnerLines = parseInt( button.getAttribute( 'data-spinner-lines' ), 10 );
409
- }
410
-
411
- var radius = height * 0.2,
412
- length = radius * 0.6,
413
- width = radius < 7 ? 2 : 3;
414
-
415
- return new Spinner( {
416
- color: spinnerColor || '#fff',
417
- lines: spinnerLines || 12,
418
- radius: radius,
419
- length: length,
420
- width: width,
421
- zIndex: 'auto',
422
- top: 'auto',
423
- left: 'auto',
424
- className: ''
425
- } );
426
-
427
- }
428
-
429
- function toArray( nodes ) {
430
-
431
- var a = [];
432
-
433
- for ( var i = 0; i < nodes.length; i++ ) {
434
- a.push( nodes[ i ] );
435
- }
436
-
437
- return a;
438
-
439
- }
440
-
441
- function wrapContent( node, wrapper ) {
442
-
443
- var r = document.createRange();
444
- r.selectNodeContents( node );
445
- r.surroundContents( wrapper );
446
- node.appendChild( wrapper );
447
-
448
- }
449
-
450
- // Public API
451
- return {
452
-
453
- bind: bind,
454
- create: create,
455
- stopAll: stopAll
456
-
457
- };
458
-
459
- }));