@atlassian/aui 7.10.2 → 7.10.4

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 (115) hide show
  1. package/changelog.md +35 -0
  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 +13 -13
  12. package/dist/aui/js/aui-datepicker.min.js +1 -1
  13. package/dist/aui/js/aui-experimental.js +275 -275
  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 +2278 -1544
  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.map +1 -1
  42. package/lib/js/aui/dialog.js.map +1 -1
  43. package/lib/js/aui/dialog2.js.map +1 -1
  44. package/lib/js/aui/drop-down.js.map +1 -1
  45. package/lib/js/aui/dropdown2.js.map +1 -1
  46. package/lib/js/aui/fancy-file-input.js.map +1 -1
  47. package/lib/js/aui/flag.js.map +1 -1
  48. package/lib/js/aui/focus-manager-global.js.map +1 -1
  49. package/lib/js/aui/focus-manager.js.map +1 -1
  50. package/lib/js/aui/form-notification.js.map +1 -1
  51. package/lib/js/aui/form-validation/basic-validators.js.map +1 -1
  52. package/lib/js/aui/form-validation/validator-register.js.map +1 -1
  53. package/lib/js/aui/form-validation.js.map +1 -1
  54. package/lib/js/aui/header-async.js.map +1 -1
  55. package/lib/js/aui/i18n.js.map +1 -1
  56. package/lib/js/aui/inline-dialog.js.map +1 -1
  57. package/lib/js/aui/inline-dialog2.js.map +1 -1
  58. package/lib/js/aui/internal/alignment.js.map +1 -1
  59. package/lib/js/aui/internal/deprecation.js.map +1 -1
  60. package/lib/js/aui/internal/globalize.js.map +1 -1
  61. package/lib/js/aui/internal/header/create-header.js.map +1 -1
  62. package/lib/js/aui/internal/select/suggestion-model.js.map +1 -1
  63. package/lib/js/aui/internal/select/suggestions-view.js.map +1 -1
  64. package/lib/js/aui/internal/skate.js.map +1 -1
  65. package/lib/js/aui/internal/widget.js.map +1 -1
  66. package/lib/js/aui/label.js.map +1 -1
  67. package/lib/js/aui/layer-manager-global.js.map +1 -1
  68. package/lib/js/aui/layer-manager.js.map +1 -1
  69. package/lib/js/aui/layer.js.map +1 -1
  70. package/lib/js/aui/messages.js.map +1 -1
  71. package/lib/js/aui/navigation.js.map +1 -1
  72. package/lib/js/aui/polyfills/placeholder.js.map +1 -1
  73. package/lib/js/aui/populate-parameters.js.map +1 -1
  74. package/lib/js/aui/progress-indicator.js.map +1 -1
  75. package/lib/js/aui/progressive-data-set.js.map +1 -1
  76. package/lib/js/aui/query-input.js.map +1 -1
  77. package/lib/js/aui/restful-table/custom-create-view.js.map +1 -1
  78. package/lib/js/aui/restful-table/custom-edit-view.js.map +1 -1
  79. package/lib/js/aui/restful-table/custom-read-view.js.map +1 -1
  80. package/lib/js/aui/restful-table/edit-row.js.map +1 -1
  81. package/lib/js/aui/restful-table/entry-model.js.map +1 -1
  82. package/lib/js/aui/restful-table/row.js.map +1 -1
  83. package/lib/js/aui/restful-table.js.map +1 -1
  84. package/lib/js/aui/result-set.js.map +1 -1
  85. package/lib/js/aui/results-list.js.map +1 -1
  86. package/lib/js/aui/select.js.map +1 -1
  87. package/lib/js/aui/select2.js.map +1 -1
  88. package/lib/js/aui/setup.js.map +1 -1
  89. package/lib/js/aui/sidebar.js.map +1 -1
  90. package/lib/js/aui/spin.js.map +1 -1
  91. package/lib/js/aui/spinner.js.map +1 -1
  92. package/lib/js/aui/tables-sortable.js.map +1 -1
  93. package/lib/js/aui/tabs.js.map +1 -1
  94. package/lib/js/aui/template.js.map +1 -1
  95. package/lib/js/aui/toggle.js.map +1 -1
  96. package/lib/js/aui/tooltip.js.map +1 -1
  97. package/lib/js/aui/trigger.js.map +1 -1
  98. package/lib/js/aui/truncating-progressive-data-set.js.map +1 -1
  99. package/lib/js/aui/unbind-text-resize.js.map +1 -1
  100. package/lib/js/aui/underscore.js.map +1 -1
  101. package/lib/js/aui/version.js +1 -1
  102. package/lib/js/aui/version.js.map +1 -1
  103. package/lib/js/aui/when-i-type.js.map +1 -1
  104. package/lib/js/aui-css-deprecations.js.map +1 -1
  105. package/lib/js-vendor/jquery/plugins/jquery.form.js +7 -1
  106. package/package.json +64 -44
  107. package/src/js-vendor/jquery/plugins/jquery.form.js +7 -1
  108. package/src/less/imports/aui-theme/core/atlaskit-theme/borders.less +1 -0
  109. package/src/less/imports/aui-theme/core/atlaskit-theme/colors.less +112 -0
  110. package/src/less/imports/aui-theme/core/atlaskit-theme/fonts.less +3 -0
  111. package/src/less/imports/aui-theme/core/colors.less +1 -1
  112. package/src/less/imports/aui-theme/core/text.less +1 -1
  113. package/yarn.lock +8354 -3893
  114. package/lib/js-vendor/underscorejs/underscore.js +0 -1287
  115. package/src/js-vendor/underscorejs/underscore.js +0 -1287
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/layer.js"],"names":["EVENT_PREFIX","GLOBAL_EVENT_PREFIX","LAYER_EVENT_PREFIX","AUI_EVENT_PREFIX","$doc","document","isTransitioning","el","prop","transition","window","getComputedStyle","transitionProperty","indexOf","onTransitionEnd","func","once","handler","e","propertyName","call","removeEventListener","addEventListener","oneTransitionEnd","ariaHide","$el","attr","ariaShow","triggerEvent","deprecatedName","newNativeName","e1","Event","e2","nativeEvent","bubbles","cancelable","nativeEvent2","trigger","dispatchEvent","isDefaultPrevented","defaultPrevented","Layer","selector","addClass","prototype","below","LayerManager","global","item","above","changeSize","width","height","css","on","event","fn","off","show","isVisible","push","hide","thisLayer","get","style","display","popUntil","remove","isBlanketed","isPersistent","modal","hasAttribute","_hideLayer","triggerBeforeEvents","exit","data","_showLayer","zIndex","parent","is","appendTo","body","enter","createLayer","eventName","getTrigger","$layer","hasTrigger","length","topIndexWhere","layerArr","i","layerIndex","topBlanketedIndex","nextZIndex","_nextZIndex","$topEl","parseInt","isNaN","Math","max","updateBlanket","stack","oldBlanketIndex","newTopBlanketedIndex","popLayers","stopIndex","forceClosePersistent","a","layer","splice","getParentLayer","$childLayer","$layerTrigger","closest","_stack","element","Error","popLayersBeside","blanketedIndex","$parentLayer","parentIndex","index","hideAll","reverse","forEach","getNextLowerNonPersistentOrBlanketedLayer","$nextEl","getNextHigherNonPeristentAndNonBlanketedLayer","oldTopBlanketedIndex","getTopLayer","$topLayer","popTopIfNonPersistent","popUntilTopBlanketed","$topBlanketedLayer","$next","popUntilTopPersistent","$toPop","toPop","initCloseLayerOnEscPress","keyCode","ESCAPE","preventDefault","initCloseLayerOnBlanketClick","hasLayer","$trigger","getElementById","initCloseLayerOnOuterClick","$target","target","Manager"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AAUA,QAAMA,eAAe,sBAArB;AACA,QAAMC,sBAAsB,6BAA5B;AACA,QAAMC,qBAAqB,YAA3B;AACA,QAAMC,mBAAmB,MAAzB;AACA,QAAIC,OAAO,sBAAEC,QAAF,CAAX;;AAEA;AACA,aAASC,eAAT,CAA0BC,EAA1B,EAA8BC,IAA9B,EAAoC;AAChC,YAAIC,aAAaC,OAAOC,gBAAP,CAAwBJ,EAAxB,EAA4BK,kBAA7C;AACA,eAAOH,aAAaA,WAAWI,OAAX,CAAmBL,IAAnB,IAA2B,CAAC,CAAzC,GAA6C,KAApD;AACH;;AAED,aAASM,eAAT,CAA0BP,EAA1B,EAA8BC,IAA9B,EAAoCO,IAApC,EAA0CC,IAA1C,EAAgD;AAC5C,iBAASC,OAAT,CAAkBC,CAAlB,EAAqB;AACjB,gBAAIV,SAASU,EAAEC,YAAf,EAA6B;AACzB;AACH;;AAEDJ,iBAAKK,IAAL,CAAUb,EAAV;;AAEA,gBAAIS,IAAJ,EAAU;AACNT,mBAAGc,mBAAH,CAAuB,eAAvB,EAAwCJ,OAAxC;AACH;AACJ;;AAED,YAAIX,gBAAgBC,EAAhB,EAAoBC,IAApB,CAAJ,EAA+B;AAC3BD,eAAGe,gBAAH,CAAoB,eAApB,EAAqCL,OAArC;AACH,SAFD,MAEO;AACHF,iBAAKK,IAAL,CAAUb,EAAV;AACH;AACJ;;AAED,aAASgB,gBAAT,CAA2BhB,EAA3B,EAA+BC,IAA/B,EAAqCO,IAArC,EAA2C;AACvCD,wBAAgBP,EAAhB,EAAoBC,IAApB,EAA0BO,IAA1B,EAAgC,IAAhC;AACH;AACD;;AAEA,aAASS,QAAT,CAAmBC,GAAnB,EAAwB;AACpBA,YAAIC,IAAJ,CAAS,aAAT,EAAwB,MAAxB;AACH;;AAED,aAASC,QAAT,CAAmBF,GAAnB,EAAwB;AACpBA,YAAIC,IAAJ,CAAS,aAAT,EAAwB,OAAxB;AACH;;AAED;;;AAGA,aAASE,YAAT,CAAuBH,GAAvB,EAA4BI,cAA5B,EAA4CC,aAA5C,EAA2D;AACvD,YAAIC,KAAK,iBAAEC,KAAF,CAAQhC,eAAe6B,cAAvB,CAAT;AACA,YAAII,KAAK,iBAAED,KAAF,CAAQ/B,sBAAsB4B,cAA9B,CAAT;AACA;AACA,YAAIK,cAAc,0BAAgBhC,qBAAqB4B,aAArC,EAAoD;AAClEK,qBAAS,IADyD;AAElEC,wBAAY;AAFsD,SAApD,CAAlB;AAIA,YAAIC,eAAe,0BAAgBlC,mBAAmB2B,aAAnC,EAAkD;AACjEK,qBAAS,IADwD;AAEjEC,wBAAY;AAFqD,SAAlD,CAAnB;;AAKAX,YAAIa,OAAJ,CAAYP,EAAZ;AACAN,YAAIa,OAAJ,CAAYL,EAAZ,EAAgB,CAACR,GAAD,CAAhB;AACAA,YAAI,CAAJ,EAAOc,aAAP,CAAqBL,WAArB;AACAT,YAAI,CAAJ,EAAOc,aAAP,CAAqBF,YAArB;;AAEA,eAAO,CAACN,GAAGS,kBAAH,EAAD,IACH,CAACP,GAAGO,kBAAH,EADE,IAEH,CAACN,YAAYO,gBAFV,IAGH,CAACJ,aAAaI,gBAHlB;AAIH;;AAED,aAASC,KAAT,CAAgBC,QAAhB,EAA0B;AACtB,aAAKlB,GAAL,GAAW,sBAAEkB,YAAY,kDAAd,CAAX;AACA,aAAKlB,GAAL,CAASmB,QAAT,CAAkB,WAAlB;AACH;;AAEDF,UAAMG,SAAN,GAAkB;AACd;;;;;AAKAC,eAAO,iBAAY;AACf,mBAAOC,aAAaC,MAAb,CAAoBC,IAApB,CAAyBF,aAAaC,MAAb,CAAoBnC,OAApB,CAA4B,KAAKY,GAAjC,IAAwC,CAAjE,CAAP;AACH,SARa;;AAUd;;;;;AAKAyB,eAAO,iBAAY;AACf,mBAAOH,aAAaC,MAAb,CAAoBC,IAApB,CAAyBF,aAAaC,MAAb,CAAoBnC,OAApB,CAA4B,KAAKY,GAAjC,IAAwC,CAAjE,CAAP;AACH,SAjBa;;AAmBd;;;;;;;;AAQA0B,oBAAY,oBAAUC,KAAV,EAAiBC,MAAjB,EAAyB;AACjC,iBAAK5B,GAAL,CAAS6B,GAAT,CAAa,OAAb,EAAsBF,KAAtB;AACA,iBAAK3B,GAAL,CAAS6B,GAAT,CAAa,QAAb,EAAuBD,WAAW,SAAX,GAAuB,EAAvB,GAA4BA,MAAnD;AACA,mBAAO,IAAP;AACH,SA/Ba;;AAiCd;;;;;;;;AAQAE,YAAI,YAAUC,KAAV,EAAiBC,EAAjB,EAAqB;AACrB,iBAAKhC,GAAL,CAAS8B,EAAT,CAAYvD,eAAewD,KAA3B,EAAkCC,EAAlC;AACA,mBAAO,IAAP;AACH,SA5Ca;;AA+Cd;;;;;;;;AAQAC,aAAK,aAAUF,KAAV,EAAiBC,EAAjB,EAAqB;AACtB,iBAAKhC,GAAL,CAASiC,GAAT,CAAa1D,eAAewD,KAA5B,EAAmCC,EAAnC;AACA,mBAAO,IAAP;AACH,SA1Da;;AA4Dd;;;;;AAKAE,cAAM,gBAAY;AACd,gBAAI,KAAKC,SAAL,EAAJ,EAAsB;AAClBjC,yBAAS,KAAKF,GAAd;AACA,uBAAO,IAAP;AACH;;AAED,gBAAI,CAACG,aAAa,KAAKH,GAAlB,EAAuB,YAAvB,EAAqC,MAArC,CAAL,EAAmD;AAC/C,uBAAO,IAAP;AACH;;AAED;AACA;AACA;AACA,gBAAI,KAAKA,GAAL,CAAS6B,GAAT,CAAa,SAAb,MAA4B,MAAhC,EAAwC;AACpC,qBAAK7B,GAAL,CAAS6B,GAAT,CAAa,SAAb,EAAwB,EAAxB;AACH;;AAEDP,yBAAaC,MAAb,CAAoBa,IAApB,CAAyB,KAAKpC,GAA9B;;AAEA,mBAAO,IAAP;AACH,SArFa;;AAuFd;;;;;AAKAqC,cAAM,gBAAY;AACd,gBAAI,CAAC,KAAKF,SAAL,EAAL,EAAuB;AACnBpC,yBAAS,KAAKC,GAAd;AACA,uBAAO,IAAP;AACH;;AAED,gBAAI,CAACG,aAAa,KAAKH,GAAlB,EAAuB,YAAvB,EAAqC,MAArC,CAAL,EAAmD;AAC/C,uBAAO,IAAP;AACH;;AAED;AACA,gBAAMsC,YAAY,IAAlB;AACAxC,6BAAiB,KAAKE,GAAL,CAASuC,GAAT,CAAa,CAAb,CAAjB,EAAkC,SAAlC,EAA6C,YAAY;AACrD,oBAAI,CAACD,UAAUH,SAAV,EAAL,EAA4B;AACxB,yBAAKK,KAAL,CAAWC,OAAX,GAAqB,MAArB;AACH;AACJ,aAJD;;AAMAnB,yBAAaC,MAAb,CAAoBmB,QAApB,CAA6B,KAAK1C,GAAlC;;AAEA,mBAAO,IAAP;AACH,SAjHa;;AAmHd;;;;;AAKAmC,mBAAW,qBAAY;AACnB,mBAAO,KAAKnC,GAAL,CAASC,IAAT,CAAc,aAAd,MAAiC,OAAxC;AACH,SA1Ha;;AA4Hd;;;;;AAKA0C,gBAAQ,kBAAY;AAChB,iBAAKN,IAAL;AACA,iBAAKrC,GAAL,CAAS2C,MAAT;AACA,iBAAK3C,GAAL,GAAW,IAAX;AACH,SArIa;;AAuId;;;;;AAKA4C,qBAAa,uBAAY;AACrB,mBAAO,KAAK5C,GAAL,CAASC,IAAT,CAAc,oBAAd,MAAwC,MAA/C;AACH,SA9Ia;;AAgJd;;;;;AAKA4C,sBAAc,wBAAY;AACtB,gBAAIC,QAAQ,KAAK9C,GAAL,CAASC,IAAT,CAAc,OAAd,KAA0B,KAAKD,GAAL,CAASC,IAAT,CAAc,gBAAd,CAAtC;AACA,gBAAI4C,eAAe,KAAK7C,GAAL,CAAS,CAAT,EAAY+C,YAAZ,CAAyB,YAAzB,CAAnB;;AAEA,mBAAOD,UAAU,MAAV,IAAoBD,YAA3B;AACH,SA1Ja;;AA4JdG,oBAAY,oBAAUC,mBAAV,EAA+B;AACvC,gBAAI,KAAKJ,YAAL,MAAuB,KAAKD,WAAL,EAA3B,EAA+C;AAC3C,uCAAarB,MAAb,CAAoB2B,IAApB,CAAyB,KAAKlD,GAA9B;AACH;;AAED,gBAAIiD,mBAAJ,EAAyB;AACrB9C,6BAAa,KAAKH,GAAlB,EAAuB,YAAvB,EAAqC,MAArC;AACH;;AAED,iBAAKA,GAAL,CAASC,IAAT,CAAc,aAAd,EAA6B,MAA7B;AACA,iBAAKD,GAAL,CAAS6B,GAAT,CAAa,SAAb,EAAwB,KAAK7B,GAAL,CAASmD,IAAT,CAAc,2BAAd,KAA8C,EAAtE;AACA,iBAAKnD,GAAL,CAASmD,IAAT,CAAc,2BAAd,EAA2C,EAA3C;AACA,iBAAKnD,GAAL,CAASa,OAAT,CAAiBtC,eAAe,MAAhC;AACA,iBAAKyB,GAAL,CAASa,OAAT,CAAiBrC,sBAAsB,MAAvC,EAA+C,CAAC,KAAKwB,GAAN,CAA/C;AACH,SA1Ka;;AA4KdoD,oBAAY,oBAAUC,MAAV,EAAkB;AAC1B,gBAAI,CAAC,KAAKrD,GAAL,CAASsD,MAAT,GAAkBC,EAAlB,CAAqB,MAArB,CAAL,EAAmC;AAC/B,qBAAKvD,GAAL,CAASwD,QAAT,CAAkB5E,SAAS6E,IAA3B;AACH;;AAED,iBAAKzD,GAAL,CAASmD,IAAT,CAAc,2BAAd,EAA2C,KAAKnD,GAAL,CAAS6B,GAAT,CAAa,SAAb,CAA3C;AACA,iBAAK7B,GAAL,CAAS6B,GAAT,CAAa,SAAb,EAAwBwB,MAAxB;AACA,iBAAKrD,GAAL,CAASC,IAAT,CAAc,aAAd,EAA6B,OAA7B;;AAEA,gBAAI,KAAK4C,YAAL,MAAuB,KAAKD,WAAL,EAA3B,EAA+C;AAC3C,uCAAarB,MAAb,CAAoBmC,KAApB,CAA0B,KAAK1D,GAA/B;AACH;;AAED,iBAAKA,GAAL,CAASa,OAAT,CAAiBtC,eAAe,MAAhC;AACA,iBAAKyB,GAAL,CAASa,OAAT,CAAiBrC,sBAAsB,MAAvC,EAA+C,CAAC,KAAKwB,GAAN,CAA/C;AACH;AA3La,KAAlB;;AA8LA,QAAI2D,cAAc,sBAAO,OAAP,EAAgB1C,KAAhB,CAAlB;;AAEA0C,gBAAY7B,EAAZ,GAAiB,UAAU8B,SAAV,EAAqB1C,QAArB,EAA+Bc,EAA/B,EAAmC;AAChDrD,aAAKmD,EAAL,CAAQtD,sBAAsBoF,SAA9B,EAAyC1C,QAAzC,EAAmDc,EAAnD;AACA,eAAO,IAAP;AACH,KAHD;;AAKA2B,gBAAY1B,GAAZ,GAAkB,UAAU2B,SAAV,EAAqB1C,QAArB,EAA+Bc,EAA/B,EAAmC;AACjDrD,aAAKsD,GAAL,CAASzD,sBAAsBoF,SAA/B,EAA0C1C,QAA1C,EAAoDc,EAApD;AACA,eAAO,IAAP;AACH,KAHD;;AAOA;AACA;;AAEA;;;;;;;;;;;;;;;;AAgBA,aAAS6B,UAAT,CAAqBC,MAArB,EAA6B;AACzB,eAAO,sBAAE,qBAAqBA,OAAO7D,IAAP,CAAY,IAAZ,CAArB,GAAyC,IAA3C,CAAP;AACH;;AAED,aAAS8D,UAAT,CAAqBD,MAArB,EAA6B;AACzB,eAAOD,WAAWC,MAAX,EAAmBE,MAAnB,GAA4B,CAAnC;AACH;;AAED,aAASC,aAAT,CAAwBC,QAAxB,EAAkClC,EAAlC,EAAsC;AAClC,YAAImC,IAAID,SAASF,MAAjB;;AAEA,eAAOG,GAAP,EAAY;AACR,gBAAInC,GAAGkC,SAASC,CAAT,CAAH,CAAJ,EAAqB;AACjB,uBAAOA,CAAP;AACH;AACJ;;AAED,eAAO,CAAC,CAAR;AACH;;AAED,aAASC,UAAT,CAAqBF,QAArB,EAA+BlE,GAA/B,EAAoC;AAChC,eAAOiE,cAAcC,QAAd,EAAwB,UAAUJ,MAAV,EAAkB;AAC7C,mBAAOA,OAAO,CAAP,MAAc9D,IAAI,CAAJ,CAArB;AACH,SAFM,CAAP;AAGH;;AAED,aAASqE,iBAAT,CAA4BH,QAA5B,EAAsC;AAClC,eAAOD,cAAcC,QAAd,EAAwB,UAAUJ,MAAV,EAAkB;AAC7C,mBAAOH,YAAYG,MAAZ,EAAoBlB,WAApB,EAAP;AACH,SAFM,CAAP;AAGH;;AAED,aAAS0B,UAAT,CAAqBJ,QAArB,EAA+B;AAC3B,YAAIK,WAAJ;;AAEA,YAAIL,SAASF,MAAb,EAAqB;AACjB,gBAAIQ,SAASN,SAASA,SAASF,MAAT,GAAkB,CAA3B,CAAb;AACA,gBAAIX,SAASoB,SAASD,OAAO3C,GAAP,CAAW,SAAX,CAAT,EAAgC,EAAhC,CAAb;AACA0C,0BAAc,CAACG,MAAMrB,MAAN,IAAgB,CAAhB,GAAoBA,MAArB,IAA+B,GAA7C;AACH,SAJD,MAIO;AACHkB,0BAAc,CAAd;AACH;;AAED,eAAOI,KAAKC,GAAL,CAAS,IAAT,EAAeL,WAAf,CAAP;AACH;;AAED,aAASM,aAAT,CAAwBC,KAAxB,EAA+BC,eAA/B,EAAgD;AAC5C,YAAIC,uBAAuBX,kBAAkBS,KAAlB,CAA3B;;AAEA,YAAIC,oBAAoBC,oBAAxB,EAA8C;AAC1C,gBAAIA,uBAAuB,CAAC,CAA5B,EAA+B;AAC3B,kCAAI,KAAJ,EAAWF,MAAME,oBAAN,EAA4BnD,GAA5B,CAAgC,SAAhC,IAA6C,EAAxD;AACH,aAFD,MAEO;AACH;AACH;AACJ;AACJ;;AAED,aAASoD,SAAT,CAAoBH,KAApB,EAA2BI,SAA3B,EAAsCC,oBAAtC,EAA4D;AACxD,YAAID,YAAY,CAAhB,EAAmB;AACf;AACH;;AAED,aAAK,IAAIE,IAAIN,MAAMd,MAAN,GAAe,CAA5B,EAA+BoB,KAAKF,SAApC,EAA+CE,GAA/C,EAAoD;AAChD,gBAAItB,SAASgB,MAAMM,CAAN,CAAb;AACA,gBAAIC,QAAQ1B,YAAYG,MAAZ,CAAZ;;AAEA,gBAAIqB,wBAAwB,CAACE,MAAMxC,YAAN,EAA7B,EAAmD;AAC/CwC,sBAAMrC,UAAN,CAAiB,IAAjB;AACA8B,sBAAMQ,MAAN,CAAaF,CAAb,EAAgB,CAAhB;AACH;AACJ;AACJ;;AAED,aAASG,cAAT,CAAyBC,WAAzB,EAAsC;AAClC,YAAIC,gBAAgB5B,WAAW2B,WAAX,CAApB;;AAEA,YAAIC,cAAczB,MAAd,GAAuB,CAA3B,EAA8B;AAC1B,mBAAOyB,cAAcC,OAAd,CAAsB,YAAtB,CAAP;AACH;AACJ;;AAED,aAASpE,YAAT,GAAyB;AACrB,aAAKqE,MAAL,GAAc,EAAd;AACH;;AAEDrE,iBAAaF,SAAb,GAAyB;AACrB;;;;;;;;AAQAgB,cAAM,cAAUwD,OAAV,EAAmB;AACrB,gBAAI5F,MAAO4F,mCAAD,GAAyBA,OAAzB,GAAmC,sBAAEA,OAAF,CAA7C;AACA,gBAAIxB,WAAW,KAAKuB,MAAhB,EAAwB3F,GAAxB,KAAgC,CAApC,EAAuC;AACnC,sBAAM,IAAI6F,KAAJ,CAAU,+CAAV,CAAN;AACH;;AAED,iBAAKC,eAAL,CAAqB9F,GAArB;;AAEA,gBAAIqF,QAAQ1B,YAAY3D,GAAZ,CAAZ;AACA,gBAAIqD,SAASiB,WAAW,KAAKqB,MAAhB,CAAb;;AAEAN,kBAAMjC,UAAN,CAAiBC,MAAjB;;AAEA,gBAAIgC,MAAMzC,WAAN,EAAJ,EAAyB;AACrB,kCAAI,KAAJ,EAAWS,SAAS,EAApB;AACH;;AAED,iBAAKsC,MAAL,CAAYvD,IAAZ,CAAiBpC,GAAjB;;AAEA,mBAAO,IAAP;AACH,SA7BoB;;AA+BrB8F,yBAAiB,yBAAUF,OAAV,EAAmB;AAChC,gBAAI9B,SAAU8B,mCAAD,GAAyBA,OAAzB,GAAmC,sBAAEA,OAAF,CAAhD;AACA,gBAAI,CAAC7B,WAAWD,MAAX,CAAL,EAAyB;AACrB;AACA,oBAAIiC,iBAAiB1B,kBAAkB,KAAKsB,MAAvB,CAArB;AACAV,0BAAU,KAAKU,MAAf,EAAuB,EAAEI,cAAzB,EAAyC,KAAzC;AACA;AACH;;AAED,gBAAIC,eAAeT,eAAezB,MAAf,CAAnB;AACA,gBAAIkC,YAAJ,EAAkB;AACd,oBAAIC,cAAc,KAAK7G,OAAL,CAAa4G,YAAb,CAAlB;AACAf,0BAAU,KAAKU,MAAf,EAAuB,EAAEM,WAAzB,EAAsC,KAAtC;AACH,aAHD,MAGO;AACHhB,0BAAU,KAAKU,MAAf,EAAuB,CAAvB,EAA0B,KAA1B;AACH;AAEJ,SAhDoB;;AAkDrB;;;;;;;AAOAvG,iBAAS,iBAAUwG,OAAV,EAAmB;AACxB,mBAAOxB,WAAW,KAAKuB,MAAhB,EAAwB,sBAAEC,OAAF,CAAxB,CAAP;AACH,SA3DoB;;AA6DrB;;;;;;;AAOApE,cAAM,cAAU0E,KAAV,EAAiB;AACnB,mBAAO,KAAKP,MAAL,CAAYO,KAAZ,CAAP;AACH,SAtEoB;;AAwErB;;;;;AAKAC,iBAAS,mBAAY;AACjB,iBAAKR,MAAL,CAAYS,OAAZ,GAAsBC,OAAtB,CAA8B,UAAUT,OAAV,EAAmB;AAC7C,oBAAIP,QAAQ1B,YAAYiC,OAAZ,CAAZ;AACA,oBAAIP,MAAMzC,WAAN,MAAuByC,MAAMxC,YAAN,EAA3B,EAAiD;AAC7C;AACH;AACDwC,sBAAMhD,IAAN;AACH,aAND;;AAQA,mBAAO,IAAP;AACH,SAvFoB;;AAyFrB;;;;;;;;AAQAiE,mDAA2C,mDAAUV,OAAV,EAAmB;AAC1D,gBAAI5F,MAAO4F,mCAAD,GAAyBA,OAAzB,GAAmC,sBAAEA,OAAF,CAA7C;AACA,gBAAIM,QAAQ9B,WAAW,KAAKuB,MAAhB,EAAwB3F,GAAxB,CAAZ;;AAEA,gBAAIkG,QAAQ,CAAZ,EAAe;AACX,uBAAO,IAAP;AACH;;AAED,gBAAIK,OAAJ;AACAL;AACA,mBAAOA,SAAS,CAAhB,EAAmB;AACfK,0BAAU,KAAKZ,MAAL,CAAYO,KAAZ,CAAV;AACA,oBAAIb,QAAQ1B,YAAY4C,OAAZ,CAAZ;;AAEA,oBAAI,CAAClB,MAAMxC,YAAN,EAAD,IAAyBwC,MAAMzC,WAAN,EAA7B,EAAkD;AAC9C,2BAAO2D,OAAP;AACH;AACDL;AACH;;AAED,mBAAO,IAAP;AACH,SAtHoB;;AAwHrB;;;;;;;AAOAM,uDAA+C,uDAAUZ,OAAV,EAAmB;AAC9D,gBAAI5F,MAAO4F,mCAAD,GAAyBA,OAAzB,GAAmC,sBAAEA,OAAF,CAA7C;AACA,gBAAIM,QAAQ9B,WAAW,KAAKuB,MAAhB,EAAwB3F,GAAxB,CAAZ;;AAEA,gBAAIkG,QAAQ,CAAZ,EAAe;AACX,uBAAO,IAAP;AACH;;AAED,gBAAIK,OAAJ;AACAL;AACA,mBAAOA,QAAQ,KAAKP,MAAL,CAAY3B,MAA3B,EAAmC;AAC/BuC,0BAAU,KAAKZ,MAAL,CAAYO,KAAZ,CAAV;AACA,oBAAIb,QAAQ1B,YAAY4C,OAAZ,CAAZ;;AAEA,oBAAI,EAAElB,MAAMxC,YAAN,MAAwBwC,MAAMzC,WAAN,EAA1B,CAAJ,EAAoD;AAChD,2BAAO2D,OAAP;AACH;AACDL;AACH;;AAED,mBAAO,IAAP;AACH,SApJoB;;AAsJrB;;;;;;;;AAQAxD,kBAAU,kBAAUkD,OAAV,EAAmB;AACzB,gBAAI5F,MAAO4F,mCAAD,GAAyBA,OAAzB,GAAmC,sBAAEA,OAAF,CAA7C;AACA,gBAAIM,QAAQ9B,WAAW,KAAKuB,MAAhB,EAAwB3F,GAAxB,CAAZ;;AAEA,gBAAIkG,UAAU,CAAC,CAAf,EAAkB;AACd,uBAAO,IAAP;AACH;;AAED,gBAAIO,uBAAuBpC,kBAAkB,KAAKsB,MAAvB,CAA3B;;AAEA;AACAV,sBAAU,KAAKU,MAAf,EAAuBO,QAAQ,CAA/B,EAAkCvC,YAAY3D,GAAZ,EAAiB4C,WAAjB,EAAlC;;AAEA;AACAe,wBAAY3D,GAAZ,EAAiBgD,UAAjB;AACA,iBAAK2C,MAAL,CAAYL,MAAZ,CAAmBY,KAAnB,EAA0B,CAA1B;;AAEArB,0BAAc,KAAKc,MAAnB,EAA2Bc,oBAA3B;;AAEA,mBAAOzG,GAAP;AACH,SAlLoB;;AAoLrB;;;;;AAKA0G,qBAAa,uBAAY;AACrB,gBAAI,CAAC,KAAKf,MAAL,CAAY3B,MAAjB,EAAyB;AACrB,uBAAO,IAAP;AACH;;AAED,gBAAI2C,YAAY,KAAKhB,MAAL,CAAY,KAAKA,MAAL,CAAY3B,MAAZ,GAAqB,CAAjC,CAAhB;;AAEA,mBAAO2C,SAAP;AACH,SAjMoB;;AAmMrB;;;;;AAKAC,+BAAuB,iCAAY;AAC/B,gBAAID,YAAY,KAAKD,WAAL,EAAhB;AACA,gBAAIrB,QAAQ1B,YAAYgD,SAAZ,CAAZ;;AAEA,gBAAI,CAACA,SAAD,IAActB,MAAMxC,YAAN,EAAlB,EAAwC;AACpC,uBAAO,IAAP;AACH;;AAED,mBAAO,KAAKH,QAAL,CAAciE,SAAd,CAAP;AACH,SAjNoB;;AAmNrB;;;;;;AAMAE,8BAAsB,gCAAY;AAC9B,gBAAI1C,IAAIE,kBAAkB,KAAKsB,MAAvB,CAAR;;AAEA,gBAAIxB,IAAI,CAAR,EAAW;AACP,uBAAO,IAAP;AACH;;AAED,gBAAI2C,qBAAqB,KAAKnB,MAAL,CAAYxB,CAAZ,CAAzB;AACA,gBAAIkB,QAAQ1B,YAAYmD,kBAAZ,CAAZ;;AAEA,gBAAIzB,MAAMxC,YAAN,EAAJ,EAA0B;AACtB;AACA,oBAAIkE,QAAQ,KAAKP,6CAAL,CAAmDM,kBAAnD,CAAZ;AACA,oBAAIC,KAAJ,EAAW;AACP,wBAAI7B,YAAYd,WAAW,KAAKuB,MAAhB,EAAwBoB,KAAxB,CAAhB;AACA9B,8BAAU,KAAKU,MAAf,EAAuBT,SAAvB,EAAkC,IAAlC;AACA,2BAAO6B,KAAP;AACH;AACD,uBAAO,IAAP;AACH;;AAED9B,sBAAU,KAAKU,MAAf,EAAuBxB,CAAvB,EAA0B,IAA1B;AACAU,0BAAc,KAAKc,MAAnB,EAA2BxB,CAA3B;AACA,mBAAO2C,kBAAP;AACH,SAjPoB;;AAmPrB;;;;AAIAE,+BAAuB,iCAAY;AAC/B,gBAAIC,SAAS3F,aAAaC,MAAb,CAAoBmF,WAApB,EAAb;AACA,gBAAI,CAACO,MAAL,EAAa;AACT;AACH;;AAED,gBAAI/B,SAAJ;AACA,gBAAIuB,uBAAuBpC,kBAAkB,KAAKsB,MAAvB,CAA3B;;AAEA,gBAAIuB,QAAQvD,YAAYsD,MAAZ,CAAZ;AACA,gBAAIC,MAAMrE,YAAN,EAAJ,EAA0B;AACtB,oBAAIqE,MAAMtE,WAAN,EAAJ,EAAyB;AACrB;AACH,iBAFD,MAEO;AACH;AACAqE,6BAAS3F,aAAaC,MAAb,CAAoB+E,yCAApB,CAA8DW,MAA9D,CAAT;AACAC,4BAAQvD,YAAYsD,MAAZ,CAAR;;AAEA,wBAAIA,UAAU,CAACC,MAAMrE,YAAN,EAAf,EAAqC;AACjCqC,oCAAYd,WAAW,KAAKuB,MAAhB,EAAwBsB,MAAxB,CAAZ;AACAhC,kCAAU,KAAKU,MAAf,EAAuBT,SAAvB,EAAkC,IAAlC;AACAL,sCAAc,KAAKc,MAAnB,EAA2Bc,oBAA3B;AACH,qBAJD,MAIO;AACH;AACA;AACH;AACJ;AACJ,aAjBD,MAiBO;AACHvB,4BAAYd,WAAW,KAAKuB,MAAhB,EAAwBsB,MAAxB,CAAZ;AACAhC,0BAAU,KAAKU,MAAf,EAAuBT,SAAvB,EAAkC,IAAlC;AACAL,8BAAc,KAAKc,MAAnB,EAA2Bc,oBAA3B;AACH;AACJ;AAvRoB,KAAzB;;AA0RA;AACA;;AAEA,aAASU,wBAAT,GAAoC;AAChCxI,aAAKmD,EAAL,CAAQ,SAAR,EAAmB,UAAUrC,CAAV,EAAa;AAC5B,gBAAIA,EAAE2H,OAAF,KAAc,kBAAQC,MAA1B,EAAkC;AAC9B/F,6BAAaC,MAAb,CAAoByF,qBAApB;AACAvH,kBAAE6H,cAAF;AACH;AACJ,SALD;AAMH;;AAED,aAASC,4BAAT,GAAwC;AACpC5I,aAAKmD,EAAL,CAAQ,OAAR,EAAiB,cAAjB,EAAiC,UAAUrC,CAAV,EAAa;AAC1C,gBAAI6B,aAAaC,MAAb,CAAoBsF,oBAApB,EAAJ,EAAgD;AAC5CpH,kBAAE6H,cAAF;AACH;AACJ,SAJD;AAKH;;AAED,aAASE,QAAT,CAAkBC,QAAlB,EAA4B;AACxB,YAAI,CAACA,SAASzD,MAAd,EAAsB;AAClB,mBAAO,KAAP;AACH;;AAED,YAAIqB,QAAQzG,SAAS8I,cAAT,CAAwBD,SAASxH,IAAT,CAAc,eAAd,CAAxB,CAAZ;AACA,eAAOqB,aAAaC,MAAb,CAAoBnC,OAApB,CAA4BiG,KAA5B,IAAqC,CAAC,CAA7C;AACH;;AAED;AACA;AACA;AACA,aAASsC,0BAAT,GAAuC;AACnChJ,aAAKmD,EAAL,CAAQ,OAAR,EAAiB,UAAUrC,CAAV,EAAa;AAC1B,gBAAImI,UAAU,sBAAEnI,EAAEoI,MAAJ,CAAd;AACA,gBAAID,QAAQlC,OAAR,CAAgB,cAAhB,EAAgC1B,MAApC,EAA4C;AACxC;AACH;;AAED,gBAAIyD,WAAWG,QAAQlC,OAAR,CAAgB,iBAAhB,CAAf;AACA,gBAAI5B,SAAS8D,QAAQlC,OAAR,CAAgB,YAAhB,CAAb;AACA,gBAAI,CAAC5B,OAAOE,MAAR,IAAkB,CAACwD,SAASC,QAAT,CAAvB,EAA2C;AACvCnG,6BAAaC,MAAb,CAAoB4E,OAApB;AACA;AACH;;AAED;AACA,gBAAIqB,SAASC,QAAT,CAAJ,EAAwB;AACpB;AACH;;AAED,gBAAI3D,OAAOE,MAAX,EAAmB;AACf;AACA;AACA;AACA;AACA;AACA,oBAAI+C,QAAQzF,aAAaC,MAAb,CAAoBiF,6CAApB,CAAkE1C,MAAlE,CAAZ;;AAEA,oBAAIiD,KAAJ,EAAW;AACPpD,gCAAYoD,KAAZ,EAAmB1E,IAAnB;AACH;AACJ;AACJ,SA9BD;AA+BH;;AAED8E;AACAI;AACAI;;AAEArG,iBAAaC,MAAb,GAAsB,IAAID,YAAJ,EAAtB;AACAqC,gBAAYmE,OAAZ,GAAsBxG,YAAtB;;AAEA,6BAAU,OAAV,EAAmBqC,WAAnB;;sBAEeA,W","file":"layer.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport { dim, undim } from './blanket';\nimport FocusManager from './focus-manager';\nimport globalize from './internal/globalize';\nimport keyCode from './key-code';\nimport widget from './internal/widget';\nimport CustomEvent from './polyfills/custom-event';\n\nconst EVENT_PREFIX = '_aui-internal-layer-';\nconst GLOBAL_EVENT_PREFIX = '_aui-internal-layer-global-';\nconst LAYER_EVENT_PREFIX = 'aui-layer-';\nconst AUI_EVENT_PREFIX = 'aui-';\nvar $doc = $(document);\n\n// AUI-3708 - Abstracted to reflect code implemented upstream.\nfunction isTransitioning (el, prop) {\n var transition = window.getComputedStyle(el).transitionProperty;\n return transition ? transition.indexOf(prop) > -1 : false;\n}\n\nfunction onTransitionEnd (el, prop, func, once) {\n function handler (e) {\n if (prop !== e.propertyName) {\n return;\n }\n\n func.call(el);\n\n if (once) {\n el.removeEventListener('transitionend', handler);\n }\n }\n\n if (isTransitioning(el, prop)) {\n el.addEventListener('transitionend', handler);\n } else {\n func.call(el);\n }\n}\n\nfunction oneTransitionEnd (el, prop, func) {\n onTransitionEnd(el, prop, func, true);\n}\n// end AUI-3708\n\nfunction ariaHide ($el) {\n $el.attr('aria-hidden', 'true');\n}\n\nfunction ariaShow ($el) {\n $el.attr('aria-hidden', 'false');\n}\n\n/**\n* @return {bool} Returns false if at least one of the event handlers called .preventDefault(). Returns true otherwise.\n*/\nfunction triggerEvent ($el, deprecatedName, newNativeName) {\n var e1 = $.Event(EVENT_PREFIX + deprecatedName);\n var e2 = $.Event(GLOBAL_EVENT_PREFIX + deprecatedName);\n // TODO: Remove this 'aui-layer-' prefixed event once it is no longer used by inline dialog and dialog2.\n var nativeEvent = new CustomEvent(LAYER_EVENT_PREFIX + newNativeName, {\n bubbles: true,\n cancelable: true\n });\n var nativeEvent2 = new CustomEvent(AUI_EVENT_PREFIX + newNativeName, {\n bubbles: true,\n cancelable: true\n });\n\n $el.trigger(e1);\n $el.trigger(e2, [$el]);\n $el[0].dispatchEvent(nativeEvent);\n $el[0].dispatchEvent(nativeEvent2);\n\n return !e1.isDefaultPrevented() &&\n !e2.isDefaultPrevented() &&\n !nativeEvent.defaultPrevented &&\n !nativeEvent2.defaultPrevented;\n}\n\nfunction Layer (selector) {\n this.$el = $(selector || '<div class=\"aui-layer\" aria-hidden=\"true\"></div>');\n this.$el.addClass('aui-layer');\n}\n\nLayer.prototype = {\n /**\n * Returns the layer below the current layer if it exists.\n *\n * @returns {jQuery | undefined}\n */\n below: function () {\n return LayerManager.global.item(LayerManager.global.indexOf(this.$el) - 1);\n },\n\n /**\n * Returns the layer above the current layer if it exists.\n *\n * @returns {jQuery | undefined}\n */\n above: function () {\n return LayerManager.global.item(LayerManager.global.indexOf(this.$el) + 1);\n },\n\n /**\n * Sets the width and height of the layer.\n *\n * @param {Integer} width The width to set.\n * @param {Integer} height The height to set.\n *\n * @returns {Layer}\n */\n changeSize: function (width, height) {\n this.$el.css('width', width);\n this.$el.css('height', height === 'content' ? '' : height);\n return this;\n },\n\n /**\n * Binds a layer event.\n *\n * @param {String} event The event name to listen to.\n * @param {Function} fn The event handler.\n *\n * @returns {Layer}\n */\n on: function (event, fn) {\n this.$el.on(EVENT_PREFIX + event, fn);\n return this;\n },\n\n\n /**\n * Unbinds a layer event.\n *\n * @param {String} event The event name to unbind=.\n * @param {Function} fn Optional. The event handler.\n *\n * @returns {Layer}\n */\n off: function (event, fn) {\n this.$el.off(EVENT_PREFIX + event, fn);\n return this;\n },\n\n /**\n * Shows the layer.\n *\n * @returns {Layer}\n */\n show: function () {\n if (this.isVisible()) {\n ariaShow(this.$el);\n return this;\n }\n\n if (!triggerEvent(this.$el, 'beforeShow', 'show')) {\n return this;\n }\n\n // AUI-3708\n // Ensures that the display property is removed if it's been added\n // during hiding.\n if (this.$el.css('display') === 'none') {\n this.$el.css('display', '');\n }\n\n LayerManager.global.push(this.$el);\n\n return this;\n },\n\n /**\n * Hides the layer.\n *\n * @returns {Layer}\n */\n hide: function () {\n if (!this.isVisible()) {\n ariaHide(this.$el);\n return this;\n }\n\n if (!triggerEvent(this.$el, 'beforeHide', 'hide')) {\n return this;\n }\n\n // AUI-3708\n const thisLayer = this;\n oneTransitionEnd(this.$el.get(0), 'opacity', function () {\n if (!thisLayer.isVisible()) {\n this.style.display = 'none';\n }\n });\n\n LayerManager.global.popUntil(this.$el);\n\n return this;\n },\n\n /**\n * Checks to see if the layer is visible.\n *\n * @returns {Boolean}\n */\n isVisible: function () {\n return this.$el.attr('aria-hidden') === 'false';\n },\n\n /**\n * Removes the layer and cleans up internal state.\n *\n * @returns {undefined}\n */\n remove: function () {\n this.hide();\n this.$el.remove();\n this.$el = null;\n },\n\n /**\n * Returns whether or not the layer is blanketed.\n *\n * @returns {Boolean}\n */\n isBlanketed: function () {\n return this.$el.attr('data-aui-blanketed') === 'true';\n },\n\n /**\n * Returns whether or not the layer is persistent.\n *\n * @returns {Boolean}\n */\n isPersistent: function () {\n var modal = this.$el.attr('modal') || this.$el.attr('data-aui-modal');\n var isPersistent = this.$el[0].hasAttribute('persistent');\n\n return modal === 'true' || isPersistent;\n },\n\n _hideLayer: function (triggerBeforeEvents) {\n if (this.isPersistent() || this.isBlanketed()) {\n FocusManager.global.exit(this.$el);\n }\n\n if (triggerBeforeEvents) {\n triggerEvent(this.$el, 'beforeHide', 'hide');\n }\n\n this.$el.attr('aria-hidden', 'true');\n this.$el.css('z-index', this.$el.data('_aui-layer-cached-z-index') || '');\n this.$el.data('_aui-layer-cached-z-index', '');\n this.$el.trigger(EVENT_PREFIX + 'hide');\n this.$el.trigger(GLOBAL_EVENT_PREFIX + 'hide', [this.$el]);\n },\n\n _showLayer: function (zIndex) {\n if (!this.$el.parent().is('body')) {\n this.$el.appendTo(document.body);\n }\n\n this.$el.data('_aui-layer-cached-z-index', this.$el.css('z-index'));\n this.$el.css('z-index', zIndex);\n this.$el.attr('aria-hidden', 'false');\n\n if (this.isPersistent() || this.isBlanketed()) {\n FocusManager.global.enter(this.$el);\n }\n\n this.$el.trigger(EVENT_PREFIX + 'show');\n this.$el.trigger(GLOBAL_EVENT_PREFIX + 'show', [this.$el]);\n }\n};\n\nvar createLayer = widget('layer', Layer);\n\ncreateLayer.on = function (eventName, selector, fn) {\n $doc.on(GLOBAL_EVENT_PREFIX + eventName, selector, fn);\n return this;\n};\n\ncreateLayer.off = function (eventName, selector, fn) {\n $doc.off(GLOBAL_EVENT_PREFIX + eventName, selector, fn);\n return this;\n};\n\n\n\n// Layer Manager\n// -------------\n\n/**\n * Manages layers.\n *\n * There is a single global layer manager.\n * Additional instances can be created however this should generally only be used in tests.\n *\n * Layers are added by the push($el) method. Layers are removed by the\n * popUntil($el) method.\n *\n * popUntil's contract is that it pops all layers above & including the given\n * layer. This is used to support popping multiple layers.\n * Say we were showing a dropdown inside an inline dialog inside a dialog - we\n * have a stack of dialog layer, inline dialog layer, then dropdown layer. Calling\n * popUntil(dialog.$el) would hide all layers above & including the dialog.\n */\n\nfunction getTrigger ($layer) {\n return $('[aria-controls=\"' + $layer.attr('id') + '\"]');\n}\n\nfunction hasTrigger ($layer) {\n return getTrigger($layer).length > 0;\n}\n\nfunction topIndexWhere (layerArr, fn) {\n var i = layerArr.length;\n\n while (i--) {\n if (fn(layerArr[i])) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction layerIndex (layerArr, $el) {\n return topIndexWhere(layerArr, function ($layer) {\n return $layer[0] === $el[0];\n });\n}\n\nfunction topBlanketedIndex (layerArr) {\n return topIndexWhere(layerArr, function ($layer) {\n return createLayer($layer).isBlanketed();\n });\n}\n\nfunction nextZIndex (layerArr) {\n var _nextZIndex;\n\n if (layerArr.length) {\n var $topEl = layerArr[layerArr.length - 1];\n var zIndex = parseInt($topEl.css('z-index'), 10);\n _nextZIndex = (isNaN(zIndex) ? 0 : zIndex) + 100;\n } else {\n _nextZIndex = 0;\n }\n\n return Math.max(3000, _nextZIndex);\n}\n\nfunction updateBlanket (stack, oldBlanketIndex) {\n var newTopBlanketedIndex = topBlanketedIndex(stack);\n\n if (oldBlanketIndex !== newTopBlanketedIndex) {\n if (newTopBlanketedIndex > -1) {\n dim(false, stack[newTopBlanketedIndex].css('z-index') - 20);\n } else {\n undim();\n }\n }\n}\n\nfunction popLayers (stack, stopIndex, forceClosePersistent) {\n if (stopIndex < 0) {\n return;\n }\n\n for (var a = stack.length - 1; a >= stopIndex; a--) {\n var $layer = stack[a];\n var layer = createLayer($layer);\n\n if (forceClosePersistent || !layer.isPersistent()) {\n layer._hideLayer(true);\n stack.splice(a, 1);\n }\n }\n}\n\nfunction getParentLayer ($childLayer) {\n var $layerTrigger = getTrigger($childLayer);\n\n if ($layerTrigger.length > 0) {\n return $layerTrigger.closest('.aui-layer');\n }\n}\n\nfunction LayerManager () {\n this._stack = [];\n}\n\nLayerManager.prototype = {\n /**\n * Pushes a layer onto the stack. The same element cannot be opened as a layer multiple times - if the given\n * element is already an open layer, this method throws an exception.\n *\n * @param {HTMLElement | String | jQuery} element The element to push onto the stack.\n *\n * @returns {LayerManager}\n */\n push: function (element) {\n var $el = (element instanceof $) ? element : $(element);\n if (layerIndex(this._stack, $el) >= 0) {\n throw new Error('The given element is already an active layer.');\n }\n\n this.popLayersBeside($el);\n\n var layer = createLayer($el);\n var zIndex = nextZIndex(this._stack);\n\n layer._showLayer(zIndex);\n\n if (layer.isBlanketed()) {\n dim(false, zIndex - 20);\n }\n\n this._stack.push($el);\n\n return this;\n },\n\n popLayersBeside: function (element) {\n var $layer = (element instanceof $) ? element : $(element);\n if (!hasTrigger($layer)) {\n // We can't find this layer's trigger, we will pop all non-persistent until a blanket or the document\n var blanketedIndex = topBlanketedIndex(this._stack);\n popLayers(this._stack, ++blanketedIndex, false);\n return;\n }\n\n var $parentLayer = getParentLayer($layer);\n if ($parentLayer) {\n var parentIndex = this.indexOf($parentLayer);\n popLayers(this._stack, ++parentIndex, false);\n } else {\n popLayers(this._stack, 0, false);\n }\n\n },\n\n /**\n * Returns the index of the specified layer in the layer stack.\n *\n * @param {HTMLElement | String | jQuery} element The element to find in the stack.\n *\n * @returns {Number} the (zero-based) index of the element, or -1 if not in the stack.\n */\n indexOf: function (element) {\n return layerIndex(this._stack, $(element));\n },\n\n /**\n * Returns the item at the particular index or false.\n *\n * @param {Number} index The index of the element to get.\n *\n * @returns {jQuery | Boolean}\n */\n item: function (index) {\n return this._stack[index];\n },\n\n /**\n * Hides all layers in the stack.\n *\n * @returns {LayerManager}\n */\n hideAll: function () {\n this._stack.reverse().forEach(function (element) {\n var layer = createLayer(element);\n if (layer.isBlanketed() || layer.isPersistent()) {\n return;\n }\n layer.hide();\n });\n\n return this;\n },\n\n /**\n * Gets the previous layer below the given layer, which is non modal and non persistent. If it finds a blanketed layer on the way\n * it returns it regardless if it is modal or not\n *\n * @param {HTMLElement | String | jQuery} element layer to start the search from.\n *\n * @returns {jQuery | null} the next matching layer or null if none found.\n */\n getNextLowerNonPersistentOrBlanketedLayer: function (element) {\n var $el = (element instanceof $) ? element : $(element);\n var index = layerIndex(this._stack, $el);\n\n if (index < 0) {\n return null;\n }\n\n var $nextEl;\n index--;\n while (index >= 0) {\n $nextEl = this._stack[index];\n var layer = createLayer($nextEl);\n\n if (!layer.isPersistent() || layer.isBlanketed()) {\n return $nextEl;\n }\n index--;\n }\n\n return null;\n },\n\n /**\n * Gets the next layer which is neither modal or blanketed, from the given layer.\n *\n * @param {HTMLElement | String | jQuery} element layer to start the search from.\n *\n * @returns {jQuery | null} the next non modal non blanketed layer or null if none found.\n */\n getNextHigherNonPeristentAndNonBlanketedLayer: function (element) {\n var $el = (element instanceof $) ? element : $(element);\n var index = layerIndex(this._stack, $el);\n\n if (index < 0) {\n return null;\n }\n\n var $nextEl;\n index++;\n while (index < this._stack.length) {\n $nextEl = this._stack[index];\n var layer = createLayer($nextEl);\n\n if (!(layer.isPersistent() || layer.isBlanketed())) {\n return $nextEl;\n }\n index++;\n }\n\n return null;\n },\n\n /**\n * Removes all non-modal layers above & including the given element. If the given element is not an active layer, this method\n * is a no-op. The given element will be removed regardless of whether or not it is modal.\n *\n * @param {HTMLElement | String | jQuery} element layer to pop.\n *\n * @returns {jQuery} The last layer that was popped, or null if no layer matching the given $el was found.\n */\n popUntil: function (element) {\n var $el = (element instanceof $) ? element : $(element);\n var index = layerIndex(this._stack, $el);\n\n if (index === -1) {\n return null;\n }\n\n var oldTopBlanketedIndex = topBlanketedIndex(this._stack);\n\n // Removes all layers above the current one.\n popLayers(this._stack, index + 1, createLayer($el).isBlanketed());\n\n // Removes the current layer.\n createLayer($el)._hideLayer();\n this._stack.splice(index, 1);\n\n updateBlanket(this._stack, oldTopBlanketedIndex);\n\n return $el;\n },\n\n /**\n * Gets the top layer, if it exists.\n *\n * @returns The layer on top of the stack, if it exists, otherwise null.\n */\n getTopLayer: function () {\n if (!this._stack.length) {\n return null;\n }\n\n var $topLayer = this._stack[this._stack.length - 1];\n\n return $topLayer;\n },\n\n /**\n * Pops the top layer, if it exists and it is non modal and non persistent.\n *\n * @returns The layer that was popped, if it was popped.\n */\n popTopIfNonPersistent: function () {\n var $topLayer = this.getTopLayer();\n var layer = createLayer($topLayer);\n\n if (!$topLayer || layer.isPersistent()) {\n return null;\n }\n\n return this.popUntil($topLayer);\n },\n\n /**\n * Pops all layers above and including the top blanketed layer. If layers exist but none are blanketed, this method\n * does nothing.\n *\n * @returns The blanketed layer that was popped, if it exists, otherwise null.\n */\n popUntilTopBlanketed: function () {\n var i = topBlanketedIndex(this._stack);\n\n if (i < 0) {\n return null;\n }\n\n var $topBlanketedLayer = this._stack[i];\n var layer = createLayer($topBlanketedLayer);\n\n if (layer.isPersistent()) {\n // We can't pop the blanketed layer, only the things ontop\n var $next = this.getNextHigherNonPeristentAndNonBlanketedLayer($topBlanketedLayer);\n if ($next) {\n var stopIndex = layerIndex(this._stack, $next);\n popLayers(this._stack, stopIndex, true);\n return $next;\n }\n return null;\n }\n\n popLayers(this._stack, i, true);\n updateBlanket(this._stack, i);\n return $topBlanketedLayer;\n },\n\n /**\n * Pops all layers above and including the top persistent layer. If layers exist but none are persistent, this method\n * does nothing.\n */\n popUntilTopPersistent: function () {\n var $toPop = LayerManager.global.getTopLayer();\n if (!$toPop) {\n return;\n }\n\n var stopIndex;\n var oldTopBlanketedIndex = topBlanketedIndex(this._stack);\n\n var toPop = createLayer($toPop);\n if (toPop.isPersistent()) {\n if (toPop.isBlanketed()) {\n return;\n } else {\n // Get the closest non modal layer below, stop at the first blanketed layer though, we don't want to pop below that\n $toPop = LayerManager.global.getNextLowerNonPersistentOrBlanketedLayer($toPop);\n toPop = createLayer($toPop);\n\n if ($toPop && !toPop.isPersistent()) {\n stopIndex = layerIndex(this._stack, $toPop);\n popLayers(this._stack, stopIndex, true);\n updateBlanket(this._stack, oldTopBlanketedIndex);\n } else {\n // Here we have a blanketed persistent layer\n return;\n }\n }\n } else {\n stopIndex = layerIndex(this._stack, $toPop);\n popLayers(this._stack, stopIndex, true);\n updateBlanket(this._stack, oldTopBlanketedIndex);\n }\n }\n};\n\n// LayerManager.global\n// -------------------\n\nfunction initCloseLayerOnEscPress() {\n $doc.on('keydown', function (e) {\n if (e.keyCode === keyCode.ESCAPE) {\n LayerManager.global.popUntilTopPersistent();\n e.preventDefault();\n }\n });\n}\n\nfunction initCloseLayerOnBlanketClick() {\n $doc.on('click', '.aui-blanket', function (e) {\n if (LayerManager.global.popUntilTopBlanketed()) {\n e.preventDefault();\n }\n });\n}\n\nfunction hasLayer($trigger) {\n if (!$trigger.length) {\n return false;\n }\n\n var layer = document.getElementById($trigger.attr('aria-controls'));\n return LayerManager.global.indexOf(layer) > -1;\n}\n\n// If it's a click on a trigger, do nothing.\n// If it's a click on a layer, close all layers above.\n// Otherwise, close all layers.\nfunction initCloseLayerOnOuterClick () {\n $doc.on('click', function (e) {\n var $target = $(e.target);\n if ($target.closest('.aui-blanket').length) {\n return;\n }\n\n var $trigger = $target.closest('[aria-controls]');\n var $layer = $target.closest('.aui-layer');\n if (!$layer.length && !hasLayer($trigger)) {\n LayerManager.global.hideAll();\n return;\n }\n\n // Triggers take precedence over layers\n if (hasLayer($trigger)) {\n return;\n }\n\n if ($layer.length) {\n // We dont want to explicitly call close on a modal dialog if it happens to be next.\n // All blanketed layers should be below us, as otherwise the blanket should have caught the click.\n // We make sure we dont close a blanketed one explicitly as a hack, this is to fix the problem arising\n // from dialog2 triggers inside dialog2's having no aria controls, where the dialog2 that was just\n // opened would be closed instantly\n var $next = LayerManager.global.getNextHigherNonPeristentAndNonBlanketedLayer($layer);\n\n if ($next) {\n createLayer($next).hide();\n }\n }\n });\n}\n\ninitCloseLayerOnEscPress();\ninitCloseLayerOnBlanketClick();\ninitCloseLayerOnOuterClick();\n\nLayerManager.global = new LayerManager();\ncreateLayer.Manager = LayerManager;\n\nglobalize('layer', createLayer);\n\nexport default createLayer;\n"]}
1
+ {"version":3,"sources":["js/aui/layer.js"],"names":["EVENT_PREFIX","GLOBAL_EVENT_PREFIX","LAYER_EVENT_PREFIX","AUI_EVENT_PREFIX","$doc","document","isTransitioning","el","prop","transition","window","getComputedStyle","transitionProperty","indexOf","onTransitionEnd","func","once","handler","e","propertyName","call","removeEventListener","addEventListener","oneTransitionEnd","ariaHide","$el","attr","ariaShow","triggerEvent","deprecatedName","newNativeName","e1","$","Event","e2","nativeEvent","CustomEvent","bubbles","cancelable","nativeEvent2","trigger","dispatchEvent","isDefaultPrevented","defaultPrevented","Layer","selector","addClass","prototype","below","LayerManager","global","item","above","changeSize","width","height","css","on","event","fn","off","show","isVisible","push","hide","thisLayer","get","style","display","popUntil","remove","isBlanketed","isPersistent","modal","hasAttribute","_hideLayer","triggerBeforeEvents","FocusManager","exit","data","_showLayer","zIndex","parent","is","appendTo","body","enter","createLayer","eventName","getTrigger","$layer","hasTrigger","length","topIndexWhere","layerArr","i","layerIndex","topBlanketedIndex","nextZIndex","_nextZIndex","$topEl","parseInt","isNaN","Math","max","updateBlanket","stack","oldBlanketIndex","newTopBlanketedIndex","popLayers","stopIndex","forceClosePersistent","a","layer","splice","getParentLayer","$childLayer","$layerTrigger","closest","_stack","element","Error","popLayersBeside","blanketedIndex","$parentLayer","parentIndex","index","hideAll","reverse","forEach","getNextLowerNonPersistentOrBlanketedLayer","$nextEl","getNextHigherNonPeristentAndNonBlanketedLayer","oldTopBlanketedIndex","getTopLayer","$topLayer","popTopIfNonPersistent","popUntilTopBlanketed","$topBlanketedLayer","$next","popUntilTopPersistent","$toPop","toPop","initCloseLayerOnEscPress","keyCode","ESCAPE","preventDefault","initCloseLayerOnBlanketClick","hasLayer","$trigger","getElementById","initCloseLayerOnOuterClick","$target","target","Manager"],"mappings":"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","file":"layer.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport { dim, undim } from './blanket';\nimport FocusManager from './focus-manager';\nimport globalize from './internal/globalize';\nimport keyCode from './key-code';\nimport widget from './internal/widget';\nimport CustomEvent from './polyfills/custom-event';\n\nconst EVENT_PREFIX = '_aui-internal-layer-';\nconst GLOBAL_EVENT_PREFIX = '_aui-internal-layer-global-';\nconst LAYER_EVENT_PREFIX = 'aui-layer-';\nconst AUI_EVENT_PREFIX = 'aui-';\nvar $doc = $(document);\n\n// AUI-3708 - Abstracted to reflect code implemented upstream.\nfunction isTransitioning (el, prop) {\n var transition = window.getComputedStyle(el).transitionProperty;\n return transition ? transition.indexOf(prop) > -1 : false;\n}\n\nfunction onTransitionEnd (el, prop, func, once) {\n function handler (e) {\n if (prop !== e.propertyName) {\n return;\n }\n\n func.call(el);\n\n if (once) {\n el.removeEventListener('transitionend', handler);\n }\n }\n\n if (isTransitioning(el, prop)) {\n el.addEventListener('transitionend', handler);\n } else {\n func.call(el);\n }\n}\n\nfunction oneTransitionEnd (el, prop, func) {\n onTransitionEnd(el, prop, func, true);\n}\n// end AUI-3708\n\nfunction ariaHide ($el) {\n $el.attr('aria-hidden', 'true');\n}\n\nfunction ariaShow ($el) {\n $el.attr('aria-hidden', 'false');\n}\n\n/**\n* @return {bool} Returns false if at least one of the event handlers called .preventDefault(). Returns true otherwise.\n*/\nfunction triggerEvent ($el, deprecatedName, newNativeName) {\n var e1 = $.Event(EVENT_PREFIX + deprecatedName);\n var e2 = $.Event(GLOBAL_EVENT_PREFIX + deprecatedName);\n // TODO: Remove this 'aui-layer-' prefixed event once it is no longer used by inline dialog and dialog2.\n var nativeEvent = new CustomEvent(LAYER_EVENT_PREFIX + newNativeName, {\n bubbles: true,\n cancelable: true\n });\n var nativeEvent2 = new CustomEvent(AUI_EVENT_PREFIX + newNativeName, {\n bubbles: true,\n cancelable: true\n });\n\n $el.trigger(e1);\n $el.trigger(e2, [$el]);\n $el[0].dispatchEvent(nativeEvent);\n $el[0].dispatchEvent(nativeEvent2);\n\n return !e1.isDefaultPrevented() &&\n !e2.isDefaultPrevented() &&\n !nativeEvent.defaultPrevented &&\n !nativeEvent2.defaultPrevented;\n}\n\nfunction Layer (selector) {\n this.$el = $(selector || '<div class=\"aui-layer\" aria-hidden=\"true\"></div>');\n this.$el.addClass('aui-layer');\n}\n\nLayer.prototype = {\n /**\n * Returns the layer below the current layer if it exists.\n *\n * @returns {jQuery | undefined}\n */\n below: function () {\n return LayerManager.global.item(LayerManager.global.indexOf(this.$el) - 1);\n },\n\n /**\n * Returns the layer above the current layer if it exists.\n *\n * @returns {jQuery | undefined}\n */\n above: function () {\n return LayerManager.global.item(LayerManager.global.indexOf(this.$el) + 1);\n },\n\n /**\n * Sets the width and height of the layer.\n *\n * @param {Integer} width The width to set.\n * @param {Integer} height The height to set.\n *\n * @returns {Layer}\n */\n changeSize: function (width, height) {\n this.$el.css('width', width);\n this.$el.css('height', height === 'content' ? '' : height);\n return this;\n },\n\n /**\n * Binds a layer event.\n *\n * @param {String} event The event name to listen to.\n * @param {Function} fn The event handler.\n *\n * @returns {Layer}\n */\n on: function (event, fn) {\n this.$el.on(EVENT_PREFIX + event, fn);\n return this;\n },\n\n\n /**\n * Unbinds a layer event.\n *\n * @param {String} event The event name to unbind=.\n * @param {Function} fn Optional. The event handler.\n *\n * @returns {Layer}\n */\n off: function (event, fn) {\n this.$el.off(EVENT_PREFIX + event, fn);\n return this;\n },\n\n /**\n * Shows the layer.\n *\n * @returns {Layer}\n */\n show: function () {\n if (this.isVisible()) {\n ariaShow(this.$el);\n return this;\n }\n\n if (!triggerEvent(this.$el, 'beforeShow', 'show')) {\n return this;\n }\n\n // AUI-3708\n // Ensures that the display property is removed if it's been added\n // during hiding.\n if (this.$el.css('display') === 'none') {\n this.$el.css('display', '');\n }\n\n LayerManager.global.push(this.$el);\n\n return this;\n },\n\n /**\n * Hides the layer.\n *\n * @returns {Layer}\n */\n hide: function () {\n if (!this.isVisible()) {\n ariaHide(this.$el);\n return this;\n }\n\n if (!triggerEvent(this.$el, 'beforeHide', 'hide')) {\n return this;\n }\n\n // AUI-3708\n const thisLayer = this;\n oneTransitionEnd(this.$el.get(0), 'opacity', function () {\n if (!thisLayer.isVisible()) {\n this.style.display = 'none';\n }\n });\n\n LayerManager.global.popUntil(this.$el);\n\n return this;\n },\n\n /**\n * Checks to see if the layer is visible.\n *\n * @returns {Boolean}\n */\n isVisible: function () {\n return this.$el.attr('aria-hidden') === 'false';\n },\n\n /**\n * Removes the layer and cleans up internal state.\n *\n * @returns {undefined}\n */\n remove: function () {\n this.hide();\n this.$el.remove();\n this.$el = null;\n },\n\n /**\n * Returns whether or not the layer is blanketed.\n *\n * @returns {Boolean}\n */\n isBlanketed: function () {\n return this.$el.attr('data-aui-blanketed') === 'true';\n },\n\n /**\n * Returns whether or not the layer is persistent.\n *\n * @returns {Boolean}\n */\n isPersistent: function () {\n var modal = this.$el.attr('modal') || this.$el.attr('data-aui-modal');\n var isPersistent = this.$el[0].hasAttribute('persistent');\n\n return modal === 'true' || isPersistent;\n },\n\n _hideLayer: function (triggerBeforeEvents) {\n if (this.isPersistent() || this.isBlanketed()) {\n FocusManager.global.exit(this.$el);\n }\n\n if (triggerBeforeEvents) {\n triggerEvent(this.$el, 'beforeHide', 'hide');\n }\n\n this.$el.attr('aria-hidden', 'true');\n this.$el.css('z-index', this.$el.data('_aui-layer-cached-z-index') || '');\n this.$el.data('_aui-layer-cached-z-index', '');\n this.$el.trigger(EVENT_PREFIX + 'hide');\n this.$el.trigger(GLOBAL_EVENT_PREFIX + 'hide', [this.$el]);\n },\n\n _showLayer: function (zIndex) {\n if (!this.$el.parent().is('body')) {\n this.$el.appendTo(document.body);\n }\n\n this.$el.data('_aui-layer-cached-z-index', this.$el.css('z-index'));\n this.$el.css('z-index', zIndex);\n this.$el.attr('aria-hidden', 'false');\n\n if (this.isPersistent() || this.isBlanketed()) {\n FocusManager.global.enter(this.$el);\n }\n\n this.$el.trigger(EVENT_PREFIX + 'show');\n this.$el.trigger(GLOBAL_EVENT_PREFIX + 'show', [this.$el]);\n }\n};\n\nvar createLayer = widget('layer', Layer);\n\ncreateLayer.on = function (eventName, selector, fn) {\n $doc.on(GLOBAL_EVENT_PREFIX + eventName, selector, fn);\n return this;\n};\n\ncreateLayer.off = function (eventName, selector, fn) {\n $doc.off(GLOBAL_EVENT_PREFIX + eventName, selector, fn);\n return this;\n};\n\n\n\n// Layer Manager\n// -------------\n\n/**\n * Manages layers.\n *\n * There is a single global layer manager.\n * Additional instances can be created however this should generally only be used in tests.\n *\n * Layers are added by the push($el) method. Layers are removed by the\n * popUntil($el) method.\n *\n * popUntil's contract is that it pops all layers above & including the given\n * layer. This is used to support popping multiple layers.\n * Say we were showing a dropdown inside an inline dialog inside a dialog - we\n * have a stack of dialog layer, inline dialog layer, then dropdown layer. Calling\n * popUntil(dialog.$el) would hide all layers above & including the dialog.\n */\n\nfunction getTrigger ($layer) {\n return $('[aria-controls=\"' + $layer.attr('id') + '\"]');\n}\n\nfunction hasTrigger ($layer) {\n return getTrigger($layer).length > 0;\n}\n\nfunction topIndexWhere (layerArr, fn) {\n var i = layerArr.length;\n\n while (i--) {\n if (fn(layerArr[i])) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction layerIndex (layerArr, $el) {\n return topIndexWhere(layerArr, function ($layer) {\n return $layer[0] === $el[0];\n });\n}\n\nfunction topBlanketedIndex (layerArr) {\n return topIndexWhere(layerArr, function ($layer) {\n return createLayer($layer).isBlanketed();\n });\n}\n\nfunction nextZIndex (layerArr) {\n var _nextZIndex;\n\n if (layerArr.length) {\n var $topEl = layerArr[layerArr.length - 1];\n var zIndex = parseInt($topEl.css('z-index'), 10);\n _nextZIndex = (isNaN(zIndex) ? 0 : zIndex) + 100;\n } else {\n _nextZIndex = 0;\n }\n\n return Math.max(3000, _nextZIndex);\n}\n\nfunction updateBlanket (stack, oldBlanketIndex) {\n var newTopBlanketedIndex = topBlanketedIndex(stack);\n\n if (oldBlanketIndex !== newTopBlanketedIndex) {\n if (newTopBlanketedIndex > -1) {\n dim(false, stack[newTopBlanketedIndex].css('z-index') - 20);\n } else {\n undim();\n }\n }\n}\n\nfunction popLayers (stack, stopIndex, forceClosePersistent) {\n if (stopIndex < 0) {\n return;\n }\n\n for (var a = stack.length - 1; a >= stopIndex; a--) {\n var $layer = stack[a];\n var layer = createLayer($layer);\n\n if (forceClosePersistent || !layer.isPersistent()) {\n layer._hideLayer(true);\n stack.splice(a, 1);\n }\n }\n}\n\nfunction getParentLayer ($childLayer) {\n var $layerTrigger = getTrigger($childLayer);\n\n if ($layerTrigger.length > 0) {\n return $layerTrigger.closest('.aui-layer');\n }\n}\n\nfunction LayerManager () {\n this._stack = [];\n}\n\nLayerManager.prototype = {\n /**\n * Pushes a layer onto the stack. The same element cannot be opened as a layer multiple times - if the given\n * element is already an open layer, this method throws an exception.\n *\n * @param {HTMLElement | String | jQuery} element The element to push onto the stack.\n *\n * @returns {LayerManager}\n */\n push: function (element) {\n var $el = (element instanceof $) ? element : $(element);\n if (layerIndex(this._stack, $el) >= 0) {\n throw new Error('The given element is already an active layer.');\n }\n\n this.popLayersBeside($el);\n\n var layer = createLayer($el);\n var zIndex = nextZIndex(this._stack);\n\n layer._showLayer(zIndex);\n\n if (layer.isBlanketed()) {\n dim(false, zIndex - 20);\n }\n\n this._stack.push($el);\n\n return this;\n },\n\n popLayersBeside: function (element) {\n var $layer = (element instanceof $) ? element : $(element);\n if (!hasTrigger($layer)) {\n // We can't find this layer's trigger, we will pop all non-persistent until a blanket or the document\n var blanketedIndex = topBlanketedIndex(this._stack);\n popLayers(this._stack, ++blanketedIndex, false);\n return;\n }\n\n var $parentLayer = getParentLayer($layer);\n if ($parentLayer) {\n var parentIndex = this.indexOf($parentLayer);\n popLayers(this._stack, ++parentIndex, false);\n } else {\n popLayers(this._stack, 0, false);\n }\n\n },\n\n /**\n * Returns the index of the specified layer in the layer stack.\n *\n * @param {HTMLElement | String | jQuery} element The element to find in the stack.\n *\n * @returns {Number} the (zero-based) index of the element, or -1 if not in the stack.\n */\n indexOf: function (element) {\n return layerIndex(this._stack, $(element));\n },\n\n /**\n * Returns the item at the particular index or false.\n *\n * @param {Number} index The index of the element to get.\n *\n * @returns {jQuery | Boolean}\n */\n item: function (index) {\n return this._stack[index];\n },\n\n /**\n * Hides all layers in the stack.\n *\n * @returns {LayerManager}\n */\n hideAll: function () {\n this._stack.reverse().forEach(function (element) {\n var layer = createLayer(element);\n if (layer.isBlanketed() || layer.isPersistent()) {\n return;\n }\n layer.hide();\n });\n\n return this;\n },\n\n /**\n * Gets the previous layer below the given layer, which is non modal and non persistent. If it finds a blanketed layer on the way\n * it returns it regardless if it is modal or not\n *\n * @param {HTMLElement | String | jQuery} element layer to start the search from.\n *\n * @returns {jQuery | null} the next matching layer or null if none found.\n */\n getNextLowerNonPersistentOrBlanketedLayer: function (element) {\n var $el = (element instanceof $) ? element : $(element);\n var index = layerIndex(this._stack, $el);\n\n if (index < 0) {\n return null;\n }\n\n var $nextEl;\n index--;\n while (index >= 0) {\n $nextEl = this._stack[index];\n var layer = createLayer($nextEl);\n\n if (!layer.isPersistent() || layer.isBlanketed()) {\n return $nextEl;\n }\n index--;\n }\n\n return null;\n },\n\n /**\n * Gets the next layer which is neither modal or blanketed, from the given layer.\n *\n * @param {HTMLElement | String | jQuery} element layer to start the search from.\n *\n * @returns {jQuery | null} the next non modal non blanketed layer or null if none found.\n */\n getNextHigherNonPeristentAndNonBlanketedLayer: function (element) {\n var $el = (element instanceof $) ? element : $(element);\n var index = layerIndex(this._stack, $el);\n\n if (index < 0) {\n return null;\n }\n\n var $nextEl;\n index++;\n while (index < this._stack.length) {\n $nextEl = this._stack[index];\n var layer = createLayer($nextEl);\n\n if (!(layer.isPersistent() || layer.isBlanketed())) {\n return $nextEl;\n }\n index++;\n }\n\n return null;\n },\n\n /**\n * Removes all non-modal layers above & including the given element. If the given element is not an active layer, this method\n * is a no-op. The given element will be removed regardless of whether or not it is modal.\n *\n * @param {HTMLElement | String | jQuery} element layer to pop.\n *\n * @returns {jQuery} The last layer that was popped, or null if no layer matching the given $el was found.\n */\n popUntil: function (element) {\n var $el = (element instanceof $) ? element : $(element);\n var index = layerIndex(this._stack, $el);\n\n if (index === -1) {\n return null;\n }\n\n var oldTopBlanketedIndex = topBlanketedIndex(this._stack);\n\n // Removes all layers above the current one.\n popLayers(this._stack, index + 1, createLayer($el).isBlanketed());\n\n // Removes the current layer.\n createLayer($el)._hideLayer();\n this._stack.splice(index, 1);\n\n updateBlanket(this._stack, oldTopBlanketedIndex);\n\n return $el;\n },\n\n /**\n * Gets the top layer, if it exists.\n *\n * @returns The layer on top of the stack, if it exists, otherwise null.\n */\n getTopLayer: function () {\n if (!this._stack.length) {\n return null;\n }\n\n var $topLayer = this._stack[this._stack.length - 1];\n\n return $topLayer;\n },\n\n /**\n * Pops the top layer, if it exists and it is non modal and non persistent.\n *\n * @returns The layer that was popped, if it was popped.\n */\n popTopIfNonPersistent: function () {\n var $topLayer = this.getTopLayer();\n var layer = createLayer($topLayer);\n\n if (!$topLayer || layer.isPersistent()) {\n return null;\n }\n\n return this.popUntil($topLayer);\n },\n\n /**\n * Pops all layers above and including the top blanketed layer. If layers exist but none are blanketed, this method\n * does nothing.\n *\n * @returns The blanketed layer that was popped, if it exists, otherwise null.\n */\n popUntilTopBlanketed: function () {\n var i = topBlanketedIndex(this._stack);\n\n if (i < 0) {\n return null;\n }\n\n var $topBlanketedLayer = this._stack[i];\n var layer = createLayer($topBlanketedLayer);\n\n if (layer.isPersistent()) {\n // We can't pop the blanketed layer, only the things ontop\n var $next = this.getNextHigherNonPeristentAndNonBlanketedLayer($topBlanketedLayer);\n if ($next) {\n var stopIndex = layerIndex(this._stack, $next);\n popLayers(this._stack, stopIndex, true);\n return $next;\n }\n return null;\n }\n\n popLayers(this._stack, i, true);\n updateBlanket(this._stack, i);\n return $topBlanketedLayer;\n },\n\n /**\n * Pops all layers above and including the top persistent layer. If layers exist but none are persistent, this method\n * does nothing.\n */\n popUntilTopPersistent: function () {\n var $toPop = LayerManager.global.getTopLayer();\n if (!$toPop) {\n return;\n }\n\n var stopIndex;\n var oldTopBlanketedIndex = topBlanketedIndex(this._stack);\n\n var toPop = createLayer($toPop);\n if (toPop.isPersistent()) {\n if (toPop.isBlanketed()) {\n return;\n } else {\n // Get the closest non modal layer below, stop at the first blanketed layer though, we don't want to pop below that\n $toPop = LayerManager.global.getNextLowerNonPersistentOrBlanketedLayer($toPop);\n toPop = createLayer($toPop);\n\n if ($toPop && !toPop.isPersistent()) {\n stopIndex = layerIndex(this._stack, $toPop);\n popLayers(this._stack, stopIndex, true);\n updateBlanket(this._stack, oldTopBlanketedIndex);\n } else {\n // Here we have a blanketed persistent layer\n return;\n }\n }\n } else {\n stopIndex = layerIndex(this._stack, $toPop);\n popLayers(this._stack, stopIndex, true);\n updateBlanket(this._stack, oldTopBlanketedIndex);\n }\n }\n};\n\n// LayerManager.global\n// -------------------\n\nfunction initCloseLayerOnEscPress() {\n $doc.on('keydown', function (e) {\n if (e.keyCode === keyCode.ESCAPE) {\n LayerManager.global.popUntilTopPersistent();\n e.preventDefault();\n }\n });\n}\n\nfunction initCloseLayerOnBlanketClick() {\n $doc.on('click', '.aui-blanket', function (e) {\n if (LayerManager.global.popUntilTopBlanketed()) {\n e.preventDefault();\n }\n });\n}\n\nfunction hasLayer($trigger) {\n if (!$trigger.length) {\n return false;\n }\n\n var layer = document.getElementById($trigger.attr('aria-controls'));\n return LayerManager.global.indexOf(layer) > -1;\n}\n\n// If it's a click on a trigger, do nothing.\n// If it's a click on a layer, close all layers above.\n// Otherwise, close all layers.\nfunction initCloseLayerOnOuterClick () {\n $doc.on('click', function (e) {\n var $target = $(e.target);\n if ($target.closest('.aui-blanket').length) {\n return;\n }\n\n var $trigger = $target.closest('[aria-controls]');\n var $layer = $target.closest('.aui-layer');\n if (!$layer.length && !hasLayer($trigger)) {\n LayerManager.global.hideAll();\n return;\n }\n\n // Triggers take precedence over layers\n if (hasLayer($trigger)) {\n return;\n }\n\n if ($layer.length) {\n // We dont want to explicitly call close on a modal dialog if it happens to be next.\n // All blanketed layers should be below us, as otherwise the blanket should have caught the click.\n // We make sure we dont close a blanketed one explicitly as a hack, this is to fix the problem arising\n // from dialog2 triggers inside dialog2's having no aria controls, where the dialog2 that was just\n // opened would be closed instantly\n var $next = LayerManager.global.getNextHigherNonPeristentAndNonBlanketedLayer($layer);\n\n if ($next) {\n createLayer($next).hide();\n }\n }\n });\n}\n\ninitCloseLayerOnEscPress();\ninitCloseLayerOnBlanketClick();\ninitCloseLayerOnOuterClick();\n\nLayerManager.global = new LayerManager();\ncreateLayer.Manager = LayerManager;\n\nglobalize('layer', createLayer);\n\nexport default createLayer;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/messages.js"],"names":["deprecate","logger","DEFAULT_FADEOUT_DURATION","DEFAULT_FADEOUT_DELAY","FADEOUT_RESTORE_DURATION","MESSAGE_TEMPLATE","MESSAGE_WITHOUT_TITLE_TEMPLATE","createMessageConstructor","type","messages","context","obj","closeable","shadowed","title","toString","trim","$message","renderMessageElement","template","templateAlt","insertMessageIntoContext","insert","makeCloseable","fadeout","makeFadeout","delay","duration","message","each","$this","$closeIcons","find","$icon","length","first","addClass","append","initCloseMessageBoxOnClickAndKeypress","hasFocus","isHover","fadeOut","stop","closeMessage","resetFadeOut","fadeTo","shouldStartFadeOut","focusin","focusout","hover","setup","createMessage","unbind","on","e","target","closest","which","ENTER","SPACE","preventDefault","insertWhere","prependTo","appendTo","templateString","options","fill","body","id","test","warn","attr","fn","hasClass","trigger","remove","document","created","element","innerHTML","getAttribute","prop","extraInfo"],"mappings":"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","file":"messages.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport * as deprecate from './internal/deprecation';\nimport * as logger from './internal/log';\nimport globalize from './internal/globalize';\nimport keyCode from './key-code';\nimport skate from './internal/skate';\nimport template from './template';\n\nvar DEFAULT_FADEOUT_DURATION = 500;\nvar DEFAULT_FADEOUT_DELAY = 5000;\nvar FADEOUT_RESTORE_DURATION = 100;\n\nconst MESSAGE_TEMPLATE =\n '<div class=\"aui-message aui-message-{type} {closeable} {shadowed} {fadeout}\">' +\n '<p class=\"title\">' +\n '<strong>{title}</strong>' +\n '</p>' +\n '{body}<!-- .aui-message -->' +\n '</div>';\nconst MESSAGE_WITHOUT_TITLE_TEMPLATE =\n '<div class=\"aui-message aui-message-{type} {closeable} {shadowed} {fadeout}\">' +\n '{body}<!-- .aui-message -->' +\n '</div>';\n\nfunction createMessageConstructor(type) {\n /**\n *\n * @param context\n * @param {Object} obj - message configuration\n * @param {String} [obj.id] - ID to add to the message.\n * @param {String} [obj.title] - Plain-text title of the message. If provided, will appear above the message body.\n * @param {String} obj.body - Content of the message. Can be HTML content.\n * @param {boolean} [obj.closeable] - If true, the message can be manually closed by the end-user via the UI.\n * @param {boolean} [obj.shadowed]\n * @param {boolean} [obj.fadeout]\n * @param {boolean} [obj.duration]\n * @param {boolean} [obj.delay]\n * @returns {*|HTMLElement}\n */\n messages[type] = function (context, obj) {\n if (!obj) {\n obj = context;\n context = '#aui-message-bar';\n }\n\n // Set up our template options\n obj.closeable = obj.closeable !== null && obj.closeable !== false;\n\n // shadowed no longer does anything but left in so it doesn't break\n obj.shadowed = obj.shadowed !== null && obj.shadowed !== false;\n\n let title = (obj.title || '').toString().trim();\n let $message = renderMessageElement(title ? this.template : this.templateAlt, obj, type);\n insertMessageIntoContext($message, obj.insert, context);\n\n // Attach the optional extra behaviours\n if (obj.closeable) {\n makeCloseable($message);\n }\n\n if (obj.fadeout) {\n makeFadeout($message, obj.delay, obj.duration);\n }\n\n return $message;\n };\n}\n\nfunction makeCloseable(message) {\n $(message || 'div.aui-message.closeable').each(function () {\n var $this = $(this);\n var $closeIcons = $this.find('.aui-icon.icon-close');\n var $icon = $closeIcons.length > 0 ? $closeIcons.first() : $('<span class=\"aui-icon icon-close\" role=\"button\" tabindex=\"0\"></span>');\n\n $this.addClass('closeable');\n $this.append($icon);\n\n initCloseMessageBoxOnClickAndKeypress($this);\n });\n}\n\nfunction makeFadeout(message, delay, duration) {\n delay = (typeof delay !== 'undefined') ? delay : DEFAULT_FADEOUT_DELAY;\n duration = (typeof duration !== 'undefined') ? duration : DEFAULT_FADEOUT_DURATION;\n\n $(message || 'div.aui-message.fadeout').each(function () {\n var $this = $(this);\n\n //Store the component state to avoid collisions between animations\n var hasFocus = false;\n var isHover = false;\n\n //Small functions to keep the code easier to read and avoid code duplication\n function fadeOut(){\n //Algorithm:\n //1. Stop all running animations (first arg), including any fade animation and delay\n // Do not jump to the end of the animation (second arg). This prevents the message to abruptly\n // jump to opacity:0 or opacity:1\n //2. Wait <delay> ms before starting the fadeout\n //3. Start the fadeout with a duration of <duration> ms\n //4. Close the message at the end of the animation\n $this.stop(true,false).delay(delay).fadeOut(duration, function () {\n $this.closeMessage();\n });\n }\n function resetFadeOut(){\n //Algorithm:\n //1. Stop all running animations (first arg), including any fade animation and delay\n // Do not jump to the end of the animation (second arg). This prevents the message to abruptly\n // jump to opacity:0 or opacity:1\n //2. Fast animation to opacity:1\n $this.stop(true,false).fadeTo(FADEOUT_RESTORE_DURATION, 1);\n }\n function shouldStartFadeOut(){\n return !hasFocus && !isHover;\n }\n\n //Attach handlers for user interactions (focus and hover)\n $this\n .focusin(function () {\n hasFocus = true;\n resetFadeOut();\n })\n .focusout(function () {\n hasFocus = false;\n if (shouldStartFadeOut()) {\n fadeOut();\n }\n })\n .hover(\n function () { //should be called .hoverin(), but jQuery does not implement that method\n isHover = true;\n resetFadeOut();\n },\n function () { //should be called .hoverout(), but jQuery does not implement that method\n isHover = false;\n if (shouldStartFadeOut()) {\n fadeOut();\n }\n }\n );\n\n //Initial animation\n fadeOut();\n });\n}\n\n/**\n * Utility methods to display different message types to the user.\n * Usage:\n * <pre>\n * messages.info(\"#container\", {\n * title: \"Info\",\n * body: \"You can choose to have messages without Close functionality.\",\n * closeable: false,\n * shadowed: false\n * });\n * </pre>\n */\nvar messages = {\n setup: function () {\n makeCloseable();\n makeFadeout();\n },\n makeCloseable: makeCloseable,\n makeFadeout: makeFadeout,\n template: MESSAGE_TEMPLATE,\n templateAlt: MESSAGE_WITHOUT_TITLE_TEMPLATE,\n createMessage: createMessageConstructor\n};\n\nfunction initCloseMessageBoxOnClickAndKeypress($message) {\n $message.unbind('click.aui-message').unbind('keydown.aui-message');\n\n $message.on('click.aui-message', '.aui-icon.icon-close', function (e) {\n $(e.target).closest('.aui-message').closeMessage();\n }).on('keydown.aui-message', '.aui-icon.icon-close', function (e) {\n if ((e.which === keyCode.ENTER) || (e.which === keyCode.SPACE)) {\n $(e.target).closest('.aui-message').closeMessage();\n e.preventDefault(); // this is especially important when handling the space bar, as we don't want to page down\n }\n });\n}\n\nfunction insertMessageIntoContext($message, insertWhere, context) {\n if (insertWhere === 'prepend') {\n $message.prependTo(context);\n } else {\n $message.appendTo(context);\n }\n}\n\nfunction renderMessageElement (templateString, options, type) {\n // Append the message using template\n var $message = $(template(templateString).fill({\n type: type,\n closeable: options.closeable ? 'closeable' : '',\n shadowed: options.shadowed ? 'shadowed' : '',\n fadeout: options.fadeout ? 'fadeout' : '',\n title: options.title || '',\n 'body:html': options.body || ''\n }).toString());\n\n // Add ID if supplied\n if (options.id) {\n if (/[#\\'\\\"\\.\\s]/g.test(options.id)) {\n // reject IDs that don't comply with style guide (ie. they'll break stuff)\n logger.warn('Messages error: ID rejected, must not include spaces, hashes, dots or quotes.');\n } else {\n $message.attr('id', options.id);\n }\n }\n\n return $message;\n}\n\n$.fn.closeMessage = function () {\n var $message = $(this);\n if ($message.hasClass('aui-message') && $message.hasClass('closeable')) {\n $message.stop(true); //Stop any running animation\n $message.trigger('messageClose', [this]); //messageClose event Deprecated as of 5.3\n $message.remove();\n $(document).trigger('aui-message-close', [this]); //must trigger on document since the element has been removed\n }\n};\n\ncreateMessageConstructor('generic'); //Deprecated Oct 2017\ncreateMessageConstructor('error');\ncreateMessageConstructor('warning');\ncreateMessageConstructor('info');\ncreateMessageConstructor('success');\ncreateMessageConstructor('hint'); //Deprecated Oct 2017\n\nskate('aui-message', {\n created: function (element) {\n var body = element.innerHTML;\n var type = element.getAttribute('type') || 'info';\n\n element.innerHTML = '';\n messages[type](element, {\n body: body,\n closeable: element.getAttribute('closeable'),\n delay: element.getAttribute('delay'),\n duration: element.getAttribute('duration'),\n fadeout: element.getAttribute('fadeout'),\n title: element.getAttribute('title')\n });\n }\n});\n\n$(function () {\n messages.setup();\n});\n\ndeprecate.prop(messages, 'makeCloseable', {\n extraInfo: 'Use the \"closeable\" option in the constructor instead. Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\ndeprecate.prop(messages, 'createMessage', {\n extraInfo: 'Use the provided convenience methods instead e.g. messages.info(). Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\ndeprecate.prop(messages, 'makeFadeout', {\n extraInfo: 'Use the \"fadeout\" option in the constructor instead. Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\ndeprecate.prop(messages, 'generic', {\n extraInfo: 'use the messages.info() method instead. Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\ndeprecate.prop(messages, 'hint', {\n extraInfo: 'use the messages.info() method instead. Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\n// Exporting\n// ---------\nglobalize('messages', messages);\n\nexport default messages;\n"]}
1
+ {"version":3,"sources":["js/aui/messages.js"],"names":["deprecate","logger","DEFAULT_FADEOUT_DURATION","DEFAULT_FADEOUT_DELAY","FADEOUT_RESTORE_DURATION","MESSAGE_TEMPLATE","MESSAGE_WITHOUT_TITLE_TEMPLATE","createMessageConstructor","type","messages","context","obj","closeable","shadowed","title","toString","trim","$message","renderMessageElement","template","templateAlt","insertMessageIntoContext","insert","makeCloseable","fadeout","makeFadeout","delay","duration","message","each","$this","$closeIcons","find","$icon","length","first","addClass","append","initCloseMessageBoxOnClickAndKeypress","hasFocus","isHover","fadeOut","stop","closeMessage","resetFadeOut","fadeTo","shouldStartFadeOut","focusin","focusout","hover","setup","createMessage","unbind","on","e","target","closest","which","keyCode","ENTER","SPACE","preventDefault","insertWhere","prependTo","appendTo","templateString","options","fill","body","id","test","warn","attr","$","fn","hasClass","trigger","remove","document","created","element","innerHTML","getAttribute","prop","extraInfo"],"mappings":"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","file":"messages.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport * as deprecate from './internal/deprecation';\nimport * as logger from './internal/log';\nimport globalize from './internal/globalize';\nimport keyCode from './key-code';\nimport skate from './internal/skate';\nimport template from './template';\n\nvar DEFAULT_FADEOUT_DURATION = 500;\nvar DEFAULT_FADEOUT_DELAY = 5000;\nvar FADEOUT_RESTORE_DURATION = 100;\n\nconst MESSAGE_TEMPLATE =\n '<div class=\"aui-message aui-message-{type} {closeable} {shadowed} {fadeout}\">' +\n '<p class=\"title\">' +\n '<strong>{title}</strong>' +\n '</p>' +\n '{body}<!-- .aui-message -->' +\n '</div>';\nconst MESSAGE_WITHOUT_TITLE_TEMPLATE =\n '<div class=\"aui-message aui-message-{type} {closeable} {shadowed} {fadeout}\">' +\n '{body}<!-- .aui-message -->' +\n '</div>';\n\nfunction createMessageConstructor(type) {\n /**\n *\n * @param context\n * @param {Object} obj - message configuration\n * @param {String} [obj.id] - ID to add to the message.\n * @param {String} [obj.title] - Plain-text title of the message. If provided, will appear above the message body.\n * @param {String} obj.body - Content of the message. Can be HTML content.\n * @param {boolean} [obj.closeable] - If true, the message can be manually closed by the end-user via the UI.\n * @param {boolean} [obj.shadowed]\n * @param {boolean} [obj.fadeout]\n * @param {boolean} [obj.duration]\n * @param {boolean} [obj.delay]\n * @returns {*|HTMLElement}\n */\n messages[type] = function (context, obj) {\n if (!obj) {\n obj = context;\n context = '#aui-message-bar';\n }\n\n // Set up our template options\n obj.closeable = obj.closeable !== null && obj.closeable !== false;\n\n // shadowed no longer does anything but left in so it doesn't break\n obj.shadowed = obj.shadowed !== null && obj.shadowed !== false;\n\n let title = (obj.title || '').toString().trim();\n let $message = renderMessageElement(title ? this.template : this.templateAlt, obj, type);\n insertMessageIntoContext($message, obj.insert, context);\n\n // Attach the optional extra behaviours\n if (obj.closeable) {\n makeCloseable($message);\n }\n\n if (obj.fadeout) {\n makeFadeout($message, obj.delay, obj.duration);\n }\n\n return $message;\n };\n}\n\nfunction makeCloseable(message) {\n $(message || 'div.aui-message.closeable').each(function () {\n var $this = $(this);\n var $closeIcons = $this.find('.aui-icon.icon-close');\n var $icon = $closeIcons.length > 0 ? $closeIcons.first() : $('<span class=\"aui-icon icon-close\" role=\"button\" tabindex=\"0\"></span>');\n\n $this.addClass('closeable');\n $this.append($icon);\n\n initCloseMessageBoxOnClickAndKeypress($this);\n });\n}\n\nfunction makeFadeout(message, delay, duration) {\n delay = (typeof delay !== 'undefined') ? delay : DEFAULT_FADEOUT_DELAY;\n duration = (typeof duration !== 'undefined') ? duration : DEFAULT_FADEOUT_DURATION;\n\n $(message || 'div.aui-message.fadeout').each(function () {\n var $this = $(this);\n\n //Store the component state to avoid collisions between animations\n var hasFocus = false;\n var isHover = false;\n\n //Small functions to keep the code easier to read and avoid code duplication\n function fadeOut(){\n //Algorithm:\n //1. Stop all running animations (first arg), including any fade animation and delay\n // Do not jump to the end of the animation (second arg). This prevents the message to abruptly\n // jump to opacity:0 or opacity:1\n //2. Wait <delay> ms before starting the fadeout\n //3. Start the fadeout with a duration of <duration> ms\n //4. Close the message at the end of the animation\n $this.stop(true,false).delay(delay).fadeOut(duration, function () {\n $this.closeMessage();\n });\n }\n function resetFadeOut(){\n //Algorithm:\n //1. Stop all running animations (first arg), including any fade animation and delay\n // Do not jump to the end of the animation (second arg). This prevents the message to abruptly\n // jump to opacity:0 or opacity:1\n //2. Fast animation to opacity:1\n $this.stop(true,false).fadeTo(FADEOUT_RESTORE_DURATION, 1);\n }\n function shouldStartFadeOut(){\n return !hasFocus && !isHover;\n }\n\n //Attach handlers for user interactions (focus and hover)\n $this\n .focusin(function () {\n hasFocus = true;\n resetFadeOut();\n })\n .focusout(function () {\n hasFocus = false;\n if (shouldStartFadeOut()) {\n fadeOut();\n }\n })\n .hover(\n function () { //should be called .hoverin(), but jQuery does not implement that method\n isHover = true;\n resetFadeOut();\n },\n function () { //should be called .hoverout(), but jQuery does not implement that method\n isHover = false;\n if (shouldStartFadeOut()) {\n fadeOut();\n }\n }\n );\n\n //Initial animation\n fadeOut();\n });\n}\n\n/**\n * Utility methods to display different message types to the user.\n * Usage:\n * <pre>\n * messages.info(\"#container\", {\n * title: \"Info\",\n * body: \"You can choose to have messages without Close functionality.\",\n * closeable: false,\n * shadowed: false\n * });\n * </pre>\n */\nvar messages = {\n setup: function () {\n makeCloseable();\n makeFadeout();\n },\n makeCloseable: makeCloseable,\n makeFadeout: makeFadeout,\n template: MESSAGE_TEMPLATE,\n templateAlt: MESSAGE_WITHOUT_TITLE_TEMPLATE,\n createMessage: createMessageConstructor\n};\n\nfunction initCloseMessageBoxOnClickAndKeypress($message) {\n $message.unbind('click.aui-message').unbind('keydown.aui-message');\n\n $message.on('click.aui-message', '.aui-icon.icon-close', function (e) {\n $(e.target).closest('.aui-message').closeMessage();\n }).on('keydown.aui-message', '.aui-icon.icon-close', function (e) {\n if ((e.which === keyCode.ENTER) || (e.which === keyCode.SPACE)) {\n $(e.target).closest('.aui-message').closeMessage();\n e.preventDefault(); // this is especially important when handling the space bar, as we don't want to page down\n }\n });\n}\n\nfunction insertMessageIntoContext($message, insertWhere, context) {\n if (insertWhere === 'prepend') {\n $message.prependTo(context);\n } else {\n $message.appendTo(context);\n }\n}\n\nfunction renderMessageElement (templateString, options, type) {\n // Append the message using template\n var $message = $(template(templateString).fill({\n type: type,\n closeable: options.closeable ? 'closeable' : '',\n shadowed: options.shadowed ? 'shadowed' : '',\n fadeout: options.fadeout ? 'fadeout' : '',\n title: options.title || '',\n 'body:html': options.body || ''\n }).toString());\n\n // Add ID if supplied\n if (options.id) {\n if (/[#\\'\\\"\\.\\s]/g.test(options.id)) {\n // reject IDs that don't comply with style guide (ie. they'll break stuff)\n logger.warn('Messages error: ID rejected, must not include spaces, hashes, dots or quotes.');\n } else {\n $message.attr('id', options.id);\n }\n }\n\n return $message;\n}\n\n$.fn.closeMessage = function () {\n var $message = $(this);\n if ($message.hasClass('aui-message') && $message.hasClass('closeable')) {\n $message.stop(true); //Stop any running animation\n $message.trigger('messageClose', [this]); //messageClose event Deprecated as of 5.3\n $message.remove();\n $(document).trigger('aui-message-close', [this]); //must trigger on document since the element has been removed\n }\n};\n\ncreateMessageConstructor('generic'); //Deprecated Oct 2017\ncreateMessageConstructor('error');\ncreateMessageConstructor('warning');\ncreateMessageConstructor('info');\ncreateMessageConstructor('success');\ncreateMessageConstructor('hint'); //Deprecated Oct 2017\n\nskate('aui-message', {\n created: function (element) {\n var body = element.innerHTML;\n var type = element.getAttribute('type') || 'info';\n\n element.innerHTML = '';\n messages[type](element, {\n body: body,\n closeable: element.getAttribute('closeable'),\n delay: element.getAttribute('delay'),\n duration: element.getAttribute('duration'),\n fadeout: element.getAttribute('fadeout'),\n title: element.getAttribute('title')\n });\n }\n});\n\n$(function () {\n messages.setup();\n});\n\ndeprecate.prop(messages, 'makeCloseable', {\n extraInfo: 'Use the \"closeable\" option in the constructor instead. Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\ndeprecate.prop(messages, 'createMessage', {\n extraInfo: 'Use the provided convenience methods instead e.g. messages.info(). Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\ndeprecate.prop(messages, 'makeFadeout', {\n extraInfo: 'Use the \"fadeout\" option in the constructor instead. Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\ndeprecate.prop(messages, 'generic', {\n extraInfo: 'use the messages.info() method instead. Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\ndeprecate.prop(messages, 'hint', {\n extraInfo: 'use the messages.info() method instead. Docs: https://docs.atlassian.com/aui/latest/docs/messages.html'\n});\n\n// Exporting\n// ---------\nglobalize('messages', messages);\n\nexport default messages;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/navigation.js"],"names":["Navigation","selector","$el","closest","length","map","idx","elm","data","$treeParent","parent","$subtreeToggleIcon","children","hideMoreItems","addClass","$selected","parents","add","filter","each","nav","navigationWidget","expand","find","on","siblings","toggle","prototype","isNested","isCollapsed","attr","removeClass","collapse","is","moreText","AJS","I18n","getText","limit","Math","abs","parseInt","$listElements","lessThanTwoToHide","selectedElementPresent","alreadyInitialised","append","e","preventDefault","remove","insertAfter","eq","type","CLASSNAME","attached","element","detached","removeData"],"mappings":"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","file":"navigation.js","sourcesContent":["'use strict';\n\nimport './i18n';\nimport $ from './jquery';\nimport skate from './internal/skate';\nimport globalize from './internal/globalize';\nimport widget from './internal/widget';\n\n/**\n * Navigation (\".aui-nav\" elements).\n *\n * @param {(string|HtmlElement|jQuery)} selector - An expression\n * representing a single .aui-nav element; you may also pass an expression\n * for a descendent element, in which case the closest containing\n * .aui-nav element is used.\n * @constructor\n */\nfunction Navigation (selector) {\n this.$el = $(selector).closest('.aui-nav');\n\n // If there are multiple objects, initialise them separately\n if (this.$el.length > 1) {\n return this.$el.map(function (idx, elm) {\n return new Navigation(elm);\n })[0];\n }\n\n // If already initialised, return existing object\n if (this.$el.data('aui-navigation')) {\n return this.$el.data('aui-navigation');\n }\n\n this.$el.data('aui-navigation', this);\n\n this.$treeParent = this.$el.parent('li[aria-expanded]');\n this.$subtreeToggleIcon = this.$treeParent\n .children('.aui-nav-subtree-toggle')\n .children('span.aui-icon');\n\n // Hide extra items under a 'More...' link\n this.hideMoreItems();\n\n // Add child-selected class to relevant attributes\n this.$el.children('li:has(.aui-nav-selected)').addClass('aui-nav-child-selected');\n\n // Auto-expand if child is selected\n var $selected = this.$el.children('.aui-nav-selected');\n $selected\n .parents('.aui-nav > [aria-expanded=false]')\n .add($selected.filter('[aria-expanded=false]'))\n .each(function () {\n var nav = navigationWidget($(this).children('.aui-nav'));\n nav.expand();\n });\n\n // Toggle expand on click\n this.$el.find('> li[aria-expanded] > .aui-nav-subtree-toggle').on('click', function () {\n var nav = navigationWidget($(this).siblings('.aui-nav'));\n nav.toggle();\n });\n\n return this;\n}\n\nNavigation.prototype.isNested = function () {\n return this.$treeParent.length === 1;\n};\n\nNavigation.prototype.isCollapsed = function () {\n return this.$treeParent.attr('aria-expanded') === 'false';\n};\n\nNavigation.prototype.expand = function () {\n this.$treeParent.attr('aria-expanded', 'true');\n this.$subtreeToggleIcon\n .removeClass('aui-iconfont-collapsed')\n .addClass('aui-iconfont-expanded');\n this.hideMoreItems();\n return this;\n};\n\nNavigation.prototype.collapse = function () {\n this.$treeParent.attr('aria-expanded', 'false');\n this.$subtreeToggleIcon\n .removeClass('aui-iconfont-expanded')\n .addClass('aui-iconfont-collapsed');\n return this;\n};\n\nNavigation.prototype.toggle = function () {\n if (this.isCollapsed()) {\n this.expand();\n } else {\n this.collapse();\n }\n return this;\n};\n\nNavigation.prototype.hideMoreItems = function () {\n if (this.$el.is('.aui-nav:not([aria-expanded=false]) [data-more]')) {\n var moreText = this.$el.attr('data-more') || AJS.I18n.getText('aui.words.moreitem');\n var limit = Math.abs(parseInt(this.$el.attr('data-more-limit'))) || 5;\n var $listElements = this.$el.children('li');\n\n // Only add 'More...' if there is more than one element to hide and there are no selected elements\n var lessThanTwoToHide = $listElements.length <= limit + 1;\n var selectedElementPresent = $listElements.filter('.aui-nav-selected').length;\n var alreadyInitialised = $listElements.filter('.aui-nav-more').length;\n if (lessThanTwoToHide || selectedElementPresent || alreadyInitialised) {\n return this;\n }\n\n $('<li>', {\n 'class': 'aui-nav-more',\n 'aria-hidden': 'true'\n }).append($('<a>', {\n 'href': '#',\n 'class': 'aui-nav-item',\n 'text': moreText,\n 'click': function (e) {\n e.preventDefault();\n $(this).parent().remove();\n }\n })).insertAfter($listElements.eq(limit - 1));\n }\n\n return this;\n};\n\n\nvar navigationWidget = widget('navigation', Navigation);\n\n// Initialise nav elements\nskate('aui-nav', {\n type: skate.type.CLASSNAME,\n attached: function (element) {\n new Navigation(element);\n },\n detached: function (element) {\n $(element).removeData();\n }\n});\n\nglobalize('navigation', navigationWidget);\n\nexport default navigationWidget;\n"]}
1
+ {"version":3,"sources":["js/aui/navigation.js"],"names":["Navigation","selector","$el","closest","length","map","idx","elm","data","$treeParent","parent","$subtreeToggleIcon","children","hideMoreItems","addClass","$selected","parents","add","filter","each","nav","navigationWidget","expand","find","on","siblings","toggle","prototype","isNested","isCollapsed","attr","removeClass","collapse","is","moreText","AJS","I18n","getText","limit","Math","abs","parseInt","$listElements","lessThanTwoToHide","selectedElementPresent","alreadyInitialised","append","e","preventDefault","remove","insertAfter","eq","type","skate","CLASSNAME","attached","element","detached","removeData"],"mappings":"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","file":"navigation.js","sourcesContent":["'use strict';\n\nimport './i18n';\nimport $ from './jquery';\nimport skate from './internal/skate';\nimport globalize from './internal/globalize';\nimport widget from './internal/widget';\n\n/**\n * Navigation (\".aui-nav\" elements).\n *\n * @param {(string|HtmlElement|jQuery)} selector - An expression\n * representing a single .aui-nav element; you may also pass an expression\n * for a descendent element, in which case the closest containing\n * .aui-nav element is used.\n * @constructor\n */\nfunction Navigation (selector) {\n this.$el = $(selector).closest('.aui-nav');\n\n // If there are multiple objects, initialise them separately\n if (this.$el.length > 1) {\n return this.$el.map(function (idx, elm) {\n return new Navigation(elm);\n })[0];\n }\n\n // If already initialised, return existing object\n if (this.$el.data('aui-navigation')) {\n return this.$el.data('aui-navigation');\n }\n\n this.$el.data('aui-navigation', this);\n\n this.$treeParent = this.$el.parent('li[aria-expanded]');\n this.$subtreeToggleIcon = this.$treeParent\n .children('.aui-nav-subtree-toggle')\n .children('span.aui-icon');\n\n // Hide extra items under a 'More...' link\n this.hideMoreItems();\n\n // Add child-selected class to relevant attributes\n this.$el.children('li:has(.aui-nav-selected)').addClass('aui-nav-child-selected');\n\n // Auto-expand if child is selected\n var $selected = this.$el.children('.aui-nav-selected');\n $selected\n .parents('.aui-nav > [aria-expanded=false]')\n .add($selected.filter('[aria-expanded=false]'))\n .each(function () {\n var nav = navigationWidget($(this).children('.aui-nav'));\n nav.expand();\n });\n\n // Toggle expand on click\n this.$el.find('> li[aria-expanded] > .aui-nav-subtree-toggle').on('click', function () {\n var nav = navigationWidget($(this).siblings('.aui-nav'));\n nav.toggle();\n });\n\n return this;\n}\n\nNavigation.prototype.isNested = function () {\n return this.$treeParent.length === 1;\n};\n\nNavigation.prototype.isCollapsed = function () {\n return this.$treeParent.attr('aria-expanded') === 'false';\n};\n\nNavigation.prototype.expand = function () {\n this.$treeParent.attr('aria-expanded', 'true');\n this.$subtreeToggleIcon\n .removeClass('aui-iconfont-collapsed')\n .addClass('aui-iconfont-expanded');\n this.hideMoreItems();\n return this;\n};\n\nNavigation.prototype.collapse = function () {\n this.$treeParent.attr('aria-expanded', 'false');\n this.$subtreeToggleIcon\n .removeClass('aui-iconfont-expanded')\n .addClass('aui-iconfont-collapsed');\n return this;\n};\n\nNavigation.prototype.toggle = function () {\n if (this.isCollapsed()) {\n this.expand();\n } else {\n this.collapse();\n }\n return this;\n};\n\nNavigation.prototype.hideMoreItems = function () {\n if (this.$el.is('.aui-nav:not([aria-expanded=false]) [data-more]')) {\n var moreText = this.$el.attr('data-more') || AJS.I18n.getText('aui.words.moreitem');\n var limit = Math.abs(parseInt(this.$el.attr('data-more-limit'))) || 5;\n var $listElements = this.$el.children('li');\n\n // Only add 'More...' if there is more than one element to hide and there are no selected elements\n var lessThanTwoToHide = $listElements.length <= limit + 1;\n var selectedElementPresent = $listElements.filter('.aui-nav-selected').length;\n var alreadyInitialised = $listElements.filter('.aui-nav-more').length;\n if (lessThanTwoToHide || selectedElementPresent || alreadyInitialised) {\n return this;\n }\n\n $('<li>', {\n 'class': 'aui-nav-more',\n 'aria-hidden': 'true'\n }).append($('<a>', {\n 'href': '#',\n 'class': 'aui-nav-item',\n 'text': moreText,\n 'click': function (e) {\n e.preventDefault();\n $(this).parent().remove();\n }\n })).insertAfter($listElements.eq(limit - 1));\n }\n\n return this;\n};\n\n\nvar navigationWidget = widget('navigation', Navigation);\n\n// Initialise nav elements\nskate('aui-nav', {\n type: skate.type.CLASSNAME,\n attached: function (element) {\n new Navigation(element);\n },\n detached: function (element) {\n $(element).removeData();\n }\n});\n\nglobalize('navigation', navigationWidget);\n\nexport default navigationWidget;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/polyfills/placeholder.js"],"names":["document","createElement","applyDefaultText","input","value","String","trim","length","getAttribute","addClass","type","ATTRIBUTE","events","blur","focus","removeClass","created"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;AAKC,iBAAY;AACT,YAAI,iBAAiBA,SAASC,aAAT,CAAuB,OAAvB,CAArB,EAAsD;AAClD;AACH;;AAED,iBAASC,gBAAT,CAA2BC,KAA3B,EAAkC;AAC9B,gBAAIC,QAAQC,OAAOF,MAAMC,KAAb,EAAoBE,IAApB,EAAZ;AACA,gBAAI,CAACF,MAAMG,MAAX,EAAmB;AACfJ,sBAAMC,KAAN,GAAcD,MAAMK,YAAN,CAAmB,aAAnB,CAAd;AACA,sCAAEL,KAAF,EAASM,QAAT,CAAkB,uBAAlB;AACH;AACJ;;AAED,6BAAM,aAAN,EAAqB;AACjBC,kBAAM,gBAAMA,IAAN,CAAWC,SADA;AAEjBC,oBAAQ;AACJC,sBAAMX,gBADF;AAEJY,uBAAO,eAAUX,KAAV,EAAiB;AACpB,wBAAIA,MAAMC,KAAN,KAAgBD,MAAMK,YAAN,CAAmB,aAAnB,CAApB,EAAuD;AACnDL,8BAAMC,KAAN,GAAc,EAAd;AACA,8CAAED,KAAF,EAASY,WAAT,CAAqB,uBAArB;AACH;AACJ;AAPG,aAFS;AAWjBC,qBAASd;AAXQ,SAArB;AAaH,KA1BA,GAAD","file":"placeholder.js","sourcesContent":["'use strict';\n\nimport $ from '../jquery';\nimport skate from '../internal/skate';\n\n(function () {\n if ('placeholder' in document.createElement('input')) {\n return;\n }\n\n function applyDefaultText (input) {\n var value = String(input.value).trim();\n if (!value.length) {\n input.value = input.getAttribute('placeholder');\n $(input).addClass('aui-placeholder-shown');\n }\n }\n\n skate('placeholder', {\n type: skate.type.ATTRIBUTE,\n events: {\n blur: applyDefaultText,\n focus: function (input) {\n if (input.value === input.getAttribute('placeholder')) {\n input.value = '';\n $(input).removeClass('aui-placeholder-shown');\n }\n }\n },\n created: applyDefaultText\n });\n}());\n"]}
1
+ {"version":3,"sources":["js/aui/polyfills/placeholder.js"],"names":["document","createElement","applyDefaultText","input","value","String","trim","length","getAttribute","addClass","type","skate","ATTRIBUTE","events","blur","focus","removeClass","created"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;AAKC,iBAAY;AACT,YAAI,iBAAiBA,SAASC,aAAT,CAAuB,OAAvB,CAArB,EAAsD;AAClD;AACH;;AAED,iBAASC,gBAAT,CAA2BC,KAA3B,EAAkC;AAC9B,gBAAIC,QAAQC,OAAOF,MAAMC,KAAb,EAAoBE,IAApB,EAAZ;AACA,gBAAI,CAACF,MAAMG,MAAX,EAAmB;AACfJ,sBAAMC,KAAN,GAAcD,MAAMK,YAAN,CAAmB,aAAnB,CAAd;AACA,sCAAEL,KAAF,EAASM,QAAT,CAAkB,uBAAlB;AACH;AACJ;;AAED,6BAAM,aAAN,EAAqB;AACjBC,kBAAMC,gBAAMD,IAAN,CAAWE,SADA;AAEjBC,oBAAQ;AACJC,sBAAMZ,gBADF;AAEJa,uBAAO,eAAUZ,KAAV,EAAiB;AACpB,wBAAIA,MAAMC,KAAN,KAAgBD,MAAMK,YAAN,CAAmB,aAAnB,CAApB,EAAuD;AACnDL,8BAAMC,KAAN,GAAc,EAAd;AACA,8CAAED,KAAF,EAASa,WAAT,CAAqB,uBAArB;AACH;AACJ;AAPG,aAFS;AAWjBC,qBAASf;AAXQ,SAArB;AAaH,KA1BA,GAAD","file":"placeholder.js","sourcesContent":["'use strict';\n\nimport $ from '../jquery';\nimport skate from '../internal/skate';\n\n(function () {\n if ('placeholder' in document.createElement('input')) {\n return;\n }\n\n function applyDefaultText (input) {\n var value = String(input.value).trim();\n if (!value.length) {\n input.value = input.getAttribute('placeholder');\n $(input).addClass('aui-placeholder-shown');\n }\n }\n\n skate('placeholder', {\n type: skate.type.ATTRIBUTE,\n events: {\n blur: applyDefaultText,\n focus: function (input) {\n if (input.value === input.getAttribute('placeholder')) {\n input.value = '';\n $(input).removeClass('aui-placeholder-shown');\n }\n }\n },\n created: applyDefaultText\n });\n}());\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/populate-parameters.js"],"names":["populateParameters","parameters","each","value","id","title","hasClass","push","match","toLowerCase"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAMA,aAASA,kBAAT,CAA6BC,UAA7B,EAAyC;AACrC,YAAI,CAACA,UAAL,EAAiB;AACbA;AACH;;AAED,8BAAE,mBAAF,EAAuBC,IAAvB,CAA4B,YAAY;AACpC,gBAAIC,QAAQ,KAAKA,KAAjB;AACA,gBAAIC,KAAK,KAAKC,KAAL,IAAc,KAAKD,EAA5B;;AAEA,gBAAI,sBAAE,IAAF,EAAQE,QAAR,CAAiB,MAAjB,CAAJ,EAA8B;AAC1B,oBAAIL,WAAWG,EAAX,CAAJ,EAAoB;AAChBH,+BAAWG,EAAX,EAAeG,IAAf,CAAoBJ,KAApB;AACH,iBAFD,MAEO;AACHF,+BAAWG,EAAX,IAAiB,CAACD,KAAD,CAAjB;AACH;AACJ,aAND,MAMO;AACHF,2BAAWG,EAAX,IAAkBD,MAAMK,KAAN,CAAY,gBAAZ,IAAgCL,MAAMM,WAAN,OAAwB,MAAxD,GAAiEN,KAAnF;AACH;AACJ,SAbD;AAcH;;AAED,6BAAU,oBAAV,EAAgCH,kBAAhC;;sBAEeA,kB","file":"populate-parameters.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport globalize from './internal/globalize';\nimport params from './params';\n\nfunction populateParameters (parameters) {\n if (!parameters) {\n parameters = params;\n }\n\n $('.parameters input').each(function () {\n var value = this.value;\n var id = this.title || this.id;\n\n if ($(this).hasClass('list')) {\n if (parameters[id]) {\n parameters[id].push(value);\n } else {\n parameters[id] = [value];\n }\n } else {\n parameters[id] = (value.match(/^(tru|fals)e$/i) ? value.toLowerCase() === 'true' : value);\n }\n });\n}\n\nglobalize('populateParameters', populateParameters);\n\nexport default populateParameters;\n"]}
1
+ {"version":3,"sources":["js/aui/populate-parameters.js"],"names":["populateParameters","parameters","params","each","value","id","title","hasClass","push","match","toLowerCase"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAMA,aAASA,kBAAT,CAA6BC,UAA7B,EAAyC;AACrC,YAAI,CAACA,UAAL,EAAiB;AACbA,yBAAaC,gBAAb;AACH;;AAED,8BAAE,mBAAF,EAAuBC,IAAvB,CAA4B,YAAY;AACpC,gBAAIC,QAAQ,KAAKA,KAAjB;AACA,gBAAIC,KAAK,KAAKC,KAAL,IAAc,KAAKD,EAA5B;;AAEA,gBAAI,sBAAE,IAAF,EAAQE,QAAR,CAAiB,MAAjB,CAAJ,EAA8B;AAC1B,oBAAIN,WAAWI,EAAX,CAAJ,EAAoB;AAChBJ,+BAAWI,EAAX,EAAeG,IAAf,CAAoBJ,KAApB;AACH,iBAFD,MAEO;AACHH,+BAAWI,EAAX,IAAiB,CAACD,KAAD,CAAjB;AACH;AACJ,aAND,MAMO;AACHH,2BAAWI,EAAX,IAAkBD,MAAMK,KAAN,CAAY,gBAAZ,IAAgCL,MAAMM,WAAN,OAAwB,MAAxD,GAAiEN,KAAnF;AACH;AACJ,SAbD;AAcH;;AAED,6BAAU,oBAAV,EAAgCJ,kBAAhC;;sBAEeA,kB","file":"populate-parameters.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport globalize from './internal/globalize';\nimport params from './params';\n\nfunction populateParameters (parameters) {\n if (!parameters) {\n parameters = params;\n }\n\n $('.parameters input').each(function () {\n var value = this.value;\n var id = this.title || this.id;\n\n if ($(this).hasClass('list')) {\n if (parameters[id]) {\n parameters[id].push(value);\n } else {\n parameters[id] = [value];\n }\n } else {\n parameters[id] = (value.match(/^(tru|fals)e$/i) ? value.toLowerCase() === 'true' : value);\n }\n });\n}\n\nglobalize('populateParameters', populateParameters);\n\nexport default populateParameters;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/progress-indicator.js"],"names":["deprecate","afterTransitionEvent","beforeTransitionEvent","transitionEnd","updateProgress","$progressBar","$progressBarContainer","progressValue","css","attr","updateProgressElement","element","value","el","document","getElementById","first","children","valueAttribute","isIndeterminate","currentProgress","parseFloat","isProgressNotChanged","currentDemonstratedValue","get","style","width","transitionProgress","progressBar","progressBarContainer","trigger","one","setIndeterminateOnProgressElement","removeAttr","DEFAULTS","indeterminate","max","val","validNumeric","isNumber","isFinite","isNaN","parseNumeric","defaultVal","num","Number","parseDecimal","precision","toFixed","safeValue","Math","min","safeMax","calc","data","parsedMax","parsedVal","valAsFraction","valAsPercent","refresh","_data","bar","querySelector","oldVal","getAttribute","removeAttribute","setAttribute","setValue","newValue","oldValue","setMax","template","hasAttribute","legacyValue","innerHTML","attached","attributes","created","removed","fallback","_updating","prototype","__data","defaults","d","progressBars","update","fn","sinceVersion","extraInfo","setIndeterminate"],"mappings":"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","file":"progress-indicator.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport _ from './underscore';\nimport skate from 'skatejs';\nimport { recomputeStyle } from './internal/animation';\nimport { supportsCssTransition } from './internal/browser';\nimport * as deprecate from './internal/deprecation';\nimport globalize from './internal/globalize';\n\nconst afterTransitionEvent = 'aui-progress-indicator-after-update';\nconst beforeTransitionEvent = 'aui-progress-indicator-before-update';\nconst transitionEnd = 'transitionend webkitTransitionEnd';\n\n\nfunction updateProgress($progressBar, $progressBarContainer, progressValue) {\n recomputeStyle($progressBar);\n $progressBar.css('width', progressValue * 100 + '%');\n $progressBarContainer.attr('data-value', progressValue);\n}\n\n\nfunction updateProgressElement(element, value) {\n if (typeof element === 'string') {\n let el = document.getElementById(element);\n if (el) {\n element = el;\n }\n }\n var $progressBarContainer = $(element).first();\n var $progressBar = $progressBarContainer.children('.aui-progress-indicator-value');\n var valueAttribute = $progressBarContainer.attr('data-value');\n var isIndeterminate = !valueAttribute;\n var currentProgress = parseFloat(valueAttribute) || 0;\n var isProgressNotChanged = valueAttribute && currentProgress === value;\n\n // AUI-4771 - check for mis-configured legacy progress bar HTML.\n if (isProgressNotChanged) {\n const currentDemonstratedValue = parseFloat($progressBar.get(0).style.width) || 0;\n isProgressNotChanged = currentProgress === (currentDemonstratedValue * 100);\n }\n\n if (isProgressNotChanged) {\n return;\n }\n\n //if the progress bar is indeterminate switch it.\n if (isIndeterminate) {\n $progressBar.css('width', 0);\n }\n\n transitionProgress($progressBar, $progressBarContainer, { currentProgress, value });\n\n return $progressBarContainer;\n}\n\nfunction transitionProgress(progressBar, progressBarContainer, { currentProgress, value }) {\n const $progressBar = $(progressBar);\n const $progressBarContainer = $(progressBarContainer);\n\n if (typeof value === 'number' && value <= 1 && value >= 0) {\n $progressBarContainer.trigger(beforeTransitionEvent, [currentProgress, value]);\n\n //trigger the event after transition end if supported, otherwise just trigger it\n if (supportsCssTransition()) {\n $progressBar.one(transitionEnd, function () {\n $progressBarContainer.trigger(afterTransitionEvent, [currentProgress, value]);\n });\n updateProgress($progressBar, $progressBarContainer, value);\n } else {\n updateProgress($progressBar, $progressBarContainer, value);\n $progressBarContainer.trigger(afterTransitionEvent, [currentProgress, value]);\n }\n }\n}\n\nfunction setIndeterminateOnProgressElement(element) {\n var $progressBarContainer = $(element).first();\n var $progressBar = $progressBarContainer.children('.aui-progress-indicator-value');\n\n $progressBarContainer.removeAttr('data-value');\n recomputeStyle($progressBarContainer);\n $progressBar.css('width', '');\n}\n\nconst DEFAULTS = {\n indeterminate: false,\n max: 1,\n val: 0,\n};\n\nfunction validNumeric(val) {\n return _.isNumber(val) && _.isFinite(val) && !_.isNaN(val);\n}\n\nfunction parseNumeric(val, defaultVal = 1) {\n const num = parseFloat(val);\n return validNumeric(num) ? num : Number(defaultVal);\n}\n\nfunction parseDecimal(num, precision = 1) {\n return Number(parseFloat(num).toFixed(precision));\n}\n\nfunction safeValue(val, max) {\n return Math.max(0, Math.min(val, max));\n}\n\nfunction safeMax(max) {\n return max > 0 ? max : DEFAULTS.max;\n}\n\n/**\n * @param data the state\n * @returns {{max: number, val: number, valAsFraction: number, valAsPercent: number}}\n */\nfunction calc(data) {\n const { val, max } = data;\n const parsedMax = safeMax(max);\n const parsedVal = safeValue(val, parsedMax);\n const valAsFraction = parseDecimal(parsedVal / parsedMax, 6);\n const valAsPercent = parseDecimal(valAsFraction * 100, 2);\n return {max: parsedMax, val: parsedVal, valAsFraction, valAsPercent};\n}\n\nfunction refresh(el) {\n const {val, valAsFraction, max} = calc(el._data);\n const bar = el.querySelector('.aui-progress-indicator');\n const oldVal = bar.getAttribute('data-value');\n\n if (el.indeterminate) {\n bar.removeAttribute('aria-valuenow');\n setIndeterminateOnProgressElement(bar);\n } else {\n bar.setAttribute('aria-valuenow', val);\n bar.setAttribute('aria-valuemax', max);\n transitionProgress(bar.querySelector('.aui-progress-indicator-value'), bar, {\n currentProgress: oldVal,\n value: valAsFraction\n });\n }\n}\n\nfunction setValue(el, data) {\n el._data.val = parseNumeric(data.newValue, data.oldValue || DEFAULTS.val);\n refresh(el);\n}\n\nfunction setMax(el, data) {\n el._data.max = parseNumeric(data.newValue, data.oldValue || DEFAULTS.max);\n refresh(el);\n}\n\nskate('aui-progressbar', {\n template(el) {\n // Ensure max is set before value upon element creation and before rendering.\n // Why is this happening in 'template' and not 'created'? Because it gets called before 'created'!\n el._data.max = parseNumeric(el.getAttribute('max'), DEFAULTS.max);\n el._data.val = parseNumeric(el.getAttribute('value'), DEFAULTS.val);\n el._data.indeterminate = el.hasAttribute('indeterminate');\n const {val, max, valAsFraction, valAsPercent} = calc(el._data);\n\n const legacyValue = el._data.indeterminate ? '' : `data-value=\"${valAsFraction}\"`;\n\n el.innerHTML = `<div class=\"aui-progress-indicator\"\n ${legacyValue}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuenow=\"${val}\"\n aria-valuemax=\"${max}\"\n tabindex=\"0\"\n >\n <span class=\"aui-progress-indicator-value\" style=\"width: ${valAsPercent}%\"></span>\n </div>`;\n },\n\n attached(el) {\n refresh(el);\n },\n\n attributes: {\n indeterminate: {\n created: function(el) {\n el.indeterminate = true;\n },\n removed: function(el) {\n el.indeterminate = false;\n }\n },\n value: {\n value: DEFAULTS.val,\n fallback: function (el, data) {\n if (el._updating) return false;\n setValue(el, data);\n }\n },\n max: {\n value: DEFAULTS.max,\n fallback: function (el, data) {\n if (el._updating) return false;\n setMax(el, data);\n }\n },\n },\n\n prototype: {\n get _data() {\n return this.__data || (this._data = _.defaults({}, DEFAULTS));\n },\n set _data(d) {\n return this.__data = d;\n },\n get indeterminate() {\n return this._data.indeterminate;\n },\n set indeterminate(val) {\n this._data.indeterminate = !!val;\n refresh(this);\n },\n get value() {\n const { val } = calc(this._data);\n return val;\n },\n set value(num) {\n if (!validNumeric(num)) return false;\n const data = { newValue: parseDecimal(num, 6) };\n this._updating = true;\n // Reflect whatever value is set in the attributes.\n this.setAttribute('value', data.newValue);\n this._updating = false;\n setValue(this, data);\n },\n get max() {\n const { max } = calc(this._data);\n return max;\n },\n set max(num) {\n if (!validNumeric(num)) return false;\n const data = { newValue: parseDecimal(num, 6) };\n this._updating = true;\n // Reflect whatever value is set in the attributes.\n this.setAttribute('max', data.newValue);\n this._updating = false;\n setMax(this, data);\n },\n }\n});\n\nconst progressBars = {\n update: deprecate.fn(updateProgressElement, 'AJS.progressBars.update', {\n sinceVersion: '7.7.0',\n extraInfo: 'Use the <aui-progressbar> web component instead'\n }),\n setIndeterminate: deprecate.fn(setIndeterminateOnProgressElement, 'AJS.progressBars.setIndeterminate', {\n sinceVersion: '7.7.0',\n extraInfo: 'Use the <aui-progressbar> web component instead'\n })\n};\n\nglobalize('progressBars', progressBars);\n\nexport default progressBars;\n"]}
1
+ {"version":3,"sources":["js/aui/progress-indicator.js"],"names":["deprecate","afterTransitionEvent","beforeTransitionEvent","transitionEnd","updateProgress","$progressBar","$progressBarContainer","progressValue","css","attr","updateProgressElement","element","value","el","document","getElementById","first","children","valueAttribute","isIndeterminate","currentProgress","parseFloat","isProgressNotChanged","currentDemonstratedValue","get","style","width","transitionProgress","progressBar","progressBarContainer","trigger","one","setIndeterminateOnProgressElement","removeAttr","DEFAULTS","indeterminate","max","val","validNumeric","_","isNumber","isFinite","isNaN","parseNumeric","defaultVal","num","Number","parseDecimal","precision","toFixed","safeValue","Math","min","safeMax","calc","data","parsedMax","parsedVal","valAsFraction","valAsPercent","refresh","_data","bar","querySelector","oldVal","getAttribute","removeAttribute","setAttribute","setValue","newValue","oldValue","setMax","template","hasAttribute","legacyValue","innerHTML","attached","attributes","created","removed","fallback","_updating","prototype","__data","defaults","d","progressBars","update","fn","sinceVersion","extraInfo","setIndeterminate"],"mappings":"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","file":"progress-indicator.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport _ from './underscore';\nimport skate from 'skatejs';\nimport { recomputeStyle } from './internal/animation';\nimport { supportsCssTransition } from './internal/browser';\nimport * as deprecate from './internal/deprecation';\nimport globalize from './internal/globalize';\n\nconst afterTransitionEvent = 'aui-progress-indicator-after-update';\nconst beforeTransitionEvent = 'aui-progress-indicator-before-update';\nconst transitionEnd = 'transitionend webkitTransitionEnd';\n\n\nfunction updateProgress($progressBar, $progressBarContainer, progressValue) {\n recomputeStyle($progressBar);\n $progressBar.css('width', progressValue * 100 + '%');\n $progressBarContainer.attr('data-value', progressValue);\n}\n\n\nfunction updateProgressElement(element, value) {\n if (typeof element === 'string') {\n let el = document.getElementById(element);\n if (el) {\n element = el;\n }\n }\n var $progressBarContainer = $(element).first();\n var $progressBar = $progressBarContainer.children('.aui-progress-indicator-value');\n var valueAttribute = $progressBarContainer.attr('data-value');\n var isIndeterminate = !valueAttribute;\n var currentProgress = parseFloat(valueAttribute) || 0;\n var isProgressNotChanged = valueAttribute && currentProgress === value;\n\n // AUI-4771 - check for mis-configured legacy progress bar HTML.\n if (isProgressNotChanged) {\n const currentDemonstratedValue = parseFloat($progressBar.get(0).style.width) || 0;\n isProgressNotChanged = currentProgress === (currentDemonstratedValue * 100);\n }\n\n if (isProgressNotChanged) {\n return;\n }\n\n //if the progress bar is indeterminate switch it.\n if (isIndeterminate) {\n $progressBar.css('width', 0);\n }\n\n transitionProgress($progressBar, $progressBarContainer, { currentProgress, value });\n\n return $progressBarContainer;\n}\n\nfunction transitionProgress(progressBar, progressBarContainer, { currentProgress, value }) {\n const $progressBar = $(progressBar);\n const $progressBarContainer = $(progressBarContainer);\n\n if (typeof value === 'number' && value <= 1 && value >= 0) {\n $progressBarContainer.trigger(beforeTransitionEvent, [currentProgress, value]);\n\n //trigger the event after transition end if supported, otherwise just trigger it\n if (supportsCssTransition()) {\n $progressBar.one(transitionEnd, function () {\n $progressBarContainer.trigger(afterTransitionEvent, [currentProgress, value]);\n });\n updateProgress($progressBar, $progressBarContainer, value);\n } else {\n updateProgress($progressBar, $progressBarContainer, value);\n $progressBarContainer.trigger(afterTransitionEvent, [currentProgress, value]);\n }\n }\n}\n\nfunction setIndeterminateOnProgressElement(element) {\n var $progressBarContainer = $(element).first();\n var $progressBar = $progressBarContainer.children('.aui-progress-indicator-value');\n\n $progressBarContainer.removeAttr('data-value');\n recomputeStyle($progressBarContainer);\n $progressBar.css('width', '');\n}\n\nconst DEFAULTS = {\n indeterminate: false,\n max: 1,\n val: 0,\n};\n\nfunction validNumeric(val) {\n return _.isNumber(val) && _.isFinite(val) && !_.isNaN(val);\n}\n\nfunction parseNumeric(val, defaultVal = 1) {\n const num = parseFloat(val);\n return validNumeric(num) ? num : Number(defaultVal);\n}\n\nfunction parseDecimal(num, precision = 1) {\n return Number(parseFloat(num).toFixed(precision));\n}\n\nfunction safeValue(val, max) {\n return Math.max(0, Math.min(val, max));\n}\n\nfunction safeMax(max) {\n return max > 0 ? max : DEFAULTS.max;\n}\n\n/**\n * @param data the state\n * @returns {{max: number, val: number, valAsFraction: number, valAsPercent: number}}\n */\nfunction calc(data) {\n const { val, max } = data;\n const parsedMax = safeMax(max);\n const parsedVal = safeValue(val, parsedMax);\n const valAsFraction = parseDecimal(parsedVal / parsedMax, 6);\n const valAsPercent = parseDecimal(valAsFraction * 100, 2);\n return {max: parsedMax, val: parsedVal, valAsFraction, valAsPercent};\n}\n\nfunction refresh(el) {\n const {val, valAsFraction, max} = calc(el._data);\n const bar = el.querySelector('.aui-progress-indicator');\n const oldVal = bar.getAttribute('data-value');\n\n if (el.indeterminate) {\n bar.removeAttribute('aria-valuenow');\n setIndeterminateOnProgressElement(bar);\n } else {\n bar.setAttribute('aria-valuenow', val);\n bar.setAttribute('aria-valuemax', max);\n transitionProgress(bar.querySelector('.aui-progress-indicator-value'), bar, {\n currentProgress: oldVal,\n value: valAsFraction\n });\n }\n}\n\nfunction setValue(el, data) {\n el._data.val = parseNumeric(data.newValue, data.oldValue || DEFAULTS.val);\n refresh(el);\n}\n\nfunction setMax(el, data) {\n el._data.max = parseNumeric(data.newValue, data.oldValue || DEFAULTS.max);\n refresh(el);\n}\n\nskate('aui-progressbar', {\n template(el) {\n // Ensure max is set before value upon element creation and before rendering.\n // Why is this happening in 'template' and not 'created'? Because it gets called before 'created'!\n el._data.max = parseNumeric(el.getAttribute('max'), DEFAULTS.max);\n el._data.val = parseNumeric(el.getAttribute('value'), DEFAULTS.val);\n el._data.indeterminate = el.hasAttribute('indeterminate');\n const {val, max, valAsFraction, valAsPercent} = calc(el._data);\n\n const legacyValue = el._data.indeterminate ? '' : `data-value=\"${valAsFraction}\"`;\n\n el.innerHTML = `<div class=\"aui-progress-indicator\"\n ${legacyValue}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuenow=\"${val}\"\n aria-valuemax=\"${max}\"\n tabindex=\"0\"\n >\n <span class=\"aui-progress-indicator-value\" style=\"width: ${valAsPercent}%\"></span>\n </div>`;\n },\n\n attached(el) {\n refresh(el);\n },\n\n attributes: {\n indeterminate: {\n created: function(el) {\n el.indeterminate = true;\n },\n removed: function(el) {\n el.indeterminate = false;\n }\n },\n value: {\n value: DEFAULTS.val,\n fallback: function (el, data) {\n if (el._updating) return false;\n setValue(el, data);\n }\n },\n max: {\n value: DEFAULTS.max,\n fallback: function (el, data) {\n if (el._updating) return false;\n setMax(el, data);\n }\n },\n },\n\n prototype: {\n get _data() {\n return this.__data || (this._data = _.defaults({}, DEFAULTS));\n },\n set _data(d) {\n return this.__data = d;\n },\n get indeterminate() {\n return this._data.indeterminate;\n },\n set indeterminate(val) {\n this._data.indeterminate = !!val;\n refresh(this);\n },\n get value() {\n const { val } = calc(this._data);\n return val;\n },\n set value(num) {\n if (!validNumeric(num)) return false;\n const data = { newValue: parseDecimal(num, 6) };\n this._updating = true;\n // Reflect whatever value is set in the attributes.\n this.setAttribute('value', data.newValue);\n this._updating = false;\n setValue(this, data);\n },\n get max() {\n const { max } = calc(this._data);\n return max;\n },\n set max(num) {\n if (!validNumeric(num)) return false;\n const data = { newValue: parseDecimal(num, 6) };\n this._updating = true;\n // Reflect whatever value is set in the attributes.\n this.setAttribute('max', data.newValue);\n this._updating = false;\n setMax(this, data);\n },\n }\n});\n\nconst progressBars = {\n update: deprecate.fn(updateProgressElement, 'AJS.progressBars.update', {\n sinceVersion: '7.7.0',\n extraInfo: 'Use the <aui-progressbar> web component instead'\n }),\n setIndeterminate: deprecate.fn(setIndeterminateOnProgressElement, 'AJS.progressBars.setIndeterminate', {\n sinceVersion: '7.7.0',\n extraInfo: 'Use the <aui-progressbar> web component instead'\n })\n};\n\nglobalize('progressBars', progressBars);\n\nexport default progressBars;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/progressive-data-set.js"],"names":["ProgressiveDataSet","Collection","extend","initialize","models","options","matcher","model","_idAttribute","idAttribute","_maxResults","maxResults","_queryData","queryData","_queryParamKey","queryParamKey","_queryEndpoint","queryEndpoint","value","queryCache","activeQueryCount","bindAll","url","query","remote","results","getFilteredResults","respond","hasQueryCache","shouldGetMoreResults","fetch","trigger","activity","always","done","resp","succ","xhr","addQueryCache","getQueryData","params","isFunction","data","add","update","remove","prototype","call","item","filter","first","response","cache","parse","pluck","hasOwnProperty","findQueryCache","length","setMaxResults","number"],"mappings":"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","file":"progressive-data-set.js","sourcesContent":["'use strict';\n\nimport _ from './underscore';\nimport Backbone from './backbone';\nimport globalize from './internal/globalize';\n\n/**\n * @fileOverview describes a ProgressiveDataSet object.\n *\n * This object serves as part of a series of components to handle the various aspects of autocomplete controls.\n */\nvar ProgressiveDataSet = Backbone.Collection.extend({\n /**\n * A queryable set of data that optimises the speed at which responses can be provided.\n *\n * ProgressiveDataSet should be given a matcher function so that it may filter results for queries locally.\n *\n * ProgressiveDataSet can be given a remote query endpoint to fetch data from. Should a remote endpoint\n * be provided, ProgressiveDataSet will leverage both client-side matching and query caching to reduce\n * the number of times the remote source need be queried.\n *\n * @example\n * var source = new ProgressiveDataSet([], {\n * model: Backbone.Model.extend({ idAttribute: \"username\" }),\n * queryEndpoint: \"/jira/rest/latest/users\",\n * queryParamKey: \"username\",\n * matcher: function(model, query) {\n * return _.startsWith(model.get('username'), query);\n * }\n * });\n * source.on('respond', doStuffWithMatchingResults);\n * source.query('john');\n *\n * @property {String} value the latest query for which the ProgressiveDataSet is responding to.\n * @property {Number} activeQueryCount the number of queries being run remotely.\n */\n initialize: function (models, options) {\n options || (options = {});\n if (options.matcher) {\n this.matcher = options.matcher;\n }\n if (options.model) {\n this.model = options.model; // Fixed in backbone 0.9.2\n }\n this._idAttribute = (new this.model()).idAttribute;\n this._maxResults = options.maxResults || 5;\n this._queryData = options.queryData || {};\n this._queryParamKey = options.queryParamKey || 'q';\n this._queryEndpoint = options.queryEndpoint || '';\n this.value = null;\n this.queryCache = {};\n this.activeQueryCount = 0;\n _.bindAll(this, 'query', 'respond');\n },\n\n url: function () {\n return this._queryEndpoint;\n },\n\n /**\n * Sets and runs a query against the ProgressiveDataSet.\n *\n * Bind to ProgressiveDataSet's 'respond' event to receive the results that match the latest query.\n *\n * @param {String} query the query to run.\n */\n query: function (query) {\n var remote;\n var results;\n\n this.value = query;\n results = this.getFilteredResults(query);\n this.respond(query, results);\n\n if (!query || !this._queryEndpoint || this.hasQueryCache(query) || !this.shouldGetMoreResults(results)) {\n return;\n }\n\n remote = this.fetch(query);\n\n this.activeQueryCount++;\n this.trigger('activity', {activity: true});\n\n remote.always(() => {\n this.activeQueryCount--;\n this.trigger('activity', {activity: !!this.activeQueryCount});\n });\n\n remote.done((resp, succ, xhr) => {\n this.addQueryCache(query, resp, xhr);\n });\n remote.done(() => {\n query = this.value;\n results = this.getFilteredResults(query);\n this.respond(query, results);\n });\n },\n\n /**\n * Gets all the data that should be sent in a remote request for data.\n * @param {String} query the value of the query to be run.\n * @return {Object} the data to to be sent to the remote when querying it.\n * @private\n */\n getQueryData: function (query) {\n var params = _.isFunction(this._queryData) ? this._queryData(query) : this._queryData;\n var data = _.extend({}, params);\n data[this._queryParamKey] = query;\n return data;\n },\n\n /**\n * Get data from a remote source that matches the query, and add it to this ProgressiveDataSet's set.\n *\n * @param {String} query the value of the query to be run.\n * @return {jQuery.Deferred} a deferred object representing the remote request.\n */\n fetch: function (query) {\n var data = this.getQueryData(query);\n // {add: true} for Backbone <= 0.9.2\n // {update: true, remove: false} for Backbone >= 0.9.9\n var params = {add: true, update: true, remove: false, data: data};\n var remote = Backbone.Collection.prototype.fetch.call(this, params);\n return remote;\n },\n\n /**\n * Triggers the 'respond' event on this ProgressiveDataSet for the given query and associated results.\n *\n * @param {String} query the query that was run\n * @param {Array} results a set of results that matched the query.\n * @return {Array} the results.\n * @private\n */\n respond: function (query, results) {\n this.trigger('respond', {\n query: query,\n results: results\n });\n return results;\n },\n\n /**\n * A hook-point to define a function that tests whether a model matches a query or not.\n *\n * This will be called by getFilteredResults in order to generate the list of results for a query.\n *\n * (For you java folks, it's essentially a predicate.)\n *\n * @param {Backbone.Model} item a model of the data to check for a match in.\n * @param {String} query the value to test against the item.\n * @returns {Boolean} true if the model matches the query, otherwise false.\n * @function\n */\n matcher: function (item, query) { }, // eslint-disable-line no-unused-vars\n\n /**\n * Filters the set of data contained by the ProgressiveDataSet down to a smaller set of results.\n *\n * The set will only consist of Models that \"match\" the query -- i.e., only Models where\n * a call to ProgressiveDataSet#matcher returns true.\n *\n * @param query {String} the value that results should match (according to the matcher function)\n * @return {Array} A set of Backbone Models that match the query.\n */\n getFilteredResults: function (query) {\n var results = [];\n if (!query) {\n return results;\n }\n results = this.filter(function (item) {\n return !!this.matcher(item, query);\n }, this);\n if (this._maxResults) {\n results = _.first(results, this._maxResults);\n }\n return results;\n },\n\n /**\n * Store a response in the query cache for a given query.\n *\n * @param {String} query the value to cache a response for.\n * @param {Object} response the data of the response from the server.\n * @param {XMLHttpRequest} xhr\n * @private\n */\n addQueryCache: function (query, response, xhr) {\n var cache = this.queryCache;\n var results = this.parse(response, xhr);\n cache[query] = _.pluck(results, this._idAttribute);\n },\n\n /**\n * Check if there is a query cache entry for a given query.\n *\n * @param query the value to check in the cache\n * @return {Boolean} true if the cache contains a response for the query, false otherwise.\n */\n hasQueryCache: function (query) {\n return this.queryCache.hasOwnProperty(query);\n },\n\n /**\n * Get the query cache entry for a given query.\n *\n * @param query the value to check in the cache\n * @return {Object[]} an array of values representing the IDs of the models the response for this query contained.\n */\n findQueryCache: function (query) {\n return this.queryCache[query];\n },\n\n /**\n *\n * @param {Array} results the set of results we know about right now.\n * @return {Boolean} true if the ProgressiveDataSet should look for more results.\n * @private\n */\n shouldGetMoreResults: function (results) {\n return results.length < this._maxResults;\n },\n\n /**\n *\n * @note Changing this value will trigger ProgressiveDataSet#event:respond if there is a query.\n * @param {Number} number how many results should the ProgressiveDataSet aim to retrieve for a query.\n */\n setMaxResults: function (number) {\n this._maxResults = number;\n this.value && this.respond(this.value, this.getFilteredResults(this.value));\n }\n});\n\nglobalize('ProgressiveDataSet', ProgressiveDataSet);\n\nexport default ProgressiveDataSet;\n"]}
1
+ {"version":3,"sources":["js/aui/progressive-data-set.js"],"names":["ProgressiveDataSet","Backbone","Collection","extend","initialize","models","options","matcher","model","_idAttribute","idAttribute","_maxResults","maxResults","_queryData","queryData","_queryParamKey","queryParamKey","_queryEndpoint","queryEndpoint","value","queryCache","activeQueryCount","_","bindAll","url","query","remote","results","getFilteredResults","respond","hasQueryCache","shouldGetMoreResults","fetch","trigger","activity","always","done","resp","succ","xhr","addQueryCache","getQueryData","params","isFunction","data","add","update","remove","prototype","call","item","filter","first","response","cache","parse","pluck","hasOwnProperty","findQueryCache","length","setMaxResults","number"],"mappings":"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","file":"progressive-data-set.js","sourcesContent":["'use strict';\n\nimport _ from './underscore';\nimport Backbone from './backbone';\nimport globalize from './internal/globalize';\n\n/**\n * @fileOverview describes a ProgressiveDataSet object.\n *\n * This object serves as part of a series of components to handle the various aspects of autocomplete controls.\n */\nvar ProgressiveDataSet = Backbone.Collection.extend({\n /**\n * A queryable set of data that optimises the speed at which responses can be provided.\n *\n * ProgressiveDataSet should be given a matcher function so that it may filter results for queries locally.\n *\n * ProgressiveDataSet can be given a remote query endpoint to fetch data from. Should a remote endpoint\n * be provided, ProgressiveDataSet will leverage both client-side matching and query caching to reduce\n * the number of times the remote source need be queried.\n *\n * @example\n * var source = new ProgressiveDataSet([], {\n * model: Backbone.Model.extend({ idAttribute: \"username\" }),\n * queryEndpoint: \"/jira/rest/latest/users\",\n * queryParamKey: \"username\",\n * matcher: function(model, query) {\n * return _.startsWith(model.get('username'), query);\n * }\n * });\n * source.on('respond', doStuffWithMatchingResults);\n * source.query('john');\n *\n * @property {String} value the latest query for which the ProgressiveDataSet is responding to.\n * @property {Number} activeQueryCount the number of queries being run remotely.\n */\n initialize: function (models, options) {\n options || (options = {});\n if (options.matcher) {\n this.matcher = options.matcher;\n }\n if (options.model) {\n this.model = options.model; // Fixed in backbone 0.9.2\n }\n this._idAttribute = (new this.model()).idAttribute;\n this._maxResults = options.maxResults || 5;\n this._queryData = options.queryData || {};\n this._queryParamKey = options.queryParamKey || 'q';\n this._queryEndpoint = options.queryEndpoint || '';\n this.value = null;\n this.queryCache = {};\n this.activeQueryCount = 0;\n _.bindAll(this, 'query', 'respond');\n },\n\n url: function () {\n return this._queryEndpoint;\n },\n\n /**\n * Sets and runs a query against the ProgressiveDataSet.\n *\n * Bind to ProgressiveDataSet's 'respond' event to receive the results that match the latest query.\n *\n * @param {String} query the query to run.\n */\n query: function (query) {\n var remote;\n var results;\n\n this.value = query;\n results = this.getFilteredResults(query);\n this.respond(query, results);\n\n if (!query || !this._queryEndpoint || this.hasQueryCache(query) || !this.shouldGetMoreResults(results)) {\n return;\n }\n\n remote = this.fetch(query);\n\n this.activeQueryCount++;\n this.trigger('activity', {activity: true});\n\n remote.always(() => {\n this.activeQueryCount--;\n this.trigger('activity', {activity: !!this.activeQueryCount});\n });\n\n remote.done((resp, succ, xhr) => {\n this.addQueryCache(query, resp, xhr);\n });\n remote.done(() => {\n query = this.value;\n results = this.getFilteredResults(query);\n this.respond(query, results);\n });\n },\n\n /**\n * Gets all the data that should be sent in a remote request for data.\n * @param {String} query the value of the query to be run.\n * @return {Object} the data to to be sent to the remote when querying it.\n * @private\n */\n getQueryData: function (query) {\n var params = _.isFunction(this._queryData) ? this._queryData(query) : this._queryData;\n var data = _.extend({}, params);\n data[this._queryParamKey] = query;\n return data;\n },\n\n /**\n * Get data from a remote source that matches the query, and add it to this ProgressiveDataSet's set.\n *\n * @param {String} query the value of the query to be run.\n * @return {jQuery.Deferred} a deferred object representing the remote request.\n */\n fetch: function (query) {\n var data = this.getQueryData(query);\n // {add: true} for Backbone <= 0.9.2\n // {update: true, remove: false} for Backbone >= 0.9.9\n var params = {add: true, update: true, remove: false, data: data};\n var remote = Backbone.Collection.prototype.fetch.call(this, params);\n return remote;\n },\n\n /**\n * Triggers the 'respond' event on this ProgressiveDataSet for the given query and associated results.\n *\n * @param {String} query the query that was run\n * @param {Array} results a set of results that matched the query.\n * @return {Array} the results.\n * @private\n */\n respond: function (query, results) {\n this.trigger('respond', {\n query: query,\n results: results\n });\n return results;\n },\n\n /**\n * A hook-point to define a function that tests whether a model matches a query or not.\n *\n * This will be called by getFilteredResults in order to generate the list of results for a query.\n *\n * (For you java folks, it's essentially a predicate.)\n *\n * @param {Backbone.Model} item a model of the data to check for a match in.\n * @param {String} query the value to test against the item.\n * @returns {Boolean} true if the model matches the query, otherwise false.\n * @function\n */\n matcher: function (item, query) { }, // eslint-disable-line no-unused-vars\n\n /**\n * Filters the set of data contained by the ProgressiveDataSet down to a smaller set of results.\n *\n * The set will only consist of Models that \"match\" the query -- i.e., only Models where\n * a call to ProgressiveDataSet#matcher returns true.\n *\n * @param query {String} the value that results should match (according to the matcher function)\n * @return {Array} A set of Backbone Models that match the query.\n */\n getFilteredResults: function (query) {\n var results = [];\n if (!query) {\n return results;\n }\n results = this.filter(function (item) {\n return !!this.matcher(item, query);\n }, this);\n if (this._maxResults) {\n results = _.first(results, this._maxResults);\n }\n return results;\n },\n\n /**\n * Store a response in the query cache for a given query.\n *\n * @param {String} query the value to cache a response for.\n * @param {Object} response the data of the response from the server.\n * @param {XMLHttpRequest} xhr\n * @private\n */\n addQueryCache: function (query, response, xhr) {\n var cache = this.queryCache;\n var results = this.parse(response, xhr);\n cache[query] = _.pluck(results, this._idAttribute);\n },\n\n /**\n * Check if there is a query cache entry for a given query.\n *\n * @param query the value to check in the cache\n * @return {Boolean} true if the cache contains a response for the query, false otherwise.\n */\n hasQueryCache: function (query) {\n return this.queryCache.hasOwnProperty(query);\n },\n\n /**\n * Get the query cache entry for a given query.\n *\n * @param query the value to check in the cache\n * @return {Object[]} an array of values representing the IDs of the models the response for this query contained.\n */\n findQueryCache: function (query) {\n return this.queryCache[query];\n },\n\n /**\n *\n * @param {Array} results the set of results we know about right now.\n * @return {Boolean} true if the ProgressiveDataSet should look for more results.\n * @private\n */\n shouldGetMoreResults: function (results) {\n return results.length < this._maxResults;\n },\n\n /**\n *\n * @note Changing this value will trigger ProgressiveDataSet#event:respond if there is a query.\n * @param {Number} number how many results should the ProgressiveDataSet aim to retrieve for a query.\n */\n setMaxResults: function (number) {\n this._maxResults = number;\n this.value && this.respond(this.value, this.getFilteredResults(this.value));\n }\n});\n\nglobalize('ProgressiveDataSet', ProgressiveDataSet);\n\nexport default ProgressiveDataSet;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/query-input.js"],"names":["QueryInput","View","extend","initialize","bindAll","_lastValue","val","$el","bind","changed","apply","arguments","trigger"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAMA,QAAIA,aAAa,mBAASC,IAAT,CAAcC,MAAd,CAAqB;AAClCC,oBAAY,sBAAY;AACpB,iCAAEC,OAAF,CAAU,IAAV,EAAgB,SAAhB,EAA2B,KAA3B;AACA,iBAAKC,UAAL,GAAkB,KAAKC,GAAL,EAAlB;AACA,iBAAKC,GAAL,CAASC,IAAT,CAAc,aAAd,EAA6B,KAAKC,OAAlC;AACH,SALiC;;AAOlCH,aAAK,eAAY;AACb,mBAAO,KAAKC,GAAL,CAASD,GAAT,CAAaI,KAAb,CAAmB,KAAKH,GAAxB,EAA6BI,SAA7B,CAAP;AACH,SATiC;;AAWlCF,iBAAS,mBAAY;AACjB,gBAAI,KAAKJ,UAAL,KAAoB,KAAKC,GAAL,EAAxB,EAAoC;AAChC,qBAAKM,OAAL,CAAa,QAAb,EAAuB,KAAKN,GAAL,EAAvB;AACA,qBAAKD,UAAL,GAAkB,KAAKC,GAAL,EAAlB;AACH;AACJ;AAhBiC,KAArB,CAAjB;;AAmBA,6BAAU,YAAV,EAAwBN,UAAxB;;sBAEeA,U","file":"query-input.js","sourcesContent":["'use strict';\n\nimport _ from './underscore';\nimport Backbone from './backbone';\nimport globalize from './internal/globalize';\n\nvar QueryInput = Backbone.View.extend({\n initialize: function () {\n _.bindAll(this, 'changed', 'val');\n this._lastValue = this.val();\n this.$el.bind('keyup focus', this.changed);\n },\n\n val: function () {\n return this.$el.val.apply(this.$el, arguments);\n },\n\n changed: function () {\n if (this._lastValue !== this.val()) {\n this.trigger('change', this.val());\n this._lastValue = this.val();\n }\n }\n});\n\nglobalize('QueryInput', QueryInput);\n\nexport default QueryInput;\n"]}
1
+ {"version":3,"sources":["js/aui/query-input.js"],"names":["QueryInput","Backbone","View","extend","initialize","_","bindAll","_lastValue","val","$el","bind","changed","apply","arguments","trigger"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAMA,QAAIA,aAAaC,mBAASC,IAAT,CAAcC,MAAd,CAAqB;AAClCC,oBAAY,sBAAY;AACpBC,iCAAEC,OAAF,CAAU,IAAV,EAAgB,SAAhB,EAA2B,KAA3B;AACA,iBAAKC,UAAL,GAAkB,KAAKC,GAAL,EAAlB;AACA,iBAAKC,GAAL,CAASC,IAAT,CAAc,aAAd,EAA6B,KAAKC,OAAlC;AACH,SALiC;;AAOlCH,aAAK,eAAY;AACb,mBAAO,KAAKC,GAAL,CAASD,GAAT,CAAaI,KAAb,CAAmB,KAAKH,GAAxB,EAA6BI,SAA7B,CAAP;AACH,SATiC;;AAWlCF,iBAAS,mBAAY;AACjB,gBAAI,KAAKJ,UAAL,KAAoB,KAAKC,GAAL,EAAxB,EAAoC;AAChC,qBAAKM,OAAL,CAAa,QAAb,EAAuB,KAAKN,GAAL,EAAvB;AACA,qBAAKD,UAAL,GAAkB,KAAKC,GAAL,EAAlB;AACH;AACJ;AAhBiC,KAArB,CAAjB;;AAmBA,6BAAU,YAAV,EAAwBR,UAAxB;;sBAEeA,U","file":"query-input.js","sourcesContent":["'use strict';\n\nimport _ from './underscore';\nimport Backbone from './backbone';\nimport globalize from './internal/globalize';\n\nvar QueryInput = Backbone.View.extend({\n initialize: function () {\n _.bindAll(this, 'changed', 'val');\n this._lastValue = this.val();\n this.$el.bind('keyup focus', this.changed);\n },\n\n val: function () {\n return this.$el.val.apply(this.$el, arguments);\n },\n\n changed: function () {\n if (this._lastValue !== this.val()) {\n this.trigger('change', this.val());\n this._lastValue = this.val();\n }\n }\n});\n\nglobalize('QueryInput', QueryInput);\n\nexport default QueryInput;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/restful-table/custom-create-view.js"],"names":["View"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;oBAGe,mBAASA,I","file":"custom-create-view.js","sourcesContent":["'use strict';\n\nimport Backbone from '../backbone';\nexport default Backbone.View;\n"]}
1
+ {"version":3,"sources":["js/aui/restful-table/custom-create-view.js"],"names":["Backbone","View"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;oBAGeA,mBAASC,I","file":"custom-create-view.js","sourcesContent":["'use strict';\n\nimport Backbone from '../backbone';\nexport default Backbone.View;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/restful-table/custom-edit-view.js"],"names":["View"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;oBAGe,mBAASA,I","file":"custom-edit-view.js","sourcesContent":["'use strict';\n\nimport Backbone from '../backbone';\nexport default Backbone.View;\n"]}
1
+ {"version":3,"sources":["js/aui/restful-table/custom-edit-view.js"],"names":["Backbone","View"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;oBAGeA,mBAASC,I","file":"custom-edit-view.js","sourcesContent":["'use strict';\n\nimport Backbone from '../backbone';\nexport default Backbone.View;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/restful-table/custom-read-view.js"],"names":["View"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;oBAGe,mBAASA,I","file":"custom-read-view.js","sourcesContent":["'use strict';\n\nimport Backbone from '../backbone';\nexport default Backbone.View;\n"]}
1
+ {"version":3,"sources":["js/aui/restful-table/custom-read-view.js"],"names":["Backbone","View"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;oBAGeA,mBAASC,I","file":"custom-read-view.js","sourcesContent":["'use strict';\n\nimport Backbone from '../backbone';\nexport default Backbone.View;\n"]}