jquery-ui-rails 5.0.5 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of jquery-ui-rails might be problematic. Click here for more details.

Files changed (275) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +1 -1
  3. data/History.md +12 -0
  4. data/README.md +47 -30
  5. data/Rakefile +48 -27
  6. data/VERSIONS.md +1 -0
  7. data/app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  8. data/app/assets/images/jquery-ui/ui-icons_444444_256x240.png +0 -0
  9. data/app/assets/images/jquery-ui/ui-icons_555555_256x240.png +0 -0
  10. data/app/assets/images/jquery-ui/ui-icons_777620_256x240.png +0 -0
  11. data/app/assets/images/jquery-ui/ui-icons_777777_256x240.png +0 -0
  12. data/app/assets/images/jquery-ui/ui-icons_cc0000_256x240.png +0 -0
  13. data/app/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  14. data/app/assets/javascripts/jquery-ui.js +52 -33
  15. data/app/assets/javascripts/jquery-ui/core.js +37 -304
  16. data/app/assets/javascripts/jquery-ui/data.js +41 -0
  17. data/app/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  18. data/app/assets/javascripts/jquery-ui/effect.all.js +15 -16
  19. data/app/assets/javascripts/jquery-ui/effect.js +620 -284
  20. data/app/assets/javascripts/jquery-ui/effects/effect-blind.js +73 -0
  21. data/app/assets/javascripts/jquery-ui/effects/effect-bounce.js +113 -0
  22. data/app/assets/javascripts/jquery-ui/effects/effect-clip.js +68 -0
  23. data/app/assets/javascripts/jquery-ui/effects/effect-drop.js +72 -0
  24. data/app/assets/javascripts/jquery-ui/effects/effect-explode.js +114 -0
  25. data/app/assets/javascripts/jquery-ui/effects/effect-fade.js +50 -0
  26. data/app/assets/javascripts/jquery-ui/effects/effect-fold.js +92 -0
  27. data/app/assets/javascripts/jquery-ui/effects/effect-highlight.js +60 -0
  28. data/app/assets/javascripts/jquery-ui/effects/effect-puff.js +46 -0
  29. data/app/assets/javascripts/jquery-ui/effects/effect-pulsate.js +67 -0
  30. data/app/assets/javascripts/jquery-ui/effects/effect-scale.js +60 -0
  31. data/app/assets/javascripts/jquery-ui/effects/effect-shake.js +77 -0
  32. data/app/assets/javascripts/jquery-ui/effects/effect-size.js +194 -0
  33. data/app/assets/javascripts/jquery-ui/effects/effect-slide.js +79 -0
  34. data/app/assets/javascripts/jquery-ui/effects/effect-transfer.js +43 -0
  35. data/app/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  36. data/app/assets/javascripts/jquery-ui/focusable.js +86 -0
  37. data/app/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  38. data/app/assets/javascripts/jquery-ui/form.js +22 -0
  39. data/app/assets/javascripts/jquery-ui/i18n/datepicker-af.js +37 -0
  40. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar-DZ.js +39 -0
  41. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar.js +39 -0
  42. data/app/assets/javascripts/jquery-ui/i18n/datepicker-az.js +37 -0
  43. data/app/assets/javascripts/jquery-ui/i18n/datepicker-be.js +37 -0
  44. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bg.js +38 -0
  45. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bs.js +37 -0
  46. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ca.js +37 -0
  47. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cs.js +37 -0
  48. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cy-GB.js +45 -0
  49. data/app/assets/javascripts/jquery-ui/i18n/datepicker-da.js +37 -0
  50. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de.js +37 -0
  51. data/app/assets/javascripts/jquery-ui/i18n/datepicker-el.js +37 -0
  52. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-AU.js +37 -0
  53. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-GB.js +37 -0
  54. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-NZ.js +37 -0
  55. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eo.js +37 -0
  56. data/app/assets/javascripts/jquery-ui/i18n/datepicker-es.js +37 -0
  57. data/app/assets/javascripts/jquery-ui/i18n/datepicker-et.js +45 -0
  58. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eu.js +36 -0
  59. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fa.js +73 -0
  60. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fi.js +37 -0
  61. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fo.js +45 -0
  62. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CA.js +37 -0
  63. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CH.js +37 -0
  64. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr.js +39 -0
  65. data/app/assets/javascripts/jquery-ui/i18n/datepicker-gl.js +37 -0
  66. data/app/assets/javascripts/jquery-ui/i18n/datepicker-he.js +37 -0
  67. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hi.js +37 -0
  68. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hr.js +37 -0
  69. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hu.js +36 -0
  70. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hy.js +37 -0
  71. data/app/assets/javascripts/jquery-ui/i18n/datepicker-id.js +37 -0
  72. data/app/assets/javascripts/jquery-ui/i18n/datepicker-is.js +45 -0
  73. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it-CH.js +37 -0
  74. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it.js +37 -0
  75. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ja.js +37 -0
  76. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ka.js +48 -0
  77. data/app/assets/javascripts/jquery-ui/i18n/datepicker-kk.js +37 -0
  78. data/app/assets/javascripts/jquery-ui/i18n/datepicker-km.js +37 -0
  79. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ko.js +37 -0
  80. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ky.js +38 -0
  81. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lb.js +45 -0
  82. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lt.js +45 -0
  83. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lv.js +45 -0
  84. data/app/assets/javascripts/jquery-ui/i18n/datepicker-mk.js +37 -0
  85. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ml.js +37 -0
  86. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ms.js +37 -0
  87. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nb.js +49 -0
  88. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl-BE.js +37 -0
  89. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl.js +37 -0
  90. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nn.js +49 -0
  91. data/app/assets/javascripts/jquery-ui/i18n/datepicker-no.js +50 -0
  92. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pl.js +37 -0
  93. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt-BR.js +45 -0
  94. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt.js +44 -0
  95. data/app/assets/javascripts/jquery-ui/i18n/datepicker-rm.js +61 -0
  96. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ro.js +40 -0
  97. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ru.js +37 -0
  98. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sk.js +37 -0
  99. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sl.js +38 -0
  100. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sq.js +37 -0
  101. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr-SR.js +37 -0
  102. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr.js +37 -0
  103. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sv.js +37 -0
  104. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ta.js +53 -0
  105. data/app/assets/javascripts/jquery-ui/i18n/datepicker-th.js +37 -0
  106. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tj.js +37 -0
  107. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tr.js +37 -0
  108. data/app/assets/javascripts/jquery-ui/i18n/datepicker-uk.js +38 -0
  109. data/app/assets/javascripts/jquery-ui/i18n/datepicker-vi.js +37 -0
  110. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-CN.js +37 -0
  111. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-HK.js +37 -0
  112. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-TW.js +37 -0
  113. data/app/assets/javascripts/jquery-ui/ie.js +17 -0
  114. data/app/assets/javascripts/jquery-ui/jquery-1-7.js +91 -0
  115. data/app/assets/javascripts/jquery-ui/keycode.js +47 -0
  116. data/app/assets/javascripts/jquery-ui/labels.js +65 -0
  117. data/app/assets/javascripts/jquery-ui/plugin.js +46 -0
  118. data/app/assets/javascripts/jquery-ui/position.js +92 -109
  119. data/app/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  120. data/app/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  121. data/app/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  122. data/app/assets/javascripts/jquery-ui/tabbable.js +38 -0
  123. data/app/assets/javascripts/jquery-ui/unique-id.js +51 -0
  124. data/app/assets/javascripts/jquery-ui/version.js +17 -0
  125. data/app/assets/javascripts/jquery-ui/widget.js +328 -151
  126. data/app/assets/javascripts/jquery-ui/{accordion.js → widgets/accordion.js} +187 -162
  127. data/app/assets/javascripts/jquery-ui/{autocomplete.js → widgets/autocomplete.js} +148 -92
  128. data/app/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  129. data/app/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  130. data/app/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  131. data/app/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  132. data/app/assets/javascripts/jquery-ui/{dialog.js → widgets/dialog.js} +229 -158
  133. data/app/assets/javascripts/jquery-ui/{draggable.js → widgets/draggable.js} +416 -293
  134. data/app/assets/javascripts/jquery-ui/{droppable.js → widgets/droppable.js} +167 -83
  135. data/app/assets/javascripts/jquery-ui/{menu.js → widgets/menu.js} +164 -134
  136. data/app/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  137. data/app/assets/javascripts/jquery-ui/{progressbar.js → widgets/progressbar.js} +60 -41
  138. data/app/assets/javascripts/jquery-ui/{resizable.js → widgets/resizable.js} +413 -362
  139. data/app/assets/javascripts/jquery-ui/widgets/selectable.js +314 -0
  140. data/app/assets/javascripts/jquery-ui/{selectmenu.js → widgets/selectmenu.js} +253 -176
  141. data/app/assets/javascripts/jquery-ui/{slider.js → widgets/slider.js} +193 -157
  142. data/app/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  143. data/app/assets/javascripts/jquery-ui/{spinner.js → widgets/spinner.js} +175 -112
  144. data/app/assets/javascripts/jquery-ui/{tabs.js → widgets/tabs.js} +237 -195
  145. data/app/assets/javascripts/jquery-ui/{tooltip.js → widgets/tooltip.js} +136 -87
  146. data/app/assets/stylesheets/jquery-ui/accordion.css +1 -15
  147. data/app/assets/stylesheets/jquery-ui/all.css +1 -1
  148. data/app/assets/stylesheets/jquery-ui/autocomplete.css +1 -3
  149. data/app/assets/stylesheets/jquery-ui/base.css +3 -1
  150. data/app/assets/stylesheets/jquery-ui/button.css +35 -68
  151. data/app/assets/stylesheets/jquery-ui/checkboxradio.css +37 -0
  152. data/app/assets/stylesheets/jquery-ui/controlgroup.css +68 -0
  153. data/app/assets/stylesheets/jquery-ui/core.css +11 -7
  154. data/app/assets/stylesheets/jquery-ui/datepicker.css +11 -2
  155. data/app/assets/stylesheets/jquery-ui/dialog.css +38 -11
  156. data/app/assets/stylesheets/jquery-ui/draggable.css +1 -2
  157. data/app/assets/stylesheets/jquery-ui/menu.css +7 -7
  158. data/app/assets/stylesheets/jquery-ui/progressbar.css +1 -2
  159. data/app/assets/stylesheets/jquery-ui/resizable.css +1 -2
  160. data/app/assets/stylesheets/jquery-ui/selectable.css +1 -2
  161. data/app/assets/stylesheets/jquery-ui/selectmenu.css +11 -22
  162. data/app/assets/stylesheets/jquery-ui/slider.css +1 -2
  163. data/app/assets/stylesheets/jquery-ui/sortable.css +1 -2
  164. data/app/assets/stylesheets/jquery-ui/spinner.css +7 -22
  165. data/app/assets/stylesheets/jquery-ui/tabs.css +1 -2
  166. data/app/assets/stylesheets/jquery-ui/theme.css.erb +113 -87
  167. data/app/assets/stylesheets/jquery-ui/tooltip.css +1 -4
  168. data/lib/jquery/ui/rails/version.rb +2 -2
  169. metadata +150 -144
  170. data/app/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  171. data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  172. data/app/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  173. data/app/assets/images/jquery-ui/ui-bg_glass_75_dadada_1x400.png +0 -0
  174. data/app/assets/images/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  175. data/app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  176. data/app/assets/images/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  177. data/app/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
  178. data/app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
  179. data/app/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
  180. data/app/assets/images/jquery-ui/ui-icons_888888_256x240.png +0 -0
  181. data/app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
  182. data/app/assets/javascripts/jquery-ui/button.js +0 -414
  183. data/app/assets/javascripts/jquery-ui/datepicker-af.js +0 -37
  184. data/app/assets/javascripts/jquery-ui/datepicker-ar-DZ.js +0 -37
  185. data/app/assets/javascripts/jquery-ui/datepicker-ar.js +0 -38
  186. data/app/assets/javascripts/jquery-ui/datepicker-az.js +0 -37
  187. data/app/assets/javascripts/jquery-ui/datepicker-be.js +0 -37
  188. data/app/assets/javascripts/jquery-ui/datepicker-bg.js +0 -38
  189. data/app/assets/javascripts/jquery-ui/datepicker-bs.js +0 -37
  190. data/app/assets/javascripts/jquery-ui/datepicker-ca.js +0 -37
  191. data/app/assets/javascripts/jquery-ui/datepicker-cs.js +0 -37
  192. data/app/assets/javascripts/jquery-ui/datepicker-cy-GB.js +0 -37
  193. data/app/assets/javascripts/jquery-ui/datepicker-da.js +0 -37
  194. data/app/assets/javascripts/jquery-ui/datepicker-de.js +0 -37
  195. data/app/assets/javascripts/jquery-ui/datepicker-el.js +0 -37
  196. data/app/assets/javascripts/jquery-ui/datepicker-en-AU.js +0 -37
  197. data/app/assets/javascripts/jquery-ui/datepicker-en-GB.js +0 -37
  198. data/app/assets/javascripts/jquery-ui/datepicker-en-NZ.js +0 -37
  199. data/app/assets/javascripts/jquery-ui/datepicker-eo.js +0 -37
  200. data/app/assets/javascripts/jquery-ui/datepicker-es.js +0 -37
  201. data/app/assets/javascripts/jquery-ui/datepicker-et.js +0 -37
  202. data/app/assets/javascripts/jquery-ui/datepicker-eu.js +0 -36
  203. data/app/assets/javascripts/jquery-ui/datepicker-fa.js +0 -73
  204. data/app/assets/javascripts/jquery-ui/datepicker-fi.js +0 -37
  205. data/app/assets/javascripts/jquery-ui/datepicker-fo.js +0 -37
  206. data/app/assets/javascripts/jquery-ui/datepicker-fr-CA.js +0 -37
  207. data/app/assets/javascripts/jquery-ui/datepicker-fr-CH.js +0 -37
  208. data/app/assets/javascripts/jquery-ui/datepicker-fr.js +0 -39
  209. data/app/assets/javascripts/jquery-ui/datepicker-gl.js +0 -37
  210. data/app/assets/javascripts/jquery-ui/datepicker-he.js +0 -37
  211. data/app/assets/javascripts/jquery-ui/datepicker-hi.js +0 -37
  212. data/app/assets/javascripts/jquery-ui/datepicker-hr.js +0 -37
  213. data/app/assets/javascripts/jquery-ui/datepicker-hu.js +0 -36
  214. data/app/assets/javascripts/jquery-ui/datepicker-hy.js +0 -37
  215. data/app/assets/javascripts/jquery-ui/datepicker-id.js +0 -37
  216. data/app/assets/javascripts/jquery-ui/datepicker-is.js +0 -37
  217. data/app/assets/javascripts/jquery-ui/datepicker-it-CH.js +0 -37
  218. data/app/assets/javascripts/jquery-ui/datepicker-it.js +0 -37
  219. data/app/assets/javascripts/jquery-ui/datepicker-ja.js +0 -37
  220. data/app/assets/javascripts/jquery-ui/datepicker-ka.js +0 -35
  221. data/app/assets/javascripts/jquery-ui/datepicker-kk.js +0 -37
  222. data/app/assets/javascripts/jquery-ui/datepicker-km.js +0 -37
  223. data/app/assets/javascripts/jquery-ui/datepicker-ko.js +0 -37
  224. data/app/assets/javascripts/jquery-ui/datepicker-ky.js +0 -38
  225. data/app/assets/javascripts/jquery-ui/datepicker-lb.js +0 -37
  226. data/app/assets/javascripts/jquery-ui/datepicker-lt.js +0 -37
  227. data/app/assets/javascripts/jquery-ui/datepicker-lv.js +0 -37
  228. data/app/assets/javascripts/jquery-ui/datepicker-mk.js +0 -37
  229. data/app/assets/javascripts/jquery-ui/datepicker-ml.js +0 -37
  230. data/app/assets/javascripts/jquery-ui/datepicker-ms.js +0 -37
  231. data/app/assets/javascripts/jquery-ui/datepicker-nb.js +0 -36
  232. data/app/assets/javascripts/jquery-ui/datepicker-nl-BE.js +0 -37
  233. data/app/assets/javascripts/jquery-ui/datepicker-nl.js +0 -37
  234. data/app/assets/javascripts/jquery-ui/datepicker-nn.js +0 -36
  235. data/app/assets/javascripts/jquery-ui/datepicker-no.js +0 -37
  236. data/app/assets/javascripts/jquery-ui/datepicker-pl.js +0 -37
  237. data/app/assets/javascripts/jquery-ui/datepicker-pt-BR.js +0 -37
  238. data/app/assets/javascripts/jquery-ui/datepicker-pt.js +0 -36
  239. data/app/assets/javascripts/jquery-ui/datepicker-rm.js +0 -35
  240. data/app/assets/javascripts/jquery-ui/datepicker-ro.js +0 -40
  241. data/app/assets/javascripts/jquery-ui/datepicker-ru.js +0 -37
  242. data/app/assets/javascripts/jquery-ui/datepicker-sk.js +0 -37
  243. data/app/assets/javascripts/jquery-ui/datepicker-sl.js +0 -38
  244. data/app/assets/javascripts/jquery-ui/datepicker-sq.js +0 -37
  245. data/app/assets/javascripts/jquery-ui/datepicker-sr-SR.js +0 -37
  246. data/app/assets/javascripts/jquery-ui/datepicker-sr.js +0 -37
  247. data/app/assets/javascripts/jquery-ui/datepicker-sv.js +0 -37
  248. data/app/assets/javascripts/jquery-ui/datepicker-ta.js +0 -37
  249. data/app/assets/javascripts/jquery-ui/datepicker-th.js +0 -37
  250. data/app/assets/javascripts/jquery-ui/datepicker-tj.js +0 -37
  251. data/app/assets/javascripts/jquery-ui/datepicker-tr.js +0 -37
  252. data/app/assets/javascripts/jquery-ui/datepicker-uk.js +0 -38
  253. data/app/assets/javascripts/jquery-ui/datepicker-vi.js +0 -37
  254. data/app/assets/javascripts/jquery-ui/datepicker-zh-CN.js +0 -37
  255. data/app/assets/javascripts/jquery-ui/datepicker-zh-HK.js +0 -37
  256. data/app/assets/javascripts/jquery-ui/datepicker-zh-TW.js +0 -37
  257. data/app/assets/javascripts/jquery-ui/datepicker.js +0 -2086
  258. data/app/assets/javascripts/jquery-ui/effect-blind.js +0 -92
  259. data/app/assets/javascripts/jquery-ui/effect-bounce.js +0 -125
  260. data/app/assets/javascripts/jquery-ui/effect-clip.js +0 -79
  261. data/app/assets/javascripts/jquery-ui/effect-drop.js +0 -77
  262. data/app/assets/javascripts/jquery-ui/effect-explode.js +0 -109
  263. data/app/assets/javascripts/jquery-ui/effect-fade.js +0 -42
  264. data/app/assets/javascripts/jquery-ui/effect-fold.js +0 -88
  265. data/app/assets/javascripts/jquery-ui/effect-highlight.js +0 -62
  266. data/app/assets/javascripts/jquery-ui/effect-puff.js +0 -63
  267. data/app/assets/javascripts/jquery-ui/effect-pulsate.js +0 -75
  268. data/app/assets/javascripts/jquery-ui/effect-scale.js +0 -92
  269. data/app/assets/javascripts/jquery-ui/effect-shake.js +0 -86
  270. data/app/assets/javascripts/jquery-ui/effect-size.js +0 -235
  271. data/app/assets/javascripts/jquery-ui/effect-slide.js +0 -76
  272. data/app/assets/javascripts/jquery-ui/effect-transfer.js +0 -59
  273. data/app/assets/javascripts/jquery-ui/mouse.js +0 -202
  274. data/app/assets/javascripts/jquery-ui/selectable.js +0 -291
  275. data/app/assets/javascripts/jquery-ui/sortable.js +0 -1319
@@ -0,0 +1,41 @@
1
+ //= require jquery-ui/version
2
+
3
+ /*!
4
+ * jQuery UI :data 1.12.1
5
+ * http://jqueryui.com
6
+ *
7
+ * Copyright jQuery Foundation and other contributors
8
+ * Released under the MIT license.
9
+ * http://jquery.org/license
10
+ */
11
+
12
+ //>>label: :data Selector
13
+ //>>group: Core
14
+ //>>description: Selects elements which have data stored under the specified key.
15
+ //>>docs: http://api.jqueryui.com/data-selector/
16
+
17
+ ( function( factory ) {
18
+ if ( typeof define === "function" && define.amd ) {
19
+
20
+ // AMD. Register as an anonymous module.
21
+ define( [ "jquery", "./version" ], factory );
22
+ } else {
23
+
24
+ // Browser globals
25
+ factory( jQuery );
26
+ }
27
+ } ( function( $ ) {
28
+ return $.extend( $.expr[ ":" ], {
29
+ data: $.expr.createPseudo ?
30
+ $.expr.createPseudo( function( dataName ) {
31
+ return function( elem ) {
32
+ return !!$.data( elem, dataName );
33
+ };
34
+ } ) :
35
+
36
+ // Support: jQuery <1.8
37
+ function( elem, i, match ) {
38
+ return !!$.data( elem, match[ 3 ] );
39
+ }
40
+ } );
41
+ } ) );
@@ -0,0 +1,48 @@
1
+ //= require jquery-ui/version
2
+
3
+ /*!
4
+ * jQuery UI Disable Selection 1.12.1
5
+ * http://jqueryui.com
6
+ *
7
+ * Copyright jQuery Foundation and other contributors
8
+ * Released under the MIT license.
9
+ * http://jquery.org/license
10
+ */
11
+
12
+ //>>label: disableSelection
13
+ //>>group: Core
14
+ //>>description: Disable selection of text content within the set of matched elements.
15
+ //>>docs: http://api.jqueryui.com/disableSelection/
16
+
17
+ // This file is deprecated
18
+ ( function( factory ) {
19
+ if ( typeof define === "function" && define.amd ) {
20
+
21
+ // AMD. Register as an anonymous module.
22
+ define( [ "jquery", "./version" ], factory );
23
+ } else {
24
+
25
+ // Browser globals
26
+ factory( jQuery );
27
+ }
28
+ } ( function( $ ) {
29
+
30
+ return $.fn.extend( {
31
+ disableSelection: ( function() {
32
+ var eventType = "onselectstart" in document.createElement( "div" ) ?
33
+ "selectstart" :
34
+ "mousedown";
35
+
36
+ return function() {
37
+ return this.on( eventType + ".ui-disableSelection", function( event ) {
38
+ event.preventDefault();
39
+ } );
40
+ };
41
+ } )(),
42
+
43
+ enableSelection: function() {
44
+ return this.off( ".ui-disableSelection" );
45
+ }
46
+ } );
47
+
48
+ } ) );
@@ -1,16 +1,15 @@
1
- //= require jquery-ui/effect-blind
2
- //= require jquery-ui/effect-bounce
3
- //= require jquery-ui/effect-clip
4
- //= require jquery-ui/effect-drop
5
- //= require jquery-ui/effect-explode
6
- //= require jquery-ui/effect-fade
7
- //= require jquery-ui/effect-fold
8
- //= require jquery-ui/effect-highlight
9
- //= require jquery-ui/effect-puff
10
- //= require jquery-ui/effect-pulsate
11
- //= require jquery-ui/effect-scale
12
- //= require jquery-ui/effect-shake
13
- //= require jquery-ui/effect-size
14
- //= require jquery-ui/effect-slide
15
- //= require jquery-ui/effect-transfer
16
- //= require jquery-ui/effect
1
+ //= require jquery-ui/effects/effect-blind
2
+ //= require jquery-ui/effects/effect-bounce
3
+ //= require jquery-ui/effects/effect-clip
4
+ //= require jquery-ui/effects/effect-drop
5
+ //= require jquery-ui/effects/effect-explode
6
+ //= require jquery-ui/effects/effect-fade
7
+ //= require jquery-ui/effects/effect-fold
8
+ //= require jquery-ui/effects/effect-highlight
9
+ //= require jquery-ui/effects/effect-puff
10
+ //= require jquery-ui/effects/effect-pulsate
11
+ //= require jquery-ui/effects/effect-scale
12
+ //= require jquery-ui/effects/effect-shake
13
+ //= require jquery-ui/effects/effect-size
14
+ //= require jquery-ui/effects/effect-slide
15
+ //= require jquery-ui/effects/effect-transfer
@@ -1,26 +1,37 @@
1
+ //= require jquery-ui/version
2
+
1
3
  /*!
2
- * jQuery UI Effects 1.11.4
4
+ * jQuery UI Effects 1.12.1
3
5
  * http://jqueryui.com
4
6
  *
5
7
  * Copyright jQuery Foundation and other contributors
6
8
  * Released under the MIT license.
7
9
  * http://jquery.org/license
8
- *
9
- * http://api.jqueryui.com/category/effects-core/
10
10
  */
11
- (function( factory ) {
11
+
12
+ //>>label: Effects Core
13
+ //>>group: Effects
14
+ // jscs:disable maximumLineLength
15
+ //>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects.
16
+ // jscs:enable maximumLineLength
17
+ //>>docs: http://api.jqueryui.com/category/effects-core/
18
+ //>>demos: http://jqueryui.com/effect/
19
+
20
+ ( function( factory ) {
12
21
  if ( typeof define === "function" && define.amd ) {
13
22
 
14
23
  // AMD. Register as an anonymous module.
15
- define( [ "jquery" ], factory );
24
+ define( [ "jquery", "./version" ], factory );
16
25
  } else {
17
26
 
18
27
  // Browser globals
19
28
  factory( jQuery );
20
29
  }
21
- }(function( $ ) {
30
+ }( function( $ ) {
22
31
 
23
32
  var dataSpace = "ui-effects-",
33
+ dataSpaceStyle = "ui-effects-style",
34
+ dataSpaceAnimated = "ui-effects-animated",
24
35
 
25
36
  // Create a local jQuery because jQuery Color relies on it and the
26
37
  // global may not exist with AMD and a custom build (#10199)
@@ -40,13 +51,15 @@ $.effects = {
40
51
  *
41
52
  * Date: Wed Jan 16 08:47:09 2013 -0600
42
53
  */
43
- (function( jQuery, undefined ) {
54
+ ( function( jQuery, undefined ) {
44
55
 
45
- var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
56
+ var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor " +
57
+ "borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
46
58
 
47
- // plusequals test for += 100 -= 100
59
+ // Plusequals test for += 100 -= 100
48
60
  rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
49
- // a set of RE's that can match strings and generate color tuples.
61
+
62
+ // A set of RE's that can match strings and generate color tuples.
50
63
  stringParsers = [ {
51
64
  re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
52
65
  parse: function( execResult ) {
@@ -68,7 +81,8 @@ $.effects = {
68
81
  ];
69
82
  }
70
83
  }, {
71
- // this regex ignores A-F because it's compared against an already lowercased string
84
+
85
+ // This regex ignores A-F because it's compared against an already lowercased string
72
86
  re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
73
87
  parse: function( execResult ) {
74
88
  return [
@@ -78,7 +92,8 @@ $.effects = {
78
92
  ];
79
93
  }
80
94
  }, {
81
- // this regex ignores A-F because it's compared against an already lowercased string
95
+
96
+ // This regex ignores A-F because it's compared against an already lowercased string
82
97
  re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
83
98
  parse: function( execResult ) {
84
99
  return [
@@ -100,7 +115,7 @@ $.effects = {
100
115
  }
101
116
  } ],
102
117
 
103
- // jQuery.Color( )
118
+ // JQuery.Color( )
104
119
  color = jQuery.Color = function( color, green, blue, alpha ) {
105
120
  return new jQuery.Color.fn.parse( color, green, blue, alpha );
106
121
  },
@@ -154,20 +169,20 @@ $.effects = {
154
169
  },
155
170
  support = color.support = {},
156
171
 
157
- // element for support tests
172
+ // Element for support tests
158
173
  supportElem = jQuery( "<p>" )[ 0 ],
159
174
 
160
- // colors = jQuery.Color.names
175
+ // Colors = jQuery.Color.names
161
176
  colors,
162
177
 
163
- // local aliases of functions called often
178
+ // Local aliases of functions called often
164
179
  each = jQuery.each;
165
180
 
166
- // determine rgba support immediately
181
+ // Determine rgba support immediately
167
182
  supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
168
183
  support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
169
184
 
170
- // define cache name and alpha properties
185
+ // Define cache name and alpha properties
171
186
  // for rgba and hsla spaces
172
187
  each( spaces, function( spaceName, space ) {
173
188
  space.cache = "_" + spaceName;
@@ -176,13 +191,13 @@ each( spaces, function( spaceName, space ) {
176
191
  type: "percent",
177
192
  def: 1
178
193
  };
179
- });
194
+ } );
180
195
 
181
196
  function clamp( value, prop, allowEmpty ) {
182
197
  var type = propTypes[ prop.type ] || {};
183
198
 
184
199
  if ( value == null ) {
185
- return (allowEmpty || !prop.def) ? null : prop.def;
200
+ return ( allowEmpty || !prop.def ) ? null : prop.def;
186
201
  }
187
202
 
188
203
  // ~~ is an short way of doing floor for positive numbers
@@ -195,12 +210,13 @@ function clamp( value, prop, allowEmpty ) {
195
210
  }
196
211
 
197
212
  if ( type.mod ) {
198
- // we add mod before modding to make sure that negatives values
213
+
214
+ // We add mod before modding to make sure that negatives values
199
215
  // get converted properly: -10 -> 350
200
- return (value + type.mod) % type.mod;
216
+ return ( value + type.mod ) % type.mod;
201
217
  }
202
218
 
203
- // for now all property types without mod have min and max
219
+ // For now all property types without mod have min and max
204
220
  return 0 > value ? 0 : type.max < value ? type.max : value;
205
221
  }
206
222
 
@@ -219,20 +235,20 @@ function stringParse( string ) {
219
235
  if ( values ) {
220
236
  parsed = inst[ spaceName ]( values );
221
237
 
222
- // if this was an rgba parse the assignment might happen twice
238
+ // If this was an rgba parse the assignment might happen twice
223
239
  // oh well....
224
240
  inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
225
241
  rgba = inst._rgba = parsed._rgba;
226
242
 
227
- // exit each( stringParsers ) here because we matched
243
+ // Exit each( stringParsers ) here because we matched
228
244
  return false;
229
245
  }
230
- });
246
+ } );
231
247
 
232
248
  // Found a stringParser that handled it
233
249
  if ( rgba.length ) {
234
250
 
235
- // if this came from a parsed string, force "transparent" when alpha is 0
251
+ // If this came from a parsed string, force "transparent" when alpha is 0
236
252
  // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
237
253
  if ( rgba.join() === "0,0,0,0" ) {
238
254
  jQuery.extend( rgba, colors.transparent );
@@ -240,7 +256,7 @@ function stringParse( string ) {
240
256
  return inst;
241
257
  }
242
258
 
243
- // named colors
259
+ // Named colors
244
260
  return colors[ string ];
245
261
  }
246
262
 
@@ -259,7 +275,7 @@ color.fn = jQuery.extend( color.prototype, {
259
275
  type = jQuery.type( red ),
260
276
  rgba = this._rgba = [];
261
277
 
262
- // more than 1 argument specified - assume ( red, green, blue, alpha )
278
+ // More than 1 argument specified - assume ( red, green, blue, alpha )
263
279
  if ( green !== undefined ) {
264
280
  red = [ red, green, blue, alpha ];
265
281
  type = "array";
@@ -272,7 +288,7 @@ color.fn = jQuery.extend( color.prototype, {
272
288
  if ( type === "array" ) {
273
289
  each( spaces.rgba.props, function( key, prop ) {
274
290
  rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
275
- });
291
+ } );
276
292
  return this;
277
293
  }
278
294
 
@@ -282,16 +298,16 @@ color.fn = jQuery.extend( color.prototype, {
282
298
  if ( red[ space.cache ] ) {
283
299
  inst[ space.cache ] = red[ space.cache ].slice();
284
300
  }
285
- });
301
+ } );
286
302
  } else {
287
303
  each( spaces, function( spaceName, space ) {
288
304
  var cache = space.cache;
289
305
  each( space.props, function( key, prop ) {
290
306
 
291
- // if the cache doesn't exist, and we know how to convert
307
+ // If the cache doesn't exist, and we know how to convert
292
308
  if ( !inst[ cache ] && space.to ) {
293
309
 
294
- // if the value was null, we don't need to copy it
310
+ // If the value was null, we don't need to copy it
295
311
  // if the key was alpha, we don't need to copy it either
296
312
  if ( key === "alpha" || red[ key ] == null ) {
297
313
  return;
@@ -299,20 +315,22 @@ color.fn = jQuery.extend( color.prototype, {
299
315
  inst[ cache ] = space.to( inst._rgba );
300
316
  }
301
317
 
302
- // this is the only case where we allow nulls for ALL properties.
318
+ // This is the only case where we allow nulls for ALL properties.
303
319
  // call clamp with alwaysAllowEmpty
304
320
  inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
305
- });
321
+ } );
306
322
 
307
- // everything defined but alpha?
308
- if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
309
- // use the default of 1
323
+ // Everything defined but alpha?
324
+ if ( inst[ cache ] &&
325
+ jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
326
+
327
+ // Use the default of 1
310
328
  inst[ cache ][ 3 ] = 1;
311
329
  if ( space.from ) {
312
330
  inst._rgba = space.from( inst[ cache ] );
313
331
  }
314
332
  }
315
- });
333
+ } );
316
334
  }
317
335
  return this;
318
336
  }
@@ -325,17 +343,17 @@ color.fn = jQuery.extend( color.prototype, {
325
343
  each( spaces, function( _, space ) {
326
344
  var localCache,
327
345
  isCache = is[ space.cache ];
328
- if (isCache) {
346
+ if ( isCache ) {
329
347
  localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
330
348
  each( space.props, function( _, prop ) {
331
349
  if ( isCache[ prop.idx ] != null ) {
332
350
  same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
333
351
  return same;
334
352
  }
335
- });
353
+ } );
336
354
  }
337
355
  return same;
338
- });
356
+ } );
339
357
  return same;
340
358
  },
341
359
  _space: function() {
@@ -345,7 +363,7 @@ color.fn = jQuery.extend( color.prototype, {
345
363
  if ( inst[ space.cache ] ) {
346
364
  used.push( spaceName );
347
365
  }
348
- });
366
+ } );
349
367
  return used.pop();
350
368
  },
351
369
  transition: function( other, distance ) {
@@ -363,11 +381,12 @@ color.fn = jQuery.extend( color.prototype, {
363
381
  endValue = end[ index ],
364
382
  type = propTypes[ prop.type ] || {};
365
383
 
366
- // if null, don't override start value
384
+ // If null, don't override start value
367
385
  if ( endValue === null ) {
368
386
  return;
369
387
  }
370
- // if null - use end
388
+
389
+ // If null - use end
371
390
  if ( startValue === null ) {
372
391
  result[ index ] = endValue;
373
392
  } else {
@@ -380,11 +399,12 @@ color.fn = jQuery.extend( color.prototype, {
380
399
  }
381
400
  result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
382
401
  }
383
- });
402
+ } );
384
403
  return this[ spaceName ]( result );
385
404
  },
386
405
  blend: function( opaque ) {
387
- // if we are already opaque - return ourself
406
+
407
+ // If we are already opaque - return ourself
388
408
  if ( this._rgba[ 3 ] === 1 ) {
389
409
  return this;
390
410
  }
@@ -395,13 +415,13 @@ color.fn = jQuery.extend( color.prototype, {
395
415
 
396
416
  return color( jQuery.map( rgb, function( v, i ) {
397
417
  return ( 1 - a ) * blend[ i ] + a * v;
398
- }));
418
+ } ) );
399
419
  },
400
420
  toRgbaString: function() {
401
421
  var prefix = "rgba(",
402
422
  rgba = jQuery.map( this._rgba, function( v, i ) {
403
423
  return v == null ? ( i > 2 ? 1 : 0 ) : v;
404
- });
424
+ } );
405
425
 
406
426
  if ( rgba[ 3 ] === 1 ) {
407
427
  rgba.pop();
@@ -417,12 +437,12 @@ color.fn = jQuery.extend( color.prototype, {
417
437
  v = i > 2 ? 1 : 0;
418
438
  }
419
439
 
420
- // catch 1 and 2
440
+ // Catch 1 and 2
421
441
  if ( i && i < 3 ) {
422
442
  v = Math.round( v * 100 ) + "%";
423
443
  }
424
444
  return v;
425
- });
445
+ } );
426
446
 
427
447
  if ( hsla[ 3 ] === 1 ) {
428
448
  hsla.pop();
@@ -440,18 +460,18 @@ color.fn = jQuery.extend( color.prototype, {
440
460
 
441
461
  return "#" + jQuery.map( rgba, function( v ) {
442
462
 
443
- // default to 0 when nulls exist
463
+ // Default to 0 when nulls exist
444
464
  v = ( v || 0 ).toString( 16 );
445
465
  return v.length === 1 ? "0" + v : v;
446
- }).join("");
466
+ } ).join( "" );
447
467
  },
448
468
  toString: function() {
449
469
  return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
450
470
  }
451
- });
471
+ } );
452
472
  color.fn.parse.prototype = color.fn;
453
473
 
454
- // hsla conversions adapted from:
474
+ // Hsla conversions adapted from:
455
475
  // https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
456
476
 
457
477
  function hue2rgb( p, q, h ) {
@@ -459,7 +479,7 @@ function hue2rgb( p, q, h ) {
459
479
  if ( h * 6 < 1 ) {
460
480
  return p + ( q - p ) * h * 6;
461
481
  }
462
- if ( h * 2 < 1) {
482
+ if ( h * 2 < 1 ) {
463
483
  return q;
464
484
  }
465
485
  if ( h * 3 < 2 ) {
@@ -493,7 +513,7 @@ spaces.hsla.to = function( rgba ) {
493
513
  h = ( 60 * ( r - g ) / diff ) + 240;
494
514
  }
495
515
 
496
- // chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
516
+ // Chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
497
517
  // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
498
518
  if ( diff === 0 ) {
499
519
  s = 0;
@@ -502,7 +522,7 @@ spaces.hsla.to = function( rgba ) {
502
522
  } else {
503
523
  s = diff / ( 2 - add );
504
524
  }
505
- return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
525
+ return [ Math.round( h ) % 360, s, l, a == null ? 1 : a ];
506
526
  };
507
527
 
508
528
  spaces.hsla.from = function( hsla ) {
@@ -530,10 +550,10 @@ each( spaces, function( spaceName, space ) {
530
550
  to = space.to,
531
551
  from = space.from;
532
552
 
533
- // makes rgba() and hsla()
553
+ // Makes rgba() and hsla()
534
554
  color.fn[ spaceName ] = function( value ) {
535
555
 
536
- // generate a cache for this space if it doesn't exist
556
+ // Generate a cache for this space if it doesn't exist
537
557
  if ( to && !this[ cache ] ) {
538
558
  this[ cache ] = to( this._rgba );
539
559
  }
@@ -552,7 +572,7 @@ each( spaces, function( spaceName, space ) {
552
572
  val = local[ prop.idx ];
553
573
  }
554
574
  local[ prop.idx ] = clamp( val, prop );
555
- });
575
+ } );
556
576
 
557
577
  if ( from ) {
558
578
  ret = color( from( local ) );
@@ -563,9 +583,10 @@ each( spaces, function( spaceName, space ) {
563
583
  }
564
584
  };
565
585
 
566
- // makes red() green() blue() alpha() hue() saturation() lightness()
586
+ // Makes red() green() blue() alpha() hue() saturation() lightness()
567
587
  each( props, function( key, prop ) {
568
- // alpha is included in more than one space
588
+
589
+ // Alpha is included in more than one space
569
590
  if ( color.fn[ key ] ) {
570
591
  return;
571
592
  }
@@ -596,10 +617,10 @@ each( spaces, function( spaceName, space ) {
596
617
  local[ prop.idx ] = value;
597
618
  return this[ fn ]( local );
598
619
  };
599
- });
600
- });
620
+ } );
621
+ } );
601
622
 
602
- // add cssHook and .fx.step function for each named hook.
623
+ // Add cssHook and .fx.step function for each named hook.
603
624
  // accept a space separated string of properties
604
625
  color.hook = function( hook ) {
605
626
  var hooks = hook.split( " " );
@@ -609,12 +630,13 @@ color.hook = function( hook ) {
609
630
  var parsed, curElem,
610
631
  backgroundColor = "";
611
632
 
612
- if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
633
+ if ( value !== "transparent" && ( jQuery.type( value ) !== "string" ||
634
+ ( parsed = stringParse( value ) ) ) ) {
613
635
  value = color( parsed || value );
614
636
  if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
615
637
  curElem = hook === "backgroundColor" ? elem.parentNode : elem;
616
638
  while (
617
- (backgroundColor === "" || backgroundColor === "transparent") &&
639
+ ( backgroundColor === "" || backgroundColor === "transparent" ) &&
618
640
  curElem && curElem.style
619
641
  ) {
620
642
  try {
@@ -634,7 +656,9 @@ color.hook = function( hook ) {
634
656
  try {
635
657
  elem.style[ hook ] = value;
636
658
  } catch ( e ) {
637
- // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
659
+
660
+ // Wrapped to prevent IE from throwing errors on "invalid" values like
661
+ // 'auto' or 'inherit'
638
662
  }
639
663
  }
640
664
  };
@@ -646,7 +670,7 @@ color.hook = function( hook ) {
646
670
  }
647
671
  jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
648
672
  };
649
- });
673
+ } );
650
674
 
651
675
  };
652
676
 
@@ -658,7 +682,7 @@ jQuery.cssHooks.borderColor = {
658
682
 
659
683
  each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
660
684
  expanded[ "border" + part + "Color" ] = value;
661
- });
685
+ } );
662
686
  return expanded;
663
687
  }
664
688
  };
@@ -667,6 +691,7 @@ jQuery.cssHooks.borderColor = {
667
691
  // Usage of any of the other color names requires adding yourself or including
668
692
  // jquery.color.svg-names.js.
669
693
  colors = jQuery.Color.names = {
694
+
670
695
  // 4.1. Basic color keywords
671
696
  aqua: "#00ffff",
672
697
  black: "#000000",
@@ -691,12 +716,12 @@ colors = jQuery.Color.names = {
691
716
  _default: "#ffffff"
692
717
  };
693
718
 
694
- })( jQuery );
719
+ } )( jQuery );
695
720
 
696
721
  /******************************************************************************/
697
722
  /****************************** CLASS ANIMATIONS ******************************/
698
723
  /******************************************************************************/
699
- (function() {
724
+ ( function() {
700
725
 
701
726
  var classAnimationActions = [ "add", "remove", "toggle" ],
702
727
  shorthandStyles = {
@@ -711,14 +736,17 @@ var classAnimationActions = [ "add", "remove", "toggle" ],
711
736
  padding: 1
712
737
  };
713
738
 
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
- });
739
+ $.each(
740
+ [ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ],
741
+ function( _, prop ) {
742
+ $.fx.step[ prop ] = function( fx ) {
743
+ if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
744
+ jQuery.style( fx.elem, prop, fx.end );
745
+ fx.setAttr = true;
746
+ }
747
+ };
748
+ }
749
+ );
722
750
 
723
751
  function getElementStyles( elem ) {
724
752
  var key, len,
@@ -735,7 +763,8 @@ function getElementStyles( elem ) {
735
763
  styles[ $.camelCase( key ) ] = style[ key ];
736
764
  }
737
765
  }
738
- // support: Opera, IE <9
766
+
767
+ // Support: Opera, IE <9
739
768
  } else {
740
769
  for ( key in style ) {
741
770
  if ( typeof style[ key ] === "string" ) {
@@ -765,7 +794,7 @@ function styleDifference( oldStyle, newStyle ) {
765
794
  return diff;
766
795
  }
767
796
 
768
- // support: jQuery <1.8
797
+ // Support: jQuery <1.8
769
798
  if ( !$.fn.addBack ) {
770
799
  $.fn.addBack = function( selector ) {
771
800
  return this.add( selector == null ?
@@ -783,275 +812,448 @@ $.effects.animateClass = function( value, duration, easing, callback ) {
783
812
  applyClassChange,
784
813
  allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
785
814
 
786
- // map the animated objects to store the original styles.
787
- allAnimations = allAnimations.map(function() {
815
+ // Map the animated objects to store the original styles.
816
+ allAnimations = allAnimations.map( function() {
788
817
  var el = $( this );
789
818
  return {
790
819
  el: el,
791
820
  start: getElementStyles( this )
792
821
  };
793
- });
822
+ } );
794
823
 
795
- // apply class change
824
+ // Apply class change
796
825
  applyClassChange = function() {
797
- $.each( classAnimationActions, function(i, action) {
826
+ $.each( classAnimationActions, function( i, action ) {
798
827
  if ( value[ action ] ) {
799
828
  animated[ action + "Class" ]( value[ action ] );
800
829
  }
801
- });
830
+ } );
802
831
  };
803
832
  applyClassChange();
804
833
 
805
- // map all animated objects again - calculate new styles and diff
806
- allAnimations = allAnimations.map(function() {
834
+ // Map all animated objects again - calculate new styles and diff
835
+ allAnimations = allAnimations.map( function() {
807
836
  this.end = getElementStyles( this.el[ 0 ] );
808
837
  this.diff = styleDifference( this.start, this.end );
809
838
  return this;
810
- });
839
+ } );
811
840
 
812
- // apply original class
841
+ // Apply original class
813
842
  animated.attr( "class", baseClass );
814
843
 
815
- // map all animated objects again - this time collecting a promise
816
- allAnimations = allAnimations.map(function() {
844
+ // Map all animated objects again - this time collecting a promise
845
+ allAnimations = allAnimations.map( function() {
817
846
  var styleInfo = this,
818
847
  dfd = $.Deferred(),
819
- opts = $.extend({}, o, {
848
+ opts = $.extend( {}, o, {
820
849
  queue: false,
821
850
  complete: function() {
822
851
  dfd.resolve( styleInfo );
823
852
  }
824
- });
853
+ } );
825
854
 
826
855
  this.el.animate( this.diff, opts );
827
856
  return dfd.promise();
828
- });
857
+ } );
829
858
 
830
- // once all animations have completed:
831
- $.when.apply( $, allAnimations.get() ).done(function() {
859
+ // Once all animations have completed:
860
+ $.when.apply( $, allAnimations.get() ).done( function() {
832
861
 
833
- // set the final class
862
+ // Set the final class
834
863
  applyClassChange();
835
864
 
836
- // for each animated element,
865
+ // For each animated element,
837
866
  // clear all css properties that were animated
838
867
  $.each( arguments, function() {
839
868
  var el = this.el;
840
- $.each( this.diff, function(key) {
869
+ $.each( this.diff, function( key ) {
841
870
  el.css( key, "" );
842
- });
843
- });
871
+ } );
872
+ } );
844
873
 
845
- // this is guarnteed to be there if you use jQuery.speed()
874
+ // This is guarnteed to be there if you use jQuery.speed()
846
875
  // it also handles dequeuing the next anim...
847
876
  o.complete.call( animated[ 0 ] );
848
- });
849
- });
877
+ } );
878
+ } );
850
879
  };
851
880
 
852
- $.fn.extend({
853
- addClass: (function( orig ) {
881
+ $.fn.extend( {
882
+ addClass: ( function( orig ) {
854
883
  return function( classNames, speed, easing, callback ) {
855
884
  return speed ?
856
885
  $.effects.animateClass.call( this,
857
886
  { add: classNames }, speed, easing, callback ) :
858
887
  orig.apply( this, arguments );
859
888
  };
860
- })( $.fn.addClass ),
889
+ } )( $.fn.addClass ),
861
890
 
862
- removeClass: (function( orig ) {
891
+ removeClass: ( function( orig ) {
863
892
  return function( classNames, speed, easing, callback ) {
864
893
  return arguments.length > 1 ?
865
894
  $.effects.animateClass.call( this,
866
895
  { remove: classNames }, speed, easing, callback ) :
867
896
  orig.apply( this, arguments );
868
897
  };
869
- })( $.fn.removeClass ),
898
+ } )( $.fn.removeClass ),
870
899
 
871
- toggleClass: (function( orig ) {
900
+ toggleClass: ( function( orig ) {
872
901
  return function( classNames, force, speed, easing, callback ) {
873
902
  if ( typeof force === "boolean" || force === undefined ) {
874
903
  if ( !speed ) {
875
- // without speed parameter
904
+
905
+ // Without speed parameter
876
906
  return orig.apply( this, arguments );
877
907
  } else {
878
908
  return $.effects.animateClass.call( this,
879
- (force ? { add: classNames } : { remove: classNames }),
909
+ ( force ? { add: classNames } : { remove: classNames } ),
880
910
  speed, easing, callback );
881
911
  }
882
912
  } else {
883
- // without force parameter
913
+
914
+ // Without force parameter
884
915
  return $.effects.animateClass.call( this,
885
916
  { toggle: classNames }, force, speed, easing );
886
917
  }
887
918
  };
888
- })( $.fn.toggleClass ),
919
+ } )( $.fn.toggleClass ),
889
920
 
890
- switchClass: function( remove, add, speed, easing, callback) {
921
+ switchClass: function( remove, add, speed, easing, callback ) {
891
922
  return $.effects.animateClass.call( this, {
892
923
  add: add,
893
924
  remove: remove
894
925
  }, speed, easing, callback );
895
926
  }
896
- });
927
+ } );
897
928
 
898
- })();
929
+ } )();
899
930
 
900
931
  /******************************************************************************/
901
932
  /*********************************** EFFECTS **********************************/
902
933
  /******************************************************************************/
903
934
 
904
- (function() {
935
+ ( function() {
905
936
 
906
- $.extend( $.effects, {
907
- version: "1.11.4",
937
+ if ( $.expr && $.expr.filters && $.expr.filters.animated ) {
938
+ $.expr.filters.animated = ( function( orig ) {
939
+ return function( elem ) {
940
+ return !!$( elem ).data( dataSpaceAnimated ) || orig( elem );
941
+ };
942
+ } )( $.expr.filters.animated );
943
+ }
908
944
 
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 ] ] );
945
+ if ( $.uiBackCompat !== false ) {
946
+ $.extend( $.effects, {
947
+
948
+ // Saves a set of properties in a data storage
949
+ save: function( element, set ) {
950
+ var i = 0, length = set.length;
951
+ for ( ; i < length; i++ ) {
952
+ if ( set[ i ] !== null ) {
953
+ element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
954
+ }
914
955
  }
915
- }
916
- },
956
+ },
917
957
 
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 = "";
958
+ // Restores a set of previously saved properties from a data storage
959
+ restore: function( element, set ) {
960
+ var val, i = 0, length = set.length;
961
+ for ( ; i < length; i++ ) {
962
+ if ( set[ i ] !== null ) {
963
+ val = element.data( dataSpace + set[ i ] );
964
+ element.css( set[ i ], val );
931
965
  }
932
- element.css( set[ i ], val );
933
966
  }
967
+ },
968
+
969
+ setMode: function( el, mode ) {
970
+ if ( mode === "toggle" ) {
971
+ mode = el.is( ":hidden" ) ? "show" : "hide";
972
+ }
973
+ return mode;
974
+ },
975
+
976
+ // Wraps the element around a wrapper that copies position properties
977
+ createWrapper: function( element ) {
978
+
979
+ // If the element is already wrapped, return it
980
+ if ( element.parent().is( ".ui-effects-wrapper" ) ) {
981
+ return element.parent();
982
+ }
983
+
984
+ // Wrap the element
985
+ var props = {
986
+ width: element.outerWidth( true ),
987
+ height: element.outerHeight( true ),
988
+ "float": element.css( "float" )
989
+ },
990
+ wrapper = $( "<div></div>" )
991
+ .addClass( "ui-effects-wrapper" )
992
+ .css( {
993
+ fontSize: "100%",
994
+ background: "transparent",
995
+ border: "none",
996
+ margin: 0,
997
+ padding: 0
998
+ } ),
999
+
1000
+ // Store the size in case width/height are defined in % - Fixes #5245
1001
+ size = {
1002
+ width: element.width(),
1003
+ height: element.height()
1004
+ },
1005
+ active = document.activeElement;
1006
+
1007
+ // Support: Firefox
1008
+ // Firefox incorrectly exposes anonymous content
1009
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=561664
1010
+ try {
1011
+ active.id;
1012
+ } catch ( e ) {
1013
+ active = document.body;
1014
+ }
1015
+
1016
+ element.wrap( wrapper );
1017
+
1018
+ // Fixes #7595 - Elements lose focus when wrapped.
1019
+ if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
1020
+ $( active ).trigger( "focus" );
1021
+ }
1022
+
1023
+ // Hotfix for jQuery 1.4 since some change in wrap() seems to actually
1024
+ // lose the reference to the wrapped element
1025
+ wrapper = element.parent();
1026
+
1027
+ // Transfer positioning properties to the wrapper
1028
+ if ( element.css( "position" ) === "static" ) {
1029
+ wrapper.css( { position: "relative" } );
1030
+ element.css( { position: "relative" } );
1031
+ } else {
1032
+ $.extend( props, {
1033
+ position: element.css( "position" ),
1034
+ zIndex: element.css( "z-index" )
1035
+ } );
1036
+ $.each( [ "top", "left", "bottom", "right" ], function( i, pos ) {
1037
+ props[ pos ] = element.css( pos );
1038
+ if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
1039
+ props[ pos ] = "auto";
1040
+ }
1041
+ } );
1042
+ element.css( {
1043
+ position: "relative",
1044
+ top: 0,
1045
+ left: 0,
1046
+ right: "auto",
1047
+ bottom: "auto"
1048
+ } );
1049
+ }
1050
+ element.css( size );
1051
+
1052
+ return wrapper.css( props ).show();
1053
+ },
1054
+
1055
+ removeWrapper: function( element ) {
1056
+ var active = document.activeElement;
1057
+
1058
+ if ( element.parent().is( ".ui-effects-wrapper" ) ) {
1059
+ element.parent().replaceWith( element );
1060
+
1061
+ // Fixes #7595 - Elements lose focus when wrapped.
1062
+ if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
1063
+ $( active ).trigger( "focus" );
1064
+ }
1065
+ }
1066
+
1067
+ return element;
1068
+ }
1069
+ } );
1070
+ }
1071
+
1072
+ $.extend( $.effects, {
1073
+ version: "1.12.1",
1074
+
1075
+ define: function( name, mode, effect ) {
1076
+ if ( !effect ) {
1077
+ effect = mode;
1078
+ mode = "effect";
1079
+ }
1080
+
1081
+ $.effects.effect[ name ] = effect;
1082
+ $.effects.effect[ name ].mode = mode;
1083
+
1084
+ return effect;
1085
+ },
1086
+
1087
+ scaledDimensions: function( element, percent, direction ) {
1088
+ if ( percent === 0 ) {
1089
+ return {
1090
+ height: 0,
1091
+ width: 0,
1092
+ outerHeight: 0,
1093
+ outerWidth: 0
1094
+ };
1095
+ }
1096
+
1097
+ var x = direction !== "horizontal" ? ( ( percent || 100 ) / 100 ) : 1,
1098
+ y = direction !== "vertical" ? ( ( percent || 100 ) / 100 ) : 1;
1099
+
1100
+ return {
1101
+ height: element.height() * y,
1102
+ width: element.width() * x,
1103
+ outerHeight: element.outerHeight() * y,
1104
+ outerWidth: element.outerWidth() * x
1105
+ };
1106
+
1107
+ },
1108
+
1109
+ clipToBox: function( animation ) {
1110
+ return {
1111
+ width: animation.clip.right - animation.clip.left,
1112
+ height: animation.clip.bottom - animation.clip.top,
1113
+ left: animation.clip.left,
1114
+ top: animation.clip.top
1115
+ };
1116
+ },
1117
+
1118
+ // Injects recently queued functions to be first in line (after "inprogress")
1119
+ unshift: function( element, queueLength, count ) {
1120
+ var queue = element.queue();
1121
+
1122
+ if ( queueLength > 1 ) {
1123
+ queue.splice.apply( queue,
1124
+ [ 1, 0 ].concat( queue.splice( queueLength, count ) ) );
934
1125
  }
1126
+ element.dequeue();
1127
+ },
1128
+
1129
+ saveStyle: function( element ) {
1130
+ element.data( dataSpaceStyle, element[ 0 ].style.cssText );
1131
+ },
1132
+
1133
+ restoreStyle: function( element ) {
1134
+ element[ 0 ].style.cssText = element.data( dataSpaceStyle ) || "";
1135
+ element.removeData( dataSpaceStyle );
935
1136
  },
936
1137
 
937
- setMode: function( el, mode ) {
938
- if (mode === "toggle") {
939
- mode = el.is( ":hidden" ) ? "show" : "hide";
1138
+ mode: function( element, mode ) {
1139
+ var hidden = element.is( ":hidden" );
1140
+
1141
+ if ( mode === "toggle" ) {
1142
+ mode = hidden ? "show" : "hide";
1143
+ }
1144
+ if ( hidden ? mode === "hide" : mode === "show" ) {
1145
+ mode = "none";
940
1146
  }
941
1147
  return mode;
942
1148
  },
943
1149
 
944
1150
  // 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
1151
  getBaseline: function( origin, original ) {
947
1152
  var y, x;
1153
+
948
1154
  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;
1155
+ case "top":
1156
+ y = 0;
1157
+ break;
1158
+ case "middle":
1159
+ y = 0.5;
1160
+ break;
1161
+ case "bottom":
1162
+ y = 1;
1163
+ break;
1164
+ default:
1165
+ y = origin[ 0 ] / original.height;
953
1166
  }
1167
+
954
1168
  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;
1169
+ case "left":
1170
+ x = 0;
1171
+ break;
1172
+ case "center":
1173
+ x = 0.5;
1174
+ break;
1175
+ case "right":
1176
+ x = 1;
1177
+ break;
1178
+ default:
1179
+ x = origin[ 1 ] / original.width;
959
1180
  }
1181
+
960
1182
  return {
961
1183
  x: x,
962
1184
  y: y
963
1185
  };
964
1186
  },
965
1187
 
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),
1188
+ // Creates a placeholder element so that the original element can be made absolute
1189
+ createPlaceholder: function( element ) {
1190
+ var placeholder,
1191
+ cssPosition = element.css( "position" ),
1192
+ position = element.position();
1193
+
1194
+ // Lock in margins first to account for form elements, which
1195
+ // will change margin if you explicitly set height
1196
+ // see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380
1197
+ // Support: Safari
1198
+ element.css( {
1199
+ marginTop: element.css( "marginTop" ),
1200
+ marginBottom: element.css( "marginBottom" ),
1201
+ marginLeft: element.css( "marginLeft" ),
1202
+ marginRight: element.css( "marginRight" )
1203
+ } )
1204
+ .outerWidth( element.outerWidth() )
1205
+ .outerHeight( element.outerHeight() );
1206
+
1207
+ if ( /^(static|relative)/.test( cssPosition ) ) {
1208
+ cssPosition = "absolute";
1209
+
1210
+ placeholder = $( "<" + element[ 0 ].nodeName + ">" ).insertAfter( element ).css( {
1211
+
1212
+ // Convert inline to inline block to account for inline elements
1213
+ // that turn to inline block based on content (like img)
1214
+ display: /^(inline|ruby)/.test( element.css( "display" ) ) ?
1215
+ "inline-block" :
1216
+ "block",
1217
+ visibility: "hidden",
1218
+
1219
+ // Margins need to be set to account for margin collapse
1220
+ marginTop: element.css( "marginTop" ),
1221
+ marginBottom: element.css( "marginBottom" ),
1222
+ marginLeft: element.css( "marginLeft" ),
1223
+ marginRight: element.css( "marginRight" ),
978
1224
  "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
- }
1004
-
1005
- element.wrap( wrapper );
1225
+ } )
1226
+ .outerWidth( element.outerWidth() )
1227
+ .outerHeight( element.outerHeight() )
1228
+ .addClass( "ui-effects-placeholder" );
1006
1229
 
1007
- // Fixes #7595 - Elements lose focus when wrapped.
1008
- if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
1009
- $( active ).focus();
1230
+ element.data( dataSpace + "placeholder", placeholder );
1010
1231
  }
1011
1232
 
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);
1233
+ element.css( {
1234
+ position: cssPosition,
1235
+ left: position.left,
1236
+ top: position.top
1237
+ } );
1038
1238
 
1039
- return wrapper.css( props ).show();
1239
+ return placeholder;
1040
1240
  },
1041
1241
 
1042
- removeWrapper: function( element ) {
1043
- var active = document.activeElement;
1044
-
1045
- if ( element.parent().is( ".ui-effects-wrapper" ) ) {
1046
- element.parent().replaceWith( element );
1242
+ removePlaceholder: function( element ) {
1243
+ var dataKey = dataSpace + "placeholder",
1244
+ placeholder = element.data( dataKey );
1047
1245
 
1048
- // Fixes #7595 - Elements lose focus when wrapped.
1049
- if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
1050
- $( active ).focus();
1051
- }
1246
+ if ( placeholder ) {
1247
+ placeholder.remove();
1248
+ element.removeData( dataKey );
1052
1249
  }
1250
+ },
1053
1251
 
1054
- return element;
1252
+ // Removes a placeholder if it exists and restores
1253
+ // properties that were modified during placeholder creation
1254
+ cleanUp: function( element ) {
1255
+ $.effects.restoreStyle( element );
1256
+ $.effects.removePlaceholder( element );
1055
1257
  },
1056
1258
 
1057
1259
  setTransition: function( element, list, factor, value ) {
@@ -1061,49 +1263,49 @@ $.extend( $.effects, {
1061
1263
  if ( unit[ 0 ] > 0 ) {
1062
1264
  value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
1063
1265
  }
1064
- });
1266
+ } );
1065
1267
  return value;
1066
1268
  }
1067
- });
1269
+ } );
1068
1270
 
1069
- // return an effect options object for the given parameters:
1271
+ // Return an effect options object for the given parameters:
1070
1272
  function _normalizeArguments( effect, options, speed, callback ) {
1071
1273
 
1072
- // allow passing all options as the first parameter
1274
+ // Allow passing all options as the first parameter
1073
1275
  if ( $.isPlainObject( effect ) ) {
1074
1276
  options = effect;
1075
1277
  effect = effect.effect;
1076
1278
  }
1077
1279
 
1078
- // convert to an object
1280
+ // Convert to an object
1079
1281
  effect = { effect: effect };
1080
1282
 
1081
- // catch (effect, null, ...)
1283
+ // Catch (effect, null, ...)
1082
1284
  if ( options == null ) {
1083
1285
  options = {};
1084
1286
  }
1085
1287
 
1086
- // catch (effect, callback)
1288
+ // Catch (effect, callback)
1087
1289
  if ( $.isFunction( options ) ) {
1088
1290
  callback = options;
1089
1291
  speed = null;
1090
1292
  options = {};
1091
1293
  }
1092
1294
 
1093
- // catch (effect, speed, ?)
1295
+ // Catch (effect, speed, ?)
1094
1296
  if ( typeof options === "number" || $.fx.speeds[ options ] ) {
1095
1297
  callback = speed;
1096
1298
  speed = options;
1097
1299
  options = {};
1098
1300
  }
1099
1301
 
1100
- // catch (effect, options, callback)
1302
+ // Catch (effect, options, callback)
1101
1303
  if ( $.isFunction( speed ) ) {
1102
1304
  callback = speed;
1103
1305
  speed = null;
1104
1306
  }
1105
1307
 
1106
- // add options to effect
1308
+ // Add options to effect
1107
1309
  if ( options ) {
1108
1310
  $.extend( effect, options );
1109
1311
  }
@@ -1120,6 +1322,7 @@ function _normalizeArguments( effect, options, speed, callback ) {
1120
1322
  }
1121
1323
 
1122
1324
  function standardAnimationOption( option ) {
1325
+
1123
1326
  // Valid standard speeds (nothing, number, named speed)
1124
1327
  if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) {
1125
1328
  return true;
@@ -1144,54 +1347,116 @@ function standardAnimationOption( option ) {
1144
1347
  return false;
1145
1348
  }
1146
1349
 
1147
- $.fn.extend({
1350
+ $.fn.extend( {
1148
1351
  effect: function( /* effect, options, speed, callback */ ) {
1149
1352
  var args = _normalizeArguments.apply( this, arguments ),
1150
- mode = args.mode,
1353
+ effectMethod = $.effects.effect[ args.effect ],
1354
+ defaultMode = effectMethod.mode,
1151
1355
  queue = args.queue,
1152
- effectMethod = $.effects.effect[ args.effect ];
1356
+ queueName = queue || "fx",
1357
+ complete = args.complete,
1358
+ mode = args.mode,
1359
+ modes = [],
1360
+ prefilter = function( next ) {
1361
+ var el = $( this ),
1362
+ normalizedMode = $.effects.mode( el, mode ) || defaultMode;
1363
+
1364
+ // Sentinel for duck-punching the :animated psuedo-selector
1365
+ el.data( dataSpaceAnimated, true );
1366
+
1367
+ // Save effect mode for later use,
1368
+ // we can't just call $.effects.mode again later,
1369
+ // as the .show() below destroys the initial state
1370
+ modes.push( normalizedMode );
1371
+
1372
+ // See $.uiBackCompat inside of run() for removal of defaultMode in 1.13
1373
+ if ( defaultMode && ( normalizedMode === "show" ||
1374
+ ( normalizedMode === defaultMode && normalizedMode === "hide" ) ) ) {
1375
+ el.show();
1376
+ }
1377
+
1378
+ if ( !defaultMode || normalizedMode !== "none" ) {
1379
+ $.effects.saveStyle( el );
1380
+ }
1381
+
1382
+ if ( $.isFunction( next ) ) {
1383
+ next();
1384
+ }
1385
+ };
1153
1386
 
1154
1387
  if ( $.fx.off || !effectMethod ) {
1155
- // delegate to the original method (e.g., .show()) if possible
1388
+
1389
+ // Delegate to the original method (e.g., .show()) if possible
1156
1390
  if ( mode ) {
1157
- return this[ mode ]( args.duration, args.complete );
1391
+ return this[ mode ]( args.duration, complete );
1158
1392
  } else {
1159
1393
  return this.each( function() {
1160
- if ( args.complete ) {
1161
- args.complete.call( this );
1394
+ if ( complete ) {
1395
+ complete.call( this );
1162
1396
  }
1163
- });
1397
+ } );
1164
1398
  }
1165
1399
  }
1166
1400
 
1167
1401
  function run( next ) {
1168
- var elem = $( this ),
1169
- complete = args.complete,
1170
- mode = args.mode;
1402
+ var elem = $( this );
1403
+
1404
+ function cleanup() {
1405
+ elem.removeData( dataSpaceAnimated );
1406
+
1407
+ $.effects.cleanUp( elem );
1408
+
1409
+ if ( args.mode === "hide" ) {
1410
+ elem.hide();
1411
+ }
1412
+
1413
+ done();
1414
+ }
1171
1415
 
1172
1416
  function done() {
1173
1417
  if ( $.isFunction( complete ) ) {
1174
- complete.call( elem[0] );
1418
+ complete.call( elem[ 0 ] );
1175
1419
  }
1420
+
1176
1421
  if ( $.isFunction( next ) ) {
1177
1422
  next();
1178
1423
  }
1179
1424
  }
1180
1425
 
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();
1426
+ // Override mode option on a per element basis,
1427
+ // as toggle can be either show or hide depending on element state
1428
+ args.mode = modes.shift();
1429
+
1430
+ if ( $.uiBackCompat !== false && !defaultMode ) {
1431
+ if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
1432
+
1433
+ // Call the core method to track "olddisplay" properly
1434
+ elem[ mode ]();
1435
+ done();
1436
+ } else {
1437
+ effectMethod.call( elem[ 0 ], args, done );
1438
+ }
1186
1439
  } else {
1187
- effectMethod.call( elem[0], args, done );
1440
+ if ( args.mode === "none" ) {
1441
+
1442
+ // Call the core method to track "olddisplay" properly
1443
+ elem[ mode ]();
1444
+ done();
1445
+ } else {
1446
+ effectMethod.call( elem[ 0 ], args, cleanup );
1447
+ }
1188
1448
  }
1189
1449
  }
1190
1450
 
1191
- return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
1451
+ // Run prefilter on all elements first to ensure that
1452
+ // any showing or hiding happens before placeholder creation,
1453
+ // which ensures that any layout changes are correctly captured.
1454
+ return queue === false ?
1455
+ this.each( prefilter ).each( run ) :
1456
+ this.queue( queueName, prefilter ).queue( queueName, run );
1192
1457
  },
1193
1458
 
1194
- show: (function( orig ) {
1459
+ show: ( function( orig ) {
1195
1460
  return function( option ) {
1196
1461
  if ( standardAnimationOption( option ) ) {
1197
1462
  return orig.apply( this, arguments );
@@ -1201,9 +1466,9 @@ $.fn.extend({
1201
1466
  return this.effect.call( this, args );
1202
1467
  }
1203
1468
  };
1204
- })( $.fn.show ),
1469
+ } )( $.fn.show ),
1205
1470
 
1206
- hide: (function( orig ) {
1471
+ hide: ( function( orig ) {
1207
1472
  return function( option ) {
1208
1473
  if ( standardAnimationOption( option ) ) {
1209
1474
  return orig.apply( this, arguments );
@@ -1213,9 +1478,9 @@ $.fn.extend({
1213
1478
  return this.effect.call( this, args );
1214
1479
  }
1215
1480
  };
1216
- })( $.fn.hide ),
1481
+ } )( $.fn.hide ),
1217
1482
 
1218
- toggle: (function( orig ) {
1483
+ toggle: ( function( orig ) {
1219
1484
  return function( option ) {
1220
1485
  if ( standardAnimationOption( option ) || typeof option === "boolean" ) {
1221
1486
  return orig.apply( this, arguments );
@@ -1225,10 +1490,9 @@ $.fn.extend({
1225
1490
  return this.effect.call( this, args );
1226
1491
  }
1227
1492
  };
1228
- })( $.fn.toggle ),
1493
+ } )( $.fn.toggle ),
1229
1494
 
1230
- // helper functions
1231
- cssUnit: function(key) {
1495
+ cssUnit: function( key ) {
1232
1496
  var style = this.css( key ),
1233
1497
  val = [];
1234
1498
 
@@ -1236,20 +1500,92 @@ $.fn.extend({
1236
1500
  if ( style.indexOf( unit ) > 0 ) {
1237
1501
  val = [ parseFloat( style ), unit ];
1238
1502
  }
1239
- });
1503
+ } );
1240
1504
  return val;
1505
+ },
1506
+
1507
+ cssClip: function( clipObj ) {
1508
+ if ( clipObj ) {
1509
+ return this.css( "clip", "rect(" + clipObj.top + "px " + clipObj.right + "px " +
1510
+ clipObj.bottom + "px " + clipObj.left + "px)" );
1511
+ }
1512
+ return parseClip( this.css( "clip" ), this );
1513
+ },
1514
+
1515
+ transfer: function( options, done ) {
1516
+ var element = $( this ),
1517
+ target = $( options.to ),
1518
+ targetFixed = target.css( "position" ) === "fixed",
1519
+ body = $( "body" ),
1520
+ fixTop = targetFixed ? body.scrollTop() : 0,
1521
+ fixLeft = targetFixed ? body.scrollLeft() : 0,
1522
+ endPosition = target.offset(),
1523
+ animation = {
1524
+ top: endPosition.top - fixTop,
1525
+ left: endPosition.left - fixLeft,
1526
+ height: target.innerHeight(),
1527
+ width: target.innerWidth()
1528
+ },
1529
+ startPosition = element.offset(),
1530
+ transfer = $( "<div class='ui-effects-transfer'></div>" )
1531
+ .appendTo( "body" )
1532
+ .addClass( options.className )
1533
+ .css( {
1534
+ top: startPosition.top - fixTop,
1535
+ left: startPosition.left - fixLeft,
1536
+ height: element.innerHeight(),
1537
+ width: element.innerWidth(),
1538
+ position: targetFixed ? "fixed" : "absolute"
1539
+ } )
1540
+ .animate( animation, options.duration, options.easing, function() {
1541
+ transfer.remove();
1542
+ if ( $.isFunction( done ) ) {
1543
+ done();
1544
+ }
1545
+ } );
1241
1546
  }
1242
- });
1547
+ } );
1548
+
1549
+ function parseClip( str, element ) {
1550
+ var outerWidth = element.outerWidth(),
1551
+ outerHeight = element.outerHeight(),
1552
+ 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)\)$/,
1553
+ values = clipRegex.exec( str ) || [ "", 0, outerWidth, outerHeight, 0 ];
1554
+
1555
+ return {
1556
+ top: parseFloat( values[ 1 ] ) || 0,
1557
+ right: values[ 2 ] === "auto" ? outerWidth : parseFloat( values[ 2 ] ),
1558
+ bottom: values[ 3 ] === "auto" ? outerHeight : parseFloat( values[ 3 ] ),
1559
+ left: parseFloat( values[ 4 ] ) || 0
1560
+ };
1561
+ }
1562
+
1563
+ $.fx.step.clip = function( fx ) {
1564
+ if ( !fx.clipInit ) {
1565
+ fx.start = $( fx.elem ).cssClip();
1566
+ if ( typeof fx.end === "string" ) {
1567
+ fx.end = parseClip( fx.end, fx.elem );
1568
+ }
1569
+ fx.clipInit = true;
1570
+ }
1571
+
1572
+ $( fx.elem ).cssClip( {
1573
+ top: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top,
1574
+ right: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right,
1575
+ bottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom,
1576
+ left: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left
1577
+ } );
1578
+ };
1243
1579
 
1244
- })();
1580
+ } )();
1245
1581
 
1246
1582
  /******************************************************************************/
1247
1583
  /*********************************** EASING ***********************************/
1248
1584
  /******************************************************************************/
1249
1585
 
1250
- (function() {
1586
+ ( function() {
1251
1587
 
1252
- // based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
1588
+ // Based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
1253
1589
 
1254
1590
  var baseEasings = {};
1255
1591
 
@@ -1257,7 +1593,7 @@ $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
1257
1593
  baseEasings[ name ] = function( p ) {
1258
1594
  return Math.pow( p, i + 2 );
1259
1595
  };
1260
- });
1596
+ } );
1261
1597
 
1262
1598
  $.extend( baseEasings, {
1263
1599
  Sine: function( p ) {
@@ -1268,7 +1604,7 @@ $.extend( baseEasings, {
1268
1604
  },
1269
1605
  Elastic: function( p ) {
1270
1606
  return p === 0 || p === 1 ? p :
1271
- -Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
1607
+ -Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 );
1272
1608
  },
1273
1609
  Back: function( p ) {
1274
1610
  return p * p * ( 3 * p - 2 );
@@ -1280,7 +1616,7 @@ $.extend( baseEasings, {
1280
1616
  while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
1281
1617
  return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
1282
1618
  }
1283
- });
1619
+ } );
1284
1620
 
1285
1621
  $.each( baseEasings, function( name, easeIn ) {
1286
1622
  $.easing[ "easeIn" + name ] = easeIn;
@@ -1292,10 +1628,10 @@ $.each( baseEasings, function( name, easeIn ) {
1292
1628
  easeIn( p * 2 ) / 2 :
1293
1629
  1 - easeIn( p * -2 + 2 ) / 2;
1294
1630
  };
1295
- });
1631
+ } );
1296
1632
 
1297
- })();
1633
+ } )();
1298
1634
 
1299
1635
  return $.effects;
1300
1636
 
1301
- }));
1637
+ } ) );