jquery-ui-rails 5.0.5 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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
+ } ) );