@atlassian/aui 9.12.6 → 9.12.7

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 (287) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +7 -9
  3. package/dist/aui/aui-css-deprecations.js.map +1 -1
  4. package/dist/aui/aui-prototyping-browserfocus.css +1 -1
  5. package/dist/aui/aui-prototyping-browserfocus.css.map +1 -1
  6. package/dist/aui/aui-prototyping-darkmode.css +1 -1
  7. package/dist/aui/aui-prototyping-darkmode.css.map +1 -1
  8. package/dist/aui/aui-prototyping-design-tokens-api-full.js +1 -1
  9. package/dist/aui/aui-prototyping-design-tokens-api-full.js.map +1 -1
  10. package/dist/aui/aui-prototyping-design-tokens-api.js +1 -1
  11. package/dist/aui/aui-prototyping-design-tokens-api.js.map +1 -1
  12. package/dist/aui/aui-prototyping-design-tokens-base-themes-css.css +2 -2
  13. package/dist/aui/aui-prototyping-design-tokens-base-themes-css.css.map +1 -1
  14. package/dist/aui/aui-prototyping-design-tokens-base-themes-css.js +1 -1
  15. package/dist/aui/aui-prototyping-design-tokens-base-themes.js +1 -1
  16. package/dist/aui/aui-prototyping-design-tokens-compatibility.css +1 -1
  17. package/dist/aui/aui-prototyping-design-tokens-compatibility.css.map +1 -1
  18. package/dist/aui/aui-prototyping.css +10 -10
  19. package/dist/aui/aui-prototyping.css.map +1 -1
  20. package/dist/aui/aui-prototyping.js +2 -2
  21. package/dist/aui/aui-prototyping.js.map +1 -1
  22. package/dist/aui/aui-prototyping.nodeps.css +10 -10
  23. package/dist/aui/aui-prototyping.nodeps.css.map +1 -1
  24. package/dist/aui/aui-prototyping.nodeps.js +2 -2
  25. package/dist/aui/aui-prototyping.nodeps.js.map +1 -1
  26. package/dist/aui/fonts/adgs-icons.eot +0 -0
  27. package/dist/aui/fonts/adgs-icons.ttf +0 -0
  28. package/dist/aui/fonts/adgs-icons.woff +0 -0
  29. package/entry/aui.batch.components.js +23 -23
  30. package/entry/aui.batch.page.js +3 -3
  31. package/entry/aui.batch.patterns.js +20 -20
  32. package/entry/aui.batch.prototyping.js +3 -11
  33. package/entry/aui.component.nav.js +1 -1
  34. package/entry/aui.component.progressbar.js +4 -1
  35. package/entry/aui.side-effects.js +2 -2
  36. package/entry/behaviours/aui.behaviour.format.js +1 -1
  37. package/entry/behaviours/aui.behaviour.i18n.js +1 -1
  38. package/entry/behaviours/aui.behaviour.keyboard-shortcuts.js +1 -1
  39. package/entry/behaviours/aui.behaviour.progressive-data-set.js +1 -1
  40. package/entry/behaviours/aui.behaviour.version.js +1 -1
  41. package/entry/deprecated/aui.component.inline-dialog1.js +1 -1
  42. package/entry/styles/aui-design-tokens-compatibility.less +114 -115
  43. package/package.json +2 -2
  44. package/src/js/aui/alphanum.js +1 -1
  45. package/src/js/aui/avatar-badged.js +4 -5
  46. package/src/js/aui/avatar-group.js +58 -28
  47. package/src/js/aui/avatar.js +16 -14
  48. package/src/js/aui/banner.js +3 -2
  49. package/src/js/aui/blanket.js +11 -14
  50. package/src/js/aui/button.js +5 -5
  51. package/src/js/aui/checkbox-multiselect.js +79 -76
  52. package/src/js/aui/clone.js +1 -1
  53. package/src/js/aui/close-button.js +2 -6
  54. package/src/js/aui/contain-dropdown.js +5 -5
  55. package/src/js/aui/contains.js +1 -1
  56. package/src/js/aui/cookie.js +12 -16
  57. package/src/js/aui/date-picker.js +89 -68
  58. package/src/js/aui/debounce.js +5 -8
  59. package/src/js/aui/design-tokens/design-tokens-full.js +4 -13
  60. package/src/js/aui/design-tokens/design-tokens-init.js +1 -3
  61. package/src/js/aui/design-tokens/design-tokens-testing-theme.js +9 -15
  62. package/src/js/aui/design-tokens/design-tokens.js +2 -4
  63. package/src/js/aui/dialog.js +206 -172
  64. package/src/js/aui/dialog2.js +36 -25
  65. package/src/js/aui/dropdown2.js +221 -189
  66. package/src/js/aui/escape-html.js +2 -2
  67. package/src/js/aui/escape.js +1 -1
  68. package/src/js/aui/event.js +4 -8
  69. package/src/js/aui/expander.js +15 -13
  70. package/src/js/aui/flag.js +24 -22
  71. package/src/js/aui/focus-manager.js +20 -21
  72. package/src/js/aui/form-notification.js +16 -15
  73. package/src/js/aui/form-validation/basic-validators.js +39 -30
  74. package/src/js/aui/form-validation/validator-register.js +9 -5
  75. package/src/js/aui/form-validation.js +12 -13
  76. package/src/js/aui/format.js +9 -6
  77. package/src/js/aui/forms/create-forms-component-body.js +6 -9
  78. package/src/js/aui/forms/custom-checkbox.js +2 -6
  79. package/src/js/aui/forms/custom-radio.js +2 -6
  80. package/src/js/aui/forms.js +4 -8
  81. package/src/js/aui/header-async.js +1 -1
  82. package/src/js/aui/header.js +2 -2
  83. package/src/js/aui/i18n.js +6 -13
  84. package/src/js/aui/index-of.js +1 -1
  85. package/src/js/aui/inline-dialog.js +171 -117
  86. package/src/js/aui/inline-dialog2.js +40 -33
  87. package/src/js/aui/internal/a11y/focusable-query.js +2 -4
  88. package/src/js/aui/internal/add-id.js +1 -1
  89. package/src/js/aui/internal/alignment.js +57 -49
  90. package/src/js/aui/internal/amdify.js +0 -1
  91. package/src/js/aui/internal/animation.js +2 -5
  92. package/src/js/aui/internal/attributes.js +2 -3
  93. package/src/js/aui/internal/browser.js +6 -7
  94. package/src/js/aui/internal/constants.js +1 -3
  95. package/src/js/aui/internal/deduplicateIDs.js +8 -7
  96. package/src/js/aui/internal/deprecation/deprecated-adg2-icons.js +132 -132
  97. package/src/js/aui/internal/deprecation.js +54 -32
  98. package/src/js/aui/internal/detect-children-change.js +3 -2
  99. package/src/js/aui/internal/elements.js +2 -5
  100. package/src/js/aui/internal/enforcer.js +11 -13
  101. package/src/js/aui/internal/globalize.js +12 -5
  102. package/src/js/aui/internal/has-touch.js +1 -2
  103. package/src/js/aui/internal/header/create-header.js +54 -30
  104. package/src/js/aui/internal/i18n/aui.js +9 -5
  105. package/src/js/aui/internal/i18n/aui_af.js +31 -31
  106. package/src/js/aui/internal/i18n/aui_ar.js +31 -31
  107. package/src/js/aui/internal/i18n/aui_ar_DZ.js +31 -31
  108. package/src/js/aui/internal/i18n/aui_az.js +31 -31
  109. package/src/js/aui/internal/i18n/aui_bg.js +31 -31
  110. package/src/js/aui/internal/i18n/aui_bs.js +31 -31
  111. package/src/js/aui/internal/i18n/aui_ca.js +31 -31
  112. package/src/js/aui/internal/i18n/aui_cs.js +31 -31
  113. package/src/js/aui/internal/i18n/aui_da.js +31 -31
  114. package/src/js/aui/internal/i18n/aui_de.js +31 -31
  115. package/src/js/aui/internal/i18n/aui_el.js +31 -31
  116. package/src/js/aui/internal/i18n/aui_en_AU.js +31 -31
  117. package/src/js/aui/internal/i18n/aui_en_GB.js +31 -31
  118. package/src/js/aui/internal/i18n/aui_en_NZ.js +31 -31
  119. package/src/js/aui/internal/i18n/aui_eo.js +31 -31
  120. package/src/js/aui/internal/i18n/aui_es.js +31 -31
  121. package/src/js/aui/internal/i18n/aui_et.js +31 -31
  122. package/src/js/aui/internal/i18n/aui_eu.js +31 -31
  123. package/src/js/aui/internal/i18n/aui_fa.js +31 -31
  124. package/src/js/aui/internal/i18n/aui_fi.js +31 -31
  125. package/src/js/aui/internal/i18n/aui_fo.js +31 -31
  126. package/src/js/aui/internal/i18n/aui_fr.js +31 -31
  127. package/src/js/aui/internal/i18n/aui_fr_CH.js +31 -31
  128. package/src/js/aui/internal/i18n/aui_gl.js +31 -31
  129. package/src/js/aui/internal/i18n/aui_he.js +31 -31
  130. package/src/js/aui/internal/i18n/aui_hr.js +31 -31
  131. package/src/js/aui/internal/i18n/aui_hu.js +31 -31
  132. package/src/js/aui/internal/i18n/aui_hy.js +31 -31
  133. package/src/js/aui/internal/i18n/aui_id.js +31 -31
  134. package/src/js/aui/internal/i18n/aui_is.js +31 -31
  135. package/src/js/aui/internal/i18n/aui_it.js +31 -31
  136. package/src/js/aui/internal/i18n/aui_ja.js +31 -31
  137. package/src/js/aui/internal/i18n/aui_ko.js +31 -31
  138. package/src/js/aui/internal/i18n/aui_kz.js +31 -31
  139. package/src/js/aui/internal/i18n/aui_lt.js +31 -31
  140. package/src/js/aui/internal/i18n/aui_lv.js +31 -31
  141. package/src/js/aui/internal/i18n/aui_ml.js +31 -31
  142. package/src/js/aui/internal/i18n/aui_ms.js +31 -31
  143. package/src/js/aui/internal/i18n/aui_nl.js +31 -31
  144. package/src/js/aui/internal/i18n/aui_no.js +31 -31
  145. package/src/js/aui/internal/i18n/aui_pl.js +31 -31
  146. package/src/js/aui/internal/i18n/aui_pt.js +31 -31
  147. package/src/js/aui/internal/i18n/aui_pt_BR.js +31 -31
  148. package/src/js/aui/internal/i18n/aui_rm.js +31 -31
  149. package/src/js/aui/internal/i18n/aui_ro.js +31 -31
  150. package/src/js/aui/internal/i18n/aui_ru.js +31 -31
  151. package/src/js/aui/internal/i18n/aui_sk.js +31 -31
  152. package/src/js/aui/internal/i18n/aui_sl.js +31 -31
  153. package/src/js/aui/internal/i18n/aui_sq.js +31 -31
  154. package/src/js/aui/internal/i18n/aui_sr.js +31 -31
  155. package/src/js/aui/internal/i18n/aui_sr_SR.js +31 -31
  156. package/src/js/aui/internal/i18n/aui_sv.js +31 -31
  157. package/src/js/aui/internal/i18n/aui_ta.js +31 -31
  158. package/src/js/aui/internal/i18n/aui_th.js +31 -31
  159. package/src/js/aui/internal/i18n/aui_tj.js +31 -31
  160. package/src/js/aui/internal/i18n/aui_tr.js +31 -31
  161. package/src/js/aui/internal/i18n/aui_uk.js +31 -31
  162. package/src/js/aui/internal/i18n/aui_vi.js +31 -31
  163. package/src/js/aui/internal/i18n/aui_zh_CN.js +31 -31
  164. package/src/js/aui/internal/i18n/aui_zh_HK.js +31 -31
  165. package/src/js/aui/internal/i18n/aui_zh_TW.js +31 -31
  166. package/src/js/aui/internal/log.js +2 -6
  167. package/src/js/aui/internal/mediaQuery.js +2 -3
  168. package/src/js/aui/internal/select/option.js +3 -3
  169. package/src/js/aui/internal/select/suggestion-model.js +1 -1
  170. package/src/js/aui/internal/select/suggestions-model.js +4 -5
  171. package/src/js/aui/internal/select/suggestions-view.js +17 -12
  172. package/src/js/aui/internal/state.js +2 -3
  173. package/src/js/aui/is-clipped.js +2 -2
  174. package/src/js/aui/key-code.js +1 -1
  175. package/src/js/aui/label.js +6 -6
  176. package/src/js/aui/layer.js +101 -89
  177. package/src/js/aui/messages.js +67 -43
  178. package/src/js/aui/navigation.js +7 -9
  179. package/src/js/aui/on-text-resize.js +7 -5
  180. package/src/js/aui/params.js +11 -8
  181. package/src/js/aui/polyfills/custom-event.js +9 -9
  182. package/src/js/aui/polyfills/placeholder.js +4 -4
  183. package/src/js/aui/populate-parameters.js +4 -4
  184. package/src/js/aui/progress-indicator.js +35 -27
  185. package/src/js/aui/progressive-data-set.js +13 -8
  186. package/src/js/aui/query-input.js +1 -1
  187. package/src/js/aui/restful-table/class-names.js +1 -1
  188. package/src/js/aui/restful-table/data-keys.js +1 -1
  189. package/src/js/aui/restful-table/edit-row.js +63 -63
  190. package/src/js/aui/restful-table/entry-model.js +6 -13
  191. package/src/js/aui/restful-table/event-handlers.js +4 -8
  192. package/src/js/aui/restful-table/event-names.js +1 -1
  193. package/src/js/aui/restful-table/row.js +41 -23
  194. package/src/js/aui/restful-table.js +101 -72
  195. package/src/js/aui/result-set.js +5 -5
  196. package/src/js/aui/results-list.js +3 -3
  197. package/src/js/aui/select.js +72 -51
  198. package/src/js/aui/select2.js +16 -8
  199. package/src/js/aui/sidebar.js +81 -51
  200. package/src/js/aui/spin.js +61 -49
  201. package/src/js/aui/spinner.js +11 -12
  202. package/src/js/aui/tables-sortable.js +21 -10
  203. package/src/js/aui/tabs.js +108 -77
  204. package/src/js/aui/to-init.js +1 -1
  205. package/src/js/aui/toggle.js +55 -43
  206. package/src/js/aui/tooltip.js +34 -33
  207. package/src/js/aui/trigger.js +21 -19
  208. package/src/js/aui/truncating-progressive-data-set.js +1 -1
  209. package/src/js/aui/unbind-text-resize.js +1 -1
  210. package/src/js/aui/unique-id.js +1 -1
  211. package/src/js/aui/when-i-type.js +67 -40
  212. package/src/js/aui-css-deprecations.js +52 -51
  213. package/src/js/jquery/jquery.moveto.js +18 -12
  214. package/src/less/adg-fancy-file-input.less +2 -3
  215. package/src/less/adg-header-quicksearch.less +5 -2
  216. package/src/less/adg-iconfont.less +242 -242
  217. package/src/less/adgs-icons.less +262 -262
  218. package/src/less/aui-appheader.less +10 -6
  219. package/src/less/aui-avatars.less +1 -1
  220. package/src/less/aui-banner.less +2 -1
  221. package/src/less/aui-buttons.less +6 -5
  222. package/src/less/aui-dark-mode.less +1 -1
  223. package/src/less/aui-date-picker.less +9 -6
  224. package/src/less/aui-experimental-expander.less +3 -3
  225. package/src/less/aui-experimental-labels.less +1 -1
  226. package/src/less/aui-experimental-progress-indicator.less +10 -4
  227. package/src/less/aui-experimental-progress-tracker.less +9 -6
  228. package/src/less/aui-experimental-restfultable.less +11 -3
  229. package/src/less/aui-experimental-tables-sortable.less +5 -3
  230. package/src/less/aui-experimental-tooltip.less +1 -1
  231. package/src/less/aui-link.less +0 -1
  232. package/src/less/aui-lozenge.less +6 -3
  233. package/src/less/aui-navigation.less +16 -14
  234. package/src/less/aui-page-layout.less +3 -4
  235. package/src/less/aui-page-typography.less +8 -3
  236. package/src/less/aui-reset.less +22 -6
  237. package/src/less/aui-select2.less +12 -9
  238. package/src/less/aui-sidebar-badges.less +1 -2
  239. package/src/less/aui-sidebar-config.less +7 -2
  240. package/src/less/aui-sidebar-grouping.less +22 -6
  241. package/src/less/aui-sidebar-navigation.less +7 -5
  242. package/src/less/aui-sidebar-skeleton.less +12 -7
  243. package/src/less/aui-skip-link.less +2 -1
  244. package/src/less/aui-spinner.less +2 -2
  245. package/src/less/aui-toggle.less +8 -4
  246. package/src/less/aui-toolbar2.less +1 -1
  247. package/src/less/checkbox-multiselect.less +13 -13
  248. package/src/less/dialog.less +3 -3
  249. package/src/less/dialog2.less +11 -10
  250. package/src/less/dropdown2-temp.css +4 -4
  251. package/src/less/dropdown2.less +4 -4
  252. package/src/less/flag.less +2 -2
  253. package/src/less/form-notification.less +10 -6
  254. package/src/less/forms-current.less +16 -18
  255. package/src/less/forms-legacy.less +4 -2
  256. package/src/less/forms-radios-and-checkboxes.less +18 -16
  257. package/src/less/forms.less +2 -4
  258. package/src/less/iconfont-mixin.less +7 -4
  259. package/src/less/imports/aui-theme/adg/adg-colors.less +40 -40
  260. package/src/less/imports/aui-theme/adg/adg-neutral-dark.less +20 -20
  261. package/src/less/imports/aui-theme/adg/adg-neutral-light.less +20 -20
  262. package/src/less/imports/aui-theme/components/buttons.less +7 -1
  263. package/src/less/imports/aui-theme/components/dropdown.less +3 -1
  264. package/src/less/imports/aui-theme/components/flag.less +1 -1
  265. package/src/less/imports/aui-theme/components/form-notification.less +2 -1
  266. package/src/less/imports/aui-theme/components/forms.less +8 -3
  267. package/src/less/imports/aui-theme/components/inline-dialog2.less +1 -1
  268. package/src/less/imports/aui-theme/components/navigation.less +6 -3
  269. package/src/less/imports/aui-theme/components/progress-tracker.less +6 -2
  270. package/src/less/imports/aui-theme/components/tables.less +3 -2
  271. package/src/less/imports/aui-theme/components/toggle.less +8 -3
  272. package/src/less/imports/aui-theme/core/colors.less +2 -2
  273. package/src/less/imports/aui-theme/core/icons.less +22 -22
  274. package/src/less/imports/aui-theme/core/text.less +6 -3
  275. package/src/less/imports/aui-theme/theme.less +1 -3
  276. package/src/less/imports/mixins/dropdown2-trigger-chevron-icon.less +0 -1
  277. package/src/less/imports/mixins/focus.less +12 -4
  278. package/src/less/imports/mixins/media-queries.less +2 -2
  279. package/src/less/imports/mixins/shadows.less +3 -1
  280. package/src/less/imports/mixins/tab-indicator.less +2 -2
  281. package/src/less/imports/mixins.less +11 -4
  282. package/src/less/inline-dialog.less +21 -19
  283. package/src/less/layer.less +0 -2
  284. package/src/less/messages.less +2 -1
  285. package/src/less/single-select.less +15 -10
  286. package/src/less/tables.less +3 -2
  287. package/src/less/tabs.less +4 -3
@@ -42,11 +42,11 @@ function hasResults(element) {
42
42
  return element._suggestionModel.getNumberOfResults();
43
43
  }
44
44
 
45
- function waitForAssistive (callback) {
45
+ function waitForAssistive(callback) {
46
46
  setTimeout(callback, ASSISTIVE_STATUS_DELAY_MS);
47
47
  }
48
48
 
49
- function setBusyState (element) {
49
+ function setBusyState(element) {
50
50
  if (!element._button.isBusy()) {
51
51
  element._button.busy();
52
52
  element._input.setAttribute('aria-busy', 'true');
@@ -54,30 +54,30 @@ function setBusyState (element) {
54
54
  }
55
55
  }
56
56
 
57
- function setIdleState (element) {
57
+ function setIdleState(element) {
58
58
  element._button.idle();
59
59
  element._input.setAttribute('aria-busy', 'false');
60
60
  element._dropdown.setAttribute('aria-busy', 'false');
61
61
  }
62
62
 
63
- function matchPrefix (model, query) {
63
+ function matchPrefix(model, query) {
64
64
  var value = model.get('label').toLowerCase();
65
65
  return value.indexOf(query.toLowerCase()) === 0;
66
66
  }
67
67
 
68
- function resetDropdown (element) {
68
+ function resetDropdown(element) {
69
69
  element._input.setAttribute('aria-expanded', 'false');
70
70
  element._button.setAttribute('aria-expanded', 'false');
71
71
  element._input.removeAttribute('aria-activedescendant');
72
72
  updateAssistiveStatus(element, '');
73
73
  }
74
74
 
75
- function resetAndCloseDropdown (element) {
75
+ function resetAndCloseDropdown(element) {
76
76
  element._suggestionsView.hide();
77
77
  resetDropdown(element);
78
78
  }
79
79
 
80
- function setInitialVisualState (element) {
80
+ function setInitialVisualState(element) {
81
81
  var initialHighlightedItem = hasResults(element) ? 0 : NO_HIGHLIGHT;
82
82
 
83
83
  element._suggestionModel.highlight(initialHighlightedItem);
@@ -85,12 +85,12 @@ function setInitialVisualState (element) {
85
85
  resetAndCloseDropdown(element);
86
86
  }
87
87
 
88
- function setElementImage (element, imageSource) {
88
+ function setElementImage(element, imageSource) {
89
89
  $(element._input).addClass('aui-select-has-inline-image');
90
90
  element._input.setAttribute('style', 'background-image: url(' + encodeURI(imageSource) + ')');
91
91
  }
92
92
 
93
- function suggest (element, autoHighlight, query) {
93
+ function suggest(element, autoHighlight, query) {
94
94
  element._autoHighlight = autoHighlight;
95
95
 
96
96
  if (query === undefined) {
@@ -100,14 +100,16 @@ function suggest (element, autoHighlight, query) {
100
100
  element._progressiveDataSet.query(query);
101
101
  }
102
102
 
103
- function setInputImageToHighlightedSuggestion (element) {
104
- var imageSource = (element._suggestionModel.highlighted() && element._suggestionModel.highlighted().get('img-src'));
103
+ function setInputImageToHighlightedSuggestion(element) {
104
+ var imageSource =
105
+ element._suggestionModel.highlighted() &&
106
+ element._suggestionModel.highlighted().get('img-src');
105
107
  if (imageSource) {
106
108
  setElementImage(element, imageSource);
107
109
  }
108
110
  }
109
111
 
110
- function setValueAndDisplayFromModel (element, model) {
112
+ function setValueAndDisplayFromModel(element, model) {
111
113
  if (!model) {
112
114
  return;
113
115
  }
@@ -126,25 +128,25 @@ function setValueAndDisplayFromModel (element, model) {
126
128
 
127
129
  select.innerHTML = '';
128
130
  select.options.add(option);
129
- select.dispatchEvent(new CustomEvent('change', {bubbles: true}));
131
+ select.dispatchEvent(new CustomEvent('change', { bubbles: true }));
130
132
  }
131
133
 
132
- function clearValue (element) {
134
+ function clearValue(element) {
133
135
  element._input.value = '';
134
136
  element._select.innerHTML = '';
135
137
  }
136
138
 
137
- function selectHighlightedSuggestion (element) {
139
+ function selectHighlightedSuggestion(element) {
138
140
  setValueAndDisplayFromModel(element, element._suggestionModel.highlighted());
139
141
  setInputImageToHighlightedSuggestion(element);
140
142
  resetAndCloseDropdown(element);
141
143
  }
142
144
 
143
- function convertOptionToModel (option) {
145
+ function convertOptionToModel(option) {
144
146
  return new SuggestionModel(option.serialize());
145
147
  }
146
148
 
147
- function convertOptionsToModels (element) {
149
+ function convertOptionsToModels(element) {
148
150
  var models = [];
149
151
 
150
152
  for (var i = 0; i < element._datalist.children.length; i++) {
@@ -161,7 +163,7 @@ function convertOptionsToModels (element) {
161
163
  * @param data
162
164
  * @returns {boolean} true if the results are different from the previous set; false otherwise.
163
165
  */
164
- function clearAndSet (element, data) {
166
+ function clearAndSet(element, data) {
165
167
  const before = element._suggestionModel.getNumberOfResults();
166
168
  element._suggestionModel.set();
167
169
  element._suggestionModel.set(data.results);
@@ -169,12 +171,12 @@ function clearAndSet (element, data) {
169
171
  return before !== after;
170
172
  }
171
173
 
172
- function getActiveId (select) {
174
+ function getActiveId(select) {
173
175
  var active = select._dropdown.querySelector('.aui-select-active');
174
176
  return active && active.id;
175
177
  }
176
178
 
177
- function getIndexInResults (id, results) {
179
+ function getIndexInResults(id, results) {
178
180
  var resultsIds = $.map(results, function (result) {
179
181
  return result.id;
180
182
  });
@@ -182,7 +184,7 @@ function getIndexInResults (id, results) {
182
184
  return resultsIds.indexOf(id);
183
185
  }
184
186
 
185
- function createNewValueModel (element) {
187
+ function createNewValueModel(element) {
186
188
  var option = new Option();
187
189
  option.setAttribute('value', element._input.value);
188
190
  var newValueSuggestionModel = convertOptionToModel(option);
@@ -190,12 +192,12 @@ function createNewValueModel (element) {
190
192
  return newValueSuggestionModel;
191
193
  }
192
194
 
193
- function initialiseProgressiveDataSet (element) {
195
+ function initialiseProgressiveDataSet(element) {
194
196
  element._progressiveDataSet = new ProgressiveDataSet(convertOptionsToModels(element), {
195
197
  model: SuggestionModel,
196
198
  matcher: matchPrefix,
197
199
  queryEndpoint: element._queryEndpoint,
198
- maxResults: DEFAULT_SS_PDS_SIZE
200
+ maxResults: DEFAULT_SS_PDS_SIZE,
199
201
  });
200
202
 
201
203
  element._isSync = !element._queryEndpoint;
@@ -267,20 +269,27 @@ function initialiseProgressiveDataSet (element) {
267
269
  element._button.setAttribute('aria-expanded', 'true');
268
270
 
269
271
  // If the response is async (append operation), has elements to append and has a highlighted element, we need to update the status.
270
- if (!element._isSync && resultsChanged && element._suggestionsView.getActive() && state(element).get('should-flag-new-suggestions')) {
271
- element.querySelector('.aui-select-status').innerHTML = I18n.getText('aui.select.new.suggestions');
272
+ if (
273
+ !element._isSync &&
274
+ resultsChanged &&
275
+ element._suggestionsView.getActive() &&
276
+ state(element).get('should-flag-new-suggestions')
277
+ ) {
278
+ element.querySelector('.aui-select-status').innerHTML = I18n.getText(
279
+ 'aui.select.new.suggestions'
280
+ );
272
281
  }
273
282
 
274
283
  element._suggestionsView.show();
275
284
  });
276
285
  }
277
286
 
278
- function associateDropdownAndTrigger (element) {
287
+ function associateDropdownAndTrigger(element) {
279
288
  element._dropdown.id = element._listId;
280
289
  element.querySelector('button').setAttribute('aria-controls', element._listId);
281
290
  }
282
291
 
283
- function bindHighlightMouseover (element) {
292
+ function bindHighlightMouseover(element) {
284
293
  $(element._dropdown).on('mouseover', 'li', function (e) {
285
294
  if (hasResults(element)) {
286
295
  element._suggestionModel.highlight($(e.target).index());
@@ -288,10 +297,10 @@ function bindHighlightMouseover (element) {
288
297
  });
289
298
  }
290
299
 
291
- export function bindSelectMousedown (element) {
300
+ export function bindSelectMousedown(element) {
292
301
  let preventClosingContainerLayer = false;
293
302
 
294
- $(document).on('aui-close-layers-on-outer-click.single-select', e => {
303
+ $(document).on('aui-close-layers-on-outer-click.single-select', (e) => {
295
304
  if (preventClosingContainerLayer) {
296
305
  e.preventDefault();
297
306
  preventClosingContainerLayer = false;
@@ -312,7 +321,7 @@ export function bindSelectMousedown (element) {
312
321
  });
313
322
  }
314
323
 
315
- function updateAssistiveStatus (element, status) {
324
+ function updateAssistiveStatus(element, status) {
316
325
  clearTimeout(element.assistiveStatusTimerId);
317
326
  element.assistiveStatusTimerId = setTimeout(() => {
318
327
  const assistiveStatusText = element._assistiveStatus.innerText;
@@ -322,7 +331,7 @@ function updateAssistiveStatus (element, status) {
322
331
  }, ASSISTIVE_STATUS_DELAY_MS);
323
332
  }
324
333
 
325
- function initialiseValue (element) {
334
+ function initialiseValue(element) {
326
335
  var option = element._datalist.querySelector('aui-option[selected]');
327
336
 
328
337
  if (option) {
@@ -330,18 +339,18 @@ function initialiseValue (element) {
330
339
  }
331
340
  }
332
341
 
333
- function isQueryInProgress (element) {
342
+ function isQueryInProgress(element) {
334
343
  return element._progressiveDataSet.activeQueryCount > 0;
335
344
  }
336
345
 
337
- function focusInHandler (element) {
346
+ function focusInHandler(element) {
338
347
  //if there is a selected value the single select should do an empty
339
348
  //search and return everything
340
349
  const searchValue = element.value ? '' : element._input.value;
341
350
  suggest(element, true, searchValue);
342
351
  }
343
352
 
344
- function cancelInProgressQueries (element) {
353
+ function cancelInProgressQueries(element) {
345
354
  if (isQueryInProgress(element)) {
346
355
  state(element).set('should-cancel-response', true);
347
356
  }
@@ -353,7 +362,7 @@ function getSelectedLabel(element) {
353
362
  }
354
363
  }
355
364
 
356
- function handleInvalidInputOnFocusOut (element) {
365
+ function handleInvalidInputOnFocusOut(element) {
357
366
  var selectCanBeEmpty = !element.hasAttribute('no-empty-values');
358
367
  var selectionIsEmpty = !element._input.value;
359
368
  var selectionNotExact = element._input.value !== getSelectedLabel(element);
@@ -378,7 +387,7 @@ function handleHighlightOnFocusOut(element) {
378
387
  element._suggestionModel.highlight(NO_HIGHLIGHT);
379
388
  }
380
389
 
381
- function focusOutHandler (element) {
390
+ function focusOutHandler(element) {
382
391
  cancelInProgressQueries(element);
383
392
  handleInvalidInputOnFocusOut(element);
384
393
  handleHighlightOnFocusOut(element);
@@ -402,7 +411,9 @@ const SelectEl = skate('aui-select', {
402
411
  const suggestionsToAdd = [];
403
412
 
404
413
  element._suggestionModel._suggestions.forEach(function (newSuggestion) {
405
- const inArray = oldSuggestions.some((oldSuggestion) => newSuggestion.id === oldSuggestion.id);
414
+ const inArray = oldSuggestions.some(
415
+ (oldSuggestion) => newSuggestion.id === oldSuggestion.id
416
+ );
406
417
  if (!inArray) {
407
418
  suggestionsToAdd.push(newSuggestion);
408
419
  }
@@ -412,7 +423,12 @@ const SelectEl = skate('aui-select', {
412
423
  const numberOfItems = oldSuggestions.length + suggestionsToAdd.length;
413
424
  const status = numberOfItems ? '' : `${I18n.getText('aui.select.no.suggestions')}`;
414
425
 
415
- element._suggestionsView.render(suggestionsToAdd, oldSuggestions.length, element._listId, indexOfValueInResults);
426
+ element._suggestionsView.render(
427
+ suggestionsToAdd,
428
+ oldSuggestions.length,
429
+ element._listId,
430
+ indexOfValueInResults
431
+ );
416
432
  updateAssistiveStatus(element, status);
417
433
  };
418
434
 
@@ -460,7 +476,9 @@ const SelectEl = skate('aui-select', {
460
476
  element.querySelector('select').setAttribute('name', data.newValue);
461
477
  element.querySelector('select').setAttribute('aria-label', `${data.newValue} list`);
462
478
  element.querySelector('button').setAttribute('aria-label', `${data.newValue} list`);
463
- element.querySelector('ul[role="listbox"]').setAttribute('aria-label', `${data.newValue} list`);
479
+ element
480
+ .querySelector('ul[role="listbox"]')
481
+ .setAttribute('aria-label', `${data.newValue} list`);
464
482
  },
465
483
 
466
484
  placeholder(element, data) {
@@ -469,7 +487,7 @@ const SelectEl = skate('aui-select', {
469
487
 
470
488
  src(element, data) {
471
489
  element._queryEndpoint = data.newValue;
472
- }
490
+ },
473
491
  },
474
492
 
475
493
  events: {
@@ -478,7 +496,10 @@ const SelectEl = skate('aui-select', {
478
496
  },
479
497
 
480
498
  'mousedown button': function (element) {
481
- if (document.activeElement === element._input && !element._dropdown.hasAttribute('hidden')) {
499
+ if (
500
+ document.activeElement === element._input &&
501
+ !element._dropdown.hasAttribute('hidden')
502
+ ) {
482
503
  state(element).set('prevent-open-on-button-click', true);
483
504
  }
484
505
  },
@@ -498,7 +519,7 @@ const SelectEl = skate('aui-select', {
498
519
  }
499
520
  },
500
521
 
501
- input: function (element) {
522
+ 'input': function (element) {
502
523
  if (!element._input.value) {
503
524
  if (state(element).get('button-clicked-prevent-dropdown-hide')) {
504
525
  state(element).set('button-clicked-prevent-dropdown-hide', false);
@@ -547,21 +568,21 @@ const SelectEl = skate('aui-select', {
547
568
  }
548
569
 
549
570
  handled = handled || e.defaultPrevented;
550
- setTimeout(function emulateCrossBrowserInputEvent () {
571
+ setTimeout(function emulateCrossBrowserInputEvent() {
551
572
  if (element._input.value !== currentValue && !handled) {
552
- element.dispatchEvent(new CustomEvent('input', {bubbles: true}));
573
+ element.dispatchEvent(new CustomEvent('input', { bubbles: true }));
553
574
  }
554
575
  }, 0);
555
- }
576
+ },
556
577
  },
557
578
 
558
579
  prototype: {
559
- get value () {
580
+ get value() {
560
581
  var selected = this._select.options[this._select.selectedIndex];
561
582
  return selected ? selected.value : '';
562
583
  },
563
584
 
564
- set value (value) {
585
+ set value(value) {
565
586
  if (value === '') {
566
587
  clearValue(this);
567
588
  } else if (value) {
@@ -570,7 +591,7 @@ const SelectEl = skate('aui-select', {
570
591
 
571
592
  // Create a new value if allowed and the value doesn't exist.
572
593
  if (!model && this.hasAttribute('can-create-values')) {
573
- model = new SuggestionModel({value: value, label: value});
594
+ model = new SuggestionModel({ value: value, label: value });
574
595
  }
575
596
 
576
597
  setValueAndDisplayFromModel(this, model);
@@ -578,7 +599,7 @@ const SelectEl = skate('aui-select', {
578
599
  return this;
579
600
  },
580
601
 
581
- get displayValue () {
602
+ get displayValue() {
582
603
  return this._input.value;
583
604
  },
584
605
 
@@ -592,8 +613,8 @@ const SelectEl = skate('aui-select', {
592
613
  this._input.focus();
593
614
  focusInHandler(this);
594
615
  return this;
595
- }
596
- }
616
+ },
617
+ },
597
618
  });
598
619
 
599
620
  amdify('aui/select', SelectEl);
@@ -30,15 +30,23 @@ $.fn.auiSelect2 = function (first) {
30
30
  const auiOpts = $.extend({}, first);
31
31
  const auiAvatarClass = auiOpts.hasAvatar ? ' ' + auiHasAvatar : '';
32
32
  //add our classes in addition to those the caller specified
33
- auiOpts.containerCssClass = auiContainer + auiAvatarClass + (auiOpts.containerCssClass ? ' ' + auiOpts.containerCssClass : '');
34
- auiOpts.dropdownCssClass = auiDropdown + auiAvatarClass + (auiOpts.dropdownCssClass ? ' ' + auiOpts.dropdownCssClass : '');
33
+ auiOpts.containerCssClass =
34
+ auiContainer +
35
+ auiAvatarClass +
36
+ (auiOpts.containerCssClass ? ' ' + auiOpts.containerCssClass : '');
37
+ auiOpts.dropdownCssClass =
38
+ auiDropdown +
39
+ auiAvatarClass +
40
+ (auiOpts.dropdownCssClass ? ' ' + auiOpts.dropdownCssClass : '');
35
41
  updatedArgs = Array.prototype.slice.call(arguments, 1);
36
42
  updatedArgs.unshift(auiOpts);
37
43
  } else if (!arguments.length) {
38
- updatedArgs = [{
39
- containerCssClass: auiContainer,
40
- dropdownCssClass: auiDropdown
41
- }];
44
+ updatedArgs = [
45
+ {
46
+ containerCssClass: auiContainer,
47
+ dropdownCssClass: auiDropdown,
48
+ },
49
+ ];
42
50
  } else {
43
51
  updatedArgs = arguments;
44
52
  }
@@ -66,10 +74,10 @@ $.fn.auiSelect2 = function (first) {
66
74
  }
67
75
  let originalTransport = options.ajax.transport;
68
76
  if (!originalTransport) {
69
- originalTransport = originalSelect2.ajaxDefaults.transport
77
+ originalTransport = originalSelect2.ajaxDefaults.transport;
70
78
  }
71
79
 
72
- const newTransport = function(...args) {
80
+ const newTransport = function (...args) {
73
81
  args[0].error = [args[0].error, ...customErrorHandlers];
74
82
  return originalTransport(...args);
75
83
  };