jquery-ui-rails 4.2.1 → 8.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 (291) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +1 -1
  3. data/History.md +45 -2
  4. data/README.md +100 -83
  5. data/Rakefile +82 -49
  6. data/VERSIONS.md +10 -0
  7. data/app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  8. data/app/assets/images/jquery-ui/ui-icons_444444_256x240.png +0 -0
  9. data/app/assets/images/jquery-ui/ui-icons_555555_256x240.png +0 -0
  10. data/app/assets/images/jquery-ui/ui-icons_777620_256x240.png +0 -0
  11. data/app/assets/images/jquery-ui/ui-icons_777777_256x240.png +0 -0
  12. data/app/assets/images/jquery-ui/ui-icons_cc0000_256x240.png +0 -0
  13. data/app/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  14. data/app/assets/javascripts/jquery-ui/data.js +39 -0
  15. data/app/assets/javascripts/jquery-ui/disable-selection.js +51 -0
  16. data/app/assets/javascripts/jquery-ui/effect.all.js +15 -0
  17. data/app/assets/javascripts/jquery-ui/effect.js +954 -0
  18. data/app/assets/javascripts/jquery-ui/effects/effect-blind.js +76 -0
  19. data/app/assets/javascripts/jquery-ui/effects/effect-bounce.js +116 -0
  20. data/app/assets/javascripts/jquery-ui/effects/effect-clip.js +71 -0
  21. data/app/assets/javascripts/jquery-ui/effects/effect-drop.js +75 -0
  22. data/app/assets/javascripts/jquery-ui/effects/effect-explode.js +117 -0
  23. data/app/assets/javascripts/jquery-ui/effects/effect-fade.js +53 -0
  24. data/app/assets/javascripts/jquery-ui/effects/effect-fold.js +95 -0
  25. data/app/assets/javascripts/jquery-ui/effects/effect-highlight.js +63 -0
  26. data/app/assets/javascripts/jquery-ui/effects/effect-puff.js +49 -0
  27. data/app/assets/javascripts/jquery-ui/effects/effect-pulsate.js +70 -0
  28. data/app/assets/javascripts/jquery-ui/effects/effect-scale.js +63 -0
  29. data/app/assets/javascripts/jquery-ui/effects/effect-shake.js +80 -0
  30. data/app/assets/javascripts/jquery-ui/effects/effect-size.js +199 -0
  31. data/app/assets/javascripts/jquery-ui/effects/effect-slide.js +82 -0
  32. data/app/assets/javascripts/jquery-ui/effects/effect-transfer.js +46 -0
  33. data/app/assets/javascripts/jquery-ui/focusable.js +79 -0
  34. data/app/assets/javascripts/jquery-ui/form-reset-mixin.js +81 -0
  35. data/app/assets/javascripts/jquery-ui/i18n/datepicker-af.js +40 -0
  36. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar-DZ.js +42 -0
  37. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar.js +42 -0
  38. data/app/assets/javascripts/jquery-ui/i18n/datepicker-az.js +40 -0
  39. data/app/assets/javascripts/jquery-ui/i18n/datepicker-be.js +40 -0
  40. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bg.js +41 -0
  41. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bs.js +40 -0
  42. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ca.js +40 -0
  43. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cs.js +40 -0
  44. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cy-GB.js +48 -0
  45. data/app/assets/javascripts/jquery-ui/i18n/datepicker-da.js +40 -0
  46. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de-AT.js +41 -0
  47. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de.js +40 -0
  48. data/app/assets/javascripts/jquery-ui/i18n/datepicker-el.js +40 -0
  49. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-AU.js +40 -0
  50. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-GB.js +40 -0
  51. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-NZ.js +40 -0
  52. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eo.js +40 -0
  53. data/app/assets/javascripts/jquery-ui/i18n/datepicker-es.js +40 -0
  54. data/app/assets/javascripts/jquery-ui/i18n/datepicker-et.js +48 -0
  55. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eu.js +39 -0
  56. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fa.js +76 -0
  57. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fi.js +40 -0
  58. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fo.js +48 -0
  59. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CA.js +40 -0
  60. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CH.js +40 -0
  61. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr.js +42 -0
  62. data/app/assets/javascripts/jquery-ui/i18n/datepicker-gl.js +40 -0
  63. data/app/assets/javascripts/jquery-ui/i18n/datepicker-he.js +40 -0
  64. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hi.js +40 -0
  65. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hr.js +40 -0
  66. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hu.js +39 -0
  67. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hy.js +40 -0
  68. data/app/assets/javascripts/jquery-ui/i18n/datepicker-id.js +41 -0
  69. data/app/assets/javascripts/jquery-ui/i18n/datepicker-is.js +48 -0
  70. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it-CH.js +40 -0
  71. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it.js +40 -0
  72. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ja.js +40 -0
  73. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ka.js +51 -0
  74. data/app/assets/javascripts/jquery-ui/i18n/datepicker-kk.js +40 -0
  75. data/app/assets/javascripts/jquery-ui/i18n/datepicker-km.js +40 -0
  76. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ko.js +40 -0
  77. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ky.js +41 -0
  78. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lb.js +48 -0
  79. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lt.js +48 -0
  80. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lv.js +48 -0
  81. data/app/assets/javascripts/jquery-ui/i18n/datepicker-mk.js +40 -0
  82. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ml.js +40 -0
  83. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ms.js +40 -0
  84. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nb.js +52 -0
  85. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl-BE.js +40 -0
  86. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl.js +40 -0
  87. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nn.js +52 -0
  88. data/app/assets/javascripts/jquery-ui/i18n/datepicker-no.js +53 -0
  89. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pl.js +40 -0
  90. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt-BR.js +48 -0
  91. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt.js +47 -0
  92. data/app/assets/javascripts/jquery-ui/i18n/datepicker-rm.js +64 -0
  93. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ro.js +43 -0
  94. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ru.js +40 -0
  95. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sk.js +40 -0
  96. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sl.js +41 -0
  97. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sq.js +40 -0
  98. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr-SR.js +40 -0
  99. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr.js +40 -0
  100. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sv.js +40 -0
  101. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ta.js +56 -0
  102. data/app/assets/javascripts/jquery-ui/i18n/datepicker-th.js +40 -0
  103. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tj.js +40 -0
  104. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tr.js +40 -0
  105. data/app/assets/javascripts/jquery-ui/i18n/datepicker-uk.js +41 -0
  106. data/app/assets/javascripts/jquery-ui/i18n/datepicker-vi.js +40 -0
  107. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-CN.js +40 -0
  108. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-HK.js +40 -0
  109. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-TW.js +40 -0
  110. data/app/assets/javascripts/jquery-ui/jquery-patch.js +58 -0
  111. data/app/assets/javascripts/jquery-ui/jquery-var-for-color.js +24 -0
  112. data/app/assets/javascripts/jquery-ui/keycode.js +51 -0
  113. data/app/assets/javascripts/jquery-ui/labels.js +70 -0
  114. data/app/assets/javascripts/jquery-ui/plugin.js +49 -0
  115. data/app/assets/javascripts/{jquery.ui.position.js → jquery-ui/position.js} +123 -111
  116. data/app/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
  117. data/app/assets/javascripts/jquery-ui/tabbable.js +41 -0
  118. data/app/assets/javascripts/jquery-ui/unique-id.js +54 -0
  119. data/app/assets/javascripts/jquery-ui/vendor/jquery-color/jquery.color.js +691 -0
  120. data/app/assets/javascripts/jquery-ui/version.js +20 -0
  121. data/app/assets/javascripts/jquery-ui/widget.js +761 -0
  122. data/app/assets/javascripts/{jquery.ui.accordion.js → jquery-ui/widgets/accordion.js} +263 -209
  123. data/app/assets/javascripts/{jquery.ui.autocomplete.js → jquery-ui/widgets/autocomplete.js} +177 -142
  124. data/app/assets/javascripts/jquery-ui/widgets/button.js +454 -0
  125. data/app/assets/javascripts/jquery-ui/widgets/checkboxradio.js +294 -0
  126. data/app/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
  127. data/app/assets/javascripts/jquery-ui/widgets/datepicker.js +2240 -0
  128. data/app/assets/javascripts/jquery-ui/widgets/dialog.js +957 -0
  129. data/app/assets/javascripts/jquery-ui/widgets/draggable.js +1264 -0
  130. data/app/assets/javascripts/jquery-ui/widgets/droppable.js +508 -0
  131. data/app/assets/javascripts/{jquery.ui.menu.js → jquery-ui/widgets/menu.js} +276 -189
  132. data/app/assets/javascripts/jquery-ui/widgets/mouse.js +226 -0
  133. data/app/assets/javascripts/jquery-ui/widgets/progressbar.js +184 -0
  134. data/app/assets/javascripts/jquery-ui/widgets/resizable.js +1281 -0
  135. data/app/assets/javascripts/jquery-ui/widgets/selectable.js +321 -0
  136. data/app/assets/javascripts/jquery-ui/widgets/selectmenu.js +675 -0
  137. data/app/assets/javascripts/{jquery.ui.slider.js → jquery-ui/widgets/slider.js} +256 -176
  138. data/app/assets/javascripts/jquery-ui/widgets/sortable.js +1614 -0
  139. data/app/assets/javascripts/{jquery.ui.spinner.js → jquery-ui/widgets/spinner.js} +200 -137
  140. data/app/assets/javascripts/{jquery.ui.tabs.js → jquery-ui/widgets/tabs.js} +322 -277
  141. data/app/assets/javascripts/jquery-ui/widgets/tooltip.js +528 -0
  142. data/app/assets/javascripts/jquery-ui.js +52 -0
  143. data/app/assets/stylesheets/jquery-ui/accordion.css +26 -0
  144. data/app/assets/stylesheets/jquery-ui/all.css +14 -0
  145. data/app/assets/stylesheets/jquery-ui/autocomplete.css +19 -0
  146. data/app/assets/stylesheets/jquery-ui/base.css +32 -0
  147. data/app/assets/stylesheets/jquery-ui/button.css +80 -0
  148. data/app/assets/stylesheets/jquery-ui/checkboxradio.css +37 -0
  149. data/app/assets/stylesheets/jquery-ui/controlgroup.css +65 -0
  150. data/app/assets/stylesheets/{jquery.ui.core.css.erb → jquery-ui/core.css} +15 -12
  151. data/app/assets/stylesheets/{jquery.ui.datepicker.css.erb → jquery-ui/datepicker.css} +17 -8
  152. data/app/assets/stylesheets/{jquery.ui.dialog.css.erb → jquery-ui/dialog.css} +43 -15
  153. data/app/assets/stylesheets/jquery-ui/draggable.css +14 -0
  154. data/app/assets/stylesheets/jquery-ui/menu.css +65 -0
  155. data/app/assets/stylesheets/jquery-ui/progressbar.css +30 -0
  156. data/app/assets/stylesheets/{jquery.ui.resizable.css.erb → jquery-ui/resizable.css} +6 -6
  157. data/app/assets/stylesheets/jquery-ui/selectable.css +19 -0
  158. data/app/assets/stylesheets/jquery-ui/selectmenu.css +53 -0
  159. data/app/assets/stylesheets/{jquery.ui.slider.css.erb → jquery-ui/slider.css} +8 -14
  160. data/app/assets/stylesheets/jquery-ui/sortable.css +14 -0
  161. data/app/assets/stylesheets/{jquery.ui.spinner.css.erb → jquery-ui/spinner.css} +12 -27
  162. data/app/assets/stylesheets/{jquery.ui.tabs.css.erb → jquery-ui/tabs.css} +6 -7
  163. data/app/assets/stylesheets/{jquery.ui.theme.css.erb → jquery-ui/theme.css.erb} +121 -102
  164. data/app/assets/stylesheets/jquery-ui/tooltip.css +22 -0
  165. data/app/assets/stylesheets/jquery-ui.css +1 -0
  166. data/lib/jquery/ui/rails/version.rb +2 -2
  167. metadata +178 -169
  168. data/app/assets/images/jquery-ui/animated-overlay.gif +0 -0
  169. data/app/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  170. data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  171. data/app/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  172. data/app/assets/images/jquery-ui/ui-bg_glass_75_dadada_1x400.png +0 -0
  173. data/app/assets/images/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  174. data/app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  175. data/app/assets/images/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  176. data/app/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
  177. data/app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
  178. data/app/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
  179. data/app/assets/images/jquery-ui/ui-icons_888888_256x240.png +0 -0
  180. data/app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
  181. data/app/assets/javascripts/jquery.ui.all.js +0 -34
  182. data/app/assets/javascripts/jquery.ui.button.js +0 -398
  183. data/app/assets/javascripts/jquery.ui.core.js +0 -320
  184. data/app/assets/javascripts/jquery.ui.datepicker-af.js +0 -23
  185. data/app/assets/javascripts/jquery.ui.datepicker-ar-DZ.js +0 -23
  186. data/app/assets/javascripts/jquery.ui.datepicker-ar.js +0 -23
  187. data/app/assets/javascripts/jquery.ui.datepicker-az.js +0 -23
  188. data/app/assets/javascripts/jquery.ui.datepicker-be.js +0 -23
  189. data/app/assets/javascripts/jquery.ui.datepicker-bg.js +0 -24
  190. data/app/assets/javascripts/jquery.ui.datepicker-bs.js +0 -23
  191. data/app/assets/javascripts/jquery.ui.datepicker-ca.js +0 -23
  192. data/app/assets/javascripts/jquery.ui.datepicker-cs.js +0 -23
  193. data/app/assets/javascripts/jquery.ui.datepicker-cy-GB.js +0 -23
  194. data/app/assets/javascripts/jquery.ui.datepicker-da.js +0 -23
  195. data/app/assets/javascripts/jquery.ui.datepicker-de.js +0 -23
  196. data/app/assets/javascripts/jquery.ui.datepicker-el.js +0 -23
  197. data/app/assets/javascripts/jquery.ui.datepicker-en-AU.js +0 -23
  198. data/app/assets/javascripts/jquery.ui.datepicker-en-GB.js +0 -23
  199. data/app/assets/javascripts/jquery.ui.datepicker-en-NZ.js +0 -23
  200. data/app/assets/javascripts/jquery.ui.datepicker-eo.js +0 -23
  201. data/app/assets/javascripts/jquery.ui.datepicker-es.js +0 -23
  202. data/app/assets/javascripts/jquery.ui.datepicker-et.js +0 -23
  203. data/app/assets/javascripts/jquery.ui.datepicker-eu.js +0 -23
  204. data/app/assets/javascripts/jquery.ui.datepicker-fa.js +0 -59
  205. data/app/assets/javascripts/jquery.ui.datepicker-fi.js +0 -23
  206. data/app/assets/javascripts/jquery.ui.datepicker-fo.js +0 -23
  207. data/app/assets/javascripts/jquery.ui.datepicker-fr-CA.js +0 -23
  208. data/app/assets/javascripts/jquery.ui.datepicker-fr-CH.js +0 -23
  209. data/app/assets/javascripts/jquery.ui.datepicker-fr.js +0 -25
  210. data/app/assets/javascripts/jquery.ui.datepicker-gl.js +0 -23
  211. data/app/assets/javascripts/jquery.ui.datepicker-he.js +0 -23
  212. data/app/assets/javascripts/jquery.ui.datepicker-hi.js +0 -23
  213. data/app/assets/javascripts/jquery.ui.datepicker-hr.js +0 -23
  214. data/app/assets/javascripts/jquery.ui.datepicker-hu.js +0 -23
  215. data/app/assets/javascripts/jquery.ui.datepicker-hy.js +0 -23
  216. data/app/assets/javascripts/jquery.ui.datepicker-id.js +0 -23
  217. data/app/assets/javascripts/jquery.ui.datepicker-is.js +0 -23
  218. data/app/assets/javascripts/jquery.ui.datepicker-it.js +0 -23
  219. data/app/assets/javascripts/jquery.ui.datepicker-ja.js +0 -23
  220. data/app/assets/javascripts/jquery.ui.datepicker-ka.js +0 -21
  221. data/app/assets/javascripts/jquery.ui.datepicker-kk.js +0 -23
  222. data/app/assets/javascripts/jquery.ui.datepicker-km.js +0 -23
  223. data/app/assets/javascripts/jquery.ui.datepicker-ko.js +0 -23
  224. data/app/assets/javascripts/jquery.ui.datepicker-ky.js +0 -24
  225. data/app/assets/javascripts/jquery.ui.datepicker-lb.js +0 -23
  226. data/app/assets/javascripts/jquery.ui.datepicker-lt.js +0 -23
  227. data/app/assets/javascripts/jquery.ui.datepicker-lv.js +0 -23
  228. data/app/assets/javascripts/jquery.ui.datepicker-mk.js +0 -23
  229. data/app/assets/javascripts/jquery.ui.datepicker-ml.js +0 -23
  230. data/app/assets/javascripts/jquery.ui.datepicker-ms.js +0 -23
  231. data/app/assets/javascripts/jquery.ui.datepicker-nb.js +0 -22
  232. data/app/assets/javascripts/jquery.ui.datepicker-nl-BE.js +0 -23
  233. data/app/assets/javascripts/jquery.ui.datepicker-nl.js +0 -23
  234. data/app/assets/javascripts/jquery.ui.datepicker-nn.js +0 -22
  235. data/app/assets/javascripts/jquery.ui.datepicker-no.js +0 -23
  236. data/app/assets/javascripts/jquery.ui.datepicker-pl.js +0 -23
  237. data/app/assets/javascripts/jquery.ui.datepicker-pt-BR.js +0 -23
  238. data/app/assets/javascripts/jquery.ui.datepicker-pt.js +0 -22
  239. data/app/assets/javascripts/jquery.ui.datepicker-rm.js +0 -21
  240. data/app/assets/javascripts/jquery.ui.datepicker-ro.js +0 -26
  241. data/app/assets/javascripts/jquery.ui.datepicker-ru.js +0 -23
  242. data/app/assets/javascripts/jquery.ui.datepicker-sk.js +0 -23
  243. data/app/assets/javascripts/jquery.ui.datepicker-sl.js +0 -24
  244. data/app/assets/javascripts/jquery.ui.datepicker-sq.js +0 -23
  245. data/app/assets/javascripts/jquery.ui.datepicker-sr-SR.js +0 -23
  246. data/app/assets/javascripts/jquery.ui.datepicker-sr.js +0 -23
  247. data/app/assets/javascripts/jquery.ui.datepicker-sv.js +0 -23
  248. data/app/assets/javascripts/jquery.ui.datepicker-ta.js +0 -23
  249. data/app/assets/javascripts/jquery.ui.datepicker-th.js +0 -23
  250. data/app/assets/javascripts/jquery.ui.datepicker-tj.js +0 -23
  251. data/app/assets/javascripts/jquery.ui.datepicker-tr.js +0 -23
  252. data/app/assets/javascripts/jquery.ui.datepicker-uk.js +0 -24
  253. data/app/assets/javascripts/jquery.ui.datepicker-vi.js +0 -23
  254. data/app/assets/javascripts/jquery.ui.datepicker-zh-CN.js +0 -23
  255. data/app/assets/javascripts/jquery.ui.datepicker-zh-HK.js +0 -23
  256. data/app/assets/javascripts/jquery.ui.datepicker-zh-TW.js +0 -23
  257. data/app/assets/javascripts/jquery.ui.datepicker.js +0 -2040
  258. data/app/assets/javascripts/jquery.ui.dialog.js +0 -830
  259. data/app/assets/javascripts/jquery.ui.draggable.js +0 -962
  260. data/app/assets/javascripts/jquery.ui.droppable.js +0 -394
  261. data/app/assets/javascripts/jquery.ui.effect-blind.js +0 -84
  262. data/app/assets/javascripts/jquery.ui.effect-bounce.js +0 -115
  263. data/app/assets/javascripts/jquery.ui.effect-clip.js +0 -69
  264. data/app/assets/javascripts/jquery.ui.effect-drop.js +0 -67
  265. data/app/assets/javascripts/jquery.ui.effect-explode.js +0 -99
  266. data/app/assets/javascripts/jquery.ui.effect-fade.js +0 -32
  267. data/app/assets/javascripts/jquery.ui.effect-fold.js +0 -78
  268. data/app/assets/javascripts/jquery.ui.effect-highlight.js +0 -52
  269. data/app/assets/javascripts/jquery.ui.effect-pulsate.js +0 -65
  270. data/app/assets/javascripts/jquery.ui.effect-scale.js +0 -320
  271. data/app/assets/javascripts/jquery.ui.effect-shake.js +0 -76
  272. data/app/assets/javascripts/jquery.ui.effect-slide.js +0 -66
  273. data/app/assets/javascripts/jquery.ui.effect-transfer.js +0 -49
  274. data/app/assets/javascripts/jquery.ui.effect.all.js +0 -14
  275. data/app/assets/javascripts/jquery.ui.effect.js +0 -1289
  276. data/app/assets/javascripts/jquery.ui.mouse.js +0 -172
  277. data/app/assets/javascripts/jquery.ui.progressbar.js +0 -148
  278. data/app/assets/javascripts/jquery.ui.resizable.js +0 -982
  279. data/app/assets/javascripts/jquery.ui.selectable.js +0 -281
  280. data/app/assets/javascripts/jquery.ui.sortable.js +0 -1293
  281. data/app/assets/javascripts/jquery.ui.tooltip.js +0 -406
  282. data/app/assets/javascripts/jquery.ui.widget.js +0 -521
  283. data/app/assets/stylesheets/jquery.ui.accordion.css.erb +0 -42
  284. data/app/assets/stylesheets/jquery.ui.all.css.erb +0 -14
  285. data/app/assets/stylesheets/jquery.ui.autocomplete.css.erb +0 -21
  286. data/app/assets/stylesheets/jquery.ui.base.css.erb +0 -27
  287. data/app/assets/stylesheets/jquery.ui.button.css.erb +0 -118
  288. data/app/assets/stylesheets/jquery.ui.menu.css.erb +0 -83
  289. data/app/assets/stylesheets/jquery.ui.progressbar.css.erb +0 -37
  290. data/app/assets/stylesheets/jquery.ui.selectable.css.erb +0 -17
  291. data/app/assets/stylesheets/jquery.ui.tooltip.css.erb +0 -25
@@ -1,28 +1,51 @@
1
- //= require jquery.ui.core
2
- //= require jquery.ui.widget
3
- //= require jquery.ui.menu
4
- //= require jquery.ui.position
1
+ //= require jquery-ui/widgets/menu
2
+ //= require jquery-ui/keycode
3
+ //= require jquery-ui/position
4
+ //= require jquery-ui/version
5
+ //= require jquery-ui/widget
5
6
 
6
7
  /*!
7
- * jQuery UI Autocomplete 1.10.4
8
- * http://jqueryui.com
8
+ * jQuery UI Autocomplete 1.14.1
9
+ * https://jqueryui.com
9
10
  *
10
- * Copyright 2014 jQuery Foundation and other contributors
11
+ * Copyright OpenJS Foundation and other contributors
11
12
  * Released under the MIT license.
12
- * http://jquery.org/license
13
- *
14
- * http://api.jqueryui.com/autocomplete/
15
- *
16
- * Depends:
17
- * jquery.ui.core.js
18
- * jquery.ui.widget.js
19
- * jquery.ui.position.js
20
- * jquery.ui.menu.js
13
+ * https://jquery.org/license
21
14
  */
22
- (function( $, undefined ) {
15
+
16
+ //>>label: Autocomplete
17
+ //>>group: Widgets
18
+ //>>description: Lists suggested words as the user is typing.
19
+ //>>docs: https://api.jqueryui.com/autocomplete/
20
+ //>>demos: https://jqueryui.com/autocomplete/
21
+ //>>css.structure: ../../themes/base/core.css
22
+ //>>css.structure: ../../themes/base/autocomplete.css
23
+ //>>css.theme: ../../themes/base/theme.css
24
+
25
+ ( function( factory ) {
26
+ "use strict";
27
+
28
+ if ( typeof define === "function" && define.amd ) {
29
+
30
+ // AMD. Register as an anonymous module.
31
+ define( [
32
+ "jquery",
33
+ "./menu",
34
+ "../keycode",
35
+ "../position",
36
+ "../version",
37
+ "../widget"
38
+ ], factory );
39
+ } else {
40
+
41
+ // Browser globals
42
+ factory( jQuery );
43
+ }
44
+ } )( function( $ ) {
45
+ "use strict";
23
46
 
24
47
  $.widget( "ui.autocomplete", {
25
- version: "1.10.4",
48
+ version: "1.14.1",
26
49
  defaultElement: "<input>",
27
50
  options: {
28
51
  appendTo: null,
@@ -36,7 +59,7 @@ $.widget( "ui.autocomplete", {
36
59
  },
37
60
  source: null,
38
61
 
39
- // callbacks
62
+ // Callbacks
40
63
  change: null,
41
64
  close: null,
42
65
  focus: null,
@@ -48,8 +71,10 @@ $.widget( "ui.autocomplete", {
48
71
 
49
72
  requestIndex: 0,
50
73
  pending: 0,
74
+ liveRegionTimer: null,
51
75
 
52
76
  _create: function() {
77
+
53
78
  // Some browsers only repeat keydown events, not keypress events,
54
79
  // so we use the suppressKeyPress flag to determine if we've already
55
80
  // handled the keydown event. #7269
@@ -58,25 +83,21 @@ $.widget( "ui.autocomplete", {
58
83
  // events when we know the keydown event was used to modify the
59
84
  // search term. #7799
60
85
  var suppressKeyPress, suppressKeyPressRepeat, suppressInput,
61
- nodeName = this.element[0].nodeName.toLowerCase(),
86
+ nodeName = this.element[ 0 ].nodeName.toLowerCase(),
62
87
  isTextarea = nodeName === "textarea",
63
88
  isInput = nodeName === "input";
64
89
 
65
- this.isMultiLine =
66
- // Textareas are always multi-line
67
- isTextarea ? true :
68
- // Inputs are always single-line, even if inside a contentEditable element
69
- // IE also treats inputs as contentEditable
70
- isInput ? false :
71
- // All other element types are determined by whether or not they're contentEditable
72
- this.element.prop( "isContentEditable" );
90
+ // Textareas are always multi-line
91
+ // Inputs are always single-line, even if inside a contentEditable element
92
+ // All other element types are determined by whether they're contentEditable
93
+ this.isMultiLine = isTextarea ||
94
+ !isInput && this.element.prop( "contentEditable" ) === "true";
73
95
 
74
96
  this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
75
97
  this.isNewMenu = true;
76
98
 
77
- this.element
78
- .addClass( "ui-autocomplete-input" )
79
- .attr( "autocomplete", "off" );
99
+ this._addClass( "ui-autocomplete-input" );
100
+ this.element.attr( "autocomplete", "off" );
80
101
 
81
102
  this._on( this.element, {
82
103
  keydown: function( event ) {
@@ -91,7 +112,7 @@ $.widget( "ui.autocomplete", {
91
112
  suppressInput = false;
92
113
  suppressKeyPressRepeat = false;
93
114
  var keyCode = $.ui.keyCode;
94
- switch( event.keyCode ) {
115
+ switch ( event.keyCode ) {
95
116
  case keyCode.PAGE_UP:
96
117
  suppressKeyPress = true;
97
118
  this._move( "previousPage", event );
@@ -109,9 +130,10 @@ $.widget( "ui.autocomplete", {
109
130
  this._keyEvent( "next", event );
110
131
  break;
111
132
  case keyCode.ENTER:
112
- case keyCode.NUMPAD_ENTER:
133
+
113
134
  // when menu is open and has focus
114
135
  if ( this.menu.active ) {
136
+
115
137
  // #6055 - Opera still allows the keypress to occur
116
138
  // which causes forms to submit
117
139
  suppressKeyPress = true;
@@ -126,16 +148,19 @@ $.widget( "ui.autocomplete", {
126
148
  break;
127
149
  case keyCode.ESCAPE:
128
150
  if ( this.menu.element.is( ":visible" ) ) {
129
- this._value( this.term );
151
+ if ( !this.isMultiLine ) {
152
+ this._value( this.term );
153
+ }
130
154
  this.close( event );
155
+
131
156
  // Different browsers have different default behavior for escape
132
157
  // Single press can mean undo or clear
133
- // Double press in IE means clear the whole form
134
158
  event.preventDefault();
135
159
  }
136
160
  break;
137
161
  default:
138
162
  suppressKeyPressRepeat = true;
163
+
139
164
  // search timeout should be triggered before the input value is changed
140
165
  this._searchTimeout( event );
141
166
  break;
@@ -153,9 +178,9 @@ $.widget( "ui.autocomplete", {
153
178
  return;
154
179
  }
155
180
 
156
- // replicate some key handlers to allow them to repeat in Firefox and Opera
181
+ // Replicate some key handlers to allow them to repeat in Firefox and Opera
157
182
  var keyCode = $.ui.keyCode;
158
- switch( event.keyCode ) {
183
+ switch ( event.keyCode ) {
159
184
  case keyCode.PAGE_UP:
160
185
  this._move( "previousPage", event );
161
186
  break;
@@ -183,60 +208,34 @@ $.widget( "ui.autocomplete", {
183
208
  this.previous = this._value();
184
209
  },
185
210
  blur: function( event ) {
186
- if ( this.cancelBlur ) {
187
- delete this.cancelBlur;
188
- return;
189
- }
190
-
191
211
  clearTimeout( this.searching );
192
212
  this.close( event );
193
213
  this._change( event );
194
214
  }
195
- });
215
+ } );
196
216
 
197
217
  this._initSource();
198
218
  this.menu = $( "<ul>" )
199
- .addClass( "ui-autocomplete ui-front" )
200
219
  .appendTo( this._appendTo() )
201
- .menu({
220
+ .menu( {
221
+
202
222
  // disable ARIA support, the live region takes care of that
203
223
  role: null
204
- })
224
+ } )
205
225
  .hide()
206
- .data( "ui-menu" );
226
+ .menu( "instance" );
207
227
 
228
+ this._addClass( this.menu.element, "ui-autocomplete", "ui-front" );
208
229
  this._on( this.menu.element, {
209
230
  mousedown: function( event ) {
210
- // prevent moving focus out of the text field
211
- event.preventDefault();
212
231
 
213
- // IE doesn't prevent moving focus even with event.preventDefault()
214
- // so we set a flag to know when we should ignore the blur event
215
- this.cancelBlur = true;
216
- this._delay(function() {
217
- delete this.cancelBlur;
218
- });
219
-
220
- // clicking on the scrollbar causes focus to shift to the body
221
- // but we can't detect a mouseup or a click immediately afterward
222
- // so we have to track the next mousedown and close the menu if
223
- // the user clicks somewhere outside of the autocomplete
224
- var menuElement = this.menu.element[ 0 ];
225
- if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {
226
- this._delay(function() {
227
- var that = this;
228
- this.document.one( "mousedown", function( event ) {
229
- if ( event.target !== that.element[ 0 ] &&
230
- event.target !== menuElement &&
231
- !$.contains( menuElement, event.target ) ) {
232
- that.close();
233
- }
234
- });
235
- });
236
- }
232
+ // Prevent moving focus out of the text field
233
+ event.preventDefault();
237
234
  },
238
235
  menufocus: function( event, ui ) {
239
- // support: Firefox
236
+ var label, item;
237
+
238
+ // Support: Firefox
240
239
  // Prevent accidental activation of menu items in Firefox (#7024 #9118)
241
240
  if ( this.isNewMenu ) {
242
241
  this.isNewMenu = false;
@@ -245,47 +244,44 @@ $.widget( "ui.autocomplete", {
245
244
 
246
245
  this.document.one( "mousemove", function() {
247
246
  $( event.target ).trigger( event.originalEvent );
248
- });
247
+ } );
249
248
 
250
249
  return;
251
250
  }
252
251
  }
253
252
 
254
- var item = ui.item.data( "ui-autocomplete-item" );
253
+ item = ui.item.data( "ui-autocomplete-item" );
255
254
  if ( false !== this._trigger( "focus", event, { item: item } ) ) {
255
+
256
256
  // use value to match what will end up in the input, if it was a key event
257
257
  if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {
258
258
  this._value( item.value );
259
259
  }
260
- } else {
261
- // Normally the input is populated with the item's value as the
262
- // menu is navigated, causing screen readers to notice a change and
263
- // announce the item. Since the focus event was canceled, this doesn't
264
- // happen, so we update the live region so that screen readers can
265
- // still notice the change and announce it.
266
- this.liveRegion.text( item.value );
260
+ }
261
+
262
+ // Announce the value in the liveRegion
263
+ label = ui.item.attr( "aria-label" ) || item.value;
264
+ if ( label && String.prototype.trim.call( label ).length ) {
265
+ clearTimeout( this.liveRegionTimer );
266
+ this.liveRegionTimer = this._delay( function() {
267
+ this.liveRegion.html( $( "<div>" ).text( label ) );
268
+ }, 100 );
267
269
  }
268
270
  },
269
271
  menuselect: function( event, ui ) {
270
272
  var item = ui.item.data( "ui-autocomplete-item" ),
271
273
  previous = this.previous;
272
274
 
273
- // only trigger when focus was lost (click on menu)
274
- if ( this.element[0] !== this.document[0].activeElement ) {
275
- this.element.focus();
275
+ // Only trigger when focus was lost (click on menu)
276
+ if ( this.element[ 0 ] !== this.document[ 0 ].activeElement ) {
277
+ this.element.trigger( "focus" );
276
278
  this.previous = previous;
277
- // #6109 - IE triggers two focus events and the second
278
- // is asynchronous, so we need to reset the previous
279
- // term synchronously and asynchronously :-(
280
- this._delay(function() {
281
- this.previous = previous;
282
- this.selectedItem = item;
283
- });
284
279
  }
285
280
 
286
281
  if ( false !== this._trigger( "select", event, { item: item } ) ) {
287
282
  this._value( item.value );
288
283
  }
284
+
289
285
  // reset the term after the select event
290
286
  // this allows custom select handling to work properly
291
287
  this.term = this._value();
@@ -293,30 +289,30 @@ $.widget( "ui.autocomplete", {
293
289
  this.close( event );
294
290
  this.selectedItem = item;
295
291
  }
296
- });
292
+ } );
297
293
 
298
- this.liveRegion = $( "<span>", {
299
- role: "status",
300
- "aria-live": "polite"
301
- })
302
- .addClass( "ui-helper-hidden-accessible" )
303
- .insertBefore( this.element );
294
+ this.liveRegion = $( "<div>", {
295
+ role: "status",
296
+ "aria-live": "assertive",
297
+ "aria-relevant": "additions"
298
+ } )
299
+ .appendTo( this.document[ 0 ].body );
304
300
 
305
- // turning off autocomplete prevents the browser from remembering the
301
+ this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" );
302
+
303
+ // Turning off autocomplete prevents the browser from remembering the
306
304
  // value when navigating through history, so we re-enable autocomplete
307
305
  // if the page is unloaded before the widget is destroyed. #7790
308
306
  this._on( this.window, {
309
307
  beforeunload: function() {
310
308
  this.element.removeAttr( "autocomplete" );
311
309
  }
312
- });
310
+ } );
313
311
  },
314
312
 
315
313
  _destroy: function() {
316
314
  clearTimeout( this.searching );
317
- this.element
318
- .removeClass( "ui-autocomplete-input" )
319
- .removeAttr( "autocomplete" );
315
+ this.element.removeAttr( "autocomplete" );
320
316
  this.menu.element.remove();
321
317
  this.liveRegion.remove();
322
318
  },
@@ -334,6 +330,20 @@ $.widget( "ui.autocomplete", {
334
330
  }
335
331
  },
336
332
 
333
+ _isEventTargetInWidget: function( event ) {
334
+ var menuElement = this.menu.element[ 0 ];
335
+
336
+ return event.target === this.element[ 0 ] ||
337
+ event.target === menuElement ||
338
+ $.contains( menuElement, event.target );
339
+ },
340
+
341
+ _closeOnClickOutside: function( event ) {
342
+ if ( !this._isEventTargetInWidget( event ) ) {
343
+ this.close();
344
+ }
345
+ },
346
+
337
347
  _appendTo: function() {
338
348
  var element = this.options.appendTo;
339
349
 
@@ -343,12 +353,12 @@ $.widget( "ui.autocomplete", {
343
353
  this.document.find( element ).eq( 0 );
344
354
  }
345
355
 
346
- if ( !element ) {
347
- element = this.element.closest( ".ui-front" );
356
+ if ( !element || !element[ 0 ] ) {
357
+ element = this.element.closest( ".ui-front, dialog" );
348
358
  }
349
359
 
350
360
  if ( !element.length ) {
351
- element = this.document[0].body;
361
+ element = this.document[ 0 ].body;
352
362
  }
353
363
 
354
364
  return element;
@@ -357,7 +367,7 @@ $.widget( "ui.autocomplete", {
357
367
  _initSource: function() {
358
368
  var array, url,
359
369
  that = this;
360
- if ( $.isArray(this.options.source) ) {
370
+ if ( Array.isArray( this.options.source ) ) {
361
371
  array = this.options.source;
362
372
  this.source = function( request, response ) {
363
373
  response( $.ui.autocomplete.filter( array, request.term ) );
@@ -368,7 +378,7 @@ $.widget( "ui.autocomplete", {
368
378
  if ( that.xhr ) {
369
379
  that.xhr.abort();
370
380
  }
371
- that.xhr = $.ajax({
381
+ that.xhr = $.ajax( {
372
382
  url: url,
373
383
  data: request,
374
384
  dataType: "json",
@@ -378,7 +388,7 @@ $.widget( "ui.autocomplete", {
378
388
  error: function() {
379
389
  response( [] );
380
390
  }
381
- });
391
+ } );
382
392
  };
383
393
  } else {
384
394
  this.source = this.options.source;
@@ -387,9 +397,14 @@ $.widget( "ui.autocomplete", {
387
397
 
388
398
  _searchTimeout: function( event ) {
389
399
  clearTimeout( this.searching );
390
- this.searching = this._delay(function() {
391
- // only search if the value has changed
392
- if ( this.term !== this._value() ) {
400
+ this.searching = this._delay( function() {
401
+
402
+ // Search if the value has changed, or if the user retypes the same value (see #7434)
403
+ var equalValues = this.term === this._value(),
404
+ menuVisible = this.menu.element.is( ":visible" ),
405
+ modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;
406
+
407
+ if ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) {
393
408
  this.selectedItem = null;
394
409
  this.search( null, event );
395
410
  }
@@ -399,7 +414,7 @@ $.widget( "ui.autocomplete", {
399
414
  search: function( value, event ) {
400
415
  value = value != null ? value : this._value();
401
416
 
402
- // always save the actual value, not the one passed as an argument
417
+ // Always save the actual value, not the one passed as an argument
403
418
  this.term = this._value();
404
419
 
405
420
  if ( value.length < this.options.minLength ) {
@@ -415,7 +430,7 @@ $.widget( "ui.autocomplete", {
415
430
 
416
431
  _search: function( value ) {
417
432
  this.pending++;
418
- this.element.addClass( "ui-autocomplete-loading" );
433
+ this._addClass( "ui-autocomplete-loading" );
419
434
  this.cancelSearch = false;
420
435
 
421
436
  this.source( { term: value }, this._response() );
@@ -424,16 +439,16 @@ $.widget( "ui.autocomplete", {
424
439
  _response: function() {
425
440
  var index = ++this.requestIndex;
426
441
 
427
- return $.proxy(function( content ) {
442
+ return function( content ) {
428
443
  if ( index === this.requestIndex ) {
429
444
  this.__response( content );
430
445
  }
431
446
 
432
447
  this.pending--;
433
448
  if ( !this.pending ) {
434
- this.element.removeClass( "ui-autocomplete-loading" );
449
+ this._removeClass( "ui-autocomplete-loading" );
435
450
  }
436
- }, this );
451
+ }.bind( this );
437
452
  },
438
453
 
439
454
  __response: function( content ) {
@@ -445,6 +460,7 @@ $.widget( "ui.autocomplete", {
445
460
  this._suggest( content );
446
461
  this._trigger( "open" );
447
462
  } else {
463
+
448
464
  // use ._close() instead of .close() so we don't cancel future searches
449
465
  this._close();
450
466
  }
@@ -456,6 +472,10 @@ $.widget( "ui.autocomplete", {
456
472
  },
457
473
 
458
474
  _close: function( event ) {
475
+
476
+ // Remove the handler that closes the menu on outside clicks
477
+ this._off( this.document, "mousedown" );
478
+
459
479
  if ( this.menu.element.is( ":visible" ) ) {
460
480
  this.menu.element.hide();
461
481
  this.menu.blur();
@@ -471,8 +491,9 @@ $.widget( "ui.autocomplete", {
471
491
  },
472
492
 
473
493
  _normalize: function( items ) {
494
+
474
495
  // assume all items have the right format when the first item is complete
475
- if ( items.length && items[0].label && items[0].value ) {
496
+ if ( items.length && items[ 0 ].label && items[ 0 ].value ) {
476
497
  return items;
477
498
  }
478
499
  return $.map( items, function( item ) {
@@ -482,11 +503,11 @@ $.widget( "ui.autocomplete", {
482
503
  value: item
483
504
  };
484
505
  }
485
- return $.extend({
506
+ return $.extend( {}, item, {
486
507
  label: item.label || item.value,
487
508
  value: item.value || item.label
488
- }, item );
489
- });
509
+ } );
510
+ } );
490
511
  },
491
512
 
492
513
  _suggest: function( items ) {
@@ -495,21 +516,27 @@ $.widget( "ui.autocomplete", {
495
516
  this.isNewMenu = true;
496
517
  this.menu.refresh();
497
518
 
498
- // size and position menu
519
+ // Size and position menu
499
520
  ul.show();
500
521
  this._resizeMenu();
501
- ul.position( $.extend({
522
+ ul.position( $.extend( {
502
523
  of: this.element
503
- }, this.options.position ));
524
+ }, this.options.position ) );
504
525
 
505
526
  if ( this.options.autoFocus ) {
506
527
  this.menu.next();
507
528
  }
529
+
530
+ // Listen for interactions outside of the widget (#6642)
531
+ this._on( this.document, {
532
+ mousedown: "_closeOnClickOutside"
533
+ } );
508
534
  },
509
535
 
510
536
  _resizeMenu: function() {
511
537
  var ul = this.menu.element;
512
538
  ul.outerWidth( Math.max(
539
+
513
540
  // Firefox wraps long text (possibly a rounding bug)
514
541
  // so we add 1px to avoid the wrapping (#7513)
515
542
  ul.width( "" ).outerWidth() + 1,
@@ -521,7 +548,7 @@ $.widget( "ui.autocomplete", {
521
548
  var that = this;
522
549
  $.each( items, function( index, item ) {
523
550
  that._renderItemData( ul, item );
524
- });
551
+ } );
525
552
  },
526
553
 
527
554
  _renderItemData: function( ul, item ) {
@@ -530,7 +557,7 @@ $.widget( "ui.autocomplete", {
530
557
 
531
558
  _renderItem: function( ul, item ) {
532
559
  return $( "<li>" )
533
- .append( $( "<a>" ).text( item.label ) )
560
+ .append( $( "<div>" ).text( item.label ) )
534
561
  .appendTo( ul );
535
562
  },
536
563
 
@@ -541,7 +568,11 @@ $.widget( "ui.autocomplete", {
541
568
  }
542
569
  if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
543
570
  this.menu.isLastItem() && /^next/.test( direction ) ) {
544
- this._value( this.term );
571
+
572
+ if ( !this.isMultiLine ) {
573
+ this._value( this.term );
574
+ }
575
+
545
576
  this.menu.blur();
546
577
  return;
547
578
  }
@@ -560,26 +591,25 @@ $.widget( "ui.autocomplete", {
560
591
  if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
561
592
  this._move( keyEvent, event );
562
593
 
563
- // prevents moving cursor to beginning/end of the text field in some browsers
594
+ // Prevents moving cursor to beginning/end of the text field in some browsers
564
595
  event.preventDefault();
565
596
  }
566
597
  }
567
- });
598
+ } );
568
599
 
569
600
  $.extend( $.ui.autocomplete, {
570
601
  escapeRegex: function( value ) {
571
- return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
602
+ return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
572
603
  },
573
- filter: function(array, term) {
574
- var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
575
- return $.grep( array, function(value) {
604
+ filter: function( array, term ) {
605
+ var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" );
606
+ return $.grep( array, function( value ) {
576
607
  return matcher.test( value.label || value.value || value );
577
- });
608
+ } );
578
609
  }
579
- });
610
+ } );
580
611
 
581
-
582
- // live region extension, adding a `messages` option
612
+ // Live region extension, adding a `messages` option
583
613
  // NOTE: This is an experimental API. We are still investigating
584
614
  // a full solution for string manipulation and internationalization.
585
615
  $.widget( "ui.autocomplete", $.ui.autocomplete, {
@@ -604,8 +634,13 @@ $.widget( "ui.autocomplete", $.ui.autocomplete, {
604
634
  } else {
605
635
  message = this.options.messages.noResults;
606
636
  }
607
- this.liveRegion.text( message );
637
+ clearTimeout( this.liveRegionTimer );
638
+ this.liveRegionTimer = this._delay( function() {
639
+ this.liveRegion.html( $( "<div>" ).text( message ) );
640
+ }, 100 );
608
641
  }
609
- });
642
+ } );
643
+
644
+ return $.ui.autocomplete;
610
645
 
611
- }( jQuery ));
646
+ } );