jquery-ui-rails 5.0.4 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (279) hide show
  1. checksums.yaml +7 -0
  2. data/.gitmodules +1 -1
  3. data/.travis.yml +1 -1
  4. data/History.md +23 -2
  5. data/README.md +67 -50
  6. data/Rakefile +58 -29
  7. data/VERSIONS.md +4 -0
  8. data/app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  9. data/app/assets/images/jquery-ui/ui-icons_444444_256x240.png +0 -0
  10. data/app/assets/images/jquery-ui/ui-icons_555555_256x240.png +0 -0
  11. data/app/assets/images/jquery-ui/ui-icons_777620_256x240.png +0 -0
  12. data/app/assets/images/jquery-ui/ui-icons_777777_256x240.png +0 -0
  13. data/app/assets/images/jquery-ui/ui-icons_cc0000_256x240.png +0 -0
  14. data/app/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  15. data/app/assets/javascripts/jquery-ui/core.js +15 -304
  16. data/app/assets/javascripts/jquery-ui/data.js +45 -0
  17. data/app/assets/javascripts/jquery-ui/disable-selection.js +51 -0
  18. data/app/assets/javascripts/jquery-ui/effect.all.js +15 -16
  19. data/app/assets/javascripts/jquery-ui/effect.js +565 -891
  20. data/app/assets/javascripts/jquery-ui/effects/effect-blind.js +76 -0
  21. data/app/assets/javascripts/jquery-ui/effects/effect-bounce.js +116 -0
  22. data/app/assets/javascripts/jquery-ui/effects/effect-clip.js +71 -0
  23. data/app/assets/javascripts/jquery-ui/effects/effect-drop.js +75 -0
  24. data/app/assets/javascripts/jquery-ui/effects/effect-explode.js +117 -0
  25. data/app/assets/javascripts/jquery-ui/effects/effect-fade.js +53 -0
  26. data/app/assets/javascripts/jquery-ui/effects/effect-fold.js +95 -0
  27. data/app/assets/javascripts/jquery-ui/effects/effect-highlight.js +63 -0
  28. data/app/assets/javascripts/jquery-ui/effects/effect-puff.js +49 -0
  29. data/app/assets/javascripts/jquery-ui/effects/effect-pulsate.js +70 -0
  30. data/app/assets/javascripts/jquery-ui/effects/effect-scale.js +63 -0
  31. data/app/assets/javascripts/jquery-ui/effects/effect-shake.js +80 -0
  32. data/app/assets/javascripts/jquery-ui/effects/effect-size.js +199 -0
  33. data/app/assets/javascripts/jquery-ui/effects/effect-slide.js +82 -0
  34. data/app/assets/javascripts/jquery-ui/effects/effect-transfer.js +46 -0
  35. data/app/assets/javascripts/jquery-ui/focusable.js +89 -0
  36. data/app/assets/javascripts/jquery-ui/form-reset-mixin.js +83 -0
  37. data/app/assets/javascripts/jquery-ui/form.js +25 -0
  38. data/app/assets/javascripts/jquery-ui/i18n/datepicker-af.js +40 -0
  39. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar-DZ.js +42 -0
  40. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar.js +42 -0
  41. data/app/assets/javascripts/jquery-ui/i18n/datepicker-az.js +40 -0
  42. data/app/assets/javascripts/jquery-ui/i18n/datepicker-be.js +40 -0
  43. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bg.js +41 -0
  44. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bs.js +40 -0
  45. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ca.js +40 -0
  46. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cs.js +40 -0
  47. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cy-GB.js +48 -0
  48. data/app/assets/javascripts/jquery-ui/i18n/datepicker-da.js +40 -0
  49. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de-AT.js +41 -0
  50. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de.js +40 -0
  51. data/app/assets/javascripts/jquery-ui/i18n/datepicker-el.js +40 -0
  52. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-AU.js +40 -0
  53. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-GB.js +40 -0
  54. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-NZ.js +40 -0
  55. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eo.js +40 -0
  56. data/app/assets/javascripts/jquery-ui/i18n/datepicker-es.js +40 -0
  57. data/app/assets/javascripts/jquery-ui/i18n/datepicker-et.js +48 -0
  58. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eu.js +39 -0
  59. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fa.js +76 -0
  60. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fi.js +40 -0
  61. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fo.js +48 -0
  62. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CA.js +40 -0
  63. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CH.js +40 -0
  64. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr.js +42 -0
  65. data/app/assets/javascripts/jquery-ui/i18n/datepicker-gl.js +40 -0
  66. data/app/assets/javascripts/jquery-ui/i18n/datepicker-he.js +40 -0
  67. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hi.js +40 -0
  68. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hr.js +40 -0
  69. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hu.js +39 -0
  70. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hy.js +40 -0
  71. data/app/assets/javascripts/jquery-ui/i18n/datepicker-id.js +40 -0
  72. data/app/assets/javascripts/jquery-ui/i18n/datepicker-is.js +48 -0
  73. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it-CH.js +40 -0
  74. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it.js +40 -0
  75. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ja.js +40 -0
  76. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ka.js +51 -0
  77. data/app/assets/javascripts/jquery-ui/i18n/datepicker-kk.js +40 -0
  78. data/app/assets/javascripts/jquery-ui/i18n/datepicker-km.js +40 -0
  79. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ko.js +40 -0
  80. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ky.js +41 -0
  81. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lb.js +48 -0
  82. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lt.js +48 -0
  83. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lv.js +48 -0
  84. data/app/assets/javascripts/jquery-ui/i18n/datepicker-mk.js +40 -0
  85. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ml.js +40 -0
  86. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ms.js +40 -0
  87. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nb.js +52 -0
  88. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl-BE.js +40 -0
  89. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl.js +40 -0
  90. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nn.js +52 -0
  91. data/app/assets/javascripts/jquery-ui/i18n/datepicker-no.js +53 -0
  92. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pl.js +40 -0
  93. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt-BR.js +48 -0
  94. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt.js +47 -0
  95. data/app/assets/javascripts/jquery-ui/i18n/datepicker-rm.js +64 -0
  96. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ro.js +43 -0
  97. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ru.js +40 -0
  98. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sk.js +40 -0
  99. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sl.js +41 -0
  100. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sq.js +40 -0
  101. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr-SR.js +40 -0
  102. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr.js +40 -0
  103. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sv.js +40 -0
  104. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ta.js +56 -0
  105. data/app/assets/javascripts/jquery-ui/i18n/datepicker-th.js +40 -0
  106. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tj.js +40 -0
  107. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tr.js +40 -0
  108. data/app/assets/javascripts/jquery-ui/i18n/datepicker-uk.js +41 -0
  109. data/app/assets/javascripts/jquery-ui/i18n/datepicker-vi.js +40 -0
  110. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-CN.js +40 -0
  111. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-HK.js +40 -0
  112. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-TW.js +40 -0
  113. data/app/assets/javascripts/jquery-ui/ie.js +20 -0
  114. data/app/assets/javascripts/jquery-ui/jquery-patch.js +91 -0
  115. data/app/assets/javascripts/jquery-ui/jquery-var-for-color.js +24 -0
  116. data/app/assets/javascripts/jquery-ui/keycode.js +51 -0
  117. data/app/assets/javascripts/jquery-ui/labels.js +71 -0
  118. data/app/assets/javascripts/jquery-ui/plugin.js +49 -0
  119. data/app/assets/javascripts/jquery-ui/position.js +107 -111
  120. data/app/assets/javascripts/jquery-ui/safe-active-element.js +46 -0
  121. data/app/assets/javascripts/jquery-ui/safe-blur.js +27 -0
  122. data/app/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
  123. data/app/assets/javascripts/jquery-ui/tabbable.js +41 -0
  124. data/app/assets/javascripts/jquery-ui/unique-id.js +54 -0
  125. data/app/assets/javascripts/jquery-ui/vendor/jquery-color/jquery.color.js +722 -0
  126. data/app/assets/javascripts/jquery-ui/version.js +20 -0
  127. data/app/assets/javascripts/jquery-ui/widget.js +359 -163
  128. data/app/assets/javascripts/jquery-ui/{accordion.js → widgets/accordion.js} +200 -163
  129. data/app/assets/javascripts/jquery-ui/{autocomplete.js → widgets/autocomplete.js} +153 -106
  130. data/app/assets/javascripts/jquery-ui/widgets/button.js +454 -0
  131. data/app/assets/javascripts/jquery-ui/widgets/checkboxradio.js +289 -0
  132. data/app/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
  133. data/app/assets/javascripts/jquery-ui/widgets/datepicker.js +2243 -0
  134. data/app/assets/javascripts/jquery-ui/{dialog.js → widgets/dialog.js} +267 -181
  135. data/app/assets/javascripts/jquery-ui/{draggable.js → widgets/draggable.js} +430 -294
  136. data/app/assets/javascripts/jquery-ui/{droppable.js → widgets/droppable.js} +174 -84
  137. data/app/assets/javascripts/jquery-ui/{menu.js → widgets/menu.js} +228 -158
  138. data/app/assets/javascripts/jquery-ui/widgets/mouse.js +241 -0
  139. data/app/assets/javascripts/jquery-ui/{progressbar.js → widgets/progressbar.js} +63 -41
  140. data/app/assets/javascripts/jquery-ui/widgets/resizable.js +1225 -0
  141. data/app/assets/javascripts/jquery-ui/widgets/selectable.js +321 -0
  142. data/app/assets/javascripts/jquery-ui/{selectmenu.js → widgets/selectmenu.js} +259 -177
  143. data/app/assets/javascripts/jquery-ui/{slider.js → widgets/slider.js} +199 -160
  144. data/app/assets/javascripts/jquery-ui/widgets/sortable.js +1623 -0
  145. data/app/assets/javascripts/jquery-ui/{spinner.js → widgets/spinner.js} +184 -114
  146. data/app/assets/javascripts/jquery-ui/{tabs.js → widgets/tabs.js} +258 -211
  147. data/app/assets/javascripts/jquery-ui/{tooltip.js → widgets/tooltip.js} +165 -100
  148. data/app/assets/javascripts/jquery-ui.js +53 -33
  149. data/app/assets/stylesheets/jquery-ui/accordion.css +1 -15
  150. data/app/assets/stylesheets/jquery-ui/all.css +1 -1
  151. data/app/assets/stylesheets/jquery-ui/autocomplete.css +1 -3
  152. data/app/assets/stylesheets/jquery-ui/base.css +3 -1
  153. data/app/assets/stylesheets/jquery-ui/button.css +35 -68
  154. data/app/assets/stylesheets/jquery-ui/checkboxradio.css +37 -0
  155. data/app/assets/stylesheets/jquery-ui/controlgroup.css +68 -0
  156. data/app/assets/stylesheets/jquery-ui/core.css +12 -8
  157. data/app/assets/stylesheets/jquery-ui/datepicker.css +11 -2
  158. data/app/assets/stylesheets/jquery-ui/dialog.css +38 -11
  159. data/app/assets/stylesheets/jquery-ui/draggable.css +1 -2
  160. data/app/assets/stylesheets/jquery-ui/menu.css +7 -7
  161. data/app/assets/stylesheets/jquery-ui/progressbar.css +2 -3
  162. data/app/assets/stylesheets/jquery-ui/resizable.css +1 -2
  163. data/app/assets/stylesheets/jquery-ui/selectable.css +1 -2
  164. data/app/assets/stylesheets/jquery-ui/selectmenu.css +11 -22
  165. data/app/assets/stylesheets/jquery-ui/slider.css +2 -3
  166. data/app/assets/stylesheets/jquery-ui/sortable.css +1 -2
  167. data/app/assets/stylesheets/jquery-ui/spinner.css +7 -22
  168. data/app/assets/stylesheets/jquery-ui/tabs.css +1 -2
  169. data/app/assets/stylesheets/jquery-ui/theme.css.erb +121 -92
  170. data/app/assets/stylesheets/jquery-ui/tooltip.css +1 -4
  171. data/lib/jquery/ui/rails/version.rb +2 -2
  172. metadata +153 -146
  173. data/app/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  174. data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  175. data/app/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  176. data/app/assets/images/jquery-ui/ui-bg_glass_75_dadada_1x400.png +0 -0
  177. data/app/assets/images/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  178. data/app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  179. data/app/assets/images/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  180. data/app/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
  181. data/app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
  182. data/app/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
  183. data/app/assets/images/jquery-ui/ui-icons_888888_256x240.png +0 -0
  184. data/app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
  185. data/app/assets/javascripts/jquery-ui/button.js +0 -414
  186. data/app/assets/javascripts/jquery-ui/datepicker-af.js +0 -37
  187. data/app/assets/javascripts/jquery-ui/datepicker-ar-DZ.js +0 -37
  188. data/app/assets/javascripts/jquery-ui/datepicker-ar.js +0 -38
  189. data/app/assets/javascripts/jquery-ui/datepicker-az.js +0 -37
  190. data/app/assets/javascripts/jquery-ui/datepicker-be.js +0 -37
  191. data/app/assets/javascripts/jquery-ui/datepicker-bg.js +0 -38
  192. data/app/assets/javascripts/jquery-ui/datepicker-bs.js +0 -37
  193. data/app/assets/javascripts/jquery-ui/datepicker-ca.js +0 -37
  194. data/app/assets/javascripts/jquery-ui/datepicker-cs.js +0 -37
  195. data/app/assets/javascripts/jquery-ui/datepicker-cy-GB.js +0 -37
  196. data/app/assets/javascripts/jquery-ui/datepicker-da.js +0 -37
  197. data/app/assets/javascripts/jquery-ui/datepicker-de.js +0 -37
  198. data/app/assets/javascripts/jquery-ui/datepicker-el.js +0 -37
  199. data/app/assets/javascripts/jquery-ui/datepicker-en-AU.js +0 -37
  200. data/app/assets/javascripts/jquery-ui/datepicker-en-GB.js +0 -37
  201. data/app/assets/javascripts/jquery-ui/datepicker-en-NZ.js +0 -37
  202. data/app/assets/javascripts/jquery-ui/datepicker-eo.js +0 -37
  203. data/app/assets/javascripts/jquery-ui/datepicker-es.js +0 -37
  204. data/app/assets/javascripts/jquery-ui/datepicker-et.js +0 -37
  205. data/app/assets/javascripts/jquery-ui/datepicker-eu.js +0 -36
  206. data/app/assets/javascripts/jquery-ui/datepicker-fa.js +0 -73
  207. data/app/assets/javascripts/jquery-ui/datepicker-fi.js +0 -37
  208. data/app/assets/javascripts/jquery-ui/datepicker-fo.js +0 -37
  209. data/app/assets/javascripts/jquery-ui/datepicker-fr-CA.js +0 -37
  210. data/app/assets/javascripts/jquery-ui/datepicker-fr-CH.js +0 -37
  211. data/app/assets/javascripts/jquery-ui/datepicker-fr.js +0 -39
  212. data/app/assets/javascripts/jquery-ui/datepicker-gl.js +0 -37
  213. data/app/assets/javascripts/jquery-ui/datepicker-he.js +0 -37
  214. data/app/assets/javascripts/jquery-ui/datepicker-hi.js +0 -37
  215. data/app/assets/javascripts/jquery-ui/datepicker-hr.js +0 -37
  216. data/app/assets/javascripts/jquery-ui/datepicker-hu.js +0 -36
  217. data/app/assets/javascripts/jquery-ui/datepicker-hy.js +0 -37
  218. data/app/assets/javascripts/jquery-ui/datepicker-id.js +0 -37
  219. data/app/assets/javascripts/jquery-ui/datepicker-is.js +0 -37
  220. data/app/assets/javascripts/jquery-ui/datepicker-it-CH.js +0 -37
  221. data/app/assets/javascripts/jquery-ui/datepicker-it.js +0 -37
  222. data/app/assets/javascripts/jquery-ui/datepicker-ja.js +0 -37
  223. data/app/assets/javascripts/jquery-ui/datepicker-ka.js +0 -35
  224. data/app/assets/javascripts/jquery-ui/datepicker-kk.js +0 -37
  225. data/app/assets/javascripts/jquery-ui/datepicker-km.js +0 -37
  226. data/app/assets/javascripts/jquery-ui/datepicker-ko.js +0 -37
  227. data/app/assets/javascripts/jquery-ui/datepicker-ky.js +0 -38
  228. data/app/assets/javascripts/jquery-ui/datepicker-lb.js +0 -37
  229. data/app/assets/javascripts/jquery-ui/datepicker-lt.js +0 -37
  230. data/app/assets/javascripts/jquery-ui/datepicker-lv.js +0 -37
  231. data/app/assets/javascripts/jquery-ui/datepicker-mk.js +0 -37
  232. data/app/assets/javascripts/jquery-ui/datepicker-ml.js +0 -37
  233. data/app/assets/javascripts/jquery-ui/datepicker-ms.js +0 -37
  234. data/app/assets/javascripts/jquery-ui/datepicker-nb.js +0 -36
  235. data/app/assets/javascripts/jquery-ui/datepicker-nl-BE.js +0 -37
  236. data/app/assets/javascripts/jquery-ui/datepicker-nl.js +0 -37
  237. data/app/assets/javascripts/jquery-ui/datepicker-nn.js +0 -36
  238. data/app/assets/javascripts/jquery-ui/datepicker-no.js +0 -37
  239. data/app/assets/javascripts/jquery-ui/datepicker-pl.js +0 -37
  240. data/app/assets/javascripts/jquery-ui/datepicker-pt-BR.js +0 -37
  241. data/app/assets/javascripts/jquery-ui/datepicker-pt.js +0 -36
  242. data/app/assets/javascripts/jquery-ui/datepicker-rm.js +0 -35
  243. data/app/assets/javascripts/jquery-ui/datepicker-ro.js +0 -40
  244. data/app/assets/javascripts/jquery-ui/datepicker-ru.js +0 -37
  245. data/app/assets/javascripts/jquery-ui/datepicker-sk.js +0 -37
  246. data/app/assets/javascripts/jquery-ui/datepicker-sl.js +0 -38
  247. data/app/assets/javascripts/jquery-ui/datepicker-sq.js +0 -37
  248. data/app/assets/javascripts/jquery-ui/datepicker-sr-SR.js +0 -37
  249. data/app/assets/javascripts/jquery-ui/datepicker-sr.js +0 -37
  250. data/app/assets/javascripts/jquery-ui/datepicker-sv.js +0 -37
  251. data/app/assets/javascripts/jquery-ui/datepicker-ta.js +0 -37
  252. data/app/assets/javascripts/jquery-ui/datepicker-th.js +0 -37
  253. data/app/assets/javascripts/jquery-ui/datepicker-tj.js +0 -37
  254. data/app/assets/javascripts/jquery-ui/datepicker-tr.js +0 -37
  255. data/app/assets/javascripts/jquery-ui/datepicker-uk.js +0 -38
  256. data/app/assets/javascripts/jquery-ui/datepicker-vi.js +0 -37
  257. data/app/assets/javascripts/jquery-ui/datepicker-zh-CN.js +0 -37
  258. data/app/assets/javascripts/jquery-ui/datepicker-zh-HK.js +0 -37
  259. data/app/assets/javascripts/jquery-ui/datepicker-zh-TW.js +0 -37
  260. data/app/assets/javascripts/jquery-ui/datepicker.js +0 -2086
  261. data/app/assets/javascripts/jquery-ui/effect-blind.js +0 -92
  262. data/app/assets/javascripts/jquery-ui/effect-bounce.js +0 -125
  263. data/app/assets/javascripts/jquery-ui/effect-clip.js +0 -79
  264. data/app/assets/javascripts/jquery-ui/effect-drop.js +0 -77
  265. data/app/assets/javascripts/jquery-ui/effect-explode.js +0 -109
  266. data/app/assets/javascripts/jquery-ui/effect-fade.js +0 -42
  267. data/app/assets/javascripts/jquery-ui/effect-fold.js +0 -88
  268. data/app/assets/javascripts/jquery-ui/effect-highlight.js +0 -62
  269. data/app/assets/javascripts/jquery-ui/effect-puff.js +0 -63
  270. data/app/assets/javascripts/jquery-ui/effect-pulsate.js +0 -75
  271. data/app/assets/javascripts/jquery-ui/effect-scale.js +0 -92
  272. data/app/assets/javascripts/jquery-ui/effect-shake.js +0 -86
  273. data/app/assets/javascripts/jquery-ui/effect-size.js +0 -235
  274. data/app/assets/javascripts/jquery-ui/effect-slide.js +0 -76
  275. data/app/assets/javascripts/jquery-ui/effect-transfer.js +0 -59
  276. data/app/assets/javascripts/jquery-ui/mouse.js +0 -202
  277. data/app/assets/javascripts/jquery-ui/resizable.js +0 -1183
  278. data/app/assets/javascripts/jquery-ui/selectable.js +0 -291
  279. data/app/assets/javascripts/jquery-ui/sortable.js +0 -1308
@@ -1,113 +1,132 @@
1
+ //= require jquery-ui/version
2
+
1
3
  /*!
2
- * jQuery UI Widget 1.11.3
4
+ * jQuery UI Widget 1.13.0
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/jQuery.widget/
10
10
  */
11
- (function( factory ) {
11
+
12
+ //>>label: Widget
13
+ //>>group: Core
14
+ //>>description: Provides a factory for creating stateful widgets with a common API.
15
+ //>>docs: http://api.jqueryui.com/jQuery.widget/
16
+ //>>demos: http://jqueryui.com/widget/
17
+
18
+ ( function( factory ) {
19
+ "use strict";
20
+
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( $ ) {
31
+ "use strict";
22
32
 
23
- var widget_uuid = 0,
24
- widget_slice = Array.prototype.slice;
33
+ var widgetUuid = 0;
34
+ var widgetHasOwnProperty = Array.prototype.hasOwnProperty;
35
+ var widgetSlice = Array.prototype.slice;
25
36
 
26
- $.cleanData = (function( orig ) {
37
+ $.cleanData = ( function( orig ) {
27
38
  return function( elems ) {
28
39
  var events, elem, i;
29
- for ( i = 0; (elem = elems[i]) != null; i++ ) {
30
- try {
31
-
32
- // Only trigger remove when necessary to save time
33
- events = $._data( elem, "events" );
34
- if ( events && events.remove ) {
35
- $( elem ).triggerHandler( "remove" );
36
- }
40
+ for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {
37
41
 
38
- // http://bugs.jquery.com/ticket/8235
39
- } catch ( e ) {}
42
+ // Only trigger remove when necessary to save time
43
+ events = $._data( elem, "events" );
44
+ if ( events && events.remove ) {
45
+ $( elem ).triggerHandler( "remove" );
46
+ }
40
47
  }
41
48
  orig( elems );
42
49
  };
43
- })( $.cleanData );
50
+ } )( $.cleanData );
44
51
 
45
52
  $.widget = function( name, base, prototype ) {
46
- var fullName, existingConstructor, constructor, basePrototype,
47
- // proxiedPrototype allows the provided prototype to remain unmodified
48
- // so that it can be used as a mixin for multiple widgets (#8876)
49
- proxiedPrototype = {},
50
- namespace = name.split( "." )[ 0 ];
53
+ var existingConstructor, constructor, basePrototype;
54
+
55
+ // ProxiedPrototype allows the provided prototype to remain unmodified
56
+ // so that it can be used as a mixin for multiple widgets (#8876)
57
+ var proxiedPrototype = {};
51
58
 
59
+ var namespace = name.split( "." )[ 0 ];
52
60
  name = name.split( "." )[ 1 ];
53
- fullName = namespace + "-" + name;
61
+ var fullName = namespace + "-" + name;
54
62
 
55
63
  if ( !prototype ) {
56
64
  prototype = base;
57
65
  base = $.Widget;
58
66
  }
59
67
 
60
- // create selector for plugin
61
- $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
68
+ if ( Array.isArray( prototype ) ) {
69
+ prototype = $.extend.apply( null, [ {} ].concat( prototype ) );
70
+ }
71
+
72
+ // Create selector for plugin
73
+ $.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) {
62
74
  return !!$.data( elem, fullName );
63
75
  };
64
76
 
65
77
  $[ namespace ] = $[ namespace ] || {};
66
78
  existingConstructor = $[ namespace ][ name ];
67
79
  constructor = $[ namespace ][ name ] = function( options, element ) {
68
- // allow instantiation without "new" keyword
80
+
81
+ // Allow instantiation without "new" keyword
69
82
  if ( !this._createWidget ) {
70
83
  return new constructor( options, element );
71
84
  }
72
85
 
73
- // allow instantiation without initializing for simple inheritance
86
+ // Allow instantiation without initializing for simple inheritance
74
87
  // must use "new" keyword (the code above always passes args)
75
88
  if ( arguments.length ) {
76
89
  this._createWidget( options, element );
77
90
  }
78
91
  };
79
- // extend with the existing constructor to carry over any static properties
92
+
93
+ // Extend with the existing constructor to carry over any static properties
80
94
  $.extend( constructor, existingConstructor, {
81
95
  version: prototype.version,
82
- // copy the object used to create the prototype in case we need to
96
+
97
+ // Copy the object used to create the prototype in case we need to
83
98
  // redefine the widget later
84
99
  _proto: $.extend( {}, prototype ),
85
- // track widgets that inherit from this widget in case this widget is
100
+
101
+ // Track widgets that inherit from this widget in case this widget is
86
102
  // redefined after a widget inherits from it
87
103
  _childConstructors: []
88
- });
104
+ } );
89
105
 
90
106
  basePrototype = new base();
91
- // we need to make the options hash a property directly on the new instance
107
+
108
+ // We need to make the options hash a property directly on the new instance
92
109
  // otherwise we'll modify the options hash on the prototype that we're
93
110
  // inheriting from
94
111
  basePrototype.options = $.widget.extend( {}, basePrototype.options );
95
112
  $.each( prototype, function( prop, value ) {
96
- if ( !$.isFunction( value ) ) {
113
+ if ( typeof value !== "function" ) {
97
114
  proxiedPrototype[ prop ] = value;
98
115
  return;
99
116
  }
100
- proxiedPrototype[ prop ] = (function() {
101
- var _super = function() {
102
- return base.prototype[ prop ].apply( this, arguments );
103
- },
104
- _superApply = function( args ) {
105
- return base.prototype[ prop ].apply( this, args );
106
- };
117
+ proxiedPrototype[ prop ] = ( function() {
118
+ function _super() {
119
+ return base.prototype[ prop ].apply( this, arguments );
120
+ }
121
+
122
+ function _superApply( args ) {
123
+ return base.prototype[ prop ].apply( this, args );
124
+ }
125
+
107
126
  return function() {
108
- var __super = this._super,
109
- __superApply = this._superApply,
110
- returnValue;
127
+ var __super = this._super;
128
+ var __superApply = this._superApply;
129
+ var returnValue;
111
130
 
112
131
  this._super = _super;
113
132
  this._superApply = _superApply;
@@ -119,19 +138,20 @@ $.widget = function( name, base, prototype ) {
119
138
 
120
139
  return returnValue;
121
140
  };
122
- })();
123
- });
141
+ } )();
142
+ } );
124
143
  constructor.prototype = $.widget.extend( basePrototype, {
144
+
125
145
  // TODO: remove support for widgetEventPrefix
126
146
  // always use the name + a colon as the prefix, e.g., draggable:start
127
147
  // don't prefix for widgets that aren't DOM-based
128
- widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
148
+ widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name
129
149
  }, proxiedPrototype, {
130
150
  constructor: constructor,
131
151
  namespace: namespace,
132
152
  widgetName: name,
133
153
  widgetFullName: fullName
134
- });
154
+ } );
135
155
 
136
156
  // If this widget is being redefined then we need to find all widgets that
137
157
  // are inheriting from it and redefine all of them so that they inherit from
@@ -141,11 +161,13 @@ $.widget = function( name, base, prototype ) {
141
161
  $.each( existingConstructor._childConstructors, function( i, child ) {
142
162
  var childPrototype = child.prototype;
143
163
 
144
- // redefine the child widget using the same prototype that was
164
+ // Redefine the child widget using the same prototype that was
145
165
  // originally used, but inherit from the new version of the base
146
- $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
147
- });
148
- // remove the list of existing child constructors from the old constructor
166
+ $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor,
167
+ child._proto );
168
+ } );
169
+
170
+ // Remove the list of existing child constructors from the old constructor
149
171
  // so the old child constructors can be garbage collected
150
172
  delete existingConstructor._childConstructors;
151
173
  } else {
@@ -158,21 +180,25 @@ $.widget = function( name, base, prototype ) {
158
180
  };
159
181
 
160
182
  $.widget.extend = function( target ) {
161
- var input = widget_slice.call( arguments, 1 ),
162
- inputIndex = 0,
163
- inputLength = input.length,
164
- key,
165
- value;
183
+ var input = widgetSlice.call( arguments, 1 );
184
+ var inputIndex = 0;
185
+ var inputLength = input.length;
186
+ var key;
187
+ var value;
188
+
166
189
  for ( ; inputIndex < inputLength; inputIndex++ ) {
167
190
  for ( key in input[ inputIndex ] ) {
168
191
  value = input[ inputIndex ][ key ];
169
- if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
192
+ if ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) {
193
+
170
194
  // Clone objects
171
195
  if ( $.isPlainObject( value ) ) {
172
196
  target[ key ] = $.isPlainObject( target[ key ] ) ?
173
197
  $.widget.extend( {}, target[ key ], value ) :
198
+
174
199
  // Don't extend strings, arrays, etc. with objects
175
200
  $.widget.extend( {}, value );
201
+
176
202
  // Copy everything else by reference
177
203
  } else {
178
204
  target[ key ] = value;
@@ -186,41 +212,56 @@ $.widget.extend = function( target ) {
186
212
  $.widget.bridge = function( name, object ) {
187
213
  var fullName = object.prototype.widgetFullName || name;
188
214
  $.fn[ name ] = function( options ) {
189
- var isMethodCall = typeof options === "string",
190
- args = widget_slice.call( arguments, 1 ),
191
- returnValue = this;
215
+ var isMethodCall = typeof options === "string";
216
+ var args = widgetSlice.call( arguments, 1 );
217
+ var returnValue = this;
192
218
 
193
219
  if ( isMethodCall ) {
194
- this.each(function() {
195
- var methodValue,
196
- instance = $.data( this, fullName );
197
- if ( options === "instance" ) {
198
- returnValue = instance;
199
- return false;
200
- }
201
- if ( !instance ) {
202
- return $.error( "cannot call methods on " + name + " prior to initialization; " +
203
- "attempted to call method '" + options + "'" );
204
- }
205
- if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
206
- return $.error( "no such method '" + options + "' for " + name + " widget instance" );
207
- }
208
- methodValue = instance[ options ].apply( instance, args );
209
- if ( methodValue !== instance && methodValue !== undefined ) {
210
- returnValue = methodValue && methodValue.jquery ?
211
- returnValue.pushStack( methodValue.get() ) :
212
- methodValue;
213
- return false;
214
- }
215
- });
220
+
221
+ // If this is an empty collection, we need to have the instance method
222
+ // return undefined instead of the jQuery instance
223
+ if ( !this.length && options === "instance" ) {
224
+ returnValue = undefined;
225
+ } else {
226
+ this.each( function() {
227
+ var methodValue;
228
+ var instance = $.data( this, fullName );
229
+
230
+ if ( options === "instance" ) {
231
+ returnValue = instance;
232
+ return false;
233
+ }
234
+
235
+ if ( !instance ) {
236
+ return $.error( "cannot call methods on " + name +
237
+ " prior to initialization; " +
238
+ "attempted to call method '" + options + "'" );
239
+ }
240
+
241
+ if ( typeof instance[ options ] !== "function" ||
242
+ options.charAt( 0 ) === "_" ) {
243
+ return $.error( "no such method '" + options + "' for " + name +
244
+ " widget instance" );
245
+ }
246
+
247
+ methodValue = instance[ options ].apply( instance, args );
248
+
249
+ if ( methodValue !== instance && methodValue !== undefined ) {
250
+ returnValue = methodValue && methodValue.jquery ?
251
+ returnValue.pushStack( methodValue.get() ) :
252
+ methodValue;
253
+ return false;
254
+ }
255
+ } );
256
+ }
216
257
  } else {
217
258
 
218
259
  // Allow multiple hashes to be passed on init
219
260
  if ( args.length ) {
220
- options = $.widget.extend.apply( null, [ options ].concat(args) );
261
+ options = $.widget.extend.apply( null, [ options ].concat( args ) );
221
262
  }
222
263
 
223
- this.each(function() {
264
+ this.each( function() {
224
265
  var instance = $.data( this, fullName );
225
266
  if ( instance ) {
226
267
  instance.option( options || {} );
@@ -230,7 +271,7 @@ $.widget.bridge = function( name, object ) {
230
271
  } else {
231
272
  $.data( this, fullName, new object( options, this ) );
232
273
  }
233
- });
274
+ } );
234
275
  }
235
276
 
236
277
  return returnValue;
@@ -244,21 +285,25 @@ $.Widget.prototype = {
244
285
  widgetName: "widget",
245
286
  widgetEventPrefix: "",
246
287
  defaultElement: "<div>",
288
+
247
289
  options: {
290
+ classes: {},
248
291
  disabled: false,
249
292
 
250
- // callbacks
293
+ // Callbacks
251
294
  create: null
252
295
  },
296
+
253
297
  _createWidget: function( options, element ) {
254
298
  element = $( element || this.defaultElement || this )[ 0 ];
255
299
  this.element = $( element );
256
- this.uuid = widget_uuid++;
300
+ this.uuid = widgetUuid++;
257
301
  this.eventNamespace = "." + this.widgetName + this.uuid;
258
302
 
259
303
  this.bindings = $();
260
304
  this.hoverable = $();
261
305
  this.focusable = $();
306
+ this.classesElementLookup = {};
262
307
 
263
308
  if ( element !== this ) {
264
309
  $.data( element, this.widgetFullName, this );
@@ -268,13 +313,15 @@ $.Widget.prototype = {
268
313
  this.destroy();
269
314
  }
270
315
  }
271
- });
316
+ } );
272
317
  this.document = $( element.style ?
273
- // element within the document
318
+
319
+ // Element within the document
274
320
  element.ownerDocument :
275
- // element is window or document
321
+
322
+ // Element is window or document
276
323
  element.document || element );
277
- this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
324
+ this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );
278
325
  }
279
326
 
280
327
  this.options = $.widget.extend( {},
@@ -283,36 +330,46 @@ $.Widget.prototype = {
283
330
  options );
284
331
 
285
332
  this._create();
333
+
334
+ if ( this.options.disabled ) {
335
+ this._setOptionDisabled( this.options.disabled );
336
+ }
337
+
286
338
  this._trigger( "create", null, this._getCreateEventData() );
287
339
  this._init();
288
340
  },
289
- _getCreateOptions: $.noop,
341
+
342
+ _getCreateOptions: function() {
343
+ return {};
344
+ },
345
+
290
346
  _getCreateEventData: $.noop,
347
+
291
348
  _create: $.noop,
349
+
292
350
  _init: $.noop,
293
351
 
294
352
  destroy: function() {
353
+ var that = this;
354
+
295
355
  this._destroy();
296
- // we can probably remove the unbind calls in 2.0
356
+ $.each( this.classesElementLookup, function( key, value ) {
357
+ that._removeClass( value, key );
358
+ } );
359
+
360
+ // We can probably remove the unbind calls in 2.0
297
361
  // all event bindings should go through this._on()
298
362
  this.element
299
- .unbind( this.eventNamespace )
300
- .removeData( this.widgetFullName )
301
- // support: jquery <1.6.3
302
- // http://bugs.jquery.com/ticket/9413
303
- .removeData( $.camelCase( this.widgetFullName ) );
363
+ .off( this.eventNamespace )
364
+ .removeData( this.widgetFullName );
304
365
  this.widget()
305
- .unbind( this.eventNamespace )
306
- .removeAttr( "aria-disabled" )
307
- .removeClass(
308
- this.widgetFullName + "-disabled " +
309
- "ui-state-disabled" );
310
-
311
- // clean up events and states
312
- this.bindings.unbind( this.eventNamespace );
313
- this.hoverable.removeClass( "ui-state-hover" );
314
- this.focusable.removeClass( "ui-state-focus" );
366
+ .off( this.eventNamespace )
367
+ .removeAttr( "aria-disabled" );
368
+
369
+ // Clean up events and states
370
+ this.bindings.off( this.eventNamespace );
315
371
  },
372
+
316
373
  _destroy: $.noop,
317
374
 
318
375
  widget: function() {
@@ -320,18 +377,20 @@ $.Widget.prototype = {
320
377
  },
321
378
 
322
379
  option: function( key, value ) {
323
- var options = key,
324
- parts,
325
- curOption,
326
- i;
380
+ var options = key;
381
+ var parts;
382
+ var curOption;
383
+ var i;
327
384
 
328
385
  if ( arguments.length === 0 ) {
329
- // don't return a reference to the internal hash
386
+
387
+ // Don't return a reference to the internal hash
330
388
  return $.widget.extend( {}, this.options );
331
389
  }
332
390
 
333
391
  if ( typeof key === "string" ) {
334
- // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
392
+
393
+ // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
335
394
  options = {};
336
395
  parts = key.split( "." );
337
396
  key = parts.shift();
@@ -358,6 +417,7 @@ $.Widget.prototype = {
358
417
 
359
418
  return this;
360
419
  },
420
+
361
421
  _setOptions: function( options ) {
362
422
  var key;
363
423
 
@@ -367,42 +427,168 @@ $.Widget.prototype = {
367
427
 
368
428
  return this;
369
429
  },
430
+
370
431
  _setOption: function( key, value ) {
432
+ if ( key === "classes" ) {
433
+ this._setOptionClasses( value );
434
+ }
435
+
371
436
  this.options[ key ] = value;
372
437
 
373
438
  if ( key === "disabled" ) {
374
- this.widget()
375
- .toggleClass( this.widgetFullName + "-disabled", !!value );
439
+ this._setOptionDisabled( value );
440
+ }
376
441
 
377
- // If the widget is becoming disabled, then nothing is interactive
378
- if ( value ) {
379
- this.hoverable.removeClass( "ui-state-hover" );
380
- this.focusable.removeClass( "ui-state-focus" );
442
+ return this;
443
+ },
444
+
445
+ _setOptionClasses: function( value ) {
446
+ var classKey, elements, currentElements;
447
+
448
+ for ( classKey in value ) {
449
+ currentElements = this.classesElementLookup[ classKey ];
450
+ if ( value[ classKey ] === this.options.classes[ classKey ] ||
451
+ !currentElements ||
452
+ !currentElements.length ) {
453
+ continue;
381
454
  }
455
+
456
+ // We are doing this to create a new jQuery object because the _removeClass() call
457
+ // on the next line is going to destroy the reference to the current elements being
458
+ // tracked. We need to save a copy of this collection so that we can add the new classes
459
+ // below.
460
+ elements = $( currentElements.get() );
461
+ this._removeClass( currentElements, classKey );
462
+
463
+ // We don't use _addClass() here, because that uses this.options.classes
464
+ // for generating the string of classes. We want to use the value passed in from
465
+ // _setOption(), this is the new value of the classes option which was passed to
466
+ // _setOption(). We pass this value directly to _classes().
467
+ elements.addClass( this._classes( {
468
+ element: elements,
469
+ keys: classKey,
470
+ classes: value,
471
+ add: true
472
+ } ) );
382
473
  }
474
+ },
383
475
 
384
- return this;
476
+ _setOptionDisabled: function( value ) {
477
+ this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value );
478
+
479
+ // If the widget is becoming disabled, then nothing is interactive
480
+ if ( value ) {
481
+ this._removeClass( this.hoverable, null, "ui-state-hover" );
482
+ this._removeClass( this.focusable, null, "ui-state-focus" );
483
+ }
385
484
  },
386
485
 
387
486
  enable: function() {
388
- return this._setOptions({ disabled: false });
487
+ return this._setOptions( { disabled: false } );
389
488
  },
489
+
390
490
  disable: function() {
391
- return this._setOptions({ disabled: true });
491
+ return this._setOptions( { disabled: true } );
492
+ },
493
+
494
+ _classes: function( options ) {
495
+ var full = [];
496
+ var that = this;
497
+
498
+ options = $.extend( {
499
+ element: this.element,
500
+ classes: this.options.classes || {}
501
+ }, options );
502
+
503
+ function bindRemoveEvent() {
504
+ options.element.each( function( _, element ) {
505
+ var isTracked = $.map( that.classesElementLookup, function( elements ) {
506
+ return elements;
507
+ } )
508
+ .some( function( elements ) {
509
+ return elements.is( element );
510
+ } );
511
+
512
+ if ( !isTracked ) {
513
+ that._on( $( element ), {
514
+ remove: "_untrackClassesElement"
515
+ } );
516
+ }
517
+ } );
518
+ }
519
+
520
+ function processClassString( classes, checkOption ) {
521
+ var current, i;
522
+ for ( i = 0; i < classes.length; i++ ) {
523
+ current = that.classesElementLookup[ classes[ i ] ] || $();
524
+ if ( options.add ) {
525
+ bindRemoveEvent();
526
+ current = $( $.uniqueSort( current.get().concat( options.element.get() ) ) );
527
+ } else {
528
+ current = $( current.not( options.element ).get() );
529
+ }
530
+ that.classesElementLookup[ classes[ i ] ] = current;
531
+ full.push( classes[ i ] );
532
+ if ( checkOption && options.classes[ classes[ i ] ] ) {
533
+ full.push( options.classes[ classes[ i ] ] );
534
+ }
535
+ }
536
+ }
537
+
538
+ if ( options.keys ) {
539
+ processClassString( options.keys.match( /\S+/g ) || [], true );
540
+ }
541
+ if ( options.extra ) {
542
+ processClassString( options.extra.match( /\S+/g ) || [] );
543
+ }
544
+
545
+ return full.join( " " );
546
+ },
547
+
548
+ _untrackClassesElement: function( event ) {
549
+ var that = this;
550
+ $.each( that.classesElementLookup, function( key, value ) {
551
+ if ( $.inArray( event.target, value ) !== -1 ) {
552
+ that.classesElementLookup[ key ] = $( value.not( event.target ).get() );
553
+ }
554
+ } );
555
+
556
+ this._off( $( event.target ) );
557
+ },
558
+
559
+ _removeClass: function( element, keys, extra ) {
560
+ return this._toggleClass( element, keys, extra, false );
561
+ },
562
+
563
+ _addClass: function( element, keys, extra ) {
564
+ return this._toggleClass( element, keys, extra, true );
565
+ },
566
+
567
+ _toggleClass: function( element, keys, extra, add ) {
568
+ add = ( typeof add === "boolean" ) ? add : extra;
569
+ var shift = ( typeof element === "string" || element === null ),
570
+ options = {
571
+ extra: shift ? keys : extra,
572
+ keys: shift ? element : keys,
573
+ element: shift ? this.element : element,
574
+ add: add
575
+ };
576
+ options.element.toggleClass( this._classes( options ), add );
577
+ return this;
392
578
  },
393
579
 
394
580
  _on: function( suppressDisabledCheck, element, handlers ) {
395
- var delegateElement,
396
- instance = this;
581
+ var delegateElement;
582
+ var instance = this;
397
583
 
398
- // no suppressDisabledCheck flag, shuffle arguments
584
+ // No suppressDisabledCheck flag, shuffle arguments
399
585
  if ( typeof suppressDisabledCheck !== "boolean" ) {
400
586
  handlers = element;
401
587
  element = suppressDisabledCheck;
402
588
  suppressDisabledCheck = false;
403
589
  }
404
590
 
405
- // no element argument, shuffle and use this.element
591
+ // No element argument, shuffle and use this.element
406
592
  if ( !handlers ) {
407
593
  handlers = element;
408
594
  element = this.element;
@@ -414,39 +600,41 @@ $.Widget.prototype = {
414
600
 
415
601
  $.each( handlers, function( event, handler ) {
416
602
  function handlerProxy() {
417
- // allow widgets to customize the disabled handling
603
+
604
+ // Allow widgets to customize the disabled handling
418
605
  // - disabled as an array instead of boolean
419
606
  // - disabled class as method for disabling individual parts
420
607
  if ( !suppressDisabledCheck &&
421
608
  ( instance.options.disabled === true ||
422
- $( this ).hasClass( "ui-state-disabled" ) ) ) {
609
+ $( this ).hasClass( "ui-state-disabled" ) ) ) {
423
610
  return;
424
611
  }
425
612
  return ( typeof handler === "string" ? instance[ handler ] : handler )
426
613
  .apply( instance, arguments );
427
614
  }
428
615
 
429
- // copy the guid so direct unbinding works
616
+ // Copy the guid so direct unbinding works
430
617
  if ( typeof handler !== "string" ) {
431
618
  handlerProxy.guid = handler.guid =
432
619
  handler.guid || handlerProxy.guid || $.guid++;
433
620
  }
434
621
 
435
- var match = event.match( /^([\w:-]*)\s*(.*)$/ ),
436
- eventName = match[1] + instance.eventNamespace,
437
- selector = match[2];
622
+ var match = event.match( /^([\w:-]*)\s*(.*)$/ );
623
+ var eventName = match[ 1 ] + instance.eventNamespace;
624
+ var selector = match[ 2 ];
625
+
438
626
  if ( selector ) {
439
- delegateElement.delegate( selector, eventName, handlerProxy );
627
+ delegateElement.on( eventName, selector, handlerProxy );
440
628
  } else {
441
- element.bind( eventName, handlerProxy );
629
+ element.on( eventName, handlerProxy );
442
630
  }
443
- });
631
+ } );
444
632
  },
445
633
 
446
634
  _off: function( element, eventName ) {
447
- eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) +
635
+ eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) +
448
636
  this.eventNamespace;
449
- element.unbind( eventName ).undelegate( eventName );
637
+ element.off( eventName );
450
638
 
451
639
  // Clear the stack to avoid memory leaks (#10056)
452
640
  this.bindings = $( this.bindings.not( element ).get() );
@@ -467,40 +655,41 @@ $.Widget.prototype = {
467
655
  this.hoverable = this.hoverable.add( element );
468
656
  this._on( element, {
469
657
  mouseenter: function( event ) {
470
- $( event.currentTarget ).addClass( "ui-state-hover" );
658
+ this._addClass( $( event.currentTarget ), null, "ui-state-hover" );
471
659
  },
472
660
  mouseleave: function( event ) {
473
- $( event.currentTarget ).removeClass( "ui-state-hover" );
661
+ this._removeClass( $( event.currentTarget ), null, "ui-state-hover" );
474
662
  }
475
- });
663
+ } );
476
664
  },
477
665
 
478
666
  _focusable: function( element ) {
479
667
  this.focusable = this.focusable.add( element );
480
668
  this._on( element, {
481
669
  focusin: function( event ) {
482
- $( event.currentTarget ).addClass( "ui-state-focus" );
670
+ this._addClass( $( event.currentTarget ), null, "ui-state-focus" );
483
671
  },
484
672
  focusout: function( event ) {
485
- $( event.currentTarget ).removeClass( "ui-state-focus" );
673
+ this._removeClass( $( event.currentTarget ), null, "ui-state-focus" );
486
674
  }
487
- });
675
+ } );
488
676
  },
489
677
 
490
678
  _trigger: function( type, event, data ) {
491
- var prop, orig,
492
- callback = this.options[ type ];
679
+ var prop, orig;
680
+ var callback = this.options[ type ];
493
681
 
494
682
  data = data || {};
495
683
  event = $.Event( event );
496
684
  event.type = ( type === this.widgetEventPrefix ?
497
685
  type :
498
686
  this.widgetEventPrefix + type ).toLowerCase();
499
- // the original event may come from any element
687
+
688
+ // The original event may come from any element
500
689
  // so we need to reset the target on the new event
501
690
  event.target = this.element[ 0 ];
502
691
 
503
- // copy original event properties over to the new event
692
+ // Copy original event properties over to the new event
504
693
  orig = event.originalEvent;
505
694
  if ( orig ) {
506
695
  for ( prop in orig ) {
@@ -511,8 +700,8 @@ $.Widget.prototype = {
511
700
  }
512
701
 
513
702
  this.element.trigger( event, data );
514
- return !( $.isFunction( callback ) &&
515
- callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
703
+ return !( typeof callback === "function" &&
704
+ callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||
516
705
  event.isDefaultPrevented() );
517
706
  }
518
707
  };
@@ -522,37 +711,44 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
522
711
  if ( typeof options === "string" ) {
523
712
  options = { effect: options };
524
713
  }
525
- var hasOptions,
526
- effectName = !options ?
527
- method :
528
- options === true || typeof options === "number" ?
529
- defaultEffect :
530
- options.effect || defaultEffect;
714
+
715
+ var hasOptions;
716
+ var effectName = !options ?
717
+ method :
718
+ options === true || typeof options === "number" ?
719
+ defaultEffect :
720
+ options.effect || defaultEffect;
721
+
531
722
  options = options || {};
532
723
  if ( typeof options === "number" ) {
533
724
  options = { duration: options };
725
+ } else if ( options === true ) {
726
+ options = {};
534
727
  }
728
+
535
729
  hasOptions = !$.isEmptyObject( options );
536
730
  options.complete = callback;
731
+
537
732
  if ( options.delay ) {
538
733
  element.delay( options.delay );
539
734
  }
735
+
540
736
  if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
541
737
  element[ method ]( options );
542
738
  } else if ( effectName !== method && element[ effectName ] ) {
543
739
  element[ effectName ]( options.duration, options.easing, callback );
544
740
  } else {
545
- element.queue(function( next ) {
741
+ element.queue( function( next ) {
546
742
  $( this )[ method ]();
547
743
  if ( callback ) {
548
744
  callback.call( element[ 0 ] );
549
745
  }
550
746
  next();
551
- });
747
+ } );
552
748
  }
553
749
  };
554
- });
750
+ } );
555
751
 
556
752
  return $.widget;
557
753
 
558
- }));
754
+ } );