ember-source 7.2.0-alpha.4 → 7.3.0-alpha.1

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 (347) 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/deprecations/index.js +10 -0
  6. package/dist/dev/packages/@ember/-internals/glimmer/index.js +11 -11
  7. package/dist/dev/packages/@ember/-internals/metal/index.js +18 -18
  8. package/dist/dev/packages/@ember/-internals/routing/index.js +3 -3
  9. package/dist/dev/packages/@ember/-internals/runtime/index.js +1 -1
  10. package/dist/dev/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
  11. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +8 -8
  12. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +1 -1
  13. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/comparable.js +5 -0
  14. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -3
  15. package/dist/dev/packages/@ember/-internals/utils/index.js +2 -2
  16. package/dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -1
  17. package/dist/dev/packages/@ember/-internals/views/lib/system/event_dispatcher.js +2 -2
  18. package/dist/dev/packages/@ember/-internals/views/lib/system/utils.js +1 -1
  19. package/dist/dev/packages/@ember/-internals/views/lib/views/core_view.js +1 -1
  20. package/dist/dev/packages/@ember/application/index.js +6 -7
  21. package/dist/dev/packages/@ember/application/instance.js +24 -4
  22. package/dist/dev/packages/@ember/application/namespace.js +3 -3
  23. package/dist/dev/packages/@ember/array/index.js +10 -64
  24. package/dist/dev/packages/@ember/array/lib/is-array.js +71 -0
  25. package/dist/dev/packages/@ember/array/proxy.js +8 -8
  26. package/dist/dev/packages/@ember/component/helper.js +321 -1
  27. package/dist/dev/packages/@ember/component/index.js +21 -15
  28. package/dist/dev/packages/@ember/component/template-only.js +1 -1
  29. package/dist/dev/packages/@ember/controller/index.js +3 -3
  30. package/dist/dev/packages/@ember/debug/data-adapter.js +3 -3
  31. package/dist/dev/packages/@ember/debug/index.js +1 -1
  32. package/dist/dev/packages/@ember/engine/index.js +5 -5
  33. package/dist/dev/packages/@ember/engine/instance.js +2 -2
  34. package/dist/dev/packages/@ember/helper/index.js +8 -27
  35. package/dist/dev/packages/@ember/modifier/index.js +2 -2
  36. package/dist/dev/packages/@ember/modifier/on.js +1 -1
  37. package/dist/dev/packages/@ember/object/-internals.js +2 -2
  38. package/dist/dev/packages/@ember/object/compat.js +3 -3
  39. package/dist/dev/packages/@ember/object/computed.js +2 -2
  40. package/dist/dev/packages/@ember/object/core.js +7 -7
  41. package/dist/dev/packages/@ember/object/evented.js +2 -2
  42. package/dist/dev/packages/@ember/object/events.js +1 -1
  43. package/dist/dev/packages/@ember/object/index.js +30 -25
  44. package/dist/dev/packages/@ember/object/internals.js +1 -1
  45. package/dist/dev/packages/@ember/object/lib/computed/computed_macros.js +5 -5
  46. package/dist/dev/packages/@ember/object/lib/computed/reduce_computed_macros.js +3 -3
  47. package/dist/dev/packages/@ember/object/mixin.js +6 -6
  48. package/dist/dev/packages/@ember/object/observable.js +7 -7
  49. package/dist/dev/packages/@ember/object/observers.js +1 -1
  50. package/dist/dev/packages/@ember/object/promise-proxy-mixin.js +3 -3
  51. package/dist/dev/packages/@ember/reactive/collections.js +153 -153
  52. package/dist/dev/packages/@ember/renderer/index.js +1 -1
  53. package/dist/dev/packages/@ember/routing/-internals.js +3 -3
  54. package/dist/dev/packages/@ember/routing/index.js +12 -8
  55. package/dist/dev/packages/@ember/routing/lib/generate_controller.js +2 -3
  56. package/dist/dev/packages/@ember/routing/lib/routing-service.js +5 -6
  57. package/dist/dev/packages/@ember/routing/lib/utils.js +3 -3
  58. package/dist/dev/packages/@ember/routing/route.js +12 -12
  59. package/dist/dev/packages/@ember/routing/router-service.js +25 -19
  60. package/dist/dev/packages/@ember/routing/router.js +5 -5
  61. package/dist/dev/packages/@ember/runloop/index.js +1 -1
  62. package/dist/dev/packages/@ember/service/index.js +1 -1
  63. package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +3 -3
  64. package/dist/dev/packages/@ember/template-compiler/lib/template.js +2 -2
  65. package/dist/dev/packages/@ember/template-factory/index.js +1 -1
  66. package/dist/dev/packages/@ember/utils/lib/compare.js +5 -2
  67. package/dist/dev/packages/@ember/utils/lib/is_empty.js +1 -1
  68. package/dist/dev/packages/@glimmer/encoder/index.js +1 -1
  69. package/dist/dev/packages/@glimmer/manager/index.js +4 -4
  70. package/dist/dev/packages/@glimmer/node/index.js +3 -3
  71. package/dist/dev/packages/@glimmer/opcode-compiler/index.js +2 -2
  72. package/dist/dev/packages/@glimmer/program/index.js +10 -10
  73. package/dist/dev/packages/@glimmer/reference/index.js +5 -5
  74. package/dist/dev/packages/@glimmer/runtime/index.js +13 -13
  75. package/dist/dev/packages/@glimmer/tracking/index.js +2 -2
  76. package/dist/dev/packages/@glimmer/tracking/primitives/cache/index.js +1 -1
  77. package/dist/dev/packages/@glimmer/util/index.js +4 -4
  78. package/dist/dev/packages/@glimmer/validator/index.js +3 -3
  79. package/dist/dev/packages/@glimmer/vm/index.js +2 -2
  80. package/dist/dev/packages/ember/version.js +1 -1
  81. package/dist/dev/packages/ember-template-compiler/index.js +4 -4
  82. package/dist/dev/packages/router_js/index.js +3 -3
  83. package/dist/dev/packages/rsvp/index.js +2281 -1
  84. package/dist/dev/packages/shared-chunks/{alias-RGbDZoAB.js → alias-DpqL1qx6.js} +7 -7
  85. package/dist/dev/packages/shared-chunks/{api-BT9M3UaD.js → api-BlZDPg1n.js} +6 -6
  86. package/dist/dev/packages/shared-chunks/{element-builder-Cl1kHFJE.js → api-C0PAtEgQ.js} +139 -120
  87. package/dist/dev/packages/shared-chunks/{api-DG5kRT-o.js → api-DuLOZMO_.js} +3 -3
  88. package/dist/dev/packages/shared-chunks/{args-proxy-CB0SM6jC.js → args-proxy-CS5Brs3_.js} +2 -2
  89. package/dist/dev/packages/shared-chunks/{untouchable-this-BHdAERUu.js → arguments-CDkbOqTS.js} +236 -236
  90. package/dist/dev/packages/shared-chunks/{array-BMaSKezP.js → array-CVEnNWng.js} +3 -3
  91. package/dist/dev/packages/shared-chunks/{array-utils-BEaSKdEb.js → array-utils-CZQxrdD3.js} +1 -1
  92. package/dist/dev/packages/shared-chunks/{cache-CeWOBNQg.js → cache-DGDPVCpC.js} +2 -3
  93. package/dist/dev/packages/shared-chunks/{capabilities-CZkuOqqC.js → capabilities-CajW4QjE.js} +1 -1
  94. package/dist/dev/packages/shared-chunks/{chain-tags-DfmU63mS.js → chain-tags-uWSImHzB.js} +4 -4
  95. package/dist/dev/packages/shared-chunks/{collections-DEt-i-8B.js → collections-DPkjqeA3.js} +2 -2
  96. package/dist/dev/packages/shared-chunks/{compiler-DhH2WLpA.js → compiler-QUSl_urU.js} +3 -3
  97. package/dist/dev/packages/shared-chunks/{computed-Daavz6vC.js → computed-BPCtuOxQ.js} +6 -6
  98. package/dist/dev/packages/shared-chunks/{curly-YoYS2vXw.js → curly-DGUCLOud.js} +10 -11
  99. package/dist/dev/packages/shared-chunks/curly-brand-B_F79Dep.js +12 -0
  100. package/dist/dev/packages/shared-chunks/{curried-Cnjy9_ug.js → curried-BZnYakIg.js} +1 -1
  101. package/dist/dev/packages/shared-chunks/{decorator-DYQwMItS.js → decorator-B5Uh5NFI.js} +1 -1
  102. package/dist/dev/packages/shared-chunks/{element-bBwMD8cw.js → element-BYLB-q7a.js} +5 -3
  103. package/dist/dev/packages/shared-chunks/{events-B1lx9T1I.js → events-6aFVjD4k.js} +1 -1
  104. package/dist/{prod/packages/shared-chunks/flags-B9qxc-pB.js → dev/packages/shared-chunks/flags-BZxHQ0yn.js} +1 -1
  105. package/dist/dev/packages/shared-chunks/{get-CO3EIWsm.js → get-6I3sjd-I.js} +33 -36
  106. package/dist/{prod/packages/shared-chunks/get_properties-wj_Qmotj.js → dev/packages/shared-chunks/get_properties-Cm2sWt5f.js} +1 -1
  107. package/dist/dev/packages/shared-chunks/{guid-PO2v9BaN.js → guid-Cbq2sNV_.js} +1 -1
  108. package/dist/dev/packages/shared-chunks/{hash-2-93qikL.js → hash-6NDs_5_f.js} +18 -12
  109. package/dist/dev/packages/shared-chunks/helper-brand-C9_8vvOf.js +12 -0
  110. package/dist/dev/packages/shared-chunks/{index-DX90CU4L.js → index-BGP1rw3B.js} +1 -1
  111. package/dist/dev/packages/shared-chunks/{index-dyv6rcBf.js → index-CCyXUNBa.js} +655 -1633
  112. package/dist/dev/packages/shared-chunks/{index-DkwVSPP5.js → index-DaFzpTIE.js} +10 -9
  113. package/dist/dev/packages/shared-chunks/{injected_property-B075jH6c.js → injected_property-CbBLr5jt.js} +2 -2
  114. package/dist/dev/packages/shared-chunks/{internal-Bpr6ihB_.js → internal-DTOXyEGM.js} +4 -4
  115. package/dist/dev/packages/shared-chunks/{internal-helper-IC87S6iZ.js → internal-helper-CKrni0b_.js} +1 -1
  116. package/dist/dev/packages/shared-chunks/{invoke-Ds0KEfP_.js → invoke-d9sqa50M.js} +3 -3
  117. package/dist/dev/packages/shared-chunks/{libraries-P8Ins5CB.js → libraries-DwffpMGE.js} +1 -1
  118. package/dist/dev/packages/shared-chunks/{meta-Cjo3zQJq.js → meta-BqC7f9Ia.js} +1 -1
  119. package/dist/{prod/packages/shared-chunks/namespace_search-TFdmjK_a.js → dev/packages/shared-chunks/namespace_search-BfvzEQzN.js} +1 -1
  120. package/dist/dev/packages/shared-chunks/{normalize-CxG_iVLJ.js → normalize-CKySQVU7.js} +2 -2
  121. package/dist/dev/packages/shared-chunks/{or-Bg6rCMF8.js → not-DYh6AY9Z.js} +36 -36
  122. package/dist/dev/packages/shared-chunks/{observers-CejcZw5s.js → observers-DMlX2nCi.js} +5 -5
  123. package/dist/dev/packages/shared-chunks/{on-Ch_lyozr.js → on-DlF0Wy7P.js} +10 -10
  124. package/dist/dev/packages/shared-chunks/outlet-CHFL7tun.js +135 -0
  125. package/dist/dev/packages/shared-chunks/{present-D0EfKzC6.js → present-B1rrjAVM.js} +1 -1
  126. package/dist/{prod/packages/shared-chunks/program-CF651Zuj.js → dev/packages/shared-chunks/program-DlgjqLa6.js} +3 -3
  127. package/dist/dev/packages/shared-chunks/{program-context-BaYVr5GA.js → program-context-Dq8xN2HI.js} +5 -4
  128. package/dist/dev/packages/shared-chunks/{property_get-BjbsrgpU.js → property_get-CRP7MFz_.js} +3 -3
  129. package/dist/dev/packages/shared-chunks/{property_set-LJskl202.js → property_set-qCUylPEK.js} +3 -3
  130. package/dist/dev/packages/shared-chunks/{reference-C-OXd_kp.js → reference-BqOLhKFy.js} +3 -3
  131. package/dist/dev/packages/shared-chunks/{registers-Buvdhhxx.js → registers-C_W2qYHJ.js} +1 -1
  132. package/dist/dev/packages/shared-chunks/{rehydrate-builder-IH4d_JQy.js → rehydrate-builder-C6k1XhET.js} +4 -4
  133. package/dist/dev/packages/shared-chunks/{render-Dz3OWqXy.js → render-87_sKZ_k.js} +94 -94
  134. package/dist/dev/packages/shared-chunks/{rsvp-C6j8G1D1.js → rsvp.es-DR7yS7qg.js} +150 -154
  135. package/dist/dev/packages/shared-chunks/{serialize-builder-DKliZPPG.js → serialize-builder-BlxBjwO-.js} +2 -2
  136. package/dist/dev/packages/shared-chunks/{set_properties-CNds2HCH.js → set_properties-C4TSebH6.js} +2 -2
  137. package/dist/dev/packages/shared-chunks/setup-registry-BHdDJATP.js +951 -0
  138. package/dist/{prod/packages/shared-chunks/simple-cast-BXTrayoV.js → dev/packages/shared-chunks/simple-cast-DCvJLSin.js} +1 -1
  139. package/dist/{prod/packages/shared-chunks/super-D4qkU4uq.js → dev/packages/shared-chunks/super-BBBjgF69.js} +1 -1
  140. package/dist/{prod/packages/shared-chunks/syscall-ops-nrBHMOTp.js → dev/packages/shared-chunks/syscall-ops-CN7STuUn.js} +1 -1
  141. package/dist/dev/packages/shared-chunks/{template-B0Apv9g2.js → template-BRrQR6KS.js} +1 -1
  142. package/dist/dev/packages/shared-chunks/{template-only-BxYzSEnC.js → template-only-Cu639ICT.js} +2 -4
  143. package/dist/dev/packages/shared-chunks/{textarea-DHjEFpZu.js → textarea-C4lYkaHj.js} +12 -8
  144. package/dist/dev/packages/shared-chunks/{tracked-B76E1nGz.js → tracked-DEyf0T_X.js} +5 -5
  145. package/dist/dev/packages/shared-chunks/{tracked-data-CH1USZZy.js → tracked-data-DgqqRdYO.js} +2 -2
  146. package/dist/dev/packages/shared-chunks/{unique-id-Hd96VZlE.js → unique-id-DQOhouG1.js} +2 -2
  147. package/dist/dev/packages/shared-chunks/{unrecognized-url-error-BQdkjTtZ.js → unrecognized-url-error-B8loxkay.js} +3 -3
  148. package/dist/{prod/packages/shared-chunks/vm-ops-5QCUIRx4.js → dev/packages/shared-chunks/vm-ops-ImHv0Wtg.js} +1 -1
  149. package/dist/prod/packages/@ember/-internals/deprecations/index.js +10 -0
  150. package/dist/prod/packages/@ember/-internals/glimmer/index.js +11 -11
  151. package/dist/prod/packages/@ember/-internals/metal/index.js +18 -18
  152. package/dist/prod/packages/@ember/-internals/routing/index.js +3 -3
  153. package/dist/prod/packages/@ember/-internals/runtime/index.js +1 -1
  154. package/dist/prod/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
  155. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +8 -8
  156. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +1 -1
  157. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/comparable.js +5 -0
  158. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -3
  159. package/dist/prod/packages/@ember/-internals/utils/index.js +2 -2
  160. package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -1
  161. package/dist/prod/packages/@ember/-internals/views/lib/system/event_dispatcher.js +2 -2
  162. package/dist/prod/packages/@ember/-internals/views/lib/system/utils.js +1 -1
  163. package/dist/prod/packages/@ember/-internals/views/lib/views/core_view.js +1 -1
  164. package/dist/prod/packages/@ember/application/index.js +5 -6
  165. package/dist/prod/packages/@ember/application/instance.js +19 -4
  166. package/dist/prod/packages/@ember/application/namespace.js +3 -3
  167. package/dist/prod/packages/@ember/array/index.js +11 -58
  168. package/dist/prod/packages/@ember/array/lib/is-array.js +64 -0
  169. package/dist/prod/packages/@ember/array/proxy.js +8 -8
  170. package/dist/prod/packages/@ember/component/helper.js +305 -1
  171. package/dist/prod/packages/@ember/component/index.js +20 -14
  172. package/dist/prod/packages/@ember/component/template-only.js +1 -1
  173. package/dist/prod/packages/@ember/controller/index.js +3 -3
  174. package/dist/prod/packages/@ember/debug/data-adapter.js +3 -3
  175. package/dist/prod/packages/@ember/engine/index.js +5 -5
  176. package/dist/prod/packages/@ember/engine/instance.js +2 -2
  177. package/dist/prod/packages/@ember/helper/index.js +8 -27
  178. package/dist/prod/packages/@ember/modifier/index.js +2 -2
  179. package/dist/prod/packages/@ember/modifier/on.js +1 -1
  180. package/dist/prod/packages/@ember/object/-internals.js +2 -2
  181. package/dist/prod/packages/@ember/object/compat.js +3 -3
  182. package/dist/prod/packages/@ember/object/computed.js +2 -2
  183. package/dist/prod/packages/@ember/object/core.js +7 -7
  184. package/dist/prod/packages/@ember/object/evented.js +2 -2
  185. package/dist/prod/packages/@ember/object/events.js +1 -1
  186. package/dist/prod/packages/@ember/object/index.js +30 -25
  187. package/dist/prod/packages/@ember/object/internals.js +2 -2
  188. package/dist/prod/packages/@ember/object/lib/computed/computed_macros.js +4 -4
  189. package/dist/prod/packages/@ember/object/lib/computed/reduce_computed_macros.js +2 -2
  190. package/dist/prod/packages/@ember/object/mixin.js +6 -6
  191. package/dist/prod/packages/@ember/object/observable.js +7 -7
  192. package/dist/prod/packages/@ember/object/observers.js +1 -1
  193. package/dist/prod/packages/@ember/object/promise-proxy-mixin.js +3 -3
  194. package/dist/prod/packages/@ember/reactive/collections.js +153 -153
  195. package/dist/prod/packages/@ember/renderer/index.js +1 -1
  196. package/dist/prod/packages/@ember/routing/index.js +12 -8
  197. package/dist/prod/packages/@ember/routing/lib/generate_controller.js +1 -2
  198. package/dist/prod/packages/@ember/routing/lib/routing-service.js +4 -5
  199. package/dist/prod/packages/@ember/routing/lib/utils.js +3 -3
  200. package/dist/prod/packages/@ember/routing/route.js +12 -12
  201. package/dist/prod/packages/@ember/routing/router-service.js +24 -18
  202. package/dist/prod/packages/@ember/routing/router.js +5 -5
  203. package/dist/prod/packages/@ember/runloop/index.js +1 -1
  204. package/dist/prod/packages/@ember/service/index.js +1 -1
  205. package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +3 -3
  206. package/dist/prod/packages/@ember/template-compiler/lib/template.js +2 -2
  207. package/dist/prod/packages/@ember/template-factory/index.js +1 -1
  208. package/dist/prod/packages/@ember/utils/lib/compare.js +5 -2
  209. package/dist/prod/packages/@ember/utils/lib/is_empty.js +1 -1
  210. package/dist/prod/packages/@glimmer/encoder/index.js +1 -1
  211. package/dist/prod/packages/@glimmer/manager/index.js +4 -4
  212. package/dist/prod/packages/@glimmer/node/index.js +3 -3
  213. package/dist/prod/packages/@glimmer/opcode-compiler/index.js +2 -2
  214. package/dist/prod/packages/@glimmer/program/index.js +10 -10
  215. package/dist/prod/packages/@glimmer/reference/index.js +5 -5
  216. package/dist/prod/packages/@glimmer/runtime/index.js +13 -13
  217. package/dist/prod/packages/@glimmer/tracking/index.js +2 -2
  218. package/dist/prod/packages/@glimmer/tracking/primitives/cache/index.js +1 -1
  219. package/dist/prod/packages/@glimmer/util/index.js +4 -4
  220. package/dist/prod/packages/@glimmer/validator/index.js +3 -3
  221. package/dist/prod/packages/@glimmer/vm/index.js +2 -2
  222. package/dist/prod/packages/ember/version.js +1 -1
  223. package/dist/prod/packages/ember-template-compiler/index.js +4 -4
  224. package/dist/prod/packages/router_js/index.js +3 -3
  225. package/dist/prod/packages/rsvp/index.js +2281 -1
  226. package/dist/prod/packages/shared-chunks/{alias-DsIh-16z.js → alias-Bod6qdNp.js} +7 -7
  227. package/dist/prod/packages/shared-chunks/{api-CGZbGcvX.js → api-B_poQGXS.js} +6 -6
  228. package/dist/prod/packages/shared-chunks/{element-builder-CZePCkbA.js → api-CQexacBn.js} +139 -120
  229. package/dist/prod/packages/shared-chunks/{api-DOLN_cR2.js → api-DlJKfm_f.js} +3 -3
  230. package/dist/prod/packages/shared-chunks/{args-proxy-CaXVcI8G.js → args-proxy-CCoFtYLS.js} +2 -2
  231. package/dist/prod/packages/shared-chunks/{debug-render-tree-CYENUjgX.js → arguments-BzAkZVBa.js} +198 -198
  232. package/dist/prod/packages/shared-chunks/{array-DYFI95FA.js → array-BzReKMeW.js} +3 -3
  233. package/dist/prod/packages/shared-chunks/{array-utils-BEaSKdEb.js → array-utils-CZQxrdD3.js} +1 -1
  234. package/dist/prod/packages/shared-chunks/{cache-CG6_L9db.js → cache-CofLhaS4.js} +1 -2
  235. package/dist/prod/packages/shared-chunks/{capabilities-_5e35539.js → capabilities-BuVYh-vx.js} +1 -1
  236. package/dist/prod/packages/shared-chunks/{chain-tags-BP0V2LnZ.js → chain-tags-B2J7DsxO.js} +4 -4
  237. package/dist/prod/packages/shared-chunks/{collections-By4M3cTy.js → collections-GpG8lT2g.js} +10 -10
  238. package/dist/prod/packages/shared-chunks/{compiler-DQmEjFyx.js → compiler-lBSssiWp.js} +2 -2
  239. package/dist/prod/packages/shared-chunks/{computed-D6MVTTDd.js → computed-DtIStxvq.js} +6 -6
  240. package/dist/prod/packages/shared-chunks/{curly-DCYSwLtz.js → curly-a6DP7r87.js} +10 -11
  241. package/dist/prod/packages/shared-chunks/curly-brand-B_F79Dep.js +12 -0
  242. package/dist/prod/packages/shared-chunks/{curried-Cnjy9_ug.js → curried-BZnYakIg.js} +1 -1
  243. package/dist/prod/packages/shared-chunks/{decorator-B8Lpq40g.js → decorator-9ikVwsjY.js} +1 -1
  244. package/dist/prod/packages/shared-chunks/{element-CT5H5uxF.js → element-DgHdPZ8u.js} +5 -3
  245. package/dist/prod/packages/shared-chunks/{events-C7aYCy0N.js → events-DYrYz3V8.js} +1 -1
  246. package/dist/{dev/packages/shared-chunks/flags-B9qxc-pB.js → prod/packages/shared-chunks/flags-BZxHQ0yn.js} +1 -1
  247. package/dist/prod/packages/shared-chunks/{get-tlL23wmp.js → get-Dago5uGl.js} +33 -36
  248. package/dist/{dev/packages/shared-chunks/get_properties-B203vZpz.js → prod/packages/shared-chunks/get_properties-Dg3xFpiS.js} +1 -1
  249. package/dist/prod/packages/shared-chunks/{guid-PO2v9BaN.js → guid-Cbq2sNV_.js} +1 -1
  250. package/dist/prod/packages/shared-chunks/{hash-C6IoC4eR.js → hash-gEXIsSO4.js} +24 -18
  251. package/dist/prod/packages/shared-chunks/helper-brand-C9_8vvOf.js +12 -0
  252. package/dist/prod/packages/shared-chunks/{index-D-rcNBLp.js → index-Bf53M8eS.js} +9 -8
  253. package/dist/prod/packages/shared-chunks/{index-DabsnYit.js → index-npr2B-vu.js} +541 -1465
  254. package/dist/prod/packages/shared-chunks/{injected_property-COGiYHKc.js → injected_property-Y-FadDej.js} +2 -2
  255. package/dist/prod/packages/shared-chunks/{internal-BEJC2IJ-.js → internal-BQ7zHrqS.js} +4 -4
  256. package/dist/prod/packages/shared-chunks/{internal-helper-CoxiRnnb.js → internal-helper-Bz1lpDXr.js} +1 -1
  257. package/dist/prod/packages/shared-chunks/{invoke-D_jsLbsj.js → invoke-DhQ5QRp2.js} +3 -3
  258. package/dist/prod/packages/shared-chunks/{libraries-Bs3H8iwC.js → libraries-DBql0hdn.js} +2 -2
  259. package/dist/prod/packages/shared-chunks/{meta-Ce6-qROq.js → meta-BJtIZDir.js} +1 -1
  260. package/dist/{dev/packages/shared-chunks/namespace_search-TFdmjK_a.js → prod/packages/shared-chunks/namespace_search-BfvzEQzN.js} +1 -1
  261. package/dist/prod/packages/shared-chunks/{normalize-Bx4H3NjB.js → normalize-C_IStty9.js} +2 -2
  262. package/dist/prod/packages/shared-chunks/{or-sYlRiUn_.js → not-BOIVROuv.js} +28 -28
  263. package/dist/prod/packages/shared-chunks/{observers-Ci31SE36.js → observers-BmobpXAF.js} +5 -5
  264. package/dist/prod/packages/shared-chunks/{on-Dgmychhk.js → on-BZHAxzdq.js} +10 -10
  265. package/dist/prod/packages/shared-chunks/outlet--lIm3q7t.js +132 -0
  266. package/dist/{dev/packages/shared-chunks/program-CPXeXWVB.js → prod/packages/shared-chunks/program-BAh__OXZ.js} +3 -3
  267. package/dist/prod/packages/shared-chunks/{program-context-DmI53TzJ.js → program-context-COSioH46.js} +5 -4
  268. package/dist/prod/packages/shared-chunks/{property_get-Sw0SicEZ.js → property_get-DAKgbeJX.js} +2 -2
  269. package/dist/prod/packages/shared-chunks/{property_set-SHEIPMUG.js → property_set-BaQJdVfS.js} +3 -3
  270. package/dist/prod/packages/shared-chunks/{reference-D2agTt1V.js → reference-CG0yPgLy.js} +3 -3
  271. package/dist/prod/packages/shared-chunks/{registers-Buvdhhxx.js → registers-C_W2qYHJ.js} +1 -1
  272. package/dist/prod/packages/shared-chunks/{rehydrate-builder-B7MtrWip.js → rehydrate-builder-Blt1x9MP.js} +4 -4
  273. package/dist/prod/packages/shared-chunks/{render-B790-vbk.js → render-Dx7lr1hR.js} +94 -94
  274. package/dist/prod/packages/shared-chunks/{rsvp-C6j8G1D1.js → rsvp.es-DR7yS7qg.js} +150 -154
  275. package/dist/prod/packages/shared-chunks/{serialize-builder-kEyOKbzp.js → serialize-builder-BvAXYHTr.js} +2 -2
  276. package/dist/prod/packages/shared-chunks/{set_properties-CcLLHg1w.js → set_properties-Qxhw4qzw.js} +2 -2
  277. package/dist/prod/packages/shared-chunks/setup-registry-Dfu8EyLU.js +886 -0
  278. package/dist/{dev/packages/shared-chunks/simple-cast-BXTrayoV.js → prod/packages/shared-chunks/simple-cast-DCvJLSin.js} +1 -1
  279. package/dist/{dev/packages/shared-chunks/super-D4qkU4uq.js → prod/packages/shared-chunks/super-BBBjgF69.js} +1 -1
  280. package/dist/{dev/packages/shared-chunks/syscall-ops-nrBHMOTp.js → prod/packages/shared-chunks/syscall-ops-CN7STuUn.js} +1 -1
  281. package/dist/prod/packages/shared-chunks/{template-B0Apv9g2.js → template-BRrQR6KS.js} +1 -1
  282. package/dist/prod/packages/shared-chunks/{template-only-CP0NT7ce.js → template-only-DKNcKM5b.js} +2 -4
  283. package/dist/prod/packages/shared-chunks/{textarea-B_JYBuE8.js → textarea-DOmZ1x0E.js} +11 -7
  284. package/dist/prod/packages/shared-chunks/{tracked-CXcapuAm.js → tracked-B9380JtC.js} +5 -5
  285. package/dist/prod/packages/shared-chunks/{tracked-data-DNDzhYXf.js → tracked-data-CHq42QHb.js} +2 -2
  286. package/dist/prod/packages/shared-chunks/{unique-id-Hn8Qp4dS.js → unique-id-o2pS74go.js} +2 -2
  287. package/dist/prod/packages/shared-chunks/{unrecognized-url-error-ClNyMFJt.js → unrecognized-url-error-jjQ-FqKB.js} +3 -3
  288. package/dist/{dev/packages/shared-chunks/vm-ops-5QCUIRx4.js → prod/packages/shared-chunks/vm-ops-ImHv0Wtg.js} +1 -1
  289. package/docs/data.json +616 -569
  290. package/package.json +8 -6
  291. package/types/stable/@ember/-internals/deprecations/index.d.ts +6 -0
  292. package/types/stable/@ember/-internals/glimmer/index.d.ts +165 -121
  293. package/types/stable/@ember/-internals/glimmer/lib/base-renderer.d.ts +150 -0
  294. package/types/stable/@ember/-internals/glimmer/lib/component-managers/curly-brand.d.ts +10 -0
  295. package/types/stable/@ember/-internals/glimmer/lib/component-managers/curly.d.ts +3 -2
  296. package/types/stable/@ember/-internals/glimmer/lib/component-managers/mount.d.ts +1 -1
  297. package/types/stable/@ember/-internals/glimmer/lib/component-managers/outlet.d.ts +1 -1
  298. package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +8 -2
  299. package/types/stable/@ember/-internals/glimmer/lib/glimmer-tracking-docs.d.ts +12 -12
  300. package/types/stable/@ember/-internals/glimmer/lib/helper-brand.d.ts +10 -0
  301. package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +20 -10
  302. package/types/stable/@ember/-internals/glimmer/lib/helpers/array.d.ts +3 -1
  303. package/types/stable/@ember/-internals/glimmer/lib/helpers/component.d.ts +65 -121
  304. package/types/stable/@ember/-internals/glimmer/lib/helpers/concat.d.ts +8 -4
  305. package/types/stable/@ember/-internals/glimmer/lib/helpers/each-in.d.ts +16 -14
  306. package/types/stable/@ember/-internals/glimmer/lib/helpers/element.d.ts +2 -0
  307. package/types/stable/@ember/-internals/glimmer/lib/helpers/fn.d.ts +11 -7
  308. package/types/stable/@ember/-internals/glimmer/lib/helpers/get.d.ts +23 -29
  309. package/types/stable/@ember/-internals/glimmer/lib/helpers/hash.d.ts +3 -1
  310. package/types/stable/@ember/-internals/glimmer/lib/helpers/if-unless.d.ts +95 -49
  311. package/types/stable/@ember/-internals/glimmer/lib/helpers/mut.d.ts +23 -54
  312. package/types/stable/@ember/-internals/glimmer/lib/helpers/page-title.d.ts +6 -2
  313. package/types/stable/@ember/-internals/glimmer/lib/helpers/readonly.d.ts +4 -8
  314. package/types/stable/@ember/-internals/glimmer/lib/modifiers/on.d.ts +10 -10
  315. package/types/stable/@ember/-internals/glimmer/lib/renderer.d.ts +7 -155
  316. package/types/stable/@ember/-internals/glimmer/lib/router-resolver.d.ts +17 -0
  317. package/types/stable/@ember/-internals/glimmer/lib/syntax/in-element.d.ts +2 -0
  318. package/types/stable/@ember/-internals/glimmer/lib/syntax/let.d.ts +2 -14
  319. package/types/stable/@ember/-internals/glimmer/lib/syntax/mount.d.ts +15 -11
  320. package/types/stable/@ember/-internals/glimmer/lib/syntax/outlet.d.ts +17 -10
  321. package/types/stable/@ember/-internals/runtime/lib/mixins/target_action_support.d.ts +1 -1
  322. package/types/stable/@ember/array/index.d.ts +6 -29
  323. package/types/stable/@ember/array/lib/is-array.d.ts +35 -0
  324. package/types/stable/@ember/component/template-only.d.ts +1 -3
  325. package/types/stable/@ember/controller/index.d.ts +1 -1
  326. package/types/stable/@ember/helper/index.d.ts +0 -19
  327. package/types/stable/@ember/object/index.d.ts +4 -3
  328. package/types/stable/@ember/object/observable.d.ts +4 -0
  329. package/types/stable/@ember/reactive/collections.d.ts +0 -6
  330. package/types/stable/@ember/renderer/index.d.ts +2 -2
  331. package/types/stable/@ember/routing/lib/generate_controller.d.ts +1 -1
  332. package/types/stable/@ember/routing/route.d.ts +2 -2
  333. package/types/stable/@ember/routing/router-service.d.ts +20 -12
  334. package/types/stable/@glimmer/runtime/lib/component/template-only.d.ts +0 -2
  335. package/types/stable/@glimmer/runtime/lib/dom/sanitized-values.d.ts +2 -2
  336. package/types/stable/@glimmer/runtime/lib/helpers/array.d.ts +1 -1
  337. package/types/stable/@glimmer/runtime/lib/helpers/concat.d.ts +8 -3
  338. package/types/stable/@glimmer/runtime/lib/helpers/fn.d.ts +13 -7
  339. package/types/stable/@glimmer/runtime/lib/helpers/get.d.ts +21 -29
  340. package/types/stable/@glimmer/runtime/lib/helpers/hash.d.ts +1 -1
  341. package/types/stable/@glimmer/syntax/lib/get-template-locals.d.ts +1 -1
  342. package/types/stable/@glimmer/tracking/index.d.ts +12 -12
  343. package/types/stable/index.d.ts +590 -585
  344. package/dist/dev/packages/shared-chunks/helper-Bm6EhgSW.js +0 -314
  345. package/dist/dev/packages/shared-chunks/setup-registry-C_YovxNX.js +0 -77
  346. package/dist/prod/packages/shared-chunks/helper-CCK8Ef0x.js +0 -298
  347. package/dist/prod/packages/shared-chunks/setup-registry-D14I0iDX.js +0 -74
@@ -17,26 +17,34 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
17
17
  using the block form to wrap the section of template you want to conditionally render.
18
18
  Like so:
19
19
 
20
- ```app/templates/application.hbs
21
- <Weather />
20
+ ```app/templates/application.gjs
21
+ import Weather from '../components/weather';
22
+
23
+ <template>
24
+ <Weather />
25
+ </template>
22
26
  ```
23
27
 
24
- ```app/components/weather.hbs
25
- {{! will not render because greeting is undefined}}
26
- {{#if @isRaining}}
27
- Yes, grab an umbrella!
28
- {{/if}}
28
+ ```app/components/weather.gjs
29
+ <template>
30
+ {{! will not render because greeting is undefined}}
31
+ {{#if @isRaining}}
32
+ Yes, grab an umbrella!
33
+ {{/if}}
34
+ </template>
29
35
  ```
30
36
 
31
37
  You can also define what to show if the property is falsey by using
32
38
  the `else` helper.
33
39
 
34
- ```app/components/weather.hbs
35
- {{#if @isRaining}}
36
- Yes, grab an umbrella!
37
- {{else}}
38
- No, it's lovely outside!
39
- {{/if}}
40
+ ```app/components/weather.gjs
41
+ <template>
42
+ {{#if @isRaining}}
43
+ Yes, grab an umbrella!
44
+ {{else}}
45
+ No, it's lovely outside!
46
+ {{/if}}
47
+ </template>
40
48
  ```
41
49
 
42
50
  You are also able to combine `else` and `if` helpers to create more complex
@@ -44,20 +52,26 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
44
52
 
45
53
  For the following template:
46
54
 
47
- ```app/components/weather.hbs
48
- {{#if @isRaining}}
49
- Yes, grab an umbrella!
50
- {{else if @isCold}}
51
- Grab a coat, it's chilly!
52
- {{else}}
53
- No, it's lovely outside!
54
- {{/if}}
55
+ ```app/components/weather.gjs
56
+ <template>
57
+ {{#if @isRaining}}
58
+ Yes, grab an umbrella!
59
+ {{else if @isCold}}
60
+ Grab a coat, it's chilly!
61
+ {{else}}
62
+ No, it's lovely outside!
63
+ {{/if}}
64
+ </template>
55
65
  ```
56
66
 
57
67
  If you call it by saying `isCold` is true:
58
68
 
59
- ```app/templates/application.hbs
60
- <Weather @isCold={{true}} />
69
+ ```app/templates/application.gjs
70
+ import Weather from '../components/weather';
71
+
72
+ <template>
73
+ <Weather @isCold={{true}} />
74
+ </template>
61
75
  ```
62
76
 
63
77
  Then `Grab a coat, it's chilly!` will be rendered.
@@ -71,12 +85,18 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
71
85
 
72
86
  For example, if `useLongGreeting` is truthy, the following:
73
87
 
74
- ```app/templates/application.hbs
75
- <Greeting @useLongGreeting={{true}} />
88
+ ```app/templates/application.gjs
89
+ import Greeting from '../components/greeting';
90
+
91
+ <template>
92
+ <Greeting @useLongGreeting={{true}} />
93
+ <template>
76
94
  ```
77
95
 
78
- ```app/components/greeting.hbs
79
- {{if @useLongGreeting "Hello" "Hi"}} Alex
96
+ ```app/components/greeting.gjs
97
+ <template>
98
+ {{if @useLongGreeting "Hello" "Hi"}} Alex
99
+ <template>
80
100
  ```
81
101
 
82
102
  Will render:
@@ -88,7 +108,9 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
88
108
  One detail to keep in mind is that both branches of the `if` helper will be evaluated,
89
109
  so if you have `{{if condition "foo" (expensive-operation "bar")`,
90
110
  `expensive-operation` will always calculate.
91
-
111
+
112
+ `if` is built-in and does not need to be imported.
113
+
92
114
  @method if
93
115
  @for Ember.Templates.helpers
94
116
  @public
@@ -107,12 +129,18 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
107
129
 
108
130
  For example, if you pass a falsey `useLongGreeting` to the `Greeting` component:
109
131
 
110
- ```app/templates/application.hbs
111
- <Greeting @useLongGreeting={{false}} />
132
+ ```app/templates/application.gjs
133
+ import Greeting from '../components/greeting';
134
+
135
+ <template>
136
+ <Greeting @useLongGreeting={{false}} />
137
+ </template>
112
138
  ```
113
139
 
114
- ```app/components/greeting.hbs
115
- {{unless @useLongGreeting "Hi" "Hello"}} Ben
140
+ ```app/components/greeting.gjs
141
+ <template>
142
+ {{unless @useLongGreeting "Hi" "Hello"}} Ben
143
+ </template>
116
144
  ```
117
145
 
118
146
  Then it will display:
@@ -127,14 +155,20 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
127
155
 
128
156
  The following will not render anything:
129
157
 
130
- ```app/templates/application.hbs
131
- <Greeting />
158
+ ```app/templates/application.gjs
159
+ import Greeting from '../components/greeting';
160
+
161
+ <template>
162
+ <Greeting />
163
+ </template>
132
164
  ```
133
165
 
134
- ```app/components/greeting.hbs
135
- {{#unless @greeting}}
136
- No greeting was found. Why not set one?
137
- {{/unless}}
166
+ ```app/components/greeting.gjs
167
+ <template>
168
+ {{#unless @greeting}}
169
+ No greeting was found. Why not set one?
170
+ {{/unless}}
171
+ </template>
138
172
  ```
139
173
 
140
174
  You can also use an `else` helper with the `unless` block. The
@@ -142,18 +176,24 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
142
176
 
143
177
  If you have the following component:
144
178
 
145
- ```app/components/logged-in.hbs
146
- {{#unless @userData}}
147
- Please login.
148
- {{else}}
149
- Welcome back!
150
- {{/unless}}
179
+ ```app/components/logged-in.gjs
180
+ <template>
181
+ {{#unless @userData}}
182
+ Please login.
183
+ {{else}}
184
+ Welcome back!
185
+ {{/unless}}
186
+ </template>
151
187
  ```
152
188
 
153
189
  Calling it with a truthy `userData`:
154
190
 
155
- ```app/templates/application.hbs
156
- <LoggedIn @userData={{hash username="Zoey"}} />
191
+ ```app/templates/application.gjs
192
+ import LoggedIn from '../components/logged-in';
193
+
194
+ <template>
195
+ <LoggedIn @userData={{hash username="Zoey"}} />
196
+ </template>
157
197
  ```
158
198
 
159
199
  Will render:
@@ -164,8 +204,12 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
164
204
 
165
205
  and calling it with a falsey `userData`:
166
206
 
167
- ```app/templates/application.hbs
168
- <LoggedIn @userData={{false}} />
207
+ ```app/templates/application.gjs
208
+ import LoggedIn from '../components/logged-in';
209
+
210
+ <template>
211
+ <LoggedIn @userData={{false}} />
212
+ </template>
169
213
  ```
170
214
 
171
215
  Will render:
@@ -173,7 +217,9 @@ declare module '@ember/-internals/glimmer/lib/helpers/if-unless' {
173
217
  ```html
174
218
  Please login.
175
219
  ```
176
-
220
+
221
+ `unless` is built-in and does not need to be imported.
222
+
177
223
  @method unless
178
224
  @for Ember.Templates.helpers
179
225
  @public
@@ -1,72 +1,41 @@
1
1
  declare module '@ember/-internals/glimmer/lib/helpers/mut' {
2
2
  /**
3
- The `mut` helper lets you __clearly specify__ that a child `Component` can update the
4
- (mutable) value passed to it, which will __change the value of the parent component__.
3
+ The `mut` helper is a shortcut for updating for args.
4
+
5
+ However, defining update functions on your backing class is preferable to using `mut`.
6
+
7
+ More directly: Don't use `mut`.
5
8
 
6
- To specify that a parameter is mutable, when invoking the child `Component`:
7
-
8
- ```handlebars
9
- <MyChild @childClickCount={{fn (mut totalClicks)}} />
10
- ```
11
-
12
- or
13
-
14
- ```handlebars
15
- {{my-child childClickCount=(mut totalClicks)}}
16
- ```
17
-
18
- The child `Component` can then modify the parent's value just by modifying its own
19
- property:
20
-
21
- ```javascript
22
- // my-child.js
23
- export default class MyChild extends Component {
24
- click() {
25
- this.incrementProperty('childClickCount');
26
- }
27
- }
28
- ```
29
-
30
- Note that for curly components (`{{my-component}}`) the bindings are already mutable,
31
- making the `mut` unnecessary.
32
-
33
- Additionally, the `mut` helper can be combined with the `fn` helper to
34
- mutate a value. For example:
35
-
36
- ```handlebars
37
- <MyChild @childClickCount={{this.totalClicks}} @click-count-change={{fn (mut totalClicks))}} />
38
- ```
39
-
40
- or
9
+ The `mut` helper, when used with `fn`, will return a function that
10
+ sets the value passed to `mut` to its first argument. As an example, we can create a
11
+ button that increments a value passing the value directly to the `fn`:
41
12
 
42
13
  ```handlebars
43
- {{my-child childClickCount=totalClicks click-count-change=(fn (mut totalClicks))}}
14
+ <MyChild @childClickCount={{this.totalClicks}} @clickCountChange={{fn (mut this.totalClicks)}} />
44
15
  ```
45
16
 
46
- The child `Component` would invoke the function with the new click value:
17
+ The child `Component` would invoke the function with the new click count:
47
18
 
48
- ```javascript
49
- // my-child.js
19
+ ```app/components/my-child.gjs
20
+ import Component from '@glimmer/component';
21
+ import { action } from '@ember/object';
22
+
50
23
  export default class MyChild extends Component {
51
- click() {
52
- this.get('click-count-change')(this.get('childClickCount') + 1);
24
+ @action
25
+ update() {
26
+ this.args.clickCountChange(this.args.childClickCount + 1);
53
27
  }
28
+
29
+ <template>
30
+ <button {{on "click" this.update}}>
31
+ Click me!
32
+ </button>
33
+ </template>
54
34
  }
55
35
  ```
56
36
 
57
37
  The `mut` helper changes the `totalClicks` value to what was provided as the `fn` argument.
58
38
 
59
- The `mut` helper, when used with `fn`, will return a function that
60
- sets the value passed to `mut` to its first argument. As an example, we can create a
61
- button that increments a value passing the value directly to the `fn`:
62
-
63
- ```handlebars
64
- {{! inc helper is not provided by Ember }}
65
- <button onclick={{fn (mut count) (inc count)}}>
66
- Increment count
67
- </button>
68
- ```
69
-
70
39
  @method mut
71
40
  @param {Object} [attr] the "two-way" attribute that can be modified.
72
41
  @for Ember.Templates.helpers
@@ -7,8 +7,12 @@ declare module '@ember/-internals/glimmer/lib/helpers/page-title' {
7
7
  append additional titles for each route. For complete documentation, see
8
8
  https://github.com/ember-cli/ember-page-title.
9
9
 
10
- ```handlebars
11
- {{page-title "My Page Title" }}
10
+ ```gjs
11
+ import pageTitle from 'ember-page-title/helpers/page-title';
12
+
13
+ <template>
14
+ {{pageTitle "My Page Title" }}
15
+ </template>
12
16
  ```
13
17
 
14
18
  @method page-title
@@ -2,6 +2,10 @@ declare module '@ember/-internals/glimmer/lib/helpers/readonly' {
2
2
  /**
3
3
  The `readonly` helper let's you specify that a binding is one-way only,
4
4
  instead of two-way.
5
+
6
+ This is a vestigial helper from the days of `@ember/component` and does not apply to
7
+ components extending from `@glimmer/component`.
8
+
5
9
  When you pass a `readonly` binding from an outer context (e.g. parent component),
6
10
  to to an inner context (e.g. child component), you are saying that changing that
7
11
  property in the inner context does not change the value in the outer context.
@@ -14,14 +18,6 @@ declare module '@ember/-internals/glimmer/lib/helpers/readonly' {
14
18
  }
15
19
  ```
16
20
 
17
- ```app/templates/components/my-parent.hbs
18
- {{log totalClicks}} // -> 3
19
- <MyChild @childClickCount={{readonly totalClicks}} />
20
- ```
21
- ```
22
- {{my-child childClickCount=(readonly totalClicks)}}
23
- ```
24
-
25
21
  Now, when you update `childClickCount`:
26
22
 
27
23
  ```app/components/my-child.js
@@ -10,20 +10,20 @@ declare module '@ember/-internals/glimmer/lib/modifiers/on' {
10
10
  For example, if you'd like to run a function on your component when a `<button>`
11
11
  in the components template is clicked you might do something like:
12
12
 
13
- ```app/components/like-post.hbs
14
- <button {{on 'click' this.saveLike}}>Like this post!</button>
15
- ```
16
-
17
- ```app/components/like-post.js
13
+ ```app/components/like-post.gjs
18
14
  import Component from '@glimmer/component';
19
15
  import { action } from '@ember/object';
20
16
 
21
- export default class LikePostComponent extends Component {
17
+ export default class LikePost extends Component {
22
18
  @action
23
19
  saveLike() {
24
20
  // someone likes your post!
25
21
  // better send a request off to your server...
26
22
  }
23
+
24
+ <template>
25
+ <button {{on 'click' this.saveLike}}>Like this post!</button>
26
+ </template>
27
27
  }
28
28
  ```
29
29
 
@@ -58,7 +58,7 @@ declare module '@ember/-internals/glimmer/lib/modifiers/on' {
58
58
  For example, in our example case above if you'd like to pass in the post that
59
59
  was being liked when the button is clicked you could do something like:
60
60
 
61
- ```app/components/like-post.hbs
61
+ ```hbs
62
62
  <button {{on 'click' (fn this.saveLike @post)}}>Like this post!</button>
63
63
  ```
64
64
 
@@ -68,13 +68,13 @@ declare module '@ember/-internals/glimmer/lib/modifiers/on' {
68
68
  ### Function Context
69
69
 
70
70
  In the example above, we used `@action` to ensure that `likePost` is
71
- properly bound to the `items-list`, but let's explore what happens if we
71
+ properly bound to the `LikePost` Component, but let's explore what happens if we
72
72
  left out `@action`:
73
73
 
74
- ```app/components/like-post.js
74
+ ```app/components/like-post.gjs
75
75
  import Component from '@glimmer/component';
76
76
 
77
- export default class LikePostComponent extends Component {
77
+ export default class LikePost extends Component {
78
78
  saveLike() {
79
79
  // ...snip...
80
80
  }
@@ -1,19 +1,19 @@
1
1
  declare module '@ember/-internals/glimmer/lib/renderer' {
2
2
  import type { InternalOwner } from "@ember/-internals/owner";
3
- import type { Bounds, Cursor, DebugRenderTree, Environment, DynamicScope as GlimmerDynamicScope, RenderResult as GlimmerRenderResult, Template, TemplateFactory, EvaluationContext, TreeBuilder, ClassicResolver } from "@glimmer/interfaces";
3
+ import type { Bounds, DynamicScope as GlimmerDynamicScope, TemplateFactory, EvaluationContext } from "@glimmer/interfaces";
4
4
  import type { Nullable } from "@ember/-internals/utility-types";
5
5
  import type { Reference } from "@glimmer/reference/lib/reference";
6
6
  import type { CurriedValue } from "@glimmer/runtime/lib/curried-value";
7
7
  import { clientBuilder } from "@glimmer/runtime/lib/vm/element-builder";
8
8
  import type { SimpleDocument, SimpleElement, SimpleNode } from "@simple-dom/interface";
9
- import RSVP from "rsvp";
10
- import type Component from "@ember/-internals/glimmer/lib/component";
11
9
  import type ClassicComponent from "@ember/-internals/glimmer/lib/component";
12
10
  import { BOUNDS } from "@ember/-internals/glimmer/lib/component-managers/curly";
13
- import ResolverImpl from "@ember/-internals/glimmer/lib/resolver";
11
+ import RouterResolver from "@ember/-internals/glimmer/lib/router-resolver";
14
12
  import type { OutletState } from "@ember/-internals/glimmer/lib/utils/outlet";
15
13
  import OutletView from "@ember/-internals/glimmer/lib/views/outlet";
16
- export type IBuilder = (env: Environment, cursor: Cursor) => TreeBuilder;
14
+ import type { RendererRoot } from "@ember/-internals/glimmer/lib/base-renderer";
15
+ import { BaseRenderer } from "@ember/-internals/glimmer/lib/base-renderer";
16
+ export { type IBuilder, type RendererRoot, type RenderResult, BaseRenderer, ComponentRootState, errorLoopTransaction, renderComponent, renderSettled, _resetRenderers, } from "@ember/-internals/glimmer/lib/base-renderer";
17
17
  export interface View {
18
18
  parentView: Nullable<View>;
19
19
  renderer: Renderer;
@@ -31,157 +31,10 @@ declare module '@ember/-internals/glimmer/lib/renderer' {
31
31
  get(key: "outletState"): Reference<OutletState | undefined>;
32
32
  set(key: "outletState", value: Reference<OutletState | undefined>): Reference<OutletState | undefined>;
33
33
  }
34
- type RootState = ClassicRootState | ComponentRootState;
35
- class ComponentRootState {
36
- #private;
37
- readonly type = "component";
38
- constructor(state: RendererState, definition: object, options: {
39
- into: Cursor;
40
- args?: Record<string, unknown>;
41
- });
42
- isFor(_component: ClassicComponent): boolean;
43
- render(): void;
44
- destroy(): void;
45
- get destroyed(): boolean;
46
- get result(): GlimmerRenderResult | undefined;
47
- }
48
- class ClassicRootState {
49
- root: Component | OutletView;
50
- readonly type = "classic";
51
- id: string;
52
- result: GlimmerRenderResult | undefined;
53
- destroyed: boolean;
54
- render: () => void;
55
- readonly env: Environment;
56
- constructor(root: Component | OutletView, context: EvaluationContext, owner: object, template: Template, self: Reference<unknown>, parentElement: SimpleElement, dynamicScope: DynamicScope, builder: IBuilder);
57
- isFor(possibleRoot: unknown): boolean;
58
- destroy(): void;
59
- }
60
- export function _resetRenderers(): void;
61
- export function renderSettled(): RSVP.Promise<void>;
62
34
  interface ViewRegistry {
63
35
  [viewId: string]: unknown;
64
36
  }
65
- type Resolver = ClassicResolver;
66
- interface RendererData {
67
- owner: object;
68
- context: EvaluationContext;
69
- builder: IBuilder;
70
- }
71
- class RendererState {
72
- #private;
73
- static create(data: RendererData, renderer: BaseRenderer): RendererState;
74
- private constructor();
75
- get debug(): {
76
- roots: RootState[];
77
- inRenderTransaction: boolean;
78
- isInteractive: boolean;
79
- };
80
- get roots(): RootState[];
81
- get owner(): object;
82
- get builder(): IBuilder;
83
- get context(): EvaluationContext;
84
- get env(): Environment;
85
- get isInteractive(): boolean;
86
- renderRoot(root: RootState, renderer: BaseRenderer): RootState;
87
- renderRoots(renderer: BaseRenderer): void;
88
- scheduleRevalidate(renderer: BaseRenderer): void;
89
- isValid(): boolean;
90
- revalidate(renderer: BaseRenderer): void;
91
- clearAllRoots(renderer: BaseRenderer): void;
92
- }
93
- type IntoTarget = Cursor | Element | SimpleElement;
94
- /**
95
- * The returned object from `renderComponent`
96
- * @public
97
- * @module @ember/renderer
98
- */
99
- export interface RenderResult {
100
- /**
101
- * Destroys the render tree and removes all rendered content from the element rendered into
102
- */
103
- destroy(): void;
104
- }
105
- /**
106
- * Render a component into a DOM element.
107
- *
108
- * @method renderComponent
109
- * @static
110
- * @for @ember/renderer
111
- * @param {Object} component The component to render.
112
- * @param {Object} options
113
- * @param {Element} options.into Where to render the component in to.
114
- * @param {Object} [options.owner] Optionally specify the owner to use. This will be used for injections, and overall cleanup.
115
- * @param {Object} [options.env] Optional renderer configuration
116
- * @param {Object} [options.args] Optionally pass args in to the component. These may be reactive as long as it is an object or object-like
117
- * @public
118
- */
119
- export function renderComponent(
120
- /**
121
- * The component definition to render.
122
- *
123
- * Any component that has had its manager registered is valid.
124
- * For the component-types that ship with ember, manager registration
125
- * does not need to be worried about.
126
- */
127
- component: object,
128
- { owner, env, into, args, }: {
129
- /**
130
- * The element to render the component in to.
131
- */
132
- into: IntoTarget;
133
- /**
134
- * Optional owner. Defaults to `{}`, can be any object, but will need to implement the [Owner](https://api.emberjs.com/ember/release/classes/Owner) API for components within this render tree to access services.
135
- */
136
- owner?: object;
137
- /**
138
- * Optionally configure the rendering environment
139
- */
140
- env?: {
141
- /**
142
- * When false, modifiers will not run.
143
- */
144
- isInteractive?: boolean;
145
- /**
146
- * All other options are forwarded to the underlying renderer.
147
- * (its API is currently private and out of scope for this RFC,
148
- * so passing additional things here is also considered private API)
149
- */
150
- [rendererOption: string]: unknown;
151
- };
152
- /**
153
- * These args get passed to the rendered component
154
- *
155
- * If your args are reactive, re-rendering will happen automatically.
156
- *
157
- */
158
- args?: Record<string, unknown>;
159
- }
160
- ): RenderResult;
161
- class BaseRenderer {
162
- static strict(owner: object, document: SimpleDocument | Document, options: {
163
- isInteractive: boolean;
164
- hasDOM?: boolean;
165
- }): BaseRenderer;
166
- readonly state: RendererState;
167
- constructor(owner: object, envOptions: {
168
- isInteractive: boolean;
169
- hasDOM: boolean;
170
- }, document: SimpleDocument, resolver: Resolver, builder: IBuilder);
171
- get debugRenderTree(): DebugRenderTree;
172
- isValid(): boolean;
173
- destroy(): void;
174
- render(component: object, options: {
175
- into: IntoTarget;
176
- args?: Record<string, unknown>;
177
- }): RootState;
178
- rerender(): void;
179
- }
180
37
  export class Renderer extends BaseRenderer {
181
- static strict(owner: object, document: SimpleDocument | Document, options: {
182
- isInteractive: boolean;
183
- hasDOM?: boolean;
184
- }): BaseRenderer;
185
38
  private _rootTemplate;
186
39
  private _viewRegistry;
187
40
  static create(props: {
@@ -190,13 +43,13 @@ declare module '@ember/-internals/glimmer/lib/renderer' {
190
43
  constructor(owner: InternalOwner, document: SimpleDocument, env: {
191
44
  isInteractive: boolean;
192
45
  hasDOM: boolean;
193
- }, rootTemplate: TemplateFactory, viewRegistry: ViewRegistry, builder?: typeof clientBuilder, resolver?: ResolverImpl);
46
+ }, rootTemplate: TemplateFactory, viewRegistry: ViewRegistry, builder?: typeof clientBuilder, resolver?: RouterResolver);
194
47
  appendOutletView(view: OutletView, target: SimpleElement): void;
195
48
  appendTo(view: ClassicComponent, target: SimpleElement): void;
196
49
  _appendDefinition(root: OutletView | ClassicComponent, definition: CurriedValue, target: SimpleElement): void;
197
50
  cleanupRootFor(component: ClassicComponent): void;
198
51
  remove(view: ClassicComponent): void;
199
- get _roots(): RootState[];
52
+ get _roots(): RendererRoot[];
200
53
  get _inRenderTransaction(): boolean;
201
54
  get _isInteractive(): boolean;
202
55
  get _context(): EvaluationContext;
@@ -209,5 +62,4 @@ declare module '@ember/-internals/glimmer/lib/renderer' {
209
62
  lastNode: SimpleNode;
210
63
  };
211
64
  }
212
- export {};
213
65
  }
@@ -0,0 +1,17 @@
1
+ declare module '@ember/-internals/glimmer/lib/router-resolver' {
2
+ import type { HelperDefinitionState } from "@glimmer/interfaces";
3
+ import type { InternalOwner } from "@ember/-internals/owner";
4
+ import type { Nullable } from "@ember/-internals/utility-types";
5
+ import ResolverImpl from "@ember/-internals/glimmer/lib/resolver";
6
+ /**
7
+ * The resolver used by the classic application `Renderer`. It extends the
8
+ * shared `ResolverImpl` with the keywords that require the router and engine
9
+ * infrastructure (`{{outlet}}` and `{{mount}}`). Keeping these out of the
10
+ * base resolver means renderers that have no router (e.g. `renderComponent`)
11
+ * do not pull the outlet/engine machinery into the build.
12
+ */
13
+ export default class RouterResolver extends ResolverImpl {
14
+ lookupBuiltInHelper(name: string): Nullable<HelperDefinitionState>;
15
+ lookupHelper(name: string, owner: InternalOwner): Nullable<HelperDefinitionState>;
16
+ }
17
+ }
@@ -39,6 +39,8 @@ declare module '@ember/-internals/glimmer/lib/syntax/in-element' {
39
39
  {{/in-element}}
40
40
  ```
41
41
 
42
+ `in-element` is built-in and does not need to be imported.
43
+
42
44
  @method in-element
43
45
  @for Ember.Templates.helpers
44
46
  @public
@@ -32,21 +32,9 @@ declare module '@ember/-internals/glimmer/lib/syntax/let' {
32
32
  <MyPost @title={{title}} @content={{content}} @options={{options}} />
33
33
  {{/let}}
34
34
  ```
35
- or
36
- ```handlebars
37
- {{#let
38
- (concat post.title ' | The Ember.js Blog')
39
- post.content
40
- (hash
41
- theme="high-contrast"
42
- enableComments=true
43
- )
44
- as |title content options|
45
- }}
46
- {{my-post title=title content=content options=options}}
47
- {{/let}}
48
- ```
49
35
 
36
+ `let` is built-in and does not need to be imported.
37
+
50
38
  @method let
51
39
  @for Ember.Templates.helpers
52
40
  @public