ember-inspector 4.8.0 → 4.9.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 (65) hide show
  1. package/.github/workflows/build.yml +16 -13
  2. package/CHANGELOG.md +22 -0
  3. package/app/components/object-inspector/dependent-keys.hbs +9 -1
  4. package/app/components/object-inspector/sort-properties.js +10 -4
  5. package/app/controllers/component-tree.js +1 -0
  6. package/app/services/adapters/basic.js +2 -2
  7. package/app/services/adapters/web-extension.js +26 -22
  8. package/app/services/port.js +8 -0
  9. package/app/styles/object_inspector.scss +5 -0
  10. package/dist/bookmarklet/panes-3-16-0/assets/{chunk.143.8e39f623b854874c76cc.js → chunk.143.3e5a98d07bb218f42c73.js} +4 -4
  11. package/dist/{firefox/panes-3-16-0/assets/chunk.178.aceef4d5ceb9d49b48f7.js → bookmarklet/panes-3-16-0/assets/chunk.178.8599f53165a2cb11480c.js} +3 -3
  12. package/dist/{firefox/panes-3-16-0/assets/chunk.527.7db717391df5e1aa2388.js → bookmarklet/panes-3-16-0/assets/chunk.527.bedf7967198bca66753a.js} +1 -1
  13. package/dist/bookmarklet/panes-3-16-0/assets/{chunk.527.7db717391df5e1aa2388.js.LICENSE.txt → chunk.527.bedf7967198bca66753a.js.LICENSE.txt} +0 -0
  14. package/dist/bookmarklet/panes-3-16-0/assets/{chunk.916.2455f308cd244ed6a8d1.js → chunk.916.7f8d390eee8880f12b29.js} +288 -279
  15. package/dist/bookmarklet/panes-3-16-0/assets/{chunk.916.2455f308cd244ed6a8d1.js.LICENSE.txt → chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt} +1 -1
  16. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +5 -0
  17. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +23 -21
  18. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +3 -3
  19. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +78 -13
  20. package/dist/bookmarklet/panes-3-16-0/index.html +3 -3
  21. package/dist/chrome/background-script.js +1 -1
  22. package/dist/chrome/content-script.js +10 -10
  23. package/dist/chrome/manifest.json +1 -1
  24. package/dist/{firefox/panes-3-16-0/assets/chunk.143.8e39f623b854874c76cc.js → chrome/panes-3-16-0/assets/chunk.143.3e5a98d07bb218f42c73.js} +4 -4
  25. package/dist/{bookmarklet/panes-3-16-0/assets/chunk.178.aceef4d5ceb9d49b48f7.js → chrome/panes-3-16-0/assets/chunk.178.8599f53165a2cb11480c.js} +3 -3
  26. package/dist/chrome/panes-3-16-0/assets/{chunk.527.7db717391df5e1aa2388.js → chunk.527.bedf7967198bca66753a.js} +1 -1
  27. package/dist/chrome/panes-3-16-0/assets/{chunk.527.7db717391df5e1aa2388.js.LICENSE.txt → chunk.527.bedf7967198bca66753a.js.LICENSE.txt} +0 -0
  28. package/dist/{firefox/panes-3-16-0/assets/chunk.916.2455f308cd244ed6a8d1.js → chrome/panes-3-16-0/assets/chunk.916.7f8d390eee8880f12b29.js} +288 -279
  29. package/dist/chrome/panes-3-16-0/assets/{chunk.916.2455f308cd244ed6a8d1.js.LICENSE.txt → chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt} +1 -1
  30. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +5 -0
  31. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +23 -21
  32. package/dist/chrome/panes-3-16-0/assets/vendor.js +3 -3
  33. package/dist/chrome/panes-3-16-0/ember_debug.js +78 -13
  34. package/dist/chrome/panes-3-16-0/index.html +3 -3
  35. package/dist/firefox/background-script.js +1 -1
  36. package/dist/firefox/content-script.js +10 -10
  37. package/dist/firefox/manifest.json +1 -1
  38. package/dist/{chrome/panes-3-16-0/assets/chunk.143.8e39f623b854874c76cc.js → firefox/panes-3-16-0/assets/chunk.143.3e5a98d07bb218f42c73.js} +4 -4
  39. package/dist/{websocket/assets/chunk.178.aceef4d5ceb9d49b48f7.js → firefox/panes-3-16-0/assets/chunk.178.8599f53165a2cb11480c.js} +3 -3
  40. package/dist/{bookmarklet/panes-3-16-0/assets/chunk.527.7db717391df5e1aa2388.js → firefox/panes-3-16-0/assets/chunk.527.bedf7967198bca66753a.js} +1 -1
  41. package/dist/firefox/panes-3-16-0/assets/{chunk.527.7db717391df5e1aa2388.js.LICENSE.txt → chunk.527.bedf7967198bca66753a.js.LICENSE.txt} +0 -0
  42. package/dist/{websocket/assets/chunk.916.2455f308cd244ed6a8d1.js → firefox/panes-3-16-0/assets/chunk.916.7f8d390eee8880f12b29.js} +288 -279
  43. package/dist/firefox/panes-3-16-0/assets/{chunk.916.2455f308cd244ed6a8d1.js.LICENSE.txt → chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt} +1 -1
  44. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +5 -0
  45. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +23 -21
  46. package/dist/firefox/panes-3-16-0/assets/vendor.js +3 -3
  47. package/dist/firefox/panes-3-16-0/ember_debug.js +78 -13
  48. package/dist/firefox/panes-3-16-0/index.html +3 -3
  49. package/dist/websocket/assets/{chunk.143.8e39f623b854874c76cc.js → chunk.143.3e5a98d07bb218f42c73.js} +4 -4
  50. package/dist/{chrome/panes-3-16-0/assets/chunk.178.aceef4d5ceb9d49b48f7.js → websocket/assets/chunk.178.8599f53165a2cb11480c.js} +3 -3
  51. package/dist/websocket/assets/{chunk.527.7db717391df5e1aa2388.js → chunk.527.bedf7967198bca66753a.js} +1 -1
  52. package/dist/websocket/assets/{chunk.527.7db717391df5e1aa2388.js.LICENSE.txt → chunk.527.bedf7967198bca66753a.js.LICENSE.txt} +0 -0
  53. package/dist/{chrome/panes-3-16-0/assets/chunk.916.2455f308cd244ed6a8d1.js → websocket/assets/chunk.916.7f8d390eee8880f12b29.js} +288 -279
  54. package/dist/websocket/assets/{chunk.916.2455f308cd244ed6a8d1.js.LICENSE.txt → chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt} +1 -1
  55. package/dist/websocket/assets/ember-inspector.css +5 -0
  56. package/dist/websocket/assets/ember-inspector.js +23 -21
  57. package/dist/websocket/assets/vendor.js +3 -3
  58. package/dist/websocket/ember_debug.js +78 -13
  59. package/dist/websocket/index.html +3 -3
  60. package/ember_debug/object-inspector.js +77 -7
  61. package/ember_debug/render-debug.js +6 -3
  62. package/package.json +1 -1
  63. package/skeletons/web-extension/background-script.js +1 -1
  64. package/skeletons/web-extension/content-script.js +10 -10
  65. package/tests/ember_debug/object-inspector-test.js +36 -7
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * QUnit 2.19.1
2
+ * QUnit 2.19.2
3
3
  * https://qunitjs.com/
4
4
  *
5
5
  * Copyright OpenJS Foundation and other contributors
@@ -1438,6 +1438,11 @@ code {
1438
1438
  stroke: var(--base08);
1439
1439
  }
1440
1440
 
1441
+ .mixin__property-dependency-name.subkey {
1442
+ left: -11px;
1443
+ position: relative;
1444
+ }
1445
+
1441
1446
  .mixin__property-dependency-item:first-child:before {
1442
1447
  display: none;
1443
1448
  }
@@ -1,6 +1,6 @@
1
1
  "use strict"
2
2
  define("ember-inspector/app",["exports","@ember/application","ember-resolver","ember-load-initializers","ember-inspector/config/environment"],(function(e,t,r,n,i){function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3
- class l extends t.default{constructor(){super(...arguments),o(this,"modulePrefix",i.default.modulePrefix),o(this,"podModulePrefix",i.default.podModulePrefix),o(this,"Resolver",r.default)}}e.default=l,i.default.VERSION="4.8.0",(0,n.default)(l,i.default.modulePrefix)})),define("ember-inspector/component-managers/glimmer",["exports","@glimmer/component/-private/ember-component-manager"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ember-inspector/components/-ember-table-private/row-wrapper",["exports","ember-table/components/-private/row-wrapper"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ember-inspector/components/-ember-table-private/scroll-indicators",["exports","ember-table/components/-private/scroll-indicators/component"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ember-inspector/components/app-picker",["exports","@ember/component","@ember/template-factory","@glimmer/component","@ember/object","@ember/service"],(function(e,t,r,n,i,o){var l,a
3
+ class l extends t.default{constructor(){super(...arguments),o(this,"modulePrefix",i.default.modulePrefix),o(this,"podModulePrefix",i.default.podModulePrefix),o(this,"Resolver",r.default)}}e.default=l,i.default.VERSION="4.9.0",(0,n.default)(l,i.default.modulePrefix)})),define("ember-inspector/component-managers/glimmer",["exports","@glimmer/component/-private/ember-component-manager"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ember-inspector/components/-ember-table-private/row-wrapper",["exports","ember-table/components/-private/row-wrapper"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ember-inspector/components/-ember-table-private/scroll-indicators",["exports","ember-table/components/-private/scroll-indicators/component"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ember-inspector/components/app-picker",["exports","@ember/component","@ember/template-factory","@glimmer/component","@ember/object","@ember/service"],(function(e,t,r,n,i,o){var l,a
4
4
  function s(e,t,r,n,i){var o={}
5
5
  return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6
6
  const c=(0,r.createTemplateFactory)({id:"c7GLHPNo",block:'[[[10,0],[14,0,"app-picker"],[12],[1,"\\n "],[10,0],[14,0,"h-7 text-base13"],[12],[1,"\\n "],[11,"select"],[24,"aria-label","Select app"],[16,0,[29,[[52,[30,1],"opacity-0"]," box-border block w-full h-full m-0 border-0 pr-4 pl-2 text-base text-base13 bg-transparent appearance-none outline-none"]]],[4,[38,1],["change",[30,0,["selectApp"]]],null],[12],[1,"\\n"],[42,[28,[37,3],[[30,0,["apps"]]],null],null,[[[1," "],[10,"option"],[15,2,[30,3]],[15,"selected",[28,[37,4],[[30,3],[30,0,["selectedAppId"]]],null]],[12],[1,"\\n "],[1,[30,2]],[1,"\\n "],[13],[1,"\\n"]],[2,3]],null],[1," "],[13],[1,"\\n\\n"],[41,[30,1],[[[1," "],[1,[28,[35,5],["e-logo"],[["width","height","class"],["15","13","dropdown__collapsed-icon fill-current absolute pointer-events-none"]]]],[1,"\\n"]],[]],null],[1,"\\n "],[1,[28,[35,5],["dropdown-arrow"],[["class"],["dropdown__arrow fill-current absolute opacity-75 pointer-events-none"]]]],[1,"\\n "],[13],[1,"\\n"],[13],[1,"\\n"]],["@collapsed","name","id"],false,["if","on","each","-each-in","eq","svg-jar"]]',moduleName:"ember-inspector/components/app-picker.hbs",isStrictMode:!1})
@@ -93,7 +93,7 @@ const c=(0,r.createTemplateFactory)({id:"FC1VX0V0",block:'[[[18,1,[[28,[37,1],nu
93
93
  let u=(l=class extends n.default{constructor(){var e,t,r,n
94
94
  super(...arguments),e=this,t="_isExpanded",n=this,(r=a)&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0}),this._isExpanded=this.args.mixin.expand}get isExpanded(){return this._isExpanded&&this.args.mixin.properties.length>0}toggle(){this._isExpanded=!this._isExpanded}},a=s(l.prototype,"_isExpanded",[o.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s(l.prototype,"toggle",[i.action],Object.getOwnPropertyDescriptor(l.prototype,"toggle"),l.prototype),l)
95
95
  e.default=u,(0,t.setComponentTemplate)(c,u)})),define("ember-inspector/components/object-inspector/dependent-keys",["exports","@ember/component","@ember/template-factory","@ember/component/template-only"],(function(e,t,r,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
96
- const i=(0,r.createTemplateFactory)({id:"O2kN67bi",block:'[[[10,"li"],[14,0,"mixin__property-dependency-list relative"],[12],[1,"\\n "],[1,[28,[35,0],["dependent-key-connection"],[["width","height"],["20px","10px"]]]],[1,"\\n "],[10,"ul"],[14,0,"m-0 p-0 list-none"],[12],[1,"\\n"],[42,[28,[37,2],[[28,[37,2],[[30,1]],null]],null],null,[[[1," "],[10,"li"],[14,0,"mixin__property-dependency-item relative text-base12 text-sm"],[12],[1,"\\n "],[1,[28,[35,0],["dependent-key-bullet"],[["width","height"],["9px","9px"]]]],[1,"\\n\\n "],[10,1],[14,0,"mixin__property-dependency-name"],[14,"data-label","object-property-name"],[12],[1,"\\n "],[1,[30,2]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[2]],null],[1," "],[13],[1,"\\n"],[13],[1,"\\n\\n"]],["@keys","depKey"],false,["svg-jar","each","-track-array"]]',moduleName:"ember-inspector/components/object-inspector/dependent-keys.hbs",isStrictMode:!1})
96
+ const i=(0,r.createTemplateFactory)({id:"zoI9pYe/",block:'[[[10,"li"],[14,0,"mixin__property-dependency-list relative"],[12],[1,"\\n "],[1,[28,[35,0],["dependent-key-connection"],[["width","height"],["20px","10px"]]]],[1,"\\n "],[10,"ul"],[14,0,"m-0 p-0 list-none"],[12],[1,"\\n"],[42,[28,[37,2],[[28,[37,2],[[30,1]],null]],null],null,[[[1," "],[10,"li"],[14,0,"mixin__property-dependency-item relative text-base12 text-sm"],[12],[1,"\\n"],[41,[28,[37,4],[[30,2],"•"],null],[[[1," "],[10,1],[14,0,"mixin__property-dependency-name subkey"],[14,"data-label","object-property-name"],[12],[1,"\\n "],[1,[30,2]],[1,"\\n "],[13],[1,"\\n"]],[]],[[[1," "],[1,[28,[35,0],["dependent-key-bullet"],[["width","height"],["9px","9px"]]]],[1,"\\n "],[10,1],[14,0,"mixin__property-dependency-name"],[14,"data-label","object-property-name"],[12],[1,"\\n "],[1,[30,2]],[1,"\\n "],[13],[1,"\\n"]],[]]],[1," "],[13],[1,"\\n"]],[2]],null],[1," "],[13],[1,"\\n"],[13],[1,"\\n\\n"]],["@keys","depKey"],false,["svg-jar","each","-track-array","if","match"]]',moduleName:"ember-inspector/components/object-inspector/dependent-keys.hbs",isStrictMode:!1})
97
97
  var o=(0,t.setComponentTemplate)(i,(0,n.default)())
98
98
  e.default=o})),define("ember-inspector/components/object-inspector/errors",["exports","@ember/component","@ember/template-factory","@ember/component/template-only"],(function(e,t,r,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
99
99
  const i=(0,r.createTemplateFactory)({id:"FQ0mdT1p",block:'[[[10,0],[14,0,"mixin mixin_props_no"],[12],[1,"\\n "],[10,"h2"],[14,0,"mixin__name mixin__name--errors bg-base00"],[12],[1,"\\n Errors\\n "],[11,"button"],[24,0,"send-to-console send-to-console--chevron-only ml-1"],[24,4,"button"],[4,[38,0],["click",[30,1]],null],[12],[1,"\\n "],[1,[28,[35,1],["send-with-chevron"],[["width","height"],["6px","9px"]]]],[1,"\\n Trace in the Console\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"mixin__properties m-0 text-base font-mono"],[12],[1,"\\n"],[42,[28,[37,3],[[28,[37,3],[[30,2]],null]],null],null,[[[1," "],[10,0],[14,0,"py-0 px-5 mr-1 text-spec01"],[12],[1,"\\n Error while computing: "],[1,[30,3,["property"]]],[1,"\\n "],[13],[1,"\\n"]],[3]],null],[1," "],[13],[1,"\\n"],[13],[1,"\\n"]],["@traceErrors","@errors","error"],false,["on","svg-jar","each","-track-array"]]',moduleName:"ember-inspector/components/object-inspector/errors.hbs",isStrictMode:!1})
@@ -136,8 +136,10 @@ function f(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,config
136
136
  return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
137
137
  const y=(0,r.createTemplateFactory)({id:"5gj5zpeG",block:'[[[18,1,[[30,0,["sortedProperties"]]]],[1,"\\n"]],["&default"],false,["yield"]]',moduleName:"ember-inspector/components/object-inspector/sort-properties.hbs",isStrictMode:!1})
138
138
  let g=(a=(0,o.computed)("args.properties"),s=(0,o.computed)("isArray","sorted.length"),c=(0,n.sort)("props","sortProperties"),u=(0,n.map)("args.properties",(function(e){return(0,o.set)(e,"isFunction","type-function"===e.value.type||"type-asyncfunction"===e.value.type),e.name==parseInt(e.name)&&(0,o.set)(e,"name",parseInt(e.name)),e})),p=(0,o.computed)("isArray"),d=class extends i.default{constructor(){super(...arguments),f(this,"sorted",b,this),f(this,"props",m,this)}get isArray(){const e=(0,l.A)(this.args.properties||[])
139
- return e.findBy("name","length")&&e.findBy("name",0)}get sortedProperties(){if(this.isArray&&(0,o.get)(this,"sorted.length")>100){const e={name:"...",value:{inspect:"there are more items, send to console to see all"}},t=this.sorted.slice(0,100)
140
- return t.push(e),t}return this.sorted}get sortProperties(){const e=["isFunction","isService:desc","isProperty:desc","isTracked:desc","isComputed:desc","isGetter:desc","name"]
139
+ return e.findBy("name","length")&&e.findBy("name","0")}get sortedProperties(){let e=(0,l.A)(this.sorted)
140
+ if(this.isArray){const t=e.findBy("name","length")
141
+ e.removeObject(t),e.splice(0,0,t)}if(this.isArray&&this.sorted.length>100){const t={name:"...",value:{inspect:"there are more items, send to console to see all"}}
142
+ return e=e.slice(0,100),e.push(t),e}return this.sorted}get sortProperties(){const e=["isFunction","isService:desc","isProperty:desc","isTracked:desc","isComputed:desc","isGetter:desc","name"]
141
143
  if(this.isArray){const t=e.indexOf("isProperty:desc")
142
144
  e.splice(t,1),e.splice(e.length-1,0,"isProperty:desc")}return e}},h(d.prototype,"isArray",[a],Object.getOwnPropertyDescriptor(d.prototype,"isArray"),d.prototype),h(d.prototype,"sortedProperties",[s],Object.getOwnPropertyDescriptor(d.prototype,"sortedProperties"),d.prototype),b=h(d.prototype,"sorted",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=h(d.prototype,"props",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h(d.prototype,"sortProperties",[p],Object.getOwnPropertyDescriptor(d.prototype,"sortProperties"),d.prototype),d)
143
145
  e.default=g,(0,t.setComponentTemplate)(y,g)})),define("ember-inspector/components/promise-item",["exports","@ember/component","@ember/template-factory","@ember/object","@ember/object/computed","@glimmer/component","@ember/template","@ember/utils"],(function(e,t,r,n,i,o,l,a){var s,c,u,p,d,b,m,f,h,y,g,v,j,O,w,_
@@ -223,12 +225,12 @@ this.set("mixinDetails",e.get("lastObject")),this.port.send("objectInspector:rel
223
225
  if(r){let e=[]
224
226
  for(let n=t.indexOf(r);n>=0;n--)e.pushObject(t.objectAt(n))
225
227
  e.forEach((e=>{t.removeObject(e)}))}t.get("length")>0?this.set("mixinDetails",t.get("lastObject")):this.set("mixinDetails",null)}},u=_(c.prototype,"layoutService",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=_(c.prototype,"port",[l.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=_(c.prototype,"active",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),b=_(c.prototype,"isDragging",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),m=_(c.prototype,"contentHeight",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),f=_(c.prototype,"deprecationCount",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),h=_(c.prototype,"inspectorExpanded",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),y=_(c.prototype,"inspectorWidth",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 360}}),g=_(c.prototype,"_navWidthExpanded",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 180}}),v=_(c.prototype,"_navWidthCollapsed",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 48}}),j=_(c.prototype,"navIsCollapsed",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),O=_(c.prototype,"isChrome",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_(c.prototype,"pushMixinDetails",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"pushMixinDetails"),c.prototype),_(c.prototype,"popMixinDetails",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"popMixinDetails"),c.prototype),_(c.prototype,"showInspector",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"showInspector"),c.prototype),_(c.prototype,"hideInspector",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"hideInspector"),c.prototype),_(c.prototype,"toggleInspector",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"toggleInspector"),c.prototype),_(c.prototype,"setActive",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"setActive"),c.prototype),_(c.prototype,"setupContentElement",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"setupContentElement"),c.prototype),_(c.prototype,"_windowDidResize",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"_windowDidResize"),c.prototype),_(c.prototype,"windowDidResize",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"windowDidResize"),c.prototype),_(c.prototype,"toggleNavCollapsed",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"toggleNavCollapsed"),c.prototype),_(c.prototype,"activateMixinDetails",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"activateMixinDetails"),c.prototype),_(c.prototype,"droppedObject",[n.action],Object.getOwnPropertyDescriptor(c.prototype,"droppedObject"),c.prototype),c)
226
- e.default=P})),define("ember-inspector/controllers/component-tree",["exports","@ember/controller","@ember/object","@ember/runloop","@ember/service","@ember/template","@glimmer/tracking","ember-inspector/utils/search-match","ember-inspector/utils/key-codes"],(function(e,t,r,n,i,o,l,a,s){var c,u,p,d,b,m,f,h,y,g
227
- function v(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function O(e,t,r,n,i){var o={}
228
+ e.default=P})),define("ember-inspector/controllers/component-tree",["exports","@ember/controller","@ember/object","@ember/runloop","@ember/service","@ember/template","@glimmer/tracking","ember-inspector/utils/search-match","ember-inspector/utils/key-codes"],(function(e,t,r,n,i,o,l,a,s){var c,u,p,d,b,m,f,h,y,g,v
229
+ function j(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function O(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w(e,t,r,n,i){var o={}
228
230
  return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
229
- let w=(p=class extends t.default{constructor(){super(...arguments),j(this,"queryParams",["pinned","previewing","query"]),j(this,"itemHeight",22),v(this,"application",d,this),v(this,"port",b,this),v(this,"query",m,this),v(this,"isInspecting",f,this),v(this,"renderItems",h,this),v(this,"_pinned",y,this),v(this,"_previewing",g,this),j(this,"_store",Object.create(null))}set renderTree(e){let{_store:t}=this,r=Object.create(null),n=[],i=(e,o)=>{if(_(o))o.children.forEach((t=>i(e,t)))
231
+ let _=(d=class extends t.default{constructor(){super(...arguments),O(this,"queryParams",["pinned","previewing","query"]),O(this,"itemHeight",22),j(this,"application",b,this),j(this,"port",m,this),j(this,"query",f,this),j(this,"isInspecting",h,this),j(this,"renderItems",y,this),j(this,"_pinned",g,this),j(this,"_previewing",v,this),O(this,"_store",Object.create(null))}set renderTree(e){let{_store:t}=this,r=Object.create(null),n=[],i=(e,o)=>{if(P(o))o.children.forEach((t=>i(e,t)))
230
232
  else{let l=t[o.id]
231
- void 0===l?l=new P(this,e,o):l.renderNode=o,r[o.id]=l,n.push(l),o.children.forEach((e=>i(l,e)))}}
233
+ void 0===l?l=new x(this,e,o):l.renderNode=o,r[o.id]=l,n.push(l),o.children.forEach((e=>i(l,e)))}}
232
234
  e.forEach((e=>i(null,e))),this._store=r,this.renderItems=n}findItem(e){return this._store[e]}get currentPreviewItem(){return this.previewing?this.findItem(this.previewing):void 0}get currentItem(){return this.pinned?this.findItem(this.pinned):void 0}get nextItem(){const e=this.visibleItems
233
235
  return e[e.indexOf(this.findItem(this.pinned))+1]||e[e.length-1]}get previousItem(){const e=this.visibleItems
234
236
  return e[e.indexOf(this.findItem(this.pinned))-1]||e[0]}get matchingItems(){let{renderItems:e,query:t}=this
@@ -248,16 +250,16 @@ break}case s.KEYS.down:this.pinned=this.nextItem.id
248
250
  break
249
251
  case s.KEYS.left:{const e=this.findItem(this.pinned)
250
252
  e.isExpanded?e.collapse():this.pinned=e.parentItem.id
251
- break}}}toggleInspect(){this.port.send("view:inspectViews",{inspect:!this.isInspecting})}expandAll(){this.renderItems.forEach((e=>e.expand()))}collapseAll(){this.renderItems.forEach((e=>e.collapse()))}arrowKeysSetup(){document.addEventListener("keydown",this.handleKeyDown)}arrowKeysTeardown(){document.removeEventListener("keydown",this.handleKeyDown)}},d=O(p.prototype,"application",[t.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=O(p.prototype,"port",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=O(p.prototype,"query",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),f=O(p.prototype,"isInspecting",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),h=O(p.prototype,"renderItems",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),y=O(p.prototype,"_pinned",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){}}),g=O(p.prototype,"_previewing",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){}}),O(p.prototype,"handleKeyDown",[r.action],Object.getOwnPropertyDescriptor(p.prototype,"handleKeyDown"),p.prototype),O(p.prototype,"toggleInspect",[r.action],Object.getOwnPropertyDescriptor(p.prototype,"toggleInspect"),p.prototype),O(p.prototype,"expandAll",[r.action],Object.getOwnPropertyDescriptor(p.prototype,"expandAll"),p.prototype),O(p.prototype,"collapseAll",[r.action],Object.getOwnPropertyDescriptor(p.prototype,"collapseAll"),p.prototype),O(p.prototype,"arrowKeysSetup",[r.action],Object.getOwnPropertyDescriptor(p.prototype,"arrowKeysSetup"),p.prototype),O(p.prototype,"arrowKeysTeardown",[r.action],Object.getOwnPropertyDescriptor(p.prototype,"arrowKeysTeardown"),p.prototype),p)
252
- function _(e){return"outlet"===e.type&&"main"===e.name||"route-template"===e.type&&"-top-level"===e.name}e.default=w
253
- let P=(c=class{constructor(e,t,r){v(this,"isExpanded",u,this),this.controller=e,this.parentItem=t,this.renderNode=r,this.isExpanded=this.isExpandable}get id(){return this.renderNode.id}get isOutlet(){return"outlet"===this.renderNode.type}get isEngine(){return"engine"===this.renderNode.type}get isRouteTemplate(){return"route-template"===this.renderNode.type}get isComponent(){return"component"===this.renderNode.type}get name(){return this.renderNode.name}get args(){return this.renderNode.args}get isCurlyInvocation(){return this.renderNode.args&&this.renderNode.args.positional}get hasInstance(){let{instance:e}=this.renderNode
253
+ break}}}toggleInspect(){this.port.send("view:inspectViews",{inspect:!this.isInspecting})}expandAll(){this.renderItems.forEach((e=>e.expand()))}collapseAll(){this.renderItems.forEach((e=>e.collapse()))}arrowKeysSetup(){document.addEventListener("keydown",this.handleKeyDown)}arrowKeysTeardown(){document.removeEventListener("keydown",this.handleKeyDown)}},b=w(d.prototype,"application",[t.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=w(d.prototype,"port",[i.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=w(d.prototype,"query",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),h=w(d.prototype,"isInspecting",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),y=w(d.prototype,"renderItems",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),g=w(d.prototype,"_pinned",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){}}),v=w(d.prototype,"_previewing",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){}}),w(d.prototype,"handleKeyDown",[r.action],Object.getOwnPropertyDescriptor(d.prototype,"handleKeyDown"),d.prototype),w(d.prototype,"toggleInspect",[r.action],Object.getOwnPropertyDescriptor(d.prototype,"toggleInspect"),d.prototype),w(d.prototype,"expandAll",[r.action],Object.getOwnPropertyDescriptor(d.prototype,"expandAll"),d.prototype),w(d.prototype,"collapseAll",[r.action],Object.getOwnPropertyDescriptor(d.prototype,"collapseAll"),d.prototype),w(d.prototype,"arrowKeysSetup",[r.action],Object.getOwnPropertyDescriptor(d.prototype,"arrowKeysSetup"),d.prototype),w(d.prototype,"arrowKeysTeardown",[r.action],Object.getOwnPropertyDescriptor(d.prototype,"arrowKeysTeardown"),d.prototype),d)
254
+ function P(e){return"outlet"===e.type&&"main"===e.name||"route-template"===e.type&&"-top-level"===e.name}e.default=_
255
+ let x=(c=class{constructor(e,t,r){j(this,"isExpanded",u,this),j(this,"renderNode",p,this),this.controller=e,this.parentItem=t,this.renderNode=r,this.isExpanded=this.isExpandable}get id(){return this.renderNode.id}get isOutlet(){return"outlet"===this.renderNode.type}get isEngine(){return"engine"===this.renderNode.type}get isRouteTemplate(){return"route-template"===this.renderNode.type}get isComponent(){return"component"===this.renderNode.type}get name(){return this.renderNode.name}get args(){return this.renderNode.args}get isCurlyInvocation(){return this.renderNode.args&&this.renderNode.args.positional}get hasInstance(){let{instance:e}=this.renderNode
254
256
  return"object"==typeof e&&null!==e}get instance(){return this.hasInstance?this.renderNode.instance.id:null}get hasBounds(){return null!==this.renderNode.bounds}get isRoot(){return null===this.parentItem}get level(){return this.isRoot?0:this.parentItem.level+1}get hasChildren(){return this.childItems.length>0}get childItems(){let e=[],t=[...this.renderNode.children]
255
257
  for(;t.length>0;){let r=t.shift()
256
- _(r)?t.unshift(...r.children):e.push(this.controller.findItem(r.id))}return e}get isExpandable(){return this.hasChildren}get isVisible(){return!!this.isRoot||this.parentItem.isVisible&&this.parentItem.isExpanded}get isPinned(){return this.id===this.controller.pinned}get isHighlighted(){return this.id===this.controller.previewing}get style(){let e=25
258
+ P(r)?t.unshift(...r.children):e.push(this.controller.findItem(r.id))}return e}get isExpandable(){return this.hasChildren}get isVisible(){return!!this.isRoot||this.parentItem.isVisible&&this.parentItem.isExpanded}get isPinned(){return this.id===this.controller.pinned}get isHighlighted(){return this.id===this.controller.previewing}get style(){let e=25
257
259
  return e+=20*this.level,this.hasChildren&&(e-=12),(0,o.htmlSafe)(`padding-left: ${e}px`)}showPreview(){this.controller.previewing=this.id}hidePreview(){this.isHighlighted&&(this.controller.previewing=void 0)}toggleInspection(){this.isPinned?this.controller.pinned=void 0:this.controller.pinned=this.id}toggleExpansion(e){e.stopPropagation(),this.isExpanded?this.collapse(e.altKey):this.expand(e.altKey)}scrollIntoView(e){e.stopPropagation(),this.send("view:scrollIntoView",{id:this.id})}inspectElement(e){e.stopPropagation(),this.send("view:inspectElement",{id:this.id})}show(){let e=this.parentItem
258
260
  for(;e;)e.expand(),e=e.parentItem}expand(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0]
259
261
  this.isExpandable&&(this.isExpanded=!0,!0===e&&this.childItems.forEach((e=>e.expand(!0))))}collapse(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0]
260
- this.isExpandable&&(this.isExpanded=!1,!0===e&&this.childItems.forEach((e=>e.collapse(!0))))}send(e,t){this.controller.port.send(e,t)}},u=O(c.prototype,"isExpanded",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O(c.prototype,"showPreview",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"showPreview"),c.prototype),O(c.prototype,"hidePreview",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"hidePreview"),c.prototype),O(c.prototype,"toggleInspection",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"toggleInspection"),c.prototype),O(c.prototype,"toggleExpansion",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"toggleExpansion"),c.prototype),O(c.prototype,"scrollIntoView",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"scrollIntoView"),c.prototype),O(c.prototype,"inspectElement",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"inspectElement"),c.prototype),c)})),define("ember-inspector/controllers/container-type",["exports","@ember/controller","@ember/service","@ember/object","ember-inspector/computed/debounce","ember-inspector/utils/search-match"],(function(e,t,r,n,i,o){var l,a,s,c,u,p,d
262
+ this.isExpandable&&(this.isExpanded=!1,!0===e&&this.childItems.forEach((e=>e.collapse(!0))))}send(e,t){this.controller.port.send(e,t)}},u=w(c.prototype,"isExpanded",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=w(c.prototype,"renderNode",[l.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w(c.prototype,"showPreview",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"showPreview"),c.prototype),w(c.prototype,"hidePreview",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"hidePreview"),c.prototype),w(c.prototype,"toggleInspection",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"toggleInspection"),c.prototype),w(c.prototype,"toggleExpansion",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"toggleExpansion"),c.prototype),w(c.prototype,"scrollIntoView",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"scrollIntoView"),c.prototype),w(c.prototype,"inspectElement",[r.action],Object.getOwnPropertyDescriptor(c.prototype,"inspectElement"),c.prototype),c)})),define("ember-inspector/controllers/container-type",["exports","@ember/controller","@ember/service","@ember/object","ember-inspector/computed/debounce","ember-inspector/utils/search-match"],(function(e,t,r,n,i,o){var l,a,s,c,u,p,d
261
263
  function b(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function m(e,t,r,n,i){var o={}
262
264
  return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
263
265
  let f=(l=(0,i.default)("search",300),a=(0,n.computed)("model.@each.name","search"),s=class extends t.default{get rows(){return this.model.filter((e=>(0,o.default)(e.name,this.search)))}constructor(){var e,t,r
@@ -570,7 +572,8 @@ super(...arguments),s(this,"port",l,this),s(this,"canOpenResource",a,this),r="ba
570
572
  if("version-mismatch"===t){let e,t=i.default.previousEmberVersionsSupported,[n,o]=i.default.emberVersionsSupported
571
573
  if(-1===p(r,n))e=t[t.length-1]
572
574
  else{if(!o||-1===p(r,o))return
573
- e=o}this.onVersionMismatch(e)}})),this.sendMessage({type:"check-version",from:"devtools"})}onVersionMismatch(){}sendMessage(){}onMessageReceived(e){this._messageCallbacks.push(e)}_messageReceived(e){this._messageCallbacks.forEach((t=>{t(e)}))}willReload(){}openResource(){}refreshPage(){"function"==typeof this.reloadTab?this.reloadTab():(this.port.send("general:refresh"),this.willReload())}},l=c(o.prototype,"port",[t.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=c(o.prototype,"canOpenResource",[n.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c(o.prototype,"refreshPage",[r.action],Object.getOwnPropertyDescriptor(o.prototype,"refreshPage"),o.prototype),o)
575
+ e=o}this.onVersionMismatch(e)}})),this.sendMessage({type:"check-version",from:"devtools"})}onVersionMismatch(){}sendMessage(){}onMessageReceived(e){this._messageCallbacks.push(e)}_messageReceived(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r]
576
+ this._messageCallbacks.forEach((e=>{e(...t)}))}willReload(){}openResource(){}refreshPage(){"function"==typeof this.reloadTab?this.reloadTab():(this.port.send("general:refresh"),this.willReload())}},l=c(o.prototype,"port",[t.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=c(o.prototype,"canOpenResource",[n.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c(o.prototype,"refreshPage",[r.action],Object.getOwnPropertyDescriptor(o.prototype,"refreshPage"),o.prototype),o)
574
577
  function p(e,t){e=d(e).split("."),t=d(t).split(".")
575
578
  for(let r=0;r<3;r++){let n=b(+e[r],+t[r])
576
579
  if(0!==n)return n}return 0}function d(e){return e.replace(/-.*/g,"")}function b(e,t){return e===t?0:e<t?-1:e>t?1:void 0}e.default=u})),define("ember-inspector/services/adapters/bookmarklet",["exports","@ember/object","ember-inspector/services/adapters/basic"],(function(e,t,r){var n
@@ -591,15 +594,14 @@ super(...arguments),r="firefox",(t="name")in(e=this)?Object.defineProperty(e,t,{
591
594
  function a(e,t,r,n,i){var o={}
592
595
  return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
593
596
  let s=null,c=(o=class extends n.default{constructor(){var e,t,r,n,i,o,a
594
- super(...arguments),e=this,t="canOpenResource",n=this,(r=l)&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0}),a="web-extension",(o="name")in(i=this)?Object.defineProperty(i,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[o]=a}init(){return this._connect(),this._handleReload(),this._injectDebugger(),this._setThemeColors(),super.init(...arguments)}sendMessage(e){e=e||{},this._chromePort.postMessage(e)}get _chromePort(){return chrome.runtime.connect()}_connect(){let e=this._chromePort
595
- e.postMessage({appId:chrome.devtools.inspectedWindow.tabId}),e.onMessage.addListener((e=>{this._messageReceived(e)}))}_handleReload(){let e=this
597
+ super(...arguments),e=this,t="canOpenResource",n=this,(r=l)&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0}),a="web-extension",(o="name")in(i=this)?Object.defineProperty(i,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[o]=a}init(){return this._connect(),this._handleReload(),this._setThemeColors(),this._sendEmberDebug(),super.init(...arguments)}sendMessage(e){e=e||{},this._chromePort.postMessage(e)}_sendEmberDebug(){u().then((e=>{this.sendMessage({from:"devtools",tabId:chrome.devtools.inspectedWindow.tabId,type:"inject-ember-debug",value:e}),this.onMessageReceived(((t,r)=>{"ember-content-script-ready"===t&&this.sendMessage({from:"devtools",type:"inject-ember-debug",value:e,tabId:chrome.devtools.inspectedWindow.tabId,frameId:r.frameId})}))}))}get _chromePort(){return chrome.runtime.connect()}_connect(){var e=this
598
+ let t=this._chromePort
599
+ t.postMessage({appId:chrome.devtools.inspectedWindow.tabId}),t.onMessage.addListener((function(){e._messageReceived(...arguments)}))}_handleReload(){let e=this
596
600
  chrome.devtools.network.onNavigated.addListener((function(){e._injectDebugger(),location.reload(!0)}))}_injectDebugger(){u().then((e=>{chrome.devtools.inspectedWindow.eval(e,((e,t)=>{if(void 0===e&&t)throw t}))}))}_setThemeColors(){document.body.classList.remove("theme--light","theme--dark")
597
601
  let e="theme--light"
598
602
  "dark"===chrome.devtools.panels.themeName&&(e="theme--dark"),document.body.classList.add(e)}willReload(){this._injectDebugger()}inspectDOMNode(e){chrome.devtools.inspectedWindow.eval(`\n inspect(window[${JSON.stringify(e)}]);\n delete window[${JSON.stringify(e)}];\n `)}onVersionMismatch(e){window.location.href=`../panes-${e.replace(/\./g,"-")}/index.html`}reloadTab(){u().then((e=>{chrome.devtools.inspectedWindow.reload({injectedScript:e})}))}},l=a(o.prototype,"canOpenResource",[r.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a(o.prototype,"_chromePort",[t.computed],Object.getOwnPropertyDescriptor(o.prototype,"_chromePort"),o.prototype),o)
599
603
  function u(){let e,t=i.default.emberVersionsSupported[0].replace(/\./g,"-")
600
- function r(){new Promise((e=>window.requireModule&&window.requireModule.has("ember")||window.Ember?e():void window.addEventListener("Ember",e,{once:!0}))).then((()=>"replace-with-ember-debug"))
601
- const e="("+r.toString()+")()",t=()=>{for(let t=0;t<window.frames.length;t++)window.frames[t].postMessage({type:"inject-ember-debug",value:e},"*")}
602
- t(),window.addEventListener("message",(e=>{"ember-inspector-iframe-ready"===e.data?.type&&t()}))}return new Promise((n=>{s?n(s):(e=new XMLHttpRequest,e.open("GET",chrome.runtime.getURL(`/panes-${t}/ember_debug.js`)),e.onload=function(){4===e.readyState&&200===e.status&&(s=e.responseText,s="{"+s.replace(/\$/g,"$$$$")+"}",s="("+r.toString().replace(/['"]replace-with-ember-debug['"];*/,s)+")()",n(s))},e.send())}))}e.default=c})),define("ember-inspector/services/adapters/websocket",["exports","@ember/runloop","ember-inspector/services/adapters/basic"],(function(e,t,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
604
+ function r(){new Promise((e=>window.requireModule&&window.requireModule.has("ember")||window.Ember?e():void window.addEventListener("Ember",e,{once:!0}))).then((()=>"replace-with-ember-debug"))}return new Promise((n=>{s?n(s):(e=new XMLHttpRequest,e.open("GET",chrome.runtime.getURL(`/panes-${t}/ember_debug.js`)),e.onload=function(){4===e.readyState&&200===e.status&&(s=e.responseText,s="{"+s.replace(/\$/g,"$$$$")+"}",s="("+r.toString().replace(/['"]replace-with-ember-debug['"];*/,s)+")()",n(s))},e.send())}))}e.default=c})),define("ember-inspector/services/adapters/websocket",["exports","@ember/runloop","ember-inspector/services/adapters/basic"],(function(e,t,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
603
605
  class n extends r.default{init(){super.init(),this.socket=window.EMBER_INSPECTOR_CONFIG.remoteDebugSocket,this._connect()}sendMessage(e){e=e||{},this.socket.emit("emberInspectorMessage",e)}_connect(){this.socket.on("emberInspectorMessage",(e=>{(0,t.run)((()=>{this._messageReceived(e)}))}))}_disconnect(){this.socket.removeAllListeners("emberInspectorMessage")}willDestroy(){this._disconnect()}}e.default=n})),define("ember-inspector/services/layout",["exports","@ember/service","@glimmer/tracking","@ember/object/evented"],(function(e,t,r,n){var i,o
604
606
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
605
607
  let l=(i=class extends(t.default.extend(n.default)){constructor(){var e,t,r,n
@@ -612,7 +614,7 @@ let u=(i=class extends(n.default.extend(r.default)){constructor(){super(...argum
612
614
  let{applicationId:r,applicationName:n}=e
613
615
  r&&((0,t.set)(this.detectedApplications,r,n),this.applicationId||this.selectApplication(r),this.applicationId===r&&this.trigger(e.type,e,r))}))}selectApplication(e){if(e in this.detectedApplications&&e!==this.applicationId){let t=this.detectedApplications[e]
614
616
  const r=this.applicationId
615
- this.setProperties({applicationId:e,applicationName:t}),r&&this.router.transitionTo("app-detected"),this.send("app-selected",{applicationId:e,applicationName:t})}}send(e,t){(t=t||{}).type=e,t.from="devtools",t.applicationId=this.applicationId,t.applicationName=this.applicationName,this.adapter.sendMessage(t)}},o=c(i.prototype,"adapter",[n.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=c(i.prototype,"router",[n.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i)
617
+ this.setProperties({applicationId:e,applicationName:t}),r&&this.router.transitionTo("app-detected"),this.send("app-selected",{applicationId:e,applicationName:t})}}send(e,t){(t=t||{}).type=e,t.from="devtools",t.applicationId=this.applicationId,t.applicationName=this.applicationName,this.adapter.sendMessage(t)}off(){try{super.off(...arguments)}catch(e){console.error(e)}}},o=c(i.prototype,"adapter",[n.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=c(i.prototype,"router",[n.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i)
616
618
  e.default=u})),define("ember-inspector/services/resize-observer",["exports","ember-resize-observer-service/services/resize-observer"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ember-inspector/services/storage",["exports","@ember/service","ember-inspector/services/storage/local"],(function(e,t,r){var n,i,o
617
619
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
618
620
  let l=(n=(0,t.inject)(r.LOCAL_STORAGE_SUPPORTED?"storage/local":"storage/memory"),i=class extends t.default{constructor(){var e,t,r,n
@@ -691,4 +693,4 @@ let n=e.split(/(\s+|\b)/),i=[],o=t-r.length,l=0
691
693
  for(;;){let e=n.shift()
692
694
  if(!(l+e.length<=o)){0===l&&i.push(e.slice(0,o))
693
695
  break}i.push(e),l+=e.length}return i.push(r),i.join("")}})),define("ember-inspector/config/environment",[],(function(){try{var e="ember-inspector/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),r={default:JSON.parse(decodeURIComponent(t))}
694
- return Object.defineProperty(r,"__esModule",{value:!0}),r}catch(n){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ember-inspector/app").default.create({name:"ember-inspector",version:"4.8.0+408956dc"})
696
+ return Object.defineProperty(r,"__esModule",{value:!0}),r}catch(n){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ember-inspector/app").default.create({name:"ember-inspector",version:"4.9.0+7f405714"})
@@ -384,7 +384,7 @@ if(!r||"new"===r.state)return(r=new s(e,[],l,null)).module.exports=t,r.state="fi
384
384
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
385
385
  * @license Licensed under MIT license
386
386
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
387
- * @version 4.7.0
387
+ * @version 4.7.1
388
388
  */
389
389
  var e,t;(function(){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:null
390
390
  if(null===r)throw new Error("unable to locate global object")
@@ -3651,7 +3651,7 @@ return n.Adapter=i,n.QUnitAdapter=o,Object.defineProperty(N,"Test",{configurable
3651
3651
  var U=N
3652
3652
  t.default=U})),e("ember/version",["exports"],(function(e){"use strict"
3653
3653
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3654
- e.default="4.7.0"})),e("route-recognizer",["exports"],(function(e){"use strict"
3654
+ e.default="4.7.1"})),e("route-recognizer",["exports"],(function(e){"use strict"
3655
3655
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3656
3656
  var t=Object.create
3657
3657
  function r(){var e=t(null)
@@ -3806,7 +3806,7 @@ e&&(this.stashResolvedModel(e,t),e[v]=e[v]||{},e[v][this.name]=n)
3806
3806
  var i=t===this.context
3807
3807
  !("context"in this)&&i||(r=t)
3808
3808
  var o=x.get(this),a=new C(this.router,this.name,this.paramNames,n,this.route,r)
3809
- return void 0!==o&&x.set(this,o),a}shouldSupersede(e){if(!e)return!0
3809
+ return void 0!==o&&x.set(a,o),a}shouldSupersede(e){if(!e)return!0
3810
3810
  var t=e.context===this.context
3811
3811
  return e.name!==this.name||"context"in this&&!t||this.hasOwnProperty("params")&&!function(e,t){if(e===t)return!0
3812
3812
  if(!e||!t)return!1
@@ -3789,7 +3789,39 @@ define("ember-debug/object-inspector", ["exports", "ember-debug/debug-port", "em
3789
3789
 
3790
3790
  tagValue = GlimmerValidator.value || GlimmerValidator.valueForTag;
3791
3791
  tagValidate = GlimmerValidator.validate || GlimmerValidator.validateTag;
3792
- track = GlimmerValidator.track;
3792
+ track = GlimmerValidator.track; // patch tagFor to add debug info, older versions already have _propertyKey
3793
+
3794
+ const tagFor = GlimmerValidator.tagFor;
3795
+
3796
+ GlimmerValidator.tagFor = function (...args) {
3797
+ const tag = tagFor.call(this, ...args);
3798
+ const [obj, key] = args;
3799
+
3800
+ if ((!tag._propertyKey || !tag._object) && typeof obj === 'object' && typeof key === 'string') {
3801
+ tag._propertyKey = key;
3802
+ tag._object = obj;
3803
+ }
3804
+
3805
+ return tag;
3806
+ };
3807
+
3808
+ const trackedData = GlimmerValidator.trackedData;
3809
+
3810
+ GlimmerValidator.trackedData = function (...args) {
3811
+ const r = trackedData.call(this, ...args);
3812
+
3813
+ if (r.getter && args.length === 2) {
3814
+ const [key] = args;
3815
+ const getter = r.getter;
3816
+
3817
+ r.getter = function (self) {
3818
+ GlimmerValidator.tagFor(self, key);
3819
+ return getter.call(this, self);
3820
+ };
3821
+ }
3822
+
3823
+ return r;
3824
+ };
3793
3825
  } catch (e) {
3794
3826
  try {
3795
3827
  // Fallback to the previous implementation
@@ -3976,15 +4008,17 @@ define("ember-debug/object-inspector", ["exports", "ember-debug/debug-port", "em
3976
4008
  return props;
3977
4009
  }
3978
4010
 
3979
- if (tag.subtag) {
3980
- if (tag.subtag._propertyKey) props.push(tag.subtag._propertyKey);
4011
+ const subtags = tag.subtags || (Array.isArray(tag.subtag) ? tag.subtag : []);
4012
+
4013
+ if (tag.subtag && !Array.isArray(tag.subtag)) {
4014
+ if (tag.subtag._propertyKey) props.push((tag.subtag._object ? getClassName(tag.subtag._object) + '.' : '') + tag.subtag._propertyKey);
3981
4015
  props.push(...getTagTrackedProps(tag.subtag, ownTag, level + 1));
3982
4016
  }
3983
4017
 
3984
- if (tag.subtags) {
3985
- tag.subtags.forEach(t => {
4018
+ if (subtags) {
4019
+ subtags.forEach(t => {
3986
4020
  if (t === ownTag) return;
3987
- if (t._propertyKey) props.push(t._propertyKey);
4021
+ if (t._propertyKey) props.push((t._object ? getClassName(t._object) + '.' : '') + t._propertyKey);
3988
4022
  props.push(...getTagTrackedProps(t, ownTag, level + 1));
3989
4023
  });
3990
4024
  }
@@ -4004,7 +4038,29 @@ define("ember-debug/object-inspector", ["exports", "ember-debug/debug-port", "em
4004
4038
 
4005
4039
  if (HAS_GLIMMER_TRACKING) {
4006
4040
  const ownTag = tagForProperty(object, property);
4007
- dependentKeys.push(...getTagTrackedProps(tag, ownTag));
4041
+ const props = getTagTrackedProps(tag, ownTag);
4042
+ const mapping = {};
4043
+ props.forEach(p => {
4044
+ const [objName, ...props] = p.split('.');
4045
+ mapping[objName] = mapping[objName] || new Set();
4046
+ props.forEach(p => mapping[objName].add(p));
4047
+ });
4048
+ Object.entries(mapping).forEach(([objName, props]) => {
4049
+ if (props.size > 1) {
4050
+ dependentKeys.push(objName);
4051
+ props.forEach(p => {
4052
+ dependentKeys.push(' • -- ' + p);
4053
+ });
4054
+ }
4055
+
4056
+ if (props.size === 1) {
4057
+ dependentKeys.push(objName + '.' + [...props][0]);
4058
+ }
4059
+
4060
+ if (props.size === 0) {
4061
+ dependentKeys.push(objName);
4062
+ }
4063
+ });
4008
4064
  }
4009
4065
 
4010
4066
  return [...new Set([...dependentKeys])];
@@ -4082,7 +4138,7 @@ define("ember-debug/object-inspector", ["exports", "ember-debug/debug-port", "em
4082
4138
 
4083
4139
  this.sendMessage('updateProperty', {
4084
4140
  objectId,
4085
- property: item.name,
4141
+ property: Array.isArray(object) && !Number.isNaN(parseInt(item.name)) ? parseInt(item.name) : item.name,
4086
4142
  value,
4087
4143
  mixinIndex,
4088
4144
  dependentKeys
@@ -4512,7 +4568,15 @@ define("ember-debug/object-inspector", ["exports", "ember-debug/debug-port", "em
4512
4568
 
4513
4569
  function getClassName(object) {
4514
4570
  let name = '';
4515
- let className = object.constructor && (emberNames.get(object.constructor) || object.constructor.name) || '';
4571
+ let className = object.constructor && (emberNames.get(object.constructor) || object.constructor.name) || ''; // check if object is a primitive value
4572
+
4573
+ if (object !== Object(object)) {
4574
+ return typeof object;
4575
+ }
4576
+
4577
+ if (Array.isArray(object)) {
4578
+ return 'array';
4579
+ }
4516
4580
 
4517
4581
  if (object.constructor && object.constructor.prototype === object) {
4518
4582
  let {
@@ -5343,7 +5407,7 @@ define("ember-debug/promise-debug", ["exports", "ember-debug/debug-port", "ember
5343
5407
 
5344
5408
  });
5345
5409
  });
5346
- define("ember-debug/render-debug", ["exports", "ember-debug/debug-port", "ember-debug/models/profile-manager", "ember-debug/utils/ember/instrumentation"], function (exports, _debugPort, _profileManager, _instrumentation) {
5410
+ define("ember-debug/render-debug", ["exports", "ember-debug/debug-port", "ember-debug/models/profile-manager", "ember-debug/utils/ember/instrumentation", "ember-debug/utils/ember/runloop", "ember-debug/utils/bound-method"], function (exports, _debugPort, _profileManager, _instrumentation, _runloop, _boundMethod) {
5347
5411
  "use strict";
5348
5412
 
5349
5413
  Object.defineProperty(exports, "__esModule", {
@@ -5364,7 +5428,7 @@ define("ember-debug/render-debug", ["exports", "ember-debug/debug-port", "ember-
5364
5428
 
5365
5429
  this.profileManager.wrapForErrors = (context, callback) => this.port.wrap(() => callback.call(context));
5366
5430
 
5367
- this.profileManager.onProfilesAdded(this, this._updateComponentTree);
5431
+ _runloop._backburner.on('end', (0, _boundMethod.default)(this, this._updateComponentTree));
5368
5432
  },
5369
5433
 
5370
5434
  willDestroy() {
@@ -5375,8 +5439,9 @@ define("ember-debug/render-debug", ["exports", "ember-debug/debug-port", "ember-
5375
5439
  };
5376
5440
 
5377
5441
  this.profileManager.offProfilesAdded(this, this.sendAdded);
5378
- this.profileManager.offProfilesAdded(this, this._updateComponentTree);
5379
5442
  this.profileManager.teardown();
5443
+
5444
+ _runloop._backburner.off('end', (0, _boundMethod.default)(this, this._updateComponentTree));
5380
5445
  },
5381
5446
 
5382
5447
  sendAdded(profiles) {
@@ -5391,7 +5456,7 @@ define("ember-debug/render-debug", ["exports", "ember-debug/debug-port", "ember-
5391
5456
  * @private
5392
5457
  */
5393
5458
  _updateComponentTree() {
5394
- this.namespace.viewDebug.sendTree();
5459
+ this.namespace.viewDebug?.sendTree();
5395
5460
  },
5396
5461
 
5397
5462
  messages: {
@@ -9,7 +9,7 @@
9
9
  <meta name="viewport" content="width=device-width, initial-scale=1">
10
10
 
11
11
 
12
- <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.8.0%22%2C%22emberVersionsSupported%22%3A%5B%223.16.0%22%2C%22%22%5D%2C%22previousEmberVersionsSupported%22%3A%5B%220.0.0%22%2C%222.7.0%22%2C%223.4.0%22%5D%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%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.8.0%2B408956dc%22%7D%7D" />
12
+ <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.9.0%22%2C%22emberVersionsSupported%22%3A%5B%223.16.0%22%2C%22%22%5D%2C%22previousEmberVersionsSupported%22%3A%5B%220.0.0%22%2C%222.7.0%22%2C%223.4.0%22%5D%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%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.9.0%2B7f405714%22%7D%7D" />
13
13
 
14
14
  <style type="text/css">
15
15
  @font-face {
@@ -38,8 +38,8 @@
38
38
 
39
39
 
40
40
  <script src="assets/vendor.js"></script>
41
- <script src="assets/chunk.527.7db717391df5e1aa2388.js"></script>
42
- <script src="assets/chunk.143.8e39f623b854874c76cc.js"></script>
41
+ <script src="assets/chunk.527.bedf7967198bca66753a.js"></script>
42
+ <script src="assets/chunk.143.3e5a98d07bb218f42c73.js"></script>
43
43
  <script src="assets/ember-inspector.js"></script>
44
44
 
45
45
 
@@ -54,6 +54,35 @@ try {
54
54
  tagValue = GlimmerValidator.value || GlimmerValidator.valueForTag;
55
55
  tagValidate = GlimmerValidator.validate || GlimmerValidator.validateTag;
56
56
  track = GlimmerValidator.track;
57
+
58
+ // patch tagFor to add debug info, older versions already have _propertyKey
59
+ const tagFor = GlimmerValidator.tagFor;
60
+ GlimmerValidator.tagFor = function (...args) {
61
+ const tag = tagFor.call(this, ...args);
62
+ const [obj, key] = args;
63
+ if (
64
+ (!tag._propertyKey || !tag._object) &&
65
+ typeof obj === 'object' &&
66
+ typeof key === 'string'
67
+ ) {
68
+ tag._propertyKey = key;
69
+ tag._object = obj;
70
+ }
71
+ return tag;
72
+ };
73
+ const trackedData = GlimmerValidator.trackedData;
74
+ GlimmerValidator.trackedData = function (...args) {
75
+ const r = trackedData.call(this, ...args);
76
+ if (r.getter && args.length === 2) {
77
+ const [key] = args;
78
+ const getter = r.getter;
79
+ r.getter = function (self) {
80
+ GlimmerValidator.tagFor(self, key);
81
+ return getter.call(this, self);
82
+ };
83
+ }
84
+ return r;
85
+ };
57
86
  } catch (e) {
58
87
  try {
59
88
  // Fallback to the previous implementation
@@ -228,14 +257,22 @@ function getTagTrackedProps(tag, ownTag, level = 0) {
228
257
  if (!tag || level > 1) {
229
258
  return props;
230
259
  }
231
- if (tag.subtag) {
232
- if (tag.subtag._propertyKey) props.push(tag.subtag._propertyKey);
260
+ const subtags = tag.subtags || (Array.isArray(tag.subtag) ? tag.subtag : []);
261
+ if (tag.subtag && !Array.isArray(tag.subtag)) {
262
+ if (tag.subtag._propertyKey)
263
+ props.push(
264
+ (tag.subtag._object ? getClassName(tag.subtag._object) + '.' : '') +
265
+ tag.subtag._propertyKey
266
+ );
233
267
  props.push(...getTagTrackedProps(tag.subtag, ownTag, level + 1));
234
268
  }
235
- if (tag.subtags) {
236
- tag.subtags.forEach((t) => {
269
+ if (subtags) {
270
+ subtags.forEach((t) => {
237
271
  if (t === ownTag) return;
238
- if (t._propertyKey) props.push(t._propertyKey);
272
+ if (t._propertyKey)
273
+ props.push(
274
+ (t._object ? getClassName(t._object) + '.' : '') + t._propertyKey
275
+ );
239
276
  props.push(...getTagTrackedProps(t, ownTag, level + 1));
240
277
  });
241
278
  }
@@ -252,7 +289,28 @@ function getTrackedDependencies(object, property, tag) {
252
289
  }
253
290
  if (HAS_GLIMMER_TRACKING) {
254
291
  const ownTag = tagForProperty(object, property);
255
- dependentKeys.push(...getTagTrackedProps(tag, ownTag));
292
+ const props = getTagTrackedProps(tag, ownTag);
293
+ const mapping = {};
294
+ props.forEach((p) => {
295
+ const [objName, ...props] = p.split('.');
296
+ mapping[objName] = mapping[objName] || new Set();
297
+ props.forEach((p) => mapping[objName].add(p));
298
+ });
299
+
300
+ Object.entries(mapping).forEach(([objName, props]) => {
301
+ if (props.size > 1) {
302
+ dependentKeys.push(objName);
303
+ props.forEach((p) => {
304
+ dependentKeys.push(' • -- ' + p);
305
+ });
306
+ }
307
+ if (props.size === 1) {
308
+ dependentKeys.push(objName + '.' + [...props][0]);
309
+ }
310
+ if (props.size === 0) {
311
+ dependentKeys.push(objName);
312
+ }
313
+ });
256
314
  }
257
315
 
258
316
  return [...new Set([...dependentKeys])];
@@ -331,7 +389,10 @@ export default DebugPort.extend({
331
389
  }
332
390
  this.sendMessage('updateProperty', {
333
391
  objectId,
334
- property: item.name,
392
+ property:
393
+ Array.isArray(object) && !Number.isNaN(parseInt(item.name))
394
+ ? parseInt(item.name)
395
+ : item.name,
335
396
  value,
336
397
  mixinIndex,
337
398
  dependentKeys,
@@ -770,6 +831,15 @@ function getClassName(object) {
770
831
  (emberNames.get(object.constructor) || object.constructor.name)) ||
771
832
  '';
772
833
 
834
+ // check if object is a primitive value
835
+ if (object !== Object(object)) {
836
+ return typeof object;
837
+ }
838
+
839
+ if (Array.isArray(object)) {
840
+ return 'array';
841
+ }
842
+
773
843
  if (object.constructor && object.constructor.prototype === object) {
774
844
  let { constructor } = object;
775
845
 
@@ -2,6 +2,8 @@ import DebugPort from './debug-port';
2
2
  import ProfileManager from './models/profile-manager';
3
3
 
4
4
  import { subscribe } from 'ember-debug/utils/ember/instrumentation';
5
+ import { _backburner } from 'ember-debug/utils/ember/runloop';
6
+ import bound from 'ember-debug/utils/bound-method';
5
7
 
6
8
  // Initial setup, that has to occur before the EmberObject init for some reason
7
9
  let profileManager = new ProfileManager();
@@ -18,7 +20,7 @@ export default DebugPort.extend({
18
20
 
19
21
  this.profileManager.wrapForErrors = (context, callback) =>
20
22
  this.port.wrap(() => callback.call(context));
21
- this.profileManager.onProfilesAdded(this, this._updateComponentTree);
23
+ _backburner.on('end', bound(this, this._updateComponentTree));
22
24
  },
23
25
 
24
26
  willDestroy() {
@@ -29,8 +31,9 @@ export default DebugPort.extend({
29
31
  };
30
32
 
31
33
  this.profileManager.offProfilesAdded(this, this.sendAdded);
32
- this.profileManager.offProfilesAdded(this, this._updateComponentTree);
33
34
  this.profileManager.teardown();
35
+
36
+ _backburner.off('end', bound(this, this._updateComponentTree));
34
37
  },
35
38
 
36
39
  sendAdded(profiles) {
@@ -45,7 +48,7 @@ export default DebugPort.extend({
45
48
  * @private
46
49
  */
47
50
  _updateComponentTree() {
48
- this.namespace.viewDebug.sendTree();
51
+ this.namespace.viewDebug?.sendTree();
49
52
  },
50
53
 
51
54
  messages: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-inspector",
3
- "version": "4.8.0",
3
+ "version": "4.9.0",
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",
@@ -136,7 +136,7 @@
136
136
  } else if (message.from === 'devtools') {
137
137
  // all other messages from EmberInspector are forwarded to the content-script
138
138
  // https://developer.chrome.com/extensions/tabs#method-sendMessage
139
- chrome.tabs.sendMessage(appId, message);
139
+ chrome.tabs.sendMessage(message.tabId || appId, message, { frameId: message.frameId });
140
140
  }
141
141
  });
142
142
  });
@@ -85,16 +85,16 @@
85
85
 
86
86
  let injected = false;
87
87
 
88
- window.addEventListener('message', (event) => {
89
- if (event.data?.type === 'inject-ember-debug' && !injected) {
90
- // cannot use eval here, as the context is limited to the content script-
91
- const elem = document.createElement('script') ;
92
- elem.textContent = event.data.value;
93
- document.head.appendChild(elem) ;
94
- injected = true;
88
+ chrome.runtime.onMessage.addListener((message) => {
89
+ if (message?.type === 'inject-ember-debug') {
90
+ if (!injected) {
91
+ // cannot use eval here, as the context is limited to the content script-
92
+ const elem = document.createElement('script') ;
93
+ elem.textContent = message.value;
94
+ document.head.appendChild(elem) ;
95
+ injected = true;
96
+ }
95
97
  }
96
98
  });
97
- window.parent.postMessage({
98
- type: 'ember-inspector-iframe-ready'
99
- }, '*');
99
+ chrome.runtime.sendMessage('ember-content-script-ready');
100
100
  })();