trusty-cms 4.2.2 → 4.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/Gemfile.lock +98 -89
  4. data/app/assets/config/trusty-cms/manifest.js +7 -0
  5. data/app/assets/javascripts/admin/custom_file_upload.js +7 -0
  6. data/app/controllers/admin/assets_controller.rb +1 -1
  7. data/app/models/page.rb +2 -2
  8. data/app/views/admin/assets/new.html.haml +2 -0
  9. data/config/database.yml +4 -0
  10. data/config/initializers/assets.rb +0 -4
  11. data/coverage/index.html +155 -155
  12. data/lib/trusty_cms.rb +1 -1
  13. data/node_modules/hosted-git-info/CHANGELOG.md +10 -0
  14. data/node_modules/hosted-git-info/index.js +2 -2
  15. data/node_modules/hosted-git-info/package.json +1 -1
  16. data/node_modules/lodash/README.md +2 -2
  17. data/node_modules/lodash/_baseClone.js +2 -1
  18. data/node_modules/lodash/_baseOrderBy.js +17 -2
  19. data/node_modules/lodash/_baseSet.js +4 -0
  20. data/node_modules/lodash/_baseSortedIndexBy.js +7 -4
  21. data/node_modules/lodash/_baseTrim.js +19 -0
  22. data/node_modules/lodash/_equalArrays.js +5 -4
  23. data/node_modules/lodash/_equalObjects.js +5 -4
  24. data/node_modules/lodash/_trimmedEndIndex.js +19 -0
  25. data/node_modules/lodash/core.js +48 -6
  26. data/node_modules/lodash/core.min.js +9 -9
  27. data/node_modules/lodash/filter.js +4 -0
  28. data/node_modules/lodash/flake.lock +40 -0
  29. data/node_modules/lodash/flake.nix +20 -0
  30. data/node_modules/lodash/lodash.js +59 -11
  31. data/node_modules/lodash/lodash.min.js +126 -125
  32. data/node_modules/lodash/matches.js +7 -0
  33. data/node_modules/lodash/matchesProperty.js +7 -0
  34. data/node_modules/lodash/overEvery.js +4 -0
  35. data/node_modules/lodash/overSome.js +7 -0
  36. data/node_modules/lodash/package.json +1 -1
  37. data/node_modules/lodash/parseInt.js +1 -1
  38. data/node_modules/lodash/release.md +48 -0
  39. data/node_modules/lodash/sortBy.js +3 -3
  40. data/node_modules/lodash/template.js +24 -5
  41. data/node_modules/lodash/toNumber.js +3 -5
  42. data/node_modules/lodash/trim.js +2 -4
  43. data/node_modules/lodash/trimEnd.js +3 -5
  44. data/node_modules/lodash/trimStart.js +1 -1
  45. data/spec/dummy/log/development.log +9 -163
  46. data/spec/dummy/log/test.log +536 -0
  47. data/spec/dummy/node_modules/jquery-ui-bundle/AUTHORS.txt +333 -0
  48. data/spec/dummy/node_modules/jquery-ui-bundle/LICENSE.txt +43 -0
  49. data/spec/dummy/node_modules/jquery-ui-bundle/external/jquery/jquery.js +11008 -0
  50. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_444444_256x240.png +0 -0
  51. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_555555_256x240.png +0 -0
  52. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_777620_256x240.png +0 -0
  53. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_777777_256x240.png +0 -0
  54. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_cc0000_256x240.png +0 -0
  55. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_ffffff_256x240.png +0 -0
  56. data/spec/dummy/node_modules/jquery-ui-bundle/index.html +559 -0
  57. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.css +1312 -0
  58. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.js +18706 -0
  59. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.min.css +7 -0
  60. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.min.js +13 -0
  61. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.structure.css +886 -0
  62. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.structure.min.css +5 -0
  63. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.theme.css +443 -0
  64. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.theme.min.css +5 -0
  65. data/spec/dummy/node_modules/jquery-ui-bundle/package.json +33 -0
  66. data/spec/dummy/node_modules/jquery-ujs/CONTRIBUTING.md +109 -0
  67. data/spec/dummy/node_modules/jquery-ujs/MIT-LICENSE +20 -0
  68. data/spec/dummy/node_modules/jquery-ujs/README.md +86 -0
  69. data/spec/dummy/node_modules/jquery-ujs/RELEASE.md +23 -0
  70. data/spec/dummy/node_modules/jquery-ujs/bower.json +19 -0
  71. data/spec/dummy/node_modules/jquery-ujs/package.json +26 -0
  72. data/spec/dummy/node_modules/jquery-ujs/src/rails.js +555 -0
  73. data/spec/dummy/node_modules/jquery/AUTHORS.txt +327 -0
  74. data/spec/dummy/node_modules/jquery/LICENSE.txt +20 -0
  75. data/spec/dummy/node_modules/jquery/README.md +62 -0
  76. data/spec/dummy/node_modules/jquery/bower.json +14 -0
  77. data/spec/dummy/node_modules/jquery/dist/jquery.js +10872 -0
  78. data/spec/dummy/node_modules/jquery/dist/jquery.min.js +2 -0
  79. data/spec/dummy/node_modules/jquery/dist/jquery.min.map +1 -0
  80. data/spec/dummy/node_modules/jquery/dist/jquery.slim.js +8777 -0
  81. data/spec/dummy/node_modules/jquery/dist/jquery.slim.min.js +2 -0
  82. data/spec/dummy/node_modules/jquery/dist/jquery.slim.min.map +1 -0
  83. data/spec/dummy/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  84. data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.js +2478 -0
  85. data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  86. data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  87. data/spec/dummy/node_modules/jquery/package.json +117 -0
  88. data/spec/dummy/node_modules/jquery/src/ajax.js +873 -0
  89. data/spec/dummy/node_modules/jquery/src/ajax/jsonp.js +103 -0
  90. data/spec/dummy/node_modules/jquery/src/ajax/load.js +77 -0
  91. data/spec/dummy/node_modules/jquery/src/ajax/script.js +74 -0
  92. data/spec/dummy/node_modules/jquery/src/ajax/var/location.js +5 -0
  93. data/spec/dummy/node_modules/jquery/src/ajax/var/nonce.js +5 -0
  94. data/spec/dummy/node_modules/jquery/src/ajax/var/rquery.js +5 -0
  95. data/spec/dummy/node_modules/jquery/src/ajax/xhr.js +170 -0
  96. data/spec/dummy/node_modules/jquery/src/attributes.js +13 -0
  97. data/spec/dummy/node_modules/jquery/src/attributes/attr.js +141 -0
  98. data/spec/dummy/node_modules/jquery/src/attributes/classes.js +186 -0
  99. data/spec/dummy/node_modules/jquery/src/attributes/prop.js +143 -0
  100. data/spec/dummy/node_modules/jquery/src/attributes/support.js +33 -0
  101. data/spec/dummy/node_modules/jquery/src/attributes/val.js +191 -0
  102. data/spec/dummy/node_modules/jquery/src/callbacks.js +236 -0
  103. data/spec/dummy/node_modules/jquery/src/core.js +400 -0
  104. data/spec/dummy/node_modules/jquery/src/core/DOMEval.js +43 -0
  105. data/spec/dummy/node_modules/jquery/src/core/access.js +72 -0
  106. data/spec/dummy/node_modules/jquery/src/core/camelCase.js +23 -0
  107. data/spec/dummy/node_modules/jquery/src/core/init.js +129 -0
  108. data/spec/dummy/node_modules/jquery/src/core/isAttached.js +26 -0
  109. data/spec/dummy/node_modules/jquery/src/core/nodeName.js +13 -0
  110. data/spec/dummy/node_modules/jquery/src/core/parseHTML.js +65 -0
  111. data/spec/dummy/node_modules/jquery/src/core/parseXML.js +30 -0
  112. data/spec/dummy/node_modules/jquery/src/core/ready-no-deferred.js +97 -0
  113. data/spec/dummy/node_modules/jquery/src/core/ready.js +86 -0
  114. data/spec/dummy/node_modules/jquery/src/core/readyException.js +13 -0
  115. data/spec/dummy/node_modules/jquery/src/core/stripAndCollapse.js +14 -0
  116. data/spec/dummy/node_modules/jquery/src/core/support.js +20 -0
  117. data/spec/dummy/node_modules/jquery/src/core/toType.js +20 -0
  118. data/spec/dummy/node_modules/jquery/src/core/var/rsingleTag.js +7 -0
  119. data/spec/dummy/node_modules/jquery/src/css.js +494 -0
  120. data/spec/dummy/node_modules/jquery/src/css/addGetHookIf.js +26 -0
  121. data/spec/dummy/node_modules/jquery/src/css/adjustCSS.js +74 -0
  122. data/spec/dummy/node_modules/jquery/src/css/curCSS.js +65 -0
  123. data/spec/dummy/node_modules/jquery/src/css/finalPropName.js +42 -0
  124. data/spec/dummy/node_modules/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  125. data/spec/dummy/node_modules/jquery/src/css/showHide.js +105 -0
  126. data/spec/dummy/node_modules/jquery/src/css/support.js +133 -0
  127. data/spec/dummy/node_modules/jquery/src/css/var/cssExpand.js +5 -0
  128. data/spec/dummy/node_modules/jquery/src/css/var/getStyles.js +17 -0
  129. data/spec/dummy/node_modules/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  130. data/spec/dummy/node_modules/jquery/src/css/var/rboxStyle.js +7 -0
  131. data/spec/dummy/node_modules/jquery/src/css/var/rnumnonpx.js +7 -0
  132. data/spec/dummy/node_modules/jquery/src/css/var/swap.js +26 -0
  133. data/spec/dummy/node_modules/jquery/src/data.js +180 -0
  134. data/spec/dummy/node_modules/jquery/src/data/Data.js +162 -0
  135. data/spec/dummy/node_modules/jquery/src/data/var/acceptData.js +19 -0
  136. data/spec/dummy/node_modules/jquery/src/data/var/dataPriv.js +7 -0
  137. data/spec/dummy/node_modules/jquery/src/data/var/dataUser.js +7 -0
  138. data/spec/dummy/node_modules/jquery/src/deferred.js +399 -0
  139. data/spec/dummy/node_modules/jquery/src/deferred/exceptionHook.js +21 -0
  140. data/spec/dummy/node_modules/jquery/src/deprecated.js +87 -0
  141. data/spec/dummy/node_modules/jquery/src/deprecated/ajax-event-alias.js +22 -0
  142. data/spec/dummy/node_modules/jquery/src/deprecated/event.js +48 -0
  143. data/spec/dummy/node_modules/jquery/src/dimensions.js +57 -0
  144. data/spec/dummy/node_modules/jquery/src/effects.js +701 -0
  145. data/spec/dummy/node_modules/jquery/src/effects/Tween.js +125 -0
  146. data/spec/dummy/node_modules/jquery/src/effects/animatedSelector.js +15 -0
  147. data/spec/dummy/node_modules/jquery/src/event.js +892 -0
  148. data/spec/dummy/node_modules/jquery/src/event/focusin.js +58 -0
  149. data/spec/dummy/node_modules/jquery/src/event/support.js +11 -0
  150. data/spec/dummy/node_modules/jquery/src/event/trigger.js +201 -0
  151. data/spec/dummy/node_modules/jquery/src/exports/amd.js +26 -0
  152. data/spec/dummy/node_modules/jquery/src/exports/global.js +34 -0
  153. data/spec/dummy/node_modules/jquery/src/jquery.js +41 -0
  154. data/spec/dummy/node_modules/jquery/src/manipulation.js +480 -0
  155. data/spec/dummy/node_modules/jquery/src/manipulation/_evalUrl.js +32 -0
  156. data/spec/dummy/node_modules/jquery/src/manipulation/buildFragment.js +106 -0
  157. data/spec/dummy/node_modules/jquery/src/manipulation/getAll.js +32 -0
  158. data/spec/dummy/node_modules/jquery/src/manipulation/setGlobalEval.js +22 -0
  159. data/spec/dummy/node_modules/jquery/src/manipulation/support.js +41 -0
  160. data/spec/dummy/node_modules/jquery/src/manipulation/var/rscriptType.js +5 -0
  161. data/spec/dummy/node_modules/jquery/src/manipulation/var/rtagName.js +8 -0
  162. data/spec/dummy/node_modules/jquery/src/manipulation/wrapMap.js +30 -0
  163. data/spec/dummy/node_modules/jquery/src/offset.js +238 -0
  164. data/spec/dummy/node_modules/jquery/src/queue.js +145 -0
  165. data/spec/dummy/node_modules/jquery/src/queue/delay.js +24 -0
  166. data/spec/dummy/node_modules/jquery/src/selector-native.js +241 -0
  167. data/spec/dummy/node_modules/jquery/src/selector-sizzle.js +19 -0
  168. data/spec/dummy/node_modules/jquery/src/selector.js +3 -0
  169. data/spec/dummy/node_modules/jquery/src/serialize.js +136 -0
  170. data/spec/dummy/node_modules/jquery/src/traversing.js +198 -0
  171. data/spec/dummy/node_modules/jquery/src/traversing/findFilter.js +97 -0
  172. data/spec/dummy/node_modules/jquery/src/traversing/var/dir.js +22 -0
  173. data/spec/dummy/node_modules/jquery/src/traversing/var/rneedsContext.js +8 -0
  174. data/spec/dummy/node_modules/jquery/src/traversing/var/siblings.js +17 -0
  175. data/spec/dummy/node_modules/jquery/src/var/ObjectFunctionString.js +7 -0
  176. data/spec/dummy/node_modules/jquery/src/var/arr.js +5 -0
  177. data/spec/dummy/node_modules/jquery/src/var/class2type.js +6 -0
  178. data/spec/dummy/node_modules/jquery/src/var/document.js +5 -0
  179. data/spec/dummy/node_modules/jquery/src/var/documentElement.js +7 -0
  180. data/spec/dummy/node_modules/jquery/src/var/flat.js +16 -0
  181. data/spec/dummy/node_modules/jquery/src/var/fnToString.js +7 -0
  182. data/spec/dummy/node_modules/jquery/src/var/getProto.js +5 -0
  183. data/spec/dummy/node_modules/jquery/src/var/hasOwn.js +7 -0
  184. data/spec/dummy/node_modules/jquery/src/var/indexOf.js +7 -0
  185. data/spec/dummy/node_modules/jquery/src/var/isFunction.js +13 -0
  186. data/spec/dummy/node_modules/jquery/src/var/isWindow.js +8 -0
  187. data/spec/dummy/node_modules/jquery/src/var/pnum.js +5 -0
  188. data/spec/dummy/node_modules/jquery/src/var/push.js +7 -0
  189. data/spec/dummy/node_modules/jquery/src/var/rcheckableType.js +5 -0
  190. data/spec/dummy/node_modules/jquery/src/var/rcssNum.js +9 -0
  191. data/spec/dummy/node_modules/jquery/src/var/rnothtmlwhite.js +8 -0
  192. data/spec/dummy/node_modules/jquery/src/var/slice.js +7 -0
  193. data/spec/dummy/node_modules/jquery/src/var/support.js +6 -0
  194. data/spec/dummy/node_modules/jquery/src/var/toString.js +7 -0
  195. data/spec/dummy/node_modules/jquery/src/wrap.js +78 -0
  196. data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +5 -0
  197. data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +1 -0
  198. data/trusty_cms.gemspec +3 -2
  199. data/yarn.lock +9 -9
  200. metadata +354 -50
@@ -0,0 +1,87 @@
1
+ define( [
2
+ "./core",
3
+ "./core/nodeName",
4
+ "./core/camelCase",
5
+ "./core/toType",
6
+ "./var/isFunction",
7
+ "./var/isWindow",
8
+ "./var/slice",
9
+
10
+ "./deprecated/ajax-event-alias",
11
+ "./deprecated/event"
12
+ ], function( jQuery, nodeName, camelCase, toType, isFunction, isWindow, slice ) {
13
+
14
+ "use strict";
15
+
16
+ // Support: Android <=4.0 only
17
+ // Make sure we trim BOM and NBSP
18
+ var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
19
+
20
+ // Bind a function to a context, optionally partially applying any
21
+ // arguments.
22
+ // jQuery.proxy is deprecated to promote standards (specifically Function#bind)
23
+ // However, it is not slated for removal any time soon
24
+ jQuery.proxy = function( fn, context ) {
25
+ var tmp, args, proxy;
26
+
27
+ if ( typeof context === "string" ) {
28
+ tmp = fn[ context ];
29
+ context = fn;
30
+ fn = tmp;
31
+ }
32
+
33
+ // Quick check to determine if target is callable, in the spec
34
+ // this throws a TypeError, but we will just return undefined.
35
+ if ( !isFunction( fn ) ) {
36
+ return undefined;
37
+ }
38
+
39
+ // Simulated bind
40
+ args = slice.call( arguments, 2 );
41
+ proxy = function() {
42
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
43
+ };
44
+
45
+ // Set the guid of unique handler to the same of original handler, so it can be removed
46
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
47
+
48
+ return proxy;
49
+ };
50
+
51
+ jQuery.holdReady = function( hold ) {
52
+ if ( hold ) {
53
+ jQuery.readyWait++;
54
+ } else {
55
+ jQuery.ready( true );
56
+ }
57
+ };
58
+ jQuery.isArray = Array.isArray;
59
+ jQuery.parseJSON = JSON.parse;
60
+ jQuery.nodeName = nodeName;
61
+ jQuery.isFunction = isFunction;
62
+ jQuery.isWindow = isWindow;
63
+ jQuery.camelCase = camelCase;
64
+ jQuery.type = toType;
65
+
66
+ jQuery.now = Date.now;
67
+
68
+ jQuery.isNumeric = function( obj ) {
69
+
70
+ // As of jQuery 3.0, isNumeric is limited to
71
+ // strings and numbers (primitives or objects)
72
+ // that can be coerced to finite numbers (gh-2662)
73
+ var type = jQuery.type( obj );
74
+ return ( type === "number" || type === "string" ) &&
75
+
76
+ // parseFloat NaNs numeric-cast false positives ("")
77
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
78
+ // subtraction forces infinities to NaN
79
+ !isNaN( obj - parseFloat( obj ) );
80
+ };
81
+
82
+ jQuery.trim = function( text ) {
83
+ return text == null ?
84
+ "" :
85
+ ( text + "" ).replace( rtrim, "" );
86
+ };
87
+ } );
@@ -0,0 +1,22 @@
1
+ define( [
2
+ "../core",
3
+ "../ajax",
4
+ "../event"
5
+ ], function( jQuery ) {
6
+
7
+ "use strict";
8
+
9
+ jQuery.each( [
10
+ "ajaxStart",
11
+ "ajaxStop",
12
+ "ajaxComplete",
13
+ "ajaxError",
14
+ "ajaxSuccess",
15
+ "ajaxSend"
16
+ ], function( _i, type ) {
17
+ jQuery.fn[ type ] = function( fn ) {
18
+ return this.on( type, fn );
19
+ };
20
+ } );
21
+
22
+ } );
@@ -0,0 +1,48 @@
1
+ define( [
2
+ "../core",
3
+
4
+ "../event",
5
+ "../event/trigger"
6
+ ], function( jQuery ) {
7
+
8
+ "use strict";
9
+
10
+ jQuery.fn.extend( {
11
+
12
+ bind: function( types, data, fn ) {
13
+ return this.on( types, null, data, fn );
14
+ },
15
+ unbind: function( types, fn ) {
16
+ return this.off( types, null, fn );
17
+ },
18
+
19
+ delegate: function( selector, types, data, fn ) {
20
+ return this.on( types, selector, data, fn );
21
+ },
22
+ undelegate: function( selector, types, fn ) {
23
+
24
+ // ( namespace ) or ( selector, types [, fn] )
25
+ return arguments.length === 1 ?
26
+ this.off( selector, "**" ) :
27
+ this.off( types, selector || "**", fn );
28
+ },
29
+
30
+ hover: function( fnOver, fnOut ) {
31
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
32
+ }
33
+ } );
34
+
35
+ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
36
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
37
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
38
+ function( _i, name ) {
39
+
40
+ // Handle event binding
41
+ jQuery.fn[ name ] = function( data, fn ) {
42
+ return arguments.length > 0 ?
43
+ this.on( name, null, data, fn ) :
44
+ this.trigger( name );
45
+ };
46
+ } );
47
+
48
+ } );
@@ -0,0 +1,57 @@
1
+ define( [
2
+ "./core",
3
+ "./core/access",
4
+ "./var/isWindow",
5
+ "./css"
6
+ ], function( jQuery, access, isWindow ) {
7
+
8
+ "use strict";
9
+
10
+ // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
11
+ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
12
+ jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
13
+ function( defaultExtra, funcName ) {
14
+
15
+ // Margin is only for outerHeight, outerWidth
16
+ jQuery.fn[ funcName ] = function( margin, value ) {
17
+ var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
18
+ extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
19
+
20
+ return access( this, function( elem, type, value ) {
21
+ var doc;
22
+
23
+ if ( isWindow( elem ) ) {
24
+
25
+ // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
26
+ return funcName.indexOf( "outer" ) === 0 ?
27
+ elem[ "inner" + name ] :
28
+ elem.document.documentElement[ "client" + name ];
29
+ }
30
+
31
+ // Get document width or height
32
+ if ( elem.nodeType === 9 ) {
33
+ doc = elem.documentElement;
34
+
35
+ // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
36
+ // whichever is greatest
37
+ return Math.max(
38
+ elem.body[ "scroll" + name ], doc[ "scroll" + name ],
39
+ elem.body[ "offset" + name ], doc[ "offset" + name ],
40
+ doc[ "client" + name ]
41
+ );
42
+ }
43
+
44
+ return value === undefined ?
45
+
46
+ // Get width or height on the element, requesting but not forcing parseFloat
47
+ jQuery.css( elem, type, extra ) :
48
+
49
+ // Set width or height on the element
50
+ jQuery.style( elem, type, value, extra );
51
+ }, type, chainable ? margin : undefined, chainable );
52
+ };
53
+ } );
54
+ } );
55
+
56
+ return jQuery;
57
+ } );
@@ -0,0 +1,701 @@
1
+ define( [
2
+ "./core",
3
+ "./core/camelCase",
4
+ "./var/document",
5
+ "./var/isFunction",
6
+ "./var/rcssNum",
7
+ "./var/rnothtmlwhite",
8
+ "./css/var/cssExpand",
9
+ "./css/var/isHiddenWithinTree",
10
+ "./css/adjustCSS",
11
+ "./data/var/dataPriv",
12
+ "./css/showHide",
13
+
14
+ "./core/init",
15
+ "./queue",
16
+ "./deferred",
17
+ "./traversing",
18
+ "./manipulation",
19
+ "./css",
20
+ "./effects/Tween"
21
+ ], function( jQuery, camelCase, document, isFunction, rcssNum, rnothtmlwhite, cssExpand,
22
+ isHiddenWithinTree, adjustCSS, dataPriv, showHide ) {
23
+
24
+ "use strict";
25
+
26
+ var
27
+ fxNow, inProgress,
28
+ rfxtypes = /^(?:toggle|show|hide)$/,
29
+ rrun = /queueHooks$/;
30
+
31
+ function schedule() {
32
+ if ( inProgress ) {
33
+ if ( document.hidden === false && window.requestAnimationFrame ) {
34
+ window.requestAnimationFrame( schedule );
35
+ } else {
36
+ window.setTimeout( schedule, jQuery.fx.interval );
37
+ }
38
+
39
+ jQuery.fx.tick();
40
+ }
41
+ }
42
+
43
+ // Animations created synchronously will run synchronously
44
+ function createFxNow() {
45
+ window.setTimeout( function() {
46
+ fxNow = undefined;
47
+ } );
48
+ return ( fxNow = Date.now() );
49
+ }
50
+
51
+ // Generate parameters to create a standard animation
52
+ function genFx( type, includeWidth ) {
53
+ var which,
54
+ i = 0,
55
+ attrs = { height: type };
56
+
57
+ // If we include width, step value is 1 to do all cssExpand values,
58
+ // otherwise step value is 2 to skip over Left and Right
59
+ includeWidth = includeWidth ? 1 : 0;
60
+ for ( ; i < 4; i += 2 - includeWidth ) {
61
+ which = cssExpand[ i ];
62
+ attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
63
+ }
64
+
65
+ if ( includeWidth ) {
66
+ attrs.opacity = attrs.width = type;
67
+ }
68
+
69
+ return attrs;
70
+ }
71
+
72
+ function createTween( value, prop, animation ) {
73
+ var tween,
74
+ collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
75
+ index = 0,
76
+ length = collection.length;
77
+ for ( ; index < length; index++ ) {
78
+ if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
79
+
80
+ // We're done with this property
81
+ return tween;
82
+ }
83
+ }
84
+ }
85
+
86
+ function defaultPrefilter( elem, props, opts ) {
87
+ var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
88
+ isBox = "width" in props || "height" in props,
89
+ anim = this,
90
+ orig = {},
91
+ style = elem.style,
92
+ hidden = elem.nodeType && isHiddenWithinTree( elem ),
93
+ dataShow = dataPriv.get( elem, "fxshow" );
94
+
95
+ // Queue-skipping animations hijack the fx hooks
96
+ if ( !opts.queue ) {
97
+ hooks = jQuery._queueHooks( elem, "fx" );
98
+ if ( hooks.unqueued == null ) {
99
+ hooks.unqueued = 0;
100
+ oldfire = hooks.empty.fire;
101
+ hooks.empty.fire = function() {
102
+ if ( !hooks.unqueued ) {
103
+ oldfire();
104
+ }
105
+ };
106
+ }
107
+ hooks.unqueued++;
108
+
109
+ anim.always( function() {
110
+
111
+ // Ensure the complete handler is called before this completes
112
+ anim.always( function() {
113
+ hooks.unqueued--;
114
+ if ( !jQuery.queue( elem, "fx" ).length ) {
115
+ hooks.empty.fire();
116
+ }
117
+ } );
118
+ } );
119
+ }
120
+
121
+ // Detect show/hide animations
122
+ for ( prop in props ) {
123
+ value = props[ prop ];
124
+ if ( rfxtypes.test( value ) ) {
125
+ delete props[ prop ];
126
+ toggle = toggle || value === "toggle";
127
+ if ( value === ( hidden ? "hide" : "show" ) ) {
128
+
129
+ // Pretend to be hidden if this is a "show" and
130
+ // there is still data from a stopped show/hide
131
+ if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
132
+ hidden = true;
133
+
134
+ // Ignore all other no-op show/hide data
135
+ } else {
136
+ continue;
137
+ }
138
+ }
139
+ orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
140
+ }
141
+ }
142
+
143
+ // Bail out if this is a no-op like .hide().hide()
144
+ propTween = !jQuery.isEmptyObject( props );
145
+ if ( !propTween && jQuery.isEmptyObject( orig ) ) {
146
+ return;
147
+ }
148
+
149
+ // Restrict "overflow" and "display" styles during box animations
150
+ if ( isBox && elem.nodeType === 1 ) {
151
+
152
+ // Support: IE <=9 - 11, Edge 12 - 15
153
+ // Record all 3 overflow attributes because IE does not infer the shorthand
154
+ // from identically-valued overflowX and overflowY and Edge just mirrors
155
+ // the overflowX value there.
156
+ opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
157
+
158
+ // Identify a display type, preferring old show/hide data over the CSS cascade
159
+ restoreDisplay = dataShow && dataShow.display;
160
+ if ( restoreDisplay == null ) {
161
+ restoreDisplay = dataPriv.get( elem, "display" );
162
+ }
163
+ display = jQuery.css( elem, "display" );
164
+ if ( display === "none" ) {
165
+ if ( restoreDisplay ) {
166
+ display = restoreDisplay;
167
+ } else {
168
+
169
+ // Get nonempty value(s) by temporarily forcing visibility
170
+ showHide( [ elem ], true );
171
+ restoreDisplay = elem.style.display || restoreDisplay;
172
+ display = jQuery.css( elem, "display" );
173
+ showHide( [ elem ] );
174
+ }
175
+ }
176
+
177
+ // Animate inline elements as inline-block
178
+ if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
179
+ if ( jQuery.css( elem, "float" ) === "none" ) {
180
+
181
+ // Restore the original display value at the end of pure show/hide animations
182
+ if ( !propTween ) {
183
+ anim.done( function() {
184
+ style.display = restoreDisplay;
185
+ } );
186
+ if ( restoreDisplay == null ) {
187
+ display = style.display;
188
+ restoreDisplay = display === "none" ? "" : display;
189
+ }
190
+ }
191
+ style.display = "inline-block";
192
+ }
193
+ }
194
+ }
195
+
196
+ if ( opts.overflow ) {
197
+ style.overflow = "hidden";
198
+ anim.always( function() {
199
+ style.overflow = opts.overflow[ 0 ];
200
+ style.overflowX = opts.overflow[ 1 ];
201
+ style.overflowY = opts.overflow[ 2 ];
202
+ } );
203
+ }
204
+
205
+ // Implement show/hide animations
206
+ propTween = false;
207
+ for ( prop in orig ) {
208
+
209
+ // General show/hide setup for this element animation
210
+ if ( !propTween ) {
211
+ if ( dataShow ) {
212
+ if ( "hidden" in dataShow ) {
213
+ hidden = dataShow.hidden;
214
+ }
215
+ } else {
216
+ dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
217
+ }
218
+
219
+ // Store hidden/visible for toggle so `.stop().toggle()` "reverses"
220
+ if ( toggle ) {
221
+ dataShow.hidden = !hidden;
222
+ }
223
+
224
+ // Show elements before animating them
225
+ if ( hidden ) {
226
+ showHide( [ elem ], true );
227
+ }
228
+
229
+ /* eslint-disable no-loop-func */
230
+
231
+ anim.done( function() {
232
+
233
+ /* eslint-enable no-loop-func */
234
+
235
+ // The final step of a "hide" animation is actually hiding the element
236
+ if ( !hidden ) {
237
+ showHide( [ elem ] );
238
+ }
239
+ dataPriv.remove( elem, "fxshow" );
240
+ for ( prop in orig ) {
241
+ jQuery.style( elem, prop, orig[ prop ] );
242
+ }
243
+ } );
244
+ }
245
+
246
+ // Per-property setup
247
+ propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
248
+ if ( !( prop in dataShow ) ) {
249
+ dataShow[ prop ] = propTween.start;
250
+ if ( hidden ) {
251
+ propTween.end = propTween.start;
252
+ propTween.start = 0;
253
+ }
254
+ }
255
+ }
256
+ }
257
+
258
+ function propFilter( props, specialEasing ) {
259
+ var index, name, easing, value, hooks;
260
+
261
+ // camelCase, specialEasing and expand cssHook pass
262
+ for ( index in props ) {
263
+ name = camelCase( index );
264
+ easing = specialEasing[ name ];
265
+ value = props[ index ];
266
+ if ( Array.isArray( value ) ) {
267
+ easing = value[ 1 ];
268
+ value = props[ index ] = value[ 0 ];
269
+ }
270
+
271
+ if ( index !== name ) {
272
+ props[ name ] = value;
273
+ delete props[ index ];
274
+ }
275
+
276
+ hooks = jQuery.cssHooks[ name ];
277
+ if ( hooks && "expand" in hooks ) {
278
+ value = hooks.expand( value );
279
+ delete props[ name ];
280
+
281
+ // Not quite $.extend, this won't overwrite existing keys.
282
+ // Reusing 'index' because we have the correct "name"
283
+ for ( index in value ) {
284
+ if ( !( index in props ) ) {
285
+ props[ index ] = value[ index ];
286
+ specialEasing[ index ] = easing;
287
+ }
288
+ }
289
+ } else {
290
+ specialEasing[ name ] = easing;
291
+ }
292
+ }
293
+ }
294
+
295
+ function Animation( elem, properties, options ) {
296
+ var result,
297
+ stopped,
298
+ index = 0,
299
+ length = Animation.prefilters.length,
300
+ deferred = jQuery.Deferred().always( function() {
301
+
302
+ // Don't match elem in the :animated selector
303
+ delete tick.elem;
304
+ } ),
305
+ tick = function() {
306
+ if ( stopped ) {
307
+ return false;
308
+ }
309
+ var currentTime = fxNow || createFxNow(),
310
+ remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
311
+
312
+ // Support: Android 2.3 only
313
+ // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
314
+ temp = remaining / animation.duration || 0,
315
+ percent = 1 - temp,
316
+ index = 0,
317
+ length = animation.tweens.length;
318
+
319
+ for ( ; index < length; index++ ) {
320
+ animation.tweens[ index ].run( percent );
321
+ }
322
+
323
+ deferred.notifyWith( elem, [ animation, percent, remaining ] );
324
+
325
+ // If there's more to do, yield
326
+ if ( percent < 1 && length ) {
327
+ return remaining;
328
+ }
329
+
330
+ // If this was an empty animation, synthesize a final progress notification
331
+ if ( !length ) {
332
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
333
+ }
334
+
335
+ // Resolve the animation and report its conclusion
336
+ deferred.resolveWith( elem, [ animation ] );
337
+ return false;
338
+ },
339
+ animation = deferred.promise( {
340
+ elem: elem,
341
+ props: jQuery.extend( {}, properties ),
342
+ opts: jQuery.extend( true, {
343
+ specialEasing: {},
344
+ easing: jQuery.easing._default
345
+ }, options ),
346
+ originalProperties: properties,
347
+ originalOptions: options,
348
+ startTime: fxNow || createFxNow(),
349
+ duration: options.duration,
350
+ tweens: [],
351
+ createTween: function( prop, end ) {
352
+ var tween = jQuery.Tween( elem, animation.opts, prop, end,
353
+ animation.opts.specialEasing[ prop ] || animation.opts.easing );
354
+ animation.tweens.push( tween );
355
+ return tween;
356
+ },
357
+ stop: function( gotoEnd ) {
358
+ var index = 0,
359
+
360
+ // If we are going to the end, we want to run all the tweens
361
+ // otherwise we skip this part
362
+ length = gotoEnd ? animation.tweens.length : 0;
363
+ if ( stopped ) {
364
+ return this;
365
+ }
366
+ stopped = true;
367
+ for ( ; index < length; index++ ) {
368
+ animation.tweens[ index ].run( 1 );
369
+ }
370
+
371
+ // Resolve when we played the last frame; otherwise, reject
372
+ if ( gotoEnd ) {
373
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
374
+ deferred.resolveWith( elem, [ animation, gotoEnd ] );
375
+ } else {
376
+ deferred.rejectWith( elem, [ animation, gotoEnd ] );
377
+ }
378
+ return this;
379
+ }
380
+ } ),
381
+ props = animation.props;
382
+
383
+ propFilter( props, animation.opts.specialEasing );
384
+
385
+ for ( ; index < length; index++ ) {
386
+ result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
387
+ if ( result ) {
388
+ if ( isFunction( result.stop ) ) {
389
+ jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
390
+ result.stop.bind( result );
391
+ }
392
+ return result;
393
+ }
394
+ }
395
+
396
+ jQuery.map( props, createTween, animation );
397
+
398
+ if ( isFunction( animation.opts.start ) ) {
399
+ animation.opts.start.call( elem, animation );
400
+ }
401
+
402
+ // Attach callbacks from options
403
+ animation
404
+ .progress( animation.opts.progress )
405
+ .done( animation.opts.done, animation.opts.complete )
406
+ .fail( animation.opts.fail )
407
+ .always( animation.opts.always );
408
+
409
+ jQuery.fx.timer(
410
+ jQuery.extend( tick, {
411
+ elem: elem,
412
+ anim: animation,
413
+ queue: animation.opts.queue
414
+ } )
415
+ );
416
+
417
+ return animation;
418
+ }
419
+
420
+ jQuery.Animation = jQuery.extend( Animation, {
421
+
422
+ tweeners: {
423
+ "*": [ function( prop, value ) {
424
+ var tween = this.createTween( prop, value );
425
+ adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
426
+ return tween;
427
+ } ]
428
+ },
429
+
430
+ tweener: function( props, callback ) {
431
+ if ( isFunction( props ) ) {
432
+ callback = props;
433
+ props = [ "*" ];
434
+ } else {
435
+ props = props.match( rnothtmlwhite );
436
+ }
437
+
438
+ var prop,
439
+ index = 0,
440
+ length = props.length;
441
+
442
+ for ( ; index < length; index++ ) {
443
+ prop = props[ index ];
444
+ Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
445
+ Animation.tweeners[ prop ].unshift( callback );
446
+ }
447
+ },
448
+
449
+ prefilters: [ defaultPrefilter ],
450
+
451
+ prefilter: function( callback, prepend ) {
452
+ if ( prepend ) {
453
+ Animation.prefilters.unshift( callback );
454
+ } else {
455
+ Animation.prefilters.push( callback );
456
+ }
457
+ }
458
+ } );
459
+
460
+ jQuery.speed = function( speed, easing, fn ) {
461
+ var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
462
+ complete: fn || !fn && easing ||
463
+ isFunction( speed ) && speed,
464
+ duration: speed,
465
+ easing: fn && easing || easing && !isFunction( easing ) && easing
466
+ };
467
+
468
+ // Go to the end state if fx are off
469
+ if ( jQuery.fx.off ) {
470
+ opt.duration = 0;
471
+
472
+ } else {
473
+ if ( typeof opt.duration !== "number" ) {
474
+ if ( opt.duration in jQuery.fx.speeds ) {
475
+ opt.duration = jQuery.fx.speeds[ opt.duration ];
476
+
477
+ } else {
478
+ opt.duration = jQuery.fx.speeds._default;
479
+ }
480
+ }
481
+ }
482
+
483
+ // Normalize opt.queue - true/undefined/null -> "fx"
484
+ if ( opt.queue == null || opt.queue === true ) {
485
+ opt.queue = "fx";
486
+ }
487
+
488
+ // Queueing
489
+ opt.old = opt.complete;
490
+
491
+ opt.complete = function() {
492
+ if ( isFunction( opt.old ) ) {
493
+ opt.old.call( this );
494
+ }
495
+
496
+ if ( opt.queue ) {
497
+ jQuery.dequeue( this, opt.queue );
498
+ }
499
+ };
500
+
501
+ return opt;
502
+ };
503
+
504
+ jQuery.fn.extend( {
505
+ fadeTo: function( speed, to, easing, callback ) {
506
+
507
+ // Show any hidden elements after setting opacity to 0
508
+ return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
509
+
510
+ // Animate to the value specified
511
+ .end().animate( { opacity: to }, speed, easing, callback );
512
+ },
513
+ animate: function( prop, speed, easing, callback ) {
514
+ var empty = jQuery.isEmptyObject( prop ),
515
+ optall = jQuery.speed( speed, easing, callback ),
516
+ doAnimation = function() {
517
+
518
+ // Operate on a copy of prop so per-property easing won't be lost
519
+ var anim = Animation( this, jQuery.extend( {}, prop ), optall );
520
+
521
+ // Empty animations, or finishing resolves immediately
522
+ if ( empty || dataPriv.get( this, "finish" ) ) {
523
+ anim.stop( true );
524
+ }
525
+ };
526
+ doAnimation.finish = doAnimation;
527
+
528
+ return empty || optall.queue === false ?
529
+ this.each( doAnimation ) :
530
+ this.queue( optall.queue, doAnimation );
531
+ },
532
+ stop: function( type, clearQueue, gotoEnd ) {
533
+ var stopQueue = function( hooks ) {
534
+ var stop = hooks.stop;
535
+ delete hooks.stop;
536
+ stop( gotoEnd );
537
+ };
538
+
539
+ if ( typeof type !== "string" ) {
540
+ gotoEnd = clearQueue;
541
+ clearQueue = type;
542
+ type = undefined;
543
+ }
544
+ if ( clearQueue ) {
545
+ this.queue( type || "fx", [] );
546
+ }
547
+
548
+ return this.each( function() {
549
+ var dequeue = true,
550
+ index = type != null && type + "queueHooks",
551
+ timers = jQuery.timers,
552
+ data = dataPriv.get( this );
553
+
554
+ if ( index ) {
555
+ if ( data[ index ] && data[ index ].stop ) {
556
+ stopQueue( data[ index ] );
557
+ }
558
+ } else {
559
+ for ( index in data ) {
560
+ if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
561
+ stopQueue( data[ index ] );
562
+ }
563
+ }
564
+ }
565
+
566
+ for ( index = timers.length; index--; ) {
567
+ if ( timers[ index ].elem === this &&
568
+ ( type == null || timers[ index ].queue === type ) ) {
569
+
570
+ timers[ index ].anim.stop( gotoEnd );
571
+ dequeue = false;
572
+ timers.splice( index, 1 );
573
+ }
574
+ }
575
+
576
+ // Start the next in the queue if the last step wasn't forced.
577
+ // Timers currently will call their complete callbacks, which
578
+ // will dequeue but only if they were gotoEnd.
579
+ if ( dequeue || !gotoEnd ) {
580
+ jQuery.dequeue( this, type );
581
+ }
582
+ } );
583
+ },
584
+ finish: function( type ) {
585
+ if ( type !== false ) {
586
+ type = type || "fx";
587
+ }
588
+ return this.each( function() {
589
+ var index,
590
+ data = dataPriv.get( this ),
591
+ queue = data[ type + "queue" ],
592
+ hooks = data[ type + "queueHooks" ],
593
+ timers = jQuery.timers,
594
+ length = queue ? queue.length : 0;
595
+
596
+ // Enable finishing flag on private data
597
+ data.finish = true;
598
+
599
+ // Empty the queue first
600
+ jQuery.queue( this, type, [] );
601
+
602
+ if ( hooks && hooks.stop ) {
603
+ hooks.stop.call( this, true );
604
+ }
605
+
606
+ // Look for any active animations, and finish them
607
+ for ( index = timers.length; index--; ) {
608
+ if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
609
+ timers[ index ].anim.stop( true );
610
+ timers.splice( index, 1 );
611
+ }
612
+ }
613
+
614
+ // Look for any animations in the old queue and finish them
615
+ for ( index = 0; index < length; index++ ) {
616
+ if ( queue[ index ] && queue[ index ].finish ) {
617
+ queue[ index ].finish.call( this );
618
+ }
619
+ }
620
+
621
+ // Turn off finishing flag
622
+ delete data.finish;
623
+ } );
624
+ }
625
+ } );
626
+
627
+ jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
628
+ var cssFn = jQuery.fn[ name ];
629
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
630
+ return speed == null || typeof speed === "boolean" ?
631
+ cssFn.apply( this, arguments ) :
632
+ this.animate( genFx( name, true ), speed, easing, callback );
633
+ };
634
+ } );
635
+
636
+ // Generate shortcuts for custom animations
637
+ jQuery.each( {
638
+ slideDown: genFx( "show" ),
639
+ slideUp: genFx( "hide" ),
640
+ slideToggle: genFx( "toggle" ),
641
+ fadeIn: { opacity: "show" },
642
+ fadeOut: { opacity: "hide" },
643
+ fadeToggle: { opacity: "toggle" }
644
+ }, function( name, props ) {
645
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
646
+ return this.animate( props, speed, easing, callback );
647
+ };
648
+ } );
649
+
650
+ jQuery.timers = [];
651
+ jQuery.fx.tick = function() {
652
+ var timer,
653
+ i = 0,
654
+ timers = jQuery.timers;
655
+
656
+ fxNow = Date.now();
657
+
658
+ for ( ; i < timers.length; i++ ) {
659
+ timer = timers[ i ];
660
+
661
+ // Run the timer and safely remove it when done (allowing for external removal)
662
+ if ( !timer() && timers[ i ] === timer ) {
663
+ timers.splice( i--, 1 );
664
+ }
665
+ }
666
+
667
+ if ( !timers.length ) {
668
+ jQuery.fx.stop();
669
+ }
670
+ fxNow = undefined;
671
+ };
672
+
673
+ jQuery.fx.timer = function( timer ) {
674
+ jQuery.timers.push( timer );
675
+ jQuery.fx.start();
676
+ };
677
+
678
+ jQuery.fx.interval = 13;
679
+ jQuery.fx.start = function() {
680
+ if ( inProgress ) {
681
+ return;
682
+ }
683
+
684
+ inProgress = true;
685
+ schedule();
686
+ };
687
+
688
+ jQuery.fx.stop = function() {
689
+ inProgress = null;
690
+ };
691
+
692
+ jQuery.fx.speeds = {
693
+ slow: 600,
694
+ fast: 200,
695
+
696
+ // Default speed
697
+ _default: 400
698
+ };
699
+
700
+ return jQuery;
701
+ } );