jquery-ui-rails 5.0.4 → 7.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.
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
+ } );