@atlassian/aui 7.10.0 → 7.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/changelog.md +51 -5
  2. package/dist/aui/css/aui-experimental.css.map +1 -1
  3. package/dist/aui/css/aui-experimental.min.css +1 -1
  4. package/dist/aui/css/aui-experimental.min.css.map +1 -1
  5. package/dist/aui/css/aui-iconfonts.min.css.map +1 -1
  6. package/dist/aui/css/aui.css.map +1 -1
  7. package/dist/aui/css/aui.min.css +8 -8
  8. package/dist/aui/css/aui.min.css.map +1 -1
  9. package/dist/aui/js/aui-css-deprecations.js +6 -6
  10. package/dist/aui/js/aui-css-deprecations.min.js +1 -1
  11. package/dist/aui/js/aui-datepicker.js +81 -39
  12. package/dist/aui/js/aui-datepicker.min.js +1 -1
  13. package/dist/aui/js/aui-experimental.js +279 -277
  14. package/dist/aui/js/aui-experimental.min.js +1 -1
  15. package/dist/aui/js/aui-header-async.js +6 -6
  16. package/dist/aui/js/aui-header-async.min.js +1 -1
  17. package/dist/aui/js/aui-soy.js +56 -56
  18. package/dist/aui/js/aui-soy.min.js +1 -1
  19. package/dist/aui/js/aui.js +2283 -1540
  20. package/dist/aui/js/aui.min.js +1 -1
  21. package/lib/css/aui-date-picker.css.map +1 -1
  22. package/lib/css/aui-experimental-tooltip.css.map +1 -1
  23. package/lib/css/aui-page-typography-legacy1.css.map +1 -1
  24. package/lib/css/aui-page-typography.css.map +1 -1
  25. package/lib/css/batch/aui-experimental.css.map +1 -1
  26. package/lib/css/batch/aui.css.map +1 -1
  27. package/lib/css/forms.css.map +1 -1
  28. package/lib/css/imports/aui-theme/core/atlaskit-theme/borders.css +2 -0
  29. package/lib/css/imports/aui-theme/core/atlaskit-theme/borders.css.map +1 -0
  30. package/lib/css/imports/aui-theme/core/atlaskit-theme/colors.css +2 -0
  31. package/lib/css/imports/aui-theme/core/atlaskit-theme/colors.css.map +1 -0
  32. package/lib/css/imports/aui-theme/core/atlaskit-theme/fonts.css +2 -0
  33. package/lib/css/imports/aui-theme/core/atlaskit-theme/fonts.css.map +1 -0
  34. package/lib/css/imports/aui-theme/core/colors.css.map +1 -1
  35. package/lib/css/imports/aui-theme/core/text.css.map +1 -1
  36. package/lib/js/aui/backbone.js.map +1 -1
  37. package/lib/js/aui/binder.js.map +1 -1
  38. package/lib/js/aui/binders/placeholder.js.map +1 -1
  39. package/lib/js/aui/button.js.map +1 -1
  40. package/lib/js/aui/checkbox-multiselect.js.map +1 -1
  41. package/lib/js/aui/date-picker.js +72 -26
  42. package/lib/js/aui/date-picker.js.map +1 -1
  43. package/lib/js/aui/dialog.js.map +1 -1
  44. package/lib/js/aui/dialog2.js.map +1 -1
  45. package/lib/js/aui/drop-down.js.map +1 -1
  46. package/lib/js/aui/dropdown2.js +7 -5
  47. package/lib/js/aui/dropdown2.js.map +1 -1
  48. package/lib/js/aui/fancy-file-input.js.map +1 -1
  49. package/lib/js/aui/flag.js.map +1 -1
  50. package/lib/js/aui/focus-manager-global.js.map +1 -1
  51. package/lib/js/aui/focus-manager.js.map +1 -1
  52. package/lib/js/aui/form-notification.js.map +1 -1
  53. package/lib/js/aui/form-validation/basic-validators.js.map +1 -1
  54. package/lib/js/aui/form-validation/validator-register.js.map +1 -1
  55. package/lib/js/aui/form-validation.js.map +1 -1
  56. package/lib/js/aui/header-async.js.map +1 -1
  57. package/lib/js/aui/i18n.js.map +1 -1
  58. package/lib/js/aui/inline-dialog.js.map +1 -1
  59. package/lib/js/aui/inline-dialog2.js.map +1 -1
  60. package/lib/js/aui/internal/alignment.js.map +1 -1
  61. package/lib/js/aui/internal/deprecation.js.map +1 -1
  62. package/lib/js/aui/internal/globalize.js.map +1 -1
  63. package/lib/js/aui/internal/header/create-header.js.map +1 -1
  64. package/lib/js/aui/internal/select/option.js +1 -1
  65. package/lib/js/aui/internal/select/option.js.map +1 -1
  66. package/lib/js/aui/internal/select/suggestion-model.js.map +1 -1
  67. package/lib/js/aui/internal/select/suggestions-view.js.map +1 -1
  68. package/lib/js/aui/internal/skate.js.map +1 -1
  69. package/lib/js/aui/internal/widget.js.map +1 -1
  70. package/lib/js/aui/label.js.map +1 -1
  71. package/lib/js/aui/layer-manager-global.js.map +1 -1
  72. package/lib/js/aui/layer-manager.js.map +1 -1
  73. package/lib/js/aui/layer.js.map +1 -1
  74. package/lib/js/aui/messages.js.map +1 -1
  75. package/lib/js/aui/navigation.js.map +1 -1
  76. package/lib/js/aui/polyfills/placeholder.js.map +1 -1
  77. package/lib/js/aui/populate-parameters.js.map +1 -1
  78. package/lib/js/aui/progress-indicator.js.map +1 -1
  79. package/lib/js/aui/progressive-data-set.js.map +1 -1
  80. package/lib/js/aui/query-input.js.map +1 -1
  81. package/lib/js/aui/restful-table/custom-create-view.js.map +1 -1
  82. package/lib/js/aui/restful-table/custom-edit-view.js.map +1 -1
  83. package/lib/js/aui/restful-table/custom-read-view.js.map +1 -1
  84. package/lib/js/aui/restful-table/edit-row.js.map +1 -1
  85. package/lib/js/aui/restful-table/entry-model.js.map +1 -1
  86. package/lib/js/aui/restful-table/row.js.map +1 -1
  87. package/lib/js/aui/restful-table.js +3 -1
  88. package/lib/js/aui/restful-table.js.map +1 -1
  89. package/lib/js/aui/result-set.js.map +1 -1
  90. package/lib/js/aui/results-list.js.map +1 -1
  91. package/lib/js/aui/select.js.map +1 -1
  92. package/lib/js/aui/select2.js.map +1 -1
  93. package/lib/js/aui/setup.js.map +1 -1
  94. package/lib/js/aui/sidebar.js.map +1 -1
  95. package/lib/js/aui/spin.js.map +1 -1
  96. package/lib/js/aui/spinner.js.map +1 -1
  97. package/lib/js/aui/tables-sortable.js.map +1 -1
  98. package/lib/js/aui/tabs.js +6 -1
  99. package/lib/js/aui/tabs.js.map +1 -1
  100. package/lib/js/aui/template.js.map +1 -1
  101. package/lib/js/aui/toggle.js.map +1 -1
  102. package/lib/js/aui/tooltip.js.map +1 -1
  103. package/lib/js/aui/trigger.js.map +1 -1
  104. package/lib/js/aui/truncating-progressive-data-set.js.map +1 -1
  105. package/lib/js/aui/unbind-text-resize.js.map +1 -1
  106. package/lib/js/aui/underscore.js.map +1 -1
  107. package/lib/js/aui/version.js +1 -1
  108. package/lib/js/aui/version.js.map +1 -1
  109. package/lib/js/aui/when-i-type.js.map +1 -1
  110. package/lib/js/aui-css-deprecations.js.map +1 -1
  111. package/lib/js-vendor/jquery/jquery-ui/jquery.ui.dialog.js +30 -3
  112. package/package.json +57 -44
  113. package/src/js/aui/date-picker.js +64 -25
  114. package/src/js/aui/dropdown2.js +2 -1
  115. package/src/js/aui/internal/select/option.js +1 -1
  116. package/src/js/aui/restful-table.js +3 -1
  117. package/src/js/aui/tabs.js +6 -1
  118. package/src/js-vendor/jquery/jquery-ui/jquery.ui.dialog.js +30 -3
  119. package/src/less/imports/aui-theme/core/atlaskit-theme/borders.less +1 -0
  120. package/src/less/imports/aui-theme/core/atlaskit-theme/colors.less +112 -0
  121. package/src/less/imports/aui-theme/core/atlaskit-theme/fonts.less +3 -0
  122. package/src/less/imports/aui-theme/core/colors.less +1 -1
  123. package/src/less/imports/aui-theme/core/text.less +1 -1
  124. package/yarn.lock +8161 -3856
  125. package/lib/js-vendor/jquery/jquery-ui/jquery-ui.js +0 -11396
  126. package/lib/js-vendor/underscorejs/underscore.js +0 -1287
  127. package/src/js-vendor/jquery/jquery-ui/jquery-ui.js +0 -11396
  128. package/src/js-vendor/underscorejs/underscore.js +0 -1287
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/inline-dialog.js"],"names":["deprecate","logger","InlineDialog","items","identifier","url","options","hasOwnProperty","onTopDeprecationLogger","onTop","gravity","undefined","String","Math","random","replace","length","escapedIdentifier","opts","extend","offsetX","offsetY","hash","hideDelayTimer","showTimer","beingShown","shouldShow","contentLoaded","mousePosition","targetPosition","popup","arrow","contents","find","displayShadow","addClass","autoWidth","width","on","mouseenter","clearTimeout","unbind","mouseleave","hidePopup","getHash","hide","id","show","showPopup","persistent","reset","drawPopup","positions","css","popupCss","removeClass","hasClass","arrowCss","viewportHeight","window","height","popupMaxHeight","round","children","calculatePositions","displayAboveDeprecationLogger","displayAbove","fadeIn","fadeTime","jQueryCache","prepend","outerWidth","outerHeight","is","setTimeout","addActiveClass","bindHideEvents","current","document","trigger","showDelay","delay","get","_datePickerPopup","preHideCallback","call","hideDelay","unbindHideEvents","fadeOut","hideCallback","cacheContent","contentLoading","initPopup","e","$trigger","upfrontCallback","each","closeOthers","target","x","offset","left","y","top","pageX","pageY","doShowPopup","initCallback","isFunction","data","status","xhr","html","responseHandler","added","appendPopup","container","append","$items","onHover","useLiveEvents","selector","log","noBind","shouldCloseOnTriggerClick","closeOnTriggerClick","bindHideOnExternalClick","bindHideOnEscPressed","unbindHideOnExternalClick","unbindHideOnEscPressed","hasBoundOnExternalClick","externalClickNamespace","bind","$target","closest","onKeydown","keyCode","ESCAPE","off","stopPropagation","refresh","getOptions","dimensionsOf","el","$el","getDimensions","arrowOffsetX","arrowOffsetY","isConstrainedScroll","toLowerCase","$scrollContainer","$scrollWindow","parent","scrollContainerOffset","scrollWindowOffset","triggerOffset","triggerBBox","getBBox","screenPadding","arrowMargin","scrollTop","scrollLeft","scrollContainer","dialog","calculateWestPositions","dimensions","win","triggerScrollOffset","halfTriggerHeight","floor","halfPopupHeight","halfArrowHeight","spaceOnLeft","spaceOnRight","enoughSpaceOnLeft","enoughSpaceOnRight","arrowScreenTop","arrowScreenBottom","min","middleOfTrigger","spaceAboveMiddleOfTrigger","max","spaceBelowMiddleOfTrigger","isOverflowingAbove","isOverflowingBelow","calculateNorthSouthPositions","viewportDimensions","targetDimensions","popupDimensions","arrowDimensions","bottomOfViewablePage","pageYOffset","documentElement","SCREEN_PADDING","diff","enoughRoomAbove","enoughRoomBelow","isRelativeToMouse","right","popupRightEdge","popupLeftEdge","algorithm","construct","alternativeName","getMessageLogger","extraInfo"],"mappings":"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","file":"inline-dialog.js","sourcesContent":["/* eslint quotmark:off, eqeqeq:off, strict:off, complexity:off */\n\n'use strict';\n\nimport $ from './jquery';\nimport { needsLayeringShim } from './internal/browser';\nimport * as deprecate from './internal/deprecation';\nimport * as logger from './internal/log';\nimport globalize from './internal/globalize';\nimport keyCode from './key-code';\nimport cssEscape from 'css.escape';\n\n/**\n * Creates a new inline dialog.\n *\n * @param items jQuery object - the items that trigger the display of this popup when the user mouses over.\n * @param identifier A unique identifier for this popup. This should be unique across all popups on the page and a valid CSS class.\n * @param url The URL to retrieve popup contents.\n * @param options Custom options to change default behaviour. See InlineDialog.opts for default values and valid options.\n */\nfunction InlineDialog (items, identifier, url, options) {\n options = options || [];\n\n if (options.hasOwnProperty('onTop')) {\n onTopDeprecationLogger();\n if (options.onTop && options.gravity === undefined) {\n options.gravity = 's';\n }\n }\n\n // attempt to generate a random identifier if it doesn't exist\n if (typeof identifier === 'undefined') {\n identifier = String(Math.random()).replace('.', '');\n\n // if the generated supplied identifier already exists when combined with the prefixes we'll be using, then bail\n if ($('#inline-dialog-' + identifier + ', #arrow-' + identifier + ', #inline-dialog-shim-' + identifier).length) {\n throw 'GENERATED_IDENTIFIER_NOT_UNIQUE';\n }\n }\n\n const escapedIdentifier = cssEscape(identifier);\n\n var opts = $.extend(false, InlineDialog.opts, options);\n if (opts.gravity === 'w') {\n // TODO Once support for gravity: 'e' is added, it should also\n // transpose the defaults for offsetX and offsetY.\n opts.offsetX = options.offsetX === undefined ? 10 : options.offsetX;\n opts.offsetY = options.offsetY === undefined ? 0 : options.offsetY;\n }\n\n var hash;\n var hideDelayTimer;\n var showTimer;\n var beingShown = false;\n var shouldShow = false;\n var contentLoaded = false;\n var mousePosition;\n var targetPosition;\n var popup = $('<div id=\"inline-dialog-' + identifier +\n '\" class=\"aui-inline-dialog\"><div class=\"aui-inline-dialog-contents contents\"></div><div id=\"arrow-' +\n identifier + '\" class=\"aui-inline-dialog-arrow arrow aui-css-arrow\"></div></div>');\n\n var arrow = $('#arrow-' + escapedIdentifier, popup);\n var contents = popup.find('.contents');\n\n if (!opts.displayShadow) {\n contents.addClass('aui-inline-dialog-no-shadow');\n }\n\n if (opts.autoWidth) {\n contents.addClass('aui-inline-dialog-auto-width');\n } else {\n contents.width(opts.width);\n }\n\n contents.on({\n mouseenter: function () {\n clearTimeout(hideDelayTimer);\n popup.unbind('mouseenter');\n },\n mouseleave: function () {\n hidePopup();\n }\n });\n\n var getHash = function () {\n if (!hash) {\n hash = {\n popup: popup,\n hide: function () {\n hidePopup(0);\n },\n id: identifier,\n show: function () {\n showPopup();\n },\n persistent: opts.persistent ? true : false,\n reset: function () {\n\n function drawPopup (popup, positions) {\n //Position the popup using the left and right parameters\n popup.css(positions.popupCss);\n\n arrow.removeClass('aui-bottom-arrow aui-left-arrow aui-right-arrow');\n if (positions.gravity === 's' && !arrow.hasClass('aui-bottom-arrow')) {\n arrow.addClass('aui-bottom-arrow');\n } else if (positions.gravity === 'w') {\n arrow.addClass('aui-left-arrow');\n } else if (positions.gravity === 'e') {\n arrow.addClass('aui-right-arrow');\n }\n // Default styles are for 'n' gravity.\n\n arrow.css(positions.arrowCss);\n }\n\n //DRAW POPUP\n var viewportHeight = $(window).height();\n var popupMaxHeight = Math.round(viewportHeight * 0.75);\n popup.children('.aui-inline-dialog-contents')\n .css('max-height', popupMaxHeight);\n\n var positions = opts.calculatePositions(popup, targetPosition, mousePosition, opts);\n if (positions.hasOwnProperty('displayAbove')) {\n displayAboveDeprecationLogger();\n positions.gravity = positions.displayAbove ? 's' : 'n';\n }\n\n drawPopup(popup, positions);\n\n // reset position of popup box\n popup.fadeIn(opts.fadeTime, function () {\n // once the animation is complete, set the tracker variables\n // beingShown = false; // is this necessary? Maybe only the shouldShow will have to be reset?\n });\n\n if (needsLayeringShim()) {\n // iframeShim, prepend if it doesnt exist\n var jQueryCache = $('#inline-dialog-shim-' + escapedIdentifier);\n if (!jQueryCache.length) {\n $(popup).prepend($('<iframe class = \"inline-dialog-shim\" id=\"inline-dialog-shim-' + identifier + '\" frameBorder=\"0\" src=\"javascript:false;\"></iframe>'));\n }\n // adjust height and width of shim according to the popup\n jQueryCache.css({\n width: contents.outerWidth(),\n height: contents.outerHeight()\n });\n }\n }\n };\n }\n return hash;\n };\n\n var showPopup = function () {\n if (popup.is(':visible')) {\n return;\n }\n showTimer = setTimeout(function () {\n if (!contentLoaded || !shouldShow) {\n return;\n }\n opts.addActiveClass && $(items).addClass('active');\n beingShown = true;\n if (!opts.persistent) {\n bindHideEvents();\n }\n InlineDialog.current = getHash();\n $(document).trigger('showLayer', ['inlineDialog', getHash()]);\n // retrieve the position of the click target. The offsets might be different for different types of targets and therefore\n // either have to be customisable or we will have to be smarter about calculating the padding and elements around it\n\n getHash().reset();\n\n }, opts.showDelay);\n };\n\n var hidePopup = function (delay) {\n // do not auto hide the popup if persistent is set as true\n if (typeof delay === 'undefined' && opts.persistent) {\n return;\n }\n if (typeof popup.get(0)._datePickerPopup !== 'undefined') {\n // AUI-2696 - This inline dialog is host to a date picker... so we shouldn't close it.\n return;\n }\n\n shouldShow = false;\n // only exectute the below if the popup is currently being shown\n // and the arbitrator callback gives us the green light\n if (beingShown && opts.preHideCallback.call(popup[0].popup)) {\n delay = (delay == null) ? opts.hideDelay : delay;\n clearTimeout(hideDelayTimer);\n clearTimeout(showTimer);\n // store the timer so that it can be cleared in the mouseenter if required\n //disable auto-hide if user passes null for hideDelay\n if (delay != null) {\n hideDelayTimer = setTimeout(function () {\n unbindHideEvents();\n opts.addActiveClass && $(items).removeClass('active');\n popup.fadeOut(opts.fadeTime, function () {\n opts.hideCallback.call(popup[0].popup);\n });\n beingShown = false;\n shouldShow = false;\n $(document).trigger('hideLayer', ['inlineDialog', getHash()]);\n InlineDialog.current = null;\n if (!opts.cacheContent) {\n //if not caching the content, then reset the\n //flags to false so as to reload the content\n //on next mouse hover.\n contentLoaded = false;\n contentLoading = false;\n }\n\n }, delay);\n }\n\n }\n };\n\n // the trigger is the jquery element that is triggering the popup (i.e., the element that the mousemove event is bound to)\n var initPopup = function (e, trigger) {\n var $trigger = $(trigger);\n\n opts.upfrontCallback.call({\n popup: popup,\n hide: function () {\n hidePopup(0);\n },\n id: identifier,\n show: function () {\n showPopup();\n }\n });\n\n popup.each(function () {\n if (typeof this.popup !== 'undefined') {\n this.popup.hide();\n }\n });\n\n //Close all other popups if neccessary\n if (opts.closeOthers) {\n $('.aui-inline-dialog').each(function () {\n !this.popup.persistent && this.popup.hide();\n });\n }\n\n //handle programmatic showing where there is no event\n targetPosition = {target: $trigger};\n if (!e) {\n mousePosition = {x: $trigger.offset().left, y: $trigger.offset().top};\n } else {\n mousePosition = {x: e.pageX, y: e.pageY};\n }\n\n\n\n if (!beingShown) {\n clearTimeout(showTimer);\n }\n shouldShow = true;\n var doShowPopup = function () {\n contentLoading = false;\n contentLoaded = true;\n opts.initCallback.call({\n popup: popup,\n hide: function () {\n hidePopup(0);\n },\n id: identifier,\n show: function () {\n showPopup();\n }\n });\n showPopup();\n };\n // lazy load popup contents\n if (!contentLoading) {\n contentLoading = true;\n if ($.isFunction(url)) {\n // If the passed in URL is a function, execute it. Otherwise simply load the content.\n url(contents, trigger, doShowPopup);\n } else {\n //Retrive response from server\n $.get(url, function (data, status, xhr) {\n //Load HTML contents into the popup\n contents.html(opts.responseHandler(data, status, xhr));\n //Show the popup\n contentLoaded = true;\n opts.initCallback.call({\n popup: popup,\n hide: function () {\n hidePopup(0);\n },\n id: identifier,\n show: function () {\n showPopup();\n }\n });\n showPopup();\n });\n }\n }\n // stops the hide event if we move from the trigger to the popup element\n clearTimeout(hideDelayTimer);\n // don't trigger the animation again if we're being shown\n if (!beingShown) {\n showPopup();\n }\n return false;\n };\n\n popup[0].popup = getHash();\n\n var contentLoading = false;\n var added = false;\n var appendPopup = function () {\n if (!added) {\n $(opts.container).append(popup);\n added = true;\n }\n };\n var $items = $(items);\n\n if (opts.onHover) {\n if (opts.useLiveEvents) {\n // We're using .on() to emulate the behaviour of .live() here. on() requires the jQuery object to have\n // a selector - this is actually how .live() is implemented in jQuery 1.7+.\n // Note that .selector is deleted in jQuery 1.9+.\n // This means that jQuery objects created by selection eg $(\".my-class-selector\") will work, but\n // object created by DOM parsing eg $(\"<div class='.my-class'></div>\") will not work.\n // Ideally we should throw an error if the $items has no selector but that is backwards incompatible,\n // so we warn and do a no-op - this emulates the behaviour of live() but has the added warning.\n if ($items.selector) {\n $(document).on('mouseenter', $items.selector, function (e) {\n appendPopup();\n initPopup(e, this);\n }).on('mouseleave', $items.selector, function () {\n hidePopup();\n });\n } else {\n logger.log('Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.');\n }\n } else {\n $items.on({\n mouseenter: function (e) {\n appendPopup();\n initPopup(e,this);\n },\n mouseleave: function () {\n hidePopup();\n }\n });\n }\n } else {\n if (!opts.noBind) { //Check if the noBind option is turned on\n if (opts.useLiveEvents) {\n // See above for why we filter by .selector\n if ($items.selector) {\n $(document).on('click', $items.selector, function (e) {\n appendPopup();\n if (shouldCloseOnTriggerClick()) {\n popup.hide();\n } else {\n initPopup(e,this);\n }\n return false;\n }).on('mouseleave', $items.selector, function () {\n hidePopup();\n });\n } else {\n logger.log('Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.');\n }\n } else {\n $items.on('click', function (e) {\n appendPopup();\n if (shouldCloseOnTriggerClick()) {\n popup.hide();\n } else {\n initPopup(e,this);\n }\n return false;\n }).on('mouseleave', function () {\n hidePopup();\n });\n }\n }\n }\n\n var shouldCloseOnTriggerClick = function () {\n return beingShown && opts.closeOnTriggerClick;\n };\n\n var bindHideEvents = function () {\n bindHideOnExternalClick();\n bindHideOnEscPressed();\n };\n\n var unbindHideEvents = function () {\n unbindHideOnExternalClick();\n unbindHideOnEscPressed();\n };\n\n // Be defensive and make sure that we haven't already bound the event\n var hasBoundOnExternalClick = false;\n var externalClickNamespace = identifier + '.inline-dialog-check';\n\n /**\n * Catch click events on the body to see if the click target occurs outside of this popup\n * If it does, the popup will be hidden\n */\n var bindHideOnExternalClick = function () {\n if (!hasBoundOnExternalClick) {\n $('body').bind('click.' + externalClickNamespace, function (e) {\n var $target = $(e.target);\n // hide the popup if the target of the event is not in the dialog\n if ($target.closest('#inline-dialog-' + escapedIdentifier + ' .contents').length === 0) {\n hidePopup(0);\n }\n });\n hasBoundOnExternalClick = true;\n }\n };\n\n var unbindHideOnExternalClick = function () {\n if (hasBoundOnExternalClick) {\n $('body').unbind('click.' + externalClickNamespace);\n }\n hasBoundOnExternalClick = false;\n };\n\n var onKeydown = function (e) {\n if (e.keyCode === keyCode.ESCAPE) {\n hidePopup(0);\n }\n };\n\n var bindHideOnEscPressed = function () {\n $(document).on('keydown', onKeydown);\n };\n\n var unbindHideOnEscPressed = function () {\n $(document).off('keydown', onKeydown);\n };\n\n /**\n * Show the inline dialog.\n * @method show\n */\n popup.show = function (e, trigger) {\n if (e) {\n e.stopPropagation();\n }\n appendPopup();\n if (opts.noBind && !(items && items.length)) {\n initPopup(e, trigger === undefined ? e.target : trigger);\n } else {\n initPopup(e, items);\n }\n };\n /**\n * Hide the inline dialog.\n * @method hide\n */\n popup.hide = function () {\n hidePopup(0);\n };\n /**\n * Repositions the inline dialog if being shown.\n * @method refresh\n */\n popup.refresh = function () {\n if (beingShown) {\n getHash().reset();\n }\n };\n\n popup.getOptions = function () {\n return opts;\n };\n\n return popup;\n}\n\nfunction dimensionsOf(el) {\n var $el = $(el);\n var offset = $.extend({left: 0, top: 0}, $el.offset());\n return {\n left: offset.left,\n top: offset.top,\n width: $el.outerWidth(),\n height: $el.outerHeight()\n };\n}\n\nfunction getDimensions(popup, targetPosition, mousePosition, opts) {\n var offsetX = $.isFunction(opts.offsetX) ? opts.offsetX(popup, targetPosition, mousePosition, opts) : opts.offsetX;\n var offsetY = $.isFunction(opts.offsetY) ? opts.offsetY(popup, targetPosition, mousePosition, opts) : opts.offsetY;\n var arrowOffsetX = $.isFunction(opts.arrowOffsetX) ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetX;\n var arrowOffsetY = $.isFunction(opts.arrowOffsetY) ? opts.arrowOffsetY(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetY;\n\n // Support positioning inside a scroll container other than <body>\n var isConstrainedScroll = opts.container.toLowerCase() !== 'body';\n var $scrollContainer = $(opts.container);\n var $scrollWindow = isConstrainedScroll ?\n $(opts.container).parent() :\n $(window);\n var scrollContainerOffset = isConstrainedScroll ?\n $scrollContainer.offset() : {left: 0, top: 0};\n var scrollWindowOffset = isConstrainedScroll ?\n $scrollWindow.offset() : {left: 0, top: 0};\n\n var trigger = targetPosition.target;\n var triggerOffset = trigger.offset();\n // Support SVG elements as triggers\n // TODO Should calculateNorthSouthPositions also try getBBox()?\n var triggerBBox = trigger[0].getBBox && trigger[0].getBBox();\n\n return {\n // determines how close to the edge the dialog needs to be before it is considered offscreen\n screenPadding: 10,\n // Min distance arrow needs to be from the edge of the dialog\n arrowMargin: 5,\n window: {\n top: scrollWindowOffset.top,\n left: scrollWindowOffset.left,\n scrollTop: $scrollWindow.scrollTop(),\n scrollLeft: $scrollWindow.scrollLeft(),\n width: $scrollWindow.width(),\n height: $scrollWindow.height()\n },\n scrollContainer: {\n width: $scrollContainer.width(),\n height: $scrollContainer.height()\n },\n // Position of the trigger is relative to the scroll container\n trigger: {\n top: triggerOffset.top - scrollContainerOffset.top,\n left: triggerOffset.left - scrollContainerOffset.left,\n width: triggerBBox ? triggerBBox.width : trigger.outerWidth(),\n height: triggerBBox ? triggerBBox.height : trigger.outerHeight()\n },\n dialog: {\n width: popup.width(),\n height: popup.height(),\n offset: {\n top: offsetY,\n left: offsetX\n }\n },\n arrow: {\n height: popup.find('.arrow').outerHeight(),\n offset: {\n top: arrowOffsetY,\n left: arrowOffsetX\n }\n }\n };\n}\n\nfunction calculateWestPositions(popup, targetPosition, mousePosition, opts) {\n var dimensions = getDimensions(popup, targetPosition, mousePosition, opts);\n var screenPadding = dimensions.screenPadding;\n var win = dimensions.window;\n var trigger = dimensions.trigger;\n var dialog = dimensions.dialog;\n var arrow = dimensions.arrow;\n var scrollContainer = dimensions.scrollContainer;\n\n var triggerScrollOffset = {\n top: trigger.top - win.scrollTop,\n left: trigger.left - win.scrollLeft\n };\n\n // Halves - because the browser doesn't do sub-pixel positioning, we need to consistently floor\n // all decimal values or you can get 1px jumps in arrow positioning when the dialog's height changes.\n var halfTriggerHeight = Math.floor(trigger.height / 2);\n var halfPopupHeight = Math.floor(dialog.height / 2);\n var halfArrowHeight = Math.floor(arrow.height / 2);\n\n // Figure out where to position the dialog, preferring the right (gravity: 'w').\n var spaceOnLeft = triggerScrollOffset.left - dialog.offset.left - screenPadding;\n\n // This implementation may not be suitable for horizontally scrolling containers\n var spaceOnRight = scrollContainer.width - triggerScrollOffset.left - trigger.width - dialog.offset.left - screenPadding;\n\n var enoughSpaceOnLeft = spaceOnLeft >= dialog.width;\n var enoughSpaceOnRight = spaceOnRight >= dialog.width;\n var gravity = !enoughSpaceOnRight && enoughSpaceOnLeft ? 'e' : 'w';\n\n // Screen padding needs to be adjusted if the arrow would extend into it\n var arrowScreenTop = triggerScrollOffset.top + halfTriggerHeight - halfArrowHeight;\n var arrowScreenBottom = win.height - arrowScreenTop - arrow.height;\n screenPadding = Math.min(screenPadding, arrowScreenTop - dimensions.arrowMargin);\n screenPadding = Math.min(screenPadding, arrowScreenBottom - dimensions.arrowMargin);\n\n // Figure out if the dialog needs to be adjusted up or down to fit on the screen\n var middleOfTrigger = triggerScrollOffset.top + halfTriggerHeight;\n var spaceAboveMiddleOfTrigger = Math.max(middleOfTrigger - screenPadding, 0);\n var spaceBelowMiddleOfTrigger = Math.max(win.height - middleOfTrigger - screenPadding, 0);\n\n var isOverflowingAbove = halfPopupHeight - dialog.offset.top > spaceAboveMiddleOfTrigger;\n var isOverflowingBelow = halfPopupHeight + dialog.offset.top > spaceBelowMiddleOfTrigger;\n\n var popupCss;\n var arrowCss;\n if (isOverflowingAbove) {\n popupCss = {\n top: win.scrollTop + screenPadding,\n left: gravity === 'w' ?\n trigger.left + trigger.width + dialog.offset.left :\n trigger.left - dialog.width - dialog.offset.left\n };\n arrowCss = {\n top: (trigger.top + halfTriggerHeight) - (popupCss.top + halfArrowHeight)\n };\n } else if (isOverflowingBelow) {\n popupCss = {\n top: win.scrollTop + win.height - dialog.height - screenPadding,\n left: gravity === 'w' ?\n trigger.left + trigger.width + dialog.offset.left :\n trigger.left - dialog.width - dialog.offset.left\n };\n arrowCss = {\n top: (trigger.top + halfTriggerHeight) - (popupCss.top + halfArrowHeight)\n };\n } else {\n popupCss = {\n top: trigger.top + halfTriggerHeight - halfPopupHeight + dialog.offset.top,\n left: gravity === 'w' ?\n trigger.left + trigger.width + dialog.offset.left :\n trigger.left - dialog.width - dialog.offset.left\n };\n arrowCss = {\n top: halfPopupHeight - halfArrowHeight + arrow.offset.top\n };\n }\n\n return {\n gravity: gravity,\n popupCss: popupCss,\n arrowCss: arrowCss\n };\n}\n\nfunction calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts) {\n var offsetX = $.isFunction(opts.offsetX) ? opts.offsetX(popup, targetPosition, mousePosition, opts) : opts.offsetX;\n var offsetY = $.isFunction(opts.offsetY) ? opts.offsetY(popup, targetPosition, mousePosition, opts) : opts.offsetY;\n var arrowOffsetX = $.isFunction(opts.arrowOffsetX) ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetX;\n\n var viewportDimensions = dimensionsOf(window);\n var targetDimensions = dimensionsOf(targetPosition.target);\n var popupDimensions = dimensionsOf(popup);\n var arrowDimensions = dimensionsOf(popup.find('.aui-inline-dialog-arrow'));\n\n var middleOfTrigger = targetDimensions.left + targetDimensions.width / 2; //The absolute x position of the middle of the Trigger\n var bottomOfViewablePage = (window.pageYOffset || document.documentElement.scrollTop) + viewportDimensions.height;\n var SCREEN_PADDING = 10; //determines how close to the edge the dialog needs to be before it is considered offscreen\n\n // Set popup's position (within the viewport)\n popupDimensions.top = targetDimensions.top + targetDimensions.height + ~~offsetY;\n popupDimensions.left = targetDimensions.left + ~~offsetX;\n\n // Calculate if the popup would render off the side of the viewport\n var diff = viewportDimensions.width - (popupDimensions.left + popupDimensions.width + SCREEN_PADDING);\n\n // Set arrow's position (within the popup)\n arrowDimensions.left = middleOfTrigger - popupDimensions.left + ~~arrowOffsetX;\n // TODO arrowDimensions.top should also use arrowOffsetY.\n arrowDimensions.top = -(arrowDimensions.height / 2);\n\n // Check whether the popup should display above or below the trigger\n var enoughRoomAbove = targetDimensions.top > popupDimensions.height;\n var enoughRoomBelow = (popupDimensions.top + popupDimensions.height) < bottomOfViewablePage;\n var displayAbove = (!enoughRoomBelow && enoughRoomAbove) || (enoughRoomAbove && opts.gravity === 's');\n\n if (displayAbove) {\n popupDimensions.top = targetDimensions.top - popupDimensions.height - (arrowDimensions.height / 2);\n arrowDimensions.top = popupDimensions.height;\n }\n\n // Check if the popup should show up relative to the mouse\n if (opts.isRelativeToMouse){\n if (diff < 0){\n popupDimensions.right = SCREEN_PADDING;\n popupDimensions.left = 'auto';\n // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?\n arrowDimensions.left = mousePosition.x - (viewportDimensions.width - popupDimensions.width);\n } else {\n popupDimensions.left = mousePosition.x - 20;\n // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?\n arrowDimensions.left = mousePosition.x - popupDimensions.left;\n }\n } else {\n if (diff < 0){\n popupDimensions.right = SCREEN_PADDING;\n popupDimensions.left = 'auto';\n\n var popupRightEdge = viewportDimensions.width - popupDimensions.right;\n var popupLeftEdge = popupRightEdge - popupDimensions.width;\n\n //arrow's position must be relative to the popup's position and not of the screen.\n arrowDimensions.right = 'auto';\n // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?\n arrowDimensions.left = middleOfTrigger - popupLeftEdge - arrowDimensions.width / 2;\n } else if (popupDimensions.width <= targetDimensions.width / 2){\n // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?\n arrowDimensions.left = popupDimensions.width / 2;\n popupDimensions.left = middleOfTrigger - popupDimensions.width / 2;\n }\n }\n return {\n gravity: displayAbove ? 's' : 'n',\n displayAbove: displayAbove, // Replaced with gravity but remains for backward compatibility.\n popupCss: {\n left: popupDimensions.left,\n top: popupDimensions.top,\n right: popupDimensions.right\n },\n arrowCss: {\n left: arrowDimensions.left,\n top: arrowDimensions.top,\n right: arrowDimensions.right\n }\n };\n}\n\n\nInlineDialog.opts = {\n onTop: false,\n responseHandler: function (data) {\n //assume data is html\n return data;\n },\n closeOthers: true,\n isRelativeToMouse: false,\n addActiveClass: true, // if false, signifies that the triggers should not have the \"active\" class applied\n onHover: false,\n useLiveEvents: false,\n noBind: false,\n fadeTime: 100,\n persistent: false,\n hideDelay: 10000,\n showDelay: 0,\n width: 300,\n offsetX: 0,\n offsetY: 10,\n arrowOffsetX: 0,\n arrowOffsetY: 0,\n container: 'body',\n cacheContent: true,\n displayShadow: true,\n autoWidth: false,\n gravity: 'n',\n closeOnTriggerClick: false,\n preHideCallback: function () {\n return true;\n },\n hideCallback: function () {}, // if defined, this method will be exected after the popup has been faded out.\n initCallback: function () {}, // A function called after the popup contents are loaded. `this` will be the popup jQuery object, and the first argument is the popup identifier.\n upfrontCallback: function () {}, // A function called before the popup contents are loaded. `this` will be the popup jQuery object, and the first argument is the popup identifier.\n /**\n * Returns an object with the following attributes:\n * popupCss css attributes to apply on the popup element\n * arrowCss css attributes to apply on the arrow element\n *\n * @param popup\n * @param targetPosition position of the target element\n * @param mousePosition current mouse position\n * @param opts options\n */\n calculatePositions: function (popup, targetPosition, mousePosition, opts) {\n opts = opts || {};\n var algorithm = opts.gravity === 'w' ? calculateWestPositions : calculateNorthSouthPositions;\n return algorithm(popup, targetPosition, mousePosition, opts)\n }\n};\n\n\n// Deprecations\n// ------------\n\nInlineDialog = deprecate.construct(InlineDialog, 'Inline dialog constructor', {\n alternativeName: 'inline dialog 2'\n});\n\nvar displayAboveDeprecationLogger = deprecate.getMessageLogger('displayAbove', '[remove version]', {\n alternativeName: 'gravity',\n extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.'\n});\n\nvar onTopDeprecationLogger = deprecate.getMessageLogger('onTop', '[remove version]', {\n alternativeName: 'gravity',\n extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.'\n});\n\n\n// Exporting\n// ---------\n\nglobalize('InlineDialog', InlineDialog);\n\nexport default InlineDialog;\n"]}
1
+ {"version":3,"sources":["js/aui/inline-dialog.js"],"names":["deprecate","logger","InlineDialog","items","identifier","url","options","hasOwnProperty","onTopDeprecationLogger","onTop","gravity","undefined","String","Math","random","replace","length","escapedIdentifier","opts","$","extend","offsetX","offsetY","hash","hideDelayTimer","showTimer","beingShown","shouldShow","contentLoaded","mousePosition","targetPosition","popup","arrow","contents","find","displayShadow","addClass","autoWidth","width","on","mouseenter","clearTimeout","unbind","mouseleave","hidePopup","getHash","hide","id","show","showPopup","persistent","reset","drawPopup","positions","css","popupCss","removeClass","hasClass","arrowCss","viewportHeight","window","height","popupMaxHeight","round","children","calculatePositions","displayAboveDeprecationLogger","displayAbove","fadeIn","fadeTime","jQueryCache","prepend","outerWidth","outerHeight","is","setTimeout","addActiveClass","bindHideEvents","current","document","trigger","showDelay","delay","get","_datePickerPopup","preHideCallback","call","hideDelay","unbindHideEvents","fadeOut","hideCallback","cacheContent","contentLoading","initPopup","e","$trigger","upfrontCallback","each","closeOthers","target","x","offset","left","y","top","pageX","pageY","doShowPopup","initCallback","isFunction","data","status","xhr","html","responseHandler","added","appendPopup","container","append","$items","onHover","useLiveEvents","selector","log","noBind","shouldCloseOnTriggerClick","closeOnTriggerClick","bindHideOnExternalClick","bindHideOnEscPressed","unbindHideOnExternalClick","unbindHideOnEscPressed","hasBoundOnExternalClick","externalClickNamespace","bind","$target","closest","onKeydown","keyCode","ESCAPE","off","stopPropagation","refresh","getOptions","dimensionsOf","el","$el","getDimensions","arrowOffsetX","arrowOffsetY","isConstrainedScroll","toLowerCase","$scrollContainer","$scrollWindow","parent","scrollContainerOffset","scrollWindowOffset","triggerOffset","triggerBBox","getBBox","screenPadding","arrowMargin","scrollTop","scrollLeft","scrollContainer","dialog","calculateWestPositions","dimensions","win","triggerScrollOffset","halfTriggerHeight","floor","halfPopupHeight","halfArrowHeight","spaceOnLeft","spaceOnRight","enoughSpaceOnLeft","enoughSpaceOnRight","arrowScreenTop","arrowScreenBottom","min","middleOfTrigger","spaceAboveMiddleOfTrigger","max","spaceBelowMiddleOfTrigger","isOverflowingAbove","isOverflowingBelow","calculateNorthSouthPositions","viewportDimensions","targetDimensions","popupDimensions","arrowDimensions","bottomOfViewablePage","pageYOffset","documentElement","SCREEN_PADDING","diff","enoughRoomAbove","enoughRoomBelow","isRelativeToMouse","right","popupRightEdge","popupLeftEdge","algorithm","construct","alternativeName","getMessageLogger","extraInfo"],"mappings":"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","file":"inline-dialog.js","sourcesContent":["/* eslint quotmark:off, eqeqeq:off, strict:off, complexity:off */\n\n'use strict';\n\nimport $ from './jquery';\nimport { needsLayeringShim } from './internal/browser';\nimport * as deprecate from './internal/deprecation';\nimport * as logger from './internal/log';\nimport globalize from './internal/globalize';\nimport keyCode from './key-code';\nimport cssEscape from 'css.escape';\n\n/**\n * Creates a new inline dialog.\n *\n * @param items jQuery object - the items that trigger the display of this popup when the user mouses over.\n * @param identifier A unique identifier for this popup. This should be unique across all popups on the page and a valid CSS class.\n * @param url The URL to retrieve popup contents.\n * @param options Custom options to change default behaviour. See InlineDialog.opts for default values and valid options.\n */\nfunction InlineDialog (items, identifier, url, options) {\n options = options || [];\n\n if (options.hasOwnProperty('onTop')) {\n onTopDeprecationLogger();\n if (options.onTop && options.gravity === undefined) {\n options.gravity = 's';\n }\n }\n\n // attempt to generate a random identifier if it doesn't exist\n if (typeof identifier === 'undefined') {\n identifier = String(Math.random()).replace('.', '');\n\n // if the generated supplied identifier already exists when combined with the prefixes we'll be using, then bail\n if ($('#inline-dialog-' + identifier + ', #arrow-' + identifier + ', #inline-dialog-shim-' + identifier).length) {\n throw 'GENERATED_IDENTIFIER_NOT_UNIQUE';\n }\n }\n\n const escapedIdentifier = cssEscape(identifier);\n\n var opts = $.extend(false, InlineDialog.opts, options);\n if (opts.gravity === 'w') {\n // TODO Once support for gravity: 'e' is added, it should also\n // transpose the defaults for offsetX and offsetY.\n opts.offsetX = options.offsetX === undefined ? 10 : options.offsetX;\n opts.offsetY = options.offsetY === undefined ? 0 : options.offsetY;\n }\n\n var hash;\n var hideDelayTimer;\n var showTimer;\n var beingShown = false;\n var shouldShow = false;\n var contentLoaded = false;\n var mousePosition;\n var targetPosition;\n var popup = $('<div id=\"inline-dialog-' + identifier +\n '\" class=\"aui-inline-dialog\"><div class=\"aui-inline-dialog-contents contents\"></div><div id=\"arrow-' +\n identifier + '\" class=\"aui-inline-dialog-arrow arrow aui-css-arrow\"></div></div>');\n\n var arrow = $('#arrow-' + escapedIdentifier, popup);\n var contents = popup.find('.contents');\n\n if (!opts.displayShadow) {\n contents.addClass('aui-inline-dialog-no-shadow');\n }\n\n if (opts.autoWidth) {\n contents.addClass('aui-inline-dialog-auto-width');\n } else {\n contents.width(opts.width);\n }\n\n contents.on({\n mouseenter: function () {\n clearTimeout(hideDelayTimer);\n popup.unbind('mouseenter');\n },\n mouseleave: function () {\n hidePopup();\n }\n });\n\n var getHash = function () {\n if (!hash) {\n hash = {\n popup: popup,\n hide: function () {\n hidePopup(0);\n },\n id: identifier,\n show: function () {\n showPopup();\n },\n persistent: opts.persistent ? true : false,\n reset: function () {\n\n function drawPopup (popup, positions) {\n //Position the popup using the left and right parameters\n popup.css(positions.popupCss);\n\n arrow.removeClass('aui-bottom-arrow aui-left-arrow aui-right-arrow');\n if (positions.gravity === 's' && !arrow.hasClass('aui-bottom-arrow')) {\n arrow.addClass('aui-bottom-arrow');\n } else if (positions.gravity === 'w') {\n arrow.addClass('aui-left-arrow');\n } else if (positions.gravity === 'e') {\n arrow.addClass('aui-right-arrow');\n }\n // Default styles are for 'n' gravity.\n\n arrow.css(positions.arrowCss);\n }\n\n //DRAW POPUP\n var viewportHeight = $(window).height();\n var popupMaxHeight = Math.round(viewportHeight * 0.75);\n popup.children('.aui-inline-dialog-contents')\n .css('max-height', popupMaxHeight);\n\n var positions = opts.calculatePositions(popup, targetPosition, mousePosition, opts);\n if (positions.hasOwnProperty('displayAbove')) {\n displayAboveDeprecationLogger();\n positions.gravity = positions.displayAbove ? 's' : 'n';\n }\n\n drawPopup(popup, positions);\n\n // reset position of popup box\n popup.fadeIn(opts.fadeTime, function () {\n // once the animation is complete, set the tracker variables\n // beingShown = false; // is this necessary? Maybe only the shouldShow will have to be reset?\n });\n\n if (needsLayeringShim()) {\n // iframeShim, prepend if it doesnt exist\n var jQueryCache = $('#inline-dialog-shim-' + escapedIdentifier);\n if (!jQueryCache.length) {\n $(popup).prepend($('<iframe class = \"inline-dialog-shim\" id=\"inline-dialog-shim-' + identifier + '\" frameBorder=\"0\" src=\"javascript:false;\"></iframe>'));\n }\n // adjust height and width of shim according to the popup\n jQueryCache.css({\n width: contents.outerWidth(),\n height: contents.outerHeight()\n });\n }\n }\n };\n }\n return hash;\n };\n\n var showPopup = function () {\n if (popup.is(':visible')) {\n return;\n }\n showTimer = setTimeout(function () {\n if (!contentLoaded || !shouldShow) {\n return;\n }\n opts.addActiveClass && $(items).addClass('active');\n beingShown = true;\n if (!opts.persistent) {\n bindHideEvents();\n }\n InlineDialog.current = getHash();\n $(document).trigger('showLayer', ['inlineDialog', getHash()]);\n // retrieve the position of the click target. The offsets might be different for different types of targets and therefore\n // either have to be customisable or we will have to be smarter about calculating the padding and elements around it\n\n getHash().reset();\n\n }, opts.showDelay);\n };\n\n var hidePopup = function (delay) {\n // do not auto hide the popup if persistent is set as true\n if (typeof delay === 'undefined' && opts.persistent) {\n return;\n }\n if (typeof popup.get(0)._datePickerPopup !== 'undefined') {\n // AUI-2696 - This inline dialog is host to a date picker... so we shouldn't close it.\n return;\n }\n\n shouldShow = false;\n // only exectute the below if the popup is currently being shown\n // and the arbitrator callback gives us the green light\n if (beingShown && opts.preHideCallback.call(popup[0].popup)) {\n delay = (delay == null) ? opts.hideDelay : delay;\n clearTimeout(hideDelayTimer);\n clearTimeout(showTimer);\n // store the timer so that it can be cleared in the mouseenter if required\n //disable auto-hide if user passes null for hideDelay\n if (delay != null) {\n hideDelayTimer = setTimeout(function () {\n unbindHideEvents();\n opts.addActiveClass && $(items).removeClass('active');\n popup.fadeOut(opts.fadeTime, function () {\n opts.hideCallback.call(popup[0].popup);\n });\n beingShown = false;\n shouldShow = false;\n $(document).trigger('hideLayer', ['inlineDialog', getHash()]);\n InlineDialog.current = null;\n if (!opts.cacheContent) {\n //if not caching the content, then reset the\n //flags to false so as to reload the content\n //on next mouse hover.\n contentLoaded = false;\n contentLoading = false;\n }\n\n }, delay);\n }\n\n }\n };\n\n // the trigger is the jquery element that is triggering the popup (i.e., the element that the mousemove event is bound to)\n var initPopup = function (e, trigger) {\n var $trigger = $(trigger);\n\n opts.upfrontCallback.call({\n popup: popup,\n hide: function () {\n hidePopup(0);\n },\n id: identifier,\n show: function () {\n showPopup();\n }\n });\n\n popup.each(function () {\n if (typeof this.popup !== 'undefined') {\n this.popup.hide();\n }\n });\n\n //Close all other popups if neccessary\n if (opts.closeOthers) {\n $('.aui-inline-dialog').each(function () {\n !this.popup.persistent && this.popup.hide();\n });\n }\n\n //handle programmatic showing where there is no event\n targetPosition = {target: $trigger};\n if (!e) {\n mousePosition = {x: $trigger.offset().left, y: $trigger.offset().top};\n } else {\n mousePosition = {x: e.pageX, y: e.pageY};\n }\n\n\n\n if (!beingShown) {\n clearTimeout(showTimer);\n }\n shouldShow = true;\n var doShowPopup = function () {\n contentLoading = false;\n contentLoaded = true;\n opts.initCallback.call({\n popup: popup,\n hide: function () {\n hidePopup(0);\n },\n id: identifier,\n show: function () {\n showPopup();\n }\n });\n showPopup();\n };\n // lazy load popup contents\n if (!contentLoading) {\n contentLoading = true;\n if ($.isFunction(url)) {\n // If the passed in URL is a function, execute it. Otherwise simply load the content.\n url(contents, trigger, doShowPopup);\n } else {\n //Retrive response from server\n $.get(url, function (data, status, xhr) {\n //Load HTML contents into the popup\n contents.html(opts.responseHandler(data, status, xhr));\n //Show the popup\n contentLoaded = true;\n opts.initCallback.call({\n popup: popup,\n hide: function () {\n hidePopup(0);\n },\n id: identifier,\n show: function () {\n showPopup();\n }\n });\n showPopup();\n });\n }\n }\n // stops the hide event if we move from the trigger to the popup element\n clearTimeout(hideDelayTimer);\n // don't trigger the animation again if we're being shown\n if (!beingShown) {\n showPopup();\n }\n return false;\n };\n\n popup[0].popup = getHash();\n\n var contentLoading = false;\n var added = false;\n var appendPopup = function () {\n if (!added) {\n $(opts.container).append(popup);\n added = true;\n }\n };\n var $items = $(items);\n\n if (opts.onHover) {\n if (opts.useLiveEvents) {\n // We're using .on() to emulate the behaviour of .live() here. on() requires the jQuery object to have\n // a selector - this is actually how .live() is implemented in jQuery 1.7+.\n // Note that .selector is deleted in jQuery 1.9+.\n // This means that jQuery objects created by selection eg $(\".my-class-selector\") will work, but\n // object created by DOM parsing eg $(\"<div class='.my-class'></div>\") will not work.\n // Ideally we should throw an error if the $items has no selector but that is backwards incompatible,\n // so we warn and do a no-op - this emulates the behaviour of live() but has the added warning.\n if ($items.selector) {\n $(document).on('mouseenter', $items.selector, function (e) {\n appendPopup();\n initPopup(e, this);\n }).on('mouseleave', $items.selector, function () {\n hidePopup();\n });\n } else {\n logger.log('Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.');\n }\n } else {\n $items.on({\n mouseenter: function (e) {\n appendPopup();\n initPopup(e,this);\n },\n mouseleave: function () {\n hidePopup();\n }\n });\n }\n } else {\n if (!opts.noBind) { //Check if the noBind option is turned on\n if (opts.useLiveEvents) {\n // See above for why we filter by .selector\n if ($items.selector) {\n $(document).on('click', $items.selector, function (e) {\n appendPopup();\n if (shouldCloseOnTriggerClick()) {\n popup.hide();\n } else {\n initPopup(e,this);\n }\n return false;\n }).on('mouseleave', $items.selector, function () {\n hidePopup();\n });\n } else {\n logger.log('Warning: inline dialog trigger elements must have a jQuery selector when the useLiveEvents option is enabled.');\n }\n } else {\n $items.on('click', function (e) {\n appendPopup();\n if (shouldCloseOnTriggerClick()) {\n popup.hide();\n } else {\n initPopup(e,this);\n }\n return false;\n }).on('mouseleave', function () {\n hidePopup();\n });\n }\n }\n }\n\n var shouldCloseOnTriggerClick = function () {\n return beingShown && opts.closeOnTriggerClick;\n };\n\n var bindHideEvents = function () {\n bindHideOnExternalClick();\n bindHideOnEscPressed();\n };\n\n var unbindHideEvents = function () {\n unbindHideOnExternalClick();\n unbindHideOnEscPressed();\n };\n\n // Be defensive and make sure that we haven't already bound the event\n var hasBoundOnExternalClick = false;\n var externalClickNamespace = identifier + '.inline-dialog-check';\n\n /**\n * Catch click events on the body to see if the click target occurs outside of this popup\n * If it does, the popup will be hidden\n */\n var bindHideOnExternalClick = function () {\n if (!hasBoundOnExternalClick) {\n $('body').bind('click.' + externalClickNamespace, function (e) {\n var $target = $(e.target);\n // hide the popup if the target of the event is not in the dialog\n if ($target.closest('#inline-dialog-' + escapedIdentifier + ' .contents').length === 0) {\n hidePopup(0);\n }\n });\n hasBoundOnExternalClick = true;\n }\n };\n\n var unbindHideOnExternalClick = function () {\n if (hasBoundOnExternalClick) {\n $('body').unbind('click.' + externalClickNamespace);\n }\n hasBoundOnExternalClick = false;\n };\n\n var onKeydown = function (e) {\n if (e.keyCode === keyCode.ESCAPE) {\n hidePopup(0);\n }\n };\n\n var bindHideOnEscPressed = function () {\n $(document).on('keydown', onKeydown);\n };\n\n var unbindHideOnEscPressed = function () {\n $(document).off('keydown', onKeydown);\n };\n\n /**\n * Show the inline dialog.\n * @method show\n */\n popup.show = function (e, trigger) {\n if (e) {\n e.stopPropagation();\n }\n appendPopup();\n if (opts.noBind && !(items && items.length)) {\n initPopup(e, trigger === undefined ? e.target : trigger);\n } else {\n initPopup(e, items);\n }\n };\n /**\n * Hide the inline dialog.\n * @method hide\n */\n popup.hide = function () {\n hidePopup(0);\n };\n /**\n * Repositions the inline dialog if being shown.\n * @method refresh\n */\n popup.refresh = function () {\n if (beingShown) {\n getHash().reset();\n }\n };\n\n popup.getOptions = function () {\n return opts;\n };\n\n return popup;\n}\n\nfunction dimensionsOf(el) {\n var $el = $(el);\n var offset = $.extend({left: 0, top: 0}, $el.offset());\n return {\n left: offset.left,\n top: offset.top,\n width: $el.outerWidth(),\n height: $el.outerHeight()\n };\n}\n\nfunction getDimensions(popup, targetPosition, mousePosition, opts) {\n var offsetX = $.isFunction(opts.offsetX) ? opts.offsetX(popup, targetPosition, mousePosition, opts) : opts.offsetX;\n var offsetY = $.isFunction(opts.offsetY) ? opts.offsetY(popup, targetPosition, mousePosition, opts) : opts.offsetY;\n var arrowOffsetX = $.isFunction(opts.arrowOffsetX) ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetX;\n var arrowOffsetY = $.isFunction(opts.arrowOffsetY) ? opts.arrowOffsetY(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetY;\n\n // Support positioning inside a scroll container other than <body>\n var isConstrainedScroll = opts.container.toLowerCase() !== 'body';\n var $scrollContainer = $(opts.container);\n var $scrollWindow = isConstrainedScroll ?\n $(opts.container).parent() :\n $(window);\n var scrollContainerOffset = isConstrainedScroll ?\n $scrollContainer.offset() : {left: 0, top: 0};\n var scrollWindowOffset = isConstrainedScroll ?\n $scrollWindow.offset() : {left: 0, top: 0};\n\n var trigger = targetPosition.target;\n var triggerOffset = trigger.offset();\n // Support SVG elements as triggers\n // TODO Should calculateNorthSouthPositions also try getBBox()?\n var triggerBBox = trigger[0].getBBox && trigger[0].getBBox();\n\n return {\n // determines how close to the edge the dialog needs to be before it is considered offscreen\n screenPadding: 10,\n // Min distance arrow needs to be from the edge of the dialog\n arrowMargin: 5,\n window: {\n top: scrollWindowOffset.top,\n left: scrollWindowOffset.left,\n scrollTop: $scrollWindow.scrollTop(),\n scrollLeft: $scrollWindow.scrollLeft(),\n width: $scrollWindow.width(),\n height: $scrollWindow.height()\n },\n scrollContainer: {\n width: $scrollContainer.width(),\n height: $scrollContainer.height()\n },\n // Position of the trigger is relative to the scroll container\n trigger: {\n top: triggerOffset.top - scrollContainerOffset.top,\n left: triggerOffset.left - scrollContainerOffset.left,\n width: triggerBBox ? triggerBBox.width : trigger.outerWidth(),\n height: triggerBBox ? triggerBBox.height : trigger.outerHeight()\n },\n dialog: {\n width: popup.width(),\n height: popup.height(),\n offset: {\n top: offsetY,\n left: offsetX\n }\n },\n arrow: {\n height: popup.find('.arrow').outerHeight(),\n offset: {\n top: arrowOffsetY,\n left: arrowOffsetX\n }\n }\n };\n}\n\nfunction calculateWestPositions(popup, targetPosition, mousePosition, opts) {\n var dimensions = getDimensions(popup, targetPosition, mousePosition, opts);\n var screenPadding = dimensions.screenPadding;\n var win = dimensions.window;\n var trigger = dimensions.trigger;\n var dialog = dimensions.dialog;\n var arrow = dimensions.arrow;\n var scrollContainer = dimensions.scrollContainer;\n\n var triggerScrollOffset = {\n top: trigger.top - win.scrollTop,\n left: trigger.left - win.scrollLeft\n };\n\n // Halves - because the browser doesn't do sub-pixel positioning, we need to consistently floor\n // all decimal values or you can get 1px jumps in arrow positioning when the dialog's height changes.\n var halfTriggerHeight = Math.floor(trigger.height / 2);\n var halfPopupHeight = Math.floor(dialog.height / 2);\n var halfArrowHeight = Math.floor(arrow.height / 2);\n\n // Figure out where to position the dialog, preferring the right (gravity: 'w').\n var spaceOnLeft = triggerScrollOffset.left - dialog.offset.left - screenPadding;\n\n // This implementation may not be suitable for horizontally scrolling containers\n var spaceOnRight = scrollContainer.width - triggerScrollOffset.left - trigger.width - dialog.offset.left - screenPadding;\n\n var enoughSpaceOnLeft = spaceOnLeft >= dialog.width;\n var enoughSpaceOnRight = spaceOnRight >= dialog.width;\n var gravity = !enoughSpaceOnRight && enoughSpaceOnLeft ? 'e' : 'w';\n\n // Screen padding needs to be adjusted if the arrow would extend into it\n var arrowScreenTop = triggerScrollOffset.top + halfTriggerHeight - halfArrowHeight;\n var arrowScreenBottom = win.height - arrowScreenTop - arrow.height;\n screenPadding = Math.min(screenPadding, arrowScreenTop - dimensions.arrowMargin);\n screenPadding = Math.min(screenPadding, arrowScreenBottom - dimensions.arrowMargin);\n\n // Figure out if the dialog needs to be adjusted up or down to fit on the screen\n var middleOfTrigger = triggerScrollOffset.top + halfTriggerHeight;\n var spaceAboveMiddleOfTrigger = Math.max(middleOfTrigger - screenPadding, 0);\n var spaceBelowMiddleOfTrigger = Math.max(win.height - middleOfTrigger - screenPadding, 0);\n\n var isOverflowingAbove = halfPopupHeight - dialog.offset.top > spaceAboveMiddleOfTrigger;\n var isOverflowingBelow = halfPopupHeight + dialog.offset.top > spaceBelowMiddleOfTrigger;\n\n var popupCss;\n var arrowCss;\n if (isOverflowingAbove) {\n popupCss = {\n top: win.scrollTop + screenPadding,\n left: gravity === 'w' ?\n trigger.left + trigger.width + dialog.offset.left :\n trigger.left - dialog.width - dialog.offset.left\n };\n arrowCss = {\n top: (trigger.top + halfTriggerHeight) - (popupCss.top + halfArrowHeight)\n };\n } else if (isOverflowingBelow) {\n popupCss = {\n top: win.scrollTop + win.height - dialog.height - screenPadding,\n left: gravity === 'w' ?\n trigger.left + trigger.width + dialog.offset.left :\n trigger.left - dialog.width - dialog.offset.left\n };\n arrowCss = {\n top: (trigger.top + halfTriggerHeight) - (popupCss.top + halfArrowHeight)\n };\n } else {\n popupCss = {\n top: trigger.top + halfTriggerHeight - halfPopupHeight + dialog.offset.top,\n left: gravity === 'w' ?\n trigger.left + trigger.width + dialog.offset.left :\n trigger.left - dialog.width - dialog.offset.left\n };\n arrowCss = {\n top: halfPopupHeight - halfArrowHeight + arrow.offset.top\n };\n }\n\n return {\n gravity: gravity,\n popupCss: popupCss,\n arrowCss: arrowCss\n };\n}\n\nfunction calculateNorthSouthPositions(popup, targetPosition, mousePosition, opts) {\n var offsetX = $.isFunction(opts.offsetX) ? opts.offsetX(popup, targetPosition, mousePosition, opts) : opts.offsetX;\n var offsetY = $.isFunction(opts.offsetY) ? opts.offsetY(popup, targetPosition, mousePosition, opts) : opts.offsetY;\n var arrowOffsetX = $.isFunction(opts.arrowOffsetX) ? opts.arrowOffsetX(popup, targetPosition, mousePosition, opts) : opts.arrowOffsetX;\n\n var viewportDimensions = dimensionsOf(window);\n var targetDimensions = dimensionsOf(targetPosition.target);\n var popupDimensions = dimensionsOf(popup);\n var arrowDimensions = dimensionsOf(popup.find('.aui-inline-dialog-arrow'));\n\n var middleOfTrigger = targetDimensions.left + targetDimensions.width / 2; //The absolute x position of the middle of the Trigger\n var bottomOfViewablePage = (window.pageYOffset || document.documentElement.scrollTop) + viewportDimensions.height;\n var SCREEN_PADDING = 10; //determines how close to the edge the dialog needs to be before it is considered offscreen\n\n // Set popup's position (within the viewport)\n popupDimensions.top = targetDimensions.top + targetDimensions.height + ~~offsetY;\n popupDimensions.left = targetDimensions.left + ~~offsetX;\n\n // Calculate if the popup would render off the side of the viewport\n var diff = viewportDimensions.width - (popupDimensions.left + popupDimensions.width + SCREEN_PADDING);\n\n // Set arrow's position (within the popup)\n arrowDimensions.left = middleOfTrigger - popupDimensions.left + ~~arrowOffsetX;\n // TODO arrowDimensions.top should also use arrowOffsetY.\n arrowDimensions.top = -(arrowDimensions.height / 2);\n\n // Check whether the popup should display above or below the trigger\n var enoughRoomAbove = targetDimensions.top > popupDimensions.height;\n var enoughRoomBelow = (popupDimensions.top + popupDimensions.height) < bottomOfViewablePage;\n var displayAbove = (!enoughRoomBelow && enoughRoomAbove) || (enoughRoomAbove && opts.gravity === 's');\n\n if (displayAbove) {\n popupDimensions.top = targetDimensions.top - popupDimensions.height - (arrowDimensions.height / 2);\n arrowDimensions.top = popupDimensions.height;\n }\n\n // Check if the popup should show up relative to the mouse\n if (opts.isRelativeToMouse){\n if (diff < 0){\n popupDimensions.right = SCREEN_PADDING;\n popupDimensions.left = 'auto';\n // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?\n arrowDimensions.left = mousePosition.x - (viewportDimensions.width - popupDimensions.width);\n } else {\n popupDimensions.left = mousePosition.x - 20;\n // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?\n arrowDimensions.left = mousePosition.x - popupDimensions.left;\n }\n } else {\n if (diff < 0){\n popupDimensions.right = SCREEN_PADDING;\n popupDimensions.left = 'auto';\n\n var popupRightEdge = viewportDimensions.width - popupDimensions.right;\n var popupLeftEdge = popupRightEdge - popupDimensions.width;\n\n //arrow's position must be relative to the popup's position and not of the screen.\n arrowDimensions.right = 'auto';\n // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?\n arrowDimensions.left = middleOfTrigger - popupLeftEdge - arrowDimensions.width / 2;\n } else if (popupDimensions.width <= targetDimensions.width / 2){\n // TODO Why doesn't arrowDimentions.left here use arrowOffsetX?\n arrowDimensions.left = popupDimensions.width / 2;\n popupDimensions.left = middleOfTrigger - popupDimensions.width / 2;\n }\n }\n return {\n gravity: displayAbove ? 's' : 'n',\n displayAbove: displayAbove, // Replaced with gravity but remains for backward compatibility.\n popupCss: {\n left: popupDimensions.left,\n top: popupDimensions.top,\n right: popupDimensions.right\n },\n arrowCss: {\n left: arrowDimensions.left,\n top: arrowDimensions.top,\n right: arrowDimensions.right\n }\n };\n}\n\n\nInlineDialog.opts = {\n onTop: false,\n responseHandler: function (data) {\n //assume data is html\n return data;\n },\n closeOthers: true,\n isRelativeToMouse: false,\n addActiveClass: true, // if false, signifies that the triggers should not have the \"active\" class applied\n onHover: false,\n useLiveEvents: false,\n noBind: false,\n fadeTime: 100,\n persistent: false,\n hideDelay: 10000,\n showDelay: 0,\n width: 300,\n offsetX: 0,\n offsetY: 10,\n arrowOffsetX: 0,\n arrowOffsetY: 0,\n container: 'body',\n cacheContent: true,\n displayShadow: true,\n autoWidth: false,\n gravity: 'n',\n closeOnTriggerClick: false,\n preHideCallback: function () {\n return true;\n },\n hideCallback: function () {}, // if defined, this method will be exected after the popup has been faded out.\n initCallback: function () {}, // A function called after the popup contents are loaded. `this` will be the popup jQuery object, and the first argument is the popup identifier.\n upfrontCallback: function () {}, // A function called before the popup contents are loaded. `this` will be the popup jQuery object, and the first argument is the popup identifier.\n /**\n * Returns an object with the following attributes:\n * popupCss css attributes to apply on the popup element\n * arrowCss css attributes to apply on the arrow element\n *\n * @param popup\n * @param targetPosition position of the target element\n * @param mousePosition current mouse position\n * @param opts options\n */\n calculatePositions: function (popup, targetPosition, mousePosition, opts) {\n opts = opts || {};\n var algorithm = opts.gravity === 'w' ? calculateWestPositions : calculateNorthSouthPositions;\n return algorithm(popup, targetPosition, mousePosition, opts)\n }\n};\n\n\n// Deprecations\n// ------------\n\nInlineDialog = deprecate.construct(InlineDialog, 'Inline dialog constructor', {\n alternativeName: 'inline dialog 2'\n});\n\nvar displayAboveDeprecationLogger = deprecate.getMessageLogger('displayAbove', '[remove version]', {\n alternativeName: 'gravity',\n extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.'\n});\n\nvar onTopDeprecationLogger = deprecate.getMessageLogger('onTop', '[remove version]', {\n alternativeName: 'gravity',\n extraInfo: 'See https://ecosystem.atlassian.net/browse/AUI-2197.'\n});\n\n\n// Exporting\n// ---------\n\nglobalize('InlineDialog', InlineDialog);\n\nexport default InlineDialog;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/inline-dialog2.js"],"names":["DEFAULT_HOVEROUT_DELAY","getTrigger","element","document","querySelector","id","doIfTrigger","callback","trigger","initAlignment","_auiAlignment","enableAlignment","enable","disableAlignment","disable","handleMessage","message","messageTypeMap","toggle","hover","messageList","respondsTo","indexOf","type","messageHandler","click","open","isPersistent","mouseenter","_clearMouseleaveTimeout","mouseleave","timeout","setTimeout","get","clearTimeout","focus","blur","onMouseEnter","e","target","set","onMouseLeave","rebindMouseEvents","el","undefined","removeEventListener","addEventListener","showInlineDialog","show","isVisible","setAttribute","hideInlineDialog","hide","reflectOpenness","isInitalizing","hasAttribute","shouldBeOpen","RESPONDS_TO_ATTRIBUTE_ENUM","attribute","values","missingDefault","invalidDefault","inlineDialog","prototype","value","setBooleanAttribute","persistent","attr","computeEnumValue","getAttribute","oldComputedValue","setEnumAttribute","msg","created","attributes","change","newValue","body","contains","oldValue","newComputedValue","attached","attributeExists","detached","destroy","template","elem","append","childNodes","addClass","html"],"mappings":"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","file":"inline-dialog2.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport Alignment from './internal/alignment';\nimport amdify from './internal/amdify';\nimport attributes from './internal/attributes';\nimport enforce from './internal/enforcer';\nimport globalize from './internal/globalize';\nimport layer from './layer';\nimport skate from './internal/skate';\nimport state from './internal/state';\n\nvar DEFAULT_HOVEROUT_DELAY = 1000;\n\nfunction getTrigger (element) {\n return document.querySelector('[aria-controls=\"' + element.id + '\"]');\n}\n\nfunction doIfTrigger (element, callback) {\n var trigger = getTrigger(element);\n\n if (trigger) {\n callback(trigger);\n }\n}\n\nfunction initAlignment (element, trigger) {\n if (!element._auiAlignment) {\n element._auiAlignment = new Alignment(element, trigger);\n }\n}\n\nfunction enableAlignment (element, trigger) {\n initAlignment(element, trigger);\n element._auiAlignment.enable();\n}\n\nfunction disableAlignment (element, trigger) {\n initAlignment(element, trigger);\n element._auiAlignment.disable();\n}\n\nfunction handleMessage (element, message) {\n var messageTypeMap = {\n toggle: ['click'],\n hover: ['mouseenter', 'mouseleave', 'focus', 'blur']\n };\n\n var messageList = messageTypeMap[element.respondsTo];\n if (messageList && messageList.indexOf(message.type) > -1) {\n messageHandler[message.type](element, message);\n }\n}\n\nvar messageHandler = {\n click: function (element) {\n if (element.open) {\n if (!layer(element).isPersistent()) {\n element.open = false;\n }\n } else {\n element.open = true;\n }\n },\n\n mouseenter: function (element) {\n if (!element.open) {\n element.open = true;\n }\n\n if (element._clearMouseleaveTimeout) {\n element._clearMouseleaveTimeout();\n }\n },\n\n mouseleave: function (element) {\n if (layer(element).isPersistent() || !element.open) {\n return;\n }\n\n if (element._clearMouseleaveTimeout) {\n element._clearMouseleaveTimeout();\n }\n\n var timeout = setTimeout(function () {\n if (!state(element).get('mouse-inside')) {\n element.open = false;\n }\n }, DEFAULT_HOVEROUT_DELAY);\n\n element._clearMouseleaveTimeout = function () {\n clearTimeout(timeout);\n element._clearMouseleaveTimeout = null;\n };\n },\n\n focus: function (element) {\n if (!element.open) {\n element.open = true;\n }\n },\n\n blur: function (element) {\n if (!layer(element).isPersistent() && element.open) {\n element.open = false;\n }\n }\n};\n\nfunction onMouseEnter(e) {\n var element = e.target;\n state(element).set('mouse-inside', true);\n element.message({\n type: 'mouseenter'\n });\n}\n\nfunction onMouseLeave(e) {\n var element = e.target;\n state(element).set('mouse-inside', false);\n element.message({\n type: 'mouseleave'\n });\n}\n\nfunction rebindMouseEvents(el) {\n state(el).set('mouse-inside', undefined);\n el.removeEventListener('mouseenter', onMouseEnter);\n el.removeEventListener('mouseleave', onMouseLeave);\n\n if (el.respondsTo === 'hover') {\n state(el).set('mouse-inside', false);\n el.addEventListener('mouseenter', onMouseEnter);\n el.addEventListener('mouseleave', onMouseLeave);\n }\n}\n\nfunction showInlineDialog(el) {\n layer(el).show();\n if (layer(el).isVisible()) {\n doIfTrigger(el, function (trigger) {\n enableAlignment(el, trigger);\n trigger.setAttribute('aria-expanded', 'true');\n });\n } else {\n el.open = false;\n }\n}\n\nfunction hideInlineDialog(el) {\n layer(el).hide();\n if (!layer(el).isVisible()) {\n doIfTrigger(el, function (trigger) {\n disableAlignment(el, trigger);\n trigger.setAttribute('aria-expanded', 'false');\n });\n } else {\n el.open = true;\n }\n}\n\nfunction reflectOpenness(el) {\n const isInitalizing = !el.hasAttribute('aria-hidden');\n const shouldBeOpen = el.hasAttribute('open');\n if (isInitalizing || el.open !== shouldBeOpen) {\n if (shouldBeOpen) {\n state(el).set('is-processing-show', true);\n showInlineDialog(el);\n state(el).set('is-processing-show', false);\n } else {\n hideInlineDialog(el);\n }\n }\n}\n\nconst RESPONDS_TO_ATTRIBUTE_ENUM = {\n attribute: 'responds-to',\n values: ['toggle', 'hover'],\n missingDefault: 'toggle',\n invalidDefault: 'toggle'\n};\n\nlet inlineDialog = skate('aui-inline-dialog', {\n prototype: {\n /**\n * Returns whether the inline dialog is open.\n */\n get open() {\n return layer(this).isVisible();\n },\n\n /**\n * Opens or closes the inline dialog, returning whether the dialog is\n * open or closed as a result (since event handlers can prevent either\n * action).\n *\n * You should check the value of open after setting this\n * value since the before show/hide events may have prevented it.\n */\n set open(value) {\n // TODO AUI-3726 Revisit double calls to canceled event handlers.\n // Explicitly calling reflectOpenness(…) in this setter means\n // that in native we'll get two sync calls to reflectOpenness(…)\n // and in polyfill one sync (here) and one async (attr change\n // handler). The latter of the two calls, for both cases, will\n // usually be a noop (except when show/hide events are cancelled).\n attributes.setBooleanAttribute(this, 'open', value);\n reflectOpenness(this);\n },\n\n get persistent() {\n return this.hasAttribute('persistent');\n },\n\n set persistent(value) {\n attributes.setBooleanAttribute(this, 'persistent', value);\n },\n\n get respondsTo() {\n var attr = RESPONDS_TO_ATTRIBUTE_ENUM.attribute;\n return attributes.computeEnumValue(RESPONDS_TO_ATTRIBUTE_ENUM, this.getAttribute(attr));\n },\n\n set respondsTo(value) {\n const oldComputedValue = this.respondsTo;\n attributes.setEnumAttribute(this, RESPONDS_TO_ATTRIBUTE_ENUM, value);\n if (oldComputedValue !== this.respondsTo) {\n rebindMouseEvents(this);\n }\n },\n\n /**\n * Handles the receiving of a message from another component.\n *\n * @param {Object} msg The message to act on.\n *\n * @returns {HTMLElement}\n */\n message: function (msg) {\n handleMessage(this, msg);\n return this;\n }\n },\n\n created: function (element) {\n state(element).set('is-processing-show', false);\n\n doIfTrigger(element, function (trigger) {\n trigger.setAttribute('aria-expanded', element.open);\n trigger.setAttribute('aria-haspopup', 'true');\n });\n },\n\n attributes: {\n 'aria-hidden': function (element, change) {\n if (change.newValue === 'true') {\n const trigger = getTrigger(element);\n if (trigger) {\n trigger.setAttribute('aria-expanded', 'false');\n }\n }\n\n // Whenever layer manager hides us, we need to sync the open attribute.\n attributes.setBooleanAttribute(element, 'open', change.newValue === 'false');\n },\n\n open: function (element) {\n // skate runs the created callback for attributes before the\n // element is attached to the DOM, so guard against that.\n if (document.body.contains(element)) {\n reflectOpenness(element);\n }\n },\n\n 'responds-to': function (element, change) {\n const oldComputedValue = attributes.computeEnumValue(RESPONDS_TO_ATTRIBUTE_ENUM, change.oldValue);\n const newComputedValue = attributes.computeEnumValue(RESPONDS_TO_ATTRIBUTE_ENUM, change.newValue);\n if (oldComputedValue !== newComputedValue) {\n rebindMouseEvents(element);\n }\n }\n },\n\n attached: function (element) {\n enforce(element).attributeExists('id');\n if (element.hasAttribute('open')) {\n // show() can cause the element to be reattached (to the <body>),\n // so guard against a nested show() call that blows up the layer\n // manager (since it sees us pushing the same element twice).\n if (!state(element).get('is-processing-show')) {\n reflectOpenness(element);\n }\n } else {\n reflectOpenness(element);\n }\n rebindMouseEvents(element);\n },\n\n detached: function (element) {\n if (element._auiAlignment) {\n element._auiAlignment.destroy();\n }\n },\n\n template: function (element) {\n var elem = $('<div class=\"aui-inline-dialog-contents\"></div>').append(element.childNodes);\n $(element)\n .addClass('aui-layer')\n .html(elem);\n }\n});\n\namdify('aui/inline-dialog2', inlineDialog);\nglobalize('InlineDialog2', inlineDialog);\nexport default inlineDialog;\n"]}
1
+ {"version":3,"sources":["js/aui/inline-dialog2.js"],"names":["DEFAULT_HOVEROUT_DELAY","getTrigger","element","document","querySelector","id","doIfTrigger","callback","trigger","initAlignment","_auiAlignment","Alignment","enableAlignment","enable","disableAlignment","disable","handleMessage","message","messageTypeMap","toggle","hover","messageList","respondsTo","indexOf","type","messageHandler","click","open","isPersistent","mouseenter","_clearMouseleaveTimeout","mouseleave","timeout","setTimeout","get","clearTimeout","focus","blur","onMouseEnter","e","target","set","onMouseLeave","rebindMouseEvents","el","undefined","removeEventListener","addEventListener","showInlineDialog","show","isVisible","setAttribute","hideInlineDialog","hide","reflectOpenness","isInitalizing","hasAttribute","shouldBeOpen","RESPONDS_TO_ATTRIBUTE_ENUM","attribute","values","missingDefault","invalidDefault","inlineDialog","prototype","value","attributes","setBooleanAttribute","persistent","attr","computeEnumValue","getAttribute","oldComputedValue","setEnumAttribute","msg","created","change","newValue","body","contains","oldValue","newComputedValue","attached","attributeExists","detached","destroy","template","elem","append","childNodes","addClass","html"],"mappings":"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","file":"inline-dialog2.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport Alignment from './internal/alignment';\nimport amdify from './internal/amdify';\nimport attributes from './internal/attributes';\nimport enforce from './internal/enforcer';\nimport globalize from './internal/globalize';\nimport layer from './layer';\nimport skate from './internal/skate';\nimport state from './internal/state';\n\nvar DEFAULT_HOVEROUT_DELAY = 1000;\n\nfunction getTrigger (element) {\n return document.querySelector('[aria-controls=\"' + element.id + '\"]');\n}\n\nfunction doIfTrigger (element, callback) {\n var trigger = getTrigger(element);\n\n if (trigger) {\n callback(trigger);\n }\n}\n\nfunction initAlignment (element, trigger) {\n if (!element._auiAlignment) {\n element._auiAlignment = new Alignment(element, trigger);\n }\n}\n\nfunction enableAlignment (element, trigger) {\n initAlignment(element, trigger);\n element._auiAlignment.enable();\n}\n\nfunction disableAlignment (element, trigger) {\n initAlignment(element, trigger);\n element._auiAlignment.disable();\n}\n\nfunction handleMessage (element, message) {\n var messageTypeMap = {\n toggle: ['click'],\n hover: ['mouseenter', 'mouseleave', 'focus', 'blur']\n };\n\n var messageList = messageTypeMap[element.respondsTo];\n if (messageList && messageList.indexOf(message.type) > -1) {\n messageHandler[message.type](element, message);\n }\n}\n\nvar messageHandler = {\n click: function (element) {\n if (element.open) {\n if (!layer(element).isPersistent()) {\n element.open = false;\n }\n } else {\n element.open = true;\n }\n },\n\n mouseenter: function (element) {\n if (!element.open) {\n element.open = true;\n }\n\n if (element._clearMouseleaveTimeout) {\n element._clearMouseleaveTimeout();\n }\n },\n\n mouseleave: function (element) {\n if (layer(element).isPersistent() || !element.open) {\n return;\n }\n\n if (element._clearMouseleaveTimeout) {\n element._clearMouseleaveTimeout();\n }\n\n var timeout = setTimeout(function () {\n if (!state(element).get('mouse-inside')) {\n element.open = false;\n }\n }, DEFAULT_HOVEROUT_DELAY);\n\n element._clearMouseleaveTimeout = function () {\n clearTimeout(timeout);\n element._clearMouseleaveTimeout = null;\n };\n },\n\n focus: function (element) {\n if (!element.open) {\n element.open = true;\n }\n },\n\n blur: function (element) {\n if (!layer(element).isPersistent() && element.open) {\n element.open = false;\n }\n }\n};\n\nfunction onMouseEnter(e) {\n var element = e.target;\n state(element).set('mouse-inside', true);\n element.message({\n type: 'mouseenter'\n });\n}\n\nfunction onMouseLeave(e) {\n var element = e.target;\n state(element).set('mouse-inside', false);\n element.message({\n type: 'mouseleave'\n });\n}\n\nfunction rebindMouseEvents(el) {\n state(el).set('mouse-inside', undefined);\n el.removeEventListener('mouseenter', onMouseEnter);\n el.removeEventListener('mouseleave', onMouseLeave);\n\n if (el.respondsTo === 'hover') {\n state(el).set('mouse-inside', false);\n el.addEventListener('mouseenter', onMouseEnter);\n el.addEventListener('mouseleave', onMouseLeave);\n }\n}\n\nfunction showInlineDialog(el) {\n layer(el).show();\n if (layer(el).isVisible()) {\n doIfTrigger(el, function (trigger) {\n enableAlignment(el, trigger);\n trigger.setAttribute('aria-expanded', 'true');\n });\n } else {\n el.open = false;\n }\n}\n\nfunction hideInlineDialog(el) {\n layer(el).hide();\n if (!layer(el).isVisible()) {\n doIfTrigger(el, function (trigger) {\n disableAlignment(el, trigger);\n trigger.setAttribute('aria-expanded', 'false');\n });\n } else {\n el.open = true;\n }\n}\n\nfunction reflectOpenness(el) {\n const isInitalizing = !el.hasAttribute('aria-hidden');\n const shouldBeOpen = el.hasAttribute('open');\n if (isInitalizing || el.open !== shouldBeOpen) {\n if (shouldBeOpen) {\n state(el).set('is-processing-show', true);\n showInlineDialog(el);\n state(el).set('is-processing-show', false);\n } else {\n hideInlineDialog(el);\n }\n }\n}\n\nconst RESPONDS_TO_ATTRIBUTE_ENUM = {\n attribute: 'responds-to',\n values: ['toggle', 'hover'],\n missingDefault: 'toggle',\n invalidDefault: 'toggle'\n};\n\nlet inlineDialog = skate('aui-inline-dialog', {\n prototype: {\n /**\n * Returns whether the inline dialog is open.\n */\n get open() {\n return layer(this).isVisible();\n },\n\n /**\n * Opens or closes the inline dialog, returning whether the dialog is\n * open or closed as a result (since event handlers can prevent either\n * action).\n *\n * You should check the value of open after setting this\n * value since the before show/hide events may have prevented it.\n */\n set open(value) {\n // TODO AUI-3726 Revisit double calls to canceled event handlers.\n // Explicitly calling reflectOpenness(…) in this setter means\n // that in native we'll get two sync calls to reflectOpenness(…)\n // and in polyfill one sync (here) and one async (attr change\n // handler). The latter of the two calls, for both cases, will\n // usually be a noop (except when show/hide events are cancelled).\n attributes.setBooleanAttribute(this, 'open', value);\n reflectOpenness(this);\n },\n\n get persistent() {\n return this.hasAttribute('persistent');\n },\n\n set persistent(value) {\n attributes.setBooleanAttribute(this, 'persistent', value);\n },\n\n get respondsTo() {\n var attr = RESPONDS_TO_ATTRIBUTE_ENUM.attribute;\n return attributes.computeEnumValue(RESPONDS_TO_ATTRIBUTE_ENUM, this.getAttribute(attr));\n },\n\n set respondsTo(value) {\n const oldComputedValue = this.respondsTo;\n attributes.setEnumAttribute(this, RESPONDS_TO_ATTRIBUTE_ENUM, value);\n if (oldComputedValue !== this.respondsTo) {\n rebindMouseEvents(this);\n }\n },\n\n /**\n * Handles the receiving of a message from another component.\n *\n * @param {Object} msg The message to act on.\n *\n * @returns {HTMLElement}\n */\n message: function (msg) {\n handleMessage(this, msg);\n return this;\n }\n },\n\n created: function (element) {\n state(element).set('is-processing-show', false);\n\n doIfTrigger(element, function (trigger) {\n trigger.setAttribute('aria-expanded', element.open);\n trigger.setAttribute('aria-haspopup', 'true');\n });\n },\n\n attributes: {\n 'aria-hidden': function (element, change) {\n if (change.newValue === 'true') {\n const trigger = getTrigger(element);\n if (trigger) {\n trigger.setAttribute('aria-expanded', 'false');\n }\n }\n\n // Whenever layer manager hides us, we need to sync the open attribute.\n attributes.setBooleanAttribute(element, 'open', change.newValue === 'false');\n },\n\n open: function (element) {\n // skate runs the created callback for attributes before the\n // element is attached to the DOM, so guard against that.\n if (document.body.contains(element)) {\n reflectOpenness(element);\n }\n },\n\n 'responds-to': function (element, change) {\n const oldComputedValue = attributes.computeEnumValue(RESPONDS_TO_ATTRIBUTE_ENUM, change.oldValue);\n const newComputedValue = attributes.computeEnumValue(RESPONDS_TO_ATTRIBUTE_ENUM, change.newValue);\n if (oldComputedValue !== newComputedValue) {\n rebindMouseEvents(element);\n }\n }\n },\n\n attached: function (element) {\n enforce(element).attributeExists('id');\n if (element.hasAttribute('open')) {\n // show() can cause the element to be reattached (to the <body>),\n // so guard against a nested show() call that blows up the layer\n // manager (since it sees us pushing the same element twice).\n if (!state(element).get('is-processing-show')) {\n reflectOpenness(element);\n }\n } else {\n reflectOpenness(element);\n }\n rebindMouseEvents(element);\n },\n\n detached: function (element) {\n if (element._auiAlignment) {\n element._auiAlignment.destroy();\n }\n },\n\n template: function (element) {\n var elem = $('<div class=\"aui-inline-dialog-contents\"></div>').append(element.childNodes);\n $(element)\n .addClass('aui-layer')\n .html(elem);\n }\n});\n\namdify('aui/inline-dialog2', inlineDialog);\nglobalize('InlineDialog2', inlineDialog);\nexport default inlineDialog;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/internal/alignment.js"],"names":["ATTR_ALIGNMENT","ATTR_ALIGNMENT_STATIC","ATTR_CONTAINER","CLASS_PREFIX_ALIGNMENT","CLASS_PREFIX_SIDE","CLASS_PREFIX_SNAP","DEFAULT_ATTACHMENT","attachmentMap","el","target","hasClass","element","className","indexOf","addAlignmentClasses","side","snap","sideClass","snapClass","getAttribute","name","hasAttribute","getAlignment","split","getContainer","container","window","document","querySelector","calculateBestAlignmentSnap","documentElement","nodeType","Node","ELEMENT_NODE","containerBounds","getBoundingClientRect","targetBounds","left","right","getAttachment","Alignment","alignment","attachment","isStaticallyAligned","tether","enabled","targetAttachment","classPrefix","constraints","to","_auiTether","prototype","destroy","disable","enable"],"mappings":"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","file":"alignment.js","sourcesContent":["'use strict';\n\nimport Tether from 'tether';\n\nvar ATTR_ALIGNMENT = 'alignment';\nvar ATTR_ALIGNMENT_STATIC = 'alignment-static';\nvar ATTR_CONTAINER = 'alignment-container';\nvar CLASS_PREFIX_ALIGNMENT = 'aui-alignment';\nvar CLASS_PREFIX_SIDE = 'aui-alignment-side-';\nvar CLASS_PREFIX_SNAP = 'aui-alignment-snap-';\nvar DEFAULT_ATTACHMENT = 'right middle';\nvar attachmentMap = {\n 'top left': {el: 'bottom left', target: 'top left'},\n 'top center': {el: 'bottom center', target: 'top center'},\n 'top right': {el: 'bottom right', target: 'top right'},\n 'right top': {el: 'top left', target: 'top right'},\n 'right middle': {el: 'middle left', target: 'middle right'},\n 'right bottom': {el: 'bottom left', target: 'bottom right'},\n 'bottom left': {el: 'top left', target: 'bottom left'},\n 'bottom center': {el: 'top center', target: 'bottom center'},\n 'bottom right': {el: 'top right', target: 'bottom right'},\n 'left top': {el: 'top right', target: 'top left'},\n 'left middle': {el: 'middle right', target: 'middle left'},\n 'left bottom': {el: 'bottom right', target: 'bottom left'},\n 'submenu left': {el: 'top left', target: 'top right'},\n 'submenu right': {el: 'top right', target: 'top left'}\n};\n\nfunction hasClass(element, className) {\n return (' ' + element.className + ' ').indexOf(' ' + className + ' ') !== -1;\n}\n\nfunction addAlignmentClasses (element, side, snap) {\n var sideClass = CLASS_PREFIX_SIDE + side;\n var snapClass = CLASS_PREFIX_SNAP + snap;\n\n if (!hasClass(element, sideClass)) {\n element.className += ' ' + sideClass;\n }\n\n if (!hasClass(element, snapClass)) {\n element.className += ' ' + snapClass;\n }\n}\n\nfunction getAttribute (element, name) {\n return element.getAttribute(name) || element.getAttribute('data-aui-' + name);\n}\n\nfunction hasAttribute (element, name) {\n return element.hasAttribute(name) || element.hasAttribute('data-aui-' + name);\n}\n\nfunction getAlignment (element) {\n let [side, snap] = (getAttribute(element, ATTR_ALIGNMENT) || DEFAULT_ATTACHMENT).split(' ');\n return {\n side,\n snap\n };\n}\n\nfunction getContainer (element) {\n var container = getAttribute(element, ATTR_CONTAINER) || window;\n\n if (typeof container === 'string') {\n container = document.querySelector(container);\n }\n\n return container;\n}\n\nfunction calculateBestAlignmentSnap (target, container) {\n var snap = 'left';\n\n if (!container || container === window || container === document) {\n container = document.documentElement;\n }\n\n if (container && container.nodeType && container.nodeType === Node.ELEMENT_NODE) {\n let containerBounds = container.getBoundingClientRect();\n let targetBounds = target.getBoundingClientRect();\n\n if (targetBounds.left > containerBounds.right / 2) {\n snap = 'right';\n }\n }\n\n return snap;\n}\n\nfunction getAttachment (side, snap) {\n return attachmentMap[side + ' ' + snap] || attachmentMap[DEFAULT_ATTACHMENT];\n}\n\n\nfunction Alignment (element, target) {\n var container = getContainer(element);\n var alignment = getAlignment(element);\n\n if (!alignment.snap || alignment.snap === 'auto') {\n alignment.snap = calculateBestAlignmentSnap(target, container);\n }\n\n var attachment = getAttachment(alignment.side, alignment.snap);\n var isStaticallyAligned = hasAttribute(element, ATTR_ALIGNMENT_STATIC);\n var tether = new Tether({\n enabled: false,\n element: element,\n target: target,\n attachment: attachment.el,\n targetAttachment: attachment.target,\n classPrefix: CLASS_PREFIX_ALIGNMENT,\n constraints: [\n {\n // Try and keep the element on page\n to: (container === window) ? 'window' : container,\n attachment: isStaticallyAligned === true ? 'none' : 'together'\n }\n ]\n });\n\n addAlignmentClasses(element, alignment.side, alignment.snap);\n\n this._auiTether = tether;\n}\n\nAlignment.prototype = {\n /**\n * Stops aligning and cleans up.\n *\n * @returns {Alignment}\n */\n destroy: function () {\n this._auiTether.destroy();\n return this;\n },\n\n /**\n * Disables alignment.\n *\n * @returns {Alignment}\n */\n disable: function () {\n this._auiTether.disable();\n return this;\n },\n\n /**\n * Enables alignment.\n *\n * @returns {Alignment}\n */\n enable: function () {\n this._auiTether.enable();\n return this;\n }\n};\n\nexport default Alignment;\n"]}
1
+ {"version":3,"sources":["js/aui/internal/alignment.js"],"names":["ATTR_ALIGNMENT","ATTR_ALIGNMENT_STATIC","ATTR_CONTAINER","CLASS_PREFIX_ALIGNMENT","CLASS_PREFIX_SIDE","CLASS_PREFIX_SNAP","DEFAULT_ATTACHMENT","attachmentMap","el","target","hasClass","element","className","indexOf","addAlignmentClasses","side","snap","sideClass","snapClass","getAttribute","name","hasAttribute","getAlignment","split","getContainer","container","window","document","querySelector","calculateBestAlignmentSnap","documentElement","nodeType","Node","ELEMENT_NODE","containerBounds","getBoundingClientRect","targetBounds","left","right","getAttachment","Alignment","alignment","attachment","isStaticallyAligned","tether","Tether","enabled","targetAttachment","classPrefix","constraints","to","_auiTether","prototype","destroy","disable","enable"],"mappings":"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","file":"alignment.js","sourcesContent":["'use strict';\n\nimport Tether from 'tether';\n\nvar ATTR_ALIGNMENT = 'alignment';\nvar ATTR_ALIGNMENT_STATIC = 'alignment-static';\nvar ATTR_CONTAINER = 'alignment-container';\nvar CLASS_PREFIX_ALIGNMENT = 'aui-alignment';\nvar CLASS_PREFIX_SIDE = 'aui-alignment-side-';\nvar CLASS_PREFIX_SNAP = 'aui-alignment-snap-';\nvar DEFAULT_ATTACHMENT = 'right middle';\nvar attachmentMap = {\n 'top left': {el: 'bottom left', target: 'top left'},\n 'top center': {el: 'bottom center', target: 'top center'},\n 'top right': {el: 'bottom right', target: 'top right'},\n 'right top': {el: 'top left', target: 'top right'},\n 'right middle': {el: 'middle left', target: 'middle right'},\n 'right bottom': {el: 'bottom left', target: 'bottom right'},\n 'bottom left': {el: 'top left', target: 'bottom left'},\n 'bottom center': {el: 'top center', target: 'bottom center'},\n 'bottom right': {el: 'top right', target: 'bottom right'},\n 'left top': {el: 'top right', target: 'top left'},\n 'left middle': {el: 'middle right', target: 'middle left'},\n 'left bottom': {el: 'bottom right', target: 'bottom left'},\n 'submenu left': {el: 'top left', target: 'top right'},\n 'submenu right': {el: 'top right', target: 'top left'}\n};\n\nfunction hasClass(element, className) {\n return (' ' + element.className + ' ').indexOf(' ' + className + ' ') !== -1;\n}\n\nfunction addAlignmentClasses (element, side, snap) {\n var sideClass = CLASS_PREFIX_SIDE + side;\n var snapClass = CLASS_PREFIX_SNAP + snap;\n\n if (!hasClass(element, sideClass)) {\n element.className += ' ' + sideClass;\n }\n\n if (!hasClass(element, snapClass)) {\n element.className += ' ' + snapClass;\n }\n}\n\nfunction getAttribute (element, name) {\n return element.getAttribute(name) || element.getAttribute('data-aui-' + name);\n}\n\nfunction hasAttribute (element, name) {\n return element.hasAttribute(name) || element.hasAttribute('data-aui-' + name);\n}\n\nfunction getAlignment (element) {\n let [side, snap] = (getAttribute(element, ATTR_ALIGNMENT) || DEFAULT_ATTACHMENT).split(' ');\n return {\n side,\n snap\n };\n}\n\nfunction getContainer (element) {\n var container = getAttribute(element, ATTR_CONTAINER) || window;\n\n if (typeof container === 'string') {\n container = document.querySelector(container);\n }\n\n return container;\n}\n\nfunction calculateBestAlignmentSnap (target, container) {\n var snap = 'left';\n\n if (!container || container === window || container === document) {\n container = document.documentElement;\n }\n\n if (container && container.nodeType && container.nodeType === Node.ELEMENT_NODE) {\n let containerBounds = container.getBoundingClientRect();\n let targetBounds = target.getBoundingClientRect();\n\n if (targetBounds.left > containerBounds.right / 2) {\n snap = 'right';\n }\n }\n\n return snap;\n}\n\nfunction getAttachment (side, snap) {\n return attachmentMap[side + ' ' + snap] || attachmentMap[DEFAULT_ATTACHMENT];\n}\n\n\nfunction Alignment (element, target) {\n var container = getContainer(element);\n var alignment = getAlignment(element);\n\n if (!alignment.snap || alignment.snap === 'auto') {\n alignment.snap = calculateBestAlignmentSnap(target, container);\n }\n\n var attachment = getAttachment(alignment.side, alignment.snap);\n var isStaticallyAligned = hasAttribute(element, ATTR_ALIGNMENT_STATIC);\n var tether = new Tether({\n enabled: false,\n element: element,\n target: target,\n attachment: attachment.el,\n targetAttachment: attachment.target,\n classPrefix: CLASS_PREFIX_ALIGNMENT,\n constraints: [\n {\n // Try and keep the element on page\n to: (container === window) ? 'window' : container,\n attachment: isStaticallyAligned === true ? 'none' : 'together'\n }\n ]\n });\n\n addAlignmentClasses(element, alignment.side, alignment.snap);\n\n this._auiTether = tether;\n}\n\nAlignment.prototype = {\n /**\n * Stops aligning and cleans up.\n *\n * @returns {Alignment}\n */\n destroy: function () {\n this._auiTether.destroy();\n return this;\n },\n\n /**\n * Disables alignment.\n *\n * @returns {Alignment}\n */\n disable: function () {\n this._auiTether.disable();\n return this;\n },\n\n /**\n * Enables alignment.\n *\n * @returns {Alignment}\n */\n enable: function () {\n this._auiTether.enable();\n return this;\n }\n};\n\nexport default Alignment;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/internal/deprecation.js"],"names":["has","Object","prototype","hasOwnProperty","deprecationCalls","deprecatedSelectorMap","toSentenceCase","str","charAt","toUpperCase","substring","getDeprecatedLocation","printFrameOffset","err","Error","stack","stacktrace","stackMessage","replace","split","logger","console","warn","Function","apply","call","arguments","getShowDeprecationMessage","displayName","options","called","deprecatedLocation","indexOf","push","deprecationType","message","sinceVersion","removeInVersion","alternativeName","extraInfo","extraObject","logCssDeprecation","selectorMap","newNode","extend","selector","deprecateFunctionExpression","fn","showDeprecationMessage","name","deprecateConstructor","constructorFn","deprecatedConstructor","supportsProperties","defineProperty","get","set","propertyDeprecationSupported","e","deprecateValueProperty","obj","prop","oldVal","displayNameOrShowMessageFn","val","deprecateObjectProperty","deprecateAllProperties","objDisplayPrefix","attr","alternativeNamePrefix","matchesSelector","el","matches","msMatchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","handleAddingSelector","document","querySelectorAll","i","length","deprecateCSS","selectors","window","MutationObserver","forEach","testAndHandleDeprecation","observer","mutations","mutation","addedNodes","nodeType","config","childList","subtree","observe","deprecate","construct","css","getMessageLogger"],"mappings":"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","file":"deprecation.js","sourcesContent":["'use strict';\n\nimport $ from '../jquery';\nimport globalize from './globalize';\n\nvar has = Object.prototype.hasOwnProperty;\nvar deprecationCalls = [];\nvar deprecatedSelectorMap = [];\n\nfunction toSentenceCase (str) {\n str += '';\n\n if (!str) {\n return '';\n }\n\n return str.charAt(0).toUpperCase() + str.substring(1);\n}\n\nfunction getDeprecatedLocation (printFrameOffset) {\n var err = new Error();\n var stack = err.stack || err.stacktrace;\n var stackMessage = (stack && stack.replace(/^Error\\n/, '')) || '';\n\n if (stackMessage) {\n stackMessage = stackMessage.split('\\n');\n return stackMessage[printFrameOffset + 2];\n }\n return stackMessage;\n}\n\nfunction logger () {\n if (typeof console !== 'undefined' && console.warn) {\n Function.prototype.apply.call(console.warn, console, arguments);\n }\n}\n\n/**\n * Return a function that logs a deprecation warning to the console the first time it is called from a certain location.\n * It will also print the stack frame of the calling function.\n *\n * @param {string} displayName the name of the thing being deprecated\n * @param {object} options\n * @param {string} options.removeInVersion the version this will be removed in\n * @param {string} options.alternativeName the name of an alternative to use\n * @param {string} options.sinceVersion the version this has been deprecated since\n * @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n * @param {string} options.extraObject an extra object that will be printed at the end\n * @param {string} options.deprecationType type of the deprecation to append to the start of the deprecation message. e.g. JS or CSS\n * @return {Function} that logs the warning and stack frame of the calling function. Takes in an optional parameter for the offset of\n * the stack frame to print, the default is 0. For example, 0 will log it for the line of the calling function,\n * -1 will print the location the logger was called from\n */\nfunction getShowDeprecationMessage (displayName, options) {\n // This can be used internally to pas in a showmessage fn\n if (typeof displayName === 'function') {\n return displayName;\n }\n\n var called = false;\n options = options || {};\n\n return function (printFrameOffset) {\n var deprecatedLocation = getDeprecatedLocation(printFrameOffset ? printFrameOffset : 1) || '';\n // Only log once if the stack frame doesn't exist to avoid spamming the console/test output\n if (!called || deprecationCalls.indexOf(deprecatedLocation) === -1) {\n deprecationCalls.push(deprecatedLocation);\n\n called = true;\n\n var deprecationType = (options.deprecationType + ' ') || '';\n\n var message = 'DEPRECATED ' + deprecationType + '- ' + toSentenceCase(displayName) +\n ' has been deprecated' + (options.sinceVersion ? ' since ' + options.sinceVersion : '') +\n ' and will be removed in ' + (options.removeInVersion || 'a future release') + '.';\n\n if (options.alternativeName) {\n message += ' Use ' + options.alternativeName + ' instead. ';\n }\n\n if (options.extraInfo) {\n message += ' ' + options.extraInfo;\n }\n\n if (deprecatedLocation === '') {\n deprecatedLocation = ' \\n ' + 'No stack trace of the deprecated usage is available in your current browser.';\n } else {\n deprecatedLocation = ' \\n ' + deprecatedLocation;\n }\n\n if (options.extraObject) {\n message += '\\n';\n logger(message, options.extraObject, deprecatedLocation);\n } else {\n logger(message, deprecatedLocation);\n }\n }\n };\n}\n\nfunction logCssDeprecation (selectorMap, newNode) {\n var displayName = selectorMap.options.displayName;\n displayName = displayName ? ' (' + displayName + ')' : '';\n\n var options = $.extend({\n deprecationType: 'CSS',\n extraObject: newNode\n }, selectorMap.options);\n\n getShowDeprecationMessage('\\'' + selectorMap.selector + '\\' pattern' + displayName, options)();\n}\n\n/**\n* Returns a wrapped version of the function that logs a deprecation warning when the function is used.\n* @param {Function} fn the fn to wrap\n* @param {string} displayName the name of the fn to be displayed in the message\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n* @return {Function} wrapping the original function\n*/\nfunction deprecateFunctionExpression(fn, displayName, options) {\n options = options || {};\n options.deprecationType = options.deprecationType || 'JS';\n\n var showDeprecationMessage = getShowDeprecationMessage(displayName || fn.name || 'this function', options);\n return function () {\n showDeprecationMessage();\n return fn.apply(this, arguments);\n };\n}\n\n/**\n* Returns a wrapped version of the constructor that logs a deprecation warning when the constructor is instantiated.\n* @param {Function} constructorFn the constructor function to wrap\n* @param {string} displayName the name of the fn to be displayed in the message\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n* @return {Function} wrapping the original function\n*/\nfunction deprecateConstructor(constructorFn, displayName, options) {\n options = options || {};\n options.deprecationType = options.deprecationType || 'JS';\n\n var deprecatedConstructor = deprecateFunctionExpression(constructorFn, displayName, options);\n deprecatedConstructor.prototype = constructorFn.prototype;\n $.extend(deprecatedConstructor, constructorFn); //copy static methods across;\n\n return deprecatedConstructor;\n}\n\n\nvar supportsProperties = false;\ntry {\n if (Object.defineProperty) {\n Object.defineProperty({}, 'blam', {get: function () {}, set: function () {}});\n supportsProperties = true;\n }\n} catch (e) {\n /* IE8 doesn't support on non-DOM elements */\n}\n\n/**\n* Wraps a \"value\" object property in a deprecation warning in browsers supporting Object.defineProperty\n* @param {Object} obj the object containing the property\n* @param {string} prop the name of the property to deprecate\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.displayName the display name of the property to deprecate (optional, will fall back to the property name)\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n*/\nfunction deprecateValueProperty(obj, prop, options) {\n if (supportsProperties) {\n var oldVal = obj[prop];\n options = options || {};\n options.deprecationType = options.deprecationType || 'JS';\n\n var displayNameOrShowMessageFn = options.displayName || prop;\n var showDeprecationMessage = getShowDeprecationMessage(displayNameOrShowMessageFn, options);\n Object.defineProperty(obj, prop, {\n get: function () {\n showDeprecationMessage();\n return oldVal;\n },\n set: function (val) {\n oldVal = val;\n showDeprecationMessage();\n return val;\n }\n });\n }\n}\n\n/**\n* Wraps an object property in a deprecation warning, if possible. functions will always log warnings, but other\n* types of properties will only log in browsers supporting Object.defineProperty\n* @param {Object} obj the object containing the property\n* @param {string} prop the name of the property to deprecate\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.displayName the display name of the property to deprecate (optional, will fall back to the property name)\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n*/\nfunction deprecateObjectProperty(obj, prop, options) {\n if (typeof obj[prop] === 'function') {\n options = options || {};\n options.deprecationType = options.deprecationType || 'JS';\n\n var displayNameOrShowMessageFn = options.displayName || prop;\n obj[prop] = deprecateFunctionExpression(obj[prop], displayNameOrShowMessageFn, options);\n } else {\n deprecateValueProperty(obj, prop, options);\n }\n}\n\n/**\n* Wraps all an objects properties in a deprecation warning, if possible. functions will always log warnings, but other\n* types of properties will only log in browsers supporting Object.defineProperty\n* @param {Object} obj the object to be wrapped\n* @param {string} objDisplayPrefix the object's prefix to be used in logs\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.alternativeNamePrefix the name of another object to prefix the deprecated objects properties with\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n*/\nfunction deprecateAllProperties(obj, objDisplayPrefix, options) {\n options = options || {};\n for (var attr in obj) {\n if (has.call(obj, attr)) {\n options.deprecationType = options.deprecationType || 'JS';\n options.displayName = objDisplayPrefix + attr;\n options.alternativeName = options.alternativeNamePrefix && (options.alternativeNamePrefix + attr);\n deprecateObjectProperty(obj, attr, $.extend({}, options));\n }\n }\n}\n\nfunction matchesSelector(el, selector) {\n return (el.matches || el.msMatchesSelector || el.webkitMatchesSelector || el.mozMatchesSelector || el.oMatchesSelector).call(el, selector);\n}\n\nfunction handleAddingSelector(options) {\n return function (selector) {\n var selectorMap = {\n selector: selector,\n options: options || {}\n };\n\n deprecatedSelectorMap.push(selectorMap);\n\n // Search if matches have already been added\n var matches = document.querySelectorAll(selector);\n for (var i = 0; i < matches.length; i++) {\n logCssDeprecation(selectorMap, matches[i]);\n }\n };\n}\n\n/**\n* Return a function that logs a deprecation warning to the console the first time it is called from a certain location.\n* It will also print the stack frame of the calling function.\n*\n* @param {string|Array} selectors a selector or list of selectors that match deprecated markup\n* @param {object} options\n* @param {string} options.displayName a name describing these selectors\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.removeInVersion the version these will be removed in\n* @param {string} options.sinceVersion the version these have been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n*/\nfunction deprecateCSS(selectors, options) {\n if (!window.MutationObserver) {\n logger('CSS could not be deprecated as Mutation Observer was not found.');\n return;\n }\n\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n\n selectors.forEach(handleAddingSelector(options));\n}\n\nfunction testAndHandleDeprecation(newNode) {\n return function (selectorMap) {\n if (matchesSelector(newNode, selectorMap.selector)) {\n logCssDeprecation(selectorMap, newNode);\n }\n };\n}\n\nif (window.MutationObserver) {\n var observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n // TODO - should this also look at class changes, if possible?\n var addedNodes = mutation.addedNodes;\n\n for (var i = 0; i < addedNodes.length; i++) {\n var newNode = addedNodes[i];\n if (newNode.nodeType === 1) {\n deprecatedSelectorMap.forEach(testAndHandleDeprecation(newNode));\n }\n }\n });\n });\n\n var config = {\n childList: true,\n subtree: true\n };\n\n observer.observe(document, config);\n}\n\nvar deprecate = {\n fn: deprecateFunctionExpression,\n construct: deprecateConstructor,\n css: deprecateCSS,\n prop: deprecateObjectProperty,\n obj: deprecateAllProperties,\n propertyDeprecationSupported: supportsProperties,\n getMessageLogger: getShowDeprecationMessage\n};\n\nglobalize('deprecate', deprecate);\n\nexport {\n deprecateFunctionExpression as fn,\n deprecateConstructor as construct,\n deprecateCSS as css,\n deprecateObjectProperty as prop,\n deprecateAllProperties as obj,\n supportsProperties as propertyDeprecationSupported,\n getShowDeprecationMessage as getMessageLogger\n};\n"]}
1
+ {"version":3,"sources":["js/aui/internal/deprecation.js"],"names":["has","Object","prototype","hasOwnProperty","deprecationCalls","deprecatedSelectorMap","toSentenceCase","str","charAt","toUpperCase","substring","getDeprecatedLocation","printFrameOffset","err","Error","stack","stacktrace","stackMessage","replace","split","logger","console","warn","Function","apply","call","arguments","getShowDeprecationMessage","displayName","options","called","deprecatedLocation","indexOf","push","deprecationType","message","sinceVersion","removeInVersion","alternativeName","extraInfo","extraObject","logCssDeprecation","selectorMap","newNode","$","extend","selector","deprecateFunctionExpression","fn","showDeprecationMessage","name","deprecateConstructor","constructorFn","deprecatedConstructor","supportsProperties","defineProperty","get","set","propertyDeprecationSupported","e","deprecateValueProperty","obj","prop","oldVal","displayNameOrShowMessageFn","val","deprecateObjectProperty","deprecateAllProperties","objDisplayPrefix","attr","alternativeNamePrefix","matchesSelector","el","matches","msMatchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","handleAddingSelector","document","querySelectorAll","i","length","deprecateCSS","selectors","window","MutationObserver","forEach","testAndHandleDeprecation","observer","mutations","mutation","addedNodes","nodeType","config","childList","subtree","observe","deprecate","construct","css","getMessageLogger"],"mappings":"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","file":"deprecation.js","sourcesContent":["'use strict';\n\nimport $ from '../jquery';\nimport globalize from './globalize';\n\nvar has = Object.prototype.hasOwnProperty;\nvar deprecationCalls = [];\nvar deprecatedSelectorMap = [];\n\nfunction toSentenceCase (str) {\n str += '';\n\n if (!str) {\n return '';\n }\n\n return str.charAt(0).toUpperCase() + str.substring(1);\n}\n\nfunction getDeprecatedLocation (printFrameOffset) {\n var err = new Error();\n var stack = err.stack || err.stacktrace;\n var stackMessage = (stack && stack.replace(/^Error\\n/, '')) || '';\n\n if (stackMessage) {\n stackMessage = stackMessage.split('\\n');\n return stackMessage[printFrameOffset + 2];\n }\n return stackMessage;\n}\n\nfunction logger () {\n if (typeof console !== 'undefined' && console.warn) {\n Function.prototype.apply.call(console.warn, console, arguments);\n }\n}\n\n/**\n * Return a function that logs a deprecation warning to the console the first time it is called from a certain location.\n * It will also print the stack frame of the calling function.\n *\n * @param {string} displayName the name of the thing being deprecated\n * @param {object} options\n * @param {string} options.removeInVersion the version this will be removed in\n * @param {string} options.alternativeName the name of an alternative to use\n * @param {string} options.sinceVersion the version this has been deprecated since\n * @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n * @param {string} options.extraObject an extra object that will be printed at the end\n * @param {string} options.deprecationType type of the deprecation to append to the start of the deprecation message. e.g. JS or CSS\n * @return {Function} that logs the warning and stack frame of the calling function. Takes in an optional parameter for the offset of\n * the stack frame to print, the default is 0. For example, 0 will log it for the line of the calling function,\n * -1 will print the location the logger was called from\n */\nfunction getShowDeprecationMessage (displayName, options) {\n // This can be used internally to pas in a showmessage fn\n if (typeof displayName === 'function') {\n return displayName;\n }\n\n var called = false;\n options = options || {};\n\n return function (printFrameOffset) {\n var deprecatedLocation = getDeprecatedLocation(printFrameOffset ? printFrameOffset : 1) || '';\n // Only log once if the stack frame doesn't exist to avoid spamming the console/test output\n if (!called || deprecationCalls.indexOf(deprecatedLocation) === -1) {\n deprecationCalls.push(deprecatedLocation);\n\n called = true;\n\n var deprecationType = (options.deprecationType + ' ') || '';\n\n var message = 'DEPRECATED ' + deprecationType + '- ' + toSentenceCase(displayName) +\n ' has been deprecated' + (options.sinceVersion ? ' since ' + options.sinceVersion : '') +\n ' and will be removed in ' + (options.removeInVersion || 'a future release') + '.';\n\n if (options.alternativeName) {\n message += ' Use ' + options.alternativeName + ' instead. ';\n }\n\n if (options.extraInfo) {\n message += ' ' + options.extraInfo;\n }\n\n if (deprecatedLocation === '') {\n deprecatedLocation = ' \\n ' + 'No stack trace of the deprecated usage is available in your current browser.';\n } else {\n deprecatedLocation = ' \\n ' + deprecatedLocation;\n }\n\n if (options.extraObject) {\n message += '\\n';\n logger(message, options.extraObject, deprecatedLocation);\n } else {\n logger(message, deprecatedLocation);\n }\n }\n };\n}\n\nfunction logCssDeprecation (selectorMap, newNode) {\n var displayName = selectorMap.options.displayName;\n displayName = displayName ? ' (' + displayName + ')' : '';\n\n var options = $.extend({\n deprecationType: 'CSS',\n extraObject: newNode\n }, selectorMap.options);\n\n getShowDeprecationMessage('\\'' + selectorMap.selector + '\\' pattern' + displayName, options)();\n}\n\n/**\n* Returns a wrapped version of the function that logs a deprecation warning when the function is used.\n* @param {Function} fn the fn to wrap\n* @param {string} displayName the name of the fn to be displayed in the message\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n* @return {Function} wrapping the original function\n*/\nfunction deprecateFunctionExpression(fn, displayName, options) {\n options = options || {};\n options.deprecationType = options.deprecationType || 'JS';\n\n var showDeprecationMessage = getShowDeprecationMessage(displayName || fn.name || 'this function', options);\n return function () {\n showDeprecationMessage();\n return fn.apply(this, arguments);\n };\n}\n\n/**\n* Returns a wrapped version of the constructor that logs a deprecation warning when the constructor is instantiated.\n* @param {Function} constructorFn the constructor function to wrap\n* @param {string} displayName the name of the fn to be displayed in the message\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n* @return {Function} wrapping the original function\n*/\nfunction deprecateConstructor(constructorFn, displayName, options) {\n options = options || {};\n options.deprecationType = options.deprecationType || 'JS';\n\n var deprecatedConstructor = deprecateFunctionExpression(constructorFn, displayName, options);\n deprecatedConstructor.prototype = constructorFn.prototype;\n $.extend(deprecatedConstructor, constructorFn); //copy static methods across;\n\n return deprecatedConstructor;\n}\n\n\nvar supportsProperties = false;\ntry {\n if (Object.defineProperty) {\n Object.defineProperty({}, 'blam', {get: function () {}, set: function () {}});\n supportsProperties = true;\n }\n} catch (e) {\n /* IE8 doesn't support on non-DOM elements */\n}\n\n/**\n* Wraps a \"value\" object property in a deprecation warning in browsers supporting Object.defineProperty\n* @param {Object} obj the object containing the property\n* @param {string} prop the name of the property to deprecate\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.displayName the display name of the property to deprecate (optional, will fall back to the property name)\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n*/\nfunction deprecateValueProperty(obj, prop, options) {\n if (supportsProperties) {\n var oldVal = obj[prop];\n options = options || {};\n options.deprecationType = options.deprecationType || 'JS';\n\n var displayNameOrShowMessageFn = options.displayName || prop;\n var showDeprecationMessage = getShowDeprecationMessage(displayNameOrShowMessageFn, options);\n Object.defineProperty(obj, prop, {\n get: function () {\n showDeprecationMessage();\n return oldVal;\n },\n set: function (val) {\n oldVal = val;\n showDeprecationMessage();\n return val;\n }\n });\n }\n}\n\n/**\n* Wraps an object property in a deprecation warning, if possible. functions will always log warnings, but other\n* types of properties will only log in browsers supporting Object.defineProperty\n* @param {Object} obj the object containing the property\n* @param {string} prop the name of the property to deprecate\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.displayName the display name of the property to deprecate (optional, will fall back to the property name)\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n*/\nfunction deprecateObjectProperty(obj, prop, options) {\n if (typeof obj[prop] === 'function') {\n options = options || {};\n options.deprecationType = options.deprecationType || 'JS';\n\n var displayNameOrShowMessageFn = options.displayName || prop;\n obj[prop] = deprecateFunctionExpression(obj[prop], displayNameOrShowMessageFn, options);\n } else {\n deprecateValueProperty(obj, prop, options);\n }\n}\n\n/**\n* Wraps all an objects properties in a deprecation warning, if possible. functions will always log warnings, but other\n* types of properties will only log in browsers supporting Object.defineProperty\n* @param {Object} obj the object to be wrapped\n* @param {string} objDisplayPrefix the object's prefix to be used in logs\n* @param {string} options.removeInVersion the version this will be removed in\n* @param {string} options.alternativeNamePrefix the name of another object to prefix the deprecated objects properties with\n* @param {string} options.sinceVersion the version this has been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n*/\nfunction deprecateAllProperties(obj, objDisplayPrefix, options) {\n options = options || {};\n for (var attr in obj) {\n if (has.call(obj, attr)) {\n options.deprecationType = options.deprecationType || 'JS';\n options.displayName = objDisplayPrefix + attr;\n options.alternativeName = options.alternativeNamePrefix && (options.alternativeNamePrefix + attr);\n deprecateObjectProperty(obj, attr, $.extend({}, options));\n }\n }\n}\n\nfunction matchesSelector(el, selector) {\n return (el.matches || el.msMatchesSelector || el.webkitMatchesSelector || el.mozMatchesSelector || el.oMatchesSelector).call(el, selector);\n}\n\nfunction handleAddingSelector(options) {\n return function (selector) {\n var selectorMap = {\n selector: selector,\n options: options || {}\n };\n\n deprecatedSelectorMap.push(selectorMap);\n\n // Search if matches have already been added\n var matches = document.querySelectorAll(selector);\n for (var i = 0; i < matches.length; i++) {\n logCssDeprecation(selectorMap, matches[i]);\n }\n };\n}\n\n/**\n* Return a function that logs a deprecation warning to the console the first time it is called from a certain location.\n* It will also print the stack frame of the calling function.\n*\n* @param {string|Array} selectors a selector or list of selectors that match deprecated markup\n* @param {object} options\n* @param {string} options.displayName a name describing these selectors\n* @param {string} options.alternativeName the name of an alternative to use\n* @param {string} options.removeInVersion the version these will be removed in\n* @param {string} options.sinceVersion the version these have been deprecated since\n* @param {string} options.extraInfo extra information to be printed at the end of the deprecation log\n*/\nfunction deprecateCSS(selectors, options) {\n if (!window.MutationObserver) {\n logger('CSS could not be deprecated as Mutation Observer was not found.');\n return;\n }\n\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n\n selectors.forEach(handleAddingSelector(options));\n}\n\nfunction testAndHandleDeprecation(newNode) {\n return function (selectorMap) {\n if (matchesSelector(newNode, selectorMap.selector)) {\n logCssDeprecation(selectorMap, newNode);\n }\n };\n}\n\nif (window.MutationObserver) {\n var observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n // TODO - should this also look at class changes, if possible?\n var addedNodes = mutation.addedNodes;\n\n for (var i = 0; i < addedNodes.length; i++) {\n var newNode = addedNodes[i];\n if (newNode.nodeType === 1) {\n deprecatedSelectorMap.forEach(testAndHandleDeprecation(newNode));\n }\n }\n });\n });\n\n var config = {\n childList: true,\n subtree: true\n };\n\n observer.observe(document, config);\n}\n\nvar deprecate = {\n fn: deprecateFunctionExpression,\n construct: deprecateConstructor,\n css: deprecateCSS,\n prop: deprecateObjectProperty,\n obj: deprecateAllProperties,\n propertyDeprecationSupported: supportsProperties,\n getMessageLogger: getShowDeprecationMessage\n};\n\nglobalize('deprecate', deprecate);\n\nexport {\n deprecateFunctionExpression as fn,\n deprecateConstructor as construct,\n deprecateCSS as css,\n deprecateObjectProperty as prop,\n deprecateAllProperties as obj,\n supportsProperties as propertyDeprecationSupported,\n getShowDeprecationMessage as getMessageLogger\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/internal/globalize.js"],"names":["globalize","auiNamespace","apply","undefined","arguments","NAMESPACE","name","value","window"],"mappings":";;;;;;;;;;;;;AAAA;;;;;sBAUwBA,S;;;;;;;;;;;;AALxB,aAASC,YAAT,GAAwB;AACpB,eAAO,wBAAcC,KAAd,CAAoBC,SAApB,EAA+BC,SAA/B,CAAP;AACH;AACD,QAAIC,YAAY,KAAhB;;AAEe,aAASL,SAAT,CAAoBM,IAApB,EAA0BC,KAA1B,EAAiC;AAC5C,YAAIC,OAAOH,SAAP,MAAsBJ,YAA1B,EAAwC;AACpCO,mBAAOH,SAAP,IAAoB,4BAAaJ,YAAb,EAA2BO,OAAOH,SAAP,CAA3B,CAApB;AACH;;AAED,eAAOG,OAAOH,SAAP,EAAkBC,IAAlB,IAA0BC,KAAjC;AACH","file":"globalize.js","sourcesContent":["'use strict';\n\nimport createElement from '../create-element';\nimport objectAssign from 'object-assign';\n\nfunction auiNamespace() {\n return createElement.apply(undefined, arguments);\n};\nvar NAMESPACE = 'AJS';\n\nexport default function globalize (name, value) {\n if (window[NAMESPACE] !== auiNamespace) {\n window[NAMESPACE] = objectAssign(auiNamespace, window[NAMESPACE]);\n }\n\n return window[NAMESPACE][name] = value;\n}\n"]}
1
+ {"version":3,"sources":["js/aui/internal/globalize.js"],"names":["globalize","auiNamespace","createElement","apply","undefined","arguments","NAMESPACE","name","value","window"],"mappings":";;;;;;;;;;;;;AAAA;;;;;sBAUwBA,S;;;;;;;;;;;;AALxB,aAASC,YAAT,GAAwB;AACpB,eAAOC,wBAAcC,KAAd,CAAoBC,SAApB,EAA+BC,SAA/B,CAAP;AACH;AACD,QAAIC,YAAY,KAAhB;;AAEe,aAASN,SAAT,CAAoBO,IAApB,EAA0BC,KAA1B,EAAiC;AAC5C,YAAIC,OAAOH,SAAP,MAAsBL,YAA1B,EAAwC;AACpCQ,mBAAOH,SAAP,IAAoB,4BAAaL,YAAb,EAA2BQ,OAAOH,SAAP,CAA3B,CAApB;AACH;;AAED,eAAOG,OAAOH,SAAP,EAAkBC,IAAlB,IAA0BC,KAAjC;AACH","file":"globalize.js","sourcesContent":["'use strict';\n\nimport createElement from '../create-element';\nimport objectAssign from 'object-assign';\n\nfunction auiNamespace() {\n return createElement.apply(undefined, arguments);\n};\nvar NAMESPACE = 'AJS';\n\nexport default function globalize (name, value) {\n if (window[NAMESPACE] !== auiNamespace) {\n window[NAMESPACE] = objectAssign(auiNamespace, window[NAMESPACE]);\n }\n\n return window[NAMESPACE][name] = value;\n}\n"]}