@atlassian/aui 9.11.1 → 9.11.3

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 (122) 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 +3 -3
  7. package/dist/aui/aui-prototyping.css.map +1 -1
  8. package/dist/aui/aui-prototyping.js +5 -5
  9. package/dist/aui/aui-prototyping.js.map +1 -1
  10. package/dist/aui/aui-prototyping.nodeps.css +3 -3
  11. package/dist/aui/aui-prototyping.nodeps.css.map +1 -1
  12. package/dist/aui/aui-prototyping.nodeps.js +7 -7
  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 +7 -2
  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 +1 -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/{jquery → tablesorter}/jquery.tablesorter.js +2 -26
  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/plugins/jquery.form.js +0 -819
  121. /package/src/{css-vendor/jquery/plugins/jquery.select2.css → js-vendor/select2/select2.css} +0 -0
  122. /package/src/js-vendor/{jquery/plugins/jquery.select2.js → select2/select2.js} +0 -0
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Select2 Thai translation.
3
+ *
4
+ * Author: Atsawin Chaowanakritsanakul <joke@nakhon.net>
5
+ */
6
+ (function ($) {
7
+ "use strict";
8
+
9
+ $.fn.select2.locales['th'] = {
10
+ formatNoMatches: function () { return "ไม่พบข้อมูล"; },
11
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "โปรดพิมพ์เพิ่มอีก " + n + " ตัวอักษร"; },
12
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "โปรดลบออก " + n + " ตัวอักษร"; },
13
+ formatSelectionTooBig: function (limit) { return "คุณสามารถเลือกได้ไม่เกิน " + limit + " รายการ"; },
14
+ formatLoadMore: function (pageNumber) { return "กำลังค้นข้อมูลเพิ่ม…"; },
15
+ formatSearching: function () { return "กำลังค้นข้อมูล…"; }
16
+ };
17
+
18
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['th']);
19
+ })(jQuery);
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Select2 Turkish translation.
3
+ *
4
+ * Author: Salim KAYABAŞI <salim.kayabasi@gmail.com>
5
+ */
6
+ (function ($) {
7
+ "use strict";
8
+
9
+ $.fn.select2.locales['tr'] = {
10
+ formatMatches: function (matches) { if (matches === 1) { return "Sadece bir sonuç bulundu, seçmek için enter tuşuna basabilirsiniz."; } return matches + " sonuç bulundu, yukarı ve aşağı tuşları ile seçebilirsiniz."; },
11
+ formatNoMatches: function () { return "Sonuç bulunamadı"; },
12
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "En az " + n + " karakter daha girmelisiniz"; },
13
+ formatInputTooLong: function (input, max) { var n = input.length - max; return n + " karakter azaltmalısınız"; },
14
+ formatSelectionTooBig: function (limit) { return "Sadece " + limit + " seçim yapabilirsiniz"; },
15
+ formatLoadMore: function (pageNumber) { return "Daha fazla…"; },
16
+ formatSearching: function () { return "Aranıyor…"; }
17
+ };
18
+
19
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['tr']);
20
+ })(jQuery);
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Select2 Uyghur translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+ $.fn.select2.locales['ug-CN'] = {
7
+ formatNoMatches: function () { return "ماس كېلىدىغان ئۇچۇر تېپىلمىدى"; },
8
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "يەنە " + n + " ھەرپ كىرگۈزۈڭ";},
9
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "" + n + "ھەرپ ئۆچۈرۈڭ";},
10
+ formatSelectionTooBig: function (limit) { return "ئەڭ كۆپ بولغاندا" + limit + " تال ئۇچۇر تاللىيالايسىز"; },
11
+ formatLoadMore: function (pageNumber) { return "ئۇچۇرلار ئوقۇلىۋاتىدۇ…"; },
12
+ formatSearching: function () { return "ئىزدەۋاتىدۇ…"; }
13
+ };
14
+
15
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['ug-CN']);
16
+ })(jQuery);
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Select2 Ukrainian translation.
3
+ *
4
+ * @author bigmihail <bigmihail@bigmir.net>
5
+ * @author Uriy Efremochkin <efremochkin@uriy.me>
6
+ */
7
+ (function ($) {
8
+ "use strict";
9
+
10
+ $.fn.select2.locales['uk'] = {
11
+ formatMatches: function (matches) { return character(matches, "результат") + " знайдено, використовуйте клавіші зі стрілками вверх та вниз для навігації."; },
12
+ formatNoMatches: function () { return "Нічого не знайдено"; },
13
+ formatInputTooShort: function (input, min) { return "Введіть буль ласка ще " + character(min - input.length, "символ"); },
14
+ formatInputTooLong: function (input, max) { return "Введіть буль ласка на " + character(input.length - max, "символ") + " менше"; },
15
+ formatSelectionTooBig: function (limit) { return "Ви можете вибрати лише " + character(limit, "елемент"); },
16
+ formatLoadMore: function (pageNumber) { return "Завантаження даних…"; },
17
+ formatSearching: function () { return "Пошук…"; }
18
+ };
19
+
20
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['uk']);
21
+
22
+ function character (n, word) {
23
+ return n + " " + word + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 19) ? n%10 > 1 ? "и" : "" : "ів");
24
+ }
25
+ })(jQuery);
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Select2 Vietnamese translation.
3
+ *
4
+ * Author: Long Nguyen <olragon@gmail.com>, Nguyen Chien Cong
5
+ */
6
+ (function ($) {
7
+ "use strict";
8
+
9
+ $.fn.select2.locales['vi'] = {
10
+ formatNoMatches: function () { return "Không tìm thấy kết quả"; },
11
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "Vui lòng nhập nhiều hơn " + n + " ký tự"; },
12
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Vui lòng nhập ít hơn " + n + " ký tự"; },
13
+ formatSelectionTooBig: function (limit) { return "Chỉ có thể chọn được " + limit + " lựa chọn"; },
14
+ formatLoadMore: function (pageNumber) { return "Đang lấy thêm kết quả…"; },
15
+ formatSearching: function () { return "Đang tìm…"; }
16
+ };
17
+
18
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['vi']);
19
+ })(jQuery);
20
+
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Select2 Chinese translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+ $.fn.select2.locales['zh-CN'] = {
7
+ formatNoMatches: function () { return "没有找到匹配项"; },
8
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "请再输入" + n + "个字符";},
9
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "请删掉" + n + "个字符";},
10
+ formatSelectionTooBig: function (limit) { return "你只能选择最多" + limit + "项"; },
11
+ formatLoadMore: function (pageNumber) { return "加载结果中…"; },
12
+ formatSearching: function () { return "搜索中…"; }
13
+ };
14
+
15
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['zh-CN']);
16
+ })(jQuery);
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Select2 Traditional Chinese translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+ $.fn.select2.locales['zh-TW'] = {
7
+ formatNoMatches: function () { return "沒有找到相符的項目"; },
8
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "請再輸入" + n + "個字元";},
9
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "請刪掉" + n + "個字元";},
10
+ formatSelectionTooBig: function (limit) { return "你只能選擇最多" + limit + "項"; },
11
+ formatLoadMore: function (pageNumber) { return "載入中…"; },
12
+ formatSearching: function () { return "搜尋中…"; }
13
+ };
14
+
15
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['zh-TW']);
16
+ })(jQuery);
@@ -0,0 +1,158 @@
1
+ tablesorter is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes.
2
+ tablesorter can successfully parse and sort many types of data including linked data in a cell.
3
+
4
+ ### Notice!
5
+
6
+ * Because of the change to the internal cache, the tablesorter v2.16+ core, filter widget and pager (both plugin &amp; widget) will only work with the same version or newer files.
7
+
8
+ ### [Documentation](//mottie.github.io/tablesorter/docs/)
9
+
10
+ * See the [full documentation](//mottie.github.io/tablesorter/docs/).
11
+ * All of the [original document pages](//tablesorter.com/docs/) have been included.
12
+ * Information from my blog post on [undocumented options](//wowmotty.blogspot.com/2011/06/jquery-tablesorter-missing-docs.html) and lots of new demos have also been included.
13
+ * Change log moved from included text file into the [wiki documentation](//github.com/Mottie/tablesorter/wiki/Changes).
14
+
15
+ ### Demos
16
+
17
+ * [Basic alpha-numeric sort Demo](//mottie.github.com/tablesorter/).
18
+ * Links to demo pages can be found within the main [documentation](//mottie.github.io/tablesorter/docs/).
19
+ * More demos & playgrounds - updated in the [wiki pages](//github.com/Mottie/tablesorter/wiki).
20
+
21
+ ### Features
22
+
23
+ * Multi-column alphanumeric sorting and filtering.
24
+ * Multi-tbody sorting - see the [options](//mottie.github.io/tablesorter/docs/index.html#options) table on the main document page.
25
+ * Supports [Bootstrap v2 and 3](//mottie.github.io/tablesorter/docs/example-widget-bootstrap-theme.html)
26
+ * Parsers for sorting text, alphanumeric text, URIs, integers, currency, floats, IP addresses, dates (ISO, long and short formats) &amp; time. [Add your own easily](//mottie.github.io/tablesorter/docs/example-parsers.html).
27
+ * Inline editing - see [demo](//mottie.github.io/tablesorter/docs/example-widget-editable.html)
28
+ * Support for ROWSPAN and COLSPAN on TH elements.
29
+ * Support secondary "hidden" sorting (e.g., maintain alphabetical sort when sorting on other criteria).
30
+ * Extensibility via [widget system](//mottie.github.io/tablesorter/docs/example-widgets.html).
31
+ * Cross-browser: IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+, Chrome 5.0+.
32
+ * Small code size, starting at 25K minified
33
+ * Works with jQuery 1.2.6+ (jQuery 1.4.1+ needed with some widgets).
34
+ * Works with jQuery 1.9+ ($.browser.msie was removed; needed in the original version).
35
+
36
+ ### Licensing
37
+
38
+ * Copyright (c) 2007 Christian Bach.
39
+ * Original examples and docs at: [http://tablesorter.com](//tablesorter.com).
40
+ * Dual licensed under the [MIT](//www.opensource.org/licenses/mit-license.php) and [GPL](//www.gnu.org/licenses/gpl.html) licenses.
41
+
42
+ ### Related Projects
43
+
44
+ * [Plugin for Rails](//github.com/themilkman/jquery-tablesorter-rails). Maintained by [themilkman](//github.com/themilkman).
45
+ * [PHP templating engine for tablesorter](//github.com/alexweissman/bootsole) by [alexweissman](//github.com/alexweissman).
46
+
47
+ ### Special Thanks
48
+
49
+ * Big shout-out to [Nick Craver](//github.com/NickCraver) for getting rid of the `eval()` function that was previously needed for multi-column sorting.
50
+ * Big thanks to [thezoggy](//github.com/thezoggy) for helping with code, themes and providing valuable feedback.
51
+ * Big thanks to [ThsSin-](//github.com/TheSin-) for taking over for a while and also providing valuable feedback.
52
+ * Also extra thanks to [christhomas](//github.com/christhomas) and [Lynesth](//github.com/Lynesth) for help with code.
53
+ * And, of course thanks to everyone else that has contributed, and continues to contribute to this forked project!
54
+
55
+ ### Questions?
56
+
57
+ * Check the [FAQ](//github.com/Mottie/tablesorter/wiki/FAQ) page.
58
+ * Search the [main documentation](//mottie.github.io/tablesorter/docs/) (click the menu button in the upper left corner).
59
+ * Search the [issues](//github.com/Mottie/tablesorter/issues) to see if the question or problem has been brought up before, and hopefully resolved.
60
+ * If someone is available, ask your question in the `#tablesorter` IRC channel at freenode.net.
61
+ * Ask your question at [Stackoverflow](//stackoverflow.com/questions/tagged/tablesorter) using a tablesorter tag.
62
+ * Please don't open a [new issue](//github.com/Mottie/tablesorter/issues) unless it really is an issue with the plugin, or a feature request. Thanks!
63
+
64
+ ### Change Log
65
+
66
+ View the [complete listing here](//github.com/Mottie/tablesorter/wiki/Changes).
67
+
68
+ #### <a name="v2.17.8">Version 2.17.8</a> (9/15/2014)
69
+
70
+ * Core
71
+ * Fix `widthFixed` option to ignore info block tbodies.
72
+ * Make `emptyTo` & `stringTo` settings case insensitive.
73
+ * An empty string `headerTemplate` option will now prevent adding an inner div to the header.
74
+ * Docs
75
+ * Fix setting active accordion from hash script.
76
+ * Add `emptyTo` clarification.
77
+ * Main readme: Add related projects section.
78
+ * Editable
79
+ * Autoresort true no longer breaks the table.
80
+ * Update demo to use row id instead of index.
81
+ * Update validate function to allow setting it per column.
82
+ * Add `editable_focus`, `editable_blur` and `editable_selectAll` options. See [issue #708](//github.com/Mottie/tablesorter/issues/708).
83
+ * Add `editable_wrapContent` option.
84
+ * Add `editable_trimContent` option.
85
+ * Validate function now includes a contenteditable element parameter.
86
+ * All text callback parameters are now trimmed.
87
+ * Trim everything & revert widget changes.
88
+ * Refocus edited element after resort only.
89
+ * Switch form focus to focusout.
90
+ * Filter
91
+ * Add `filter_defaultFilter` option.
92
+ * fix issue with using class selectors.
93
+ * Make happy with spaces within the query.
94
+ * Will override exact/partial select filters. Fixes [issue #721](//github.com/Mottie/tablesorter/issues/721).
95
+ * Fixes [issue #704](//github.com/Mottie/tablesorter/issues/704).
96
+ * Add `filter_excludeFilter` option; add multiple exclusions separated by spaces, not commas.
97
+ * Prevent multiple searches during initialization.
98
+ * Ensure initial filter settings get applied.
99
+ * Selects will exactly match the selected option unless "filter-match" class is set. Fixes [issue #721](//github.com/Mottie/tablesorter/issues/721).
100
+ * Pager
101
+ * Update cache & rows copy. Fixes [issue #703](//github.com/Mottie/tablesorter/issues/703).
102
+ * Use native javascript to populate & set the goto select. Fixes [issue #711](//github.com/Mottie/tablesorter/issues/711).
103
+ * Custom pager controls. Fix control updates for multiple tables.
104
+ * Fix pager widget to be properly applied after a page move.
105
+ * StickyHeaders: Fix issue so it works with jQuery v1.2.6 again.
106
+ * Zebra: Apply style to one row. Fixes [issue #715](//github.com/Mottie/tablesorter/issues/715).
107
+ * Parser
108
+ * Duration parser - added with [demo](//mottie.github.io/tablesorter/docs/example-parsers-duration.html).
109
+ * Select parser - Fix for IE10+ not allowing select options to be clicked.
110
+ * IgnoreArticles parser - Added `ignoreArticlesExcept` option.
111
+ * url parser - ensure it is used by the filter widget.
112
+
113
+ #### <a name="v2.17.7">Version 2.17.7</a> (8/9/2014)
114
+
115
+ * Core: Do not detach rows before appending to prevent ajax rows from disappearing. Fixes [issue #701](//github.com/Mottie/tablesorter/issues/701).
116
+ * Docs: Fix change log links.
117
+ * Filter: attached external select causing javascript errors. Fixes [issue #702](//github.com/Mottie/tablesorter/issues/702)
118
+
119
+ #### <a name="v2.17.6">Version 2.17.6</a> (8/1/2014)
120
+
121
+ * Core
122
+ * Adding a class name of `parser-false` to a column will now automatically set `sorter-false` and `filter-false` behavior.
123
+ * Add extractor type which allows giving a column two parsers, one to extract content from an input/select and the second to parse the extracted text. Thanks to [TheSin-](//github.com/TheSin-)!
124
+ * Ensure custom parsed data adheres to the `ignoreCase` option.
125
+ * Add a delay to any sort if there is an update in progress. This prevents issues with a sort being applied causing duplicate rows to be added to the table, hopefully.
126
+ * The `widthFixed` option now finds both visible `th` and `td` cells within the first row of the tbody to set column width percentages.
127
+ * Ensure all rows have a set role for screen readers (`role="row"`). Fixes [issue #690](//github.com/Mottie/tablesorter/issues/690).
128
+ * Redefine `c.$headers` when building headers for new/replaced header cells (not just content). Fixes [issue #683](//github.com/Mottie/tablesorter/issues/683).
129
+ * Docs
130
+ * Fixed lots of minor HTML issues (e.g. missing closing `</li>` &amp; `<p>` tags)
131
+ * Parsers
132
+ * Add parser for textareas within the `parser-input-select.js` file.
133
+ * Modify input &amp; textarea parser to only update the table cache when:
134
+ * The user presses enter (input) or alt + enter (textarea) within the element.
135
+ * When the element is blurred.
136
+ * Or, when the mouse leaves the tbody.
137
+ * Editable
138
+ * Add two new options:
139
+ * `editable_autoAccept`: accepts any changes made to the table cell automatically (`true` by default)
140
+ * `editable_validate`: a function used to validate the changes; return a valid string (`null` by default)
141
+ * Modify `editable_columns` type check to prevent javascript errors. See [pull #688](//github.com/Mottie/tablesorter/issues/688). Thanks [scratcher28](//github.com/scratcher28)!
142
+ * Limit the `editable_columns` array value to columns within the table.
143
+ * Filter
144
+ * Make all options show within the current select when the `filter-onlyAvail` class is set on a column.
145
+ * Updated &amp; added docs for `$.tablesorter.filter.buildSelect` function to allow external calls to modify filter select options.
146
+ * Update `filter_selectSource` to accept arrays instead of a function. This was documented as working, but it wasn't coded until now. Sorry!
147
+ * Add `filter_selectSourceSeparator` option:
148
+ * Include a separator within the `filter_selectSource` array (e.g. "a-z|A through Z").
149
+ * The text that is left of the separator is added to the option value, the the text on the right is added to the option text.
150
+ * So `"a-z|A through Z"` becomes `<option value="a-z">A through Z</option>`.
151
+ * Fixes [issue #692](//github.com/Mottie/tablesorter/issues/692).
152
+ * Add `role="row"` to the filter row. Fixes [issue #697](//github.com/Mottie/tablesorter/issues/697).
153
+ * Any match inputs now follow the `filter_startsWith` setting. See [this Stackoverflow](//stackoverflow.com/q/25070448/145346) question.
154
+ * Pager
155
+ * The `ouput` option can now include user modifiable `startRow` (`{startRow:input}`) or `page` (`{page:input}`) inputs within the output.
156
+ * Remove selected attribute from page selector options. Fixes [issue #700](//github.com/Mottie/tablesorter/issues/700).
157
+ * Resizable
158
+ * Update `$.tablesorter.addHeaderResizeEvent` function's first parameter `table` to accept table DOM elements as well as jQuery objects. Fixes [issue #687](//github.com/Mottie/tablesorter/issues/687).
@@ -14,9 +14,6 @@
14
14
  * @author Christian Bach/christian.bach@polyester.se
15
15
  * @contributor Rob Garrison/https://github.com/Mottie/tablesorter
16
16
  */
17
- /**!
18
- * Modified by Atlassian.
19
- */
20
17
  /*jshint browser:true, jquery:true, unused:false, expr: true */
21
18
  /*global console:false, alert:false */
22
19
  !(function($) {
@@ -91,7 +88,7 @@
91
88
  cssHeaderRow : '',
92
89
  cssProcessing : '', // processing icon applied to header during sort/filter
93
90
 
94
- cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to the its parent
91
+ cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to the its parent
95
92
  cssIcon : 'tablesorter-icon', // if this class exists, a <i> will be added to the header automatically
96
93
  cssInfoBlock : 'tablesorter-infoOnly', // don't sort tbody with this class name (only one class name allowed here!)
97
94
 
@@ -453,8 +450,7 @@
453
450
  // if headerTemplate is empty, don't reformat the header cell
454
451
  if ( c.headerTemplate !== '' ) {
455
452
  // set up header template
456
- // Atlassian modification: if content has literal `{icon}`, preserve it.
457
- t = c.headerTemplate.replace(/\{icon\}/g, i).replace(/\{content\}/g, $(this).html());
453
+ t = c.headerTemplate.replace(/\{content\}/g, $(this).html()).replace(/\{icon\}/g, i);
458
454
  if (c.onRenderTemplate) {
459
455
  h = c.onRenderTemplate.apply($t, [index, t]);
460
456
  if (h && typeof h === 'string') { t = h; } // only change t if something is returned
@@ -1035,26 +1031,6 @@
1035
1031
  if (!table || !table.tHead || table.tBodies.length === 0 || table.hasInitialized === true) {
1036
1032
  return c.debug ? log('ERROR: stopping initialization! No table, thead, tbody or tablesorter has already been initialized') : '';
1037
1033
  }
1038
- // Atlassian modification: validate class names that can be inserted into DOM as a line of defense against XSS
1039
- // consumers may inadvertently pass UGC
1040
- var cssClassNameRegex = /-?[_a-zA-Z]+[_a-zA-Z0-9-]*/;
1041
- var multipleCssClassesRegex = new RegExp(`^(\\s*${cssClassNameRegex.source})*\\s*$`);
1042
- function hasValidClassNames(string) {
1043
- return multipleCssClassesRegex.test(string);
1044
- }
1045
- var checkedKeys = ['tableClass', 'cssAsc', 'cssDesc', 'cssNone', 'cssHeader', 'cssHeaderRow', 'cssProcessing', 'cssChildRow', 'cssIcon', 'cssInfoBlock'];
1046
- var invalidKeys = [];
1047
- for (var key of checkedKeys) {
1048
- var value = c[key];
1049
- if (value && !hasValidClassNames(value)) {
1050
- invalidKeys.push(key);
1051
- log(`ERROR: ${key} must contain only valid CSS class names but is '${value}'`);
1052
- }
1053
- }
1054
- if (invalidKeys.length > 0) {
1055
- return c.debug ? log('ERROR: stopping initialization, see class name warnings above') : '';
1056
- }
1057
-
1058
1034
 
1059
1035
  var k = '',
1060
1036
  $table = $(table),
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "tablesorter",
3
+ "title": "tablesorter",
4
+ "version": "2.17.8",
5
+ "description": "tablesorter is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes. tablesorter can successfully parse and sort many types of data including linked data in a cell.\n\nThis forked version adds lots of new enhancements including: alphanumeric sorting, pager callback functons, multiple widgets providing column styling, ui theme application, sticky headers, column filters and resizer, as well as extended documentation with a lot more demos.",
6
+ "author": {
7
+ "name": "Christian Bach",
8
+ "url": "http://tablesorter.com/"
9
+ },
10
+ "maintainers": [{
11
+ "name": "Rob Garrison",
12
+ "url": "https://github.com/Mottie",
13
+ "email": "wowmotty@gmail.com"
14
+ }],
15
+ "licenses": [{
16
+ "type": "MIT",
17
+ "url": "http://www.opensource.org/licenses/mit-license.php"
18
+ },{
19
+ "type": "GPL",
20
+ "url": "http://www.gnu.org/licenses/gpl.html"
21
+ }],
22
+ "homepage": "http://mottie.github.com/tablesorter/",
23
+ "bugs": "https://github.com/Mottie/tablesorter/issues",
24
+ "docs": "http://mottie.github.com/tablesorter/docs/index.html",
25
+ "demo": "https://github.com/Mottie/tablesorter/wiki",
26
+ "dependencies": {
27
+ "jquery": ">=1.2.6"
28
+ },
29
+ "keywords": [
30
+ "table",
31
+ "sort",
32
+ "sorting",
33
+ "alphanumeric",
34
+ "natural"
35
+ ],
36
+ "main": "jquery.tablesorter.js",
37
+ "files": [
38
+ "css/theme.default.css",
39
+ "js/jquery.tablesorter.min.js",
40
+ "js/jquery.tablesorter.widgets.min.js",
41
+ "addons/pager/"
42
+ ]
43
+ }
@@ -48,7 +48,7 @@
48
48
  box-shadow: none;
49
49
  box-sizing: border-box;
50
50
  color: @text-color;
51
- height: unit(30 / @aui-font-size-medium, em); // 30px effective - need height in ems so that user-specified font-sizes apply
51
+ height: unit((30 / @aui-font-size-medium), em); // 30px effective - need height in ems so that user-specified font-sizes apply
52
52
  font-family: inherit;
53
53
  font-size: @aui-font-size-medium;
54
54
  padding: 0 @padding-left-right 0 @icon-gutter;
@@ -79,7 +79,7 @@
79
79
  align-self: center;
80
80
  pointer-events: none; // so the icon isn't clickable, so clicks on it will focus the input field
81
81
  position: absolute;
82
- left: (@icon-gutter - @icon-width) / 2; // sneakily shift the icon inside the input field
82
+ left: ((@icon-gutter - @icon-width) / 2); // sneakily shift the icon inside the input field
83
83
 
84
84
  // And now the actual icon concerns:
85
85
  content: @icon;
@@ -34,7 +34,7 @@ aui-header,
34
34
  @section-gap: 20px;
35
35
 
36
36
  box-sizing: border-box;
37
- padding: 0 @aui-grid;
37
+ padding: 7px @aui-grid 10px @aui-grid;
38
38
  position: relative;
39
39
 
40
40
  .aui-header-before {
@@ -154,11 +154,11 @@ aui-header,
154
154
  // Special-case padding to separate non-nav items from nav items.
155
155
  .aui-header-primary > .aui-nav > li > .aui-button,
156
156
  .aui-header-primary > .aui-nav > li > .aui-buttons {
157
- margin-left: @section-gap / 2;
157
+ margin-left: (@section-gap / 2);
158
158
  }
159
159
 
160
160
  .aui-header-secondary > .aui-nav > li > .aui-quicksearch {
161
- margin-right: @section-gap / 2;
161
+ margin-right: (@section-gap / 2);
162
162
  }
163
163
 
164
164
  // Override the icon styles so that every icon in the header is a uniform size...
@@ -203,9 +203,9 @@ a.aui-button,
203
203
  // Compact buttons
204
204
  .aui-button.aui-button-compact {
205
205
  font-size: @aui-font-size-small;
206
- height: unit(26px / @aui-font-size-small, em); // 26px with 12px font-size
206
+ height: unit((26px / @aui-font-size-small), em); // 26px with 12px font-size
207
207
  padding: (@aui-button-padding-y / 2) (@aui-button-padding-x * .8);
208
- line-height: unit(20 / @aui-font-size-small);
208
+ line-height: unit((20 / @aui-font-size-small));
209
209
  }
210
210
 
211
211
  //
@@ -7,7 +7,7 @@
7
7
  z-index: @aui-z-tooltip;
8
8
  border-radius: @aui-border-radius-small;
9
9
  font-size: @aui-font-size-small;
10
- line-height: unit(20 / @aui-font-size-small);
10
+ line-height: unit((20 / @aui-font-size-small));
11
11
  word-wrap: break-word;
12
12
 
13
13
  a,
@@ -35,7 +35,7 @@
35
35
  -------------------- */
36
36
  .aui-nav-heading {
37
37
  #aui.typography.h100(@aui-nav-heading-text-color);
38
- line-height: unit(20 / @aui-nav-heading-text-font-size);
38
+ line-height: unit((20 / @aui-nav-heading-text-font-size));
39
39
  padding: 0 @aui-nav-link-spacing-horizontal; // to match the nav-item layout.
40
40
 
41
41
  & > strong {
@@ -208,8 +208,8 @@
208
208
  left: 0;
209
209
  margin: 0;
210
210
  position: absolute;
211
- padding: ((@aui-nav-subtree-toggle-icon-size - @aui-icon-size-small) / 2);
212
- top: ((@box-size - @aui-nav-subtree-toggle-icon-size) / 2);
211
+ padding: (((@aui-nav-subtree-toggle-icon-size - @aui-icon-size-small) / 2));
212
+ top: (((@box-size - @aui-nav-subtree-toggle-icon-size) / 2));
213
213
  width: @aui-nav-subtree-toggle-icon-size;
214
214
  outline-radius: @aui-border-radius-smallish;
215
215
  z-index: 1; // because it needs to sit "above" the link it's for.
@@ -247,7 +247,7 @@
247
247
  .aui-navgroup-vertical .aui-nav .aui-nav-item-actions {
248
248
  @actions-glyph-size: unit(@aui-icon-size-small * 0.75, px);
249
249
  @actions-button-size: @aui-icon-size-small;
250
- @aui-nav-item-actions-top-offset: ((@aui-nav-link-effective-height - @actions-button-size) / 2);
250
+ @aui-nav-item-actions-top-offset: (((@aui-nav-link-effective-height - @actions-button-size) / 2));
251
251
  @aui-nav-item-actions-left-offset: 4px;
252
252
  @aui-nav-item-actions-border-radius: 2px; // because it's a tiny button. 3px would probably work, though.
253
253
 
@@ -51,7 +51,7 @@
51
51
  #footer .footer-body > ul > li {
52
52
  display: inline-block;
53
53
  font-size: @aui-font-size-small;
54
- line-height: unit(20 / @aui-font-size-small);
54
+ line-height: unit((20 / @aui-font-size-small));
55
55
  padding: 0;
56
56
  white-space: nowrap;
57
57
  }
@@ -81,7 +81,7 @@ body {
81
81
  #footer .footer-body {
82
82
  color: @aui-footer-body-text-color;
83
83
  font-size: @aui-font-size-small;
84
- line-height: unit(20 / @aui-font-size-small);
84
+ line-height: unit((20 / @aui-font-size-small));
85
85
  margin: (@aui-grid * 2) 0;
86
86
  padding: 0 @aui-grid (@aui-grid * 2 + 1) @aui-grid;
87
87
  min-height: 44px; /* margin + height of image, means footer is just as high if no footer link present */
@@ -95,7 +95,7 @@ h5 + h6 {
95
95
  small {
96
96
  color: @aui-lesser-text-color;
97
97
  font-size: @aui-font-size-small;
98
- line-height: unit(16 / @aui-font-size-small);
98
+ line-height: unit((16 / @aui-font-size-small));
99
99
  }
100
100
  code,
101
101
  kbd {
@@ -103,7 +103,7 @@
103
103
  });
104
104
  input {
105
105
  //padding for the icon
106
- padding-right: @icon-offset/2 + @aui-icon-size-small;
106
+ padding-right: (@icon-offset/2) + @aui-icon-size-small;
107
107
  #aui.with-focus-border();
108
108
  border-radius: @aui-select2-form-field-border-radius;
109
109
  //we need to use important because jquery plugin uses important as well :(
@@ -7,7 +7,7 @@
7
7
  @aui-sidebar-gutter: @aui-grid; // the effective space between the edges and where boxes have to start in order for stuff to lay out according to the spec
8
8
 
9
9
  @aui-sidebar-nav-link-expected-height: 34px; // 34px makes room for 20px icon box sizes.
10
- @aui-sidebar-nav-link-inner-spacing: unit((@aui-sidebar-nav-link-expected-height - @aui-sidebar-icon-size) / 2, px);
10
+ @aui-sidebar-nav-link-inner-spacing: unit(((@aui-sidebar-nav-link-expected-height - @aui-sidebar-icon-size) / 2), px);
11
11
  @aui-sidebar-nav-link-icon-spacing: @aui-sidebar-grid; // distance between the right edge of an icon and the left edge of text content
12
12
 
13
13
  @aui-sidebar-header-avatar-collapsed: @aui-avatar-size-medium; // resize header avatar to a smaller size
@@ -82,8 +82,8 @@
82
82
  display: block;
83
83
  height: @aui-icon-size-large;
84
84
  left: 0;
85
- margin-left: ((@aui-sidebar-collapsed-width - @aui-sidebar-header-avatar-collapsed - (@aui-sidebar-group-actions-border-width * 2)) / 2);
86
- margin-right: ((@aui-sidebar-collapsed-width - @aui-sidebar-header-avatar-collapsed - (@aui-sidebar-group-actions-border-width * 2)) / 2);
85
+ margin-left: (((@aui-sidebar-collapsed-width - @aui-sidebar-header-avatar-collapsed - (@aui-sidebar-group-actions-border-width * 2)) / 2));
86
+ margin-right: (((@aui-sidebar-collapsed-width - @aui-sidebar-header-avatar-collapsed - (@aui-sidebar-group-actions-border-width * 2)) / 2));
87
87
  position: absolute;
88
88
  top: 0;
89
89
  width: @aui-icon-size-large;
@@ -52,7 +52,7 @@
52
52
  // Actions
53
53
  .aui-nav-item-actions {
54
54
  @actions-button-size: @aui-icon-size-small;
55
- top: ((@aui-sidebar-nav-link-expected-height - @actions-button-size) / 2);
55
+ top: (((@aui-sidebar-nav-link-expected-height - @actions-button-size) / 2));
56
56
  height: @actions-button-size;
57
57
  width: @actions-button-size;
58
58
  }
@@ -94,7 +94,7 @@
94
94
  @box-size: @aui-sidebar-nav-link-expected-height; // that assumption in aui-navigation about the .aui-nav-item height? yeeeeah, it's invalid here.
95
95
  @fake-icon-with-spacing: @aui-nav-subtree-toggle-icon-size + @aui-sidebar-nav-link-icon-spacing;
96
96
 
97
- top: ((@box-size - @aui-nav-subtree-toggle-icon-size) / 2);
97
+ top: (((@box-size - @aui-nav-subtree-toggle-icon-size) / 2));
98
98
  left: @aui-sidebar-nav-link-inner-spacing; // push it "inside" the .aui-nav-item, though the element actually adjacent to it.
99
99
  color: @aui-sidebar-toggle-icon-color;
100
100
 
@@ -81,8 +81,8 @@ aui-toggle {
81
81
  .aui-icon aui-spinner[size="small"] {
82
82
  color: inherit;
83
83
  position: absolute;
84
- top: (@aui-toggle-icon-size - @aui-spinner-size-small) / 2; // because it is inside the icon.
85
- left: (@aui-toggle-icon-size - @aui-spinner-size-small) / 2; // because it is inside the icon.
84
+ top: ((@aui-toggle-icon-size - @aui-spinner-size-small) / 2); // because it is inside the icon.
85
+ left: ((@aui-toggle-icon-size - @aui-spinner-size-small) / 2); // because it is inside the icon.
86
86
  }
87
87
  }
88
88
 
@@ -44,10 +44,8 @@
44
44
  font: inherit;
45
45
  margin: 0;
46
46
  text-align: left;
47
- // these could be removed if the parent was `display: flex`... but that might mess up consumers' CSS overrides
48
- width: -moz-available;
49
- width: -webkit-fill-available;
50
- width: fill-available;
47
+ // this could be removed if the parent was `display: flex`... but that might mess up consumers' CSS overrides
48
+ width: stretch;
51
49
  }
52
50
 
53
51
  .dropdown-items({
@@ -302,7 +302,7 @@ form.aui:not(.aui-legacy-forms) {
302
302
 
303
303
  div.description {
304
304
  font-size: @aui-font-size-xsmall;
305
- line-height: unit(20 / @aui-font-size-xsmall);
305
+ line-height: unit((20 / @aui-font-size-xsmall));
306
306
  color: @aui-form-description-text-color;
307
307
  margin: 5px 0 0 0;
308
308
 
@@ -173,7 +173,7 @@ form.aui.aui-legacy-forms {
173
173
 
174
174
  div.description {
175
175
  font-size: @aui-font-size-small;
176
- line-height: unit(20 / @aui-font-size-small);
176
+ line-height: unit((20 / @aui-font-size-small));
177
177
  color: @aui-form-description-text-color;
178
178
  margin: 5px 0 0 0;
179
179
 
@@ -199,7 +199,7 @@ form.aui.aui-legacy-forms {
199
199
  @size: @aui-font-size-medium;
200
200
  box-sizing: border-box;
201
201
  font-size: @size;
202
- height: unit(20 / @size, em);
202
+ height: unit((20 / @size), em);
203
203
  left: 0;
204
204
  margin: 0;
205
205
  padding: 2px;