jquery-ui-rails-test 6.0.2

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 (180) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +2 -0
  5. data/Gemfile +3 -0
  6. data/History.md +172 -0
  7. data/License.txt +2 -0
  8. data/README.md +311 -0
  9. data/Rakefile +261 -0
  10. data/VERSIONS.md +40 -0
  11. data/app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  12. data/app/assets/images/jquery-ui/ui-icons_444444_256x240.png +0 -0
  13. data/app/assets/images/jquery-ui/ui-icons_555555_256x240.png +0 -0
  14. data/app/assets/images/jquery-ui/ui-icons_777620_256x240.png +0 -0
  15. data/app/assets/images/jquery-ui/ui-icons_777777_256x240.png +0 -0
  16. data/app/assets/images/jquery-ui/ui-icons_cc0000_256x240.png +0 -0
  17. data/app/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  18. data/app/assets/javascripts/jquery-ui/core.js +15 -0
  19. data/app/assets/javascripts/jquery-ui/data.js +45 -0
  20. data/app/assets/javascripts/jquery-ui/disable-selection.js +51 -0
  21. data/app/assets/javascripts/jquery-ui/effect.all.js +15 -0
  22. data/app/assets/javascripts/jquery-ui/effect.js +975 -0
  23. data/app/assets/javascripts/jquery-ui/effects/effect-blind.js +76 -0
  24. data/app/assets/javascripts/jquery-ui/effects/effect-bounce.js +116 -0
  25. data/app/assets/javascripts/jquery-ui/effects/effect-clip.js +71 -0
  26. data/app/assets/javascripts/jquery-ui/effects/effect-drop.js +75 -0
  27. data/app/assets/javascripts/jquery-ui/effects/effect-explode.js +117 -0
  28. data/app/assets/javascripts/jquery-ui/effects/effect-fade.js +53 -0
  29. data/app/assets/javascripts/jquery-ui/effects/effect-fold.js +95 -0
  30. data/app/assets/javascripts/jquery-ui/effects/effect-highlight.js +63 -0
  31. data/app/assets/javascripts/jquery-ui/effects/effect-puff.js +49 -0
  32. data/app/assets/javascripts/jquery-ui/effects/effect-pulsate.js +70 -0
  33. data/app/assets/javascripts/jquery-ui/effects/effect-scale.js +63 -0
  34. data/app/assets/javascripts/jquery-ui/effects/effect-shake.js +80 -0
  35. data/app/assets/javascripts/jquery-ui/effects/effect-size.js +199 -0
  36. data/app/assets/javascripts/jquery-ui/effects/effect-slide.js +82 -0
  37. data/app/assets/javascripts/jquery-ui/effects/effect-transfer.js +46 -0
  38. data/app/assets/javascripts/jquery-ui/focusable.js +89 -0
  39. data/app/assets/javascripts/jquery-ui/form-reset-mixin.js +83 -0
  40. data/app/assets/javascripts/jquery-ui/form.js +25 -0
  41. data/app/assets/javascripts/jquery-ui/i18n/datepicker-af.js +40 -0
  42. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar-DZ.js +42 -0
  43. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar.js +42 -0
  44. data/app/assets/javascripts/jquery-ui/i18n/datepicker-az.js +40 -0
  45. data/app/assets/javascripts/jquery-ui/i18n/datepicker-be.js +40 -0
  46. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bg.js +41 -0
  47. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bs.js +40 -0
  48. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ca.js +40 -0
  49. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cs.js +40 -0
  50. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cy-GB.js +48 -0
  51. data/app/assets/javascripts/jquery-ui/i18n/datepicker-da.js +40 -0
  52. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de-AT.js +41 -0
  53. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de.js +40 -0
  54. data/app/assets/javascripts/jquery-ui/i18n/datepicker-el.js +40 -0
  55. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-AU.js +40 -0
  56. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-GB.js +40 -0
  57. data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-NZ.js +40 -0
  58. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eo.js +40 -0
  59. data/app/assets/javascripts/jquery-ui/i18n/datepicker-es.js +40 -0
  60. data/app/assets/javascripts/jquery-ui/i18n/datepicker-et.js +48 -0
  61. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eu.js +39 -0
  62. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fa.js +76 -0
  63. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fi.js +40 -0
  64. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fo.js +48 -0
  65. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CA.js +40 -0
  66. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CH.js +40 -0
  67. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr.js +42 -0
  68. data/app/assets/javascripts/jquery-ui/i18n/datepicker-gl.js +40 -0
  69. data/app/assets/javascripts/jquery-ui/i18n/datepicker-he.js +40 -0
  70. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hi.js +40 -0
  71. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hr.js +40 -0
  72. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hu.js +39 -0
  73. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hy.js +40 -0
  74. data/app/assets/javascripts/jquery-ui/i18n/datepicker-id.js +40 -0
  75. data/app/assets/javascripts/jquery-ui/i18n/datepicker-is.js +48 -0
  76. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it-CH.js +40 -0
  77. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it.js +40 -0
  78. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ja.js +40 -0
  79. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ka.js +51 -0
  80. data/app/assets/javascripts/jquery-ui/i18n/datepicker-kk.js +40 -0
  81. data/app/assets/javascripts/jquery-ui/i18n/datepicker-km.js +40 -0
  82. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ko.js +40 -0
  83. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ky.js +41 -0
  84. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lb.js +48 -0
  85. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lt.js +48 -0
  86. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lv.js +48 -0
  87. data/app/assets/javascripts/jquery-ui/i18n/datepicker-mk.js +40 -0
  88. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ml.js +40 -0
  89. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ms.js +40 -0
  90. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nb.js +52 -0
  91. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl-BE.js +40 -0
  92. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl.js +40 -0
  93. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nn.js +52 -0
  94. data/app/assets/javascripts/jquery-ui/i18n/datepicker-no.js +53 -0
  95. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pl.js +40 -0
  96. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt-BR.js +48 -0
  97. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt.js +47 -0
  98. data/app/assets/javascripts/jquery-ui/i18n/datepicker-rm.js +64 -0
  99. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ro.js +43 -0
  100. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ru.js +40 -0
  101. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sk.js +40 -0
  102. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sl.js +41 -0
  103. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sq.js +40 -0
  104. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr-SR.js +40 -0
  105. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr.js +40 -0
  106. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sv.js +40 -0
  107. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ta.js +56 -0
  108. data/app/assets/javascripts/jquery-ui/i18n/datepicker-th.js +40 -0
  109. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tj.js +40 -0
  110. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tr.js +40 -0
  111. data/app/assets/javascripts/jquery-ui/i18n/datepicker-uk.js +41 -0
  112. data/app/assets/javascripts/jquery-ui/i18n/datepicker-vi.js +40 -0
  113. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-CN.js +40 -0
  114. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-HK.js +40 -0
  115. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-TW.js +40 -0
  116. data/app/assets/javascripts/jquery-ui/ie.js +20 -0
  117. data/app/assets/javascripts/jquery-ui/jquery-patch.js +91 -0
  118. data/app/assets/javascripts/jquery-ui/jquery-var-for-color.js +24 -0
  119. data/app/assets/javascripts/jquery-ui/keycode.js +51 -0
  120. data/app/assets/javascripts/jquery-ui/labels.js +71 -0
  121. data/app/assets/javascripts/jquery-ui/plugin.js +49 -0
  122. data/app/assets/javascripts/jquery-ui/position.js +513 -0
  123. data/app/assets/javascripts/jquery-ui/safe-active-element.js +46 -0
  124. data/app/assets/javascripts/jquery-ui/safe-blur.js +27 -0
  125. data/app/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
  126. data/app/assets/javascripts/jquery-ui/tabbable.js +41 -0
  127. data/app/assets/javascripts/jquery-ui/unique-id.js +54 -0
  128. data/app/assets/javascripts/jquery-ui/vendor/jquery-color/LICENSE.txt +43 -0
  129. data/app/assets/javascripts/jquery-ui/vendor/jquery-color/jquery.color.js +722 -0
  130. data/app/assets/javascripts/jquery-ui/version.js +20 -0
  131. data/app/assets/javascripts/jquery-ui/widget.js +758 -0
  132. data/app/assets/javascripts/jquery-ui/widgets/accordion.js +627 -0
  133. data/app/assets/javascripts/jquery-ui/widgets/autocomplete.js +685 -0
  134. data/app/assets/javascripts/jquery-ui/widgets/button.js +454 -0
  135. data/app/assets/javascripts/jquery-ui/widgets/checkboxradio.js +289 -0
  136. data/app/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
  137. data/app/assets/javascripts/jquery-ui/widgets/datepicker.js +2243 -0
  138. data/app/assets/javascripts/jquery-ui/widgets/dialog.js +968 -0
  139. data/app/assets/javascripts/jquery-ui/widgets/draggable.js +1268 -0
  140. data/app/assets/javascripts/jquery-ui/widgets/droppable.js +508 -0
  141. data/app/assets/javascripts/jquery-ui/widgets/menu.js +720 -0
  142. data/app/assets/javascripts/jquery-ui/widgets/mouse.js +241 -0
  143. data/app/assets/javascripts/jquery-ui/widgets/progressbar.js +184 -0
  144. data/app/assets/javascripts/jquery-ui/widgets/resizable.js +1225 -0
  145. data/app/assets/javascripts/jquery-ui/widgets/selectable.js +321 -0
  146. data/app/assets/javascripts/jquery-ui/widgets/selectmenu.js +702 -0
  147. data/app/assets/javascripts/jquery-ui/widgets/slider.js +760 -0
  148. data/app/assets/javascripts/jquery-ui/widgets/sortable.js +1622 -0
  149. data/app/assets/javascripts/jquery-ui/widgets/spinner.js +588 -0
  150. data/app/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  151. data/app/assets/javascripts/jquery-ui/widgets/tooltip.js +533 -0
  152. data/app/assets/javascripts/jquery-ui.js +56 -0
  153. data/app/assets/stylesheets/jquery-ui/accordion.css +26 -0
  154. data/app/assets/stylesheets/jquery-ui/all.css +14 -0
  155. data/app/assets/stylesheets/jquery-ui/autocomplete.css +19 -0
  156. data/app/assets/stylesheets/jquery-ui/base.css +32 -0
  157. data/app/assets/stylesheets/jquery-ui/button.css +85 -0
  158. data/app/assets/stylesheets/jquery-ui/checkboxradio.css +37 -0
  159. data/app/assets/stylesheets/jquery-ui/controlgroup.css +68 -0
  160. data/app/assets/stylesheets/jquery-ui/core.css +100 -0
  161. data/app/assets/stylesheets/jquery-ui/datepicker.css +188 -0
  162. data/app/assets/stylesheets/jquery-ui/dialog.css +104 -0
  163. data/app/assets/stylesheets/jquery-ui/draggable.css +15 -0
  164. data/app/assets/stylesheets/jquery-ui/menu.css +67 -0
  165. data/app/assets/stylesheets/jquery-ui/progressbar.css +31 -0
  166. data/app/assets/stylesheets/jquery-ui/resizable.css +81 -0
  167. data/app/assets/stylesheets/jquery-ui/selectable.css +20 -0
  168. data/app/assets/stylesheets/jquery-ui/selectmenu.css +53 -0
  169. data/app/assets/stylesheets/jquery-ui/slider.css +78 -0
  170. data/app/assets/stylesheets/jquery-ui/sortable.css +15 -0
  171. data/app/assets/stylesheets/jquery-ui/spinner.css +55 -0
  172. data/app/assets/stylesheets/jquery-ui/tabs.css +54 -0
  173. data/app/assets/stylesheets/jquery-ui/theme.css.erb +456 -0
  174. data/app/assets/stylesheets/jquery-ui/tooltip.css +22 -0
  175. data/app/assets/stylesheets/jquery-ui.css +1 -0
  176. data/lib/jquery/ui/rails/engine.rb +8 -0
  177. data/lib/jquery/ui/rails/version.rb +8 -0
  178. data/lib/jquery/ui/rails.rb +2 -0
  179. data/lib/jquery-ui-rails.rb +1 -0
  180. metadata +250 -0
@@ -0,0 +1,533 @@
1
+ //= require jquery-ui/keycode
2
+ //= require jquery-ui/position
3
+ //= require jquery-ui/unique-id
4
+ //= require jquery-ui/version
5
+ //= require jquery-ui/widget
6
+
7
+ /*!
8
+ * jQuery UI Tooltip 1.13.1
9
+ * http://jqueryui.com
10
+ *
11
+ * Copyright jQuery Foundation and other contributors
12
+ * Released under the MIT license.
13
+ * http://jquery.org/license
14
+ */
15
+
16
+ //>>label: Tooltip
17
+ //>>group: Widgets
18
+ //>>description: Shows additional information for any element on hover or focus.
19
+ //>>docs: http://api.jqueryui.com/tooltip/
20
+ //>>demos: http://jqueryui.com/tooltip/
21
+ //>>css.structure: ../../themes/base/core.css
22
+ //>>css.structure: ../../themes/base/tooltip.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
+ "../keycode",
34
+ "../position",
35
+ "../unique-id",
36
+ "../version",
37
+ "../widget"
38
+ ], factory );
39
+ } else {
40
+
41
+ // Browser globals
42
+ factory( jQuery );
43
+ }
44
+ } )( function( $ ) {
45
+ "use strict";
46
+
47
+ $.widget( "ui.tooltip", {
48
+ version: "1.13.1",
49
+ options: {
50
+ classes: {
51
+ "ui-tooltip": "ui-corner-all ui-widget-shadow"
52
+ },
53
+ content: function() {
54
+ var title = $( this ).attr( "title" );
55
+
56
+ // Escape title, since we're going from an attribute to raw HTML
57
+ return $( "<a>" ).text( title ).html();
58
+ },
59
+ hide: true,
60
+
61
+ // Disabled elements have inconsistent behavior across browsers (#8661)
62
+ items: "[title]:not([disabled])",
63
+ position: {
64
+ my: "left top+15",
65
+ at: "left bottom",
66
+ collision: "flipfit flip"
67
+ },
68
+ show: true,
69
+ track: false,
70
+
71
+ // Callbacks
72
+ close: null,
73
+ open: null
74
+ },
75
+
76
+ _addDescribedBy: function( elem, id ) {
77
+ var describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ );
78
+ describedby.push( id );
79
+ elem
80
+ .data( "ui-tooltip-id", id )
81
+ .attr( "aria-describedby", String.prototype.trim.call( describedby.join( " " ) ) );
82
+ },
83
+
84
+ _removeDescribedBy: function( elem ) {
85
+ var id = elem.data( "ui-tooltip-id" ),
86
+ describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ),
87
+ index = $.inArray( id, describedby );
88
+
89
+ if ( index !== -1 ) {
90
+ describedby.splice( index, 1 );
91
+ }
92
+
93
+ elem.removeData( "ui-tooltip-id" );
94
+ describedby = String.prototype.trim.call( describedby.join( " " ) );
95
+ if ( describedby ) {
96
+ elem.attr( "aria-describedby", describedby );
97
+ } else {
98
+ elem.removeAttr( "aria-describedby" );
99
+ }
100
+ },
101
+
102
+ _create: function() {
103
+ this._on( {
104
+ mouseover: "open",
105
+ focusin: "open"
106
+ } );
107
+
108
+ // IDs of generated tooltips, needed for destroy
109
+ this.tooltips = {};
110
+
111
+ // IDs of parent tooltips where we removed the title attribute
112
+ this.parents = {};
113
+
114
+ // Append the aria-live region so tooltips announce correctly
115
+ this.liveRegion = $( "<div>" )
116
+ .attr( {
117
+ role: "log",
118
+ "aria-live": "assertive",
119
+ "aria-relevant": "additions"
120
+ } )
121
+ .appendTo( this.document[ 0 ].body );
122
+ this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" );
123
+
124
+ this.disabledTitles = $( [] );
125
+ },
126
+
127
+ _setOption: function( key, value ) {
128
+ var that = this;
129
+
130
+ this._super( key, value );
131
+
132
+ if ( key === "content" ) {
133
+ $.each( this.tooltips, function( id, tooltipData ) {
134
+ that._updateContent( tooltipData.element );
135
+ } );
136
+ }
137
+ },
138
+
139
+ _setOptionDisabled: function( value ) {
140
+ this[ value ? "_disable" : "_enable" ]();
141
+ },
142
+
143
+ _disable: function() {
144
+ var that = this;
145
+
146
+ // Close open tooltips
147
+ $.each( this.tooltips, function( id, tooltipData ) {
148
+ var event = $.Event( "blur" );
149
+ event.target = event.currentTarget = tooltipData.element[ 0 ];
150
+ that.close( event, true );
151
+ } );
152
+
153
+ // Remove title attributes to prevent native tooltips
154
+ this.disabledTitles = this.disabledTitles.add(
155
+ this.element.find( this.options.items ).addBack()
156
+ .filter( function() {
157
+ var element = $( this );
158
+ if ( element.is( "[title]" ) ) {
159
+ return element
160
+ .data( "ui-tooltip-title", element.attr( "title" ) )
161
+ .removeAttr( "title" );
162
+ }
163
+ } )
164
+ );
165
+ },
166
+
167
+ _enable: function() {
168
+
169
+ // restore title attributes
170
+ this.disabledTitles.each( function() {
171
+ var element = $( this );
172
+ if ( element.data( "ui-tooltip-title" ) ) {
173
+ element.attr( "title", element.data( "ui-tooltip-title" ) );
174
+ }
175
+ } );
176
+ this.disabledTitles = $( [] );
177
+ },
178
+
179
+ open: function( event ) {
180
+ var that = this,
181
+ target = $( event ? event.target : this.element )
182
+
183
+ // we need closest here due to mouseover bubbling,
184
+ // but always pointing at the same event target
185
+ .closest( this.options.items );
186
+
187
+ // No element to show a tooltip for or the tooltip is already open
188
+ if ( !target.length || target.data( "ui-tooltip-id" ) ) {
189
+ return;
190
+ }
191
+
192
+ if ( target.attr( "title" ) ) {
193
+ target.data( "ui-tooltip-title", target.attr( "title" ) );
194
+ }
195
+
196
+ target.data( "ui-tooltip-open", true );
197
+
198
+ // Kill parent tooltips, custom or native, for hover
199
+ if ( event && event.type === "mouseover" ) {
200
+ target.parents().each( function() {
201
+ var parent = $( this ),
202
+ blurEvent;
203
+ if ( parent.data( "ui-tooltip-open" ) ) {
204
+ blurEvent = $.Event( "blur" );
205
+ blurEvent.target = blurEvent.currentTarget = this;
206
+ that.close( blurEvent, true );
207
+ }
208
+ if ( parent.attr( "title" ) ) {
209
+ parent.uniqueId();
210
+ that.parents[ this.id ] = {
211
+ element: this,
212
+ title: parent.attr( "title" )
213
+ };
214
+ parent.attr( "title", "" );
215
+ }
216
+ } );
217
+ }
218
+
219
+ this._registerCloseHandlers( event, target );
220
+ this._updateContent( target, event );
221
+ },
222
+
223
+ _updateContent: function( target, event ) {
224
+ var content,
225
+ contentOption = this.options.content,
226
+ that = this,
227
+ eventType = event ? event.type : null;
228
+
229
+ if ( typeof contentOption === "string" || contentOption.nodeType ||
230
+ contentOption.jquery ) {
231
+ return this._open( event, target, contentOption );
232
+ }
233
+
234
+ content = contentOption.call( target[ 0 ], function( response ) {
235
+
236
+ // IE may instantly serve a cached response for ajax requests
237
+ // delay this call to _open so the other call to _open runs first
238
+ that._delay( function() {
239
+
240
+ // Ignore async response if tooltip was closed already
241
+ if ( !target.data( "ui-tooltip-open" ) ) {
242
+ return;
243
+ }
244
+
245
+ // JQuery creates a special event for focusin when it doesn't
246
+ // exist natively. To improve performance, the native event
247
+ // object is reused and the type is changed. Therefore, we can't
248
+ // rely on the type being correct after the event finished
249
+ // bubbling, so we set it back to the previous value. (#8740)
250
+ if ( event ) {
251
+ event.type = eventType;
252
+ }
253
+ this._open( event, target, response );
254
+ } );
255
+ } );
256
+ if ( content ) {
257
+ this._open( event, target, content );
258
+ }
259
+ },
260
+
261
+ _open: function( event, target, content ) {
262
+ var tooltipData, tooltip, delayedShow, a11yContent,
263
+ positionOption = $.extend( {}, this.options.position );
264
+
265
+ if ( !content ) {
266
+ return;
267
+ }
268
+
269
+ // Content can be updated multiple times. If the tooltip already
270
+ // exists, then just update the content and bail.
271
+ tooltipData = this._find( target );
272
+ if ( tooltipData ) {
273
+ tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content );
274
+ return;
275
+ }
276
+
277
+ // If we have a title, clear it to prevent the native tooltip
278
+ // we have to check first to avoid defining a title if none exists
279
+ // (we don't want to cause an element to start matching [title])
280
+ //
281
+ // We use removeAttr only for key events, to allow IE to export the correct
282
+ // accessible attributes. For mouse events, set to empty string to avoid
283
+ // native tooltip showing up (happens only when removing inside mouseover).
284
+ if ( target.is( "[title]" ) ) {
285
+ if ( event && event.type === "mouseover" ) {
286
+ target.attr( "title", "" );
287
+ } else {
288
+ target.removeAttr( "title" );
289
+ }
290
+ }
291
+
292
+ tooltipData = this._tooltip( target );
293
+ tooltip = tooltipData.tooltip;
294
+ this._addDescribedBy( target, tooltip.attr( "id" ) );
295
+ tooltip.find( ".ui-tooltip-content" ).html( content );
296
+
297
+ // Support: Voiceover on OS X, JAWS on IE <= 9
298
+ // JAWS announces deletions even when aria-relevant="additions"
299
+ // Voiceover will sometimes re-read the entire log region's contents from the beginning
300
+ this.liveRegion.children().hide();
301
+ a11yContent = $( "<div>" ).html( tooltip.find( ".ui-tooltip-content" ).html() );
302
+ a11yContent.removeAttr( "name" ).find( "[name]" ).removeAttr( "name" );
303
+ a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" );
304
+ a11yContent.appendTo( this.liveRegion );
305
+
306
+ function position( event ) {
307
+ positionOption.of = event;
308
+ if ( tooltip.is( ":hidden" ) ) {
309
+ return;
310
+ }
311
+ tooltip.position( positionOption );
312
+ }
313
+ if ( this.options.track && event && /^mouse/.test( event.type ) ) {
314
+ this._on( this.document, {
315
+ mousemove: position
316
+ } );
317
+
318
+ // trigger once to override element-relative positioning
319
+ position( event );
320
+ } else {
321
+ tooltip.position( $.extend( {
322
+ of: target
323
+ }, this.options.position ) );
324
+ }
325
+
326
+ tooltip.hide();
327
+
328
+ this._show( tooltip, this.options.show );
329
+
330
+ // Handle tracking tooltips that are shown with a delay (#8644). As soon
331
+ // as the tooltip is visible, position the tooltip using the most recent
332
+ // event.
333
+ // Adds the check to add the timers only when both delay and track options are set (#14682)
334
+ if ( this.options.track && this.options.show && this.options.show.delay ) {
335
+ delayedShow = this.delayedShow = setInterval( function() {
336
+ if ( tooltip.is( ":visible" ) ) {
337
+ position( positionOption.of );
338
+ clearInterval( delayedShow );
339
+ }
340
+ }, 13 );
341
+ }
342
+
343
+ this._trigger( "open", event, { tooltip: tooltip } );
344
+ },
345
+
346
+ _registerCloseHandlers: function( event, target ) {
347
+ var events = {
348
+ keyup: function( event ) {
349
+ if ( event.keyCode === $.ui.keyCode.ESCAPE ) {
350
+ var fakeEvent = $.Event( event );
351
+ fakeEvent.currentTarget = target[ 0 ];
352
+ this.close( fakeEvent, true );
353
+ }
354
+ }
355
+ };
356
+
357
+ // Only bind remove handler for delegated targets. Non-delegated
358
+ // tooltips will handle this in destroy.
359
+ if ( target[ 0 ] !== this.element[ 0 ] ) {
360
+ events.remove = function() {
361
+ var targetElement = this._find( target );
362
+ if ( targetElement ) {
363
+ this._removeTooltip( targetElement.tooltip );
364
+ }
365
+ };
366
+ }
367
+
368
+ if ( !event || event.type === "mouseover" ) {
369
+ events.mouseleave = "close";
370
+ }
371
+ if ( !event || event.type === "focusin" ) {
372
+ events.focusout = "close";
373
+ }
374
+ this._on( true, target, events );
375
+ },
376
+
377
+ close: function( event ) {
378
+ var tooltip,
379
+ that = this,
380
+ target = $( event ? event.currentTarget : this.element ),
381
+ tooltipData = this._find( target );
382
+
383
+ // The tooltip may already be closed
384
+ if ( !tooltipData ) {
385
+
386
+ // We set ui-tooltip-open immediately upon open (in open()), but only set the
387
+ // additional data once there's actually content to show (in _open()). So even if the
388
+ // tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in
389
+ // the period between open() and _open().
390
+ target.removeData( "ui-tooltip-open" );
391
+ return;
392
+ }
393
+
394
+ tooltip = tooltipData.tooltip;
395
+
396
+ // Disabling closes the tooltip, so we need to track when we're closing
397
+ // to avoid an infinite loop in case the tooltip becomes disabled on close
398
+ if ( tooltipData.closing ) {
399
+ return;
400
+ }
401
+
402
+ // Clear the interval for delayed tracking tooltips
403
+ clearInterval( this.delayedShow );
404
+
405
+ // Only set title if we had one before (see comment in _open())
406
+ // If the title attribute has changed since open(), don't restore
407
+ if ( target.data( "ui-tooltip-title" ) && !target.attr( "title" ) ) {
408
+ target.attr( "title", target.data( "ui-tooltip-title" ) );
409
+ }
410
+
411
+ this._removeDescribedBy( target );
412
+
413
+ tooltipData.hiding = true;
414
+ tooltip.stop( true );
415
+ this._hide( tooltip, this.options.hide, function() {
416
+ that._removeTooltip( $( this ) );
417
+ } );
418
+
419
+ target.removeData( "ui-tooltip-open" );
420
+ this._off( target, "mouseleave focusout keyup" );
421
+
422
+ // Remove 'remove' binding only on delegated targets
423
+ if ( target[ 0 ] !== this.element[ 0 ] ) {
424
+ this._off( target, "remove" );
425
+ }
426
+ this._off( this.document, "mousemove" );
427
+
428
+ if ( event && event.type === "mouseleave" ) {
429
+ $.each( this.parents, function( id, parent ) {
430
+ $( parent.element ).attr( "title", parent.title );
431
+ delete that.parents[ id ];
432
+ } );
433
+ }
434
+
435
+ tooltipData.closing = true;
436
+ this._trigger( "close", event, { tooltip: tooltip } );
437
+ if ( !tooltipData.hiding ) {
438
+ tooltipData.closing = false;
439
+ }
440
+ },
441
+
442
+ _tooltip: function( element ) {
443
+ var tooltip = $( "<div>" ).attr( "role", "tooltip" ),
444
+ content = $( "<div>" ).appendTo( tooltip ),
445
+ id = tooltip.uniqueId().attr( "id" );
446
+
447
+ this._addClass( content, "ui-tooltip-content" );
448
+ this._addClass( tooltip, "ui-tooltip", "ui-widget ui-widget-content" );
449
+
450
+ tooltip.appendTo( this._appendTo( element ) );
451
+
452
+ return this.tooltips[ id ] = {
453
+ element: element,
454
+ tooltip: tooltip
455
+ };
456
+ },
457
+
458
+ _find: function( target ) {
459
+ var id = target.data( "ui-tooltip-id" );
460
+ return id ? this.tooltips[ id ] : null;
461
+ },
462
+
463
+ _removeTooltip: function( tooltip ) {
464
+
465
+ // Clear the interval for delayed tracking tooltips
466
+ clearInterval( this.delayedShow );
467
+
468
+ tooltip.remove();
469
+ delete this.tooltips[ tooltip.attr( "id" ) ];
470
+ },
471
+
472
+ _appendTo: function( target ) {
473
+ var element = target.closest( ".ui-front, dialog" );
474
+
475
+ if ( !element.length ) {
476
+ element = this.document[ 0 ].body;
477
+ }
478
+
479
+ return element;
480
+ },
481
+
482
+ _destroy: function() {
483
+ var that = this;
484
+
485
+ // Close open tooltips
486
+ $.each( this.tooltips, function( id, tooltipData ) {
487
+
488
+ // Delegate to close method to handle common cleanup
489
+ var event = $.Event( "blur" ),
490
+ element = tooltipData.element;
491
+ event.target = event.currentTarget = element[ 0 ];
492
+ that.close( event, true );
493
+
494
+ // Remove immediately; destroying an open tooltip doesn't use the
495
+ // hide animation
496
+ $( "#" + id ).remove();
497
+
498
+ // Restore the title
499
+ if ( element.data( "ui-tooltip-title" ) ) {
500
+
501
+ // If the title attribute has changed since open(), don't restore
502
+ if ( !element.attr( "title" ) ) {
503
+ element.attr( "title", element.data( "ui-tooltip-title" ) );
504
+ }
505
+ element.removeData( "ui-tooltip-title" );
506
+ }
507
+ } );
508
+ this.liveRegion.remove();
509
+ }
510
+ } );
511
+
512
+ // DEPRECATED
513
+ // TODO: Switch return back to widget declaration at top of file when this is removed
514
+ if ( $.uiBackCompat !== false ) {
515
+
516
+ // Backcompat for tooltipClass option
517
+ $.widget( "ui.tooltip", $.ui.tooltip, {
518
+ options: {
519
+ tooltipClass: null
520
+ },
521
+ _tooltip: function() {
522
+ var tooltipData = this._superApply( arguments );
523
+ if ( this.options.tooltipClass ) {
524
+ tooltipData.tooltip.addClass( this.options.tooltipClass );
525
+ }
526
+ return tooltipData;
527
+ }
528
+ } );
529
+ }
530
+
531
+ return $.ui.tooltip;
532
+
533
+ } );
@@ -0,0 +1,56 @@
1
+ //= require jquery-ui/core
2
+ //= require jquery-ui/data
3
+ //= require jquery-ui/disable-selection
4
+ //= require jquery-ui/effect
5
+ //= require jquery-ui/focusable
6
+ //= require jquery-ui/form-reset-mixin
7
+ //= require jquery-ui/form
8
+ //= require jquery-ui/ie
9
+ //= require jquery-ui/jquery-patch
10
+ //= require jquery-ui/jquery-var-for-color
11
+ //= require jquery-ui/keycode
12
+ //= require jquery-ui/labels
13
+ //= require jquery-ui/plugin
14
+ //= require jquery-ui/position
15
+ //= require jquery-ui/safe-active-element
16
+ //= require jquery-ui/safe-blur
17
+ //= require jquery-ui/scroll-parent
18
+ //= require jquery-ui/tabbable
19
+ //= require jquery-ui/unique-id
20
+ //= require jquery-ui/version
21
+ //= require jquery-ui/widget
22
+ //= require jquery-ui/effects/effect-blind
23
+ //= require jquery-ui/effects/effect-bounce
24
+ //= require jquery-ui/effects/effect-clip
25
+ //= require jquery-ui/effects/effect-drop
26
+ //= require jquery-ui/effects/effect-explode
27
+ //= require jquery-ui/effects/effect-fade
28
+ //= require jquery-ui/effects/effect-fold
29
+ //= require jquery-ui/effects/effect-highlight
30
+ //= require jquery-ui/effects/effect-puff
31
+ //= require jquery-ui/effects/effect-pulsate
32
+ //= require jquery-ui/effects/effect-scale
33
+ //= require jquery-ui/effects/effect-shake
34
+ //= require jquery-ui/effects/effect-size
35
+ //= require jquery-ui/effects/effect-slide
36
+ //= require jquery-ui/effects/effect-transfer
37
+ //= require jquery-ui/widgets/accordion
38
+ //= require jquery-ui/widgets/autocomplete
39
+ //= require jquery-ui/widgets/button
40
+ //= require jquery-ui/widgets/checkboxradio
41
+ //= require jquery-ui/widgets/controlgroup
42
+ //= require jquery-ui/widgets/datepicker
43
+ //= require jquery-ui/widgets/dialog
44
+ //= require jquery-ui/widgets/draggable
45
+ //= require jquery-ui/widgets/droppable
46
+ //= require jquery-ui/widgets/menu
47
+ //= require jquery-ui/widgets/mouse
48
+ //= require jquery-ui/widgets/progressbar
49
+ //= require jquery-ui/widgets/resizable
50
+ //= require jquery-ui/widgets/selectable
51
+ //= require jquery-ui/widgets/selectmenu
52
+ //= require jquery-ui/widgets/slider
53
+ //= require jquery-ui/widgets/sortable
54
+ //= require jquery-ui/widgets/spinner
55
+ //= require jquery-ui/widgets/tabs
56
+ //= require jquery-ui/widgets/tooltip
@@ -0,0 +1,26 @@
1
+ /*!
2
+ * jQuery UI Accordion 1.13.1
3
+ * http://jqueryui.com
4
+ *
5
+ * Copyright jQuery Foundation and other contributors
6
+ * Released under the MIT license.
7
+ * http://jquery.org/license
8
+ *
9
+ * http://api.jqueryui.com/accordion/#theming
10
+ */
11
+ /*
12
+ *= require jquery-ui/theme
13
+ */
14
+ .ui-accordion .ui-accordion-header {
15
+ display: block;
16
+ cursor: pointer;
17
+ position: relative;
18
+ margin: 2px 0 0 0;
19
+ padding: .5em .5em .5em .7em;
20
+ font-size: 100%;
21
+ }
22
+ .ui-accordion .ui-accordion-content {
23
+ padding: 1em 2.2em;
24
+ border-top: 0;
25
+ overflow: auto;
26
+ }
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * jQuery UI CSS Framework 1.13.1
3
+ * http://jqueryui.com
4
+ *
5
+ * Copyright jQuery Foundation and other contributors
6
+ * Released under the MIT license.
7
+ * http://jquery.org/license
8
+ *
9
+ * http://api.jqueryui.com/category/theming/
10
+ */
11
+ /*
12
+ *= require jquery-ui/base
13
+ *= require jquery-ui/theme
14
+ */
@@ -0,0 +1,19 @@
1
+ /*!
2
+ * jQuery UI Autocomplete 1.13.1
3
+ * http://jqueryui.com
4
+ *
5
+ * Copyright jQuery Foundation and other contributors
6
+ * Released under the MIT license.
7
+ * http://jquery.org/license
8
+ *
9
+ * http://api.jqueryui.com/autocomplete/#theming
10
+ */
11
+ /*
12
+ *= require jquery-ui/theme
13
+ */
14
+ .ui-autocomplete {
15
+ position: absolute;
16
+ top: 0;
17
+ left: 0;
18
+ cursor: default;
19
+ }
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * jQuery UI CSS Framework 1.13.1
3
+ * http://jqueryui.com
4
+ *
5
+ * Copyright jQuery Foundation and other contributors
6
+ * Released under the MIT license.
7
+ * http://jquery.org/license
8
+ *
9
+ * http://api.jqueryui.com/category/theming/
10
+ */
11
+ /*
12
+ *= require jquery-ui/core
13
+
14
+ *= require jquery-ui/accordion
15
+ *= require jquery-ui/autocomplete
16
+ *= require jquery-ui/button
17
+ *= require jquery-ui/checkboxradio
18
+ *= require jquery-ui/controlgroup
19
+ *= require jquery-ui/datepicker
20
+ *= require jquery-ui/dialog
21
+ *= require jquery-ui/draggable
22
+ *= require jquery-ui/menu
23
+ *= require jquery-ui/progressbar
24
+ *= require jquery-ui/resizable
25
+ *= require jquery-ui/selectable
26
+ *= require jquery-ui/selectmenu
27
+ *= require jquery-ui/sortable
28
+ *= require jquery-ui/slider
29
+ *= require jquery-ui/spinner
30
+ *= require jquery-ui/tabs
31
+ *= require jquery-ui/tooltip
32
+ */