tui_editor-rails 1.0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (887) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +20 -0
  6. data/README.md +69 -0
  7. data/Rakefile +2 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/example/.gitignore +30 -0
  11. data/example/.ruby-version +1 -0
  12. data/example/Gemfile +64 -0
  13. data/example/Gemfile.lock +224 -0
  14. data/example/README.md +67 -0
  15. data/example/Rakefile +6 -0
  16. data/example/app/assets/config/manifest.js +3 -0
  17. data/example/app/assets/images/.keep +0 -0
  18. data/example/app/assets/images/screen_capture.png +0 -0
  19. data/example/app/assets/javascripts/application.js +23 -0
  20. data/example/app/assets/javascripts/cable.js +13 -0
  21. data/example/app/assets/javascripts/channels/.keep +0 -0
  22. data/example/app/assets/javascripts/home.coffee +3 -0
  23. data/example/app/assets/javascripts/posts.coffee +3 -0
  24. data/example/app/assets/stylesheets/application.scss +4 -0
  25. data/example/app/assets/stylesheets/home.scss +3 -0
  26. data/example/app/assets/stylesheets/posts.scss +3 -0
  27. data/example/app/assets/stylesheets/scaffolds.scss +84 -0
  28. data/example/app/channels/application_cable/channel.rb +4 -0
  29. data/example/app/channels/application_cable/connection.rb +4 -0
  30. data/example/app/controllers/application_controller.rb +2 -0
  31. data/example/app/controllers/concerns/.keep +0 -0
  32. data/example/app/controllers/home_controller.rb +4 -0
  33. data/example/app/controllers/posts_controller.rb +74 -0
  34. data/example/app/helpers/application_helper.rb +2 -0
  35. data/example/app/helpers/home_helper.rb +2 -0
  36. data/example/app/helpers/posts_helper.rb +2 -0
  37. data/example/app/jobs/application_job.rb +2 -0
  38. data/example/app/mailers/application_mailer.rb +4 -0
  39. data/example/app/models/application_record.rb +3 -0
  40. data/example/app/models/concerns/.keep +0 -0
  41. data/example/app/models/post.rb +2 -0
  42. data/example/app/views/home/index.html.erb +11 -0
  43. data/example/app/views/layouts/application.html.erb +14 -0
  44. data/example/app/views/layouts/mailer.html.erb +13 -0
  45. data/example/app/views/layouts/mailer.text.erb +1 -0
  46. data/example/app/views/posts/_form.html.erb +27 -0
  47. data/example/app/views/posts/_post.json.jbuilder +2 -0
  48. data/example/app/views/posts/edit.html.erb +6 -0
  49. data/example/app/views/posts/index.html.erb +29 -0
  50. data/example/app/views/posts/index.json.jbuilder +1 -0
  51. data/example/app/views/posts/new.html.erb +5 -0
  52. data/example/app/views/posts/show.html.erb +14 -0
  53. data/example/app/views/posts/show.json.jbuilder +1 -0
  54. data/example/bin/bundle +3 -0
  55. data/example/bin/rails +9 -0
  56. data/example/bin/rake +9 -0
  57. data/example/bin/setup +36 -0
  58. data/example/bin/spring +17 -0
  59. data/example/bin/update +31 -0
  60. data/example/bin/yarn +11 -0
  61. data/example/config.ru +5 -0
  62. data/example/config/application.rb +19 -0
  63. data/example/config/boot.rb +4 -0
  64. data/example/config/cable.yml +10 -0
  65. data/example/config/credentials.yml.enc +1 -0
  66. data/example/config/database.yml +25 -0
  67. data/example/config/environment.rb +5 -0
  68. data/example/config/environments/development.rb +61 -0
  69. data/example/config/environments/production.rb +94 -0
  70. data/example/config/environments/test.rb +46 -0
  71. data/example/config/initializers/application_controller_renderer.rb +8 -0
  72. data/example/config/initializers/assets.rb +14 -0
  73. data/example/config/initializers/backtrace_silencers.rb +7 -0
  74. data/example/config/initializers/content_security_policy.rb +22 -0
  75. data/example/config/initializers/cookies_serializer.rb +5 -0
  76. data/example/config/initializers/filter_parameter_logging.rb +4 -0
  77. data/example/config/initializers/inflections.rb +16 -0
  78. data/example/config/initializers/mime_types.rb +4 -0
  79. data/example/config/initializers/wrap_parameters.rb +14 -0
  80. data/example/config/locales/en.yml +33 -0
  81. data/example/config/puma.rb +34 -0
  82. data/example/config/routes.rb +6 -0
  83. data/example/config/spring.rb +6 -0
  84. data/example/config/storage.yml +35 -0
  85. data/example/db/migrate/20180208210404_create_posts.rb +10 -0
  86. data/example/db/schema.rb +22 -0
  87. data/example/db/seeds.rb +7 -0
  88. data/example/lib/assets/.keep +0 -0
  89. data/example/lib/tasks/.keep +0 -0
  90. data/example/log/.keep +0 -0
  91. data/example/package.json +5 -0
  92. data/example/public/404.html +67 -0
  93. data/example/public/422.html +67 -0
  94. data/example/public/500.html +66 -0
  95. data/example/public/apple-touch-icon-precomposed.png +0 -0
  96. data/example/public/apple-touch-icon.png +0 -0
  97. data/example/public/favicon.ico +0 -0
  98. data/example/public/robots.txt +1 -0
  99. data/example/test/application_system_test_case.rb +5 -0
  100. data/example/test/controllers/.keep +0 -0
  101. data/example/test/controllers/home_controller_test.rb +9 -0
  102. data/example/test/controllers/posts_controller_test.rb +48 -0
  103. data/example/test/fixtures/.keep +0 -0
  104. data/example/test/fixtures/files/.keep +0 -0
  105. data/example/test/fixtures/posts.yml +9 -0
  106. data/example/test/helpers/.keep +0 -0
  107. data/example/test/integration/.keep +0 -0
  108. data/example/test/mailers/.keep +0 -0
  109. data/example/test/models/.keep +0 -0
  110. data/example/test/models/post_test.rb +7 -0
  111. data/example/test/system/.keep +0 -0
  112. data/example/test/system/posts_test.rb +45 -0
  113. data/example/test/test_helper.rb +10 -0
  114. data/example/tmp/.keep +0 -0
  115. data/example/vendor/.keep +0 -0
  116. data/lib/tui_editor/rails.rb +8 -0
  117. data/lib/tui_editor/rails/version.rb +5 -0
  118. data/tui_editor-rails.gemspec +34 -0
  119. data/vendor/assets/components/codemirror/.bower.json +31 -0
  120. data/vendor/assets/components/codemirror/AUTHORS +714 -0
  121. data/vendor/assets/components/codemirror/CHANGELOG.md +1316 -0
  122. data/vendor/assets/components/codemirror/CONTRIBUTING.md +92 -0
  123. data/vendor/assets/components/codemirror/LICENSE +21 -0
  124. data/vendor/assets/components/codemirror/README.md +35 -0
  125. data/vendor/assets/components/codemirror/addon/comment/comment.js +209 -0
  126. data/vendor/assets/components/codemirror/addon/comment/continuecomment.js +78 -0
  127. data/vendor/assets/components/codemirror/addon/dialog/dialog.css +32 -0
  128. data/vendor/assets/components/codemirror/addon/dialog/dialog.js +157 -0
  129. data/vendor/assets/components/codemirror/addon/display/autorefresh.js +47 -0
  130. data/vendor/assets/components/codemirror/addon/display/fullscreen.css +6 -0
  131. data/vendor/assets/components/codemirror/addon/display/fullscreen.js +41 -0
  132. data/vendor/assets/components/codemirror/addon/display/panel.js +123 -0
  133. data/vendor/assets/components/codemirror/addon/display/placeholder.js +63 -0
  134. data/vendor/assets/components/codemirror/addon/display/rulers.js +51 -0
  135. data/vendor/assets/components/codemirror/addon/edit/closebrackets.js +194 -0
  136. data/vendor/assets/components/codemirror/addon/edit/closetag.js +175 -0
  137. data/vendor/assets/components/codemirror/addon/edit/continuelist.js +89 -0
  138. data/vendor/assets/components/codemirror/addon/edit/matchbrackets.js +145 -0
  139. data/vendor/assets/components/codemirror/addon/edit/matchtags.js +66 -0
  140. data/vendor/assets/components/codemirror/addon/edit/trailingspace.js +27 -0
  141. data/vendor/assets/components/codemirror/addon/fold/brace-fold.js +105 -0
  142. data/vendor/assets/components/codemirror/addon/fold/comment-fold.js +59 -0
  143. data/vendor/assets/components/codemirror/addon/fold/foldcode.js +152 -0
  144. data/vendor/assets/components/codemirror/addon/fold/foldgutter.css +20 -0
  145. data/vendor/assets/components/codemirror/addon/fold/foldgutter.js +146 -0
  146. data/vendor/assets/components/codemirror/addon/fold/indent-fold.js +48 -0
  147. data/vendor/assets/components/codemirror/addon/fold/markdown-fold.js +49 -0
  148. data/vendor/assets/components/codemirror/addon/fold/xml-fold.js +182 -0
  149. data/vendor/assets/components/codemirror/addon/hint/anyword-hint.js +41 -0
  150. data/vendor/assets/components/codemirror/addon/hint/css-hint.js +60 -0
  151. data/vendor/assets/components/codemirror/addon/hint/html-hint.js +348 -0
  152. data/vendor/assets/components/codemirror/addon/hint/javascript-hint.js +155 -0
  153. data/vendor/assets/components/codemirror/addon/hint/show-hint.css +36 -0
  154. data/vendor/assets/components/codemirror/addon/hint/show-hint.js +432 -0
  155. data/vendor/assets/components/codemirror/addon/hint/sql-hint.js +286 -0
  156. data/vendor/assets/components/codemirror/addon/hint/xml-hint.js +110 -0
  157. data/vendor/assets/components/codemirror/addon/lint/coffeescript-lint.js +47 -0
  158. data/vendor/assets/components/codemirror/addon/lint/css-lint.js +40 -0
  159. data/vendor/assets/components/codemirror/addon/lint/html-lint.js +53 -0
  160. data/vendor/assets/components/codemirror/addon/lint/javascript-lint.js +63 -0
  161. data/vendor/assets/components/codemirror/addon/lint/json-lint.js +37 -0
  162. data/vendor/assets/components/codemirror/addon/lint/lint.css +73 -0
  163. data/vendor/assets/components/codemirror/addon/lint/lint.js +252 -0
  164. data/vendor/assets/components/codemirror/addon/lint/yaml-lint.js +41 -0
  165. data/vendor/assets/components/codemirror/addon/merge/merge.css +113 -0
  166. data/vendor/assets/components/codemirror/addon/merge/merge.js +1001 -0
  167. data/vendor/assets/components/codemirror/addon/mode/loadmode.js +64 -0
  168. data/vendor/assets/components/codemirror/addon/mode/multiplex.js +123 -0
  169. data/vendor/assets/components/codemirror/addon/mode/multiplex_test.js +33 -0
  170. data/vendor/assets/components/codemirror/addon/mode/overlay.js +90 -0
  171. data/vendor/assets/components/codemirror/addon/mode/simple.js +216 -0
  172. data/vendor/assets/components/codemirror/addon/runmode/colorize.js +40 -0
  173. data/vendor/assets/components/codemirror/addon/runmode/runmode-standalone.js +158 -0
  174. data/vendor/assets/components/codemirror/addon/runmode/runmode.js +72 -0
  175. data/vendor/assets/components/codemirror/addon/runmode/runmode.node.js +197 -0
  176. data/vendor/assets/components/codemirror/addon/scroll/annotatescrollbar.js +122 -0
  177. data/vendor/assets/components/codemirror/addon/scroll/scrollpastend.js +48 -0
  178. data/vendor/assets/components/codemirror/addon/scroll/simplescrollbars.css +66 -0
  179. data/vendor/assets/components/codemirror/addon/scroll/simplescrollbars.js +152 -0
  180. data/vendor/assets/components/codemirror/addon/search/jump-to-line.js +49 -0
  181. data/vendor/assets/components/codemirror/addon/search/match-highlighter.js +165 -0
  182. data/vendor/assets/components/codemirror/addon/search/matchesonscrollbar.css +8 -0
  183. data/vendor/assets/components/codemirror/addon/search/matchesonscrollbar.js +97 -0
  184. data/vendor/assets/components/codemirror/addon/search/search.js +252 -0
  185. data/vendor/assets/components/codemirror/addon/search/searchcursor.js +289 -0
  186. data/vendor/assets/components/codemirror/addon/selection/active-line.js +72 -0
  187. data/vendor/assets/components/codemirror/addon/selection/mark-selection.js +119 -0
  188. data/vendor/assets/components/codemirror/addon/selection/selection-pointer.js +98 -0
  189. data/vendor/assets/components/codemirror/addon/tern/tern.css +87 -0
  190. data/vendor/assets/components/codemirror/addon/tern/tern.js +718 -0
  191. data/vendor/assets/components/codemirror/addon/tern/worker.js +44 -0
  192. data/vendor/assets/components/codemirror/addon/wrap/hardwrap.js +144 -0
  193. data/vendor/assets/components/codemirror/bower.json +17 -0
  194. data/vendor/assets/components/codemirror/component-tools/bower.json +17 -0
  195. data/vendor/assets/components/codemirror/component-tools/build.sh +31 -0
  196. data/vendor/assets/components/codemirror/component-tools/update.py +38 -0
  197. data/vendor/assets/components/codemirror/keymap/emacs.js +416 -0
  198. data/vendor/assets/components/codemirror/keymap/sublime.js +685 -0
  199. data/vendor/assets/components/codemirror/keymap/vim.js +5219 -0
  200. data/vendor/assets/components/codemirror/lib/codemirror.css +346 -0
  201. data/vendor/assets/components/codemirror/lib/codemirror.js +9669 -0
  202. data/vendor/assets/components/codemirror/mode/apl/apl.js +174 -0
  203. data/vendor/assets/components/codemirror/mode/asciiarmor/asciiarmor.js +74 -0
  204. data/vendor/assets/components/codemirror/mode/asn.1/asn.1.js +204 -0
  205. data/vendor/assets/components/codemirror/mode/asterisk/asterisk.js +196 -0
  206. data/vendor/assets/components/codemirror/mode/brainfuck/brainfuck.js +85 -0
  207. data/vendor/assets/components/codemirror/mode/clike/clike.js +817 -0
  208. data/vendor/assets/components/codemirror/mode/clojure/clojure.js +306 -0
  209. data/vendor/assets/components/codemirror/mode/cmake/cmake.js +97 -0
  210. data/vendor/assets/components/codemirror/mode/cobol/cobol.js +255 -0
  211. data/vendor/assets/components/codemirror/mode/coffeescript/coffeescript.js +359 -0
  212. data/vendor/assets/components/codemirror/mode/commonlisp/commonlisp.js +124 -0
  213. data/vendor/assets/components/codemirror/mode/crystal/crystal.js +433 -0
  214. data/vendor/assets/components/codemirror/mode/css/css.js +832 -0
  215. data/vendor/assets/components/codemirror/mode/cypher/cypher.js +150 -0
  216. data/vendor/assets/components/codemirror/mode/d/d.js +218 -0
  217. data/vendor/assets/components/codemirror/mode/dart/dart.js +157 -0
  218. data/vendor/assets/components/codemirror/mode/diff/diff.js +47 -0
  219. data/vendor/assets/components/codemirror/mode/django/django.js +356 -0
  220. data/vendor/assets/components/codemirror/mode/dockerfile/dockerfile.js +79 -0
  221. data/vendor/assets/components/codemirror/mode/dtd/dtd.js +142 -0
  222. data/vendor/assets/components/codemirror/mode/dylan/dylan.js +352 -0
  223. data/vendor/assets/components/codemirror/mode/ebnf/ebnf.js +195 -0
  224. data/vendor/assets/components/codemirror/mode/ecl/ecl.js +206 -0
  225. data/vendor/assets/components/codemirror/mode/eiffel/eiffel.js +160 -0
  226. data/vendor/assets/components/codemirror/mode/elm/elm.js +205 -0
  227. data/vendor/assets/components/codemirror/mode/erlang/erlang.js +619 -0
  228. data/vendor/assets/components/codemirror/mode/factor/factor.js +85 -0
  229. data/vendor/assets/components/codemirror/mode/fcl/fcl.js +173 -0
  230. data/vendor/assets/components/codemirror/mode/forth/forth.js +180 -0
  231. data/vendor/assets/components/codemirror/mode/fortran/fortran.js +188 -0
  232. data/vendor/assets/components/codemirror/mode/gas/gas.js +345 -0
  233. data/vendor/assets/components/codemirror/mode/gfm/gfm.js +129 -0
  234. data/vendor/assets/components/codemirror/mode/gherkin/gherkin.js +178 -0
  235. data/vendor/assets/components/codemirror/mode/go/go.js +187 -0
  236. data/vendor/assets/components/codemirror/mode/groovy/groovy.js +230 -0
  237. data/vendor/assets/components/codemirror/mode/haml/haml.js +161 -0
  238. data/vendor/assets/components/codemirror/mode/handlebars/handlebars.js +62 -0
  239. data/vendor/assets/components/codemirror/mode/haskell-literate/haskell-literate.js +43 -0
  240. data/vendor/assets/components/codemirror/mode/haskell/haskell.js +267 -0
  241. data/vendor/assets/components/codemirror/mode/haxe/haxe.js +515 -0
  242. data/vendor/assets/components/codemirror/mode/htmlembedded/htmlembedded.js +37 -0
  243. data/vendor/assets/components/codemirror/mode/htmlmixed/htmlmixed.js +152 -0
  244. data/vendor/assets/components/codemirror/mode/http/http.js +113 -0
  245. data/vendor/assets/components/codemirror/mode/idl/idl.js +290 -0
  246. data/vendor/assets/components/codemirror/mode/javascript/javascript.js +865 -0
  247. data/vendor/assets/components/codemirror/mode/jinja2/jinja2.js +142 -0
  248. data/vendor/assets/components/codemirror/mode/jsx/jsx.js +148 -0
  249. data/vendor/assets/components/codemirror/mode/julia/julia.js +418 -0
  250. data/vendor/assets/components/codemirror/mode/livescript/livescript.js +280 -0
  251. data/vendor/assets/components/codemirror/mode/lua/lua.js +159 -0
  252. data/vendor/assets/components/codemirror/mode/markdown/markdown.js +872 -0
  253. data/vendor/assets/components/codemirror/mode/mathematica/mathematica.js +176 -0
  254. data/vendor/assets/components/codemirror/mode/mbox/mbox.js +129 -0
  255. data/vendor/assets/components/codemirror/mode/meta.js +217 -0
  256. data/vendor/assets/components/codemirror/mode/mirc/mirc.js +193 -0
  257. data/vendor/assets/components/codemirror/mode/mllike/mllike.js +356 -0
  258. data/vendor/assets/components/codemirror/mode/modelica/modelica.js +245 -0
  259. data/vendor/assets/components/codemirror/mode/mscgen/mscgen.js +175 -0
  260. data/vendor/assets/components/codemirror/mode/mumps/mumps.js +148 -0
  261. data/vendor/assets/components/codemirror/mode/nginx/nginx.js +178 -0
  262. data/vendor/assets/components/codemirror/mode/nsis/nsis.js +95 -0
  263. data/vendor/assets/components/codemirror/mode/ntriples/ntriples.js +195 -0
  264. data/vendor/assets/components/codemirror/mode/octave/octave.js +139 -0
  265. data/vendor/assets/components/codemirror/mode/oz/oz.js +252 -0
  266. data/vendor/assets/components/codemirror/mode/pascal/pascal.js +109 -0
  267. data/vendor/assets/components/codemirror/mode/pegjs/pegjs.js +114 -0
  268. data/vendor/assets/components/codemirror/mode/perl/perl.js +837 -0
  269. data/vendor/assets/components/codemirror/mode/php/php.js +234 -0
  270. data/vendor/assets/components/codemirror/mode/pig/pig.js +178 -0
  271. data/vendor/assets/components/codemirror/mode/powershell/powershell.js +398 -0
  272. data/vendor/assets/components/codemirror/mode/properties/properties.js +78 -0
  273. data/vendor/assets/components/codemirror/mode/protobuf/protobuf.js +69 -0
  274. data/vendor/assets/components/codemirror/mode/pug/pug.js +591 -0
  275. data/vendor/assets/components/codemirror/mode/puppet/puppet.js +220 -0
  276. data/vendor/assets/components/codemirror/mode/python/python.js +334 -0
  277. data/vendor/assets/components/codemirror/mode/q/q.js +139 -0
  278. data/vendor/assets/components/codemirror/mode/r/r.js +183 -0
  279. data/vendor/assets/components/codemirror/mode/rpm/rpm.js +109 -0
  280. data/vendor/assets/components/codemirror/mode/rst/rst.js +557 -0
  281. data/vendor/assets/components/codemirror/mode/ruby/ruby.js +296 -0
  282. data/vendor/assets/components/codemirror/mode/rust/rust.js +72 -0
  283. data/vendor/assets/components/codemirror/mode/sas/sas.js +303 -0
  284. data/vendor/assets/components/codemirror/mode/sass/sass.js +454 -0
  285. data/vendor/assets/components/codemirror/mode/scheme/scheme.js +249 -0
  286. data/vendor/assets/components/codemirror/mode/shell/shell.js +151 -0
  287. data/vendor/assets/components/codemirror/mode/sieve/sieve.js +193 -0
  288. data/vendor/assets/components/codemirror/mode/slim/slim.js +575 -0
  289. data/vendor/assets/components/codemirror/mode/smalltalk/smalltalk.js +168 -0
  290. data/vendor/assets/components/codemirror/mode/smarty/smarty.js +225 -0
  291. data/vendor/assets/components/codemirror/mode/solr/solr.js +104 -0
  292. data/vendor/assets/components/codemirror/mode/soy/soy.js +354 -0
  293. data/vendor/assets/components/codemirror/mode/sparql/sparql.js +180 -0
  294. data/vendor/assets/components/codemirror/mode/spreadsheet/spreadsheet.js +112 -0
  295. data/vendor/assets/components/codemirror/mode/sql/sql.js +488 -0
  296. data/vendor/assets/components/codemirror/mode/stex/stex.js +251 -0
  297. data/vendor/assets/components/codemirror/mode/stylus/stylus.js +771 -0
  298. data/vendor/assets/components/codemirror/mode/swift/swift.js +219 -0
  299. data/vendor/assets/components/codemirror/mode/tcl/tcl.js +139 -0
  300. data/vendor/assets/components/codemirror/mode/textile/textile.js +469 -0
  301. data/vendor/assets/components/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  302. data/vendor/assets/components/codemirror/mode/tiddlywiki/tiddlywiki.js +308 -0
  303. data/vendor/assets/components/codemirror/mode/tiki/tiki.css +26 -0
  304. data/vendor/assets/components/codemirror/mode/tiki/tiki.js +312 -0
  305. data/vendor/assets/components/codemirror/mode/toml/toml.js +88 -0
  306. data/vendor/assets/components/codemirror/mode/tornado/tornado.js +68 -0
  307. data/vendor/assets/components/codemirror/mode/troff/troff.js +84 -0
  308. data/vendor/assets/components/codemirror/mode/ttcn-cfg/ttcn-cfg.js +214 -0
  309. data/vendor/assets/components/codemirror/mode/ttcn/ttcn.js +283 -0
  310. data/vendor/assets/components/codemirror/mode/turtle/turtle.js +162 -0
  311. data/vendor/assets/components/codemirror/mode/twig/twig.js +141 -0
  312. data/vendor/assets/components/codemirror/mode/vb/vb.js +275 -0
  313. data/vendor/assets/components/codemirror/mode/vbscript/vbscript.js +350 -0
  314. data/vendor/assets/components/codemirror/mode/velocity/velocity.js +201 -0
  315. data/vendor/assets/components/codemirror/mode/verilog/verilog.js +675 -0
  316. data/vendor/assets/components/codemirror/mode/vhdl/vhdl.js +189 -0
  317. data/vendor/assets/components/codemirror/mode/vue/vue.js +77 -0
  318. data/vendor/assets/components/codemirror/mode/webidl/webidl.js +195 -0
  319. data/vendor/assets/components/codemirror/mode/xml/xml.js +401 -0
  320. data/vendor/assets/components/codemirror/mode/xquery/xquery.js +448 -0
  321. data/vendor/assets/components/codemirror/mode/yacas/yacas.js +204 -0
  322. data/vendor/assets/components/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +68 -0
  323. data/vendor/assets/components/codemirror/mode/yaml/yaml.js +118 -0
  324. data/vendor/assets/components/codemirror/mode/z80/z80.js +116 -0
  325. data/vendor/assets/components/codemirror/rollup.config.js +18 -0
  326. data/vendor/assets/components/codemirror/src/codemirror.js +3 -0
  327. data/vendor/assets/components/codemirror/src/display/Display.js +106 -0
  328. data/vendor/assets/components/codemirror/src/display/focus.js +47 -0
  329. data/vendor/assets/components/codemirror/src/display/gutters.js +34 -0
  330. data/vendor/assets/components/codemirror/src/display/highlight_worker.js +55 -0
  331. data/vendor/assets/components/codemirror/src/display/line_numbers.js +48 -0
  332. data/vendor/assets/components/codemirror/src/display/mode_state.js +22 -0
  333. data/vendor/assets/components/codemirror/src/display/operations.js +205 -0
  334. data/vendor/assets/components/codemirror/src/display/scroll_events.js +115 -0
  335. data/vendor/assets/components/codemirror/src/display/scrollbars.js +192 -0
  336. data/vendor/assets/components/codemirror/src/display/scrolling.js +184 -0
  337. data/vendor/assets/components/codemirror/src/display/selection.js +158 -0
  338. data/vendor/assets/components/codemirror/src/display/update_display.js +260 -0
  339. data/vendor/assets/components/codemirror/src/display/update_line.js +188 -0
  340. data/vendor/assets/components/codemirror/src/display/update_lines.js +64 -0
  341. data/vendor/assets/components/codemirror/src/display/view_tracking.js +153 -0
  342. data/vendor/assets/components/codemirror/src/edit/CodeMirror.js +214 -0
  343. data/vendor/assets/components/codemirror/src/edit/commands.js +178 -0
  344. data/vendor/assets/components/codemirror/src/edit/deleteNearSelection.js +30 -0
  345. data/vendor/assets/components/codemirror/src/edit/drop_events.js +119 -0
  346. data/vendor/assets/components/codemirror/src/edit/fromTextArea.js +61 -0
  347. data/vendor/assets/components/codemirror/src/edit/global_events.js +44 -0
  348. data/vendor/assets/components/codemirror/src/edit/key_events.js +159 -0
  349. data/vendor/assets/components/codemirror/src/edit/legacy.js +62 -0
  350. data/vendor/assets/components/codemirror/src/edit/main.js +69 -0
  351. data/vendor/assets/components/codemirror/src/edit/methods.js +539 -0
  352. data/vendor/assets/components/codemirror/src/edit/mouse_events.js +407 -0
  353. data/vendor/assets/components/codemirror/src/edit/options.js +191 -0
  354. data/vendor/assets/components/codemirror/src/edit/utils.js +7 -0
  355. data/vendor/assets/components/codemirror/src/input/ContentEditableInput.js +517 -0
  356. data/vendor/assets/components/codemirror/src/input/TextareaInput.js +350 -0
  357. data/vendor/assets/components/codemirror/src/input/indent.js +71 -0
  358. data/vendor/assets/components/codemirror/src/input/input.js +135 -0
  359. data/vendor/assets/components/codemirror/src/input/keymap.js +148 -0
  360. data/vendor/assets/components/codemirror/src/input/keynames.js +17 -0
  361. data/vendor/assets/components/codemirror/src/input/movement.js +110 -0
  362. data/vendor/assets/components/codemirror/src/line/highlight.js +284 -0
  363. data/vendor/assets/components/codemirror/src/line/line_data.js +337 -0
  364. data/vendor/assets/components/codemirror/src/line/pos.js +40 -0
  365. data/vendor/assets/components/codemirror/src/line/saw_special_spans.js +10 -0
  366. data/vendor/assets/components/codemirror/src/line/spans.js +372 -0
  367. data/vendor/assets/components/codemirror/src/line/utils_line.js +85 -0
  368. data/vendor/assets/components/codemirror/src/measurement/position_measurement.js +700 -0
  369. data/vendor/assets/components/codemirror/src/measurement/widgets.js +26 -0
  370. data/vendor/assets/components/codemirror/src/model/Doc.js +432 -0
  371. data/vendor/assets/components/codemirror/src/model/change_measurement.js +61 -0
  372. data/vendor/assets/components/codemirror/src/model/changes.js +330 -0
  373. data/vendor/assets/components/codemirror/src/model/chunk.js +167 -0
  374. data/vendor/assets/components/codemirror/src/model/document_data.js +111 -0
  375. data/vendor/assets/components/codemirror/src/model/history.js +228 -0
  376. data/vendor/assets/components/codemirror/src/model/line_widget.js +78 -0
  377. data/vendor/assets/components/codemirror/src/model/mark_text.js +292 -0
  378. data/vendor/assets/components/codemirror/src/model/selection.js +82 -0
  379. data/vendor/assets/components/codemirror/src/model/selection_updates.js +208 -0
  380. data/vendor/assets/components/codemirror/src/modes.js +96 -0
  381. data/vendor/assets/components/codemirror/src/util/StringStream.js +90 -0
  382. data/vendor/assets/components/codemirror/src/util/bidi.js +214 -0
  383. data/vendor/assets/components/codemirror/src/util/browser.js +33 -0
  384. data/vendor/assets/components/codemirror/src/util/dom.js +97 -0
  385. data/vendor/assets/components/codemirror/src/util/event.js +103 -0
  386. data/vendor/assets/components/codemirror/src/util/feature_detection.js +84 -0
  387. data/vendor/assets/components/codemirror/src/util/misc.js +150 -0
  388. data/vendor/assets/components/codemirror/src/util/operation_group.js +72 -0
  389. data/vendor/assets/components/codemirror/theme/3024-day.css +41 -0
  390. data/vendor/assets/components/codemirror/theme/3024-night.css +39 -0
  391. data/vendor/assets/components/codemirror/theme/abcdef.css +32 -0
  392. data/vendor/assets/components/codemirror/theme/ambiance-mobile.css +5 -0
  393. data/vendor/assets/components/codemirror/theme/ambiance.css +74 -0
  394. data/vendor/assets/components/codemirror/theme/base16-dark.css +38 -0
  395. data/vendor/assets/components/codemirror/theme/base16-light.css +38 -0
  396. data/vendor/assets/components/codemirror/theme/bespin.css +34 -0
  397. data/vendor/assets/components/codemirror/theme/blackboard.css +32 -0
  398. data/vendor/assets/components/codemirror/theme/cobalt.css +25 -0
  399. data/vendor/assets/components/codemirror/theme/colorforth.css +33 -0
  400. data/vendor/assets/components/codemirror/theme/dracula.css +40 -0
  401. data/vendor/assets/components/codemirror/theme/duotone-dark.css +35 -0
  402. data/vendor/assets/components/codemirror/theme/duotone-light.css +36 -0
  403. data/vendor/assets/components/codemirror/theme/eclipse.css +23 -0
  404. data/vendor/assets/components/codemirror/theme/elegant.css +13 -0
  405. data/vendor/assets/components/codemirror/theme/erlang-dark.css +34 -0
  406. data/vendor/assets/components/codemirror/theme/hopscotch.css +34 -0
  407. data/vendor/assets/components/codemirror/theme/icecoder.css +43 -0
  408. data/vendor/assets/components/codemirror/theme/isotope.css +34 -0
  409. data/vendor/assets/components/codemirror/theme/lesser-dark.css +47 -0
  410. data/vendor/assets/components/codemirror/theme/liquibyte.css +95 -0
  411. data/vendor/assets/components/codemirror/theme/material.css +53 -0
  412. data/vendor/assets/components/codemirror/theme/mbo.css +37 -0
  413. data/vendor/assets/components/codemirror/theme/mdn-like.css +46 -0
  414. data/vendor/assets/components/codemirror/theme/midnight.css +43 -0
  415. data/vendor/assets/components/codemirror/theme/monokai.css +36 -0
  416. data/vendor/assets/components/codemirror/theme/neat.css +12 -0
  417. data/vendor/assets/components/codemirror/theme/neo.css +43 -0
  418. data/vendor/assets/components/codemirror/theme/night.css +27 -0
  419. data/vendor/assets/components/codemirror/theme/oceanic-next.css +44 -0
  420. data/vendor/assets/components/codemirror/theme/panda-syntax.css +85 -0
  421. data/vendor/assets/components/codemirror/theme/paraiso-dark.css +38 -0
  422. data/vendor/assets/components/codemirror/theme/paraiso-light.css +38 -0
  423. data/vendor/assets/components/codemirror/theme/pastel-on-dark.css +52 -0
  424. data/vendor/assets/components/codemirror/theme/railscasts.css +34 -0
  425. data/vendor/assets/components/codemirror/theme/rubyblue.css +25 -0
  426. data/vendor/assets/components/codemirror/theme/seti.css +44 -0
  427. data/vendor/assets/components/codemirror/theme/shadowfox.css +52 -0
  428. data/vendor/assets/components/codemirror/theme/solarized.css +168 -0
  429. data/vendor/assets/components/codemirror/theme/the-matrix.css +30 -0
  430. data/vendor/assets/components/codemirror/theme/tomorrow-night-bright.css +35 -0
  431. data/vendor/assets/components/codemirror/theme/tomorrow-night-eighties.css +38 -0
  432. data/vendor/assets/components/codemirror/theme/ttcn.css +64 -0
  433. data/vendor/assets/components/codemirror/theme/twilight.css +32 -0
  434. data/vendor/assets/components/codemirror/theme/vibrant-ink.css +34 -0
  435. data/vendor/assets/components/codemirror/theme/xq-dark.css +53 -0
  436. data/vendor/assets/components/codemirror/theme/xq-light.css +43 -0
  437. data/vendor/assets/components/codemirror/theme/yeti.css +44 -0
  438. data/vendor/assets/components/codemirror/theme/zenburn.css +37 -0
  439. data/vendor/assets/components/eve/.bower.json +12 -0
  440. data/vendor/assets/components/eve/LICENSE +202 -0
  441. data/vendor/assets/components/eve/README.md +7 -0
  442. data/vendor/assets/components/eve/component.json +13 -0
  443. data/vendor/assets/components/eve/e.html +66 -0
  444. data/vendor/assets/components/eve/eve.js +371 -0
  445. data/vendor/assets/components/eve/package.json +18 -0
  446. data/vendor/assets/components/highlightjs/.bower.json +24 -0
  447. data/vendor/assets/components/highlightjs/LICENSE +24 -0
  448. data/vendor/assets/components/highlightjs/Makefile +21 -0
  449. data/vendor/assets/components/highlightjs/README.md +12 -0
  450. data/vendor/assets/components/highlightjs/bower.json +14 -0
  451. data/vendor/assets/components/highlightjs/component.json +12 -0
  452. data/vendor/assets/components/highlightjs/composer.json +26 -0
  453. data/vendor/assets/components/highlightjs/highlight.pack.js +16645 -0
  454. data/vendor/assets/components/highlightjs/highlight.pack.min.js +15 -0
  455. data/vendor/assets/components/highlightjs/package.json +8 -0
  456. data/vendor/assets/components/highlightjs/styles/agate.css +108 -0
  457. data/vendor/assets/components/highlightjs/styles/androidstudio.css +66 -0
  458. data/vendor/assets/components/highlightjs/styles/arduino-light.css +88 -0
  459. data/vendor/assets/components/highlightjs/styles/arta.css +73 -0
  460. data/vendor/assets/components/highlightjs/styles/ascetic.css +45 -0
  461. data/vendor/assets/components/highlightjs/styles/atelier-cave-dark.css +83 -0
  462. data/vendor/assets/components/highlightjs/styles/atelier-cave-light.css +85 -0
  463. data/vendor/assets/components/highlightjs/styles/atelier-cave.dark.css +113 -0
  464. data/vendor/assets/components/highlightjs/styles/atelier-cave.light.css +113 -0
  465. data/vendor/assets/components/highlightjs/styles/atelier-dune-dark.css +69 -0
  466. data/vendor/assets/components/highlightjs/styles/atelier-dune-light.css +69 -0
  467. data/vendor/assets/components/highlightjs/styles/atelier-dune.dark.css +94 -0
  468. data/vendor/assets/components/highlightjs/styles/atelier-dune.light.css +94 -0
  469. data/vendor/assets/components/highlightjs/styles/atelier-estuary-dark.css +84 -0
  470. data/vendor/assets/components/highlightjs/styles/atelier-estuary-light.css +84 -0
  471. data/vendor/assets/components/highlightjs/styles/atelier-estuary.dark.css +113 -0
  472. data/vendor/assets/components/highlightjs/styles/atelier-estuary.light.css +113 -0
  473. data/vendor/assets/components/highlightjs/styles/atelier-forest-dark.css +69 -0
  474. data/vendor/assets/components/highlightjs/styles/atelier-forest-light.css +69 -0
  475. data/vendor/assets/components/highlightjs/styles/atelier-forest.dark.css +94 -0
  476. data/vendor/assets/components/highlightjs/styles/atelier-forest.light.css +94 -0
  477. data/vendor/assets/components/highlightjs/styles/atelier-heath-dark.css +69 -0
  478. data/vendor/assets/components/highlightjs/styles/atelier-heath-light.css +69 -0
  479. data/vendor/assets/components/highlightjs/styles/atelier-heath.dark.css +94 -0
  480. data/vendor/assets/components/highlightjs/styles/atelier-heath.light.css +94 -0
  481. data/vendor/assets/components/highlightjs/styles/atelier-lakeside-dark.css +69 -0
  482. data/vendor/assets/components/highlightjs/styles/atelier-lakeside-light.css +69 -0
  483. data/vendor/assets/components/highlightjs/styles/atelier-lakeside.dark.css +94 -0
  484. data/vendor/assets/components/highlightjs/styles/atelier-lakeside.light.css +94 -0
  485. data/vendor/assets/components/highlightjs/styles/atelier-plateau-dark.css +84 -0
  486. data/vendor/assets/components/highlightjs/styles/atelier-plateau-light.css +84 -0
  487. data/vendor/assets/components/highlightjs/styles/atelier-plateau.dark.css +113 -0
  488. data/vendor/assets/components/highlightjs/styles/atelier-plateau.light.css +113 -0
  489. data/vendor/assets/components/highlightjs/styles/atelier-savanna-dark.css +84 -0
  490. data/vendor/assets/components/highlightjs/styles/atelier-savanna-light.css +84 -0
  491. data/vendor/assets/components/highlightjs/styles/atelier-savanna.dark.css +113 -0
  492. data/vendor/assets/components/highlightjs/styles/atelier-savanna.light.css +113 -0
  493. data/vendor/assets/components/highlightjs/styles/atelier-seaside-dark.css +69 -0
  494. data/vendor/assets/components/highlightjs/styles/atelier-seaside-light.css +69 -0
  495. data/vendor/assets/components/highlightjs/styles/atelier-seaside.dark.css +94 -0
  496. data/vendor/assets/components/highlightjs/styles/atelier-seaside.light.css +94 -0
  497. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool-dark.css +69 -0
  498. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool-light.css +69 -0
  499. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool.dark.css +94 -0
  500. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool.light.css +94 -0
  501. data/vendor/assets/components/highlightjs/styles/atom-one-dark.css +96 -0
  502. data/vendor/assets/components/highlightjs/styles/atom-one-light.css +96 -0
  503. data/vendor/assets/components/highlightjs/styles/brown-paper.css +64 -0
  504. data/vendor/assets/components/highlightjs/styles/brown-papersq.png +0 -0
  505. data/vendor/assets/components/highlightjs/styles/brown_paper.css +103 -0
  506. data/vendor/assets/components/highlightjs/styles/brown_papersq.png +0 -0
  507. data/vendor/assets/components/highlightjs/styles/codepen-embed.css +60 -0
  508. data/vendor/assets/components/highlightjs/styles/color-brewer.css +71 -0
  509. data/vendor/assets/components/highlightjs/styles/darcula.css +77 -0
  510. data/vendor/assets/components/highlightjs/styles/dark.css +63 -0
  511. data/vendor/assets/components/highlightjs/styles/darkula.css +6 -0
  512. data/vendor/assets/components/highlightjs/styles/default.css +99 -0
  513. data/vendor/assets/components/highlightjs/styles/docco.css +97 -0
  514. data/vendor/assets/components/highlightjs/styles/dracula.css +76 -0
  515. data/vendor/assets/components/highlightjs/styles/far.css +71 -0
  516. data/vendor/assets/components/highlightjs/styles/foundation.css +88 -0
  517. data/vendor/assets/components/highlightjs/styles/github-gist.css +71 -0
  518. data/vendor/assets/components/highlightjs/styles/github.css +99 -0
  519. data/vendor/assets/components/highlightjs/styles/googlecode.css +89 -0
  520. data/vendor/assets/components/highlightjs/styles/grayscale.css +101 -0
  521. data/vendor/assets/components/highlightjs/styles/gruvbox-dark.css +108 -0
  522. data/vendor/assets/components/highlightjs/styles/gruvbox-light.css +108 -0
  523. data/vendor/assets/components/highlightjs/styles/hopscotch.css +83 -0
  524. data/vendor/assets/components/highlightjs/styles/hybrid.css +102 -0
  525. data/vendor/assets/components/highlightjs/styles/idea.css +97 -0
  526. data/vendor/assets/components/highlightjs/styles/ir-black.css +73 -0
  527. data/vendor/assets/components/highlightjs/styles/ir_black.css +106 -0
  528. data/vendor/assets/components/highlightjs/styles/kimbie.dark.css +74 -0
  529. data/vendor/assets/components/highlightjs/styles/kimbie.light.css +74 -0
  530. data/vendor/assets/components/highlightjs/styles/magula.css +70 -0
  531. data/vendor/assets/components/highlightjs/styles/mono-blue.css +59 -0
  532. data/vendor/assets/components/highlightjs/styles/monokai-sublime.css +83 -0
  533. data/vendor/assets/components/highlightjs/styles/monokai.css +70 -0
  534. data/vendor/assets/components/highlightjs/styles/monokai_sublime.css +154 -0
  535. data/vendor/assets/components/highlightjs/styles/obsidian.css +88 -0
  536. data/vendor/assets/components/highlightjs/styles/ocean.css +74 -0
  537. data/vendor/assets/components/highlightjs/styles/paraiso-dark.css +72 -0
  538. data/vendor/assets/components/highlightjs/styles/paraiso-light.css +72 -0
  539. data/vendor/assets/components/highlightjs/styles/paraiso.dark.css +96 -0
  540. data/vendor/assets/components/highlightjs/styles/paraiso.light.css +96 -0
  541. data/vendor/assets/components/highlightjs/styles/pojoaque.css +83 -0
  542. data/vendor/assets/components/highlightjs/styles/pojoaque.jpg +0 -0
  543. data/vendor/assets/components/highlightjs/styles/purebasic.css +96 -0
  544. data/vendor/assets/components/highlightjs/styles/qtcreator_dark.css +83 -0
  545. data/vendor/assets/components/highlightjs/styles/qtcreator_light.css +83 -0
  546. data/vendor/assets/components/highlightjs/styles/railscasts.css +106 -0
  547. data/vendor/assets/components/highlightjs/styles/rainbow.css +85 -0
  548. data/vendor/assets/components/highlightjs/styles/routeros.css +108 -0
  549. data/vendor/assets/components/highlightjs/styles/school-book.css +72 -0
  550. data/vendor/assets/components/highlightjs/styles/school-book.png +0 -0
  551. data/vendor/assets/components/highlightjs/styles/school_book.css +111 -0
  552. data/vendor/assets/components/highlightjs/styles/school_book.png +0 -0
  553. data/vendor/assets/components/highlightjs/styles/solarized-dark.css +84 -0
  554. data/vendor/assets/components/highlightjs/styles/solarized-light.css +84 -0
  555. data/vendor/assets/components/highlightjs/styles/solarized_dark.css +107 -0
  556. data/vendor/assets/components/highlightjs/styles/solarized_light.css +107 -0
  557. data/vendor/assets/components/highlightjs/styles/sunburst.css +102 -0
  558. data/vendor/assets/components/highlightjs/styles/tomorrow-night-blue.css +75 -0
  559. data/vendor/assets/components/highlightjs/styles/tomorrow-night-bright.css +74 -0
  560. data/vendor/assets/components/highlightjs/styles/tomorrow-night-eighties.css +74 -0
  561. data/vendor/assets/components/highlightjs/styles/tomorrow-night.css +75 -0
  562. data/vendor/assets/components/highlightjs/styles/tomorrow.css +72 -0
  563. data/vendor/assets/components/highlightjs/styles/vs.css +68 -0
  564. data/vendor/assets/components/highlightjs/styles/vs2015.css +115 -0
  565. data/vendor/assets/components/highlightjs/styles/xcode.css +93 -0
  566. data/vendor/assets/components/highlightjs/styles/xt256.css +92 -0
  567. data/vendor/assets/components/highlightjs/styles/zenburn.css +80 -0
  568. data/vendor/assets/components/jquery/.bower.json +25 -0
  569. data/vendor/assets/components/jquery/AUTHORS.txt +313 -0
  570. data/vendor/assets/components/jquery/LICENSE.txt +36 -0
  571. data/vendor/assets/components/jquery/README.md +67 -0
  572. data/vendor/assets/components/jquery/bower.json +14 -0
  573. data/vendor/assets/components/jquery/dist/core.js +399 -0
  574. data/vendor/assets/components/jquery/dist/jquery.js +10364 -0
  575. data/vendor/assets/components/jquery/dist/jquery.min.js +2 -0
  576. data/vendor/assets/components/jquery/dist/jquery.min.map +1 -0
  577. data/vendor/assets/components/jquery/dist/jquery.slim.js +8269 -0
  578. data/vendor/assets/components/jquery/dist/jquery.slim.min.js +2 -0
  579. data/vendor/assets/components/jquery/dist/jquery.slim.min.map +1 -0
  580. data/vendor/assets/components/jquery/external/sizzle/LICENSE.txt +36 -0
  581. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.js +2272 -0
  582. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  583. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  584. data/vendor/assets/components/jquery/src/.eslintrc.json +5 -0
  585. data/vendor/assets/components/jquery/src/ajax.js +856 -0
  586. data/vendor/assets/components/jquery/src/ajax/jsonp.js +103 -0
  587. data/vendor/assets/components/jquery/src/ajax/load.js +77 -0
  588. data/vendor/assets/components/jquery/src/ajax/parseXML.js +30 -0
  589. data/vendor/assets/components/jquery/src/ajax/script.js +77 -0
  590. data/vendor/assets/components/jquery/src/ajax/var/location.js +5 -0
  591. data/vendor/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  592. data/vendor/assets/components/jquery/src/ajax/var/rquery.js +5 -0
  593. data/vendor/assets/components/jquery/src/ajax/xhr.js +170 -0
  594. data/vendor/assets/components/jquery/src/attributes.js +13 -0
  595. data/vendor/assets/components/jquery/src/attributes/attr.js +141 -0
  596. data/vendor/assets/components/jquery/src/attributes/classes.js +186 -0
  597. data/vendor/assets/components/jquery/src/attributes/prop.js +143 -0
  598. data/vendor/assets/components/jquery/src/attributes/support.js +33 -0
  599. data/vendor/assets/components/jquery/src/attributes/val.js +191 -0
  600. data/vendor/assets/components/jquery/src/callbacks.js +236 -0
  601. data/vendor/assets/components/jquery/src/core.js +399 -0
  602. data/vendor/assets/components/jquery/src/core/DOMEval.js +30 -0
  603. data/vendor/assets/components/jquery/src/core/access.js +72 -0
  604. data/vendor/assets/components/jquery/src/core/camelCase.js +23 -0
  605. data/vendor/assets/components/jquery/src/core/init.js +129 -0
  606. data/vendor/assets/components/jquery/src/core/nodeName.js +13 -0
  607. data/vendor/assets/components/jquery/src/core/parseHTML.js +65 -0
  608. data/vendor/assets/components/jquery/src/core/ready-no-deferred.js +97 -0
  609. data/vendor/assets/components/jquery/src/core/ready.js +86 -0
  610. data/vendor/assets/components/jquery/src/core/readyException.js +13 -0
  611. data/vendor/assets/components/jquery/src/core/stripAndCollapse.js +14 -0
  612. data/vendor/assets/components/jquery/src/core/support.js +20 -0
  613. data/vendor/assets/components/jquery/src/core/toType.js +20 -0
  614. data/vendor/assets/components/jquery/src/core/var/rsingleTag.js +6 -0
  615. data/vendor/assets/components/jquery/src/css.js +481 -0
  616. data/vendor/assets/components/jquery/src/css/addGetHookIf.js +26 -0
  617. data/vendor/assets/components/jquery/src/css/adjustCSS.js +73 -0
  618. data/vendor/assets/components/jquery/src/css/curCSS.js +65 -0
  619. data/vendor/assets/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  620. data/vendor/assets/components/jquery/src/css/showHide.js +105 -0
  621. data/vendor/assets/components/jquery/src/css/support.js +102 -0
  622. data/vendor/assets/components/jquery/src/css/var/cssExpand.js +5 -0
  623. data/vendor/assets/components/jquery/src/css/var/getStyles.js +17 -0
  624. data/vendor/assets/components/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  625. data/vendor/assets/components/jquery/src/css/var/rboxStyle.js +7 -0
  626. data/vendor/assets/components/jquery/src/css/var/rnumnonpx.js +7 -0
  627. data/vendor/assets/components/jquery/src/css/var/swap.js +26 -0
  628. data/vendor/assets/components/jquery/src/data.js +180 -0
  629. data/vendor/assets/components/jquery/src/data/Data.js +162 -0
  630. data/vendor/assets/components/jquery/src/data/var/acceptData.js +19 -0
  631. data/vendor/assets/components/jquery/src/data/var/dataPriv.js +7 -0
  632. data/vendor/assets/components/jquery/src/data/var/dataUser.js +7 -0
  633. data/vendor/assets/components/jquery/src/deferred.js +399 -0
  634. data/vendor/assets/components/jquery/src/deferred/exceptionHook.js +21 -0
  635. data/vendor/assets/components/jquery/src/deprecated.js +98 -0
  636. data/vendor/assets/components/jquery/src/dimensions.js +57 -0
  637. data/vendor/assets/components/jquery/src/effects.js +702 -0
  638. data/vendor/assets/components/jquery/src/effects/Tween.js +123 -0
  639. data/vendor/assets/components/jquery/src/effects/animatedSelector.js +15 -0
  640. data/vendor/assets/components/jquery/src/event.js +748 -0
  641. data/vendor/assets/components/jquery/src/event/ajax.js +22 -0
  642. data/vendor/assets/components/jquery/src/event/alias.js +29 -0
  643. data/vendor/assets/components/jquery/src/event/focusin.js +55 -0
  644. data/vendor/assets/components/jquery/src/event/support.js +11 -0
  645. data/vendor/assets/components/jquery/src/event/trigger.js +199 -0
  646. data/vendor/assets/components/jquery/src/exports/amd.js +26 -0
  647. data/vendor/assets/components/jquery/src/exports/global.js +34 -0
  648. data/vendor/assets/components/jquery/src/jquery.js +40 -0
  649. data/vendor/assets/components/jquery/src/manipulation.js +486 -0
  650. data/vendor/assets/components/jquery/src/manipulation/_evalUrl.js +23 -0
  651. data/vendor/assets/components/jquery/src/manipulation/buildFragment.js +105 -0
  652. data/vendor/assets/components/jquery/src/manipulation/getAll.js +32 -0
  653. data/vendor/assets/components/jquery/src/manipulation/setGlobalEval.js +22 -0
  654. data/vendor/assets/components/jquery/src/manipulation/support.js +35 -0
  655. data/vendor/assets/components/jquery/src/manipulation/var/rcheckableType.js +5 -0
  656. data/vendor/assets/components/jquery/src/manipulation/var/rscriptType.js +5 -0
  657. data/vendor/assets/components/jquery/src/manipulation/var/rtagName.js +5 -0
  658. data/vendor/assets/components/jquery/src/manipulation/wrapMap.js +29 -0
  659. data/vendor/assets/components/jquery/src/offset.js +233 -0
  660. data/vendor/assets/components/jquery/src/queue.js +145 -0
  661. data/vendor/assets/components/jquery/src/queue/delay.js +24 -0
  662. data/vendor/assets/components/jquery/src/selector-native.js +237 -0
  663. data/vendor/assets/components/jquery/src/selector-sizzle.js +19 -0
  664. data/vendor/assets/components/jquery/src/selector.js +3 -0
  665. data/vendor/assets/components/jquery/src/serialize.js +132 -0
  666. data/vendor/assets/components/jquery/src/traversing.js +191 -0
  667. data/vendor/assets/components/jquery/src/traversing/findFilter.js +97 -0
  668. data/vendor/assets/components/jquery/src/traversing/var/dir.js +22 -0
  669. data/vendor/assets/components/jquery/src/traversing/var/rneedsContext.js +8 -0
  670. data/vendor/assets/components/jquery/src/traversing/var/siblings.js +17 -0
  671. data/vendor/assets/components/jquery/src/var/ObjectFunctionString.js +7 -0
  672. data/vendor/assets/components/jquery/src/var/arr.js +5 -0
  673. data/vendor/assets/components/jquery/src/var/class2type.js +6 -0
  674. data/vendor/assets/components/jquery/src/var/concat.js +7 -0
  675. data/vendor/assets/components/jquery/src/var/document.js +5 -0
  676. data/vendor/assets/components/jquery/src/var/documentElement.js +7 -0
  677. data/vendor/assets/components/jquery/src/var/fnToString.js +7 -0
  678. data/vendor/assets/components/jquery/src/var/getProto.js +5 -0
  679. data/vendor/assets/components/jquery/src/var/hasOwn.js +7 -0
  680. data/vendor/assets/components/jquery/src/var/indexOf.js +7 -0
  681. data/vendor/assets/components/jquery/src/var/isFunction.js +13 -0
  682. data/vendor/assets/components/jquery/src/var/isWindow.js +8 -0
  683. data/vendor/assets/components/jquery/src/var/pnum.js +5 -0
  684. data/vendor/assets/components/jquery/src/var/push.js +7 -0
  685. data/vendor/assets/components/jquery/src/var/rcssNum.js +9 -0
  686. data/vendor/assets/components/jquery/src/var/rnothtmlwhite.js +8 -0
  687. data/vendor/assets/components/jquery/src/var/slice.js +7 -0
  688. data/vendor/assets/components/jquery/src/var/support.js +6 -0
  689. data/vendor/assets/components/jquery/src/var/toString.js +7 -0
  690. data/vendor/assets/components/jquery/src/wrap.js +78 -0
  691. data/vendor/assets/components/markdown-it/.bower.json +38 -0
  692. data/vendor/assets/components/markdown-it/CHANGELOG.md +442 -0
  693. data/vendor/assets/components/markdown-it/CONTRIBUTING.md +15 -0
  694. data/vendor/assets/components/markdown-it/LICENSE +22 -0
  695. data/vendor/assets/components/markdown-it/Procfile +1 -0
  696. data/vendor/assets/components/markdown-it/README.md +294 -0
  697. data/vendor/assets/components/markdown-it/bin/markdown-it.js +113 -0
  698. data/vendor/assets/components/markdown-it/bower.json +28 -0
  699. data/vendor/assets/components/markdown-it/dist/markdown-it.js +7963 -0
  700. data/vendor/assets/components/markdown-it/dist/markdown-it.min.js +1 -0
  701. data/vendor/assets/components/markdown-it/package.json +64 -0
  702. data/vendor/assets/components/plantuml-encoder/.bower.json +29 -0
  703. data/vendor/assets/components/plantuml-encoder/LICENSE +19 -0
  704. data/vendor/assets/components/plantuml-encoder/README.md +38 -0
  705. data/vendor/assets/components/plantuml-encoder/bower.json +20 -0
  706. data/vendor/assets/components/plantuml-encoder/dist/plantuml-encoder.js +3994 -0
  707. data/vendor/assets/components/plantuml-encoder/dist/plantuml-encoder.min.js +1 -0
  708. data/vendor/assets/components/plantuml-encoder/package.json +33 -0
  709. data/vendor/assets/components/raphael/.bower.json +45 -0
  710. data/vendor/assets/components/raphael/bower.json +31 -0
  711. data/vendor/assets/components/raphael/dev/banner.txt +8 -0
  712. data/vendor/assets/components/raphael/dev/raphael.amd.js +14 -0
  713. data/vendor/assets/components/raphael/dev/raphael.core.js +5413 -0
  714. data/vendor/assets/components/raphael/dev/raphael.svg.js +1428 -0
  715. data/vendor/assets/components/raphael/dev/raphael.vml.js +1010 -0
  716. data/vendor/assets/components/raphael/dev/test/svg/dom.js +295 -0
  717. data/vendor/assets/components/raphael/dev/test/vml/dom.js +5 -0
  718. data/vendor/assets/components/raphael/license.txt +21 -0
  719. data/vendor/assets/components/raphael/raphael.js +8330 -0
  720. data/vendor/assets/components/raphael/raphael.min.js +3 -0
  721. data/vendor/assets/components/raphael/raphael.no-deps.js +7959 -0
  722. data/vendor/assets/components/raphael/raphael.no-deps.min.js +3 -0
  723. data/vendor/assets/components/raphael/webpack.config.js +62 -0
  724. data/vendor/assets/components/squire-rte/.bower.json +34 -0
  725. data/vendor/assets/components/squire-rte/Demo.html +143 -0
  726. data/vendor/assets/components/squire-rte/LICENSE +21 -0
  727. data/vendor/assets/components/squire-rte/Makefile +22 -0
  728. data/vendor/assets/components/squire-rte/README.md +473 -0
  729. data/vendor/assets/components/squire-rte/bower.json +24 -0
  730. data/vendor/assets/components/squire-rte/build/document.html +54 -0
  731. data/vendor/assets/components/squire-rte/build/squire-raw.js +4722 -0
  732. data/vendor/assets/components/squire-rte/build/squire.js +2 -0
  733. data/vendor/assets/components/squire-rte/package.json +31 -0
  734. data/vendor/assets/components/squire-rte/source/Clean.js +358 -0
  735. data/vendor/assets/components/squire-rte/source/Clipboard.js +331 -0
  736. data/vendor/assets/components/squire-rte/source/Constants.js +60 -0
  737. data/vendor/assets/components/squire-rte/source/Editor.js +2201 -0
  738. data/vendor/assets/components/squire-rte/source/KeyHandlers.js +502 -0
  739. data/vendor/assets/components/squire-rte/source/Node.js +553 -0
  740. data/vendor/assets/components/squire-rte/source/Range.js +540 -0
  741. data/vendor/assets/components/squire-rte/source/TreeWalker.js +118 -0
  742. data/vendor/assets/components/squire-rte/source/document.html +54 -0
  743. data/vendor/assets/components/squire-rte/source/exports.js +42 -0
  744. data/vendor/assets/components/squire-rte/source/intro.js +6 -0
  745. data/vendor/assets/components/squire-rte/source/outro.js +22 -0
  746. data/vendor/assets/components/to-mark/.bower.json +35 -0
  747. data/vendor/assets/components/to-mark/bower.json +22 -0
  748. data/vendor/assets/components/to-mark/demo/demo.html +24 -0
  749. data/vendor/assets/components/to-mark/demo/demo2.html +94 -0
  750. data/vendor/assets/components/to-mark/dist/to-mark.js +1283 -0
  751. data/vendor/assets/components/to-mark/dist/to-mark.min.js +1 -0
  752. data/vendor/assets/components/to-mark/gulpfile.js +112 -0
  753. data/vendor/assets/components/to-mark/karma.conf.js +260 -0
  754. data/vendor/assets/components/to-mark/package-lock.json +13061 -0
  755. data/vendor/assets/components/to-mark/package.json +53 -0
  756. data/vendor/assets/components/tui-chart/.bower.json +44 -0
  757. data/vendor/assets/components/tui-chart/CODE_OF_CONDUCT.md +73 -0
  758. data/vendor/assets/components/tui-chart/CONTRIBUTING.md +91 -0
  759. data/vendor/assets/components/tui-chart/LICENSE +21 -0
  760. data/vendor/assets/components/tui-chart/README.md +142 -0
  761. data/vendor/assets/components/tui-chart/bower.json +33 -0
  762. data/vendor/assets/components/tui-chart/dist/maps/china.js +10 -0
  763. data/vendor/assets/components/tui-chart/dist/maps/japan.js +10 -0
  764. data/vendor/assets/components/tui-chart/dist/maps/singapore.js +10 -0
  765. data/vendor/assets/components/tui-chart/dist/maps/south-korea.js +10 -0
  766. data/vendor/assets/components/tui-chart/dist/maps/taiwan.js +10 -0
  767. data/vendor/assets/components/tui-chart/dist/maps/thailand.js +10 -0
  768. data/vendor/assets/components/tui-chart/dist/maps/usa.js +10 -0
  769. data/vendor/assets/components/tui-chart/dist/maps/world.js +11 -0
  770. data/vendor/assets/components/tui-chart/dist/tui-chart.css +704 -0
  771. data/vendor/assets/components/tui-chart/dist/tui-chart.js +40567 -0
  772. data/vendor/assets/components/tui-chart/dist/tui-chart.min.css +10 -0
  773. data/vendor/assets/components/tui-chart/dist/tui-chart.min.js +20 -0
  774. data/vendor/assets/components/tui-chart/docs/COMMIT_MESSAGE_CONVENTION.md +49 -0
  775. data/vendor/assets/components/tui-chart/docs/ISSUE_TEMPLATE.md +24 -0
  776. data/vendor/assets/components/tui-chart/docs/PULL_REQUEST_TEMPLATE.md +42 -0
  777. data/vendor/assets/components/tui-chart/docs/README.md +11 -0
  778. data/vendor/assets/components/tui-chart/docs/wiki/README.md +27 -0
  779. data/vendor/assets/components/tui-chart/docs/wiki/_Sidebar.md +31 -0
  780. data/vendor/assets/components/tui-chart/docs/wiki/chart-export-menu.md +66 -0
  781. data/vendor/assets/components/tui-chart/docs/wiki/chart-type-radial.md +121 -0
  782. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-bar,column.md +312 -0
  783. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-bubble.md +63 -0
  784. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-column-line-combo.md +104 -0
  785. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-heatmap.md +39 -0
  786. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line,area.md +333 -0
  787. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line-area-combo.md +78 -0
  788. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line-scatter-combo.md +101 -0
  789. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-map.md +153 -0
  790. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-pie-donut-combo.md +98 -0
  791. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-pie.md +186 -0
  792. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-scatter.md +58 -0
  793. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-treemap.md +158 -0
  794. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-china-map.md +38 -0
  795. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-japan-map.md +51 -0
  796. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-singapore-map.md +9 -0
  797. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-south-korea-map.md +21 -0
  798. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-taiwan-map.md +26 -0
  799. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-thailand-map.md +82 -0
  800. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-usa-map.md +55 -0
  801. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-world-map.md +180 -0
  802. data/vendor/assets/components/tui-chart/docs/wiki/features-axes.md +209 -0
  803. data/vendor/assets/components/tui-chart/docs/wiki/features-chart.md +157 -0
  804. data/vendor/assets/components/tui-chart/docs/wiki/features-circle-legend.md +20 -0
  805. data/vendor/assets/components/tui-chart/docs/wiki/features-legend.md +89 -0
  806. data/vendor/assets/components/tui-chart/docs/wiki/features-plot.md +141 -0
  807. data/vendor/assets/components/tui-chart/docs/wiki/features-series.md +240 -0
  808. data/vendor/assets/components/tui-chart/docs/wiki/features-tooltip.md +223 -0
  809. data/vendor/assets/components/tui-chart/docs/wiki/getting-started.md +74 -0
  810. data/vendor/assets/components/tui-chart/docs/wiki/import-chart-data-from-existing-table-element.md +150 -0
  811. data/vendor/assets/components/tui-chart/docs/wiki/table-of-supported-options.md +344 -0
  812. data/vendor/assets/components/tui-chart/docs/wiki/theme.md +338 -0
  813. data/vendor/assets/components/tui-chart/package-lock.json +8881 -0
  814. data/vendor/assets/components/tui-code-snippet/.bower.json +31 -0
  815. data/vendor/assets/components/tui-code-snippet/LICENSE +21 -0
  816. data/vendor/assets/components/tui-code-snippet/README.md +109 -0
  817. data/vendor/assets/components/tui-code-snippet/bower.json +20 -0
  818. data/vendor/assets/components/tui-code-snippet/demo/postBridge/README.md +26 -0
  819. data/vendor/assets/components/tui-code-snippet/demo/postBridge/public/popup.html +27 -0
  820. data/vendor/assets/components/tui-code-snippet/demo/postBridge/public/postBridge.html +31 -0
  821. data/vendor/assets/components/tui-code-snippet/demo/postBridge/server.js +28 -0
  822. data/vendor/assets/components/tui-code-snippet/dist/tui-code-snippet.js +4228 -0
  823. data/vendor/assets/components/tui-code-snippet/dist/tui-code-snippet.min.js +7 -0
  824. data/vendor/assets/components/tui-code-snippet/package-lock.json +6038 -0
  825. data/vendor/assets/components/tui-color-picker/.bower.json +37 -0
  826. data/vendor/assets/components/tui-color-picker/ISSUE_TEMPLATE.md +26 -0
  827. data/vendor/assets/components/tui-color-picker/LICENSE +34 -0
  828. data/vendor/assets/components/tui-color-picker/README.md +69 -0
  829. data/vendor/assets/components/tui-color-picker/bower.json +26 -0
  830. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.css +148 -0
  831. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.js +3146 -0
  832. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.min.css +7 -0
  833. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.min.js +9 -0
  834. data/vendor/assets/components/tui-color-picker/package-lock.json +8440 -0
  835. data/vendor/assets/components/tui-editor/.bower.json +71 -0
  836. data/vendor/assets/components/tui-editor/CODE_OF_CONDUCT.md +73 -0
  837. data/vendor/assets/components/tui-editor/CONTRIBUTING.md +92 -0
  838. data/vendor/assets/components/tui-editor/LICENSE +21 -0
  839. data/vendor/assets/components/tui-editor/README.md +204 -0
  840. data/vendor/assets/components/tui-editor/bower.json +59 -0
  841. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor-all.js +36850 -0
  842. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor-all.min.js +13 -0
  843. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor.js +24646 -0
  844. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor.min.js +7 -0
  845. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer-all.js +14768 -0
  846. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer-all.min.js +13 -0
  847. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer.js +3686 -0
  848. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer.min.js +7 -0
  849. data/vendor/assets/components/tui-editor/dist/tui-editor-contents.css +239 -0
  850. data/vendor/assets/components/tui-editor/dist/tui-editor-contents.min.css +1 -0
  851. data/vendor/assets/components/tui-editor/dist/tui-editor-extChart.js +7040 -0
  852. data/vendor/assets/components/tui-editor/dist/tui-editor-extChart.min.js +13 -0
  853. data/vendor/assets/components/tui-editor/dist/tui-editor-extColorSyntax.js +472 -0
  854. data/vendor/assets/components/tui-editor/dist/tui-editor-extColorSyntax.min.js +7 -0
  855. data/vendor/assets/components/tui-editor/dist/tui-editor-extScrollSync.js +1241 -0
  856. data/vendor/assets/components/tui-editor/dist/tui-editor-extScrollSync.min.js +7 -0
  857. data/vendor/assets/components/tui-editor/dist/tui-editor-extTable.js +3930 -0
  858. data/vendor/assets/components/tui-editor/dist/tui-editor-extTable.min.js +7 -0
  859. data/vendor/assets/components/tui-editor/dist/tui-editor-extUML.js +212 -0
  860. data/vendor/assets/components/tui-editor/dist/tui-editor-extUML.min.js +7 -0
  861. data/vendor/assets/components/tui-editor/dist/tui-editor.css +1166 -0
  862. data/vendor/assets/components/tui-editor/dist/tui-editor.min.css +1 -0
  863. data/vendor/assets/components/tui-editor/docs/COMMIT_MESSAGE_CONVENTION.md +49 -0
  864. data/vendor/assets/components/tui-editor/docs/PULL_REQUEST_TEMPLATE.md +41 -0
  865. data/vendor/assets/components/tui-editor/docs/README.md +13 -0
  866. data/vendor/assets/components/tui-editor/docs/getting-started-with-bower.md +93 -0
  867. data/vendor/assets/components/tui-editor/docs/getting-started.md +76 -0
  868. data/vendor/assets/components/tui-editor/docs/using-extensions.md +91 -0
  869. data/vendor/assets/components/tui-editor/docs/writing-your-own-extension.md +167 -0
  870. data/vendor/assets/components/tui-editor/examples/example00-demo.html +85 -0
  871. data/vendor/assets/components/tui-editor/examples/example01-basic.html +37 -0
  872. data/vendor/assets/components/tui-editor/examples/example02-viewer-basic.html +68 -0
  873. data/vendor/assets/components/tui-editor/examples/example03-jquery.html +36 -0
  874. data/vendor/assets/components/tui-editor/examples/example04-viewer-jquery.html +67 -0
  875. data/vendor/assets/components/tui-editor/examples/example05-scrollsync.html +77 -0
  876. data/vendor/assets/components/tui-editor/examples/example06-colorsyntax.html +44 -0
  877. data/vendor/assets/components/tui-editor/examples/example07-table.html +48 -0
  878. data/vendor/assets/components/tui-editor/examples/example08-uml.html +69 -0
  879. data/vendor/assets/components/tui-editor/examples/example09-multiple-extensions.html +85 -0
  880. data/vendor/assets/components/tui-editor/examples/example10-viewer-multiple-extensions.html +86 -0
  881. data/vendor/assets/components/tui-editor/examples/example11-chart.html +60 -0
  882. data/vendor/assets/components/tui-editor/examples/example12-writing-extension.html +66 -0
  883. data/vendor/assets/components/tui-editor/examples/examples.json +41 -0
  884. data/vendor/assets/components/tui-editor/examples/explain.css +7 -0
  885. data/vendor/assets/components/tui-editor/package-lock.json +13289 -0
  886. data/vendor/assets/components/tui-editor/package.json +90 -0
  887. metadata +956 -0
@@ -0,0 +1,1010 @@
1
+ // ┌─────────────────────────────────────────────────────────────────────┐ \\
2
+ // │ Raphaël @@VERSION - JavaScript Vector Library │ \\
3
+ // ├─────────────────────────────────────────────────────────────────────┤ \\
4
+ // │ VML Module │ \\
5
+ // ├─────────────────────────────────────────────────────────────────────┤ \\
6
+ // │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\
7
+ // │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\
8
+ // │ Licensed under the MIT (http://raphaeljs.com/license.html) license. │ \\
9
+ // └─────────────────────────────────────────────────────────────────────┘ \\
10
+
11
+ define(["./raphael.core"], function(R) {
12
+ if (R && !R.vml) {
13
+ return;
14
+ }
15
+
16
+ var has = "hasOwnProperty",
17
+ Str = String,
18
+ toFloat = parseFloat,
19
+ math = Math,
20
+ round = math.round,
21
+ mmax = math.max,
22
+ mmin = math.min,
23
+ abs = math.abs,
24
+ fillString = "fill",
25
+ separator = /[, ]+/,
26
+ eve = R.eve,
27
+ ms = " progid:DXImageTransform.Microsoft",
28
+ S = " ",
29
+ E = "",
30
+ map = {M: "m", L: "l", C: "c", Z: "x", m: "t", l: "r", c: "v", z: "x"},
31
+ bites = /([clmz]),?([^clmz]*)/gi,
32
+ blurregexp = / progid:\S+Blur\([^\)]+\)/g,
33
+ val = /-?[^,\s-]+/g,
34
+ cssDot = "position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)",
35
+ zoom = 21600,
36
+ pathTypes = {path: 1, rect: 1, image: 1},
37
+ ovalTypes = {circle: 1, ellipse: 1},
38
+ path2vml = function (path) {
39
+ var total = /[ahqstv]/ig,
40
+ command = R._pathToAbsolute;
41
+ Str(path).match(total) && (command = R._path2curve);
42
+ total = /[clmz]/g;
43
+ if (command == R._pathToAbsolute && !Str(path).match(total)) {
44
+ var res = Str(path).replace(bites, function (all, command, args) {
45
+ var vals = [],
46
+ isMove = command.toLowerCase() == "m",
47
+ res = map[command];
48
+ args.replace(val, function (value) {
49
+ if (isMove && vals.length == 2) {
50
+ res += vals + map[command == "m" ? "l" : "L"];
51
+ vals = [];
52
+ }
53
+ vals.push(round(value * zoom));
54
+ });
55
+ return res + vals;
56
+ });
57
+ return res;
58
+ }
59
+ var pa = command(path), p, r;
60
+ res = [];
61
+ for (var i = 0, ii = pa.length; i < ii; i++) {
62
+ p = pa[i];
63
+ r = pa[i][0].toLowerCase();
64
+ r == "z" && (r = "x");
65
+ for (var j = 1, jj = p.length; j < jj; j++) {
66
+ r += round(p[j] * zoom) + (j != jj - 1 ? "," : E);
67
+ }
68
+ res.push(r);
69
+ }
70
+ return res.join(S);
71
+ },
72
+ compensation = function (deg, dx, dy) {
73
+ var m = R.matrix();
74
+ m.rotate(-deg, .5, .5);
75
+ return {
76
+ dx: m.x(dx, dy),
77
+ dy: m.y(dx, dy)
78
+ };
79
+ },
80
+ setCoords = function (p, sx, sy, dx, dy, deg) {
81
+ var _ = p._,
82
+ m = p.matrix,
83
+ fillpos = _.fillpos,
84
+ o = p.node,
85
+ s = o.style,
86
+ y = 1,
87
+ flip = "",
88
+ dxdy,
89
+ kx = zoom / sx,
90
+ ky = zoom / sy;
91
+ s.visibility = "hidden";
92
+ if (!sx || !sy) {
93
+ return;
94
+ }
95
+ o.coordsize = abs(kx) + S + abs(ky);
96
+ s.rotation = deg * (sx * sy < 0 ? -1 : 1);
97
+ if (deg) {
98
+ var c = compensation(deg, dx, dy);
99
+ dx = c.dx;
100
+ dy = c.dy;
101
+ }
102
+ sx < 0 && (flip += "x");
103
+ sy < 0 && (flip += " y") && (y = -1);
104
+ s.flip = flip;
105
+ o.coordorigin = (dx * -kx) + S + (dy * -ky);
106
+ if (fillpos || _.fillsize) {
107
+ var fill = o.getElementsByTagName(fillString);
108
+ fill = fill && fill[0];
109
+ o.removeChild(fill);
110
+ if (fillpos) {
111
+ c = compensation(deg, m.x(fillpos[0], fillpos[1]), m.y(fillpos[0], fillpos[1]));
112
+ fill.position = c.dx * y + S + c.dy * y;
113
+ }
114
+ if (_.fillsize) {
115
+ fill.size = _.fillsize[0] * abs(sx) + S + _.fillsize[1] * abs(sy);
116
+ }
117
+ o.appendChild(fill);
118
+ }
119
+ s.visibility = "visible";
120
+ };
121
+ R.toString = function () {
122
+ return "Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl " + this.version;
123
+ };
124
+ var addArrow = function (o, value, isEnd) {
125
+ var values = Str(value).toLowerCase().split("-"),
126
+ se = isEnd ? "end" : "start",
127
+ i = values.length,
128
+ type = "classic",
129
+ w = "medium",
130
+ h = "medium";
131
+ while (i--) {
132
+ switch (values[i]) {
133
+ case "block":
134
+ case "classic":
135
+ case "oval":
136
+ case "diamond":
137
+ case "open":
138
+ case "none":
139
+ type = values[i];
140
+ break;
141
+ case "wide":
142
+ case "narrow": h = values[i]; break;
143
+ case "long":
144
+ case "short": w = values[i]; break;
145
+ }
146
+ }
147
+ var stroke = o.node.getElementsByTagName("stroke")[0];
148
+ stroke[se + "arrow"] = type;
149
+ stroke[se + "arrowlength"] = w;
150
+ stroke[se + "arrowwidth"] = h;
151
+ },
152
+ setFillAndStroke = function (o, params) {
153
+ // o.paper.canvas.style.display = "none";
154
+ o.attrs = o.attrs || {};
155
+ var node = o.node,
156
+ a = o.attrs,
157
+ s = node.style,
158
+ xy,
159
+ newpath = pathTypes[o.type] && (params.x != a.x || params.y != a.y || params.width != a.width || params.height != a.height || params.cx != a.cx || params.cy != a.cy || params.rx != a.rx || params.ry != a.ry || params.r != a.r),
160
+ isOval = ovalTypes[o.type] && (a.cx != params.cx || a.cy != params.cy || a.r != params.r || a.rx != params.rx || a.ry != params.ry),
161
+ res = o;
162
+
163
+
164
+ for (var par in params) if (params[has](par)) {
165
+ a[par] = params[par];
166
+ }
167
+ if (newpath) {
168
+ a.path = R._getPath[o.type](o);
169
+ o._.dirty = 1;
170
+ }
171
+ params.href && (node.href = params.href);
172
+ params.title && (node.title = params.title);
173
+ params.target && (node.target = params.target);
174
+ params.cursor && (s.cursor = params.cursor);
175
+ "blur" in params && o.blur(params.blur);
176
+ if (params.path && o.type == "path" || newpath) {
177
+ node.path = path2vml(~Str(a.path).toLowerCase().indexOf("r") ? R._pathToAbsolute(a.path) : a.path);
178
+ o._.dirty = 1;
179
+ if (o.type == "image") {
180
+ o._.fillpos = [a.x, a.y];
181
+ o._.fillsize = [a.width, a.height];
182
+ setCoords(o, 1, 1, 0, 0, 0);
183
+ }
184
+ }
185
+ "transform" in params && o.transform(params.transform);
186
+ if (isOval) {
187
+ var cx = +a.cx,
188
+ cy = +a.cy,
189
+ rx = +a.rx || +a.r || 0,
190
+ ry = +a.ry || +a.r || 0;
191
+ node.path = R.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x", round((cx - rx) * zoom), round((cy - ry) * zoom), round((cx + rx) * zoom), round((cy + ry) * zoom), round(cx * zoom));
192
+ o._.dirty = 1;
193
+ }
194
+ if ("clip-rect" in params) {
195
+ var rect = Str(params["clip-rect"]).split(separator);
196
+ if (rect.length == 4) {
197
+ rect[2] = +rect[2] + (+rect[0]);
198
+ rect[3] = +rect[3] + (+rect[1]);
199
+ var div = node.clipRect || R._g.doc.createElement("div"),
200
+ dstyle = div.style;
201
+ dstyle.clip = R.format("rect({1}px {2}px {3}px {0}px)", rect);
202
+ if (!node.clipRect) {
203
+ dstyle.position = "absolute";
204
+ dstyle.top = 0;
205
+ dstyle.left = 0;
206
+ dstyle.width = o.paper.width + "px";
207
+ dstyle.height = o.paper.height + "px";
208
+ node.parentNode.insertBefore(div, node);
209
+ div.appendChild(node);
210
+ node.clipRect = div;
211
+ }
212
+ }
213
+ if (!params["clip-rect"]) {
214
+ node.clipRect && (node.clipRect.style.clip = "auto");
215
+ }
216
+ }
217
+ if (o.textpath) {
218
+ var textpathStyle = o.textpath.style;
219
+ params.font && (textpathStyle.font = params.font);
220
+ params["font-family"] && (textpathStyle.fontFamily = '"' + params["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g, E) + '"');
221
+ params["font-size"] && (textpathStyle.fontSize = params["font-size"]);
222
+ params["font-weight"] && (textpathStyle.fontWeight = params["font-weight"]);
223
+ params["font-style"] && (textpathStyle.fontStyle = params["font-style"]);
224
+ }
225
+ if ("arrow-start" in params) {
226
+ addArrow(res, params["arrow-start"]);
227
+ }
228
+ if ("arrow-end" in params) {
229
+ addArrow(res, params["arrow-end"], 1);
230
+ }
231
+ if (params.opacity != null ||
232
+ params["stroke-width"] != null ||
233
+ params.fill != null ||
234
+ params.src != null ||
235
+ params.stroke != null ||
236
+ params["stroke-width"] != null ||
237
+ params["stroke-opacity"] != null ||
238
+ params["fill-opacity"] != null ||
239
+ params["stroke-dasharray"] != null ||
240
+ params["stroke-miterlimit"] != null ||
241
+ params["stroke-linejoin"] != null ||
242
+ params["stroke-linecap"] != null) {
243
+ var fill = node.getElementsByTagName(fillString),
244
+ newfill = false;
245
+ fill = fill && fill[0];
246
+ !fill && (newfill = fill = createNode(fillString));
247
+ if (o.type == "image" && params.src) {
248
+ fill.src = params.src;
249
+ }
250
+ params.fill && (fill.on = true);
251
+ if (fill.on == null || params.fill == "none" || params.fill === null) {
252
+ fill.on = false;
253
+ }
254
+ if (fill.on && params.fill) {
255
+ var isURL = Str(params.fill).match(R._ISURL);
256
+ if (isURL) {
257
+ fill.parentNode == node && node.removeChild(fill);
258
+ fill.rotate = true;
259
+ fill.src = isURL[1];
260
+ fill.type = "tile";
261
+ var bbox = o.getBBox(1);
262
+ fill.position = bbox.x + S + bbox.y;
263
+ o._.fillpos = [bbox.x, bbox.y];
264
+
265
+ R._preload(isURL[1], function () {
266
+ o._.fillsize = [this.offsetWidth, this.offsetHeight];
267
+ });
268
+ } else {
269
+ fill.color = R.getRGB(params.fill).hex;
270
+ fill.src = E;
271
+ fill.type = "solid";
272
+ if (R.getRGB(params.fill).error && (res.type in {circle: 1, ellipse: 1} || Str(params.fill).charAt() != "r") && addGradientFill(res, params.fill, fill)) {
273
+ a.fill = "none";
274
+ a.gradient = params.fill;
275
+ fill.rotate = false;
276
+ }
277
+ }
278
+ }
279
+ if ("fill-opacity" in params || "opacity" in params) {
280
+ var opacity = ((+a["fill-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+R.getRGB(params.fill).o + 1 || 2) - 1);
281
+ opacity = mmin(mmax(opacity, 0), 1);
282
+ fill.opacity = opacity;
283
+ if (fill.src) {
284
+ fill.color = "none";
285
+ }
286
+ }
287
+ node.appendChild(fill);
288
+ var stroke = (node.getElementsByTagName("stroke") && node.getElementsByTagName("stroke")[0]),
289
+ newstroke = false;
290
+ !stroke && (newstroke = stroke = createNode("stroke"));
291
+ if ((params.stroke && params.stroke != "none") ||
292
+ params["stroke-width"] ||
293
+ params["stroke-opacity"] != null ||
294
+ params["stroke-dasharray"] ||
295
+ params["stroke-miterlimit"] ||
296
+ params["stroke-linejoin"] ||
297
+ params["stroke-linecap"]) {
298
+ stroke.on = true;
299
+ }
300
+ (params.stroke == "none" || params.stroke === null || stroke.on == null || params.stroke == 0 || params["stroke-width"] == 0) && (stroke.on = false);
301
+ var strokeColor = R.getRGB(params.stroke);
302
+ stroke.on && params.stroke && (stroke.color = strokeColor.hex);
303
+ opacity = ((+a["stroke-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+strokeColor.o + 1 || 2) - 1);
304
+ var width = (toFloat(params["stroke-width"]) || 1) * .75;
305
+ opacity = mmin(mmax(opacity, 0), 1);
306
+ params["stroke-width"] == null && (width = a["stroke-width"]);
307
+ params["stroke-width"] && (stroke.weight = width);
308
+ width && width < 1 && (opacity *= width) && (stroke.weight = 1);
309
+ stroke.opacity = opacity;
310
+
311
+ params["stroke-linejoin"] && (stroke.joinstyle = params["stroke-linejoin"] || "miter");
312
+ stroke.miterlimit = params["stroke-miterlimit"] || 8;
313
+ params["stroke-linecap"] && (stroke.endcap = params["stroke-linecap"] == "butt" ? "flat" : params["stroke-linecap"] == "square" ? "square" : "round");
314
+ if ("stroke-dasharray" in params) {
315
+ var dasharray = {
316
+ "-": "shortdash",
317
+ ".": "shortdot",
318
+ "-.": "shortdashdot",
319
+ "-..": "shortdashdotdot",
320
+ ". ": "dot",
321
+ "- ": "dash",
322
+ "--": "longdash",
323
+ "- .": "dashdot",
324
+ "--.": "longdashdot",
325
+ "--..": "longdashdotdot"
326
+ };
327
+ stroke.dashstyle = dasharray[has](params["stroke-dasharray"]) ? dasharray[params["stroke-dasharray"]] : E;
328
+ }
329
+ newstroke && node.appendChild(stroke);
330
+ }
331
+ if (res.type == "text") {
332
+ res.paper.canvas.style.display = E;
333
+ var span = res.paper.span,
334
+ m = 100,
335
+ fontSize = a.font && a.font.match(/\d+(?:\.\d*)?(?=px)/);
336
+ s = span.style;
337
+ a.font && (s.font = a.font);
338
+ a["font-family"] && (s.fontFamily = a["font-family"]);
339
+ a["font-weight"] && (s.fontWeight = a["font-weight"]);
340
+ a["font-style"] && (s.fontStyle = a["font-style"]);
341
+ fontSize = toFloat(a["font-size"] || fontSize && fontSize[0]) || 10;
342
+ s.fontSize = fontSize * m + "px";
343
+ res.textpath.string && (span.innerHTML = Str(res.textpath.string).replace(/</g, "&#60;").replace(/&/g, "&#38;").replace(/\n/g, "<br>"));
344
+ var brect = span.getBoundingClientRect();
345
+ res.W = a.w = (brect.right - brect.left) / m;
346
+ res.H = a.h = (brect.bottom - brect.top) / m;
347
+ // res.paper.canvas.style.display = "none";
348
+ res.X = a.x;
349
+ res.Y = a.y + res.H / 2;
350
+
351
+ ("x" in params || "y" in params) && (res.path.v = R.format("m{0},{1}l{2},{1}", round(a.x * zoom), round(a.y * zoom), round(a.x * zoom) + 1));
352
+ var dirtyattrs = ["x", "y", "text", "font", "font-family", "font-weight", "font-style", "font-size"];
353
+ for (var d = 0, dd = dirtyattrs.length; d < dd; d++) if (dirtyattrs[d] in params) {
354
+ res._.dirty = 1;
355
+ break;
356
+ }
357
+
358
+ // text-anchor emulation
359
+ switch (a["text-anchor"]) {
360
+ case "start":
361
+ res.textpath.style["v-text-align"] = "left";
362
+ res.bbx = res.W / 2;
363
+ break;
364
+ case "end":
365
+ res.textpath.style["v-text-align"] = "right";
366
+ res.bbx = -res.W / 2;
367
+ break;
368
+ default:
369
+ res.textpath.style["v-text-align"] = "center";
370
+ res.bbx = 0;
371
+ break;
372
+ }
373
+ res.textpath.style["v-text-kern"] = true;
374
+ }
375
+ // res.paper.canvas.style.display = E;
376
+ },
377
+ addGradientFill = function (o, gradient, fill) {
378
+ o.attrs = o.attrs || {};
379
+ var attrs = o.attrs,
380
+ pow = Math.pow,
381
+ opacity,
382
+ oindex,
383
+ type = "linear",
384
+ fxfy = ".5 .5";
385
+ o.attrs.gradient = gradient;
386
+ gradient = Str(gradient).replace(R._radial_gradient, function (all, fx, fy) {
387
+ type = "radial";
388
+ if (fx && fy) {
389
+ fx = toFloat(fx);
390
+ fy = toFloat(fy);
391
+ pow(fx - .5, 2) + pow(fy - .5, 2) > .25 && (fy = math.sqrt(.25 - pow(fx - .5, 2)) * ((fy > .5) * 2 - 1) + .5);
392
+ fxfy = fx + S + fy;
393
+ }
394
+ return E;
395
+ });
396
+ gradient = gradient.split(/\s*\-\s*/);
397
+ if (type == "linear") {
398
+ var angle = gradient.shift();
399
+ angle = -toFloat(angle);
400
+ if (isNaN(angle)) {
401
+ return null;
402
+ }
403
+ }
404
+ var dots = R._parseDots(gradient);
405
+ if (!dots) {
406
+ return null;
407
+ }
408
+ o = o.shape || o.node;
409
+ if (dots.length) {
410
+ o.removeChild(fill);
411
+ fill.on = true;
412
+ fill.method = "none";
413
+ fill.color = dots[0].color;
414
+ fill.color2 = dots[dots.length - 1].color;
415
+ var clrs = [];
416
+ for (var i = 0, ii = dots.length; i < ii; i++) {
417
+ dots[i].offset && clrs.push(dots[i].offset + S + dots[i].color);
418
+ }
419
+ fill.colors = clrs.length ? clrs.join() : "0% " + fill.color;
420
+ if (type == "radial") {
421
+ fill.type = "gradientTitle";
422
+ fill.focus = "100%";
423
+ fill.focussize = "0 0";
424
+ fill.focusposition = fxfy;
425
+ fill.angle = 0;
426
+ } else {
427
+ // fill.rotate= true;
428
+ fill.type = "gradient";
429
+ fill.angle = (270 - angle) % 360;
430
+ }
431
+ o.appendChild(fill);
432
+ }
433
+ return 1;
434
+ },
435
+ Element = function (node, vml) {
436
+ this[0] = this.node = node;
437
+ node.raphael = true;
438
+ this.id = R._oid++;
439
+ node.raphaelid = this.id;
440
+ this.X = 0;
441
+ this.Y = 0;
442
+ this.attrs = {};
443
+ this.paper = vml;
444
+ this.matrix = R.matrix();
445
+ this._ = {
446
+ transform: [],
447
+ sx: 1,
448
+ sy: 1,
449
+ dx: 0,
450
+ dy: 0,
451
+ deg: 0,
452
+ dirty: 1,
453
+ dirtyT: 1
454
+ };
455
+ !vml.bottom && (vml.bottom = this);
456
+ this.prev = vml.top;
457
+ vml.top && (vml.top.next = this);
458
+ vml.top = this;
459
+ this.next = null;
460
+ };
461
+ var elproto = R.el;
462
+
463
+ Element.prototype = elproto;
464
+ elproto.constructor = Element;
465
+ elproto.transform = function (tstr) {
466
+ if (tstr == null) {
467
+ return this._.transform;
468
+ }
469
+ var vbs = this.paper._viewBoxShift,
470
+ vbt = vbs ? "s" + [vbs.scale, vbs.scale] + "-1-1t" + [vbs.dx, vbs.dy] : E,
471
+ oldt;
472
+ if (vbs) {
473
+ oldt = tstr = Str(tstr).replace(/\.{3}|\u2026/g, this._.transform || E);
474
+ }
475
+ R._extractTransform(this, vbt + tstr);
476
+ var matrix = this.matrix.clone(),
477
+ skew = this.skew,
478
+ o = this.node,
479
+ split,
480
+ isGrad = ~Str(this.attrs.fill).indexOf("-"),
481
+ isPatt = !Str(this.attrs.fill).indexOf("url(");
482
+ matrix.translate(1, 1);
483
+ if (isPatt || isGrad || this.type == "image") {
484
+ skew.matrix = "1 0 0 1";
485
+ skew.offset = "0 0";
486
+ split = matrix.split();
487
+ if ((isGrad && split.noRotation) || !split.isSimple) {
488
+ o.style.filter = matrix.toFilter();
489
+ var bb = this.getBBox(),
490
+ bbt = this.getBBox(1),
491
+ dx = bb.x - bbt.x,
492
+ dy = bb.y - bbt.y;
493
+ o.coordorigin = (dx * -zoom) + S + (dy * -zoom);
494
+ setCoords(this, 1, 1, dx, dy, 0);
495
+ } else {
496
+ o.style.filter = E;
497
+ setCoords(this, split.scalex, split.scaley, split.dx, split.dy, split.rotate);
498
+ }
499
+ } else {
500
+ o.style.filter = E;
501
+ skew.matrix = Str(matrix);
502
+ skew.offset = matrix.offset();
503
+ }
504
+ if (oldt !== null) { // empty string value is true as well
505
+ this._.transform = oldt;
506
+ R._extractTransform(this, oldt);
507
+ }
508
+ return this;
509
+ };
510
+ elproto.rotate = function (deg, cx, cy) {
511
+ if (this.removed) {
512
+ return this;
513
+ }
514
+ if (deg == null) {
515
+ return;
516
+ }
517
+ deg = Str(deg).split(separator);
518
+ if (deg.length - 1) {
519
+ cx = toFloat(deg[1]);
520
+ cy = toFloat(deg[2]);
521
+ }
522
+ deg = toFloat(deg[0]);
523
+ (cy == null) && (cx = cy);
524
+ if (cx == null || cy == null) {
525
+ var bbox = this.getBBox(1);
526
+ cx = bbox.x + bbox.width / 2;
527
+ cy = bbox.y + bbox.height / 2;
528
+ }
529
+ this._.dirtyT = 1;
530
+ this.transform(this._.transform.concat([["r", deg, cx, cy]]));
531
+ return this;
532
+ };
533
+ elproto.translate = function (dx, dy) {
534
+ if (this.removed) {
535
+ return this;
536
+ }
537
+ dx = Str(dx).split(separator);
538
+ if (dx.length - 1) {
539
+ dy = toFloat(dx[1]);
540
+ }
541
+ dx = toFloat(dx[0]) || 0;
542
+ dy = +dy || 0;
543
+ if (this._.bbox) {
544
+ this._.bbox.x += dx;
545
+ this._.bbox.y += dy;
546
+ }
547
+ this.transform(this._.transform.concat([["t", dx, dy]]));
548
+ return this;
549
+ };
550
+ elproto.scale = function (sx, sy, cx, cy) {
551
+ if (this.removed) {
552
+ return this;
553
+ }
554
+ sx = Str(sx).split(separator);
555
+ if (sx.length - 1) {
556
+ sy = toFloat(sx[1]);
557
+ cx = toFloat(sx[2]);
558
+ cy = toFloat(sx[3]);
559
+ isNaN(cx) && (cx = null);
560
+ isNaN(cy) && (cy = null);
561
+ }
562
+ sx = toFloat(sx[0]);
563
+ (sy == null) && (sy = sx);
564
+ (cy == null) && (cx = cy);
565
+ if (cx == null || cy == null) {
566
+ var bbox = this.getBBox(1);
567
+ }
568
+ cx = cx == null ? bbox.x + bbox.width / 2 : cx;
569
+ cy = cy == null ? bbox.y + bbox.height / 2 : cy;
570
+
571
+ this.transform(this._.transform.concat([["s", sx, sy, cx, cy]]));
572
+ this._.dirtyT = 1;
573
+ return this;
574
+ };
575
+ elproto.hide = function () {
576
+ !this.removed && (this.node.style.display = "none");
577
+ return this;
578
+ };
579
+ elproto.show = function () {
580
+ !this.removed && (this.node.style.display = E);
581
+ return this;
582
+ };
583
+ // Needed to fix the vml setViewBox issues
584
+ elproto.auxGetBBox = R.el.getBBox;
585
+ elproto.getBBox = function(){
586
+ var b = this.auxGetBBox();
587
+ if (this.paper && this.paper._viewBoxShift)
588
+ {
589
+ var c = {};
590
+ var z = 1/this.paper._viewBoxShift.scale;
591
+ c.x = b.x - this.paper._viewBoxShift.dx;
592
+ c.x *= z;
593
+ c.y = b.y - this.paper._viewBoxShift.dy;
594
+ c.y *= z;
595
+ c.width = b.width * z;
596
+ c.height = b.height * z;
597
+ c.x2 = c.x + c.width;
598
+ c.y2 = c.y + c.height;
599
+ return c;
600
+ }
601
+ return b;
602
+ };
603
+ elproto._getBBox = function () {
604
+ if (this.removed) {
605
+ return {};
606
+ }
607
+ return {
608
+ x: this.X + (this.bbx || 0) - this.W / 2,
609
+ y: this.Y - this.H,
610
+ width: this.W,
611
+ height: this.H
612
+ };
613
+ };
614
+ elproto.remove = function () {
615
+ if (this.removed || !this.node.parentNode) {
616
+ return;
617
+ }
618
+ this.paper.__set__ && this.paper.__set__.exclude(this);
619
+ R.eve.unbind("raphael.*.*." + this.id);
620
+ R._tear(this, this.paper);
621
+ this.node.parentNode.removeChild(this.node);
622
+ this.shape && this.shape.parentNode.removeChild(this.shape);
623
+ for (var i in this) {
624
+ this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
625
+ }
626
+ this.removed = true;
627
+ };
628
+ elproto.attr = function (name, value) {
629
+ if (this.removed) {
630
+ return this;
631
+ }
632
+ if (name == null) {
633
+ var res = {};
634
+ for (var a in this.attrs) if (this.attrs[has](a)) {
635
+ res[a] = this.attrs[a];
636
+ }
637
+ res.gradient && res.fill == "none" && (res.fill = res.gradient) && delete res.gradient;
638
+ res.transform = this._.transform;
639
+ return res;
640
+ }
641
+ if (value == null && R.is(name, "string")) {
642
+ if (name == fillString && this.attrs.fill == "none" && this.attrs.gradient) {
643
+ return this.attrs.gradient;
644
+ }
645
+ var names = name.split(separator),
646
+ out = {};
647
+ for (var i = 0, ii = names.length; i < ii; i++) {
648
+ name = names[i];
649
+ if (name in this.attrs) {
650
+ out[name] = this.attrs[name];
651
+ } else if (R.is(this.paper.customAttributes[name], "function")) {
652
+ out[name] = this.paper.customAttributes[name].def;
653
+ } else {
654
+ out[name] = R._availableAttrs[name];
655
+ }
656
+ }
657
+ return ii - 1 ? out : out[names[0]];
658
+ }
659
+ if (this.attrs && value == null && R.is(name, "array")) {
660
+ out = {};
661
+ for (i = 0, ii = name.length; i < ii; i++) {
662
+ out[name[i]] = this.attr(name[i]);
663
+ }
664
+ return out;
665
+ }
666
+ var params;
667
+ if (value != null) {
668
+ params = {};
669
+ params[name] = value;
670
+ }
671
+ value == null && R.is(name, "object") && (params = name);
672
+ for (var key in params) {
673
+ eve("raphael.attr." + key + "." + this.id, this, params[key]);
674
+ }
675
+ if (params) {
676
+ for (key in this.paper.customAttributes) if (this.paper.customAttributes[has](key) && params[has](key) && R.is(this.paper.customAttributes[key], "function")) {
677
+ var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));
678
+ this.attrs[key] = params[key];
679
+ for (var subkey in par) if (par[has](subkey)) {
680
+ params[subkey] = par[subkey];
681
+ }
682
+ }
683
+ // this.paper.canvas.style.display = "none";
684
+ if (params.text && this.type == "text") {
685
+ this.textpath.string = params.text;
686
+ }
687
+ setFillAndStroke(this, params);
688
+ // this.paper.canvas.style.display = E;
689
+ }
690
+ return this;
691
+ };
692
+ elproto.toFront = function () {
693
+ !this.removed && this.node.parentNode.appendChild(this.node);
694
+ this.paper && this.paper.top != this && R._tofront(this, this.paper);
695
+ return this;
696
+ };
697
+ elproto.toBack = function () {
698
+ if (this.removed) {
699
+ return this;
700
+ }
701
+ if (this.node.parentNode.firstChild != this.node) {
702
+ this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild);
703
+ R._toback(this, this.paper);
704
+ }
705
+ return this;
706
+ };
707
+ elproto.insertAfter = function (element) {
708
+ if (this.removed) {
709
+ return this;
710
+ }
711
+ if (element.constructor == R.st.constructor) {
712
+ element = element[element.length - 1];
713
+ }
714
+ if (element.node.nextSibling) {
715
+ element.node.parentNode.insertBefore(this.node, element.node.nextSibling);
716
+ } else {
717
+ element.node.parentNode.appendChild(this.node);
718
+ }
719
+ R._insertafter(this, element, this.paper);
720
+ return this;
721
+ };
722
+ elproto.insertBefore = function (element) {
723
+ if (this.removed) {
724
+ return this;
725
+ }
726
+ if (element.constructor == R.st.constructor) {
727
+ element = element[0];
728
+ }
729
+ element.node.parentNode.insertBefore(this.node, element.node);
730
+ R._insertbefore(this, element, this.paper);
731
+ return this;
732
+ };
733
+ elproto.blur = function (size) {
734
+ var s = this.node.runtimeStyle,
735
+ f = s.filter;
736
+ f = f.replace(blurregexp, E);
737
+ if (+size !== 0) {
738
+ this.attrs.blur = size;
739
+ s.filter = f + S + ms + ".Blur(pixelradius=" + (+size || 1.5) + ")";
740
+ s.margin = R.format("-{0}px 0 0 -{0}px", round(+size || 1.5));
741
+ } else {
742
+ s.filter = f;
743
+ s.margin = 0;
744
+ delete this.attrs.blur;
745
+ }
746
+ return this;
747
+ };
748
+
749
+ R._engine.path = function (pathString, vml) {
750
+ var el = createNode("shape");
751
+ el.style.cssText = cssDot;
752
+ el.coordsize = zoom + S + zoom;
753
+ el.coordorigin = vml.coordorigin;
754
+ var p = new Element(el, vml),
755
+ attr = {fill: "none", stroke: "#000"};
756
+ pathString && (attr.path = pathString);
757
+ p.type = "path";
758
+ p.path = [];
759
+ p.Path = E;
760
+ setFillAndStroke(p, attr);
761
+ vml.canvas && vml.canvas.appendChild(el);
762
+ var skew = createNode("skew");
763
+ skew.on = true;
764
+ el.appendChild(skew);
765
+ p.skew = skew;
766
+ p.transform(E);
767
+ return p;
768
+ };
769
+ R._engine.rect = function (vml, x, y, w, h, r) {
770
+ var path = R._rectPath(x, y, w, h, r),
771
+ res = vml.path(path),
772
+ a = res.attrs;
773
+ res.X = a.x = x;
774
+ res.Y = a.y = y;
775
+ res.W = a.width = w;
776
+ res.H = a.height = h;
777
+ a.r = r;
778
+ a.path = path;
779
+ res.type = "rect";
780
+ return res;
781
+ };
782
+ R._engine.ellipse = function (vml, x, y, rx, ry) {
783
+ var res = vml.path(),
784
+ a = res.attrs;
785
+ res.X = x - rx;
786
+ res.Y = y - ry;
787
+ res.W = rx * 2;
788
+ res.H = ry * 2;
789
+ res.type = "ellipse";
790
+ setFillAndStroke(res, {
791
+ cx: x,
792
+ cy: y,
793
+ rx: rx,
794
+ ry: ry
795
+ });
796
+ return res;
797
+ };
798
+ R._engine.circle = function (vml, x, y, r) {
799
+ var res = vml.path(),
800
+ a = res.attrs;
801
+ res.X = x - r;
802
+ res.Y = y - r;
803
+ res.W = res.H = r * 2;
804
+ res.type = "circle";
805
+ setFillAndStroke(res, {
806
+ cx: x,
807
+ cy: y,
808
+ r: r
809
+ });
810
+ return res;
811
+ };
812
+ R._engine.image = function (vml, src, x, y, w, h) {
813
+ var path = R._rectPath(x, y, w, h),
814
+ res = vml.path(path).attr({stroke: "none"}),
815
+ a = res.attrs,
816
+ node = res.node,
817
+ fill = node.getElementsByTagName(fillString)[0];
818
+ a.src = src;
819
+ res.X = a.x = x;
820
+ res.Y = a.y = y;
821
+ res.W = a.width = w;
822
+ res.H = a.height = h;
823
+ a.path = path;
824
+ res.type = "image";
825
+ fill.parentNode == node && node.removeChild(fill);
826
+ fill.rotate = true;
827
+ fill.src = src;
828
+ fill.type = "tile";
829
+ res._.fillpos = [x, y];
830
+ res._.fillsize = [w, h];
831
+ node.appendChild(fill);
832
+ setCoords(res, 1, 1, 0, 0, 0);
833
+ return res;
834
+ };
835
+ R._engine.text = function (vml, x, y, text) {
836
+ var el = createNode("shape"),
837
+ path = createNode("path"),
838
+ o = createNode("textpath");
839
+ x = x || 0;
840
+ y = y || 0;
841
+ text = text || "";
842
+ path.v = R.format("m{0},{1}l{2},{1}", round(x * zoom), round(y * zoom), round(x * zoom) + 1);
843
+ path.textpathok = true;
844
+ o.string = Str(text);
845
+ o.on = true;
846
+ el.style.cssText = cssDot;
847
+ el.coordsize = zoom + S + zoom;
848
+ el.coordorigin = "0 0";
849
+ var p = new Element(el, vml),
850
+ attr = {
851
+ fill: "#000",
852
+ stroke: "none",
853
+ font: R._availableAttrs.font,
854
+ text: text
855
+ };
856
+ p.shape = el;
857
+ p.path = path;
858
+ p.textpath = o;
859
+ p.type = "text";
860
+ p.attrs.text = Str(text);
861
+ p.attrs.x = x;
862
+ p.attrs.y = y;
863
+ p.attrs.w = 1;
864
+ p.attrs.h = 1;
865
+ setFillAndStroke(p, attr);
866
+ el.appendChild(o);
867
+ el.appendChild(path);
868
+ vml.canvas.appendChild(el);
869
+ var skew = createNode("skew");
870
+ skew.on = true;
871
+ el.appendChild(skew);
872
+ p.skew = skew;
873
+ p.transform(E);
874
+ return p;
875
+ };
876
+ R._engine.setSize = function (width, height) {
877
+ var cs = this.canvas.style;
878
+ this.width = width;
879
+ this.height = height;
880
+ width == +width && (width += "px");
881
+ height == +height && (height += "px");
882
+ cs.width = width;
883
+ cs.height = height;
884
+ cs.clip = "rect(0 " + width + " " + height + " 0)";
885
+ if (this._viewBox) {
886
+ R._engine.setViewBox.apply(this, this._viewBox);
887
+ }
888
+ return this;
889
+ };
890
+ R._engine.setViewBox = function (x, y, w, h, fit) {
891
+ R.eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]);
892
+ var paperSize = this.getSize(),
893
+ width = paperSize.width,
894
+ height = paperSize.height,
895
+ H, W;
896
+ if (fit) {
897
+ H = height / h;
898
+ W = width / w;
899
+ if (w * H < width) {
900
+ x -= (width - w * H) / 2 / H;
901
+ }
902
+ if (h * W < height) {
903
+ y -= (height - h * W) / 2 / W;
904
+ }
905
+ }
906
+ this._viewBox = [x, y, w, h, !!fit];
907
+ this._viewBoxShift = {
908
+ dx: -x,
909
+ dy: -y,
910
+ scale: paperSize
911
+ };
912
+ this.forEach(function (el) {
913
+ el.transform("...");
914
+ });
915
+ return this;
916
+ };
917
+ var createNode;
918
+ R._engine.initWin = function (win) {
919
+ var doc = win.document;
920
+ if (doc.styleSheets.length < 31) {
921
+ doc.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)");
922
+ } else {
923
+ // no more room, add to the existing one
924
+ // http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx
925
+ doc.styleSheets[0].addRule(".rvml", "behavior:url(#default#VML)");
926
+ }
927
+ try {
928
+ !doc.namespaces.rvml && doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml");
929
+ createNode = function (tagName) {
930
+ return doc.createElement('<rvml:' + tagName + ' class="rvml">');
931
+ };
932
+ } catch (e) {
933
+ createNode = function (tagName) {
934
+ return doc.createElement('<' + tagName + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');
935
+ };
936
+ }
937
+ };
938
+ R._engine.initWin(R._g.win);
939
+ R._engine.create = function () {
940
+ var con = R._getContainer.apply(0, arguments),
941
+ container = con.container,
942
+ height = con.height,
943
+ s,
944
+ width = con.width,
945
+ x = con.x,
946
+ y = con.y;
947
+ if (!container) {
948
+ throw new Error("VML container not found.");
949
+ }
950
+ var res = new R._Paper,
951
+ c = res.canvas = R._g.doc.createElement("div"),
952
+ cs = c.style;
953
+ x = x || 0;
954
+ y = y || 0;
955
+ width = width || 512;
956
+ height = height || 342;
957
+ res.width = width;
958
+ res.height = height;
959
+ width == +width && (width += "px");
960
+ height == +height && (height += "px");
961
+ res.coordsize = zoom * 1e3 + S + zoom * 1e3;
962
+ res.coordorigin = "0 0";
963
+ res.span = R._g.doc.createElement("span");
964
+ res.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";
965
+ c.appendChild(res.span);
966
+ cs.cssText = R.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden", width, height);
967
+ if (container == 1) {
968
+ R._g.doc.body.appendChild(c);
969
+ cs.left = x + "px";
970
+ cs.top = y + "px";
971
+ cs.position = "absolute";
972
+ } else {
973
+ if (container.firstChild) {
974
+ container.insertBefore(c, container.firstChild);
975
+ } else {
976
+ container.appendChild(c);
977
+ }
978
+ }
979
+ res.renderfix = function () {};
980
+ return res;
981
+ };
982
+ R.prototype.clear = function () {
983
+ R.eve("raphael.clear", this);
984
+ this.canvas.innerHTML = E;
985
+ this.span = R._g.doc.createElement("span");
986
+ this.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";
987
+ this.canvas.appendChild(this.span);
988
+ this.bottom = this.top = null;
989
+ };
990
+ R.prototype.remove = function () {
991
+ R.eve("raphael.remove", this);
992
+ this.canvas.parentNode.removeChild(this.canvas);
993
+ for (var i in this) {
994
+ this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
995
+ }
996
+ return true;
997
+ };
998
+
999
+ var setproto = R.st;
1000
+ for (var method in elproto) if (elproto[has](method) && !setproto[has](method)) {
1001
+ setproto[method] = (function (methodname) {
1002
+ return function () {
1003
+ var arg = arguments;
1004
+ return this.forEach(function (el) {
1005
+ el[methodname].apply(el, arg);
1006
+ });
1007
+ };
1008
+ })(method);
1009
+ }
1010
+ });