@atlassian/aui 9.11.0 → 9.11.4

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 (123) hide show
  1. package/dist/aui/aui-prototyping-design-tokens-api-full.js +1 -1
  2. package/dist/aui/aui-prototyping-design-tokens-api.js +1 -1
  3. package/dist/aui/aui-prototyping-design-tokens-base-themes-css.css +1 -1
  4. package/dist/aui/aui-prototyping-design-tokens-base-themes-css.js +1 -1
  5. package/dist/aui/aui-prototyping-design-tokens-base-themes.js +1 -1
  6. package/dist/aui/aui-prototyping.css +6 -6
  7. package/dist/aui/aui-prototyping.css.map +1 -1
  8. package/dist/aui/aui-prototyping.js +24 -21
  9. package/dist/aui/aui-prototyping.js.map +1 -1
  10. package/dist/aui/aui-prototyping.nodeps.css +6 -6
  11. package/dist/aui/aui-prototyping.nodeps.css.map +1 -1
  12. package/dist/aui/aui-prototyping.nodeps.js +24 -21
  13. package/dist/aui/aui-prototyping.nodeps.js.map +1 -1
  14. package/entry/aui.component.form.select2.js +1 -1
  15. package/entry/deprecated/aui.behaviour.jquery-form.js +1 -1
  16. package/package.json +79 -73
  17. package/src/js/aui/inline-dialog.js +3 -0
  18. package/src/js/aui/select2.js +24 -7
  19. package/src/js/aui/tables-sortable.js +2 -1
  20. package/src/js/aui/when-i-type.js +1 -1
  21. package/src/js-vendor/jquery-aop/LICENSE +21 -0
  22. package/src/js-vendor/jquery-aop/README.md +54 -0
  23. package/src/js-vendor/jquery-aop/aop.js +404 -0
  24. package/src/js-vendor/jquery-aop/jquery-aop.txt +5 -0
  25. package/src/js-vendor/jquery-aop/package.json +16 -0
  26. package/src/js-vendor/jquery-form/jquery.form.js +813 -0
  27. package/src/js-vendor/jquery-form/package.json +15 -0
  28. package/src/js-vendor/jquery.hotkeys/jquery.hotkeys.js +99 -0
  29. package/src/js-vendor/jquery.hotkeys/package.json +14 -0
  30. package/src/js-vendor/select2/CONTRIBUTING.md +107 -0
  31. package/src/js-vendor/select2/LICENSE +18 -0
  32. package/src/js-vendor/select2/README.md +115 -0
  33. package/src/js-vendor/select2/bower.json +8 -0
  34. package/src/js-vendor/select2/component.json +66 -0
  35. package/src/js-vendor/select2/composer.json +29 -0
  36. package/src/js-vendor/select2/package.json +20 -0
  37. package/src/js-vendor/select2/release.sh +79 -0
  38. package/src/js-vendor/select2/select2-bootstrap.css +87 -0
  39. package/src/{css-vendor/jquery/plugins → js-vendor/select2}/select2-spinner.gif +0 -0
  40. package/src/js-vendor/select2/select2.jquery.json +36 -0
  41. package/src/js-vendor/select2/select2.min.js +23 -0
  42. package/src/js-vendor/select2/select2.png +0 -0
  43. package/src/js-vendor/select2/select2_locale_ar.js +19 -0
  44. package/src/js-vendor/select2/select2_locale_az.js +20 -0
  45. package/src/js-vendor/select2/select2_locale_bg.js +20 -0
  46. package/src/js-vendor/select2/select2_locale_ca.js +19 -0
  47. package/src/js-vendor/select2/select2_locale_cs.js +51 -0
  48. package/src/js-vendor/select2/select2_locale_da.js +19 -0
  49. package/src/js-vendor/select2/select2_locale_de.js +18 -0
  50. package/src/js-vendor/select2/select2_locale_el.js +19 -0
  51. package/src/js-vendor/select2/select2_locale_en.js.template +20 -0
  52. package/src/js-vendor/select2/select2_locale_es.js +19 -0
  53. package/src/js-vendor/select2/select2_locale_et.js +19 -0
  54. package/src/js-vendor/select2/select2_locale_eu.js +45 -0
  55. package/src/js-vendor/select2/select2_locale_fa.js +21 -0
  56. package/src/js-vendor/select2/select2_locale_fi.js +30 -0
  57. package/src/js-vendor/select2/select2_locale_fr.js +18 -0
  58. package/src/js-vendor/select2/select2_locale_gl.js +45 -0
  59. package/src/js-vendor/select2/select2_locale_he.js +19 -0
  60. package/src/js-vendor/select2/select2_locale_hr.js +24 -0
  61. package/src/js-vendor/select2/select2_locale_hu.js +17 -0
  62. package/src/js-vendor/select2/select2_locale_id.js +21 -0
  63. package/src/js-vendor/select2/select2_locale_is.js +17 -0
  64. package/src/js-vendor/select2/select2_locale_it.js +17 -0
  65. package/src/js-vendor/select2/select2_locale_ja.js +17 -0
  66. package/src/js-vendor/select2/select2_locale_ka.js +19 -0
  67. package/src/js-vendor/select2/select2_locale_ko.js +19 -0
  68. package/src/js-vendor/select2/select2_locale_lt.js +26 -0
  69. package/src/js-vendor/select2/select2_locale_lv.js +19 -0
  70. package/src/js-vendor/select2/select2_locale_mk.js +19 -0
  71. package/src/js-vendor/select2/select2_locale_ms.js +21 -0
  72. package/src/js-vendor/select2/select2_locale_nb.js +22 -0
  73. package/src/js-vendor/select2/select2_locale_nl.js +17 -0
  74. package/src/js-vendor/select2/select2_locale_pl.js +54 -0
  75. package/src/js-vendor/select2/select2_locale_pt-BR.js +18 -0
  76. package/src/js-vendor/select2/select2_locale_pt-PT.js +17 -0
  77. package/src/js-vendor/select2/select2_locale_ro.js +17 -0
  78. package/src/js-vendor/select2/select2_locale_rs.js +19 -0
  79. package/src/js-vendor/select2/select2_locale_ru.js +23 -0
  80. package/src/js-vendor/select2/select2_locale_sk.js +50 -0
  81. package/src/js-vendor/select2/select2_locale_sv.js +19 -0
  82. package/src/js-vendor/select2/select2_locale_th.js +19 -0
  83. package/src/js-vendor/select2/select2_locale_tr.js +20 -0
  84. package/src/js-vendor/select2/select2_locale_ug-CN.js +16 -0
  85. package/src/js-vendor/select2/select2_locale_uk.js +25 -0
  86. package/src/js-vendor/select2/select2_locale_vi.js +20 -0
  87. package/src/js-vendor/select2/select2_locale_zh-CN.js +16 -0
  88. package/src/js-vendor/select2/select2_locale_zh-TW.js +16 -0
  89. package/src/js-vendor/select2/select2x2.png +0 -0
  90. package/src/js-vendor/tablesorter/README.md +158 -0
  91. package/src/js-vendor/tablesorter/jquery.tablesorter.js +1901 -0
  92. package/src/js-vendor/tablesorter/package.json +43 -0
  93. package/src/less/adg-header-quicksearch.less +2 -2
  94. package/src/less/aui-appheader.less +3 -3
  95. package/src/less/aui-buttons.less +2 -2
  96. package/src/less/aui-experimental-tooltip.less +1 -1
  97. package/src/less/aui-navigation.less +4 -4
  98. package/src/less/aui-page-layout.less +2 -2
  99. package/src/less/aui-page-typography.less +1 -1
  100. package/src/less/aui-select2.less +1 -1
  101. package/src/less/aui-sidebar-config.less +1 -1
  102. package/src/less/aui-sidebar-grouping.less +2 -2
  103. package/src/less/aui-sidebar-navigation.less +2 -2
  104. package/src/less/aui-toggle.less +2 -2
  105. package/src/less/dropdown2.less +2 -4
  106. package/src/less/forms-current.less +1 -1
  107. package/src/less/forms-legacy.less +2 -2
  108. package/src/less/forms-radios-and-checkboxes.less +2 -2
  109. package/src/less/forms.less +2 -2
  110. package/src/less/imports/aui-theme/components/buttons.less +2 -2
  111. package/src/less/imports/aui-theme/components/forms.less +1 -1
  112. package/src/less/imports/aui-theme/components/navigation.less +1 -1
  113. package/src/less/imports/aui-theme/components/toggle.less +2 -2
  114. package/src/less/imports/mixins/typography.less +8 -8
  115. package/src/less/imports/mixins.less +1 -1
  116. package/src/less/single-select.less +1 -1
  117. package/src/css-vendor/jquery/plugins/select2.png +0 -0
  118. package/src/css-vendor/jquery/plugins/select2x2.png +0 -0
  119. package/src/js/jquery/jquery.hotkeys.js +0 -176
  120. package/src/js-vendor/jquery/jquery.tablesorter.js +0 -1896
  121. package/src/js-vendor/jquery/plugins/jquery.form.js +0 -819
  122. /package/src/{css-vendor/jquery/plugins/jquery.select2.css → js-vendor/select2/select2.css} +0 -0
  123. /package/src/js-vendor/{jquery/plugins/jquery.select2.js → select2/select2.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import './styles/aui.pattern.forms';
2
- import '@atlassian/aui/src/css-vendor/jquery/plugins/jquery.select2.css';
2
+ import 'select2/select2.css';
3
3
  import '@atlassian/aui/src/less/aui-select2.less';
4
4
  import '@atlassian/aui/src/js/aui/select2.js';
5
5
  export {};
@@ -1,2 +1,2 @@
1
- import '../../src/js-vendor/jquery/plugins/jquery.form';
1
+ import 'jquery-form/jquery.form';
2
2
  export default 'jquery';
package/package.json CHANGED
@@ -1,74 +1,80 @@
1
1
  {
2
- "name": "@atlassian/aui",
3
- "description": "Atlassian User Interface library",
4
- "version": "9.11.0",
5
- "author": "Atlassian Pty Ltd.",
6
- "homepage": "https://aui.atlassian.com",
7
- "license": "Apache-2.0",
8
- "bugs": "https://ecosystem.atlassian.net/browse/AUI",
9
- "repository": {
10
- "type": "git",
11
- "url": "https://bitbucket.org/atlassian/aui"
12
- },
13
- "engines": {
14
- "node": "^6 || >=8",
15
- "yarn": "^1.6"
16
- },
17
- "browser": "dist/aui/aui-prototyping.js",
18
- "main": "dist/aui/aui-prototyping.js",
19
- "files": [
20
- "dist",
21
- "entry",
22
- "lib",
23
- "licenses",
24
- "src",
25
- "CHANGELOG.md",
26
- "CONTRIBUTING.md",
27
- "LICENSE",
28
- "README.md",
29
- "yarn.lock"
30
- ],
31
- "//": "AUI's publishConfig is managed by its build scripts.",
32
- "peerDependencies": {
33
- "jquery": "^2 || ^3"
34
- },
35
- "dependencies": {
36
- "@atlaskit/tokens": "1.43.0",
37
- "@atlassian/tipsy": "1.3.3",
38
- "@popperjs/core": "2.11.8",
39
- "backbone": "1.6.0",
40
- "css.escape": "1.5.1",
41
- "dompurify": "2.5.0",
42
- "fancy-file-input": "2.0.4",
43
- "jquery-ui": "1.13.2",
44
- "skatejs": "0.13.17",
45
- "skatejs-template-html": "0.0.0",
46
- "trim-extra-html-whitespace": "1.3.0",
47
- "underscore": "1.13.6"
48
- },
49
- "devDependencies": {
50
- "@atlassian/adg-server-iconfont": "3.1.0",
51
- "@atlassian/aui-webpack-config": "3.0.1",
52
- "@babel/core": "7.18.13",
53
- "@babel/preset-env": "7.18.10",
54
- "bundlesize": "1.0.0-beta.2",
55
- "cross-env": "7.0.3",
56
- "eslint": "7.32.0",
57
- "glob": "7.2.3",
58
- "ignore-emit-webpack-plugin": "2.0.6",
59
- "jquery": "3.5.1",
60
- "jquery-migrate": "3.4.1",
61
- "less": "3.13.1",
62
- "react": "^18.2.0"
63
- },
64
- "scripts": {
65
- "prepublishOnly": "yarn clean && cross-env NODE_ENV=production yarn build",
66
- "clean": "rm -rf ./dist",
67
- "dist/build:prototyping": "webpack --config webpack/dist.prototyping.webpack.config.js",
68
- "build": "yarn dist/build:prototyping",
69
- "watch": "yarn dist/build:prototyping --watch",
70
- "bundlesize/verify-dist": "node scripts/verify-dist-structure.js",
71
- "bundlesize/gzipped": "node scripts/generate-bundlesize-config.js > configs/bundlesize-gzipped.json && bundlesize --config configs/bundlesize-gzipped.json",
72
- "bundlesize/raw": "node scripts/generate-bundlesize-config.js raw > configs/bundlesize-raw.json && bundlesize --config configs/bundlesize-raw.json"
73
- }
74
- }
2
+ "name": "@atlassian/aui",
3
+ "description": "Atlassian User Interface library",
4
+ "version": "9.11.4",
5
+ "author": "Atlassian Pty Ltd.",
6
+ "homepage": "https://aui.atlassian.com",
7
+ "license": "Apache-2.0",
8
+ "bugs": "https://ecosystem.atlassian.net/browse/AUI",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://bitbucket.org/atlassian/aui"
12
+ },
13
+ "engines": {
14
+ "node": "^6 || >=8",
15
+ "yarn": "^1.6"
16
+ },
17
+ "browser": "dist/aui/aui-prototyping.js",
18
+ "main": "dist/aui/aui-prototyping.js",
19
+ "files": [
20
+ "dist",
21
+ "entry",
22
+ "lib",
23
+ "licenses",
24
+ "src",
25
+ "CHANGELOG.md",
26
+ "CONTRIBUTING.md",
27
+ "LICENSE",
28
+ "README.md",
29
+ "yarn.lock"
30
+ ],
31
+ "//": "AUI's publishConfig is managed by its build scripts.",
32
+ "peerDependencies": {
33
+ "jquery": "^2 || ^3"
34
+ },
35
+ "dependencies": {
36
+ "@atlaskit/tokens": "1.43.0",
37
+ "@atlassian/tipsy": "1.3.3",
38
+ "@popperjs/core": "2.11.8",
39
+ "backbone": "1.6.0",
40
+ "css.escape": "1.5.1",
41
+ "dompurify": "2.5.0",
42
+ "fancy-file-input": "2.0.4",
43
+ "jquery-ui": "1.13.2",
44
+ "skatejs": "0.13.17",
45
+ "skatejs-template-html": "0.0.0",
46
+ "trim-extra-html-whitespace": "1.3.0",
47
+ "underscore": "1.13.6",
48
+ "tablesorter": "file:./src/js-vendor/tablesorter",
49
+ "jquery-aop": "file:src/js-vendor/jquery-aop",
50
+ "jquery-form": "file:src/js-vendor/jquery-form",
51
+ "select2": "file:src/js-vendor/select2",
52
+ "jquery.hotkeys": "file:src/js-vendor/jquery.hotkeys"
53
+ },
54
+ "devDependencies": {
55
+ "@atlassian/adg-server-iconfont": "3.1.0",
56
+ "@atlassian/aui-webpack-config": "3.0.1",
57
+ "@babel/core": "7.18.13",
58
+ "@babel/preset-env": "7.18.10",
59
+ "bundlesize": "1.0.0-beta.2",
60
+ "cross-env": "7.0.3",
61
+ "eslint": "7.32.0",
62
+ "glob": "7.2.3",
63
+ "ignore-emit-webpack-plugin": "2.0.6",
64
+ "jquery": "3.5.1",
65
+ "jquery-migrate": "3.4.1",
66
+ "less": "3.13.1",
67
+ "react": "^18.2.0"
68
+ },
69
+ "scripts": {
70
+ "prepublishOnly": "yarn clean && cross-env NODE_ENV=production yarn build && node scripts/prepublishOnly.js",
71
+ "postpublish": "node scripts/postpublish.js",
72
+ "clean": "rm -rf ./dist",
73
+ "dist/build:prototyping": "webpack --config webpack/dist.prototyping.webpack.config.js",
74
+ "build": "yarn dist/build:prototyping",
75
+ "watch": "yarn dist/build:prototyping --watch",
76
+ "bundlesize/verify-dist": "node scripts/verify-dist-structure.js",
77
+ "bundlesize/gzipped": "node scripts/generate-bundlesize-config.js > configs/bundlesize-gzipped.json && bundlesize --config configs/bundlesize-gzipped.json",
78
+ "bundlesize/raw": "node scripts/generate-bundlesize-config.js raw > configs/bundlesize-raw.json && bundlesize --config configs/bundlesize-raw.json"
79
+ }
80
+ }
@@ -321,6 +321,9 @@ function InlineDialog (items, identifier, url, options) {
321
321
  }
322
322
  };
323
323
  var $items = $(items);
324
+ // jquery 3 does not have selector property anymore. To make this compatible, the property is
325
+ // being added back. This would also require the user of inline dialog to add the property to items object
326
+ $items.selector = $items.selector || items.selector;
324
327
 
325
328
  if (opts.onHover) {
326
329
  if (opts.useLiveEvents) {
@@ -1,6 +1,6 @@
1
1
  import $ from './jquery';
2
- import '../../js-vendor/jquery/plugins/jquery.select2';
3
- import layer from "./layer";
2
+ import 'select2/select2';
3
+ import layer from './layer';
4
4
 
5
5
  /**
6
6
  * Wraps a vanilla Select2 with ADG _style_, as an auiSelect2 method on jQuery objects.
@@ -20,9 +20,11 @@ const auiContainer = 'aui-select2-container';
20
20
  const auiDropdown = 'aui-select2-drop aui-dropdown2';
21
21
  const auiHasAvatar = 'aui-has-avatar';
22
22
 
23
+ // Other constants
24
+ const DROPDOWN_LAYER_KEY = 'aui.select2DropdownLayer';
25
+
23
26
  $.fn.auiSelect2 = function (first) {
24
27
  let updatedArgs;
25
- let dropdownLayer;
26
28
 
27
29
  if ($.isPlainObject(first)) {
28
30
  const auiOpts = $.extend({}, first);
@@ -83,12 +85,18 @@ $.fn.auiSelect2 = function (first) {
83
85
  const $selectInput = $(this);
84
86
  const $selectDropdown = $selectInput.select2('dropdown');
85
87
 
86
- if (!dropdownLayer) dropdownLayer = layer();
88
+ let dropdownLayer = $selectInput.data(DROPDOWN_LAYER_KEY);
89
+
90
+ if (!dropdownLayer) {
91
+ dropdownLayer = layer();
92
+ $selectInput.data(DROPDOWN_LAYER_KEY, dropdownLayer);
93
+ }
94
+
87
95
  dropdownLayer.show(); // add layer to layer manager to get top z-index
88
96
 
89
97
  $selectDropdown.css('z-index', dropdownLayer.$el.css('z-index'));
90
98
  // mask is created during opening event, before open
91
- $("#select2-drop-mask").css('z-index', dropdownLayer.$el.css('z-index'));
99
+ $('#select2-drop-mask').css('z-index', dropdownLayer.$el.css('z-index'));
92
100
 
93
101
  if (options.multiple || $selectInput.attr('multiple')) {
94
102
  // This is a multi-select, exiting
@@ -102,8 +110,17 @@ $.fn.auiSelect2 = function (first) {
102
110
 
103
111
  select2Instance.on('select2-close', function () {
104
112
  const $selectInput = $(this);
105
-
106
- dropdownLayer.hide();
113
+ const dropdownLayer = $selectInput.data(DROPDOWN_LAYER_KEY);
114
+
115
+ if (dropdownLayer) {
116
+ dropdownLayer.hide();
117
+ } else {
118
+ AJS.warn(
119
+ 'Warning! AUI: `select2-close` event handler could not discover the layer linked with the Select2 dropdown.',
120
+ 'This may be happening when there are many instances of Select2 created on the same DOM element.',
121
+ 'Consider checking your code as this can negatively affect performance.'
122
+ );
123
+ }
107
124
 
108
125
  $selectInput.removeData('was-ariadescribedby-cleared');
109
126
  });
@@ -1,8 +1,9 @@
1
1
  import $ from './jquery';
2
- import '../../js-vendor/jquery/jquery.tablesorter';
2
+ import 'tablesorter/jquery.tablesorter';
3
3
  import globalize from './internal/globalize';
4
4
 
5
5
  const DEFAULT_SORT_OPTIONS = {
6
+ headerTemplate: '',
6
7
  sortMultiSortKey: '',
7
8
  headers: {},
8
9
  debug: false,
@@ -1,5 +1,5 @@
1
1
  import $ from './jquery';
2
- import '../jquery/jquery.hotkeys';
2
+ import 'jquery.hotkeys/jquery.hotkeys';
3
3
  import '../jquery/jquery.moveto';
4
4
  import * as logger from './internal/log';
5
5
  import { I18n } from './i18n';
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Gonzalo Casas
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,54 @@
1
+ # jquery-aop
2
+
3
+ Add features of aspect-oriented programming (AOP) to jQuery.
4
+
5
+ ## Introduction
6
+
7
+ jQuery AOP is a very small plugin that adds [AOP](http://en.wikipedia.org/wiki/Aspect-oriented_programming) features to javascript. It allows to add [advices](http://en.wikipedia.org/wiki/Advice_in_aspect-oriented_programming) (_Before_, _After_, _After Throw_, _After Finally_, _Around_ and _Introduction_) to any global or instance object.
8
+
9
+ ## Features
10
+
11
+ * Allows to add _Before_, _After_, _After Throw_, _After Finally_, _Around_ and _Introduction_ advices.
12
+ * Allows to define point-cuts using regex to match multiple methods.
13
+ * Works with global function and object methods.
14
+ * Advices can be removed after being applied.
15
+ * **Just 1091 bytes!** (Packed and Gzipped)
16
+ * Integrated into jQuery.
17
+
18
+ ## Quick Start
19
+
20
+ Starting with jQuery AOP is really easy!
21
+
22
+ ```
23
+
24
+ jQuery.aop.before( {target: String, method: 'replace'},
25
+ function(regex, newString) {
26
+ alert("About to replace string '" + this + "' with '" + newString + "' using regEx '" + regex + "'");
27
+ }
28
+ );
29
+
30
+ ```
31
+
32
+ More samples on [Reference](Reference.md)...
33
+
34
+ ### What is new on 1.3?
35
+
36
+ The latest release of jQuery AOP includes:
37
+ * Support **after throw** and **after finally** advices
38
+ * some bug fixes
39
+
40
+ No breaking changes from 1.2.
41
+
42
+ ### What is new on 1.2?
43
+
44
+ This is a bug fix release, solving some minor issues reported. No breaking changes from 1.1.
45
+
46
+ ### What is new on 1.1?
47
+
48
+ The latest release of jQuery AOP includes two new features:
49
+ * Support for **introductions**
50
+ * and support for **regex matching** of method names!
51
+
52
+ The new regex matching support breaks compatibility with the previous version because now the weaving methods return an array of functions instead of just one function.
53
+
54
+ But don't worry! You can revert to the old behavior if you need to: more details on [BackwardsCompatibility](BackwardsCompatibility.md)!