ember-inspector 4.5.2 → 4.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/.eslintrc.js +2 -2
  2. package/.github/workflows/build.yml +0 -10
  3. package/.tool-versions +1 -1
  4. package/CHANGELOG.md +53 -0
  5. package/README.md +3 -3
  6. package/app/controllers/application.js +17 -7
  7. package/app/routes/whats-new.js +10 -3
  8. package/app/templates/application.hbs +1 -1
  9. package/babel.config.js +12 -0
  10. package/dist/bookmarklet/panes-3-4-0/assets/chunk.143.270940edacdd577ffc3a.js +9 -0
  11. package/dist/{chrome/panes-3-4-0/assets/chunk.178.5b0ef53154b4f03c1ddf.js → bookmarklet/panes-3-4-0/assets/chunk.178.c1ce9d69d5e5184cb8b8.js} +3 -3
  12. package/dist/{chrome/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js → bookmarklet/panes-3-4-0/assets/chunk.916.10195c168143dde80f98.js} +1 -1
  13. package/dist/bookmarklet/panes-3-4-0/assets/{chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt → chunk.916.10195c168143dde80f98.js.LICENSE.txt} +0 -0
  14. package/dist/bookmarklet/panes-3-4-0/assets/ember-inspector.js +211 -188
  15. package/dist/bookmarklet/panes-3-4-0/assets/vendor.css +35 -4
  16. package/dist/bookmarklet/panes-3-4-0/assets/vendor.js +1691 -1849
  17. package/dist/bookmarklet/panes-3-4-0/ember_debug.js +7 -7
  18. package/dist/bookmarklet/panes-3-4-0/index.html +1 -2
  19. package/dist/chrome/manifest.json +1 -1
  20. package/dist/chrome/panes-3-4-0/assets/chunk.143.270940edacdd577ffc3a.js +9 -0
  21. package/dist/{firefox/panes-3-4-0/assets/chunk.178.5b0ef53154b4f03c1ddf.js → chrome/panes-3-4-0/assets/chunk.178.c1ce9d69d5e5184cb8b8.js} +3 -3
  22. package/dist/{firefox/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js → chrome/panes-3-4-0/assets/chunk.916.10195c168143dde80f98.js} +1 -1
  23. package/dist/chrome/panes-3-4-0/assets/{chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt → chunk.916.10195c168143dde80f98.js.LICENSE.txt} +0 -0
  24. package/dist/chrome/panes-3-4-0/assets/ember-inspector.js +211 -188
  25. package/dist/chrome/panes-3-4-0/assets/vendor.css +35 -4
  26. package/dist/chrome/panes-3-4-0/assets/vendor.js +1691 -1849
  27. package/dist/chrome/panes-3-4-0/ember_debug.js +7 -7
  28. package/dist/chrome/panes-3-4-0/index.html +1 -2
  29. package/dist/firefox/manifest.json +1 -1
  30. package/dist/firefox/panes-3-4-0/assets/chunk.143.270940edacdd577ffc3a.js +9 -0
  31. package/dist/{bookmarklet/panes-3-4-0/assets/chunk.178.5b0ef53154b4f03c1ddf.js → firefox/panes-3-4-0/assets/chunk.178.c1ce9d69d5e5184cb8b8.js} +3 -3
  32. package/dist/{websocket/assets/chunk.916.cfdae71ef87e943d7ad0.js → firefox/panes-3-4-0/assets/chunk.916.10195c168143dde80f98.js} +1 -1
  33. package/dist/firefox/panes-3-4-0/assets/{chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt → chunk.916.10195c168143dde80f98.js.LICENSE.txt} +0 -0
  34. package/dist/firefox/panes-3-4-0/assets/ember-inspector.js +211 -188
  35. package/dist/firefox/panes-3-4-0/assets/vendor.css +35 -4
  36. package/dist/firefox/panes-3-4-0/assets/vendor.js +1691 -1849
  37. package/dist/firefox/panes-3-4-0/ember_debug.js +7 -7
  38. package/dist/firefox/panes-3-4-0/index.html +1 -2
  39. package/dist/websocket/assets/chunk.143.270940edacdd577ffc3a.js +9 -0
  40. package/dist/websocket/assets/{chunk.178.5b0ef53154b4f03c1ddf.js → chunk.178.c1ce9d69d5e5184cb8b8.js} +3 -3
  41. package/dist/{bookmarklet/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js → websocket/assets/chunk.916.10195c168143dde80f98.js} +1 -1
  42. package/dist/websocket/assets/{chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt → chunk.916.10195c168143dde80f98.js.LICENSE.txt} +0 -0
  43. package/dist/websocket/assets/ember-inspector.js +211 -188
  44. package/dist/websocket/assets/vendor.css +35 -4
  45. package/dist/websocket/assets/vendor.js +1691 -1849
  46. package/dist/websocket/ember_debug.js +7 -7
  47. package/dist/websocket/index.html +1 -2
  48. package/ember_debug/object-inspector.js +4 -5
  49. package/ember_debug/vendor/startup-wrapper.js +5 -0
  50. package/package.json +12 -10
  51. package/tests/acceptance/whats-new-test.js +14 -6
  52. package/tests/ember_debug/container-debug-test.js +10 -3
  53. package/tests/helpers/setup-ember-debug-test.js +3 -2
  54. package/app/modifiers/did-resize.js +0 -76
  55. package/dist/bookmarklet/panes-3-4-0/assets/chunk.143.2d97860a6e5f313b08e6.js +0 -146
  56. package/dist/chrome/panes-3-4-0/assets/chunk.143.2d97860a6e5f313b08e6.js +0 -146
  57. package/dist/firefox/panes-3-4-0/assets/chunk.143.2d97860a6e5f313b08e6.js +0 -146
  58. package/dist/websocket/assets/chunk.143.2d97860a6e5f313b08e6.js +0 -146
@@ -4705,13 +4705,8 @@ define("ember-debug/object-inspector", ["exports", "ember-debug/debug-port", "em
4705
4705
  return true;
4706
4706
  }
4707
4707
 
4708
- let isInternalProp = ['__LEGACY_OWNER', '__ARGS__', '__HAS_BLOCK__', '__PROPERTY_DID_CHANGE__'].any(internalProp => property.startsWith(internalProp));
4709
-
4710
- if (isInternalProp) {
4711
- return true;
4712
- }
4713
-
4714
- return false;
4708
+ let isInternalProp = ['__LEGACY_OWNER', '__ARGS__', '__HAS_BLOCK__', '__PROPERTY_DID_CHANGE__'].some(internalProp => property.startsWith(internalProp));
4709
+ return isInternalProp;
4715
4710
  }
4716
4711
 
4717
4712
  function replaceProperty(properties, name, value, options) {
@@ -9885,6 +9880,11 @@ var EMBER_VERSIONS_SUPPORTED = ['3.4.0',''];
9885
9880
  return;
9886
9881
  }
9887
9882
 
9883
+ // If Ember doesn't exist, we should stop here to avoid issues with accessing `Ember.VERSION`
9884
+ if (!Ember) {
9885
+ return;
9886
+ }
9887
+
9888
9888
  if (!versionTest(Ember.VERSION, EMBER_VERSIONS_SUPPORTED)) {
9889
9889
  // Wrong inspector version. Redirect to the correct version.
9890
9890
  sendVersionMiss();
@@ -10,7 +10,7 @@
10
10
  <meta name="viewport" content="width=device-width, initial-scale=1">
11
11
 
12
12
 
13
- <meta name="ember-inspector/config/environment" content="%7B%22modulePrefix%22%3A%22ember-inspector%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22hash%22%2C%22version%22%3A%224.5.2%22%2C%22emberVersionsSupported%22%3A%5B%223.4.0%22%2C%22%22%5D%2C%22previousEmberVersionsSupported%22%3A%5B%220.0.0%22%2C%222.7.0%22%5D%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%22EMBER_METAL_TRACKED_PROPERTIES%22%3Atrue%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22name%22%3A%22ember-inspector%22%2C%22version%22%3A%224.5.2%2B6793a70e%22%7D%2C%22exportApplicationGlobal%22%3Afalse%7D" />
13
+ <meta name="ember-inspector/config/environment" content="%7B%22modulePrefix%22%3A%22ember-inspector%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22hash%22%2C%22version%22%3A%224.5.6%22%2C%22emberVersionsSupported%22%3A%5B%223.4.0%22%2C%22%22%5D%2C%22previousEmberVersionsSupported%22%3A%5B%220.0.0%22%2C%222.7.0%22%5D%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%22EMBER_METAL_TRACKED_PROPERTIES%22%3Atrue%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22name%22%3A%22ember-inspector%22%2C%22version%22%3A%224.5.6%2B120c7fca%22%7D%2C%22exportApplicationGlobal%22%3Afalse%7D" />
14
14
 
15
15
  <style type="text/css">
16
16
  @font-face {
@@ -39,7 +39,6 @@
39
39
 
40
40
 
41
41
  <script src="assets/vendor.js"></script>
42
- <script src="/assets/chunk.143.2d97860a6e5f313b08e6.js"></script>
43
42
  <script src="assets/ember-inspector.js"></script>
44
43
 
45
44
 
@@ -1024,16 +1024,15 @@ function isInternalProperty(property) {
1024
1024
  ) {
1025
1025
  return true;
1026
1026
  }
1027
+
1027
1028
  let isInternalProp = [
1028
1029
  '__LEGACY_OWNER',
1029
1030
  '__ARGS__',
1030
1031
  '__HAS_BLOCK__',
1031
1032
  '__PROPERTY_DID_CHANGE__',
1032
- ].any((internalProp) => property.startsWith(internalProp));
1033
- if (isInternalProp) {
1034
- return true;
1035
- }
1036
- return false;
1033
+ ].some((internalProp) => property.startsWith(internalProp));
1034
+
1035
+ return isInternalProp;
1037
1036
  }
1038
1037
 
1039
1038
  function replaceProperty(properties, name, value, options) {
@@ -37,6 +37,11 @@ var EMBER_VERSIONS_SUPPORTED = {{EMBER_VERSIONS_SUPPORTED}};
37
37
  return;
38
38
  }
39
39
 
40
+ // If Ember doesn't exist, we should stop here to avoid issues with accessing `Ember.VERSION`
41
+ if (!Ember) {
42
+ return;
43
+ }
44
+
40
45
  if (!versionTest(Ember.VERSION, EMBER_VERSIONS_SUPPORTED)) {
41
46
  // Wrong inspector version. Redirect to the correct version.
42
47
  sendVersionMiss();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-inspector",
3
- "version": "4.5.2",
3
+ "version": "4.5.6",
4
4
  "description": "Extends developer tools to allow you to better inspect your Ember.js apps.",
5
5
  "repository": "https://github.com/emberjs/ember-inspector",
6
6
  "license": "MIT",
@@ -29,7 +29,9 @@
29
29
  "watch": "ember build --watch"
30
30
  },
31
31
  "devDependencies": {
32
+ "@babel/eslint-parser": "^7.16.0",
32
33
  "@babel/helper-call-delegate": "^7.12.13",
34
+ "@babel/plugin-proposal-decorators": "^7.16.0",
33
35
  "@ember/edition-utils": "^1.2.0",
34
36
  "@ember/optional-features": "^2.0.0",
35
37
  "@ember/render-modifiers": "^2.0.0",
@@ -37,7 +39,7 @@
37
39
  "@ember/test-helpers": "^2.5.0",
38
40
  "@glimmer/component": "^1.0.4",
39
41
  "@glimmer/tracking": "^1.0.4",
40
- "@html-next/vertical-collection": "html-next/vertical-collection#79e7b1aa31b3e292db06df79d845cb5a6a0c1b40",
42
+ "@html-next/vertical-collection": "3.0.0-0",
41
43
  "amd-name-resolver": "^1.3.1",
42
44
  "aws-sdk": "^2.978.0",
43
45
  "babel-eslint": "^10.1.0",
@@ -55,8 +57,7 @@
55
57
  "codeclimate-test-reporter": "^0.5.1",
56
58
  "compare-versions": "^4.0.0",
57
59
  "del": "^6.0.0",
58
- "element-resize-detector": "^1.2.3",
59
- "ember-auto-import": "^2.1.0",
60
+ "ember-auto-import": "^2.2.4",
60
61
  "ember-cli": "~3.28.0",
61
62
  "ember-cli-app-version": "^5.0.0",
62
63
  "ember-cli-babel": "^7.26.6",
@@ -78,20 +79,20 @@
78
79
  "ember-load-initializers": "^2.1.2",
79
80
  "ember-math-helpers": "^2.15.0",
80
81
  "ember-maybe-import-regenerator": "^1.0.0",
81
- "ember-modifier": "^3.0.0",
82
+ "ember-on-resize-modifier": "^0.4.5",
82
83
  "ember-qunit": "^5.1.4",
83
84
  "ember-resolver": "^8.0.2",
84
85
  "ember-showdown": "^1.0.0-beta.1",
85
86
  "ember-source": "~3.28.0",
86
87
  "ember-source-channel-url": "^3.0.0",
87
88
  "ember-svg-jar": "^2.3.3",
88
- "ember-table": "rwwagner90/ember-table#42607a07cad1c247f6e6d1617d33119d325cbce5",
89
+ "ember-table": "4.0.0-beta.0",
89
90
  "ember-template-lint": "^3.6.0",
90
91
  "ember-test-selectors": "^6.0.0",
91
92
  "ember-truth-helpers": "^3.0.0",
92
93
  "ember-try": "^2.0.0",
93
94
  "ensure-posix-path": "^1.1.1",
94
- "eslint": "^7.32.0",
95
+ "eslint": "^8.2.0",
95
96
  "eslint-config-prettier": "^8.3.0",
96
97
  "eslint-plugin-ember": "^10.5.4",
97
98
  "eslint-plugin-node": "^11.1.0",
@@ -118,10 +119,11 @@
118
119
  "yauzl": "^2.10.0"
119
120
  },
120
121
  "resolutions": {
121
- "socket.io": "^4.3.1"
122
+ "**/ember-auto-import": "^2.2.4",
123
+ "**/ember-test-selectors": "^6.0.0"
122
124
  },
123
125
  "engines": {
124
- "node": "12.* || 14.* || >= 16"
126
+ "node": "14.* || >= 16"
125
127
  },
126
128
  "publishConfig": {
127
129
  "registry": "https://registry.npmjs.org"
@@ -161,7 +163,7 @@
161
163
  }
162
164
  },
163
165
  "volta": {
164
- "node": "12.22.7",
166
+ "node": "14.18.1",
165
167
  "yarn": "1.22.11"
166
168
  }
167
169
  }
@@ -25,7 +25,7 @@ function generateContent(master = false) {
25
25
  }
26
26
 
27
27
  content.push(`
28
- ## [v3.3.0](https://github.com/emberjs/ember-inspector/tree/v3.3.0) (2018-08-02)
28
+ ## v4.5.3 (2021-11-18)
29
29
 
30
30
  [Full Changelog](https://emberjs.com)
31
31
 
@@ -33,6 +33,14 @@ function generateContent(master = false) {
33
33
 
34
34
  - Stuff
35
35
 
36
+ ## v4.5.2 (2021-11-17)
37
+
38
+ [Full Changelog](https://emberjs.com)
39
+
40
+ **Implemented enhancements:**
41
+
42
+ - Other Stuff
43
+
36
44
  ## [v3.2.0](https://github.com/emberjs/ember-inspector/tree/v3.2.0) (2018-07-03)
37
45
 
38
46
  [Full Changelog](https://emberjs.com)
@@ -63,12 +71,12 @@ module('Whats New', function (outer) {
63
71
 
64
72
  module('Released version', function (inner) {
65
73
  inner.beforeEach(function () {
66
- this.config.version = '3.3.0';
74
+ this.config.version = '4.5.3';
67
75
  });
68
76
 
69
77
  test('Changelog is parsed and displayed', async function (assert) {
70
78
  this.server = new Pretender(function () {
71
- this.get(urlFor('v3.3.0'), () => [
79
+ this.get(urlFor('v4.5.3'), () => [
72
80
  200,
73
81
  { 'Content-Type': 'text/plain' },
74
82
  generateContent(),
@@ -82,15 +90,15 @@ module('Whats New', function (outer) {
82
90
  .exists({ count: 1 }, 'correct section of markdown is rendered');
83
91
 
84
92
  assert.equal(
85
- find('.whats-new h2 a').text,
86
- 'v3.3.0',
93
+ find('.whats-new h2').textContent,
94
+ 'v4.5.3 (2021-11-18)',
87
95
  'correct section of markdown is rendered'
88
96
  );
89
97
  });
90
98
 
91
99
  test('Error message is displayed on request failure', async function (assert) {
92
100
  this.server = new Pretender(function () {
93
- this.get(urlFor('v3.3.0'), () => [404, {}, '']);
101
+ this.get(urlFor('v4.5.3'), () => [404, {}, '']);
94
102
  });
95
103
 
96
104
  await visit('/info/whats-new');
@@ -1,5 +1,5 @@
1
- import { module, test } from 'qunit';
2
- import { settled, visit } from '@ember/test-helpers';
1
+ import { module, skip, test } from 'qunit';
2
+ import { settled, visit, waitUntil } from '@ember/test-helpers';
3
3
  import { A as emberA } from '@ember/array';
4
4
 
5
5
  import EmberDebug from 'ember-debug/main';
@@ -19,12 +19,19 @@ module('Ember Debug - Container', function (hooks) {
19
19
  }),
20
20
  });
21
21
 
22
- test('#getTypes', async function t(assert) {
22
+ skip('#getTypes', async function t(assert) {
23
23
  await visit('/simple');
24
24
 
25
25
  EmberDebug.port.trigger('container:getTypes');
26
26
  await settled();
27
27
 
28
+ await waitUntil(
29
+ function () {
30
+ return name === 'container:types';
31
+ },
32
+ { timeout: 3000 }
33
+ );
34
+
28
35
  assert.equal(name, 'container:types');
29
36
  let types = emberA(message.types);
30
37
  assert.ok(types.findBy('name', 'controller'));
@@ -68,10 +68,11 @@ export default function setupEmberDebugTest(hooks, options = {}) {
68
68
  });
69
69
 
70
70
  hooks.afterEach(async function () {
71
- await teardownContext(this);
72
-
73
71
  EmberDebug.destroyContainer();
74
72
  EmberDebug.clear();
73
+
74
+ await teardownContext(this);
75
+
75
76
  EmberDebug.IGNORE_DEPRECATIONS = originalIgnoreDeprecations;
76
77
 
77
78
  run(() => {
@@ -1,76 +0,0 @@
1
- import { assert } from '@ember/debug';
2
- import { debounce as runloopDebounce, cancel } from '@ember/runloop';
3
- import Modifier from 'ember-modifier';
4
- import elementResizeDetector from 'element-resize-detector';
5
-
6
- // Loosely based on gmurphey/ember-did-resize-modifier which is
7
- // currently broken for Ember 4.0; if it's fixed, we can switch
8
- // back (though the code isn't that involved and it's not that
9
- // unreasonable to maintain it in-tree)
10
- export default class DidResize extends Modifier {
11
- detector = elementResizeDetector({
12
- strategy: 'scroll',
13
- });
14
-
15
- debounceId = null;
16
- listener = null;
17
-
18
- get callback() {
19
- let callback = this.args.positional[0];
20
-
21
- assert(
22
- `{{did-resize}} modifier: '${callback}' is not a valid callback. Provide a function.`,
23
- typeof callback === 'function'
24
- );
25
-
26
- return callback;
27
- }
28
-
29
- get debounce() {
30
- let debounce = this.args.named.debounce ?? 0;
31
-
32
- assert(
33
- `{{did-resize}} modifier: '${debounce}' is not a valid value for the debounce argument. Provide a number.`,
34
- typeof debounce === 'number' && !isNaN(debounce)
35
- );
36
-
37
- return debounce;
38
- }
39
-
40
- didReceiveArguments() {
41
- this.teardown();
42
- this.setup();
43
- }
44
-
45
- willDestroy() {
46
- this.teardown();
47
- }
48
-
49
- setup() {
50
- let { callback, debounce, element } = this;
51
- let listener = callback;
52
-
53
- if (debounce !== 0) {
54
- listener = (...args) => {
55
- this.debounceId = runloopDebounce(callback, ...args, debounce);
56
- };
57
- }
58
-
59
- this.detector.listenTo({ callOnAdd: false }, element, listener);
60
- }
61
-
62
- teardown() {
63
- let { debounceId, element, listener } = this;
64
-
65
- if (debounceId) {
66
- cancel(debounceId);
67
- }
68
-
69
- if (listener) {
70
- this.detector.removeListener(element, listener);
71
- }
72
-
73
- this.debounceId = null;
74
- this.listener = null;
75
- }
76
- }
@@ -1,146 +0,0 @@
1
- var __ember_auto_import__;(()=>{var e={62:(e,t,n)=>{"use strict"
2
- var i=n(389)
3
- function r(){var e={},t=0,n=0,i=0
4
- return{add:function(r,o){o||(o=r,r=0),r>n?n=r:r<i&&(i=r),e[r]||(e[r]=[]),e[r].push(o),t++},process:function(){for(var t=i;t<=n;t++)for(var r=e[t],o=0;o<r.length;o++)(0,r[o])()},size:function(){return t}}}e.exports=function(e){var t=(e=e||{}).reporter,n=i.getOption(e,"async",!0),o=i.getOption(e,"auto",!0)
5
- o&&!n&&(t&&t.warn("Invalid options combination. auto=true and async=false is invalid. Setting async=true."),n=!0)
6
- var a,s=r(),l=!1
7
- function c(){for(l=!0;s.size();){var e=s
8
- s=r(),e.process()}l=!1}function d(){a=setTimeout(c,0)}return{add:function(e,t){!l&&o&&n&&0===s.size()&&d(),s.add(e,t)},force:function(e){l||(void 0===e&&(e=n),a&&(clearTimeout(a),a=null),e?d():c())}}}},389:e=>{"use strict";(e.exports={}).getOption=function(e,t,n){var i=e[t]
9
- return null==i&&void 0!==n?n:i}},422:e=>{"use strict"
10
- var t=e.exports={}
11
- t.isIE=function(e){return!(-1===(t=navigator.userAgent.toLowerCase()).indexOf("msie")&&-1===t.indexOf("trident")&&-1===t.indexOf(" edge/")||e&&e!==function(){var e=3,t=document.createElement("div"),n=t.getElementsByTagName("i")
12
- do{t.innerHTML="\x3c!--[if gt IE "+ ++e+"]><i></i><![endif]--\x3e"}while(n[0])
13
- return e>4?e:void 0}())
14
- var t},t.isLegacyOpera=function(){return!!window.opera}},785:e=>{"use strict";(e.exports={}).forEach=function(e,t){for(var n=0;n<e.length;n++){var i=t(e[n])
15
- if(i)return i}}},325:(e,t,n)=>{"use strict"
16
- var i=n(422)
17
- e.exports=function(e){var t=(e=e||{}).reporter,n=e.batchProcessor,r=e.stateHandler.getState
18
- if(!t)throw new Error("Missing required dependency: reporter.")
19
- function o(t){var n=e.important?" !important; ":"; "
20
- return(t.join(n)+n).trim()}function a(e){return r(e).object}return{makeDetectable:function(e,a,s){s||(s=a,a=e,e=null),(e=e||{}).debug,i.isIE(8)?s(a):function(a,s){var l=o(["display: block","position: absolute","top: 0","left: 0","width: 100%","height: 100%","border: none","padding: 0","margin: 0","opacity: 0","z-index: -1000","pointer-events: none"]),c=!1,d=window.getComputedStyle(a),u=a.offsetWidth,f=a.offsetHeight
21
- function h(){function n(){if("static"===d.position){a.style.setProperty("position","relative",e.important?"important":"")
22
- var n=function(t,n,i,r){var o=i[r]
23
- "auto"!==o&&"0"!==function(e){return e.replace(/[^-\d\.]/g,"")}(o)&&(t.warn("An element that is positioned static has style."+r+"="+o+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+r+" will be set to 0. Element: ",n),n.style.setProperty(r,"0",e.important?"important":""))}
24
- n(t,a,d,"top"),n(t,a,d,"right"),n(t,a,d,"bottom"),n(t,a,d,"left")}}""!==d.position&&(n(),c=!0)
25
- var o=document.createElement("object")
26
- o.style.cssText=l,o.tabIndex=-1,o.type="text/html",o.setAttribute("aria-hidden","true"),o.onload=function(){c||n(),function e(t,n){if(!t.contentDocument){var i=r(t)
27
- return i.checkForObjectDocumentTimeoutId&&window.clearTimeout(i.checkForObjectDocumentTimeoutId),void(i.checkForObjectDocumentTimeoutId=setTimeout((function(){i.checkForObjectDocumentTimeoutId=0,e(t,n)}),100))}n(t.contentDocument)}(this,(function(e){s(a)}))},i.isIE()||(o.data="about:blank"),r(a)&&(a.appendChild(o),r(a).object=o,i.isIE()&&(o.data="about:blank"))}r(a).startSize={width:u,height:f},n?n.add(h):h()}(a,s)},addListener:function(e,t){function n(){t(e)}if(i.isIE(8))r(e).object={proxy:n},e.attachEvent("onresize",n)
28
- else{var o=a(e)
29
- if(!o)throw new Error("Element is not detectable by this strategy.")
30
- o.contentDocument.defaultView.addEventListener("resize",n)}},uninstall:function(e){if(r(e)){var t=a(e)
31
- t&&(i.isIE(8)?e.detachEvent("onresize",t.proxy):e.removeChild(t),r(e).checkForObjectDocumentTimeoutId&&window.clearTimeout(r(e).checkForObjectDocumentTimeoutId),delete r(e).object)}}}}},659:(e,t,n)=>{"use strict"
32
- var i=n(785).forEach
33
- e.exports=function(e){var t=(e=e||{}).reporter,n=e.batchProcessor,r=e.stateHandler.getState,o=(e.stateHandler.hasState,e.idHandler)
34
- if(!n)throw new Error("Missing required dependency: batchProcessor")
35
- if(!t)throw new Error("Missing required dependency: reporter.")
36
- var a=function(){var e=document.createElement("div")
37
- e.style.cssText=c(["position: absolute","width: 1000px","height: 1000px","visibility: hidden","margin: 0","padding: 0"])
38
- var t=document.createElement("div")
39
- t.style.cssText=c(["position: absolute","width: 500px","height: 500px","overflow: scroll","visibility: none","top: -1500px","left: -1500px","visibility: hidden","margin: 0","padding: 0"]),t.appendChild(e),document.body.insertBefore(t,document.body.firstChild)
40
- var n=500-t.clientWidth,i=500-t.clientHeight
41
- return document.body.removeChild(t),{width:n,height:i}}(),s="erd_scroll_detection_container"
42
- function l(e){!function(e,t,n){if(!e.getElementById(t)){var i=n+"_animation",r="/* Created by the element-resize-detector library. */\n"
43
- r+="."+n+" > div::-webkit-scrollbar { "+c(["display: none"])+" }\n\n",r+=".erd_scroll_detection_container_animation_active { "+c(["-webkit-animation-duration: 0.1s","animation-duration: 0.1s","-webkit-animation-name: "+i,"animation-name: "+i])+" }\n",r+="@-webkit-keyframes "+i+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",function(n,i){i=i||function(t){e.head.appendChild(t)}
44
- var r=e.createElement("style")
45
- r.innerHTML=n,r.id=t,i(r)}(r+="@keyframes "+i+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }")}}(e,"erd_scroll_detection_scrollbar_style",s)}function c(t){var n=e.important?" !important; ":"; "
46
- return(t.join(n)+n).trim()}function d(e,n,i){if(e.addEventListener)e.addEventListener(n,i)
47
- else{if(!e.attachEvent)return t.error("[scroll] Don't know how to add event listeners.")
48
- e.attachEvent("on"+n,i)}}function u(e,n,i){if(e.removeEventListener)e.removeEventListener(n,i)
49
- else{if(!e.detachEvent)return t.error("[scroll] Don't know how to remove event listeners.")
50
- e.detachEvent("on"+n,i)}}function f(e){return r(e).container.childNodes[0].childNodes[0].childNodes[0]}function h(e){return r(e).container.childNodes[0].childNodes[0].childNodes[1]}return l(window.document),{makeDetectable:function(e,l,u){function p(){if(e.debug){var n=Array.prototype.slice.call(arguments)
51
- if(n.unshift(o.get(l),"Scroll: "),t.log.apply)t.log.apply(null,n)
52
- else for(var i=0;i<n.length;i++)t.log(n[i])}}function m(e){var t=r(e).container.childNodes[0],n=window.getComputedStyle(t)
53
- return!n.width||-1===n.width.indexOf("px")}function g(){var e=window.getComputedStyle(l),t={}
54
- return t.position=e.position,t.width=l.offsetWidth,t.height=l.offsetHeight,t.top=e.top,t.right=e.right,t.bottom=e.bottom,t.left=e.left,t.widthCSS=e.width,t.heightCSS=e.height,t}function v(){if(p("storeStyle invoked."),r(l)){var e=g()
55
- r(l).style=e}else p("Aborting because element has been uninstalled")}function b(e,t,n){r(e).lastWidth=t,r(e).lastHeight=n}function y(){return 2*a.width+1}function w(){return 2*a.height+1}function x(e){return e+10+y()}function E(e){return e+10+w()}function S(e,t,n){var i=f(e),r=h(e),o=x(t),a=E(n),s=function(e){return 2*e+y()}(t),l=function(e){return 2*e+w()}(n)
56
- i.scrollLeft=o,i.scrollTop=a,r.scrollLeft=s,r.scrollTop=l}function _(){var e=r(l).container
57
- if(!e){(e=document.createElement("div")).className=s,e.style.cssText=c(["visibility: hidden","display: inline","width: 0px","height: 0px","z-index: -1","overflow: hidden","margin: 0","padding: 0"]),r(l).container=e,function(e){e.className+=" "+s+"_animation_active"}(e),l.appendChild(e)
58
- var t=function(){r(l).onRendered&&r(l).onRendered()}
59
- d(e,"animationstart",t),r(l).onAnimationStart=t}return e}function A(){if(p("Injecting elements"),r(l)){!function(){var n=r(l).style
60
- if("static"===n.position){l.style.setProperty("position","relative",e.important?"important":"")
61
- var i=function(e,t,n,i){var r=n[i]
62
- "auto"!==r&&"0"!==function(e){return e.replace(/[^-\d\.]/g,"")}(r)&&(e.warn("An element that is positioned static has style."+i+"="+r+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+i+" will be set to 0. Element: ",t),t.style[i]=0)}
63
- i(t,l,n,"top"),i(t,l,n,"right"),i(t,l,n,"bottom"),i(t,l,n,"left")}}()
64
- var n=r(l).container
65
- n||(n=_())
66
- var i,o,u,f,h=a.width,m=a.height,g=c(["position: absolute","flex: none","overflow: hidden","z-index: -1","visibility: hidden","width: 100%","height: 100%","left: 0px","top: 0px"]),v=c(["position: absolute","flex: none","overflow: hidden","z-index: -1","visibility: hidden"].concat(["left: "+(i=(i=-(1+h))?i+"px":"0"),"top: "+(o=(o=-(1+m))?o+"px":"0"),"right: "+(f=(f=-h)?f+"px":"0"),"bottom: "+(u=(u=-m)?u+"px":"0")])),b=c(["position: absolute","flex: none","overflow: scroll","z-index: -1","visibility: hidden","width: 100%","height: 100%"]),y=c(["position: absolute","flex: none","overflow: scroll","z-index: -1","visibility: hidden","width: 100%","height: 100%"]),w=c(["position: absolute","left: 0","top: 0"]),x=c(["position: absolute","width: 200%","height: 200%"]),E=document.createElement("div"),S=document.createElement("div"),A=document.createElement("div"),k=document.createElement("div"),z=document.createElement("div"),D=document.createElement("div")
67
- E.dir="ltr",E.style.cssText=g,E.className=s,S.className=s,S.style.cssText=v,A.style.cssText=b,k.style.cssText=w,z.style.cssText=y,D.style.cssText=x,A.appendChild(k),z.appendChild(D),S.appendChild(A),S.appendChild(z),E.appendChild(S),n.appendChild(E),d(A,"scroll",T),d(z,"scroll",I),r(l).onExpandScroll=T,r(l).onShrinkScroll=I}else p("Aborting because element has been uninstalled")
68
- function T(){r(l).onExpand&&r(l).onExpand()}function I(){r(l).onShrink&&r(l).onShrink()}}function k(){function a(t,n,i){var r=function(e){return f(e).childNodes[0]}(t),o=x(n),a=E(i)
69
- r.style.setProperty("width",o+"px",e.important?"important":""),r.style.setProperty("height",a+"px",e.important?"important":"")}function s(i){var s=l.offsetWidth,d=l.offsetHeight,u=s!==r(l).lastWidth||d!==r(l).lastHeight
70
- p("Storing current size",s,d),b(l,s,d),n.add(0,(function(){if(u)if(r(l))if(c()){if(e.debug){var n=l.offsetWidth,i=l.offsetHeight
71
- n===s&&i===d||t.warn(o.get(l),"Scroll: Size changed before updating detector elements.")}a(l,s,d)}else p("Aborting because element container has not been initialized")
72
- else p("Aborting because element has been uninstalled")})),n.add(1,(function(){r(l)?c()?S(l,s,d):p("Aborting because element container has not been initialized"):p("Aborting because element has been uninstalled")})),u&&i&&n.add(2,(function(){r(l)?c()?i():p("Aborting because element container has not been initialized"):p("Aborting because element has been uninstalled")}))}function c(){return!!r(l).container}function d(){p("notifyListenersIfNeeded invoked")
73
- var e=r(l)
74
- return void 0===r(l).lastNotifiedWidth&&e.lastWidth===e.startSize.width&&e.lastHeight===e.startSize.height?p("Not notifying: Size is the same as the start size, and there has been no notification yet."):e.lastWidth===e.lastNotifiedWidth&&e.lastHeight===e.lastNotifiedHeight?p("Not notifying: Size already notified"):(p("Current size not notified, notifying..."),e.lastNotifiedWidth=e.lastWidth,e.lastNotifiedHeight=e.lastHeight,void i(r(l).listeners,(function(e){e(l)})))}function u(){p("Scroll detected."),m(l)?p("Scroll event fired while unrendered. Ignoring..."):s(d)}if(p("registerListenersAndPositionElements invoked."),r(l)){r(l).onRendered=function(){if(p("startanimation triggered."),m(l))p("Ignoring since element is still unrendered...")
75
- else{p("Element rendered.")
76
- var e=f(l),t=h(l)
77
- 0!==e.scrollLeft&&0!==e.scrollTop&&0!==t.scrollLeft&&0!==t.scrollTop||(p("Scrollbars out of sync. Updating detector elements..."),s(d))}},r(l).onExpand=u,r(l).onShrink=u
78
- var g=r(l).style
79
- a(l,g.width,g.height)}else p("Aborting because element has been uninstalled")}function z(){if(p("finalizeDomMutation invoked."),r(l)){var e=r(l).style
80
- b(l,e.width,e.height),S(l,e.width,e.height)}else p("Aborting because element has been uninstalled")}function D(){u(l)}function T(){var e
81
- p("Installing..."),r(l).listeners=[],e=g(),r(l).startSize={width:e.width,height:e.height},p("Element start size",r(l).startSize),n.add(0,v),n.add(1,A),n.add(2,k),n.add(3,z),n.add(4,D)}u||(u=l,l=e,e=null),e=e||{},p("Making detectable..."),function(e){return!function(e){var t=e.getRootNode&&e.getRootNode().contains(e)
82
- return e===e.ownerDocument.body||e.ownerDocument.body.contains(e)||t}(e)||null===window.getComputedStyle(e)}(l)?(p("Element is detached"),_(),p("Waiting until element is attached..."),r(l).onRendered=function(){p("Element is now attached"),T()}):T()},addListener:function(e,t){if(!r(e).listeners.push)throw new Error("Cannot add listener to an element that is not detectable.")
83
- r(e).listeners.push(t)},uninstall:function(e){var t=r(e)
84
- t&&(t.onExpandScroll&&u(f(e),"scroll",t.onExpandScroll),t.onShrinkScroll&&u(h(e),"scroll",t.onShrinkScroll),t.onAnimationStart&&u(t.container,"animationstart",t.onAnimationStart),t.container&&e.removeChild(t.container))},initDocument:l}}},923:(e,t,n)=>{"use strict"
85
- var i=n(785).forEach,r=n(234),o=n(382),a=n(383),s=n(318),l=n(962),c=n(422),d=n(62),u=n(510),f=n(325),h=n(659)
86
- function p(e){return Array.isArray(e)||void 0!==e.length}function m(e){if(Array.isArray(e))return e
87
- var t=[]
88
- return i(e,(function(e){t.push(e)})),t}function g(e){return e&&1===e.nodeType}function v(e,t,n){var i=e[t]
89
- return null==i&&void 0!==n?n:i}e.exports=function(e){var t
90
- if((e=e||{}).idHandler)t={get:function(t){return e.idHandler.get(t,!0)},set:e.idHandler.set}
91
- else{var n=a(),b=s({idGenerator:n,stateHandler:u})
92
- t=b}var y=e.reporter
93
- y||(y=l(!1===y))
94
- var w=v(e,"batchProcessor",d({reporter:y})),x={}
95
- x.callOnAdd=!!v(e,"callOnAdd",!0),x.debug=!!v(e,"debug",!1)
96
- var E,S=o(t),_=r({stateHandler:u}),A=v(e,"strategy","object"),k=v(e,"important",!1),z={reporter:y,batchProcessor:w,stateHandler:u,idHandler:t,important:k}
97
- if("scroll"===A&&(c.isLegacyOpera()?(y.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),A="object"):c.isIE(9)&&(y.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),A="object")),"scroll"===A)E=h(z)
98
- else{if("object"!==A)throw new Error("Invalid strategy name: "+A)
99
- E=f(z)}var D={}
100
- return{listenTo:function(e,n,r){function o(e){var t=S.get(e)
101
- i(t,(function(t){t(e)}))}function a(e,t,n){S.add(t,n),e&&n(t)}if(r||(r=n,n=e,e={}),!n)throw new Error("At least one element required.")
102
- if(!r)throw new Error("Listener required.")
103
- if(g(n))n=[n]
104
- else{if(!p(n))return y.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.")
105
- n=m(n)}var s=0,l=v(e,"callOnAdd",x.callOnAdd),c=v(e,"onReady",(function(){})),d=v(e,"debug",x.debug)
106
- i(n,(function(e){u.getState(e)||(u.initState(e),t.set(e))
107
- var f=t.get(e)
108
- if(d&&y.log("Attaching listener to element",f,e),!_.isDetectable(e))return d&&y.log(f,"Not detectable."),_.isBusy(e)?(d&&y.log(f,"System busy making it detectable"),a(l,e,r),D[f]=D[f]||[],void D[f].push((function(){++s===n.length&&c()}))):(d&&y.log(f,"Making detectable..."),_.markBusy(e,!0),E.makeDetectable({debug:d,important:k},e,(function(e){if(d&&y.log(f,"onElementDetectable"),u.getState(e)){_.markAsDetectable(e),_.markBusy(e,!1),E.addListener(e,o),a(l,e,r)
109
- var t=u.getState(e)
110
- if(t&&t.startSize){var h=e.offsetWidth,p=e.offsetHeight
111
- t.startSize.width===h&&t.startSize.height===p||o(e)}D[f]&&i(D[f],(function(e){e()}))}else d&&y.log(f,"Element uninstalled before being detectable.")
112
- delete D[f],++s===n.length&&c()})))
113
- d&&y.log(f,"Already detecable, adding listener."),a(l,e,r),s++})),s===n.length&&c()},removeListener:S.removeListener,removeAllListeners:S.removeAllListeners,uninstall:function(e){if(!e)return y.error("At least one element is required.")
114
- if(g(e))e=[e]
115
- else{if(!p(e))return y.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.")
116
- e=m(e)}i(e,(function(e){S.removeAllListeners(e),E.uninstall(e),u.cleanState(e)}))},initDocument:function(e){E.initDocument&&E.initDocument(e)}}}},234:e=>{"use strict"
117
- e.exports=function(e){var t=e.stateHandler.getState
118
- return{isDetectable:function(e){var n=t(e)
119
- return n&&!!n.isDetectable},markAsDetectable:function(e){t(e).isDetectable=!0},isBusy:function(e){return!!t(e).busy},markBusy:function(e,n){t(e).busy=!!n}}}},383:e=>{"use strict"
120
- e.exports=function(){var e=1
121
- return{generate:function(){return e++}}}},318:e=>{"use strict"
122
- e.exports=function(e){var t=e.idGenerator,n=e.stateHandler.getState
123
- return{get:function(e){var t=n(e)
124
- return t&&void 0!==t.id?t.id:null},set:function(e){var i=n(e)
125
- if(!i)throw new Error("setId required the element to have a resize detection state.")
126
- var r=t.generate()
127
- return i.id=r,r}}}},382:e=>{"use strict"
128
- e.exports=function(e){var t={}
129
- function n(n){var i=e.get(n)
130
- return void 0===i?[]:t[i]||[]}return{get:n,add:function(n,i){var r=e.get(n)
131
- t[r]||(t[r]=[]),t[r].push(i)},removeListener:function(e,t){for(var i=n(e),r=0,o=i.length;r<o;++r)if(i[r]===t){i.splice(r,1)
132
- break}},removeAllListeners:function(e){var t=n(e)
133
- t&&(t.length=0)}}}},962:e=>{"use strict"
134
- e.exports=function(e){function t(){}var n={log:t,warn:t,error:t}
135
- if(!e&&window.console){var i=function(e,t){e[t]=function(){var e=console[t]
136
- if(e.apply)e.apply(console,arguments)
137
- else for(var n=0;n<arguments.length;n++)e(arguments[n])}}
138
- i(n,"log"),i(n,"warn"),i(n,"error")}return n}},510:e=>{"use strict"
139
- function t(e){return e._erd}e.exports={initState:function(e){return e._erd={},t(e)},getState:t,cleanState:function(e){delete e._erd}}},984:(e,t,n)=>{var i,r
140
- e.exports=(i=_eai_d,r=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},void i("element-resize-detector",[],(function(){return n(923)})))},384:function(e,t){window._eai_r=require,window._eai_d=define}},t={}
141
- function n(i){var r=t[i]
142
- if(void 0!==r)return r.exports
143
- var o=t[i]={exports:{}}
144
- return e[i].call(o.exports,o,o.exports,n),o.exports}n(384)
145
- var i=n(984)
146
- __ember_auto_import__=i})()