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