ember-inspector 4.4.1 → 4.5.0

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 (163) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +20 -12
  3. package/.github/workflows/build.yml +1 -0
  4. package/.tool-versions +1 -0
  5. package/CHANGELOG.md +31 -2
  6. package/app/{templates → components}/component-tree-toolbar.hbs +5 -5
  7. package/app/{templates → components}/container-type-toolbar.hbs +3 -3
  8. package/app/{templates/container-types/index-toolbar.hbs → components/container-types-toolbar.hbs} +2 -2
  9. package/app/components/date-property-field.js +4 -10
  10. package/app/{templates → components}/deprecations-toolbar.hbs +4 -4
  11. package/app/{templates → components}/libraries-toolbar.hbs +0 -0
  12. package/app/{templates → components}/model-types-toolbar.hbs +4 -4
  13. package/app/{templates → components}/promise-tree-toolbar.hbs +13 -13
  14. package/app/components/records-toolbar.hbs +26 -0
  15. package/app/components/render-tree-toolbar.hbs +33 -0
  16. package/app/components/route-cell-name.js +1 -1
  17. package/app/{templates → components}/route-tree-toolbar.hbs +3 -3
  18. package/app/components/scroll-container.js +3 -1
  19. package/app/computed/debounce.js +1 -3
  20. package/app/controllers/deprecations.js +1 -0
  21. package/app/controllers/render-tree.js +19 -4
  22. package/app/controllers/route-tree.js +51 -44
  23. package/app/initializers/setup.js +7 -18
  24. package/app/models/promise.js +3 -4
  25. package/app/routes/application.js +2 -14
  26. package/app/routes/component-tree.js +3 -0
  27. package/app/routes/deprecations.js +4 -0
  28. package/app/routes/launch.js +1 -0
  29. package/app/routes/libraries.js +1 -0
  30. package/app/routes/promise-tree.js +6 -0
  31. package/app/routes/render-tree.js +27 -10
  32. package/app/routes/route-tree.js +3 -2
  33. package/app/routes/tab.js +9 -9
  34. package/app/routes/whats-new.js +2 -0
  35. package/app/{adapters → services/adapters}/basic.js +3 -3
  36. package/app/{adapters → services/adapters}/bookmarklet.js +0 -0
  37. package/app/{adapters → services/adapters}/chrome.js +0 -0
  38. package/app/{adapters → services/adapters}/firefox.js +0 -0
  39. package/app/{adapters → services/adapters}/web-extension.js +0 -0
  40. package/app/{adapters → services/adapters}/websocket.js +0 -0
  41. package/app/services/port.js +3 -2
  42. package/app/templates/application.hbs +1 -1
  43. package/app/templates/component-tree.hbs +20 -4
  44. package/app/templates/container-type.hbs +10 -0
  45. package/app/templates/container-types/index.hbs +10 -0
  46. package/app/templates/deprecations.hbs +13 -10
  47. package/app/templates/libraries.hbs +12 -11
  48. package/app/templates/model-types.hbs +15 -2
  49. package/app/templates/promise-tree.hbs +22 -7
  50. package/app/templates/records.hbs +15 -7
  51. package/app/templates/render-tree.hbs +32 -9
  52. package/app/templates/route-tree.hbs +23 -14
  53. package/app/templates/whats-new.hbs +8 -4
  54. package/config/ember-cli-update.json +1 -1
  55. package/config/ember-try.js +8 -0
  56. package/config/targets.js +14 -6
  57. package/dist/bookmarklet/panes-3-4-0/assets/chunk.143.701794df61367d9c0beb.js +146 -0
  58. package/dist/bookmarklet/panes-3-4-0/assets/chunk.178.1fa501a69a8888639ff4.js +20 -0
  59. package/dist/bookmarklet/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js +505 -0
  60. package/dist/bookmarklet/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt +8 -0
  61. package/dist/bookmarklet/panes-3-4-0/assets/ember-inspector.js +617 -1512
  62. package/dist/bookmarklet/panes-3-4-0/assets/vendor.css +9 -2
  63. package/dist/bookmarklet/panes-3-4-0/assets/vendor.js +6132 -7501
  64. package/dist/bookmarklet/panes-3-4-0/ember_debug.js +731 -416
  65. package/dist/bookmarklet/panes-3-4-0/index.html +2 -1
  66. package/dist/chrome/manifest.json +1 -1
  67. package/dist/chrome/panes-3-4-0/assets/chunk.143.701794df61367d9c0beb.js +146 -0
  68. package/dist/chrome/panes-3-4-0/assets/chunk.178.1fa501a69a8888639ff4.js +20 -0
  69. package/dist/chrome/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js +505 -0
  70. package/dist/chrome/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt +8 -0
  71. package/dist/chrome/panes-3-4-0/assets/ember-inspector.js +617 -1512
  72. package/dist/chrome/panes-3-4-0/assets/vendor.css +9 -2
  73. package/dist/chrome/panes-3-4-0/assets/vendor.js +6132 -7501
  74. package/dist/chrome/panes-3-4-0/ember_debug.js +731 -416
  75. package/dist/chrome/panes-3-4-0/index.html +2 -1
  76. package/dist/firefox/manifest.json +1 -1
  77. package/dist/firefox/panes-3-4-0/assets/chunk.143.701794df61367d9c0beb.js +146 -0
  78. package/dist/firefox/panes-3-4-0/assets/chunk.178.1fa501a69a8888639ff4.js +20 -0
  79. package/dist/firefox/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js +505 -0
  80. package/dist/firefox/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt +8 -0
  81. package/dist/firefox/panes-3-4-0/assets/ember-inspector.js +617 -1512
  82. package/dist/firefox/panes-3-4-0/assets/vendor.css +9 -2
  83. package/dist/firefox/panes-3-4-0/assets/vendor.js +6132 -7501
  84. package/dist/firefox/panes-3-4-0/ember_debug.js +731 -416
  85. package/dist/firefox/panes-3-4-0/index.html +2 -1
  86. package/dist/websocket/assets/chunk.143.701794df61367d9c0beb.js +146 -0
  87. package/dist/websocket/assets/chunk.178.1fa501a69a8888639ff4.js +20 -0
  88. package/dist/websocket/assets/chunk.916.cfdae71ef87e943d7ad0.js +505 -0
  89. package/dist/websocket/assets/chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt +8 -0
  90. package/dist/websocket/assets/ember-inspector.js +617 -1512
  91. package/dist/websocket/assets/vendor.css +9 -2
  92. package/dist/websocket/assets/vendor.js +6132 -7501
  93. package/dist/websocket/ember_debug.js +731 -416
  94. package/dist/websocket/index.html +2 -1
  95. package/ember_debug/adapters/basic.js +4 -3
  96. package/ember_debug/adapters/web-extension.js +2 -1
  97. package/ember_debug/adapters/websocket.js +4 -7
  98. package/ember_debug/container-debug.js +2 -3
  99. package/ember_debug/data-debug.js +4 -3
  100. package/ember_debug/deprecation-debug.js +12 -15
  101. package/ember_debug/general-debug.js +3 -4
  102. package/ember_debug/libs/promise-assembler.js +12 -14
  103. package/ember_debug/libs/source-map.js +3 -8
  104. package/ember_debug/main.js +11 -11
  105. package/ember_debug/mixins/port-mixin.js +1 -3
  106. package/ember_debug/models/profile-manager.js +135 -3
  107. package/ember_debug/models/profile-node.js +2 -4
  108. package/ember_debug/models/promise.js +3 -4
  109. package/ember_debug/object-inspector.js +15 -19
  110. package/ember_debug/port.js +7 -5
  111. package/ember_debug/promise-debug.js +16 -17
  112. package/ember_debug/render-debug.js +11 -4
  113. package/ember_debug/route-debug.js +5 -10
  114. package/ember_debug/services/session.js +1 -3
  115. package/ember_debug/utils/ember/application.js +11 -0
  116. package/ember_debug/utils/ember/array/index.js +11 -0
  117. package/ember_debug/utils/ember/array/mutable.js +11 -0
  118. package/ember_debug/utils/ember/array/proxy.js +11 -0
  119. package/ember_debug/utils/ember/component.js +11 -0
  120. package/ember_debug/utils/ember/debug.js +15 -0
  121. package/ember_debug/utils/{ember.js → ember/index.js} +1 -0
  122. package/ember_debug/utils/ember/instrumentation.js +11 -0
  123. package/ember_debug/utils/ember/object/computed.js +11 -0
  124. package/ember_debug/utils/ember/object/evented.js +11 -0
  125. package/ember_debug/utils/ember/object/index.js +15 -0
  126. package/ember_debug/utils/ember/object/internals.js +11 -0
  127. package/ember_debug/utils/ember/object/mixin.js +11 -0
  128. package/ember_debug/utils/ember/object/observable.js +11 -0
  129. package/ember_debug/utils/ember/object/promise-proxy-mixin.js +13 -0
  130. package/ember_debug/utils/ember/runloop.js +17 -0
  131. package/ember_debug/utils/ember/utils.js +11 -0
  132. package/ember_debug/utils/rsvp.js +14 -0
  133. package/ember_debug/vendor/startup-wrapper.js +21 -12
  134. package/ember_debug/view-debug.js +2 -3
  135. package/package.json +43 -37
  136. package/tests/acceptance/app-picker-test.js +3 -3
  137. package/tests/acceptance/component-tree-test.js +17 -3
  138. package/tests/acceptance/container-test.js +8 -6
  139. package/tests/acceptance/data-test.js +2 -0
  140. package/tests/acceptance/deprecation-test.js +4 -0
  141. package/tests/acceptance/object-inspector-test.js +29 -1
  142. package/tests/acceptance/promise-test.js +11 -1
  143. package/tests/acceptance/route-tree-test.js +10 -0
  144. package/tests/acceptance/whats-new-test.js +1 -1
  145. package/tests/ember_debug/ember-debug-test.js +2 -0
  146. package/tests/ember_debug/object-inspector-test.js +54 -22
  147. package/tests/ember_debug/profile-manager-test.js +563 -6
  148. package/tests/ember_debug/profile-node-test.js +5 -5
  149. package/tests/ember_debug/promise-assembler-test.js +2 -0
  150. package/tests/ember_debug/promise-debug-test.js +7 -5
  151. package/tests/ember_debug/render-debug-test.js +1 -1
  152. package/tests/ember_debug/view-debug-test.js +8 -8
  153. package/tests/helpers/setup-ember-debug-test.js +11 -6
  154. package/tests/index.html +8 -1
  155. package/tests/integration/components/component-tree-arg-test.js +1 -1
  156. package/tests/test-adapter.js +1 -1
  157. package/tests/test-helper.js +5 -1
  158. package/tests/unit/check-current-route-test.js +4 -0
  159. package/tests/unit/is-route-substate-test.js +8 -8
  160. package/tests/unit/match-test.js +2 -2
  161. package/app/templates/records-toolbar.hbs +0 -26
  162. package/app/templates/render-tree-toolbar.hbs +0 -20
  163. package/tests/.eslintrc.js +0 -8
@@ -1,3 +1,17 @@
1
+ {{#if this.toolbarContainer}}
2
+ {{#in-element this.toolbarContainer}}
3
+ <RenderTreeToolbar
4
+ @clearProfiles={{action send "clearProfiles"}}
5
+ @refreshPage={{action send "refreshPage"}}
6
+ @searchValue={{this.searchValue}}
7
+ @showEmpty={{this.showEmpty}}
8
+ @shouldHighlightRender={{this.shouldHighlightRender}}
9
+ @updateShouldHighlightRender={{this.updateShouldHighlightRender}}
10
+ @isHighlightEnabled={{this.isHighlightEnabled}}
11
+ />
12
+ {{/in-element}}
13
+ {{/if}}
14
+
1
15
  {{#unless this.isWarningClosed}}
2
16
  <Ui::WarningMessage @close={{this.closeWarning}}>
3
17
  Render times may be inaccurate due to instrumentation and environment
@@ -6,9 +20,22 @@
6
20
 
7
21
  {{#if this.showEmpty}}
8
22
  <Ui::EmptyMessage class="js-render-tree-empty">
9
- <p>No rendering metrics have been collected. Try reloading or navigating around your application.</p>
10
- <p><strong>Note:</strong> Very fast rendering times (&lt;1ms) are excluded.</p>
11
- <button class="js-toolbar-page-refresh-btn" {{action "refreshPage"}} type="button">Reload</button>
23
+ <p>
24
+ No rendering metrics have been collected. Try reloading or navigating around your application.
25
+ </p>
26
+ <p>
27
+ <strong>
28
+ Note:
29
+ </strong>
30
+ Very fast rendering times (&lt;1ms) are excluded.
31
+ </p>
32
+ <button
33
+ class="js-toolbar-page-refresh-btn"
34
+ type="button"
35
+ {{action "refreshPage"}}
36
+ >
37
+ Reload
38
+ </button>
12
39
  </Ui::EmptyMessage>
13
40
  {{else}}
14
41
  <List
@@ -18,12 +45,8 @@
18
45
  >
19
46
  <tbody>
20
47
  {{#each this.filtered as |item|}}
21
- <RenderItem
22
- @model={{item}}
23
- @search={{this.search}}
24
- @list={{list}}
25
- />
48
+ <RenderItem @model={{item}} @search={{this.search}} @list={{list}} />
26
49
  {{/each}}
27
50
  </tbody>
28
51
  </List>
29
- {{/if}}
52
+ {{/if}}
@@ -1,24 +1,33 @@
1
+ {{#if this.toolbarContainer}}
2
+ {{#in-element this.toolbarContainer}}
3
+ <RouteTreeToolbar
4
+ @options={{this.options}}
5
+ @searchValue={{this.searchValue}}
6
+ />
7
+ {{/in-element}}
8
+ {{/if}}
9
+
1
10
  <EmberTable as |t|>
2
- <t.head
3
- @columns={{schema-for "route-tree"}}
4
- @enableReorder={{false}}
5
- />
11
+ <t.head @columns={{schema-for "route-tree"}} @enableReorder={{false}} />
6
12
 
7
- <t.body
8
- @rows={{this.rows}}
9
- @checkboxSelectionMode="none"
10
- as |b|
11
- >
13
+ <t.body @rows={{this.rows}} @checkboxSelectionMode="none" as |b|>
12
14
  <b.row
13
- class={{concat "list__row js-route-tree-item" (if (mod b.rowMeta.index 2) " striped")}}
14
- as |r|
15
+ class={{
16
+ concat
17
+ "list__row js-route-tree-item"
18
+ (if (mod b.rowMeta.index 2) " striped")
19
+ }} as |r|
15
20
  >
16
21
  <r.cell as |route|>
17
- {{#let (component (concat "route-cell-" r.columnValue.valuePath)) as |Cell|}}
22
+ {{#let
23
+ (component (concat "route-cell-" r.columnValue.valuePath)) as |Cell|
24
+ }}
18
25
  <Cell
19
26
  @route={{route}}
20
27
  @currentRoute={{this.currentRoute}}
21
- @inspectController={{fn this.inspectController route.value.controller}}
28
+ @inspectController={{
29
+ fn this.inspectController route.value.controller
30
+ }}
22
31
  @inspectRoute={{fn this.inspectRoute route.value.routeHandler.name}}
23
32
  @sendControllerToConsole={{this.sendControllerToConsole}}
24
33
  @sendRouteHandlerToConsole={{this.sendRouteHandlerToConsole}}
@@ -27,4 +36,4 @@
27
36
  </r.cell>
28
37
  </b.row>
29
38
  </t.body>
30
- </EmberTable>
39
+ </EmberTable>
@@ -1,10 +1,14 @@
1
1
  <div class="whats-new">
2
- <h1>What's New in Ember Inspector</h1>
2
+ <h1>
3
+ What's New in Ember Inspector
4
+ </h1>
3
5
  {{#if this.error}}
4
- <p>Changelog could not be loaded</p>
6
+ <p>
7
+ Changelog could not be loaded
8
+ </p>
5
9
  {{else}}
6
10
  <Ui::OpenLinksInNewWindow>
7
- {{markdown-to-html this.model}}
11
+ <MarkdownToHtml @markdown={{this.model}} />
8
12
  </Ui::OpenLinksInNewWindow>
9
13
  {{/if}}
10
- </div>
14
+ </div>
@@ -3,7 +3,7 @@
3
3
  "packages": [
4
4
  {
5
5
  "name": "ember-cli",
6
- "version": "3.26.1",
6
+ "version": "3.28.0",
7
7
  "blueprints": [
8
8
  {
9
9
  "name": "app",
@@ -53,6 +53,14 @@ module.exports = function() {
53
53
  }
54
54
  }
55
55
  },
56
+ {
57
+ name: 'ember-lts-3.24',
58
+ npm: {
59
+ devDependencies: {
60
+ 'ember-source': '~3.24.0'
61
+ }
62
+ }
63
+ },
56
64
  {
57
65
  name: 'ember-release',
58
66
  npm: {
package/config/targets.js CHANGED
@@ -6,12 +6,20 @@ const browsers = [
6
6
  'last 1 Safari versions',
7
7
  ];
8
8
 
9
- const isCI = Boolean(process.env.CI);
10
- const isProduction = process.env.EMBER_ENV === 'production';
11
-
12
- if (isCI || isProduction) {
13
- browsers.push('ie 11');
14
- }
9
+ // Ember's browser support policy is changing, and IE11 support will end in
10
+ // v4.0 onwards.
11
+ //
12
+ // See https://deprecations.emberjs.com/v3.x#toc_3-0-browser-support-policy
13
+ //
14
+ // If you need IE11 support on a version of Ember that still offers support
15
+ // for it, uncomment the code block below.
16
+ //
17
+ // const isCI = Boolean(process.env.CI);
18
+ // const isProduction = process.env.EMBER_ENV === 'production';
19
+ //
20
+ // if (isCI || isProduction) {
21
+ // browsers.push('ie 11');
22
+ // }
15
23
 
16
24
  module.exports = {
17
25
  browsers,
@@ -0,0 +1,146 @@
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}}},788:(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)})))},189: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(189)
145
+ var i=n(788)
146
+ __ember_auto_import__=i})()
@@ -0,0 +1,20 @@
1
+ var __ember_auto_import__;(()=>{var r,e={189:function(r,e){window._eai_r=require,window._eai_d=define},536:(r,e,o)=>{var i,t
2
+ r.exports=(i=_eai_d,t=_eai_r,window.emberAutoImportDynamic=function(r){return 1===arguments.length?t("_eai_dyn_"+r):t("_eai_dynt_"+r)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(r){return t("_eai_sync_"+r)(Array.prototype.slice.call(arguments,1))},void i("qunit",[],(function(){return o(916)})))}},o={}
3
+ function i(r){var t=o[r]
4
+ if(void 0!==t)return t.exports
5
+ var n=o[r]={id:r,loaded:!1,exports:{}}
6
+ return e[r].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}i.m=e,r=[],i.O=(e,o,t,n)=>{if(!o){var a=1/0
7
+ for(u=0;u<r.length;u++){for(var[o,t,n]=r[u],_=!0,l=0;l<o.length;l++)(!1&n||a>=n)&&Object.keys(i.O).every((r=>i.O[r](o[l])))?o.splice(l--,1):(_=!1,n<a&&(a=n))
8
+ if(_){r.splice(u--,1)
9
+ var p=t()
10
+ void 0!==p&&(e=p)}}return e}n=n||0
11
+ for(var u=r.length;u>0&&r[u-1][2]>n;u--)r[u]=r[u-1]
12
+ r[u]=[o,t,n]},i.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),i.nmd=r=>(r.paths=[],r.children||(r.children=[]),r),(()=>{var r={178:0}
13
+ i.O.j=e=>0===r[e]
14
+ var e=(e,o)=>{var t,n,[a,_,l]=o,p=0
15
+ if(a.some((e=>0!==r[e]))){for(t in _)i.o(_,t)&&(i.m[t]=_[t])
16
+ if(l)var u=l(i)}for(e&&e(o);p<a.length;p++)n=a[p],i.o(r,n)&&r[n]&&r[n][0](),r[a[p]]=0
17
+ return i.O(u)},o=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
18
+ o.forEach(e.bind(null,0)),o.push=e.bind(null,o.push.bind(o))})(),i.O(void 0,[916],(()=>i(189)))
19
+ var t=i.O(void 0,[916],(()=>i(536)))
20
+ t=i.O(t),__ember_auto_import__=t})()