jquery-ui-rails 7.0.0 → 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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +1 -1
  3. data/History.md +4 -0
  4. data/VERSIONS.md +1 -0
  5. data/app/assets/javascripts/jquery-ui/data.js +10 -16
  6. data/app/assets/javascripts/jquery-ui/disable-selection.js +5 -5
  7. data/app/assets/javascripts/jquery-ui/effect.js +17 -38
  8. data/app/assets/javascripts/jquery-ui/effects/effect-blind.js +6 -6
  9. data/app/assets/javascripts/jquery-ui/effects/effect-bounce.js +6 -6
  10. data/app/assets/javascripts/jquery-ui/effects/effect-clip.js +6 -6
  11. data/app/assets/javascripts/jquery-ui/effects/effect-drop.js +6 -6
  12. data/app/assets/javascripts/jquery-ui/effects/effect-explode.js +6 -6
  13. data/app/assets/javascripts/jquery-ui/effects/effect-fade.js +6 -6
  14. data/app/assets/javascripts/jquery-ui/effects/effect-fold.js +6 -6
  15. data/app/assets/javascripts/jquery-ui/effects/effect-highlight.js +6 -6
  16. data/app/assets/javascripts/jquery-ui/effects/effect-puff.js +6 -6
  17. data/app/assets/javascripts/jquery-ui/effects/effect-pulsate.js +6 -6
  18. data/app/assets/javascripts/jquery-ui/effects/effect-scale.js +6 -6
  19. data/app/assets/javascripts/jquery-ui/effects/effect-shake.js +6 -6
  20. data/app/assets/javascripts/jquery-ui/effects/effect-size.js +6 -6
  21. data/app/assets/javascripts/jquery-ui/effects/effect-slide.js +6 -6
  22. data/app/assets/javascripts/jquery-ui/effects/effect-transfer.js +7 -7
  23. data/app/assets/javascripts/jquery-ui/focusable.js +7 -17
  24. data/app/assets/javascripts/jquery-ui/form-reset-mixin.js +6 -8
  25. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar-DZ.js +2 -2
  26. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar.js +2 -2
  27. data/app/assets/javascripts/jquery-ui/i18n/datepicker-az.js +2 -2
  28. data/app/assets/javascripts/jquery-ui/i18n/datepicker-be.js +2 -2
  29. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bg.js +3 -3
  30. data/app/assets/javascripts/jquery-ui/i18n/datepicker-bs.js +2 -2
  31. data/app/assets/javascripts/jquery-ui/i18n/datepicker-cs.js +2 -2
  32. data/app/assets/javascripts/jquery-ui/i18n/datepicker-da.js +2 -2
  33. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de-AT.js +2 -2
  34. data/app/assets/javascripts/jquery-ui/i18n/datepicker-de.js +2 -2
  35. data/app/assets/javascripts/jquery-ui/i18n/datepicker-el.js +1 -1
  36. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eo.js +2 -2
  37. data/app/assets/javascripts/jquery-ui/i18n/datepicker-es.js +2 -2
  38. data/app/assets/javascripts/jquery-ui/i18n/datepicker-eu.js +2 -2
  39. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fa.js +2 -2
  40. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fi.js +2 -2
  41. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fo.js +2 -2
  42. data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CH.js +2 -2
  43. data/app/assets/javascripts/jquery-ui/i18n/datepicker-gl.js +2 -2
  44. data/app/assets/javascripts/jquery-ui/i18n/datepicker-he.js +2 -2
  45. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hr.js +2 -2
  46. data/app/assets/javascripts/jquery-ui/i18n/datepicker-hy.js +2 -2
  47. data/app/assets/javascripts/jquery-ui/i18n/datepicker-id.js +6 -5
  48. data/app/assets/javascripts/jquery-ui/i18n/datepicker-is.js +2 -2
  49. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it-CH.js +2 -2
  50. data/app/assets/javascripts/jquery-ui/i18n/datepicker-it.js +2 -2
  51. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ja.js +2 -2
  52. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ka.js +2 -2
  53. data/app/assets/javascripts/jquery-ui/i18n/datepicker-kk.js +2 -2
  54. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ky.js +2 -2
  55. data/app/assets/javascripts/jquery-ui/i18n/datepicker-lt.js +2 -2
  56. data/app/assets/javascripts/jquery-ui/i18n/datepicker-mk.js +2 -2
  57. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ms.js +2 -2
  58. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nb.js +2 -2
  59. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl-BE.js +2 -2
  60. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl.js +3 -3
  61. data/app/assets/javascripts/jquery-ui/i18n/datepicker-nn.js +2 -2
  62. data/app/assets/javascripts/jquery-ui/i18n/datepicker-no.js +2 -2
  63. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pl.js +2 -2
  64. data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt-BR.js +2 -2
  65. data/app/assets/javascripts/jquery-ui/i18n/datepicker-rm.js +2 -2
  66. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ro.js +2 -2
  67. data/app/assets/javascripts/jquery-ui/i18n/datepicker-ru.js +2 -2
  68. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sk.js +2 -2
  69. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sl.js +2 -2
  70. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sq.js +2 -2
  71. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr-SR.js +2 -2
  72. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr.js +2 -2
  73. data/app/assets/javascripts/jquery-ui/i18n/datepicker-sv.js +2 -2
  74. data/app/assets/javascripts/jquery-ui/i18n/datepicker-th.js +2 -2
  75. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tj.js +2 -2
  76. data/app/assets/javascripts/jquery-ui/i18n/datepicker-tr.js +2 -2
  77. data/app/assets/javascripts/jquery-ui/i18n/datepicker-uk.js +2 -2
  78. data/app/assets/javascripts/jquery-ui/i18n/datepicker-vi.js +2 -2
  79. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-CN.js +2 -2
  80. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-HK.js +2 -2
  81. data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-TW.js +2 -2
  82. data/app/assets/javascripts/jquery-ui/jquery-patch.js +8 -41
  83. data/app/assets/javascripts/jquery-ui/keycode.js +5 -5
  84. data/app/assets/javascripts/jquery-ui/labels.js +8 -9
  85. data/app/assets/javascripts/jquery-ui/position.js +7 -7
  86. data/app/assets/javascripts/jquery-ui/scroll-parent.js +5 -5
  87. data/app/assets/javascripts/jquery-ui/tabbable.js +5 -5
  88. data/app/assets/javascripts/jquery-ui/unique-id.js +5 -5
  89. data/app/assets/javascripts/jquery-ui/vendor/jquery-color/jquery.color.js +19 -50
  90. data/app/assets/javascripts/jquery-ui/version.js +1 -1
  91. data/app/assets/javascripts/jquery-ui/widget.js +17 -10
  92. data/app/assets/javascripts/jquery-ui/widgets/accordion.js +18 -18
  93. data/app/assets/javascripts/jquery-ui/widgets/autocomplete.js +21 -55
  94. data/app/assets/javascripts/jquery-ui/widgets/button.js +11 -11
  95. data/app/assets/javascripts/jquery-ui/widgets/checkboxradio.js +22 -17
  96. data/app/assets/javascripts/jquery-ui/widgets/controlgroup.js +7 -7
  97. data/app/assets/javascripts/jquery-ui/widgets/datepicker.js +12 -15
  98. data/app/assets/javascripts/jquery-ui/widgets/dialog.js +25 -36
  99. data/app/assets/javascripts/jquery-ui/widgets/draggable.js +10 -14
  100. data/app/assets/javascripts/jquery-ui/widgets/droppable.js +8 -8
  101. data/app/assets/javascripts/jquery-ui/widgets/menu.js +9 -11
  102. data/app/assets/javascripts/jquery-ui/widgets/mouse.js +20 -35
  103. data/app/assets/javascripts/jquery-ui/widgets/progressbar.js +7 -7
  104. data/app/assets/javascripts/jquery-ui/widgets/resizable.js +82 -26
  105. data/app/assets/javascripts/jquery-ui/widgets/selectable.js +7 -7
  106. data/app/assets/javascripts/jquery-ui/widgets/selectmenu.js +22 -49
  107. data/app/assets/javascripts/jquery-ui/widgets/slider.js +7 -7
  108. data/app/assets/javascripts/jquery-ui/widgets/sortable.js +76 -85
  109. data/app/assets/javascripts/jquery-ui/widgets/spinner.js +11 -35
  110. data/app/assets/javascripts/jquery-ui/widgets/tabs.js +22 -56
  111. data/app/assets/javascripts/jquery-ui/widgets/tooltip.js +25 -27
  112. data/app/assets/javascripts/jquery-ui.js +0 -5
  113. data/app/assets/stylesheets/jquery-ui/accordion.css +5 -5
  114. data/app/assets/stylesheets/jquery-ui/all.css +5 -5
  115. data/app/assets/stylesheets/jquery-ui/autocomplete.css +5 -5
  116. data/app/assets/stylesheets/jquery-ui/base.css +5 -5
  117. data/app/assets/stylesheets/jquery-ui/button.css +6 -11
  118. data/app/assets/stylesheets/jquery-ui/checkboxradio.css +5 -5
  119. data/app/assets/stylesheets/jquery-ui/controlgroup.css +5 -8
  120. data/app/assets/stylesheets/jquery-ui/core.css +5 -9
  121. data/app/assets/stylesheets/jquery-ui/datepicker.css +5 -5
  122. data/app/assets/stylesheets/jquery-ui/dialog.css +5 -5
  123. data/app/assets/stylesheets/jquery-ui/draggable.css +4 -5
  124. data/app/assets/stylesheets/jquery-ui/menu.css +5 -7
  125. data/app/assets/stylesheets/jquery-ui/progressbar.css +5 -6
  126. data/app/assets/stylesheets/jquery-ui/resizable.css +4 -5
  127. data/app/assets/stylesheets/jquery-ui/selectable.css +4 -5
  128. data/app/assets/stylesheets/jquery-ui/selectmenu.css +5 -5
  129. data/app/assets/stylesheets/jquery-ui/slider.css +5 -12
  130. data/app/assets/stylesheets/jquery-ui/sortable.css +4 -5
  131. data/app/assets/stylesheets/jquery-ui/spinner.css +5 -5
  132. data/app/assets/stylesheets/jquery-ui/tabs.css +5 -5
  133. data/app/assets/stylesheets/jquery-ui/theme.css.erb +6 -13
  134. data/app/assets/stylesheets/jquery-ui/tooltip.css +5 -5
  135. data/lib/jquery/ui/rails/version.rb +2 -2
  136. metadata +6 -11
  137. data/app/assets/javascripts/jquery-ui/core.js +0 -15
  138. data/app/assets/javascripts/jquery-ui/form.js +0 -25
  139. data/app/assets/javascripts/jquery-ui/ie.js +0 -20
  140. data/app/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
  141. data/app/assets/javascripts/jquery-ui/safe-blur.js +0 -27
@@ -5,19 +5,19 @@
5
5
  //= require jquery-ui/widget
6
6
 
7
7
  /*!
8
- * jQuery UI Resizable 1.13.0
9
- * http://jqueryui.com
8
+ * jQuery UI Resizable 1.14.1
9
+ * https://jqueryui.com
10
10
  *
11
- * Copyright jQuery Foundation and other contributors
11
+ * Copyright OpenJS Foundation and other contributors
12
12
  * Released under the MIT license.
13
- * http://jquery.org/license
13
+ * https://jquery.org/license
14
14
  */
15
15
 
16
16
  //>>label: Resizable
17
17
  //>>group: Interactions
18
18
  //>>description: Enables resize functionality for any element.
19
- //>>docs: http://api.jqueryui.com/resizable/
20
- //>>demos: http://jqueryui.com/resizable/
19
+ //>>docs: https://api.jqueryui.com/resizable/
20
+ //>>demos: https://jqueryui.com/resizable/
21
21
  //>>css.structure: ../../themes/base/core.css
22
22
  //>>css.structure: ../../themes/base/resizable.css
23
23
  //>>css.theme: ../../themes/base/theme.css
@@ -45,7 +45,7 @@
45
45
  "use strict";
46
46
 
47
47
  $.widget( "ui.resizable", $.ui.mouse, {
48
- version: "1.13.0",
48
+ version: "1.14.1",
49
49
  widgetEventPrefix: "resize",
50
50
  options: {
51
51
  alsoResize: false,
@@ -86,12 +86,18 @@ $.widget( "ui.resizable", $.ui.mouse, {
86
86
 
87
87
  _hasScroll: function( el, a ) {
88
88
 
89
- if ( $( el ).css( "overflow" ) === "hidden" ) {
89
+ var scroll,
90
+ has = false,
91
+ overflow = $( el ).css( "overflow" );
92
+
93
+ if ( overflow === "hidden" ) {
90
94
  return false;
91
95
  }
96
+ if ( overflow === "scroll" ) {
97
+ return true;
98
+ }
92
99
 
93
- var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
94
- has = false;
100
+ scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop";
95
101
 
96
102
  if ( el[ scroll ] > 0 ) {
97
103
  return true;
@@ -155,9 +161,8 @@ $.widget( "ui.resizable", $.ui.mouse, {
155
161
  };
156
162
 
157
163
  this.element.css( margins );
158
- this.originalElement.css( "margin", 0 );
159
164
 
160
- // support: Safari
165
+ // Support: Safari
161
166
  // Prevent Safari textarea resize
162
167
  this.originalResizeStyle = this.originalElement.css( "resize" );
163
168
  this.originalElement.css( "resize", "none" );
@@ -168,10 +173,6 @@ $.widget( "ui.resizable", $.ui.mouse, {
168
173
  display: "block"
169
174
  } ) );
170
175
 
171
- // Support: IE9
172
- // avoid IE jump (hard set the margin)
173
- this.originalElement.css( margins );
174
-
175
176
  this._proportionallyResize();
176
177
  }
177
178
 
@@ -373,7 +374,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
373
374
 
374
375
  _mouseStart: function( event ) {
375
376
 
376
- var curleft, curtop, cursor,
377
+ var curleft, curtop, cursor, calculatedSize,
377
378
  o = this.options,
378
379
  el = this.element;
379
380
 
@@ -392,20 +393,24 @@ $.widget( "ui.resizable", $.ui.mouse, {
392
393
  this.offset = this.helper.offset();
393
394
  this.position = { left: curleft, top: curtop };
394
395
 
396
+ if ( !this._helper ) {
397
+ calculatedSize = this._calculateAdjustedElementDimensions( el );
398
+ }
399
+
395
400
  this.size = this._helper ? {
396
401
  width: this.helper.width(),
397
402
  height: this.helper.height()
398
403
  } : {
399
- width: el.width(),
400
- height: el.height()
404
+ width: calculatedSize.width,
405
+ height: calculatedSize.height
401
406
  };
402
407
 
403
408
  this.originalSize = this._helper ? {
404
409
  width: el.outerWidth(),
405
410
  height: el.outerHeight()
406
411
  } : {
407
- width: el.width(),
408
- height: el.height()
412
+ width: calculatedSize.width,
413
+ height: calculatedSize.height
409
414
  };
410
415
 
411
416
  this.sizeDiff = {
@@ -539,15 +544,18 @@ $.widget( "ui.resizable", $.ui.mouse, {
539
544
  if ( this.position.left !== this.prevPosition.left ) {
540
545
  props.left = this.position.left + "px";
541
546
  }
547
+
548
+ this.helper.css( props );
549
+
542
550
  if ( this.size.width !== this.prevSize.width ) {
543
551
  props.width = this.size.width + "px";
552
+ this.helper.width( props.width );
544
553
  }
545
554
  if ( this.size.height !== this.prevSize.height ) {
546
555
  props.height = this.size.height + "px";
556
+ this.helper.height( props.height );
547
557
  }
548
558
 
549
- this.helper.css( props );
550
-
551
559
  return props;
552
560
  },
553
561
 
@@ -698,6 +706,52 @@ $.widget( "ui.resizable", $.ui.mouse, {
698
706
  };
699
707
  },
700
708
 
709
+ _calculateAdjustedElementDimensions: function( element ) {
710
+ var elWidth, elHeight, paddingBorder,
711
+ ce = element.get( 0 );
712
+
713
+ if ( element.css( "box-sizing" ) !== "content-box" ||
714
+ ( !this._hasScroll( ce ) && !this._hasScroll( ce, "left" ) ) ) {
715
+ return {
716
+ height: parseFloat( element.css( "height" ) ),
717
+ width: parseFloat( element.css( "width" ) )
718
+ };
719
+ }
720
+
721
+ // Check if CSS inline styles are set and use those (usually from previous resizes)
722
+ elWidth = parseFloat( ce.style.width );
723
+ elHeight = parseFloat( ce.style.height );
724
+
725
+ paddingBorder = this._getPaddingPlusBorderDimensions( element );
726
+ elWidth = isNaN( elWidth ) ?
727
+ this._getElementTheoreticalSize( element, paddingBorder, "width" ) :
728
+ elWidth;
729
+ elHeight = isNaN( elHeight ) ?
730
+ this._getElementTheoreticalSize( element, paddingBorder, "height" ) :
731
+ elHeight;
732
+
733
+ return {
734
+ height: elHeight,
735
+ width: elWidth
736
+ };
737
+ },
738
+
739
+ _getElementTheoreticalSize: function( element, extraSize, dimension ) {
740
+
741
+ // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
742
+ var size = Math.max( 0, Math.ceil(
743
+ element.get( 0 )[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
744
+ extraSize[ dimension ] -
745
+ 0.5
746
+
747
+ // If offsetWidth/offsetHeight is unknown, then we can't determine theoretical size.
748
+ // Use an explicit zero to avoid NaN.
749
+ // See https://github.com/jquery/jquery/issues/3964
750
+ ) ) || 0;
751
+
752
+ return size;
753
+ },
754
+
701
755
  _proportionallyResize: function() {
702
756
 
703
757
  if ( !this._proportionallyResizeElements.length ) {
@@ -1052,9 +1106,11 @@ $.ui.plugin.add( "resizable", "alsoResize", {
1052
1106
  o = that.options;
1053
1107
 
1054
1108
  $( o.alsoResize ).each( function() {
1055
- var el = $( this );
1109
+ var el = $( this ),
1110
+ elSize = that._calculateAdjustedElementDimensions( el );
1111
+
1056
1112
  el.data( "ui-resizable-alsoresize", {
1057
- width: parseFloat( el.width() ), height: parseFloat( el.height() ),
1113
+ width: elSize.width, height: elSize.height,
1058
1114
  left: parseFloat( el.css( "left" ) ), top: parseFloat( el.css( "top" ) )
1059
1115
  } );
1060
1116
  } );
@@ -1116,7 +1172,7 @@ $.ui.plugin.add( "resizable", "ghost", {
1116
1172
 
1117
1173
  // DEPRECATED
1118
1174
  // TODO: remove after 1.12
1119
- if ( $.uiBackCompat !== false && typeof that.options.ghost === "string" ) {
1175
+ if ( $.uiBackCompat === true && typeof that.options.ghost === "string" ) {
1120
1176
 
1121
1177
  // Ghost option
1122
1178
  that.ghost.addClass( this.options.ghost );
@@ -3,19 +3,19 @@
3
3
  //= require jquery-ui/widget
4
4
 
5
5
  /*!
6
- * jQuery UI Selectable 1.13.0
7
- * http://jqueryui.com
6
+ * jQuery UI Selectable 1.14.1
7
+ * https://jqueryui.com
8
8
  *
9
- * Copyright jQuery Foundation and other contributors
9
+ * Copyright OpenJS Foundation and other contributors
10
10
  * Released under the MIT license.
11
- * http://jquery.org/license
11
+ * https://jquery.org/license
12
12
  */
13
13
 
14
14
  //>>label: Selectable
15
15
  //>>group: Interactions
16
16
  //>>description: Allows groups of elements to be selected with the mouse.
17
- //>>docs: http://api.jqueryui.com/selectable/
18
- //>>demos: http://jqueryui.com/selectable/
17
+ //>>docs: https://api.jqueryui.com/selectable/
18
+ //>>demos: https://jqueryui.com/selectable/
19
19
  //>>css.structure: ../../themes/base/selectable.css
20
20
 
21
21
  ( function( factory ) {
@@ -39,7 +39,7 @@
39
39
  "use strict";
40
40
 
41
41
  return $.widget( "ui.selectable", $.ui.mouse, {
42
- version: "1.13.0",
42
+ version: "1.14.1",
43
43
  options: {
44
44
  appendTo: "body",
45
45
  autoRefresh: true,
@@ -8,12 +8,12 @@
8
8
  //= require jquery-ui/widget
9
9
 
10
10
  /*!
11
- * jQuery UI Selectmenu 1.13.0
12
- * http://jqueryui.com
11
+ * jQuery UI Selectmenu 1.14.1
12
+ * https://jqueryui.com
13
13
  *
14
- * Copyright jQuery Foundation and other contributors
14
+ * Copyright OpenJS Foundation and other contributors
15
15
  * Released under the MIT license.
16
- * http://jquery.org/license
16
+ * https://jquery.org/license
17
17
  */
18
18
 
19
19
  //>>label: Selectmenu
@@ -21,8 +21,8 @@
21
21
  /* eslint-disable max-len */
22
22
  //>>description: Duplicates and extends the functionality of a native HTML select element, allowing it to be customizable in behavior and appearance far beyond the limitations of a native select.
23
23
  /* eslint-enable max-len */
24
- //>>docs: http://api.jqueryui.com/selectmenu/
25
- //>>demos: http://jqueryui.com/selectmenu/
24
+ //>>docs: https://api.jqueryui.com/selectmenu/
25
+ //>>demos: https://jqueryui.com/selectmenu/
26
26
  //>>css.structure: ../../themes/base/core.css
27
27
  //>>css.structure: ../../themes/base/selectmenu.css, ../../themes/base/button.css
28
28
  //>>css.theme: ../../themes/base/theme.css
@@ -53,7 +53,7 @@
53
53
  "use strict";
54
54
 
55
55
  return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
56
- version: "1.13.0",
56
+ version: "1.14.1",
57
57
  defaultElement: "<select>",
58
58
  options: {
59
59
  appendTo: null,
@@ -176,12 +176,6 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
176
176
  role: "listbox",
177
177
  select: function( event, ui ) {
178
178
  event.preventDefault();
179
-
180
- // Support: IE8
181
- // If the item was selected via a click, the text selection
182
- // will be destroyed in IE
183
- that._setSelection();
184
-
185
179
  that._select( ui.item.data( "ui-selectmenu-item" ), event );
186
180
  },
187
181
  focus: function( event, ui ) {
@@ -363,7 +357,12 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
363
357
  if ( item.disabled ) {
364
358
  this._addClass( li, null, "ui-state-disabled" );
365
359
  }
366
- this._setText( wrapper, item.label );
360
+
361
+ if ( item.hidden ) {
362
+ li.prop( "hidden", true );
363
+ } else {
364
+ this._setText( wrapper, item.label );
365
+ }
367
366
 
368
367
  return li.append( wrapper ).appendTo( ul );
369
368
  },
@@ -413,20 +412,9 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
413
412
  return;
414
413
  }
415
414
 
416
- if ( window.getSelection ) {
417
- selection = window.getSelection();
418
- selection.removeAllRanges();
419
- selection.addRange( this.range );
420
-
421
- // Support: IE8
422
- } else {
423
- this.range.select();
424
- }
425
-
426
- // Support: IE
427
- // Setting the text selection kills the button focus in IE, but
428
- // restoring the focus doesn't kill the selection.
429
- this.button.focus();
415
+ selection = window.getSelection();
416
+ selection.removeAllRanges();
417
+ selection.addRange( this.range );
430
418
  },
431
419
 
432
420
  _documentClick: {
@@ -436,7 +424,7 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
436
424
  }
437
425
 
438
426
  if ( !$( event.target ).closest( ".ui-selectmenu-menu, #" +
439
- $.escapeSelector( this.ids.button ) ).length ) {
427
+ CSS.escape( this.ids.button ) ).length ) {
440
428
  this.close( event );
441
429
  }
442
430
  }
@@ -446,17 +434,9 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
446
434
 
447
435
  // Prevent text selection from being reset when interacting with the selectmenu (#10144)
448
436
  mousedown: function() {
449
- var selection;
450
-
451
- if ( window.getSelection ) {
452
- selection = window.getSelection();
453
- if ( selection.rangeCount ) {
454
- this.range = selection.getRangeAt( 0 );
455
- }
456
-
457
- // Support: IE8
458
- } else {
459
- this.range = document.selection.createRange();
437
+ var selection = window.getSelection();
438
+ if ( selection.rangeCount ) {
439
+ this.range = selection.getRangeAt( 0 );
460
440
  }
461
441
  },
462
442
 
@@ -647,11 +627,7 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
647
627
  _resizeMenu: function() {
648
628
  this.menu.outerWidth( Math.max(
649
629
  this.button.outerWidth(),
650
-
651
- // Support: IE10
652
- // IE10 wraps long text (possibly a rounding bug)
653
- // so we add 1px to avoid the wrapping
654
- this.menu.width( "" ).outerWidth() + 1
630
+ this.menu.width( "" ).outerWidth()
655
631
  ) );
656
632
  },
657
633
 
@@ -667,10 +643,6 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
667
643
  var that = this,
668
644
  data = [];
669
645
  options.each( function( index, item ) {
670
- if ( item.hidden ) {
671
- return;
672
- }
673
-
674
646
  data.push( that._parseOption( $( item ), index ) );
675
647
  } );
676
648
  this.items = data;
@@ -684,6 +656,7 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
684
656
  index: index,
685
657
  value: option.val(),
686
658
  label: option.text(),
659
+ hidden: optgroup.prop( "hidden" ) || option.prop( "hidden" ),
687
660
  optgroup: optgroup.attr( "label" ) || "",
688
661
  disabled: optgroup.prop( "disabled" ) || option.prop( "disabled" )
689
662
  };
@@ -4,19 +4,19 @@
4
4
  //= require jquery-ui/widget
5
5
 
6
6
  /*!
7
- * jQuery UI Slider 1.13.0
8
- * http://jqueryui.com
7
+ * jQuery UI Slider 1.14.1
8
+ * https://jqueryui.com
9
9
  *
10
- * Copyright jQuery Foundation and other contributors
10
+ * Copyright OpenJS Foundation and other contributors
11
11
  * Released under the MIT license.
12
- * http://jquery.org/license
12
+ * https://jquery.org/license
13
13
  */
14
14
 
15
15
  //>>label: Slider
16
16
  //>>group: Widgets
17
17
  //>>description: Displays a flexible slider with ranges and accessibility via keyboard.
18
- //>>docs: http://api.jqueryui.com/slider/
19
- //>>demos: http://jqueryui.com/slider/
18
+ //>>docs: https://api.jqueryui.com/slider/
19
+ //>>demos: https://jqueryui.com/slider/
20
20
  //>>css.structure: ../../themes/base/core.css
21
21
  //>>css.structure: ../../themes/base/slider.css
22
22
  //>>css.theme: ../../themes/base/theme.css
@@ -43,7 +43,7 @@
43
43
  "use strict";
44
44
 
45
45
  return $.widget( "ui.slider", $.ui.mouse, {
46
- version: "1.13.0",
46
+ version: "1.14.1",
47
47
  widgetEventPrefix: "slide",
48
48
 
49
49
  options: {
@@ -1,24 +1,23 @@
1
1
  //= require jquery-ui/widgets/mouse
2
2
  //= require jquery-ui/data
3
- //= require jquery-ui/ie
4
3
  //= require jquery-ui/scroll-parent
5
4
  //= require jquery-ui/version
6
5
  //= require jquery-ui/widget
7
6
 
8
7
  /*!
9
- * jQuery UI Sortable 1.13.0
10
- * http://jqueryui.com
8
+ * jQuery UI Sortable 1.14.1
9
+ * https://jqueryui.com
11
10
  *
12
- * Copyright jQuery Foundation and other contributors
11
+ * Copyright OpenJS Foundation and other contributors
13
12
  * Released under the MIT license.
14
- * http://jquery.org/license
13
+ * https://jquery.org/license
15
14
  */
16
15
 
17
16
  //>>label: Sortable
18
17
  //>>group: Interactions
19
18
  //>>description: Enables items in a list to be sorted using the mouse.
20
- //>>docs: http://api.jqueryui.com/sortable/
21
- //>>demos: http://jqueryui.com/sortable/
19
+ //>>docs: https://api.jqueryui.com/sortable/
20
+ //>>demos: https://jqueryui.com/sortable/
22
21
  //>>css.structure: ../../themes/base/sortable.css
23
22
 
24
23
  ( function( factory ) {
@@ -31,7 +30,6 @@
31
30
  "jquery",
32
31
  "./mouse",
33
32
  "../data",
34
- "../ie",
35
33
  "../scroll-parent",
36
34
  "../version",
37
35
  "../widget"
@@ -45,7 +43,7 @@
45
43
  "use strict";
46
44
 
47
45
  return $.widget( "ui.sortable", $.ui.mouse, {
48
- version: "1.13.0",
46
+ version: "1.14.1",
49
47
  widgetEventPrefix: "sort",
50
48
  ready: false,
51
49
  options: {
@@ -283,11 +281,7 @@ return $.widget( "ui.sortable", $.ui.mouse, {
283
281
  if ( o.cursor && o.cursor !== "auto" ) { // cursor option
284
282
  body = this.document.find( "body" );
285
283
 
286
- // Support: IE
287
- this.storedCursor = body.css( "cursor" );
288
- body.css( "cursor", o.cursor );
289
-
290
- this.storedStylesheet =
284
+ this._storedStylesheet =
291
285
  $( "<style>*{ cursor: " + o.cursor + " !important; }</style>" ).appendTo( body );
292
286
  }
293
287
 
@@ -428,79 +422,76 @@ return $.widget( "ui.sortable", $.ui.mouse, {
428
422
  this.helper[ 0 ].style.top = this.position.top + "px";
429
423
  }
430
424
 
431
- //Post events to containers
432
- this._contactContainers( event );
433
-
434
- if ( this.innermostContainer !== null ) {
425
+ //Do scrolling
426
+ if ( o.scroll ) {
427
+ if ( this._scroll( event ) !== false ) {
435
428
 
436
- //Do scrolling
437
- if ( o.scroll ) {
438
- if ( this._scroll( event ) !== false ) {
429
+ //Update item positions used in position checks
430
+ this._refreshItemPositions( true );
439
431
 
440
- //Update item positions used in position checks
441
- this._refreshItemPositions( true );
442
-
443
- if ( $.ui.ddmanager && !o.dropBehaviour ) {
444
- $.ui.ddmanager.prepareOffsets( this, event );
445
- }
432
+ if ( $.ui.ddmanager && !o.dropBehaviour ) {
433
+ $.ui.ddmanager.prepareOffsets( this, event );
446
434
  }
447
435
  }
436
+ }
448
437
 
449
- this.dragDirection = {
450
- vertical: this._getDragVerticalDirection(),
451
- horizontal: this._getDragHorizontalDirection()
452
- };
453
-
454
- //Rearrange
455
- for ( i = this.items.length - 1; i >= 0; i-- ) {
456
-
457
- //Cache variables and intersection, continue if no intersection
458
- item = this.items[ i ];
459
- itemElement = item.item[ 0 ];
460
- intersection = this._intersectsWithPointer( item );
461
- if ( !intersection ) {
462
- continue;
463
- }
464
-
465
- // Only put the placeholder inside the current Container, skip all
466
- // items from other containers. This works because when moving
467
- // an item from one container to another the
468
- // currentContainer is switched before the placeholder is moved.
469
- //
470
- // Without this, moving items in "sub-sortables" can cause
471
- // the placeholder to jitter between the outer and inner container.
472
- if ( item.instance !== this.currentContainer ) {
473
- continue;
474
- }
438
+ this.dragDirection = {
439
+ vertical: this._getDragVerticalDirection(),
440
+ horizontal: this._getDragHorizontalDirection()
441
+ };
475
442
 
476
- // Cannot intersect with itself
477
- // no useless actions that have been done before
478
- // no action if the item moved is the parent of the item checked
479
- if ( itemElement !== this.currentItem[ 0 ] &&
480
- this.placeholder[ intersection === 1 ?
481
- "next" : "prev" ]()[ 0 ] !== itemElement &&
482
- !$.contains( this.placeholder[ 0 ], itemElement ) &&
483
- ( this.options.type === "semi-dynamic" ?
484
- !$.contains( this.element[ 0 ], itemElement ) :
485
- true
486
- )
487
- ) {
443
+ //Rearrange
444
+ for ( i = this.items.length - 1; i >= 0; i-- ) {
488
445
 
489
- this.direction = intersection === 1 ? "down" : "up";
446
+ //Cache variables and intersection, continue if no intersection
447
+ item = this.items[ i ];
448
+ itemElement = item.item[ 0 ];
449
+ intersection = this._intersectsWithPointer( item );
450
+ if ( !intersection ) {
451
+ continue;
452
+ }
490
453
 
491
- if ( this.options.tolerance === "pointer" ||
492
- this._intersectsWithSides( item ) ) {
493
- this._rearrange( event, item );
494
- } else {
495
- break;
496
- }
454
+ // Only put the placeholder inside the current Container, skip all
455
+ // items from other containers. This works because when moving
456
+ // an item from one container to another the
457
+ // currentContainer is switched before the placeholder is moved.
458
+ //
459
+ // Without this, moving items in "sub-sortables" can cause
460
+ // the placeholder to jitter between the outer and inner container.
461
+ if ( item.instance !== this.currentContainer ) {
462
+ continue;
463
+ }
497
464
 
498
- this._trigger( "change", event, this._uiHash() );
465
+ // Cannot intersect with itself
466
+ // no useless actions that have been done before
467
+ // no action if the item moved is the parent of the item checked
468
+ if ( itemElement !== this.currentItem[ 0 ] &&
469
+ this.placeholder[ intersection === 1 ?
470
+ "next" : "prev" ]()[ 0 ] !== itemElement &&
471
+ !$.contains( this.placeholder[ 0 ], itemElement ) &&
472
+ ( this.options.type === "semi-dynamic" ?
473
+ !$.contains( this.element[ 0 ], itemElement ) :
474
+ true
475
+ )
476
+ ) {
477
+
478
+ this.direction = intersection === 1 ? "down" : "up";
479
+
480
+ if ( this.options.tolerance === "pointer" ||
481
+ this._intersectsWithSides( item ) ) {
482
+ this._rearrange( event, item );
483
+ } else {
499
484
  break;
500
485
  }
486
+
487
+ this._trigger( "change", event, this._uiHash() );
488
+ break;
501
489
  }
502
490
  }
503
491
 
492
+ //Post events to containers
493
+ this._contactContainers( event );
494
+
504
495
  //Interconnect with droppables
505
496
  if ( $.ui.ddmanager ) {
506
497
  $.ui.ddmanager.drag( this, event );
@@ -895,10 +886,14 @@ return $.widget( "ui.sortable", $.ui.mouse, {
895
886
  this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) :
896
887
  false;
897
888
 
898
- if ( this.innermostContainer !== null ) {
899
- this._refreshItemPositions( fast );
889
+ // This has to be redone because due to the item being moved out/into the offsetParent,
890
+ // the offsetParent's position will change
891
+ if ( this.offsetParent && this.helper ) {
892
+ this.offset.parent = this._getParentOffset();
900
893
  }
901
894
 
895
+ this._refreshItemPositions( fast );
896
+
902
897
  var i, p;
903
898
 
904
899
  if ( this.options.custom && this.options.custom.refreshContainers ) {
@@ -1045,8 +1040,6 @@ return $.widget( "ui.sortable", $.ui.mouse, {
1045
1040
 
1046
1041
  }
1047
1042
 
1048
- this.innermostContainer = innermostContainer;
1049
-
1050
1043
  // If no intersecting containers found, return
1051
1044
  if ( !innermostContainer ) {
1052
1045
  return;
@@ -1205,11 +1198,9 @@ return $.widget( "ui.sortable", $.ui.mouse, {
1205
1198
  po.top += this.scrollParent.scrollTop();
1206
1199
  }
1207
1200
 
1208
- // This needs to be actually done for all browsers, since pageX/pageY includes this
1209
- // information with an ugly IE fix
1210
- if ( this.offsetParent[ 0 ] === this.document[ 0 ].body ||
1211
- ( this.offsetParent[ 0 ].tagName &&
1212
- this.offsetParent[ 0 ].tagName.toLowerCase() === "html" && $.ui.ie ) ) {
1201
+ // This needs to be actually done for all browsers, since pageX/pageY includes
1202
+ // this information.
1203
+ if ( this.offsetParent[ 0 ] === this.document[ 0 ].body ) {
1213
1204
  po = { top: 0, left: 0 };
1214
1205
  }
1215
1206
 
@@ -1557,9 +1548,9 @@ return $.widget( "ui.sortable", $.ui.mouse, {
1557
1548
  }
1558
1549
 
1559
1550
  //Do what was originally in plugins
1560
- if ( this.storedCursor ) {
1561
- this.document.find( "body" ).css( "cursor", this.storedCursor );
1562
- this.storedStylesheet.remove();
1551
+ if ( this._storedStylesheet ) {
1552
+ this._storedStylesheet.remove();
1553
+ this._storedStylesheet = null;
1563
1554
  }
1564
1555
  if ( this._storedOpacity ) {
1565
1556
  this.helper.css( "opacity", this._storedOpacity );