ember-source 4.4.0-alpha.3 → 4.4.0-alpha.4

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 (39) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/blueprints/acceptance-test/mocha-rfc-232-files/tests/acceptance/__name__-test.js +1 -1
  3. package/blueprints/acceptance-test/qunit-rfc-232-files/tests/acceptance/__name__-test.js +1 -1
  4. package/blueprints/component-test/mocha-rfc-232-files/__root__/__testType__/__path__/__test__.js +2 -2
  5. package/blueprints/component-test/qunit-rfc-232-files/__root__/__testType__/__path__/__test__.js +2 -2
  6. package/blueprints/controller-test/mocha-rfc-232-files/__root__/__testType__/__path__/__test__.js +1 -1
  7. package/blueprints/controller-test/qunit-rfc-232-files/__root__/__testType__/__path__/__test__.js +1 -1
  8. package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +1 -1
  9. package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +1 -1
  10. package/blueprints/route-test/mocha-rfc-232-files/__root__/__testType__/__path__/__test__.js +1 -1
  11. package/blueprints/route-test/qunit-rfc-232-files/__root__/__testType__/__path__/__test__.js +1 -1
  12. package/blueprints/service-test/mocha-rfc-232-files/__root__/__testType__/__path__/__test__.js +1 -1
  13. package/blueprints/service-test/qunit-rfc-232-files/__root__/__testType__/__path__/__test__.js +1 -1
  14. package/build-metadata.json +3 -3
  15. package/dist/ember-template-compiler.js +7 -3
  16. package/dist/ember-template-compiler.map +1 -1
  17. package/dist/ember-testing.js +2 -2
  18. package/dist/ember-testing.map +1 -1
  19. package/dist/ember.debug.js +298 -957
  20. package/dist/ember.debug.map +1 -1
  21. package/dist/header/license.js +1 -1
  22. package/dist/packages/@ember/-internals/container/index.js +0 -16
  23. package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +10 -19
  24. package/dist/packages/@ember/-internals/extension-support/lib/data_adapter.js +113 -112
  25. package/dist/packages/@ember/-internals/glimmer/index.js +112 -748
  26. package/dist/packages/@ember/-internals/metal/index.js +1 -4
  27. package/dist/packages/@ember/-internals/routing/lib/system/router.js +1 -1
  28. package/dist/packages/@ember/-internals/runtime/lib/ext/rsvp.js +8 -4
  29. package/dist/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +1 -1
  30. package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +1 -1
  31. package/dist/packages/@ember/-internals/runtime/lib/mixins/promise_proxy.js +16 -16
  32. package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +8 -8
  33. package/dist/packages/@ember/-internals/views/lib/system/utils.js +4 -2
  34. package/dist/packages/@ember/-internals/views/lib/views/core_view.js +5 -22
  35. package/dist/packages/@ember/debug/index.js +1 -1
  36. package/dist/packages/@ember/renderer/index.js +21 -0
  37. package/dist/packages/ember/version.js +1 -1
  38. package/docs/data.json +400 -210
  39. package/package.json +9 -9
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 4.4.0-alpha.3
9
+ * @version 4.4.0-alpha.4
10
10
  */
11
11
  /* eslint-disable no-var */
12
12
 
@@ -704,22 +704,6 @@ define("@ember/-internals/container/index", ["exports", "@ember/-internals/owner
704
704
  container(options) {
705
705
  return new Container(this, options);
706
706
  }
707
- /**
708
- Registers a factory for later injection.
709
- Example:
710
- ```javascript
711
- let registry = new Registry();
712
- registry.register('model:user', Person, {singleton: false });
713
- registry.register('fruit:favorite', Orange);
714
- registry.register('communication:main', Email, {singleton: false});
715
- ```
716
- @private
717
- @method register
718
- @param {String} fullName
719
- @param {Function} factory
720
- @param {Object} options
721
- */
722
-
723
707
 
724
708
  register(fullName, factory, options) {
725
709
  if (options === void 0) {
@@ -1497,23 +1481,11 @@ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["expo
1497
1481
  @since 1.5.0
1498
1482
  @public
1499
1483
  */
1500
- var _default = _runtime.Object.extend({
1501
- init() {
1502
- this._super(...arguments);
1503
-
1484
+ class ContainerDebugAdapter extends _runtime.Object {
1485
+ constructor(owner) {
1486
+ super(owner);
1504
1487
  this.resolver = (0, _owner.getOwner)(this).lookup('resolver-for-debugging:main');
1505
- },
1506
-
1507
- /**
1508
- The resolver instance of the application
1509
- being debugged. This property will be injected
1510
- on creation.
1511
- @property resolver
1512
- @default null
1513
- @public
1514
- */
1515
- resolver: null,
1516
-
1488
+ }
1517
1489
  /**
1518
1490
  Returns true if it is possible to catalog a list of available
1519
1491
  classes in the resolver for a given type.
@@ -1522,14 +1494,15 @@ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["expo
1522
1494
  @return {boolean} whether a list is available for this type.
1523
1495
  @public
1524
1496
  */
1497
+
1498
+
1525
1499
  canCatalogEntriesByType(type) {
1526
1500
  if (type === 'model' || type === 'template') {
1527
1501
  return false;
1528
1502
  }
1529
1503
 
1530
1504
  return true;
1531
- },
1532
-
1505
+ }
1533
1506
  /**
1534
1507
  Returns the available classes a given type.
1535
1508
  @method catalogEntriesByType
@@ -1537,6 +1510,8 @@ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["expo
1537
1510
  @return {Array} An array of strings.
1538
1511
  @public
1539
1512
  */
1513
+
1514
+
1540
1515
  catalogEntriesByType(type) {
1541
1516
  var namespaces = (0, _runtime.A)(_runtime.Namespace.NAMESPACES);
1542
1517
  var types = (0, _runtime.A)();
@@ -1559,9 +1534,9 @@ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["expo
1559
1534
  return types;
1560
1535
  }
1561
1536
 
1562
- });
1537
+ }
1563
1538
 
1564
- _exports.default = _default;
1539
+ _exports.default = ContainerDebugAdapter;
1565
1540
  });
1566
1541
  define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@ember/-internals/owner", "@ember/runloop", "@ember/-internals/metal", "@ember/string", "@ember/-internals/runtime", "@glimmer/validator"], function (_exports, _owner, _runloop, _metal, _string, _runtime, _validator) {
1567
1542
  "use strict";
@@ -1583,12 +1558,12 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1583
1558
 
1584
1559
  class RecordsWatcher {
1585
1560
  constructor(records, recordsAdded, recordsUpdated, recordsRemoved, wrapRecord, release) {
1561
+ this.wrapRecord = wrapRecord;
1562
+ this.release = release;
1586
1563
  this.recordCaches = new Map();
1587
1564
  this.added = [];
1588
1565
  this.updated = [];
1589
1566
  this.removed = [];
1590
- this.release = release;
1591
- this.wrapRecord = wrapRecord;
1592
1567
  this.recordArrayCache = (0, _validator.createCache)(() => {
1593
1568
  var seen = new Set(); // Track `[]` for legacy support
1594
1569
 
@@ -1600,7 +1575,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1600
1575
  // should not be polled again in the future
1601
1576
 
1602
1577
  (0, _validator.untrack)(() => {
1603
- this.recordCaches.forEach((cache, record) => {
1578
+ this.recordCaches.forEach((_cache, record) => {
1604
1579
  if (!seen.has(record)) {
1605
1580
  this.removed.push(wrapRecord(record));
1606
1581
  this.recordCaches.delete(record);
@@ -1652,6 +1627,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1652
1627
 
1653
1628
  class TypeWatcher {
1654
1629
  constructor(records, onChange, release) {
1630
+ this.release = release;
1655
1631
  var hasBeenAccessed = false;
1656
1632
  this.cache = (0, _validator.createCache)(() => {
1657
1633
  // Empty iteration, we're doing this just
@@ -1720,49 +1696,47 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1720
1696
  */
1721
1697
 
1722
1698
 
1723
- var _default = _runtime.Object.extend({
1724
- init() {
1725
- this._super(...arguments);
1726
-
1727
- this.containerDebugAdapter = (0, _owner.getOwner)(this).lookup('container-debug-adapter:main');
1699
+ class DataAdapter extends _runtime.Object {
1700
+ constructor(owner) {
1701
+ super(owner);
1728
1702
  this.releaseMethods = (0, _runtime.A)();
1729
1703
  this.recordsWatchers = new Map();
1730
1704
  this.typeWatchers = new Map();
1731
1705
  this.flushWatchers = null;
1732
- },
1733
-
1734
- /**
1735
- The container-debug-adapter which is used
1736
- to list all models.
1737
- @property containerDebugAdapter
1738
- @default undefined
1739
- @since 1.5.0
1740
- @public
1741
- **/
1706
+ /**
1707
+ The container-debug-adapter which is used
1708
+ to list all models.
1709
+ @property containerDebugAdapter
1710
+ @default undefined
1711
+ @since 1.5.0
1712
+ @public
1713
+ **/
1742
1714
 
1743
- /**
1744
- The number of attributes to send
1745
- as columns. (Enough to make the record
1746
- identifiable).
1747
- @private
1748
- @property attributeLimit
1749
- @default 3
1750
- @since 1.3.0
1751
- */
1752
- attributeLimit: 3,
1715
+ /**
1716
+ The number of attributes to send
1717
+ as columns. (Enough to make the record
1718
+ identifiable).
1719
+ @private
1720
+ @property attributeLimit
1721
+ @default 3
1722
+ @since 1.3.0
1723
+ */
1753
1724
 
1754
- /**
1755
- Ember Data > v1.0.0-beta.18
1756
- requires string model names to be passed
1757
- around instead of the actual factories.
1758
- This is a stamp for the Ember Inspector
1759
- to differentiate between the versions
1760
- to be able to support older versions too.
1761
- @public
1762
- @property acceptsModelName
1763
- */
1764
- acceptsModelName: true,
1725
+ this.attributeLimit = 3;
1726
+ /**
1727
+ Ember Data > v1.0.0-beta.18
1728
+ requires string model names to be passed
1729
+ around instead of the actual factories.
1730
+ This is a stamp for the Ember Inspector
1731
+ to differentiate between the versions
1732
+ to be able to support older versions too.
1733
+ @public
1734
+ @property acceptsModelName
1735
+ */
1765
1736
 
1737
+ this.acceptsModelName = true;
1738
+ this.containerDebugAdapter = (0, _owner.getOwner)(this).lookup('container-debug-adapter:main');
1739
+ }
1766
1740
  /**
1767
1741
  Map from records arrays to RecordsWatcher instances
1768
1742
  @private
@@ -1802,10 +1776,11 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1802
1776
  @return {Array} List of objects defining filters.
1803
1777
  The object should have a `name` and `desc` property.
1804
1778
  */
1779
+
1780
+
1805
1781
  getFilters() {
1806
1782
  return (0, _runtime.A)();
1807
- },
1808
-
1783
+ }
1809
1784
  /**
1810
1785
  Fetch the model types and observe them for changes.
1811
1786
  @public
@@ -1816,6 +1791,8 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1816
1791
  Takes an array of objects containing wrapped types.
1817
1792
  @return {Function} Method to call to remove all observers
1818
1793
  */
1794
+
1795
+
1819
1796
  watchModelTypes(typesAdded, typesUpdated) {
1820
1797
  var modelTypes = this.getModelTypes();
1821
1798
  var releaseMethods = (0, _runtime.A)();
@@ -1835,7 +1812,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1835
1812
 
1836
1813
  this.releaseMethods.pushObject(release);
1837
1814
  return release;
1838
- },
1815
+ }
1839
1816
 
1840
1817
  _nameToClass(type) {
1841
1818
  if (typeof type === 'string') {
@@ -1845,8 +1822,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1845
1822
  }
1846
1823
 
1847
1824
  return type;
1848
- },
1849
-
1825
+ }
1850
1826
  /**
1851
1827
  Fetch the records of a given type and observe them for changes.
1852
1828
  @public
@@ -1863,6 +1839,8 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1863
1839
  Takes an array of objects containing wrapped records.
1864
1840
  @return {Function} Method to call to remove all observers.
1865
1841
  */
1842
+
1843
+
1866
1844
  watchRecords(modelName, recordsAdded, recordsUpdated, recordsRemoved) {
1867
1845
  var klass = this._nameToClass(modelName);
1868
1846
 
@@ -1883,7 +1861,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1883
1861
  }
1884
1862
 
1885
1863
  return recordsWatcher.release;
1886
- },
1864
+ }
1887
1865
 
1888
1866
  updateFlushWatchers() {
1889
1867
  if (this.flushWatchers === null) {
@@ -1900,13 +1878,14 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1900
1878
 
1901
1879
  this.flushWatchers = null;
1902
1880
  }
1903
- },
1904
-
1881
+ }
1905
1882
  /**
1906
1883
  Clear all observers before destruction
1907
1884
  @private
1908
1885
  @method willDestroy
1909
1886
  */
1887
+
1888
+
1910
1889
  willDestroy() {
1911
1890
  this._super(...arguments);
1912
1891
 
@@ -1917,8 +1896,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1917
1896
  if (this.flushWatchers) {
1918
1897
  _runloop._backburner.off('end', this.flushWatchers);
1919
1898
  }
1920
- },
1921
-
1899
+ }
1922
1900
  /**
1923
1901
  Detect whether a class is a model.
1924
1902
  Test that against the model class
@@ -1927,10 +1905,11 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1927
1905
  @method detect
1928
1906
  @return boolean Whether the class is a model class or not.
1929
1907
  */
1930
- detect() {
1931
- return false;
1932
- },
1933
1908
 
1909
+
1910
+ detect(_klass) {
1911
+ return false;
1912
+ }
1934
1913
  /**
1935
1914
  Get the columns for a given model type.
1936
1915
  @public
@@ -1939,10 +1918,11 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1939
1918
  name: {String} The name of the column.
1940
1919
  desc: {String} Humanized description (what would show in a table column name).
1941
1920
  */
1942
- columnsForType() {
1943
- return (0, _runtime.A)();
1944
- },
1945
1921
 
1922
+
1923
+ columnsForType(_klass) {
1924
+ return (0, _runtime.A)();
1925
+ }
1946
1926
  /**
1947
1927
  Adds observers to a model type class.
1948
1928
  @private
@@ -1951,6 +1931,8 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1951
1931
  @param {Function} typesUpdated Called when a type is modified.
1952
1932
  @return {Function} The function to call to remove observers.
1953
1933
  */
1934
+
1935
+
1954
1936
  observeModelType(modelName, typesUpdated) {
1955
1937
  var klass = this._nameToClass(modelName);
1956
1938
 
@@ -1976,63 +1958,50 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
1976
1958
  }
1977
1959
 
1978
1960
  return typeWatcher.release;
1979
- },
1980
-
1961
+ }
1981
1962
  /**
1982
1963
  Wraps a given model type and observes changes to it.
1983
1964
  @private
1984
1965
  @method wrapModelType
1985
1966
  @param {Class} klass A model class.
1986
1967
  @param {String} modelName Name of the class.
1987
- @return {Object} Contains the wrapped type and the function to remove observers
1988
- Format:
1989
- type: {Object} The wrapped type.
1990
- The wrapped type has the following format:
1991
- name: {String} The name of the type.
1992
- count: {Integer} The number of records available.
1993
- columns: {Columns} An array of columns to describe the record.
1994
- object: {Class} The actual Model type class.
1995
- release: {Function} The function to remove observers.
1968
+ @return {Object} The wrapped type has the following format:
1969
+ name: {String} The name of the type.
1970
+ count: {Integer} The number of records available.
1971
+ columns: {Columns} An array of columns to describe the record.
1972
+ object: {Class} The actual Model type class.
1996
1973
  */
1974
+
1975
+
1997
1976
  wrapModelType(klass, name) {
1998
1977
  var records = this.getRecords(klass, name);
1999
- var typeToSend;
2000
- typeToSend = {
1978
+ return {
2001
1979
  name,
2002
1980
  count: (0, _metal.get)(records, 'length'),
2003
1981
  columns: this.columnsForType(klass),
2004
1982
  object: klass
2005
1983
  };
2006
- return typeToSend;
2007
- },
2008
-
1984
+ }
2009
1985
  /**
2010
1986
  Fetches all models defined in the application.
2011
1987
  @private
2012
1988
  @method getModelTypes
2013
1989
  @return {Array} Array of model types.
2014
1990
  */
2015
- getModelTypes() {
2016
- var containerDebugAdapter = this.get('containerDebugAdapter');
2017
- var types;
2018
1991
 
2019
- if (containerDebugAdapter.canCatalogEntriesByType('model')) {
2020
- types = containerDebugAdapter.catalogEntriesByType('model');
2021
- } else {
2022
- types = this._getObjectsOnNamespaces();
2023
- } // New adapters return strings instead of classes.
2024
1992
 
1993
+ getModelTypes() {
1994
+ var containerDebugAdapter = this.containerDebugAdapter;
1995
+ var stringTypes = containerDebugAdapter.canCatalogEntriesByType('model') ? containerDebugAdapter.catalogEntriesByType('model') : this._getObjectsOnNamespaces(); // New adapters return strings instead of classes.
2025
1996
 
2026
- types = (0, _runtime.A)(types).map(name => {
1997
+ var klassTypes = (0, _runtime.A)(stringTypes).map(name => {
2027
1998
  return {
2028
1999
  klass: this._nameToClass(name),
2029
2000
  name
2030
2001
  };
2031
2002
  });
2032
- types = (0, _runtime.A)(types).filter(type => this.detect(type.klass));
2033
- return (0, _runtime.A)(types);
2034
- },
2035
-
2003
+ return (0, _runtime.A)(klassTypes).filter(type => this.detect(type.klass));
2004
+ }
2036
2005
  /**
2037
2006
  Loops over all namespaces and all objects
2038
2007
  attached to them.
@@ -2040,6 +2009,8 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
2040
2009
  @method _getObjectsOnNamespaces
2041
2010
  @return {Array} Array of model type strings.
2042
2011
  */
2012
+
2013
+
2043
2014
  _getObjectsOnNamespaces() {
2044
2015
  var namespaces = (0, _runtime.A)(_runtime.Namespace.NAMESPACES);
2045
2016
  var types = (0, _runtime.A)();
@@ -2060,8 +2031,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
2060
2031
  }
2061
2032
  });
2062
2033
  return types;
2063
- },
2064
-
2034
+ }
2065
2035
  /**
2066
2036
  Fetches all loaded records for a given type.
2067
2037
  @public
@@ -2070,10 +2040,11 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
2070
2040
  This array will be observed for changes,
2071
2041
  so it should update when new records are added/removed.
2072
2042
  */
2073
- getRecords() {
2074
- return (0, _runtime.A)();
2075
- },
2076
2043
 
2044
+
2045
+ getRecords(_klass, _name) {
2046
+ return (0, _runtime.A)();
2047
+ }
2077
2048
  /**
2078
2049
  Wraps a record and observers changes to it.
2079
2050
  @private
@@ -2083,17 +2054,17 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
2083
2054
  columnValues: {Array}
2084
2055
  searchKeywords: {Array}
2085
2056
  */
2057
+
2058
+
2086
2059
  wrapRecord(record) {
2087
- var recordToSend = {
2088
- object: record
2060
+ return {
2061
+ object: record,
2062
+ columnValues: this.getRecordColumnValues(record),
2063
+ searchKeywords: this.getRecordKeywords(record),
2064
+ filterValues: this.getRecordFilterValues(record),
2065
+ color: this.getRecordColor(record)
2089
2066
  };
2090
- recordToSend.columnValues = this.getRecordColumnValues(record);
2091
- recordToSend.searchKeywords = this.getRecordKeywords(record);
2092
- recordToSend.filterValues = this.getRecordFilterValues(record);
2093
- recordToSend.color = this.getRecordColor(record);
2094
- return recordToSend;
2095
- },
2096
-
2067
+ }
2097
2068
  /**
2098
2069
  Gets the values for each column.
2099
2070
  @public
@@ -2101,20 +2072,22 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
2101
2072
  @return {Object} Keys should match column names defined
2102
2073
  by the model type.
2103
2074
  */
2104
- getRecordColumnValues() {
2105
- return {};
2106
- },
2107
2075
 
2076
+
2077
+ getRecordColumnValues(_record) {
2078
+ return {};
2079
+ }
2108
2080
  /**
2109
2081
  Returns keywords to match when searching records.
2110
2082
  @public
2111
2083
  @method getRecordKeywords
2112
2084
  @return {Array} Relevant keywords for search.
2113
2085
  */
2114
- getRecordKeywords() {
2115
- return (0, _runtime.A)();
2116
- },
2117
2086
 
2087
+
2088
+ getRecordKeywords(_record) {
2089
+ return (0, _runtime.A)();
2090
+ }
2118
2091
  /**
2119
2092
  Returns the values of filters defined by `getFilters`.
2120
2093
  @public
@@ -2122,10 +2095,11 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
2122
2095
  @param {Object} record The record instance.
2123
2096
  @return {Object} The filter values.
2124
2097
  */
2125
- getRecordFilterValues() {
2126
- return {};
2127
- },
2128
2098
 
2099
+
2100
+ getRecordFilterValues(_record) {
2101
+ return {};
2102
+ }
2129
2103
  /**
2130
2104
  Each record can have a color that represents its state.
2131
2105
  @public
@@ -2134,13 +2108,15 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
2134
2108
  @return {String} The records color.
2135
2109
  Possible options: black, red, blue, green.
2136
2110
  */
2137
- getRecordColor() {
2111
+
2112
+
2113
+ getRecordColor(_record) {
2138
2114
  return null;
2139
2115
  }
2140
2116
 
2141
- });
2117
+ }
2142
2118
 
2143
- _exports.default = _default;
2119
+ _exports.default = DataAdapter;
2144
2120
  });
2145
2121
  define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler", "@ember/-internals/owner", "@ember/-internals/utils", "@ember/debug", "@glimmer/manager", "@glimmer/reference", "@glimmer/validator", "@ember/-internals/metal", "@ember/object", "@ember/-internals/browser-environment", "@ember/-internals/views", "@ember/engine", "@ember/engine/instance", "@ember/instrumentation", "@ember/service", "@ember/string", "@glimmer/destroyable", "@ember/runloop", "@glimmer/util", "@glimmer/runtime", "@ember/-internals/runtime", "@ember/-internals/environment", "@ember/-internals/container", "@glimmer/node", "@ember/-internals/glimmer", "@glimmer/global-context", "@ember/-internals/routing", "@glimmer/program", "rsvp"], function (_exports, _opcodeCompiler, _owner2, _utils, _debug, _manager2, _reference, _validator, _metal, _object, _browserEnvironment, _views, _engine, _instance, _instrumentation, _service, _string, _destroyable, _runloop, _util, _runtime, _runtime2, _environment2, _container, _node, _glimmer, _globalContext, _routing2, _program, _rsvp) {
2146
2122
  "use strict";
@@ -2476,7 +2452,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
2476
2452
  class AbstractInput extends InternalComponent {
2477
2453
  constructor() {
2478
2454
  super(...arguments);
2479
- this._value = valueFrom(this.args.named.value);
2455
+ this._value = valueFrom(this.args.named['value']);
2480
2456
  }
2481
2457
 
2482
2458
  validateArguments() {
@@ -2734,7 +2710,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
2734
2710
  class Input extends AbstractInput {
2735
2711
  constructor() {
2736
2712
  super(...arguments);
2737
- this._checked = valueFrom(this.args.named.checked);
2713
+ this._checked = valueFrom(this.args.named['checked']);
2738
2714
  }
2739
2715
 
2740
2716
  static toString() {
@@ -2774,7 +2750,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
2774
2750
 
2775
2751
  get checked() {
2776
2752
  if (this.isCheckbox) {
2777
- (true && (0, _debug.warn)('`<Input @type="checkbox" />` reflects its checked state via the `@checked` argument. ' + 'You wrote `<Input @type="checkbox" @value={{...}} />` which is likely not what you intended. ' + 'Did you mean `<Input @type="checkbox" @checked={{...}} />`?', (0, _validator.untrack)(() => this.args.named.checked !== undefined || this.args.named.value === undefined || typeof (0, _reference.valueForRef)(this.args.named.value) === 'string'), {
2753
+ (true && (0, _debug.warn)('`<Input @type="checkbox" />` reflects its checked state via the `@checked` argument. ' + 'You wrote `<Input @type="checkbox" @value={{...}} />` which is likely not what you intended. ' + 'Did you mean `<Input @type="checkbox" @checked={{...}} />`?', (0, _validator.untrack)(() => this.args.named['checked'] !== undefined || this.args.named['value'] === undefined || typeof (0, _reference.valueForRef)(this.args.named['value']) === 'string'), {
2778
2754
  id: 'ember.built-in-components.input-checkbox-value'
2779
2755
  }));
2780
2756
  return this._checked.get();
@@ -2784,7 +2760,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
2784
2760
  }
2785
2761
 
2786
2762
  set checked(checked) {
2787
- (true && (0, _debug.warn)('`<Input @type="checkbox" />` reflects its checked state via the `@checked` argument. ' + 'You wrote `<Input @type="checkbox" @value={{...}} />` which is likely not what you intended. ' + 'Did you mean `<Input @type="checkbox" @checked={{...}} />`?', (0, _validator.untrack)(() => this.args.named.checked !== undefined || this.args.named.value === undefined || typeof (0, _reference.valueForRef)(this.args.named.value) === 'string'), {
2763
+ (true && (0, _debug.warn)('`<Input @type="checkbox" />` reflects its checked state via the `@checked` argument. ' + 'You wrote `<Input @type="checkbox" @value={{...}} />` which is likely not what you intended. ' + 'Did you mean `<Input @type="checkbox" @checked={{...}} />`?', (0, _validator.untrack)(() => this.args.named['checked'] !== undefined || this.args.named['value'] === undefined || typeof (0, _reference.valueForRef)(this.args.named['value']) === 'string'), {
2788
2764
  id: 'ember.built-in-components.input-checkbox-value'
2789
2765
  }));
2790
2766
 
@@ -4093,8 +4069,8 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
4093
4069
  var [context, action$$1, ...restArgs] = positional;
4094
4070
  (true && !(context && action$$1) && (0, _debug.assert)('hash position arguments', context && action$$1));
4095
4071
  var debugKey = action$$1.debugLabel;
4096
- var target = 'target' in named && named.target ? named.target : context;
4097
- var processArgs = makeArgsProcessor('value' in named && named.value || false, restArgs);
4072
+ var target = 'target' in named ? named['target'] : context;
4073
+ var processArgs = makeArgsProcessor('value' in named && named['value'] || false, restArgs);
4098
4074
  var fn$$1;
4099
4075
 
4100
4076
  if ((0, _reference.isInvokableRef)(action$$1)) {
@@ -4735,624 +4711,6 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
4735
4711
  }
4736
4712
 
4737
4713
  var lazyEventsProcessed = new WeakMap();
4738
- /**
4739
- @module @ember/component
4740
- */
4741
-
4742
- /**
4743
- A component is a reusable UI element that consists of a `.hbs` template and an
4744
- optional JavaScript class that defines its behavior. For example, someone
4745
- might make a `button` in the template and handle the click behavior in the
4746
- JavaScript file that shares the same name as the template.
4747
-
4748
- Components are broken down into two categories:
4749
-
4750
- - Components _without_ JavaScript, that are based only on a template. These
4751
- are called Template-only or TO components.
4752
- - Components _with_ JavaScript, which consist of a template and a backing
4753
- class.
4754
-
4755
- Ember ships with two types of JavaScript classes for components:
4756
-
4757
- 1. Glimmer components, imported from `@glimmer/component`, which are the
4758
- default component's for Ember Octane (3.15) and more recent editions.
4759
- 2. Classic components, imported from `@ember/component`, which were the
4760
- default for older editions of Ember (pre 3.15).
4761
-
4762
- Below is the documentation for Classic components. If you are looking for the
4763
- API documentation for Template-only or Glimmer components, it is
4764
- [available here](/ember/release/modules/@glimmer%2Fcomponent).
4765
-
4766
- ## Defining a Classic Component
4767
-
4768
- If you want to customize the component in order to handle events, transform
4769
- arguments or maintain internal state, you implement a subclass of `Component`.
4770
-
4771
- One example is to add computed properties to your component:
4772
-
4773
- ```app/components/person-profile.js
4774
- import Component from '@ember/component';
4775
-
4776
- export default Component.extend({
4777
- displayName: computed('person.title', 'person.firstName', 'person.lastName', function() {
4778
- let { title, firstName, lastName } = this.person;
4779
-
4780
- if (title) {
4781
- return `${title} ${lastName}`;
4782
- } else {
4783
- return `${firstName} ${lastName}`;
4784
- }
4785
- })
4786
- });
4787
- ```
4788
-
4789
- And then use it in the component's template:
4790
-
4791
- ```app/templates/components/person-profile.hbs
4792
- <h1>{{this.displayName}}</h1>
4793
- {{yield}}
4794
- ```
4795
-
4796
- ## Customizing a Classic Component's HTML Element in JavaScript
4797
-
4798
- ### HTML Tag
4799
-
4800
- The default HTML tag name used for a component's HTML representation is `div`.
4801
- This can be customized by setting the `tagName` property.
4802
-
4803
- Consider the following component class:
4804
-
4805
- ```app/components/emphasized-paragraph.js
4806
- import Component from '@ember/component';
4807
-
4808
- export default Component.extend({
4809
- tagName: 'em'
4810
- });
4811
- ```
4812
-
4813
- When invoked, this component would produce output that looks something like
4814
- this:
4815
-
4816
- ```html
4817
- <em id="ember1" class="ember-view"></em>
4818
- ```
4819
-
4820
- ### HTML `class` Attribute
4821
-
4822
- The HTML `class` attribute of a component's tag can be set by providing a
4823
- `classNames` property that is set to an array of strings:
4824
-
4825
- ```app/components/my-widget.js
4826
- import Component from '@ember/component';
4827
-
4828
- export default Component.extend({
4829
- classNames: ['my-class', 'my-other-class']
4830
- });
4831
- ```
4832
-
4833
- Invoking this component will produce output that looks like this:
4834
-
4835
- ```html
4836
- <div id="ember1" class="ember-view my-class my-other-class"></div>
4837
- ```
4838
-
4839
- `class` attribute values can also be set by providing a `classNameBindings`
4840
- property set to an array of properties names for the component. The return
4841
- value of these properties will be added as part of the value for the
4842
- components's `class` attribute. These properties can be computed properties:
4843
-
4844
- ```app/components/my-widget.js
4845
- import Component from '@ember/component';
4846
- import { computed } from '@ember/object';
4847
-
4848
- export default Component.extend({
4849
- classNames: ['my-class', 'my-other-class'],
4850
- classNameBindings: ['propertyA', 'propertyB'],
4851
-
4852
- propertyA: 'from-a',
4853
- propertyB: computed(function() {
4854
- if (someLogic) { return 'from-b'; }
4855
- })
4856
- });
4857
- ```
4858
-
4859
- Invoking this component will produce HTML that looks like:
4860
-
4861
- ```html
4862
- <div id="ember1" class="ember-view my-class my-other-class from-a from-b"></div>
4863
- ```
4864
-
4865
- Note that `classNames` and `classNameBindings` is in addition to the `class`
4866
- attribute passed with the angle bracket invocation syntax. Therefore, if this
4867
- component was invoked like so:
4868
-
4869
- ```handlebars
4870
- <MyWidget class="from-invocation" />
4871
- ```
4872
-
4873
- The resulting HTML will look similar to this:
4874
-
4875
- ```html
4876
- <div id="ember1" class="from-invocation ember-view my-class my-other-class from-a from-b"></div>
4877
- ```
4878
-
4879
- If the value of a class name binding returns a boolean the property name
4880
- itself will be used as the class name if the property is true. The class name
4881
- will not be added if the value is `false` or `undefined`.
4882
-
4883
- ```app/components/my-widget.js
4884
- import Component from '@ember/component';
4885
-
4886
- export default Component.extend({
4887
- classNameBindings: ['hovered'],
4888
-
4889
- hovered: true
4890
- });
4891
- ```
4892
-
4893
- Invoking this component will produce HTML that looks like:
4894
-
4895
- ```html
4896
- <div id="ember1" class="ember-view hovered"></div>
4897
- ```
4898
-
4899
- ### Custom Class Names for Boolean Values
4900
-
4901
- When using boolean class name bindings you can supply a string value other
4902
- than the property name for use as the `class` HTML attribute by appending the
4903
- preferred value after a ":" character when defining the binding:
4904
-
4905
- ```app/components/my-widget.js
4906
- import Component from '@ember/component';
4907
-
4908
- export default Component.extend({
4909
- classNameBindings: ['awesome:so-very-cool'],
4910
-
4911
- awesome: true
4912
- });
4913
- ```
4914
-
4915
- Invoking this component will produce HTML that looks like:
4916
-
4917
- ```html
4918
- <div id="ember1" class="ember-view so-very-cool"></div>
4919
- ```
4920
-
4921
- Boolean value class name bindings whose property names are in a
4922
- camelCase-style format will be converted to a dasherized format:
4923
-
4924
- ```app/components/my-widget.js
4925
- import Component from '@ember/component';
4926
-
4927
- export default Component.extend({
4928
- classNameBindings: ['isUrgent'],
4929
-
4930
- isUrgent: true
4931
- });
4932
- ```
4933
-
4934
- Invoking this component will produce HTML that looks like:
4935
-
4936
- ```html
4937
- <div id="ember1" class="ember-view is-urgent"></div>
4938
- ```
4939
-
4940
- Class name bindings can also refer to object values that are found by
4941
- traversing a path relative to the component itself:
4942
-
4943
- ```app/components/my-widget.js
4944
- import Component from '@ember/component';
4945
- import EmberObject from '@ember/object';
4946
-
4947
- export default Component.extend({
4948
- classNameBindings: ['messages.empty'],
4949
-
4950
- messages: EmberObject.create({
4951
- empty: true
4952
- })
4953
- });
4954
- ```
4955
-
4956
- Invoking this component will produce HTML that looks like:
4957
-
4958
- ```html
4959
- <div id="ember1" class="ember-view empty"></div>
4960
- ```
4961
-
4962
- If you want to add a class name for a property which evaluates to true and
4963
- and a different class name if it evaluates to false, you can pass a binding
4964
- like this:
4965
-
4966
- ```app/components/my-widget.js
4967
- import Component from '@ember/component';
4968
-
4969
- export default Component.extend({
4970
- classNameBindings: ['isEnabled:enabled:disabled'],
4971
- isEnabled: true
4972
- });
4973
- ```
4974
-
4975
- Invoking this component will produce HTML that looks like:
4976
-
4977
- ```html
4978
- <div id="ember1" class="ember-view enabled"></div>
4979
- ```
4980
-
4981
- When isEnabled is `false`, the resulting HTML representation looks like this:
4982
-
4983
- ```html
4984
- <div id="ember1" class="ember-view disabled"></div>
4985
- ```
4986
-
4987
- This syntax offers the convenience to add a class if a property is `false`:
4988
-
4989
- ```app/components/my-widget.js
4990
- import Component from '@ember/component';
4991
-
4992
- // Applies no class when isEnabled is true and class 'disabled' when isEnabled is false
4993
- export default Component.extend({
4994
- classNameBindings: ['isEnabled::disabled'],
4995
- isEnabled: true
4996
- });
4997
- ```
4998
-
4999
- Invoking this component when the `isEnabled` property is true will produce
5000
- HTML that looks like:
5001
-
5002
- ```html
5003
- <div id="ember1" class="ember-view"></div>
5004
- ```
5005
-
5006
- Invoking it when the `isEnabled` property on the component is `false` will
5007
- produce HTML that looks like:
5008
-
5009
- ```html
5010
- <div id="ember1" class="ember-view disabled"></div>
5011
- ```
5012
-
5013
- Updates to the value of a class name binding will result in automatic update
5014
- of the HTML `class` attribute in the component's rendered HTML
5015
- representation. If the value becomes `false` or `undefined` the class name
5016
- will be removed.
5017
-
5018
- Both `classNames` and `classNameBindings` are concatenated properties. See
5019
- [EmberObject](/ember/release/classes/EmberObject) documentation for more
5020
- information about concatenated properties.
5021
-
5022
- ### Other HTML Attributes
5023
-
5024
- The HTML attribute section of a component's tag can be set by providing an
5025
- `attributeBindings` property set to an array of property names on the component.
5026
- The return value of these properties will be used as the value of the component's
5027
- HTML associated attribute:
5028
-
5029
- ```app/components/my-anchor.js
5030
- import Component from '@ember/component';
5031
-
5032
- export default Component.extend({
5033
- tagName: 'a',
5034
- attributeBindings: ['href'],
5035
-
5036
- href: 'http://google.com'
5037
- });
5038
- ```
5039
-
5040
- Invoking this component will produce HTML that looks like:
5041
-
5042
- ```html
5043
- <a id="ember1" class="ember-view" href="http://google.com"></a>
5044
- ```
5045
-
5046
- One property can be mapped on to another by placing a ":" between
5047
- the source property and the destination property:
5048
-
5049
- ```app/components/my-anchor.js
5050
- import Component from '@ember/component';
5051
-
5052
- export default Component.extend({
5053
- tagName: 'a',
5054
- attributeBindings: ['url:href'],
5055
-
5056
- url: 'http://google.com'
5057
- });
5058
- ```
5059
-
5060
- Invoking this component will produce HTML that looks like:
5061
-
5062
- ```html
5063
- <a id="ember1" class="ember-view" href="http://google.com"></a>
5064
- ```
5065
-
5066
- HTML attributes passed with angle bracket invocations will take precedence
5067
- over those specified in `attributeBindings`. Therefore, if this component was
5068
- invoked like so:
5069
-
5070
- ```handlebars
5071
- <MyAnchor href="http://bing.com" @url="http://google.com" />
5072
- ```
5073
-
5074
- The resulting HTML will looks like this:
5075
-
5076
- ```html
5077
- <a id="ember1" class="ember-view" href="http://bing.com"></a>
5078
- ```
5079
-
5080
- Note that the `href` attribute is ultimately set to `http://bing.com`,
5081
- despite it having attribute binidng to the `url` property, which was
5082
- set to `http://google.com`.
5083
-
5084
- Namespaced attributes (e.g. `xlink:href`) are supported, but have to be
5085
- mapped, since `:` is not a valid character for properties in Javascript:
5086
-
5087
- ```app/components/my-use.js
5088
- import Component from '@ember/component';
5089
-
5090
- export default Component.extend({
5091
- tagName: 'use',
5092
- attributeBindings: ['xlinkHref:xlink:href'],
5093
-
5094
- xlinkHref: '#triangle'
5095
- });
5096
- ```
5097
-
5098
- Invoking this component will produce HTML that looks like:
5099
-
5100
- ```html
5101
- <use xlink:href="#triangle"></use>
5102
- ```
5103
-
5104
- If the value of a property monitored by `attributeBindings` is a boolean, the
5105
- attribute will be present or absent depending on the value:
5106
-
5107
- ```app/components/my-text-input.js
5108
- import Component from '@ember/component';
5109
-
5110
- export default Component.extend({
5111
- tagName: 'input',
5112
- attributeBindings: ['disabled'],
5113
-
5114
- disabled: false
5115
- });
5116
- ```
5117
-
5118
- Invoking this component will produce HTML that looks like:
5119
-
5120
- ```html
5121
- <input id="ember1" class="ember-view" />
5122
- ```
5123
-
5124
- `attributeBindings` can refer to computed properties:
5125
-
5126
- ```app/components/my-text-input.js
5127
- import Component from '@ember/component';
5128
- import { computed } from '@ember/object';
5129
-
5130
- export default Component.extend({
5131
- tagName: 'input',
5132
- attributeBindings: ['disabled'],
5133
-
5134
- disabled: computed(function() {
5135
- if (someLogic) {
5136
- return true;
5137
- } else {
5138
- return false;
5139
- }
5140
- })
5141
- });
5142
- ```
5143
-
5144
- To prevent setting an attribute altogether, use `null` or `undefined` as the
5145
- value of the property used in `attributeBindings`:
5146
-
5147
- ```app/components/my-text-input.js
5148
- import Component from '@ember/component';
5149
-
5150
- export default Component.extend({
5151
- tagName: 'form',
5152
- attributeBindings: ['novalidate'],
5153
- novalidate: null
5154
- });
5155
- ```
5156
-
5157
- Updates to the property of an attribute binding will result in automatic
5158
- update of the HTML attribute in the component's HTML output.
5159
-
5160
- `attributeBindings` is a concatenated property. See
5161
- [EmberObject](/ember/release/classes/EmberObject) documentation for more
5162
- information about concatenated properties.
5163
-
5164
- ## Layouts
5165
-
5166
- The `layout` property can be used to dynamically specify a template associated
5167
- with a component class, instead of relying on Ember to link together a
5168
- component class and a template based on file names.
5169
-
5170
- In general, applications should not use this feature, but it's commonly used
5171
- in addons for historical reasons.
5172
-
5173
- The `layout` property should be set to the default export of a template
5174
- module, which is the name of a template file without the `.hbs` extension.
5175
-
5176
- ```app/templates/components/person-profile.hbs
5177
- <h1>Person's Title</h1>
5178
- <div class='details'>{{yield}}</div>
5179
- ```
5180
-
5181
- ```app/components/person-profile.js
5182
- import Component from '@ember/component';
5183
- import layout from '../templates/components/person-profile';
5184
-
5185
- export default Component.extend({
5186
- layout
5187
- });
5188
- ```
5189
-
5190
- If you invoke the component:
5191
-
5192
- ```handlebars
5193
- <PersonProfile>
5194
- <h2>Chief Basket Weaver</h2>
5195
- <h3>Fisherman Industries</h3>
5196
- </PersonProfile>
5197
- ```
5198
-
5199
- or
5200
-
5201
- ```handlebars
5202
- {{#person-profile}}
5203
- <h2>Chief Basket Weaver</h2>
5204
- <h3>Fisherman Industries</h3>
5205
- {{/person-profile}}
5206
- ```
5207
-
5208
- It will result in the following HTML output:
5209
-
5210
- ```html
5211
- <h1>Person's Title</h1>
5212
- <div class="details">
5213
- <h2>Chief Basket Weaver</h2>
5214
- <h3>Fisherman Industries</h3>
5215
- </div>
5216
- ```
5217
-
5218
- ## Handling Browser Events
5219
-
5220
- Components can respond to user-initiated events in one of three ways: passing
5221
- actions with angle bracket invocation, adding event handler methods to the
5222
- component's class, or adding actions to the component's template.
5223
-
5224
- ### Passing Actions With Angle Bracket Invocation
5225
-
5226
- For one-off events specific to particular instance of a component, it is possible
5227
- to pass actions to the component's element using angle bracket invocation syntax.
5228
-
5229
- ```handlebars
5230
- <MyWidget {{action 'firstWidgetClicked'}} />
5231
-
5232
- <MyWidget {{action 'secondWidgetClicked'}} />
5233
- ```
5234
-
5235
- In this case, when the first component is clicked on, Ember will invoke the
5236
- `firstWidgetClicked` action. When the second component is clicked on, Ember
5237
- will invoke the `secondWidgetClicked` action instead.
5238
-
5239
- Besides `{{action}}`, it is also possible to pass any arbitrary element modifiers
5240
- using the angle bracket invocation syntax.
5241
-
5242
- ### Event Handler Methods
5243
-
5244
- Components can also respond to user-initiated events by implementing a method
5245
- that matches the event name. This approach is appropriate when the same event
5246
- should be handled by all instances of the same component.
5247
-
5248
- An event object will be passed as the argument to the event handler method.
5249
-
5250
- ```app/components/my-widget.js
5251
- import Component from '@ember/component';
5252
-
5253
- export default Component.extend({
5254
- click(event) {
5255
- // `event.target` is either the component's element or one of its children
5256
- let tag = event.target.tagName.toLowerCase();
5257
- console.log('clicked on a `<${tag}>` HTML element!');
5258
- }
5259
- });
5260
- ```
5261
-
5262
- In this example, whenever the user clicked anywhere inside the component, it
5263
- will log a message to the console.
5264
-
5265
- It is possible to handle event types other than `click` by implementing the
5266
- following event handler methods. In addition, custom events can be registered
5267
- by using `Application.customEvents`.
5268
-
5269
- Touch events:
5270
-
5271
- * `touchStart`
5272
- * `touchMove`
5273
- * `touchEnd`
5274
- * `touchCancel`
5275
-
5276
- Keyboard events:
5277
-
5278
- * `keyDown`
5279
- * `keyUp`
5280
- * `keyPress`
5281
-
5282
- Mouse events:
5283
-
5284
- * `mouseDown`
5285
- * `mouseUp`
5286
- * `contextMenu`
5287
- * `click`
5288
- * `doubleClick`
5289
- * `focusIn`
5290
- * `focusOut`
5291
-
5292
- Form events:
5293
-
5294
- * `submit`
5295
- * `change`
5296
- * `focusIn`
5297
- * `focusOut`
5298
- * `input`
5299
-
5300
- Drag and drop events:
5301
-
5302
- * `dragStart`
5303
- * `drag`
5304
- * `dragEnter`
5305
- * `dragLeave`
5306
- * `dragOver`
5307
- * `dragEnd`
5308
- * `drop`
5309
-
5310
- ### `{{action}}` Helper
5311
-
5312
- Instead of handling all events of a particular type anywhere inside the
5313
- component's element, you may instead want to limit it to a particular
5314
- element in the component's template. In this case, it would be more
5315
- convenient to implement an action instead.
5316
-
5317
- For example, you could implement the action `hello` for the `person-profile`
5318
- component:
5319
-
5320
- ```app/components/person-profile.js
5321
- import Component from '@ember/component';
5322
-
5323
- export default Component.extend({
5324
- actions: {
5325
- hello(name) {
5326
- console.log("Hello", name);
5327
- }
5328
- }
5329
- });
5330
- ```
5331
-
5332
- And then use it in the component's template:
5333
-
5334
- ```app/templates/components/person-profile.hbs
5335
- <h1>{{@person.name}}</h1>
5336
-
5337
- <button {{action 'hello' @person.name}}>
5338
- Say Hello to {{@person.name}}
5339
- </button>
5340
- ```
5341
-
5342
- When the user clicks the button, Ember will invoke the `hello` action,
5343
- passing in the current value of `@person.name` as an argument.
5344
-
5345
- See [Ember.Templates.helpers.action](/ember/release/classes/Ember.Templates.helpers/methods/action?anchor=action).
5346
-
5347
- @class Component
5348
- @extends Ember.CoreView
5349
- @uses Ember.TargetActionSupport
5350
- @uses Ember.ClassNamesSupport
5351
- @uses Ember.ActionSupport
5352
- @uses Ember.ViewMixin
5353
- @uses Ember.ViewStateSupport
5354
- @public
5355
- */
5356
4714
 
5357
4715
  var Component = _views.CoreView.extend(_views.ChildViewsSupport, _views.ViewStateSupport, _views.ClassNamesSupport, _runtime2.TargetActionSupport, _views.ActionSupport, _views.ViewMixin, {
5358
4716
  isComponent: true,
@@ -5662,23 +5020,6 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
5662
5020
  @since 1.13.0
5663
5021
  */
5664
5022
 
5665
- /**
5666
- Layout can be used to wrap content in a component.
5667
- @property layout
5668
- @type Function
5669
- @public
5670
- */
5671
-
5672
- /**
5673
- The name of the layout to lookup if no layout is provided.
5674
- By default `Component` will lookup a template with this name in
5675
- `Ember.TEMPLATES` (a shared global object).
5676
- @property layoutName
5677
- @type String
5678
- @default null
5679
- @private
5680
- */
5681
-
5682
5023
  /**
5683
5024
  The HTML `id` of the component's element in the DOM. You can provide this
5684
5025
  value yourself but it must be unique (just as in HTML):
@@ -6739,7 +6080,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
6739
6080
  },
6740
6081
 
6741
6082
  warnIfStyleNotTrusted(value) {
6742
- (true && (0, _debug.warn)((0, _views.constructStyleDeprecationMessage)(value), (() => {
6083
+ (true && (0, _debug.warn)((0, _views.constructStyleDeprecationMessage)(String(value)), (() => {
6743
6084
  if (value === null || value === undefined || isHTMLSafe$1(value)) {
6744
6085
  return true;
6745
6086
  }
@@ -6835,9 +6176,9 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
6835
6176
  } = _ref12;
6836
6177
  var nameOrValueRef = positional[0];
6837
6178
  (true && !(positional.length === 1 && nameOrValueRef) && (0, _debug.assert)(`[BUG] wrong number of positional arguments, expecting 1, got ${positional.length}`, positional.length === 1 && nameOrValueRef));
6838
- var typeRef = named.type;
6839
- var locRef = named.loc;
6840
- var originalRef = named.original;
6179
+ var typeRef = named['type'];
6180
+ var locRef = named['loc'];
6181
+ var originalRef = named['original'];
6841
6182
  (true && !(typeRef) && (0, _debug.assert)(`[BUG] expecting \`type\` named argument`, typeRef));
6842
6183
  (true && !(locRef) && (0, _debug.assert)(`[BUG] expecting \`loc\` named argument`, locRef));
6843
6184
  (true && !(originalRef) && (0, _debug.assert)(`[BUG] expecting \`original\` named argument`, originalRef)); // Bug: why do these fail?
@@ -7754,7 +7095,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
7754
7095
  var outletRef = (0, _reference.createComputeRef)(() => {
7755
7096
  var state = (0, _reference.valueForRef)(scope.get('outletState'));
7756
7097
  var outlets = state !== undefined ? state.outlets : undefined;
7757
- return outlets !== undefined ? outlets.main : undefined;
7098
+ return outlets !== undefined ? outlets['main'] : undefined;
7758
7099
  });
7759
7100
  var lastState = null;
7760
7101
  var definition = null;
@@ -7779,7 +7120,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
7779
7120
  // provide the correct updated value. So we stop updating and return
7780
7121
  // the _last_ model value for that outlet.
7781
7122
 
7782
- named.model = (0, _reference.createComputeRef)(() => {
7123
+ named['model'] = (0, _reference.createComputeRef)(() => {
7783
7124
  if (lastState === state) {
7784
7125
  model = (0, _reference.valueForRef)(modelRef);
7785
7126
  }
@@ -7790,7 +7131,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
7790
7131
  if (true
7791
7132
  /* DEBUG */
7792
7133
  ) {
7793
- named.model = (0, _reference.createDebugAliasRef)('@model', named.model);
7134
+ named['model'] = (0, _reference.createDebugAliasRef)('@model', named['model']);
7794
7135
  }
7795
7136
 
7796
7137
  var args = (0, _runtime.createCapturedArgs)(named, _runtime.EMPTY_POSITIONAL);
@@ -8076,6 +7417,107 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
8076
7417
 
8077
7418
  }
8078
7419
 
7420
+ var TOP_LEVEL_NAME = '-top-level';
7421
+ var TOP_LEVEL_OUTLET = 'main';
7422
+
7423
+ class OutletView {
7424
+ constructor(_environment, owner, template, namespace) {
7425
+ this._environment = _environment;
7426
+ this.owner = owner;
7427
+ this.template = template;
7428
+ this.namespace = namespace;
7429
+ var outletStateTag = (0, _validator.createTag)();
7430
+ var outletState = {
7431
+ outlets: {
7432
+ main: undefined
7433
+ },
7434
+ render: {
7435
+ owner: owner,
7436
+ into: undefined,
7437
+ outlet: TOP_LEVEL_OUTLET,
7438
+ name: TOP_LEVEL_NAME,
7439
+ controller: undefined,
7440
+ model: undefined,
7441
+ template
7442
+ }
7443
+ };
7444
+ var ref = this.ref = (0, _reference.createComputeRef)(() => {
7445
+ (0, _validator.consumeTag)(outletStateTag);
7446
+ return outletState;
7447
+ }, state => {
7448
+ (0, _validator.dirtyTag)(outletStateTag);
7449
+ outletState.outlets['main'] = state;
7450
+ });
7451
+ this.state = {
7452
+ ref,
7453
+ name: TOP_LEVEL_NAME,
7454
+ outlet: TOP_LEVEL_OUTLET,
7455
+ template,
7456
+ controller: undefined,
7457
+ model: undefined
7458
+ };
7459
+ }
7460
+
7461
+ static extend(injections) {
7462
+ return class extends OutletView {
7463
+ static create(options) {
7464
+ if (options) {
7465
+ return super.create(Object.assign({}, injections, options));
7466
+ } else {
7467
+ return super.create(injections);
7468
+ }
7469
+ }
7470
+
7471
+ };
7472
+ }
7473
+
7474
+ static reopenClass(injections) {
7475
+ Object.assign(this, injections);
7476
+ }
7477
+
7478
+ static create(options) {
7479
+ var {
7480
+ environment: _environment,
7481
+ application: namespace,
7482
+ template: templateFactory$$1
7483
+ } = options;
7484
+ var owner = (0, _owner2.getOwner)(options);
7485
+ (true && !(owner) && (0, _debug.assert)('OutletView is unexpectedly missing an owner', owner));
7486
+ var template = templateFactory$$1(owner);
7487
+ return new OutletView(_environment, owner, template, namespace);
7488
+ }
7489
+
7490
+ appendTo(selector) {
7491
+ var target;
7492
+
7493
+ if (this._environment.hasDOM) {
7494
+ target = typeof selector === 'string' ? document.querySelector(selector) : selector;
7495
+ } else {
7496
+ target = selector;
7497
+ }
7498
+
7499
+ var renderer = this.owner.lookup('renderer:-dom'); // SAFETY: It's not clear that this cast is safe.
7500
+ // The types for appendOutletView may be incorrect or this is a potential bug.
7501
+
7502
+ (0, _runloop.schedule)('render', renderer, 'appendOutletView', this, target);
7503
+ }
7504
+
7505
+ rerender() {
7506
+ /**/
7507
+ }
7508
+
7509
+ setOutletState(state) {
7510
+ (0, _reference.updateRef)(this.ref, state);
7511
+ }
7512
+
7513
+ destroy() {
7514
+ /**/
7515
+ }
7516
+
7517
+ }
7518
+
7519
+ _exports.OutletView = OutletView;
7520
+
8079
7521
  class DynamicScope {
8080
7522
  constructor(view, outletState) {
8081
7523
  this.view = view;
@@ -8133,7 +7575,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
8133
7575
  this.root = root;
8134
7576
  this.runtime = runtime;
8135
7577
  (true && !(template !== undefined) && (0, _debug.assert)(`You cannot render \`${(0, _reference.valueForRef)(self)}\` without a template.`, template !== undefined));
8136
- this.id = (0, _views.getViewId)(root);
7578
+ this.id = root instanceof OutletView ? (0, _utils.guidFor)(root) : (0, _views.getViewId)(root);
8137
7579
  this.result = undefined;
8138
7580
  this.destroyed = false;
8139
7581
  this.render = errorLoopTransaction(() => {
@@ -8575,106 +8017,6 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
8575
8017
  "moduleName": "packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",
8576
8018
  "isStrictMode": false
8577
8019
  });
8578
- var TOP_LEVEL_NAME = '-top-level';
8579
- var TOP_LEVEL_OUTLET = 'main';
8580
-
8581
- class OutletView {
8582
- constructor(_environment, owner, template, namespace) {
8583
- this._environment = _environment;
8584
- this.owner = owner;
8585
- this.template = template;
8586
- this.namespace = namespace;
8587
- var outletStateTag = (0, _validator.createTag)();
8588
- var outletState = {
8589
- outlets: {
8590
- main: undefined
8591
- },
8592
- render: {
8593
- owner: owner,
8594
- into: undefined,
8595
- outlet: TOP_LEVEL_OUTLET,
8596
- name: TOP_LEVEL_NAME,
8597
- controller: undefined,
8598
- model: undefined,
8599
- template
8600
- }
8601
- };
8602
- var ref = this.ref = (0, _reference.createComputeRef)(() => {
8603
- (0, _validator.consumeTag)(outletStateTag);
8604
- return outletState;
8605
- }, state => {
8606
- (0, _validator.dirtyTag)(outletStateTag);
8607
- outletState.outlets.main = state;
8608
- });
8609
- this.state = {
8610
- ref,
8611
- name: TOP_LEVEL_NAME,
8612
- outlet: TOP_LEVEL_OUTLET,
8613
- template,
8614
- controller: undefined,
8615
- model: undefined
8616
- };
8617
- }
8618
-
8619
- static extend(injections) {
8620
- return class extends OutletView {
8621
- static create(options) {
8622
- if (options) {
8623
- return super.create(Object.assign({}, injections, options));
8624
- } else {
8625
- return super.create(injections);
8626
- }
8627
- }
8628
-
8629
- };
8630
- }
8631
-
8632
- static reopenClass(injections) {
8633
- Object.assign(this, injections);
8634
- }
8635
-
8636
- static create(options) {
8637
- var {
8638
- environment: _environment,
8639
- application: namespace,
8640
- template: templateFactory$$1
8641
- } = options;
8642
- var owner = (0, _owner2.getOwner)(options);
8643
- (true && !(owner) && (0, _debug.assert)('OutletView is unexpectedly missing an owner', owner));
8644
- var template = templateFactory$$1(owner);
8645
- return new OutletView(_environment, owner, template, namespace);
8646
- }
8647
-
8648
- appendTo(selector) {
8649
- var target;
8650
-
8651
- if (this._environment.hasDOM) {
8652
- target = typeof selector === 'string' ? document.querySelector(selector) : selector;
8653
- } else {
8654
- target = selector;
8655
- }
8656
-
8657
- var renderer = this.owner.lookup('renderer:-dom'); // SAFETY: It's not clear that this cast is safe.
8658
- // The types for appendOutletView may be incorrect or this is a potential bug.
8659
-
8660
- (0, _runloop.schedule)('render', renderer, 'appendOutletView', this, target);
8661
- }
8662
-
8663
- rerender() {
8664
- /**/
8665
- }
8666
-
8667
- setOutletState(state) {
8668
- (0, _reference.updateRef)(this.ref, state);
8669
- }
8670
-
8671
- destroy() {
8672
- /**/
8673
- }
8674
-
8675
- }
8676
-
8677
- _exports.OutletView = OutletView;
8678
8020
 
8679
8021
  function setupApplicationRegistry(registry) {
8680
8022
  // because we are using injections we can't use instantiate false
@@ -11527,10 +10869,6 @@ define("@ember/-internals/metal/index", ["exports", "@ember/-internals/meta", "@
11527
10869
  function isPath(path) {
11528
10870
  return typeof path === 'string' && firstDotIndexCache.get(path) !== -1;
11529
10871
  }
11530
- /**
11531
- @module @ember/object
11532
- */
11533
-
11534
10872
 
11535
10873
  var PROXY_CONTENT = (0, _utils.symbol)('PROXY_CONTENT');
11536
10874
  _exports.PROXY_CONTENT = PROXY_CONTENT;
@@ -12569,7 +11907,7 @@ define("@ember/-internals/metal/index", ["exports", "@ember/-internals/meta", "@
12569
11907
  } else if (_mixins !== undefined) {
12570
11908
  mergeMixins(_mixins, meta$$1, descs, values, base, keys, keysWithSuper);
12571
11909
 
12572
- if (currentMixin._without !== undefined) {
11910
+ if (currentMixin instanceof Mixin && currentMixin._without !== undefined) {
12573
11911
  currentMixin._without.forEach(keyName => {
12574
11912
  // deleting the key means we won't process the value
12575
11913
  var index = keys.indexOf(keyName);
@@ -19473,7 +18811,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
19473
18811
  // Create an entry to represent our default template name,
19474
18812
  // just so other routes can target it and inherit its place
19475
18813
  // in the outlet hierarchy.
19476
- defaultParentState.outlets.main = {
18814
+ defaultParentState.outlets['main'] = {
19477
18815
  render: {
19478
18816
  name: routeName,
19479
18817
  outlet: 'main'
@@ -20433,13 +19771,17 @@ define("@ember/-internals/runtime/lib/ext/rsvp", ["exports", "rsvp", "@ember/run
20433
19771
 
20434
19772
  function errorFor(reason) {
20435
19773
  if (!reason) return;
19774
+ var withErrorThrown = reason;
20436
19775
 
20437
- if (reason.errorThrown) {
20438
- return unwrapErrorThrown(reason);
19776
+ if (withErrorThrown.errorThrown) {
19777
+ return unwrapErrorThrown(withErrorThrown);
20439
19778
  }
20440
19779
 
20441
- if (reason.name === 'UnrecognizedURLError') {
20442
- (true && !(false) && (0, _debug.assert)(`The URL '${reason.message}' did not match any routes in your application`, false));
19780
+ var withName = reason;
19781
+
19782
+ if (withName.name === 'UnrecognizedURLError') {
19783
+ (true && !(false) && (0, _debug.assert)(`The URL '${withName.message}' did not match any routes in your application`, false)); // @ts-expect-error We'll hit this if the assert is stripped
19784
+
20443
19785
  return;
20444
19786
  }
20445
19787
 
@@ -20598,7 +19940,7 @@ define("@ember/-internals/runtime/lib/mixins/-proxy", ["exports", "@ember/-inter
20598
19940
  var _default = _metal.Mixin.create({
20599
19941
  /**
20600
19942
  The object whose properties will be forwarded.
20601
- @property content
19943
+ @property content
20602
19944
  @type {unknown}
20603
19945
  @default null
20604
19946
  @public
@@ -22254,7 +21596,7 @@ define("@ember/-internals/runtime/lib/mixins/array", ["exports", "@ember/-intern
22254
21596
  colors.unshiftObjects('yellow'); // Type Error: 'undefined' is not a function
22255
21597
  ```
22256
21598
  @method unshiftObjects
22257
- @param {Enumberable} objects the objects to add
21599
+ @param {Enumerable} objects the objects to add
22258
21600
  @return {EmberArray} receiver
22259
21601
  @public
22260
21602
  */
@@ -23419,7 +22761,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23419
22761
  /**
23420
22762
  If the proxied promise is rejected this will contain the reason
23421
22763
  provided.
23422
- @property reason
22764
+ @property reason
23423
22765
  @default null
23424
22766
  @public
23425
22767
  */
@@ -23427,7 +22769,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23427
22769
 
23428
22770
  /**
23429
22771
  Once the proxied promise has settled this will become `false`.
23430
- @property isPending
22772
+ @property isPending
23431
22773
  @default true
23432
22774
  @public
23433
22775
  */
@@ -23437,7 +22779,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23437
22779
 
23438
22780
  /**
23439
22781
  Once the proxied promise has settled this will become `true`.
23440
- @property isSettled
22782
+ @property isSettled
23441
22783
  @default false
23442
22784
  @public
23443
22785
  */
@@ -23447,7 +22789,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23447
22789
 
23448
22790
  /**
23449
22791
  Will become `true` if the proxied promise is rejected.
23450
- @property isRejected
22792
+ @property isRejected
23451
22793
  @default false
23452
22794
  @public
23453
22795
  */
@@ -23455,7 +22797,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23455
22797
 
23456
22798
  /**
23457
22799
  Will become `true` if the proxied promise is fulfilled.
23458
- @property isFulfilled
22800
+ @property isFulfilled
23459
22801
  @default false
23460
22802
  @public
23461
22803
  */
@@ -23463,17 +22805,17 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23463
22805
 
23464
22806
  /**
23465
22807
  The promise whose fulfillment value is being proxied by this object.
23466
- This property must be specified upon creation, and should not be
22808
+ This property must be specified upon creation, and should not be
23467
22809
  changed once created.
23468
- Example:
23469
- ```javascript
22810
+ Example:
22811
+ ```javascript
23470
22812
  import ObjectProxy from '@ember/object/proxy';
23471
22813
  import PromiseProxyMixin from '@ember/object/promise-proxy-mixin';
23472
- ObjectProxy.extend(PromiseProxyMixin).create({
22814
+ ObjectProxy.extend(PromiseProxyMixin).create({
23473
22815
  promise: <thenable>
23474
22816
  });
23475
22817
  ```
23476
- @property promise
22818
+ @property promise
23477
22819
  @public
23478
22820
  */
23479
22821
  promise: (0, _metal.computed)({
@@ -23489,8 +22831,8 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23489
22831
 
23490
22832
  /**
23491
22833
  An alias to the proxied promise's `then`.
23492
- See RSVP.Promise.then.
23493
- @method then
22834
+ See RSVP.Promise.then.
22835
+ @method then
23494
22836
  @param {Function} callback
23495
22837
  @return {RSVP.Promise}
23496
22838
  @public
@@ -23499,8 +22841,8 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23499
22841
 
23500
22842
  /**
23501
22843
  An alias to the proxied promise's `catch`.
23502
- See RSVP.Promise.catch.
23503
- @method catch
22844
+ See RSVP.Promise.catch.
22845
+ @method catch
23504
22846
  @param {Function} callback
23505
22847
  @return {RSVP.Promise}
23506
22848
  @since 1.3.0
@@ -23510,8 +22852,8 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
23510
22852
 
23511
22853
  /**
23512
22854
  An alias to the proxied promise's `finally`.
23513
- See RSVP.Promise.finally.
23514
- @method finally
22855
+ See RSVP.Promise.finally.
22856
+ @method finally
23515
22857
  @param {Function} callback
23516
22858
  @return {RSVP.Promise}
23517
22859
  @since 1.3.0
@@ -23802,9 +23144,9 @@ define("@ember/-internals/runtime/lib/mixins/target_action_support", ["exports",
23802
23144
  /**
23803
23145
  Send an `action` with an `actionContext` to a `target`. The action, actionContext
23804
23146
  and target will be retrieved from properties of the object. For example:
23805
- ```javascript
23147
+ ```javascript
23806
23148
  import { alias } from '@ember/object/computed';
23807
- App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
23149
+ App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
23808
23150
  target: alias('controller'),
23809
23151
  action: 'save',
23810
23152
  actionContext: alias('context'),
@@ -23814,9 +23156,9 @@ define("@ember/-internals/runtime/lib/mixins/target_action_support", ["exports",
23814
23156
  }
23815
23157
  });
23816
23158
  ```
23817
- The `target`, `action`, and `actionContext` can be provided as properties of
23159
+ The `target`, `action`, and `actionContext` can be provided as properties of
23818
23160
  an optional object argument to `triggerAction` as well.
23819
- ```javascript
23161
+ ```javascript
23820
23162
  App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
23821
23163
  click() {
23822
23164
  this.triggerAction({
@@ -23828,12 +23170,12 @@ define("@ember/-internals/runtime/lib/mixins/target_action_support", ["exports",
23828
23170
  }
23829
23171
  });
23830
23172
  ```
23831
- The `actionContext` defaults to the object you are mixing `TargetActionSupport` into.
23173
+ The `actionContext` defaults to the object you are mixing `TargetActionSupport` into.
23832
23174
  But `target` and `action` must be specified either as properties or with the argument
23833
23175
  to `triggerAction`, or a combination:
23834
- ```javascript
23176
+ ```javascript
23835
23177
  import { alias } from '@ember/object/computed';
23836
- App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
23178
+ App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
23837
23179
  target: alias('controller'),
23838
23180
  click() {
23839
23181
  this.triggerAction({
@@ -23843,7 +23185,7 @@ define("@ember/-internals/runtime/lib/mixins/target_action_support", ["exports",
23843
23185
  }
23844
23186
  });
23845
23187
  ```
23846
- @method triggerAction
23188
+ @method triggerAction
23847
23189
  @param opts {Object} (optional, with the optional keys action, target and/or actionContext)
23848
23190
  @return {Boolean} true if the action was sent successfully and did not return false
23849
23191
  @private
@@ -27601,12 +26943,14 @@ define("@ember/-internals/views/lib/system/utils", ["exports", "@ember/-internal
27601
26943
  _exports.setElementView = setElementView;
27602
26944
  _exports.setViewElement = setViewElement;
27603
26945
 
27604
- /* globals Element */
27605
-
27606
26946
  /**
27607
26947
  @module ember
27608
26948
  */
27609
26949
  function isSimpleClick(event) {
26950
+ if (!(event instanceof MouseEvent)) {
26951
+ return false;
26952
+ }
26953
+
27610
26954
  var modifier = event.shiftKey || event.metaKey || event.altKey || event.ctrlKey;
27611
26955
  var secondaryClick = event.which > 1; // IE9 may return undefined
27612
26956
 
@@ -27834,22 +27178,6 @@ define("@ember/-internals/views/lib/views/core_view", ["exports", "@ember/-inter
27834
27178
  });
27835
27179
  _exports.default = void 0;
27836
27180
 
27837
- /**
27838
- `Ember.CoreView` is an abstract class that exists to give view-like behavior
27839
- to both Ember's main view class `Component` and other classes that don't need
27840
- the full functionality of `Component`.
27841
-
27842
- Unless you have specific needs for `CoreView`, you will use `Component`
27843
- in your applications.
27844
-
27845
- @class CoreView
27846
- @namespace Ember
27847
- @extends EmberObject
27848
- @deprecated Use `Component` instead.
27849
- @uses Evented
27850
- @uses Ember.ActionHandler
27851
- @private
27852
- */
27853
27181
  var CoreView = _runtime.FrameworkObject.extend(_runtime.Evented, _runtime.ActionHandler, {
27854
27182
  isView: true,
27855
27183
  _states: _states.default,
@@ -27866,7 +27194,7 @@ define("@ember/-internals/views/lib/views/core_view", ["exports", "@ember/-inter
27866
27194
  /**
27867
27195
  If the view is currently inserted into the DOM of a parent view, this
27868
27196
  property will point to the parent of the view.
27869
- @property parentView
27197
+ @property parentView
27870
27198
  @type Ember.View
27871
27199
  @default null
27872
27200
  @private
@@ -27874,16 +27202,16 @@ define("@ember/-internals/views/lib/views/core_view", ["exports", "@ember/-inter
27874
27202
  parentView: null,
27875
27203
 
27876
27204
  instrumentDetails(hash) {
27877
- hash.object = this.toString();
27878
- hash.containerKey = this._debugContainerKey;
27879
- hash.view = this;
27205
+ hash['object'] = this.toString();
27206
+ hash['containerKey'] = this._debugContainerKey;
27207
+ hash['view'] = this;
27880
27208
  return hash;
27881
27209
  },
27882
27210
 
27883
27211
  /**
27884
27212
  Override the default event firing from `Evented` to
27885
27213
  also call methods with the given name.
27886
- @method trigger
27214
+ @method trigger
27887
27215
  @param name {String}
27888
27216
  @private
27889
27217
  */
@@ -30323,7 +29651,7 @@ define("@ember/debug/index", ["exports", "@ember/-internals/browser-environment"
30323
29651
  && !(0, _testing.isTesting)()) {
30324
29652
  if (typeof window !== 'undefined' && (_browserEnvironment.isFirefox || _browserEnvironment.isChrome) && window.addEventListener) {
30325
29653
  window.addEventListener('load', () => {
30326
- if (document.documentElement && document.documentElement.dataset && !document.documentElement.dataset.emberExtension) {
29654
+ if (document.documentElement && document.documentElement.dataset && !document.documentElement.dataset['emberExtension']) {
30327
29655
  var downloadURL;
30328
29656
 
30329
29657
  if (_browserEnvironment.isChrome) {
@@ -34760,6 +34088,19 @@ define("@ember/polyfills/lib/assign", ["exports", "@ember/debug"], function (_ex
34760
34088
  return Object.assign(target, ...rest);
34761
34089
  }
34762
34090
  });
34091
+ define("@ember/renderer/index", ["exports", "@ember/-internals/glimmer"], function (_exports, _glimmer) {
34092
+ "use strict";
34093
+
34094
+ Object.defineProperty(_exports, "__esModule", {
34095
+ value: true
34096
+ });
34097
+ Object.defineProperty(_exports, "renderSettled", {
34098
+ enumerable: true,
34099
+ get: function () {
34100
+ return _glimmer.renderSettled;
34101
+ }
34102
+ });
34103
+ });
34763
34104
  define("@ember/routing/auto-location", ["exports", "@ember/-internals/routing"], function (_exports, _routing) {
34764
34105
  "use strict";
34765
34106
 
@@ -55722,7 +55063,7 @@ define("ember/version", ["exports"], function (_exports) {
55722
55063
  value: true
55723
55064
  });
55724
55065
  _exports.default = void 0;
55725
- var _default = "4.4.0-alpha.3";
55066
+ var _default = "4.4.0-alpha.4";
55726
55067
  _exports.default = _default;
55727
55068
  });
55728
55069
  define("route-recognizer", ["exports"], function (_exports) {