jquery-ui-rails 4.2.1 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +7 -0
  2. data/.gitmodules +1 -1
  3. data/.travis.yml +1 -1
  4. data/History.md +41 -2
  5. data/README.md +100 -83
  6. data/Rakefile +82 -49
  7. data/VERSIONS.md +9 -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 -0
  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 -0
  19. data/app/assets/javascripts/jquery-ui/effect.js +975 -0
  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 → jquery-ui/position.js} +120 -108
  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 +754 -0
  128. data/app/assets/javascripts/{jquery.ui.accordion.js → jquery-ui/widgets/accordion.js} +257 -203
  129. data/app/assets/javascripts/{jquery.ui.autocomplete.js → jquery-ui/widgets/autocomplete.js} +202 -133
  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/widgets/dialog.js +968 -0
  135. data/app/assets/javascripts/jquery-ui/widgets/draggable.js +1268 -0
  136. data/app/assets/javascripts/jquery-ui/widgets/droppable.js +508 -0
  137. data/app/assets/javascripts/{jquery.ui.menu.js → jquery-ui/widgets/menu.js} +276 -187
  138. data/app/assets/javascripts/jquery-ui/widgets/mouse.js +241 -0
  139. data/app/assets/javascripts/jquery-ui/widgets/progressbar.js +184 -0
  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/widgets/selectmenu.js +702 -0
  143. data/app/assets/javascripts/{jquery.ui.slider.js → jquery-ui/widgets/slider.js} +254 -174
  144. data/app/assets/javascripts/jquery-ui/widgets/sortable.js +1623 -0
  145. data/app/assets/javascripts/{jquery.ui.spinner.js → jquery-ui/widgets/spinner.js} +206 -119
  146. data/app/assets/javascripts/{jquery.ui.tabs.js → jquery-ui/widgets/tabs.js} +334 -255
  147. data/app/assets/javascripts/jquery-ui/widgets/tooltip.js +530 -0
  148. data/app/assets/javascripts/jquery-ui.js +57 -0
  149. data/app/assets/stylesheets/jquery-ui/accordion.css +26 -0
  150. data/app/assets/stylesheets/{jquery.ui.all.css.erb → jquery-ui/all.css} +4 -4
  151. data/app/assets/stylesheets/{jquery.ui.autocomplete.css.erb → jquery-ui/autocomplete.css} +3 -5
  152. data/app/assets/stylesheets/jquery-ui/base.css +32 -0
  153. data/app/assets/stylesheets/jquery-ui/button.css +85 -0
  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.erb → jquery-ui/core.css} +16 -9
  157. data/app/assets/stylesheets/{jquery.ui.datepicker.css.erb → jquery-ui/datepicker.css} +14 -5
  158. data/app/assets/stylesheets/{jquery.ui.dialog.css.erb → jquery-ui/dialog.css} +40 -12
  159. data/app/assets/stylesheets/jquery-ui/draggable.css +15 -0
  160. data/app/assets/stylesheets/jquery-ui/menu.css +67 -0
  161. data/app/assets/stylesheets/jquery-ui/progressbar.css +31 -0
  162. data/app/assets/stylesheets/{jquery.ui.resizable.css.erb → jquery-ui/resizable.css} +5 -4
  163. data/app/assets/stylesheets/{jquery.ui.selectable.css.erb → jquery-ui/selectable.css} +7 -4
  164. data/app/assets/stylesheets/jquery-ui/selectmenu.css +53 -0
  165. data/app/assets/stylesheets/{jquery.ui.slider.css.erb → jquery-ui/slider.css} +7 -6
  166. data/app/assets/stylesheets/jquery-ui/sortable.css +15 -0
  167. data/app/assets/stylesheets/{jquery.ui.spinner.css.erb → jquery-ui/spinner.css} +9 -24
  168. data/app/assets/stylesheets/{jquery.ui.tabs.css.erb → jquery-ui/tabs.css} +3 -4
  169. data/app/assets/stylesheets/{jquery.ui.theme.css.erb → jquery-ui/theme.css.erb} +122 -96
  170. data/app/assets/stylesheets/{jquery.ui.tooltip.css.erb → jquery-ui/tooltip.css} +3 -6
  171. data/app/assets/stylesheets/jquery-ui.css +1 -0
  172. data/lib/jquery/ui/rails/version.rb +2 -2
  173. metadata +180 -166
  174. data/app/assets/images/jquery-ui/animated-overlay.gif +0 -0
  175. data/app/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  176. data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  177. data/app/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  178. data/app/assets/images/jquery-ui/ui-bg_glass_75_dadada_1x400.png +0 -0
  179. data/app/assets/images/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  180. data/app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  181. data/app/assets/images/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  182. data/app/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
  183. data/app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
  184. data/app/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
  185. data/app/assets/images/jquery-ui/ui-icons_888888_256x240.png +0 -0
  186. data/app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
  187. data/app/assets/javascripts/jquery.ui.all.js +0 -34
  188. data/app/assets/javascripts/jquery.ui.button.js +0 -398
  189. data/app/assets/javascripts/jquery.ui.core.js +0 -320
  190. data/app/assets/javascripts/jquery.ui.datepicker-af.js +0 -23
  191. data/app/assets/javascripts/jquery.ui.datepicker-ar-DZ.js +0 -23
  192. data/app/assets/javascripts/jquery.ui.datepicker-ar.js +0 -23
  193. data/app/assets/javascripts/jquery.ui.datepicker-az.js +0 -23
  194. data/app/assets/javascripts/jquery.ui.datepicker-be.js +0 -23
  195. data/app/assets/javascripts/jquery.ui.datepicker-bg.js +0 -24
  196. data/app/assets/javascripts/jquery.ui.datepicker-bs.js +0 -23
  197. data/app/assets/javascripts/jquery.ui.datepicker-ca.js +0 -23
  198. data/app/assets/javascripts/jquery.ui.datepicker-cs.js +0 -23
  199. data/app/assets/javascripts/jquery.ui.datepicker-cy-GB.js +0 -23
  200. data/app/assets/javascripts/jquery.ui.datepicker-da.js +0 -23
  201. data/app/assets/javascripts/jquery.ui.datepicker-de.js +0 -23
  202. data/app/assets/javascripts/jquery.ui.datepicker-el.js +0 -23
  203. data/app/assets/javascripts/jquery.ui.datepicker-en-AU.js +0 -23
  204. data/app/assets/javascripts/jquery.ui.datepicker-en-GB.js +0 -23
  205. data/app/assets/javascripts/jquery.ui.datepicker-en-NZ.js +0 -23
  206. data/app/assets/javascripts/jquery.ui.datepicker-eo.js +0 -23
  207. data/app/assets/javascripts/jquery.ui.datepicker-es.js +0 -23
  208. data/app/assets/javascripts/jquery.ui.datepicker-et.js +0 -23
  209. data/app/assets/javascripts/jquery.ui.datepicker-eu.js +0 -23
  210. data/app/assets/javascripts/jquery.ui.datepicker-fa.js +0 -59
  211. data/app/assets/javascripts/jquery.ui.datepicker-fi.js +0 -23
  212. data/app/assets/javascripts/jquery.ui.datepicker-fo.js +0 -23
  213. data/app/assets/javascripts/jquery.ui.datepicker-fr-CA.js +0 -23
  214. data/app/assets/javascripts/jquery.ui.datepicker-fr-CH.js +0 -23
  215. data/app/assets/javascripts/jquery.ui.datepicker-fr.js +0 -25
  216. data/app/assets/javascripts/jquery.ui.datepicker-gl.js +0 -23
  217. data/app/assets/javascripts/jquery.ui.datepicker-he.js +0 -23
  218. data/app/assets/javascripts/jquery.ui.datepicker-hi.js +0 -23
  219. data/app/assets/javascripts/jquery.ui.datepicker-hr.js +0 -23
  220. data/app/assets/javascripts/jquery.ui.datepicker-hu.js +0 -23
  221. data/app/assets/javascripts/jquery.ui.datepicker-hy.js +0 -23
  222. data/app/assets/javascripts/jquery.ui.datepicker-id.js +0 -23
  223. data/app/assets/javascripts/jquery.ui.datepicker-is.js +0 -23
  224. data/app/assets/javascripts/jquery.ui.datepicker-it.js +0 -23
  225. data/app/assets/javascripts/jquery.ui.datepicker-ja.js +0 -23
  226. data/app/assets/javascripts/jquery.ui.datepicker-ka.js +0 -21
  227. data/app/assets/javascripts/jquery.ui.datepicker-kk.js +0 -23
  228. data/app/assets/javascripts/jquery.ui.datepicker-km.js +0 -23
  229. data/app/assets/javascripts/jquery.ui.datepicker-ko.js +0 -23
  230. data/app/assets/javascripts/jquery.ui.datepicker-ky.js +0 -24
  231. data/app/assets/javascripts/jquery.ui.datepicker-lb.js +0 -23
  232. data/app/assets/javascripts/jquery.ui.datepicker-lt.js +0 -23
  233. data/app/assets/javascripts/jquery.ui.datepicker-lv.js +0 -23
  234. data/app/assets/javascripts/jquery.ui.datepicker-mk.js +0 -23
  235. data/app/assets/javascripts/jquery.ui.datepicker-ml.js +0 -23
  236. data/app/assets/javascripts/jquery.ui.datepicker-ms.js +0 -23
  237. data/app/assets/javascripts/jquery.ui.datepicker-nb.js +0 -22
  238. data/app/assets/javascripts/jquery.ui.datepicker-nl-BE.js +0 -23
  239. data/app/assets/javascripts/jquery.ui.datepicker-nl.js +0 -23
  240. data/app/assets/javascripts/jquery.ui.datepicker-nn.js +0 -22
  241. data/app/assets/javascripts/jquery.ui.datepicker-no.js +0 -23
  242. data/app/assets/javascripts/jquery.ui.datepicker-pl.js +0 -23
  243. data/app/assets/javascripts/jquery.ui.datepicker-pt-BR.js +0 -23
  244. data/app/assets/javascripts/jquery.ui.datepicker-pt.js +0 -22
  245. data/app/assets/javascripts/jquery.ui.datepicker-rm.js +0 -21
  246. data/app/assets/javascripts/jquery.ui.datepicker-ro.js +0 -26
  247. data/app/assets/javascripts/jquery.ui.datepicker-ru.js +0 -23
  248. data/app/assets/javascripts/jquery.ui.datepicker-sk.js +0 -23
  249. data/app/assets/javascripts/jquery.ui.datepicker-sl.js +0 -24
  250. data/app/assets/javascripts/jquery.ui.datepicker-sq.js +0 -23
  251. data/app/assets/javascripts/jquery.ui.datepicker-sr-SR.js +0 -23
  252. data/app/assets/javascripts/jquery.ui.datepicker-sr.js +0 -23
  253. data/app/assets/javascripts/jquery.ui.datepicker-sv.js +0 -23
  254. data/app/assets/javascripts/jquery.ui.datepicker-ta.js +0 -23
  255. data/app/assets/javascripts/jquery.ui.datepicker-th.js +0 -23
  256. data/app/assets/javascripts/jquery.ui.datepicker-tj.js +0 -23
  257. data/app/assets/javascripts/jquery.ui.datepicker-tr.js +0 -23
  258. data/app/assets/javascripts/jquery.ui.datepicker-uk.js +0 -24
  259. data/app/assets/javascripts/jquery.ui.datepicker-vi.js +0 -23
  260. data/app/assets/javascripts/jquery.ui.datepicker-zh-CN.js +0 -23
  261. data/app/assets/javascripts/jquery.ui.datepicker-zh-HK.js +0 -23
  262. data/app/assets/javascripts/jquery.ui.datepicker-zh-TW.js +0 -23
  263. data/app/assets/javascripts/jquery.ui.datepicker.js +0 -2040
  264. data/app/assets/javascripts/jquery.ui.dialog.js +0 -830
  265. data/app/assets/javascripts/jquery.ui.draggable.js +0 -962
  266. data/app/assets/javascripts/jquery.ui.droppable.js +0 -394
  267. data/app/assets/javascripts/jquery.ui.effect-blind.js +0 -84
  268. data/app/assets/javascripts/jquery.ui.effect-bounce.js +0 -115
  269. data/app/assets/javascripts/jquery.ui.effect-clip.js +0 -69
  270. data/app/assets/javascripts/jquery.ui.effect-drop.js +0 -67
  271. data/app/assets/javascripts/jquery.ui.effect-explode.js +0 -99
  272. data/app/assets/javascripts/jquery.ui.effect-fade.js +0 -32
  273. data/app/assets/javascripts/jquery.ui.effect-fold.js +0 -78
  274. data/app/assets/javascripts/jquery.ui.effect-highlight.js +0 -52
  275. data/app/assets/javascripts/jquery.ui.effect-pulsate.js +0 -65
  276. data/app/assets/javascripts/jquery.ui.effect-scale.js +0 -320
  277. data/app/assets/javascripts/jquery.ui.effect-shake.js +0 -76
  278. data/app/assets/javascripts/jquery.ui.effect-slide.js +0 -66
  279. data/app/assets/javascripts/jquery.ui.effect-transfer.js +0 -49
  280. data/app/assets/javascripts/jquery.ui.effect.all.js +0 -14
  281. data/app/assets/javascripts/jquery.ui.effect.js +0 -1289
  282. data/app/assets/javascripts/jquery.ui.mouse.js +0 -172
  283. data/app/assets/javascripts/jquery.ui.progressbar.js +0 -148
  284. data/app/assets/javascripts/jquery.ui.resizable.js +0 -982
  285. data/app/assets/javascripts/jquery.ui.selectable.js +0 -281
  286. data/app/assets/javascripts/jquery.ui.sortable.js +0 -1293
  287. data/app/assets/javascripts/jquery.ui.tooltip.js +0 -406
  288. data/app/assets/javascripts/jquery.ui.widget.js +0 -521
  289. data/app/assets/stylesheets/jquery.ui.accordion.css.erb +0 -42
  290. data/app/assets/stylesheets/jquery.ui.base.css.erb +0 -27
  291. data/app/assets/stylesheets/jquery.ui.button.css.erb +0 -118
  292. data/app/assets/stylesheets/jquery.ui.menu.css.erb +0 -83
  293. data/app/assets/stylesheets/jquery.ui.progressbar.css.erb +0 -37
@@ -0,0 +1,754 @@
1
+ //= require jquery-ui/version
2
+
3
+ /*!
4
+ * jQuery UI Widget 1.13.0
5
+ * http://jqueryui.com
6
+ *
7
+ * Copyright jQuery Foundation and other contributors
8
+ * Released under the MIT license.
9
+ * http://jquery.org/license
10
+ */
11
+
12
+ //>>label: 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
+
21
+ if ( typeof define === "function" && define.amd ) {
22
+
23
+ // AMD. Register as an anonymous module.
24
+ define( [ "jquery", "./version" ], factory );
25
+ } else {
26
+
27
+ // Browser globals
28
+ factory( jQuery );
29
+ }
30
+ } )( function( $ ) {
31
+ "use strict";
32
+
33
+ var widgetUuid = 0;
34
+ var widgetHasOwnProperty = Array.prototype.hasOwnProperty;
35
+ var widgetSlice = Array.prototype.slice;
36
+
37
+ $.cleanData = ( function( orig ) {
38
+ return function( elems ) {
39
+ var events, elem, i;
40
+ for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {
41
+
42
+ // Only trigger remove when necessary to save time
43
+ events = $._data( elem, "events" );
44
+ if ( events && events.remove ) {
45
+ $( elem ).triggerHandler( "remove" );
46
+ }
47
+ }
48
+ orig( elems );
49
+ };
50
+ } )( $.cleanData );
51
+
52
+ $.widget = function( name, base, prototype ) {
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 = {};
58
+
59
+ var namespace = name.split( "." )[ 0 ];
60
+ name = name.split( "." )[ 1 ];
61
+ var fullName = namespace + "-" + name;
62
+
63
+ if ( !prototype ) {
64
+ prototype = base;
65
+ base = $.Widget;
66
+ }
67
+
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 ) {
74
+ return !!$.data( elem, fullName );
75
+ };
76
+
77
+ $[ namespace ] = $[ namespace ] || {};
78
+ existingConstructor = $[ namespace ][ name ];
79
+ constructor = $[ namespace ][ name ] = function( options, element ) {
80
+
81
+ // Allow instantiation without "new" keyword
82
+ if ( !this._createWidget ) {
83
+ return new constructor( options, element );
84
+ }
85
+
86
+ // Allow instantiation without initializing for simple inheritance
87
+ // must use "new" keyword (the code above always passes args)
88
+ if ( arguments.length ) {
89
+ this._createWidget( options, element );
90
+ }
91
+ };
92
+
93
+ // Extend with the existing constructor to carry over any static properties
94
+ $.extend( constructor, existingConstructor, {
95
+ version: prototype.version,
96
+
97
+ // Copy the object used to create the prototype in case we need to
98
+ // redefine the widget later
99
+ _proto: $.extend( {}, prototype ),
100
+
101
+ // Track widgets that inherit from this widget in case this widget is
102
+ // redefined after a widget inherits from it
103
+ _childConstructors: []
104
+ } );
105
+
106
+ basePrototype = new base();
107
+
108
+ // We need to make the options hash a property directly on the new instance
109
+ // otherwise we'll modify the options hash on the prototype that we're
110
+ // inheriting from
111
+ basePrototype.options = $.widget.extend( {}, basePrototype.options );
112
+ $.each( prototype, function( prop, value ) {
113
+ if ( typeof value !== "function" ) {
114
+ proxiedPrototype[ prop ] = value;
115
+ return;
116
+ }
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
+
126
+ return function() {
127
+ var __super = this._super;
128
+ var __superApply = this._superApply;
129
+ var returnValue;
130
+
131
+ this._super = _super;
132
+ this._superApply = _superApply;
133
+
134
+ returnValue = value.apply( this, arguments );
135
+
136
+ this._super = __super;
137
+ this._superApply = __superApply;
138
+
139
+ return returnValue;
140
+ };
141
+ } )();
142
+ } );
143
+ constructor.prototype = $.widget.extend( basePrototype, {
144
+
145
+ // TODO: remove support for widgetEventPrefix
146
+ // always use the name + a colon as the prefix, e.g., draggable:start
147
+ // don't prefix for widgets that aren't DOM-based
148
+ widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name
149
+ }, proxiedPrototype, {
150
+ constructor: constructor,
151
+ namespace: namespace,
152
+ widgetName: name,
153
+ widgetFullName: fullName
154
+ } );
155
+
156
+ // If this widget is being redefined then we need to find all widgets that
157
+ // are inheriting from it and redefine all of them so that they inherit from
158
+ // the new version of this widget. We're essentially trying to replace one
159
+ // level in the prototype chain.
160
+ if ( existingConstructor ) {
161
+ $.each( existingConstructor._childConstructors, function( i, child ) {
162
+ var childPrototype = child.prototype;
163
+
164
+ // Redefine the child widget using the same prototype that was
165
+ // originally used, but inherit from the new version of the base
166
+ $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor,
167
+ child._proto );
168
+ } );
169
+
170
+ // Remove the list of existing child constructors from the old constructor
171
+ // so the old child constructors can be garbage collected
172
+ delete existingConstructor._childConstructors;
173
+ } else {
174
+ base._childConstructors.push( constructor );
175
+ }
176
+
177
+ $.widget.bridge( name, constructor );
178
+
179
+ return constructor;
180
+ };
181
+
182
+ $.widget.extend = function( target ) {
183
+ var input = widgetSlice.call( arguments, 1 );
184
+ var inputIndex = 0;
185
+ var inputLength = input.length;
186
+ var key;
187
+ var value;
188
+
189
+ for ( ; inputIndex < inputLength; inputIndex++ ) {
190
+ for ( key in input[ inputIndex ] ) {
191
+ value = input[ inputIndex ][ key ];
192
+ if ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) {
193
+
194
+ // Clone objects
195
+ if ( $.isPlainObject( value ) ) {
196
+ target[ key ] = $.isPlainObject( target[ key ] ) ?
197
+ $.widget.extend( {}, target[ key ], value ) :
198
+
199
+ // Don't extend strings, arrays, etc. with objects
200
+ $.widget.extend( {}, value );
201
+
202
+ // Copy everything else by reference
203
+ } else {
204
+ target[ key ] = value;
205
+ }
206
+ }
207
+ }
208
+ }
209
+ return target;
210
+ };
211
+
212
+ $.widget.bridge = function( name, object ) {
213
+ var fullName = object.prototype.widgetFullName || name;
214
+ $.fn[ name ] = function( options ) {
215
+ var isMethodCall = typeof options === "string";
216
+ var args = widgetSlice.call( arguments, 1 );
217
+ var returnValue = this;
218
+
219
+ if ( isMethodCall ) {
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
+ }
257
+ } else {
258
+
259
+ // Allow multiple hashes to be passed on init
260
+ if ( args.length ) {
261
+ options = $.widget.extend.apply( null, [ options ].concat( args ) );
262
+ }
263
+
264
+ this.each( function() {
265
+ var instance = $.data( this, fullName );
266
+ if ( instance ) {
267
+ instance.option( options || {} );
268
+ if ( instance._init ) {
269
+ instance._init();
270
+ }
271
+ } else {
272
+ $.data( this, fullName, new object( options, this ) );
273
+ }
274
+ } );
275
+ }
276
+
277
+ return returnValue;
278
+ };
279
+ };
280
+
281
+ $.Widget = function( /* options, element */ ) {};
282
+ $.Widget._childConstructors = [];
283
+
284
+ $.Widget.prototype = {
285
+ widgetName: "widget",
286
+ widgetEventPrefix: "",
287
+ defaultElement: "<div>",
288
+
289
+ options: {
290
+ classes: {},
291
+ disabled: false,
292
+
293
+ // Callbacks
294
+ create: null
295
+ },
296
+
297
+ _createWidget: function( options, element ) {
298
+ element = $( element || this.defaultElement || this )[ 0 ];
299
+ this.element = $( element );
300
+ this.uuid = widgetUuid++;
301
+ this.eventNamespace = "." + this.widgetName + this.uuid;
302
+
303
+ this.bindings = $();
304
+ this.hoverable = $();
305
+ this.focusable = $();
306
+ this.classesElementLookup = {};
307
+
308
+ if ( element !== this ) {
309
+ $.data( element, this.widgetFullName, this );
310
+ this._on( true, this.element, {
311
+ remove: function( event ) {
312
+ if ( event.target === element ) {
313
+ this.destroy();
314
+ }
315
+ }
316
+ } );
317
+ this.document = $( element.style ?
318
+
319
+ // Element within the document
320
+ element.ownerDocument :
321
+
322
+ // Element is window or document
323
+ element.document || element );
324
+ this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );
325
+ }
326
+
327
+ this.options = $.widget.extend( {},
328
+ this.options,
329
+ this._getCreateOptions(),
330
+ options );
331
+
332
+ this._create();
333
+
334
+ if ( this.options.disabled ) {
335
+ this._setOptionDisabled( this.options.disabled );
336
+ }
337
+
338
+ this._trigger( "create", null, this._getCreateEventData() );
339
+ this._init();
340
+ },
341
+
342
+ _getCreateOptions: function() {
343
+ return {};
344
+ },
345
+
346
+ _getCreateEventData: $.noop,
347
+
348
+ _create: $.noop,
349
+
350
+ _init: $.noop,
351
+
352
+ destroy: function() {
353
+ var that = this;
354
+
355
+ this._destroy();
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
361
+ // all event bindings should go through this._on()
362
+ this.element
363
+ .off( this.eventNamespace )
364
+ .removeData( this.widgetFullName );
365
+ this.widget()
366
+ .off( this.eventNamespace )
367
+ .removeAttr( "aria-disabled" );
368
+
369
+ // Clean up events and states
370
+ this.bindings.off( this.eventNamespace );
371
+ },
372
+
373
+ _destroy: $.noop,
374
+
375
+ widget: function() {
376
+ return this.element;
377
+ },
378
+
379
+ option: function( key, value ) {
380
+ var options = key;
381
+ var parts;
382
+ var curOption;
383
+ var i;
384
+
385
+ if ( arguments.length === 0 ) {
386
+
387
+ // Don't return a reference to the internal hash
388
+ return $.widget.extend( {}, this.options );
389
+ }
390
+
391
+ if ( typeof key === "string" ) {
392
+
393
+ // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
394
+ options = {};
395
+ parts = key.split( "." );
396
+ key = parts.shift();
397
+ if ( parts.length ) {
398
+ curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
399
+ for ( i = 0; i < parts.length - 1; i++ ) {
400
+ curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
401
+ curOption = curOption[ parts[ i ] ];
402
+ }
403
+ key = parts.pop();
404
+ if ( arguments.length === 1 ) {
405
+ return curOption[ key ] === undefined ? null : curOption[ key ];
406
+ }
407
+ curOption[ key ] = value;
408
+ } else {
409
+ if ( arguments.length === 1 ) {
410
+ return this.options[ key ] === undefined ? null : this.options[ key ];
411
+ }
412
+ options[ key ] = value;
413
+ }
414
+ }
415
+
416
+ this._setOptions( options );
417
+
418
+ return this;
419
+ },
420
+
421
+ _setOptions: function( options ) {
422
+ var key;
423
+
424
+ for ( key in options ) {
425
+ this._setOption( key, options[ key ] );
426
+ }
427
+
428
+ return this;
429
+ },
430
+
431
+ _setOption: function( key, value ) {
432
+ if ( key === "classes" ) {
433
+ this._setOptionClasses( value );
434
+ }
435
+
436
+ this.options[ key ] = value;
437
+
438
+ if ( key === "disabled" ) {
439
+ this._setOptionDisabled( value );
440
+ }
441
+
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;
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
+ } ) );
473
+ }
474
+ },
475
+
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
+ }
484
+ },
485
+
486
+ enable: function() {
487
+ return this._setOptions( { disabled: false } );
488
+ },
489
+
490
+ disable: function() {
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;
578
+ },
579
+
580
+ _on: function( suppressDisabledCheck, element, handlers ) {
581
+ var delegateElement;
582
+ var instance = this;
583
+
584
+ // No suppressDisabledCheck flag, shuffle arguments
585
+ if ( typeof suppressDisabledCheck !== "boolean" ) {
586
+ handlers = element;
587
+ element = suppressDisabledCheck;
588
+ suppressDisabledCheck = false;
589
+ }
590
+
591
+ // No element argument, shuffle and use this.element
592
+ if ( !handlers ) {
593
+ handlers = element;
594
+ element = this.element;
595
+ delegateElement = this.widget();
596
+ } else {
597
+ element = delegateElement = $( element );
598
+ this.bindings = this.bindings.add( element );
599
+ }
600
+
601
+ $.each( handlers, function( event, handler ) {
602
+ function handlerProxy() {
603
+
604
+ // Allow widgets to customize the disabled handling
605
+ // - disabled as an array instead of boolean
606
+ // - disabled class as method for disabling individual parts
607
+ if ( !suppressDisabledCheck &&
608
+ ( instance.options.disabled === true ||
609
+ $( this ).hasClass( "ui-state-disabled" ) ) ) {
610
+ return;
611
+ }
612
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
613
+ .apply( instance, arguments );
614
+ }
615
+
616
+ // Copy the guid so direct unbinding works
617
+ if ( typeof handler !== "string" ) {
618
+ handlerProxy.guid = handler.guid =
619
+ handler.guid || handlerProxy.guid || $.guid++;
620
+ }
621
+
622
+ var match = event.match( /^([\w:-]*)\s*(.*)$/ );
623
+ var eventName = match[ 1 ] + instance.eventNamespace;
624
+ var selector = match[ 2 ];
625
+
626
+ if ( selector ) {
627
+ delegateElement.on( eventName, selector, handlerProxy );
628
+ } else {
629
+ element.on( eventName, handlerProxy );
630
+ }
631
+ } );
632
+ },
633
+
634
+ _off: function( element, eventName ) {
635
+ eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) +
636
+ this.eventNamespace;
637
+ element.off( eventName );
638
+
639
+ // Clear the stack to avoid memory leaks (#10056)
640
+ this.bindings = $( this.bindings.not( element ).get() );
641
+ this.focusable = $( this.focusable.not( element ).get() );
642
+ this.hoverable = $( this.hoverable.not( element ).get() );
643
+ },
644
+
645
+ _delay: function( handler, delay ) {
646
+ function handlerProxy() {
647
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
648
+ .apply( instance, arguments );
649
+ }
650
+ var instance = this;
651
+ return setTimeout( handlerProxy, delay || 0 );
652
+ },
653
+
654
+ _hoverable: function( element ) {
655
+ this.hoverable = this.hoverable.add( element );
656
+ this._on( element, {
657
+ mouseenter: function( event ) {
658
+ this._addClass( $( event.currentTarget ), null, "ui-state-hover" );
659
+ },
660
+ mouseleave: function( event ) {
661
+ this._removeClass( $( event.currentTarget ), null, "ui-state-hover" );
662
+ }
663
+ } );
664
+ },
665
+
666
+ _focusable: function( element ) {
667
+ this.focusable = this.focusable.add( element );
668
+ this._on( element, {
669
+ focusin: function( event ) {
670
+ this._addClass( $( event.currentTarget ), null, "ui-state-focus" );
671
+ },
672
+ focusout: function( event ) {
673
+ this._removeClass( $( event.currentTarget ), null, "ui-state-focus" );
674
+ }
675
+ } );
676
+ },
677
+
678
+ _trigger: function( type, event, data ) {
679
+ var prop, orig;
680
+ var callback = this.options[ type ];
681
+
682
+ data = data || {};
683
+ event = $.Event( event );
684
+ event.type = ( type === this.widgetEventPrefix ?
685
+ type :
686
+ this.widgetEventPrefix + type ).toLowerCase();
687
+
688
+ // The original event may come from any element
689
+ // so we need to reset the target on the new event
690
+ event.target = this.element[ 0 ];
691
+
692
+ // Copy original event properties over to the new event
693
+ orig = event.originalEvent;
694
+ if ( orig ) {
695
+ for ( prop in orig ) {
696
+ if ( !( prop in event ) ) {
697
+ event[ prop ] = orig[ prop ];
698
+ }
699
+ }
700
+ }
701
+
702
+ this.element.trigger( event, data );
703
+ return !( typeof callback === "function" &&
704
+ callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||
705
+ event.isDefaultPrevented() );
706
+ }
707
+ };
708
+
709
+ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
710
+ $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
711
+ if ( typeof options === "string" ) {
712
+ options = { effect: options };
713
+ }
714
+
715
+ var hasOptions;
716
+ var effectName = !options ?
717
+ method :
718
+ options === true || typeof options === "number" ?
719
+ defaultEffect :
720
+ options.effect || defaultEffect;
721
+
722
+ options = options || {};
723
+ if ( typeof options === "number" ) {
724
+ options = { duration: options };
725
+ } else if ( options === true ) {
726
+ options = {};
727
+ }
728
+
729
+ hasOptions = !$.isEmptyObject( options );
730
+ options.complete = callback;
731
+
732
+ if ( options.delay ) {
733
+ element.delay( options.delay );
734
+ }
735
+
736
+ if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
737
+ element[ method ]( options );
738
+ } else if ( effectName !== method && element[ effectName ] ) {
739
+ element[ effectName ]( options.duration, options.easing, callback );
740
+ } else {
741
+ element.queue( function( next ) {
742
+ $( this )[ method ]();
743
+ if ( callback ) {
744
+ callback.call( element[ 0 ] );
745
+ }
746
+ next();
747
+ } );
748
+ }
749
+ };
750
+ } );
751
+
752
+ return $.widget;
753
+
754
+ } );