@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
@@ -16,7 +16,7 @@ import cssEscape from 'css.escape';
16
16
  * @param url The URL to retrieve popup contents.
17
17
  * @param options Custom options to change default behaviour. See InlineDialog.opts for default values and valid options.
18
18
  */
19
- function InlineDialog (items, identifier, url, options) {
19
+ function InlineDialog(items, identifier, url, options) {
20
20
  options = options || [];
21
21
 
22
22
  if (options.hasOwnProperty('onTop')) {
@@ -31,7 +31,16 @@ function InlineDialog (items, identifier, url, options) {
31
31
  identifier = String(Math.random()).replace('.', '');
32
32
 
33
33
  // if the generated supplied identifier already exists when combined with the prefixes we'll be using, then bail
34
- if ($('#inline-dialog-' + identifier + ', #arrow-' + identifier + ', #inline-dialog-shim-' + identifier).length) {
34
+ if (
35
+ $(
36
+ '#inline-dialog-' +
37
+ identifier +
38
+ ', #arrow-' +
39
+ identifier +
40
+ ', #inline-dialog-shim-' +
41
+ identifier
42
+ ).length
43
+ ) {
35
44
  throw 'GENERATED_IDENTIFIER_NOT_UNIQUE';
36
45
  }
37
46
  }
@@ -54,9 +63,13 @@ function InlineDialog (items, identifier, url, options) {
54
63
  var contentLoaded = false;
55
64
  var mousePosition;
56
65
  var targetPosition;
57
- var popup = $('<div id="inline-dialog-' + identifier +
58
- '" class="aui-inline-dialog"><div class="aui-inline-dialog-contents contents"></div><div id="arrow-' +
59
- identifier + '" class="aui-inline-dialog-arrow arrow aui-css-arrow"></div></div>');
66
+ var popup = $(
67
+ '<div id="inline-dialog-' +
68
+ identifier +
69
+ '" class="aui-inline-dialog"><div class="aui-inline-dialog-contents contents"></div><div id="arrow-' +
70
+ identifier +
71
+ '" class="aui-inline-dialog-arrow arrow aui-css-arrow"></div></div>'
72
+ );
60
73
 
61
74
  var arrow = $('#arrow-' + escapedIdentifier, popup);
62
75
  var contents = popup.find('.contents');
@@ -78,7 +91,7 @@ function InlineDialog (items, identifier, url, options) {
78
91
  },
79
92
  mouseleave: function () {
80
93
  hidePopup();
81
- }
94
+ },
82
95
  });
83
96
 
84
97
  var getHash = function () {
@@ -94,8 +107,7 @@ function InlineDialog (items, identifier, url, options) {
94
107
  },
95
108
  persistent: opts.persistent ? true : false,
96
109
  reset: function () {
97
-
98
- function drawPopup (popup, positions) {
110
+ function drawPopup(popup, positions) {
99
111
  //Position the popup using the left and right parameters
100
112
  popup.css(positions.popupCss);
101
113
 
@@ -115,10 +127,14 @@ function InlineDialog (items, identifier, url, options) {
115
127
  //DRAW POPUP
116
128
  var viewportHeight = $(window).height();
117
129
  var popupMaxHeight = Math.round(viewportHeight * 0.75);
118
- popup.children('.aui-inline-dialog-contents')
119
- .css('max-height', popupMaxHeight);
120
-
121
- var positions = opts.calculatePositions(popup, targetPosition, mousePosition, opts);
130
+ popup.children('.aui-inline-dialog-contents').css('max-height', popupMaxHeight);
131
+
132
+ var positions = opts.calculatePositions(
133
+ popup,
134
+ targetPosition,
135
+ mousePosition,
136
+ opts
137
+ );
122
138
  if (positions.hasOwnProperty('displayAbove')) {
123
139
  displayAboveDeprecationLogger();
124
140
  positions.gravity = positions.displayAbove ? 's' : 'n';
@@ -136,15 +152,21 @@ function InlineDialog (items, identifier, url, options) {
136
152
  // iframeShim, prepend if it doesnt exist
137
153
  var jQueryCache = $('#inline-dialog-shim-' + escapedIdentifier);
138
154
  if (!jQueryCache.length) {
139
- $(popup).prepend($('<iframe class = "inline-dialog-shim" id="inline-dialog-shim-' + identifier + '" frameBorder="0" src="javascript:false;"></iframe>'));
155
+ $(popup).prepend(
156
+ $(
157
+ '<iframe class = "inline-dialog-shim" id="inline-dialog-shim-' +
158
+ identifier +
159
+ '" frameBorder="0" src="javascript:false;"></iframe>'
160
+ )
161
+ );
140
162
  }
141
163
  // adjust height and width of shim according to the popup
142
164
  jQueryCache.css({
143
165
  width: contents.outerWidth(),
144
- height: contents.outerHeight()
166
+ height: contents.outerHeight(),
145
167
  });
146
168
  }
147
- }
169
+ },
148
170
  };
149
171
  }
150
172
  return hash;
@@ -169,7 +191,6 @@ function InlineDialog (items, identifier, url, options) {
169
191
  // either have to be customisable or we will have to be smarter about calculating the padding and elements around it
170
192
 
171
193
  getHash().reset();
172
-
173
194
  }, opts.showDelay);
174
195
  };
175
196
 
@@ -187,7 +208,7 @@ function InlineDialog (items, identifier, url, options) {
187
208
  // only exectute the below if the popup is currently being shown
188
209
  // and the arbitrator callback gives us the green light
189
210
  if (beingShown && opts.preHideCallback.call(popup[0].popup)) {
190
- delay = (delay == null) ? opts.hideDelay : delay;
211
+ delay = delay == null ? opts.hideDelay : delay;
191
212
  clearTimeout(hideDelayTimer);
192
213
  clearTimeout(showTimer);
193
214
  // store the timer so that it can be cleared in the mouseenter if required
@@ -210,10 +231,8 @@ function InlineDialog (items, identifier, url, options) {
210
231
  contentLoaded = false;
211
232
  contentLoading = false;
212
233
  }
213
-
214
234
  }, delay);
215
235
  }
216
-
217
236
  }
218
237
  };
219
238
 
@@ -229,7 +248,7 @@ function InlineDialog (items, identifier, url, options) {
229
248
  id: identifier,
230
249
  show: function () {
231
250
  showPopup();
232
- }
251
+ },
233
252
  });
234
253
 
235
254
  popup.each(function () {
@@ -246,15 +265,13 @@ function InlineDialog (items, identifier, url, options) {
246
265
  }
247
266
 
248
267
  //handle programmatic showing where there is no event
249
- targetPosition = {target: $trigger};
268
+ targetPosition = { target: $trigger };
250
269
  if (!e) {
251
- mousePosition = {x: $trigger.offset().left, y: $trigger.offset().top};
270
+ mousePosition = { x: $trigger.offset().left, y: $trigger.offset().top };
252
271
  } else {
253
- mousePosition = {x: e.pageX, y: e.pageY};
272
+ mousePosition = { x: e.pageX, y: e.pageY };
254
273
  }
255
274
 
256
-
257
-
258
275
  if (!beingShown) {
259
276
  clearTimeout(showTimer);
260
277
  }
@@ -270,7 +287,7 @@ function InlineDialog (items, identifier, url, options) {
270
287
  id: identifier,
271
288
  show: function () {
272
289
  showPopup();
273
- }
290
+ },
274
291
  });
275
292
  showPopup();
276
293
  };
@@ -295,7 +312,7 @@ function InlineDialog (items, identifier, url, options) {
295
312
  id: identifier,
296
313
  show: function () {
297
314
  showPopup();
298
- }
315
+ },
299
316
  });
300
317
  showPopup();
301
318
  });
@@ -313,7 +330,7 @@ function InlineDialog (items, identifier, url, options) {
313
330
  popup[0].popup = getHash();
314
331
 
315
332
  var contentLoading = false;
316
- var added = false;
333
+ var added = false;
317
334
  var appendPopup = function () {
318
335
  if (!added) {
319
336
  $(opts.container).append(popup);
@@ -332,57 +349,68 @@ function InlineDialog (items, identifier, url, options) {
332
349
  // Ideally we should throw an error if the $items has no selector but that is backwards incompatible,
333
350
  // so we warn and do a no-op - this emulates the behaviour of live() but has the added warning.
334
351
  if ($items.selector) {
335
- $(document).on('mouseenter', $items.selector, function (e) {
336
- appendPopup();
337
- initPopup(e, this);
338
- }).on('mouseleave', $items.selector, function () {
339
- hidePopup();
340
- });
352
+ $(document)
353
+ .on('mouseenter', $items.selector, function (e) {
354
+ appendPopup();
355
+ initPopup(e, this);
356
+ })
357
+ .on('mouseleave', $items.selector, function () {
358
+ hidePopup();
359
+ });
341
360
  } else {
342
- logger.log('Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.');
361
+ logger.log(
362
+ 'Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.'
363
+ );
343
364
  }
344
365
  } else {
345
366
  $items.on({
346
367
  mouseenter: function (e) {
347
368
  appendPopup();
348
- initPopup(e,this);
369
+ initPopup(e, this);
349
370
  },
350
371
  mouseleave: function () {
351
372
  hidePopup();
352
- }
373
+ },
353
374
  });
354
375
  }
355
376
  } else {
356
- if (!opts.noBind) { //Check if the noBind option is turned on
377
+ if (!opts.noBind) {
378
+ //Check if the noBind option is turned on
357
379
  if (opts.useLiveEvents) {
358
380
  // See above for why we filter by .selector
359
381
  if ($items.selector) {
360
- $(document).on('click', $items.selector, function (e) {
382
+ $(document)
383
+ .on('click', $items.selector, function (e) {
384
+ appendPopup();
385
+ if (shouldCloseOnTriggerClick()) {
386
+ popup.hide();
387
+ } else {
388
+ initPopup(e, this);
389
+ }
390
+ return false;
391
+ })
392
+ .on('mouseleave', $items.selector, function () {
393
+ hidePopup();
394
+ });
395
+ } else {
396
+ logger.log(
397
+ 'Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.'
398
+ );
399
+ }
400
+ } else {
401
+ $items
402
+ .on('click', function (e) {
361
403
  appendPopup();
362
404
  if (shouldCloseOnTriggerClick()) {
363
405
  popup.hide();
364
406
  } else {
365
- initPopup(e,this);
407
+ initPopup(e, this);
366
408
  }
367
409
  return false;
368
- }).on('mouseleave', $items.selector, function () {
410
+ })
411
+ .on('mouseleave', function () {
369
412
  hidePopup();
370
413
  });
371
- } else {
372
- logger.log('Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.');
373
- }
374
- } else {
375
- $items.on('click', function (e) {
376
- appendPopup();
377
- if (shouldCloseOnTriggerClick()) {
378
- popup.hide();
379
- } else {
380
- initPopup(e,this);
381
- }
382
- return false;
383
- }).on('mouseleave', function () {
384
- hidePopup();
385
- });
386
414
  }
387
415
  }
388
416
  }
@@ -414,7 +442,10 @@ function InlineDialog (items, identifier, url, options) {
414
442
  $('body').bind('click.' + externalClickNamespace, function (e) {
415
443
  var $target = $(e.target);
416
444
  // hide the popup if the target of the event is not in the dialog
417
- if ($target.closest('#inline-dialog-' + escapedIdentifier + ' .contents').length === 0) {
445
+ if (
446
+ $target.closest('#inline-dialog-' + escapedIdentifier + ' .contents').length ===
447
+ 0
448
+ ) {
418
449
  hidePopup(0);
419
450
  }
420
451
  });
@@ -506,21 +537,27 @@ function dimensionsOf(el) {
506
537
  }
507
538
 
508
539
  function getDimensions(popup, targetPosition, mousePosition, opts) {
509
- var offsetX = $.isFunction(opts.offsetX) ? opts.offsetX(popup, targetPosition, mousePosition, opts) : opts.offsetX;
510
- var offsetY = $.isFunction(opts.offsetY) ? opts.offsetY(popup, targetPosition, mousePosition, opts) : opts.offsetY;
511
- var arrowOffsetX = $.isFunction(opts.arrowOffsetX) ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetX;
512
- var arrowOffsetY = $.isFunction(opts.arrowOffsetY) ? opts.arrowOffsetY(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetY;
540
+ var offsetX = $.isFunction(opts.offsetX)
541
+ ? opts.offsetX(popup, targetPosition, mousePosition, opts)
542
+ : opts.offsetX;
543
+ var offsetY = $.isFunction(opts.offsetY)
544
+ ? opts.offsetY(popup, targetPosition, mousePosition, opts)
545
+ : opts.offsetY;
546
+ var arrowOffsetX = $.isFunction(opts.arrowOffsetX)
547
+ ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts)
548
+ : opts.arrowOffsetX;
549
+ var arrowOffsetY = $.isFunction(opts.arrowOffsetY)
550
+ ? opts.arrowOffsetY(popup, targetPosition, mousePosition, opts)
551
+ : opts.arrowOffsetY;
513
552
 
514
553
  // Support positioning inside a scroll container other than <body>
515
554
  var isConstrainedScroll = opts.container.toLowerCase() !== 'body';
516
555
  var $scrollContainer = $(opts.container);
517
- var $scrollWindow = isConstrainedScroll ?
518
- $(opts.container).parent() :
519
- $(window);
520
- var scrollContainerOffset = isConstrainedScroll ?
521
- $scrollContainer.offset() : {left: 0, top: 0};
522
- var scrollWindowOffset = isConstrainedScroll ?
523
- $scrollWindow.offset() : {left: 0, top: 0};
556
+ var $scrollWindow = isConstrainedScroll ? $(opts.container).parent() : $(window);
557
+ var scrollContainerOffset = isConstrainedScroll
558
+ ? $scrollContainer.offset()
559
+ : { left: 0, top: 0 };
560
+ var scrollWindowOffset = isConstrainedScroll ? $scrollWindow.offset() : { left: 0, top: 0 };
524
561
 
525
562
  var trigger = targetPosition.target;
526
563
  var triggerOffset = trigger.offset();
@@ -539,34 +576,34 @@ function getDimensions(popup, targetPosition, mousePosition, opts) {
539
576
  scrollTop: $scrollWindow.scrollTop(),
540
577
  scrollLeft: $scrollWindow.scrollLeft(),
541
578
  width: $scrollWindow.width(),
542
- height: $scrollWindow.height()
579
+ height: $scrollWindow.height(),
543
580
  },
544
581
  scrollContainer: {
545
582
  width: $scrollContainer.width(),
546
- height: $scrollContainer.height()
583
+ height: $scrollContainer.height(),
547
584
  },
548
585
  // Position of the trigger is relative to the scroll container
549
586
  trigger: {
550
587
  top: triggerOffset.top - scrollContainerOffset.top,
551
588
  left: triggerOffset.left - scrollContainerOffset.left,
552
589
  width: triggerBBox ? triggerBBox.width : trigger.outerWidth(),
553
- height: triggerBBox ? triggerBBox.height : trigger.outerHeight()
590
+ height: triggerBBox ? triggerBBox.height : trigger.outerHeight(),
554
591
  },
555
592
  dialog: {
556
593
  width: popup.width(),
557
594
  height: popup.height(),
558
595
  offset: {
559
596
  top: offsetY,
560
- left: offsetX
561
- }
597
+ left: offsetX,
598
+ },
562
599
  },
563
600
  arrow: {
564
601
  height: popup.find('.arrow').outerHeight(),
565
602
  offset: {
566
603
  top: arrowOffsetY,
567
- left: arrowOffsetX
568
- }
569
- }
604
+ left: arrowOffsetX,
605
+ },
606
+ },
570
607
  };
571
608
  }
572
609
 
@@ -581,7 +618,7 @@ function calculateWestPositions(popup, targetPosition, mousePosition, opts) {
581
618
 
582
619
  var triggerScrollOffset = {
583
620
  top: trigger.top - win.scrollTop,
584
- left: trigger.left - win.scrollLeft
621
+ left: trigger.left - win.scrollLeft,
585
622
  };
586
623
 
587
624
  // Halves - because the browser doesn't do sub-pixel positioning, we need to consistently floor
@@ -594,7 +631,12 @@ function calculateWestPositions(popup, targetPosition, mousePosition, opts) {
594
631
  var spaceOnLeft = triggerScrollOffset.left - dialog.offset.left - screenPadding;
595
632
 
596
633
  // This implementation may not be suitable for horizontally scrolling containers
597
- var spaceOnRight = scrollContainer.width - triggerScrollOffset.left - trigger.width - dialog.offset.left - screenPadding;
634
+ var spaceOnRight =
635
+ scrollContainer.width -
636
+ triggerScrollOffset.left -
637
+ trigger.width -
638
+ dialog.offset.left -
639
+ screenPadding;
598
640
 
599
641
  var enoughSpaceOnLeft = spaceOnLeft >= dialog.width;
600
642
  var enoughSpaceOnRight = spaceOnRight >= dialog.width;
@@ -619,46 +661,55 @@ function calculateWestPositions(popup, targetPosition, mousePosition, opts) {
619
661
  if (isOverflowingAbove) {
620
662
  popupCss = {
621
663
  top: win.scrollTop + screenPadding,
622
- left: gravity === 'w' ?
623
- trigger.left + trigger.width + dialog.offset.left :
624
- trigger.left - dialog.width - dialog.offset.left
664
+ left:
665
+ gravity === 'w'
666
+ ? trigger.left + trigger.width + dialog.offset.left
667
+ : trigger.left - dialog.width - dialog.offset.left,
625
668
  };
626
669
  arrowCss = {
627
- top: (trigger.top + halfTriggerHeight) - (popupCss.top + halfArrowHeight)
670
+ top: trigger.top + halfTriggerHeight - (popupCss.top + halfArrowHeight),
628
671
  };
629
672
  } else if (isOverflowingBelow) {
630
673
  popupCss = {
631
674
  top: win.scrollTop + win.height - dialog.height - screenPadding,
632
- left: gravity === 'w' ?
633
- trigger.left + trigger.width + dialog.offset.left :
634
- trigger.left - dialog.width - dialog.offset.left
675
+ left:
676
+ gravity === 'w'
677
+ ? trigger.left + trigger.width + dialog.offset.left
678
+ : trigger.left - dialog.width - dialog.offset.left,
635
679
  };
636
680
  arrowCss = {
637
- top: (trigger.top + halfTriggerHeight) - (popupCss.top + halfArrowHeight)
681
+ top: trigger.top + halfTriggerHeight - (popupCss.top + halfArrowHeight),
638
682
  };
639
683
  } else {
640
684
  popupCss = {
641
685
  top: trigger.top + halfTriggerHeight - halfPopupHeight + dialog.offset.top,
642
- left: gravity === 'w' ?
643
- trigger.left + trigger.width + dialog.offset.left :
644
- trigger.left - dialog.width - dialog.offset.left
686
+ left:
687
+ gravity === 'w'
688
+ ? trigger.left + trigger.width + dialog.offset.left
689
+ : trigger.left - dialog.width - dialog.offset.left,
645
690
  };
646
691
  arrowCss = {
647
- top: halfPopupHeight - halfArrowHeight + arrow.offset.top
692
+ top: halfPopupHeight - halfArrowHeight + arrow.offset.top,
648
693
  };
649
694
  }
650
695
 
651
696
  return {
652
697
  gravity: gravity,
653
698
  popupCss: popupCss,
654
- arrowCss: arrowCss
699
+ arrowCss: arrowCss,
655
700
  };
656
701
  }
657
702
 
658
703
  function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts) {
659
- var offsetX = $.isFunction(opts.offsetX) ? opts.offsetX(popup, targetPosition, mousePosition, opts) : opts.offsetX;
660
- var offsetY = $.isFunction(opts.offsetY) ? opts.offsetY(popup, targetPosition, mousePosition, opts) : opts.offsetY;
661
- var arrowOffsetX = $.isFunction(opts.arrowOffsetX) ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetX;
704
+ var offsetX = $.isFunction(opts.offsetX)
705
+ ? opts.offsetX(popup, targetPosition, mousePosition, opts)
706
+ : opts.offsetX;
707
+ var offsetY = $.isFunction(opts.offsetY)
708
+ ? opts.offsetY(popup, targetPosition, mousePosition, opts)
709
+ : opts.offsetY;
710
+ var arrowOffsetX = $.isFunction(opts.arrowOffsetX)
711
+ ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts)
712
+ : opts.arrowOffsetX;
662
713
 
663
714
  var viewportDimensions = dimensionsOf(window);
664
715
  var targetDimensions = dimensionsOf(targetPosition.target);
@@ -666,7 +717,8 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
666
717
  var arrowDimensions = dimensionsOf(popup.find('.aui-inline-dialog-arrow'));
667
718
 
668
719
  var middleOfTrigger = targetDimensions.left + targetDimensions.width / 2; //The absolute x position of the middle of the Trigger
669
- var bottomOfViewablePage = (window.pageYOffset || document.documentElement.scrollTop) + viewportDimensions.height;
720
+ var bottomOfViewablePage =
721
+ (window.pageYOffset || document.documentElement.scrollTop) + viewportDimensions.height;
670
722
  var SCREEN_PADDING = 10; //determines how close to the edge the dialog needs to be before it is considered offscreen
671
723
 
672
724
  // Set popup's position (within the viewport)
@@ -674,7 +726,8 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
674
726
  popupDimensions.left = targetDimensions.left + ~~offsetX;
675
727
 
676
728
  // Calculate if the popup would render off the side of the viewport
677
- var diff = viewportDimensions.width - (popupDimensions.left + popupDimensions.width + SCREEN_PADDING);
729
+ var diff =
730
+ viewportDimensions.width - (popupDimensions.left + popupDimensions.width + SCREEN_PADDING);
678
731
 
679
732
  // Set arrow's position (within the popup)
680
733
  arrowDimensions.left = middleOfTrigger - popupDimensions.left + ~~arrowOffsetX;
@@ -683,28 +736,31 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
683
736
 
684
737
  // Check whether the popup should display above or below the trigger
685
738
  var enoughRoomAbove = targetDimensions.top > popupDimensions.height;
686
- var enoughRoomBelow = (popupDimensions.top + popupDimensions.height) < bottomOfViewablePage;
687
- var displayAbove = (!enoughRoomBelow && enoughRoomAbove) || (enoughRoomAbove && opts.gravity === 's');
739
+ var enoughRoomBelow = popupDimensions.top + popupDimensions.height < bottomOfViewablePage;
740
+ var displayAbove =
741
+ (!enoughRoomBelow && enoughRoomAbove) || (enoughRoomAbove && opts.gravity === 's');
688
742
 
689
743
  if (displayAbove) {
690
- popupDimensions.top = targetDimensions.top - popupDimensions.height - (arrowDimensions.height / 2);
744
+ popupDimensions.top =
745
+ targetDimensions.top - popupDimensions.height - arrowDimensions.height / 2;
691
746
  arrowDimensions.top = popupDimensions.height;
692
747
  }
693
748
 
694
749
  // Check if the popup should show up relative to the mouse
695
- if (opts.isRelativeToMouse){
696
- if (diff < 0){
750
+ if (opts.isRelativeToMouse) {
751
+ if (diff < 0) {
697
752
  popupDimensions.right = SCREEN_PADDING;
698
753
  popupDimensions.left = 'auto';
699
754
  // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?
700
- arrowDimensions.left = mousePosition.x - (viewportDimensions.width - popupDimensions.width);
755
+ arrowDimensions.left =
756
+ mousePosition.x - (viewportDimensions.width - popupDimensions.width);
701
757
  } else {
702
758
  popupDimensions.left = mousePosition.x - 20;
703
759
  // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?
704
760
  arrowDimensions.left = mousePosition.x - popupDimensions.left;
705
761
  }
706
762
  } else {
707
- if (diff < 0){
763
+ if (diff < 0) {
708
764
  popupDimensions.right = SCREEN_PADDING;
709
765
  popupDimensions.left = 'auto';
710
766
 
@@ -715,7 +771,7 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
715
771
  arrowDimensions.right = 'auto';
716
772
  // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?
717
773
  arrowDimensions.left = middleOfTrigger - popupLeftEdge - arrowDimensions.width / 2;
718
- } else if (popupDimensions.width <= targetDimensions.width / 2){
774
+ } else if (popupDimensions.width <= targetDimensions.width / 2) {
719
775
  // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?
720
776
  arrowDimensions.left = popupDimensions.width / 2;
721
777
  popupDimensions.left = middleOfTrigger - popupDimensions.width / 2;
@@ -723,21 +779,20 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
723
779
  }
724
780
  return {
725
781
  gravity: displayAbove ? 's' : 'n',
726
- displayAbove: displayAbove, // Replaced with gravity but remains for backward compatibility.
782
+ displayAbove: displayAbove, // Replaced with gravity but remains for backward compatibility.
727
783
  popupCss: {
728
784
  left: popupDimensions.left,
729
785
  top: popupDimensions.top,
730
- right: popupDimensions.right
786
+ right: popupDimensions.right,
731
787
  },
732
788
  arrowCss: {
733
789
  left: arrowDimensions.left,
734
790
  top: arrowDimensions.top,
735
- right: arrowDimensions.right
736
- }
791
+ right: arrowDimensions.right,
792
+ },
737
793
  };
738
794
  }
739
795
 
740
-
741
796
  InlineDialog.opts = {
742
797
  onTop: false,
743
798
  responseHandler: function (data) {
@@ -783,30 +838,29 @@ InlineDialog.opts = {
783
838
  */
784
839
  calculatePositions: function (popup, targetPosition, mousePosition, opts) {
785
840
  opts = opts || {};
786
- var algorithm = opts.gravity === 'w' ? calculateWestPositions : calculateNorthSouthPositions;
787
- return algorithm(popup, targetPosition, mousePosition, opts)
788
- }
841
+ var algorithm =
842
+ opts.gravity === 'w' ? calculateWestPositions : calculateNorthSouthPositions;
843
+ return algorithm(popup, targetPosition, mousePosition, opts);
844
+ },
789
845
  };
790
846
 
791
-
792
847
  // Deprecations
793
848
  // ------------
794
849
 
795
850
  InlineDialog = deprecate.construct(InlineDialog, 'Inline dialog constructor', {
796
- alternativeName: 'inline dialog 2'
851
+ alternativeName: 'inline dialog 2',
797
852
  });
798
853
 
799
854
  var displayAboveDeprecationLogger = deprecate.getMessageLogger('displayAbove', '[remove version]', {
800
855
  alternativeName: 'gravity',
801
- extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.'
856
+ extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.',
802
857
  });
803
858
 
804
859
  var onTopDeprecationLogger = deprecate.getMessageLogger('onTop', '[remove version]', {
805
860
  alternativeName: 'gravity',
806
- extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.'
861
+ extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.',
807
862
  });
808
863
 
809
-
810
864
  // Exporting
811
865
  // ---------
812
866