@atlassian/aui 7.10.3-alpha-1 → 7.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/changelog.md +10 -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/package.json +55 -43
  106. package/src/less/imports/aui-theme/core/atlaskit-theme/borders.less +1 -0
  107. package/src/less/imports/aui-theme/core/atlaskit-theme/colors.less +112 -0
  108. package/src/less/imports/aui-theme/core/atlaskit-theme/fonts.less +3 -0
  109. package/src/less/imports/aui-theme/core/colors.less +1 -1
  110. package/src/less/imports/aui-theme/core/text.less +1 -1
  111. package/yarn.lock +7295 -3224
  112. package/lib/js-vendor/underscorejs/underscore.js +0 -1287
  113. package/src/js-vendor/underscorejs/underscore.js +0 -1287
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/spinner.js"],"names":["SIZE","SMALL","name","px","radius","MEDIUM","LARGE","DEFAULTS","filled","size","filledAttributeReplacementText","filledAttributeDeprecatedLogger","sinceVersion","removeInVersion","extraInfo","filledPropDeprecatedLogger","setMiddleTop","element","height","parent","parentNode","nodeType","selfDomRect","getBoundingClientRect","parentDomRect","parentMiddleTop","top","spinnerMiddleTop","querySelector","style","removeMiddleTop","validateSize","result","toLowerCase","possibleSizes","Object","keys","map","key","indexOf","setSize","svg","circle","setAttribute","circleSize","refresh","find","s","_data","SpinnerEl","template","innerHTML","attached","attributes","created","removed","data","newValue","prototype","__data","defaults","isFilled","removeAttribute","newSize"],"mappings":"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","file":"spinner.js","sourcesContent":["'use strict';\n\nimport skate from 'skatejs';\nimport { getMessageLogger } from './internal/deprecation';\nimport _ from './underscore';\n\n/**\n * @typedef {\"small\"|\"medium\"|\"large\"} SpinnerSize\n */\n\n/**\n * @typedef {Object} SpinnerSizeConfig\n * @param {SpinnerSize} name\n * @param {number} px\n * @param {number} radius\n */\n\n/**\n * @enum {SpinnerSizeConfig}\n * @readonly\n */\nconst SIZE = {\n SMALL: {\n name: 'small',\n px: 20,\n radius: 9,\n },\n MEDIUM: {\n name: 'medium',\n px: 30,\n radius: 13.5,\n },\n LARGE: {\n name: 'large',\n px: 50,\n radius: 22.5,\n },\n};\n\nconst DEFAULTS = {\n filled: false,\n size: SIZE.MEDIUM.name,\n};\n\nconst filledAttributeReplacementText = `Add CSS to the parent element of the <aui-spinner>.\nUse CSS flexbox or grid to vertically align it.\nSee https://css-tricks.com/centering-css-complete-guide/ for techniques.`;\n\nconst filledAttributeDeprecatedLogger = getMessageLogger('<aui-spinner> filled attribute', {\n sinceVersion: '7.9.4',\n removeInVersion: '9',\n extraInfo: filledAttributeReplacementText\n});\n\nconst filledPropDeprecatedLogger = getMessageLogger('<aui-spinner> filled property', {\n sinceVersion: '7.9.4',\n removeInVersion: '9',\n extraInfo: filledAttributeReplacementText\n});\n\n/** @deprecated */\nfunction setMiddleTop(element, height) {\n const parent = element.parentNode;\n // only operate on elements, not documentFragment or comment nodes, etc.\n if (parent && parent.nodeType === 1) {\n const selfDomRect = element.getBoundingClientRect();\n const parentDomRect = parent.getBoundingClientRect();\n\n const parentMiddleTop = parentDomRect.top + parentDomRect.height / 2;\n const spinnerMiddleTop = selfDomRect.top + height / 2;\n\n element.querySelector('svg').style.top = `${parentMiddleTop - spinnerMiddleTop}px`;\n }\n}\n\n/** @deprecated */\nfunction removeMiddleTop(element) {\n delete element.querySelector('svg').style.top;\n}\n\nfunction validateSize(size) {\n let result = SIZE.MEDIUM.name;\n if (typeof size === 'string') {\n size = size.toLowerCase();\n const possibleSizes = Object.keys(SIZE).map(key => key.toLowerCase());\n\n if (possibleSizes.indexOf(size) > -1) {\n result = size;\n }\n }\n\n return result;\n}\n\nfunction setSize(element, size, radius) {\n const svg = element.querySelector('svg');\n const circle = element.querySelector('circle');\n\n svg.setAttribute('size', size);\n svg.setAttribute('height', size);\n svg.setAttribute('width', size);\n svg.setAttribute('viewBox', `0 0 ${size} ${size}`);\n\n const circleSize = size / 2;\n\n circle.setAttribute('cx', circleSize);\n circle.setAttribute('cy', circleSize);\n circle.setAttribute('r', radius);\n}\n\nfunction refresh(element) {\n const { px, radius } = _.find(SIZE, s => s.name === element._data.size) || SIZE.MEDIUM;\n setSize(element, px, radius);\n\n if (element._data.filled) {\n setMiddleTop(element, px);\n } else {\n removeMiddleTop(element);\n }\n}\n\nconst SpinnerEl = skate('aui-spinner', {\n template(element) {\n element.innerHTML = '<div class=\"aui-spinner spinner\"><svg focusable=\"false\"><circle></circle></svg></div>';\n refresh(element);\n },\n attached(element) {\n refresh(element);\n },\n attributes: {\n filled: {\n /** @deprecated */\n created: function(element) {\n filledAttributeDeprecatedLogger();\n element._data.filled = true;\n refresh(element);\n },\n /** @deprecated */\n removed: function(element) {\n element._data.filled = false;\n refresh(element);\n }\n },\n size(element, data) {\n element._data.size = validateSize(data.newValue);\n refresh(element);\n },\n },\n prototype: {\n get _data() {\n return this.__data || (this._data = _.defaults({}, DEFAULTS));\n },\n set _data(data) {\n return this.__data = data;\n },\n /** @deprecated */\n set filled(isFilled) {\n filledPropDeprecatedLogger();\n !!isFilled ? this.setAttribute('filled', '') : this.removeAttribute('filled');\n },\n set size(newSize) {\n const size = validateSize(newSize);\n this.setAttribute('size', size);\n },\n },\n});\n\nexport default SpinnerEl;\nexport {\n SIZE\n};\n"]}
1
+ {"version":3,"sources":["js/aui/spinner.js"],"names":["SIZE","SMALL","name","px","radius","MEDIUM","LARGE","DEFAULTS","filled","size","filledAttributeReplacementText","filledAttributeDeprecatedLogger","sinceVersion","removeInVersion","extraInfo","filledPropDeprecatedLogger","setMiddleTop","element","height","parent","parentNode","nodeType","selfDomRect","getBoundingClientRect","parentDomRect","parentMiddleTop","top","spinnerMiddleTop","querySelector","style","removeMiddleTop","validateSize","result","toLowerCase","possibleSizes","Object","keys","map","key","indexOf","setSize","svg","circle","setAttribute","circleSize","refresh","_","find","s","_data","SpinnerEl","template","innerHTML","attached","attributes","created","removed","data","newValue","prototype","__data","defaults","isFilled","removeAttribute","newSize"],"mappings":"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","file":"spinner.js","sourcesContent":["'use strict';\n\nimport skate from 'skatejs';\nimport { getMessageLogger } from './internal/deprecation';\nimport _ from './underscore';\n\n/**\n * @typedef {\"small\"|\"medium\"|\"large\"} SpinnerSize\n */\n\n/**\n * @typedef {Object} SpinnerSizeConfig\n * @param {SpinnerSize} name\n * @param {number} px\n * @param {number} radius\n */\n\n/**\n * @enum {SpinnerSizeConfig}\n * @readonly\n */\nconst SIZE = {\n SMALL: {\n name: 'small',\n px: 20,\n radius: 9,\n },\n MEDIUM: {\n name: 'medium',\n px: 30,\n radius: 13.5,\n },\n LARGE: {\n name: 'large',\n px: 50,\n radius: 22.5,\n },\n};\n\nconst DEFAULTS = {\n filled: false,\n size: SIZE.MEDIUM.name,\n};\n\nconst filledAttributeReplacementText = `Add CSS to the parent element of the <aui-spinner>.\nUse CSS flexbox or grid to vertically align it.\nSee https://css-tricks.com/centering-css-complete-guide/ for techniques.`;\n\nconst filledAttributeDeprecatedLogger = getMessageLogger('<aui-spinner> filled attribute', {\n sinceVersion: '7.9.4',\n removeInVersion: '9',\n extraInfo: filledAttributeReplacementText\n});\n\nconst filledPropDeprecatedLogger = getMessageLogger('<aui-spinner> filled property', {\n sinceVersion: '7.9.4',\n removeInVersion: '9',\n extraInfo: filledAttributeReplacementText\n});\n\n/** @deprecated */\nfunction setMiddleTop(element, height) {\n const parent = element.parentNode;\n // only operate on elements, not documentFragment or comment nodes, etc.\n if (parent && parent.nodeType === 1) {\n const selfDomRect = element.getBoundingClientRect();\n const parentDomRect = parent.getBoundingClientRect();\n\n const parentMiddleTop = parentDomRect.top + parentDomRect.height / 2;\n const spinnerMiddleTop = selfDomRect.top + height / 2;\n\n element.querySelector('svg').style.top = `${parentMiddleTop - spinnerMiddleTop}px`;\n }\n}\n\n/** @deprecated */\nfunction removeMiddleTop(element) {\n delete element.querySelector('svg').style.top;\n}\n\nfunction validateSize(size) {\n let result = SIZE.MEDIUM.name;\n if (typeof size === 'string') {\n size = size.toLowerCase();\n const possibleSizes = Object.keys(SIZE).map(key => key.toLowerCase());\n\n if (possibleSizes.indexOf(size) > -1) {\n result = size;\n }\n }\n\n return result;\n}\n\nfunction setSize(element, size, radius) {\n const svg = element.querySelector('svg');\n const circle = element.querySelector('circle');\n\n svg.setAttribute('size', size);\n svg.setAttribute('height', size);\n svg.setAttribute('width', size);\n svg.setAttribute('viewBox', `0 0 ${size} ${size}`);\n\n const circleSize = size / 2;\n\n circle.setAttribute('cx', circleSize);\n circle.setAttribute('cy', circleSize);\n circle.setAttribute('r', radius);\n}\n\nfunction refresh(element) {\n const { px, radius } = _.find(SIZE, s => s.name === element._data.size) || SIZE.MEDIUM;\n setSize(element, px, radius);\n\n if (element._data.filled) {\n setMiddleTop(element, px);\n } else {\n removeMiddleTop(element);\n }\n}\n\nconst SpinnerEl = skate('aui-spinner', {\n template(element) {\n element.innerHTML = '<div class=\"aui-spinner spinner\"><svg focusable=\"false\"><circle></circle></svg></div>';\n refresh(element);\n },\n attached(element) {\n refresh(element);\n },\n attributes: {\n filled: {\n /** @deprecated */\n created: function(element) {\n filledAttributeDeprecatedLogger();\n element._data.filled = true;\n refresh(element);\n },\n /** @deprecated */\n removed: function(element) {\n element._data.filled = false;\n refresh(element);\n }\n },\n size(element, data) {\n element._data.size = validateSize(data.newValue);\n refresh(element);\n },\n },\n prototype: {\n get _data() {\n return this.__data || (this._data = _.defaults({}, DEFAULTS));\n },\n set _data(data) {\n return this.__data = data;\n },\n /** @deprecated */\n set filled(isFilled) {\n filledPropDeprecatedLogger();\n !!isFilled ? this.setAttribute('filled', '') : this.removeAttribute('filled');\n },\n set size(newSize) {\n const size = validateSize(newSize);\n this.setAttribute('size', size);\n },\n },\n});\n\nexport default SpinnerEl;\nexport {\n SIZE\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/tables-sortable.js"],"names":["DEFAULT_SORT_OPTIONS","sortMultiSortKey","headers","debug","tabIndex","sortTable","$table","options","find","each","index","header","$header","hasClass","sorter","attr","wrapInner","tablesorter","tablessortable","setup","addParser","id","is","format","s","keyComponents","split","projectKey","issueNumber","PROJECT_KEY_TEMPLATE","ISSUE_NUMBER_TEMPLATE","stringRepresentation","slice","length","type","nodeValue","table","node","hasAttribute","getAttribute","offset","setTableSortable"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;AAMA,QAAIA,uBAAuB;AACvBC,0BAAkB,EADK;AAEvBC,iBAAS,EAFc;AAGvBC,eAAO,KAHgB;AAIvBC,kBAAU;AAJa,KAA3B;;AAOA,aAASC,SAAT,CAAmBC,MAAnB,EAA2B;AACvB,YAAIC,UAAUP,oBAAd;AACAM,eAAOE,IAAP,CAAY,IAAZ,EAAkBC,IAAlB,CAAuB,UAAUC,KAAV,EAAiBC,MAAjB,EAAyB;;AAE5C,gBAAIC,UAAU,sBAAED,MAAF,CAAd;AACAJ,oBAAQL,OAAR,CAAgBQ,KAAhB,IAAyB,EAAzB;AACA,gBAAIE,QAAQC,QAAR,CAAiB,6BAAjB,CAAJ,EAAqD;AACjDN,wBAAQL,OAAR,CAAgBQ,KAAhB,EAAuBI,MAAvB,GAAgC,KAAhC;AACH,aAFD,MAEO;AACHF,wBAAQG,IAAR,CAAa,UAAb,EAAyB,GAAzB;AACAH,wBAAQI,SAAR,CAAkB,0CAAlB;AACA,oBAAIJ,QAAQC,QAAR,CAAiB,4BAAjB,CAAJ,EAAoD;AAChDN,4BAAQL,OAAR,CAAgBQ,KAAhB,EAAuBI,MAAvB,GAAgC,WAAhC;AACH;AACJ;AACJ,SAbD;AAcAR,eAAOW,WAAP,CAAmBV,OAAnB;AACH;;AAED,QAAIW,iBAAiB;AACjBC,eAAO,iBAAY;;AAEf;;;;;;;;AAQA,6BAAEF,WAAF,CAAcG,SAAd,CAAwB;AACpBC,oBAAI,WADgB;AAEpBC,oBAAI,cAAY;AACZ,2BAAO,KAAP;AACH,iBAJmB;;AAMpBC,wBAAQ,gBAAUC,CAAV,EAAa;AACjB,wBAAIC,gBAAgBD,EAAEE,KAAF,CAAQ,GAAR,CAApB;AACA,wBAAIC,aAAaF,cAAc,CAAd,CAAjB;AACA,wBAAIG,cAAcH,cAAc,CAAd,CAAlB;;AAEA,wBAAII,uBAAuB,YAA3B;AACA,wBAAIC,wBAAwB,QAA5B;AACA,wBAAIC,uBAAuB,CAACJ,aAAaE,oBAAd,EAAoCG,KAApC,CAA0C,CAA1C,EAA6CH,qBAAqBI,MAAlE,CAA3B;AACAF,4CAAwB,CAACD,wBAAwBF,WAAzB,EAAsCI,KAAtC,CAA4C,CAACF,sBAAsBG,MAAnE,CAAxB;;AAEA,2BAAOF,oBAAP;AACH,iBAjBmB;;AAmBpBG,sBAAM;AAnBc,aAAxB;;AAsBA;;;;AAIA,6BAAEjB,WAAF,CAAcG,SAAd,CAAwB;AACpBC,oBAAI,yBADgB;AAEpBC,oBAAI,YAAUa,SAAV,EAAqBC,KAArB,EAA4BC,IAA5B,EAAkC;AAClC,2BAAOA,KAAKC,YAAL,CAAkB,iBAAlB,MAAyC,CAACD,KAAKC,YAAL,CAAkB,gBAAlB,CAAD,IAAwCD,KAAKE,YAAL,CAAkB,gBAAlB,MAAwC,MAAzH,CAAP;AACH,iBAJmB;AAKpBhB,wBAAQ,gBAAUY,SAAV,EAAqBC,KAArB,EAA4BC,IAA5B,EAAkCG,MAAlC,EAA0C;AAC9C,2BAAOH,KAAKE,YAAL,CAAkB,iBAAlB,CAAP;AACH,iBAPmB;AAQpBL,sBAAM;AARc,aAAxB;;AAWA;;;;AAIA,6BAAEjB,WAAF,CAAcG,SAAd,CAAwB;AACpBC,oBAAI,4BADgB;AAEpBC,oBAAI,YAAUa,SAAV,EAAqBC,KAArB,EAA4BC,IAA5B,EAAkC;AAClC,2BAAOA,KAAKE,YAAL,CAAkB,gBAAlB,MAAwC,SAAxC,IAAqDF,KAAKC,YAAL,CAAkB,iBAAlB,CAA5D;AACH,iBAJmB;AAKpBf,wBAAQ,gBAAUY,SAAV,EAAqBC,KAArB,EAA4BC,IAA5B,EAAkCG,MAAlC,EAA0C;AAC9C,2BAAOH,KAAKE,YAAL,CAAkB,iBAAlB,CAAP;AACH,iBAPmB;AAQpBL,sBAAM;AARc,aAAxB;;AAWA,kCAAE,qBAAF,EAAyBzB,IAAzB,CAA8B,YAAY;AACtCJ,0BAAU,sBAAE,IAAF,CAAV;AACH,aAFD;AAGH,SAlEgB;;AAoEjBoC,0BAAkB,0BAAUnC,MAAV,EAAkB;AAChCD,sBAAUC,MAAV;AACH;AAtEgB,KAArB;;AAyEA,0BAAEY,eAAeC,KAAjB;;AAEA,6BAAU,gBAAV,EAA4BD,cAA5B;;sBAEeA,c","file":"tables-sortable.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport '../../js-vendor/jquery/jquery.tablesorter';\nimport globalize from './internal/globalize';\n\nvar DEFAULT_SORT_OPTIONS = {\n sortMultiSortKey: '',\n headers: {},\n debug: false,\n tabIndex: false\n};\n\nfunction sortTable($table) {\n var options = DEFAULT_SORT_OPTIONS;\n $table.find('th').each(function (index, header) {\n\n var $header = $(header);\n options.headers[index] = {};\n if ($header.hasClass('aui-table-column-unsortable')) {\n options.headers[index].sorter = false;\n } else {\n $header.attr('tabindex', '0');\n $header.wrapInner(\"<span class='aui-table-header-content'/>\");\n if ($header.hasClass('aui-table-column-issue-key')) {\n options.headers[index].sorter = 'issue-key';\n }\n }\n });\n $table.tablesorter(options);\n}\n\nvar tablessortable = {\n setup: function () {\n\n /*\n This parser is used for issue keys in the format <PROJECT_KEY>-<ISSUE_NUMBER>, where <PROJECT_KEY> is a maximum\n 10 character string with characters(A-Z). Assumes that issue number is no larger than 999,999. e.g. not more\n than a million issues.\n This pads the issue key to allow for proper string sorting so that the project key is always 10 characters and the\n issue number is always 6 digits. e.g. it appends the project key '.' until it is 10 characters long and prepends 0\n so that the issue number is 6 digits long. e.g. CONF-102 == CONF......000102. This is to allow proper string sorting.\n */\n $.tablesorter.addParser({\n id: 'issue-key',\n is: function () {\n return false;\n },\n\n format: function (s) {\n var keyComponents = s.split('-');\n var projectKey = keyComponents[0];\n var issueNumber = keyComponents[1];\n\n var PROJECT_KEY_TEMPLATE = '..........';\n var ISSUE_NUMBER_TEMPLATE = '000000';\n var stringRepresentation = (projectKey + PROJECT_KEY_TEMPLATE).slice(0, PROJECT_KEY_TEMPLATE.length);\n stringRepresentation += (ISSUE_NUMBER_TEMPLATE + issueNumber).slice(-ISSUE_NUMBER_TEMPLATE.length);\n\n return stringRepresentation;\n },\n\n type: 'text'\n });\n\n /*\n Text parser that uses the data-sort-value attribute for sorting if it is set and data-sort-type is not set\n or set to 'text'.\n */\n $.tablesorter.addParser({\n id: 'textSortAttributeParser',\n is: function (nodeValue, table, node) {\n return node.hasAttribute('data-sort-value') && (!node.hasAttribute('data-sort-type') || node.getAttribute('data-sort-type') === 'text');\n },\n format: function (nodeValue, table, node, offset) {\n return node.getAttribute('data-sort-value');\n },\n type: 'text'\n });\n\n /*\n Numeric parser that uses the data-sort-value attribute for sorting if it is set and data-sort-type is set\n to 'numeric'.\n */\n $.tablesorter.addParser({\n id: 'numericSortAttributeParser',\n is: function (nodeValue, table, node) {\n return node.getAttribute('data-sort-type') === 'numeric' && node.hasAttribute('data-sort-value');\n },\n format: function (nodeValue, table, node, offset) {\n return node.getAttribute('data-sort-value');\n },\n type: 'numeric'\n });\n\n $('.aui-table-sortable').each(function () {\n sortTable($(this));\n });\n },\n\n setTableSortable: function ($table) {\n sortTable($table);\n }\n};\n\n$(tablessortable.setup);\n\nglobalize('tablessortable', tablessortable);\n\nexport default tablessortable;\n"]}
1
+ {"version":3,"sources":["js/aui/tables-sortable.js"],"names":["DEFAULT_SORT_OPTIONS","sortMultiSortKey","headers","debug","tabIndex","sortTable","$table","options","find","each","index","header","$header","hasClass","sorter","attr","wrapInner","tablesorter","tablessortable","setup","$","addParser","id","is","format","s","keyComponents","split","projectKey","issueNumber","PROJECT_KEY_TEMPLATE","ISSUE_NUMBER_TEMPLATE","stringRepresentation","slice","length","type","nodeValue","table","node","hasAttribute","getAttribute","offset","setTableSortable"],"mappings":"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","file":"tables-sortable.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport '../../js-vendor/jquery/jquery.tablesorter';\nimport globalize from './internal/globalize';\n\nvar DEFAULT_SORT_OPTIONS = {\n sortMultiSortKey: '',\n headers: {},\n debug: false,\n tabIndex: false\n};\n\nfunction sortTable($table) {\n var options = DEFAULT_SORT_OPTIONS;\n $table.find('th').each(function (index, header) {\n\n var $header = $(header);\n options.headers[index] = {};\n if ($header.hasClass('aui-table-column-unsortable')) {\n options.headers[index].sorter = false;\n } else {\n $header.attr('tabindex', '0');\n $header.wrapInner(\"<span class='aui-table-header-content'/>\");\n if ($header.hasClass('aui-table-column-issue-key')) {\n options.headers[index].sorter = 'issue-key';\n }\n }\n });\n $table.tablesorter(options);\n}\n\nvar tablessortable = {\n setup: function () {\n\n /*\n This parser is used for issue keys in the format <PROJECT_KEY>-<ISSUE_NUMBER>, where <PROJECT_KEY> is a maximum\n 10 character string with characters(A-Z). Assumes that issue number is no larger than 999,999. e.g. not more\n than a million issues.\n This pads the issue key to allow for proper string sorting so that the project key is always 10 characters and the\n issue number is always 6 digits. e.g. it appends the project key '.' until it is 10 characters long and prepends 0\n so that the issue number is 6 digits long. e.g. CONF-102 == CONF......000102. This is to allow proper string sorting.\n */\n $.tablesorter.addParser({\n id: 'issue-key',\n is: function () {\n return false;\n },\n\n format: function (s) {\n var keyComponents = s.split('-');\n var projectKey = keyComponents[0];\n var issueNumber = keyComponents[1];\n\n var PROJECT_KEY_TEMPLATE = '..........';\n var ISSUE_NUMBER_TEMPLATE = '000000';\n var stringRepresentation = (projectKey + PROJECT_KEY_TEMPLATE).slice(0, PROJECT_KEY_TEMPLATE.length);\n stringRepresentation += (ISSUE_NUMBER_TEMPLATE + issueNumber).slice(-ISSUE_NUMBER_TEMPLATE.length);\n\n return stringRepresentation;\n },\n\n type: 'text'\n });\n\n /*\n Text parser that uses the data-sort-value attribute for sorting if it is set and data-sort-type is not set\n or set to 'text'.\n */\n $.tablesorter.addParser({\n id: 'textSortAttributeParser',\n is: function (nodeValue, table, node) {\n return node.hasAttribute('data-sort-value') && (!node.hasAttribute('data-sort-type') || node.getAttribute('data-sort-type') === 'text');\n },\n format: function (nodeValue, table, node, offset) {\n return node.getAttribute('data-sort-value');\n },\n type: 'text'\n });\n\n /*\n Numeric parser that uses the data-sort-value attribute for sorting if it is set and data-sort-type is set\n to 'numeric'.\n */\n $.tablesorter.addParser({\n id: 'numericSortAttributeParser',\n is: function (nodeValue, table, node) {\n return node.getAttribute('data-sort-type') === 'numeric' && node.hasAttribute('data-sort-value');\n },\n format: function (nodeValue, table, node, offset) {\n return node.getAttribute('data-sort-value');\n },\n type: 'numeric'\n });\n\n $('.aui-table-sortable').each(function () {\n sortTable($(this));\n });\n },\n\n setTableSortable: function ($table) {\n sortTable($table);\n }\n};\n\n$(tablessortable.setup);\n\nglobalize('tablessortable', tablessortable);\n\nexport default tablessortable;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/tabs.js"],"names":["logger","template","window","skateTemplateHtml","REGEX","STORAGE_PREFIX","RESPONSIVE_OPT_IN_SELECTOR","enhanceTabLink","link","$thisLink","targetPane","attr","parent","hasClass","ResponsiveAdapter","totalTabsWidth","$visibleTabs","$dropdown","totalVisibleTabsWidth","totalVisibleTabWidth","totalDropdownTabsWidth","find","each","index","tab","parseInt","getAttribute","$tabs","totalWidth","outerWidth","removeResponsiveDropdown","$dropdownTriggerTab","remove","createResponsiveDropdownTrigger","$tabsMenu","id","triggerMarkup","append","$trigger","createResponsiveDropdown","$tabsContainer","dropdownMarkup","findNewVisibleTabs","tabs","parentWidth","dropdownTriggerTabWidth","hasMoreSpace","currentTotalTabWidth","i","length","$tab","tabWidth","slice","moveVisibleTabs","oldVisibleTabs","$tabsParent","dropdownId","newVisibleTabs","lastTabIndex","j","moveTabToResponsiveDropdown","$tabLink","addClass","prepend","moveInvisibleTabs","tabsInDropdown","remainingSpace","tabInDropdownWidth","shouldMoveTabOut","moveTabOutOfDropdown","isTabInDropdownActive","removeClass","children","before","calculateResponsiveTabs","tabsContainer","first","$dropdownTrigger","document","isResponsive","needsResponsive","$newVisibleTabs","toArray","visibleTabWidth","hasSpace","$tabsInDropdown","on","handleTabClick","is","hide","show","switchToTab","undefined","$pane","match","siblings","parents","removeAttr","closest","trigger","pane","isPersistentTabGroup","$tabGroup","createPersistentKey","tabGroupId","value","updateTabsFromLocalStorage","$tabGroups","ii","eq","get","localStorage","persistentTabId","getItem","anchor","querySelector","warn","updateLocalStorageEntry","tabId","setItem","e","change","target","preventDefault","responsiveResizeHandler","forEach","getTabs","getResponsiveTabs","initWindow","debounced","responsive","resize","initTab","setAttribute","data","$tabMenu","initPanes","initTabs","initPane","call","querySelectorAll","initVerticalTabs","thisTab","text","setup","a","collection","HTMLElement","$a","findComponent","element","findPanes","findTabs","created","init","prototype","select","Tab","extends","attached","$component","$element","firstChild","wrap","textContent"],"mappings":"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","file":"tabs.js","sourcesContent":["'use strict';\n\nimport 'skatejs-template-html';\nimport * as logger from './internal/log';\nimport debounce from './debounce';\nimport $ from './jquery';\nimport addId from './internal/add-id';\nimport globalize from './internal/globalize';\nimport isClipped from './is-clipped';\nimport skate from './internal/skate';\n\nvar template = window.skateTemplateHtml;\n\nvar REGEX = /#.*/;\nvar STORAGE_PREFIX = '_internal-aui-tabs-';\nvar RESPONSIVE_OPT_IN_SELECTOR = '.aui-tabs.horizontal-tabs[data-aui-responsive]:not([data-aui-responsive=\"false\"]), aui-tabs[responsive]:not([responsive=\"false\"])';\n\nfunction enhanceTabLink (link) {\n var $thisLink = $(link);\n var targetPane = $thisLink.attr('href');\n\n addId($thisLink);\n $thisLink.attr('role', 'tab');\n $(targetPane).attr('aria-labelledby', $thisLink.attr('id'));\n\n if ($thisLink.parent().hasClass('active-tab')) {\n $thisLink.attr('aria-selected', 'true');\n } else {\n $thisLink.attr('aria-selected', 'false');\n }\n}\n\nvar ResponsiveAdapter = {\n totalTabsWidth: function ($visibleTabs, $dropdown) {\n var totalVisibleTabsWidth = this.totalVisibleTabWidth($visibleTabs);\n var totalDropdownTabsWidth = 0;\n\n $dropdown.find('li').each(function (index, tab) {\n totalDropdownTabsWidth += parseInt(tab.getAttribute('data-aui-tab-width'));\n });\n\n return totalVisibleTabsWidth + totalDropdownTabsWidth;\n },\n\n totalVisibleTabWidth: function ($tabs) {\n var totalWidth = 0;\n\n $tabs.each(function (index, tab) {\n totalWidth += $(tab).outerWidth();\n });\n\n return totalWidth;\n },\n\n removeResponsiveDropdown: function ($dropdown, $dropdownTriggerTab) {\n $dropdown.remove();\n $dropdownTriggerTab.remove();\n },\n\n createResponsiveDropdownTrigger: function ($tabsMenu, id) {\n var triggerMarkup = '<li class=\"menu-item aui-tabs-responsive-trigger-item\">' +\n '<a class=\"aui-dropdown2-trigger aui-tabs-responsive-trigger aui-dropdown2-trigger-arrowless\" id=\"aui-tabs-responsive-trigger-' + id + '\" aria-haspopup=\"true\" aria-controls=\"aui-tabs-responsive-dropdown-' + id + '\" href=\"aui-tabs-responsive-dropdown-' + id + '\">...</a>' +\n '</li>';\n $tabsMenu.append(triggerMarkup);\n var $trigger = $tabsMenu.find('.aui-tabs-responsive-trigger-item');\n return $trigger;\n },\n\n createResponsiveDropdown: function ($tabsContainer, id) {\n var dropdownMarkup = '<div class=\"aui-dropdown2 aui-style-default aui-tabs-responsive-dropdown\" id=\"aui-tabs-responsive-dropdown-' + id + '\">' +\n '<ul>' +\n '</ul>' +\n '</div>';\n $tabsContainer.append(dropdownMarkup);\n var $dropdown = $tabsContainer.find('#aui-tabs-responsive-dropdown-' + id);\n return $dropdown;\n },\n\n findNewVisibleTabs: function (tabs, parentWidth, dropdownTriggerTabWidth) {\n function hasMoreSpace(currentTotalTabWidth, dropdownTriggerTabWidth, parentWidth) {\n return currentTotalTabWidth + dropdownTriggerTabWidth <= parentWidth;\n }\n\n var currentTotalTabWidth = 0;\n\n for (var i = 0; hasMoreSpace(currentTotalTabWidth, dropdownTriggerTabWidth, parentWidth) && i < tabs.length; i++) {\n var $tab = $(tabs[i]);\n var tabWidth = $tab.outerWidth(true);\n currentTotalTabWidth += tabWidth;\n }\n\n // i should now be at the tab index after the last visible tab because of the loop so we minus 1 to get the new visible tabs\n return tabs.slice(0, i - 1);\n },\n\n moveVisibleTabs: function (oldVisibleTabs, $tabsParent, $dropdownTriggerTab) {\n var dropdownId = $dropdownTriggerTab.find('a').attr('aria-controls');\n var $dropdown = $('#' + dropdownId);\n var newVisibleTabs = this.findNewVisibleTabs(oldVisibleTabs, $tabsParent.outerWidth(), $dropdownTriggerTab.parent().outerWidth(true));\n var lastTabIndex = newVisibleTabs.length - 1;\n\n for (var j = oldVisibleTabs.length - 1; j >= lastTabIndex; j--) {\n var $tab = $(oldVisibleTabs[j]);\n this.moveTabToResponsiveDropdown($tab, $dropdown, $dropdownTriggerTab);\n }\n\n return $(newVisibleTabs);\n },\n\n moveTabToResponsiveDropdown: function ($tab, $dropdown, $dropdownTriggerTab) {\n var $tabLink = $tab.find('a');\n\n $tab.attr('data-aui-tab-width', $tab.outerWidth(true));\n $tabLink.addClass('aui-dropdown2-radio aui-tabs-responsive-item');\n\n if ($tab.hasClass('active-tab')) {\n $tabLink.addClass('aui-dropdown2-checked');\n $dropdownTriggerTab.addClass('active-tab');\n }\n\n $dropdown.find('ul').prepend($tab);\n },\n\n moveInvisibleTabs: function (tabsInDropdown, remainingSpace, $dropdownTriggerTab) {\n function hasMoreSpace(remainingSpace) {\n return remainingSpace > 0;\n }\n\n for (var i = 0; hasMoreSpace(remainingSpace) && i < tabsInDropdown.length; i++) {\n var $tab = $(tabsInDropdown[i]);\n var tabInDropdownWidth = parseInt($tab.attr('data-aui-tab-width'), 10);\n var shouldMoveTabOut = tabInDropdownWidth < remainingSpace;\n\n if (shouldMoveTabOut) {\n this.moveTabOutOfDropdown($tab, $dropdownTriggerTab);\n }\n\n remainingSpace -= tabInDropdownWidth;\n }\n },\n\n moveTabOutOfDropdown: function ($tab, $dropdownTriggerTab) {\n var isTabInDropdownActive = $tab.find('a').hasClass('aui-dropdown2-checked');\n\n if (isTabInDropdownActive){\n $tab.addClass('active-tab');\n $dropdownTriggerTab.removeClass('active-tab');\n }\n\n $tab.children('a').removeClass('aui-dropdown2-radio aui-tabs-responsive-item aui-dropdown2-checked');\n $dropdownTriggerTab.before($tab);\n }\n};\n\n// this function is run by jquery .each() where 'this' is the current tabs container\nfunction calculateResponsiveTabs(tabsContainer, index) {\n var $tabsContainer = $(tabsContainer);\n var $tabsMenu = $tabsContainer.find('.tabs-menu').first();\n var $visibleTabs = $tabsMenu.find('li:not(.aui-tabs-responsive-trigger-item)');\n var $dropdownTriggerTab = $tabsMenu.find('.aui-tabs-responsive-trigger').parent();\n var $dropdownTrigger = $dropdownTriggerTab.find('a');\n var dropdownId = $dropdownTrigger.attr('aria-controls');\n var $dropdown = $(document).find('#' + dropdownId).attr('aria-checked', false);\n var isResponsive = $dropdown.length > 0;\n var totalTabsWidth = ResponsiveAdapter.totalTabsWidth($visibleTabs, $dropdown);\n var needsResponsive = totalTabsWidth > $tabsContainer.outerWidth();\n\n if (!isResponsive && needsResponsive) {\n $dropdownTriggerTab = ResponsiveAdapter.createResponsiveDropdownTrigger($tabsMenu, index);\n $dropdown = ResponsiveAdapter.createResponsiveDropdown($tabsContainer, index);\n }\n\n // reset id's in case tabs have changed DOM order\n $dropdownTrigger.attr('aria-controls', 'aui-tabs-responsive-dropdown-' + index);\n $dropdownTrigger.attr('id', 'aui-tabs-responsive-trigger-' + index);\n $dropdownTrigger.attr('href', 'aui-tabs-responsive-trigger-' + index);\n $dropdown.attr('id', 'aui-tabs-responsive-dropdown-' + index);\n\n if (needsResponsive) {\n var $newVisibleTabs = ResponsiveAdapter.moveVisibleTabs($visibleTabs.toArray(), $tabsContainer, $dropdownTriggerTab);\n var visibleTabWidth = ResponsiveAdapter.totalVisibleTabWidth($newVisibleTabs);\n var remainingSpace = $tabsContainer.outerWidth() - visibleTabWidth - $dropdownTriggerTab.outerWidth(true);\n var hasSpace = remainingSpace > 0;\n\n if (hasSpace) {\n var $tabsInDropdown = $dropdown.find('li');\n ResponsiveAdapter.moveInvisibleTabs($tabsInDropdown.toArray(), remainingSpace, $dropdownTriggerTab);\n }\n\n $dropdown.on('click', 'a', handleTabClick);\n\n /* Workaround for bug in Edge where the dom is just not being re-rendered properly\n It is only triggered for certain widths. Simply taking the element out of the DOM\n and placing it back in causes the browser to re-render, hiding the issue.\n added from AUI-4098 and to be revisited in AUI-4117*/\n if ($tabsMenu.is(':visible')) {\n $tabsMenu.hide().show();\n }\n }\n\n if (isResponsive && !needsResponsive) {\n $dropdown.find('li').each(function () {\n ResponsiveAdapter.moveTabOutOfDropdown($(this), $dropdownTriggerTab);\n });\n ResponsiveAdapter.removeResponsiveDropdown($dropdown, $dropdownTriggerTab);\n }\n}\n\nfunction switchToTab (tab) {\n var $tab = $(tab);\n\n // This probably isn't needed anymore. Remove once confirmed.\n if ($tab.hasClass('aui-tabs-responsive-trigger')) {\n return;\n }\n\n if ($tab.attr('href') === undefined) {\n return;\n }\n\n var $pane = $($tab.attr('href').match(REGEX)[0]);\n\n $pane\n .addClass('active-pane')\n .attr('aria-hidden', 'false')\n .siblings('.tabs-pane')\n .removeClass('active-pane')\n .attr('aria-hidden', 'true');\n\n var $dropdownTriggerTab = $tab.parents('.aui-tabs').find('.aui-tabs-responsive-trigger-item a');\n var dropdownId = $dropdownTriggerTab.attr('aria-controls');\n var $dropdown = $(document).find('#' + dropdownId);\n\n $dropdown.find('li a').attr('aria-checked', false).removeClass('checked aui-dropdown2-checked');\n $dropdown.find('li').removeClass('active-tab');\n\n $tab\n .parent('li.menu-item')\n .addClass('active-tab')\n .siblings('.menu-item')\n .removeClass('active-tab');\n\n if ($tab.hasClass('aui-tabs-responsive-item')) {\n var $visibleTabs = $pane.parent('.aui-tabs').find('li.menu-item:not(.aui-tabs-responsive-trigger-item)');\n\n $visibleTabs.removeClass('active-tab');\n $visibleTabs.find('a').removeClass('checked').removeAttr('aria-checked');\n }\n\n if ($tab.hasClass('aui-tabs-responsive-item')) {\n $pane.parent('.aui-tabs').find('li.menu-item.aui-tabs-responsive-trigger-item').addClass('active-tab');\n }\n\n $tab.closest('.tabs-menu').find('a').attr('aria-selected', 'false');\n $tab.attr('aria-selected', 'true');\n $tab.trigger('tabSelect', {\n tab: $tab,\n pane: $pane\n });\n}\n\nfunction isPersistentTabGroup($tabGroup) {\n // Tab group persistent attribute exists and is not false\n return $tabGroup.attr('data-aui-persist') !== undefined && $tabGroup.attr('data-aui-persist') !== 'false';\n}\n\nfunction createPersistentKey($tabGroup) {\n var tabGroupId = $tabGroup.attr('id');\n var value = $tabGroup.attr('data-aui-persist');\n\n return STORAGE_PREFIX + (tabGroupId ? tabGroupId : '') + (value && value !== 'true' ? '-' + value : '');\n}\n\n/* eslint max-depth: 1 */\nfunction updateTabsFromLocalStorage($tabGroups) {\n for (var i = 0, ii = $tabGroups.length; i < ii; i++) {\n var $tabGroup = $tabGroups.eq(i);\n var tabs = $tabGroups.get(i);\n\n if (isPersistentTabGroup($tabGroup) && window.localStorage) {\n var tabGroupId = $tabGroup.attr('id');\n\n if (tabGroupId) {\n var persistentTabId = window.localStorage.getItem(createPersistentKey($tabGroup));\n\n if (persistentTabId) {\n var anchor = tabs.querySelector('a[href$=\"' + persistentTabId + '\"]');\n\n if (anchor) {\n switchToTab(anchor);\n }\n }\n } else {\n logger.warn('A tab group must specify an id attribute if it specifies data-aui-persist.');\n }\n }\n }\n}\n\nfunction updateLocalStorageEntry ($tab) {\n var $tabGroup = $tab.closest('.aui-tabs');\n var tabGroupId = $tabGroup.attr('id');\n\n if (tabGroupId){\n var tabId = $tab.attr('href');\n\n if (tabId) {\n window.localStorage.setItem(createPersistentKey($tabGroup),tabId);\n }\n } else {\n logger.warn('A tab group must specify an id attribute if it specifies data-aui-persist.');\n }\n}\n\nfunction handleTabClick (e) {\n tabs.change($(e.target).closest('a'));\n\n if (e) {\n e.preventDefault();\n }\n}\n\nfunction responsiveResizeHandler (tabs) {\n tabs.forEach(function (tab, index) {\n calculateResponsiveTabs(tab, index);\n });\n}\n\n\n// Initialisation\n// --------------\n\nfunction getTabs () {\n return $('.aui-tabs:not(.aui-tabs-disabled)');\n}\n\nfunction getResponsiveTabs () {\n return $(RESPONSIVE_OPT_IN_SELECTOR).toArray();\n}\n\nfunction initWindow () {\n var debounced = debounce(responsiveResizeHandler, 200);\n var responsive = getResponsiveTabs();\n\n responsiveResizeHandler(responsive);\n\n $(window).resize(function () {\n debounced(responsive);\n });\n}\n\nfunction initTab (tab) {\n var $tab = $(tab);\n\n tab.setAttribute('role', 'application');\n\n if (!$tab.data('aui-tab-events-bound')) {\n var $tabMenu = $tab.children('ul.tabs-menu');\n\n // ARIA setup\n $tabMenu.attr('role', 'tablist');\n\n // ignore the LIs so tab count is announced correctly\n $tabMenu.children('li').attr('role', 'presentation');\n $tabMenu.find('> .menu-item a').each(function () {\n enhanceTabLink(this);\n });\n\n // Set up click event for tabs\n $tabMenu.on('click', 'a', handleTabClick);\n $tab.data('aui-tab-events-bound', true);\n\n initPanes(tab);\n }\n}\n\nfunction initTabs () {\n var tabs = getTabs();\n\n tabs.each(function () {\n initTab(this);\n });\n\n updateTabsFromLocalStorage(tabs);\n}\n\nfunction initPane (pane) {\n pane.setAttribute('role', 'tabpanel');\n pane.setAttribute('aria-hidden', $(pane).hasClass('active-pane') ? 'false' : 'true');\n}\n\nfunction initPanes (tab) {\n [].slice.call(tab.querySelectorAll('.tabs-pane')).forEach(initPane);\n}\n\nfunction initVerticalTabs () {\n // Vertical tab truncation setup (adds title if clipped)\n $('.aui-tabs.vertical-tabs').find('a').each(function () {\n var thisTab = $(this);\n\n // don't override existing titles\n if (!thisTab.attr('title')) {\n // if text has been truncated, add title\n if (isClipped(thisTab)) {\n thisTab.attr('title', thisTab.text());\n }\n }\n });\n}\n\nvar tabs = {\n setup: function () {\n initWindow();\n initTabs();\n initVerticalTabs();\n },\n\n change: function (a) {\n var collection = a instanceof HTMLElement || a instanceof $ ? a : document.querySelector(a);\n var $a = $(collection).first();\n var $tabGroup = $a.closest('.aui-tabs');\n\n switchToTab($a);\n\n if (isPersistentTabGroup($tabGroup) && window.localStorage) {\n updateLocalStorageEntry($a);\n }\n }\n};\n\n$(tabs.setup);\n\n\n// Web Components\n// --------------\n\nfunction findComponent (element) {\n return $(element).closest('aui-tabs').get(0);\n}\n\nfunction findPanes (tabs) {\n return tabs.querySelectorAll('aui-tabs-pane');\n}\n\nfunction findTabs (tabs) {\n return tabs.querySelectorAll('li[is=aui-tabs-tab]');\n}\n\nskate('aui-tabs', {\n created: function (element) {\n $(element).addClass('aui-tabs horizontal-tabs');\n\n // We must initialise here so that the old code still works since\n // the lifecycle of the sub-components setup the markup so that it\n // can be processed by the old logic.\n skate.init(element);\n\n // Use the old logic to initialise the tabs.\n initTab(element);\n },\n template: template(\n '<ul class=\"tabs-menu\">',\n '<content select=\"li[is=aui-tabs-tab]\"></content>',\n '</ul>',\n '<content select=\"aui-tabs-pane\"></content>'\n ),\n prototype: {\n select: function (element) {\n var index = $(findPanes(this)).index(element);\n\n if (index > -1) {\n tabs.change(findTabs(this)[index].children[0]);\n }\n\n return this;\n }\n }\n});\n\nvar Tab = skate('aui-tabs-tab', {\n extends: 'li',\n created: function (element) {\n $(element).addClass('menu-item');\n },\n template: template(\n '<a href=\"#\">',\n '<strong>',\n '<content></content>',\n '</strong>',\n '</a>'\n )\n});\n\nskate('aui-tabs-pane', {\n attached: function (element) {\n var $component = $(findComponent(element));\n var $element = $(element);\n var index = $component.find('aui-tabs-pane').index($element);\n var tab = new Tab();\n var $tab = $(tab);\n\n $element.addClass('tabs-pane');\n tab.firstChild.setAttribute('href', '#' + element.id);\n template.wrap(tab).textContent = $element.attr('title');\n\n if (index === 0) {\n $element.addClass('active-pane');\n }\n\n if ($element.hasClass('active-pane')) {\n $tab.addClass('active-tab');\n }\n\n $element.siblings('ul').append(tab);\n },\n template: template(\n '<content></content>'\n )\n});\n\nglobalize('tabs', tabs);\n\nexport default tabs;\n"]}
1
+ {"version":3,"sources":["js/aui/tabs.js"],"names":["logger","template","window","skateTemplateHtml","REGEX","STORAGE_PREFIX","RESPONSIVE_OPT_IN_SELECTOR","enhanceTabLink","link","$thisLink","targetPane","attr","parent","hasClass","ResponsiveAdapter","totalTabsWidth","$visibleTabs","$dropdown","totalVisibleTabsWidth","totalVisibleTabWidth","totalDropdownTabsWidth","find","each","index","tab","parseInt","getAttribute","$tabs","totalWidth","outerWidth","removeResponsiveDropdown","$dropdownTriggerTab","remove","createResponsiveDropdownTrigger","$tabsMenu","id","triggerMarkup","append","$trigger","createResponsiveDropdown","$tabsContainer","dropdownMarkup","findNewVisibleTabs","tabs","parentWidth","dropdownTriggerTabWidth","hasMoreSpace","currentTotalTabWidth","i","length","$tab","tabWidth","slice","moveVisibleTabs","oldVisibleTabs","$tabsParent","dropdownId","newVisibleTabs","lastTabIndex","j","moveTabToResponsiveDropdown","$tabLink","addClass","prepend","moveInvisibleTabs","tabsInDropdown","remainingSpace","tabInDropdownWidth","shouldMoveTabOut","moveTabOutOfDropdown","isTabInDropdownActive","removeClass","children","before","calculateResponsiveTabs","tabsContainer","first","$dropdownTrigger","document","isResponsive","needsResponsive","$newVisibleTabs","toArray","visibleTabWidth","hasSpace","$tabsInDropdown","on","handleTabClick","is","hide","show","switchToTab","undefined","$pane","match","siblings","parents","removeAttr","closest","trigger","pane","isPersistentTabGroup","$tabGroup","createPersistentKey","tabGroupId","value","updateTabsFromLocalStorage","$tabGroups","ii","eq","get","localStorage","persistentTabId","getItem","anchor","querySelector","warn","updateLocalStorageEntry","tabId","setItem","e","change","target","preventDefault","responsiveResizeHandler","forEach","getTabs","getResponsiveTabs","initWindow","debounced","responsive","resize","initTab","setAttribute","data","$tabMenu","initPanes","initTabs","initPane","call","querySelectorAll","initVerticalTabs","thisTab","text","setup","a","collection","HTMLElement","$","$a","findComponent","element","findPanes","findTabs","created","skate","init","prototype","select","Tab","extends","attached","$component","$element","firstChild","wrap","textContent"],"mappings":"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","file":"tabs.js","sourcesContent":["'use strict';\n\nimport 'skatejs-template-html';\nimport * as logger from './internal/log';\nimport debounce from './debounce';\nimport $ from './jquery';\nimport addId from './internal/add-id';\nimport globalize from './internal/globalize';\nimport isClipped from './is-clipped';\nimport skate from './internal/skate';\n\nvar template = window.skateTemplateHtml;\n\nvar REGEX = /#.*/;\nvar STORAGE_PREFIX = '_internal-aui-tabs-';\nvar RESPONSIVE_OPT_IN_SELECTOR = '.aui-tabs.horizontal-tabs[data-aui-responsive]:not([data-aui-responsive=\"false\"]), aui-tabs[responsive]:not([responsive=\"false\"])';\n\nfunction enhanceTabLink (link) {\n var $thisLink = $(link);\n var targetPane = $thisLink.attr('href');\n\n addId($thisLink);\n $thisLink.attr('role', 'tab');\n $(targetPane).attr('aria-labelledby', $thisLink.attr('id'));\n\n if ($thisLink.parent().hasClass('active-tab')) {\n $thisLink.attr('aria-selected', 'true');\n } else {\n $thisLink.attr('aria-selected', 'false');\n }\n}\n\nvar ResponsiveAdapter = {\n totalTabsWidth: function ($visibleTabs, $dropdown) {\n var totalVisibleTabsWidth = this.totalVisibleTabWidth($visibleTabs);\n var totalDropdownTabsWidth = 0;\n\n $dropdown.find('li').each(function (index, tab) {\n totalDropdownTabsWidth += parseInt(tab.getAttribute('data-aui-tab-width'));\n });\n\n return totalVisibleTabsWidth + totalDropdownTabsWidth;\n },\n\n totalVisibleTabWidth: function ($tabs) {\n var totalWidth = 0;\n\n $tabs.each(function (index, tab) {\n totalWidth += $(tab).outerWidth();\n });\n\n return totalWidth;\n },\n\n removeResponsiveDropdown: function ($dropdown, $dropdownTriggerTab) {\n $dropdown.remove();\n $dropdownTriggerTab.remove();\n },\n\n createResponsiveDropdownTrigger: function ($tabsMenu, id) {\n var triggerMarkup = '<li class=\"menu-item aui-tabs-responsive-trigger-item\">' +\n '<a class=\"aui-dropdown2-trigger aui-tabs-responsive-trigger aui-dropdown2-trigger-arrowless\" id=\"aui-tabs-responsive-trigger-' + id + '\" aria-haspopup=\"true\" aria-controls=\"aui-tabs-responsive-dropdown-' + id + '\" href=\"aui-tabs-responsive-dropdown-' + id + '\">...</a>' +\n '</li>';\n $tabsMenu.append(triggerMarkup);\n var $trigger = $tabsMenu.find('.aui-tabs-responsive-trigger-item');\n return $trigger;\n },\n\n createResponsiveDropdown: function ($tabsContainer, id) {\n var dropdownMarkup = '<div class=\"aui-dropdown2 aui-style-default aui-tabs-responsive-dropdown\" id=\"aui-tabs-responsive-dropdown-' + id + '\">' +\n '<ul>' +\n '</ul>' +\n '</div>';\n $tabsContainer.append(dropdownMarkup);\n var $dropdown = $tabsContainer.find('#aui-tabs-responsive-dropdown-' + id);\n return $dropdown;\n },\n\n findNewVisibleTabs: function (tabs, parentWidth, dropdownTriggerTabWidth) {\n function hasMoreSpace(currentTotalTabWidth, dropdownTriggerTabWidth, parentWidth) {\n return currentTotalTabWidth + dropdownTriggerTabWidth <= parentWidth;\n }\n\n var currentTotalTabWidth = 0;\n\n for (var i = 0; hasMoreSpace(currentTotalTabWidth, dropdownTriggerTabWidth, parentWidth) && i < tabs.length; i++) {\n var $tab = $(tabs[i]);\n var tabWidth = $tab.outerWidth(true);\n currentTotalTabWidth += tabWidth;\n }\n\n // i should now be at the tab index after the last visible tab because of the loop so we minus 1 to get the new visible tabs\n return tabs.slice(0, i - 1);\n },\n\n moveVisibleTabs: function (oldVisibleTabs, $tabsParent, $dropdownTriggerTab) {\n var dropdownId = $dropdownTriggerTab.find('a').attr('aria-controls');\n var $dropdown = $('#' + dropdownId);\n var newVisibleTabs = this.findNewVisibleTabs(oldVisibleTabs, $tabsParent.outerWidth(), $dropdownTriggerTab.parent().outerWidth(true));\n var lastTabIndex = newVisibleTabs.length - 1;\n\n for (var j = oldVisibleTabs.length - 1; j >= lastTabIndex; j--) {\n var $tab = $(oldVisibleTabs[j]);\n this.moveTabToResponsiveDropdown($tab, $dropdown, $dropdownTriggerTab);\n }\n\n return $(newVisibleTabs);\n },\n\n moveTabToResponsiveDropdown: function ($tab, $dropdown, $dropdownTriggerTab) {\n var $tabLink = $tab.find('a');\n\n $tab.attr('data-aui-tab-width', $tab.outerWidth(true));\n $tabLink.addClass('aui-dropdown2-radio aui-tabs-responsive-item');\n\n if ($tab.hasClass('active-tab')) {\n $tabLink.addClass('aui-dropdown2-checked');\n $dropdownTriggerTab.addClass('active-tab');\n }\n\n $dropdown.find('ul').prepend($tab);\n },\n\n moveInvisibleTabs: function (tabsInDropdown, remainingSpace, $dropdownTriggerTab) {\n function hasMoreSpace(remainingSpace) {\n return remainingSpace > 0;\n }\n\n for (var i = 0; hasMoreSpace(remainingSpace) && i < tabsInDropdown.length; i++) {\n var $tab = $(tabsInDropdown[i]);\n var tabInDropdownWidth = parseInt($tab.attr('data-aui-tab-width'), 10);\n var shouldMoveTabOut = tabInDropdownWidth < remainingSpace;\n\n if (shouldMoveTabOut) {\n this.moveTabOutOfDropdown($tab, $dropdownTriggerTab);\n }\n\n remainingSpace -= tabInDropdownWidth;\n }\n },\n\n moveTabOutOfDropdown: function ($tab, $dropdownTriggerTab) {\n var isTabInDropdownActive = $tab.find('a').hasClass('aui-dropdown2-checked');\n\n if (isTabInDropdownActive){\n $tab.addClass('active-tab');\n $dropdownTriggerTab.removeClass('active-tab');\n }\n\n $tab.children('a').removeClass('aui-dropdown2-radio aui-tabs-responsive-item aui-dropdown2-checked');\n $dropdownTriggerTab.before($tab);\n }\n};\n\n// this function is run by jquery .each() where 'this' is the current tabs container\nfunction calculateResponsiveTabs(tabsContainer, index) {\n var $tabsContainer = $(tabsContainer);\n var $tabsMenu = $tabsContainer.find('.tabs-menu').first();\n var $visibleTabs = $tabsMenu.find('li:not(.aui-tabs-responsive-trigger-item)');\n var $dropdownTriggerTab = $tabsMenu.find('.aui-tabs-responsive-trigger').parent();\n var $dropdownTrigger = $dropdownTriggerTab.find('a');\n var dropdownId = $dropdownTrigger.attr('aria-controls');\n var $dropdown = $(document).find('#' + dropdownId).attr('aria-checked', false);\n var isResponsive = $dropdown.length > 0;\n var totalTabsWidth = ResponsiveAdapter.totalTabsWidth($visibleTabs, $dropdown);\n var needsResponsive = totalTabsWidth > $tabsContainer.outerWidth();\n\n if (!isResponsive && needsResponsive) {\n $dropdownTriggerTab = ResponsiveAdapter.createResponsiveDropdownTrigger($tabsMenu, index);\n $dropdown = ResponsiveAdapter.createResponsiveDropdown($tabsContainer, index);\n }\n\n // reset id's in case tabs have changed DOM order\n $dropdownTrigger.attr('aria-controls', 'aui-tabs-responsive-dropdown-' + index);\n $dropdownTrigger.attr('id', 'aui-tabs-responsive-trigger-' + index);\n $dropdownTrigger.attr('href', 'aui-tabs-responsive-trigger-' + index);\n $dropdown.attr('id', 'aui-tabs-responsive-dropdown-' + index);\n\n if (needsResponsive) {\n var $newVisibleTabs = ResponsiveAdapter.moveVisibleTabs($visibleTabs.toArray(), $tabsContainer, $dropdownTriggerTab);\n var visibleTabWidth = ResponsiveAdapter.totalVisibleTabWidth($newVisibleTabs);\n var remainingSpace = $tabsContainer.outerWidth() - visibleTabWidth - $dropdownTriggerTab.outerWidth(true);\n var hasSpace = remainingSpace > 0;\n\n if (hasSpace) {\n var $tabsInDropdown = $dropdown.find('li');\n ResponsiveAdapter.moveInvisibleTabs($tabsInDropdown.toArray(), remainingSpace, $dropdownTriggerTab);\n }\n\n $dropdown.on('click', 'a', handleTabClick);\n\n /* Workaround for bug in Edge where the dom is just not being re-rendered properly\n It is only triggered for certain widths. Simply taking the element out of the DOM\n and placing it back in causes the browser to re-render, hiding the issue.\n added from AUI-4098 and to be revisited in AUI-4117*/\n if ($tabsMenu.is(':visible')) {\n $tabsMenu.hide().show();\n }\n }\n\n if (isResponsive && !needsResponsive) {\n $dropdown.find('li').each(function () {\n ResponsiveAdapter.moveTabOutOfDropdown($(this), $dropdownTriggerTab);\n });\n ResponsiveAdapter.removeResponsiveDropdown($dropdown, $dropdownTriggerTab);\n }\n}\n\nfunction switchToTab (tab) {\n var $tab = $(tab);\n\n // This probably isn't needed anymore. Remove once confirmed.\n if ($tab.hasClass('aui-tabs-responsive-trigger')) {\n return;\n }\n\n if ($tab.attr('href') === undefined) {\n return;\n }\n\n var $pane = $($tab.attr('href').match(REGEX)[0]);\n\n $pane\n .addClass('active-pane')\n .attr('aria-hidden', 'false')\n .siblings('.tabs-pane')\n .removeClass('active-pane')\n .attr('aria-hidden', 'true');\n\n var $dropdownTriggerTab = $tab.parents('.aui-tabs').find('.aui-tabs-responsive-trigger-item a');\n var dropdownId = $dropdownTriggerTab.attr('aria-controls');\n var $dropdown = $(document).find('#' + dropdownId);\n\n $dropdown.find('li a').attr('aria-checked', false).removeClass('checked aui-dropdown2-checked');\n $dropdown.find('li').removeClass('active-tab');\n\n $tab\n .parent('li.menu-item')\n .addClass('active-tab')\n .siblings('.menu-item')\n .removeClass('active-tab');\n\n if ($tab.hasClass('aui-tabs-responsive-item')) {\n var $visibleTabs = $pane.parent('.aui-tabs').find('li.menu-item:not(.aui-tabs-responsive-trigger-item)');\n\n $visibleTabs.removeClass('active-tab');\n $visibleTabs.find('a').removeClass('checked').removeAttr('aria-checked');\n }\n\n if ($tab.hasClass('aui-tabs-responsive-item')) {\n $pane.parent('.aui-tabs').find('li.menu-item.aui-tabs-responsive-trigger-item').addClass('active-tab');\n }\n\n $tab.closest('.tabs-menu').find('a').attr('aria-selected', 'false');\n $tab.attr('aria-selected', 'true');\n $tab.trigger('tabSelect', {\n tab: $tab,\n pane: $pane\n });\n}\n\nfunction isPersistentTabGroup($tabGroup) {\n // Tab group persistent attribute exists and is not false\n return $tabGroup.attr('data-aui-persist') !== undefined && $tabGroup.attr('data-aui-persist') !== 'false';\n}\n\nfunction createPersistentKey($tabGroup) {\n var tabGroupId = $tabGroup.attr('id');\n var value = $tabGroup.attr('data-aui-persist');\n\n return STORAGE_PREFIX + (tabGroupId ? tabGroupId : '') + (value && value !== 'true' ? '-' + value : '');\n}\n\n/* eslint max-depth: 1 */\nfunction updateTabsFromLocalStorage($tabGroups) {\n for (var i = 0, ii = $tabGroups.length; i < ii; i++) {\n var $tabGroup = $tabGroups.eq(i);\n var tabs = $tabGroups.get(i);\n\n if (isPersistentTabGroup($tabGroup) && window.localStorage) {\n var tabGroupId = $tabGroup.attr('id');\n\n if (tabGroupId) {\n var persistentTabId = window.localStorage.getItem(createPersistentKey($tabGroup));\n\n if (persistentTabId) {\n var anchor = tabs.querySelector('a[href$=\"' + persistentTabId + '\"]');\n\n if (anchor) {\n switchToTab(anchor);\n }\n }\n } else {\n logger.warn('A tab group must specify an id attribute if it specifies data-aui-persist.');\n }\n }\n }\n}\n\nfunction updateLocalStorageEntry ($tab) {\n var $tabGroup = $tab.closest('.aui-tabs');\n var tabGroupId = $tabGroup.attr('id');\n\n if (tabGroupId){\n var tabId = $tab.attr('href');\n\n if (tabId) {\n window.localStorage.setItem(createPersistentKey($tabGroup),tabId);\n }\n } else {\n logger.warn('A tab group must specify an id attribute if it specifies data-aui-persist.');\n }\n}\n\nfunction handleTabClick (e) {\n tabs.change($(e.target).closest('a'));\n\n if (e) {\n e.preventDefault();\n }\n}\n\nfunction responsiveResizeHandler (tabs) {\n tabs.forEach(function (tab, index) {\n calculateResponsiveTabs(tab, index);\n });\n}\n\n\n// Initialisation\n// --------------\n\nfunction getTabs () {\n return $('.aui-tabs:not(.aui-tabs-disabled)');\n}\n\nfunction getResponsiveTabs () {\n return $(RESPONSIVE_OPT_IN_SELECTOR).toArray();\n}\n\nfunction initWindow () {\n var debounced = debounce(responsiveResizeHandler, 200);\n var responsive = getResponsiveTabs();\n\n responsiveResizeHandler(responsive);\n\n $(window).resize(function () {\n debounced(responsive);\n });\n}\n\nfunction initTab (tab) {\n var $tab = $(tab);\n\n tab.setAttribute('role', 'application');\n\n if (!$tab.data('aui-tab-events-bound')) {\n var $tabMenu = $tab.children('ul.tabs-menu');\n\n // ARIA setup\n $tabMenu.attr('role', 'tablist');\n\n // ignore the LIs so tab count is announced correctly\n $tabMenu.children('li').attr('role', 'presentation');\n $tabMenu.find('> .menu-item a').each(function () {\n enhanceTabLink(this);\n });\n\n // Set up click event for tabs\n $tabMenu.on('click', 'a', handleTabClick);\n $tab.data('aui-tab-events-bound', true);\n\n initPanes(tab);\n }\n}\n\nfunction initTabs () {\n var tabs = getTabs();\n\n tabs.each(function () {\n initTab(this);\n });\n\n updateTabsFromLocalStorage(tabs);\n}\n\nfunction initPane (pane) {\n pane.setAttribute('role', 'tabpanel');\n pane.setAttribute('aria-hidden', $(pane).hasClass('active-pane') ? 'false' : 'true');\n}\n\nfunction initPanes (tab) {\n [].slice.call(tab.querySelectorAll('.tabs-pane')).forEach(initPane);\n}\n\nfunction initVerticalTabs () {\n // Vertical tab truncation setup (adds title if clipped)\n $('.aui-tabs.vertical-tabs').find('a').each(function () {\n var thisTab = $(this);\n\n // don't override existing titles\n if (!thisTab.attr('title')) {\n // if text has been truncated, add title\n if (isClipped(thisTab)) {\n thisTab.attr('title', thisTab.text());\n }\n }\n });\n}\n\nvar tabs = {\n setup: function () {\n initWindow();\n initTabs();\n initVerticalTabs();\n },\n\n change: function (a) {\n var collection = a instanceof HTMLElement || a instanceof $ ? a : document.querySelector(a);\n var $a = $(collection).first();\n var $tabGroup = $a.closest('.aui-tabs');\n\n switchToTab($a);\n\n if (isPersistentTabGroup($tabGroup) && window.localStorage) {\n updateLocalStorageEntry($a);\n }\n }\n};\n\n$(tabs.setup);\n\n\n// Web Components\n// --------------\n\nfunction findComponent (element) {\n return $(element).closest('aui-tabs').get(0);\n}\n\nfunction findPanes (tabs) {\n return tabs.querySelectorAll('aui-tabs-pane');\n}\n\nfunction findTabs (tabs) {\n return tabs.querySelectorAll('li[is=aui-tabs-tab]');\n}\n\nskate('aui-tabs', {\n created: function (element) {\n $(element).addClass('aui-tabs horizontal-tabs');\n\n // We must initialise here so that the old code still works since\n // the lifecycle of the sub-components setup the markup so that it\n // can be processed by the old logic.\n skate.init(element);\n\n // Use the old logic to initialise the tabs.\n initTab(element);\n },\n template: template(\n '<ul class=\"tabs-menu\">',\n '<content select=\"li[is=aui-tabs-tab]\"></content>',\n '</ul>',\n '<content select=\"aui-tabs-pane\"></content>'\n ),\n prototype: {\n select: function (element) {\n var index = $(findPanes(this)).index(element);\n\n if (index > -1) {\n tabs.change(findTabs(this)[index].children[0]);\n }\n\n return this;\n }\n }\n});\n\nvar Tab = skate('aui-tabs-tab', {\n extends: 'li',\n created: function (element) {\n $(element).addClass('menu-item');\n },\n template: template(\n '<a href=\"#\">',\n '<strong>',\n '<content></content>',\n '</strong>',\n '</a>'\n )\n});\n\nskate('aui-tabs-pane', {\n attached: function (element) {\n var $component = $(findComponent(element));\n var $element = $(element);\n var index = $component.find('aui-tabs-pane').index($element);\n var tab = new Tab();\n var $tab = $(tab);\n\n $element.addClass('tabs-pane');\n tab.firstChild.setAttribute('href', '#' + element.id);\n template.wrap(tab).textContent = $element.attr('title');\n\n if (index === 0) {\n $element.addClass('active-pane');\n }\n\n if ($element.hasClass('active-pane')) {\n $tab.addClass('active-tab');\n }\n\n $element.siblings('ul').append(tab);\n },\n template: template(\n '<content></content>'\n )\n});\n\nglobalize('tabs', tabs);\n\nexport default tabs;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/template.js"],"names":["parseHtml","html","el","document","createElement","innerHTML","scripts","querySelectorAll","Array","prototype","forEach","call","script","parentElement","removeChild","template","$","tokenRegex","objNotationRegex","replacer","all","key","obj","isHTML","res","replace","name","quote","quotedName","isFunc","String","T","escape","fillHtml","fill","toString","s","valueOf","cache","count","findScripts","title","filter","getAttribute","load","hasOwnProperty","length","shift","push","text"],"mappings":"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","file":"template.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport escapeHtml from './escape-html';\nimport globalize from './internal/globalize';\n\nfunction parseHtml(html) {\n const el = document.createElement('div');\n el.innerHTML = html;\n // find and remove script elements\n const scripts = el.querySelectorAll('script');\n Array.prototype.forEach.call(scripts, function(script) {\n script.parentElement.removeChild(script);\n });\n return el.innerHTML;\n}\n\n/**\n * Creates an object with methods for template support.\n *\n * See <a href=\"http://confluence.atlassian.com/display/AUI/AJS.template\">CAC Documentation</a>.\n *\n * @constructor\n * @class template\n * @namespace AJS\n */\nvar template = (function ($) {\n var tokenRegex = /\\{([^\\}]+)\\}/g; // matches \"{xxxxx}\"\n var objNotationRegex = /(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g; // matches \".xxxxx\" or \"[\"xxxxx\"]\" to run over object properties\n\n // internal function\n // parses \"{xxxxx}\" and returns actual value from the given object that matches the expression\n var replacer = function (all, key, obj, isHTML) {\n var res = obj;\n key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) {\n name = name || quotedName;\n if (res) {\n if (name + ':html' in res) {\n res = res[name + ':html'];\n isHTML = true;\n } else if (name in res) {\n res = res[name];\n }\n if (isFunc && typeof res === 'function') {\n res = res();\n }\n }\n });\n\n // if not found restore original value\n if (res == null || res === obj) {\n res = all;\n }\n\n res = String(res);\n\n if (!isHTML) {\n res = T.escape(res);\n } else {\n res = T.parseHtml(res);\n }\n\n return res;\n };\n /**\n * Replaces tokens in the template with corresponding values without HTML escaping\n * @method fillHtml\n * @param obj {Object} to populate the template with\n * @return {Object} the template object\n */\n var fillHtml = function (obj) {\n this.template = this.template.replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj, true);\n });\n return this;\n };\n /**\n * Replaces tokens in the template with corresponding values with HTML escaping\n * @method fill\n * @param obj {Object} to populate the template with\n * @return {Object} the template object\n */\n var fill = function (obj) {\n this.template = this.template.replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj);\n });\n return this;\n };\n /**\n * Returns the current templated string.\n * @method toString\n * @return {String} the current template\n */\n var toString = function () {\n return this.template;\n };\n\n // internal function\n var T = function (s) {\n function res() {\n return res.template;\n }\n\n /**\n * The current templated string\n * @property template\n */\n res.template = String(s);\n res.toString = res.valueOf = toString;\n res.fill = fill;\n res.fillHtml = fillHtml;\n return res;\n };\n var cache = {};\n var count = [];\n\n var findScripts = function (title) {\n return $('script').filter(function () {\n return this.getAttribute('title') === title;\n });\n };\n\n // returns template taken form the script tag with given title. Type agnostic, but better put type=\"text/x-template\"\n T.load = function (title) {\n title = String(title);\n if (!cache.hasOwnProperty(title)) {\n if (count.length >= 1e3) {\n delete cache[count.shift()]; // enforce maximum cache size\n }\n count.push(title);\n cache[title] = findScripts(title)[0].text;\n }\n return this(cache[title]);\n };\n\n // escape HTML dangerous characters\n T.escape = escapeHtml;\n\n // parse HTML and perform simplistic filtering for security\n T.parseHtml = parseHtml;\n\n return T;\n}($));\n\nglobalize('template', template);\n\nexport default template;\n"]}
1
+ {"version":3,"sources":["js/aui/template.js"],"names":["parseHtml","html","el","document","createElement","innerHTML","scripts","querySelectorAll","Array","prototype","forEach","call","script","parentElement","removeChild","template","$","tokenRegex","objNotationRegex","replacer","all","key","obj","isHTML","res","replace","name","quote","quotedName","isFunc","String","T","escape","fillHtml","fill","toString","s","valueOf","cache","count","findScripts","title","filter","getAttribute","load","hasOwnProperty","length","shift","push","text","escapeHtml"],"mappings":"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","file":"template.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport escapeHtml from './escape-html';\nimport globalize from './internal/globalize';\n\nfunction parseHtml(html) {\n const el = document.createElement('div');\n el.innerHTML = html;\n // find and remove script elements\n const scripts = el.querySelectorAll('script');\n Array.prototype.forEach.call(scripts, function(script) {\n script.parentElement.removeChild(script);\n });\n return el.innerHTML;\n}\n\n/**\n * Creates an object with methods for template support.\n *\n * See <a href=\"http://confluence.atlassian.com/display/AUI/AJS.template\">CAC Documentation</a>.\n *\n * @constructor\n * @class template\n * @namespace AJS\n */\nvar template = (function ($) {\n var tokenRegex = /\\{([^\\}]+)\\}/g; // matches \"{xxxxx}\"\n var objNotationRegex = /(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g; // matches \".xxxxx\" or \"[\"xxxxx\"]\" to run over object properties\n\n // internal function\n // parses \"{xxxxx}\" and returns actual value from the given object that matches the expression\n var replacer = function (all, key, obj, isHTML) {\n var res = obj;\n key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) {\n name = name || quotedName;\n if (res) {\n if (name + ':html' in res) {\n res = res[name + ':html'];\n isHTML = true;\n } else if (name in res) {\n res = res[name];\n }\n if (isFunc && typeof res === 'function') {\n res = res();\n }\n }\n });\n\n // if not found restore original value\n if (res == null || res === obj) {\n res = all;\n }\n\n res = String(res);\n\n if (!isHTML) {\n res = T.escape(res);\n } else {\n res = T.parseHtml(res);\n }\n\n return res;\n };\n /**\n * Replaces tokens in the template with corresponding values without HTML escaping\n * @method fillHtml\n * @param obj {Object} to populate the template with\n * @return {Object} the template object\n */\n var fillHtml = function (obj) {\n this.template = this.template.replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj, true);\n });\n return this;\n };\n /**\n * Replaces tokens in the template with corresponding values with HTML escaping\n * @method fill\n * @param obj {Object} to populate the template with\n * @return {Object} the template object\n */\n var fill = function (obj) {\n this.template = this.template.replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj);\n });\n return this;\n };\n /**\n * Returns the current templated string.\n * @method toString\n * @return {String} the current template\n */\n var toString = function () {\n return this.template;\n };\n\n // internal function\n var T = function (s) {\n function res() {\n return res.template;\n }\n\n /**\n * The current templated string\n * @property template\n */\n res.template = String(s);\n res.toString = res.valueOf = toString;\n res.fill = fill;\n res.fillHtml = fillHtml;\n return res;\n };\n var cache = {};\n var count = [];\n\n var findScripts = function (title) {\n return $('script').filter(function () {\n return this.getAttribute('title') === title;\n });\n };\n\n // returns template taken form the script tag with given title. Type agnostic, but better put type=\"text/x-template\"\n T.load = function (title) {\n title = String(title);\n if (!cache.hasOwnProperty(title)) {\n if (count.length >= 1e3) {\n delete cache[count.shift()]; // enforce maximum cache size\n }\n count.push(title);\n cache[title] = findScripts(title)[0].text;\n }\n return this(cache[title]);\n };\n\n // escape HTML dangerous characters\n T.escape = escapeHtml;\n\n // parse HTML and perform simplistic filtering for security\n T.parseHtml = parseHtml;\n\n return T;\n}($));\n\nglobalize('template', template);\n\nexport default template;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/toggle.js"],"names":["fireChangeEvent","element","_canFireEventsNow","dispatchEvent","bubbles","getInput","_input","querySelector","getSpinner","_spinner","removedAttributeHandler","attributeName","removeAttribute","fallbackAttributeHandler","change","setAttribute","newValue","getAttributeHandler","removed","bind","fallback","formAttributeHandler","call","_formId","idAttributeHandler","checkedAttributeHandler","checked","labelHandler","clickHandler","e","input","disabled","busy","target","setDisabledForLabels","id","Array","prototype","forEach","document","querySelectorAll","el","bindEventsToInput","addEventListener","keyCode","SPACE","preventDefault","navigator","userAgent","toLowerCase","indexOf","template","created","SMALL","name","tooltip","title","getAttribute","gravity","hoverable","hasAttribute","attached","attributeExists","events","click","attributes","form","value","AJS","I18n","getText","label","focus","getElementById","spinner","indeterminate","classList","add","append","remove","parentNode","removeChild"],"mappings":"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","file":"toggle.js","sourcesContent":["'use strict';\n\nimport './spin';\nimport './tooltip';\nimport { setBooleanAttribute } from './internal/attributes';\nimport $ from './jquery';\nimport enforce from './internal/enforcer';\nimport keyCode from './key-code';\nimport skateTemplateHtml from 'skatejs-template-html';\nimport skate from './internal/skate';\nimport { INPUT_SUFFIX } from './internal/constants';\nimport CustomEvent from './polyfills/custom-event';\nimport SpinnerEl, {SIZE} from './spinner';\n\nfunction fireChangeEvent(element) {\n if (element._canFireEventsNow) {\n element.dispatchEvent(new CustomEvent('change', { bubbles: true }));\n }\n}\n\nfunction getInput (element) {\n return element._input || (element._input = element.querySelector('input'));\n}\n\nfunction getSpinner (element) {\n return element._spinner || (element._spinner = new SpinnerEl());\n}\n\nfunction removedAttributeHandler(attributeName, element) {\n getInput(element).removeAttribute(attributeName);\n}\n\nfunction fallbackAttributeHandler(attributeName, element, change) {\n getInput(element).setAttribute(attributeName, change.newValue);\n}\n\nfunction getAttributeHandler (attributeName) {\n return {\n removed: removedAttributeHandler.bind(this, attributeName),\n fallback: fallbackAttributeHandler.bind(this, attributeName)\n };\n}\n\nconst formAttributeHandler = {\n removed: function (element) {\n removedAttributeHandler.call(this, 'form', element);\n element._formId = null;\n },\n fallback: function (element, change) {\n fallbackAttributeHandler.call(this, 'form', element, change);\n element._formId = change.newValue;\n }\n};\n\nvar idAttributeHandler = {\n removed: removedAttributeHandler.bind(this, 'id'),\n fallback: function (element, change) {\n getInput(element).setAttribute('id', `${change.newValue}${INPUT_SUFFIX}`);\n }\n};\n\nvar checkedAttributeHandler = {\n removed: function (element) {\n getInput(element).checked = false;\n fireChangeEvent(element);\n },\n fallback: function (element) {\n getInput(element).checked = true;\n fireChangeEvent(element);\n }\n};\n\nvar labelHandler = {\n removed: function (element) {\n getInput(element).removeAttribute('aria-label');\n },\n fallback: function (element, change) {\n getInput(element).setAttribute('aria-label', change.newValue);\n }\n};\n\nfunction clickHandler(element, e) {\n var input = getInput(element);\n if (!element.disabled && !element.busy && e.target !== input) {\n input.checked = !input.checked;\n }\n\n setBooleanAttribute(element, 'checked', input.checked);\n}\n\nfunction setDisabledForLabels(element, disabled) {\n if (!element.id) {\n return;\n }\n Array.prototype.forEach.call(document.querySelectorAll(`aui-label[for=\"${element.id}\"]`), function (el) {\n el.disabled = disabled;\n });\n}\n\n/**\n * Workaround to prevent pressing SPACE on busy state.\n * Preventing click event still makes the toggle flip and revert back.\n * So on CSS side, the input has \"pointer-events: none\" on busy state.\n */\nfunction bindEventsToInput(element) {\n getInput(element).addEventListener('keydown', function (e) {\n if (element.busy && e.keyCode === keyCode.SPACE) {\n e.preventDefault();\n }\n });\n // prevent toggle can be trigger through SPACE key on Firefox\n if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {\n getInput(element).addEventListener('click', function (e) {\n if (element.busy) {\n e.preventDefault();\n }\n });\n }\n}\n\nskate('aui-toggle', {\n // \"assistive\" class avoids direct interaction with the <input> element\n // (which prevents our click handler from being called),\n // while allow the element to still participate in the form.\n template: skateTemplateHtml(\n '<input type=\"checkbox\" class=\"aui-toggle-input assistive\">',\n '<span class=\"aui-toggle-view\">',\n '<span class=\"aui-toggle-tick aui-icon aui-icon-small aui-iconfont-success\"></span>',\n '<span class=\"aui-toggle-cross aui-icon aui-icon-small aui-iconfont-close-dialog\"></span>',\n '</span>'\n ),\n created: function (element) {\n getInput(element); // avoid using _input in attribute handlers\n getSpinner(element).setAttribute('size', SIZE.SMALL.name);\n\n $(getInput(element)).tooltip({\n title: function () {\n return this.checked ? this.getAttribute('tooltip-on') : this.getAttribute('tooltip-off');\n },\n gravity: 's',\n hoverable: false\n });\n bindEventsToInput(element);\n if (element.hasAttribute('checked')) {\n getInput(element).setAttribute('checked', '');\n }\n element._canFireEventsNow = true;\n },\n attached: function (element) {\n enforce(element).attributeExists('label');\n },\n events: {\n click: clickHandler\n },\n attributes: {\n id: idAttributeHandler,\n checked: checkedAttributeHandler,\n disabled: getAttributeHandler('disabled'),\n form: formAttributeHandler,\n name: getAttributeHandler('name'),\n value: getAttributeHandler('value'),\n 'tooltip-on': {\n value: AJS.I18n.getText('aui.toggle.on'),\n fallback: function (element, change) {\n getInput(element).setAttribute('tooltip-on', change.newValue || AJS.I18n.getText('aui.toggle.on'));\n }\n },\n 'tooltip-off': {\n value: AJS.I18n.getText('aui.toggle.off'),\n fallback: function (element, change) {\n getInput(element).setAttribute('tooltip-off', change.newValue || AJS.I18n.getText('aui.toggle.off'));\n }\n },\n label: labelHandler\n },\n prototype: {\n focus: function () {\n getInput(this).focus();\n return this;\n },\n get checked () {\n return getInput(this).checked;\n },\n set checked (value) {\n // Need to explicitly set the property on the checkbox because the\n // checkbox's property doesn't change with it's attribute after it\n // is clicked.\n if (getInput(this).checked !== value) {\n getInput(this).checked = value;\n setBooleanAttribute(this, 'checked', value);\n }\n },\n get disabled () {\n // AUI-4958 - this may be accessed by a jQuery event handler in response to\n // a DOMNodeInserted event being fired. In this scenario, the `template`\n // function has been called by skate, but the `created` callback has not.\n return getInput(this).disabled;\n },\n set disabled (value) {\n return setBooleanAttribute(this, 'disabled', value);\n },\n get form () {\n return document.getElementById(this._formId);\n },\n set form (value) {\n formAttributeHandler.fallback.call(this, this, { newValue: value || null });\n return this.form;\n },\n get name () {\n return getInput(this).name;\n },\n set name (value) {\n this.setAttribute('name', value);\n return value;\n },\n get value () {\n return getInput(this).value;\n },\n set value (value) { // Setting the value of an input to null sets it to empty string.\n this.setAttribute('value', value === null ? '' : value);\n return value;\n },\n get busy () {\n return getInput(this).getAttribute('aria-busy') === 'true';\n },\n set busy (value) {\n const input = getInput(this);\n const spinner = getSpinner(this);\n\n setBooleanAttribute(this, 'busy', value);\n\n if (value) {\n input.setAttribute('aria-busy', 'true');\n input.indeterminate = true;\n if (this.checked) {\n input.classList.add('indeterminate-checked');\n $(this.querySelector('.aui-toggle-tick')).append(spinner);\n } else {\n $(this.querySelector('.aui-toggle-cross')).append(spinner);\n }\n } else {\n input.classList.remove('indeterminate-checked');\n input.indeterminate = false;\n input.removeAttribute('aria-busy');\n if (spinner.parentNode) {\n spinner.parentNode.removeChild(this._spinner);\n }\n }\n setDisabledForLabels(this, !!value);\n return value;\n }\n }\n});\n"]}
1
+ {"version":3,"sources":["js/aui/toggle.js"],"names":["fireChangeEvent","element","_canFireEventsNow","dispatchEvent","CustomEvent","bubbles","getInput","_input","querySelector","getSpinner","_spinner","SpinnerEl","removedAttributeHandler","attributeName","removeAttribute","fallbackAttributeHandler","change","setAttribute","newValue","getAttributeHandler","removed","bind","fallback","formAttributeHandler","call","_formId","idAttributeHandler","INPUT_SUFFIX","checkedAttributeHandler","checked","labelHandler","clickHandler","e","input","disabled","busy","target","setDisabledForLabels","id","Array","prototype","forEach","document","querySelectorAll","el","bindEventsToInput","addEventListener","keyCode","SPACE","preventDefault","navigator","userAgent","toLowerCase","indexOf","template","created","SIZE","SMALL","name","tooltip","title","getAttribute","gravity","hoverable","hasAttribute","attached","attributeExists","events","click","attributes","form","value","AJS","I18n","getText","label","focus","getElementById","spinner","indeterminate","classList","add","append","remove","parentNode","removeChild"],"mappings":"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","file":"toggle.js","sourcesContent":["'use strict';\n\nimport './spin';\nimport './tooltip';\nimport { setBooleanAttribute } from './internal/attributes';\nimport $ from './jquery';\nimport enforce from './internal/enforcer';\nimport keyCode from './key-code';\nimport skateTemplateHtml from 'skatejs-template-html';\nimport skate from './internal/skate';\nimport { INPUT_SUFFIX } from './internal/constants';\nimport CustomEvent from './polyfills/custom-event';\nimport SpinnerEl, {SIZE} from './spinner';\n\nfunction fireChangeEvent(element) {\n if (element._canFireEventsNow) {\n element.dispatchEvent(new CustomEvent('change', { bubbles: true }));\n }\n}\n\nfunction getInput (element) {\n return element._input || (element._input = element.querySelector('input'));\n}\n\nfunction getSpinner (element) {\n return element._spinner || (element._spinner = new SpinnerEl());\n}\n\nfunction removedAttributeHandler(attributeName, element) {\n getInput(element).removeAttribute(attributeName);\n}\n\nfunction fallbackAttributeHandler(attributeName, element, change) {\n getInput(element).setAttribute(attributeName, change.newValue);\n}\n\nfunction getAttributeHandler (attributeName) {\n return {\n removed: removedAttributeHandler.bind(this, attributeName),\n fallback: fallbackAttributeHandler.bind(this, attributeName)\n };\n}\n\nconst formAttributeHandler = {\n removed: function (element) {\n removedAttributeHandler.call(this, 'form', element);\n element._formId = null;\n },\n fallback: function (element, change) {\n fallbackAttributeHandler.call(this, 'form', element, change);\n element._formId = change.newValue;\n }\n};\n\nvar idAttributeHandler = {\n removed: removedAttributeHandler.bind(this, 'id'),\n fallback: function (element, change) {\n getInput(element).setAttribute('id', `${change.newValue}${INPUT_SUFFIX}`);\n }\n};\n\nvar checkedAttributeHandler = {\n removed: function (element) {\n getInput(element).checked = false;\n fireChangeEvent(element);\n },\n fallback: function (element) {\n getInput(element).checked = true;\n fireChangeEvent(element);\n }\n};\n\nvar labelHandler = {\n removed: function (element) {\n getInput(element).removeAttribute('aria-label');\n },\n fallback: function (element, change) {\n getInput(element).setAttribute('aria-label', change.newValue);\n }\n};\n\nfunction clickHandler(element, e) {\n var input = getInput(element);\n if (!element.disabled && !element.busy && e.target !== input) {\n input.checked = !input.checked;\n }\n\n setBooleanAttribute(element, 'checked', input.checked);\n}\n\nfunction setDisabledForLabels(element, disabled) {\n if (!element.id) {\n return;\n }\n Array.prototype.forEach.call(document.querySelectorAll(`aui-label[for=\"${element.id}\"]`), function (el) {\n el.disabled = disabled;\n });\n}\n\n/**\n * Workaround to prevent pressing SPACE on busy state.\n * Preventing click event still makes the toggle flip and revert back.\n * So on CSS side, the input has \"pointer-events: none\" on busy state.\n */\nfunction bindEventsToInput(element) {\n getInput(element).addEventListener('keydown', function (e) {\n if (element.busy && e.keyCode === keyCode.SPACE) {\n e.preventDefault();\n }\n });\n // prevent toggle can be trigger through SPACE key on Firefox\n if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {\n getInput(element).addEventListener('click', function (e) {\n if (element.busy) {\n e.preventDefault();\n }\n });\n }\n}\n\nskate('aui-toggle', {\n // \"assistive\" class avoids direct interaction with the <input> element\n // (which prevents our click handler from being called),\n // while allow the element to still participate in the form.\n template: skateTemplateHtml(\n '<input type=\"checkbox\" class=\"aui-toggle-input assistive\">',\n '<span class=\"aui-toggle-view\">',\n '<span class=\"aui-toggle-tick aui-icon aui-icon-small aui-iconfont-success\"></span>',\n '<span class=\"aui-toggle-cross aui-icon aui-icon-small aui-iconfont-close-dialog\"></span>',\n '</span>'\n ),\n created: function (element) {\n getInput(element); // avoid using _input in attribute handlers\n getSpinner(element).setAttribute('size', SIZE.SMALL.name);\n\n $(getInput(element)).tooltip({\n title: function () {\n return this.checked ? this.getAttribute('tooltip-on') : this.getAttribute('tooltip-off');\n },\n gravity: 's',\n hoverable: false\n });\n bindEventsToInput(element);\n if (element.hasAttribute('checked')) {\n getInput(element).setAttribute('checked', '');\n }\n element._canFireEventsNow = true;\n },\n attached: function (element) {\n enforce(element).attributeExists('label');\n },\n events: {\n click: clickHandler\n },\n attributes: {\n id: idAttributeHandler,\n checked: checkedAttributeHandler,\n disabled: getAttributeHandler('disabled'),\n form: formAttributeHandler,\n name: getAttributeHandler('name'),\n value: getAttributeHandler('value'),\n 'tooltip-on': {\n value: AJS.I18n.getText('aui.toggle.on'),\n fallback: function (element, change) {\n getInput(element).setAttribute('tooltip-on', change.newValue || AJS.I18n.getText('aui.toggle.on'));\n }\n },\n 'tooltip-off': {\n value: AJS.I18n.getText('aui.toggle.off'),\n fallback: function (element, change) {\n getInput(element).setAttribute('tooltip-off', change.newValue || AJS.I18n.getText('aui.toggle.off'));\n }\n },\n label: labelHandler\n },\n prototype: {\n focus: function () {\n getInput(this).focus();\n return this;\n },\n get checked () {\n return getInput(this).checked;\n },\n set checked (value) {\n // Need to explicitly set the property on the checkbox because the\n // checkbox's property doesn't change with it's attribute after it\n // is clicked.\n if (getInput(this).checked !== value) {\n getInput(this).checked = value;\n setBooleanAttribute(this, 'checked', value);\n }\n },\n get disabled () {\n // AUI-4958 - this may be accessed by a jQuery event handler in response to\n // a DOMNodeInserted event being fired. In this scenario, the `template`\n // function has been called by skate, but the `created` callback has not.\n return getInput(this).disabled;\n },\n set disabled (value) {\n return setBooleanAttribute(this, 'disabled', value);\n },\n get form () {\n return document.getElementById(this._formId);\n },\n set form (value) {\n formAttributeHandler.fallback.call(this, this, { newValue: value || null });\n return this.form;\n },\n get name () {\n return getInput(this).name;\n },\n set name (value) {\n this.setAttribute('name', value);\n return value;\n },\n get value () {\n return getInput(this).value;\n },\n set value (value) { // Setting the value of an input to null sets it to empty string.\n this.setAttribute('value', value === null ? '' : value);\n return value;\n },\n get busy () {\n return getInput(this).getAttribute('aria-busy') === 'true';\n },\n set busy (value) {\n const input = getInput(this);\n const spinner = getSpinner(this);\n\n setBooleanAttribute(this, 'busy', value);\n\n if (value) {\n input.setAttribute('aria-busy', 'true');\n input.indeterminate = true;\n if (this.checked) {\n input.classList.add('indeterminate-checked');\n $(this.querySelector('.aui-toggle-tick')).append(spinner);\n } else {\n $(this.querySelector('.aui-toggle-cross')).append(spinner);\n }\n } else {\n input.classList.remove('indeterminate-checked');\n input.indeterminate = false;\n input.removeAttribute('aria-busy');\n if (spinner.parentNode) {\n spinner.parentNode.removeChild(this._spinner);\n }\n }\n setDisabledForLabels(this, !!value);\n return value;\n }\n }\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/tooltip.js"],"names":["handleStringOption","$self","options","stringOption","tipsy","live","context","off","selector","unbind","bindTooltip","hideOnClick","trigger","defaults","onClick","on","bind","fn","tooltip","allOptions","extend","each","$this","opacity","offset","delayIn","hoverable","aria"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;AAKA,aAASA,kBAAT,CAA6BC,KAA7B,EAAoCC,OAApC,EAA6CC,YAA7C,EAA2D;AACvD;AACAF,cAAMG,KAAN,CAAYD,YAAZ;;AAEA,YAAIA,iBAAiB,SAArB,EAAgC;AAC5B,gBAAID,QAAQG,IAAZ,EAAkB;AACd,sCAAEJ,MAAMK,OAAR,EAAiBC,GAAjB,CAAqB,QAArB,EAA+BN,MAAMO,QAArC;AACH,aAFD,MAEO;AACHP,sBAAMQ,MAAN,CAAa,QAAb;AACH;AACJ;;AAED,eAAOR,KAAP;AACH;;AAED,aAASS,WAAT,CAAsBT,KAAtB,EAA6BC,OAA7B,EAAsC;AAClCD,cAAMG,KAAN,CAAYF,OAAZ;;AAEA,YAAMS,cAAcT,WAAWA,QAAQS,WAAnB,KAAmCT,QAAQU,OAAR,KAAoB,OAApB,IAA+B,CAACV,QAAQU,OAAT,IAAoBX,MAAMG,KAAN,CAAYS,QAAZ,CAAqBD,OAArB,KAAiC,OAAvH,CAApB;AACA,YAAID,WAAJ,EAAiB;AACb,gBAAMG,UAAU,SAAVA,OAAU,GAAW;AACvB,sCAAE,IAAF,EAAQV,KAAR,CAAc,MAAd;AACH,aAFD;AAGA,gBAAIF,QAAQG,IAAZ,EAAkB;AACd,sCAAEJ,MAAMK,OAAR,EAAiBS,EAAjB,CAAoB,aAApB,EAAmCd,MAAMO,QAAzC,EAAmDM,OAAnD;AACH,aAFD,MAEO;AACHb,sBAAMe,IAAN,CAAW,aAAX,EAA0BF,OAA1B;AACH;AACJ;AACD,eAAOb,KAAP;AACH;;AAED,qBAAEgB,EAAF,CAAKC,OAAL,GAAe,UAAUhB,OAAV,EAAmB;AAC9B,YAAMiB,aAAa,iBAAEC,MAAF,CAAS,EAAT,EAAa,iBAAEH,EAAF,CAAKC,OAAL,CAAaL,QAA1B,EAAoCX,OAApC,CAAnB;;AAEA;AACA,YAAIiB,WAAWd,IAAf,EAAqB;AACjB,gBAAI,OAAOH,OAAP,KAAmB,QAAvB,EAAiC;AAC7BF,mCAAmB,IAAnB,EAAyBmB,UAAzB,EAAqCjB,OAArC;AACH,aAFD,MAEO;AACHQ,4BAAY,IAAZ,EAAkBS,UAAlB;AACH;AACD,mBAAO,IAAP;AACH;;AAED;AACA,eAAO,KAAKE,IAAL,CAAU,YAAW;AACxB,gBAAMC,QAAQ,sBAAE,IAAF,CAAd;AACA,gBAAI,OAAOpB,OAAP,KAAmB,QAAvB,EAAiC;AAC7BF,mCAAmBsB,KAAnB,EAA0BH,UAA1B,EAAsCjB,OAAtC;AACH,aAFD,MAEO;AACHQ,4BAAYY,KAAZ,EAAmBH,UAAnB;AACH;AACD,mBAAOG,KAAP;AACH,SARM,CAAP;AASH,KAvBD;;AAyBA,qBAAEL,EAAF,CAAKC,OAAL,CAAaL,QAAb,GAAwB;AACpBU,iBAAS,GADW;AAEpBC,gBAAQ,CAFY;AAGpBC,iBAAS,GAHW;AAIpBC,mBAAW,IAJS;AAKpBf,qBAAa,IALO;AAMpBgB,cAAM;AANc,KAAxB","file":"tooltip.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport '../../js-vendor/jquery/jquery.tipsy';\n\nfunction handleStringOption ($self, options, stringOption) {\n // Pass string values straight to tipsy\n $self.tipsy(stringOption);\n\n if (stringOption === 'destroy') {\n if (options.live) {\n $($self.context).off('.tipsy', $self.selector);\n } else {\n $self.unbind('.tipsy');\n }\n }\n\n return $self;\n}\n\nfunction bindTooltip ($self, options) {\n $self.tipsy(options);\n\n const hideOnClick = options && options.hideOnClick && (options.trigger === 'hover' || !options.trigger && $self.tipsy.defaults.trigger === 'hover');\n if (hideOnClick) {\n const onClick = function() {\n $(this).tipsy('hide');\n };\n if (options.live) {\n $($self.context).on('click.tipsy', $self.selector, onClick);\n } else {\n $self.bind('click.tipsy', onClick);\n }\n }\n return $self;\n}\n\n$.fn.tooltip = function (options) {\n const allOptions = $.extend({}, $.fn.tooltip.defaults, options);\n\n // Handle live option\n if (allOptions.live) {\n if (typeof options === 'string') {\n handleStringOption(this, allOptions, options);\n } else {\n bindTooltip(this, allOptions);\n }\n return this;\n }\n\n // If not live, bind each object in the collection\n return this.each(function() {\n const $this = $(this);\n if (typeof options === 'string') {\n handleStringOption($this, allOptions, options);\n } else {\n bindTooltip($this, allOptions);\n }\n return $this;\n });\n};\n\n$.fn.tooltip.defaults = {\n opacity: 1.0,\n offset: 1,\n delayIn: 500,\n hoverable: true,\n hideOnClick: true,\n aria: true\n};\n"]}
1
+ {"version":3,"sources":["js/aui/tooltip.js"],"names":["handleStringOption","$self","options","stringOption","tipsy","live","context","off","selector","unbind","bindTooltip","hideOnClick","trigger","defaults","onClick","on","bind","$","fn","tooltip","allOptions","extend","each","$this","opacity","offset","delayIn","hoverable","aria"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;AAKA,aAASA,kBAAT,CAA6BC,KAA7B,EAAoCC,OAApC,EAA6CC,YAA7C,EAA2D;AACvD;AACAF,cAAMG,KAAN,CAAYD,YAAZ;;AAEA,YAAIA,iBAAiB,SAArB,EAAgC;AAC5B,gBAAID,QAAQG,IAAZ,EAAkB;AACd,sCAAEJ,MAAMK,OAAR,EAAiBC,GAAjB,CAAqB,QAArB,EAA+BN,MAAMO,QAArC;AACH,aAFD,MAEO;AACHP,sBAAMQ,MAAN,CAAa,QAAb;AACH;AACJ;;AAED,eAAOR,KAAP;AACH;;AAED,aAASS,WAAT,CAAsBT,KAAtB,EAA6BC,OAA7B,EAAsC;AAClCD,cAAMG,KAAN,CAAYF,OAAZ;;AAEA,YAAMS,cAAcT,WAAWA,QAAQS,WAAnB,KAAmCT,QAAQU,OAAR,KAAoB,OAApB,IAA+B,CAACV,QAAQU,OAAT,IAAoBX,MAAMG,KAAN,CAAYS,QAAZ,CAAqBD,OAArB,KAAiC,OAAvH,CAApB;AACA,YAAID,WAAJ,EAAiB;AACb,gBAAMG,UAAU,SAAVA,OAAU,GAAW;AACvB,sCAAE,IAAF,EAAQV,KAAR,CAAc,MAAd;AACH,aAFD;AAGA,gBAAIF,QAAQG,IAAZ,EAAkB;AACd,sCAAEJ,MAAMK,OAAR,EAAiBS,EAAjB,CAAoB,aAApB,EAAmCd,MAAMO,QAAzC,EAAmDM,OAAnD;AACH,aAFD,MAEO;AACHb,sBAAMe,IAAN,CAAW,aAAX,EAA0BF,OAA1B;AACH;AACJ;AACD,eAAOb,KAAP;AACH;;AAEDgB,qBAAEC,EAAF,CAAKC,OAAL,GAAe,UAAUjB,OAAV,EAAmB;AAC9B,YAAMkB,aAAaH,iBAAEI,MAAF,CAAS,EAAT,EAAaJ,iBAAEC,EAAF,CAAKC,OAAL,CAAaN,QAA1B,EAAoCX,OAApC,CAAnB;;AAEA;AACA,YAAIkB,WAAWf,IAAf,EAAqB;AACjB,gBAAI,OAAOH,OAAP,KAAmB,QAAvB,EAAiC;AAC7BF,mCAAmB,IAAnB,EAAyBoB,UAAzB,EAAqClB,OAArC;AACH,aAFD,MAEO;AACHQ,4BAAY,IAAZ,EAAkBU,UAAlB;AACH;AACD,mBAAO,IAAP;AACH;;AAED;AACA,eAAO,KAAKE,IAAL,CAAU,YAAW;AACxB,gBAAMC,QAAQ,sBAAE,IAAF,CAAd;AACA,gBAAI,OAAOrB,OAAP,KAAmB,QAAvB,EAAiC;AAC7BF,mCAAmBuB,KAAnB,EAA0BH,UAA1B,EAAsClB,OAAtC;AACH,aAFD,MAEO;AACHQ,4BAAYa,KAAZ,EAAmBH,UAAnB;AACH;AACD,mBAAOG,KAAP;AACH,SARM,CAAP;AASH,KAvBD;;AAyBAN,qBAAEC,EAAF,CAAKC,OAAL,CAAaN,QAAb,GAAwB;AACpBW,iBAAS,GADW;AAEpBC,gBAAQ,CAFY;AAGpBC,iBAAS,GAHW;AAIpBC,mBAAW,IAJS;AAKpBhB,qBAAa,IALO;AAMpBiB,cAAM;AANc,KAAxB","file":"tooltip.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport '../../js-vendor/jquery/jquery.tipsy';\n\nfunction handleStringOption ($self, options, stringOption) {\n // Pass string values straight to tipsy\n $self.tipsy(stringOption);\n\n if (stringOption === 'destroy') {\n if (options.live) {\n $($self.context).off('.tipsy', $self.selector);\n } else {\n $self.unbind('.tipsy');\n }\n }\n\n return $self;\n}\n\nfunction bindTooltip ($self, options) {\n $self.tipsy(options);\n\n const hideOnClick = options && options.hideOnClick && (options.trigger === 'hover' || !options.trigger && $self.tipsy.defaults.trigger === 'hover');\n if (hideOnClick) {\n const onClick = function() {\n $(this).tipsy('hide');\n };\n if (options.live) {\n $($self.context).on('click.tipsy', $self.selector, onClick);\n } else {\n $self.bind('click.tipsy', onClick);\n }\n }\n return $self;\n}\n\n$.fn.tooltip = function (options) {\n const allOptions = $.extend({}, $.fn.tooltip.defaults, options);\n\n // Handle live option\n if (allOptions.live) {\n if (typeof options === 'string') {\n handleStringOption(this, allOptions, options);\n } else {\n bindTooltip(this, allOptions);\n }\n return this;\n }\n\n // If not live, bind each object in the collection\n return this.each(function() {\n const $this = $(this);\n if (typeof options === 'string') {\n handleStringOption($this, allOptions, options);\n } else {\n bindTooltip($this, allOptions);\n }\n return $this;\n });\n};\n\n$.fn.tooltip.defaults = {\n opacity: 1.0,\n offset: 1,\n delayIn: 500,\n hoverable: true,\n hideOnClick: true,\n aria: true\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/trigger.js"],"names":["isNestedAnchor","trigger","target","$closestAnchor","closest","length","findControlled","document","getElementById","getAttribute","triggerMessage","e","isEnabled","component","message","type","ATTRIBUTE","events","click","preventDefault","mouseenter","mouseleave","focus","blur","prototype","disable","setAttribute","enable"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAMA,aAASA,cAAT,CAAwBC,OAAxB,EAAiCC,MAAjC,EAAyC;AACrC,YAAIC,iBAAiB,sBAAED,MAAF,EAAUE,OAAV,CAAkB,SAAlB,EAA6BH,OAA7B,CAArB;AACA,eAAO,CAAC,CAACE,eAAeE,MAAjB,IAA2BF,eAAe,CAAf,MAAsBF,OAAxD;AACH;;AAED,aAASK,cAAT,CAAwBL,OAAxB,EAAiC;AAC7B,eAAOM,SAASC,cAAT,CAAwBP,QAAQQ,YAAR,CAAqB,eAArB,CAAxB,CAAP;AACH;;AAED,aAASC,cAAT,CAAwBT,OAAxB,EAAiCU,CAAjC,EAAoC;AAChC,YAAIV,QAAQW,SAAR,EAAJ,EAAyB;AACrB,gBAAIC,YAAYP,eAAeL,OAAf,CAAhB;AACA,gBAAIY,aAAaA,UAAUC,OAA3B,EAAoC;AAChCD,0BAAUC,OAAV,CAAkBH,CAAlB;AACH;AACJ;AACJ;;AAED,yBAAM,kBAAN,EAA0B;AACtBI,cAAM,gBAAMA,IAAN,CAAWC,SADK;AAEtBC,gBAAQ;AACJC,mBAAO,eAAUjB,OAAV,EAAmBU,CAAnB,EAAsB;AACzB,oBAAI,CAACX,eAAeC,OAAf,EAAwBU,EAAET,MAA1B,CAAL,EAAwC;AACpCQ,mCAAeT,OAAf,EAAwBU,CAAxB;AACAA,sBAAEQ,cAAF;AACH;AACJ,aANG;AAOJC,wBAAY,oBAAUnB,OAAV,EAAmBU,CAAnB,EAAsB;AAC9BD,+BAAeT,OAAf,EAAwBU,CAAxB;AACH,aATG;AAUJU,wBAAY,oBAAUpB,OAAV,EAAmBU,CAAnB,EAAsB;AAC9BD,+BAAeT,OAAf,EAAwBU,CAAxB;AACH,aAZG;AAaJW,mBAAO,eAAUrB,OAAV,EAAmBU,CAAnB,EAAsB;AACzBD,+BAAeT,OAAf,EAAwBU,CAAxB;AACH,aAfG;AAgBJY,kBAAM,cAAUtB,OAAV,EAAmBU,CAAnB,EAAsB;AACxBD,+BAAeT,OAAf,EAAwBU,CAAxB;AACH;AAlBG,SAFc;AAsBtBa,mBAAW;AACPC,qBAAS,mBAAY;AACjB,qBAAKC,YAAL,CAAkB,eAAlB,EAAmC,MAAnC;AACH,aAHM;AAIPC,oBAAQ,kBAAY;AAChB,qBAAKD,YAAL,CAAkB,eAAlB,EAAmC,OAAnC;AACH,aANM;AAOPd,uBAAW,qBAAY;AACnB,uBAAO,KAAKH,YAAL,CAAkB,eAAlB,MAAuC,MAA9C;AACH;AATM;AAtBW,KAA1B;;AAmCA,0BAAO,aAAP","file":"trigger.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport amdify from './internal/amdify';\nimport skate from './internal/skate';\n\nfunction isNestedAnchor(trigger, target) {\n var $closestAnchor = $(target).closest('a[href]', trigger);\n return !!$closestAnchor.length && $closestAnchor[0] !== trigger;\n}\n\nfunction findControlled(trigger) {\n return document.getElementById(trigger.getAttribute('aria-controls'));\n}\n\nfunction triggerMessage(trigger, e) {\n if (trigger.isEnabled()) {\n var component = findControlled(trigger);\n if (component && component.message) {\n component.message(e);\n }\n }\n}\n\nskate('data-aui-trigger', {\n type: skate.type.ATTRIBUTE,\n events: {\n click: function (trigger, e) {\n if (!isNestedAnchor(trigger, e.target)) {\n triggerMessage(trigger, e);\n e.preventDefault();\n }\n },\n mouseenter: function (trigger, e) {\n triggerMessage(trigger, e);\n },\n mouseleave: function (trigger, e) {\n triggerMessage(trigger, e);\n },\n focus: function (trigger, e) {\n triggerMessage(trigger, e);\n },\n blur: function (trigger, e) {\n triggerMessage(trigger, e);\n }\n },\n prototype: {\n disable: function () {\n this.setAttribute('aria-disabled', 'true');\n },\n enable: function () {\n this.setAttribute('aria-disabled', 'false');\n },\n isEnabled: function () {\n return this.getAttribute('aria-disabled') !== 'true';\n }\n }\n});\n\namdify('aui/trigger');\n"]}
1
+ {"version":3,"sources":["js/aui/trigger.js"],"names":["isNestedAnchor","trigger","target","$closestAnchor","closest","length","findControlled","document","getElementById","getAttribute","triggerMessage","e","isEnabled","component","message","type","skate","ATTRIBUTE","events","click","preventDefault","mouseenter","mouseleave","focus","blur","prototype","disable","setAttribute","enable"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAMA,aAASA,cAAT,CAAwBC,OAAxB,EAAiCC,MAAjC,EAAyC;AACrC,YAAIC,iBAAiB,sBAAED,MAAF,EAAUE,OAAV,CAAkB,SAAlB,EAA6BH,OAA7B,CAArB;AACA,eAAO,CAAC,CAACE,eAAeE,MAAjB,IAA2BF,eAAe,CAAf,MAAsBF,OAAxD;AACH;;AAED,aAASK,cAAT,CAAwBL,OAAxB,EAAiC;AAC7B,eAAOM,SAASC,cAAT,CAAwBP,QAAQQ,YAAR,CAAqB,eAArB,CAAxB,CAAP;AACH;;AAED,aAASC,cAAT,CAAwBT,OAAxB,EAAiCU,CAAjC,EAAoC;AAChC,YAAIV,QAAQW,SAAR,EAAJ,EAAyB;AACrB,gBAAIC,YAAYP,eAAeL,OAAf,CAAhB;AACA,gBAAIY,aAAaA,UAAUC,OAA3B,EAAoC;AAChCD,0BAAUC,OAAV,CAAkBH,CAAlB;AACH;AACJ;AACJ;;AAED,yBAAM,kBAAN,EAA0B;AACtBI,cAAMC,gBAAMD,IAAN,CAAWE,SADK;AAEtBC,gBAAQ;AACJC,mBAAO,eAAUlB,OAAV,EAAmBU,CAAnB,EAAsB;AACzB,oBAAI,CAACX,eAAeC,OAAf,EAAwBU,EAAET,MAA1B,CAAL,EAAwC;AACpCQ,mCAAeT,OAAf,EAAwBU,CAAxB;AACAA,sBAAES,cAAF;AACH;AACJ,aANG;AAOJC,wBAAY,oBAAUpB,OAAV,EAAmBU,CAAnB,EAAsB;AAC9BD,+BAAeT,OAAf,EAAwBU,CAAxB;AACH,aATG;AAUJW,wBAAY,oBAAUrB,OAAV,EAAmBU,CAAnB,EAAsB;AAC9BD,+BAAeT,OAAf,EAAwBU,CAAxB;AACH,aAZG;AAaJY,mBAAO,eAAUtB,OAAV,EAAmBU,CAAnB,EAAsB;AACzBD,+BAAeT,OAAf,EAAwBU,CAAxB;AACH,aAfG;AAgBJa,kBAAM,cAAUvB,OAAV,EAAmBU,CAAnB,EAAsB;AACxBD,+BAAeT,OAAf,EAAwBU,CAAxB;AACH;AAlBG,SAFc;AAsBtBc,mBAAW;AACPC,qBAAS,mBAAY;AACjB,qBAAKC,YAAL,CAAkB,eAAlB,EAAmC,MAAnC;AACH,aAHM;AAIPC,oBAAQ,kBAAY;AAChB,qBAAKD,YAAL,CAAkB,eAAlB,EAAmC,OAAnC;AACH,aANM;AAOPf,uBAAW,qBAAY;AACnB,uBAAO,KAAKH,YAAL,CAAkB,eAAlB,MAAuC,MAA9C;AACH;AATM;AAtBW,KAA1B;;AAmCA,0BAAO,aAAP","file":"trigger.js","sourcesContent":["'use strict';\n\nimport $ from './jquery';\nimport amdify from './internal/amdify';\nimport skate from './internal/skate';\n\nfunction isNestedAnchor(trigger, target) {\n var $closestAnchor = $(target).closest('a[href]', trigger);\n return !!$closestAnchor.length && $closestAnchor[0] !== trigger;\n}\n\nfunction findControlled(trigger) {\n return document.getElementById(trigger.getAttribute('aria-controls'));\n}\n\nfunction triggerMessage(trigger, e) {\n if (trigger.isEnabled()) {\n var component = findControlled(trigger);\n if (component && component.message) {\n component.message(e);\n }\n }\n}\n\nskate('data-aui-trigger', {\n type: skate.type.ATTRIBUTE,\n events: {\n click: function (trigger, e) {\n if (!isNestedAnchor(trigger, e.target)) {\n triggerMessage(trigger, e);\n e.preventDefault();\n }\n },\n mouseenter: function (trigger, e) {\n triggerMessage(trigger, e);\n },\n mouseleave: function (trigger, e) {\n triggerMessage(trigger, e);\n },\n focus: function (trigger, e) {\n triggerMessage(trigger, e);\n },\n blur: function (trigger, e) {\n triggerMessage(trigger, e);\n }\n },\n prototype: {\n disable: function () {\n this.setAttribute('aria-disabled', 'true');\n },\n enable: function () {\n this.setAttribute('aria-disabled', 'false');\n },\n isEnabled: function () {\n return this.getAttribute('aria-disabled') !== 'true';\n }\n }\n});\n\namdify('aui/trigger');\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/truncating-progressive-data-set.js"],"names":["TruncatingProgressiveDataSet","extend","initialize","models","options","_maxResponseSize","maxResponseSize","prototype","call","shouldGetMoreResults","results","response","findQueryResponse","value","length","query","findQueryCache","substr"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;AAKA,QAAIA,+BAA+B,6BAAmBC,MAAnB,CAA0B;AACzD;;;;;;;;;;;;;;;;;;;;AAoBAC,oBAAY,oBAAUC,MAAV,EAAkBC,OAAlB,EAA2B;AACnC,iBAAKC,gBAAL,GAAwBD,QAAQE,eAAhC;AACA,yCAAmBC,SAAnB,CAA6BL,UAA7B,CAAwCM,IAAxC,CAA6C,IAA7C,EAAmDL,MAAnD,EAA2DC,OAA3D;AACH,SAxBwD;;AA0BzDK,8BAAsB,8BAAUC,OAAV,EAAmB;AACrC,gBAAIC,WAAW,KAAKC,iBAAL,CAAuB,KAAKC,KAA5B,CAAf;AACA,mBAAO,CAACF,QAAD,IAAaA,SAASG,MAAT,KAAoB,KAAKT,gBAA7C;AACH,SA7BwD;;AA+BzD;;;;;;;;;;AAUAO,2BAAmB,2BAAUG,KAAV,EAAiB;AAChC,mBAAOA,KAAP,EAAc;AACV,oBAAIJ,WAAW,KAAKK,cAAL,CAAoBD,KAApB,CAAf;;AAEA,oBAAIJ,QAAJ,EAAc;AACV,2BAAOA,QAAP;AACH;;AAEDI,wBAAQA,MAAME,MAAN,CAAa,CAAb,EAAgBF,MAAMD,MAAN,GAAe,CAA/B,CAAR;AACH;;AAED,mBAAO,IAAP;AACH;AArDwD,KAA1B,CAAnC;;AAwDA,6BAAU,8BAAV,EAA0Cd,4BAA1C;;sBAEeA,4B","file":"truncating-progressive-data-set.js","sourcesContent":["'use strict';\n\nimport globalize from './internal/globalize';\nimport ProgressiveDataSet from './progressive-data-set';\n\nvar TruncatingProgressiveDataSet = ProgressiveDataSet.extend({\n /**\n * This is a subclass of ProgressiveDataSet. It differs from the superclass\n * in that it works on large data sets where the server truncates results.\n *\n * Rather than determining whether to request more information based on its cache,\n * it uses the size of the response.\n *\n * @example\n * var source = new TruncatingProgressiveDataSet([], {\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 * maxResponseSize: 20\n * });\n * source.on('respond', doStuffWithMatchingResults);\n * source.query('john');\n */\n initialize: function (models, options) {\n this._maxResponseSize = options.maxResponseSize;\n ProgressiveDataSet.prototype.initialize.call(this, models, options);\n },\n\n shouldGetMoreResults: function (results) {\n var response = this.findQueryResponse(this.value);\n return !response || response.length === this._maxResponseSize;\n },\n\n /**\n * Returns the response for the given query.\n *\n * The default implementation assumes that the endpoint's search algorithm is a prefix\n * matcher.\n *\n * @param query the value to find existing responses\n * @return {Object[]} an array of values representing the IDs of the models provided by the response for the given query.\n * Null is returned if no response is found.\n */\n findQueryResponse: function (query) {\n while (query) {\n var response = this.findQueryCache(query);\n\n if (response) {\n return response;\n }\n\n query = query.substr(0, query.length - 1);\n }\n\n return null;\n }\n});\n\nglobalize('TruncatingProgressiveDataSet', TruncatingProgressiveDataSet);\n\nexport default TruncatingProgressiveDataSet;\n"]}
1
+ {"version":3,"sources":["js/aui/truncating-progressive-data-set.js"],"names":["TruncatingProgressiveDataSet","ProgressiveDataSet","extend","initialize","models","options","_maxResponseSize","maxResponseSize","prototype","call","shouldGetMoreResults","results","response","findQueryResponse","value","length","query","findQueryCache","substr"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;AAKA,QAAIA,+BAA+BC,6BAAmBC,MAAnB,CAA0B;AACzD;;;;;;;;;;;;;;;;;;;;AAoBAC,oBAAY,oBAAUC,MAAV,EAAkBC,OAAlB,EAA2B;AACnC,iBAAKC,gBAAL,GAAwBD,QAAQE,eAAhC;AACAN,yCAAmBO,SAAnB,CAA6BL,UAA7B,CAAwCM,IAAxC,CAA6C,IAA7C,EAAmDL,MAAnD,EAA2DC,OAA3D;AACH,SAxBwD;;AA0BzDK,8BAAsB,8BAAUC,OAAV,EAAmB;AACrC,gBAAIC,WAAW,KAAKC,iBAAL,CAAuB,KAAKC,KAA5B,CAAf;AACA,mBAAO,CAACF,QAAD,IAAaA,SAASG,MAAT,KAAoB,KAAKT,gBAA7C;AACH,SA7BwD;;AA+BzD;;;;;;;;;;AAUAO,2BAAmB,2BAAUG,KAAV,EAAiB;AAChC,mBAAOA,KAAP,EAAc;AACV,oBAAIJ,WAAW,KAAKK,cAAL,CAAoBD,KAApB,CAAf;;AAEA,oBAAIJ,QAAJ,EAAc;AACV,2BAAOA,QAAP;AACH;;AAEDI,wBAAQA,MAAME,MAAN,CAAa,CAAb,EAAgBF,MAAMD,MAAN,GAAe,CAA/B,CAAR;AACH;;AAED,mBAAO,IAAP;AACH;AArDwD,KAA1B,CAAnC;;AAwDA,6BAAU,8BAAV,EAA0Cf,4BAA1C;;sBAEeA,4B","file":"truncating-progressive-data-set.js","sourcesContent":["'use strict';\n\nimport globalize from './internal/globalize';\nimport ProgressiveDataSet from './progressive-data-set';\n\nvar TruncatingProgressiveDataSet = ProgressiveDataSet.extend({\n /**\n * This is a subclass of ProgressiveDataSet. It differs from the superclass\n * in that it works on large data sets where the server truncates results.\n *\n * Rather than determining whether to request more information based on its cache,\n * it uses the size of the response.\n *\n * @example\n * var source = new TruncatingProgressiveDataSet([], {\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 * maxResponseSize: 20\n * });\n * source.on('respond', doStuffWithMatchingResults);\n * source.query('john');\n */\n initialize: function (models, options) {\n this._maxResponseSize = options.maxResponseSize;\n ProgressiveDataSet.prototype.initialize.call(this, models, options);\n },\n\n shouldGetMoreResults: function (results) {\n var response = this.findQueryResponse(this.value);\n return !response || response.length === this._maxResponseSize;\n },\n\n /**\n * Returns the response for the given query.\n *\n * The default implementation assumes that the endpoint's search algorithm is a prefix\n * matcher.\n *\n * @param query the value to find existing responses\n * @return {Object[]} an array of values representing the IDs of the models provided by the response for the given query.\n * Null is returned if no response is found.\n */\n findQueryResponse: function (query) {\n while (query) {\n var response = this.findQueryCache(query);\n\n if (response) {\n return response;\n }\n\n query = query.substr(0, query.length - 1);\n }\n\n return null;\n }\n});\n\nglobalize('TruncatingProgressiveDataSet', TruncatingProgressiveDataSet);\n\nexport default TruncatingProgressiveDataSet;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/unbind-text-resize.js"],"names":["unbindTextResize","f","i","ii","length","splice"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;AAKA,aAASA,gBAAT,CAA2BC,CAA3B,EAA8B;AAC1B,aAAK,IAAIC,IAAI,CAAR,EAAWC,KAAK,uBAAa,gBAAb,EAA+BC,MAApD,EAA4DF,IAAIC,EAAhE,EAAoED,GAApE,EAAyE;AACrE,gBAAI,uBAAa,gBAAb,EAA+BA,CAA/B,MAAsCD,CAA1C,EAA6C;AACzC,uBAAO,uBAAa,gBAAb,EAA+BI,MAA/B,CAAsCH,CAAtC,EAAyC,CAAzC,CAAP;AACH;AACJ;AACJ;;AAED,6BAAU,kBAAV,EAA8BF,gBAA9B;;sBAEeA,gB","file":"unbind-text-resize.js","sourcesContent":["'use strict';\n\nimport globalize from './internal/globalize';\nimport onTextResize from './on-text-resize';\n\nfunction unbindTextResize (f) {\n for (var i = 0, ii = onTextResize['on-text-resize'].length; i < ii; i++) {\n if (onTextResize['on-text-resize'][i] === f) {\n return onTextResize['on-text-resize'].splice(i, 1);\n }\n }\n}\n\nglobalize('unbindTextResize', unbindTextResize);\n\nexport default unbindTextResize;\n"]}
1
+ {"version":3,"sources":["js/aui/unbind-text-resize.js"],"names":["unbindTextResize","f","i","ii","onTextResize","length","splice"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;AAKA,aAASA,gBAAT,CAA2BC,CAA3B,EAA8B;AAC1B,aAAK,IAAIC,IAAI,CAAR,EAAWC,KAAKC,uBAAa,gBAAb,EAA+BC,MAApD,EAA4DH,IAAIC,EAAhE,EAAoED,GAApE,EAAyE;AACrE,gBAAIE,uBAAa,gBAAb,EAA+BF,CAA/B,MAAsCD,CAA1C,EAA6C;AACzC,uBAAOG,uBAAa,gBAAb,EAA+BE,MAA/B,CAAsCJ,CAAtC,EAAyC,CAAzC,CAAP;AACH;AACJ;AACJ;;AAED,6BAAU,kBAAV,EAA8BF,gBAA9B;;sBAEeA,gB","file":"unbind-text-resize.js","sourcesContent":["'use strict';\n\nimport globalize from './internal/globalize';\nimport onTextResize from './on-text-resize';\n\nfunction unbindTextResize (f) {\n for (var i = 0, ii = onTextResize['on-text-resize'].length; i < ii; i++) {\n if (onTextResize['on-text-resize'][i] === f) {\n return onTextResize['on-text-resize'].splice(i, 1);\n }\n }\n}\n\nglobalize('unbindTextResize', unbindTextResize);\n\nexport default unbindTextResize;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/underscore.js"],"names":["window","_"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,QAAI,CAACA,OAAOC,CAAZ,EAAe;AACXD,eAAOC,CAAP;AACH;;sBAEcD,OAAOC,C","file":"underscore.js","sourcesContent":["import _ from 'underscore';\n\nif (!window._) {\n window._ = _;\n}\n\nexport default window._;\n"]}
1
+ {"version":3,"sources":["js/aui/underscore.js"],"names":["window","_"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,QAAI,CAACA,OAAOC,CAAZ,EAAe;AACXD,eAAOC,CAAP,GAAWA,oBAAX;AACH;;sBAEcD,OAAOC,C","file":"underscore.js","sourcesContent":["import _ from 'underscore';\n\nif (!window._) {\n window._ = _;\n}\n\nexport default window._;\n"]}
@@ -27,7 +27,7 @@
27
27
 
28
28
  // @note: this value is set via webpack and gulp
29
29
  // eslint-disable-next-line
30
- var version = '7.10.3-alpha-1';
30
+ var version = '7.10.3';
31
31
 
32
32
  (0, _globalize2.default)('version', version);
33
33
 
@@ -1 +1 @@
1
- {"version":3,"sources":["js/aui/version.js"],"names":["version"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAIA;AACA;AACA,MAAIA,UAAU,gBAAd;;AAEA,2BAAU,SAAV,EAAqBA,OAArB;;oBAEeA,O","file":"version.js","sourcesContent":["'use strict';\n\nimport globalize from './internal/globalize';\n\n// @note: this value is set via webpack and gulp\n// eslint-disable-next-line\nvar version = '7.10.3-alpha-1';\n\nglobalize('version', version);\n\nexport default version;\n"]}
1
+ {"version":3,"sources":["js/aui/version.js"],"names":["version"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAIA;AACA;AACA,MAAIA,UAAU,QAAd;;AAEA,2BAAU,SAAV,EAAqBA,OAArB;;oBAEeA,O","file":"version.js","sourcesContent":["'use strict';\n\nimport globalize from './internal/globalize';\n\n// @note: this value is set via webpack and gulp\n// eslint-disable-next-line\nvar version = '7.10.3';\n\nglobalize('version', version);\n\nexport default version;\n"]}