jquery-ui-rails 5.0.4 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (279) hide show
  1. checksums.yaml +7 -0
  2. data/.gitmodules +1 -1
  3. data/.travis.yml +1 -1
  4. data/History.md +23 -2
  5. data/README.md +67 -50
  6. data/Rakefile +58 -29
  7. data/VERSIONS.md +4 -0
  8. data/app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  9. data/app/assets/images/jquery-ui/ui-icons_444444_256x240.png +0 -0
  10. data/app/assets/images/jquery-ui/ui-icons_555555_256x240.png +0 -0
  11. data/app/assets/images/jquery-ui/ui-icons_777620_256x240.png +0 -0
  12. data/app/assets/images/jquery-ui/ui-icons_777777_256x240.png +0 -0
  13. data/app/assets/images/jquery-ui/ui-icons_cc0000_256x240.png +0 -0
  14. data/app/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  15. data/app/assets/javascripts/jquery-ui/core.js +15 -304
  16. data/app/assets/javascripts/jquery-ui/data.js +45 -0
  17. data/app/assets/javascripts/jquery-ui/disable-selection.js +51 -0
  18. data/app/assets/javascripts/jquery-ui/effect.all.js +15 -16
  19. data/app/assets/javascripts/jquery-ui/effect.js +565 -891
  20. data/app/assets/javascripts/jquery-ui/effects/effect-blind.js +76 -0
  21. data/app/assets/javascripts/jquery-ui/effects/effect-bounce.js +116 -0
  22. data/app/assets/javascripts/jquery-ui/effects/effect-clip.js +71 -0
  23. data/app/assets/javascripts/jquery-ui/effects/effect-drop.js +75 -0
  24. data/app/assets/javascripts/jquery-ui/effects/effect-explode.js +117 -0
  25. data/app/assets/javascripts/jquery-ui/effects/effect-fade.js +53 -0
  26. data/app/assets/javascripts/jquery-ui/effects/effect-fold.js +95 -0
  27. data/app/assets/javascripts/jquery-ui/effects/effect-highlight.js +63 -0
  28. data/app/assets/javascripts/jquery-ui/effects/effect-puff.js +49 -0
  29. data/app/assets/javascripts/jquery-ui/effects/effect-pulsate.js +70 -0
  30. data/app/assets/javascripts/jquery-ui/effects/effect-scale.js +63 -0
  31. data/app/assets/javascripts/jquery-ui/effects/effect-shake.js +80 -0
  32. data/app/assets/javascripts/jquery-ui/effects/effect-size.js +199 -0
  33. data/app/assets/javascripts/jquery-ui/effects/effect-slide.js +82 -0
  34. data/app/assets/javascripts/jquery-ui/effects/effect-transfer.js +46 -0
  35. data/app/assets/javascripts/jquery-ui/focusable.js +89 -0
  36. data/app/assets/javascripts/jquery-ui/form-reset-mixin.js +83 -0
  37. data/app/assets/javascripts/jquery-ui/form.js +25 -0
  38. data/app/assets/javascripts/jquery-ui/i18n/datepicker-af.js +40 -0
  39. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar-DZ.js +42 -0
  40. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar.js +42 -0
  41. data/app/assets/javascripts/jquery-ui/i18n/datepicker-az.js +40 -0
  42. data/app/assets/javascripts/jquery-ui/i18n/datepicker-be.js +40 -0
  43. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bg.js +41 -0
  44. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bs.js +40 -0
  45. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ca.js +40 -0
  46. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cs.js +40 -0
  47. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cy-GB.js +48 -0
  48. data/app/assets/javascripts/jquery-ui/i18n/datepicker-da.js +40 -0
  49. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de-AT.js +41 -0
  50. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de.js +40 -0
  51. data/app/assets/javascripts/jquery-ui/i18n/datepicker-el.js +40 -0
  52. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-AU.js +40 -0
  53. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-GB.js +40 -0
  54. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-NZ.js +40 -0
  55. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eo.js +40 -0
  56. data/app/assets/javascripts/jquery-ui/i18n/datepicker-es.js +40 -0
  57. data/app/assets/javascripts/jquery-ui/i18n/datepicker-et.js +48 -0
  58. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eu.js +39 -0
  59. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fa.js +76 -0
  60. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fi.js +40 -0
  61. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fo.js +48 -0
  62. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CA.js +40 -0
  63. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CH.js +40 -0
  64. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr.js +42 -0
  65. data/app/assets/javascripts/jquery-ui/i18n/datepicker-gl.js +40 -0
  66. data/app/assets/javascripts/jquery-ui/i18n/datepicker-he.js +40 -0
  67. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hi.js +40 -0
  68. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hr.js +40 -0
  69. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hu.js +39 -0
  70. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hy.js +40 -0
  71. data/app/assets/javascripts/jquery-ui/i18n/datepicker-id.js +40 -0
  72. data/app/assets/javascripts/jquery-ui/i18n/datepicker-is.js +48 -0
  73. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it-CH.js +40 -0
  74. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it.js +40 -0
  75. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ja.js +40 -0
  76. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ka.js +51 -0
  77. data/app/assets/javascripts/jquery-ui/i18n/datepicker-kk.js +40 -0
  78. data/app/assets/javascripts/jquery-ui/i18n/datepicker-km.js +40 -0
  79. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ko.js +40 -0
  80. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ky.js +41 -0
  81. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lb.js +48 -0
  82. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lt.js +48 -0
  83. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lv.js +48 -0
  84. data/app/assets/javascripts/jquery-ui/i18n/datepicker-mk.js +40 -0
  85. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ml.js +40 -0
  86. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ms.js +40 -0
  87. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nb.js +52 -0
  88. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl-BE.js +40 -0
  89. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl.js +40 -0
  90. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nn.js +52 -0
  91. data/app/assets/javascripts/jquery-ui/i18n/datepicker-no.js +53 -0
  92. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pl.js +40 -0
  93. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt-BR.js +48 -0
  94. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt.js +47 -0
  95. data/app/assets/javascripts/jquery-ui/i18n/datepicker-rm.js +64 -0
  96. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ro.js +43 -0
  97. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ru.js +40 -0
  98. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sk.js +40 -0
  99. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sl.js +41 -0
  100. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sq.js +40 -0
  101. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr-SR.js +40 -0
  102. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr.js +40 -0
  103. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sv.js +40 -0
  104. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ta.js +56 -0
  105. data/app/assets/javascripts/jquery-ui/i18n/datepicker-th.js +40 -0
  106. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tj.js +40 -0
  107. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tr.js +40 -0
  108. data/app/assets/javascripts/jquery-ui/i18n/datepicker-uk.js +41 -0
  109. data/app/assets/javascripts/jquery-ui/i18n/datepicker-vi.js +40 -0
  110. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-CN.js +40 -0
  111. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-HK.js +40 -0
  112. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-TW.js +40 -0
  113. data/app/assets/javascripts/jquery-ui/ie.js +20 -0
  114. data/app/assets/javascripts/jquery-ui/jquery-patch.js +91 -0
  115. data/app/assets/javascripts/jquery-ui/jquery-var-for-color.js +24 -0
  116. data/app/assets/javascripts/jquery-ui/keycode.js +51 -0
  117. data/app/assets/javascripts/jquery-ui/labels.js +71 -0
  118. data/app/assets/javascripts/jquery-ui/plugin.js +49 -0
  119. data/app/assets/javascripts/jquery-ui/position.js +107 -111
  120. data/app/assets/javascripts/jquery-ui/safe-active-element.js +46 -0
  121. data/app/assets/javascripts/jquery-ui/safe-blur.js +27 -0
  122. data/app/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
  123. data/app/assets/javascripts/jquery-ui/tabbable.js +41 -0
  124. data/app/assets/javascripts/jquery-ui/unique-id.js +54 -0
  125. data/app/assets/javascripts/jquery-ui/vendor/jquery-color/jquery.color.js +722 -0
  126. data/app/assets/javascripts/jquery-ui/version.js +20 -0
  127. data/app/assets/javascripts/jquery-ui/widget.js +359 -163
  128. data/app/assets/javascripts/jquery-ui/{accordion.js → widgets/accordion.js} +200 -163
  129. data/app/assets/javascripts/jquery-ui/{autocomplete.js → widgets/autocomplete.js} +153 -106
  130. data/app/assets/javascripts/jquery-ui/widgets/button.js +454 -0
  131. data/app/assets/javascripts/jquery-ui/widgets/checkboxradio.js +289 -0
  132. data/app/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
  133. data/app/assets/javascripts/jquery-ui/widgets/datepicker.js +2243 -0
  134. data/app/assets/javascripts/jquery-ui/{dialog.js → widgets/dialog.js} +267 -181
  135. data/app/assets/javascripts/jquery-ui/{draggable.js → widgets/draggable.js} +430 -294
  136. data/app/assets/javascripts/jquery-ui/{droppable.js → widgets/droppable.js} +174 -84
  137. data/app/assets/javascripts/jquery-ui/{menu.js → widgets/menu.js} +228 -158
  138. data/app/assets/javascripts/jquery-ui/widgets/mouse.js +241 -0
  139. data/app/assets/javascripts/jquery-ui/{progressbar.js → widgets/progressbar.js} +63 -41
  140. data/app/assets/javascripts/jquery-ui/widgets/resizable.js +1225 -0
  141. data/app/assets/javascripts/jquery-ui/widgets/selectable.js +321 -0
  142. data/app/assets/javascripts/jquery-ui/{selectmenu.js → widgets/selectmenu.js} +259 -177
  143. data/app/assets/javascripts/jquery-ui/{slider.js → widgets/slider.js} +199 -160
  144. data/app/assets/javascripts/jquery-ui/widgets/sortable.js +1623 -0
  145. data/app/assets/javascripts/jquery-ui/{spinner.js → widgets/spinner.js} +184 -114
  146. data/app/assets/javascripts/jquery-ui/{tabs.js → widgets/tabs.js} +258 -211
  147. data/app/assets/javascripts/jquery-ui/{tooltip.js → widgets/tooltip.js} +165 -100
  148. data/app/assets/javascripts/jquery-ui.js +53 -33
  149. data/app/assets/stylesheets/jquery-ui/accordion.css +1 -15
  150. data/app/assets/stylesheets/jquery-ui/all.css +1 -1
  151. data/app/assets/stylesheets/jquery-ui/autocomplete.css +1 -3
  152. data/app/assets/stylesheets/jquery-ui/base.css +3 -1
  153. data/app/assets/stylesheets/jquery-ui/button.css +35 -68
  154. data/app/assets/stylesheets/jquery-ui/checkboxradio.css +37 -0
  155. data/app/assets/stylesheets/jquery-ui/controlgroup.css +68 -0
  156. data/app/assets/stylesheets/jquery-ui/core.css +12 -8
  157. data/app/assets/stylesheets/jquery-ui/datepicker.css +11 -2
  158. data/app/assets/stylesheets/jquery-ui/dialog.css +38 -11
  159. data/app/assets/stylesheets/jquery-ui/draggable.css +1 -2
  160. data/app/assets/stylesheets/jquery-ui/menu.css +7 -7
  161. data/app/assets/stylesheets/jquery-ui/progressbar.css +2 -3
  162. data/app/assets/stylesheets/jquery-ui/resizable.css +1 -2
  163. data/app/assets/stylesheets/jquery-ui/selectable.css +1 -2
  164. data/app/assets/stylesheets/jquery-ui/selectmenu.css +11 -22
  165. data/app/assets/stylesheets/jquery-ui/slider.css +2 -3
  166. data/app/assets/stylesheets/jquery-ui/sortable.css +1 -2
  167. data/app/assets/stylesheets/jquery-ui/spinner.css +7 -22
  168. data/app/assets/stylesheets/jquery-ui/tabs.css +1 -2
  169. data/app/assets/stylesheets/jquery-ui/theme.css.erb +121 -92
  170. data/app/assets/stylesheets/jquery-ui/tooltip.css +1 -4
  171. data/lib/jquery/ui/rails/version.rb +2 -2
  172. metadata +153 -146
  173. data/app/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  174. data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  175. data/app/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  176. data/app/assets/images/jquery-ui/ui-bg_glass_75_dadada_1x400.png +0 -0
  177. data/app/assets/images/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  178. data/app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  179. data/app/assets/images/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  180. data/app/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
  181. data/app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
  182. data/app/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
  183. data/app/assets/images/jquery-ui/ui-icons_888888_256x240.png +0 -0
  184. data/app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
  185. data/app/assets/javascripts/jquery-ui/button.js +0 -414
  186. data/app/assets/javascripts/jquery-ui/datepicker-af.js +0 -37
  187. data/app/assets/javascripts/jquery-ui/datepicker-ar-DZ.js +0 -37
  188. data/app/assets/javascripts/jquery-ui/datepicker-ar.js +0 -38
  189. data/app/assets/javascripts/jquery-ui/datepicker-az.js +0 -37
  190. data/app/assets/javascripts/jquery-ui/datepicker-be.js +0 -37
  191. data/app/assets/javascripts/jquery-ui/datepicker-bg.js +0 -38
  192. data/app/assets/javascripts/jquery-ui/datepicker-bs.js +0 -37
  193. data/app/assets/javascripts/jquery-ui/datepicker-ca.js +0 -37
  194. data/app/assets/javascripts/jquery-ui/datepicker-cs.js +0 -37
  195. data/app/assets/javascripts/jquery-ui/datepicker-cy-GB.js +0 -37
  196. data/app/assets/javascripts/jquery-ui/datepicker-da.js +0 -37
  197. data/app/assets/javascripts/jquery-ui/datepicker-de.js +0 -37
  198. data/app/assets/javascripts/jquery-ui/datepicker-el.js +0 -37
  199. data/app/assets/javascripts/jquery-ui/datepicker-en-AU.js +0 -37
  200. data/app/assets/javascripts/jquery-ui/datepicker-en-GB.js +0 -37
  201. data/app/assets/javascripts/jquery-ui/datepicker-en-NZ.js +0 -37
  202. data/app/assets/javascripts/jquery-ui/datepicker-eo.js +0 -37
  203. data/app/assets/javascripts/jquery-ui/datepicker-es.js +0 -37
  204. data/app/assets/javascripts/jquery-ui/datepicker-et.js +0 -37
  205. data/app/assets/javascripts/jquery-ui/datepicker-eu.js +0 -36
  206. data/app/assets/javascripts/jquery-ui/datepicker-fa.js +0 -73
  207. data/app/assets/javascripts/jquery-ui/datepicker-fi.js +0 -37
  208. data/app/assets/javascripts/jquery-ui/datepicker-fo.js +0 -37
  209. data/app/assets/javascripts/jquery-ui/datepicker-fr-CA.js +0 -37
  210. data/app/assets/javascripts/jquery-ui/datepicker-fr-CH.js +0 -37
  211. data/app/assets/javascripts/jquery-ui/datepicker-fr.js +0 -39
  212. data/app/assets/javascripts/jquery-ui/datepicker-gl.js +0 -37
  213. data/app/assets/javascripts/jquery-ui/datepicker-he.js +0 -37
  214. data/app/assets/javascripts/jquery-ui/datepicker-hi.js +0 -37
  215. data/app/assets/javascripts/jquery-ui/datepicker-hr.js +0 -37
  216. data/app/assets/javascripts/jquery-ui/datepicker-hu.js +0 -36
  217. data/app/assets/javascripts/jquery-ui/datepicker-hy.js +0 -37
  218. data/app/assets/javascripts/jquery-ui/datepicker-id.js +0 -37
  219. data/app/assets/javascripts/jquery-ui/datepicker-is.js +0 -37
  220. data/app/assets/javascripts/jquery-ui/datepicker-it-CH.js +0 -37
  221. data/app/assets/javascripts/jquery-ui/datepicker-it.js +0 -37
  222. data/app/assets/javascripts/jquery-ui/datepicker-ja.js +0 -37
  223. data/app/assets/javascripts/jquery-ui/datepicker-ka.js +0 -35
  224. data/app/assets/javascripts/jquery-ui/datepicker-kk.js +0 -37
  225. data/app/assets/javascripts/jquery-ui/datepicker-km.js +0 -37
  226. data/app/assets/javascripts/jquery-ui/datepicker-ko.js +0 -37
  227. data/app/assets/javascripts/jquery-ui/datepicker-ky.js +0 -38
  228. data/app/assets/javascripts/jquery-ui/datepicker-lb.js +0 -37
  229. data/app/assets/javascripts/jquery-ui/datepicker-lt.js +0 -37
  230. data/app/assets/javascripts/jquery-ui/datepicker-lv.js +0 -37
  231. data/app/assets/javascripts/jquery-ui/datepicker-mk.js +0 -37
  232. data/app/assets/javascripts/jquery-ui/datepicker-ml.js +0 -37
  233. data/app/assets/javascripts/jquery-ui/datepicker-ms.js +0 -37
  234. data/app/assets/javascripts/jquery-ui/datepicker-nb.js +0 -36
  235. data/app/assets/javascripts/jquery-ui/datepicker-nl-BE.js +0 -37
  236. data/app/assets/javascripts/jquery-ui/datepicker-nl.js +0 -37
  237. data/app/assets/javascripts/jquery-ui/datepicker-nn.js +0 -36
  238. data/app/assets/javascripts/jquery-ui/datepicker-no.js +0 -37
  239. data/app/assets/javascripts/jquery-ui/datepicker-pl.js +0 -37
  240. data/app/assets/javascripts/jquery-ui/datepicker-pt-BR.js +0 -37
  241. data/app/assets/javascripts/jquery-ui/datepicker-pt.js +0 -36
  242. data/app/assets/javascripts/jquery-ui/datepicker-rm.js +0 -35
  243. data/app/assets/javascripts/jquery-ui/datepicker-ro.js +0 -40
  244. data/app/assets/javascripts/jquery-ui/datepicker-ru.js +0 -37
  245. data/app/assets/javascripts/jquery-ui/datepicker-sk.js +0 -37
  246. data/app/assets/javascripts/jquery-ui/datepicker-sl.js +0 -38
  247. data/app/assets/javascripts/jquery-ui/datepicker-sq.js +0 -37
  248. data/app/assets/javascripts/jquery-ui/datepicker-sr-SR.js +0 -37
  249. data/app/assets/javascripts/jquery-ui/datepicker-sr.js +0 -37
  250. data/app/assets/javascripts/jquery-ui/datepicker-sv.js +0 -37
  251. data/app/assets/javascripts/jquery-ui/datepicker-ta.js +0 -37
  252. data/app/assets/javascripts/jquery-ui/datepicker-th.js +0 -37
  253. data/app/assets/javascripts/jquery-ui/datepicker-tj.js +0 -37
  254. data/app/assets/javascripts/jquery-ui/datepicker-tr.js +0 -37
  255. data/app/assets/javascripts/jquery-ui/datepicker-uk.js +0 -38
  256. data/app/assets/javascripts/jquery-ui/datepicker-vi.js +0 -37
  257. data/app/assets/javascripts/jquery-ui/datepicker-zh-CN.js +0 -37
  258. data/app/assets/javascripts/jquery-ui/datepicker-zh-HK.js +0 -37
  259. data/app/assets/javascripts/jquery-ui/datepicker-zh-TW.js +0 -37
  260. data/app/assets/javascripts/jquery-ui/datepicker.js +0 -2086
  261. data/app/assets/javascripts/jquery-ui/effect-blind.js +0 -92
  262. data/app/assets/javascripts/jquery-ui/effect-bounce.js +0 -125
  263. data/app/assets/javascripts/jquery-ui/effect-clip.js +0 -79
  264. data/app/assets/javascripts/jquery-ui/effect-drop.js +0 -77
  265. data/app/assets/javascripts/jquery-ui/effect-explode.js +0 -109
  266. data/app/assets/javascripts/jquery-ui/effect-fade.js +0 -42
  267. data/app/assets/javascripts/jquery-ui/effect-fold.js +0 -88
  268. data/app/assets/javascripts/jquery-ui/effect-highlight.js +0 -62
  269. data/app/assets/javascripts/jquery-ui/effect-puff.js +0 -63
  270. data/app/assets/javascripts/jquery-ui/effect-pulsate.js +0 -75
  271. data/app/assets/javascripts/jquery-ui/effect-scale.js +0 -92
  272. data/app/assets/javascripts/jquery-ui/effect-shake.js +0 -86
  273. data/app/assets/javascripts/jquery-ui/effect-size.js +0 -235
  274. data/app/assets/javascripts/jquery-ui/effect-slide.js +0 -76
  275. data/app/assets/javascripts/jquery-ui/effect-transfer.js +0 -59
  276. data/app/assets/javascripts/jquery-ui/mouse.js +0 -202
  277. data/app/assets/javascripts/jquery-ui/resizable.js +0 -1183
  278. data/app/assets/javascripts/jquery-ui/selectable.js +0 -291
  279. data/app/assets/javascripts/jquery-ui/sortable.js +0 -1308
@@ -1,702 +1,56 @@
1
+ //= require jquery-ui/jquery-var-for-color
2
+ //= require jquery-ui/vendor/jquery-color/jquery.color
3
+ //= require jquery-ui/version
4
+
1
5
  /*!
2
- * jQuery UI Effects 1.11.3
6
+ * jQuery UI Effects 1.13.0
3
7
  * http://jqueryui.com
4
8
  *
5
9
  * Copyright jQuery Foundation and other contributors
6
10
  * Released under the MIT license.
7
11
  * http://jquery.org/license
8
- *
9
- * http://api.jqueryui.com/category/effects-core/
10
12
  */
11
- (function( factory ) {
13
+
14
+ //>>label: Effects Core
15
+ //>>group: Effects
16
+ /* eslint-disable max-len */
17
+ //>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects.
18
+ /* eslint-enable max-len */
19
+ //>>docs: http://api.jqueryui.com/category/effects-core/
20
+ //>>demos: http://jqueryui.com/effect/
21
+
22
+ ( function( factory ) {
23
+ "use strict";
24
+
12
25
  if ( typeof define === "function" && define.amd ) {
13
26
 
14
27
  // AMD. Register as an anonymous module.
15
- define( [ "jquery" ], factory );
28
+ define( [
29
+ "jquery",
30
+ "./jquery-var-for-color",
31
+ "./vendor/jquery-color/jquery.color",
32
+ "./version"
33
+ ], factory );
16
34
  } else {
17
35
 
18
36
  // Browser globals
19
37
  factory( jQuery );
20
38
  }
21
- }(function( $ ) {
39
+ } )( function( $ ) {
40
+ "use strict";
22
41
 
23
42
  var dataSpace = "ui-effects-",
24
-
25
- // Create a local jQuery because jQuery Color relies on it and the
26
- // global may not exist with AMD and a custom build (#10199)
27
- jQuery = $;
43
+ dataSpaceStyle = "ui-effects-style",
44
+ dataSpaceAnimated = "ui-effects-animated";
28
45
 
29
46
  $.effects = {
30
47
  effect: {}
31
48
  };
32
49
 
33
- /*!
34
- * jQuery Color Animations v2.1.2
35
- * https://github.com/jquery/jquery-color
36
- *
37
- * Copyright 2014 jQuery Foundation and other contributors
38
- * Released under the MIT license.
39
- * http://jquery.org/license
40
- *
41
- * Date: Wed Jan 16 08:47:09 2013 -0600
42
- */
43
- (function( jQuery, undefined ) {
44
-
45
- var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
46
-
47
- // plusequals test for += 100 -= 100
48
- rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
49
- // a set of RE's that can match strings and generate color tuples.
50
- stringParsers = [ {
51
- re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
52
- parse: function( execResult ) {
53
- return [
54
- execResult[ 1 ],
55
- execResult[ 2 ],
56
- execResult[ 3 ],
57
- execResult[ 4 ]
58
- ];
59
- }
60
- }, {
61
- re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
62
- parse: function( execResult ) {
63
- return [
64
- execResult[ 1 ] * 2.55,
65
- execResult[ 2 ] * 2.55,
66
- execResult[ 3 ] * 2.55,
67
- execResult[ 4 ]
68
- ];
69
- }
70
- }, {
71
- // this regex ignores A-F because it's compared against an already lowercased string
72
- re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
73
- parse: function( execResult ) {
74
- return [
75
- parseInt( execResult[ 1 ], 16 ),
76
- parseInt( execResult[ 2 ], 16 ),
77
- parseInt( execResult[ 3 ], 16 )
78
- ];
79
- }
80
- }, {
81
- // this regex ignores A-F because it's compared against an already lowercased string
82
- re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
83
- parse: function( execResult ) {
84
- return [
85
- parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
86
- parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
87
- parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
88
- ];
89
- }
90
- }, {
91
- re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
92
- space: "hsla",
93
- parse: function( execResult ) {
94
- return [
95
- execResult[ 1 ],
96
- execResult[ 2 ] / 100,
97
- execResult[ 3 ] / 100,
98
- execResult[ 4 ]
99
- ];
100
- }
101
- } ],
102
-
103
- // jQuery.Color( )
104
- color = jQuery.Color = function( color, green, blue, alpha ) {
105
- return new jQuery.Color.fn.parse( color, green, blue, alpha );
106
- },
107
- spaces = {
108
- rgba: {
109
- props: {
110
- red: {
111
- idx: 0,
112
- type: "byte"
113
- },
114
- green: {
115
- idx: 1,
116
- type: "byte"
117
- },
118
- blue: {
119
- idx: 2,
120
- type: "byte"
121
- }
122
- }
123
- },
124
-
125
- hsla: {
126
- props: {
127
- hue: {
128
- idx: 0,
129
- type: "degrees"
130
- },
131
- saturation: {
132
- idx: 1,
133
- type: "percent"
134
- },
135
- lightness: {
136
- idx: 2,
137
- type: "percent"
138
- }
139
- }
140
- }
141
- },
142
- propTypes = {
143
- "byte": {
144
- floor: true,
145
- max: 255
146
- },
147
- "percent": {
148
- max: 1
149
- },
150
- "degrees": {
151
- mod: 360,
152
- floor: true
153
- }
154
- },
155
- support = color.support = {},
156
-
157
- // element for support tests
158
- supportElem = jQuery( "<p>" )[ 0 ],
159
-
160
- // colors = jQuery.Color.names
161
- colors,
162
-
163
- // local aliases of functions called often
164
- each = jQuery.each;
165
-
166
- // determine rgba support immediately
167
- supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
168
- support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
169
-
170
- // define cache name and alpha properties
171
- // for rgba and hsla spaces
172
- each( spaces, function( spaceName, space ) {
173
- space.cache = "_" + spaceName;
174
- space.props.alpha = {
175
- idx: 3,
176
- type: "percent",
177
- def: 1
178
- };
179
- });
180
-
181
- function clamp( value, prop, allowEmpty ) {
182
- var type = propTypes[ prop.type ] || {};
183
-
184
- if ( value == null ) {
185
- return (allowEmpty || !prop.def) ? null : prop.def;
186
- }
187
-
188
- // ~~ is an short way of doing floor for positive numbers
189
- value = type.floor ? ~~value : parseFloat( value );
190
-
191
- // IE will pass in empty strings as value for alpha,
192
- // which will hit this case
193
- if ( isNaN( value ) ) {
194
- return prop.def;
195
- }
196
-
197
- if ( type.mod ) {
198
- // we add mod before modding to make sure that negatives values
199
- // get converted properly: -10 -> 350
200
- return (value + type.mod) % type.mod;
201
- }
202
-
203
- // for now all property types without mod have min and max
204
- return 0 > value ? 0 : type.max < value ? type.max : value;
205
- }
206
-
207
- function stringParse( string ) {
208
- var inst = color(),
209
- rgba = inst._rgba = [];
210
-
211
- string = string.toLowerCase();
212
-
213
- each( stringParsers, function( i, parser ) {
214
- var parsed,
215
- match = parser.re.exec( string ),
216
- values = match && parser.parse( match ),
217
- spaceName = parser.space || "rgba";
218
-
219
- if ( values ) {
220
- parsed = inst[ spaceName ]( values );
221
-
222
- // if this was an rgba parse the assignment might happen twice
223
- // oh well....
224
- inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
225
- rgba = inst._rgba = parsed._rgba;
226
-
227
- // exit each( stringParsers ) here because we matched
228
- return false;
229
- }
230
- });
231
-
232
- // Found a stringParser that handled it
233
- if ( rgba.length ) {
234
-
235
- // if this came from a parsed string, force "transparent" when alpha is 0
236
- // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
237
- if ( rgba.join() === "0,0,0,0" ) {
238
- jQuery.extend( rgba, colors.transparent );
239
- }
240
- return inst;
241
- }
242
-
243
- // named colors
244
- return colors[ string ];
245
- }
246
-
247
- color.fn = jQuery.extend( color.prototype, {
248
- parse: function( red, green, blue, alpha ) {
249
- if ( red === undefined ) {
250
- this._rgba = [ null, null, null, null ];
251
- return this;
252
- }
253
- if ( red.jquery || red.nodeType ) {
254
- red = jQuery( red ).css( green );
255
- green = undefined;
256
- }
257
-
258
- var inst = this,
259
- type = jQuery.type( red ),
260
- rgba = this._rgba = [];
261
-
262
- // more than 1 argument specified - assume ( red, green, blue, alpha )
263
- if ( green !== undefined ) {
264
- red = [ red, green, blue, alpha ];
265
- type = "array";
266
- }
267
-
268
- if ( type === "string" ) {
269
- return this.parse( stringParse( red ) || colors._default );
270
- }
271
-
272
- if ( type === "array" ) {
273
- each( spaces.rgba.props, function( key, prop ) {
274
- rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
275
- });
276
- return this;
277
- }
278
-
279
- if ( type === "object" ) {
280
- if ( red instanceof color ) {
281
- each( spaces, function( spaceName, space ) {
282
- if ( red[ space.cache ] ) {
283
- inst[ space.cache ] = red[ space.cache ].slice();
284
- }
285
- });
286
- } else {
287
- each( spaces, function( spaceName, space ) {
288
- var cache = space.cache;
289
- each( space.props, function( key, prop ) {
290
-
291
- // if the cache doesn't exist, and we know how to convert
292
- if ( !inst[ cache ] && space.to ) {
293
-
294
- // if the value was null, we don't need to copy it
295
- // if the key was alpha, we don't need to copy it either
296
- if ( key === "alpha" || red[ key ] == null ) {
297
- return;
298
- }
299
- inst[ cache ] = space.to( inst._rgba );
300
- }
301
-
302
- // this is the only case where we allow nulls for ALL properties.
303
- // call clamp with alwaysAllowEmpty
304
- inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
305
- });
306
-
307
- // everything defined but alpha?
308
- if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
309
- // use the default of 1
310
- inst[ cache ][ 3 ] = 1;
311
- if ( space.from ) {
312
- inst._rgba = space.from( inst[ cache ] );
313
- }
314
- }
315
- });
316
- }
317
- return this;
318
- }
319
- },
320
- is: function( compare ) {
321
- var is = color( compare ),
322
- same = true,
323
- inst = this;
324
-
325
- each( spaces, function( _, space ) {
326
- var localCache,
327
- isCache = is[ space.cache ];
328
- if (isCache) {
329
- localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
330
- each( space.props, function( _, prop ) {
331
- if ( isCache[ prop.idx ] != null ) {
332
- same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
333
- return same;
334
- }
335
- });
336
- }
337
- return same;
338
- });
339
- return same;
340
- },
341
- _space: function() {
342
- var used = [],
343
- inst = this;
344
- each( spaces, function( spaceName, space ) {
345
- if ( inst[ space.cache ] ) {
346
- used.push( spaceName );
347
- }
348
- });
349
- return used.pop();
350
- },
351
- transition: function( other, distance ) {
352
- var end = color( other ),
353
- spaceName = end._space(),
354
- space = spaces[ spaceName ],
355
- startColor = this.alpha() === 0 ? color( "transparent" ) : this,
356
- start = startColor[ space.cache ] || space.to( startColor._rgba ),
357
- result = start.slice();
358
-
359
- end = end[ space.cache ];
360
- each( space.props, function( key, prop ) {
361
- var index = prop.idx,
362
- startValue = start[ index ],
363
- endValue = end[ index ],
364
- type = propTypes[ prop.type ] || {};
365
-
366
- // if null, don't override start value
367
- if ( endValue === null ) {
368
- return;
369
- }
370
- // if null - use end
371
- if ( startValue === null ) {
372
- result[ index ] = endValue;
373
- } else {
374
- if ( type.mod ) {
375
- if ( endValue - startValue > type.mod / 2 ) {
376
- startValue += type.mod;
377
- } else if ( startValue - endValue > type.mod / 2 ) {
378
- startValue -= type.mod;
379
- }
380
- }
381
- result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
382
- }
383
- });
384
- return this[ spaceName ]( result );
385
- },
386
- blend: function( opaque ) {
387
- // if we are already opaque - return ourself
388
- if ( this._rgba[ 3 ] === 1 ) {
389
- return this;
390
- }
391
-
392
- var rgb = this._rgba.slice(),
393
- a = rgb.pop(),
394
- blend = color( opaque )._rgba;
395
-
396
- return color( jQuery.map( rgb, function( v, i ) {
397
- return ( 1 - a ) * blend[ i ] + a * v;
398
- }));
399
- },
400
- toRgbaString: function() {
401
- var prefix = "rgba(",
402
- rgba = jQuery.map( this._rgba, function( v, i ) {
403
- return v == null ? ( i > 2 ? 1 : 0 ) : v;
404
- });
405
-
406
- if ( rgba[ 3 ] === 1 ) {
407
- rgba.pop();
408
- prefix = "rgb(";
409
- }
410
-
411
- return prefix + rgba.join() + ")";
412
- },
413
- toHslaString: function() {
414
- var prefix = "hsla(",
415
- hsla = jQuery.map( this.hsla(), function( v, i ) {
416
- if ( v == null ) {
417
- v = i > 2 ? 1 : 0;
418
- }
419
-
420
- // catch 1 and 2
421
- if ( i && i < 3 ) {
422
- v = Math.round( v * 100 ) + "%";
423
- }
424
- return v;
425
- });
426
-
427
- if ( hsla[ 3 ] === 1 ) {
428
- hsla.pop();
429
- prefix = "hsl(";
430
- }
431
- return prefix + hsla.join() + ")";
432
- },
433
- toHexString: function( includeAlpha ) {
434
- var rgba = this._rgba.slice(),
435
- alpha = rgba.pop();
436
-
437
- if ( includeAlpha ) {
438
- rgba.push( ~~( alpha * 255 ) );
439
- }
440
-
441
- return "#" + jQuery.map( rgba, function( v ) {
442
-
443
- // default to 0 when nulls exist
444
- v = ( v || 0 ).toString( 16 );
445
- return v.length === 1 ? "0" + v : v;
446
- }).join("");
447
- },
448
- toString: function() {
449
- return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
450
- }
451
- });
452
- color.fn.parse.prototype = color.fn;
453
-
454
- // hsla conversions adapted from:
455
- // https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
456
-
457
- function hue2rgb( p, q, h ) {
458
- h = ( h + 1 ) % 1;
459
- if ( h * 6 < 1 ) {
460
- return p + ( q - p ) * h * 6;
461
- }
462
- if ( h * 2 < 1) {
463
- return q;
464
- }
465
- if ( h * 3 < 2 ) {
466
- return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;
467
- }
468
- return p;
469
- }
470
-
471
- spaces.hsla.to = function( rgba ) {
472
- if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
473
- return [ null, null, null, rgba[ 3 ] ];
474
- }
475
- var r = rgba[ 0 ] / 255,
476
- g = rgba[ 1 ] / 255,
477
- b = rgba[ 2 ] / 255,
478
- a = rgba[ 3 ],
479
- max = Math.max( r, g, b ),
480
- min = Math.min( r, g, b ),
481
- diff = max - min,
482
- add = max + min,
483
- l = add * 0.5,
484
- h, s;
485
-
486
- if ( min === max ) {
487
- h = 0;
488
- } else if ( r === max ) {
489
- h = ( 60 * ( g - b ) / diff ) + 360;
490
- } else if ( g === max ) {
491
- h = ( 60 * ( b - r ) / diff ) + 120;
492
- } else {
493
- h = ( 60 * ( r - g ) / diff ) + 240;
494
- }
495
-
496
- // chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
497
- // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
498
- if ( diff === 0 ) {
499
- s = 0;
500
- } else if ( l <= 0.5 ) {
501
- s = diff / add;
502
- } else {
503
- s = diff / ( 2 - add );
504
- }
505
- return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
506
- };
507
-
508
- spaces.hsla.from = function( hsla ) {
509
- if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
510
- return [ null, null, null, hsla[ 3 ] ];
511
- }
512
- var h = hsla[ 0 ] / 360,
513
- s = hsla[ 1 ],
514
- l = hsla[ 2 ],
515
- a = hsla[ 3 ],
516
- q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
517
- p = 2 * l - q;
518
-
519
- return [
520
- Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
521
- Math.round( hue2rgb( p, q, h ) * 255 ),
522
- Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
523
- a
524
- ];
525
- };
526
-
527
- each( spaces, function( spaceName, space ) {
528
- var props = space.props,
529
- cache = space.cache,
530
- to = space.to,
531
- from = space.from;
532
-
533
- // makes rgba() and hsla()
534
- color.fn[ spaceName ] = function( value ) {
535
-
536
- // generate a cache for this space if it doesn't exist
537
- if ( to && !this[ cache ] ) {
538
- this[ cache ] = to( this._rgba );
539
- }
540
- if ( value === undefined ) {
541
- return this[ cache ].slice();
542
- }
543
-
544
- var ret,
545
- type = jQuery.type( value ),
546
- arr = ( type === "array" || type === "object" ) ? value : arguments,
547
- local = this[ cache ].slice();
548
-
549
- each( props, function( key, prop ) {
550
- var val = arr[ type === "object" ? key : prop.idx ];
551
- if ( val == null ) {
552
- val = local[ prop.idx ];
553
- }
554
- local[ prop.idx ] = clamp( val, prop );
555
- });
556
-
557
- if ( from ) {
558
- ret = color( from( local ) );
559
- ret[ cache ] = local;
560
- return ret;
561
- } else {
562
- return color( local );
563
- }
564
- };
565
-
566
- // makes red() green() blue() alpha() hue() saturation() lightness()
567
- each( props, function( key, prop ) {
568
- // alpha is included in more than one space
569
- if ( color.fn[ key ] ) {
570
- return;
571
- }
572
- color.fn[ key ] = function( value ) {
573
- var vtype = jQuery.type( value ),
574
- fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
575
- local = this[ fn ](),
576
- cur = local[ prop.idx ],
577
- match;
578
-
579
- if ( vtype === "undefined" ) {
580
- return cur;
581
- }
582
-
583
- if ( vtype === "function" ) {
584
- value = value.call( this, cur );
585
- vtype = jQuery.type( value );
586
- }
587
- if ( value == null && prop.empty ) {
588
- return this;
589
- }
590
- if ( vtype === "string" ) {
591
- match = rplusequals.exec( value );
592
- if ( match ) {
593
- value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
594
- }
595
- }
596
- local[ prop.idx ] = value;
597
- return this[ fn ]( local );
598
- };
599
- });
600
- });
601
-
602
- // add cssHook and .fx.step function for each named hook.
603
- // accept a space separated string of properties
604
- color.hook = function( hook ) {
605
- var hooks = hook.split( " " );
606
- each( hooks, function( i, hook ) {
607
- jQuery.cssHooks[ hook ] = {
608
- set: function( elem, value ) {
609
- var parsed, curElem,
610
- backgroundColor = "";
611
-
612
- if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
613
- value = color( parsed || value );
614
- if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
615
- curElem = hook === "backgroundColor" ? elem.parentNode : elem;
616
- while (
617
- (backgroundColor === "" || backgroundColor === "transparent") &&
618
- curElem && curElem.style
619
- ) {
620
- try {
621
- backgroundColor = jQuery.css( curElem, "backgroundColor" );
622
- curElem = curElem.parentNode;
623
- } catch ( e ) {
624
- }
625
- }
626
-
627
- value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
628
- backgroundColor :
629
- "_default" );
630
- }
631
-
632
- value = value.toRgbaString();
633
- }
634
- try {
635
- elem.style[ hook ] = value;
636
- } catch ( e ) {
637
- // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
638
- }
639
- }
640
- };
641
- jQuery.fx.step[ hook ] = function( fx ) {
642
- if ( !fx.colorInit ) {
643
- fx.start = color( fx.elem, hook );
644
- fx.end = color( fx.end );
645
- fx.colorInit = true;
646
- }
647
- jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
648
- };
649
- });
650
-
651
- };
652
-
653
- color.hook( stepHooks );
654
-
655
- jQuery.cssHooks.borderColor = {
656
- expand: function( value ) {
657
- var expanded = {};
658
-
659
- each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
660
- expanded[ "border" + part + "Color" ] = value;
661
- });
662
- return expanded;
663
- }
664
- };
665
-
666
- // Basic color names only.
667
- // Usage of any of the other color names requires adding yourself or including
668
- // jquery.color.svg-names.js.
669
- colors = jQuery.Color.names = {
670
- // 4.1. Basic color keywords
671
- aqua: "#00ffff",
672
- black: "#000000",
673
- blue: "#0000ff",
674
- fuchsia: "#ff00ff",
675
- gray: "#808080",
676
- green: "#008000",
677
- lime: "#00ff00",
678
- maroon: "#800000",
679
- navy: "#000080",
680
- olive: "#808000",
681
- purple: "#800080",
682
- red: "#ff0000",
683
- silver: "#c0c0c0",
684
- teal: "#008080",
685
- white: "#ffffff",
686
- yellow: "#ffff00",
687
-
688
- // 4.2.3. "transparent" color keyword
689
- transparent: [ null, null, null, 0 ],
690
-
691
- _default: "#ffffff"
692
- };
693
-
694
- })( jQuery );
695
-
696
50
  /******************************************************************************/
697
51
  /****************************** CLASS ANIMATIONS ******************************/
698
52
  /******************************************************************************/
699
- (function() {
53
+ ( function() {
700
54
 
701
55
  var classAnimationActions = [ "add", "remove", "toggle" ],
702
56
  shorthandStyles = {
@@ -711,14 +65,23 @@ var classAnimationActions = [ "add", "remove", "toggle" ],
711
65
  padding: 1
712
66
  };
713
67
 
714
- $.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) {
715
- $.fx.step[ prop ] = function( fx ) {
716
- if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
717
- jQuery.style( fx.elem, prop, fx.end );
718
- fx.setAttr = true;
719
- }
720
- };
721
- });
68
+ $.each(
69
+ [ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ],
70
+ function( _, prop ) {
71
+ $.fx.step[ prop ] = function( fx ) {
72
+ if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
73
+ jQuery.style( fx.elem, prop, fx.end );
74
+ fx.setAttr = true;
75
+ }
76
+ };
77
+ }
78
+ );
79
+
80
+ function camelCase( string ) {
81
+ return string.replace( /-([\da-z])/gi, function( all, letter ) {
82
+ return letter.toUpperCase();
83
+ } );
84
+ }
722
85
 
723
86
  function getElementStyles( elem ) {
724
87
  var key, len,
@@ -732,10 +95,11 @@ function getElementStyles( elem ) {
732
95
  while ( len-- ) {
733
96
  key = style[ len ];
734
97
  if ( typeof style[ key ] === "string" ) {
735
- styles[ $.camelCase( key ) ] = style[ key ];
98
+ styles[ camelCase( key ) ] = style[ key ];
736
99
  }
737
100
  }
738
- // support: Opera, IE <9
101
+
102
+ // Support: Opera, IE <9
739
103
  } else {
740
104
  for ( key in style ) {
741
105
  if ( typeof style[ key ] === "string" ) {
@@ -765,7 +129,7 @@ function styleDifference( oldStyle, newStyle ) {
765
129
  return diff;
766
130
  }
767
131
 
768
- // support: jQuery <1.8
132
+ // Support: jQuery <1.8
769
133
  if ( !$.fn.addBack ) {
770
134
  $.fn.addBack = function( selector ) {
771
135
  return this.add( selector == null ?
@@ -783,275 +147,449 @@ $.effects.animateClass = function( value, duration, easing, callback ) {
783
147
  applyClassChange,
784
148
  allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
785
149
 
786
- // map the animated objects to store the original styles.
787
- allAnimations = allAnimations.map(function() {
150
+ // Map the animated objects to store the original styles.
151
+ allAnimations = allAnimations.map( function() {
788
152
  var el = $( this );
789
153
  return {
790
154
  el: el,
791
155
  start: getElementStyles( this )
792
156
  };
793
- });
157
+ } );
794
158
 
795
- // apply class change
159
+ // Apply class change
796
160
  applyClassChange = function() {
797
- $.each( classAnimationActions, function(i, action) {
161
+ $.each( classAnimationActions, function( i, action ) {
798
162
  if ( value[ action ] ) {
799
163
  animated[ action + "Class" ]( value[ action ] );
800
164
  }
801
- });
165
+ } );
802
166
  };
803
167
  applyClassChange();
804
168
 
805
- // map all animated objects again - calculate new styles and diff
806
- allAnimations = allAnimations.map(function() {
169
+ // Map all animated objects again - calculate new styles and diff
170
+ allAnimations = allAnimations.map( function() {
807
171
  this.end = getElementStyles( this.el[ 0 ] );
808
172
  this.diff = styleDifference( this.start, this.end );
809
173
  return this;
810
- });
174
+ } );
811
175
 
812
- // apply original class
176
+ // Apply original class
813
177
  animated.attr( "class", baseClass );
814
178
 
815
- // map all animated objects again - this time collecting a promise
816
- allAnimations = allAnimations.map(function() {
179
+ // Map all animated objects again - this time collecting a promise
180
+ allAnimations = allAnimations.map( function() {
817
181
  var styleInfo = this,
818
182
  dfd = $.Deferred(),
819
- opts = $.extend({}, o, {
183
+ opts = $.extend( {}, o, {
820
184
  queue: false,
821
185
  complete: function() {
822
186
  dfd.resolve( styleInfo );
823
187
  }
824
- });
188
+ } );
825
189
 
826
190
  this.el.animate( this.diff, opts );
827
191
  return dfd.promise();
828
- });
192
+ } );
829
193
 
830
- // once all animations have completed:
831
- $.when.apply( $, allAnimations.get() ).done(function() {
194
+ // Once all animations have completed:
195
+ $.when.apply( $, allAnimations.get() ).done( function() {
832
196
 
833
- // set the final class
197
+ // Set the final class
834
198
  applyClassChange();
835
199
 
836
- // for each animated element,
200
+ // For each animated element,
837
201
  // clear all css properties that were animated
838
202
  $.each( arguments, function() {
839
203
  var el = this.el;
840
- $.each( this.diff, function(key) {
204
+ $.each( this.diff, function( key ) {
841
205
  el.css( key, "" );
842
- });
843
- });
206
+ } );
207
+ } );
844
208
 
845
- // this is guarnteed to be there if you use jQuery.speed()
209
+ // This is guarnteed to be there if you use jQuery.speed()
846
210
  // it also handles dequeuing the next anim...
847
211
  o.complete.call( animated[ 0 ] );
848
- });
849
- });
212
+ } );
213
+ } );
850
214
  };
851
215
 
852
- $.fn.extend({
853
- addClass: (function( orig ) {
216
+ $.fn.extend( {
217
+ addClass: ( function( orig ) {
854
218
  return function( classNames, speed, easing, callback ) {
855
219
  return speed ?
856
220
  $.effects.animateClass.call( this,
857
221
  { add: classNames }, speed, easing, callback ) :
858
222
  orig.apply( this, arguments );
859
223
  };
860
- })( $.fn.addClass ),
224
+ } )( $.fn.addClass ),
861
225
 
862
- removeClass: (function( orig ) {
226
+ removeClass: ( function( orig ) {
863
227
  return function( classNames, speed, easing, callback ) {
864
228
  return arguments.length > 1 ?
865
229
  $.effects.animateClass.call( this,
866
230
  { remove: classNames }, speed, easing, callback ) :
867
231
  orig.apply( this, arguments );
868
232
  };
869
- })( $.fn.removeClass ),
233
+ } )( $.fn.removeClass ),
870
234
 
871
- toggleClass: (function( orig ) {
235
+ toggleClass: ( function( orig ) {
872
236
  return function( classNames, force, speed, easing, callback ) {
873
237
  if ( typeof force === "boolean" || force === undefined ) {
874
238
  if ( !speed ) {
875
- // without speed parameter
239
+
240
+ // Without speed parameter
876
241
  return orig.apply( this, arguments );
877
242
  } else {
878
243
  return $.effects.animateClass.call( this,
879
- (force ? { add: classNames } : { remove: classNames }),
244
+ ( force ? { add: classNames } : { remove: classNames } ),
880
245
  speed, easing, callback );
881
246
  }
882
247
  } else {
883
- // without force parameter
248
+
249
+ // Without force parameter
884
250
  return $.effects.animateClass.call( this,
885
251
  { toggle: classNames }, force, speed, easing );
886
252
  }
887
253
  };
888
- })( $.fn.toggleClass ),
254
+ } )( $.fn.toggleClass ),
889
255
 
890
- switchClass: function( remove, add, speed, easing, callback) {
256
+ switchClass: function( remove, add, speed, easing, callback ) {
891
257
  return $.effects.animateClass.call( this, {
892
258
  add: add,
893
259
  remove: remove
894
260
  }, speed, easing, callback );
895
261
  }
896
- });
262
+ } );
897
263
 
898
- })();
264
+ } )();
899
265
 
900
266
  /******************************************************************************/
901
267
  /*********************************** EFFECTS **********************************/
902
268
  /******************************************************************************/
903
269
 
904
- (function() {
270
+ ( function() {
905
271
 
906
- $.extend( $.effects, {
907
- version: "1.11.3",
272
+ if ( $.expr && $.expr.pseudos && $.expr.pseudos.animated ) {
273
+ $.expr.pseudos.animated = ( function( orig ) {
274
+ return function( elem ) {
275
+ return !!$( elem ).data( dataSpaceAnimated ) || orig( elem );
276
+ };
277
+ } )( $.expr.pseudos.animated );
278
+ }
279
+
280
+ if ( $.uiBackCompat !== false ) {
281
+ $.extend( $.effects, {
908
282
 
909
- // Saves a set of properties in a data storage
910
- save: function( element, set ) {
911
- for ( var i = 0; i < set.length; i++ ) {
912
- if ( set[ i ] !== null ) {
913
- element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
283
+ // Saves a set of properties in a data storage
284
+ save: function( element, set ) {
285
+ var i = 0, length = set.length;
286
+ for ( ; i < length; i++ ) {
287
+ if ( set[ i ] !== null ) {
288
+ element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
289
+ }
914
290
  }
915
- }
916
- },
291
+ },
917
292
 
918
- // Restores a set of previously saved properties from a data storage
919
- restore: function( element, set ) {
920
- var val, i;
921
- for ( i = 0; i < set.length; i++ ) {
922
- if ( set[ i ] !== null ) {
923
- val = element.data( dataSpace + set[ i ] );
924
- // support: jQuery 1.6.2
925
- // http://bugs.jquery.com/ticket/9917
926
- // jQuery 1.6.2 incorrectly returns undefined for any falsy value.
927
- // We can't differentiate between "" and 0 here, so we just assume
928
- // empty string since it's likely to be a more common value...
929
- if ( val === undefined ) {
930
- val = "";
293
+ // Restores a set of previously saved properties from a data storage
294
+ restore: function( element, set ) {
295
+ var val, i = 0, length = set.length;
296
+ for ( ; i < length; i++ ) {
297
+ if ( set[ i ] !== null ) {
298
+ val = element.data( dataSpace + set[ i ] );
299
+ element.css( set[ i ], val );
931
300
  }
932
- element.css( set[ i ], val );
933
301
  }
302
+ },
303
+
304
+ setMode: function( el, mode ) {
305
+ if ( mode === "toggle" ) {
306
+ mode = el.is( ":hidden" ) ? "show" : "hide";
307
+ }
308
+ return mode;
309
+ },
310
+
311
+ // Wraps the element around a wrapper that copies position properties
312
+ createWrapper: function( element ) {
313
+
314
+ // If the element is already wrapped, return it
315
+ if ( element.parent().is( ".ui-effects-wrapper" ) ) {
316
+ return element.parent();
317
+ }
318
+
319
+ // Wrap the element
320
+ var props = {
321
+ width: element.outerWidth( true ),
322
+ height: element.outerHeight( true ),
323
+ "float": element.css( "float" )
324
+ },
325
+ wrapper = $( "<div></div>" )
326
+ .addClass( "ui-effects-wrapper" )
327
+ .css( {
328
+ fontSize: "100%",
329
+ background: "transparent",
330
+ border: "none",
331
+ margin: 0,
332
+ padding: 0
333
+ } ),
334
+
335
+ // Store the size in case width/height are defined in % - Fixes #5245
336
+ size = {
337
+ width: element.width(),
338
+ height: element.height()
339
+ },
340
+ active = document.activeElement;
341
+
342
+ // Support: Firefox
343
+ // Firefox incorrectly exposes anonymous content
344
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=561664
345
+ try {
346
+ // eslint-disable-next-line no-unused-expressions
347
+ active.id;
348
+ } catch ( e ) {
349
+ active = document.body;
350
+ }
351
+
352
+ element.wrap( wrapper );
353
+
354
+ // Fixes #7595 - Elements lose focus when wrapped.
355
+ if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
356
+ $( active ).trigger( "focus" );
357
+ }
358
+
359
+ // Hotfix for jQuery 1.4 since some change in wrap() seems to actually
360
+ // lose the reference to the wrapped element
361
+ wrapper = element.parent();
362
+
363
+ // Transfer positioning properties to the wrapper
364
+ if ( element.css( "position" ) === "static" ) {
365
+ wrapper.css( { position: "relative" } );
366
+ element.css( { position: "relative" } );
367
+ } else {
368
+ $.extend( props, {
369
+ position: element.css( "position" ),
370
+ zIndex: element.css( "z-index" )
371
+ } );
372
+ $.each( [ "top", "left", "bottom", "right" ], function( i, pos ) {
373
+ props[ pos ] = element.css( pos );
374
+ if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
375
+ props[ pos ] = "auto";
376
+ }
377
+ } );
378
+ element.css( {
379
+ position: "relative",
380
+ top: 0,
381
+ left: 0,
382
+ right: "auto",
383
+ bottom: "auto"
384
+ } );
385
+ }
386
+ element.css( size );
387
+
388
+ return wrapper.css( props ).show();
389
+ },
390
+
391
+ removeWrapper: function( element ) {
392
+ var active = document.activeElement;
393
+
394
+ if ( element.parent().is( ".ui-effects-wrapper" ) ) {
395
+ element.parent().replaceWith( element );
396
+
397
+ // Fixes #7595 - Elements lose focus when wrapped.
398
+ if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
399
+ $( active ).trigger( "focus" );
400
+ }
401
+ }
402
+
403
+ return element;
404
+ }
405
+ } );
406
+ }
407
+
408
+ $.extend( $.effects, {
409
+ version: "1.13.0",
410
+
411
+ define: function( name, mode, effect ) {
412
+ if ( !effect ) {
413
+ effect = mode;
414
+ mode = "effect";
415
+ }
416
+
417
+ $.effects.effect[ name ] = effect;
418
+ $.effects.effect[ name ].mode = mode;
419
+
420
+ return effect;
421
+ },
422
+
423
+ scaledDimensions: function( element, percent, direction ) {
424
+ if ( percent === 0 ) {
425
+ return {
426
+ height: 0,
427
+ width: 0,
428
+ outerHeight: 0,
429
+ outerWidth: 0
430
+ };
431
+ }
432
+
433
+ var x = direction !== "horizontal" ? ( ( percent || 100 ) / 100 ) : 1,
434
+ y = direction !== "vertical" ? ( ( percent || 100 ) / 100 ) : 1;
435
+
436
+ return {
437
+ height: element.height() * y,
438
+ width: element.width() * x,
439
+ outerHeight: element.outerHeight() * y,
440
+ outerWidth: element.outerWidth() * x
441
+ };
442
+
443
+ },
444
+
445
+ clipToBox: function( animation ) {
446
+ return {
447
+ width: animation.clip.right - animation.clip.left,
448
+ height: animation.clip.bottom - animation.clip.top,
449
+ left: animation.clip.left,
450
+ top: animation.clip.top
451
+ };
452
+ },
453
+
454
+ // Injects recently queued functions to be first in line (after "inprogress")
455
+ unshift: function( element, queueLength, count ) {
456
+ var queue = element.queue();
457
+
458
+ if ( queueLength > 1 ) {
459
+ queue.splice.apply( queue,
460
+ [ 1, 0 ].concat( queue.splice( queueLength, count ) ) );
934
461
  }
462
+ element.dequeue();
935
463
  },
936
464
 
937
- setMode: function( el, mode ) {
938
- if (mode === "toggle") {
939
- mode = el.is( ":hidden" ) ? "show" : "hide";
465
+ saveStyle: function( element ) {
466
+ element.data( dataSpaceStyle, element[ 0 ].style.cssText );
467
+ },
468
+
469
+ restoreStyle: function( element ) {
470
+ element[ 0 ].style.cssText = element.data( dataSpaceStyle ) || "";
471
+ element.removeData( dataSpaceStyle );
472
+ },
473
+
474
+ mode: function( element, mode ) {
475
+ var hidden = element.is( ":hidden" );
476
+
477
+ if ( mode === "toggle" ) {
478
+ mode = hidden ? "show" : "hide";
479
+ }
480
+ if ( hidden ? mode === "hide" : mode === "show" ) {
481
+ mode = "none";
940
482
  }
941
483
  return mode;
942
484
  },
943
485
 
944
486
  // Translates a [top,left] array into a baseline value
945
- // this should be a little more flexible in the future to handle a string & hash
946
487
  getBaseline: function( origin, original ) {
947
488
  var y, x;
489
+
948
490
  switch ( origin[ 0 ] ) {
949
- case "top": y = 0; break;
950
- case "middle": y = 0.5; break;
951
- case "bottom": y = 1; break;
952
- default: y = origin[ 0 ] / original.height;
491
+ case "top":
492
+ y = 0;
493
+ break;
494
+ case "middle":
495
+ y = 0.5;
496
+ break;
497
+ case "bottom":
498
+ y = 1;
499
+ break;
500
+ default:
501
+ y = origin[ 0 ] / original.height;
953
502
  }
503
+
954
504
  switch ( origin[ 1 ] ) {
955
- case "left": x = 0; break;
956
- case "center": x = 0.5; break;
957
- case "right": x = 1; break;
958
- default: x = origin[ 1 ] / original.width;
505
+ case "left":
506
+ x = 0;
507
+ break;
508
+ case "center":
509
+ x = 0.5;
510
+ break;
511
+ case "right":
512
+ x = 1;
513
+ break;
514
+ default:
515
+ x = origin[ 1 ] / original.width;
959
516
  }
517
+
960
518
  return {
961
519
  x: x,
962
520
  y: y
963
521
  };
964
522
  },
965
523
 
966
- // Wraps the element around a wrapper that copies position properties
967
- createWrapper: function( element ) {
968
-
969
- // if the element is already wrapped, return it
970
- if ( element.parent().is( ".ui-effects-wrapper" )) {
971
- return element.parent();
972
- }
973
-
974
- // wrap the element
975
- var props = {
976
- width: element.outerWidth(true),
977
- height: element.outerHeight(true),
524
+ // Creates a placeholder element so that the original element can be made absolute
525
+ createPlaceholder: function( element ) {
526
+ var placeholder,
527
+ cssPosition = element.css( "position" ),
528
+ position = element.position();
529
+
530
+ // Lock in margins first to account for form elements, which
531
+ // will change margin if you explicitly set height
532
+ // see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380
533
+ // Support: Safari
534
+ element.css( {
535
+ marginTop: element.css( "marginTop" ),
536
+ marginBottom: element.css( "marginBottom" ),
537
+ marginLeft: element.css( "marginLeft" ),
538
+ marginRight: element.css( "marginRight" )
539
+ } )
540
+ .outerWidth( element.outerWidth() )
541
+ .outerHeight( element.outerHeight() );
542
+
543
+ if ( /^(static|relative)/.test( cssPosition ) ) {
544
+ cssPosition = "absolute";
545
+
546
+ placeholder = $( "<" + element[ 0 ].nodeName + ">" ).insertAfter( element ).css( {
547
+
548
+ // Convert inline to inline block to account for inline elements
549
+ // that turn to inline block based on content (like img)
550
+ display: /^(inline|ruby)/.test( element.css( "display" ) ) ?
551
+ "inline-block" :
552
+ "block",
553
+ visibility: "hidden",
554
+
555
+ // Margins need to be set to account for margin collapse
556
+ marginTop: element.css( "marginTop" ),
557
+ marginBottom: element.css( "marginBottom" ),
558
+ marginLeft: element.css( "marginLeft" ),
559
+ marginRight: element.css( "marginRight" ),
978
560
  "float": element.css( "float" )
979
- },
980
- wrapper = $( "<div></div>" )
981
- .addClass( "ui-effects-wrapper" )
982
- .css({
983
- fontSize: "100%",
984
- background: "transparent",
985
- border: "none",
986
- margin: 0,
987
- padding: 0
988
- }),
989
- // Store the size in case width/height are defined in % - Fixes #5245
990
- size = {
991
- width: element.width(),
992
- height: element.height()
993
- },
994
- active = document.activeElement;
995
-
996
- // support: Firefox
997
- // Firefox incorrectly exposes anonymous content
998
- // https://bugzilla.mozilla.org/show_bug.cgi?id=561664
999
- try {
1000
- active.id;
1001
- } catch ( e ) {
1002
- active = document.body;
1003
- }
561
+ } )
562
+ .outerWidth( element.outerWidth() )
563
+ .outerHeight( element.outerHeight() )
564
+ .addClass( "ui-effects-placeholder" );
1004
565
 
1005
- element.wrap( wrapper );
1006
-
1007
- // Fixes #7595 - Elements lose focus when wrapped.
1008
- if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
1009
- $( active ).focus();
566
+ element.data( dataSpace + "placeholder", placeholder );
1010
567
  }
1011
568
 
1012
- wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element
1013
-
1014
- // transfer positioning properties to the wrapper
1015
- if ( element.css( "position" ) === "static" ) {
1016
- wrapper.css({ position: "relative" });
1017
- element.css({ position: "relative" });
1018
- } else {
1019
- $.extend( props, {
1020
- position: element.css( "position" ),
1021
- zIndex: element.css( "z-index" )
1022
- });
1023
- $.each([ "top", "left", "bottom", "right" ], function(i, pos) {
1024
- props[ pos ] = element.css( pos );
1025
- if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
1026
- props[ pos ] = "auto";
1027
- }
1028
- });
1029
- element.css({
1030
- position: "relative",
1031
- top: 0,
1032
- left: 0,
1033
- right: "auto",
1034
- bottom: "auto"
1035
- });
1036
- }
1037
- element.css(size);
569
+ element.css( {
570
+ position: cssPosition,
571
+ left: position.left,
572
+ top: position.top
573
+ } );
1038
574
 
1039
- return wrapper.css( props ).show();
575
+ return placeholder;
1040
576
  },
1041
577
 
1042
- removeWrapper: function( element ) {
1043
- var active = document.activeElement;
578
+ removePlaceholder: function( element ) {
579
+ var dataKey = dataSpace + "placeholder",
580
+ placeholder = element.data( dataKey );
1044
581
 
1045
- if ( element.parent().is( ".ui-effects-wrapper" ) ) {
1046
- element.parent().replaceWith( element );
1047
-
1048
- // Fixes #7595 - Elements lose focus when wrapped.
1049
- if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
1050
- $( active ).focus();
1051
- }
582
+ if ( placeholder ) {
583
+ placeholder.remove();
584
+ element.removeData( dataKey );
1052
585
  }
586
+ },
1053
587
 
1054
- return element;
588
+ // Removes a placeholder if it exists and restores
589
+ // properties that were modified during placeholder creation
590
+ cleanUp: function( element ) {
591
+ $.effects.restoreStyle( element );
592
+ $.effects.removePlaceholder( element );
1055
593
  },
1056
594
 
1057
595
  setTransition: function( element, list, factor, value ) {
@@ -1061,49 +599,49 @@ $.extend( $.effects, {
1061
599
  if ( unit[ 0 ] > 0 ) {
1062
600
  value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
1063
601
  }
1064
- });
602
+ } );
1065
603
  return value;
1066
604
  }
1067
- });
605
+ } );
1068
606
 
1069
- // return an effect options object for the given parameters:
607
+ // Return an effect options object for the given parameters:
1070
608
  function _normalizeArguments( effect, options, speed, callback ) {
1071
609
 
1072
- // allow passing all options as the first parameter
610
+ // Allow passing all options as the first parameter
1073
611
  if ( $.isPlainObject( effect ) ) {
1074
612
  options = effect;
1075
613
  effect = effect.effect;
1076
614
  }
1077
615
 
1078
- // convert to an object
616
+ // Convert to an object
1079
617
  effect = { effect: effect };
1080
618
 
1081
- // catch (effect, null, ...)
619
+ // Catch (effect, null, ...)
1082
620
  if ( options == null ) {
1083
621
  options = {};
1084
622
  }
1085
623
 
1086
- // catch (effect, callback)
1087
- if ( $.isFunction( options ) ) {
624
+ // Catch (effect, callback)
625
+ if ( typeof options === "function" ) {
1088
626
  callback = options;
1089
627
  speed = null;
1090
628
  options = {};
1091
629
  }
1092
630
 
1093
- // catch (effect, speed, ?)
631
+ // Catch (effect, speed, ?)
1094
632
  if ( typeof options === "number" || $.fx.speeds[ options ] ) {
1095
633
  callback = speed;
1096
634
  speed = options;
1097
635
  options = {};
1098
636
  }
1099
637
 
1100
- // catch (effect, options, callback)
1101
- if ( $.isFunction( speed ) ) {
638
+ // Catch (effect, options, callback)
639
+ if ( typeof speed === "function" ) {
1102
640
  callback = speed;
1103
641
  speed = null;
1104
642
  }
1105
643
 
1106
- // add options to effect
644
+ // Add options to effect
1107
645
  if ( options ) {
1108
646
  $.extend( effect, options );
1109
647
  }
@@ -1120,6 +658,7 @@ function _normalizeArguments( effect, options, speed, callback ) {
1120
658
  }
1121
659
 
1122
660
  function standardAnimationOption( option ) {
661
+
1123
662
  // Valid standard speeds (nothing, number, named speed)
1124
663
  if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) {
1125
664
  return true;
@@ -1131,7 +670,7 @@ function standardAnimationOption( option ) {
1131
670
  }
1132
671
 
1133
672
  // Complete callback
1134
- if ( $.isFunction( option ) ) {
673
+ if ( typeof option === "function" ) {
1135
674
  return true;
1136
675
  }
1137
676
 
@@ -1144,54 +683,116 @@ function standardAnimationOption( option ) {
1144
683
  return false;
1145
684
  }
1146
685
 
1147
- $.fn.extend({
686
+ $.fn.extend( {
1148
687
  effect: function( /* effect, options, speed, callback */ ) {
1149
688
  var args = _normalizeArguments.apply( this, arguments ),
1150
- mode = args.mode,
689
+ effectMethod = $.effects.effect[ args.effect ],
690
+ defaultMode = effectMethod.mode,
1151
691
  queue = args.queue,
1152
- effectMethod = $.effects.effect[ args.effect ];
692
+ queueName = queue || "fx",
693
+ complete = args.complete,
694
+ mode = args.mode,
695
+ modes = [],
696
+ prefilter = function( next ) {
697
+ var el = $( this ),
698
+ normalizedMode = $.effects.mode( el, mode ) || defaultMode;
699
+
700
+ // Sentinel for duck-punching the :animated pseudo-selector
701
+ el.data( dataSpaceAnimated, true );
702
+
703
+ // Save effect mode for later use,
704
+ // we can't just call $.effects.mode again later,
705
+ // as the .show() below destroys the initial state
706
+ modes.push( normalizedMode );
707
+
708
+ // See $.uiBackCompat inside of run() for removal of defaultMode in 1.14
709
+ if ( defaultMode && ( normalizedMode === "show" ||
710
+ ( normalizedMode === defaultMode && normalizedMode === "hide" ) ) ) {
711
+ el.show();
712
+ }
713
+
714
+ if ( !defaultMode || normalizedMode !== "none" ) {
715
+ $.effects.saveStyle( el );
716
+ }
717
+
718
+ if ( typeof next === "function" ) {
719
+ next();
720
+ }
721
+ };
1153
722
 
1154
723
  if ( $.fx.off || !effectMethod ) {
1155
- // delegate to the original method (e.g., .show()) if possible
724
+
725
+ // Delegate to the original method (e.g., .show()) if possible
1156
726
  if ( mode ) {
1157
- return this[ mode ]( args.duration, args.complete );
727
+ return this[ mode ]( args.duration, complete );
1158
728
  } else {
1159
729
  return this.each( function() {
1160
- if ( args.complete ) {
1161
- args.complete.call( this );
730
+ if ( complete ) {
731
+ complete.call( this );
1162
732
  }
1163
- });
733
+ } );
1164
734
  }
1165
735
  }
1166
736
 
1167
737
  function run( next ) {
1168
- var elem = $( this ),
1169
- complete = args.complete,
1170
- mode = args.mode;
738
+ var elem = $( this );
739
+
740
+ function cleanup() {
741
+ elem.removeData( dataSpaceAnimated );
742
+
743
+ $.effects.cleanUp( elem );
744
+
745
+ if ( args.mode === "hide" ) {
746
+ elem.hide();
747
+ }
748
+
749
+ done();
750
+ }
1171
751
 
1172
752
  function done() {
1173
- if ( $.isFunction( complete ) ) {
1174
- complete.call( elem[0] );
753
+ if ( typeof complete === "function" ) {
754
+ complete.call( elem[ 0 ] );
1175
755
  }
1176
- if ( $.isFunction( next ) ) {
756
+
757
+ if ( typeof next === "function" ) {
1177
758
  next();
1178
759
  }
1179
760
  }
1180
761
 
1181
- // If the element already has the correct final state, delegate to
1182
- // the core methods so the internal tracking of "olddisplay" works.
1183
- if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
1184
- elem[ mode ]();
1185
- done();
762
+ // Override mode option on a per element basis,
763
+ // as toggle can be either show or hide depending on element state
764
+ args.mode = modes.shift();
765
+
766
+ if ( $.uiBackCompat !== false && !defaultMode ) {
767
+ if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
768
+
769
+ // Call the core method to track "olddisplay" properly
770
+ elem[ mode ]();
771
+ done();
772
+ } else {
773
+ effectMethod.call( elem[ 0 ], args, done );
774
+ }
1186
775
  } else {
1187
- effectMethod.call( elem[0], args, done );
776
+ if ( args.mode === "none" ) {
777
+
778
+ // Call the core method to track "olddisplay" properly
779
+ elem[ mode ]();
780
+ done();
781
+ } else {
782
+ effectMethod.call( elem[ 0 ], args, cleanup );
783
+ }
1188
784
  }
1189
785
  }
1190
786
 
1191
- return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
787
+ // Run prefilter on all elements first to ensure that
788
+ // any showing or hiding happens before placeholder creation,
789
+ // which ensures that any layout changes are correctly captured.
790
+ return queue === false ?
791
+ this.each( prefilter ).each( run ) :
792
+ this.queue( queueName, prefilter ).queue( queueName, run );
1192
793
  },
1193
794
 
1194
- show: (function( orig ) {
795
+ show: ( function( orig ) {
1195
796
  return function( option ) {
1196
797
  if ( standardAnimationOption( option ) ) {
1197
798
  return orig.apply( this, arguments );
@@ -1201,9 +802,9 @@ $.fn.extend({
1201
802
  return this.effect.call( this, args );
1202
803
  }
1203
804
  };
1204
- })( $.fn.show ),
805
+ } )( $.fn.show ),
1205
806
 
1206
- hide: (function( orig ) {
807
+ hide: ( function( orig ) {
1207
808
  return function( option ) {
1208
809
  if ( standardAnimationOption( option ) ) {
1209
810
  return orig.apply( this, arguments );
@@ -1213,9 +814,9 @@ $.fn.extend({
1213
814
  return this.effect.call( this, args );
1214
815
  }
1215
816
  };
1216
- })( $.fn.hide ),
817
+ } )( $.fn.hide ),
1217
818
 
1218
- toggle: (function( orig ) {
819
+ toggle: ( function( orig ) {
1219
820
  return function( option ) {
1220
821
  if ( standardAnimationOption( option ) || typeof option === "boolean" ) {
1221
822
  return orig.apply( this, arguments );
@@ -1225,10 +826,9 @@ $.fn.extend({
1225
826
  return this.effect.call( this, args );
1226
827
  }
1227
828
  };
1228
- })( $.fn.toggle ),
829
+ } )( $.fn.toggle ),
1229
830
 
1230
- // helper functions
1231
- cssUnit: function(key) {
831
+ cssUnit: function( key ) {
1232
832
  var style = this.css( key ),
1233
833
  val = [];
1234
834
 
@@ -1236,20 +836,94 @@ $.fn.extend({
1236
836
  if ( style.indexOf( unit ) > 0 ) {
1237
837
  val = [ parseFloat( style ), unit ];
1238
838
  }
1239
- });
839
+ } );
1240
840
  return val;
841
+ },
842
+
843
+ cssClip: function( clipObj ) {
844
+ if ( clipObj ) {
845
+ return this.css( "clip", "rect(" + clipObj.top + "px " + clipObj.right + "px " +
846
+ clipObj.bottom + "px " + clipObj.left + "px)" );
847
+ }
848
+ return parseClip( this.css( "clip" ), this );
849
+ },
850
+
851
+ transfer: function( options, done ) {
852
+ var element = $( this ),
853
+ target = $( options.to ),
854
+ targetFixed = target.css( "position" ) === "fixed",
855
+ body = $( "body" ),
856
+ fixTop = targetFixed ? body.scrollTop() : 0,
857
+ fixLeft = targetFixed ? body.scrollLeft() : 0,
858
+ endPosition = target.offset(),
859
+ animation = {
860
+ top: endPosition.top - fixTop,
861
+ left: endPosition.left - fixLeft,
862
+ height: target.innerHeight(),
863
+ width: target.innerWidth()
864
+ },
865
+ startPosition = element.offset(),
866
+ transfer = $( "<div class='ui-effects-transfer'></div>" );
867
+
868
+ transfer
869
+ .appendTo( "body" )
870
+ .addClass( options.className )
871
+ .css( {
872
+ top: startPosition.top - fixTop,
873
+ left: startPosition.left - fixLeft,
874
+ height: element.innerHeight(),
875
+ width: element.innerWidth(),
876
+ position: targetFixed ? "fixed" : "absolute"
877
+ } )
878
+ .animate( animation, options.duration, options.easing, function() {
879
+ transfer.remove();
880
+ if ( typeof done === "function" ) {
881
+ done();
882
+ }
883
+ } );
1241
884
  }
1242
- });
885
+ } );
886
+
887
+ function parseClip( str, element ) {
888
+ var outerWidth = element.outerWidth(),
889
+ outerHeight = element.outerHeight(),
890
+ clipRegex = /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,
891
+ values = clipRegex.exec( str ) || [ "", 0, outerWidth, outerHeight, 0 ];
892
+
893
+ return {
894
+ top: parseFloat( values[ 1 ] ) || 0,
895
+ right: values[ 2 ] === "auto" ? outerWidth : parseFloat( values[ 2 ] ),
896
+ bottom: values[ 3 ] === "auto" ? outerHeight : parseFloat( values[ 3 ] ),
897
+ left: parseFloat( values[ 4 ] ) || 0
898
+ };
899
+ }
900
+
901
+ $.fx.step.clip = function( fx ) {
902
+ if ( !fx.clipInit ) {
903
+ fx.start = $( fx.elem ).cssClip();
904
+ if ( typeof fx.end === "string" ) {
905
+ fx.end = parseClip( fx.end, fx.elem );
906
+ }
907
+ fx.clipInit = true;
908
+ }
909
+
910
+ $( fx.elem ).cssClip( {
911
+ top: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top,
912
+ right: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right,
913
+ bottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom,
914
+ left: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left
915
+ } );
916
+ };
1243
917
 
1244
- })();
918
+ } )();
1245
919
 
1246
920
  /******************************************************************************/
1247
921
  /*********************************** EASING ***********************************/
1248
922
  /******************************************************************************/
1249
923
 
1250
- (function() {
924
+ ( function() {
1251
925
 
1252
- // based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
926
+ // Based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
1253
927
 
1254
928
  var baseEasings = {};
1255
929
 
@@ -1257,7 +931,7 @@ $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
1257
931
  baseEasings[ name ] = function( p ) {
1258
932
  return Math.pow( p, i + 2 );
1259
933
  };
1260
- });
934
+ } );
1261
935
 
1262
936
  $.extend( baseEasings, {
1263
937
  Sine: function( p ) {
@@ -1268,7 +942,7 @@ $.extend( baseEasings, {
1268
942
  },
1269
943
  Elastic: function( p ) {
1270
944
  return p === 0 || p === 1 ? p :
1271
- -Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
945
+ -Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 );
1272
946
  },
1273
947
  Back: function( p ) {
1274
948
  return p * p * ( 3 * p - 2 );
@@ -1280,7 +954,7 @@ $.extend( baseEasings, {
1280
954
  while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
1281
955
  return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
1282
956
  }
1283
- });
957
+ } );
1284
958
 
1285
959
  $.each( baseEasings, function( name, easeIn ) {
1286
960
  $.easing[ "easeIn" + name ] = easeIn;
@@ -1292,10 +966,10 @@ $.each( baseEasings, function( name, easeIn ) {
1292
966
  easeIn( p * 2 ) / 2 :
1293
967
  1 - easeIn( p * -2 + 2 ) / 2;
1294
968
  };
1295
- });
969
+ } );
1296
970
 
1297
- })();
971
+ } )();
1298
972
 
1299
973
  return $.effects;
1300
974
 
1301
- }));
975
+ } );