ember-source 7.2.0-alpha.4 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/blueprints/-addon-import.js +4 -6
  2. package/blueprints/-utils.js +6 -9
  3. package/build-metadata.json +3 -3
  4. package/dist/dev/packages/@ember/-internals/browser-environment/index.js +1 -1
  5. package/dist/dev/packages/@ember/-internals/glimmer/index.js +11 -11
  6. package/dist/dev/packages/@ember/-internals/metal/index.js +18 -18
  7. package/dist/dev/packages/@ember/-internals/routing/index.js +3 -3
  8. package/dist/dev/packages/@ember/-internals/runtime/index.js +1 -1
  9. package/dist/dev/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
  10. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +7 -7
  11. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +1 -1
  12. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -3
  13. package/dist/dev/packages/@ember/-internals/utils/index.js +2 -2
  14. package/dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -1
  15. package/dist/dev/packages/@ember/-internals/views/lib/system/event_dispatcher.js +2 -2
  16. package/dist/dev/packages/@ember/-internals/views/lib/system/utils.js +1 -1
  17. package/dist/dev/packages/@ember/-internals/views/lib/views/core_view.js +1 -1
  18. package/dist/dev/packages/@ember/application/index.js +6 -7
  19. package/dist/dev/packages/@ember/application/instance.js +4 -4
  20. package/dist/dev/packages/@ember/application/namespace.js +3 -3
  21. package/dist/dev/packages/@ember/array/index.js +10 -64
  22. package/dist/dev/packages/@ember/array/lib/is-array.js +71 -0
  23. package/dist/dev/packages/@ember/array/proxy.js +8 -8
  24. package/dist/dev/packages/@ember/component/helper.js +1 -1
  25. package/dist/dev/packages/@ember/component/index.js +22 -16
  26. package/dist/dev/packages/@ember/component/template-only.js +1 -1
  27. package/dist/dev/packages/@ember/controller/index.js +3 -3
  28. package/dist/dev/packages/@ember/debug/data-adapter.js +3 -3
  29. package/dist/dev/packages/@ember/debug/index.js +1 -1
  30. package/dist/dev/packages/@ember/engine/index.js +5 -5
  31. package/dist/dev/packages/@ember/engine/instance.js +2 -2
  32. package/dist/dev/packages/@ember/helper/index.js +1132 -98
  33. package/dist/dev/packages/@ember/modifier/index.js +2 -2
  34. package/dist/dev/packages/@ember/modifier/on.js +1 -1
  35. package/dist/dev/packages/@ember/object/-internals.js +2 -2
  36. package/dist/dev/packages/@ember/object/compat.js +3 -35
  37. package/dist/dev/packages/@ember/object/computed.js +2 -2
  38. package/dist/dev/packages/@ember/object/core.js +7 -7
  39. package/dist/dev/packages/@ember/object/evented.js +2 -2
  40. package/dist/dev/packages/@ember/object/events.js +1 -1
  41. package/dist/dev/packages/@ember/object/index.js +30 -25
  42. package/dist/dev/packages/@ember/object/internals.js +1 -1
  43. package/dist/dev/packages/@ember/object/lib/computed/computed_macros.js +5 -5
  44. package/dist/dev/packages/@ember/object/lib/computed/reduce_computed_macros.js +3 -3
  45. package/dist/dev/packages/@ember/object/mixin.js +6 -6
  46. package/dist/dev/packages/@ember/object/observable.js +7 -7
  47. package/dist/dev/packages/@ember/object/observers.js +1 -1
  48. package/dist/dev/packages/@ember/object/promise-proxy-mixin.js +3 -3
  49. package/dist/dev/packages/@ember/reactive/collections.js +153 -153
  50. package/dist/dev/packages/@ember/renderer/index.js +1 -1
  51. package/dist/dev/packages/@ember/routing/-internals.js +3 -3
  52. package/dist/dev/packages/@ember/routing/index.js +18 -34
  53. package/dist/dev/packages/@ember/routing/lib/generate_controller.js +2 -3
  54. package/dist/dev/packages/@ember/routing/lib/routing-service.js +5 -5
  55. package/dist/dev/packages/@ember/routing/lib/utils.js +3 -3
  56. package/dist/dev/packages/@ember/routing/route.js +12 -12
  57. package/dist/dev/packages/@ember/routing/router-service.js +25 -18
  58. package/dist/dev/packages/@ember/routing/router.js +5 -5
  59. package/dist/dev/packages/@ember/runloop/index.js +1 -1
  60. package/dist/dev/packages/@ember/service/index.js +1 -1
  61. package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +3 -3
  62. package/dist/dev/packages/@ember/template-compiler/lib/template.js +2 -2
  63. package/dist/dev/packages/@ember/template-factory/index.js +1 -1
  64. package/dist/dev/packages/@ember/utils/lib/is_empty.js +1 -1
  65. package/dist/dev/packages/@glimmer/encoder/index.js +1 -1
  66. package/dist/dev/packages/@glimmer/manager/index.js +4 -4
  67. package/dist/dev/packages/@glimmer/node/index.js +3 -3
  68. package/dist/dev/packages/@glimmer/opcode-compiler/index.js +2 -2
  69. package/dist/dev/packages/@glimmer/program/index.js +10 -10
  70. package/dist/dev/packages/@glimmer/reference/index.js +5 -5
  71. package/dist/dev/packages/@glimmer/runtime/index.js +13 -13
  72. package/dist/dev/packages/@glimmer/tracking/index.js +2 -2
  73. package/dist/dev/packages/@glimmer/tracking/primitives/cache/index.js +1 -1
  74. package/dist/dev/packages/@glimmer/util/index.js +4 -4
  75. package/dist/dev/packages/@glimmer/validator/index.js +3 -3
  76. package/dist/dev/packages/@glimmer/vm/index.js +2 -2
  77. package/dist/dev/packages/ember/version.js +1 -1
  78. package/dist/dev/packages/ember-template-compiler/index.js +4 -4
  79. package/dist/dev/packages/router_js/index.js +2 -2
  80. package/dist/dev/packages/rsvp/index.js +1 -1
  81. package/dist/dev/packages/shared-chunks/{alias-RGbDZoAB.js → alias-DpqL1qx6.js} +7 -7
  82. package/dist/dev/packages/shared-chunks/{api-BT9M3UaD.js → api-BlZDPg1n.js} +6 -6
  83. package/dist/dev/packages/shared-chunks/{element-builder-Cl1kHFJE.js → api-C0PAtEgQ.js} +139 -120
  84. package/dist/dev/packages/shared-chunks/{api-DG5kRT-o.js → api-DuLOZMO_.js} +3 -3
  85. package/dist/dev/packages/shared-chunks/{args-proxy-CB0SM6jC.js → args-proxy-CS5Brs3_.js} +2 -2
  86. package/dist/dev/packages/shared-chunks/{untouchable-this-BHdAERUu.js → arguments-CDkbOqTS.js} +236 -236
  87. package/dist/dev/packages/shared-chunks/{array-BMaSKezP.js → array-CVEnNWng.js} +3 -3
  88. package/dist/dev/packages/shared-chunks/{array-utils-BEaSKdEb.js → array-utils-CZQxrdD3.js} +1 -1
  89. package/dist/dev/packages/shared-chunks/{cache-CeWOBNQg.js → cache-DGDPVCpC.js} +2 -3
  90. package/dist/dev/packages/shared-chunks/{capabilities-CZkuOqqC.js → capabilities-CajW4QjE.js} +1 -1
  91. package/dist/dev/packages/shared-chunks/{chain-tags-DfmU63mS.js → chain-tags-uWSImHzB.js} +4 -4
  92. package/dist/dev/packages/shared-chunks/{collections-DEt-i-8B.js → collections-DPkjqeA3.js} +2 -2
  93. package/dist/dev/packages/shared-chunks/{compiler-DhH2WLpA.js → compiler-QUSl_urU.js} +3 -3
  94. package/dist/dev/packages/shared-chunks/{computed-Daavz6vC.js → computed-BPCtuOxQ.js} +6 -6
  95. package/dist/dev/packages/shared-chunks/{curly-YoYS2vXw.js → curly-Ei5G8jhk.js} +7 -7
  96. package/dist/dev/packages/shared-chunks/{curried-Cnjy9_ug.js → curried-BZnYakIg.js} +1 -1
  97. package/dist/dev/packages/shared-chunks/{decorator-DYQwMItS.js → decorator-B5Uh5NFI.js} +1 -1
  98. package/dist/dev/packages/shared-chunks/{element-bBwMD8cw.js → element-Cgoi4ldD.js} +3 -25
  99. package/dist/dev/packages/shared-chunks/{events-B1lx9T1I.js → events-6aFVjD4k.js} +1 -1
  100. package/dist/{prod/packages/shared-chunks/flags-B9qxc-pB.js → dev/packages/shared-chunks/flags-BZxHQ0yn.js} +1 -1
  101. package/dist/dev/packages/shared-chunks/get-B4o_4OLA.js +40 -0
  102. package/dist/{prod/packages/shared-chunks/get_properties-wj_Qmotj.js → dev/packages/shared-chunks/get_properties-Cm2sWt5f.js} +1 -1
  103. package/dist/dev/packages/shared-chunks/{guid-PO2v9BaN.js → guid-Cbq2sNV_.js} +1 -1
  104. package/dist/dev/packages/shared-chunks/hash-Bg4r3CU4.js +57 -0
  105. package/dist/dev/packages/shared-chunks/{helper-Bm6EhgSW.js → helper--ZiOCQkd.js} +21 -9
  106. package/dist/dev/packages/shared-chunks/{index-DX90CU4L.js → index-BGP1rw3B.js} +1 -1
  107. package/dist/dev/packages/shared-chunks/{index-dyv6rcBf.js → index-C5Q8WHUG.js} +304 -201
  108. package/dist/dev/packages/shared-chunks/{index-DkwVSPP5.js → index-DaFzpTIE.js} +10 -9
  109. package/dist/dev/packages/shared-chunks/{injected_property-B075jH6c.js → injected_property-CbBLr5jt.js} +2 -2
  110. package/dist/dev/packages/shared-chunks/{internal-Bpr6ihB_.js → internal-DTOXyEGM.js} +4 -4
  111. package/dist/dev/packages/shared-chunks/{internal-helper-IC87S6iZ.js → internal-helper-CKrni0b_.js} +1 -1
  112. package/dist/dev/packages/shared-chunks/{invoke-Ds0KEfP_.js → invoke-d9sqa50M.js} +3 -3
  113. package/dist/dev/packages/shared-chunks/{libraries-P8Ins5CB.js → libraries-DwffpMGE.js} +1 -1
  114. package/dist/dev/packages/shared-chunks/{meta-Cjo3zQJq.js → meta-BqC7f9Ia.js} +1 -1
  115. package/dist/{prod/packages/shared-chunks/namespace_search-TFdmjK_a.js → dev/packages/shared-chunks/namespace_search-BfvzEQzN.js} +1 -1
  116. package/dist/dev/packages/shared-chunks/{normalize-CxG_iVLJ.js → normalize-CKySQVU7.js} +2 -2
  117. package/dist/dev/packages/shared-chunks/{or-Bg6rCMF8.js → not-JB6ln6bJ.js} +36 -36
  118. package/dist/dev/packages/shared-chunks/{observers-CejcZw5s.js → observers-DMlX2nCi.js} +5 -5
  119. package/dist/dev/packages/shared-chunks/{on-Ch_lyozr.js → on-CQqC2-wL.js} +29 -18
  120. package/dist/dev/packages/shared-chunks/{present-D0EfKzC6.js → present-B1rrjAVM.js} +1 -1
  121. package/dist/{prod/packages/shared-chunks/program-CF651Zuj.js → dev/packages/shared-chunks/program-DlgjqLa6.js} +3 -3
  122. package/dist/dev/packages/shared-chunks/{program-context-BaYVr5GA.js → program-context-Dq8xN2HI.js} +5 -4
  123. package/dist/dev/packages/shared-chunks/{property_get-BjbsrgpU.js → property_get-CRP7MFz_.js} +3 -3
  124. package/dist/dev/packages/shared-chunks/{property_set-LJskl202.js → property_set-qCUylPEK.js} +3 -3
  125. package/dist/dev/packages/shared-chunks/{reference-C-OXd_kp.js → reference-BqOLhKFy.js} +3 -3
  126. package/dist/dev/packages/shared-chunks/{registers-Buvdhhxx.js → registers-C_W2qYHJ.js} +1 -1
  127. package/dist/dev/packages/shared-chunks/{rehydrate-builder-IH4d_JQy.js → rehydrate-builder-C6k1XhET.js} +4 -4
  128. package/dist/dev/packages/shared-chunks/{render-Dz3OWqXy.js → render-87_sKZ_k.js} +94 -94
  129. package/dist/dev/packages/shared-chunks/{rsvp-C6j8G1D1.js → rsvp-aLN_pQtn.js} +4 -4
  130. package/dist/dev/packages/shared-chunks/{serialize-builder-DKliZPPG.js → serialize-builder-BlxBjwO-.js} +2 -2
  131. package/dist/dev/packages/shared-chunks/{set_properties-CNds2HCH.js → set_properties-C4TSebH6.js} +2 -2
  132. package/dist/dev/packages/shared-chunks/{setup-registry-C_YovxNX.js → setup-registry-Dovj1LIQ.js} +18 -18
  133. package/dist/{prod/packages/shared-chunks/simple-cast-BXTrayoV.js → dev/packages/shared-chunks/simple-cast-DCvJLSin.js} +1 -1
  134. package/dist/{prod/packages/shared-chunks/super-D4qkU4uq.js → dev/packages/shared-chunks/super-BBBjgF69.js} +1 -1
  135. package/dist/{prod/packages/shared-chunks/syscall-ops-nrBHMOTp.js → dev/packages/shared-chunks/syscall-ops-CN7STuUn.js} +1 -1
  136. package/dist/dev/packages/shared-chunks/{template-B0Apv9g2.js → template-BRrQR6KS.js} +1 -1
  137. package/dist/dev/packages/shared-chunks/{template-only-BxYzSEnC.js → template-only-Cu639ICT.js} +2 -4
  138. package/dist/dev/packages/shared-chunks/{textarea-DHjEFpZu.js → textarea-B5TmhnQU.js} +14 -30
  139. package/dist/dev/packages/shared-chunks/{tracked-B76E1nGz.js → tracked-DEyf0T_X.js} +5 -5
  140. package/dist/dev/packages/shared-chunks/{tracked-data-CH1USZZy.js → tracked-data-DgqqRdYO.js} +2 -2
  141. package/dist/dev/packages/shared-chunks/{unique-id-Hd96VZlE.js → unique-id-Csxuh1I7.js} +2 -6
  142. package/dist/dev/packages/shared-chunks/{unrecognized-url-error-BQdkjTtZ.js → unrecognized-url-error-DyurFqvv.js} +2 -2
  143. package/dist/{prod/packages/shared-chunks/vm-ops-5QCUIRx4.js → dev/packages/shared-chunks/vm-ops-ImHv0Wtg.js} +1 -1
  144. package/dist/prod/packages/@ember/-internals/glimmer/index.js +11 -11
  145. package/dist/prod/packages/@ember/-internals/metal/index.js +18 -18
  146. package/dist/prod/packages/@ember/-internals/routing/index.js +3 -3
  147. package/dist/prod/packages/@ember/-internals/runtime/index.js +1 -1
  148. package/dist/prod/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
  149. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +7 -7
  150. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +1 -1
  151. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -3
  152. package/dist/prod/packages/@ember/-internals/utils/index.js +2 -2
  153. package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -1
  154. package/dist/prod/packages/@ember/-internals/views/lib/system/event_dispatcher.js +2 -2
  155. package/dist/prod/packages/@ember/-internals/views/lib/system/utils.js +1 -1
  156. package/dist/prod/packages/@ember/-internals/views/lib/views/core_view.js +1 -1
  157. package/dist/prod/packages/@ember/application/index.js +5 -6
  158. package/dist/prod/packages/@ember/application/instance.js +4 -4
  159. package/dist/prod/packages/@ember/application/namespace.js +3 -3
  160. package/dist/prod/packages/@ember/array/index.js +11 -58
  161. package/dist/prod/packages/@ember/array/lib/is-array.js +64 -0
  162. package/dist/prod/packages/@ember/array/proxy.js +8 -8
  163. package/dist/prod/packages/@ember/component/helper.js +1 -1
  164. package/dist/prod/packages/@ember/component/index.js +21 -15
  165. package/dist/prod/packages/@ember/component/template-only.js +1 -1
  166. package/dist/prod/packages/@ember/controller/index.js +3 -3
  167. package/dist/prod/packages/@ember/debug/data-adapter.js +3 -3
  168. package/dist/prod/packages/@ember/engine/index.js +5 -5
  169. package/dist/prod/packages/@ember/engine/instance.js +2 -2
  170. package/dist/prod/packages/@ember/helper/index.js +1132 -98
  171. package/dist/prod/packages/@ember/modifier/index.js +2 -2
  172. package/dist/prod/packages/@ember/modifier/on.js +1 -1
  173. package/dist/prod/packages/@ember/object/-internals.js +2 -2
  174. package/dist/prod/packages/@ember/object/compat.js +3 -35
  175. package/dist/prod/packages/@ember/object/computed.js +2 -2
  176. package/dist/prod/packages/@ember/object/core.js +7 -7
  177. package/dist/prod/packages/@ember/object/evented.js +2 -2
  178. package/dist/prod/packages/@ember/object/events.js +1 -1
  179. package/dist/prod/packages/@ember/object/index.js +30 -25
  180. package/dist/prod/packages/@ember/object/internals.js +2 -2
  181. package/dist/prod/packages/@ember/object/lib/computed/computed_macros.js +4 -4
  182. package/dist/prod/packages/@ember/object/lib/computed/reduce_computed_macros.js +2 -2
  183. package/dist/prod/packages/@ember/object/mixin.js +6 -6
  184. package/dist/prod/packages/@ember/object/observable.js +7 -7
  185. package/dist/prod/packages/@ember/object/observers.js +1 -1
  186. package/dist/prod/packages/@ember/object/promise-proxy-mixin.js +3 -3
  187. package/dist/prod/packages/@ember/reactive/collections.js +153 -153
  188. package/dist/prod/packages/@ember/renderer/index.js +1 -1
  189. package/dist/prod/packages/@ember/routing/index.js +18 -34
  190. package/dist/prod/packages/@ember/routing/lib/generate_controller.js +1 -2
  191. package/dist/prod/packages/@ember/routing/lib/routing-service.js +4 -4
  192. package/dist/prod/packages/@ember/routing/lib/utils.js +3 -3
  193. package/dist/prod/packages/@ember/routing/route.js +12 -12
  194. package/dist/prod/packages/@ember/routing/router-service.js +24 -17
  195. package/dist/prod/packages/@ember/routing/router.js +5 -5
  196. package/dist/prod/packages/@ember/runloop/index.js +1 -1
  197. package/dist/prod/packages/@ember/service/index.js +1 -1
  198. package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +3 -3
  199. package/dist/prod/packages/@ember/template-compiler/lib/template.js +2 -2
  200. package/dist/prod/packages/@ember/template-factory/index.js +1 -1
  201. package/dist/prod/packages/@ember/utils/lib/is_empty.js +1 -1
  202. package/dist/prod/packages/@glimmer/encoder/index.js +1 -1
  203. package/dist/prod/packages/@glimmer/manager/index.js +4 -4
  204. package/dist/prod/packages/@glimmer/node/index.js +3 -3
  205. package/dist/prod/packages/@glimmer/opcode-compiler/index.js +2 -2
  206. package/dist/prod/packages/@glimmer/program/index.js +10 -10
  207. package/dist/prod/packages/@glimmer/reference/index.js +5 -5
  208. package/dist/prod/packages/@glimmer/runtime/index.js +13 -13
  209. package/dist/prod/packages/@glimmer/tracking/index.js +2 -2
  210. package/dist/prod/packages/@glimmer/tracking/primitives/cache/index.js +1 -1
  211. package/dist/prod/packages/@glimmer/util/index.js +4 -4
  212. package/dist/prod/packages/@glimmer/validator/index.js +3 -3
  213. package/dist/prod/packages/@glimmer/vm/index.js +2 -2
  214. package/dist/prod/packages/ember/version.js +1 -1
  215. package/dist/prod/packages/ember-template-compiler/index.js +4 -4
  216. package/dist/prod/packages/router_js/index.js +2 -2
  217. package/dist/prod/packages/rsvp/index.js +1 -1
  218. package/dist/prod/packages/shared-chunks/{alias-DsIh-16z.js → alias-Bod6qdNp.js} +7 -7
  219. package/dist/prod/packages/shared-chunks/{api-CGZbGcvX.js → api-B_poQGXS.js} +6 -6
  220. package/dist/prod/packages/shared-chunks/{element-builder-CZePCkbA.js → api-CQexacBn.js} +139 -120
  221. package/dist/prod/packages/shared-chunks/{api-DOLN_cR2.js → api-DlJKfm_f.js} +3 -3
  222. package/dist/prod/packages/shared-chunks/{args-proxy-CaXVcI8G.js → args-proxy-CCoFtYLS.js} +2 -2
  223. package/dist/prod/packages/shared-chunks/{debug-render-tree-CYENUjgX.js → arguments-BzAkZVBa.js} +198 -198
  224. package/dist/prod/packages/shared-chunks/{array-DYFI95FA.js → array-BzReKMeW.js} +3 -3
  225. package/dist/prod/packages/shared-chunks/{array-utils-BEaSKdEb.js → array-utils-CZQxrdD3.js} +1 -1
  226. package/dist/prod/packages/shared-chunks/{cache-CG6_L9db.js → cache-CofLhaS4.js} +1 -2
  227. package/dist/prod/packages/shared-chunks/{capabilities-_5e35539.js → capabilities-BuVYh-vx.js} +1 -1
  228. package/dist/prod/packages/shared-chunks/{chain-tags-BP0V2LnZ.js → chain-tags-B2J7DsxO.js} +4 -4
  229. package/dist/prod/packages/shared-chunks/{collections-By4M3cTy.js → collections-GpG8lT2g.js} +10 -10
  230. package/dist/prod/packages/shared-chunks/{compiler-DQmEjFyx.js → compiler-lBSssiWp.js} +2 -2
  231. package/dist/prod/packages/shared-chunks/{computed-D6MVTTDd.js → computed-DtIStxvq.js} +6 -6
  232. package/dist/prod/packages/shared-chunks/{curly-DCYSwLtz.js → curly-IY06zACp.js} +7 -7
  233. package/dist/prod/packages/shared-chunks/{curried-Cnjy9_ug.js → curried-BZnYakIg.js} +1 -1
  234. package/dist/prod/packages/shared-chunks/{decorator-B8Lpq40g.js → decorator-9ikVwsjY.js} +1 -1
  235. package/dist/prod/packages/shared-chunks/{element-CT5H5uxF.js → element-BmBjPjkQ.js} +3 -25
  236. package/dist/prod/packages/shared-chunks/{events-C7aYCy0N.js → events-DYrYz3V8.js} +1 -1
  237. package/dist/{dev/packages/shared-chunks/flags-B9qxc-pB.js → prod/packages/shared-chunks/flags-BZxHQ0yn.js} +1 -1
  238. package/dist/prod/packages/shared-chunks/get-DpBAICuC.js +40 -0
  239. package/dist/{dev/packages/shared-chunks/get_properties-B203vZpz.js → prod/packages/shared-chunks/get_properties-Dg3xFpiS.js} +1 -1
  240. package/dist/prod/packages/shared-chunks/{guid-PO2v9BaN.js → guid-Cbq2sNV_.js} +1 -1
  241. package/dist/prod/packages/shared-chunks/hash-D31JO-BD.js +57 -0
  242. package/dist/prod/packages/shared-chunks/{helper-CCK8Ef0x.js → helper-Df5MpdcT.js} +21 -9
  243. package/dist/prod/packages/shared-chunks/{index-DabsnYit.js → index-BQaaoknf.js} +301 -198
  244. package/dist/prod/packages/shared-chunks/{index-D-rcNBLp.js → index-Bf53M8eS.js} +9 -8
  245. package/dist/prod/packages/shared-chunks/{injected_property-COGiYHKc.js → injected_property-Y-FadDej.js} +2 -2
  246. package/dist/prod/packages/shared-chunks/{internal-BEJC2IJ-.js → internal-BQ7zHrqS.js} +4 -4
  247. package/dist/prod/packages/shared-chunks/{internal-helper-CoxiRnnb.js → internal-helper-Bz1lpDXr.js} +1 -1
  248. package/dist/prod/packages/shared-chunks/{invoke-D_jsLbsj.js → invoke-DhQ5QRp2.js} +3 -3
  249. package/dist/prod/packages/shared-chunks/{libraries-Bs3H8iwC.js → libraries-DBql0hdn.js} +2 -2
  250. package/dist/prod/packages/shared-chunks/{meta-Ce6-qROq.js → meta-BJtIZDir.js} +1 -1
  251. package/dist/{dev/packages/shared-chunks/namespace_search-TFdmjK_a.js → prod/packages/shared-chunks/namespace_search-BfvzEQzN.js} +1 -1
  252. package/dist/prod/packages/shared-chunks/{normalize-Bx4H3NjB.js → normalize-C_IStty9.js} +2 -2
  253. package/dist/prod/packages/shared-chunks/{or-sYlRiUn_.js → not-Bm2-x-jD.js} +28 -28
  254. package/dist/prod/packages/shared-chunks/{observers-Ci31SE36.js → observers-BmobpXAF.js} +5 -5
  255. package/dist/prod/packages/shared-chunks/{on-Dgmychhk.js → on-8aS8t_5D.js} +29 -18
  256. package/dist/{dev/packages/shared-chunks/program-CPXeXWVB.js → prod/packages/shared-chunks/program-BAh__OXZ.js} +3 -3
  257. package/dist/prod/packages/shared-chunks/{program-context-DmI53TzJ.js → program-context-COSioH46.js} +5 -4
  258. package/dist/prod/packages/shared-chunks/{property_get-Sw0SicEZ.js → property_get-DAKgbeJX.js} +2 -2
  259. package/dist/prod/packages/shared-chunks/{property_set-SHEIPMUG.js → property_set-BaQJdVfS.js} +3 -3
  260. package/dist/prod/packages/shared-chunks/{reference-D2agTt1V.js → reference-CG0yPgLy.js} +3 -3
  261. package/dist/prod/packages/shared-chunks/{registers-Buvdhhxx.js → registers-C_W2qYHJ.js} +1 -1
  262. package/dist/prod/packages/shared-chunks/{rehydrate-builder-B7MtrWip.js → rehydrate-builder-Blt1x9MP.js} +4 -4
  263. package/dist/prod/packages/shared-chunks/{render-B790-vbk.js → render-Dx7lr1hR.js} +94 -94
  264. package/dist/prod/packages/shared-chunks/{rsvp-C6j8G1D1.js → rsvp-aLN_pQtn.js} +4 -4
  265. package/dist/prod/packages/shared-chunks/{serialize-builder-kEyOKbzp.js → serialize-builder-BvAXYHTr.js} +2 -2
  266. package/dist/prod/packages/shared-chunks/{set_properties-CcLLHg1w.js → set_properties-Qxhw4qzw.js} +2 -2
  267. package/dist/prod/packages/shared-chunks/{setup-registry-D14I0iDX.js → setup-registry-DMAzVcVn.js} +18 -18
  268. package/dist/{dev/packages/shared-chunks/simple-cast-BXTrayoV.js → prod/packages/shared-chunks/simple-cast-DCvJLSin.js} +1 -1
  269. package/dist/{dev/packages/shared-chunks/super-D4qkU4uq.js → prod/packages/shared-chunks/super-BBBjgF69.js} +1 -1
  270. package/dist/{dev/packages/shared-chunks/syscall-ops-nrBHMOTp.js → prod/packages/shared-chunks/syscall-ops-CN7STuUn.js} +1 -1
  271. package/dist/prod/packages/shared-chunks/{template-B0Apv9g2.js → template-BRrQR6KS.js} +1 -1
  272. package/dist/prod/packages/shared-chunks/{template-only-CP0NT7ce.js → template-only-DKNcKM5b.js} +2 -4
  273. package/dist/prod/packages/shared-chunks/{textarea-B_JYBuE8.js → textarea-CQmTzSKe.js} +13 -29
  274. package/dist/prod/packages/shared-chunks/{tracked-CXcapuAm.js → tracked-B9380JtC.js} +5 -5
  275. package/dist/prod/packages/shared-chunks/{tracked-data-DNDzhYXf.js → tracked-data-CHq42QHb.js} +2 -2
  276. package/dist/prod/packages/shared-chunks/{unique-id-Hn8Qp4dS.js → unique-id-BJb1p8EG.js} +2 -6
  277. package/dist/prod/packages/shared-chunks/{unrecognized-url-error-ClNyMFJt.js → unrecognized-url-error-DgXBAzKl.js} +2 -2
  278. package/dist/{dev/packages/shared-chunks/vm-ops-5QCUIRx4.js → prod/packages/shared-chunks/vm-ops-ImHv0Wtg.js} +1 -1
  279. package/docs/data.json +1435 -1617
  280. package/package.json +6 -7
  281. package/types/stable/@ember/-internals/glimmer/index.d.ts +24 -353
  282. package/types/stable/@ember/-internals/glimmer/lib/component-managers/mount.d.ts +1 -1
  283. package/types/stable/@ember/-internals/glimmer/lib/component-managers/outlet.d.ts +1 -1
  284. package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +9 -3
  285. package/types/stable/@ember/-internals/glimmer/lib/glimmer-tracking-docs.d.ts +12 -12
  286. package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +18 -6
  287. package/types/stable/@ember/-internals/glimmer/lib/helpers/each-in.d.ts +183 -72
  288. package/types/stable/@ember/-internals/glimmer/lib/helpers/element.d.ts +0 -22
  289. package/types/stable/@ember/-internals/glimmer/lib/helpers/mut.d.ts +25 -55
  290. package/types/stable/@ember/-internals/glimmer/lib/helpers/readonly.d.ts +7 -9
  291. package/types/stable/@ember/-internals/glimmer/lib/helpers/unbound.d.ts +6 -2
  292. package/types/stable/@ember/-internals/glimmer/lib/helpers/unique-id.d.ts +0 -3
  293. package/types/stable/@ember/-internals/glimmer/lib/renderer.d.ts +1 -2
  294. package/types/stable/@ember/-internals/glimmer/lib/syntax/mount.d.ts +18 -12
  295. package/types/stable/@ember/-internals/glimmer/lib/syntax/outlet.d.ts +23 -11
  296. package/types/stable/@ember/-internals/runtime/lib/mixins/target_action_support.d.ts +1 -1
  297. package/types/stable/@ember/array/index.d.ts +6 -29
  298. package/types/stable/@ember/array/lib/is-array.d.ts +35 -0
  299. package/types/stable/@ember/component/template-only.d.ts +1 -3
  300. package/types/stable/@ember/controller/index.d.ts +1 -1
  301. package/types/stable/@ember/helper/index.d.ts +1111 -90
  302. package/types/stable/@ember/object/compat.d.ts +0 -32
  303. package/types/stable/@ember/object/index.d.ts +4 -3
  304. package/types/stable/@ember/object/observable.d.ts +4 -0
  305. package/types/stable/@ember/reactive/collections.d.ts +0 -6
  306. package/types/stable/@ember/routing/lib/generate_controller.d.ts +1 -1
  307. package/types/stable/@ember/routing/route.d.ts +2 -2
  308. package/types/stable/@ember/routing/router-service.d.ts +20 -12
  309. package/types/stable/@glimmer/runtime/lib/component/template-only.d.ts +0 -2
  310. package/types/stable/@glimmer/runtime/lib/dom/sanitized-values.d.ts +2 -2
  311. package/types/stable/@glimmer/runtime/lib/helpers/array.d.ts +0 -33
  312. package/types/stable/@glimmer/runtime/lib/helpers/concat.d.ts +0 -20
  313. package/types/stable/@glimmer/runtime/lib/helpers/fn.d.ts +0 -64
  314. package/types/stable/@glimmer/runtime/lib/helpers/get.d.ts +0 -77
  315. package/types/stable/@glimmer/runtime/lib/helpers/hash.d.ts +0 -36
  316. package/types/stable/@glimmer/syntax/lib/get-template-locals.d.ts +1 -1
  317. package/types/stable/@glimmer/tracking/index.d.ts +12 -12
  318. package/types/stable/index.d.ts +1 -14
  319. package/dist/dev/packages/shared-chunks/get-CO3EIWsm.js +0 -138
  320. package/dist/dev/packages/shared-chunks/hash-2-93qikL.js +0 -192
  321. package/dist/prod/packages/shared-chunks/get-tlL23wmp.js +0 -138
  322. package/dist/prod/packages/shared-chunks/hash-C6IoC4eR.js +0 -192
  323. package/types/stable/@ember/-internals/glimmer/lib/helpers/array.d.ts +0 -41
  324. package/types/stable/@ember/-internals/glimmer/lib/helpers/component.d.ts +0 -149
  325. package/types/stable/@ember/-internals/glimmer/lib/helpers/concat.d.ts +0 -28
  326. package/types/stable/@ember/-internals/glimmer/lib/helpers/fn.d.ts +0 -73
  327. package/types/stable/@ember/-internals/glimmer/lib/helpers/get.d.ts +0 -100
  328. package/types/stable/@ember/-internals/glimmer/lib/helpers/hash.d.ts +0 -44
  329. package/types/stable/@ember/-internals/glimmer/lib/helpers/helper.d.ts +0 -43
  330. package/types/stable/@ember/-internals/glimmer/lib/helpers/if-unless.d.ts +0 -182
  331. package/types/stable/@ember/-internals/glimmer/lib/helpers/log.d.ts +0 -19
  332. package/types/stable/@ember/-internals/glimmer/lib/helpers/modifier.d.ts +0 -42
  333. package/types/stable/@ember/-internals/glimmer/lib/helpers/page-title.d.ts +0 -20
  334. package/types/stable/@ember/-internals/glimmer/lib/modifiers/on.d.ts +0 -95
  335. package/types/stable/@ember/-internals/glimmer/lib/syntax/in-element.d.ts +0 -47
  336. package/types/stable/@ember/-internals/glimmer/lib/syntax/let.d.ts +0 -55
@@ -36,38 +36,6 @@ declare module '@ember/object/compat' {
36
36
  }
37
37
  ```
38
38
 
39
- Classic Example:
40
-
41
- ```js
42
- import { tracked } from '@glimmer/tracking';
43
- import { dependentKeyCompat } from '@ember/object/compat';
44
- import EmberObject, { computed, observer, set } from '@ember/object';
45
-
46
- const Person = EmberObject.extend({
47
- firstName: tracked(),
48
- lastName: tracked(),
49
-
50
- fullName: dependentKeyCompat(function() {
51
- return `${this.firstName} ${this.lastName}`;
52
- }),
53
- });
54
-
55
- const Profile = EmberObject.extend({
56
- person: null,
57
-
58
- helloMessage: computed('person.fullName', function() {
59
- return `Hello, ${this.person.fullName}!`;
60
- }),
61
-
62
- onNameUpdated: observer('person.fullName', function() {
63
- console.log('person name updated!');
64
- }),
65
- });
66
- ```
67
-
68
- `dependentKeyCompat()` can receive a getter function or an object containing
69
- `get`/`set` methods when used in classic classes, like computed properties.
70
-
71
39
  In general, only properties which you _expect_ to be watched by older,
72
40
  untracked clases should be marked as dependency compatible. The decorator is
73
41
  meant as an interop layer for parts of Ember's older classic APIs, and should
@@ -55,9 +55,10 @@ declare module '@ember/object' {
55
55
  });
56
56
  ```
57
57
 
58
- Also available as `Function.prototype.observes` if prototype extensions are
59
- enabled.
60
-
58
+ While observers are still supported, there are [plans to deprecate them](https://github.com/emberjs/rfcs/pull/1115)
59
+ See the [in-progress deprecation guide](https://github.com/ember-learn/deprecation-app/pull/1407)
60
+ for guidance on how to avoid using observers.
61
+
61
62
  @method observer
62
63
  @for @ember/object
63
64
  @param {String} propertyNames*
@@ -307,6 +307,10 @@ declare module '@ember/object/observable' {
307
307
  only a sender and key value as parameters or, if you aren't interested in
308
308
  any of these values, to write an observer that has no parameters at all.
309
309
 
310
+ While observers are still supported, there are [plans to deprecate them](https://github.com/emberjs/rfcs/pull/1115)
311
+ See the [in-progress deprecation guide](https://github.com/ember-learn/deprecation-app/pull/1407)
312
+ for guidance on how to avoid using observers.
313
+
310
314
  @method addObserver
311
315
  @param {String} key The key to observe
312
316
  @param {Object} target The target object to invoke
@@ -16,7 +16,6 @@ declare module '@ember/reactive/collections' {
16
16
  *
17
17
  * See [MDN for more information](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
18
18
  *
19
- * @example
20
19
  * ```javascript
21
20
  * import { trackedArray } from '@ember/reactive/collections';
22
21
  * import { on } from '@ember/modifier';
@@ -58,7 +57,6 @@ declare module '@ember/reactive/collections' {
58
57
  *
59
58
  * See [MDN for more information](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
60
59
  *
61
- * @example
62
60
  * ```gjs
63
61
  * import { trackedObject } from '@ember/reactive/collections';
64
62
  * import { on } from '@ember/modifier';
@@ -100,7 +98,6 @@ declare module '@ember/reactive/collections' {
100
98
  *
101
99
  * See [MDN for more information](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set)
102
100
  *
103
- * @example
104
101
  * ```gjs
105
102
  * import { trackedSet } from '@ember/reactive/collections';
106
103
  * import { on } from '@ember/modifier';
@@ -146,7 +143,6 @@ declare module '@ember/reactive/collections' {
146
143
  *
147
144
  * See [MDN for more information](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet)
148
145
  *
149
- * @example
150
146
  * ```gjs
151
147
  * import { trackedWeakSet } from '@ember/reactive/collections';
152
148
  * import { on } from '@ember/modifier';
@@ -183,7 +179,6 @@ declare module '@ember/reactive/collections' {
183
179
  *
184
180
  * See [MDN for more information](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)
185
181
  *
186
- * @example
187
182
  * ```gjs
188
183
  * import { trackedMap } from '@ember/reactive/collections';
189
184
  * import { on } from '@ember/modifier';
@@ -229,7 +224,6 @@ declare module '@ember/reactive/collections' {
229
224
  *
230
225
  * See [MDN for more information](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap)
231
226
  *
232
- * @example
233
227
  * ```gjs
234
228
  * import { trackedWeakMap } from '@ember/reactive/collections';
235
229
  * import { on } from '@ember/modifier';
@@ -1,6 +1,6 @@
1
1
  declare module '@ember/routing/lib/generate_controller' {
2
2
  import type { InternalFactory, default as Owner } from "@ember/-internals/owner";
3
- import Controller from "@ember/controller";
3
+ import type Controller from "@ember/controller";
4
4
  /**
5
5
  @module @ember/routing
6
6
  */
@@ -821,7 +821,7 @@ declare module '@ember/routing/route' {
821
821
 
822
822
  Note that for routes with dynamic segments, this hook is not always
823
823
  executed. If the route is entered through a transition (e.g. when
824
- using the `link-to` Handlebars helper or the `transitionTo` method
824
+ using the `link-to` helper or the `transitionTo` method
825
825
  of routes), and a model context is already provided this hook
826
826
  is not called.
827
827
 
@@ -948,7 +948,7 @@ declare module '@ember/routing/route' {
948
948
  the framework will use it.
949
949
  If it is not defined, a basic `Controller` instance would be used.
950
950
 
951
- @example Behavior of a basic Controller
951
+ Example Behavior of a basic Controller
952
952
 
953
953
  ```app/routes/post.js
954
954
  import Route from '@ember/routing/route';
@@ -17,7 +17,7 @@ declare module '@ember/routing/router-service' {
17
17
  In this example, the Router service is injected into a component to initiate a transition
18
18
  to a dedicated route:
19
19
 
20
- ```app/components/example.js
20
+ ```gjs {data-filename="app/components/example.gjs"}
21
21
  import Component from '@glimmer/component';
22
22
  import { action } from '@ember/object';
23
23
  import { service } from '@ember/service';
@@ -58,7 +58,7 @@ declare module '@ember/routing/router-service' {
58
58
  specific model from a Component in the first action, and in the second we trigger
59
59
  a query-params only transition.
60
60
 
61
- ```app/components/example.js
61
+ ```gjs {data-filename="app/components/example.gjs"}
62
62
  import Component from '@glimmer/component';
63
63
  import { action } from '@ember/object';
64
64
  import { service } from '@ember/service';
@@ -137,11 +137,15 @@ declare module '@ember/routing/router-service' {
137
137
  In this example, the URL for the `author.books` route for a given author
138
138
  is copied to the clipboard.
139
139
 
140
- ```app/templates/application.hbs
141
- <CopyLink @author={{hash id="tomster" name="Tomster"}} />
140
+ ```gjs {data-filename="app/templates/application.gjs"}
141
+ import CopyLink from '../components/copy-link';
142
+
143
+ <template>
144
+ <CopyLink @author={{hash id="tomster" name="Tomster"}} />
145
+ </template>
142
146
  ```
143
147
 
144
- ```app/components/copy-link.js
148
+ ```gjs {data-filename="app/components/copy-link.gjs"}
145
149
  import Component from '@glimmer/component';
146
150
  import { service } from '@ember/service';
147
151
  import { action } from '@ember/object';
@@ -164,11 +168,15 @@ declare module '@ember/routing/router-service' {
164
168
  Just like with `transitionTo` and `replaceWith`, `urlFor` can also handle
165
169
  query parameters.
166
170
 
167
- ```app/templates/application.hbs
168
- <CopyLink @author={{hash id="tomster" name="Tomster"}} />
171
+ ```gjs {data-filename="app/templates/application.gjs"}
172
+ import CopyLink from '../components/copy-link';
173
+
174
+ <template>
175
+ <CopyLink @author={{hash id="tomster" name="Tomster"}} />
176
+ </template>
169
177
  ```
170
178
 
171
- ```app/components/copy-link.js
179
+ ```gjs {data-filename="app/components/copy-link.gjs"}
172
180
  import Component from '@glimmer/component';
173
181
  import { service } from '@ember/service';
174
182
  import { action } from '@ember/object';
@@ -206,7 +214,7 @@ declare module '@ember/routing/router-service' {
206
214
 
207
215
  In the following example, `isActive` will return `true` if the current route is `/posts`.
208
216
 
209
- ```app/components/posts.js
217
+ ```gjs {data-filename="app/components/posts.gjs"}
210
218
  import Component from '@glimmer/component';
211
219
  import { service } from '@ember/service';
212
220
 
@@ -222,7 +230,7 @@ declare module '@ember/routing/router-service' {
222
230
  The next example includes a dynamic segment, and will return `true` if the current route is `/posts/1`,
223
231
  assuming the post has an id of 1:
224
232
 
225
- ```app/components/posts.js
233
+ ```gjs {data-filename="app/components/posts.gjs"}
226
234
  import Component from '@glimmer/component';
227
235
  import { service } from '@ember/service';
228
236
 
@@ -257,7 +265,7 @@ declare module '@ember/routing/router-service' {
257
265
  In the following example `recognize` is used to verify if a path belongs to our
258
266
  application before transitioning to it.
259
267
 
260
- ```
268
+ ```js
261
269
  import Component from '@ember/component';
262
270
  import { service } from '@ember/service';
263
271
 
@@ -568,7 +576,7 @@ declare module '@ember/routing/router-service' {
568
576
  and doesn't change the active route).
569
577
 
570
578
  Usage example:
571
- ```app/components/header.js
579
+ ```gjs {data-filename="app/components/header.gjs"}
572
580
  import Component from '@glimmer/component';
573
581
  import { service } from '@ember/service';
574
582
  import { notEmpty } from '@ember/object/computed';
@@ -25,8 +25,6 @@ declare module '@glimmer/runtime/lib/component/template-only' {
25
25
  to use these semantics for its templates but cannot be certain it will only be consumed by applications that have enabled the
26
26
  `template-only-glimmer-components` optional feature.
27
27
 
28
- @example
29
-
30
28
  ```js
31
29
  import { templateOnlyComponent } from '@glimmer/runtime';
32
30
 
@@ -1,5 +1,5 @@
1
1
  declare module '@glimmer/runtime/lib/dom/sanitized-values' {
2
- import type { SimpleElement } from "@glimmer/interfaces";
3
- export function requiresSanitization(tagName: string, attribute: string): boolean;
2
+ import type { Nullable, SimpleElement } from "@glimmer/interfaces";
3
+ export function requiresSanitization(tagName: Nullable<string>, attribute: string): boolean;
4
4
  export function sanitizeAttributeValue(element: SimpleElement, attribute: string, value: unknown): unknown;
5
5
  }
@@ -1,36 +1,3 @@
1
1
  declare module '@glimmer/runtime/lib/helpers/array' {
2
- /**
3
- Use the `{{array}}` helper to create an array to pass as an option to your
4
- components.
5
-
6
- ```handlebars
7
- <MyComponent @people={{array
8
- 'Tom Dale'
9
- 'Yehuda Katz'
10
- this.myOtherPerson}}
11
- />
12
- ```
13
- or
14
- ```handlebars
15
- {{my-component people=(array
16
- 'Tom Dale'
17
- 'Yehuda Katz'
18
- this.myOtherPerson)
19
- }}
20
- ```
21
-
22
- Would result in an object such as:
23
-
24
- ```js
25
- ['Tom Dale', 'Yehuda Katz', this.get('myOtherPerson')]
26
- ```
27
-
28
- Where the 3rd item in the array is bound to updates of the `myOtherPerson` property.
29
-
30
- @method array
31
- @param {Array} options
32
- @return {Array} Array
33
- @public
34
- */
35
2
  export const array: object;
36
3
  }
@@ -1,23 +1,3 @@
1
1
  declare module '@glimmer/runtime/lib/helpers/concat' {
2
- /**
3
- Concatenates the given arguments into a string.
4
-
5
- Example:
6
-
7
- ```handlebars
8
- {{some-component name=(concat firstName " " lastName)}}
9
-
10
- {{! would pass name="<first name value> <last name value>" to the component}}
11
- ```
12
-
13
- or for angle bracket invocation, you actually don't need concat at all.
14
-
15
- ```handlebars
16
- <SomeComponent @name="{{firstName}} {{lastName}}" />
17
- ```
18
-
19
- @public
20
- @method concat
21
- */
22
2
  export const concat: object;
23
3
  }
@@ -1,67 +1,3 @@
1
1
  declare module '@glimmer/runtime/lib/helpers/fn' {
2
- /**
3
- The `fn` helper allows you to ensure a function that you are passing off
4
- to another component, helper, or modifier has access to arguments that are
5
- available in the template.
6
-
7
- For example, if you have an `each` helper looping over a number of items, you
8
- may need to pass a function that expects to receive the item as an argument
9
- to a component invoked within the loop. Here's how you could use the `fn`
10
- helper to pass both the function and its arguments together:
11
-
12
- ```app/templates/components/items-listing.hbs
13
- {{#each @items as |item|}}
14
- <DisplayItem @item=item @select={{fn this.handleSelected item}} />
15
- {{/each}}
16
- ```
17
-
18
- ```app/components/items-list.js
19
- import Component from '@glimmer/component';
20
- import { action } from '@ember/object';
21
-
22
- export default class ItemsList extends Component {
23
- handleSelected = (item) => {
24
- // ...snip...
25
- }
26
- }
27
- ```
28
-
29
- In this case the `display-item` component will receive a normal function
30
- that it can invoke. When it invokes the function, the `handleSelected`
31
- function will receive the `item` and any arguments passed, thanks to the
32
- `fn` helper.
33
-
34
- Let's take look at what that means in a couple circumstances:
35
-
36
- - When invoked as `this.args.select()` the `handleSelected` function will
37
- receive the `item` from the loop as its first and only argument.
38
- - When invoked as `this.args.select('foo')` the `handleSelected` function
39
- will receive the `item` from the loop as its first argument and the
40
- string `'foo'` as its second argument.
41
-
42
- In the example above, we used an arrow function to ensure that
43
- `handleSelected` is properly bound to the `items-list`, but let's explore what
44
- happens if we left out the arrow function:
45
-
46
- ```app/components/items-list.js
47
- import Component from '@glimmer/component';
48
-
49
- export default class ItemsList extends Component {
50
- handleSelected(item) {
51
- // ...snip...
52
- }
53
- }
54
- ```
55
-
56
- In this example, when `handleSelected` is invoked inside the `display-item`
57
- component, it will **not** have access to the component instance. In other
58
- words, it will have no `this` context, so please make sure your functions
59
- are bound (via an arrow function or other means) before passing into `fn`!
60
-
61
- See also [partial application](https://en.wikipedia.org/wiki/Partial_application).
62
-
63
- @method fn
64
- @public
65
- */
66
2
  export const fn: object;
67
3
  }
@@ -1,80 +1,3 @@
1
1
  declare module '@glimmer/runtime/lib/helpers/get' {
2
- /**
3
- Dynamically look up a property on an object. The second argument to `{{get}}`
4
- should have a string value, although it can be bound.
5
-
6
- For example, these two usages are equivalent:
7
-
8
- ```app/components/developer-detail.js
9
- import Component from '@glimmer/component';
10
- import { tracked } from '@glimmer/tracking';
11
-
12
- export default class extends Component {
13
- @tracked developer = {
14
- name: "Sandi Metz",
15
- language: "Ruby"
16
- }
17
- }
18
- ```
19
-
20
- ```handlebars
21
- {{this.developer.name}}
22
- {{get this.developer "name"}}
23
- ```
24
-
25
- If there were several facts about a person, the `{{get}}` helper can dynamically
26
- pick one:
27
-
28
- ```app/templates/application.hbs
29
- <DeveloperDetail @factName="language" />
30
- ```
31
-
32
- ```handlebars
33
- {{get this.developer @factName}}
34
- ```
35
-
36
- For a more complex example, this template would allow the user to switch
37
- between showing the user's height and weight with a click:
38
-
39
- ```app/components/developer-detail.js
40
- import Component from '@glimmer/component';
41
- import { tracked } from '@glimmer/tracking';
42
-
43
- export default class extends Component {
44
- @tracked developer = {
45
- name: "Sandi Metz",
46
- language: "Ruby"
47
- }
48
-
49
- @tracked currentFact = 'name'
50
-
51
- showFact = (fact) => {
52
- this.currentFact = fact;
53
- }
54
- }
55
- ```
56
-
57
- ```app/components/developer-detail.js
58
- {{get this.developer this.currentFact}}
59
-
60
- <button {{on 'click' (fn this.showFact "name")}}>Show name</button>
61
- <button {{on 'click' (fn this.showFact "language")}}>Show language</button>
62
- ```
63
-
64
- The `{{get}}` helper can also respect mutable values itself. For example:
65
-
66
- ```app/components/developer-detail.js
67
- <Input @value={{mut (get this.person this.currentFact)}} />
68
-
69
- <button {{on 'click' (fn this.showFact "name")}}>Show name</button>
70
- <button {{on 'click' (fn this.showFact "language")}}>Show language</button>
71
- ```
72
-
73
- Would allow the user to swap what fact is being displayed, and also edit
74
- that fact via a two-way mutable binding.
75
-
76
- @public
77
- @method get
78
- */
79
2
  export const get: object;
80
3
  }
@@ -1,39 +1,3 @@
1
1
  declare module '@glimmer/runtime/lib/helpers/hash' {
2
- /**
3
- Use the `{{hash}}` helper to create a hash to pass as an option to your
4
- components. This is specially useful for contextual components where you can
5
- just yield a hash:
6
-
7
- ```handlebars
8
- {{yield (hash
9
- name='Sarah'
10
- title=office
11
- )}}
12
- ```
13
-
14
- Would result in an object such as:
15
-
16
- ```js
17
- { name: 'Sarah', title: this.get('office') }
18
- ```
19
-
20
- Where the `title` is bound to updates of the `office` property.
21
-
22
- Note that the hash is an empty object with no prototype chain, therefore
23
- common methods like `toString` are not available in the resulting hash.
24
- If you need to use such a method, you can use the `call` or `apply`
25
- approach:
26
-
27
- ```js
28
- function toString(obj) {
29
- return Object.prototype.toString.apply(obj);
30
- }
31
- ```
32
-
33
- @method hash
34
- @param {Object} options
35
- @return {Object} Hash
36
- @public
37
- */
38
2
  export const hash: object;
39
3
  }
@@ -4,7 +4,7 @@ declare module '@glimmer/syntax/lib/get-template-locals' {
4
4
  includeHtmlElements?: boolean;
5
5
  }
6
6
  /**
7
- * Parses and traverses a given handlebars html template to extract all template locals
7
+ * Parses and traverses a given template to extract all template locals
8
8
  * referenced that could possible come from the parent scope. Can exclude known keywords
9
9
  * optionally.
10
10
  */
@@ -20,17 +20,7 @@ declare module '@glimmer/tracking' {
20
20
  property changes, any templates that used that property, directly or
21
21
  indirectly, will rerender. For instance, consider this component:
22
22
 
23
- ```handlebars
24
- <div>Count: {{this.count}}</div>
25
- <div>Times Ten: {{this.timesTen}}</div>
26
- <div>
27
- <button {{on "click" this.plusOne}}>
28
- Plus One
29
- </button>
30
- </div>
31
- ```
32
-
33
- ```javascript
23
+ ```gjs
34
24
  import Component from '@glimmer/component';
35
25
  import { tracked } from '@glimmer/tracking';
36
26
  import { action } from '@ember/object';
@@ -46,6 +36,16 @@ declare module '@glimmer/tracking' {
46
36
  plusOne() {
47
37
  this.count += 1;
48
38
  }
39
+
40
+ <template>
41
+ <div>Count: {{this.count}}</div>
42
+ <div>Times Ten: {{this.timesTen}}</div>
43
+ <div>
44
+ <button {{on "click" this.plusOne}}>
45
+ Plus One
46
+ </button>
47
+ </div>
48
+ </template>
49
49
  }
50
50
  ```
51
51
 
@@ -55,7 +55,7 @@ declare module '@glimmer/tracking' {
55
55
  will cause a rerender when updated - this includes through method calls and
56
56
  other means:
57
57
 
58
- ```javascript
58
+ ```gjs
59
59
  import Component from '@glimmer/component';
60
60
  import { tracked } from '@glimmer/tracking';
61
61
 
@@ -74,30 +74,16 @@
74
74
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/-normalize-class.d.ts" />
75
75
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/-resolve.d.ts" />
76
76
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/-track-array.d.ts" />
77
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/array.d.ts" />
78
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/component.d.ts" />
79
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/concat.d.ts" />
80
77
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/each-in.d.ts" />
81
78
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/element.d.ts" />
82
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/fn.d.ts" />
83
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/get.d.ts" />
84
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/hash.d.ts" />
85
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/helper.d.ts" />
86
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/if-unless.d.ts" />
87
79
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/internal-helper.d.ts" />
88
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/log.d.ts" />
89
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/modifier.d.ts" />
90
80
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/mut.d.ts" />
91
- /// <reference path="./@ember/-internals/glimmer/lib/helpers/page-title.d.ts" />
92
81
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/readonly.d.ts" />
93
82
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/unbound.d.ts" />
94
83
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/unique-id.d.ts" />
95
- /// <reference path="./@ember/-internals/glimmer/lib/modifiers/on.d.ts" />
96
84
  /// <reference path="./@ember/-internals/glimmer/lib/renderer.d.ts" />
97
85
  /// <reference path="./@ember/-internals/glimmer/lib/resolver.d.ts" />
98
86
  /// <reference path="./@ember/-internals/glimmer/lib/setup-registry.d.ts" />
99
- /// <reference path="./@ember/-internals/glimmer/lib/syntax/in-element.d.ts" />
100
- /// <reference path="./@ember/-internals/glimmer/lib/syntax/let.d.ts" />
101
87
  /// <reference path="./@ember/-internals/glimmer/lib/syntax/mount.d.ts" />
102
88
  /// <reference path="./@ember/-internals/glimmer/lib/syntax/outlet.d.ts" />
103
89
  /// <reference path="./@ember/-internals/glimmer/lib/template_registry.d.ts" />
@@ -187,6 +173,7 @@
187
173
  /// <reference path="./@ember/application/namespace.d.ts" />
188
174
  /// <reference path="./@ember/array/-internals.d.ts" />
189
175
  /// <reference path="./@ember/array/index.d.ts" />
176
+ /// <reference path="./@ember/array/lib/is-array.d.ts" />
190
177
  /// <reference path="./@ember/array/lib/make-array.d.ts" />
191
178
  /// <reference path="./@ember/array/make.d.ts" />
192
179
  /// <reference path="./@ember/array/mutable.d.ts" />