locomotivecms 3.0.1 → 3.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (576) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -2
  3. data/app/api/locomotive/api.rb +4 -0
  4. data/app/api/locomotive/api/entities/site_entity.rb +8 -0
  5. data/app/api/locomotive/api/forms/site_form.rb +1 -1
  6. data/app/api/locomotive/api/helpers/params_helper.rb +14 -3
  7. data/app/api/locomotive/api/middlewares/logger_middleware.rb +1 -3
  8. data/app/api/locomotive/api/resources/current_site_resource.rb +3 -1
  9. data/app/api/locomotive/api/resources/page_resource.rb +2 -2
  10. data/app/api/locomotive/api/resources/site_resource.rb +4 -0
  11. data/app/assets/images/locomotive/blank.png +0 -0
  12. data/app/assets/images/locomotive/icons/flags/bf.png +0 -0
  13. data/app/assets/images/locomotive/icons/flags/bg.png +0 -0
  14. data/app/assets/images/locomotive/icons/flags/cs.png +0 -0
  15. data/app/assets/images/locomotive/icons/flags/de.png +0 -0
  16. data/app/assets/images/locomotive/icons/flags/en.png +0 -0
  17. data/app/assets/images/locomotive/icons/flags/es.png +0 -0
  18. data/app/assets/images/locomotive/icons/flags/et.png +0 -0
  19. data/app/assets/images/locomotive/icons/flags/fr.png +0 -0
  20. data/app/assets/images/locomotive/icons/flags/it.png +0 -0
  21. data/app/assets/images/locomotive/icons/flags/ja.png +0 -0
  22. data/app/assets/images/locomotive/icons/flags/lt.png +0 -0
  23. data/app/assets/images/locomotive/icons/flags/mg.png +0 -0
  24. data/app/assets/images/locomotive/icons/flags/nb.png +0 -0
  25. data/app/assets/images/locomotive/icons/flags/nl.png +0 -0
  26. data/app/assets/images/locomotive/icons/flags/pl.png +0 -0
  27. data/app/assets/images/locomotive/icons/flags/pt-BR.png +0 -0
  28. data/app/assets/images/locomotive/icons/flags/pt.png +0 -0
  29. data/app/assets/images/locomotive/icons/flags/ru.png +0 -0
  30. data/app/assets/images/locomotive/icons/flags/sk.png +0 -0
  31. data/app/assets/images/locomotive/icons/flags/sr.png +0 -0
  32. data/app/assets/images/locomotive/icons/flags/sv.png +0 -0
  33. data/app/assets/images/locomotive/icons/flags/zh-CN.png +0 -0
  34. data/app/assets/javascripts/locomotive.js +3 -1
  35. data/app/assets/javascripts/locomotive/utils/core_ext.js +10 -0
  36. data/app/assets/javascripts/locomotive/utils/wysihtml5.js.coffee +0 -16
  37. data/app/assets/javascripts/locomotive/views/application_view.js.coffee +20 -3
  38. data/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee +7 -0
  39. data/app/assets/javascripts/locomotive/views/current_site_metafields/index_view.js.coffee +7 -0
  40. data/app/assets/javascripts/locomotive/views/editable_elements/edit_view.js.coffee +2 -2
  41. data/app/assets/javascripts/locomotive/views/editable_elements/iframe_view.js.coffee +10 -0
  42. data/app/assets/javascripts/locomotive/views/editable_elements/index_view.js.coffee +11 -6
  43. data/app/assets/javascripts/locomotive/views/editable_elements/text_highlighter_view.js.coffee +6 -1
  44. data/app/assets/javascripts/locomotive/views/inputs/file_view.js.coffee +1 -8
  45. data/app/assets/javascripts/locomotive/views/inputs/image_view.js.coffee +84 -0
  46. data/app/assets/javascripts/locomotive/views/inputs/rte/edit_table_view.js.coffee +2 -0
  47. data/app/assets/javascripts/locomotive/views/inputs/rte/file_view.js.coffee +5 -3
  48. data/app/assets/javascripts/locomotive/views/inputs/rte/image_view.js.coffee +14 -0
  49. data/app/assets/javascripts/locomotive/views/inputs/rte/link_view.js.coffee +9 -3
  50. data/app/assets/javascripts/locomotive/views/inputs/rte/table_view.js.coffee +7 -2
  51. data/app/assets/javascripts/locomotive/views/inputs/rte_view.js.coffee.erb +19 -6
  52. data/app/assets/javascripts/locomotive/views/inputs/simple_image_view.js.coffee +17 -40
  53. data/app/assets/javascripts/locomotive/views/shared/drawer_view.js.coffee +8 -6
  54. data/app/assets/javascripts/locomotive/views/shared/form_view.js.coffee +30 -8
  55. data/app/assets/javascripts/locomotive/views/shared/sidebar_view.js.coffee +31 -2
  56. data/app/assets/stylesheets/locomotive/account.scss +14 -10
  57. data/app/assets/stylesheets/locomotive/application.scss +101 -24
  58. data/app/assets/stylesheets/locomotive/live_editing_error.scss +48 -4
  59. data/app/assets/stylesheets/locomotive/live_editing_iframe.scss +0 -2
  60. data/app/assets/stylesheets/locomotive/new/_actionbar.scss +83 -0
  61. data/app/assets/stylesheets/locomotive/{account → new}/_brand.scss +0 -0
  62. data/app/assets/stylesheets/locomotive/new/_content.scss +65 -0
  63. data/app/assets/stylesheets/locomotive/new/_drawer.scss +53 -0
  64. data/app/assets/stylesheets/locomotive/new/_files.scss +124 -0
  65. data/app/assets/stylesheets/locomotive/{account → new}/_forms.scss +0 -0
  66. data/app/assets/stylesheets/locomotive/{account → new}/_keyframes.scss +0 -0
  67. data/app/assets/stylesheets/locomotive/{account → new}/_navigation.scss +85 -0
  68. data/app/assets/stylesheets/locomotive/{account → new}/_navs.scss +0 -0
  69. data/app/assets/stylesheets/locomotive/{account → new}/_notify.scss +0 -0
  70. data/app/assets/stylesheets/locomotive/{account → new}/_public.scss +0 -0
  71. data/app/assets/stylesheets/locomotive/new/_sidebar.scss +177 -0
  72. data/app/assets/stylesheets/locomotive/new/_transitions.scss +96 -0
  73. data/app/assets/stylesheets/locomotive/{account → new}/_type.scss +0 -0
  74. data/app/assets/stylesheets/locomotive/{account → new}/_variables.scss +0 -0
  75. data/app/assets/stylesheets/locomotive/{components → old}/_activity_feed.scss +0 -0
  76. data/app/assets/stylesheets/locomotive/{base → old}/_buttons.scss +0 -0
  77. data/app/assets/stylesheets/locomotive/{components → old}/_content_assets.scss +49 -48
  78. data/app/assets/stylesheets/locomotive/{components → old}/_dashboard.scss +0 -0
  79. data/app/assets/stylesheets/locomotive/{components → old}/_developers.scss +0 -0
  80. data/app/assets/stylesheets/locomotive/{components → old}/_list.scss +15 -21
  81. data/app/assets/stylesheets/locomotive/old/_live_editing.scss +37 -0
  82. data/app/assets/stylesheets/locomotive/{components → old}/_main.scss +4 -14
  83. data/app/assets/stylesheets/locomotive/{base → old}/_nav.scss +0 -0
  84. data/app/assets/stylesheets/locomotive/old/_scrollable.scss +11 -0
  85. data/app/assets/stylesheets/locomotive/{components/misc/_nav.scss → old/_search_bars.scss} +8 -14
  86. data/app/assets/stylesheets/locomotive/{components → old}/_translations.scss +0 -0
  87. data/app/assets/stylesheets/locomotive/{globals → old}/_variables.scss +47 -12
  88. data/app/assets/stylesheets/locomotive/{base → old}/form/_array_input.scss +20 -27
  89. data/app/assets/stylesheets/locomotive/{base → old}/form/_base.scss +1 -0
  90. data/app/assets/stylesheets/locomotive/{base → old}/form/_code.scss +0 -0
  91. data/app/assets/stylesheets/locomotive/{base → old}/form/_color_input.scss +0 -0
  92. data/app/assets/stylesheets/locomotive/{base → old}/form/_document_picker.scss +0 -0
  93. data/app/assets/stylesheets/locomotive/{base → old}/form/_file_input.scss +14 -20
  94. data/app/assets/stylesheets/locomotive/{base → old}/form/_link.scss +0 -0
  95. data/app/assets/stylesheets/locomotive/{base → old}/form/_markdown.scss +0 -0
  96. data/app/assets/stylesheets/locomotive/{base → old}/form/_popover.scss +0 -0
  97. data/app/assets/stylesheets/locomotive/{base → old}/form/_rte.scss +8 -0
  98. data/app/assets/stylesheets/locomotive/{base → old}/form/_select2.scss +35 -0
  99. data/app/assets/stylesheets/locomotive/{base → old}/form/_tags.scss +0 -0
  100. data/app/assets/stylesheets/locomotive/{base → old}/form/_toggle.scss +4 -10
  101. data/app/controllers/locomotive/content_entries_controller.rb +1 -1
  102. data/app/controllers/locomotive/current_site_metafields_controller.rb +34 -0
  103. data/app/controllers/locomotive/custom_fields/select_options_controller.rb +4 -0
  104. data/app/controllers/locomotive/pages_controller.rb +1 -1
  105. data/app/helpers/locomotive/base_helper.rb +13 -0
  106. data/app/helpers/locomotive/current_site_metafields_helper.rb +126 -0
  107. data/app/helpers/locomotive/my_account_helper.rb +1 -1
  108. data/app/helpers/locomotive/shared/pages_helper.rb +4 -0
  109. data/app/helpers/locomotive/sites_helper.rb +9 -11
  110. data/app/inputs/locomotive/file_input.rb +3 -3
  111. data/app/inputs/locomotive/image_input.rb +97 -0
  112. data/app/inputs/locomotive/rte_input.rb +2 -1
  113. data/app/inputs/locomotive/simple_image_input.rb +5 -68
  114. data/app/models/locomotive/concerns/site/metafields.rb +96 -0
  115. data/app/models/locomotive/editable_text.rb +2 -1
  116. data/app/models/locomotive/site.rb +1 -0
  117. data/app/policies/locomotive/page_policy.rb +6 -0
  118. data/app/services/locomotive/content_entry_service.rb +3 -0
  119. data/app/services/locomotive/site_metafields_service.rb +39 -0
  120. data/app/views/locomotive/current_site/edit.html.slim +3 -0
  121. data/app/views/locomotive/current_site_metafields/form/_panes.html.slim +19 -0
  122. data/app/views/locomotive/current_site_metafields/form/_tabs.html.slim +6 -0
  123. data/app/views/locomotive/current_site_metafields/index.html.slim +26 -0
  124. data/app/views/locomotive/editable_elements/_form.html.slim +1 -1
  125. data/app/views/locomotive/layouts/application.html.slim +22 -19
  126. data/app/views/locomotive/layouts/live_editing.html.slim +19 -30
  127. data/app/views/locomotive/pages/form/_main.html.slim +3 -0
  128. data/app/views/locomotive/shared/_account_navigation.slim +9 -2
  129. data/app/views/locomotive/shared/_head.html.slim +4 -0
  130. data/app/views/locomotive/shared/_locale_picker_link.html.slim +1 -1
  131. data/app/views/locomotive/shared/_navigation.html.slim +30 -0
  132. data/app/views/locomotive/shared/_sidebar.html.slim +42 -26
  133. data/app/views/locomotive/shared/rte/_toolbar.html.slim +76 -68
  134. data/app/views/locomotive/shared/sidebar/_content_types.html.slim +11 -11
  135. data/app/views/locomotive/shared/sidebar/_link.html.slim +0 -3
  136. data/app/views/locomotive/shared/sidebar/_page.html.slim +8 -13
  137. data/app/views/locomotive/shared/sidebar/_pages.html.slim +4 -7
  138. data/app/views/locomotive/sites/index.html.slim +0 -1
  139. data/config/locales/carrierwave.cs.yml +4 -0
  140. data/config/locales/carrierwave.de.yml +4 -0
  141. data/config/locales/cs.yml +318 -0
  142. data/config/locales/de.yml +318 -0
  143. data/config/locales/default.cs.yml +13 -0
  144. data/config/locales/default.de.yml +13 -0
  145. data/config/locales/default.fr.yml +13 -1
  146. data/config/locales/devise.cs.yml +61 -0
  147. data/config/locales/devise.de.yml +61 -0
  148. data/config/locales/devise.fr.yml +61 -1
  149. data/config/locales/el.yml +0 -2
  150. data/config/locales/en.yml +9 -0
  151. data/config/locales/flash.cs.yml +79 -0
  152. data/config/locales/flash.de.yml +79 -0
  153. data/config/locales/flash.en.yml +4 -0
  154. data/config/locales/flash.fr.yml +82 -1
  155. data/config/locales/fr.yml +323 -0
  156. data/config/locales/inputs.cs.yml +19 -0
  157. data/config/locales/inputs.de.yml +19 -0
  158. data/config/locales/inputs.fr.yml +19 -1
  159. data/config/locales/mongoid.cs.yml +47 -0
  160. data/config/locales/mongoid.de.yml +38 -0
  161. data/config/locales/mongoid.fr.yml +35 -0
  162. data/config/locales/simple_form.cs.yml +152 -0
  163. data/config/locales/simple_form.de.yml +36 -0
  164. data/config/locales/simple_form.el.yml +0 -1
  165. data/config/locales/simple_form.fr.yml +153 -1
  166. data/config/routes.rb +4 -0
  167. data/lib/generators/locomotive/install/templates/locomotive.rb +2 -2
  168. data/lib/locomotive/configuration.rb +1 -1
  169. data/lib/locomotive/dependencies.rb +1 -0
  170. data/lib/locomotive/engine.rb +0 -1
  171. data/lib/locomotive/middlewares/site.rb +1 -1
  172. data/lib/locomotive/mongoid/patches.rb +8 -0
  173. data/lib/locomotive/steam/middlewares/page_editing.rb +1 -1
  174. data/lib/locomotive/version.rb +1 -1
  175. data/spec/dummy/config/initializers/locomotive.rb +1 -1
  176. data/spec/models/locomotive/concerns/site/metafields_spec.rb +121 -0
  177. data/spec/requests/locomotive/steam/cache_spec.rb +1 -1
  178. data/vendor/assets/components/locomotive/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.css +5 -0
  179. data/vendor/assets/components/locomotive/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.js +9 -0
  180. data/vendor/assets/components/locomotive/moment-timezone/moment-timezone.js +7 -0
  181. data/vendor/assets/components/locomotive/moment/moment.js +3606 -0
  182. data/vendor/assets/components/locomotive/select2/select2.js +0 -3
  183. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md +38 -0
  184. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/Gruntfile.js +191 -0
  185. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/LICENSE +21 -0
  186. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/README.md +37 -0
  187. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/bower.json +35 -0
  188. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css +103 -0
  189. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css +373 -0
  190. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css +5 -0
  191. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js +9 -0
  192. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/component.json +9 -0
  193. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/composer.json +28 -0
  194. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md +222 -0
  195. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md +126 -0
  196. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Events.md +96 -0
  197. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Extras.md +95 -0
  198. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/FAQ.md +22 -0
  199. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Functions.md +670 -0
  200. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Installing.md +161 -0
  201. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Options.md +473 -0
  202. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md +6 -0
  203. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md +6 -0
  204. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/index.md +592 -0
  205. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/mkdocs.yml +17 -0
  206. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/package.json +43 -0
  207. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js +2552 -0
  208. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less +352 -0
  209. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less +17 -0
  210. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec +34 -0
  211. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec +34 -0
  212. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe +0 -0
  213. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 +2 -0
  214. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss +343 -0
  215. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss +16 -0
  216. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js +88 -0
  217. data/vendor/assets/components/locomotive_sources/moment-timezone/LICENSE +20 -0
  218. data/vendor/assets/components/locomotive_sources/moment-timezone/README.md +36 -0
  219. data/vendor/assets/components/locomotive_sources/moment-timezone/bower.json +18 -0
  220. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone-with-data-2010-2020.js +1189 -0
  221. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone-with-data-2010-2020.min.js +7 -0
  222. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone-with-data.js +1189 -0
  223. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone-with-data.min.js +7 -0
  224. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone.min.js +6 -0
  225. data/vendor/assets/components/locomotive_sources/moment-timezone/changelog.md +101 -0
  226. data/vendor/assets/components/locomotive_sources/moment-timezone/composer.json +43 -0
  227. data/vendor/assets/components/locomotive_sources/moment-timezone/data/meta/latest.json +5012 -0
  228. data/vendor/assets/components/locomotive_sources/moment-timezone/data/packed/latest.json +590 -0
  229. data/vendor/assets/components/locomotive_sources/moment-timezone/data/unpacked/latest.json +124081 -0
  230. data/vendor/assets/components/locomotive_sources/moment-timezone/moment-timezone-utils.js +316 -0
  231. data/vendor/assets/components/locomotive_sources/moment-timezone/moment-timezone.js +599 -0
  232. data/vendor/assets/components/locomotive_sources/moment/CHANGELOG.md +496 -0
  233. data/vendor/assets/components/locomotive_sources/moment/LICENSE +22 -0
  234. data/vendor/assets/components/locomotive_sources/moment/README.md +58 -0
  235. data/vendor/assets/components/locomotive_sources/moment/bower.json +22 -0
  236. data/vendor/assets/components/locomotive_sources/moment/locale/af.js +73 -0
  237. data/vendor/assets/components/locomotive_sources/moment/locale/ar-ma.js +59 -0
  238. data/vendor/assets/components/locomotive_sources/moment/locale/ar-sa.js +103 -0
  239. data/vendor/assets/components/locomotive_sources/moment/locale/ar-tn.js +57 -0
  240. data/vendor/assets/components/locomotive_sources/moment/locale/ar.js +136 -0
  241. data/vendor/assets/components/locomotive_sources/moment/locale/az.js +104 -0
  242. data/vendor/assets/components/locomotive_sources/moment/locale/be.js +134 -0
  243. data/vendor/assets/components/locomotive_sources/moment/locale/bg.js +90 -0
  244. data/vendor/assets/components/locomotive_sources/moment/locale/bn.js +113 -0
  245. data/vendor/assets/components/locomotive_sources/moment/locale/bo.js +110 -0
  246. data/vendor/assets/components/locomotive_sources/moment/locale/br.js +107 -0
  247. data/vendor/assets/components/locomotive_sources/moment/locale/bs.js +141 -0
  248. data/vendor/assets/components/locomotive_sources/moment/locale/ca.js +79 -0
  249. data/vendor/assets/components/locomotive_sources/moment/locale/cs.js +171 -0
  250. data/vendor/assets/components/locomotive_sources/moment/locale/cv.js +63 -0
  251. data/vendor/assets/components/locomotive_sources/moment/locale/cy.js +79 -0
  252. data/vendor/assets/components/locomotive_sources/moment/locale/da.js +60 -0
  253. data/vendor/assets/components/locomotive_sources/moment/locale/de-at.js +77 -0
  254. data/vendor/assets/components/locomotive_sources/moment/locale/de.js +76 -0
  255. data/vendor/assets/components/locomotive_sources/moment/locale/dv.js +99 -0
  256. data/vendor/assets/components/locomotive_sources/moment/locale/el.js +98 -0
  257. data/vendor/assets/components/locomotive_sources/moment/locale/en-au.js +66 -0
  258. data/vendor/assets/components/locomotive_sources/moment/locale/en-ca.js +63 -0
  259. data/vendor/assets/components/locomotive_sources/moment/locale/en-gb.js +67 -0
  260. data/vendor/assets/components/locomotive_sources/moment/locale/en-ie.js +67 -0
  261. data/vendor/assets/components/locomotive_sources/moment/locale/en-nz.js +66 -0
  262. data/vendor/assets/components/locomotive_sources/moment/locale/eo.js +73 -0
  263. data/vendor/assets/components/locomotive_sources/moment/locale/es.js +79 -0
  264. data/vendor/assets/components/locomotive_sources/moment/locale/et.js +80 -0
  265. data/vendor/assets/components/locomotive_sources/moment/locale/eu.js +64 -0
  266. data/vendor/assets/components/locomotive_sources/moment/locale/fa.js +105 -0
  267. data/vendor/assets/components/locomotive_sources/moment/locale/fi.js +107 -0
  268. data/vendor/assets/components/locomotive_sources/moment/locale/fo.js +60 -0
  269. data/vendor/assets/components/locomotive_sources/moment/locale/fr-ca.js +58 -0
  270. data/vendor/assets/components/locomotive_sources/moment/locale/fr-ch.js +62 -0
  271. data/vendor/assets/components/locomotive_sources/moment/locale/fr.js +62 -0
  272. data/vendor/assets/components/locomotive_sources/moment/locale/fy.js +71 -0
  273. data/vendor/assets/components/locomotive_sources/moment/locale/gd.js +76 -0
  274. data/vendor/assets/components/locomotive_sources/moment/locale/gl.js +75 -0
  275. data/vendor/assets/components/locomotive_sources/moment/locale/he.js +82 -0
  276. data/vendor/assets/components/locomotive_sources/moment/locale/hi.js +123 -0
  277. data/vendor/assets/components/locomotive_sources/moment/locale/hr.js +143 -0
  278. data/vendor/assets/components/locomotive_sources/moment/locale/hu.js +109 -0
  279. data/vendor/assets/components/locomotive_sources/moment/locale/hy-am.js +95 -0
  280. data/vendor/assets/components/locomotive_sources/moment/locale/id.js +83 -0
  281. data/vendor/assets/components/locomotive_sources/moment/locale/is.js +127 -0
  282. data/vendor/assets/components/locomotive_sources/moment/locale/it.js +70 -0
  283. data/vendor/assets/components/locomotive_sources/moment/locale/ja.js +65 -0
  284. data/vendor/assets/components/locomotive_sources/moment/locale/jv.js +83 -0
  285. data/vendor/assets/components/locomotive_sources/moment/locale/ka.js +89 -0
  286. data/vendor/assets/components/locomotive_sources/moment/locale/kk.js +87 -0
  287. data/vendor/assets/components/locomotive_sources/moment/locale/km.js +58 -0
  288. data/vendor/assets/components/locomotive_sources/moment/locale/ko.js +68 -0
  289. data/vendor/assets/components/locomotive_sources/moment/locale/lb.js +134 -0
  290. data/vendor/assets/components/locomotive_sources/moment/locale/lo.js +69 -0
  291. data/vendor/assets/components/locomotive_sources/moment/locale/lt.js +115 -0
  292. data/vendor/assets/components/locomotive_sources/moment/locale/lv.js +96 -0
  293. data/vendor/assets/components/locomotive_sources/moment/locale/me.js +109 -0
  294. data/vendor/assets/components/locomotive_sources/moment/locale/mk.js +90 -0
  295. data/vendor/assets/components/locomotive_sources/moment/locale/ml.js +71 -0
  296. data/vendor/assets/components/locomotive_sources/moment/locale/mr.js +158 -0
  297. data/vendor/assets/components/locomotive_sources/moment/locale/ms-my.js +82 -0
  298. data/vendor/assets/components/locomotive_sources/moment/locale/ms.js +82 -0
  299. data/vendor/assets/components/locomotive_sources/moment/locale/my.js +93 -0
  300. data/vendor/assets/components/locomotive_sources/moment/locale/nb.js +61 -0
  301. data/vendor/assets/components/locomotive_sources/moment/locale/ne.js +121 -0
  302. data/vendor/assets/components/locomotive_sources/moment/locale/nl.js +71 -0
  303. data/vendor/assets/components/locomotive_sources/moment/locale/nn.js +60 -0
  304. data/vendor/assets/components/locomotive_sources/moment/locale/pl.js +105 -0
  305. data/vendor/assets/components/locomotive_sources/moment/locale/pt-br.js +60 -0
  306. data/vendor/assets/components/locomotive_sources/moment/locale/pt.js +64 -0
  307. data/vendor/assets/components/locomotive_sources/moment/locale/ro.js +74 -0
  308. data/vendor/assets/components/locomotive_sources/moment/locale/ru.js +166 -0
  309. data/vendor/assets/components/locomotive_sources/moment/locale/se.js +61 -0
  310. data/vendor/assets/components/locomotive_sources/moment/locale/si.js +66 -0
  311. data/vendor/assets/components/locomotive_sources/moment/locale/sk.js +150 -0
  312. data/vendor/assets/components/locomotive_sources/moment/locale/sl.js +160 -0
  313. data/vendor/assets/components/locomotive_sources/moment/locale/sq.js +69 -0
  314. data/vendor/assets/components/locomotive_sources/moment/locale/sr-cyrl.js +108 -0
  315. data/vendor/assets/components/locomotive_sources/moment/locale/sr.js +108 -0
  316. data/vendor/assets/components/locomotive_sources/moment/locale/sv.js +67 -0
  317. data/vendor/assets/components/locomotive_sources/moment/locale/sw.js +58 -0
  318. data/vendor/assets/components/locomotive_sources/moment/locale/ta.js +129 -0
  319. data/vendor/assets/components/locomotive_sources/moment/locale/te.js +88 -0
  320. data/vendor/assets/components/locomotive_sources/moment/locale/th.js +65 -0
  321. data/vendor/assets/components/locomotive_sources/moment/locale/tl-ph.js +62 -0
  322. data/vendor/assets/components/locomotive_sources/moment/locale/tlh.js +119 -0
  323. data/vendor/assets/components/locomotive_sources/moment/locale/tr.js +90 -0
  324. data/vendor/assets/components/locomotive_sources/moment/locale/tzl.js +87 -0
  325. data/vendor/assets/components/locomotive_sources/moment/locale/tzm-latn.js +58 -0
  326. data/vendor/assets/components/locomotive_sources/moment/locale/tzm.js +58 -0
  327. data/vendor/assets/components/locomotive_sources/moment/locale/uk.js +146 -0
  328. data/vendor/assets/components/locomotive_sources/moment/locale/uz.js +58 -0
  329. data/vendor/assets/components/locomotive_sources/moment/locale/vi.js +66 -0
  330. data/vendor/assets/components/locomotive_sources/moment/locale/zh-cn.js +127 -0
  331. data/vendor/assets/components/locomotive_sources/moment/locale/zh-tw.js +101 -0
  332. data/vendor/assets/components/locomotive_sources/moment/min/locales.js +7548 -0
  333. data/vendor/assets/components/locomotive_sources/moment/min/locales.min.js +72 -0
  334. data/vendor/assets/components/locomotive_sources/moment/min/moment-with-locales.js +11144 -0
  335. data/vendor/assets/components/locomotive_sources/moment/min/moment-with-locales.min.js +74 -0
  336. data/vendor/assets/components/locomotive_sources/moment/min/moment.min.js +7 -0
  337. data/vendor/assets/components/locomotive_sources/moment/min/tests.js +46196 -0
  338. data/vendor/assets/components/locomotive_sources/moment/moment.js +3606 -0
  339. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/check-overflow.js +34 -0
  340. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/date-from-array.js +21 -0
  341. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-anything.js +101 -0
  342. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-array.js +136 -0
  343. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-object.js +16 -0
  344. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-string-and-array.js +50 -0
  345. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-string-and-format.js +104 -0
  346. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-string.js +120 -0
  347. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/local.js +5 -0
  348. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/parsing-flags.js +22 -0
  349. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/utc.js +5 -0
  350. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/valid.js +37 -0
  351. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/abs.js +18 -0
  352. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/add-subtract.js +21 -0
  353. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/as.js +55 -0
  354. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/bubble.js +61 -0
  355. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/constructor.js +41 -0
  356. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/create.js +117 -0
  357. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/duration.js +12 -0
  358. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/get.js +25 -0
  359. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/humanize.js +64 -0
  360. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/iso-string.js +52 -0
  361. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/prototype.js +48 -0
  362. data/vendor/assets/components/locomotive_sources/moment/src/lib/format/format.js +92 -0
  363. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/calendar.js +15 -0
  364. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/constructor.js +2 -0
  365. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/en.js +15 -0
  366. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/formats.js +23 -0
  367. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/invalid.js +5 -0
  368. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/lists.js +48 -0
  369. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/locale.js +35 -0
  370. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/locales.js +118 -0
  371. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/ordinal.js +7 -0
  372. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/pre-post-format.js +3 -0
  373. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/prototype.js +76 -0
  374. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/relative.js +29 -0
  375. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/set.js +16 -0
  376. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/add-subtract.js +52 -0
  377. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/calendar.js +21 -0
  378. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/clone.js +5 -0
  379. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/compare.js +57 -0
  380. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/constructor.js +74 -0
  381. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/creation-data.js +9 -0
  382. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/diff.js +61 -0
  383. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/format.js +28 -0
  384. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/from.js +17 -0
  385. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/get-set.js +43 -0
  386. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/locale.js +34 -0
  387. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/min-max.js +63 -0
  388. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/moment.js +28 -0
  389. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/now.js +3 -0
  390. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/prototype.js +149 -0
  391. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/start-end-of.js +52 -0
  392. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/to-type.js +34 -0
  393. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/to.js +17 -0
  394. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/valid.js +15 -0
  395. data/vendor/assets/components/locomotive_sources/moment/src/lib/parse/regex.js +54 -0
  396. data/vendor/assets/components/locomotive_sources/moment/src/lib/parse/token.js +32 -0
  397. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/aliases.js +29 -0
  398. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/constants.js +9 -0
  399. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/day-of-month.js +32 -0
  400. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/day-of-week.js +162 -0
  401. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/day-of-year.js +32 -0
  402. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/hour.js +129 -0
  403. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/millisecond.js +64 -0
  404. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/minute.js +24 -0
  405. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/month.js +209 -0
  406. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/offset.js +219 -0
  407. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/quarter.js +27 -0
  408. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/second.js +24 -0
  409. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/timestamp.js +20 -0
  410. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/timezone.js +16 -0
  411. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/units.js +20 -0
  412. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/week-calendar-utils.js +65 -0
  413. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/week-year.js +101 -0
  414. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/week.js +61 -0
  415. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/year.js +70 -0
  416. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/abs-ceil.js +7 -0
  417. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/abs-floor.js +7 -0
  418. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/compare-arrays.js +16 -0
  419. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/defaults.js +10 -0
  420. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/deprecate.js +33 -0
  421. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/extend.js +19 -0
  422. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/has-own-prop.js +3 -0
  423. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/hooks.js +13 -0
  424. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/is-array.js +3 -0
  425. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/is-date.js +3 -0
  426. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/is-function.js +3 -0
  427. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/is-undefined.js +3 -0
  428. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/map.js +7 -0
  429. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/to-int.js +12 -0
  430. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/zero-fill.js +7 -0
  431. data/vendor/assets/components/locomotive_sources/moment/src/locale/af.js +63 -0
  432. data/vendor/assets/components/locomotive_sources/moment/src/locale/ar-ma.js +50 -0
  433. data/vendor/assets/components/locomotive_sources/moment/src/locale/ar-sa.js +94 -0
  434. data/vendor/assets/components/locomotive_sources/moment/src/locale/ar-tn.js +48 -0
  435. data/vendor/assets/components/locomotive_sources/moment/src/locale/ar.js +127 -0
  436. data/vendor/assets/components/locomotive_sources/moment/src/locale/az.js +95 -0
  437. data/vendor/assets/components/locomotive_sources/moment/src/locale/be.js +125 -0
  438. data/vendor/assets/components/locomotive_sources/moment/src/locale/bg.js +81 -0
  439. data/vendor/assets/components/locomotive_sources/moment/src/locale/bn.js +104 -0
  440. data/vendor/assets/components/locomotive_sources/moment/src/locale/bo.js +101 -0
  441. data/vendor/assets/components/locomotive_sources/moment/src/locale/br.js +98 -0
  442. data/vendor/assets/components/locomotive_sources/moment/src/locale/bs.js +132 -0
  443. data/vendor/assets/components/locomotive_sources/moment/src/locale/ca.js +70 -0
  444. data/vendor/assets/components/locomotive_sources/moment/src/locale/cs.js +162 -0
  445. data/vendor/assets/components/locomotive_sources/moment/src/locale/cv.js +53 -0
  446. data/vendor/assets/components/locomotive_sources/moment/src/locale/cy.js +70 -0
  447. data/vendor/assets/components/locomotive_sources/moment/src/locale/da.js +51 -0
  448. data/vendor/assets/components/locomotive_sources/moment/src/locale/de-at.js +67 -0
  449. data/vendor/assets/components/locomotive_sources/moment/src/locale/de.js +66 -0
  450. data/vendor/assets/components/locomotive_sources/moment/src/locale/dv.js +89 -0
  451. data/vendor/assets/components/locomotive_sources/moment/src/locale/el.js +86 -0
  452. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-au.js +57 -0
  453. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-ca.js +54 -0
  454. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-gb.js +58 -0
  455. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-ie.js +58 -0
  456. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-nz.js +56 -0
  457. data/vendor/assets/components/locomotive_sources/moment/src/locale/eo.js +64 -0
  458. data/vendor/assets/components/locomotive_sources/moment/src/locale/es.js +70 -0
  459. data/vendor/assets/components/locomotive_sources/moment/src/locale/et.js +71 -0
  460. data/vendor/assets/components/locomotive_sources/moment/src/locale/eu.js +55 -0
  461. data/vendor/assets/components/locomotive_sources/moment/src/locale/fa.js +96 -0
  462. data/vendor/assets/components/locomotive_sources/moment/src/locale/fi.js +98 -0
  463. data/vendor/assets/components/locomotive_sources/moment/src/locale/fo.js +51 -0
  464. data/vendor/assets/components/locomotive_sources/moment/src/locale/fr-ca.js +49 -0
  465. data/vendor/assets/components/locomotive_sources/moment/src/locale/fr-ch.js +53 -0
  466. data/vendor/assets/components/locomotive_sources/moment/src/locale/fr.js +53 -0
  467. data/vendor/assets/components/locomotive_sources/moment/src/locale/fy.js +62 -0
  468. data/vendor/assets/components/locomotive_sources/moment/src/locale/gd.js +67 -0
  469. data/vendor/assets/components/locomotive_sources/moment/src/locale/gl.js +66 -0
  470. data/vendor/assets/components/locomotive_sources/moment/src/locale/he.js +73 -0
  471. data/vendor/assets/components/locomotive_sources/moment/src/locale/hi.js +114 -0
  472. data/vendor/assets/components/locomotive_sources/moment/src/locale/hr.js +134 -0
  473. data/vendor/assets/components/locomotive_sources/moment/src/locale/hu.js +100 -0
  474. data/vendor/assets/components/locomotive_sources/moment/src/locale/hy-am.js +86 -0
  475. data/vendor/assets/components/locomotive_sources/moment/src/locale/id.js +74 -0
  476. data/vendor/assets/components/locomotive_sources/moment/src/locale/is.js +118 -0
  477. data/vendor/assets/components/locomotive_sources/moment/src/locale/it.js +61 -0
  478. data/vendor/assets/components/locomotive_sources/moment/src/locale/ja.js +56 -0
  479. data/vendor/assets/components/locomotive_sources/moment/src/locale/jv.js +73 -0
  480. data/vendor/assets/components/locomotive_sources/moment/src/locale/ka.js +80 -0
  481. data/vendor/assets/components/locomotive_sources/moment/src/locale/kk.js +77 -0
  482. data/vendor/assets/components/locomotive_sources/moment/src/locale/km.js +49 -0
  483. data/vendor/assets/components/locomotive_sources/moment/src/locale/ko.js +59 -0
  484. data/vendor/assets/components/locomotive_sources/moment/src/locale/lb.js +125 -0
  485. data/vendor/assets/components/locomotive_sources/moment/src/locale/lo.js +60 -0
  486. data/vendor/assets/components/locomotive_sources/moment/src/locale/lt.js +106 -0
  487. data/vendor/assets/components/locomotive_sources/moment/src/locale/lv.js +87 -0
  488. data/vendor/assets/components/locomotive_sources/moment/src/locale/me.js +99 -0
  489. data/vendor/assets/components/locomotive_sources/moment/src/locale/mk.js +81 -0
  490. data/vendor/assets/components/locomotive_sources/moment/src/locale/ml.js +62 -0
  491. data/vendor/assets/components/locomotive_sources/moment/src/locale/mr.js +149 -0
  492. data/vendor/assets/components/locomotive_sources/moment/src/locale/ms-my.js +73 -0
  493. data/vendor/assets/components/locomotive_sources/moment/src/locale/ms.js +73 -0
  494. data/vendor/assets/components/locomotive_sources/moment/src/locale/my.js +84 -0
  495. data/vendor/assets/components/locomotive_sources/moment/src/locale/nb.js +52 -0
  496. data/vendor/assets/components/locomotive_sources/moment/src/locale/ne.js +112 -0
  497. data/vendor/assets/components/locomotive_sources/moment/src/locale/nl.js +62 -0
  498. data/vendor/assets/components/locomotive_sources/moment/src/locale/nn.js +51 -0
  499. data/vendor/assets/components/locomotive_sources/moment/src/locale/pl.js +95 -0
  500. data/vendor/assets/components/locomotive_sources/moment/src/locale/pt-br.js +51 -0
  501. data/vendor/assets/components/locomotive_sources/moment/src/locale/pt.js +55 -0
  502. data/vendor/assets/components/locomotive_sources/moment/src/locale/ro.js +65 -0
  503. data/vendor/assets/components/locomotive_sources/moment/src/locale/ru.js +156 -0
  504. data/vendor/assets/components/locomotive_sources/moment/src/locale/se.js +51 -0
  505. data/vendor/assets/components/locomotive_sources/moment/src/locale/si.js +56 -0
  506. data/vendor/assets/components/locomotive_sources/moment/src/locale/sk.js +141 -0
  507. data/vendor/assets/components/locomotive_sources/moment/src/locale/sl.js +150 -0
  508. data/vendor/assets/components/locomotive_sources/moment/src/locale/sq.js +60 -0
  509. data/vendor/assets/components/locomotive_sources/moment/src/locale/sr-cyrl.js +99 -0
  510. data/vendor/assets/components/locomotive_sources/moment/src/locale/sr.js +99 -0
  511. data/vendor/assets/components/locomotive_sources/moment/src/locale/sv.js +58 -0
  512. data/vendor/assets/components/locomotive_sources/moment/src/locale/sw.js +49 -0
  513. data/vendor/assets/components/locomotive_sources/moment/src/locale/ta.js +120 -0
  514. data/vendor/assets/components/locomotive_sources/moment/src/locale/te.js +78 -0
  515. data/vendor/assets/components/locomotive_sources/moment/src/locale/th.js +56 -0
  516. data/vendor/assets/components/locomotive_sources/moment/src/locale/tl-ph.js +53 -0
  517. data/vendor/assets/components/locomotive_sources/moment/src/locale/tlh.js +109 -0
  518. data/vendor/assets/components/locomotive_sources/moment/src/locale/tr.js +81 -0
  519. data/vendor/assets/components/locomotive_sources/moment/src/locale/tzl.js +78 -0
  520. data/vendor/assets/components/locomotive_sources/moment/src/locale/tzm-latn.js +49 -0
  521. data/vendor/assets/components/locomotive_sources/moment/src/locale/tzm.js +49 -0
  522. data/vendor/assets/components/locomotive_sources/moment/src/locale/uk.js +137 -0
  523. data/vendor/assets/components/locomotive_sources/moment/src/locale/uz.js +49 -0
  524. data/vendor/assets/components/locomotive_sources/moment/src/locale/vi.js +57 -0
  525. data/vendor/assets/components/locomotive_sources/moment/src/locale/zh-cn.js +118 -0
  526. data/vendor/assets/components/locomotive_sources/moment/src/locale/zh-tw.js +91 -0
  527. data/vendor/assets/components/locomotive_sources/moment/src/moment.js +71 -0
  528. data/vendor/assets/components/locomotive_sources/moment/templates/amd-named.js +7 -0
  529. data/vendor/assets/components/locomotive_sources/moment/templates/amd.js +7 -0
  530. data/vendor/assets/components/locomotive_sources/moment/templates/default.js +5 -0
  531. data/vendor/assets/components/locomotive_sources/moment/templates/globals.js +5 -0
  532. data/vendor/assets/components/locomotive_sources/moment/templates/locale-header.js +6 -0
  533. data/vendor/assets/components/locomotive_sources/moment/templates/test-header.js +6 -0
  534. data/vendor/assets/javascripts/locomotive/vendor.js +1 -2
  535. data/vendor/assets/stylesheets/locomotive/wysihtml5_editor.css +1 -1
  536. metadata +458 -100
  537. data/app/assets/stylesheets/locomotive/account/_files.scss +0 -125
  538. data/app/assets/stylesheets/locomotive/base/_all.scss +0 -6
  539. data/app/assets/stylesheets/locomotive/base/_fonts.scss +0 -27
  540. data/app/assets/stylesheets/locomotive/base/_form.scss +0 -18
  541. data/app/assets/stylesheets/locomotive/base/_iframe.scss +0 -4
  542. data/app/assets/stylesheets/locomotive/base/_typography.scss +0 -6
  543. data/app/assets/stylesheets/locomotive/base/form/_api_key.scss +0 -24
  544. data/app/assets/stylesheets/locomotive/base/form/_date.scss +0 -11
  545. data/app/assets/stylesheets/locomotive/components/_drawer.scss +0 -24
  546. data/app/assets/stylesheets/locomotive/components/_header.scss +0 -3
  547. data/app/assets/stylesheets/locomotive/components/_live_editing.scss +0 -95
  548. data/app/assets/stylesheets/locomotive/components/_misc.scss +0 -3
  549. data/app/assets/stylesheets/locomotive/components/_sidebar.scss +0 -5
  550. data/app/assets/stylesheets/locomotive/components/_sites.scss +0 -130
  551. data/app/assets/stylesheets/locomotive/components/_transitions.scss +0 -149
  552. data/app/assets/stylesheets/locomotive/components/header/_account.scss +0 -63
  553. data/app/assets/stylesheets/locomotive/components/header/_base.scss +0 -91
  554. data/app/assets/stylesheets/locomotive/components/header/_responsive.scss +0 -34
  555. data/app/assets/stylesheets/locomotive/components/misc/_modal.scss +0 -13
  556. data/app/assets/stylesheets/locomotive/components/misc/_notify.scss +0 -25
  557. data/app/assets/stylesheets/locomotive/components/sidebar/_base.scss +0 -58
  558. data/app/assets/stylesheets/locomotive/components/sidebar/_content_types.scss +0 -30
  559. data/app/assets/stylesheets/locomotive/components/sidebar/_link.scss +0 -36
  560. data/app/assets/stylesheets/locomotive/components/sidebar/_my_account.scss +0 -21
  561. data/app/assets/stylesheets/locomotive/components/sidebar/_pages_tree.scss +0 -108
  562. data/app/assets/stylesheets/locomotive/globals/_mixins.scss +0 -34
  563. data/app/assets/stylesheets/locomotive/layouts/_live_editing.scss +0 -33
  564. data/app/assets/stylesheets/locomotive/layouts/_main.scss +0 -62
  565. data/app/assets/stylesheets/locomotive/layouts/_not_logged_in.scss +0 -33
  566. data/app/assets/stylesheets/locomotive/layouts/_responsive.scss +0 -12
  567. data/app/views/locomotive/shared/_header.html.slim +0 -30
  568. data/app/views/locomotive/shared/_sidebar_without_site.html.slim +0 -5
  569. data/app/views/locomotive/shared/header/_account.html.slim +0 -4
  570. data/app/views/locomotive/shared/header/_account_menu.html.slim +0 -5
  571. data/app/views/locomotive/shared/header/_brand.html.slim +0 -3
  572. data/app/views/locomotive/shared/header/_site.html.slim +0 -8
  573. data/app/views/locomotive/shared/sidebar/_my_account.html.slim +0 -8
  574. data/vendor/assets/javascripts/locomotive/bootstrap-datetimepicker.js +0 -1395
  575. data/vendor/assets/javascripts/locomotive/moment.js +0 -2808
  576. data/vendor/assets/stylesheets/locomotive/bootstrap-datetimepicker.css +0 -235
@@ -0,0 +1,120 @@
1
+ import { configFromStringAndFormat } from './from-string-and-format';
2
+ import { hooks } from '../utils/hooks';
3
+ import { deprecate } from '../utils/deprecate';
4
+ import getParsingFlags from './parsing-flags';
5
+
6
+ // iso 8601 regex
7
+ // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
8
+ var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;
9
+ var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;
10
+
11
+ var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
12
+
13
+ var isoDates = [
14
+ ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
15
+ ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
16
+ ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
17
+ ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
18
+ ['YYYY-DDD', /\d{4}-\d{3}/],
19
+ ['YYYY-MM', /\d{4}-\d\d/, false],
20
+ ['YYYYYYMMDD', /[+-]\d{10}/],
21
+ ['YYYYMMDD', /\d{8}/],
22
+ // YYYYMM is NOT allowed by the standard
23
+ ['GGGG[W]WWE', /\d{4}W\d{3}/],
24
+ ['GGGG[W]WW', /\d{4}W\d{2}/, false],
25
+ ['YYYYDDD', /\d{7}/]
26
+ ];
27
+
28
+ // iso time formats and regexes
29
+ var isoTimes = [
30
+ ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
31
+ ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
32
+ ['HH:mm:ss', /\d\d:\d\d:\d\d/],
33
+ ['HH:mm', /\d\d:\d\d/],
34
+ ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
35
+ ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
36
+ ['HHmmss', /\d\d\d\d\d\d/],
37
+ ['HHmm', /\d\d\d\d/],
38
+ ['HH', /\d\d/]
39
+ ];
40
+
41
+ var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
42
+
43
+ // date from iso format
44
+ export function configFromISO(config) {
45
+ var i, l,
46
+ string = config._i,
47
+ match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
48
+ allowTime, dateFormat, timeFormat, tzFormat;
49
+
50
+ if (match) {
51
+ getParsingFlags(config).iso = true;
52
+
53
+ for (i = 0, l = isoDates.length; i < l; i++) {
54
+ if (isoDates[i][1].exec(match[1])) {
55
+ dateFormat = isoDates[i][0];
56
+ allowTime = isoDates[i][2] !== false;
57
+ break;
58
+ }
59
+ }
60
+ if (dateFormat == null) {
61
+ config._isValid = false;
62
+ return;
63
+ }
64
+ if (match[3]) {
65
+ for (i = 0, l = isoTimes.length; i < l; i++) {
66
+ if (isoTimes[i][1].exec(match[3])) {
67
+ // match[2] should be 'T' or space
68
+ timeFormat = (match[2] || ' ') + isoTimes[i][0];
69
+ break;
70
+ }
71
+ }
72
+ if (timeFormat == null) {
73
+ config._isValid = false;
74
+ return;
75
+ }
76
+ }
77
+ if (!allowTime && timeFormat != null) {
78
+ config._isValid = false;
79
+ return;
80
+ }
81
+ if (match[4]) {
82
+ if (tzRegex.exec(match[4])) {
83
+ tzFormat = 'Z';
84
+ } else {
85
+ config._isValid = false;
86
+ return;
87
+ }
88
+ }
89
+ config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
90
+ configFromStringAndFormat(config);
91
+ } else {
92
+ config._isValid = false;
93
+ }
94
+ }
95
+
96
+ // date from iso format or fallback
97
+ export function configFromString(config) {
98
+ var matched = aspNetJsonRegex.exec(config._i);
99
+
100
+ if (matched !== null) {
101
+ config._d = new Date(+matched[1]);
102
+ return;
103
+ }
104
+
105
+ configFromISO(config);
106
+ if (config._isValid === false) {
107
+ delete config._isValid;
108
+ hooks.createFromInputFallback(config);
109
+ }
110
+ }
111
+
112
+ hooks.createFromInputFallback = deprecate(
113
+ 'moment construction falls back to js Date. This is ' +
114
+ 'discouraged and will be removed in upcoming major ' +
115
+ 'release. Please refer to ' +
116
+ 'https://github.com/moment/moment/issues/1407 for more info.',
117
+ function (config) {
118
+ config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
119
+ }
120
+ );
@@ -0,0 +1,5 @@
1
+ import { createLocalOrUTC } from './from-anything';
2
+
3
+ export function createLocal (input, format, locale, strict) {
4
+ return createLocalOrUTC(input, format, locale, strict, false);
5
+ }
@@ -0,0 +1,22 @@
1
+ function defaultParsingFlags() {
2
+ // We need to deep clone this object.
3
+ return {
4
+ empty : false,
5
+ unusedTokens : [],
6
+ unusedInput : [],
7
+ overflow : -2,
8
+ charsLeftOver : 0,
9
+ nullInput : false,
10
+ invalidMonth : null,
11
+ invalidFormat : false,
12
+ userInvalidated : false,
13
+ iso : false
14
+ };
15
+ }
16
+
17
+ export default function getParsingFlags(m) {
18
+ if (m._pf == null) {
19
+ m._pf = defaultParsingFlags();
20
+ }
21
+ return m._pf;
22
+ }
@@ -0,0 +1,5 @@
1
+ import { createLocalOrUTC } from './from-anything';
2
+
3
+ export function createUTC (input, format, locale, strict) {
4
+ return createLocalOrUTC(input, format, locale, strict, true).utc();
5
+ }
@@ -0,0 +1,37 @@
1
+ import extend from '../utils/extend';
2
+ import { createUTC } from './utc';
3
+ import getParsingFlags from '../create/parsing-flags';
4
+
5
+ export function isValid(m) {
6
+ if (m._isValid == null) {
7
+ var flags = getParsingFlags(m);
8
+ m._isValid = !isNaN(m._d.getTime()) &&
9
+ flags.overflow < 0 &&
10
+ !flags.empty &&
11
+ !flags.invalidMonth &&
12
+ !flags.invalidWeekday &&
13
+ !flags.nullInput &&
14
+ !flags.invalidFormat &&
15
+ !flags.userInvalidated;
16
+
17
+ if (m._strict) {
18
+ m._isValid = m._isValid &&
19
+ flags.charsLeftOver === 0 &&
20
+ flags.unusedTokens.length === 0 &&
21
+ flags.bigHour === undefined;
22
+ }
23
+ }
24
+ return m._isValid;
25
+ }
26
+
27
+ export function createInvalid (flags) {
28
+ var m = createUTC(NaN);
29
+ if (flags != null) {
30
+ extend(getParsingFlags(m), flags);
31
+ }
32
+ else {
33
+ getParsingFlags(m).userInvalidated = true;
34
+ }
35
+
36
+ return m;
37
+ }
@@ -0,0 +1,18 @@
1
+ var mathAbs = Math.abs;
2
+
3
+ export function abs () {
4
+ var data = this._data;
5
+
6
+ this._milliseconds = mathAbs(this._milliseconds);
7
+ this._days = mathAbs(this._days);
8
+ this._months = mathAbs(this._months);
9
+
10
+ data.milliseconds = mathAbs(data.milliseconds);
11
+ data.seconds = mathAbs(data.seconds);
12
+ data.minutes = mathAbs(data.minutes);
13
+ data.hours = mathAbs(data.hours);
14
+ data.months = mathAbs(data.months);
15
+ data.years = mathAbs(data.years);
16
+
17
+ return this;
18
+ }
@@ -0,0 +1,21 @@
1
+ import { createDuration } from './create';
2
+
3
+ function addSubtract (duration, input, value, direction) {
4
+ var other = createDuration(input, value);
5
+
6
+ duration._milliseconds += direction * other._milliseconds;
7
+ duration._days += direction * other._days;
8
+ duration._months += direction * other._months;
9
+
10
+ return duration._bubble();
11
+ }
12
+
13
+ // supports only 2.0-style add(1, 's') or add(duration)
14
+ export function add (input, value) {
15
+ return addSubtract(this, input, value, 1);
16
+ }
17
+
18
+ // supports only 2.0-style subtract(1, 's') or subtract(duration)
19
+ export function subtract (input, value) {
20
+ return addSubtract(this, input, value, -1);
21
+ }
@@ -0,0 +1,55 @@
1
+ import { daysToMonths, monthsToDays } from './bubble';
2
+ import { normalizeUnits } from '../units/aliases';
3
+ import toInt from '../utils/to-int';
4
+
5
+ export function as (units) {
6
+ var days;
7
+ var months;
8
+ var milliseconds = this._milliseconds;
9
+
10
+ units = normalizeUnits(units);
11
+
12
+ if (units === 'month' || units === 'year') {
13
+ days = this._days + milliseconds / 864e5;
14
+ months = this._months + daysToMonths(days);
15
+ return units === 'month' ? months : months / 12;
16
+ } else {
17
+ // handle milliseconds separately because of floating point math errors (issue #1867)
18
+ days = this._days + Math.round(monthsToDays(this._months));
19
+ switch (units) {
20
+ case 'week' : return days / 7 + milliseconds / 6048e5;
21
+ case 'day' : return days + milliseconds / 864e5;
22
+ case 'hour' : return days * 24 + milliseconds / 36e5;
23
+ case 'minute' : return days * 1440 + milliseconds / 6e4;
24
+ case 'second' : return days * 86400 + milliseconds / 1000;
25
+ // Math.floor prevents floating point math errors here
26
+ case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
27
+ default: throw new Error('Unknown unit ' + units);
28
+ }
29
+ }
30
+ }
31
+
32
+ // TODO: Use this.as('ms')?
33
+ export function valueOf () {
34
+ return (
35
+ this._milliseconds +
36
+ this._days * 864e5 +
37
+ (this._months % 12) * 2592e6 +
38
+ toInt(this._months / 12) * 31536e6
39
+ );
40
+ }
41
+
42
+ function makeAs (alias) {
43
+ return function () {
44
+ return this.as(alias);
45
+ };
46
+ }
47
+
48
+ export var asMilliseconds = makeAs('ms');
49
+ export var asSeconds = makeAs('s');
50
+ export var asMinutes = makeAs('m');
51
+ export var asHours = makeAs('h');
52
+ export var asDays = makeAs('d');
53
+ export var asWeeks = makeAs('w');
54
+ export var asMonths = makeAs('M');
55
+ export var asYears = makeAs('y');
@@ -0,0 +1,61 @@
1
+ import absFloor from '../utils/abs-floor';
2
+ import absCeil from '../utils/abs-ceil';
3
+ import { createUTCDate } from '../create/date-from-array';
4
+
5
+ export function bubble () {
6
+ var milliseconds = this._milliseconds;
7
+ var days = this._days;
8
+ var months = this._months;
9
+ var data = this._data;
10
+ var seconds, minutes, hours, years, monthsFromDays;
11
+
12
+ // if we have a mix of positive and negative values, bubble down first
13
+ // check: https://github.com/moment/moment/issues/2166
14
+ if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
15
+ (milliseconds <= 0 && days <= 0 && months <= 0))) {
16
+ milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
17
+ days = 0;
18
+ months = 0;
19
+ }
20
+
21
+ // The following code bubbles up values, see the tests for
22
+ // examples of what that means.
23
+ data.milliseconds = milliseconds % 1000;
24
+
25
+ seconds = absFloor(milliseconds / 1000);
26
+ data.seconds = seconds % 60;
27
+
28
+ minutes = absFloor(seconds / 60);
29
+ data.minutes = minutes % 60;
30
+
31
+ hours = absFloor(minutes / 60);
32
+ data.hours = hours % 24;
33
+
34
+ days += absFloor(hours / 24);
35
+
36
+ // convert days to months
37
+ monthsFromDays = absFloor(daysToMonths(days));
38
+ months += monthsFromDays;
39
+ days -= absCeil(monthsToDays(monthsFromDays));
40
+
41
+ // 12 months -> 1 year
42
+ years = absFloor(months / 12);
43
+ months %= 12;
44
+
45
+ data.days = days;
46
+ data.months = months;
47
+ data.years = years;
48
+
49
+ return this;
50
+ }
51
+
52
+ export function daysToMonths (days) {
53
+ // 400 years have 146097 days (taking into account leap year rules)
54
+ // 400 years have 12 months === 4800
55
+ return days * 4800 / 146097;
56
+ }
57
+
58
+ export function monthsToDays (months) {
59
+ // the reverse of daysToMonths
60
+ return months * 146097 / 4800;
61
+ }
@@ -0,0 +1,41 @@
1
+ import { normalizeObjectUnits } from '../units/aliases';
2
+ import { getLocale } from '../locale/locales';
3
+
4
+ export function Duration (duration) {
5
+ var normalizedInput = normalizeObjectUnits(duration),
6
+ years = normalizedInput.year || 0,
7
+ quarters = normalizedInput.quarter || 0,
8
+ months = normalizedInput.month || 0,
9
+ weeks = normalizedInput.week || 0,
10
+ days = normalizedInput.day || 0,
11
+ hours = normalizedInput.hour || 0,
12
+ minutes = normalizedInput.minute || 0,
13
+ seconds = normalizedInput.second || 0,
14
+ milliseconds = normalizedInput.millisecond || 0;
15
+
16
+ // representation for dateAddRemove
17
+ this._milliseconds = +milliseconds +
18
+ seconds * 1e3 + // 1000
19
+ minutes * 6e4 + // 1000 * 60
20
+ hours * 36e5; // 1000 * 60 * 60
21
+ // Because of dateAddRemove treats 24 hours as different from a
22
+ // day when working around DST, we need to store them separately
23
+ this._days = +days +
24
+ weeks * 7;
25
+ // It is impossible translate months into days without knowing
26
+ // which months you are are talking about, so we have to store
27
+ // it separately.
28
+ this._months = +months +
29
+ quarters * 3 +
30
+ years * 12;
31
+
32
+ this._data = {};
33
+
34
+ this._locale = getLocale();
35
+
36
+ this._bubble();
37
+ }
38
+
39
+ export function isDuration (obj) {
40
+ return obj instanceof Duration;
41
+ }
@@ -0,0 +1,117 @@
1
+ import { Duration, isDuration } from './constructor';
2
+ import toInt from '../utils/to-int';
3
+ import hasOwnProp from '../utils/has-own-prop';
4
+ import { DATE, HOUR, MINUTE, SECOND, MILLISECOND } from '../units/constants';
5
+ import { cloneWithOffset } from '../units/offset';
6
+ import { createLocal } from '../create/local';
7
+
8
+ // ASP.NET json date format regex
9
+ var aspNetRegex = /^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/;
10
+
11
+ // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
12
+ // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
13
+ var isoRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;
14
+
15
+ export function createDuration (input, key) {
16
+ var duration = input,
17
+ // matching against regexp is expensive, do it on demand
18
+ match = null,
19
+ sign,
20
+ ret,
21
+ diffRes;
22
+
23
+ if (isDuration(input)) {
24
+ duration = {
25
+ ms : input._milliseconds,
26
+ d : input._days,
27
+ M : input._months
28
+ };
29
+ } else if (typeof input === 'number') {
30
+ duration = {};
31
+ if (key) {
32
+ duration[key] = input;
33
+ } else {
34
+ duration.milliseconds = input;
35
+ }
36
+ } else if (!!(match = aspNetRegex.exec(input))) {
37
+ sign = (match[1] === '-') ? -1 : 1;
38
+ duration = {
39
+ y : 0,
40
+ d : toInt(match[DATE]) * sign,
41
+ h : toInt(match[HOUR]) * sign,
42
+ m : toInt(match[MINUTE]) * sign,
43
+ s : toInt(match[SECOND]) * sign,
44
+ ms : toInt(match[MILLISECOND]) * sign
45
+ };
46
+ } else if (!!(match = isoRegex.exec(input))) {
47
+ sign = (match[1] === '-') ? -1 : 1;
48
+ duration = {
49
+ y : parseIso(match[2], sign),
50
+ M : parseIso(match[3], sign),
51
+ d : parseIso(match[4], sign),
52
+ h : parseIso(match[5], sign),
53
+ m : parseIso(match[6], sign),
54
+ s : parseIso(match[7], sign),
55
+ w : parseIso(match[8], sign)
56
+ };
57
+ } else if (duration == null) {// checks for null or undefined
58
+ duration = {};
59
+ } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
60
+ diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
61
+
62
+ duration = {};
63
+ duration.ms = diffRes.milliseconds;
64
+ duration.M = diffRes.months;
65
+ }
66
+
67
+ ret = new Duration(duration);
68
+
69
+ if (isDuration(input) && hasOwnProp(input, '_locale')) {
70
+ ret._locale = input._locale;
71
+ }
72
+
73
+ return ret;
74
+ }
75
+
76
+ createDuration.fn = Duration.prototype;
77
+
78
+ function parseIso (inp, sign) {
79
+ // We'd normally use ~~inp for this, but unfortunately it also
80
+ // converts floats to ints.
81
+ // inp may be undefined, so careful calling replace on it.
82
+ var res = inp && parseFloat(inp.replace(',', '.'));
83
+ // apply sign while we're at it
84
+ return (isNaN(res) ? 0 : res) * sign;
85
+ }
86
+
87
+ function positiveMomentsDifference(base, other) {
88
+ var res = {milliseconds: 0, months: 0};
89
+
90
+ res.months = other.month() - base.month() +
91
+ (other.year() - base.year()) * 12;
92
+ if (base.clone().add(res.months, 'M').isAfter(other)) {
93
+ --res.months;
94
+ }
95
+
96
+ res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
97
+
98
+ return res;
99
+ }
100
+
101
+ function momentsDifference(base, other) {
102
+ var res;
103
+ if (!(base.isValid() && other.isValid())) {
104
+ return {milliseconds: 0, months: 0};
105
+ }
106
+
107
+ other = cloneWithOffset(other, base);
108
+ if (base.isBefore(other)) {
109
+ res = positiveMomentsDifference(base, other);
110
+ } else {
111
+ res = positiveMomentsDifference(other, base);
112
+ res.milliseconds = -res.milliseconds;
113
+ res.months = -res.months;
114
+ }
115
+
116
+ return res;
117
+ }