@atlassian/aui 9.10.5 → 9.10.6

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 (303) 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 +2 -651
  5. package/dist/aui/aui-prototyping-browserfocus.css.map +1 -0
  6. package/dist/aui/aui-prototyping-darkmode.css +2 -285
  7. package/dist/aui/aui-prototyping-darkmode.css.map +1 -0
  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 +2 -115
  17. package/dist/aui/aui-prototyping-design-tokens-compatibility.css.map +1 -0
  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 +4 -4
  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 +4 -4
  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/entry/token-themes-generated/p2/aui-prototyping-design-tokens-base-themes.js +26 -0
  44. package/entry/token-themes-generated/p2/aui-prototyping-design-tokens-theme-import-map.js +51 -0
  45. package/entry/token-themes-generated/p2/aui-prototyping-design-tokens-theme.css +795 -0
  46. package/entry/token-themes-generated/p2/themes/dark-future.js +7 -0
  47. package/entry/token-themes-generated/p2/themes/dark-new-input-border.js +7 -0
  48. package/entry/token-themes-generated/p2/themes/dark.js +394 -0
  49. package/entry/token-themes-generated/p2/themes/legacy-dark.js +394 -0
  50. package/entry/token-themes-generated/p2/themes/legacy-light.js +394 -0
  51. package/entry/token-themes-generated/p2/themes/light-future.js +7 -0
  52. package/entry/token-themes-generated/p2/themes/light-new-input-border.js +7 -0
  53. package/entry/token-themes-generated/p2/themes/light.js +394 -0
  54. package/entry/token-themes-generated/p2/themes/shape.js +15 -0
  55. package/entry/token-themes-generated/p2/themes/spacing.js +27 -0
  56. package/entry/token-themes-generated/p2/themes/typography-adg3.js +48 -0
  57. package/entry/token-themes-generated/p2/themes/typography-minor3.js +35 -0
  58. package/package.json +3 -7
  59. package/src/js/aui/alphanum.js +1 -1
  60. package/src/js/aui/avatar-badged.js +4 -5
  61. package/src/js/aui/avatar-group.js +58 -28
  62. package/src/js/aui/avatar.js +16 -14
  63. package/src/js/aui/banner.js +5 -4
  64. package/src/js/aui/blanket.js +11 -14
  65. package/src/js/aui/button.js +5 -5
  66. package/src/js/aui/checkbox-multiselect.js +79 -76
  67. package/src/js/aui/clone.js +1 -1
  68. package/src/js/aui/close-button.js +2 -6
  69. package/src/js/aui/contain-dropdown.js +5 -5
  70. package/src/js/aui/contains.js +1 -1
  71. package/src/js/aui/cookie.js +12 -16
  72. package/src/js/aui/date-picker.js +94 -77
  73. package/src/js/aui/debounce.js +5 -8
  74. package/src/js/aui/design-tokens/design-tokens-full.js +4 -13
  75. package/src/js/aui/design-tokens/design-tokens-init.js +3 -5
  76. package/src/js/aui/design-tokens/design-tokens-testing-theme.js +12 -18
  77. package/src/js/aui/design-tokens/design-tokens.js +2 -4
  78. package/src/js/aui/dialog.js +206 -172
  79. package/src/js/aui/dialog2.js +36 -25
  80. package/src/js/aui/dropdown2.js +221 -189
  81. package/src/js/aui/escape-html.js +2 -2
  82. package/src/js/aui/escape.js +1 -1
  83. package/src/js/aui/event.js +4 -8
  84. package/src/js/aui/expander.js +15 -13
  85. package/src/js/aui/flag.js +14 -16
  86. package/src/js/aui/focus-manager.js +19 -18
  87. package/src/js/aui/form-notification.js +15 -14
  88. package/src/js/aui/form-validation/basic-validators.js +39 -30
  89. package/src/js/aui/form-validation/validator-register.js +9 -5
  90. package/src/js/aui/form-validation.js +12 -13
  91. package/src/js/aui/format.js +9 -6
  92. package/src/js/aui/forms/create-forms-component-body.js +6 -9
  93. package/src/js/aui/forms/custom-checkbox.js +2 -6
  94. package/src/js/aui/forms/custom-radio.js +2 -6
  95. package/src/js/aui/forms.js +4 -8
  96. package/src/js/aui/header-async.js +1 -1
  97. package/src/js/aui/header.js +2 -2
  98. package/src/js/aui/i18n.js +2 -5
  99. package/src/js/aui/index-of.js +1 -1
  100. package/src/js/aui/inline-dialog.js +171 -117
  101. package/src/js/aui/inline-dialog2.js +40 -33
  102. package/src/js/aui/internal/add-id.js +1 -1
  103. package/src/js/aui/internal/alignment.js +57 -49
  104. package/src/js/aui/internal/amdify.js +0 -1
  105. package/src/js/aui/internal/animation.js +2 -5
  106. package/src/js/aui/internal/attributes.js +2 -3
  107. package/src/js/aui/internal/browser.js +5 -6
  108. package/src/js/aui/internal/constants.js +1 -3
  109. package/src/js/aui/internal/deduplicateIDs.js +8 -7
  110. package/src/js/aui/internal/deprecation/deprecated-adg2-icons.js +132 -132
  111. package/src/js/aui/internal/deprecation.js +53 -31
  112. package/src/js/aui/internal/detect-children-change.js +3 -2
  113. package/src/js/aui/internal/elements.js +2 -5
  114. package/src/js/aui/internal/enforcer.js +11 -13
  115. package/src/js/aui/internal/globalize.js +3 -3
  116. package/src/js/aui/internal/has-touch.js +1 -2
  117. package/src/js/aui/internal/header/create-header.js +54 -30
  118. package/src/js/aui/internal/i18n/aui.js +10 -6
  119. package/src/js/aui/internal/i18n/aui_af.js +31 -31
  120. package/src/js/aui/internal/i18n/aui_ar.js +31 -31
  121. package/src/js/aui/internal/i18n/aui_ar_DZ.js +31 -31
  122. package/src/js/aui/internal/i18n/aui_az.js +31 -31
  123. package/src/js/aui/internal/i18n/aui_bg.js +31 -31
  124. package/src/js/aui/internal/i18n/aui_bs.js +31 -31
  125. package/src/js/aui/internal/i18n/aui_ca.js +31 -31
  126. package/src/js/aui/internal/i18n/aui_cs.js +31 -31
  127. package/src/js/aui/internal/i18n/aui_da.js +31 -31
  128. package/src/js/aui/internal/i18n/aui_de.js +31 -31
  129. package/src/js/aui/internal/i18n/aui_el.js +31 -31
  130. package/src/js/aui/internal/i18n/aui_en_AU.js +31 -31
  131. package/src/js/aui/internal/i18n/aui_en_GB.js +31 -31
  132. package/src/js/aui/internal/i18n/aui_en_NZ.js +31 -31
  133. package/src/js/aui/internal/i18n/aui_eo.js +31 -31
  134. package/src/js/aui/internal/i18n/aui_es.js +31 -31
  135. package/src/js/aui/internal/i18n/aui_et.js +31 -31
  136. package/src/js/aui/internal/i18n/aui_eu.js +31 -31
  137. package/src/js/aui/internal/i18n/aui_fa.js +31 -31
  138. package/src/js/aui/internal/i18n/aui_fi.js +31 -31
  139. package/src/js/aui/internal/i18n/aui_fo.js +31 -31
  140. package/src/js/aui/internal/i18n/aui_fr.js +31 -31
  141. package/src/js/aui/internal/i18n/aui_fr_CH.js +31 -31
  142. package/src/js/aui/internal/i18n/aui_gl.js +31 -31
  143. package/src/js/aui/internal/i18n/aui_he.js +31 -31
  144. package/src/js/aui/internal/i18n/aui_hr.js +31 -31
  145. package/src/js/aui/internal/i18n/aui_hu.js +31 -31
  146. package/src/js/aui/internal/i18n/aui_hy.js +31 -31
  147. package/src/js/aui/internal/i18n/aui_id.js +31 -31
  148. package/src/js/aui/internal/i18n/aui_is.js +31 -31
  149. package/src/js/aui/internal/i18n/aui_it.js +31 -31
  150. package/src/js/aui/internal/i18n/aui_ja.js +31 -31
  151. package/src/js/aui/internal/i18n/aui_ko.js +31 -31
  152. package/src/js/aui/internal/i18n/aui_kz.js +31 -31
  153. package/src/js/aui/internal/i18n/aui_lt.js +31 -31
  154. package/src/js/aui/internal/i18n/aui_lv.js +31 -31
  155. package/src/js/aui/internal/i18n/aui_ml.js +31 -31
  156. package/src/js/aui/internal/i18n/aui_ms.js +31 -31
  157. package/src/js/aui/internal/i18n/aui_nl.js +31 -31
  158. package/src/js/aui/internal/i18n/aui_no.js +31 -31
  159. package/src/js/aui/internal/i18n/aui_pl.js +31 -31
  160. package/src/js/aui/internal/i18n/aui_pt.js +31 -31
  161. package/src/js/aui/internal/i18n/aui_pt_BR.js +31 -31
  162. package/src/js/aui/internal/i18n/aui_rm.js +31 -31
  163. package/src/js/aui/internal/i18n/aui_ro.js +31 -31
  164. package/src/js/aui/internal/i18n/aui_ru.js +31 -31
  165. package/src/js/aui/internal/i18n/aui_sk.js +31 -31
  166. package/src/js/aui/internal/i18n/aui_sl.js +31 -31
  167. package/src/js/aui/internal/i18n/aui_sq.js +31 -31
  168. package/src/js/aui/internal/i18n/aui_sr.js +31 -31
  169. package/src/js/aui/internal/i18n/aui_sr_SR.js +31 -31
  170. package/src/js/aui/internal/i18n/aui_sv.js +31 -31
  171. package/src/js/aui/internal/i18n/aui_ta.js +31 -31
  172. package/src/js/aui/internal/i18n/aui_th.js +31 -31
  173. package/src/js/aui/internal/i18n/aui_tj.js +31 -31
  174. package/src/js/aui/internal/i18n/aui_tr.js +31 -31
  175. package/src/js/aui/internal/i18n/aui_uk.js +31 -31
  176. package/src/js/aui/internal/i18n/aui_vi.js +31 -31
  177. package/src/js/aui/internal/i18n/aui_zh_CN.js +31 -31
  178. package/src/js/aui/internal/i18n/aui_zh_HK.js +31 -31
  179. package/src/js/aui/internal/i18n/aui_zh_TW.js +31 -31
  180. package/src/js/aui/internal/log.js +2 -6
  181. package/src/js/aui/internal/mediaQuery.js +2 -3
  182. package/src/js/aui/internal/select/option.js +3 -3
  183. package/src/js/aui/internal/select/suggestion-model.js +1 -1
  184. package/src/js/aui/internal/select/suggestions-model.js +4 -5
  185. package/src/js/aui/internal/select/suggestions-view.js +17 -12
  186. package/src/js/aui/internal/state.js +2 -3
  187. package/src/js/aui/is-clipped.js +2 -2
  188. package/src/js/aui/key-code.js +1 -1
  189. package/src/js/aui/label.js +6 -6
  190. package/src/js/aui/layer.js +101 -89
  191. package/src/js/aui/messages.js +67 -43
  192. package/src/js/aui/navigation.js +7 -9
  193. package/src/js/aui/on-text-resize.js +7 -5
  194. package/src/js/aui/params.js +11 -8
  195. package/src/js/aui/polyfills/custom-event.js +7 -7
  196. package/src/js/aui/polyfills/placeholder.js +4 -4
  197. package/src/js/aui/populate-parameters.js +4 -4
  198. package/src/js/aui/progress-indicator.js +35 -27
  199. package/src/js/aui/progressive-data-set.js +13 -8
  200. package/src/js/aui/query-input.js +1 -1
  201. package/src/js/aui/restful-table/class-names.js +1 -1
  202. package/src/js/aui/restful-table/data-keys.js +1 -1
  203. package/src/js/aui/restful-table/edit-row.js +63 -63
  204. package/src/js/aui/restful-table/entry-model.js +6 -13
  205. package/src/js/aui/restful-table/event-handlers.js +4 -8
  206. package/src/js/aui/restful-table/event-names.js +1 -1
  207. package/src/js/aui/restful-table/row.js +41 -23
  208. package/src/js/aui/restful-table.js +101 -72
  209. package/src/js/aui/result-set.js +5 -5
  210. package/src/js/aui/results-list.js +3 -3
  211. package/src/js/aui/select.js +72 -51
  212. package/src/js/aui/select2.js +16 -8
  213. package/src/js/aui/sidebar.js +81 -51
  214. package/src/js/aui/spin.js +61 -49
  215. package/src/js/aui/spinner.js +11 -12
  216. package/src/js/aui/tables-sortable.js +21 -10
  217. package/src/js/aui/tabs.js +108 -77
  218. package/src/js/aui/to-init.js +1 -1
  219. package/src/js/aui/toggle.js +55 -43
  220. package/src/js/aui/tooltip.js +35 -34
  221. package/src/js/aui/trigger.js +20 -18
  222. package/src/js/aui/truncating-progressive-data-set.js +1 -1
  223. package/src/js/aui/unbind-text-resize.js +1 -1
  224. package/src/js/aui/unique-id.js +1 -1
  225. package/src/js/aui/when-i-type.js +66 -39
  226. package/src/js/aui-css-deprecations.js +52 -51
  227. package/src/js/jquery/jquery.hotkeys.js +124 -49
  228. package/src/js/jquery/jquery.moveto.js +18 -12
  229. package/src/less/adg-fancy-file-input.less +2 -3
  230. package/src/less/adg-header-quicksearch.less +4 -1
  231. package/src/less/adg-iconfont.less +242 -242
  232. package/src/less/adgs-icons.less +262 -262
  233. package/src/less/aui-appheader.less +11 -7
  234. package/src/less/aui-avatars.less +1 -1
  235. package/src/less/aui-banner.less +2 -1
  236. package/src/less/aui-buttons.less +6 -5
  237. package/src/less/aui-dark-mode.less +1 -1
  238. package/src/less/aui-date-picker.less +9 -6
  239. package/src/less/aui-experimental-expander.less +3 -3
  240. package/src/less/aui-experimental-labels.less +1 -1
  241. package/src/less/aui-experimental-progress-indicator.less +10 -4
  242. package/src/less/aui-experimental-progress-tracker.less +9 -6
  243. package/src/less/aui-experimental-restfultable.less +11 -3
  244. package/src/less/aui-experimental-tables-sortable.less +5 -3
  245. package/src/less/aui-experimental-tooltip.less +1 -1
  246. package/src/less/aui-link.less +0 -1
  247. package/src/less/aui-lozenge.less +6 -3
  248. package/src/less/aui-navigation.less +13 -13
  249. package/src/less/aui-page-layout.less +3 -4
  250. package/src/less/aui-page-typography.less +8 -3
  251. package/src/less/aui-reset.less +22 -6
  252. package/src/less/aui-select2.less +11 -8
  253. package/src/less/aui-sidebar-badges.less +1 -2
  254. package/src/less/aui-sidebar-config.less +7 -2
  255. package/src/less/aui-sidebar-grouping.less +16 -6
  256. package/src/less/aui-sidebar-navigation.less +7 -5
  257. package/src/less/aui-sidebar-skeleton.less +12 -7
  258. package/src/less/aui-skip-link.less +2 -1
  259. package/src/less/aui-spinner.less +2 -2
  260. package/src/less/aui-toggle.less +2 -2
  261. package/src/less/aui-toolbar2.less +1 -1
  262. package/src/less/checkbox-multiselect.less +13 -13
  263. package/src/less/dialog.less +3 -3
  264. package/src/less/dialog2.less +11 -10
  265. package/src/less/dropdown2-temp.css +4 -4
  266. package/src/less/dropdown2.less +4 -4
  267. package/src/less/flag.less +2 -2
  268. package/src/less/form-notification.less +10 -6
  269. package/src/less/forms-current.less +6 -5
  270. package/src/less/forms-legacy.less +4 -2
  271. package/src/less/forms-radios-and-checkboxes.less +18 -16
  272. package/src/less/forms.less +2 -4
  273. package/src/less/iconfont-mixin.less +7 -4
  274. package/src/less/imports/aui-theme/adg/adg-colors.less +40 -40
  275. package/src/less/imports/aui-theme/adg/adg-neutral-dark.less +20 -20
  276. package/src/less/imports/aui-theme/adg/adg-neutral-light.less +20 -20
  277. package/src/less/imports/aui-theme/components/buttons.less +5 -1
  278. package/src/less/imports/aui-theme/components/dropdown.less +3 -1
  279. package/src/less/imports/aui-theme/components/flag.less +1 -1
  280. package/src/less/imports/aui-theme/components/form-notification.less +2 -1
  281. package/src/less/imports/aui-theme/components/forms.less +20 -3
  282. package/src/less/imports/aui-theme/components/inline-dialog2.less +1 -1
  283. package/src/less/imports/aui-theme/components/navigation.less +3 -3
  284. package/src/less/imports/aui-theme/components/progress-tracker.less +6 -2
  285. package/src/less/imports/aui-theme/components/tables.less +3 -2
  286. package/src/less/imports/aui-theme/components/toggle.less +8 -3
  287. package/src/less/imports/aui-theme/core/icons.less +22 -22
  288. package/src/less/imports/aui-theme/core/spaces.less +1 -1
  289. package/src/less/imports/aui-theme/core/text.less +6 -3
  290. package/src/less/imports/aui-theme/theme.less +1 -3
  291. package/src/less/imports/mixins/dropdown2-trigger-chevron-icon.less +0 -1
  292. package/src/less/imports/mixins/focus.less +12 -4
  293. package/src/less/imports/mixins/media-queries.less +2 -2
  294. package/src/less/imports/mixins/shadows.less +3 -1
  295. package/src/less/imports/mixins/tab-indicator.less +2 -2
  296. package/src/less/imports/mixins.less +11 -4
  297. package/src/less/inline-dialog.less +21 -19
  298. package/src/less/layer.less +0 -2
  299. package/src/less/messages.less +2 -1
  300. package/src/less/single-select.less +15 -10
  301. package/src/less/tables.less +3 -2
  302. package/src/less/tabs.less +4 -3
  303. package/entry/token-themes-generated/npm/themes/typography.js +0 -27
@@ -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);
@@ -335,57 +352,68 @@ function InlineDialog (items, identifier, url, options) {
335
352
  // Ideally we should throw an error if the $items has no selector but that is backwards incompatible,
336
353
  // so we warn and do a no-op - this emulates the behaviour of live() but has the added warning.
337
354
  if ($items.selector) {
338
- $(document).on('mouseenter', $items.selector, function (e) {
339
- appendPopup();
340
- initPopup(e, this);
341
- }).on('mouseleave', $items.selector, function () {
342
- hidePopup();
343
- });
355
+ $(document)
356
+ .on('mouseenter', $items.selector, function (e) {
357
+ appendPopup();
358
+ initPopup(e, this);
359
+ })
360
+ .on('mouseleave', $items.selector, function () {
361
+ hidePopup();
362
+ });
344
363
  } else {
345
- logger.log('Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.');
364
+ logger.log(
365
+ 'Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.'
366
+ );
346
367
  }
347
368
  } else {
348
369
  $items.on({
349
370
  mouseenter: function (e) {
350
371
  appendPopup();
351
- initPopup(e,this);
372
+ initPopup(e, this);
352
373
  },
353
374
  mouseleave: function () {
354
375
  hidePopup();
355
- }
376
+ },
356
377
  });
357
378
  }
358
379
  } else {
359
- if (!opts.noBind) { //Check if the noBind option is turned on
380
+ if (!opts.noBind) {
381
+ //Check if the noBind option is turned on
360
382
  if (opts.useLiveEvents) {
361
383
  // See above for why we filter by .selector
362
384
  if ($items.selector) {
363
- $(document).on('click', $items.selector, function (e) {
385
+ $(document)
386
+ .on('click', $items.selector, function (e) {
387
+ appendPopup();
388
+ if (shouldCloseOnTriggerClick()) {
389
+ popup.hide();
390
+ } else {
391
+ initPopup(e, this);
392
+ }
393
+ return false;
394
+ })
395
+ .on('mouseleave', $items.selector, function () {
396
+ hidePopup();
397
+ });
398
+ } else {
399
+ logger.log(
400
+ 'Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.'
401
+ );
402
+ }
403
+ } else {
404
+ $items
405
+ .on('click', function (e) {
364
406
  appendPopup();
365
407
  if (shouldCloseOnTriggerClick()) {
366
408
  popup.hide();
367
409
  } else {
368
- initPopup(e,this);
410
+ initPopup(e, this);
369
411
  }
370
412
  return false;
371
- }).on('mouseleave', $items.selector, function () {
413
+ })
414
+ .on('mouseleave', function () {
372
415
  hidePopup();
373
416
  });
374
- } else {
375
- logger.log('Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.');
376
- }
377
- } else {
378
- $items.on('click', function (e) {
379
- appendPopup();
380
- if (shouldCloseOnTriggerClick()) {
381
- popup.hide();
382
- } else {
383
- initPopup(e,this);
384
- }
385
- return false;
386
- }).on('mouseleave', function () {
387
- hidePopup();
388
- });
389
417
  }
390
418
  }
391
419
  }
@@ -417,7 +445,10 @@ function InlineDialog (items, identifier, url, options) {
417
445
  $('body').bind('click.' + externalClickNamespace, function (e) {
418
446
  var $target = $(e.target);
419
447
  // hide the popup if the target of the event is not in the dialog
420
- if ($target.closest('#inline-dialog-' + escapedIdentifier + ' .contents').length === 0) {
448
+ if (
449
+ $target.closest('#inline-dialog-' + escapedIdentifier + ' .contents').length ===
450
+ 0
451
+ ) {
421
452
  hidePopup(0);
422
453
  }
423
454
  });
@@ -509,21 +540,27 @@ function dimensionsOf(el) {
509
540
  }
510
541
 
511
542
  function getDimensions(popup, targetPosition, mousePosition, opts) {
512
- var offsetX = $.isFunction(opts.offsetX) ? opts.offsetX(popup, targetPosition, mousePosition, opts) : opts.offsetX;
513
- var offsetY = $.isFunction(opts.offsetY) ? opts.offsetY(popup, targetPosition, mousePosition, opts) : opts.offsetY;
514
- var arrowOffsetX = $.isFunction(opts.arrowOffsetX) ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetX;
515
- var arrowOffsetY = $.isFunction(opts.arrowOffsetY) ? opts.arrowOffsetY(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetY;
543
+ var offsetX = $.isFunction(opts.offsetX)
544
+ ? opts.offsetX(popup, targetPosition, mousePosition, opts)
545
+ : opts.offsetX;
546
+ var offsetY = $.isFunction(opts.offsetY)
547
+ ? opts.offsetY(popup, targetPosition, mousePosition, opts)
548
+ : opts.offsetY;
549
+ var arrowOffsetX = $.isFunction(opts.arrowOffsetX)
550
+ ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts)
551
+ : opts.arrowOffsetX;
552
+ var arrowOffsetY = $.isFunction(opts.arrowOffsetY)
553
+ ? opts.arrowOffsetY(popup, targetPosition, mousePosition, opts)
554
+ : opts.arrowOffsetY;
516
555
 
517
556
  // Support positioning inside a scroll container other than <body>
518
557
  var isConstrainedScroll = opts.container.toLowerCase() !== 'body';
519
558
  var $scrollContainer = $(opts.container);
520
- var $scrollWindow = isConstrainedScroll ?
521
- $(opts.container).parent() :
522
- $(window);
523
- var scrollContainerOffset = isConstrainedScroll ?
524
- $scrollContainer.offset() : {left: 0, top: 0};
525
- var scrollWindowOffset = isConstrainedScroll ?
526
- $scrollWindow.offset() : {left: 0, top: 0};
559
+ var $scrollWindow = isConstrainedScroll ? $(opts.container).parent() : $(window);
560
+ var scrollContainerOffset = isConstrainedScroll
561
+ ? $scrollContainer.offset()
562
+ : { left: 0, top: 0 };
563
+ var scrollWindowOffset = isConstrainedScroll ? $scrollWindow.offset() : { left: 0, top: 0 };
527
564
 
528
565
  var trigger = targetPosition.target;
529
566
  var triggerOffset = trigger.offset();
@@ -542,34 +579,34 @@ function getDimensions(popup, targetPosition, mousePosition, opts) {
542
579
  scrollTop: $scrollWindow.scrollTop(),
543
580
  scrollLeft: $scrollWindow.scrollLeft(),
544
581
  width: $scrollWindow.width(),
545
- height: $scrollWindow.height()
582
+ height: $scrollWindow.height(),
546
583
  },
547
584
  scrollContainer: {
548
585
  width: $scrollContainer.width(),
549
- height: $scrollContainer.height()
586
+ height: $scrollContainer.height(),
550
587
  },
551
588
  // Position of the trigger is relative to the scroll container
552
589
  trigger: {
553
590
  top: triggerOffset.top - scrollContainerOffset.top,
554
591
  left: triggerOffset.left - scrollContainerOffset.left,
555
592
  width: triggerBBox ? triggerBBox.width : trigger.outerWidth(),
556
- height: triggerBBox ? triggerBBox.height : trigger.outerHeight()
593
+ height: triggerBBox ? triggerBBox.height : trigger.outerHeight(),
557
594
  },
558
595
  dialog: {
559
596
  width: popup.width(),
560
597
  height: popup.height(),
561
598
  offset: {
562
599
  top: offsetY,
563
- left: offsetX
564
- }
600
+ left: offsetX,
601
+ },
565
602
  },
566
603
  arrow: {
567
604
  height: popup.find('.arrow').outerHeight(),
568
605
  offset: {
569
606
  top: arrowOffsetY,
570
- left: arrowOffsetX
571
- }
572
- }
607
+ left: arrowOffsetX,
608
+ },
609
+ },
573
610
  };
574
611
  }
575
612
 
@@ -584,7 +621,7 @@ function calculateWestPositions(popup, targetPosition, mousePosition, opts) {
584
621
 
585
622
  var triggerScrollOffset = {
586
623
  top: trigger.top - win.scrollTop,
587
- left: trigger.left - win.scrollLeft
624
+ left: trigger.left - win.scrollLeft,
588
625
  };
589
626
 
590
627
  // Halves - because the browser doesn't do sub-pixel positioning, we need to consistently floor
@@ -597,7 +634,12 @@ function calculateWestPositions(popup, targetPosition, mousePosition, opts) {
597
634
  var spaceOnLeft = triggerScrollOffset.left - dialog.offset.left - screenPadding;
598
635
 
599
636
  // This implementation may not be suitable for horizontally scrolling containers
600
- var spaceOnRight = scrollContainer.width - triggerScrollOffset.left - trigger.width - dialog.offset.left - screenPadding;
637
+ var spaceOnRight =
638
+ scrollContainer.width -
639
+ triggerScrollOffset.left -
640
+ trigger.width -
641
+ dialog.offset.left -
642
+ screenPadding;
601
643
 
602
644
  var enoughSpaceOnLeft = spaceOnLeft >= dialog.width;
603
645
  var enoughSpaceOnRight = spaceOnRight >= dialog.width;
@@ -622,46 +664,55 @@ function calculateWestPositions(popup, targetPosition, mousePosition, opts) {
622
664
  if (isOverflowingAbove) {
623
665
  popupCss = {
624
666
  top: win.scrollTop + screenPadding,
625
- left: gravity === 'w' ?
626
- trigger.left + trigger.width + dialog.offset.left :
627
- trigger.left - dialog.width - dialog.offset.left
667
+ left:
668
+ gravity === 'w'
669
+ ? trigger.left + trigger.width + dialog.offset.left
670
+ : trigger.left - dialog.width - dialog.offset.left,
628
671
  };
629
672
  arrowCss = {
630
- top: (trigger.top + halfTriggerHeight) - (popupCss.top + halfArrowHeight)
673
+ top: trigger.top + halfTriggerHeight - (popupCss.top + halfArrowHeight),
631
674
  };
632
675
  } else if (isOverflowingBelow) {
633
676
  popupCss = {
634
677
  top: win.scrollTop + win.height - dialog.height - screenPadding,
635
- left: gravity === 'w' ?
636
- trigger.left + trigger.width + dialog.offset.left :
637
- trigger.left - dialog.width - dialog.offset.left
678
+ left:
679
+ gravity === 'w'
680
+ ? trigger.left + trigger.width + dialog.offset.left
681
+ : trigger.left - dialog.width - dialog.offset.left,
638
682
  };
639
683
  arrowCss = {
640
- top: (trigger.top + halfTriggerHeight) - (popupCss.top + halfArrowHeight)
684
+ top: trigger.top + halfTriggerHeight - (popupCss.top + halfArrowHeight),
641
685
  };
642
686
  } else {
643
687
  popupCss = {
644
688
  top: trigger.top + halfTriggerHeight - halfPopupHeight + dialog.offset.top,
645
- left: gravity === 'w' ?
646
- trigger.left + trigger.width + dialog.offset.left :
647
- trigger.left - dialog.width - dialog.offset.left
689
+ left:
690
+ gravity === 'w'
691
+ ? trigger.left + trigger.width + dialog.offset.left
692
+ : trigger.left - dialog.width - dialog.offset.left,
648
693
  };
649
694
  arrowCss = {
650
- top: halfPopupHeight - halfArrowHeight + arrow.offset.top
695
+ top: halfPopupHeight - halfArrowHeight + arrow.offset.top,
651
696
  };
652
697
  }
653
698
 
654
699
  return {
655
700
  gravity: gravity,
656
701
  popupCss: popupCss,
657
- arrowCss: arrowCss
702
+ arrowCss: arrowCss,
658
703
  };
659
704
  }
660
705
 
661
706
  function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts) {
662
- var offsetX = $.isFunction(opts.offsetX) ? opts.offsetX(popup, targetPosition, mousePosition, opts) : opts.offsetX;
663
- var offsetY = $.isFunction(opts.offsetY) ? opts.offsetY(popup, targetPosition, mousePosition, opts) : opts.offsetY;
664
- var arrowOffsetX = $.isFunction(opts.arrowOffsetX) ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetX;
707
+ var offsetX = $.isFunction(opts.offsetX)
708
+ ? opts.offsetX(popup, targetPosition, mousePosition, opts)
709
+ : opts.offsetX;
710
+ var offsetY = $.isFunction(opts.offsetY)
711
+ ? opts.offsetY(popup, targetPosition, mousePosition, opts)
712
+ : opts.offsetY;
713
+ var arrowOffsetX = $.isFunction(opts.arrowOffsetX)
714
+ ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts)
715
+ : opts.arrowOffsetX;
665
716
 
666
717
  var viewportDimensions = dimensionsOf(window);
667
718
  var targetDimensions = dimensionsOf(targetPosition.target);
@@ -669,7 +720,8 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
669
720
  var arrowDimensions = dimensionsOf(popup.find('.aui-inline-dialog-arrow'));
670
721
 
671
722
  var middleOfTrigger = targetDimensions.left + targetDimensions.width / 2; //The absolute x position of the middle of the Trigger
672
- var bottomOfViewablePage = (window.pageYOffset || document.documentElement.scrollTop) + viewportDimensions.height;
723
+ var bottomOfViewablePage =
724
+ (window.pageYOffset || document.documentElement.scrollTop) + viewportDimensions.height;
673
725
  var SCREEN_PADDING = 10; //determines how close to the edge the dialog needs to be before it is considered offscreen
674
726
 
675
727
  // Set popup's position (within the viewport)
@@ -677,7 +729,8 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
677
729
  popupDimensions.left = targetDimensions.left + ~~offsetX;
678
730
 
679
731
  // Calculate if the popup would render off the side of the viewport
680
- var diff = viewportDimensions.width - (popupDimensions.left + popupDimensions.width + SCREEN_PADDING);
732
+ var diff =
733
+ viewportDimensions.width - (popupDimensions.left + popupDimensions.width + SCREEN_PADDING);
681
734
 
682
735
  // Set arrow's position (within the popup)
683
736
  arrowDimensions.left = middleOfTrigger - popupDimensions.left + ~~arrowOffsetX;
@@ -686,28 +739,31 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
686
739
 
687
740
  // Check whether the popup should display above or below the trigger
688
741
  var enoughRoomAbove = targetDimensions.top > popupDimensions.height;
689
- var enoughRoomBelow = (popupDimensions.top + popupDimensions.height) < bottomOfViewablePage;
690
- var displayAbove = (!enoughRoomBelow && enoughRoomAbove) || (enoughRoomAbove && opts.gravity === 's');
742
+ var enoughRoomBelow = popupDimensions.top + popupDimensions.height < bottomOfViewablePage;
743
+ var displayAbove =
744
+ (!enoughRoomBelow && enoughRoomAbove) || (enoughRoomAbove && opts.gravity === 's');
691
745
 
692
746
  if (displayAbove) {
693
- popupDimensions.top = targetDimensions.top - popupDimensions.height - (arrowDimensions.height / 2);
747
+ popupDimensions.top =
748
+ targetDimensions.top - popupDimensions.height - arrowDimensions.height / 2;
694
749
  arrowDimensions.top = popupDimensions.height;
695
750
  }
696
751
 
697
752
  // Check if the popup should show up relative to the mouse
698
- if (opts.isRelativeToMouse){
699
- if (diff < 0){
753
+ if (opts.isRelativeToMouse) {
754
+ if (diff < 0) {
700
755
  popupDimensions.right = SCREEN_PADDING;
701
756
  popupDimensions.left = 'auto';
702
757
  // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?
703
- arrowDimensions.left = mousePosition.x - (viewportDimensions.width - popupDimensions.width);
758
+ arrowDimensions.left =
759
+ mousePosition.x - (viewportDimensions.width - popupDimensions.width);
704
760
  } else {
705
761
  popupDimensions.left = mousePosition.x - 20;
706
762
  // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?
707
763
  arrowDimensions.left = mousePosition.x - popupDimensions.left;
708
764
  }
709
765
  } else {
710
- if (diff < 0){
766
+ if (diff < 0) {
711
767
  popupDimensions.right = SCREEN_PADDING;
712
768
  popupDimensions.left = 'auto';
713
769
 
@@ -718,7 +774,7 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
718
774
  arrowDimensions.right = 'auto';
719
775
  // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?
720
776
  arrowDimensions.left = middleOfTrigger - popupLeftEdge - arrowDimensions.width / 2;
721
- } else if (popupDimensions.width <= targetDimensions.width / 2){
777
+ } else if (popupDimensions.width <= targetDimensions.width / 2) {
722
778
  // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?
723
779
  arrowDimensions.left = popupDimensions.width / 2;
724
780
  popupDimensions.left = middleOfTrigger - popupDimensions.width / 2;
@@ -726,21 +782,20 @@ function calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts
726
782
  }
727
783
  return {
728
784
  gravity: displayAbove ? 's' : 'n',
729
- displayAbove: displayAbove, // Replaced with gravity but remains for backward compatibility.
785
+ displayAbove: displayAbove, // Replaced with gravity but remains for backward compatibility.
730
786
  popupCss: {
731
787
  left: popupDimensions.left,
732
788
  top: popupDimensions.top,
733
- right: popupDimensions.right
789
+ right: popupDimensions.right,
734
790
  },
735
791
  arrowCss: {
736
792
  left: arrowDimensions.left,
737
793
  top: arrowDimensions.top,
738
- right: arrowDimensions.right
739
- }
794
+ right: arrowDimensions.right,
795
+ },
740
796
  };
741
797
  }
742
798
 
743
-
744
799
  InlineDialog.opts = {
745
800
  onTop: false,
746
801
  responseHandler: function (data) {
@@ -786,30 +841,29 @@ InlineDialog.opts = {
786
841
  */
787
842
  calculatePositions: function (popup, targetPosition, mousePosition, opts) {
788
843
  opts = opts || {};
789
- var algorithm = opts.gravity === 'w' ? calculateWestPositions : calculateNorthSouthPositions;
790
- return algorithm(popup, targetPosition, mousePosition, opts)
791
- }
844
+ var algorithm =
845
+ opts.gravity === 'w' ? calculateWestPositions : calculateNorthSouthPositions;
846
+ return algorithm(popup, targetPosition, mousePosition, opts);
847
+ },
792
848
  };
793
849
 
794
-
795
850
  // Deprecations
796
851
  // ------------
797
852
 
798
853
  InlineDialog = deprecate.construct(InlineDialog, 'Inline dialog constructor', {
799
- alternativeName: 'inline dialog 2'
854
+ alternativeName: 'inline dialog 2',
800
855
  });
801
856
 
802
857
  var displayAboveDeprecationLogger = deprecate.getMessageLogger('displayAbove', '[remove version]', {
803
858
  alternativeName: 'gravity',
804
- extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.'
859
+ extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.',
805
860
  });
806
861
 
807
862
  var onTopDeprecationLogger = deprecate.getMessageLogger('onTop', '[remove version]', {
808
863
  alternativeName: 'gravity',
809
- extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.'
864
+ extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.',
810
865
  });
811
866
 
812
-
813
867
  // Exporting
814
868
  // ---------
815
869