ember-source 6.3.0-beta.1 → 6.3.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.
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "6.3.0-beta.1",
2
+ "version": "6.3.0",
3
3
  "buildType": "tag",
4
- "SHA": "46ffedacedc31d19f084941bd88ffa76fd18c3c6",
5
- "assetPath": "/tag/shas/46ffedacedc31d19f084941bd88ffa76fd18c3c6.tgz"
4
+ "SHA": "043ab68a76da672c5d15b174fd897fab70136ae0",
5
+ "assetPath": "/tag/shas/043ab68a76da672c5d15b174fd897fab70136ae0.tgz"
6
6
  }
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 6.3.0-beta.1
8
+ * @version 6.3.0
9
9
  */
10
10
  /* eslint-disable no-var */
11
11
  /* globals global globalThis self */
@@ -15638,7 +15638,7 @@ var define, require;
15638
15638
  }, Symbol.toStringTag, { value: 'Module' });
15639
15639
 
15640
15640
  // this file gets replaced with the real value during the build
15641
- const version = '6.3.0-beta.1';
15641
+ const version = '6.3.0';
15642
15642
 
15643
15643
  const emberVersion = /*#__PURE__*/Object.defineProperty({
15644
15644
  __proto__: null,
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 6.3.0-beta.1
8
+ * @version 6.3.0
9
9
  */
10
10
  /* eslint-disable no-var */
11
11
  /* globals global globalThis self */
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 6.3.0-beta.1
8
+ * @version 6.3.0
9
9
  */
10
10
  /* eslint-disable no-var */
11
11
  /* globals global globalThis self */
@@ -3366,7 +3366,7 @@ var define, require;
3366
3366
  }, Symbol.toStringTag, { value: 'Module' });
3367
3367
 
3368
3368
  // this file gets replaced with the real value during the build
3369
- const Version = '6.3.0-beta.1';
3369
+ const Version = '6.3.0';
3370
3370
 
3371
3371
  const emberVersion = /*#__PURE__*/Object.defineProperty({
3372
3372
  __proto__: null,
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 6.3.0-beta.1
8
+ * @version 6.3.0
9
9
  */
10
10
  /* eslint-disable no-var */
11
11
  /* globals global globalThis self */
@@ -2607,7 +2607,7 @@ var define, require;
2607
2607
  }, Symbol.toStringTag, { value: 'Module' });
2608
2608
 
2609
2609
  // this file gets replaced with the real value during the build
2610
- const Version = '6.3.0-beta.1';
2610
+ const Version = '6.3.0';
2611
2611
 
2612
2612
  const emberVersion = /*#__PURE__*/Object.defineProperty({
2613
2613
  __proto__: null,
@@ -1,4 +1,4 @@
1
1
  // this file gets replaced with the real value during the build
2
- const Version = '6.3.0-beta.1';
2
+ const Version = '6.3.0';
3
3
 
4
4
  export { Version as default };
package/docs/data.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "The Ember API",
4
4
  "description": "The Ember API: a framework for building ambitious web applications",
5
5
  "url": "https://emberjs.com/",
6
- "version": "6.3.0-beta.1"
6
+ "version": "6.3.0"
7
7
  },
8
8
  "files": {
9
9
  "node_modules/rsvp/lib/rsvp/promise/all.js": {
@@ -529,9 +529,7 @@
529
529
  },
530
530
  "packages/@ember/-internals/glimmer/lib/glimmer-tracking-docs.ts": {
531
531
  "name": "packages/@ember/-internals/glimmer/lib/glimmer-tracking-docs.ts",
532
- "modules": {
533
- "@glimmer/tracking": 1
534
- },
532
+ "modules": {},
535
533
  "classes": {},
536
534
  "fors": {
537
535
  "@glimmer/tracking": 1
@@ -1727,6 +1725,68 @@
1727
1725
  },
1728
1726
  "namespaces": {}
1729
1727
  },
1728
+ "packages/@glimmer/component/dist/-private/component.d.ts": {
1729
+ "name": "packages/@glimmer/component/dist/-private/component.d.ts",
1730
+ "modules": {},
1731
+ "classes": {},
1732
+ "fors": {},
1733
+ "namespaces": {}
1734
+ },
1735
+ "packages/@glimmer/component/dist/-private/ember-component-manager.d.ts": {
1736
+ "name": "packages/@glimmer/component/dist/-private/ember-component-manager.d.ts",
1737
+ "modules": {},
1738
+ "classes": {},
1739
+ "fors": {},
1740
+ "namespaces": {}
1741
+ },
1742
+ "packages/@glimmer/component/dist/index.d.ts": {
1743
+ "name": "packages/@glimmer/component/dist/index.d.ts",
1744
+ "modules": {
1745
+ "@glimmer/component": 1
1746
+ },
1747
+ "classes": {},
1748
+ "fors": {},
1749
+ "namespaces": {}
1750
+ },
1751
+ "packages/@glimmer/component/dist/index.js": {
1752
+ "name": "packages/@glimmer/component/dist/index.js",
1753
+ "modules": {},
1754
+ "classes": {},
1755
+ "fors": {},
1756
+ "namespaces": {}
1757
+ },
1758
+ "packages/@glimmer/component/src/-private/component.ts": {
1759
+ "name": "packages/@glimmer/component/src/-private/component.ts",
1760
+ "modules": {},
1761
+ "classes": {},
1762
+ "fors": {},
1763
+ "namespaces": {}
1764
+ },
1765
+ "packages/@glimmer/component/src/-private/ember-component-manager.ts": {
1766
+ "name": "packages/@glimmer/component/src/-private/ember-component-manager.ts",
1767
+ "modules": {},
1768
+ "classes": {},
1769
+ "fors": {},
1770
+ "namespaces": {}
1771
+ },
1772
+ "packages/@glimmer/component/src/index.ts": {
1773
+ "name": "packages/@glimmer/component/src/index.ts",
1774
+ "modules": {},
1775
+ "classes": {},
1776
+ "fors": {},
1777
+ "namespaces": {}
1778
+ },
1779
+ "packages/@glimmer/tracking/index.ts": {
1780
+ "name": "packages/@glimmer/tracking/index.ts",
1781
+ "modules": {
1782
+ "@glimmer/tracking": 1
1783
+ },
1784
+ "classes": {},
1785
+ "fors": {
1786
+ "@glimmer/tracking": 1
1787
+ },
1788
+ "namespaces": {}
1789
+ },
1730
1790
  "packages/ember-testing/lib/adapters/adapter.ts": {
1731
1791
  "name": "packages/ember-testing/lib/adapters/adapter.ts",
1732
1792
  "modules": {},
@@ -2009,9 +2069,9 @@
2009
2069
  },
2010
2070
  "namespaces": {},
2011
2071
  "tag": "module",
2012
- "file": "packages/@ember/-internals/glimmer/lib/glimmer-tracking-docs.ts",
2013
- "line": 1,
2014
- "description": "In order to tell Ember a value might change, we need to mark it as trackable.\nTrackable values are values that:\n\n- Can change over their component’s lifetime and\n- Should cause Ember to rerender if and when they change\n\nWe can do this by marking the field with the `@tracked` decorator.\n\n### Caching a getter value\n\nThe `@cached` decorator can be used on getters in order to cache the\nreturn value of the getter.\n\nThis method adds an extra overhead to each memoized getter, therefore caching\nthe values should not be the default strategy, but used in last resort.",
2072
+ "file": "packages/@glimmer/tracking/index.ts",
2073
+ "line": 3,
2074
+ "description": "In order to tell Ember a value might change, we need to mark it as trackable.\nTrackable values are values that:\n\n- Can change over their component’s lifetime and\n- Should cause Ember to rerender if and when they change\n\nWe can do this by marking the field with the `@tracked` decorator.",
2015
2075
  "access": "public",
2016
2076
  "tagname": ""
2017
2077
  },
@@ -2611,6 +2671,20 @@
2611
2671
  "access": "public",
2612
2672
  "tagname": ""
2613
2673
  },
2674
+ "@glimmer/component": {
2675
+ "name": "@glimmer/component",
2676
+ "submodules": {},
2677
+ "elements": {},
2678
+ "classes": {},
2679
+ "fors": {},
2680
+ "namespaces": {},
2681
+ "tag": "module",
2682
+ "file": "packages/@glimmer/component/dist/index.d.ts",
2683
+ "line": 3,
2684
+ "description": "A component is a reusable UI element that consists of a `.hbs` template and an\noptional JavaScript class that defines its behavior. For example, someone\nmight make a `button` in the template and handle the click behavior in the\nJavaScript file that shares the same name as the template.\n\nComponents are broken down into two categories:\n\n- Components _without_ JavaScript, that are based only on a template. These\n are called Template-only or TO components.\n- Components _with_ JavaScript, which consist of a template and a backing\n class.\n\nEmber ships with two types of JavaScript classes for components:\n\n1. Glimmer components, imported from `@glimmer/component`, which are the\n default components for Ember Octane (3.15) and more recent editions.\n2. Classic components, imported from `@ember/component`, which were the\n default for older editions of Ember (pre 3.15).\n\nBelow is the documentation for Template-only and Glimmer components. If you\nare looking for the API documentation for Classic components, it is\n[available here](/ember/release/classes/Component). The source code for\nGlimmer components can be found in [`@glimmer/component`](https://github.com/glimmerjs/glimmer.js/tree/master/packages/%40glimmer/component).\n\n## Defining a Template-only Component\n\nThe simplest way to create a component is to create a template file in\n`app/templates/components`. For example, if you name a template\n`app/templates/components/person-profile.hbs`:\n\n```app/templates/components/person-profile.hbs\n<h1>{{@person.name}}</h1>\n<img src={{@person.avatar}}>\n<p class='signature'>{{@person.signature}}</p>\n```\n\nYou will be able to use `<PersonProfile />` to invoke this component elsewhere\nin your application:\n\n```app/templates/application.hbs\n<PersonProfile @person={{this.currentUser}} />\n```\n\nNote that component names are capitalized here in order to distinguish them\nfrom regular HTML elements, but they are dasherized in the file system.\n\nWhile the angle bracket invocation form is generally preferred, it is also\npossible to invoke the same component with the `{{person-profile}}` syntax:\n\n```app/templates/application.hbs\n{{person-profile person=this.currentUser}}\n```\n\nNote that with this syntax, you use dashes in the component name and\narguments are passed without the `@` sign.\n\nIn both cases, Ember will render the content of the component template we\ncreated above. The end result will be something like this:\n\n```html\n<h1>Tomster</h1>\n<img src=\"https://emberjs.com/tomster.jpg\">\n<p class='signature'>Out of office this week</p>\n```\n\n## File System Nesting\n\nComponents can be nested inside sub-folders for logical groupping. For\nexample, if we placed our template in\n`app/templates/components/person/short-profile.hbs`, we can invoke it as\n`<Person::ShortProfile />`:\n\n```app/templates/application.hbs\n<Person::ShortProfile @person={{this.currentUser}} />\n```\n\nOr equivalently, `{{person/short-profile}}`:\n\n```app/templates/application.hbs\n{{person/short-profile person=this.currentUser}}\n```\n\n## Using Blocks\n\nYou can use `yield` inside a template to include the **contents** of any block\nattached to the component. For instance, if we added a `{{yield}}` to our\ncomponent like so:\n\n```app/templates/components/person-profile.hbs\n<h1>{{@person.name}}</h1>\n{{yield}}\n```\n\nWe could then invoke it like this:\n\n```handlebars\n<PersonProfile @person={{this.currentUser}}>\n <p>Admin mode</p>\n</PersonProfile>\n```\n\nor with curly syntax like this:\n\n```handlebars\n{{#person-profile person=this.currentUser}}\n <p>Admin mode</p>\n{{/person-profile}}\n```\n\nAnd the content passed in between the brackets of the component would be\nrendered in the same place as the `{{yield}}` within it, replacing it.\n\nBlocks are executed in their original context, meaning they have access to the\nscope and any in-scope variables where they were defined.\n\n### Passing parameters to blocks\n\nYou can also pass positional parameters to `{{yield}}`, which are then made\navailable in the block:\n\n```app/templates/components/person-profile.hbs\n<h1>{{@person.name}}</h1>\n{{yield @person.signature}}\n```\n\nWe can then use this value in the block like so:\n\n```handlebars\n<PersonProfile @person={{this.currentUser}} as |signature|>\n {{signature}}\n</PersonProfile>\n```\n\n### Passing multiple blocks\n\nYou can pass multiple blocks to a component by giving them names, and\nspecifying which block you are yielding to with `{{yield}}`. For instance, if\nwe wanted to add a way for users to customize the title of our\n`<PersonProfile>` component, we could add a named block inside of the header:\n\n```app/templates/components/person-profile.hbs\n<h1>{{yield to=\"title\"}}</h1>\n{{yield}}\n```\n\nThis component could then be invoked like so:\n\n```handlebars\n<PersonProfile @person={{this.currentUser}}>\n <:title>{{this.currentUser.name}}</:title>\n <:default>{{this.currentUser.signature}}</:default>\n</PersonProfile>\n```\n\nWhen passing named blocks, you must name every block, including the `default`\nblock, which is the block that is defined if you do not pass a `to` parameter\nto `{{yield}}`. Whenever you invoke a component without passing explicitly\nnamed blocks, the passed block is considered the `default` block.\n\n### Passing parameters to named blocks\n\nYou can also pass parameters to named blocks:\n\n```app/templates/components/person-profile.hbs\n<h1>{{yield @person.name to=\"title\"}}</h1>\n{{yield @person.signature}}\n```\n\nThese parameters can then be used like so:\n\n```handlebars\n<PersonProfile @person={{this.currentUser}}>\n <:title as |name|>{{name}}</:title>\n <:default as |signature|>{{signature}}</:default>\n</PersonProfile>\n```\n\n### Checking to see if a block exists\n\nYou can also check to see if a block exists using the `(has-block)` keyword,\nand conditionally use it, or provide a default template instead.\n\n```app/templates/components/person-profile.hbs\n<h1>\n {{#if (has-block \"title\")}}\n {{yield @person.name to=\"title\"}}\n {{else}}\n {{@person.name}}\n {{/if}}\n</h1>\n\n{{#if (has-block)}}\n {{yield @person.signature}}\n{{else}}\n {{@person.signature}}\n{{/if}}\n```\n\nWith this template, we can then optionally pass in one block, both blocks, or\nnone at all:\n\n```handlebars\n{{! passing both blocks }}\n<PersonProfile @person={{this.currentUser}}>\n <:title as |name|>{{name}}</:title>\n <:default as |signature|>{{signature}}</:default>\n</PersonProfile>\n\n{{! passing just the title block }}\n<PersonProfile @person={{this.currentUser}}>\n <:title as |name|>{{name}}</:title>\n</PersonProfile>\n\n{{! passing just the default block }}\n<PersonProfile @person={{this.currentUser}} as |signature|>\n {{signature}}\n</PersonProfile>\n\n{{! not passing any blocks }}\n<PersonProfile @person={{this.currentUser}}/>\n```\n\n### Checking to see if a block has parameters\n\nWe can also check if a block receives parameters using the `(has-block-params)`\nkeyword, and conditionally yield different values if so.\n\n```app/templates/components/person-profile.hbs\n{{#if (has-block-params)}}\n {{yield @person.signature}}\n{{else}}\n {{yield}}\n{{/if}}\n```\n\n## Customizing Components With JavaScript\n\nTo add JavaScript to a component, create a JavaScript file in the same\nlocation as the template file, with the same name, and export a subclass\nof `Component` as the default value. For example, to add Javascript to the\n`PersonProfile` component which we defined above, we would create\n`app/components/person-profile.js` and export our class as the default, like\nso:\n\n```app/components/person-profile.js\nimport Component from '@glimmer/component';\n\nexport default class PersonProfileComponent extends Component {\n get displayName() {\n let { title, firstName, lastName } = this.args.person;\n\n if (title) {\n return `${title} ${lastName}`;\n } else {\n return `${firstName} ${lastName}`;\n }\n })\n}\n```\n\nYou can add your own properties, methods, and lifecycle hooks to this\nsubclass to customize its behavior, and you can reference the instance of the\nclass in your template using `{{this}}`. For instance, we could access the\n`displayName` property of our `PersonProfile` component instance in the\ntemplate like this:\n\n```app/templates/components/person-profile.hbs\n<h1>{{this.displayName}}</h1>\n{{yield}}\n```\n\n## `constructor`\n\nparams: `owner` object and `args` object\n\nConstructs a new component and assigns itself the passed properties. The\nconstructor is run whenever a new instance of the component is created, and\ncan be used to setup the initial state of the component.\n\n```javascript\nimport Component from '@glimmer/component';\n\nexport default class SomeComponent extends Component {\n constructor(owner, args) {\n super(owner, args);\n\n if (this.args.displayMode === 'list') {\n this.items = [];\n }\n }\n}\n```\n\nService injections and arguments are available in the constructor.\n\n```javascript\nimport Component from '@glimmer/component';\nimport { service } from '@ember/service';\n\nexport default class SomeComponent extends Component {\n @service myAnimations;\n\n constructor(owner, args) {\n super(owner, args);\n\n if (this.args.fadeIn === true) {\n this.myAnimations.register(this, 'fade-in');\n }\n }\n}\n```\n\n## `willDestroy`\n\n`willDestroy` is called after the component has been removed from the DOM, but\nbefore the component is fully destroyed. This lifecycle hook can be used to\ncleanup the component and any related state.\n\n```javascript\nimport Component from '@glimmer/component';\nimport { service } from '@ember/service';\n\nexport default class SomeComponent extends Component {\n @service myAnimations;\n\n willDestroy() {\n super.willDestroy(...arguments);\n\n this.myAnimations.unregister(this);\n }\n}\n```\n\n## `args`\n\nThe `args` property of Glimmer components is an object that contains the\n_arguments_ that are passed to the component. For instance, the\nfollowing component usage:\n\n```handlebars\n<SomeComponent @fadeIn={{true}} />\n```\n\nWould result in the following `args` object to be passed to the component:\n\n```javascript\n{ fadeIn: true }\n```\n\n`args` can be accessed at any point in the component lifecycle, including\n`constructor` and `willDestroy`. They are also automatically marked as tracked\nproperties, and they can be depended on as computed property dependencies:\n\n```javascript\nimport Component from '@glimmer/component';\nimport { computed } from '@ember/object';\n\nexport default class SomeComponent extends Component {\n\n @computed('args.someValue')\n get computedGetter() {\n // updates whenever args.someValue updates\n return this.args.someValue;\n }\n\n get standardGetter() {\n // updates whenever args.anotherValue updates (Ember 3.13+)\n return this.args.anotherValue;\n }\n}\n```\n\n## `isDestroying`\n\nA boolean flag to tell if the component is in the process of destroying. This is set to\ntrue before `willDestroy` is called.\n\n## `isDestroyed`\nA boolean to tell if the component has been fully destroyed. This is set to true\nafter `willDestroy` is called.",
2685
+ "access": "public",
2686
+ "tagname": ""
2687
+ },
2614
2688
  "@ember/test": {
2615
2689
  "name": "@ember/test",
2616
2690
  "submodules": {},
@@ -18896,6 +18970,252 @@
18896
18970
  "class": "@ember/utils",
18897
18971
  "module": "@ember/utils"
18898
18972
  },
18973
+ {
18974
+ "file": "packages/@glimmer/component/dist/-private/component.d.ts",
18975
+ "line": 10,
18976
+ "description": "This provides us a way to have a \"fallback\" which represents an empty object,\nwithout the downsides of how TS treats `{}`. Specifically: this will\ncorrectly leverage \"excess property checking\" so that, given a component\nwhich has no named args, if someone invokes it with any named args, they will\nget a type error.",
18977
+ "internal": "This is exported so declaration emit works (if it were not emitted,\n declarations which fall back to it would not work). It is *not* intended for\n public usage, and the specific mechanics it uses may change at any time.\n The location of this export *is* part of the public API, because moving it\n will break existing declarations, but is not legal for end users to import\n themselves, so ***DO NOT RELY ON IT***.",
18978
+ "class": "@glimmer/tracking",
18979
+ "module": "@ember/utils"
18980
+ },
18981
+ {
18982
+ "file": "packages/@glimmer/component/dist/-private/component.d.ts",
18983
+ "line": 30,
18984
+ "class": "@glimmer/tracking",
18985
+ "module": "@ember/utils"
18986
+ },
18987
+ {
18988
+ "file": "packages/@glimmer/component/dist/-private/component.d.ts",
18989
+ "line": 62,
18990
+ "description": "Given any allowed shorthand form of a signature, desugars it to its full\nexpanded type.",
18991
+ "internal": "This is only exported so we can avoid duplicating it in\n [Glint](https://github.com/typed-ember/glint) or other such tooling. It is\n *not* intended for public usage, and the specific mechanics it uses may\n change at any time. Although the signature produced by is part of Glimmer's\n public API the existence and mechanics of this specific symbol are *not*,\n so ***DO NOT RELY ON IT***.",
18992
+ "class": "@glimmer/tracking",
18993
+ "module": "@ember/utils"
18994
+ },
18995
+ {
18996
+ "file": "packages/@glimmer/component/dist/-private/component.d.ts",
18997
+ "line": 74,
18998
+ "internal": "we use this type for convenience internally; inference means users\n should not normally need to name it",
18999
+ "class": "@glimmer/tracking",
19000
+ "module": "@ember/utils"
19001
+ },
19002
+ {
19003
+ "file": "packages/@glimmer/component/dist/-private/component.d.ts",
19004
+ "line": 79,
19005
+ "description": "The `Component` class defines an encapsulated UI element that is rendered to\nthe DOM. A component is made up of a template and, optionally, this component\nobject.\n\n## Defining a Component\n\nTo define a component, subclass `Component` and add your own properties,\nmethods and lifecycle hooks:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n}\n```\n\n## Lifecycle Hooks\n\nLifecycle hooks allow you to respond to changes to a component, such as when\nit gets created, rendered, updated or destroyed. To add a lifecycle hook to a\ncomponent, implement the hook as a method on your component subclass.\n\nFor example, to be notified when Glimmer has rendered your component so you\ncan attach a legacy jQuery plugin, implement the `didInsertElement()` method:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n didInsertElement() {\n $(this.element).pickadate();\n }\n}\n```\n\n## Data for Templates\n\n`Component`s have two different kinds of data, or state, that can be\ndisplayed in templates:\n\n1. Arguments\n2. Properties\n\nArguments are data that is passed in to a component from its parent\ncomponent. For example, if I have a `UserGreeting` component, I can pass it\na name and greeting to use:\n\n```hbs\n<UserGreeting @name=\"Ricardo\" @greeting=\"Olá\" />\n```\n\nInside my `UserGreeting` template, I can access the `@name` and `@greeting`\narguments that I've been given:\n\n```hbs\n{{@greeting}}, {{@name}}!\n```\n\nArguments are also available inside my component:\n\n```ts\nconsole.log(this.args.greeting); // prints \"Olá\"\n```\n\nProperties, on the other hand, are internal to the component and declared in\nthe class. You can use properties to store data that you want to show in the\ntemplate, or pass to another component as an argument.\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n user = {\n name: 'Robbie'\n }\n}\n```\n\nIn the above example, we've defined a component with a `user` property that\ncontains an object with its own `name` property.\n\nWe can render that property in our template:\n\n```hbs\nHello, {{user.name}}!\n```\n\nWe can also take that property and pass it as an argument to the\n`UserGreeting` component we defined above:\n\n```hbs\n<UserGreeting @greeting=\"Hello\" @name={{user.name}} />\n```\n\n## Arguments vs. Properties\n\nRemember, arguments are data that was given to your component by its parent\ncomponent, and properties are data your component has defined for itself.\n\nYou can tell the difference between arguments and properties in templates\nbecause arguments always start with an `@` sign (think \"A is for arguments\"):\n\n```hbs\n{{@firstName}}\n```\n\nWe know that `@firstName` came from the parent component, not the current\ncomponent, because it starts with `@` and is therefore an argument.\n\nOn the other hand, if we see:\n\n```hbs\n{{name}}\n```\n\nWe know that `name` is a property on the component. If we want to know where\nthe data is coming from, we can go look at our component class to find out.\n\nInside the component itself, arguments always show up inside the component's\n`args` property. For example, if `{{@firstName}}` is `Tom` in the template,\ninside the component `this.args.firstName` would also be `Tom`.",
19006
+ "class": "@glimmer/tracking",
19007
+ "module": "@ember/utils"
19008
+ },
19009
+ {
19010
+ "file": "packages/@glimmer/component/dist/-private/component.d.ts",
19011
+ "line": 203,
19012
+ "description": "Constructs a new component and assigns itself the passed properties. You\nshould not construct new components yourself. Instead, Glimmer will\ninstantiate new components automatically as it renders.",
19013
+ "params": [
19014
+ {
19015
+ "name": "owner",
19016
+ "description": ""
19017
+ },
19018
+ {
19019
+ "name": "args",
19020
+ "description": ""
19021
+ }
19022
+ ],
19023
+ "class": "@glimmer/tracking",
19024
+ "module": "@ember/utils"
19025
+ },
19026
+ {
19027
+ "file": "packages/@glimmer/component/dist/-private/component.d.ts",
19028
+ "line": 212,
19029
+ "description": "Named arguments passed to the component from its parent component.\nThey can be accessed in JavaScript via `this.args.argumentName` and in the template via `@argumentName`.\n\nSay you have the following component, which will have two `args`, `firstName` and `lastName`:\n\n```hbs\n<my-component @firstName=\"Arthur\" @lastName=\"Dent\" />\n```\n\nIf you needed to calculate `fullName` by combining both of them, you would do:\n\n```ts\ndidInsertElement() {\n console.log(`Hi, my full name is ${this.args.firstName} ${this.args.lastName}`);\n}\n```\n\nWhile in the template you could do:\n\n```hbs\n<p>Welcome, {{@firstName}} {{@lastName}}!</p>\n```",
19030
+ "class": "@glimmer/tracking",
19031
+ "module": "@ember/utils"
19032
+ },
19033
+ {
19034
+ "file": "packages/@glimmer/component/dist/-private/component.d.ts",
19035
+ "line": 239,
19036
+ "description": "Called before the component has been removed from the DOM.",
19037
+ "class": "@glimmer/tracking",
19038
+ "module": "@ember/utils"
19039
+ },
19040
+ {
19041
+ "file": "packages/@glimmer/component/dist/-private/ember-component-manager.d.ts",
19042
+ "line": 4,
19043
+ "description": "This component manager runs in Ember.js environments and extends the base component manager to:\n\n1. Properly destroy the component's associated `meta` data structure\n2. Schedule destruction using Ember's runloop",
19044
+ "class": "@glimmer/tracking",
19045
+ "module": "@ember/utils"
19046
+ },
19047
+ {
19048
+ "file": "packages/@glimmer/component/dist/index.js",
19049
+ "line": 32,
19050
+ "description": "This provides us a way to have a \"fallback\" which represents an empty object,\nwithout the downsides of how TS treats `{}`. Specifically: this will\ncorrectly leverage \"excess property checking\" so that, given a component\nwhich has no named args, if someone invokes it with any named args, they will\nget a type error.",
19051
+ "internal": "This is exported so declaration emit works (if it were not emitted,\n declarations which fall back to it would not work). It is *not* intended for\n public usage, and the specific mechanics it uses may change at any time.\n The location of this export *is* part of the public API, because moving it\n will break existing declarations, but is not legal for end users to import\n themselves, so ***DO NOT RELY ON IT***.",
19052
+ "class": "@glimmer/tracking",
19053
+ "module": "@glimmer/component"
19054
+ },
19055
+ {
19056
+ "file": "packages/@glimmer/component/dist/index.js",
19057
+ "line": 47,
19058
+ "class": "@glimmer/tracking",
19059
+ "module": "@glimmer/component"
19060
+ },
19061
+ {
19062
+ "file": "packages/@glimmer/component/dist/index.js",
19063
+ "line": 49,
19064
+ "description": "Given any allowed shorthand form of a signature, desugars it to its full\nexpanded type.",
19065
+ "internal": "This is only exported so we can avoid duplicating it in\n [Glint](https://github.com/typed-ember/glint) or other such tooling. It is\n *not* intended for public usage, and the specific mechanics it uses may\n change at any time. Although the signature produced by is part of Glimmer's\n public API the existence and mechanics of this specific symbol are *not*,\n so ***DO NOT RELY ON IT***.",
19066
+ "class": "@glimmer/tracking",
19067
+ "module": "@glimmer/component"
19068
+ },
19069
+ {
19070
+ "file": "packages/@glimmer/component/dist/index.js",
19071
+ "line": 66,
19072
+ "internal": "we use this type for convenience internally; inference means users\n should not normally need to name it",
19073
+ "class": "@glimmer/tracking",
19074
+ "module": "@glimmer/component"
19075
+ },
19076
+ {
19077
+ "file": "packages/@glimmer/component/dist/index.js",
19078
+ "line": 71,
19079
+ "description": "The `Component` class defines an encapsulated UI element that is rendered to\nthe DOM. A component is made up of a template and, optionally, this component\nobject.\n\n## Defining a Component\n\nTo define a component, subclass `Component` and add your own properties,\nmethods and lifecycle hooks:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n}\n```\n\n## Lifecycle Hooks\n\nLifecycle hooks allow you to respond to changes to a component, such as when\nit gets created, rendered, updated or destroyed. To add a lifecycle hook to a\ncomponent, implement the hook as a method on your component subclass.\n\nFor example, to be notified when Glimmer has rendered your component so you\ncan attach a legacy jQuery plugin, implement the `didInsertElement()` method:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n didInsertElement() {\n $(this.element).pickadate();\n }\n}\n```\n\n## Data for Templates\n\n`Component`s have two different kinds of data, or state, that can be\ndisplayed in templates:\n\n1. Arguments\n2. Properties\n\nArguments are data that is passed in to a component from its parent\ncomponent. For example, if I have a `UserGreeting` component, I can pass it\na name and greeting to use:\n\n```hbs\n<UserGreeting @name=\"Ricardo\" @greeting=\"Olá\" />\n```\n\nInside my `UserGreeting` template, I can access the `@name` and `@greeting`\narguments that I've been given:\n\n```hbs\n{{@greeting}}, {{@name}}!\n```\n\nArguments are also available inside my component:\n\n```ts\nconsole.log(this.args.greeting); // prints \"Olá\"\n```\n\nProperties, on the other hand, are internal to the component and declared in\nthe class. You can use properties to store data that you want to show in the\ntemplate, or pass to another component as an argument.\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n user = {\n name: 'Robbie'\n }\n}\n```\n\nIn the above example, we've defined a component with a `user` property that\ncontains an object with its own `name` property.\n\nWe can render that property in our template:\n\n```hbs\nHello, {{user.name}}!\n```\n\nWe can also take that property and pass it as an argument to the\n`UserGreeting` component we defined above:\n\n```hbs\n<UserGreeting @greeting=\"Hello\" @name={{user.name}} />\n```\n\n## Arguments vs. Properties\n\nRemember, arguments are data that was given to your component by its parent\ncomponent, and properties are data your component has defined for itself.\n\nYou can tell the difference between arguments and properties in templates\nbecause arguments always start with an `@` sign (think \"A is for arguments\"):\n\n```hbs\n{{@firstName}}\n```\n\nWe know that `@firstName` came from the parent component, not the current\ncomponent, because it starts with `@` and is therefore an argument.\n\nOn the other hand, if we see:\n\n```hbs\n{{name}}\n```\n\nWe know that `name` is a property on the component. If we want to know where\nthe data is coming from, we can go look at our component class to find out.\n\nInside the component itself, arguments always show up inside the component's\n`args` property. For example, if `{{@firstName}}` is `Tom` in the template,\ninside the component `this.args.firstName` would also be `Tom`.",
19080
+ "class": "@glimmer/tracking",
19081
+ "module": "@glimmer/component"
19082
+ },
19083
+ {
19084
+ "file": "packages/@glimmer/component/dist/index.js",
19085
+ "line": 195,
19086
+ "description": "Constructs a new component and assigns itself the passed properties. You\nshould not construct new components yourself. Instead, Glimmer will\ninstantiate new components automatically as it renders.",
19087
+ "params": [
19088
+ {
19089
+ "name": "owner",
19090
+ "description": ""
19091
+ },
19092
+ {
19093
+ "name": "args",
19094
+ "description": ""
19095
+ }
19096
+ ],
19097
+ "class": "@glimmer/tracking",
19098
+ "module": "@glimmer/component"
19099
+ },
19100
+ {
19101
+ "file": "packages/@glimmer/component/dist/index.js",
19102
+ "line": 212,
19103
+ "description": "Named arguments passed to the component from its parent component.\nThey can be accessed in JavaScript via `this.args.argumentName` and in the template via `@argumentName`.\n\nSay you have the following component, which will have two `args`, `firstName` and `lastName`:\n\n```hbs\n<my-component @firstName=\"Arthur\" @lastName=\"Dent\" />\n```\n\nIf you needed to calculate `fullName` by combining both of them, you would do:\n\n```ts\ndidInsertElement() {\n console.log(`Hi, my full name is ${this.args.firstName} ${this.args.lastName}`);\n}\n```\n\nWhile in the template you could do:\n\n```hbs\n<p>Welcome, {{@firstName}} {{@lastName}}!</p>\n```",
19104
+ "class": "@glimmer/tracking",
19105
+ "module": "@glimmer/component"
19106
+ },
19107
+ {
19108
+ "file": "packages/@glimmer/component/dist/index.js",
19109
+ "line": 244,
19110
+ "description": "Called before the component has been removed from the DOM.",
19111
+ "class": "@glimmer/tracking",
19112
+ "module": "@glimmer/component"
19113
+ },
19114
+ {
19115
+ "file": "packages/@glimmer/component/dist/index.js",
19116
+ "line": 279,
19117
+ "description": "This component manager runs in Ember.js environments and extends the base component manager to:\n\n1. Properly destroy the component's associated `meta` data structure\n2. Schedule destruction using Ember's runloop",
19118
+ "class": "@glimmer/tracking",
19119
+ "module": "@glimmer/component"
19120
+ },
19121
+ {
19122
+ "file": "packages/@glimmer/component/src/-private/component.ts",
19123
+ "line": 36,
19124
+ "description": "This provides us a way to have a \"fallback\" which represents an empty object,\nwithout the downsides of how TS treats `{}`. Specifically: this will\ncorrectly leverage \"excess property checking\" so that, given a component\nwhich has no named args, if someone invokes it with any named args, they will\nget a type error.",
19125
+ "internal": "This is exported so declaration emit works (if it were not emitted,\n declarations which fall back to it would not work). It is *not* intended for\n public usage, and the specific mechanics it uses may change at any time.\n The location of this export *is* part of the public API, because moving it\n will break existing declarations, but is not legal for end users to import\n themselves, so ***DO NOT RELY ON IT***.",
19126
+ "class": "@glimmer/tracking",
19127
+ "module": "@glimmer/component"
19128
+ },
19129
+ {
19130
+ "file": "packages/@glimmer/component/src/-private/component.ts",
19131
+ "line": 56,
19132
+ "class": "@glimmer/tracking",
19133
+ "module": "@glimmer/component"
19134
+ },
19135
+ {
19136
+ "file": "packages/@glimmer/component/src/-private/component.ts",
19137
+ "line": 79,
19138
+ "description": "Given any allowed shorthand form of a signature, desugars it to its full\nexpanded type.",
19139
+ "internal": "This is only exported so we can avoid duplicating it in\n [Glint](https://github.com/typed-ember/glint) or other such tooling. It is\n *not* intended for public usage, and the specific mechanics it uses may\n change at any time. Although the signature produced by is part of Glimmer's\n public API the existence and mechanics of this specific symbol are *not*,\n so ***DO NOT RELY ON IT***.",
19140
+ "class": "@glimmer/tracking",
19141
+ "module": "@glimmer/component"
19142
+ },
19143
+ {
19144
+ "file": "packages/@glimmer/component/src/-private/component.ts",
19145
+ "line": 97,
19146
+ "internal": "we use this type for convenience internally; inference means users\n should not normally need to name it",
19147
+ "class": "@glimmer/tracking",
19148
+ "module": "@glimmer/component"
19149
+ },
19150
+ {
19151
+ "file": "packages/@glimmer/component/src/-private/component.ts",
19152
+ "line": 103,
19153
+ "description": "The `Component` class defines an encapsulated UI element that is rendered to\nthe DOM. A component is made up of a template and, optionally, this component\nobject.\n\n## Defining a Component\n\nTo define a component, subclass `Component` and add your own properties,\nmethods and lifecycle hooks:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n}\n```\n\n## Lifecycle Hooks\n\nLifecycle hooks allow you to respond to changes to a component, such as when\nit gets created, rendered, updated or destroyed. To add a lifecycle hook to a\ncomponent, implement the hook as a method on your component subclass.\n\nFor example, to be notified when Glimmer has rendered your component so you\ncan attach a legacy jQuery plugin, implement the `didInsertElement()` method:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n didInsertElement() {\n $(this.element).pickadate();\n }\n}\n```\n\n## Data for Templates\n\n`Component`s have two different kinds of data, or state, that can be\ndisplayed in templates:\n\n1. Arguments\n2. Properties\n\nArguments are data that is passed in to a component from its parent\ncomponent. For example, if I have a `UserGreeting` component, I can pass it\na name and greeting to use:\n\n```hbs\n<UserGreeting @name=\"Ricardo\" @greeting=\"Olá\" />\n```\n\nInside my `UserGreeting` template, I can access the `@name` and `@greeting`\narguments that I've been given:\n\n```hbs\n{{@greeting}}, {{@name}}!\n```\n\nArguments are also available inside my component:\n\n```ts\nconsole.log(this.args.greeting); // prints \"Olá\"\n```\n\nProperties, on the other hand, are internal to the component and declared in\nthe class. You can use properties to store data that you want to show in the\ntemplate, or pass to another component as an argument.\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n user = {\n name: 'Robbie'\n }\n}\n```\n\nIn the above example, we've defined a component with a `user` property that\ncontains an object with its own `name` property.\n\nWe can render that property in our template:\n\n```hbs\nHello, {{user.name}}!\n```\n\nWe can also take that property and pass it as an argument to the\n`UserGreeting` component we defined above:\n\n```hbs\n<UserGreeting @greeting=\"Hello\" @name={{user.name}} />\n```\n\n## Arguments vs. Properties\n\nRemember, arguments are data that was given to your component by its parent\ncomponent, and properties are data your component has defined for itself.\n\nYou can tell the difference between arguments and properties in templates\nbecause arguments always start with an `@` sign (think \"A is for arguments\"):\n\n```hbs\n{{@firstName}}\n```\n\nWe know that `@firstName` came from the parent component, not the current\ncomponent, because it starts with `@` and is therefore an argument.\n\nOn the other hand, if we see:\n\n```hbs\n{{name}}\n```\n\nWe know that `name` is a property on the component. If we want to know where\nthe data is coming from, we can go look at our component class to find out.\n\nInside the component itself, arguments always show up inside the component's\n`args` property. For example, if `{{@firstName}}` is `Tom` in the template,\ninside the component `this.args.firstName` would also be `Tom`.",
19154
+ "class": "@glimmer/tracking",
19155
+ "module": "@glimmer/component"
19156
+ },
19157
+ {
19158
+ "file": "packages/@glimmer/component/src/-private/component.ts",
19159
+ "line": 227,
19160
+ "description": "Constructs a new component and assigns itself the passed properties. You\nshould not construct new components yourself. Instead, Glimmer will\ninstantiate new components automatically as it renders.",
19161
+ "params": [
19162
+ {
19163
+ "name": "owner",
19164
+ "description": ""
19165
+ },
19166
+ {
19167
+ "name": "args",
19168
+ "description": ""
19169
+ }
19170
+ ],
19171
+ "class": "@glimmer/tracking",
19172
+ "module": "@glimmer/component"
19173
+ },
19174
+ {
19175
+ "file": "packages/@glimmer/component/src/-private/component.ts",
19176
+ "line": 248,
19177
+ "description": "Named arguments passed to the component from its parent component.\nThey can be accessed in JavaScript via `this.args.argumentName` and in the template via `@argumentName`.\n\nSay you have the following component, which will have two `args`, `firstName` and `lastName`:\n\n```hbs\n<my-component @firstName=\"Arthur\" @lastName=\"Dent\" />\n```\n\nIf you needed to calculate `fullName` by combining both of them, you would do:\n\n```ts\ndidInsertElement() {\n console.log(`Hi, my full name is ${this.args.firstName} ${this.args.lastName}`);\n}\n```\n\nWhile in the template you could do:\n\n```hbs\n<p>Welcome, {{@firstName}} {{@lastName}}!</p>\n```",
19178
+ "class": "@glimmer/tracking",
19179
+ "module": "@glimmer/component"
19180
+ },
19181
+ {
19182
+ "file": "packages/@glimmer/component/src/-private/component.ts",
19183
+ "line": 282,
19184
+ "description": "Called before the component has been removed from the DOM.",
19185
+ "class": "@glimmer/tracking",
19186
+ "module": "@glimmer/component"
19187
+ },
19188
+ {
19189
+ "file": "packages/@glimmer/component/src/-private/ember-component-manager.ts",
19190
+ "line": 24,
19191
+ "description": "This component manager runs in Ember.js environments and extends the base component manager to:\n\n1. Properly destroy the component's associated `meta` data structure\n2. Schedule destruction using Ember's runloop",
19192
+ "class": "@glimmer/tracking",
19193
+ "module": "@glimmer/component"
19194
+ },
19195
+ {
19196
+ "file": "packages/@glimmer/tracking/index.ts",
19197
+ "line": 16,
19198
+ "description": "Marks a property as tracked. By default, values that are rendered in Ember app\ntemplates are _static_, meaning that updates to them won't cause the\napplication to rerender. Marking a property as tracked means that when that\nproperty changes, any templates that used that property, directly or\nindirectly, will rerender. For instance, consider this component:\n\n```handlebars\n<div>Count: {{this.count}}</div>\n<div>Times Ten: {{this.timesTen}}</div>\n<div>\n <button {{on \"click\" this.plusOne}}>\n Plus One\n </button>\n</div>\n```\n\n```javascript\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport default class CounterComponent extends Component {\n @tracked count = 0;\n\n get timesTen() {\n return this.count * 10;\n }\n\n @action\n plusOne() {\n this.count += 1;\n }\n}\n```\n\nBoth the `{{this.count}}` and the `{{this.timesTen}}` properties in the\ntemplate will update whenever the button is clicked. Any tracked properties\nthat are used in any way to calculate a value that is used in the template\nwill cause a rerender when updated - this includes through method calls and\nother means:\n\n```javascript\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nclass Entry {\n @tracked name;\n @tracked phoneNumber;\n\n constructor(name, phoneNumber) {\n this.name = name;\n this.phoneNumber = phoneNumber;\n }\n}\n\nexport default class PhoneBookComponent extends Component {\n entries = [\n new Entry('Pizza Palace', 5551234),\n new Entry('1st Street Cleaners', 5554321),\n new Entry('Plants R Us', 5552468),\n ];\n\n // Any usage of this property will update whenever any of the names in the\n // entries arrays are updated\n get names() {\n return this.entries.map(e => e.name);\n }\n\n // Any usage of this property will update whenever any of the numbers in the\n // entries arrays are updated\n get numbers() {\n return this.getFormattedNumbers();\n }\n\n getFormattedNumbers() {\n return this.entries\n .map(e => e.phoneNumber)\n .map(number => {\n let numberString = '' + number;\n\n return numberString.slice(0, 3) + '-' + numberString.slice(3);\n });\n }\n}\n```\n\nIt's important to note that setting tracked properties will always trigger an\nupdate, even if the property is set to the same value as it was before.\n\n```js\nlet entry = new Entry('Pizza Palace', 5551234);\n// if entry was used when rendering, this would cause a rerender, even though\n// the name is being set to the same value as it was before\nentry.name = entry.name;\n```\n\n`tracked` can also be used with the classic Ember object model in a similar\nmanner to classic computed properties:\n\n```javascript\nimport EmberObject from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nconst Entry = EmberObject.extend({\n name: tracked(),\n phoneNumber: tracked()\n});\n```\n\nOften this is unnecessary, but to ensure robust auto-tracking behavior it is\nadvisable to mark tracked state appropriately wherever possible.\nThis form of `tracked` also accepts an optional configuration object\ncontaining either an initial `value` or an `initializer` function (but not\nboth).\n\n```javascript\nimport EmberObject from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nconst Entry = EmberObject.extend({\n name: tracked({ value: 'Zoey' }),\n favoriteSongs: tracked({\n initializer: () => ['Raspberry Beret', 'Time After Time']\n })\n});\n```",
19199
+ "itemtype": "method",
19200
+ "name": "tracked",
19201
+ "static": 1,
19202
+ "access": "public",
19203
+ "tagname": "",
19204
+ "class": "@glimmer/tracking",
19205
+ "module": "@glimmer/tracking"
19206
+ },
19207
+ {
19208
+ "file": "packages/@glimmer/tracking/index.ts",
19209
+ "line": 150,
19210
+ "description": "The `@cached` decorator can be used on getters in order to cache the return\nvalue of the getter. This is useful when a getter is expensive and used very\noften. For instance, in this guest list class, we have the `sortedGuests`\ngetter that sorts the guests alphabetically:\n\n```js\nimport { tracked } from '@glimmer/tracking';\n\nclass GuestList {\n @tracked guests = ['Zoey', 'Tomster'];\n\n get sortedGuests() {\n return this.guests.slice().sort()\n }\n}\n```\n\nEvery time `sortedGuests` is accessed, a new array will be created and sorted,\nbecause JavaScript getters do not cache by default. When the guest list is\nsmall, like the one in the example, this is not a problem. However, if the guest\nlist were to grow very large, it would mean that we would be doing a large\namount of work each time we accessed `sortedGetters`. With `@cached`, we can\ncache the value instead:\n\n```js\nimport { tracked, cached } from '@glimmer/tracking';\n\nclass GuestList {\n @tracked guests = ['Zoey', 'Tomster'];\n\n @cached\n get sortedGuests() {\n return this.guests.slice().sort()\n }\n}\n```\n\nNow the `sortedGuests` getter will be cached based on _autotracking_. It will\nonly rerun and create a new sorted array when the `guests` tracked property is\nupdated.\n\nIn general, you should avoid using `@cached` unless you have confirmed that the\ngetter you are decorating is computationally expensive. `@cached` adds a small\namount of overhead to the getter, making it more expensive. While this overhead\nis small, if `@cached` is overused it can add up to a large impact overall in\nyour app. Many getters and tracked properties are only accessed once, rendered,\nand then never rerendered, so adding `@cached` when it is unnecessary can\nnegatively impact performance.",
19211
+ "itemtype": "method",
19212
+ "name": "cached",
19213
+ "static": 1,
19214
+ "access": "public",
19215
+ "tagname": "",
19216
+ "class": "@glimmer/tracking",
19217
+ "module": "@glimmer/tracking"
19218
+ },
18899
19219
  {
18900
19220
  "file": "packages/ember-testing/lib/adapters/adapter.ts",
18901
19221
  "line": 20,
@@ -19471,6 +19791,42 @@
19471
19791
  "message": "unknown tag: internal",
19472
19792
  "line": " packages/@ember/runloop/index.ts:88"
19473
19793
  },
19794
+ {
19795
+ "message": "unknown tag: internal",
19796
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:10"
19797
+ },
19798
+ {
19799
+ "message": "unknown tag: internal",
19800
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:62"
19801
+ },
19802
+ {
19803
+ "message": "unknown tag: internal",
19804
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:74"
19805
+ },
19806
+ {
19807
+ "message": "unknown tag: internal",
19808
+ "line": " packages/@glimmer/component/dist/index.js:32"
19809
+ },
19810
+ {
19811
+ "message": "unknown tag: internal",
19812
+ "line": " packages/@glimmer/component/dist/index.js:49"
19813
+ },
19814
+ {
19815
+ "message": "unknown tag: internal",
19816
+ "line": " packages/@glimmer/component/dist/index.js:66"
19817
+ },
19818
+ {
19819
+ "message": "unknown tag: internal",
19820
+ "line": " packages/@glimmer/component/src/-private/component.ts:36"
19821
+ },
19822
+ {
19823
+ "message": "unknown tag: internal",
19824
+ "line": " packages/@glimmer/component/src/-private/component.ts:79"
19825
+ },
19826
+ {
19827
+ "message": "unknown tag: internal",
19828
+ "line": " packages/@glimmer/component/src/-private/component.ts:97"
19829
+ },
19474
19830
  {
19475
19831
  "message": "Missing item type\nThis \"upgrades\" a route template into a invocable component. Conceptually\nit can be 1:1 for each unique `Template`, but it's also cheap to construct,\nso unless the stability is desirable for other reasons, it's probably not\nworth caching this.",
19476
19832
  "line": " packages/@ember/-internals/glimmer/lib/component-managers/route-template.ts:115"
@@ -20126,6 +20482,114 @@
20126
20482
  {
20127
20483
  "message": "Missing item type\nThis supports template blocks defined in class bodies.\n\nManual form:\n\n```ts\nclass MyComponent {\n static {\n template(templateContent, {\n component: this,\n eval: () => eval(arguments[0])\n })\n }\n}\n```\n\nGJS form (compiled to the manual form via `content-tag`):\n\n```ts\nclass MyComponent {\n <template>Template Content</template>\n}\n```",
20128
20484
  "line": " packages/@ember/template-compiler/lib/types.ts:31"
20485
+ },
20486
+ {
20487
+ "message": "Missing item type\nThis provides us a way to have a \"fallback\" which represents an empty object,\nwithout the downsides of how TS treats `{}`. Specifically: this will\ncorrectly leverage \"excess property checking\" so that, given a component\nwhich has no named args, if someone invokes it with any named args, they will\nget a type error.",
20488
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:10"
20489
+ },
20490
+ {
20491
+ "message": "Missing item type",
20492
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:30"
20493
+ },
20494
+ {
20495
+ "message": "Missing item type\nGiven any allowed shorthand form of a signature, desugars it to its full\nexpanded type.",
20496
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:62"
20497
+ },
20498
+ {
20499
+ "message": "Missing item type",
20500
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:74"
20501
+ },
20502
+ {
20503
+ "message": "Missing item type\nThe `Component` class defines an encapsulated UI element that is rendered to\nthe DOM. A component is made up of a template and, optionally, this component\nobject.\n\n## Defining a Component\n\nTo define a component, subclass `Component` and add your own properties,\nmethods and lifecycle hooks:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n}\n```\n\n## Lifecycle Hooks\n\nLifecycle hooks allow you to respond to changes to a component, such as when\nit gets created, rendered, updated or destroyed. To add a lifecycle hook to a\ncomponent, implement the hook as a method on your component subclass.\n\nFor example, to be notified when Glimmer has rendered your component so you\ncan attach a legacy jQuery plugin, implement the `didInsertElement()` method:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n didInsertElement() {\n $(this.element).pickadate();\n }\n}\n```\n\n## Data for Templates\n\n`Component`s have two different kinds of data, or state, that can be\ndisplayed in templates:\n\n1. Arguments\n2. Properties\n\nArguments are data that is passed in to a component from its parent\ncomponent. For example, if I have a `UserGreeting` component, I can pass it\na name and greeting to use:\n\n```hbs\n<UserGreeting @name=\"Ricardo\" @greeting=\"Olá\" />\n```\n\nInside my `UserGreeting` template, I can access the `@name` and `@greeting`\narguments that I've been given:\n\n```hbs\n{{@greeting}}, {{@name}}!\n```\n\nArguments are also available inside my component:\n\n```ts\nconsole.log(this.args.greeting); // prints \"Olá\"\n```\n\nProperties, on the other hand, are internal to the component and declared in\nthe class. You can use properties to store data that you want to show in the\ntemplate, or pass to another component as an argument.\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n user = {\n name: 'Robbie'\n }\n}\n```\n\nIn the above example, we've defined a component with a `user` property that\ncontains an object with its own `name` property.\n\nWe can render that property in our template:\n\n```hbs\nHello, {{user.name}}!\n```\n\nWe can also take that property and pass it as an argument to the\n`UserGreeting` component we defined above:\n\n```hbs\n<UserGreeting @greeting=\"Hello\" @name={{user.name}} />\n```\n\n## Arguments vs. Properties\n\nRemember, arguments are data that was given to your component by its parent\ncomponent, and properties are data your component has defined for itself.\n\nYou can tell the difference between arguments and properties in templates\nbecause arguments always start with an `@` sign (think \"A is for arguments\"):\n\n```hbs\n{{@firstName}}\n```\n\nWe know that `@firstName` came from the parent component, not the current\ncomponent, because it starts with `@` and is therefore an argument.\n\nOn the other hand, if we see:\n\n```hbs\n{{name}}\n```\n\nWe know that `name` is a property on the component. If we want to know where\nthe data is coming from, we can go look at our component class to find out.\n\nInside the component itself, arguments always show up inside the component's\n`args` property. For example, if `{{@firstName}}` is `Tom` in the template,\ninside the component `this.args.firstName` would also be `Tom`.",
20504
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:79"
20505
+ },
20506
+ {
20507
+ "message": "Missing item type\nConstructs a new component and assigns itself the passed properties. You\nshould not construct new components yourself. Instead, Glimmer will\ninstantiate new components automatically as it renders.",
20508
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:203"
20509
+ },
20510
+ {
20511
+ "message": "Missing item type\nNamed arguments passed to the component from its parent component.\nThey can be accessed in JavaScript via `this.args.argumentName` and in the template via `@argumentName`.\n\nSay you have the following component, which will have two `args`, `firstName` and `lastName`:\n\n```hbs\n<my-component @firstName=\"Arthur\" @lastName=\"Dent\" />\n```\n\nIf you needed to calculate `fullName` by combining both of them, you would do:\n\n```ts\ndidInsertElement() {\n console.log(`Hi, my full name is ${this.args.firstName} ${this.args.lastName}`);\n}\n```\n\nWhile in the template you could do:\n\n```hbs\n<p>Welcome, {{@firstName}} {{@lastName}}!</p>\n```",
20512
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:212"
20513
+ },
20514
+ {
20515
+ "message": "Missing item type\nCalled before the component has been removed from the DOM.",
20516
+ "line": " packages/@glimmer/component/dist/-private/component.d.ts:239"
20517
+ },
20518
+ {
20519
+ "message": "Missing item type\nThis component manager runs in Ember.js environments and extends the base component manager to:\n\n1. Properly destroy the component's associated `meta` data structure\n2. Schedule destruction using Ember's runloop",
20520
+ "line": " packages/@glimmer/component/dist/-private/ember-component-manager.d.ts:4"
20521
+ },
20522
+ {
20523
+ "message": "Missing item type\nThis provides us a way to have a \"fallback\" which represents an empty object,\nwithout the downsides of how TS treats `{}`. Specifically: this will\ncorrectly leverage \"excess property checking\" so that, given a component\nwhich has no named args, if someone invokes it with any named args, they will\nget a type error.",
20524
+ "line": " packages/@glimmer/component/dist/index.js:32"
20525
+ },
20526
+ {
20527
+ "message": "Missing item type",
20528
+ "line": " packages/@glimmer/component/dist/index.js:47"
20529
+ },
20530
+ {
20531
+ "message": "Missing item type\nGiven any allowed shorthand form of a signature, desugars it to its full\nexpanded type.",
20532
+ "line": " packages/@glimmer/component/dist/index.js:49"
20533
+ },
20534
+ {
20535
+ "message": "Missing item type",
20536
+ "line": " packages/@glimmer/component/dist/index.js:66"
20537
+ },
20538
+ {
20539
+ "message": "Missing item type\nThe `Component` class defines an encapsulated UI element that is rendered to\nthe DOM. A component is made up of a template and, optionally, this component\nobject.\n\n## Defining a Component\n\nTo define a component, subclass `Component` and add your own properties,\nmethods and lifecycle hooks:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n}\n```\n\n## Lifecycle Hooks\n\nLifecycle hooks allow you to respond to changes to a component, such as when\nit gets created, rendered, updated or destroyed. To add a lifecycle hook to a\ncomponent, implement the hook as a method on your component subclass.\n\nFor example, to be notified when Glimmer has rendered your component so you\ncan attach a legacy jQuery plugin, implement the `didInsertElement()` method:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n didInsertElement() {\n $(this.element).pickadate();\n }\n}\n```\n\n## Data for Templates\n\n`Component`s have two different kinds of data, or state, that can be\ndisplayed in templates:\n\n1. Arguments\n2. Properties\n\nArguments are data that is passed in to a component from its parent\ncomponent. For example, if I have a `UserGreeting` component, I can pass it\na name and greeting to use:\n\n```hbs\n<UserGreeting @name=\"Ricardo\" @greeting=\"Olá\" />\n```\n\nInside my `UserGreeting` template, I can access the `@name` and `@greeting`\narguments that I've been given:\n\n```hbs\n{{@greeting}}, {{@name}}!\n```\n\nArguments are also available inside my component:\n\n```ts\nconsole.log(this.args.greeting); // prints \"Olá\"\n```\n\nProperties, on the other hand, are internal to the component and declared in\nthe class. You can use properties to store data that you want to show in the\ntemplate, or pass to another component as an argument.\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n user = {\n name: 'Robbie'\n }\n}\n```\n\nIn the above example, we've defined a component with a `user` property that\ncontains an object with its own `name` property.\n\nWe can render that property in our template:\n\n```hbs\nHello, {{user.name}}!\n```\n\nWe can also take that property and pass it as an argument to the\n`UserGreeting` component we defined above:\n\n```hbs\n<UserGreeting @greeting=\"Hello\" @name={{user.name}} />\n```\n\n## Arguments vs. Properties\n\nRemember, arguments are data that was given to your component by its parent\ncomponent, and properties are data your component has defined for itself.\n\nYou can tell the difference between arguments and properties in templates\nbecause arguments always start with an `@` sign (think \"A is for arguments\"):\n\n```hbs\n{{@firstName}}\n```\n\nWe know that `@firstName` came from the parent component, not the current\ncomponent, because it starts with `@` and is therefore an argument.\n\nOn the other hand, if we see:\n\n```hbs\n{{name}}\n```\n\nWe know that `name` is a property on the component. If we want to know where\nthe data is coming from, we can go look at our component class to find out.\n\nInside the component itself, arguments always show up inside the component's\n`args` property. For example, if `{{@firstName}}` is `Tom` in the template,\ninside the component `this.args.firstName` would also be `Tom`.",
20540
+ "line": " packages/@glimmer/component/dist/index.js:71"
20541
+ },
20542
+ {
20543
+ "message": "Missing item type\nConstructs a new component and assigns itself the passed properties. You\nshould not construct new components yourself. Instead, Glimmer will\ninstantiate new components automatically as it renders.",
20544
+ "line": " packages/@glimmer/component/dist/index.js:195"
20545
+ },
20546
+ {
20547
+ "message": "Missing item type\nNamed arguments passed to the component from its parent component.\nThey can be accessed in JavaScript via `this.args.argumentName` and in the template via `@argumentName`.\n\nSay you have the following component, which will have two `args`, `firstName` and `lastName`:\n\n```hbs\n<my-component @firstName=\"Arthur\" @lastName=\"Dent\" />\n```\n\nIf you needed to calculate `fullName` by combining both of them, you would do:\n\n```ts\ndidInsertElement() {\n console.log(`Hi, my full name is ${this.args.firstName} ${this.args.lastName}`);\n}\n```\n\nWhile in the template you could do:\n\n```hbs\n<p>Welcome, {{@firstName}} {{@lastName}}!</p>\n```",
20548
+ "line": " packages/@glimmer/component/dist/index.js:212"
20549
+ },
20550
+ {
20551
+ "message": "Missing item type\nCalled before the component has been removed from the DOM.",
20552
+ "line": " packages/@glimmer/component/dist/index.js:244"
20553
+ },
20554
+ {
20555
+ "message": "Missing item type\nThis component manager runs in Ember.js environments and extends the base component manager to:\n\n1. Properly destroy the component's associated `meta` data structure\n2. Schedule destruction using Ember's runloop",
20556
+ "line": " packages/@glimmer/component/dist/index.js:279"
20557
+ },
20558
+ {
20559
+ "message": "Missing item type\nThis provides us a way to have a \"fallback\" which represents an empty object,\nwithout the downsides of how TS treats `{}`. Specifically: this will\ncorrectly leverage \"excess property checking\" so that, given a component\nwhich has no named args, if someone invokes it with any named args, they will\nget a type error.",
20560
+ "line": " packages/@glimmer/component/src/-private/component.ts:36"
20561
+ },
20562
+ {
20563
+ "message": "Missing item type",
20564
+ "line": " packages/@glimmer/component/src/-private/component.ts:56"
20565
+ },
20566
+ {
20567
+ "message": "Missing item type\nGiven any allowed shorthand form of a signature, desugars it to its full\nexpanded type.",
20568
+ "line": " packages/@glimmer/component/src/-private/component.ts:79"
20569
+ },
20570
+ {
20571
+ "message": "Missing item type",
20572
+ "line": " packages/@glimmer/component/src/-private/component.ts:97"
20573
+ },
20574
+ {
20575
+ "message": "Missing item type\nThe `Component` class defines an encapsulated UI element that is rendered to\nthe DOM. A component is made up of a template and, optionally, this component\nobject.\n\n## Defining a Component\n\nTo define a component, subclass `Component` and add your own properties,\nmethods and lifecycle hooks:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n}\n```\n\n## Lifecycle Hooks\n\nLifecycle hooks allow you to respond to changes to a component, such as when\nit gets created, rendered, updated or destroyed. To add a lifecycle hook to a\ncomponent, implement the hook as a method on your component subclass.\n\nFor example, to be notified when Glimmer has rendered your component so you\ncan attach a legacy jQuery plugin, implement the `didInsertElement()` method:\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n didInsertElement() {\n $(this.element).pickadate();\n }\n}\n```\n\n## Data for Templates\n\n`Component`s have two different kinds of data, or state, that can be\ndisplayed in templates:\n\n1. Arguments\n2. Properties\n\nArguments are data that is passed in to a component from its parent\ncomponent. For example, if I have a `UserGreeting` component, I can pass it\na name and greeting to use:\n\n```hbs\n<UserGreeting @name=\"Ricardo\" @greeting=\"Olá\" />\n```\n\nInside my `UserGreeting` template, I can access the `@name` and `@greeting`\narguments that I've been given:\n\n```hbs\n{{@greeting}}, {{@name}}!\n```\n\nArguments are also available inside my component:\n\n```ts\nconsole.log(this.args.greeting); // prints \"Olá\"\n```\n\nProperties, on the other hand, are internal to the component and declared in\nthe class. You can use properties to store data that you want to show in the\ntemplate, or pass to another component as an argument.\n\n```ts\nimport Component from '@glimmer/component';\n\nexport default class extends Component {\n user = {\n name: 'Robbie'\n }\n}\n```\n\nIn the above example, we've defined a component with a `user` property that\ncontains an object with its own `name` property.\n\nWe can render that property in our template:\n\n```hbs\nHello, {{user.name}}!\n```\n\nWe can also take that property and pass it as an argument to the\n`UserGreeting` component we defined above:\n\n```hbs\n<UserGreeting @greeting=\"Hello\" @name={{user.name}} />\n```\n\n## Arguments vs. Properties\n\nRemember, arguments are data that was given to your component by its parent\ncomponent, and properties are data your component has defined for itself.\n\nYou can tell the difference between arguments and properties in templates\nbecause arguments always start with an `@` sign (think \"A is for arguments\"):\n\n```hbs\n{{@firstName}}\n```\n\nWe know that `@firstName` came from the parent component, not the current\ncomponent, because it starts with `@` and is therefore an argument.\n\nOn the other hand, if we see:\n\n```hbs\n{{name}}\n```\n\nWe know that `name` is a property on the component. If we want to know where\nthe data is coming from, we can go look at our component class to find out.\n\nInside the component itself, arguments always show up inside the component's\n`args` property. For example, if `{{@firstName}}` is `Tom` in the template,\ninside the component `this.args.firstName` would also be `Tom`.",
20576
+ "line": " packages/@glimmer/component/src/-private/component.ts:103"
20577
+ },
20578
+ {
20579
+ "message": "Missing item type\nConstructs a new component and assigns itself the passed properties. You\nshould not construct new components yourself. Instead, Glimmer will\ninstantiate new components automatically as it renders.",
20580
+ "line": " packages/@glimmer/component/src/-private/component.ts:227"
20581
+ },
20582
+ {
20583
+ "message": "Missing item type\nNamed arguments passed to the component from its parent component.\nThey can be accessed in JavaScript via `this.args.argumentName` and in the template via `@argumentName`.\n\nSay you have the following component, which will have two `args`, `firstName` and `lastName`:\n\n```hbs\n<my-component @firstName=\"Arthur\" @lastName=\"Dent\" />\n```\n\nIf you needed to calculate `fullName` by combining both of them, you would do:\n\n```ts\ndidInsertElement() {\n console.log(`Hi, my full name is ${this.args.firstName} ${this.args.lastName}`);\n}\n```\n\nWhile in the template you could do:\n\n```hbs\n<p>Welcome, {{@firstName}} {{@lastName}}!</p>\n```",
20584
+ "line": " packages/@glimmer/component/src/-private/component.ts:248"
20585
+ },
20586
+ {
20587
+ "message": "Missing item type\nCalled before the component has been removed from the DOM.",
20588
+ "line": " packages/@glimmer/component/src/-private/component.ts:282"
20589
+ },
20590
+ {
20591
+ "message": "Missing item type\nThis component manager runs in Ember.js environments and extends the base component manager to:\n\n1. Properly destroy the component's associated `meta` data structure\n2. Schedule destruction using Ember's runloop",
20592
+ "line": " packages/@glimmer/component/src/-private/ember-component-manager.ts:24"
20129
20593
  }
20130
20594
  ]
20131
20595
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-source",
3
- "version": "6.3.0-beta.1",
3
+ "version": "6.3.0",
4
4
  "description": "A JavaScript framework for creating ambitious web applications",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -399,9 +399,6 @@
399
399
  "node": "16.20.0",
400
400
  "pnpm": "8.10.0"
401
401
  },
402
- "_originalVersion": "6.3.0-beta.1",
403
- "_versionPreviouslyCalculated": true,
404
- "publishConfig": {
405
- "tag": "beta"
406
- }
402
+ "_originalVersion": "6.3.0",
403
+ "_versionPreviouslyCalculated": true
407
404
  }