@cardstack/boxel-cli 0.12.0 → 0.13.0-unstable.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/bundled-realms/pretui/components/chip.gts +47 -2
  2. package/bundled-realms/pretui/components/chip.md +5 -2
  3. package/bundled-realms/pretui/components/chip.usage.gts +37 -2
  4. package/bundled-realms/pretui/components/status-chip.gts +12 -2
  5. package/bundled-realms/pretui/components/status-chip.md +2 -1
  6. package/bundled-realms/pretui/components/status-chip.usage.gts +2 -0
  7. package/bundled-test-harness/assets/{ai-module-creation-test-B9lSKNq1.js → ai-module-creation-test-Czsh1MyP.js} +1 -1
  8. package/bundled-test-harness/assets/{aibot-message-LXV0UlzI.js → aibot-message-Dg5nzE1b.js} +1 -1
  9. package/bundled-test-harness/assets/{app-BIQcKrVT.js → app-hXF_bqWy.js} +6 -6
  10. package/bundled-test-harness/assets/{assistant-transcript-test-CG_2-bog.js → assistant-transcript-test-kILRv_pf.js} +1 -1
  11. package/bundled-test-harness/assets/{binary-upload-dedupe-test-Q7e6bzl1.js → binary-upload-dedupe-test-Bt5RqtEk.js} +1 -1
  12. package/bundled-test-harness/assets/{bundled-base-DldokUSJ.js → bundled-base-DtxlKFXx.js} +3 -3
  13. package/bundled-test-harness/assets/{bundled-base-modules-test-VAlRx4t3.js → bundled-base-modules-test-D1fXHMTE.js} +1 -1
  14. package/bundled-test-harness/assets/{can-invoke-test-BGmUJHxo.js → can-invoke-test-DqBuecdl.js} +1 -1
  15. package/bundled-test-harness/assets/{card-chooser-paging-test-CzooKL4I.js → card-chooser-paging-test-Cf8r032c.js} +1 -1
  16. package/bundled-test-harness/assets/{card-chooser-test-C3fjaDYi.js → card-chooser-test-q_qnUKxi.js} +1 -1
  17. package/bundled-test-harness/assets/{card-def-field-def-relationships-test-yqv8ir8Y.js → card-def-field-def-relationships-test-C5xkWMZi.js} +1 -1
  18. package/bundled-test-harness/assets/{card-delete-test-BtjqrqKO.js → card-delete-test-KB4aJuv_.js} +1 -1
  19. package/bundled-test-harness/assets/{chip-D6Xffhjx.css → chip-B2Ns53A6.css} +35 -9
  20. package/bundled-test-harness/assets/{chip-BydgljDL.js → chip-DVJE_YDh.js} +11 -3
  21. package/bundled-test-harness/assets/{choreo-D7dLCdGB.js → choreo-CIrop3HM.js} +16 -35
  22. package/bundled-test-harness/assets/choreo-Ca2Y2sF3.js +2 -0
  23. package/bundled-test-harness/assets/{choreo-feature-reel-test--x-L3ZKc.js → choreo-feature-reel-test-CJHms7Sf.js} +2 -2
  24. package/bundled-test-harness/assets/{choreo-gallery-ZO9vXOxd.js → choreo-gallery-DZm1KZ20.js} +3 -3
  25. package/bundled-test-harness/assets/{choreo-gallery-build-order-test-DG5UTyc9.js → choreo-gallery-build-order-test-QKyMWELN.js} +4 -4
  26. package/bundled-test-harness/assets/{choreo-gallery-compositor-test-DJP80SNj.js → choreo-gallery-compositor-test-BQDptxfE.js} +1 -1
  27. package/bundled-test-harness/assets/{choreo-gallery-cover-test-CHYz7sM4.js → choreo-gallery-cover-test-Do-HYF96.js} +1 -1
  28. package/bundled-test-harness/assets/{choreo-gallery-crossing-stage-test-BuinlINr.js → choreo-gallery-crossing-stage-test-yJVXghRc.js} +10 -10
  29. package/bundled-test-harness/assets/{choreo-gallery-demos-alive-test-BjNCGfH9.js → choreo-gallery-demos-alive-test-BCeaaZye.js} +1 -1
  30. package/bundled-test-harness/assets/{choreo-gallery-drift-test-BJ17f3yv.js → choreo-gallery-drift-test-CJ1yq6R0.js} +1 -1
  31. package/bundled-test-harness/assets/{choreo-gallery-escort-test-Dadih8-S.js → choreo-gallery-escort-test-DypqSgvs.js} +1 -1
  32. package/bundled-test-harness/assets/{choreo-gallery-films-test-CCXty_WI.js → choreo-gallery-films-test-ClMy5M_p.js} +2 -2
  33. package/bundled-test-harness/assets/{choreo-gallery-filter-test-BozCoT_M.js → choreo-gallery-filter-test-CzOmgqgl.js} +1 -1
  34. package/bundled-test-harness/assets/{choreo-gallery-fold-test-Kez2P3_Y.js → choreo-gallery-fold-test-qNnH6wtC.js} +2 -2
  35. package/bundled-test-harness/assets/{choreo-gallery-guide-pages-test-BV5oxrYA.js → choreo-gallery-guide-pages-test-BtKWMkTv.js} +1 -1
  36. package/bundled-test-harness/assets/{choreo-gallery-guides-test-DwYBDgKi.js → choreo-gallery-guides-test-CXMsuDYi.js} +4 -3
  37. package/bundled-test-harness/assets/{choreo-gallery-hang-test-B-5u7cGJ.js → choreo-gallery-hang-test-BD4JQ04e.js} +2 -2
  38. package/bundled-test-harness/assets/{choreo-gallery-highlight-test-BZ5Lg8V6.js → choreo-gallery-highlight-test-BK280K2W.js} +2 -2
  39. package/bundled-test-harness/assets/{choreo-gallery-inline-edit-test-wSlSI-VM.js → choreo-gallery-inline-edit-test-DAgUcaaw.js} +2 -2
  40. package/bundled-test-harness/assets/{choreo-gallery-interruption-test-DBpCEiro.js → choreo-gallery-interruption-test-DY5KUilC.js} +4 -4
  41. package/bundled-test-harness/assets/{choreo-gallery-lone-stack-test-aMLrHsns.js → choreo-gallery-lone-stack-test-Dxd_Nb0-.js} +4 -4
  42. package/bundled-test-harness/assets/{choreo-gallery-navigation-test-B8b-2ZTz.js → choreo-gallery-navigation-test-DWJq12PN.js} +1 -1
  43. package/bundled-test-harness/assets/{choreo-gallery-playhead-transport-test-B95CYBh7.js → choreo-gallery-playhead-transport-test-DlQ6yTKW.js} +1 -1
  44. package/bundled-test-harness/assets/{choreo-gallery-poplayout-subtree-test-jZAAICV6.js → choreo-gallery-poplayout-subtree-test-D59W8gYt.js} +5 -5
  45. package/bundled-test-harness/assets/{choreo-gallery-presence-modes-test-BawIKB-a.js → choreo-gallery-presence-modes-test-BAU-dggP.js} +2 -2
  46. package/bundled-test-harness/assets/{choreo-gallery-presentation-test-CYIb-8ML.js → choreo-gallery-presentation-test-BqGsinE0.js} +2 -2
  47. package/bundled-test-harness/assets/{choreo-gallery-reduced-motion-test-C6Vi1WYr.js → choreo-gallery-reduced-motion-test-By0rb2Ai.js} +4 -3
  48. package/bundled-test-harness/assets/{choreo-gallery-sheet-standalone-test-_e4T5KDI.js → choreo-gallery-sheet-standalone-test-Cfw-4ULF.js} +2 -2
  49. package/bundled-test-harness/assets/{choreo-gallery-sheet-test-Cv51Te3G.js → choreo-gallery-sheet-test-dm53Pdzb.js} +2 -2
  50. package/bundled-test-harness/assets/{choreo-gallery-site-test-Cm35kHu_.js → choreo-gallery-site-test-SAlqtZgL.js} +3 -2
  51. package/bundled-test-harness/assets/{choreo-gallery-stage-Bp6QVqlI.js → choreo-gallery-stage-CU8LvQqX.js} +2 -2
  52. package/bundled-test-harness/assets/{choreo-gallery-stage-keyboard-test-DDX2cuMa.js → choreo-gallery-stage-keyboard-test-DQ4v5qA4.js} +2 -2
  53. package/bundled-test-harness/assets/{choreo-gallery-stages-test-Dfa_33_4.js → choreo-gallery-stages-test-CRvaS6w6.js} +2 -2
  54. package/bundled-test-harness/assets/{choreo-gallery-subdivision-test-CgR3WdcT.js → choreo-gallery-subdivision-test-CtOm-U35.js} +3 -3
  55. package/bundled-test-harness/assets/{choreo-gallery-table-plan-test-DF-cE3J9.js → choreo-gallery-table-plan-test-_0koIm2u.js} +1 -1
  56. package/bundled-test-harness/assets/{choreo-gallery-theater-test-BuIyb2ke.js → choreo-gallery-theater-test-yedwQVyP.js} +4 -4
  57. package/bundled-test-harness/assets/{choreo-gallery-tuning-test-BdZ45YBK.js → choreo-gallery-tuning-test-CmMtfJ5a.js} +1 -1
  58. package/bundled-test-harness/assets/{choreo-gallery-widget-room-test-HcPX75Dg.js → choreo-gallery-widget-room-test-jnYOas5x.js} +2 -2
  59. package/bundled-test-harness/assets/{choreo-gallery-wires-test-BhFCIjB1.js → choreo-gallery-wires-test-CSyqjVnm.js} +2 -2
  60. package/bundled-test-harness/assets/clip--wioup_3.js +2 -0
  61. package/bundled-test-harness/assets/{clip-BmBVqUyU.js → clip-Cm32sLyn.js} +3 -3
  62. package/bundled-test-harness/assets/{codeblocks-test-DbZYlmG_.js → codeblocks-test-DLVRpBAl.js} +1 -1
  63. package/bundled-test-harness/assets/{compaction-test-D1G3KCSe.js → compaction-test-zX01t57K.js} +1 -1
  64. package/bundled-test-harness/assets/{container-XSX5809v.js → container-CXZoEvul.js} +10 -9
  65. package/bundled-test-harness/assets/{create-listing-modal-test--oGT9P_F.js → create-listing-modal-test-DPgVovcL.js} +1 -1
  66. package/bundled-test-harness/assets/{debug-message-test-C8UZUtCt.js → debug-message-test-CWl-ido2.js} +1 -1
  67. package/bundled-test-harness/assets/{externals--YMzwHwd.js → externals-Ddhtv753.js} +37 -37
  68. package/bundled-test-harness/assets/{fallback-banner-live-delete-test-DPK_coJY.js → fallback-banner-live-delete-test-CFbMEFHo.js} +1 -1
  69. package/bundled-test-harness/assets/{fallback-banner-test-C2wi6Lu6.js → fallback-banner-test-3O0imkxJ.js} +1 -1
  70. package/bundled-test-harness/assets/{fallback-models-test-SqdXWB1Z.js → fallback-models-test-hyQfQLuM.js} +1 -1
  71. package/bundled-test-harness/assets/{file-attachment-test-DT0HK6yS.js → file-attachment-test-C63Ttyaj.js} +1 -1
  72. package/bundled-test-harness/assets/{film-Zt2YoVoG.js → film-9V69qBWw.js} +6 -6
  73. package/bundled-test-harness/assets/{film-77OfTGL7.js → film-Z87hSVo_.js} +8 -8
  74. package/bundled-test-harness/assets/film-h1N8vUjG.js +2 -0
  75. package/bundled-test-harness/assets/{formatted-aibot-message-test-B6i0k9wW.js → formatted-aibot-message-test-DH3WPvU1.js} +1 -1
  76. package/bundled-test-harness/assets/{general-test-C0Xb2Idr.js → general-test-wrSeNkrm.js} +1 -1
  77. package/bundled-test-harness/assets/{glimmer-motion-and-choreo-in-cards-test-DFlkZtek.js → glimmer-motion-and-choreo-in-cards-test-Byg3fSOY.js} +32 -32
  78. package/bundled-test-harness/assets/{glimmer-motion-and-choreo-test-B2ustNm9.js → glimmer-motion-and-choreo-test-BM7uX8k4.js} +10 -10
  79. package/bundled-test-harness/assets/group-Cgg5RLul.js +2 -0
  80. package/bundled-test-harness/assets/{group-BNxp6qON.js → group-DL-b_Hzj.js} +2 -2
  81. package/bundled-test-harness/assets/{index-query-engine-test-BKOqgBMv.js → index-query-engine-test-DvfKgn6s.js} +1 -1
  82. package/bundled-test-harness/assets/{instance-filter-matcher-test-CNIzKZvP.js → instance-filter-matcher-test-KqGi-K79.js} +1 -1
  83. package/bundled-test-harness/assets/item-Bu9hhPf2.js +2 -0
  84. package/bundled-test-harness/assets/{item-BDyVqxdA.js → item-CBEoTOyj.js} +2 -2
  85. package/bundled-test-harness/assets/{main-BiI-FhMc.js → main-CoUo04VF.js} +1 -1
  86. package/bundled-test-harness/assets/{markdown-preview-BItI_AEl.js → markdown-preview-D_QssEOi.js} +1 -1
  87. package/bundled-test-harness/assets/{markdown-preview-test-Bntyikh1.js → markdown-preview-test-nljzB8o_.js} +1 -1
  88. package/bundled-test-harness/assets/memory-B73-H_Rp.js +223 -0
  89. package/bundled-test-harness/assets/{model-cost-tier-test-Hu2-LpEw.js → model-cost-tier-test-B5ByLtAP.js} +1 -1
  90. package/bundled-test-harness/assets/{motion-DeM7UCtd.js → motion-BiMvMS08.js} +1 -1
  91. package/bundled-test-harness/assets/{node-BAM535H5.js → node-BWOLCOMI.js} +95 -6
  92. package/bundled-test-harness/assets/{operation-lowering-test-CG1gatuH.js → operation-lowering-test-Bz81V0Gt.js} +1 -1
  93. package/bundled-test-harness/assets/{operator-mode-card-chooser-test-Bo5ZnF_x.js → operator-mode-card-chooser-test-DNOnplV8.js} +1 -1
  94. package/bundled-test-harness/assets/{operator-mode-links-test-DVx_LQOU.js → operator-mode-links-test-BeXsOYMU.js} +1 -1
  95. package/bundled-test-harness/assets/{operator-mode-test-CCbFrYgN.js → operator-mode-test-jdeCXqhV.js} +1 -1
  96. package/bundled-test-harness/assets/{operator-mode-ui-test-Dm2Bf6Vn.js → operator-mode-ui-test-DdiFZylM.js} +1 -1
  97. package/bundled-test-harness/assets/{overlay-menu-items-test-Bk5AidFD.js → overlay-menu-items-test-C_Q4sJlC.js} +1 -1
  98. package/bundled-test-harness/assets/{overlays-CY7IgeOl.js → overlays-DZXjQykn.js} +3 -3
  99. package/bundled-test-harness/assets/{overlays-DhVKmSP-.js → overlays-hrAO43jG.js} +1 -1
  100. package/bundled-test-harness/assets/{panel-t9QyU1lY.js → panel-CXmB6GMs.js} +15 -75
  101. package/bundled-test-harness/assets/{panel-CUYJ8oHS.css → panel-D2zkZoIr.css} +39 -31
  102. package/bundled-test-harness/assets/{past-sessions-test-Dq-Y9T6W.js → past-sessions-test-Bm1UiLD0.js} +1 -1
  103. package/bundled-test-harness/assets/{permission-checking-realm-test-CuImx8ie.js → permission-checking-realm-test-Jq7R-yRT.js} +1 -1
  104. package/bundled-test-harness/assets/pill-menu-Ctn3JNqG.js +154 -0
  105. package/bundled-test-harness/assets/{pill-menu-test-kpWBGrX5.js → pill-menu-test-Cf2xO2w6.js} +1 -1
  106. package/bundled-test-harness/assets/plate-CnatwP3n.js +2 -0
  107. package/bundled-test-harness/assets/{plate-B4Lz2Ulo.js → plate-Cu5EnXQZ.js} +3 -3
  108. package/bundled-test-harness/assets/player-Bwn5tEsh.js +2 -0
  109. package/bundled-test-harness/assets/{player-B965XH82.js → player-CVdsx7Ng.js} +3 -3
  110. package/bundled-test-harness/assets/presence-BKkR2au7.js +553 -0
  111. package/bundled-test-harness/assets/presence-CcEXVges.js +2 -0
  112. package/bundled-test-harness/assets/{quick-look-test-VW5_W7dm.js → quick-look-test-BrnxRRsq.js} +1 -1
  113. package/bundled-test-harness/assets/{realm-api-keys-sg--fohv.js → realm-api-keys-CHPnfcko.js} +1 -1
  114. package/bundled-test-harness/assets/realm-api-keys-GLBmvu4U.js +2 -0
  115. package/bundled-test-harness/assets/{realm-api-keys-test-Cy7qSoAd.js → realm-api-keys-test-CHBGOFcx.js} +1 -1
  116. package/bundled-test-harness/assets/{realm-config-DvpP1xf-.js → realm-config-C7c3B2er.js} +1 -1
  117. package/bundled-test-harness/assets/{realm-config-policy-standing-test-DJk-ftgH.js → realm-config-policy-standing-test-C8aNeb6_.js} +1 -1
  118. package/bundled-test-harness/assets/{realm-config-routing-rule-edit-test-CTPiJrAL.js → realm-config-routing-rule-edit-test-Dmnw-VQz.js} +1 -1
  119. package/bundled-test-harness/assets/{realm-config-settings-test-CUa-PjMC.js → realm-config-settings-test-C6V0Mx35.js} +1 -1
  120. package/bundled-test-harness/assets/{reasoning-test-CeeGGwvf.js → reasoning-test-Dn0Xb42V.js} +1 -1
  121. package/bundled-test-harness/assets/{rendered-markdown-B8TH0yN4.js → rendered-markdown-DPEXS7MQ.js} +1 -1
  122. package/bundled-test-harness/assets/{rendered-markdown-test-CBRsIBqW.js → rendered-markdown-test-DxbJ1nFX.js} +1 -1
  123. package/bundled-test-harness/assets/{room-message-test-BTxZ_W74.js → room-message-test-BBE8UIPX.js} +1 -1
  124. package/bundled-test-harness/assets/{run-BSEzn_PH.js → run-CfyzhBXb.js} +2 -2
  125. package/bundled-test-harness/assets/{scrolling-test-C7R0UASi.js → scrolling-test-sLBz7Gxv.js} +2 -2
  126. package/bundled-test-harness/assets/{searchable-option-test-BiOqxIIs.js → searchable-option-test-Ix9_H5QV.js} +1 -1
  127. package/bundled-test-harness/assets/{sending-test-DOXQ0Tvx.js → sending-test-_Pqzq1bN.js} +1 -1
  128. package/bundled-test-harness/assets/{skills-test-BjCYI4Z_.js → skills-test-DUHRQGiC.js} +1 -1
  129. package/bundled-test-harness/assets/src-CEw1V0fi.js +11 -0
  130. package/bundled-test-harness/assets/{src-Bhefkhqj.js → src-CbBcj3xm.js} +11 -5
  131. package/bundled-test-harness/assets/{src-BDDYD1rs.js → src-D8bpj2tb.js} +2 -2
  132. package/bundled-test-harness/assets/{src-DySBAkac.js → src-Df4Vutrk.js} +3 -3
  133. package/bundled-test-harness/assets/{stick-to-bottom-resize-test-hN0AjdXP.js → stick-to-bottom-resize-test-Du4B3w2x.js} +4 -4
  134. package/bundled-test-harness/assets/{store-test-BD99H9dQ.js → store-test-9C-s0-H6.js} +1 -1
  135. package/bundled-test-harness/assets/{test-support-BcjhIHQa.js → test-support-BOFeeYuE.js} +25 -2
  136. package/bundled-test-harness/assets/test-support-CXESl4Wf.js +3 -0
  137. package/bundled-test-harness/assets/test-support-CgWmpebE.js +3 -0
  138. package/bundled-test-harness/assets/{test-support-Dl6FChlV.js → test-support-xTaMuaOA.js} +4 -27
  139. package/bundled-test-harness/assets/{tests-BqLDuQog.js → tests-CVpu0hZj.js} +437 -437
  140. package/bundled-test-harness/assets/{text-input-validator-test-CW6Ay7bo.js → text-input-validator-test-CcVh-MFa.js} +1 -1
  141. package/bundled-test-harness/assets/{titles-CFt3dEls.js → titles-BUbpcMoe.js} +3 -3
  142. package/bundled-test-harness/assets/titles-D80DwOQU.js +2 -0
  143. package/bundled-test-harness/assets/{to-device-streaming-test-DRxNCi7Z.js → to-device-streaming-test-RFHD62PN.js} +1 -1
  144. package/bundled-test-harness/assets/{token-usage-test-Ck9rB3Ie.js → token-usage-test-B2iJC-UX.js} +1 -1
  145. package/bundled-test-harness/assets/{tools-test-B3zniq10.js → tools-test-BZOWfXML.js} +1 -1
  146. package/bundled-test-harness/assets/{turn-settling-test-C0X6hL7x.js → turn-settling-test-Cvu2rvzM.js} +1 -1
  147. package/bundled-test-harness/assets/{turn-summary-0XOoAv3j.js → turn-summary-CAZVdcBd.js} +1 -1
  148. package/bundled-test-harness/index.html +26 -25
  149. package/bundled-test-harness/tests/index.html +26 -25
  150. package/bundled-types/choreo/choreo.gts +21 -42
  151. package/bundled-types/choreo/test-support/index.ts +9 -30
  152. package/bundled-types/glimmer-motion/index.ts +11 -3
  153. package/bundled-types/glimmer-motion/memory.ts +302 -0
  154. package/bundled-types/glimmer-motion/node.ts +125 -14
  155. package/bundled-types/glimmer-motion/presence-types.ts +13 -5
  156. package/bundled-types/glimmer-motion/presence.gts +199 -11
  157. package/bundled-types/glimmer-motion/snapshot.ts +280 -0
  158. package/bundled-types/glimmer-motion/test-support/index.ts +36 -4
  159. package/bundled-types/host-app/components/ai-assistant/llm-select.gts +3 -0
  160. package/bundled-types/host-app/components/ai-assistant/skill-menu/index.gts +3 -0
  161. package/bundled-types/host-app/components/matrix/room.gts +15 -3
  162. package/bundled-types/host-app/components/pill-menu/index.gts +74 -23
  163. package/package.json +1 -1
  164. package/bundled-test-harness/assets/choreo-Cd9yKlEK.js +0 -2
  165. package/bundled-test-harness/assets/clip-DnEy6oK5.js +0 -2
  166. package/bundled-test-harness/assets/film-C4NJTl9U.js +0 -2
  167. package/bundled-test-harness/assets/group-CPQojb-T.js +0 -2
  168. package/bundled-test-harness/assets/item-DGzMAZ9K.js +0 -2
  169. package/bundled-test-harness/assets/pill-menu-DaRpDMUm.js +0 -68
  170. package/bundled-test-harness/assets/plate-B7JjCVMj.js +0 -2
  171. package/bundled-test-harness/assets/player-DpGXST02.js +0 -2
  172. package/bundled-test-harness/assets/presence-CmLmFwhO.js +0 -2
  173. package/bundled-test-harness/assets/presence-Sv4y4tQy.js +0 -230
  174. package/bundled-test-harness/assets/realm-api-keys-DkdlXgAg.js +0 -2
  175. package/bundled-test-harness/assets/src-BpmcuCfH.js +0 -10
  176. package/bundled-test-harness/assets/test-support-CB3auo8h.js +0 -2
  177. package/bundled-test-harness/assets/test-support-DfGKwg35.js +0 -3
  178. package/bundled-test-harness/assets/titles-DVhrJZzS.js +0 -2
@@ -0,0 +1,553 @@
1
+ import { r as __exportAll } from "./chunk-Rp0pCe6z.js";
2
+ import { r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime--fcdnjmJ-BoCBNIsz.js";
3
+ import { et as tracked, kn as isDestroying, wt as setComponentTemplate } from "./cache-DtDz7X5V-Wn8jRDfL.js";
4
+ import { o as VOLATILE_TAG, u as consumeTag } from "./validator-T25d_ucg.js";
5
+ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
6
+ import { n as registerDestructor } from "./destroyable-mdLYRn_o.js";
7
+ import "./tracking-CNiq91Pk.js";
8
+ import "./component-BJO47HTh.js";
9
+ import { t as Component } from "./dist-CkA1rgqO.js";
10
+ import "./template-factory-ds9s0u8l.js";
11
+ import { o as snapshotOnRender, v as postRender, yt as frame } from "./layout-group-BS0gklZp.js";
12
+ import { a as seatOf, i as seatInsets, n as flushPendingMounts, t as MotionNode } from "./node-BWOLCOMI.js";
13
+ import { i as keepAsMemory, o as readShown, r as elementsOf, s as shownOnCopy } from "./memory-B73-H_Rp.js";
14
+ //#region ../glimmer-motion/src/snapshot.ts
15
+ /**
16
+ * `<Presence @mode="snapshot">`: a leaver's exit played on a static copy of
17
+ * it that the engine owns, instead of on its live block.
18
+ *
19
+ * A Glimmer block re-runs from live state for as long as it is rendered, so a
20
+ * leaver kept on screen for its exit shows state that has already moved on.
21
+ * In snapshot mode the leaver's block is torn down in the render that removes
22
+ * it, as if no <Presence> were there. Before that render patches the
23
+ * leaver's block, the element is copied as it stands. After it, the copy goes
24
+ * back where the element stood (before the first node that followed it and is
25
+ * still there), lifted out of flow at its recorded seat, plays the element's
26
+ * exit, and is removed.
27
+ *
28
+ * The seat is read in every frame that follows a render, and whenever the
29
+ * element or the box it is pinned inside resizes, not at the diff: Glimmer
30
+ * patches the DOM in template order, so by the time <Presence> diffs, content
31
+ * earlier in the template has already been patched for the render, and may
32
+ * have moved or resized the element. Its content is still the last frame's;
33
+ * its box may not be. A move that is neither a render nor one of those
34
+ * resizes is not seen: a transition on a sibling's width can shift the
35
+ * element without resizing either box, and the copy is then pinned where the
36
+ * element stood before that move.
37
+ *
38
+ * The copy is kept as a memory (see memory.ts): it shows the element's last
39
+ * frame, and nothing in it acts. A clone does not carry everything the
40
+ * element showed, so the copy also takes the canvas pixels it showed, the
41
+ * option each of its selects had chosen, and the values its script
42
+ * animations and transitions had reached.
43
+ */
44
+ /** where a copy is pinned, and what its exit variants resolve against */
45
+ /** what the diff read from a leaver, for its copy to use after the render */
46
+ var copyId = 0;
47
+ /** an element's CSS property for a keyframe key: `clipPath` → `clip-path`, `--x` stays */
48
+ function cssProperty(key) {
49
+ if (key.startsWith("--")) return key;
50
+ return key === "cssFloat" ? "float" : key.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
51
+ }
52
+ var KEYFRAME_META = new Set([
53
+ "composite",
54
+ "computedOffset",
55
+ "easing",
56
+ "offset"
57
+ ]);
58
+ /** a script animation or a transition: the copy keeps the value it shows now */
59
+ function freezeComputed(animation, live, copy) {
60
+ const effect = animation.effect;
61
+ const computed = getComputedStyle(live);
62
+ const style = copy.style;
63
+ for (const frame of effect.getKeyframes()) for (const key of Object.keys(frame)) if (!KEYFRAME_META.has(key)) {
64
+ const property = cssProperty(key);
65
+ style.setProperty(property, computed.getPropertyValue(property));
66
+ }
67
+ }
68
+ function copyCanvas(live, copy) {
69
+ try {
70
+ copy.getContext("2d")?.drawImage(live, 0, 0);
71
+ } catch {}
72
+ }
73
+ /**
74
+ * Copies an element that is about to be removed, as it stands. Called from
75
+ * <Presence>'s diff, before the render patches the element's block. `seat` is
76
+ * the one recorded for it (see MotionNode.recordSeat); an element that is
77
+ * leaving before any seat was recorded is pinned where it stands now.
78
+ */
79
+ function captureExit(source) {
80
+ const { element, props } = source;
81
+ const parent = element.parentNode;
82
+ const seat = source.seat ?? seatOf(element);
83
+ if (!parent || !seat) return;
84
+ const copy = element.cloneNode(true);
85
+ const live = elementsOf(element);
86
+ const copies = elementsOf(copy);
87
+ const indexOf = new Map(live.map((el, i) => [el, i]));
88
+ for (const animation of element.getAnimations({ subtree: true })) {
89
+ const effect = animation.effect;
90
+ const index = !(animation instanceof CSSAnimation) && effect instanceof KeyframeEffect && !effect.pseudoElement && effect.target ? indexOf.get(effect.target) : void 0;
91
+ if (index !== void 0) freezeComputed(animation, live[index], copies[index]);
92
+ }
93
+ live.forEach((el, i) => {
94
+ if (el instanceof HTMLCanvasElement) copyCanvas(el, copies[i]);
95
+ else if (el instanceof HTMLOptionElement) copies[i].selected = el.selected;
96
+ });
97
+ const following = [];
98
+ for (let node = element.nextSibling; node; node = node.nextSibling) following.push(node);
99
+ return new ExitCopy({
100
+ copy,
101
+ following,
102
+ parent,
103
+ props,
104
+ seat,
105
+ shown: shownOnCopy(readShown(element), element, copy)
106
+ });
107
+ }
108
+ /** one static copy of a leaver, from the render that removed the leaver until its exit ends */
109
+ var ExitCopy = class {
110
+ node;
111
+ ended = false;
112
+ /** set once the copy has mounted and its exit has started: before that, a report is the mount's */
113
+ armed = false;
114
+ reports = /* @__PURE__ */ new Map();
115
+ onDone;
116
+ captured;
117
+ constructor(captured) {
118
+ this.captured = captured;
119
+ }
120
+ /** after the render: put the copy where its element stood and play the exit */
121
+ start(placement, onDone) {
122
+ this.onDone = onDone;
123
+ const { copy, following, parent, props, shown } = this.captured;
124
+ if (this.ended || !parent.isConnected) {
125
+ this.end(true);
126
+ return;
127
+ }
128
+ this.pin(placement);
129
+ const before = following.find((node) => node.parentNode === parent);
130
+ keepAsMemory(copy, shown, () => parent.insertBefore(copy, before ?? null));
131
+ (this.node = new MotionNode()).update(copy, {
132
+ ...props,
133
+ presence: this.handle(placement)
134
+ });
135
+ flushPendingMounts();
136
+ this.armed = true;
137
+ this.check();
138
+ }
139
+ /** stop now and remove the copy, without reporting an exit (its item came back) */
140
+ cut() {
141
+ this.end(false);
142
+ }
143
+ /** lifted out of flow at the seat its element had: inline and important, so the copy's own CSS cannot move it */
144
+ pin({ anchorX, anchorY }) {
145
+ const { copy, seat } = this.captured;
146
+ const { inline, block } = seatInsets(seat, anchorX, anchorY);
147
+ const style = copy.style;
148
+ const set = (property, value) => style.setProperty(property, value, "important");
149
+ set("position", "absolute");
150
+ set("margin", "0");
151
+ set("width", `${seat.w}px`);
152
+ set("height", `${seat.h}px`);
153
+ for (const side of [
154
+ "top",
155
+ "right",
156
+ "bottom",
157
+ "left"
158
+ ]) set(side, "auto");
159
+ set(inline[0], `${inline[1]}px`);
160
+ set(block[0], `${block[1]}px`);
161
+ }
162
+ /** the copy is not present, and its exit is done once every motion element registered in it reports */
163
+ handle(placement) {
164
+ const id = `presence-copy-${copyId++}`;
165
+ const context = {
166
+ id,
167
+ isPresent: false,
168
+ custom: placement.custom,
169
+ register: (childId) => {
170
+ this.reports.set(childId, false);
171
+ return () => {
172
+ this.reports.delete(childId);
173
+ this.check();
174
+ };
175
+ },
176
+ onExitComplete: (childId) => {
177
+ this.reports.set(childId, true);
178
+ this.check();
179
+ }
180
+ };
181
+ return {
182
+ anchorX: placement.anchorX,
183
+ anchorY: placement.anchorY,
184
+ context,
185
+ isPresent: false,
186
+ key: id,
187
+ mode: "sync",
188
+ popCandidate: () => () => void 0,
189
+ subscribe: () => () => void 0
190
+ };
191
+ }
192
+ check() {
193
+ if (this.armed && !this.ended && [...this.reports.values()].every(Boolean)) this.end(true);
194
+ }
195
+ end(report) {
196
+ if (this.ended) return;
197
+ this.ended = true;
198
+ this.node?.destroy();
199
+ this.node = void 0;
200
+ this.captured.copy.remove();
201
+ if (report) this.onDone?.();
202
+ }
203
+ };
204
+ //#endregion
205
+ //#region ../glimmer-motion/src/presence.gts
206
+ /**
207
+ * AnimatePresence for Glimmer — the same algorithm as Motion's
208
+ * components/AnimatePresence (diff present vs rendered, keep leavers until
209
+ * every exit inside them completes, `exitComplete` map, mode="wait", custom,
210
+ * onExitComplete, propagate).
211
+ *
212
+ * <Presence @items={{this.crumbs}} @key={{this.keyOf}} @mode="popLayout" as |crumb p|>
213
+ * <span {{motion presence=p initial=… animate=… exit=…}}>…</span>
214
+ * </Presence>
215
+ *
216
+ * Motion elements nested deeper inside a child inherit its presence through
217
+ * their parent VisualElement, as React's PresenceContext would provide it.
218
+ *
219
+ * `@mode="snapshot"` is this package's own: a leaver's block is torn down in
220
+ * the render that removes it, and a static copy of the element the handle was
221
+ * passed to plays that element's exit, lifted out of flow at the seat the last
222
+ * frame showed the element in. Use it where a leaver's content comes from
223
+ * state that moves on as it leaves, such as a component's blocks: a live
224
+ * leaver would re-render from that state, and stay focusable, with its ids
225
+ * and form controls, beside its replacement. The copy is kept as a memory
226
+ * (see memory.ts). See snapshot.ts.
227
+ */
228
+ var presence_exports = /* @__PURE__ */ __exportAll({
229
+ Presence: () => Presence,
230
+ default: () => Presence
231
+ });
232
+ var presenceId = 0;
233
+ /** PresenceChild: one context per rendered child, tracking the motion elements registered inside it */
234
+ var Entry = class {
235
+ static {
236
+ decorateFieldV2(this.prototype, "item", [tracked]);
237
+ }
238
+ #item = (initializeDeferredDecorator(this, "item"), void 0);
239
+ /** last presence seen by the diff — plain state, never read during render tracking */ wasPresent = true;
240
+ id = `presence-${presenceId++}`;
241
+ children = /* @__PURE__ */ new Map();
242
+ subscribers = /* @__PURE__ */ new Set();
243
+ /** popLayout and snapshot: the direct children, so they can be read before the DOM changes */
244
+ popCandidates = /* @__PURE__ */ new Set();
245
+ subscribe(refresh) {
246
+ this.subscribers.add(refresh);
247
+ return () => this.subscribers.delete(refresh);
248
+ }
249
+ popCandidate(node) {
250
+ this.popCandidates.add(node);
251
+ return () => {
252
+ this.popCandidates.delete(node);
253
+ };
254
+ }
255
+ /** snapshot: each direct child reads its seat now; returns the elements those seats depend on */
256
+ recordSeats() {
257
+ const watched = [];
258
+ this.popCandidates.forEach((node) => watched.push(...node.recordSeat()));
259
+ return watched;
260
+ }
261
+ /** snapshot: static copies of the direct children, taken before the render that removes them */
262
+ copiesForExit() {
263
+ const copies = [];
264
+ this.popCandidates.forEach((node) => {
265
+ const source = node.exitForCopy();
266
+ const copy = source && captureExit(source);
267
+ if (copy) copies.push(copy);
268
+ });
269
+ return copies;
270
+ }
271
+ key;
272
+ owner;
273
+ initialBlocked;
274
+ constructor(key, item, owner, initialBlocked) {
275
+ this.key = key;
276
+ this.item = item;
277
+ this.owner = owner;
278
+ this.initialBlocked = initialBlocked;
279
+ }
280
+ /** derived from @items (and the parent handle) — nothing is mutated during render */
281
+ get isPresent() {
282
+ return this.owner.isKeyPresent(this.key);
283
+ }
284
+ get mode() {
285
+ return this.owner.args.mode ?? "sync";
286
+ }
287
+ get anchorX() {
288
+ return this.owner.args.anchorX ?? "left";
289
+ }
290
+ get anchorY() {
291
+ return this.owner.args.anchorY ?? "top";
292
+ }
293
+ get context() {
294
+ return {
295
+ id: this.id,
296
+ isPresent: this.isPresent,
297
+ initial: this.initialBlocked ? false : void 0,
298
+ custom: this.owner.args.custom,
299
+ register: (childId) => {
300
+ const leaving = !this.isPresent;
301
+ this.children.set(childId, leaving);
302
+ if (leaving) postRender(() => this.checkComplete());
303
+ return () => {
304
+ this.children.delete(childId);
305
+ if (!this.isPresent && !this.children.size) this.owner.onExit(this.key);
306
+ };
307
+ },
308
+ onExitComplete: (childId) => {
309
+ this.children.set(childId, true);
310
+ this.checkComplete();
311
+ }
312
+ };
313
+ }
314
+ /** presence flipped (PresenceChild's isPresent effects): children report again; no children → done at once */
315
+ presenceChanged(present) {
316
+ if (!present && this.mode === "popLayout") this.popCandidates.forEach((node) => node.measureForPop());
317
+ this.children.forEach((_, k) => this.children.set(k, false));
318
+ postRender(() => this.notify());
319
+ if (!present) postRender(() => this.checkImmediateExit());
320
+ }
321
+ notify() {
322
+ flushPendingMounts();
323
+ this.subscribers.forEach((fn) => fn());
324
+ }
325
+ /** every registered child has reported: the leaver is done */
326
+ checkComplete() {
327
+ if (this.isPresent) return;
328
+ for (const done of this.children.values()) if (!done) return;
329
+ this.owner.onExit(this.key);
330
+ }
331
+ checkImmediateExit() {
332
+ flushPendingMounts();
333
+ if (!this.isPresent && !this.children.size) this.owner.onExit(this.key);
334
+ }
335
+ };
336
+ var Presence = class extends Component {
337
+ entries = /* @__PURE__ */ new Map();
338
+ order = [];
339
+ lastItems;
340
+ firstRender = true;
341
+ /** React's exitComplete map + exitingComponents set */
342
+ exitComplete = /* @__PURE__ */ new Map();
343
+ exiting = /* @__PURE__ */ new Set();
344
+ pendingItems = [];
345
+ registeredWithParent;
346
+ selfId = `presence:${presenceId++}`;
347
+ /** snapshot: copies still playing an exit, by the key of the item they copied */
348
+ copies = /* @__PURE__ */ new Map();
349
+ /** snapshot: a read of the children's seats is booked for the next frame */
350
+ seatReadBooked = false;
351
+ /** snapshot: re-reads the seats when a child, or the box it is pinned inside, resizes */
352
+ resizes;
353
+ watched = /* @__PURE__ */ new Set();
354
+ static {
355
+ decorateFieldV2(this.prototype, "version", [tracked], function() {
356
+ return 0;
357
+ });
358
+ }
359
+ #version = (initializeDeferredDecorator(this, "version"), void 0);
360
+ constructor(owner, args) {
361
+ super(owner, args);
362
+ registerDestructor(this, () => {
363
+ this.registeredWithParent?.();
364
+ this.copies.forEach((_, copy) => copy.cut());
365
+ this.copies.clear();
366
+ this.stopWatchingSeats();
367
+ });
368
+ }
369
+ get parentPresent() {
370
+ const { propagate, parent } = this.args;
371
+ return !propagate || !parent || parent.isPresent;
372
+ }
373
+ /** the keys @items currently asks for (empty while a propagating parent is leaving) */
374
+ get presentKeys() {
375
+ return this.parentPresent ? this.args.items.map(this.args.key) : [];
376
+ }
377
+ isKeyPresent(key) {
378
+ return this.presentKeys.includes(key);
379
+ }
380
+ /**
381
+ * Snapshot: a leaver's copy is pinned to the seat its element last
382
+ * recorded. Each direct child reads its seat in the frame after every
383
+ * render, and again whenever it or the box it is pinned inside resizes (see
384
+ * MotionNode.recordSeat). The diff cannot read it: Glimmer patches the DOM
385
+ * in template order, so content earlier in the template than this
386
+ * <Presence> has been patched by the time it diffs, and may have moved or
387
+ * resized the leaver. A move that is neither a render nor one of those
388
+ * resizes, such as a transition on a sibling's width, is not seen.
389
+ */
390
+ get seatWatch() {
391
+ if (this.args.mode !== "snapshot") {
392
+ this.stopWatchingSeats();
393
+ return;
394
+ }
395
+ consumeTag(VOLATILE_TAG);
396
+ if (!this.seatReadBooked) {
397
+ this.seatReadBooked = true;
398
+ frame.read(() => {
399
+ this.seatReadBooked = false;
400
+ this.readSeats();
401
+ });
402
+ }
403
+ }
404
+ /**
405
+ * Reads every child's seat. After a render it also moves the resize watch
406
+ * onto the elements those seats depend on now; a read from the watch itself
407
+ * leaves it alone, since a target observed inside a resize callback can be
408
+ * left undelivered, which the browser reports as an error.
409
+ */
410
+ readSeats(rewatch = true) {
411
+ if (isDestroying(this) || this.args.mode !== "snapshot") return;
412
+ const watched = /* @__PURE__ */ new Set();
413
+ this.entries.forEach((e) => e.recordSeats().forEach((el) => watched.add(el)));
414
+ if (!rewatch) return;
415
+ const resizes = this.resizes ??= new ResizeObserver(() => this.readSeats(false));
416
+ this.watched.forEach((el) => {
417
+ if (!watched.has(el)) resizes.unobserve(el);
418
+ });
419
+ watched.forEach((el) => {
420
+ if (!this.watched.has(el)) resizes.observe(el);
421
+ });
422
+ this.watched = watched;
423
+ }
424
+ stopWatchingSeats() {
425
+ this.resizes?.disconnect();
426
+ this.resizes = void 0;
427
+ this.watched.clear();
428
+ }
429
+ get rendered() {
430
+ this.version;
431
+ const items = this.args.items;
432
+ const parentPresent = this.parentPresent;
433
+ if (this.args.propagate && this.args.parent && !this.registeredWithParent) this.registeredWithParent = this.args.parent.context.register(this.selfId);
434
+ if (items !== this.lastItems || this.lastParentPresent !== parentPresent) {
435
+ snapshotOnRender();
436
+ this.lastItems = items;
437
+ this.lastParentPresent = parentPresent;
438
+ this.pendingItems = items;
439
+ const presentKeys = this.presentKeys;
440
+ const blockInitial = this.firstRender && this.args.initial === false;
441
+ const snapshot = this.args.mode === "snapshot";
442
+ items.forEach((item) => {
443
+ const k = this.args.key(item);
444
+ const e = this.entries.get(k);
445
+ if (e) e.item = item;
446
+ else {
447
+ this.cutCopies(k);
448
+ this.entries.set(k, new Entry(k, item, this, blockInitial));
449
+ }
450
+ });
451
+ const exitingKeys = [];
452
+ const copied = [];
453
+ let snapshotLeft = false;
454
+ let next = parentPresent ? [...presentKeys] : [];
455
+ let insertionIndex = 0;
456
+ for (const k of this.order) {
457
+ const presentIndex = presentKeys.indexOf(k);
458
+ if (presentIndex === -1 && snapshot) {
459
+ snapshotLeft = true;
460
+ for (const copy of this.entries.get(k)?.copiesForExit() ?? []) {
461
+ this.copies.set(copy, k);
462
+ copied.push(copy);
463
+ }
464
+ this.entries.delete(k);
465
+ this.exitComplete.delete(k);
466
+ this.exiting.delete(k);
467
+ } else if (presentIndex === -1) {
468
+ next.splice(insertionIndex++, 0, k);
469
+ exitingKeys.push(k);
470
+ } else insertionIndex = presentIndex + exitingKeys.length + 1;
471
+ }
472
+ if (snapshotLeft) postRender(() => this.startCopies(copied));
473
+ if ((this.args.mode ?? "sync") === "wait" && exitingKeys.length) next = exitingKeys;
474
+ this.order = next.filter((k, i) => next.indexOf(k) === i);
475
+ for (const k of this.order) {
476
+ const e = this.entries.get(k);
477
+ const present = presentKeys.includes(k);
478
+ if (!present) {
479
+ if (this.exitComplete.get(k) !== true) this.exitComplete.set(k, false);
480
+ } else {
481
+ this.exitComplete.delete(k);
482
+ this.exiting.delete(k);
483
+ }
484
+ if (e.wasPresent !== present) {
485
+ e.wasPresent = present;
486
+ e.presenceChanged(present);
487
+ }
488
+ }
489
+ this.firstRender = false;
490
+ if (this.args.propagate && !parentPresent && !this.order.length && !snapshotLeft && !this.copies.size) postRender(() => this.safeToRemove());
491
+ }
492
+ return this.order.map((k) => this.entries.get(k));
493
+ }
494
+ lastParentPresent;
495
+ /** AnimatePresence's onExit for one child: once every exiting child is done, show what's pending */
496
+ onExit(key) {
497
+ if (this.exiting.has(key)) return;
498
+ if (!this.exitComplete.has(key)) return;
499
+ this.exiting.add(key);
500
+ this.exitComplete.set(key, true);
501
+ for (const done of this.exitComplete.values()) if (!done) return;
502
+ const presentKeys = this.parentPresent ? this.pendingItems.map(this.args.key) : [];
503
+ for (const k of this.order) if (!presentKeys.includes(k)) this.entries.delete(k);
504
+ this.lastItems = void 0;
505
+ this.exitComplete.clear();
506
+ this.exiting.clear();
507
+ this.order = presentKeys;
508
+ this.version++;
509
+ if (this.args.propagate) this.safeToRemove();
510
+ this.args.onExitComplete?.();
511
+ }
512
+ safeToRemove() {
513
+ this.args.parent?.context.onExitComplete?.(this.selfId);
514
+ }
515
+ /** snapshot: after the render that removed their items, the copies go back in and play their exits */
516
+ startCopies(copies) {
517
+ const placement = {
518
+ anchorX: this.args.anchorX ?? "left",
519
+ anchorY: this.args.anchorY ?? "top",
520
+ custom: this.args.custom
521
+ };
522
+ for (const copy of copies) if (this.copies.has(copy)) copy.start(placement, () => this.copyLeft(copy));
523
+ if (!copies.length) this.checkCopiesLeft();
524
+ }
525
+ copyLeft(copy) {
526
+ this.copies.delete(copy);
527
+ this.checkCopiesLeft();
528
+ }
529
+ /** every copy has finished its exit, and no live leaver is still playing one: report as onExit does */
530
+ checkCopiesLeft() {
531
+ if (this.copies.size || this.exitComplete.size || isDestroying(this)) return;
532
+ if (this.args.propagate) this.safeToRemove();
533
+ this.args.onExitComplete?.();
534
+ }
535
+ cutCopies(key) {
536
+ this.copies.forEach((k, copy) => {
537
+ if (k === key) {
538
+ this.copies.delete(copy);
539
+ copy.cut();
540
+ }
541
+ });
542
+ }
543
+ static {
544
+ setComponentTemplate(templateFactory({
545
+ "id": "OVg7Gi4X",
546
+ "block": "[[[1,[30,0,[\"seatWatch\"]]],[1,\"\\n\"],[42,[28,[31,1],[[28,[31,1],[[30,0,[\"rendered\"]]],null]],null],\"key\",[[[1,\" \"],[18,2,[[30,1,[\"item\"]],[30,1]]],[1,\"\\n\"]],[1]],null]],[\"e\",\"&default\"],[\"each\",\"-track-array\",\"yield\"]]",
547
+ "moduleName": "/home/runner/work/boxel/boxel/packages/glimmer-motion/src/presence.gts",
548
+ "isStrictMode": true
549
+ }), this);
550
+ }
551
+ };
552
+ //#endregion
553
+ export { presence_exports as n, Presence as t };
@@ -0,0 +1,2 @@
1
+ import { t as Presence } from "./presence-BKkR2au7.js";
2
+ export { Presence, Presence as default };
@@ -6,7 +6,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
6
6
  import "./component-BJO47HTh.js";
7
7
  import { t as Component } from "./dist-CkA1rgqO.js";
8
8
  import "./template-factory-ds9s0u8l.js";
9
- import { t as OperatorModeContainer } from "./container-XSX5809v.js";
9
+ import { t as OperatorModeContainer } from "./container-CXZoEvul.js";
10
10
  import { c as triggerKeyEvent, d as click, o as waitFor, s as fillIn } from "./dist-BOAdzfkP.js";
11
11
  import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
12
12
  import { D as realmConfigCardJSON, F as setupLocalIndexing, I as setupOnSave, L as setupRealmCacheTeardown, M as setupCardLogs, P as setupIntegrationTestRealm, Z as withCachedRealmSetup, lt as setupRenderingTest, ot as setupOperatorModeStateCleanup, t as setupMockMatrix } from "./mock-matrix-Ci72h1Wf.js";
@@ -18,7 +18,7 @@ import { a as ListRealmKeySharesTool, r as SuspendKeyShareTool, s as GetKeyShare
18
18
  import { t as OpenSecureWindowTool } from "./open-secure-window-DLIotnK5.js";
19
19
  import { t as Button } from "./button-CXBgG9uE.js";
20
20
  import { c as listenDocumentCapture, s as listenDocument } from "./focus-Dmgc0c-7.js";
21
- import { t as Chip } from "./chip-BydgljDL.js";
21
+ import { t as Chip } from "./chip-DVJE_YDh.js";
22
22
  import { a as resolvePlacement, i as resolveOpen, n as anchorTo } from "./overlay-C5k_NSQJ.js";
23
23
  import { t as isLiveRender } from "./render-context-CZy_0gyC.js";
24
24
  //#region ../boxel-icons/dist/@cardstack/boxel-icons/v1/icons/key.js
@@ -0,0 +1,2 @@
1
+ import { t as RealmApiKeys } from "./realm-api-keys-CHPnfcko.js";
2
+ export { RealmApiKeys as default };
@@ -6,7 +6,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
6
6
  import "./component-BJO47HTh.js";
7
7
  import { t as Component } from "./dist-CkA1rgqO.js";
8
8
  import "./template-factory-ds9s0u8l.js";
9
- import { t as OperatorModeContainer } from "./container-XSX5809v.js";
9
+ import { t as OperatorModeContainer } from "./container-CXZoEvul.js";
10
10
  import { T as settled, o as waitFor } from "./dist-BOAdzfkP.js";
11
11
  import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
12
12
  import { D as realmConfigCardJSON, F as setupLocalIndexing, P as setupIntegrationTestRealm, St as unregisterRealmServerRoute, lt as setupRenderingTest, ot as setupOperatorModeStateCleanup, t as setupMockMatrix, yt as registerRealmServerRoute } from "./mock-matrix-Ci72h1Wf.js";
@@ -35,7 +35,7 @@ import { t as NumberField } from "./number-BhzcQBKm.js";
35
35
  import { t as isLiveRender } from "./render-context-CZy_0gyC.js";
36
36
  import { t as JsonField } from "./json-field-BWYU9trX.js";
37
37
  import { d as operations, u as operation } from "./operations-BTFC1cvX.js";
38
- import { t as RealmApiKeys } from "./realm-api-keys-sg--fohv.js";
38
+ import { t as RealmApiKeys } from "./realm-api-keys-CHPnfcko.js";
39
39
  //#region ../base/realm-config.gts
40
40
  var RoutingRuleAtom = class extends Component$1 {
41
41
  static {
@@ -7,7 +7,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
7
7
  import "./component-BJO47HTh.js";
8
8
  import { t as Component } from "./dist-CkA1rgqO.js";
9
9
  import "./template-factory-ds9s0u8l.js";
10
- import { t as OperatorModeContainer } from "./container-XSX5809v.js";
10
+ import { t as OperatorModeContainer } from "./container-CXZoEvul.js";
11
11
  import { T as settled, d as click, m as rerender, o as waitFor } from "./dist-BOAdzfkP.js";
12
12
  import { n as ISOLATED_RENDER_ELEMENT_ID } from "./render-service-DONRC3JB.js";
13
13
  import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
@@ -7,7 +7,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
7
7
  import "./component-BJO47HTh.js";
8
8
  import { t as Component } from "./dist-CkA1rgqO.js";
9
9
  import "./template-factory-ds9s0u8l.js";
10
- import { t as OperatorModeContainer } from "./container-XSX5809v.js";
10
+ import { t as OperatorModeContainer } from "./container-CXZoEvul.js";
11
11
  import { T as settled, d as click, o as waitFor, s as fillIn } from "./dist-BOAdzfkP.js";
12
12
  import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
13
13
  import { F as setupLocalIndexing, P as setupIntegrationTestRealm, lt as setupRenderingTest, nt as provide, ot as setupOperatorModeStateCleanup, t as setupMockMatrix } from "./mock-matrix-Ci72h1Wf.js";
@@ -6,7 +6,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
6
6
  import "./component-BJO47HTh.js";
7
7
  import { t as Component } from "./dist-CkA1rgqO.js";
8
8
  import "./template-factory-ds9s0u8l.js";
9
- import { t as OperatorModeContainer } from "./container-XSX5809v.js";
9
+ import { t as OperatorModeContainer } from "./container-CXZoEvul.js";
10
10
  import { M as waitUntil, d as click, l as triggerEvent, o as waitFor, s as fillIn } from "./dist-BOAdzfkP.js";
11
11
  import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
12
12
  import { F as setupLocalIndexing, P as setupIntegrationTestRealm, lt as setupRenderingTest, ot as setupOperatorModeStateCleanup, t as setupMockMatrix } from "./mock-matrix-Ci72h1Wf.js";
@@ -6,7 +6,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
6
6
  import "./component-BJO47HTh.js";
7
7
  import { t as Component } from "./dist-CkA1rgqO.js";
8
8
  import "./template-factory-ds9s0u8l.js";
9
- import { t as OperatorModeContainer } from "./container-XSX5809v.js";
9
+ import { t as OperatorModeContainer } from "./container-CXZoEvul.js";
10
10
  import { M as waitUntil, T as settled, d as click, o as waitFor } from "./dist-BOAdzfkP.js";
11
11
  import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
12
12
  import { D as realmConfigCardJSON, F as setupLocalIndexing, I as setupOnSave, L as setupRealmCacheTeardown, M as setupCardLogs, P as setupIntegrationTestRealm, Z as withCachedRealmSetup, lt as setupRenderingTest, ot as setupOperatorModeStateCleanup, t as setupMockMatrix } from "./mock-matrix-Ci72h1Wf.js";
@@ -20,7 +20,7 @@ import { r as modifier, t as ClassBasedModifier } from "./dist-nMt-N14r.js";
20
20
  import { t as consume } from "./dist-Ble0L9o7.js";
21
21
  import { t as CardRenderer } from "./card-renderer-BxpiPOZ6.js";
22
22
  import { a as markdownToHtml, i as markdownOversizedNoticeHtml, r as isMarkdownOverRenderLimit } from "./marked-sync-C-diBz5n.js";
23
- import { s as beacon } from "./src-BDDYD1rs.js";
23
+ import { s as beacon } from "./src-D8bpj2tb.js";
24
24
  import { t as cardRefLabel } from "./reply-furniture-Cu7OoDDn.js";
25
25
  //#region app/components/operator-mode/preview-panel/rendered-markdown.gts
26
26
  function resolveUrl(raw, baseUrl) {
@@ -8,7 +8,7 @@ import "./component-BJO47HTh.js";
8
8
  import { t as Component } from "./dist-CkA1rgqO.js";
9
9
  import "./template-factory-ds9s0u8l.js";
10
10
  import { M as waitUntil, T as settled } from "./dist-BOAdzfkP.js";
11
- import { t as RenderedMarkdown } from "./rendered-markdown-B8TH0yN4.js";
11
+ import { t as RenderedMarkdown } from "./rendered-markdown-DPEXS7MQ.js";
12
12
  import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
13
13
  import { lt as setupRenderingTest } from "./mock-matrix-Ci72h1Wf.js";
14
14
  import { n as renderComponent } from "./render-component-B15Z0e2v.js";
@@ -9,7 +9,7 @@ import "./component-BJO47HTh.js";
9
9
  import { t as Component } from "./dist-CkA1rgqO.js";
10
10
  import "./template-factory-ds9s0u8l.js";
11
11
  import { t as templateOnly } from "./template-only-6nVzLWF-.js";
12
- import { n as aiBotUserId, r as RoomMessage } from "./panel-t9QyU1lY.js";
12
+ import { n as aiBotUserId, r as RoomMessage } from "./panel-CXmB6GMs.js";
13
13
  import { n as getCardCollection } from "./card-collection-DROiEsNV.js";
14
14
  import { n as getCard } from "./card-resource-BF1P-sI3.js";
15
15
  import { r as provide } from "./dist-Ble0L9o7.js";