@atlassian/atlassian-connect-js 5.3.190

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 (190) hide show
  1. package/.depcheckrc.json +16 -0
  2. package/.editorconfig +9 -0
  3. package/.envrc +5 -0
  4. package/.eslintignore +12 -0
  5. package/.eslintrc +31 -0
  6. package/.husky/pre-commit +11 -0
  7. package/.lintstagedrc.js +6 -0
  8. package/.netrc +1 -0
  9. package/.npmrc-public +4 -0
  10. package/.nvmrc +1 -0
  11. package/LICENSE +3 -0
  12. package/README.md +281 -0
  13. package/bitbucket-pipelines.yml +33 -0
  14. package/build/bin/bin-helper.js +29 -0
  15. package/build/bin/npm-postinstall.js +9 -0
  16. package/build/configs/append-sourcemapping.js +13 -0
  17. package/build/configs/availabletasks.js +15 -0
  18. package/build/configs/clean.js +12 -0
  19. package/build/configs/concat.js +44 -0
  20. package/build/configs/copy.js +32 -0
  21. package/build/configs/index.js +19 -0
  22. package/build/configs/jshint.js +9 -0
  23. package/build/configs/karma.js +11 -0
  24. package/build/configs/replace.js +10 -0
  25. package/build/configs/requirejs.js +187 -0
  26. package/build/configs/saucelabs-launchers.js +30 -0
  27. package/build/configs/shell.js +24 -0
  28. package/build/configs/uglify.js +15 -0
  29. package/build/configs/watch.js +45 -0
  30. package/build/end.frag +13 -0
  31. package/build/start.frag +18 -0
  32. package/bundlesize.config.json +14 -0
  33. package/dist/connect-host.css +225 -0
  34. package/dist/connect-host.js +13908 -0
  35. package/dist/connect-host.min.css +1 -0
  36. package/dist/iframe-fedramp.js +13663 -0
  37. package/dist/iframe.js +13663 -0
  38. package/dist/legacy-text-colors.css +245 -0
  39. package/dist/surfaces.css +11 -0
  40. package/dist/themes/atlaskit-tokens_dark-future.css +6 -0
  41. package/dist/themes/atlaskit-tokens_dark.css +394 -0
  42. package/dist/themes/atlaskit-tokens_legacy-dark.css +394 -0
  43. package/dist/themes/atlaskit-tokens_legacy-light.css +394 -0
  44. package/dist/themes/atlaskit-tokens_light-future.css +6 -0
  45. package/dist/themes/atlaskit-tokens_light.css +394 -0
  46. package/dist/themes/atlaskit-tokens_shape.css +14 -0
  47. package/dist/themes/atlaskit-tokens_spacing.css +26 -0
  48. package/dist/themes/atlaskit-tokens_typography-adg3.css +25 -0
  49. package/dist/themes/atlaskit-tokens_typography-modernized.css +25 -0
  50. package/dist/themes/atlaskit-tokens_typography-refreshed.css +25 -0
  51. package/gulpfile.js +204 -0
  52. package/memleak-check/app.html +10 -0
  53. package/memleak-check/index.html +31 -0
  54. package/memleak-check/index.js +33 -0
  55. package/package.json +102 -0
  56. package/renovate.json +11 -0
  57. package/security-assistant.yml +2 -0
  58. package/spec/.eslintrc +10 -0
  59. package/spec/config/karma.base.conf.js +200 -0
  60. package/spec/config/karma.conf.js +20 -0
  61. package/spec/fixtures/base_dialog_component_tests.js +180 -0
  62. package/spec/mocks/mock_feature_flag.js +23 -0
  63. package/spec/tests/amd_spec.js +122 -0
  64. package/spec/tests/analytics_dispatcher_spec.js +429 -0
  65. package/spec/tests/analytics_performance_spec.js +41 -0
  66. package/spec/tests/button_spec.js +143 -0
  67. package/spec/tests/dialog_extension_spec.js +59 -0
  68. package/spec/tests/dialog_module_provider_spec.js +499 -0
  69. package/spec/tests/dialog_module_spec.js +395 -0
  70. package/spec/tests/dialog_spec.js +296 -0
  71. package/spec/tests/dialog_webitem_spec.js +183 -0
  72. package/spec/tests/dropdown_module_spec.js +77 -0
  73. package/spec/tests/env_module_spec.js +153 -0
  74. package/spec/tests/events_spec.js +77 -0
  75. package/spec/tests/extension_configuration_options_store_spec.js +25 -0
  76. package/spec/tests/flag_module_provider_spec.js +79 -0
  77. package/spec/tests/flag_module_spec.js +118 -0
  78. package/spec/tests/flag_spec.js +243 -0
  79. package/spec/tests/host-api_spec.js +220 -0
  80. package/spec/tests/iframe-create_spec.js +43 -0
  81. package/spec/tests/iframe_container_spec.js +19 -0
  82. package/spec/tests/iframe_spec.js +265 -0
  83. package/spec/tests/inline_dialog_spec.js +41 -0
  84. package/spec/tests/inline_dialog_webitem_spec.js +331 -0
  85. package/spec/tests/loading_indicator_spec.js +48 -0
  86. package/spec/tests/messages_module_spec.js +108 -0
  87. package/spec/tests/meta_spec.js +71 -0
  88. package/spec/tests/module_args_spec.js +52 -0
  89. package/spec/tests/observe_spec.js +73 -0
  90. package/spec/tests/public_events.spec.js +102 -0
  91. package/spec/tests/scroll_position_spec.js +109 -0
  92. package/spec/tests/theming_spec.js +594 -0
  93. package/spec/tests/util_spec.js +55 -0
  94. package/spec/tests/utils/base64_spec.js +20 -0
  95. package/spec/tests/utils/button_spec.js +11 -0
  96. package/spec/tests/utils/cookie_spec.js +19 -0
  97. package/spec/tests/utils/deprecate_spec.js +22 -0
  98. package/spec/tests/utils/dialog_spec.js +297 -0
  99. package/spec/tests/utils/host_util_spec.js +45 -0
  100. package/spec/tests/utils/iframe_spec.js +41 -0
  101. package/spec/tests/utils/jwt_spec.js +135 -0
  102. package/spec/tests/utils/url_spec.js +37 -0
  103. package/spec/tests/utils/waitUntilReadyNextTick.js +5 -0
  104. package/spec/tests/utils/webitem.js +219 -0
  105. package/spec/tests/webitem_spec.js +131 -0
  106. package/src/css/host/dialog.css +144 -0
  107. package/src/css/host/flags.css +5 -0
  108. package/src/css/host/host.css +64 -0
  109. package/src/css/host/messages.css +12 -0
  110. package/src/css/plugin/legacy-text-colors.less +55 -0
  111. package/src/css/plugin/surfaces.css +11 -0
  112. package/src/host/ACJSFrameworkAdaptor.js +44 -0
  113. package/src/host/actions/analytics_action.js +35 -0
  114. package/src/host/actions/button_actions.js +21 -0
  115. package/src/host/actions/dialog_actions.js +27 -0
  116. package/src/host/actions/dialog_extension_actions.js +25 -0
  117. package/src/host/actions/dom_event_actions.js +32 -0
  118. package/src/host/actions/dropdown_actions.js +12 -0
  119. package/src/host/actions/env_actions.js +57 -0
  120. package/src/host/actions/event_actions.js +33 -0
  121. package/src/host/actions/flag_actions.js +22 -0
  122. package/src/host/actions/iframe_actions.js +27 -0
  123. package/src/host/actions/inline_dialog_actions.js +26 -0
  124. package/src/host/actions/inline_dialog_webitem_actions.js +10 -0
  125. package/src/host/actions/jwt_actions.js +51 -0
  126. package/src/host/actions/loading_indicator_actions.js +10 -0
  127. package/src/host/actions/module_actions.js +14 -0
  128. package/src/host/actions/webitem_actions.js +29 -0
  129. package/src/host/components/button.js +112 -0
  130. package/src/host/components/dialog.js +447 -0
  131. package/src/host/components/dialog_extension.js +106 -0
  132. package/src/host/components/dialog_webitem.js +69 -0
  133. package/src/host/components/flag.js +102 -0
  134. package/src/host/components/iframe.js +130 -0
  135. package/src/host/components/iframe_container.js +38 -0
  136. package/src/host/components/inline_dialog.js +108 -0
  137. package/src/host/components/inline_dialog_webitem.js +157 -0
  138. package/src/host/components/loading_indicator.js +110 -0
  139. package/src/host/components/webitem.js +227 -0
  140. package/src/host/deprecate.js +20 -0
  141. package/src/host/dispatchers/analytics_dispatcher.js +512 -0
  142. package/src/host/dispatchers/event_dispatcher.js +46 -0
  143. package/src/host/dollar.js +8 -0
  144. package/src/host/host-api.js +325 -0
  145. package/src/host/iframe-create.js +7 -0
  146. package/src/host/index.js +108 -0
  147. package/src/host/module-providers.js +13 -0
  148. package/src/host/modules/_featureFlag.js +42 -0
  149. package/src/host/modules/_performance.js +54 -0
  150. package/src/host/modules/analytics.js +17 -0
  151. package/src/host/modules/dialog.js +496 -0
  152. package/src/host/modules/dropdown.js +255 -0
  153. package/src/host/modules/env.js +156 -0
  154. package/src/host/modules/events.js +28 -0
  155. package/src/host/modules/flag.js +170 -0
  156. package/src/host/modules/host.js +19 -0
  157. package/src/host/modules/inline-dialog.js +33 -0
  158. package/src/host/modules/messages.js +309 -0
  159. package/src/host/modules/page.js +29 -0
  160. package/src/host/modules/scroll-position.js +102 -0
  161. package/src/host/modules/theming.js +114 -0
  162. package/src/host/stores/extension_configuration_options_store.js +24 -0
  163. package/src/host/util.js +98 -0
  164. package/src/host/utils/access-narrowing-context.js +18 -0
  165. package/src/host/utils/base64.js +22 -0
  166. package/src/host/utils/button.js +10 -0
  167. package/src/host/utils/cookie.js +14 -0
  168. package/src/host/utils/dialog.js +239 -0
  169. package/src/host/utils/feature-flag.js +27 -0
  170. package/src/host/utils/iframe.js +23 -0
  171. package/src/host/utils/jwt.js +60 -0
  172. package/src/host/utils/observe.js +34 -0
  173. package/src/host/utils/removal-observer.js +30 -0
  174. package/src/host/utils/simplexdm.js +58 -0
  175. package/src/host/utils/url.js +23 -0
  176. package/src/host/utils/webitem.js +214 -0
  177. package/src/plugin/amd.js +115 -0
  178. package/src/plugin/analytics.js +84 -0
  179. package/src/plugin/deprecate.js +16 -0
  180. package/src/plugin/dialog.js +197 -0
  181. package/src/plugin/dollar.js +77 -0
  182. package/src/plugin/events-instance.js +2 -0
  183. package/src/plugin/events.js +246 -0
  184. package/src/plugin/extension_configuration_options_store.js +27 -0
  185. package/src/plugin/featureFlag.js +8 -0
  186. package/src/plugin/index.js +118 -0
  187. package/src/plugin/meta.js +14 -0
  188. package/src/plugin/public-events.js +73 -0
  189. package/src/plugin/theming.js +211 -0
  190. package/src/plugin/util.js +104 -0
@@ -0,0 +1,187 @@
1
+ (function () {
2
+ 'use strict';
3
+
4
+ var PATH_REQUIREJS_TRANSFORMED = '.tmp/requirejs-transformed';
5
+ var PATH_BASEURL = 'src/js';
6
+
7
+ var fs = require('fs-extra');
8
+ var path = require('path');
9
+
10
+ function bowerSource (file) {
11
+ return rootSource('bower_components/' + file);
12
+ }
13
+
14
+ function npmSource (file) {
15
+ return rootSource('node_modules/' + file);
16
+ }
17
+
18
+ function jsVendorSource (file) {
19
+ return '../js-vendor/' + file;
20
+ }
21
+
22
+ function jsVendorFromModuleSource (file) {
23
+ return '../../src/js-vendor/' + file;
24
+ }
25
+
26
+ function rootSource (file) {
27
+ return '../../' + file;
28
+ }
29
+
30
+ var paths = {
31
+ 'almond': bowerSource('almond/almond'),
32
+ '_ap': 'iframe/host/_ap',
33
+ '_dollar': 'iframe/host/_dollar',
34
+ '_uri': 'iframe/_uri',
35
+ 'host/_status_helper': 'iframe/host/_status_helper',
36
+ '_util': 'iframe/host/_util',
37
+ '_rpc': 'iframe/host/_rpc',
38
+ '_events': 'iframe/_events',
39
+ 'env': 'iframe/host/env',
40
+ 'resize': 'iframe/host/resize',
41
+ 'loading-indicator': 'iframe/host/loading-indicator',
42
+ 'content': 'iframe/host/content',
43
+ 'host/_addons': 'iframe/host/_addons',
44
+ '_base64': 'iframe/_base64',
45
+ '_jwt': 'iframe/_jwt',
46
+ 'host/jwt-keepalive': 'iframe/host/jwt-keepalive',
47
+ '_xdm': 'iframe/_xdm',
48
+ '_ui-params': 'iframe/_ui-params',
49
+ 'create': 'iframe/host/create',
50
+ 'connect-host': rootSource('.tmp/amd-stubs/connect-host')
51
+ };
52
+
53
+ var coreModules = [
54
+ '_ap',
55
+ '_dollar',
56
+ '_util',
57
+ '_rpc',
58
+ '_events',
59
+ 'resize',
60
+ 'loading-indicator',
61
+ 'content',
62
+ '_uri',
63
+ 'host/_addons',
64
+ '_base64',
65
+ 'analytics/analytics',
66
+ '_jwt',
67
+ 'host/jwt-keepalive',
68
+ '_xdm',
69
+ '_ui-params',
70
+ 'host/_status_helper',
71
+ 'create'
72
+ ];
73
+
74
+ var config = {
75
+ extensions: {
76
+ options: {
77
+ baseUrl: PATH_BASEURL,
78
+ preserveLicenseComments: false,
79
+ paths: paths,
80
+ dir: '.tmp/requirejs-optimizer',
81
+ modules: [{
82
+ name: rootSource('.tmp/amd-stubs/connect-host-messages'),
83
+ include: [
84
+ 'messages/main',
85
+ 'messages/messages-rpc'
86
+ ],
87
+ exclude: [
88
+ rootSource('.tmp/amd-stubs/connect-host')
89
+ ]
90
+ },
91
+ {
92
+ name: rootSource('.tmp/amd-stubs/connect-host-request'),
93
+ include: [
94
+ 'iframe/host/request'
95
+ ],
96
+ exclude: [
97
+ rootSource('.tmp/amd-stubs/connect-host')
98
+ ]
99
+ },
100
+ {
101
+ name: rootSource('.tmp/amd-stubs/connect-host-env'),
102
+ include: [
103
+ 'iframe/host/env'
104
+ ],
105
+ exclude: [
106
+ rootSource('.tmp/amd-stubs/connect-host')
107
+ ]
108
+ },
109
+ {
110
+ name: rootSource('.tmp/amd-stubs/connect-host-cookie'),
111
+ include: [
112
+ 'cookie/main',
113
+ 'cookie/cookie-rpc'
114
+ ],
115
+ exclude: [
116
+ rootSource('.tmp/amd-stubs/connect-host')
117
+ ]
118
+ },
119
+ {
120
+ name: rootSource('.tmp/amd-stubs/connect-host-history'),
121
+ include: [
122
+ 'history/main',
123
+ 'history/history-rpc'
124
+ ],
125
+ exclude: [
126
+ rootSource('.tmp/amd-stubs/connect-host')
127
+ ]
128
+ },
129
+ {
130
+ name: rootSource('.tmp/amd-stubs/connect-host-inline-dialog'),
131
+ include: [
132
+ 'inline-dialog/main',
133
+ 'inline-dialog/simple',
134
+ 'inline-dialog/binder'
135
+ ],
136
+ exclude: [
137
+ rootSource('.tmp/amd-stubs/connect-host')
138
+ ]
139
+ },
140
+ {
141
+ name: rootSource('.tmp/amd-stubs/connect-host-dialog'),
142
+ include: [
143
+ 'dialog/button',
144
+ 'dialog/main',
145
+ 'dialog/dialog-factory',
146
+ 'dialog/dialog-rpc',
147
+ 'dialog/binder'
148
+ ],
149
+ exclude: [
150
+ rootSource('.tmp/amd-stubs/connect-host')
151
+ ]
152
+ }
153
+ ],
154
+ skipModuleInsertion: true
155
+ }
156
+ },
157
+ dist: {
158
+ options: {
159
+ baseUrl: PATH_BASEURL,
160
+ preserveLicenseComments: false,
161
+ paths: paths,
162
+ dir: '.tmp/requirejs-optimizer',
163
+ wrap: {
164
+ startFile: 'build/start.frag',
165
+ endFile: 'build/end.frag'
166
+ },
167
+ shim: {
168
+ '_jwt': ['_base64'],
169
+ '_xdm': ['_events', '_jwt', '_uri', '_ui-params', '_util']
170
+ },
171
+ modules: [
172
+ {
173
+ name: rootSource('.tmp/amd-stubs/connect-host'),
174
+ include: ['almond'].concat(coreModules)
175
+ },
176
+ {
177
+ name: rootSource('.tmp/amd-stubs/connect-host-amd'),
178
+ include: coreModules
179
+ }
180
+ ],
181
+ skipModuleInsertion: true
182
+ }
183
+ }
184
+ };
185
+
186
+ module.exports = config;
187
+ }());
@@ -0,0 +1,30 @@
1
+ // https://saucelabs.com/products/supported-browsers-devices
2
+ module.exports = {
3
+ // Chrome latest
4
+ 'chrome_latest_osx': {
5
+ base: 'SauceLabs',
6
+ browserName: 'chrome',
7
+ platform: 'macOS 13'
8
+ },
9
+
10
+ // Edge latest
11
+ 'edge_latest_osx': {
12
+ base: 'SauceLabs',
13
+ browserName: 'microsoftedge',
14
+ platform: 'macOS 13'
15
+ },
16
+
17
+ // Firefox latest
18
+ 'firefox_latest_osx': {
19
+ base: 'SauceLabs',
20
+ browserName: 'firefox',
21
+ platform: 'macOS 13'
22
+ },
23
+
24
+ // Safari latest (don't specify platform for latest version)
25
+ 'safari_latest_osx': {
26
+ base: 'SauceLabs',
27
+ browserName: 'safari',
28
+ platform: 'macOS 13'
29
+ }
30
+ };
@@ -0,0 +1,24 @@
1
+ module.exports = function () {
2
+ 'use strict';
3
+
4
+ return {
5
+ options: {
6
+ stdout: true
7
+ },
8
+ amdStubs: {
9
+ command: [
10
+ 'rm -rf .tmp/amd-stubs',
11
+ 'mkdir -p .tmp/amd-stubs',
12
+ 'touch .tmp/amd-stubs/connect-host.js',
13
+ 'touch .tmp/amd-stubs/connect-host-amd.js',
14
+ 'touch .tmp/amd-stubs/connect-host-messages.js',
15
+ 'touch .tmp/amd-stubs/connect-host-env.js',
16
+ 'touch .tmp/amd-stubs/connect-host-cookie.js',
17
+ 'touch .tmp/amd-stubs/connect-host-history.js',
18
+ 'touch .tmp/amd-stubs/connect-host-request.js',
19
+ 'touch .tmp/amd-stubs/connect-host-inline-dialog.js',
20
+ 'touch .tmp/amd-stubs/connect-host-dialog.js'
21
+ ].join('&&')
22
+ }
23
+ };
24
+ };
@@ -0,0 +1,15 @@
1
+ module.exports = {
2
+
3
+ uglify: {
4
+ options: {
5
+ beautify: {
6
+ ascii_only: true,
7
+ quote_keys: true
8
+ }
9
+ },
10
+ files: {
11
+ '.tmp/host.js': '<%= paths.tmp %>' + 'host-debug.js',
12
+ '.tmp/all.js': '<%= paths.tmp %>' + 'all-debug.js',
13
+ }
14
+ }
15
+ };
@@ -0,0 +1,45 @@
1
+ module.exports = function (grunt) {
2
+ // Overwrite the target files that are run by the lint command so that
3
+ // it only checks the file that was modified.
4
+ grunt.event.on('watch', function(action, filepath) {
5
+ grunt.config('jscs.all', filepath);
6
+ grunt.config('jshint.all', filepath);
7
+ });
8
+
9
+ return {
10
+ lint: {
11
+ files: [
12
+ 'Gruntfile.js',
13
+ 'src/js/{*,**/*}.js',
14
+ 'tests/js/{*,**/*}.js'
15
+ ],
16
+ options: {
17
+ spawn: false
18
+ },
19
+ tasks: [
20
+ 'lint'
21
+ ]
22
+ },
23
+ compile: {
24
+ tasks: [
25
+ 'build-js'
26
+ ],
27
+ files: [
28
+ 'src/**'
29
+ ]
30
+ },
31
+ test: {
32
+ files: [
33
+ 'src/**',
34
+ 'tests/unit/**'
35
+ ],
36
+ tasks: [
37
+ 'karma:host',
38
+ 'karma:plugin'
39
+ ],
40
+ options: {
41
+ atBegin: true
42
+ }
43
+ }
44
+ };
45
+ };
package/build/end.frag ADDED
@@ -0,0 +1,13 @@
1
+
2
+ var rpc = require("_rpc");
3
+
4
+ return {
5
+ extend: rpc.extend,
6
+ init: rpc.init,
7
+ uiParams: require("_ui-params"),
8
+ create: require('host/create'),
9
+ _uriHelper: require('_uri'),
10
+ _statusHelper: require('host/_status_helper'),
11
+ webItemHelper: require('host/content')
12
+ };
13
+ }));
@@ -0,0 +1,18 @@
1
+ (function (root, factory) {
2
+ if (typeof define === 'function' && define.amd) {
3
+ //Allow using this built library as an AMD module
4
+ //in another project. That other project will only
5
+ //see this AMD call, not the internal modules in
6
+ //the closure below.
7
+ define("connect-host", [], factory);
8
+ } else {
9
+ //Browser globals case. Just assign the
10
+ //result to a property on the global.
11
+
12
+ if(!window._AP){
13
+ window._AP = {};
14
+ }
15
+
16
+ AJS.$.extend(_AP, factory());
17
+ }
18
+ }(this, function () {
@@ -0,0 +1,14 @@
1
+ {
2
+ "files": [
3
+ {
4
+ "path": "./dist/connect-host.js",
5
+ "maxSize": "110 kB",
6
+ "compression": "gzip"
7
+ },
8
+ {
9
+ "path": "./dist/iframe.js",
10
+ "maxSize": "125 kB",
11
+ "compression": "gzip"
12
+ }
13
+ ]
14
+ }
@@ -0,0 +1,225 @@
1
+ .ap-stats {
2
+ padding: 0px 10px;
3
+ background-color: #f5f5f5;
4
+ }
5
+
6
+ .ap-dialog-container .ap-container,
7
+ .ap-aui-dialog2 div {
8
+ height: 100%;
9
+ }
10
+
11
+ .ap-aui-dialog2 div.ap-stats {
12
+ height: auto;
13
+ position: absolute; /* go over the top of the bottom bar when visible */
14
+ }
15
+
16
+ /* add new aui dialog size of fullscreen */
17
+ .ap-aui-dialog2.aui-dialog2-fullscreen {
18
+ /*
19
+ https://jira.atlassian.com/browse/CONFCLOUD-73967
20
+ We couldn't find how this issue started happening, it might have been there for some time but noone noticed it before.
21
+ Adding !important to increase priority of this over .aui-dialog2.aui-layer
22
+ */
23
+ top: 0 !important;
24
+ }
25
+
26
+ /* add new aui dialog size of maximum */
27
+ .ap-aui-dialog2.aui-dialog2-maximum {
28
+ top: 0 !important;
29
+ height: 100%;
30
+ }
31
+ .ap-aui-dialog2.aui-dialog2-maximum .aui-dialog2-content {
32
+ height: 100%;
33
+ }
34
+
35
+ .ap-aui-dialog2 .aui-dialog2-content {
36
+ padding:0;
37
+
38
+ /* in chrome'd dialogs - fixes scrollbars added by iframes with scrollbars pushing the width out */
39
+ overflow:hidden;
40
+
41
+ /* in safari, chromeless dialogs become invisible, because apparently GPU FTW */
42
+ -webkit-transform: translatez(0);
43
+ will-change: opacity, visibility;
44
+
45
+ display: flex;
46
+ flex-direction: column;
47
+ }
48
+
49
+ .ap-aui-dialog2 iframe {
50
+ display:block;
51
+ }
52
+
53
+ .ap-aui-dialog2.aui-dialog2-chromeless .aui-dialog2-content {
54
+ background-color:transparent;
55
+
56
+ /* Override the aui selector that assumes the last-child is the footer */
57
+ border-radius: 0;
58
+ }
59
+
60
+ .ap-aui-dialog2 .ap-status-indicator {
61
+ padding: 5px 10px;
62
+ background: transparent;
63
+ position: absolute;
64
+ top: 10px;
65
+ width: 100%;
66
+ }
67
+
68
+ .ap-aui-dialog2.aui-dialog2-maximum .ap-status-indicator,
69
+ .ap-aui-dialog2.aui-dialog2-chromeless .ap-status-indicator {
70
+ display: none;
71
+ }
72
+
73
+ .ap-aui-dialog2 .ap-stats {
74
+ display: block;
75
+ }
76
+
77
+ /* header controls */
78
+ /*
79
+ These styles lifted from the file viewer. We could conceivably define a separate component 'header-controls'
80
+ in AUI that contains its own styles, but adding to AUI is out of scope for the current task.
81
+
82
+ Given that plugin devs won't be working directly with these CSS rules, we have some flexibility to refactor
83
+ these internals later.
84
+ */
85
+
86
+ .ap-header-controls.aui-dialog2 .aui-dialog2-header {
87
+ background-color: #000;
88
+ border-radius: 0;
89
+ height: 50px;
90
+ margin-top: 0;
91
+ padding: 0 0 0 20px;
92
+ }
93
+
94
+ .ap-header-controls .header-title-container {
95
+ max-width: 70%;
96
+ display: block;
97
+ float: left;
98
+ height: 50px
99
+ }
100
+
101
+ .ap-header-controls .header-title-container div {
102
+ color: #fff;
103
+ line-height: 50px;
104
+ white-space: nowrap;
105
+ overflow: hidden
106
+ }
107
+
108
+ .ap-header-controls .header-control-panel {
109
+ padding-left: 0;
110
+ text-align: right;
111
+ float: right;
112
+ max-width: 30%;
113
+ display: block;
114
+ height: 50px
115
+ }
116
+
117
+ .ap-header-controls .header-control-panel > span {
118
+ display: inline-block
119
+ }
120
+
121
+ .ap-header-controls .header-control-panel .aui-button {
122
+ background-color: #000; /* Override blue for primary controls*/
123
+ background-position: center;
124
+ background-repeat: no-repeat;
125
+ border-left: 1px solid #333;
126
+ border-radius: 0px;
127
+ height: 50px;
128
+ float: left;
129
+ margin-left: 0; /* overrides AUI style of 10px */
130
+ text-align: left;
131
+ text-indent: -999em;
132
+ width: 50px
133
+ }
134
+
135
+ /* Pads the button icons provided by the AUI Icon font */
136
+ .ap-header-controls .header-control-panel .aui-icon-small:before {
137
+ color: #fff;
138
+ margin-left: 16px;
139
+ }
140
+
141
+ /* Reduce the height of the content div to allow for the height of the header bar */
142
+ .ap-header-controls .aui-dialog2-content {
143
+ max-height: calc(100% - 50px);
144
+ }
145
+ .ac-flag-actions a {
146
+ margin-right: 10px;
147
+ /* whole flag text appears on 1 line */
148
+ display: inline-block;
149
+ }
150
+ .ap-status-indicator {
151
+ padding-top: 5px;
152
+ font-size: 12px;
153
+ line-height: 1.42857142857143;
154
+ }
155
+
156
+ .ap-status-indicator small {
157
+ color: #707070;
158
+ }
159
+
160
+ .ap-loading, .ap-load-timeout {
161
+ padding-left: 4px;
162
+ }
163
+
164
+ .ap-link-disabled, .ap-link-disabled:hover, .ap-link-disabled:visited, .ap-link-disabled:focus {
165
+ color: gray !important;
166
+ text-decoration: none;
167
+ }
168
+
169
+ .ap-iframe-container iframe {
170
+ border: 0;
171
+ }
172
+
173
+ .ap-iframe-container iframe.full-size-general-page {
174
+ border-bottom: 1px solid #ccc;
175
+ }
176
+ .ap-iframe-container iframe.full-size-general-page-no-footer {
177
+ border:none;
178
+ }
179
+
180
+ iframe.sized-to-parent {
181
+ display: block;
182
+ }
183
+
184
+ .ap-status-indicator .small-spinner {
185
+ width: 20px;
186
+ height: 20px;
187
+ float: left;
188
+ margin-right: 4px;
189
+ }
190
+
191
+ .ap-iframe-container {
192
+ line-height: 0;
193
+ margin: 0;
194
+ padding: 0;
195
+ font-size: 0;
196
+ }
197
+
198
+ @-webkit-keyframes fadeInConnectSpinner { from { opacity: 0; } to { opacity: 1; } }
199
+ @-moz-keyframes fadeInConnectSpinner { from { opacity: 0; } to { opacity: 1; } }
200
+ @-o-keyframes fadeInConnectSpinner { from { opacity: 0; } to { opacity: 1; } }
201
+ @keyframes fadeInConnectSpinner { from { opacity: 0; } to { opacity: 1; } }
202
+
203
+ .ap-status-indicator {
204
+ opacity: 0;
205
+ animation: fadeInConnectSpinner 0.5s ease-in;
206
+ animation-delay: 1s;
207
+ animation-fill-mode: forwards;
208
+ }
209
+
210
+ .connect-resolve-error {
211
+ font-size: 12px;
212
+ line-height: 1.42857142857143;
213
+ }
214
+ #ac-message-container {
215
+ top: 20px;
216
+ left: 50%;
217
+ max-width: 600px;
218
+ position: fixed;
219
+ z-index: 4000;
220
+ }
221
+
222
+ .ap-aui-message {
223
+ font-size: 14px;
224
+ margin: 10px;
225
+ }