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
@@ -1,12 +1,12 @@
1
1
  import { meta } from '../@ember/-internals/meta/lib/meta.js';
2
2
  import inspect from '../@ember/debug/lib/inspect.js';
3
- import { w as untrack, x as validateTag, U as UPDATE_TAG, y as valueForTag, k as consumeTag } from './cache-CG6_L9db.js';
4
- import { a as tagMetaFor, t as tagFor } from './meta-Ce6-qROq.js';
5
- import { C as CHAIN_PASS_THROUGH, g as getChainTagsForKey, f as finishLazyChains } from './chain-tags-BP0V2LnZ.js';
6
- import { m as makeComputedDecorator, d as descriptorForDecorator, a as ComputedDescriptor } from './decorator-B8Lpq40g.js';
7
- import { f as defineProperty } from './computed-D6MVTTDd.js';
8
- import { g as get } from './property_get-Sw0SicEZ.js';
9
- import { s as set } from './property_set-SHEIPMUG.js';
3
+ import { u as untrack, v as validateTag, U as UPDATE_TAG, a as valueForTag, c as consumeTag } from './cache-CofLhaS4.js';
4
+ import { a as tagMetaFor, t as tagFor } from './meta-BJtIZDir.js';
5
+ import { C as CHAIN_PASS_THROUGH, g as getChainTagsForKey, f as finishLazyChains } from './chain-tags-B2J7DsxO.js';
6
+ import { m as makeComputedDecorator, b as descriptorForDecorator, c as ComputedDescriptor } from './decorator-9ikVwsjY.js';
7
+ import { d as defineProperty } from './computed-DtIStxvq.js';
8
+ import { g as get } from './property_get-DAKgbeJX.js';
9
+ import { s as set } from './property_set-BaQJdVfS.js';
10
10
 
11
11
  function alias(altKey) {
12
12
  return makeComputedDecorator(new AliasedProperty(altKey), AliasDecoratorImpl);
@@ -1,10 +1,10 @@
1
- import { j as setInternalHelperManager, C as CustomHelperManager, s as setInternalComponentManager, k as setInternalModifierManager } from './api-DOLN_cR2.js';
1
+ import { j as setInternalHelperManager, k as setInternalModifierManager, s as setInternalComponentManager, C as CustomHelperManager } from './api-DlJKfm_f.js';
2
2
  import { registerDestructor } from '../@glimmer/destroyable/index.js';
3
- import { d as createConstRef } from './reference-D2agTt1V.js';
4
- import { a as argsProxyFor } from './args-proxy-CaXVcI8G.js';
5
- import { b as buildCapabilities } from './capabilities-_5e35539.js';
6
- import { c as castToBrowser } from './simple-cast-BXTrayoV.js';
7
- import { w as untrack, n as createUpdatableTag } from './cache-CG6_L9db.js';
3
+ import { a as createConstRef } from './reference-CG0yPgLy.js';
4
+ import { a as argsProxyFor } from './args-proxy-CCoFtYLS.js';
5
+ import { b as buildCapabilities } from './capabilities-BuVYh-vx.js';
6
+ import { a as castToBrowser } from './simple-cast-DCvJLSin.js';
7
+ import { u as untrack, b as createUpdatableTag } from './cache-CofLhaS4.js';
8
8
 
9
9
  const CAPABILITIES = {
10
10
  dynamicLayout: false,
@@ -1,9 +1,9 @@
1
- import { b as expect, S as StackImpl } from './collections-By4M3cTy.js';
2
- import { C as ConcreteBounds, e as isSafeString, n as normalizeStringValue, a as CursorImpl, c as clear } from './normalize-Bx4H3NjB.js';
1
+ import { S as StackImpl, e as expect } from './collections-GpG8lT2g.js';
3
2
  import { a as assert } from './assert-Zqc4wiAV.js';
4
3
  import { s as setLocalDebugType } from './debug-brand-B1TWjOCH.js';
5
4
  import { registerDestructor, destroy } from '../@glimmer/destroyable/index.js';
6
- import { c as castToBrowser } from './simple-cast-BXTrayoV.js';
5
+ import { i as isSafeString, n as normalizeStringValue, a as CursorImpl, C as ConcreteBounds, c as clear } from './normalize-C_IStty9.js';
6
+ import { a as castToBrowser } from './simple-cast-DCvJLSin.js';
7
7
  import { n as normalizeProperty } from './props-fiqxqhAH.js';
8
8
 
9
9
  const ELEMENT_NODE = 1;
@@ -14,132 +14,32 @@ const NS_SVG = 'http://www.w3.org/2000/svg';
14
14
  const INSERT_BEFORE_BEGIN = 'beforebegin';
15
15
  const INSERT_BEFORE_END = 'beforeend';
16
16
 
17
- // http://www.w3.org/TR/html/syntax.html#html-integration-point
18
- const SVG_INTEGRATION_POINTS = {
19
- foreignObject: 1,
20
- desc: 1,
21
- title: 1
22
- };
23
-
24
- // http://www.w3.org/TR/html/syntax.html#adjust-svg-attributes
25
- // TODO: Adjust SVG attributes
26
-
27
- // http://www.w3.org/TR/html/syntax.html#parsing-main-inforeign
28
- // TODO: Adjust SVG elements
29
-
30
- // http://www.w3.org/TR/html/syntax.html#parsing-main-inforeign
31
- const BLACKLIST_TABLE = Object.create(null);
32
- class DOMOperations {
33
- // Set by this.setupUselessElement() in constructor
34
-
35
- constructor(document) {
36
- this.document = document;
37
- this.setupUselessElement();
38
- }
39
-
40
- // split into separate method so that NodeDOMTreeConstruction
41
- // can override it.
42
- setupUselessElement() {
43
- this.uselessElement = this.document.createElement('div');
44
- }
45
- createElement(tag, context) {
46
- let isElementInSVGNamespace, isHTMLIntegrationPoint, isElementInMathMlNamespace, ns;
47
- if (context) {
48
- isElementInSVGNamespace = context.namespaceURI === NS_SVG || tag === 'svg';
49
- isElementInMathMlNamespace = context.namespaceURI === NS_MATHML || tag === 'math';
50
- isHTMLIntegrationPoint = !!SVG_INTEGRATION_POINTS[context.tagName];
51
- } else {
52
- isElementInSVGNamespace = tag === 'svg';
53
- isElementInMathMlNamespace = tag === 'math';
54
- isHTMLIntegrationPoint = false;
55
- }
56
- if ((isElementInMathMlNamespace || isElementInSVGNamespace) && !isHTMLIntegrationPoint) {
57
- // FIXME: This does not properly handle <font> with color, face, or
58
- // size attributes, which is also disallowed by the spec. We should fix
59
- // this.
60
- if (BLACKLIST_TABLE[tag]) {
61
- throw new Error(`Cannot create a ${tag} inside an SVG context`);
62
- }
63
- if (isElementInMathMlNamespace) {
64
- ns = NS_MATHML;
65
- } else {
66
- ns = NS_SVG;
67
- }
68
- return this.document.createElementNS(ns, tag);
69
- } else {
70
- return this.document.createElement(tag);
71
- }
72
- }
73
- insertBefore(parent, node, reference) {
74
- parent.insertBefore(node, reference);
75
- }
76
- insertHTMLBefore(parent, nextSibling, html) {
77
- if (html === '') {
78
- const comment = this.createComment('');
79
- parent.insertBefore(comment, nextSibling);
80
- return new ConcreteBounds(parent, comment, comment);
81
- }
82
- const prev = nextSibling ? nextSibling.previousSibling : parent.lastChild;
83
- let last;
84
- if (nextSibling === null) {
85
- parent.insertAdjacentHTML(INSERT_BEFORE_END, html);
86
- last = expect(parent.lastChild);
87
- } else if (nextSibling instanceof HTMLElement) {
88
- nextSibling.insertAdjacentHTML('beforebegin', html);
89
- last = expect(nextSibling.previousSibling);
90
- } else {
91
- // Non-element nodes do not support insertAdjacentHTML, so add an
92
- // element and call it on that element. Then remove the element.
93
- const {
94
- uselessElement
95
- } = this;
96
- parent.insertBefore(uselessElement, nextSibling);
97
- uselessElement.insertAdjacentHTML(INSERT_BEFORE_BEGIN, html);
98
- last = expect(uselessElement.previousSibling);
99
- parent.removeChild(uselessElement);
100
- }
101
- const first = expect(prev ? prev.nextSibling : parent.firstChild);
102
- return new ConcreteBounds(parent, first, last);
103
- }
104
- createTextNode(text) {
105
- return this.document.createTextNode(text);
106
- }
107
- createComment(data) {
108
- return this.document.createComment(data);
109
- }
110
- }
111
-
112
- class TreeConstruction extends DOMOperations {
113
- createElementNS(namespace, tag) {
114
- return this.document.createElementNS(namespace, tag);
115
- }
116
- setAttribute(element, name, value, namespace = null) {
117
- if (namespace) {
118
- element.setAttributeNS(namespace, name, value);
119
- } else {
120
- element.setAttribute(name, value);
121
- }
122
- }
123
- }
124
- const DOMTreeConstruction = TreeConstruction;
125
-
126
17
  const badProtocols = ['javascript:', 'vbscript:'];
127
- const badTags = ['A', 'BODY', 'LINK', 'IMG', 'IFRAME', 'BASE', 'FORM'];
18
+ const badTags = ['A', 'AREA', 'BODY', 'LINK', 'IMG', 'IFRAME', 'BASE', 'FORM', 'BUTTON', 'INPUT'];
128
19
  const badTagsForDataURI = ['EMBED'];
129
- const badAttributes = ['href', 'src', 'background', 'action'];
20
+ const badTagsForDataProtocol = ['IFRAME', 'OBJECT'];
21
+ const badAttributes = ['href', 'src', 'background', 'action', 'formaction', 'xlink:href'];
130
22
  const badAttributesForDataURI = ['src'];
23
+ const badAttributesForDataProtocol = ['src', 'data'];
131
24
  function has(array, item) {
132
25
  return array.indexOf(item) !== -1;
133
26
  }
134
27
  function checkURI(tagName, attribute) {
135
- return (tagName === null || has(badTags, tagName)) && has(badAttributes, attribute);
28
+ // SVG tagNames are case-preserved, so the SVG `<a>` element comes through as
29
+ // lowercase `a` and never matches the uppercase `badTags` entries unless we
30
+ // normalize first.
31
+ return (tagName === null || has(badTags, tagName.toUpperCase())) && has(badAttributes, attribute);
136
32
  }
137
33
  function checkDataURI(tagName, attribute) {
138
34
  if (tagName === null) return false;
139
- return has(badTagsForDataURI, tagName) && has(badAttributesForDataURI, attribute);
35
+ return has(badTagsForDataURI, tagName.toUpperCase()) && has(badAttributesForDataURI, attribute);
36
+ }
37
+ function checkDataProtocol(tagName, attribute) {
38
+ if (tagName === null) return false;
39
+ return has(badTagsForDataProtocol, tagName.toUpperCase()) && has(badAttributesForDataProtocol, attribute);
140
40
  }
141
41
  function requiresSanitization(tagName, attribute) {
142
- return checkURI(tagName, attribute) || checkDataURI(tagName, attribute);
42
+ return checkURI(tagName, attribute) || checkDataURI(tagName, attribute) || checkDataProtocol(tagName, attribute);
143
43
  }
144
44
  function findProtocolForURL() {
145
45
  const weirdURL = URL;
@@ -159,7 +59,11 @@ function findProtocolForURL() {
159
59
  return url => {
160
60
  let protocol = null;
161
61
  if (typeof url === 'string') {
162
- protocol = nodeURL.parse(url).protocol;
62
+ // browsers strip ASCII tab/newline/CR from urls before navigating, so
63
+ // `java\nscript:` runs as `javascript:`. `url.parse` keeps them and reports
64
+ // a null protocol, slipping past the badProtocols check. Strip them here to
65
+ // match the WHATWG `URL` parser used on the non-fastboot path.
66
+ protocol = nodeURL.parse(url.replace(/[\t\n\r]/gu, '')).protocol;
163
67
  }
164
68
  return protocol === null ? ':' : protocol;
165
69
  };
@@ -194,7 +98,7 @@ function sanitizeAttributeValue(element, attribute, value) {
194
98
  if (isSafeString(value)) {
195
99
  return value.toHTML();
196
100
  }
197
- const tagName = element.tagName.toUpperCase();
101
+ const tagName = element.tagName;
198
102
  let str = normalizeStringValue(value);
199
103
  if (checkURI(tagName, attribute)) {
200
104
  let protocol = protocolForUrl(str);
@@ -202,6 +106,12 @@ function sanitizeAttributeValue(element, attribute, value) {
202
106
  return `unsafe:${str}`;
203
107
  }
204
108
  }
109
+ if (checkDataProtocol(tagName, attribute)) {
110
+ let protocol = protocolForUrl(str);
111
+ if (protocol === 'data:' || has(badProtocols, protocol)) {
112
+ return `unsafe:${str}`;
113
+ }
114
+ }
205
115
  if (checkDataURI(tagName, attribute)) {
206
116
  return `unsafe:${str}`;
207
117
  }
@@ -792,4 +702,113 @@ function clientBuilder(env, cursor) {
792
702
  return NewTreeBuilder.forInitialRender(env, cursor);
793
703
  }
794
704
 
795
- export { BLACKLIST_TABLE as B, COMMENT_NODE as C, DOMOperations as D, ELEMENT_NODE as E, NS_SVG as N, RemoteBlock as R, SimpleDynamicAttribute as S, TEXT_NODE as T, DOMTreeConstruction as a, DynamicAttribute as b, NewTreeBuilder as c, ResettableBlockImpl as d, clientBuilder as e, dynamicAttribute as f };
705
+ // http://www.w3.org/TR/html/syntax.html#html-integration-point
706
+ const SVG_INTEGRATION_POINTS = {
707
+ foreignObject: 1,
708
+ desc: 1,
709
+ title: 1
710
+ };
711
+
712
+ // http://www.w3.org/TR/html/syntax.html#adjust-svg-attributes
713
+ // TODO: Adjust SVG attributes
714
+
715
+ // http://www.w3.org/TR/html/syntax.html#parsing-main-inforeign
716
+ // TODO: Adjust SVG elements
717
+
718
+ // http://www.w3.org/TR/html/syntax.html#parsing-main-inforeign
719
+ const BLACKLIST_TABLE = Object.create(null);
720
+ class DOMOperations {
721
+ // Set by this.setupUselessElement() in constructor
722
+
723
+ constructor(document) {
724
+ this.document = document;
725
+ this.setupUselessElement();
726
+ }
727
+
728
+ // split into separate method so that NodeDOMTreeConstruction
729
+ // can override it.
730
+ setupUselessElement() {
731
+ this.uselessElement = this.document.createElement('div');
732
+ }
733
+ createElement(tag, context) {
734
+ let isElementInSVGNamespace, isHTMLIntegrationPoint, isElementInMathMlNamespace, ns;
735
+ if (context) {
736
+ isElementInSVGNamespace = context.namespaceURI === NS_SVG || tag === 'svg';
737
+ isElementInMathMlNamespace = context.namespaceURI === NS_MATHML || tag === 'math';
738
+ isHTMLIntegrationPoint = !!SVG_INTEGRATION_POINTS[context.tagName];
739
+ } else {
740
+ isElementInSVGNamespace = tag === 'svg';
741
+ isElementInMathMlNamespace = tag === 'math';
742
+ isHTMLIntegrationPoint = false;
743
+ }
744
+ if ((isElementInMathMlNamespace || isElementInSVGNamespace) && !isHTMLIntegrationPoint) {
745
+ // FIXME: This does not properly handle <font> with color, face, or
746
+ // size attributes, which is also disallowed by the spec. We should fix
747
+ // this.
748
+ if (BLACKLIST_TABLE[tag]) {
749
+ throw new Error(`Cannot create a ${tag} inside an SVG context`);
750
+ }
751
+ if (isElementInMathMlNamespace) {
752
+ ns = NS_MATHML;
753
+ } else {
754
+ ns = NS_SVG;
755
+ }
756
+ return this.document.createElementNS(ns, tag);
757
+ } else {
758
+ return this.document.createElement(tag);
759
+ }
760
+ }
761
+ insertBefore(parent, node, reference) {
762
+ parent.insertBefore(node, reference);
763
+ }
764
+ insertHTMLBefore(parent, nextSibling, html) {
765
+ if (html === '') {
766
+ const comment = this.createComment('');
767
+ parent.insertBefore(comment, nextSibling);
768
+ return new ConcreteBounds(parent, comment, comment);
769
+ }
770
+ const prev = nextSibling ? nextSibling.previousSibling : parent.lastChild;
771
+ let last;
772
+ if (nextSibling === null) {
773
+ parent.insertAdjacentHTML(INSERT_BEFORE_END, html);
774
+ last = expect(parent.lastChild);
775
+ } else if (nextSibling instanceof HTMLElement) {
776
+ nextSibling.insertAdjacentHTML('beforebegin', html);
777
+ last = expect(nextSibling.previousSibling);
778
+ } else {
779
+ // Non-element nodes do not support insertAdjacentHTML, so add an
780
+ // element and call it on that element. Then remove the element.
781
+ const {
782
+ uselessElement
783
+ } = this;
784
+ parent.insertBefore(uselessElement, nextSibling);
785
+ uselessElement.insertAdjacentHTML(INSERT_BEFORE_BEGIN, html);
786
+ last = expect(uselessElement.previousSibling);
787
+ parent.removeChild(uselessElement);
788
+ }
789
+ const first = expect(prev ? prev.nextSibling : parent.firstChild);
790
+ return new ConcreteBounds(parent, first, last);
791
+ }
792
+ createTextNode(text) {
793
+ return this.document.createTextNode(text);
794
+ }
795
+ createComment(data) {
796
+ return this.document.createComment(data);
797
+ }
798
+ }
799
+
800
+ class TreeConstruction extends DOMOperations {
801
+ createElementNS(namespace, tag) {
802
+ return this.document.createElementNS(namespace, tag);
803
+ }
804
+ setAttribute(element, name, value, namespace = null) {
805
+ if (namespace) {
806
+ element.setAttributeNS(namespace, name, value);
807
+ } else {
808
+ element.setAttribute(name, value);
809
+ }
810
+ }
811
+ }
812
+ const DOMTreeConstruction = TreeConstruction;
813
+
814
+ export { BLACKLIST_TABLE as B, COMMENT_NODE as C, DOMTreeConstruction as D, ELEMENT_NODE as E, NewTreeBuilder as N, RemoteBlock as R, SimpleDynamicAttribute as S, TEXT_NODE as T, DynamicAttribute as a, ResettableBlockImpl as b, clientBuilder as c, dynamicAttribute as d, NS_SVG as e, DOMOperations as f };
@@ -1,7 +1,7 @@
1
1
  import { associateDestroyableChild } from '../@glimmer/destroyable/index.js';
2
- import { b as createComputeRef, d as createConstRef, U as UNDEFINED_REFERENCE } from './reference-D2agTt1V.js';
3
- import { a as argsProxyFor } from './args-proxy-CaXVcI8G.js';
4
- import { b as buildCapabilities } from './capabilities-_5e35539.js';
2
+ import { c as createComputeRef, a as createConstRef, U as UNDEFINED_REFERENCE } from './reference-CG0yPgLy.js';
3
+ import { a as argsProxyFor } from './args-proxy-CCoFtYLS.js';
4
+ import { b as buildCapabilities } from './capabilities-BuVYh-vx.js';
5
5
 
6
6
  function helperCapabilities(managerAPI, options = {}) {
7
7
  return buildCapabilities({
@@ -1,5 +1,5 @@
1
- import { v as valueForRef } from './reference-D2agTt1V.js';
2
- import { v as track } from './cache-CG6_L9db.js';
1
+ import { v as valueForRef } from './reference-CG0yPgLy.js';
2
+ import { t as track } from './cache-CofLhaS4.js';
3
3
 
4
4
  const CUSTOM_TAG_FOR = new WeakMap();
5
5
  function getCustomTagFor(obj) {