locomotivecms 3.0.0.rc6 → 3.0.0.rc7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (564) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/README.md +1 -1
  4. data/app/assets/images/locomotive/favicon.png +0 -0
  5. data/app/assets/images/locomotive/logo-white.png +0 -0
  6. data/app/assets/images/locomotive/user.png +0 -0
  7. data/app/assets/javascripts/locomotive.js +1 -1
  8. data/app/assets/javascripts/locomotive/application.js.coffee +1 -1
  9. data/app/assets/javascripts/locomotive/utils/file.js.coffee.erb +43 -0
  10. data/app/assets/javascripts/locomotive/utils/nprogress.js.coffee +6 -5
  11. data/app/assets/javascripts/locomotive/utils/select2.js.coffee +10 -8
  12. data/app/assets/javascripts/locomotive/views/application_view.js.coffee +4 -13
  13. data/app/assets/javascripts/locomotive/views/content_assets/dropzone_view.js.coffee +3 -3
  14. data/app/assets/javascripts/locomotive/views/content_assets/index_view.js.coffee +12 -6
  15. data/app/assets/javascripts/locomotive/views/editable_elements/edit_view.js.coffee +2 -2
  16. data/app/assets/javascripts/locomotive/views/editable_elements/index_view.js.coffee +1 -1
  17. data/app/assets/javascripts/locomotive/views/editable_elements/page_view.js.coffee +21 -20
  18. data/app/assets/javascripts/locomotive/views/inputs/array_view.js.coffee +10 -11
  19. data/app/assets/javascripts/locomotive/views/inputs/document_picker_view.js.coffee +7 -6
  20. data/app/assets/javascripts/locomotive/views/inputs/file_view.js.coffee +1 -0
  21. data/app/assets/javascripts/locomotive/views/inputs/rte/link_view.js.coffee +0 -2
  22. data/app/assets/javascripts/locomotive/views/inputs/rte_view.js.coffee.erb +3 -2
  23. data/app/assets/javascripts/locomotive/views/inputs/simple_image_view.js.coffee +71 -0
  24. data/app/assets/javascripts/locomotive/views/my_account/edit_view.js.coffee +1 -21
  25. data/app/assets/javascripts/locomotive/views/registrations/new_view.js.coffee +7 -0
  26. data/app/assets/javascripts/locomotive/views/shared/form_view.js.coffee +10 -1
  27. data/app/assets/javascripts/locomotive/views/simple_view.js.coffee +17 -0
  28. data/app/assets/stylesheets/locomotive/account.scss +6 -0
  29. data/app/assets/stylesheets/locomotive/account/_brand.scss +14 -0
  30. data/app/assets/stylesheets/locomotive/account/_files.scss +124 -0
  31. data/app/assets/stylesheets/locomotive/account/_forms.scss +6 -0
  32. data/app/assets/stylesheets/locomotive/account/_navigation.scss +117 -0
  33. data/app/assets/stylesheets/locomotive/account/_navs.scss +42 -0
  34. data/app/assets/stylesheets/locomotive/account/_public.scss +2 -33
  35. data/app/assets/stylesheets/locomotive/account/_variables.scss +2 -2
  36. data/app/assets/stylesheets/locomotive/application.scss +2 -2
  37. data/app/assets/stylesheets/locomotive/base/_fonts.scss +0 -2
  38. data/app/assets/stylesheets/locomotive/base/form/_api_key.scss +1 -1
  39. data/app/assets/stylesheets/locomotive/base/form/_array_input.scss +9 -17
  40. data/app/assets/stylesheets/locomotive/base/form/_base.scss +3 -3
  41. data/app/assets/stylesheets/locomotive/base/form/_document_picker.scss +6 -55
  42. data/app/assets/stylesheets/locomotive/base/form/_select2.scss +44 -68
  43. data/app/assets/stylesheets/locomotive/base/form/_toggle.scss +2 -2
  44. data/app/assets/stylesheets/locomotive/components/_activity_feed.scss +12 -23
  45. data/app/assets/stylesheets/locomotive/components/_content_assets.scss +16 -11
  46. data/app/assets/stylesheets/locomotive/components/_developers.scss +1 -1
  47. data/app/assets/stylesheets/locomotive/components/_list.scss +3 -3
  48. data/app/assets/stylesheets/locomotive/components/_sites.scss +1 -1
  49. data/app/assets/stylesheets/locomotive/components/_transitions.scss +30 -42
  50. data/app/assets/stylesheets/locomotive/components/header/_account.scss +27 -21
  51. data/app/assets/stylesheets/locomotive/components/header/_base.scss +25 -52
  52. data/app/assets/stylesheets/locomotive/components/misc/_modal.scss +1 -1
  53. data/app/assets/stylesheets/locomotive/components/sidebar/_pages_tree.scss +1 -1
  54. data/app/assets/stylesheets/locomotive/globals/_mixins.scss +1 -45
  55. data/app/assets/stylesheets/locomotive/globals/_variables.scss +3 -3
  56. data/app/assets/stylesheets/locomotive/layouts/_error.scss +4 -4
  57. data/app/assets/stylesheets/locomotive/layouts/_not_logged_in.scss +4 -4
  58. data/app/assets/stylesheets/locomotive/live_editing_iframe.scss +2 -3
  59. data/app/controllers/locomotive/my_account_controller.rb +1 -1
  60. data/app/helpers/locomotive/editable_elements_helper.rb +1 -1
  61. data/app/helpers/locomotive/errors_helper.rb +1 -1
  62. data/app/inputs/locomotive/api_key_input.rb +1 -1
  63. data/app/inputs/locomotive/array_input.rb +1 -1
  64. data/app/inputs/locomotive/document_picker_input.rb +15 -11
  65. data/app/inputs/locomotive/file_input.rb +1 -1
  66. data/app/inputs/locomotive/simple_image_input.rb +88 -0
  67. data/app/models/locomotive/concerns/site/locales.rb +2 -0
  68. data/app/models/locomotive/editable_element.rb +4 -0
  69. data/app/models/locomotive/editable_file.rb +1 -0
  70. data/app/policies/locomotive/site_policy.rb +2 -2
  71. data/app/uploaders/locomotive/theme_asset_uploader.rb +1 -1
  72. data/app/views/locomotive/current_site/form/_advanced.html.slim +2 -0
  73. data/app/views/locomotive/editable_elements/_form.html.slim +1 -1
  74. data/app/views/locomotive/errors/404.html.slim +9 -2
  75. data/app/views/locomotive/errors/500.html.slim +9 -2
  76. data/app/views/locomotive/errors/no_site.html.slim +13 -4
  77. data/app/views/locomotive/layouts/account.html.slim +19 -8
  78. data/app/views/locomotive/layouts/error.html.slim +15 -14
  79. data/app/views/locomotive/my_account/edit.html.slim +11 -13
  80. data/app/views/locomotive/my_account/form/_actions.html.slim +2 -1
  81. data/app/views/locomotive/my_account/form/_api.html.slim +5 -0
  82. data/app/views/locomotive/my_account/form/_credentials.html.slim +0 -2
  83. data/app/views/locomotive/my_account/form/_main.html.slim +4 -2
  84. data/app/views/locomotive/passwords/edit.html.slim +3 -0
  85. data/app/views/locomotive/passwords/new.html.slim +3 -0
  86. data/app/views/locomotive/registrations/new.html.slim +3 -0
  87. data/app/views/locomotive/sessions/new.html.slim +3 -0
  88. data/app/views/locomotive/shared/_account_navigation.slim +10 -0
  89. data/app/views/locomotive/shared/_header.html.slim +1 -4
  90. data/app/views/locomotive/shared/header/_account.html.slim +3 -6
  91. data/app/views/locomotive/shared/header/_account_menu.html.slim +1 -1
  92. data/app/views/locomotive/shared/header/_brand.html.slim +1 -3
  93. data/app/views/locomotive/sites/index.html.slim +4 -3
  94. data/app/views/locomotive/sites/new.html.slim +3 -2
  95. data/config/locales/carrierwave.el.yml +4 -0
  96. data/config/locales/default.el.yml +13 -0
  97. data/config/locales/devise.el.yml +61 -0
  98. data/config/locales/devise.en.yml +1 -1
  99. data/config/locales/devise.nl.yml +1 -1
  100. data/config/locales/el.yml +320 -0
  101. data/config/locales/en.yml +6 -2
  102. data/config/locales/flash.el.yml +79 -0
  103. data/config/locales/inputs.el.yml +19 -0
  104. data/config/locales/inputs.en.yml +1 -0
  105. data/config/locales/inputs.nl.yml +1 -0
  106. data/config/locales/mongoid.el.yml +47 -0
  107. data/config/locales/nl.yml +22 -17
  108. data/config/locales/simple_form.el.yml +153 -0
  109. data/config/locales/simple_form.en.yml +0 -1
  110. data/config/locales/simple_form.nl.yml +6 -1
  111. data/config/routes.rb +1 -1
  112. data/lib/generators/locomotive/install/templates/locomotive.rb +3 -0
  113. data/lib/locomotive.rb +0 -1
  114. data/lib/locomotive/dependencies.rb +0 -2
  115. data/lib/locomotive/engine.rb +5 -0
  116. data/lib/locomotive/middlewares.rb +1 -0
  117. data/lib/locomotive/middlewares/image_thumbnail.rb +57 -0
  118. data/lib/locomotive/simple_form.rb +1 -1
  119. data/lib/locomotive/steam/middlewares/page_editing.rb +1 -0
  120. data/lib/locomotive/steam_adaptor.rb +4 -1
  121. data/lib/locomotive/version.rb +1 -1
  122. data/public/favicon.ico +0 -0
  123. data/spec/dummy/config/initializers/locomotive.rb +3 -0
  124. data/spec/dummy/config/routes.rb +1 -1
  125. data/spec/models/locomotive/editable_element_spec.rb +22 -0
  126. data/spec/requests/locomotive/image_thumbnail_spec.rb +66 -0
  127. data/spec/requests/{site_spec.rb → locomotive/site_spec.rb} +1 -2
  128. data/spec/requests/locomotive/steam/cache_spec.rb +1 -1
  129. data/spec/requests/locomotive/steam/wysihtml_css_spec.rb +1 -1
  130. data/spec/support/features/session_helpers.rb +3 -1
  131. data/vendor/assets/components/locomotive/select2-bootstrap-css/select2-bootstrap.css +495 -0
  132. data/vendor/assets/components/locomotive/select2/select2.css +482 -0
  133. data/vendor/assets/components/locomotive/select2/select2.js +6284 -0
  134. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/Gemfile +3 -0
  135. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/Gruntfile.js +110 -0
  136. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/LICENSE +8 -0
  137. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/README.md +91 -0
  138. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.3.2.html +4 -0
  139. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.1.html +4 -0
  140. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.2.html +4 -0
  141. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.3.html +4 -0
  142. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.4.html +4 -0
  143. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.5.html +4 -0
  144. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.5.1.html +4 -0
  145. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.5.2.html +4 -0
  146. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_config.yml +13 -0
  147. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/footer-links.html +9 -0
  148. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/footer.html +10 -0
  149. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/head.html +13 -0
  150. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/navbar.html +21 -0
  151. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/select2-select.html +55 -0
  152. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_layouts/default.html +489 -0
  153. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_layouts/minimal.html +7 -0
  154. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_extends.sass +4 -0
  155. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_mixins.sass +9 -0
  156. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_select2-result-repository.sass +40 -0
  157. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_variables.sass +1 -0
  158. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/bootstrap.min.css +5 -0
  159. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/gh-pages.sass +103 -0
  160. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/select2-bootstrap.css +495 -0
  161. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/favicon.ico +0 -0
  162. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.eot +0 -0
  163. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.svg +288 -0
  164. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.ttf +0 -0
  165. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.woff +0 -0
  166. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.woff2 +0 -0
  167. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/index.html +77 -0
  168. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/js/bootstrap.min.js +7 -0
  169. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/js/respond.min.js +5 -0
  170. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/master.html +4 -0
  171. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/bower.json +20 -0
  172. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/compass/stylesheets/select2-bootstrap.scss +1 -0
  173. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.3.2.html +1668 -0
  174. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.1.html +1662 -0
  175. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.2.html +1662 -0
  176. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.3.html +1662 -0
  177. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.4.html +1662 -0
  178. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.5.html +1662 -0
  179. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.5.1.html +1662 -0
  180. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.5.2.html +1662 -0
  181. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/bootstrap.min.css +5 -0
  182. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/gh-pages.css +142 -0
  183. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/select2-bootstrap.css +495 -0
  184. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/favicon.ico +0 -0
  185. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.eot +0 -0
  186. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.svg +288 -0
  187. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
  188. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.woff +0 -0
  189. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
  190. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/index.html +293 -0
  191. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/js/bootstrap.min.js +7 -0
  192. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/js/respond.min.js +5 -0
  193. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/master.html +1662 -0
  194. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/build.less +3 -0
  195. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/build.scss +3 -0
  196. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap-css.rb +11 -0
  197. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap.less +480 -0
  198. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap.scss +480 -0
  199. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap/version.rb +9 -0
  200. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/package.json +48 -0
  201. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap-css.gemspec +22 -0
  202. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap.css +495 -0
  203. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap.min.css +1 -0
  204. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/less_test.js +25 -0
  205. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/scss_test.js +25 -0
  206. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/support/less.patch +416 -0
  207. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/support/scss.patch +4 -0
  208. data/vendor/assets/components/locomotive_sources/select2/CONTRIBUTING.md +204 -0
  209. data/vendor/assets/components/locomotive_sources/select2/Gruntfile.js +370 -0
  210. data/vendor/assets/components/locomotive_sources/select2/LICENSE.md +21 -0
  211. data/vendor/assets/components/locomotive_sources/select2/README.md +105 -0
  212. data/vendor/assets/components/locomotive_sources/select2/bower.json +12 -0
  213. data/vendor/assets/components/locomotive_sources/select2/component.json +19 -0
  214. data/vendor/assets/components/locomotive_sources/select2/composer.json +25 -0
  215. data/vendor/assets/components/locomotive_sources/select2/dist/css/select2.css +482 -0
  216. data/vendor/assets/components/locomotive_sources/select2/dist/css/select2.min.css +1 -0
  217. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ar.js +3 -0
  218. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/az.js +3 -0
  219. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/bg.js +3 -0
  220. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ca.js +3 -0
  221. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/cs.js +3 -0
  222. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/da.js +3 -0
  223. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/de.js +3 -0
  224. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/en.js +3 -0
  225. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/es.js +3 -0
  226. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/et.js +3 -0
  227. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/eu.js +3 -0
  228. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fa.js +3 -0
  229. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fi.js +3 -0
  230. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fr.js +3 -0
  231. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/gl.js +3 -0
  232. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/he.js +3 -0
  233. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hi.js +3 -0
  234. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hr.js +3 -0
  235. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hu.js +3 -0
  236. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/id.js +3 -0
  237. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/is.js +3 -0
  238. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/it.js +3 -0
  239. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ja.js +3 -0
  240. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ko.js +3 -0
  241. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/lt.js +3 -0
  242. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/lv.js +3 -0
  243. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/mk.js +3 -0
  244. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ms.js +3 -0
  245. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/nb.js +3 -0
  246. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/nl.js +3 -0
  247. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pl.js +3 -0
  248. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pt-BR.js +3 -0
  249. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pt.js +3 -0
  250. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ro.js +3 -0
  251. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ru.js +3 -0
  252. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sk.js +3 -0
  253. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sr-Cyrl.js +3 -0
  254. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sr.js +3 -0
  255. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sv.js +3 -0
  256. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/th.js +3 -0
  257. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/tr.js +3 -0
  258. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/uk.js +3 -0
  259. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/vi.js +3 -0
  260. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/zh-CN.js +3 -0
  261. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/zh-TW.js +3 -0
  262. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.full.js +6281 -0
  263. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.full.min.js +3 -0
  264. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.js +5571 -0
  265. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.min.js +2 -0
  266. data/vendor/assets/components/locomotive_sources/select2/docs/README.md +38 -0
  267. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/basics.html +65 -0
  268. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/data.html +128 -0
  269. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/disabled-mode.html +43 -0
  270. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/disabled-results.html +32 -0
  271. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/hide-search.html +25 -0
  272. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/localization-rtl-diacritics.html +90 -0
  273. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/matcher.html +43 -0
  274. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/multiple-max.html +28 -0
  275. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/placeholders.html +37 -0
  276. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/programmatic-control.html +156 -0
  277. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/tags.html +33 -0
  278. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/themes-templating-responsive-design.html +111 -0
  279. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/tokenizer.html +36 -0
  280. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/footer.html +20 -0
  281. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/ga.html +9 -0
  282. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/head.html +19 -0
  283. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/js-source-states.html +62 -0
  284. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/announcements-4.0.html +26 -0
  285. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/examples.html +96 -0
  286. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/options-old.html +55 -0
  287. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/options.html +77 -0
  288. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/navigation.html +53 -0
  289. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/notice-previous.html +7 -0
  290. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/adapters.html +209 -0
  291. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/backwards-compatibility.html +200 -0
  292. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/core-options.html +790 -0
  293. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/dropdown.html +308 -0
  294. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/events.html +50 -0
  295. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/setting-default-options.html +37 -0
  296. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility.html +10 -0
  297. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/initial-selection.html +50 -0
  298. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/introduction.html +18 -0
  299. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/matcher.html +50 -0
  300. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/query-function.html +50 -0
  301. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/text-input.html +32 -0
  302. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core.html +9 -0
  303. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/amd-support.html +38 -0
  304. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/data-attributes.html +72 -0
  305. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/options.html +58 -0
  306. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data.html +9 -0
  307. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/ajax.html +109 -0
  308. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/array.html +53 -0
  309. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/select.html +57 -0
  310. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown.html +9 -0
  311. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/filtering.html +23 -0
  312. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/placement.html +29 -0
  313. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/selections.html +17 -0
  314. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events.html +8 -0
  315. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events/internal.html +9 -0
  316. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events/jquery.html +29 -0
  317. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/introduction.html +9 -0
  318. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/not-written.html +3 -0
  319. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections.html +10 -0
  320. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/clearing-selections.html +17 -0
  321. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/multiple.html +17 -0
  322. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/placeholder.html +53 -0
  323. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/templating.html +23 -0
  324. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/social-buttons.html +10 -0
  325. data/vendor/assets/components/locomotive_sources/select2/docs/_layouts/default.html +57 -0
  326. data/vendor/assets/components/locomotive_sources/select2/docs/_layouts/home.html +23 -0
  327. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_alert.scss +47 -0
  328. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_anchorjs.scss +27 -0
  329. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_buttons.scss +20 -0
  330. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_code.scss +16 -0
  331. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_examples.scss +90 -0
  332. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_featurette.scss +16 -0
  333. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_footer.scss +42 -0
  334. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_hamburger.scss +49 -0
  335. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_home.scss +31 -0
  336. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_jumbotron.scss +24 -0
  337. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_layout.scss +14 -0
  338. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_nav.scss +58 -0
  339. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_prettify.scss +51 -0
  340. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_result-repository.scss +62 -0
  341. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_sidenav.scss +152 -0
  342. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_social.scss +35 -0
  343. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_typography.scss +6 -0
  344. data/vendor/assets/components/locomotive_sources/select2/docs/announcements-4.0.html +752 -0
  345. data/vendor/assets/components/locomotive_sources/select2/docs/community.html +154 -0
  346. data/vendor/assets/components/locomotive_sources/select2/docs/css/s2-docs.scss +19 -0
  347. data/vendor/assets/components/locomotive_sources/select2/docs/examples.html +254 -0
  348. data/vendor/assets/components/locomotive_sources/select2/docs/images/logo.png +0 -0
  349. data/vendor/assets/components/locomotive_sources/select2/docs/index.html +238 -0
  350. data/vendor/assets/components/locomotive_sources/select2/docs/options-old.html +37 -0
  351. data/vendor/assets/components/locomotive_sources/select2/docs/options.html +37 -0
  352. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/css/bootstrap.min.css +5 -0
  353. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/css/font-awesome.min.css +4 -0
  354. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/FontAwesome.otf +0 -0
  355. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.eot +0 -0
  356. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.svg +520 -0
  357. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.ttf +0 -0
  358. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.woff +0 -0
  359. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ak.png +0 -0
  360. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/al.png +0 -0
  361. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ar.png +0 -0
  362. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/az.png +0 -0
  363. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ca.png +0 -0
  364. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/co.png +0 -0
  365. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ct.png +0 -0
  366. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/de.png +0 -0
  367. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/fl.png +0 -0
  368. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ga.png +0 -0
  369. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/hi.png +0 -0
  370. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ia.png +0 -0
  371. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/id.png +0 -0
  372. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/il.png +0 -0
  373. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/in.png +0 -0
  374. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ks.png +0 -0
  375. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ky.png +0 -0
  376. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/la.png +0 -0
  377. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ma.png +0 -0
  378. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/md.png +0 -0
  379. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/me.png +0 -0
  380. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mi.png +0 -0
  381. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mn.png +0 -0
  382. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mo.png +0 -0
  383. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ms.png +0 -0
  384. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mt.png +0 -0
  385. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nc.png +0 -0
  386. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nd.png +0 -0
  387. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ne.png +0 -0
  388. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nh.png +0 -0
  389. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nj.png +0 -0
  390. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nm.png +0 -0
  391. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nv.png +0 -0
  392. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ny.png +0 -0
  393. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/oh.png +0 -0
  394. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ok.png +0 -0
  395. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/or.png +0 -0
  396. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/pa.png +0 -0
  397. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ri.png +0 -0
  398. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/sc.png +0 -0
  399. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/sd.png +0 -0
  400. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/tn.png +0 -0
  401. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/tx.png +0 -0
  402. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ut.png +0 -0
  403. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/va.png +0 -0
  404. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/vt.png +0 -0
  405. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wa.png +0 -0
  406. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wi.png +0 -0
  407. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wv.png +0 -0
  408. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wy.png +0 -0
  409. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/anchor.min.js +6 -0
  410. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/bootstrap.min.js +6 -0
  411. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/jquery.min.js +4 -0
  412. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/placeholders.jquery.min.js +2 -0
  413. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/prettify.min.js +28 -0
  414. data/vendor/assets/components/locomotive_sources/select2/package.json +66 -0
  415. data/vendor/assets/components/locomotive_sources/select2/select2.jquery.json +32 -0
  416. data/vendor/assets/components/locomotive_sources/select2/src/js/banner.end.js +6 -0
  417. data/vendor/assets/components/locomotive_sources/select2/src/js/banner.start.js +6 -0
  418. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.mousewheel.shim.js +6 -0
  419. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.select2.js +58 -0
  420. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.shim.js +14 -0
  421. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/containerCss.js +56 -0
  422. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/dropdownCss.js +56 -0
  423. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/initSelection.js +42 -0
  424. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/inputData.js +127 -0
  425. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/matcher.js +42 -0
  426. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/query.js +26 -0
  427. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/utils.js +43 -0
  428. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/core.js +545 -0
  429. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/ajax.js +101 -0
  430. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/array.js +79 -0
  431. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/base.js +40 -0
  432. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/maximumInputLength.js +31 -0
  433. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/maximumSelectionLength.js +31 -0
  434. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/minimumInputLength.js +30 -0
  435. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/select.js +285 -0
  436. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/tags.js +119 -0
  437. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/tokenizer.js +93 -0
  438. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/defaults.js +396 -0
  439. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/diacritics.js +847 -0
  440. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown.js +42 -0
  441. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/attachBody.js +216 -0
  442. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/attachContainer.js +18 -0
  443. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/closeOnSelect.js +32 -0
  444. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/hidePlaceholder.js +42 -0
  445. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/infiniteScroll.js +89 -0
  446. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/minimumResultsForSearch.js +39 -0
  447. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/search.js +95 -0
  448. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/selectOnClose.js +40 -0
  449. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/stopPropagation.js +38 -0
  450. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ar.js +36 -0
  451. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/az.js +27 -0
  452. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/bg.js +47 -0
  453. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ca.js +52 -0
  454. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/cs.js +61 -0
  455. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/da.js +40 -0
  456. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/de.js +37 -0
  457. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/en.js +44 -0
  458. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/es.js +52 -0
  459. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/et.js +53 -0
  460. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/eu.js +51 -0
  461. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fa.js +38 -0
  462. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fi.js +27 -0
  463. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fr.js +46 -0
  464. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/gl.js +51 -0
  465. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/he.js +56 -0
  466. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hi.js +39 -0
  467. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hr.js +44 -0
  468. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hu.js +27 -0
  469. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/id.js +30 -0
  470. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/is.js +41 -0
  471. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/it.js +48 -0
  472. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ja.js +36 -0
  473. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ko.js +36 -0
  474. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/lt.js +51 -0
  475. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/lv.js +51 -0
  476. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/mk.js +47 -0
  477. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ms.js +30 -0
  478. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/nb.js +35 -0
  479. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/nl.js +43 -0
  480. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pl.js +45 -0
  481. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pt-BR.js +46 -0
  482. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pt.js +40 -0
  483. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ro.js +48 -0
  484. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ru.js +58 -0
  485. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sk.js +56 -0
  486. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sr-Cyrl.js +55 -0
  487. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sr.js +55 -0
  488. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sv.js +37 -0
  489. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/th.js +33 -0
  490. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/tr.js +33 -0
  491. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/uk.js +43 -0
  492. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/vi.js +37 -0
  493. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/zh-CN.js +36 -0
  494. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/zh-TW.js +33 -0
  495. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/keys.js +25 -0
  496. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/options.js +122 -0
  497. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/results.js +516 -0
  498. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/allowClear.js +97 -0
  499. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/base.js +158 -0
  500. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/clickMask.js +29 -0
  501. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/eventRelay.js +45 -0
  502. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/multiple.js +109 -0
  503. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/placeholder.js +49 -0
  504. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/search.js +222 -0
  505. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/single.js +93 -0
  506. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/stopPropagation.js +38 -0
  507. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/translation.js +36 -0
  508. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/utils.js +262 -0
  509. data/vendor/assets/components/locomotive_sources/select2/src/js/wrapper.end.js +12 -0
  510. data/vendor/assets/components/locomotive_sources/select2/src/js/wrapper.start.js +23 -0
  511. data/vendor/assets/components/locomotive_sources/select2/src/scss/_dropdown.scss +73 -0
  512. data/vendor/assets/components/locomotive_sources/select2/src/scss/_multiple.scss +35 -0
  513. data/vendor/assets/components/locomotive_sources/select2/src/scss/_single.scss +34 -0
  514. data/vendor/assets/components/locomotive_sources/select2/src/scss/core.scss +48 -0
  515. data/vendor/assets/components/locomotive_sources/select2/src/scss/mixins/_gradients.scss +13 -0
  516. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_defaults.scss +34 -0
  517. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_multiple.scss +93 -0
  518. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_single.scss +124 -0
  519. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/layout.scss +64 -0
  520. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/_multiple.scss +94 -0
  521. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/_single.scss +83 -0
  522. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/layout.scss +97 -0
  523. data/vendor/assets/components/locomotive_sources/select2/tests/a11y/search-tests.js +51 -0
  524. data/vendor/assets/components/locomotive_sources/select2/tests/a11y/selection-tests.js +154 -0
  525. data/vendor/assets/components/locomotive_sources/select2/tests/data/array-tests.js +290 -0
  526. data/vendor/assets/components/locomotive_sources/select2/tests/data/base-tests.js +29 -0
  527. data/vendor/assets/components/locomotive_sources/select2/tests/data/inputData-tests.js +158 -0
  528. data/vendor/assets/components/locomotive_sources/select2/tests/data/maximumInputLength-tests.js +138 -0
  529. data/vendor/assets/components/locomotive_sources/select2/tests/data/maximumSelectionLength-tests.js +202 -0
  530. data/vendor/assets/components/locomotive_sources/select2/tests/data/minimumInputLength-tests.js +138 -0
  531. data/vendor/assets/components/locomotive_sources/select2/tests/data/select-tests.js +457 -0
  532. data/vendor/assets/components/locomotive_sources/select2/tests/data/tags-tests.js +241 -0
  533. data/vendor/assets/components/locomotive_sources/select2/tests/data/tokenizer-tests.js +171 -0
  534. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/dropdownCss-tests.js +104 -0
  535. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/selectOnClose-tests.js +137 -0
  536. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/stopPropagation-tests.js +33 -0
  537. data/vendor/assets/components/locomotive_sources/select2/tests/helpers.js +46 -0
  538. data/vendor/assets/components/locomotive_sources/select2/tests/integration.html +19 -0
  539. data/vendor/assets/components/locomotive_sources/select2/tests/integration/select2-methods.js +139 -0
  540. data/vendor/assets/components/locomotive_sources/select2/tests/options/data-tests.js +44 -0
  541. data/vendor/assets/components/locomotive_sources/select2/tests/options/deprecated-tests.js +250 -0
  542. data/vendor/assets/components/locomotive_sources/select2/tests/options/translation-tests.js +28 -0
  543. data/vendor/assets/components/locomotive_sources/select2/tests/options/width-tests.js +66 -0
  544. data/vendor/assets/components/locomotive_sources/select2/tests/selection/allowClear-tests.js +218 -0
  545. data/vendor/assets/components/locomotive_sources/select2/tests/selection/containerCss-tests.js +104 -0
  546. data/vendor/assets/components/locomotive_sources/select2/tests/selection/multiple-tests.js +149 -0
  547. data/vendor/assets/components/locomotive_sources/select2/tests/selection/placeholder-tests.js +74 -0
  548. data/vendor/assets/components/locomotive_sources/select2/tests/selection/search-tests.js +139 -0
  549. data/vendor/assets/components/locomotive_sources/select2/tests/selection/single-tests.js +117 -0
  550. data/vendor/assets/components/locomotive_sources/select2/tests/selection/stopPropagation-tests.js +33 -0
  551. data/vendor/assets/components/locomotive_sources/select2/tests/unit.html +91 -0
  552. data/vendor/assets/components/locomotive_sources/select2/tests/utils/decorator-tests.js +189 -0
  553. data/vendor/assets/components/locomotive_sources/select2/tests/utils/escapeMarkup-tests.js +36 -0
  554. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/jquery-1.7.2.js +9404 -0
  555. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/qunit-1.14.0.css +237 -0
  556. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/qunit-1.14.0.js +2288 -0
  557. data/vendor/assets/components/locomotive_sources/select2/vendor/jquery-2.1.0.js +9111 -0
  558. data/vendor/assets/javascripts/locomotive/wysihtml5/parser_rules/advanced.js +11 -2
  559. metadata +472 -57
  560. data/app/assets/images/locomotive/datepicker/ui-widget-content-top.png +0 -0
  561. data/app/assets/javascripts/locomotive/account.js.coffee +0 -12
  562. data/app/assets/javascripts/locomotive/utils/file.js.coffee +0 -20
  563. data/app/views/locomotive/layouts/without_site.html.slim +0 -23
  564. data/app/views/locomotive/sites/_navigation.slim +0 -5
@@ -44,6 +44,8 @@ nl:
44
44
  locales: Talen
45
45
  timezone_name: Tijdzone
46
46
  cache_enabled: Cache
47
+ private_access: "Wachtwoord-bescherming inschakelen"
48
+ password: "Site-wijde wachtwoord"
47
49
  new:
48
50
  locales: Eerste taal
49
51
  membership:
@@ -68,7 +70,6 @@ nl:
68
70
  hints:
69
71
  locomotive:
70
72
  account:
71
- api_key: "Gebruik Wagon om uw site te implementeren (controleer config/deploy.yml van uw Wagon site)."
72
73
  password: Minimum 6 karakters
73
74
  page:
74
75
  handle: "Unieke identificatie nodig om deze pagina te ontvangen binnenin een externe controller instance."
@@ -93,6 +94,8 @@ nl:
93
94
  cache_enabled: "Wanneer ingeschakeld, uw pagina's zullen worden gecached zolang de inhoud niet veranderd. Het uitschakelen van de cache per pagina is toegestaan."
94
95
  redirect_to_first_domain: "Wanneer ingeschakeld, requests gemaakt naar gelijk welke domeinnaam zal worden doorgestuurd naar het eerste domein."
95
96
  url_redirections: "Redirect (301) verouderde urls naar pagina's die u gecreëerd hebt in de back-office. De oorsprong en de bestemming URLs zijn gescheiden door een <u>spatie</u>."
97
+ private_access: U kunt uw site verbergen achter een wachtwoord.
98
+ password: Het wachtwoord dat publieke bezoekers zullen moeten ingeven om de inhoud te bekijken van uw website.
96
99
  new:
97
100
  locales: "U kan andere talen toevoegen eenmaal de site gecreëerd is."
98
101
  translation:
@@ -146,3 +149,5 @@ nl:
146
149
  submit: Formaat wijzigen
147
150
  site:
148
151
  delete: Verwijder deze site
152
+ page:
153
+ delete: Verwijder
data/config/routes.rb CHANGED
@@ -74,7 +74,7 @@ Locomotive::Engine.routes.draw do
74
74
  end
75
75
 
76
76
  # Preview mode handled by Steam
77
- mount Locomotive::Steam::Server.to_app => '/preview', as: 'preview', anchor: false
77
+ mount Locomotive::Steam.to_app => '/preview', as: 'preview', anchor: false
78
78
 
79
79
  end
80
80
  end
@@ -14,6 +14,9 @@ Locomotive.configure do |config|
14
14
  # default locale (for now, only en, de, fr, pl, pt, pt-BR, it, nl, nb, ja, cs, bg and sk are supported)
15
15
  config.default_locale = :en
16
16
 
17
+ # locales allowed for the back-office UI
18
+ # config.locales = [:en, :fr, :de]
19
+
17
20
  # available locales suggested to "localize" a site. You will have to pick up at least one among that list.
18
21
  # config.site_locales = %w{en de fr pl pt pt-BR it nl nb es ru ja cs bg sk}
19
22
 
data/lib/locomotive.rb CHANGED
@@ -14,7 +14,6 @@ require 'locomotive/custom_fields'
14
14
  require 'locomotive/action_controller'
15
15
  require 'locomotive/rails'
16
16
  require 'locomotive/regexps'
17
- # require 'locomotive/middlewares'
18
17
 
19
18
  module Locomotive
20
19
  extend ActiveSupport::Autoload
@@ -20,7 +20,6 @@ require 'carrierwave'
20
20
  require 'custom_fields'
21
21
  require 'mimetype_fu'
22
22
  require 'actionmailer_with_request'
23
- require 'select2-rails'
24
23
  require 'dragonfly'
25
24
  require 'pundit'
26
25
  require 'sanitize'
@@ -29,7 +28,6 @@ require 'bazaar'
29
28
  require 'csv'
30
29
  require 'rails-i18n'
31
30
 
32
- require 'compass-rails'
33
31
  require 'codemirror/rails'
34
32
  require 'jquery/rails'
35
33
  require 'jquery-ui-rails'
@@ -35,6 +35,8 @@ module Locomotive
35
35
 
36
36
  initializer 'locomotive.precompile.hook', group: :all do |app|
37
37
  app.config.assets.precompile += %w(
38
+ locomotive/icons/flags/*.png
39
+ locomotive/*.png
38
40
  locomotive/bootstrap-colorpicker/saturation.png
39
41
  locomotive/bootstrap-colorpicker/alpha-horizontal.png
40
42
  locomotive/bootstrap-colorpicker/alpha.png
@@ -63,6 +65,9 @@ module Locomotive
63
65
  initializer 'locomotive.middlewares' do |app|
64
66
  require 'locomotive/middlewares'
65
67
 
68
+ # Note: "insert 4" means inserting after Rack::Lock
69
+ # specifying Rack::Lock caused an error in production.
70
+ app.middleware.insert 4, '::Locomotive::Middlewares::ImageThumbnail'
66
71
  app.middleware.use '::Locomotive::Middlewares::Site'
67
72
  end
68
73
 
@@ -1 +1,2 @@
1
1
  require 'locomotive/middlewares/site'
2
+ require 'locomotive/middlewares/image_thumbnail'
@@ -0,0 +1,57 @@
1
+ module Locomotive
2
+ module Middlewares
3
+ class ImageThumbnail
4
+
5
+ PATH = '_image_thumbnail'
6
+
7
+ def initialize(app, opts = {})
8
+ @app = app
9
+ end
10
+
11
+ def call(env)
12
+ if env['PATH_INFO'] == self.class.route
13
+ request = Rack::Request.new(env)
14
+
15
+ image, format = request.params['image'], request.params['format']
16
+
17
+ if thumb = make_thumb(image, format)
18
+ respond(thumb)
19
+ else
20
+ respond('', 422)
21
+ end
22
+ else
23
+ @app.call(env)
24
+ end
25
+
26
+ end
27
+
28
+ def self.route
29
+ Locomotive.mounted_on + '/' + PATH
30
+ end
31
+
32
+ private
33
+
34
+ def make_thumb(image, format)
35
+ return nil if image.blank? || format.blank?
36
+
37
+ file = Locomotive::Dragonfly.app.fetch_url(image)
38
+
39
+ begin
40
+ if image.starts_with?('data') # base64
41
+ file.apply.content.process!(:thumb, format).b64_data
42
+ else
43
+ file.thumb(format).url # url
44
+ end
45
+ rescue ArgumentError => e
46
+ Locomotive.log "[image thumbnail] error = #{e.message}"
47
+ nil
48
+ end
49
+ end
50
+
51
+ def respond(response = '', status = 200)
52
+ [status, { 'Content-Type' => 'text/plain' }, [response]]
53
+ end
54
+
55
+ end
56
+ end
57
+ end
@@ -115,7 +115,7 @@ module Locomotive
115
115
 
116
116
  template.content_tag :button, label,
117
117
  type: 'submit',
118
- class: "btn btn-success btn-sm #{options[:class]}",
118
+ class: options[:change_class] || "btn btn-primary btn-sm #{options[:class]}",
119
119
  data: { loading_text: loading_text }
120
120
  end
121
121
 
@@ -12,6 +12,7 @@ module Locomotive
12
12
 
13
13
  def call(env)
14
14
  status, headers, response = @app.call(env)
15
+
15
16
  site, page, locale, live_editing = env['steam.site'], env['steam.page'], env['steam.locale'].to_s, env['steam.live_editing']
16
17
 
17
18
  if editable?(page, response, live_editing)
@@ -19,7 +19,8 @@ Locomotive::Steam.configure do |config|
19
19
 
20
20
  # rely on Mongoid for the connection information
21
21
  if mongoid = Mongoid.configure.clients[:default]
22
- options = mongoid[:uri] ? mongoid.slice(:uri) : mongoid.slice(:database, :hosts, :username, :password)
22
+ options = mongoid[:uri] ? mongoid.slice(:uri) : mongoid.slice(:hosts, :database)
23
+ options.merge!(mongoid[:options].symbolize_keys) if mongoid[:options]
23
24
  config.adapter = { name: :'mongoDB' }.merge(options.symbolize_keys)
24
25
  end
25
26
 
@@ -40,6 +41,8 @@ Locomotive::Steam.configure do |config|
40
41
  config.render_404_if_no_site = false
41
42
 
42
43
  config.services_hook = -> (services) {
44
+ services.cache = Rails.cache
45
+
43
46
  if services.request
44
47
  services.entry_submission = Locomotive::Steam::APIEntrySubmissionService.new(services.request.env['locomotive.site'], services.locale)
45
48
  services.defer(:liquid_parser) { Locomotive::Steam::LiquidParserWithCacheService.new(services.current_site, services.parent_finder, services.snippet_finder, services.locale) }
@@ -2,5 +2,5 @@
2
2
  # MAJOR.MINOR.PATCH format.
3
3
  # 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0
4
4
  module Locomotive #:nodoc
5
- VERSION = '3.0.0.rc6'
5
+ VERSION = '3.0.0.rc7'
6
6
  end
data/public/favicon.ico CHANGED
Binary file
@@ -11,6 +11,9 @@ Locomotive.configure do |config|
11
11
  # default locale (for now, only en, de, fr, pl, pt, pt-BR, it, nl, nb, ja, cs, bg and sk are supported)
12
12
  config.default_locale = :en
13
13
 
14
+ # locales allowed for the back-office UI
15
+ config.locales = [:en, :nl, :el]
16
+
14
17
  # available locales suggested to "localize" a site. You will have to pick up at least one among that list.
15
18
  # config.site_locales = %w{en de fr pl pt pt-BR it nl nb es ru ja cs bg sk}
16
19
 
@@ -9,6 +9,6 @@ Rails.application.routes.draw do
9
9
  mount Locomotive::API.to_app => '/locomotive(/:site_handle)/api'
10
10
 
11
11
  # Render site
12
- mount Locomotive::Steam::Server.to_app => '/', anchor: false
12
+ mount Locomotive::Steam.to_app => '/', anchor: false
13
13
 
14
14
  end
@@ -23,4 +23,26 @@ describe Locomotive::EditableElement do
23
23
 
24
24
  end
25
25
 
26
+ describe '#path' do
27
+
28
+ subject { element.path }
29
+
30
+ it { is_expected.to eq '' }
31
+
32
+ context 'no block and a slug' do
33
+
34
+ let(:attributes) { { slug: 'banner' } }
35
+ it { is_expected.to eq 'banner' }
36
+
37
+ end
38
+
39
+ context 'a block and a slug' do
40
+
41
+ let(:attributes) { { block: 'content/header', slug: 'banner' } }
42
+ it { is_expected.to eq 'content--header--banner' }
43
+
44
+ end
45
+
46
+ end
47
+
26
48
  end
@@ -0,0 +1,66 @@
1
+ require 'spec_helper'
2
+
3
+ describe Locomotive::Middlewares::ImageThumbnail do
4
+
5
+ let(:app) { ->(env) { [200, env, 'Hello world'] } }
6
+ let(:middleware) { described_class.new(app) }
7
+
8
+ describe '.route' do
9
+
10
+ subject { described_class.route }
11
+
12
+ it { is_expected.to eq '/locomotive/_image_thumbnail' }
13
+
14
+ end
15
+
16
+ describe '#call' do
17
+
18
+ let(:url) { 'http://locomotive.dev/locomotive/_image_thumbnail' }
19
+ let(:image) { 'http://locomotive.dev/assets/banner.png' }
20
+ let(:format) { '300x300' }
21
+ let(:params) { { 'image' => image, 'format' => format } }
22
+ let(:request) { Rack::MockRequest.new(middleware) }
23
+
24
+ subject { request.post(url, params: params) }
25
+
26
+ describe "pass if it doesn't match the route" do
27
+
28
+ let(:url) { 'http://locomotive.dev/locomotive/image_thumbnail' }
29
+ it { expect(subject.body).to eq 'Hello world' }
30
+
31
+ end
32
+
33
+ describe 'missing parameters' do
34
+
35
+ let(:params) { '' }
36
+ it { expect(subject.status).to eq 422 }
37
+
38
+ end
39
+
40
+ describe 'convert an url' do
41
+
42
+ it { expect(subject.status).to eq 200 }
43
+ it { expect(subject.body).to eq '/images/dynamic/W1siZnUiLCJodHRwOi8vbG9jb21vdGl2ZS5kZXYvYXNzZXRzL2Jhbm5lci5wbmciXSxbInAiLCJ0aHVtYiIsIjMwMHgzMDAiXV0/banner.png?sha=36df3764149782ba' }
44
+
45
+ end
46
+
47
+ describe 'convert a base64' do
48
+
49
+ let(:image) { 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNgYPhfDwACggF/yWU3jgAAAABJRU5ErkJggg==' }
50
+
51
+ it { expect(subject.status).to eq 200 }
52
+ it { expect(subject.body).to include("data:image/png;base64") }
53
+
54
+ describe 'wrong format' do
55
+
56
+ let(:format) { 'wrongsyntax' }
57
+
58
+ it { expect(subject.status).to eq 422 }
59
+
60
+ end
61
+
62
+ end
63
+
64
+ end
65
+
66
+ end
@@ -25,7 +25,7 @@ describe Locomotive::Middlewares::Site do
25
25
  subject { middleware.call(rack_env) }
26
26
 
27
27
  it { expect(subject.first).to eq 404 }
28
- it { expect(subject.last.body).to match(/Sign In/) }
28
+ it { expect(subject.last.body).to match(/Site not found \| Locomotive/) }
29
29
 
30
30
  context 'default host' do
31
31
 
@@ -120,5 +120,4 @@ describe Locomotive::Middlewares::Site do
120
120
 
121
121
  end
122
122
 
123
-
124
123
  end
@@ -39,7 +39,7 @@ describe Locomotive::Steam::Middlewares::Cache do
39
39
 
40
40
  subject { middleware.send(:cache_key, steam_env) }
41
41
 
42
- it { expect(subject).to eq 'baf811bda8ae9dbeab661855d023de69' }
42
+ it { expect(subject).to eq 'be37e623aefc313bc83bc68e75f8ca67' }
43
43
 
44
44
  end
45
45
 
@@ -33,7 +33,7 @@ describe Locomotive::Steam::Middlewares::WysihtmlCss do
33
33
 
34
34
  let(:html) { '<html><head></head><body></body></html>' }
35
35
 
36
- it { is_expected.to eq('<html><head><link rel="stylesheet" type="text/css" href="/assets/locomotive/wysihtml5_editor.css"></head><body></body></html>') }
36
+ it { is_expected.to match(%r(<html><head><link rel="stylesheet" type="text/css" href="/assets/locomotive/wysihtml5_editor-[^.]+.css"></head><body></body></html>)) }
37
37
 
38
38
  end
39
39
 
@@ -20,7 +20,9 @@ module Features
20
20
 
21
21
  def forgot_password(&block)
22
22
  sign_up_with 'John Doe', 'john@doe.net', 'password'
23
- click_link 'Log out'
23
+ click_link 'John Doe'
24
+ within('.navigation') { click_link 'Log out' }
25
+ # click_link 'Log out'
24
26
  click_link 'Forgot my password'
25
27
  fill_in 'Your email', with: 'john@doe.net'
26
28
  click_button 'Submit'
@@ -0,0 +1,495 @@
1
+ /*! Select2 Bootstrap 3 CSS v1.4.6 | MIT License | github.com/t0m/select2-bootstrap-css */
2
+ /**
3
+ * Reset Bootstrap 3 .form-control styles which - if applied to the
4
+ * original <select>-element the Select2-plugin may be run against -
5
+ * are copied to the .select2-container.
6
+ *
7
+ * 1. Overwrite .select2-container's original display:inline-block
8
+ * with Bootstrap 3's default for .form-control, display:block;
9
+ * courtesy of @juristr (@see https://github.com/fk/select2-bootstrap-css/pull/1)
10
+ */
11
+ .select2-container.form-control {
12
+ background: transparent;
13
+ box-shadow: none;
14
+ border: none;
15
+ display: block;
16
+ /* 1 */
17
+ margin: 0;
18
+ padding: 0;
19
+ }
20
+
21
+ /**
22
+ * Adjust Select2 inputs to fit Bootstrap 3 default .form-control appearance.
23
+ */
24
+ .select2-container .select2-choices .select2-search-field input,
25
+ .select2-container .select2-choice,
26
+ .select2-container .select2-choices {
27
+ background: none;
28
+ padding: 0;
29
+ border-color: #cccccc;
30
+ border-radius: 4px;
31
+ color: #555555;
32
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
33
+ background-color: white;
34
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
35
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
36
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
37
+ }
38
+
39
+ .select2-search input {
40
+ border-color: #cccccc;
41
+ border-radius: 4px;
42
+ color: #555555;
43
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
44
+ background-color: white;
45
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
46
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
47
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
48
+ }
49
+
50
+ .select2-container .select2-choices .select2-search-field input {
51
+ -webkit-box-shadow: none;
52
+ box-shadow: none;
53
+ }
54
+
55
+ /**
56
+ * Adjust Select2 input heights to match the Bootstrap default.
57
+ */
58
+ .select2-container .select2-choice {
59
+ height: 34px;
60
+ line-height: 1.42857;
61
+ }
62
+
63
+ /**
64
+ * Address Multi Select2's height which - depending on how many elements have been selected -
65
+ * may grown higher than their initial size.
66
+ */
67
+ .select2-container.select2-container-multi.form-control {
68
+ height: auto;
69
+ }
70
+
71
+ /**
72
+ * Address Bootstrap 3 control sizing classes
73
+ * @see http://getbootstrap.com/css/#forms-control-sizes
74
+ */
75
+ .select2-container.input-sm .select2-choice,
76
+ .input-group-sm .select2-container .select2-choice {
77
+ height: 30px;
78
+ line-height: 1.5;
79
+ border-radius: 3px;
80
+ }
81
+
82
+ .select2-container.input-lg .select2-choice,
83
+ .input-group-lg .select2-container .select2-choice {
84
+ height: 46px;
85
+ line-height: 1.33333;
86
+ border-radius: 6px;
87
+ }
88
+
89
+ .select2-container-multi .select2-choices .select2-search-field input {
90
+ height: 32px;
91
+ }
92
+
93
+ .select2-container-multi.input-sm .select2-choices .select2-search-field input,
94
+ .input-group-sm .select2-container-multi .select2-choices .select2-search-field input {
95
+ height: 28px;
96
+ }
97
+
98
+ .select2-container-multi.input-lg .select2-choices .select2-search-field input,
99
+ .input-group-lg .select2-container-multi .select2-choices .select2-search-field input {
100
+ height: 44px;
101
+ }
102
+
103
+ /**
104
+ * Adjust height and line-height for .select2-search-field amd multi-select Select2 widgets.
105
+ *
106
+ * 1. Class repetition to address missing .select2-chosen in Select2 < 3.3.2.
107
+ */
108
+ .select2-container-multi .select2-choices .select2-search-field input {
109
+ margin: 0;
110
+ }
111
+
112
+ .select2-chosen,
113
+ .select2-choice > span:first-child,
114
+ .select2-container .select2-choices .select2-search-field input {
115
+ padding: 6px 12px;
116
+ }
117
+
118
+ .input-sm .select2-chosen,
119
+ .input-group-sm .select2-chosen,
120
+ .input-sm .select2-choice > span:first-child,
121
+ .input-group-sm .select2-choice > span:first-child,
122
+ .input-sm .select2-choices .select2-search-field input,
123
+ .input-group-sm .select2-choices .select2-search-field input {
124
+ padding: 5px 10px;
125
+ }
126
+
127
+ .input-lg .select2-chosen,
128
+ .input-group-lg .select2-chosen,
129
+ .input-lg .select2-choice > span:first-child,
130
+ .input-group-lg .select2-choice > span:first-child,
131
+ .input-lg .select2-choices .select2-search-field input,
132
+ .input-group-lg .select2-choices .select2-search-field input {
133
+ padding: 10px 16px;
134
+ }
135
+
136
+ .select2-container-multi .select2-choices .select2-search-choice {
137
+ margin-top: 5px;
138
+ margin-bottom: 3px;
139
+ }
140
+
141
+ .select2-container-multi.input-sm .select2-choices .select2-search-choice,
142
+ .input-group-sm .select2-container-multi .select2-choices .select2-search-choice {
143
+ margin-top: 3px;
144
+ margin-bottom: 2px;
145
+ }
146
+
147
+ .select2-container-multi.input-lg .select2-choices .select2-search-choice,
148
+ .input-group-lg .select2-container-multi .select2-choices .select2-search-choice {
149
+ line-height: 24px;
150
+ }
151
+
152
+ /**
153
+ * Adjust the single Select2's dropdown arrow button appearance.
154
+ *
155
+ * 1. For Select2 v.3.3.2.
156
+ */
157
+ .select2-container .select2-choice .select2-arrow,
158
+ .select2-container .select2-choice div {
159
+ border-left: none;
160
+ background: none;
161
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
162
+ }
163
+
164
+ .select2-dropdown-open .select2-choice .select2-arrow,
165
+ .select2-dropdown-open .select2-choice div {
166
+ border-left-color: transparent;
167
+ background: none;
168
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
169
+ }
170
+
171
+ /**
172
+ * Adjust the dropdown arrow button icon position for the single-select Select2 elements
173
+ * to make it line up vertically now that we increased the height of .select2-container.
174
+ *
175
+ * 1. Class repetition to address missing .select2-chosen in Select2 v.3.3.2.
176
+ */
177
+ .select2-container .select2-choice .select2-arrow b,
178
+ .select2-container .select2-choice div b {
179
+ background-position: 0 3px;
180
+ }
181
+
182
+ .select2-dropdown-open .select2-choice .select2-arrow b,
183
+ .select2-dropdown-open .select2-choice div b {
184
+ background-position: -18px 3px;
185
+ }
186
+
187
+ .select2-container.input-sm .select2-choice .select2-arrow b,
188
+ .input-group-sm .select2-container .select2-choice .select2-arrow b,
189
+ .select2-container.input-sm .select2-choice div b,
190
+ .input-group-sm .select2-container .select2-choice div b {
191
+ background-position: 0 1px;
192
+ }
193
+
194
+ .select2-dropdown-open.input-sm .select2-choice .select2-arrow b,
195
+ .input-group-sm .select2-dropdown-open .select2-choice .select2-arrow b,
196
+ .select2-dropdown-open.input-sm .select2-choice div b,
197
+ .input-group-sm .select2-dropdown-open .select2-choice div b {
198
+ background-position: -18px 1px;
199
+ }
200
+
201
+ .select2-container.input-lg .select2-choice .select2-arrow b,
202
+ .input-group-lg .select2-container .select2-choice .select2-arrow b,
203
+ .select2-container.input-lg .select2-choice div b,
204
+ .input-group-lg .select2-container .select2-choice div b {
205
+ background-position: 0 9px;
206
+ }
207
+
208
+ .select2-dropdown-open.input-lg .select2-choice .select2-arrow b,
209
+ .input-group-lg .select2-dropdown-open .select2-choice .select2-arrow b,
210
+ .select2-dropdown-open.input-lg .select2-choice div b,
211
+ .input-group-lg .select2-dropdown-open .select2-choice div b {
212
+ background-position: -18px 9px;
213
+ }
214
+
215
+ /**
216
+ * Address Bootstrap's validation states and change Select2's border colors and focus states.
217
+ * Apply .has-warning, .has-danger or .has-succes to #select2-drop to match Bootstraps' colors.
218
+ */
219
+ .has-warning .select2-choice,
220
+ .has-warning .select2-choices {
221
+ border-color: #8a6d3b;
222
+ }
223
+ .has-warning .select2-container-active .select2-choice,
224
+ .has-warning .select2-container-multi.select2-container-active .select2-choices {
225
+ border-color: #66512c;
226
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
227
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
228
+ }
229
+ .has-warning.select2-drop-active {
230
+ border-color: #66512c;
231
+ }
232
+ .has-warning.select2-drop-active.select2-drop.select2-drop-above {
233
+ border-top-color: #66512c;
234
+ }
235
+
236
+ .has-error .select2-choice,
237
+ .has-error .select2-choices {
238
+ border-color: #a94442;
239
+ }
240
+ .has-error .select2-container-active .select2-choice,
241
+ .has-error .select2-container-multi.select2-container-active .select2-choices {
242
+ border-color: #843534;
243
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
244
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
245
+ }
246
+ .has-error.select2-drop-active {
247
+ border-color: #843534;
248
+ }
249
+ .has-error.select2-drop-active.select2-drop.select2-drop-above {
250
+ border-top-color: #843534;
251
+ }
252
+
253
+ .has-success .select2-choice,
254
+ .has-success .select2-choices {
255
+ border-color: #3c763d;
256
+ }
257
+ .has-success .select2-container-active .select2-choice,
258
+ .has-success .select2-container-multi.select2-container-active .select2-choices {
259
+ border-color: #2b542c;
260
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
261
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
262
+ }
263
+ .has-success.select2-drop-active {
264
+ border-color: #2b542c;
265
+ }
266
+ .has-success.select2-drop-active.select2-drop.select2-drop-above {
267
+ border-top-color: #2b542c;
268
+ }
269
+
270
+ /**
271
+ * Make Select2's active-styles - applied to .select2-container when the widget receives focus -
272
+ * fit Bootstrap 3's .form-element:focus appearance.
273
+ */
274
+ .select2-container-active .select2-choice,
275
+ .select2-container-multi.select2-container-active .select2-choices {
276
+ border-color: #66afe9;
277
+ outline: none;
278
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
279
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
280
+ -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
281
+ -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
282
+ transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
283
+ }
284
+
285
+ .select2-drop-active {
286
+ border-color: #66afe9;
287
+ }
288
+
289
+ .select2-drop-auto-width,
290
+ .select2-drop.select2-drop-above.select2-drop-active {
291
+ border-top-color: #66afe9;
292
+ }
293
+
294
+ /**
295
+ * Select2 widgets in Bootstrap Input Groups
296
+ *
297
+ * When Select2 widgets are combined with other elements using Bootstrap 3's
298
+ * "Input Group" component, we don't want specific edges of the Select2 container
299
+ * to have a border-radius.
300
+ *
301
+ * In Bootstrap 2, input groups required a markup where these style adjustments
302
+ * could be bound to a CSS-class identifying if the additional elements are appended,
303
+ * prepended or both.
304
+ *
305
+ * Bootstrap 3 doesn't rely on these classes anymore, so we have to use our own.
306
+ * Use .select2-bootstrap-prepend and .select2-bootstrap-append on a Bootstrap 3 .input-group
307
+ * to let the contained Select2 widget know which edges should not be rounded as they are
308
+ * directly followed by another element.
309
+ *
310
+ * @see http://getbootstrap.com/components/#input-groups
311
+ */
312
+ .input-group.select2-bootstrap-prepend [class^="select2-choice"] {
313
+ border-bottom-left-radius: 0 !important;
314
+ border-top-left-radius: 0 !important;
315
+ }
316
+
317
+ .input-group.select2-bootstrap-append [class^="select2-choice"] {
318
+ border-bottom-right-radius: 0 !important;
319
+ border-top-right-radius: 0 !important;
320
+ }
321
+
322
+ .select2-dropdown-open [class^="select2-choice"] {
323
+ border-bottom-right-radius: 0 !important;
324
+ border-bottom-left-radius: 0 !important;
325
+ }
326
+
327
+ .select2-dropdown-open.select2-drop-above [class^="select2-choice"] {
328
+ border-top-right-radius: 0 !important;
329
+ border-top-left-radius: 0 !important;
330
+ border-bottom-right-radius: 4px !important;
331
+ border-bottom-left-radius: 4px !important;
332
+ background: white;
333
+ filter: none;
334
+ }
335
+ .input-group.select2-bootstrap-prepend .select2-dropdown-open.select2-drop-above [class^="select2-choice"] {
336
+ border-bottom-left-radius: 0 !important;
337
+ border-top-left-radius: 0 !important;
338
+ }
339
+ .input-group.select2-bootstrap-append .select2-dropdown-open.select2-drop-above [class^="select2-choice"] {
340
+ border-bottom-right-radius: 0 !important;
341
+ border-top-right-radius: 0 !important;
342
+ }
343
+ .input-group.input-group-sm.select2-bootstrap-prepend .select2-dropdown-open.select2-drop-above [class^="select2-choice"] {
344
+ border-bottom-right-radius: 3px !important;
345
+ }
346
+ .input-group.input-group-lg.select2-bootstrap-prepend .select2-dropdown-open.select2-drop-above [class^="select2-choice"] {
347
+ border-bottom-right-radius: 6px !important;
348
+ }
349
+ .input-group.input-group-sm.select2-bootstrap-append .select2-dropdown-open.select2-drop-above [class^="select2-choice"] {
350
+ border-bottom-left-radius: 3px !important;
351
+ }
352
+ .input-group.input-group-lg.select2-bootstrap-append .select2-dropdown-open.select2-drop-above [class^="select2-choice"] {
353
+ border-bottom-left-radius: 6px !important;
354
+ }
355
+
356
+ /**
357
+ * Adjust Select2's choices hover and selected styles to match Bootstrap 3's default dropdown styles.
358
+ */
359
+ .select2-results .select2-highlighted {
360
+ color: white;
361
+ background-color: #337ab7;
362
+ }
363
+
364
+ /**
365
+ * Adjust alignment of Bootstrap 3 buttons in Bootstrap 3 Input Groups to address
366
+ * Multi Select2's height which - depending on how many elements have been selected -
367
+ * may grown higher than their initial size.
368
+ */
369
+ .select2-bootstrap-append .select2-container-multiple,
370
+ .select2-bootstrap-append .input-group-btn,
371
+ .select2-bootstrap-append .input-group-btn .btn,
372
+ .select2-bootstrap-prepend .select2-container-multiple,
373
+ .select2-bootstrap-prepend .input-group-btn,
374
+ .select2-bootstrap-prepend .input-group-btn .btn {
375
+ vertical-align: top;
376
+ }
377
+
378
+ /**
379
+ * Make Multi Select2's choices match Bootstrap 3's default button styles.
380
+ */
381
+ .select2-container-multi .select2-choices .select2-search-choice {
382
+ color: #555555;
383
+ background: white;
384
+ border-color: #cccccc;
385
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
386
+ -webkit-box-shadow: none;
387
+ box-shadow: none;
388
+ }
389
+
390
+ .select2-container-multi .select2-choices .select2-search-choice-focus {
391
+ background: #ebebeb;
392
+ border-color: #adadad;
393
+ color: #333333;
394
+ -webkit-box-shadow: none;
395
+ box-shadow: none;
396
+ }
397
+
398
+ /**
399
+ * Address Multi Select2's choice close-button vertical alignment.
400
+ */
401
+ .select2-search-choice-close {
402
+ margin-top: -7px;
403
+ top: 50%;
404
+ }
405
+
406
+ /**
407
+ * Adjust the single Select2's clear button position (used to reset the select box
408
+ * back to the placeholder value and visible once a selection is made
409
+ * activated by Select2's "allowClear" option).
410
+ */
411
+ .select2-container .select2-choice abbr {
412
+ top: 50%;
413
+ }
414
+
415
+ /**
416
+ * Adjust "no results" and "selection limit" messages to make use
417
+ * of Bootstrap 3's default "Alert" style.
418
+ *
419
+ * @see http://getbootstrap.com/components/#alerts-default
420
+ */
421
+ .select2-results .select2-no-results,
422
+ .select2-results .select2-searching,
423
+ .select2-results .select2-selection-limit {
424
+ background-color: #fcf8e3;
425
+ color: #8a6d3b;
426
+ }
427
+
428
+ /**
429
+ * Address disabled Select2 styles.
430
+ *
431
+ * 1. For Select2 v.3.3.2.
432
+ * 2. Revert border-left:0 inherited from Select2's CSS to prevent the arrow
433
+ * from jumping when switching from disabled to enabled state and vice versa.
434
+ */
435
+ .select2-container.select2-container-disabled .select2-choice,
436
+ .select2-container.select2-container-disabled .select2-choices {
437
+ cursor: not-allowed;
438
+ background-color: #eeeeee;
439
+ border-color: #cccccc;
440
+ }
441
+ .select2-container.select2-container-disabled .select2-choice .select2-arrow,
442
+ .select2-container.select2-container-disabled .select2-choice div,
443
+ .select2-container.select2-container-disabled .select2-choices .select2-arrow,
444
+ .select2-container.select2-container-disabled .select2-choices div {
445
+ background-color: transparent;
446
+ border-left: 1px solid transparent;
447
+ /* 2 */
448
+ }
449
+
450
+ /**
451
+ * Address Select2's loading indicator position - which should not stick
452
+ * to the right edge of Select2's search input.
453
+ *
454
+ * 1. in .select2-search input
455
+ * 2. in Multi Select2's .select2-search-field input
456
+ * 3. in the status-message of infinite-scroll with remote data (@see http://ivaynberg.github.io/select2/#infinite)
457
+ *
458
+ * These styles alter Select2's default background-position of 100%
459
+ * and supply the new background-position syntax to browsers which support it:
460
+ *
461
+ * 1. Android, Safari < 6/Mobile, IE<9: change to a relative background-position of 99%
462
+ * 2. Chrome 25+, Firefox 13+, IE 9+, Opera 10.5+: use the new CSS3-background-position syntax
463
+ *
464
+ * @see http://www.w3.org/TR/css3-background/#background-position
465
+ *
466
+ * @todo Since both Select2 and Bootstrap 3 only support IE8 and above,
467
+ * we could use the :after-pseudo-element to display the loading indicator.
468
+ * Alternatively, we could supply an altered loading indicator image which already
469
+ * contains an offset to the right.
470
+ */
471
+ .select2-search input.select2-active,
472
+ .select2-container-multi .select2-choices .select2-search-field input.select2-active,
473
+ .select2-more-results.select2-active {
474
+ background-position: 99%;
475
+ /* 4 */
476
+ background-position: right 4px center;
477
+ /* 5 */
478
+ }
479
+
480
+ /**
481
+ * To support Select2 pre v3.4.2 in combination with Bootstrap v3.2.0,
482
+ * ensure that .select2-offscreen width, height and position can not be overwritten.
483
+ *
484
+ * This adresses changes in Bootstrap somewhere after the initial v3.0.0 which -
485
+ * in combination with Select2's pre-v3.4.2 CSS missing the "!important" after
486
+ * the following rules - allow Bootstrap to overwrite the latter, which results in
487
+ * the original <select> element Select2 is replacing not be properly being hidden
488
+ * when used in a "Bootstrap Input Group with Addon".
489
+ **/
490
+ .select2-offscreen,
491
+ .select2-offscreen:focus {
492
+ width: 1px !important;
493
+ height: 1px !important;
494
+ position: absolute !important;
495
+ }