@atlassian/aui 9.3.21 → 9.3.23

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 (272) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +7 -9
  3. package/dist/aui/aui-css-deprecations.js +1 -1
  4. package/dist/aui/aui-css-deprecations.js.map +1 -1
  5. package/dist/aui/aui-prototyping-browserfocus.css +1 -353
  6. package/dist/aui/aui-prototyping-darkmode.css +1 -262
  7. package/dist/aui/aui-prototyping.css +10 -10
  8. package/dist/aui/aui-prototyping.js +7 -7
  9. package/dist/aui/aui-prototyping.js.map +1 -1
  10. package/dist/aui/aui-prototyping.nodeps.css +10 -10
  11. package/dist/aui/aui-prototyping.nodeps.js +9 -9
  12. package/dist/aui/aui-prototyping.nodeps.js.map +1 -1
  13. package/entry/aui.batch.components.js +21 -21
  14. package/entry/aui.batch.page.js +3 -3
  15. package/entry/aui.batch.patterns.js +20 -20
  16. package/entry/aui.batch.prototyping.js +3 -11
  17. package/entry/aui.component.nav.js +1 -1
  18. package/entry/aui.component.progressbar.js +4 -1
  19. package/entry/aui.side-effects.js +2 -2
  20. package/entry/behaviours/aui.behaviour.format.js +1 -1
  21. package/entry/behaviours/aui.behaviour.i18n.js +1 -1
  22. package/entry/behaviours/aui.behaviour.keyboard-shortcuts.js +1 -1
  23. package/entry/behaviours/aui.behaviour.progressive-data-set.js +1 -1
  24. package/entry/behaviours/aui.behaviour.version.js +1 -1
  25. package/entry/deprecated/aui.component.inline-dialog1.js +1 -1
  26. package/package.json +3 -7
  27. package/src/js/aui/alphanum.js +1 -1
  28. package/src/js/aui/banner.js +2 -2
  29. package/src/js/aui/blanket.js +7 -11
  30. package/src/js/aui/button.js +5 -5
  31. package/src/js/aui/checkbox-multiselect.js +79 -76
  32. package/src/js/aui/clone.js +1 -1
  33. package/src/js/aui/close-button.js +2 -6
  34. package/src/js/aui/contain-dropdown.js +5 -5
  35. package/src/js/aui/contains.js +1 -1
  36. package/src/js/aui/cookie.js +12 -16
  37. package/src/js/aui/date-picker.js +84 -69
  38. package/src/js/aui/debounce.js +5 -8
  39. package/src/js/aui/dialog.js +206 -172
  40. package/src/js/aui/dialog2.js +9 -8
  41. package/src/js/aui/dropdown2.js +211 -181
  42. package/src/js/aui/escape-html.js +2 -2
  43. package/src/js/aui/escape.js +1 -1
  44. package/src/js/aui/event.js +4 -8
  45. package/src/js/aui/expander.js +9 -7
  46. package/src/js/aui/flag.js +15 -17
  47. package/src/js/aui/focus-manager.js +19 -18
  48. package/src/js/aui/form-notification.js +14 -13
  49. package/src/js/aui/form-validation/basic-validators.js +39 -30
  50. package/src/js/aui/form-validation/validator-register.js +9 -5
  51. package/src/js/aui/form-validation.js +17 -14
  52. package/src/js/aui/format.js +9 -6
  53. package/src/js/aui/forms/create-forms-component-body.js +6 -9
  54. package/src/js/aui/forms/custom-checkbox.js +2 -6
  55. package/src/js/aui/forms/custom-radio.js +2 -6
  56. package/src/js/aui/forms.js +4 -8
  57. package/src/js/aui/header-async.js +1 -1
  58. package/src/js/aui/header.js +2 -2
  59. package/src/js/aui/i18n.js +2 -5
  60. package/src/js/aui/index-of.js +1 -1
  61. package/src/js/aui/inline-dialog.js +171 -117
  62. package/src/js/aui/inline-dialog2.js +60 -50
  63. package/src/js/aui/internal/add-id.js +1 -1
  64. package/src/js/aui/internal/alignment.js +57 -49
  65. package/src/js/aui/internal/amdify.js +0 -1
  66. package/src/js/aui/internal/animation.js +2 -5
  67. package/src/js/aui/internal/attributes.js +2 -3
  68. package/src/js/aui/internal/browser.js +5 -6
  69. package/src/js/aui/internal/constants.js +1 -3
  70. package/src/js/aui/internal/deduplicateIDs.js +8 -7
  71. package/src/js/aui/internal/deprecation/deprecated-adg2-icons.js +132 -132
  72. package/src/js/aui/internal/deprecation.js +53 -31
  73. package/src/js/aui/internal/detect-children-change.js +3 -2
  74. package/src/js/aui/internal/elements.js +2 -5
  75. package/src/js/aui/internal/enforcer.js +11 -13
  76. package/src/js/aui/internal/globalize.js +3 -3
  77. package/src/js/aui/internal/has-touch.js +1 -2
  78. package/src/js/aui/internal/header/create-header.js +54 -28
  79. package/src/js/aui/internal/i18n/aui.js +8 -5
  80. package/src/js/aui/internal/i18n/aui_af.js +31 -31
  81. package/src/js/aui/internal/i18n/aui_ar.js +31 -31
  82. package/src/js/aui/internal/i18n/aui_ar_DZ.js +31 -31
  83. package/src/js/aui/internal/i18n/aui_az.js +31 -31
  84. package/src/js/aui/internal/i18n/aui_bg.js +31 -31
  85. package/src/js/aui/internal/i18n/aui_bs.js +31 -31
  86. package/src/js/aui/internal/i18n/aui_ca.js +31 -31
  87. package/src/js/aui/internal/i18n/aui_cs.js +31 -31
  88. package/src/js/aui/internal/i18n/aui_da.js +31 -31
  89. package/src/js/aui/internal/i18n/aui_de.js +31 -31
  90. package/src/js/aui/internal/i18n/aui_el.js +31 -31
  91. package/src/js/aui/internal/i18n/aui_en_AU.js +31 -31
  92. package/src/js/aui/internal/i18n/aui_en_GB.js +31 -31
  93. package/src/js/aui/internal/i18n/aui_en_NZ.js +31 -31
  94. package/src/js/aui/internal/i18n/aui_eo.js +31 -31
  95. package/src/js/aui/internal/i18n/aui_es.js +31 -31
  96. package/src/js/aui/internal/i18n/aui_et.js +31 -31
  97. package/src/js/aui/internal/i18n/aui_eu.js +31 -31
  98. package/src/js/aui/internal/i18n/aui_fa.js +31 -31
  99. package/src/js/aui/internal/i18n/aui_fi.js +31 -31
  100. package/src/js/aui/internal/i18n/aui_fo.js +31 -31
  101. package/src/js/aui/internal/i18n/aui_fr.js +31 -31
  102. package/src/js/aui/internal/i18n/aui_fr_CH.js +31 -31
  103. package/src/js/aui/internal/i18n/aui_gl.js +31 -31
  104. package/src/js/aui/internal/i18n/aui_he.js +31 -31
  105. package/src/js/aui/internal/i18n/aui_hr.js +31 -31
  106. package/src/js/aui/internal/i18n/aui_hu.js +31 -31
  107. package/src/js/aui/internal/i18n/aui_hy.js +31 -31
  108. package/src/js/aui/internal/i18n/aui_id.js +31 -31
  109. package/src/js/aui/internal/i18n/aui_is.js +31 -31
  110. package/src/js/aui/internal/i18n/aui_it.js +31 -31
  111. package/src/js/aui/internal/i18n/aui_ja.js +31 -31
  112. package/src/js/aui/internal/i18n/aui_ko.js +31 -31
  113. package/src/js/aui/internal/i18n/aui_kz.js +31 -31
  114. package/src/js/aui/internal/i18n/aui_lt.js +31 -31
  115. package/src/js/aui/internal/i18n/aui_lv.js +31 -31
  116. package/src/js/aui/internal/i18n/aui_ml.js +31 -31
  117. package/src/js/aui/internal/i18n/aui_ms.js +31 -31
  118. package/src/js/aui/internal/i18n/aui_nl.js +31 -31
  119. package/src/js/aui/internal/i18n/aui_no.js +31 -31
  120. package/src/js/aui/internal/i18n/aui_pl.js +31 -31
  121. package/src/js/aui/internal/i18n/aui_pt.js +31 -31
  122. package/src/js/aui/internal/i18n/aui_pt_BR.js +31 -31
  123. package/src/js/aui/internal/i18n/aui_rm.js +31 -31
  124. package/src/js/aui/internal/i18n/aui_ro.js +31 -31
  125. package/src/js/aui/internal/i18n/aui_ru.js +31 -31
  126. package/src/js/aui/internal/i18n/aui_sk.js +31 -31
  127. package/src/js/aui/internal/i18n/aui_sl.js +31 -31
  128. package/src/js/aui/internal/i18n/aui_sq.js +31 -31
  129. package/src/js/aui/internal/i18n/aui_sr.js +31 -31
  130. package/src/js/aui/internal/i18n/aui_sr_SR.js +31 -31
  131. package/src/js/aui/internal/i18n/aui_sv.js +31 -31
  132. package/src/js/aui/internal/i18n/aui_ta.js +31 -31
  133. package/src/js/aui/internal/i18n/aui_th.js +31 -31
  134. package/src/js/aui/internal/i18n/aui_tj.js +31 -31
  135. package/src/js/aui/internal/i18n/aui_tr.js +31 -31
  136. package/src/js/aui/internal/i18n/aui_uk.js +31 -31
  137. package/src/js/aui/internal/i18n/aui_vi.js +31 -31
  138. package/src/js/aui/internal/i18n/aui_zh_CN.js +31 -31
  139. package/src/js/aui/internal/i18n/aui_zh_HK.js +31 -31
  140. package/src/js/aui/internal/i18n/aui_zh_TW.js +31 -31
  141. package/src/js/aui/internal/log.js +2 -6
  142. package/src/js/aui/internal/mediaQuery.js +2 -3
  143. package/src/js/aui/internal/select/option.js +3 -3
  144. package/src/js/aui/internal/select/suggestion-model.js +1 -1
  145. package/src/js/aui/internal/select/suggestions-model.js +4 -5
  146. package/src/js/aui/internal/select/suggestions-view.js +17 -12
  147. package/src/js/aui/internal/state.js +2 -3
  148. package/src/js/aui/is-clipped.js +2 -2
  149. package/src/js/aui/key-code.js +1 -1
  150. package/src/js/aui/label.js +6 -6
  151. package/src/js/aui/layer.js +100 -98
  152. package/src/js/aui/messages.js +51 -38
  153. package/src/js/aui/navigation.js +7 -9
  154. package/src/js/aui/on-text-resize.js +7 -5
  155. package/src/js/aui/params.js +11 -8
  156. package/src/js/aui/polyfills/custom-event.js +7 -7
  157. package/src/js/aui/polyfills/placeholder.js +4 -4
  158. package/src/js/aui/populate-parameters.js +4 -4
  159. package/src/js/aui/progress-indicator.js +35 -27
  160. package/src/js/aui/progressive-data-set.js +13 -8
  161. package/src/js/aui/query-input.js +1 -1
  162. package/src/js/aui/restful-table/class-names.js +1 -1
  163. package/src/js/aui/restful-table/data-keys.js +1 -1
  164. package/src/js/aui/restful-table/edit-row.js +63 -63
  165. package/src/js/aui/restful-table/entry-model.js +6 -13
  166. package/src/js/aui/restful-table/event-handlers.js +4 -8
  167. package/src/js/aui/restful-table/event-names.js +1 -1
  168. package/src/js/aui/restful-table/row.js +41 -23
  169. package/src/js/aui/restful-table.js +101 -72
  170. package/src/js/aui/result-set.js +5 -5
  171. package/src/js/aui/results-list.js +3 -3
  172. package/src/js/aui/select.js +65 -49
  173. package/src/js/aui/select2.js +14 -6
  174. package/src/js/aui/sidebar.js +81 -51
  175. package/src/js/aui/spin.js +61 -49
  176. package/src/js/aui/spinner.js +11 -12
  177. package/src/js/aui/tables-sortable.js +21 -10
  178. package/src/js/aui/tabs.js +108 -77
  179. package/src/js/aui/to-init.js +1 -1
  180. package/src/js/aui/toggle.js +55 -43
  181. package/src/js/aui/tooltip.js +32 -31
  182. package/src/js/aui/trigger.js +20 -18
  183. package/src/js/aui/truncating-progressive-data-set.js +1 -1
  184. package/src/js/aui/unbind-text-resize.js +1 -1
  185. package/src/js/aui/unique-id.js +1 -1
  186. package/src/js/aui/when-i-type.js +66 -39
  187. package/src/js/aui-css-deprecations.js +50 -50
  188. package/src/js/jquery/jquery.hotkeys.js +124 -49
  189. package/src/js/jquery/jquery.moveto.js +18 -12
  190. package/src/less/adg-fancy-file-input.less +2 -3
  191. package/src/less/adg-header-quicksearch.less +4 -1
  192. package/src/less/adg-iconfont.less +242 -242
  193. package/src/less/adgs-icons.less +262 -262
  194. package/src/less/aui-appheader.less +10 -6
  195. package/src/less/aui-buttons.less +6 -5
  196. package/src/less/aui-date-picker.less +9 -6
  197. package/src/less/aui-experimental-expander.less +8 -8
  198. package/src/less/aui-experimental-labels.less +4 -3
  199. package/src/less/aui-experimental-progress-indicator.less +10 -4
  200. package/src/less/aui-experimental-progress-tracker.less +9 -6
  201. package/src/less/aui-experimental-restfultable.less +11 -3
  202. package/src/less/aui-experimental-tables-sortable.less +5 -3
  203. package/src/less/aui-experimental-tooltip.less +1 -1
  204. package/src/less/aui-link.less +0 -1
  205. package/src/less/aui-lozenge.less +6 -3
  206. package/src/less/aui-navigation.less +13 -13
  207. package/src/less/aui-page-layout.less +3 -4
  208. package/src/less/aui-page-typography.less +8 -3
  209. package/src/less/aui-reset.less +22 -6
  210. package/src/less/aui-select2.less +11 -8
  211. package/src/less/aui-sidebar-badges.less +1 -2
  212. package/src/less/aui-sidebar-config.less +7 -2
  213. package/src/less/aui-sidebar-grouping.less +16 -6
  214. package/src/less/aui-sidebar-navigation.less +7 -5
  215. package/src/less/aui-sidebar-skeleton.less +4 -3
  216. package/src/less/aui-skip-link.less +2 -1
  217. package/src/less/aui-spinner.less +2 -2
  218. package/src/less/aui-toggle.less +2 -2
  219. package/src/less/aui-toolbar2.less +1 -1
  220. package/src/less/checkbox-multiselect.less +13 -13
  221. package/src/less/dialog.less +3 -3
  222. package/src/less/dialog2.less +12 -11
  223. package/src/less/dropdown2-temp.css +4 -4
  224. package/src/less/dropdown2.less +3 -3
  225. package/src/less/form-notification.less +10 -6
  226. package/src/less/forms-current.less +6 -5
  227. package/src/less/forms-legacy.less +4 -2
  228. package/src/less/forms-radios-and-checkboxes.less +9 -11
  229. package/src/less/forms.less +2 -4
  230. package/src/less/iconfont-mixin.less +7 -4
  231. package/src/less/imports/aui-theme/adg/adg-colors.less +40 -40
  232. package/src/less/imports/aui-theme/adg/adg-neutral-dark.less +20 -20
  233. package/src/less/imports/aui-theme/adg/adg-neutral-light.less +20 -20
  234. package/src/less/imports/aui-theme/components/buttons.less +5 -1
  235. package/src/less/imports/aui-theme/components/dropdown.less +3 -1
  236. package/src/less/imports/aui-theme/components/form-notification.less +2 -1
  237. package/src/less/imports/aui-theme/components/forms.less +16 -1
  238. package/src/less/imports/aui-theme/components/inline-dialog2.less +1 -1
  239. package/src/less/imports/aui-theme/components/navigation.less +3 -3
  240. package/src/less/imports/aui-theme/components/progress-tracker.less +6 -2
  241. package/src/less/imports/aui-theme/components/tables.less +3 -2
  242. package/src/less/imports/aui-theme/components/toggle.less +8 -3
  243. package/src/less/imports/aui-theme/core/colors.less +12 -4
  244. package/src/less/imports/aui-theme/core/icons.less +22 -22
  245. package/src/less/imports/aui-theme/core/text.less +6 -3
  246. package/src/less/imports/mixins/dropdown2-trigger-chevron-icon.less +0 -1
  247. package/src/less/imports/mixins/focus.less +12 -4
  248. package/src/less/imports/mixins/media-queries.less +2 -2
  249. package/src/less/imports/mixins/shadows.less +3 -1
  250. package/src/less/imports/mixins/tab-indicator.less +2 -2
  251. package/src/less/imports/mixins.less +11 -4
  252. package/src/less/inline-dialog.less +21 -19
  253. package/src/less/layer.less +0 -2
  254. package/src/less/messages.less +2 -1
  255. package/src/less/single-select.less +14 -9
  256. package/src/less/tables.less +3 -2
  257. package/src/less/tabs.less +4 -3
  258. package/entry/token-themes-generated/npm/aui-prototyping-design-tokens-base-themes.css +0 -797
  259. package/entry/token-themes-generated/npm/aui-prototyping-design-tokens-base-themes.js +0 -26
  260. package/entry/token-themes-generated/npm/aui-prototyping-design-tokens-theme-import-map.js +0 -51
  261. package/entry/token-themes-generated/npm/themes/dark-future.js +0 -7
  262. package/entry/token-themes-generated/npm/themes/dark-new-input-border.js +0 -7
  263. package/entry/token-themes-generated/npm/themes/dark.js +0 -395
  264. package/entry/token-themes-generated/npm/themes/legacy-dark.js +0 -395
  265. package/entry/token-themes-generated/npm/themes/legacy-light.js +0 -395
  266. package/entry/token-themes-generated/npm/themes/light-future.js +0 -7
  267. package/entry/token-themes-generated/npm/themes/light-new-input-border.js +0 -7
  268. package/entry/token-themes-generated/npm/themes/light.js +0 -395
  269. package/entry/token-themes-generated/npm/themes/shape.js +0 -15
  270. package/entry/token-themes-generated/npm/themes/spacing.js +0 -27
  271. package/entry/token-themes-generated/npm/themes/typography-adg3.js +0 -50
  272. package/entry/token-themes-generated/npm/themes/typography-minor3.js +0 -41
@@ -5,13 +5,13 @@ const special = {
5
5
  '>': '>',
6
6
  '&': '&',
7
7
  '"': '"',
8
- '\'': ''',
8
+ "'": ''',
9
9
  '`': '`',
10
10
  };
11
11
 
12
12
  const expr = new RegExp(`[${Object.keys(special).join('')}]`, 'g');
13
13
 
14
- function escapeHtml (str) {
14
+ function escapeHtml(str) {
15
15
  return str.replace(expr, (str) => special[str]);
16
16
  }
17
17
 
@@ -8,7 +8,7 @@ import globalize from './internal/globalize';
8
8
  */
9
9
  const jsEscape = window.escape;
10
10
 
11
- function escape (string) {
11
+ function escape(string) {
12
12
  return jsEscape(string).replace(/%u\w{4}/gi, function (w) {
13
13
  return unescape(w);
14
14
  });
@@ -9,7 +9,7 @@ const $target = $(window);
9
9
  * Binds events to the window object. See jQuery bind documentation for more
10
10
  * details. Exceptions are caught and logged.
11
11
  */
12
- function bind (eventType, eventData, handler) {
12
+ function bind(eventType, eventData, handler) {
13
13
  try {
14
14
  if (typeof handler === 'function') {
15
15
  return $target.on(eventType, EMPTY_SELECTOR, eventData, handler);
@@ -25,7 +25,7 @@ function bind (eventType, eventData, handler) {
25
25
  * Unbinds event handlers from the window object. See jQuery unbind
26
26
  * documentation for more details. Exceptions are caught and logged.
27
27
  */
28
- function unbind (eventType, handler) {
28
+ function unbind(eventType, handler) {
29
29
  try {
30
30
  return $target.off(eventType, handler);
31
31
  } catch (e) {
@@ -37,7 +37,7 @@ function unbind (eventType, handler) {
37
37
  * Triggers events on the window object. See jQuery trigger documentation for
38
38
  * more details. Exceptions are caught and logged.
39
39
  */
40
- function trigger (eventType, extraParameters) {
40
+ function trigger(eventType, extraParameters) {
41
41
  try {
42
42
  return $target.trigger(eventType, extraParameters);
43
43
  } catch (e) {
@@ -49,8 +49,4 @@ globalize('bind', bind);
49
49
  globalize('trigger', trigger);
50
50
  globalize('unbind', unbind);
51
51
 
52
- export {
53
- bind,
54
- unbind,
55
- trigger
56
- };
52
+ export { bind, unbind, trigger };
@@ -8,8 +8,11 @@ var getExpanderProperties = function (event) {
8
8
 
9
9
  properties.$trigger = $(event.currentTarget);
10
10
  properties.$content = $document.find('#' + properties.$trigger.attr('aria-controls'));
11
- properties.triggerIsParent = properties.$content.parent().filter(properties.$trigger).length !== 0;
12
- properties.$shortContent = properties.triggerIsParent ? properties.$trigger.find('.aui-expander-short-content') : null;
11
+ properties.triggerIsParent =
12
+ properties.$content.parent().filter(properties.$trigger).length !== 0;
13
+ properties.$shortContent = properties.triggerIsParent
14
+ ? properties.$trigger.find('.aui-expander-short-content')
15
+ : null;
13
16
  properties.height = properties.$content.css('min-height');
14
17
  properties.isCollapsible = properties.$trigger.data('collapsible') !== false;
15
18
  properties.replaceText = properties.$trigger.attr('data-replace-text'); //can't use .data here because it doesn't update after the first call
@@ -20,9 +23,9 @@ var getExpanderProperties = function (event) {
20
23
 
21
24
  var replaceText = function (properties) {
22
25
  if (properties.replaceText) {
23
- var $replaceElement = properties.replaceSelector ?
24
- properties.$trigger.find(properties.replaceSelector) :
25
- properties.$trigger;
26
+ var $replaceElement = properties.replaceSelector
27
+ ? properties.$trigger.find(properties.replaceSelector)
28
+ : properties.$trigger;
26
29
 
27
30
  properties.$trigger.attr('data-replace-text', $replaceElement.text());
28
31
  $replaceElement.text(properties.replaceText);
@@ -65,7 +68,6 @@ var EXPANDER_EVENTS = {
65
68
  properties.$shortContent.hide();
66
69
  }
67
70
  properties.$trigger.trigger('aui-expander-expanded');
68
-
69
71
  },
70
72
 
71
73
  'aui-expander-collapse': function (event) {
@@ -99,7 +101,7 @@ var EXPANDER_EVENTS = {
99
101
  'click.aui-expander': function (event) {
100
102
  var $target = $(event.currentTarget);
101
103
  $target.trigger('aui-expander-invoke', event.currentTarget);
102
- }
104
+ },
103
105
  };
104
106
 
105
107
  //delegate events to the triggers on the page
@@ -5,7 +5,7 @@ import globalize from './internal/globalize';
5
5
  import keyCode from './key-code';
6
6
  import CustomEvent from './polyfills/custom-event';
7
7
  import escapeHtml from './escape-html';
8
- import {CLOSE_BUTTON} from './close-button';
8
+ import { CLOSE_BUTTON } from './close-button';
9
9
 
10
10
  var AUTO_CLOSE_TIME = 5000;
11
11
  var ID_FLAG_CONTAINER = 'aui-flag-container';
@@ -13,10 +13,10 @@ var defaultOptions = {
13
13
  body: '',
14
14
  close: 'manual',
15
15
  title: '',
16
- type: 'info'
16
+ type: 'info',
17
17
  };
18
18
 
19
- function flag (options) {
19
+ function flag(options) {
20
20
  options = $.extend({}, defaultOptions, options);
21
21
 
22
22
  // clean the title value
@@ -38,7 +38,7 @@ function flag (options) {
38
38
  return $flag.get(0);
39
39
  }
40
40
 
41
- function extendFlagElement ($flag) {
41
+ function extendFlagElement($flag) {
42
42
  var flag = $flag[0];
43
43
 
44
44
  flag.close = function () {
@@ -46,7 +46,7 @@ function extendFlagElement ($flag) {
46
46
  };
47
47
  }
48
48
 
49
- function renderFlagElement ({body, title, close, type}) {
49
+ function renderFlagElement({ body, title, close, type }) {
50
50
  const titleHtml = title ? `<p class="title"><strong>${escapeHtml(title)}</strong></p>` : '';
51
51
  const html = `<div class="aui-message">${titleHtml}</div>`;
52
52
 
@@ -57,7 +57,7 @@ function renderFlagElement ({body, title, close, type}) {
57
57
  return $('<div class="aui-flag" aria-live="polite"></div>').append($message);
58
58
  }
59
59
 
60
- function makeCloseable ($flag) {
60
+ function makeCloseable($flag) {
61
61
  var $icon = $(CLOSE_BUTTON);
62
62
 
63
63
  $icon.on('click', function () {
@@ -65,7 +65,7 @@ function makeCloseable ($flag) {
65
65
  });
66
66
 
67
67
  $icon.on('keypress', function (e) {
68
- if ((e.which === keyCode.ENTER) || (e.which === keyCode.SPACE)) {
68
+ if (e.which === keyCode.ENTER || e.which === keyCode.SPACE) {
69
69
  closeFlag($flag);
70
70
  e.preventDefault();
71
71
  }
@@ -74,47 +74,45 @@ function makeCloseable ($flag) {
74
74
  return $flag.find('.aui-message').append($icon)[0];
75
75
  }
76
76
 
77
- function makeAutoClosable ($flag) {
77
+ function makeAutoClosable($flag) {
78
78
  $flag.find('.aui-message').addClass('aui-will-close');
79
79
  setTimeout(function () {
80
80
  $flag[0].close();
81
81
  }, AUTO_CLOSE_TIME);
82
82
  }
83
83
 
84
- function closeFlag ($flagToClose) {
84
+ function closeFlag($flagToClose) {
85
85
  var flag = $flagToClose.get(0);
86
86
 
87
87
  flag.removeAttribute('open');
88
- flag.dispatchEvent(new CustomEvent('aui-flag-close', {bubbles: true}));
88
+ flag.dispatchEvent(new CustomEvent('aui-flag-close', { bubbles: true }));
89
89
 
90
90
  return flag;
91
91
  }
92
92
 
93
- function handleFlagContainer () {
93
+ function handleFlagContainer() {
94
94
  const container = findContainer();
95
95
 
96
96
  if (container) {
97
97
  const closedFlags = container.querySelectorAll('.aui-flag:not([open])');
98
98
 
99
- Array.from(closedFlags).map(flag => flag.parentNode.removeChild(flag));
99
+ Array.from(closedFlags).map((flag) => flag.parentNode.removeChild(flag));
100
100
  } else {
101
101
  $('body').prepend('<div id="' + ID_FLAG_CONTAINER + '"></div>');
102
102
  }
103
103
  }
104
104
 
105
- function findContainer () {
105
+ function findContainer() {
106
106
  return document.getElementById(ID_FLAG_CONTAINER);
107
107
  }
108
108
 
109
- function insertFlag ($flag) {
109
+ function insertFlag($flag) {
110
110
  const flagContainer = findContainer();
111
111
 
112
112
  $flag.appendTo(flagContainer);
113
113
  recomputeStyle($flag);
114
114
 
115
- $flag
116
- .removeAttr('hidden')
117
- .attr('open','');
115
+ $flag.removeAttr('hidden').attr('open', '');
118
116
  }
119
117
 
120
118
  amdify('aui/flag', flag);
@@ -1,19 +1,19 @@
1
1
  import $ from './jquery';
2
2
  import globalize from './internal/globalize';
3
3
  import keyCodes from './key-code';
4
- import {getTrigger} from './trigger';
4
+ import { getTrigger } from './trigger';
5
5
 
6
- (function initSelectors () {
6
+ (function initSelectors() {
7
7
  /*
8
8
  :tabbable and :focusable functions from jQuery UI v 1.10.4
9
9
  renamed to :aui-tabbable and :aui-focusable to not clash with jquery-ui if it's included.
10
10
  */
11
11
 
12
- function visible (element) {
13
- return ($.css(element, 'visibility') === 'visible') && $(element).is(':visible');
12
+ function visible(element) {
13
+ return $.css(element, 'visibility') === 'visible' && $(element).is(':visible');
14
14
  }
15
15
 
16
- function focusable (element, isTabIndexNotNaN) {
16
+ function focusable(element, isTabIndexNotNaN) {
17
17
  var nodeName = element.nodeName.toLowerCase();
18
18
 
19
19
  if (nodeName === 'aui-select') {
@@ -32,27 +32,27 @@ import {getTrigger} from './trigger';
32
32
  }
33
33
  var isFormElement = /input|select|textarea|button|object|iframe/.test(nodeName);
34
34
  var isAnchor = nodeName === 'a';
35
- var isAnchorTabbable = (element.href || isTabIndexNotNaN);
35
+ var isAnchorTabbable = element.href || isTabIndexNotNaN;
36
36
 
37
37
  return (
38
- isFormElement ? !element.disabled :
39
- (isAnchor ? isAnchorTabbable : isTabIndexNotNaN)
40
- ) && visible(element);
38
+ (isFormElement ? !element.disabled : isAnchor ? isAnchorTabbable : isTabIndexNotNaN) &&
39
+ visible(element)
40
+ );
41
41
  }
42
42
 
43
- function tabbable (element) {
43
+ function tabbable(element) {
44
44
  var tabIndex = $.attr(element, 'tabindex');
45
45
  var isTabIndexNaN = isNaN(tabIndex);
46
- var hasTabIndex = (isTabIndexNaN || tabIndex >= 0);
46
+ var hasTabIndex = isTabIndexNaN || tabIndex >= 0;
47
47
 
48
48
  return hasTabIndex && focusable(element, !isTabIndexNaN);
49
49
  }
50
50
 
51
51
  $.extend($.expr.pseudos, {
52
- 'aui-focusable': element => focusable(element, !isNaN($.attr(element, 'tabindex'))),
53
- 'aui-tabbable': tabbable
52
+ 'aui-focusable': (element) => focusable(element, !isNaN($.attr(element, 'tabindex'))),
53
+ 'aui-tabbable': tabbable,
54
54
  });
55
- }());
55
+ })();
56
56
 
57
57
  var RESTORE_FOCUS_DATA_KEY = '_aui-focus-restore';
58
58
 
@@ -62,15 +62,15 @@ var RESTORE_FOCUS_DATA_KEY = '_aui-focus-restore';
62
62
  * @param {HTMLElement} $el - element to store the data about focus
63
63
  * @param {Element} [lastFocussedEl=document.activeElement] - last focused element
64
64
  */
65
- function setLastFocus ($el, lastFocussedEl = document.activeElement) {
65
+ function setLastFocus($el, lastFocussedEl = document.activeElement) {
66
66
  $el.data(RESTORE_FOCUS_DATA_KEY, lastFocussedEl);
67
67
  }
68
68
 
69
- function getLastFocus ($el) {
69
+ function getLastFocus($el) {
70
70
  return $($el.data(RESTORE_FOCUS_DATA_KEY));
71
71
  }
72
72
 
73
- function elementTrapsFocus ($el) {
73
+ function elementTrapsFocus($el) {
74
74
  return $el.is('.aui-dialog2');
75
75
  }
76
76
 
@@ -89,7 +89,8 @@ FocusManager.prototype.enter = function ($el, $lastFocused) {
89
89
 
90
90
  // focus on new selector
91
91
  if ($el.attr('data-aui-focus') !== 'false') {
92
- var focusSelector = $el.attr('data-aui-focus-selector') || FocusManager.defaultFocusSelector;
92
+ var focusSelector =
93
+ $el.attr('data-aui-focus-selector') || FocusManager.defaultFocusSelector;
93
94
  var $focusEl = $el.is(focusSelector) ? $el : $el.find(focusSelector);
94
95
  $focusEl.first().trigger('focus');
95
96
  }
@@ -1,8 +1,8 @@
1
1
  import $ from './jquery';
2
2
  import amdify from './internal/amdify';
3
3
  import skate from './internal/skate';
4
- import './spinner'
5
- import {getMessageLogger} from './internal/deprecation'
4
+ import './spinner';
5
+ import { getMessageLogger } from './internal/deprecation';
6
6
 
7
7
  const CLASS_NOTIFICATION_INITIALISED = '_aui-form-notification-initialised';
8
8
 
@@ -16,7 +16,7 @@ const NOTIFICATION_PRIORITY = [
16
16
  ATTRIBUTE_NOTIFICATION_ERROR,
17
17
  ATTRIBUTE_NOTIFICATION_SUCCESS,
18
18
  ATTRIBUTE_NOTIFICATION_WAIT,
19
- ATTRIBUTE_NOTIFICATION_INFO
19
+ ATTRIBUTE_NOTIFICATION_INFO,
20
20
  ];
21
21
 
22
22
  function initialiseNotification($field) {
@@ -38,7 +38,7 @@ function prepareFieldMarkup($field) {
38
38
  function appendDescription($field, message) {
39
39
  message = message ? message : getNotificationMessage($field);
40
40
  if (getFieldNotificationType($field) === ATTRIBUTE_NOTIFICATION_INFO) {
41
- $field.after(descriptionTemplate(message))
41
+ $field.after(descriptionTemplate(message));
42
42
  }
43
43
  }
44
44
 
@@ -100,16 +100,17 @@ function isJqueryObject(el) {
100
100
 
101
101
  function errorMessageTemplate(messages) {
102
102
  let list = messages
103
- .map(message => `<li><span class="aui-icon aui-icon-small aui-iconfont-error aui-icon-notification">${message}</span>${message}</li>`)
103
+ .map(
104
+ (message) =>
105
+ `<li><span class="aui-icon aui-icon-small aui-iconfont-error aui-icon-notification">${message}</span>${message}</li>`
106
+ )
104
107
  .join('');
105
108
  return `<div class="error"><ul>${list}</ul></div>`;
106
109
  }
107
110
 
108
111
  function descriptionTemplate(messages) {
109
112
  if (messages.length > 1) {
110
- let list = messages
111
- .map(message => `<li>${message}</li>`)
112
- .join('');
113
+ let list = messages.map((message) => `<li>${message}</li>`).join('');
113
114
  return `<div class="description"><ul>${list}</ul></div>`;
114
115
  }
115
116
  return `<div class="description">${messages}</div>`;
@@ -141,7 +142,7 @@ function setFieldSpinner($field, isSpinnerVisible) {
141
142
 
142
143
  const deprecationLogger = getMessageLogger('data-aui-notification-field attribute', {
143
144
  deprecationType: 'ATTRIBUTE',
144
- alternativeName: 'HTML markup'
145
+ alternativeName: 'HTML markup',
145
146
  });
146
147
 
147
148
  skate('data-aui-notification-field', {
@@ -155,8 +156,8 @@ skate('data-aui-notification-field', {
155
156
  attrs[type] = synchroniseNotificationDisplay;
156
157
  });
157
158
  return attrs;
158
- }()),
159
- type: skate.type.ATTRIBUTE
159
+ })(),
160
+ type: skate.type.ATTRIBUTE,
160
161
  });
161
162
 
162
163
  amdify('aui/form-notification');
@@ -166,5 +167,5 @@ export {
166
167
  appendErrorMessages,
167
168
  appendDescription,
168
169
  errorMessageTemplate,
169
- setFieldSpinner
170
- }
170
+ setFieldSpinner,
171
+ };
@@ -11,13 +11,19 @@ function minMaxLength(field) {
11
11
  var minlength = parseInt(field.args('minlength'), 10);
12
12
  var maxlength = parseInt(field.args('maxlength'), 10);
13
13
 
14
- if (minlength && maxlength && minlength === maxlength && (!fieldIsEmpty && fieldValueLength !== minlength)) {
14
+ if (
15
+ minlength &&
16
+ maxlength &&
17
+ minlength === maxlength &&
18
+ !fieldIsEmpty &&
19
+ fieldValueLength !== minlength
20
+ ) {
15
21
  const exactlengthMessage = makeMessage('exactlength', field.args, [minlength]);
16
22
  field.invalidate(exactlengthMessage);
17
- } else if (minlength && (fieldValueLength < minlength && !fieldIsEmpty)) {
23
+ } else if (minlength && fieldValueLength < minlength && !fieldIsEmpty) {
18
24
  const minlengthMessage = makeMessage('minlength', field.args);
19
25
  field.invalidate(minlengthMessage);
20
- } else if (maxlength && (fieldValueLength > maxlength)) {
26
+ } else if (maxlength && fieldValueLength > maxlength) {
21
27
  const maxlengthMessage = makeMessage('maxlength', field.args);
22
28
  field.invalidate(maxlengthMessage);
23
29
  } else {
@@ -33,14 +39,17 @@ validatorRegister.register(['matchingfield'], function (field) {
33
39
  var matchingField = document.getElementById(field.args('matchingfield'));
34
40
  var matchingFieldValue = matchingField.value;
35
41
 
36
- var matchingFieldMessage = makeMessage('matchingfield', field.args, [thisFieldValue, matchingFieldValue]);
42
+ var matchingFieldMessage = makeMessage('matchingfield', field.args, [
43
+ thisFieldValue,
44
+ matchingFieldValue,
45
+ ]);
37
46
 
38
47
  var shouldHidePasswords = isPasswordField(field.el) || isPasswordField(matchingField);
39
48
  if (shouldHidePasswords) {
40
49
  matchingFieldMessage = makeMessage('matchingfield-novalue', field.args);
41
50
  }
42
51
 
43
- if (!thisFieldValue || !matchingFieldValue){
52
+ if (!thisFieldValue || !matchingFieldValue) {
44
53
  field.validate();
45
54
  } else if (matchingFieldValue !== thisFieldValue) {
46
55
  field.invalidate(matchingFieldMessage);
@@ -66,12 +75,12 @@ validatorRegister.register(['doesnotcontain'], function (field) {
66
75
 
67
76
  //Matches regex
68
77
 
69
- function matchesRegex(val, regex){
78
+ function matchesRegex(val, regex) {
70
79
  var matches = val.match(regex);
71
80
  if (!matches) {
72
81
  return false;
73
82
  }
74
- var isExactMatch = (val === matches[0]);
83
+ var isExactMatch = val === matches[0];
75
84
  return isExactMatch;
76
85
  }
77
86
 
@@ -114,9 +123,9 @@ function minOrMax(field) {
114
123
  var minValue = field.args('min');
115
124
  var maxValue = field.args('max');
116
125
 
117
- if (minValue && (fieldValue < parseInt(minValue, 10))) {
126
+ if (minValue && fieldValue < parseInt(minValue, 10)) {
118
127
  field.invalidate(makeMessage('min', field.args));
119
- } else if (maxValue && (fieldValue > parseInt(maxValue, 10))){
128
+ } else if (maxValue && fieldValue > parseInt(maxValue, 10)) {
120
129
  field.invalidate(makeMessage('max', field.args));
121
130
  } else {
122
131
  field.validate();
@@ -131,12 +140,12 @@ validatorRegister.register(['dateformat'], function (field) {
131
140
  var dateFormatMessage = makeMessage('dateformat', field.args);
132
141
 
133
142
  var symbolRegexMap = {
134
- 'Y': '[0-9]{4}',
135
- 'y': '[0-9]{2}',
136
- 'm': '(0?[1-9]|10|11|12)',
137
- 'M': '[Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec]',
138
- 'D': '[Mon|Tue|Wed|Thu|Fri|Sat|Sun]',
139
- 'd': '([0-2]?[1-9]|10|20|30|31)'
143
+ Y: '[0-9]{4}',
144
+ y: '[0-9]{2}',
145
+ m: '(0?[1-9]|10|11|12)',
146
+ M: '[Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec]',
147
+ D: '[Mon|Tue|Wed|Thu|Fri|Sat|Sun]',
148
+ d: '([0-2]?[1-9]|10|20|30|31)',
140
149
  };
141
150
 
142
151
  var dateFormatSymbolArray = dateFormatSymbolic.split('');
@@ -164,8 +173,8 @@ validatorRegister.register(['dateformat'], function (field) {
164
173
  //Checkbox count
165
174
  validatorRegister.register(['minchecked', 'maxchecked'], function (field) {
166
175
  var amountChecked = $(field.el).find(':checked').length;
167
- var aboveMin = !field.args('minchecked') || (amountChecked >= field.args('minchecked'));
168
- var belowMax = !field.args('maxchecked') || (amountChecked <= field.args('maxchecked'));
176
+ var aboveMin = !field.args('minchecked') || amountChecked >= field.args('minchecked');
177
+ var belowMax = !field.args('maxchecked') || amountChecked <= field.args('maxchecked');
169
178
 
170
179
  var belowMinMessage = makeMessage('minchecked', field.args);
171
180
  var aboveMaxMessage = makeMessage('maxchecked', field.args);
@@ -213,20 +222,20 @@ function makeMessage(key, accessorFunction, customTokens) {
213
222
  must appear verbatim for the plugin I18n transformation to pick it up
214
223
  */
215
224
  var pluginI18nMessages = {
216
- minlength: I18n.getText('aui.validation.message.minlength'),
217
- maxlength: I18n.getText('aui.validation.message.maxlength'),
218
- exactlength: I18n.getText('aui.validation.message.exactlength'),
219
- matchingfield: I18n.getText('aui.validation.message.matchingfield'),
225
+ 'minlength': I18n.getText('aui.validation.message.minlength'),
226
+ 'maxlength': I18n.getText('aui.validation.message.maxlength'),
227
+ 'exactlength': I18n.getText('aui.validation.message.exactlength'),
228
+ 'matchingfield': I18n.getText('aui.validation.message.matchingfield'),
220
229
  'matchingfield-novalue': I18n.getText('aui.validation.message.matchingfield-novalue'),
221
- doesnotcontain: I18n.getText('aui.validation.message.doesnotcontain'),
222
- pattern: I18n.getText('aui.validation.message.pattern'),
223
- required: I18n.getText('aui.validation.message.required'),
224
- validnumber: I18n.getText('aui.validation.message.validnumber'),
225
- min: I18n.getText('aui.validation.message.min'),
226
- max: I18n.getText('aui.validation.message.max'),
227
- dateformat: I18n.getText('aui.validation.message.dateformat'),
228
- minchecked: I18n.getText('aui.validation.message.minchecked'),
229
- maxchecked: I18n.getText('aui.validation.message.maxchecked')
230
+ 'doesnotcontain': I18n.getText('aui.validation.message.doesnotcontain'),
231
+ 'pattern': I18n.getText('aui.validation.message.pattern'),
232
+ 'required': I18n.getText('aui.validation.message.required'),
233
+ 'validnumber': I18n.getText('aui.validation.message.validnumber'),
234
+ 'min': I18n.getText('aui.validation.message.min'),
235
+ 'max': I18n.getText('aui.validation.message.max'),
236
+ 'dateformat': I18n.getText('aui.validation.message.dateformat'),
237
+ 'minchecked': I18n.getText('aui.validation.message.minchecked'),
238
+ 'maxchecked': I18n.getText('aui.validation.message.maxchecked'),
230
239
  };
231
240
 
232
241
  amdify('aui/form-validation/basic-validators');
@@ -5,7 +5,7 @@ import amdify from '../internal/amdify';
5
5
  var ATTRIBUTE_RESERVED_ARGUMENTS = ['displayfield', 'watchfield', 'when', 'novalidate', 'state'];
6
6
  var validators = [];
7
7
 
8
- function getReservedArgument (validatorArguments) {
8
+ function getReservedArgument(validatorArguments) {
9
9
  var reservedArgument = false;
10
10
 
11
11
  validatorArguments.some(function (arg) {
@@ -28,7 +28,7 @@ function getReservedArgument (validatorArguments) {
28
28
  * field - the field that is being validated
29
29
  * args - the arguments that have been specified in HTML markup.
30
30
  */
31
- function registerValidator (trigger, validatorFunction) {
31
+ function registerValidator(trigger, validatorFunction) {
32
32
  var triggerSelector;
33
33
 
34
34
  if (typeof trigger === 'string') {
@@ -37,7 +37,11 @@ function registerValidator (trigger, validatorFunction) {
37
37
  var reservedArgument = getReservedArgument(trigger);
38
38
 
39
39
  if (reservedArgument) {
40
- logger.warn('Validators cannot be registered with the argument "' + reservedArgument + '", as it is a reserved argument.');
40
+ logger.warn(
41
+ 'Validators cannot be registered with the argument "' +
42
+ reservedArgument +
43
+ '", as it is a reserved argument.'
44
+ );
41
45
  return false;
42
46
  }
43
47
 
@@ -46,7 +50,7 @@ function registerValidator (trigger, validatorFunction) {
46
50
 
47
51
  var validator = {
48
52
  validatorFunction: validatorFunction,
49
- validatorTrigger: triggerSelector
53
+ validatorTrigger: triggerSelector,
50
54
  };
51
55
 
52
56
  validators.push(validator);
@@ -58,7 +62,7 @@ var validatorRegister = {
58
62
  register: registerValidator,
59
63
  validators: function () {
60
64
  return validators;
61
- }
65
+ },
62
66
  };
63
67
 
64
68
  amdify('aui/form-validation/validator-register', validatorRegister);