@cardstack/boxel-cli 0.9.0 → 0.10.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 (995) hide show
  1. package/README.md +12 -0
  2. package/bundled-test-harness/assets/account-switch-failed-GCSVbJML.js +23 -0
  3. package/bundled-test-harness/assets/account-switch-failed-GsWni_Gk.css +18 -0
  4. package/bundled-test-harness/assets/account-switch-failed-test-CdZWNths.js +45 -0
  5. package/bundled-test-harness/assets/add-workspace-c7L50Gx8.js +141 -0
  6. package/bundled-test-harness/assets/add-workspace-test-BZxHa6Pe.js +72 -0
  7. package/bundled-test-harness/assets/advanced-color-picker-0pGF-3WG.js +504 -0
  8. package/bundled-test-harness/assets/advanced-color-picker-pbO4HWc_.js +2 -0
  9. package/bundled-test-harness/assets/ai-assistant-test-Dnm4o9vK.js +2211 -0
  10. package/bundled-test-harness/assets/ai-module-creation-test-C6253CMt.js +151 -0
  11. package/bundled-test-harness/assets/aibot-message-miKyGeKk.js +278 -0
  12. package/bundled-test-harness/assets/app-i8pGdQkw.js +22855 -0
  13. package/bundled-test-harness/assets/app-zC7o6PyQ.css +2718 -0
  14. package/bundled-test-harness/assets/audio-file-def-DHnydP0t.js +133 -0
  15. package/bundled-test-harness/assets/auth-container-BP2gSoo4.css +51 -0
  16. package/bundled-test-harness/assets/auth-container-DN94iVfX.js +24 -0
  17. package/bundled-test-harness/assets/avif-meta-extractor-Bo5zRX1V.js +162 -0
  18. package/bundled-test-harness/assets/base64-image-B0RYxzHT.js +2 -0
  19. package/bundled-test-harness/assets/base64-image-Bxjqdwew.js +262 -0
  20. package/bundled-test-harness/assets/big-integer-7RLj5_7H.js +89 -0
  21. package/bundled-test-harness/assets/big-integer-C9sJxKVy.js +2 -0
  22. package/bundled-test-harness/assets/binary-upload-dedupe-test-DZo3EaV0.js +308 -0
  23. package/bundled-test-harness/assets/boolean-CcKPYUph.js +94 -0
  24. package/bundled-test-harness/assets/boolean-DvsSmtM7.js +2 -0
  25. package/bundled-test-harness/assets/brand-functional-palette-KpVSY2Sa.js +137 -0
  26. package/bundled-test-harness/assets/brand-logo-DDiOec0t.js +295 -0
  27. package/bundled-test-harness/assets/broken-link-template-test-DAngUbFJ.js +192 -0
  28. package/bundled-test-harness/assets/bundled-base-C_lumba6.js +254 -0
  29. package/bundled-test-harness/assets/bundled-base-modules-test-CSF7Rl4Z.js +54 -0
  30. package/bundled-test-harness/assets/buried-stack-item-scroll-test-B0J_EP88.js +236 -0
  31. package/bundled-test-harness/assets/bxl-expression-test-Dej7WgI6.js +250 -0
  32. package/bundled-test-harness/assets/can-invoke-test-elyUcOKT.js +401 -0
  33. package/bundled-test-harness/assets/card-api-CjWXCkqh.js +8 -0
  34. package/bundled-test-harness/assets/card-api-Dzje0smT.js +4393 -0
  35. package/bundled-test-harness/assets/card-api-test-DA8d4Ooc.js +198 -0
  36. package/bundled-test-harness/assets/card-basics-test-mp1Odo-l.js +5364 -0
  37. package/bundled-test-harness/assets/card-chooser-paging-test-y8OfboYd.js +235 -0
  38. package/bundled-test-harness/assets/card-chooser-test-nmg2zkDj.js +393 -0
  39. package/bundled-test-harness/assets/card-collection-BXiO3i7R.js +118 -0
  40. package/bundled-test-harness/assets/card-context-search-results-Dbhn7lvW.js +30 -0
  41. package/bundled-test-harness/assets/card-context-search-results-test-DVXT-YC5.js +184 -0
  42. package/bundled-test-harness/assets/card-def-field-def-relationships-test-mX4rxrtO.js +562 -0
  43. package/bundled-test-harness/assets/card-delete-test-BxFsqFnX.js +466 -0
  44. package/bundled-test-harness/assets/card-error-C-7hjxu9.js +72 -0
  45. package/bundled-test-harness/assets/card-error-awaiting-index-test-BvfY2eaW.js +53 -0
  46. package/bundled-test-harness/assets/card-error-detail-nMwopDir.js +271 -0
  47. package/bundled-test-harness/assets/card-info-CTFxdohf.js +2 -0
  48. package/bundled-test-harness/assets/card-list-B9QrkJ97.js +2 -0
  49. package/bundled-test-harness/assets/card-list-XbwLCXZS.js +202 -0
  50. package/bundled-test-harness/assets/card-resource-JGLjQUy6.js +86 -0
  51. package/bundled-test-harness/assets/cards-grid-CWG41hZE.js +344 -0
  52. package/bundled-test-harness/assets/cards-grid-DSpX99p6.js +2 -0
  53. package/bundled-test-harness/assets/cards-grid-layout-Bht0LwZy.js +2 -0
  54. package/bundled-test-harness/assets/cards-grid-layout-CdpKlHUb.js +111 -0
  55. package/bundled-test-harness/assets/check-correctness-test-C4BrUeKA.js +554 -0
  56. package/bundled-test-harness/assets/clip-BEVvLrXx.js +2 -0
  57. package/bundled-test-harness/assets/clip-CoB714qX.js +92 -0
  58. package/bundled-test-harness/assets/code-ref-C2uguisI.js +2 -0
  59. package/bundled-test-harness/assets/code-ref-Cy7sV5a4.js +138 -0
  60. package/bundled-test-harness/assets/code-submode-availability-test-BsA_Ul01.js +198 -0
  61. package/bundled-test-harness/assets/code-submode-test-DkBhpEPB.js +1839 -0
  62. package/bundled-test-harness/assets/codeblocks-test-B1eZ2_JF.js +418 -0
  63. package/bundled-test-harness/assets/codemirror-editor-C6pxSm5y.js +2 -0
  64. package/bundled-test-harness/assets/codemirror-editor-DzM46Cd8.js +701 -0
  65. package/bundled-test-harness/assets/codemirror-embed-toolbar-test-BemP-ZdG.js +366 -0
  66. package/bundled-test-harness/assets/color-C-jGNFWZ.js +2 -0
  67. package/bundled-test-harness/assets/color-field-test-DPIRaBec.js +212 -0
  68. package/bundled-test-harness/assets/color-picker-field-Bv4IjS-d.js +139 -0
  69. package/bundled-test-harness/assets/color-picker-field-D1bYCQIg.js +2 -0
  70. package/bundled-test-harness/assets/color-wheel-picker-IIaCQplL.js +283 -0
  71. package/bundled-test-harness/assets/color-wheel-picker-Kw-UN3kV.js +2 -0
  72. package/bundled-test-harness/assets/color-zzCBneih.js +65 -0
  73. package/bundled-test-harness/assets/command-data-BMBtjT1E.js +95 -0
  74. package/bundled-test-harness/assets/command-data-BXC5Z0oA.js +2 -0
  75. package/bundled-test-harness/assets/compaction-test-CxUKnxlQ.js +150 -0
  76. package/bundled-test-harness/assets/components-Ct_agx0G.js +14294 -0
  77. package/bundled-test-harness/assets/computed-test-C-lpGQQ3.js +1320 -0
  78. package/bundled-test-harness/assets/container-BdPu8rvc.css +5565 -0
  79. package/bundled-test-harness/assets/container-Dj-5prh9.js +11288 -0
  80. package/bundled-test-harness/assets/contains-many-component-CAWqzX8W.js +2 -0
  81. package/bundled-test-harness/assets/contrast-checker-addon-BTLD7oMx.js +2 -0
  82. package/bundled-test-harness/assets/contrast-checker-addon-DBzizR04.js +71 -0
  83. package/bundled-test-harness/assets/convert-to-class-name-test-zZuKxYvF.js +17 -0
  84. package/bundled-test-harness/assets/coordinate-Bw8va6tO.js +48 -0
  85. package/bundled-test-harness/assets/copy-file-to-realm-test-DtCKPzqj.js +148 -0
  86. package/bundled-test-harness/assets/country-B_tWpLlO.js +199 -0
  87. package/bundled-test-harness/assets/create-file-modal-D-VPyEYp.js +570 -0
  88. package/bundled-test-harness/assets/create-listing-modal-test-hyLkQY0u.js +273 -0
  89. package/bundled-test-harness/assets/create-listing-pr-request-test-rjWFA_5S.js +117 -0
  90. package/bundled-test-harness/assets/create-spec-test-HKIxZGxK.js +256 -0
  91. package/bundled-test-harness/assets/create-specs-9-ELVyJP.js +215 -0
  92. package/bundled-test-harness/assets/create-submission-workflow-test-DNZrbRX8.js +132 -0
  93. package/bundled-test-harness/assets/credential-fields-test-xPEdA911.js +157 -0
  94. package/bundled-test-harness/assets/css-value-Du3HL39X.js +48 -0
  95. package/bundled-test-harness/assets/csv-file-def-EHRmilrp.js +277 -0
  96. package/bundled-test-harness/assets/currency-y6ZCHIqG.js +134 -0
  97. package/bundled-test-harness/assets/date-B27PrSFT.js +183 -0
  98. package/bundled-test-harness/assets/date-CiP5Eb9i.js +2 -0
  99. package/bundled-test-harness/assets/date-time-fields-test-Clf5vxRW.js +359 -0
  100. package/bundled-test-harness/assets/datetime-BEbR9YgU.js +201 -0
  101. package/bundled-test-harness/assets/datetime-DPnrt1wl.js +2 -0
  102. package/bundled-test-harness/assets/datetime-stamp-AuT7F7qn.js +2 -0
  103. package/bundled-test-harness/assets/datetime-stamp-CGwP2P3f.js +81 -0
  104. package/bundled-test-harness/assets/day-BFLxZ9bQ.js +2 -0
  105. package/bundled-test-harness/assets/day-CQoEkqgE.js +113 -0
  106. package/bundled-test-harness/assets/debug-message-test-CzgOpfcI.js +117 -0
  107. package/bundled-test-harness/assets/dist-B-fYvxfL.js +389 -0
  108. package/bundled-test-harness/assets/dist-C2IXvIKX.js +323 -0
  109. package/bundled-test-harness/assets/dist-CdNZu43l.js +1710 -0
  110. package/bundled-test-harness/assets/docx-file-def-BQMw460_.js +60 -0
  111. package/bundled-test-harness/assets/docx-meta-extractor-DBlmH_kV.js +60 -0
  112. package/bundled-test-harness/assets/docx-meta-extractor-Dw4gZ0ae.js +2 -0
  113. package/bundled-test-harness/assets/duration-B0SnEiw1.js +184 -0
  114. package/bundled-test-harness/assets/duration-DbjJTFeA.js +2 -0
  115. package/bundled-test-harness/assets/email-C-8cyWiQ.js +80 -0
  116. package/bundled-test-harness/assets/email-field-test-BOBmvQqx.js +75 -0
  117. package/bundled-test-harness/assets/email-xUgCst-p.js +2 -0
  118. package/bundled-test-harness/assets/enum-BWiCyJlu.js +167 -0
  119. package/bundled-test-harness/assets/enum-CzYjivhO.js +2 -0
  120. package/bundled-test-harness/assets/enum-field-test-Bea9EsQR.js +953 -0
  121. package/bundled-test-harness/assets/error-display-test-Cbl2D_0c.js +343 -0
  122. package/bundled-test-harness/assets/ethereum-address-Bw_J05bD.js +78 -0
  123. package/bundled-test-harness/assets/ethereum-address-C9wHMBt3.js +2 -0
  124. package/bundled-test-harness/assets/expiration-warning-BHcJEjZt.js +90 -0
  125. package/bundled-test-harness/assets/expiration-warning-_G8SKZd0.js +2 -0
  126. package/bundled-test-harness/assets/externals-CKblKBo1.js +4393 -0
  127. package/bundled-test-harness/assets/fallback-banner-BqCrvTDt.js +24 -0
  128. package/bundled-test-harness/assets/fallback-banner-live-delete-test-D_AYMvf6.js +207 -0
  129. package/bundled-test-harness/assets/fallback-banner-test-B8Ne9a5g.js +225 -0
  130. package/bundled-test-harness/assets/fallback-banner-test-C7oaSxd1.js +53 -0
  131. package/bundled-test-harness/assets/fallback-models-test-DY-PvU9k.js +161 -0
  132. package/bundled-test-harness/assets/field-component-Bj8YthPE.js +2 -0
  133. package/bundled-test-harness/assets/field-configuration-test-B5LztQ47.js +548 -0
  134. package/bundled-test-harness/assets/field-edit-Cx_haspD.js +36 -0
  135. package/bundled-test-harness/assets/field-edit-DQZWUz3F.js +2 -0
  136. package/bundled-test-harness/assets/field-markdown-domain-test-DnqK3CrE.js +616 -0
  137. package/bundled-test-harness/assets/field-markdown-oversize-test-BEpbXIvl.js +88 -0
  138. package/bundled-test-harness/assets/field-markdown-primitives-test-BDORWoOk.js +365 -0
  139. package/bundled-test-harness/assets/field-markdown-specialized-test-BmIzadYq.js +534 -0
  140. package/bundled-test-harness/assets/field-test-helpers-CRF9-jFw.js +45 -0
  141. package/bundled-test-harness/assets/file-api-DPMJghBY.js +7 -0
  142. package/bundled-test-harness/assets/file-attachment-test-DFLXg3xV.js +796 -0
  143. package/bundled-test-harness/assets/file-chooser-panel-test-B4DzCWkt.js +153 -0
  144. package/bundled-test-harness/assets/file-chooser-test-DpjOWgpB.js +504 -0
  145. package/bundled-test-harness/assets/file-def-edit-Bstl7Kkl.js +2 -0
  146. package/bundled-test-harness/assets/file-def-edit-C1dzJxmQ.js +26 -0
  147. package/bundled-test-harness/assets/file-def-embedded-CUy4G7Vc.js +2 -0
  148. package/bundled-test-harness/assets/file-def-embedded-DJs6P5t0.js +38 -0
  149. package/bundled-test-harness/assets/file-def-fitted-BlrBFfLh.js +38 -0
  150. package/bundled-test-harness/assets/file-def-fitted-Bo5Qfkyf.js +2 -0
  151. package/bundled-test-harness/assets/file-def-isolated-BsHydanv.js +38 -0
  152. package/bundled-test-harness/assets/file-def-isolated-Dp-Lc99-.js +2 -0
  153. package/bundled-test-harness/assets/file-def-serialization-test-CISKpt_o.js +89 -0
  154. package/bundled-test-harness/assets/file-menu-items-7_ltrFZq.js +117 -0
  155. package/bundled-test-harness/assets/file-menu-items-BnRG9ydE.js +2 -0
  156. package/bundled-test-harness/assets/file-preview-stage-CV3qZpiK.js +72 -0
  157. package/bundled-test-harness/assets/file-preview-stage-DTA5X8rX.js +2 -0
  158. package/bundled-test-harness/assets/file-shell-embedded-BpmiVzIG.js +2 -0
  159. package/bundled-test-harness/assets/file-shell-embedded-CEv0-6OE.js +68 -0
  160. package/bundled-test-harness/assets/file-shell-fitted-C6k3GnMc.js +2 -0
  161. package/bundled-test-harness/assets/file-shell-fitted-iSTg3PJa.js +98 -0
  162. package/bundled-test-harness/assets/file-shell-isolated-C-pEod2J.js +195 -0
  163. package/bundled-test-harness/assets/file-shell-isolated-DI9oU7ix.js +2 -0
  164. package/bundled-test-harness/assets/file-tree-from-index-BtOOMqnb.js +151 -0
  165. package/bundled-test-harness/assets/file-tree-from-index-test-T8w3hPw_.js +96 -0
  166. package/bundled-test-harness/assets/film-5n9_gRqZ.js +4074 -0
  167. package/bundled-test-harness/assets/film-Ca2Vzlfu.js +13 -0
  168. package/bundled-test-harness/assets/film-DEvhBbBu.js +2 -0
  169. package/bundled-test-harness/assets/fitted-6OGuHgoU.js +2 -0
  170. package/bundled-test-harness/assets/fitted-B2l1jlSp.js +34 -0
  171. package/bundled-test-harness/assets/flac-meta-extractor-BoJqvmDC.js +99 -0
  172. package/bundled-test-harness/assets/font-file-def-Czzt5paT.js +64 -0
  173. package/bundled-test-harness/assets/font-meta-extractor-DQYT_e5b.js +2 -0
  174. package/bundled-test-harness/assets/font-meta-extractor-IHD-pG8V.js +303 -0
  175. package/bundled-test-harness/assets/formatted-aibot-message-test-Djsl8RzE.js +109 -0
  176. package/bundled-test-harness/assets/from-elsewhere-BXcLYxxu.js +131 -0
  177. package/bundled-test-harness/assets/frontmatter-field-CciolgL3.js +41 -0
  178. package/bundled-test-harness/assets/garbage-collection-test-BTOLAfB6.js +403 -0
  179. package/bundled-test-harness/assets/gauge-C1loqGq3.js +2 -0
  180. package/bundled-test-harness/assets/gauge-u8dxl90d.js +106 -0
  181. package/bundled-test-harness/assets/general-test-Cd5WtVvd.js +926 -0
  182. package/bundled-test-harness/assets/get-relationship-membership-state-test-DJAuhOVM.js +1308 -0
  183. package/bundled-test-harness/assets/gif-meta-extractor-tSaPtuYW.js +114 -0
  184. package/bundled-test-harness/assets/glimmer-motion-and-choreo-in-cards-test-DNSy5l59.js +160 -0
  185. package/bundled-test-harness/assets/glimmer-motion-and-choreo-test-B6BbQxYq.js +74 -0
  186. package/bundled-test-harness/assets/helper-m6jA5HmU.js +478 -0
  187. package/bundled-test-harness/assets/host-submode-test-CsgdksBi.js +1243 -0
  188. package/bundled-test-harness/assets/html-file-def-yKtdMSa-.js +82 -0
  189. package/bundled-test-harness/assets/hydratable-card-CxNfbqly.js +147 -0
  190. package/bundled-test-harness/assets/hydratable-card-test-NJ4CI4ey.js +426 -0
  191. package/bundled-test-harness/assets/icons-B3SAtRoj.js +894 -0
  192. package/bundled-test-harness/assets/image-file-def-B0rpS3Yy.js +3 -0
  193. package/bundled-test-harness/assets/image-file-def-DUFmjNL8.js +65 -0
  194. package/bundled-test-harness/assets/image-olOUqgMQ.js +47 -0
  195. package/bundled-test-harness/assets/index-changes-test-D7OE-99k.js +367 -0
  196. package/bundled-test-harness/assets/index-query-engine-test-BBKqgSmg.js +2593 -0
  197. package/bundled-test-harness/assets/inspector-test-DV6Ms2uz.js +1930 -0
  198. package/bundled-test-harness/assets/instance-filter-matcher-test-Bs4kf7E8.js +788 -0
  199. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-DIfgRhIN.js +475 -0
  200. package/bundled-test-harness/assets/interact-submode-setup-D4M_e580.js +566 -0
  201. package/bundled-test-harness/assets/is-component-declaration-test-jPGRTVh1.js +50 -0
  202. package/bundled-test-harness/assets/iso-bmff-DHtkSbQM.js +205 -0
  203. package/bundled-test-harness/assets/iso-bmff-zmOHoSVg.js +2 -0
  204. package/bundled-test-harness/assets/isolated-and-edit-BAnwcK1T.js +2 -0
  205. package/bundled-test-harness/assets/job-priority-header-test-7j2f3Dtl.js +81 -0
  206. package/bundled-test-harness/assets/job-scoped-instance-residency-test-DPzVQUL3.js +103 -0
  207. package/bundled-test-harness/assets/join-the-community-Ft5fjeIA.js +86 -0
  208. package/bundled-test-harness/assets/jpg-meta-extractor-Dsq6rZ8F.js +88 -0
  209. package/bundled-test-harness/assets/json-field-CxOZvp3k.js +19 -0
  210. package/bundled-test-harness/assets/json-field-ojdwGD6T.js +2 -0
  211. package/bundled-test-harness/assets/json-file-def-Da_5-zSM.js +298 -0
  212. package/bundled-test-harness/assets/last-modified-date-BnyJsc04.js +43 -0
  213. package/bundled-test-harness/assets/last-modified-date-test-DFl2mo1B.js +28 -0
  214. package/bundled-test-harness/assets/links-to-editor-DO24-71w.js +2 -0
  215. package/bundled-test-harness/assets/links-to-many-component-C7DabwAY.js +2 -0
  216. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-D4lDhvnQ.js +398 -0
  217. package/bundled-test-harness/assets/linksto-error-sentinel-test-oWgDz00K.js +238 -0
  218. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-CpSl7zJ7.js +354 -0
  219. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-DJY3J8Xl.js +303 -0
  220. package/bundled-test-harness/assets/linksto-sentinel-reload-test-BxzfoONe.js +197 -0
  221. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-DyE99km_.js +260 -0
  222. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-dcWAAgxt.js +196 -0
  223. package/bundled-test-harness/assets/llm-model-DrswiczZ.js +64 -0
  224. package/bundled-test-harness/assets/login-C-EIG0-Q.css +543 -0
  225. package/bundled-test-harness/assets/login-CNeL-9IC.js +408 -0
  226. package/bundled-test-harness/assets/login-error-text-test-CEH2tjNP.js +51 -0
  227. package/bundled-test-harness/assets/login-test-BpMx7qwV.js +246 -0
  228. package/bundled-test-harness/assets/m4a-meta-extractor-BJkMHUIK.js +204 -0
  229. package/bundled-test-harness/assets/main-BaUgfpPE.js +5 -0
  230. package/bundled-test-harness/assets/markdown-ByEGbwov.js +7 -0
  231. package/bundled-test-harness/assets/markdown-KJzgTg-A.js +2 -0
  232. package/bundled-test-harness/assets/markdown-editor-mode-select-BUGPXaSE.js +2 -0
  233. package/bundled-test-harness/assets/markdown-editor-mode-select-DBk8dG0O.js +54 -0
  234. package/bundled-test-harness/assets/markdown-embed-chooser-modal-test-BIlEmna9.js +470 -0
  235. package/bundled-test-harness/assets/markdown-embed-preview-pane-test-B6rscKpk.js +447 -0
  236. package/bundled-test-harness/assets/markdown-embed-preview-test-CTQw1wq-.js +368 -0
  237. package/bundled-test-harness/assets/markdown-fallback-BVsco6gJ.js +2 -0
  238. package/bundled-test-harness/assets/markdown-fallback-test-C_CIFEzH.js +316 -0
  239. package/bundled-test-harness/assets/markdown-highlighting-test-D6YvywF5.js +244 -0
  240. package/bundled-test-harness/assets/markdown-preview-1TSMSUv0.js +64 -0
  241. package/bundled-test-harness/assets/markdown-preview-jbuUjLoD.js +72 -0
  242. package/bundled-test-harness/assets/markdown-preview-test-zuU5uoA_.js +238 -0
  243. package/bundled-test-harness/assets/markdown-skill-frontmatter-test-CoicGRkb.js +146 -0
  244. package/bundled-test-harness/assets/menu-items-DZ_uOoYu.js +2 -0
  245. package/bundled-test-harness/assets/message-tool-test-K6LgTq5d.js +33 -0
  246. package/bundled-test-harness/assets/metadata-fields-WiOuUCDl.js +1415 -0
  247. package/bundled-test-harness/assets/metadata-fields-iu5AfQp3.js +2 -0
  248. package/bundled-test-harness/assets/midi-audio-def-CD2-4Wjx.js +52 -0
  249. package/bundled-test-harness/assets/midi-meta-extractor-CE3sLiEV.js +284 -0
  250. package/bundled-test-harness/assets/midi-meta-extractor-O7c8LHYV.js +2 -0
  251. package/bundled-test-harness/assets/migrate-skill-test-Beh-AeSN.js +161 -0
  252. package/bundled-test-harness/assets/mini-BNXINKKF.js +85 -0
  253. package/bundled-test-harness/assets/mini-C43Q4BWp.js +1519 -0
  254. package/bundled-test-harness/assets/mini-card-chooser-test-B1GMp-31.js +272 -0
  255. package/bundled-test-harness/assets/mini-file-chooser-test-CbI1vrQn.js +201 -0
  256. package/bundled-test-harness/assets/missing-template-BPhJRbDs.js +48 -0
  257. package/bundled-test-harness/assets/missing-template-DP-Pi-HQ.js +2 -0
  258. package/bundled-test-harness/assets/modal-KpPz2f8x.js +322 -0
  259. package/bundled-test-harness/assets/modal-container-0Efz_h2z.js +40 -0
  260. package/bundled-test-harness/assets/model-cost-tier-test-D-5VSjh6.js +173 -0
  261. package/bundled-test-harness/assets/module-contents-service-BRkTETb6.js +256 -0
  262. package/bundled-test-harness/assets/moment-Cln59YUK.js +3474 -0
  263. package/bundled-test-harness/assets/monaco-AbHCoDJY.js +143 -0
  264. package/bundled-test-harness/assets/monaco-test-DCPi18sy.js +100 -0
  265. package/bundled-test-harness/assets/monaco-test-waiter-lvFEYpFj.js +190 -0
  266. package/bundled-test-harness/assets/month-1eUIsvWN.js +2 -0
  267. package/bundled-test-harness/assets/month-BeUdWMWQ.js +123 -0
  268. package/bundled-test-harness/assets/month-day-Bbsd8YbR.js +192 -0
  269. package/bundled-test-harness/assets/month-day-Dks5STJu.js +2 -0
  270. package/bundled-test-harness/assets/month-year-pL_rpUhX.js +2 -0
  271. package/bundled-test-harness/assets/month-year-wH_YnYgL.js +93 -0
  272. package/bundled-test-harness/assets/mp3-meta-extractor-C3u34UHM.js +476 -0
  273. package/bundled-test-harness/assets/mp4-meta-extractor-Bj3F7dxs.js +188 -0
  274. package/bundled-test-harness/assets/multiple-stacks-test-mkNdTUMI.js +208 -0
  275. package/bundled-test-harness/assets/nested-query-field-render-test-BQLn3wg9.js +249 -0
  276. package/bundled-test-harness/assets/no-stacks-test-DpwZQAJ-.js +48 -0
  277. package/bundled-test-harness/assets/number-DZa-fHpu.js +151 -0
  278. package/bundled-test-harness/assets/number-Dvua76YP.js +3 -0
  279. package/bundled-test-harness/assets/number-field-test-BiaH2eaB.js +184 -0
  280. package/bundled-test-harness/assets/number-input-D5nDYDkK.js +82 -0
  281. package/bundled-test-harness/assets/office-extract-JzYva33g.js +27 -0
  282. package/bundled-test-harness/assets/office-extract-XMpsyYRh.js +2 -0
  283. package/bundled-test-harness/assets/ogg-meta-extractor-DJosZ9LA.js +225 -0
  284. package/bundled-test-harness/assets/on-key-BBVkS8Bi.js +472 -0
  285. package/bundled-test-harness/assets/ooxml-BlAE2w4d.js +172 -0
  286. package/bundled-test-harness/assets/ooxml-D-p8OmuM.js +2 -0
  287. package/bundled-test-harness/assets/open-image-in-new-tab-test-DWBU5pw9.js +52 -0
  288. package/bundled-test-harness/assets/operation-lowering-test-nzqprueU.js +2812 -0
  289. package/bundled-test-harness/assets/operations-CPvfTuY3.js +766 -0
  290. package/bundled-test-harness/assets/operations-invocation-test-C75T6zn3.js +523 -0
  291. package/bundled-test-harness/assets/operations-query-test-BoCszQEW.js +459 -0
  292. package/bundled-test-harness/assets/operations-test-79ipSnpM.js +2518 -0
  293. package/bundled-test-harness/assets/operations-x3Aw2Nky.js +3 -0
  294. package/bundled-test-harness/assets/operator-mode-acceptance-test-jjsYtt96.js +1188 -0
  295. package/bundled-test-harness/assets/operator-mode-card-chooser-test-hZP9gEQK.js +1036 -0
  296. package/bundled-test-harness/assets/operator-mode-links-test-DN16SuIx.js +793 -0
  297. package/bundled-test-harness/assets/operator-mode-state-service-gwiTSiWX.js +1275 -0
  298. package/bundled-test-harness/assets/operator-mode-state-service-test-Dt2qnKKP.js +206 -0
  299. package/bundled-test-harness/assets/operator-mode-test-BZnnxO9q.js +683 -0
  300. package/bundled-test-harness/assets/operator-mode-ui-test-O--qEo-y.js +1027 -0
  301. package/bundled-test-harness/assets/overlay-menu-items-test-Bl2k0aAa.js +317 -0
  302. package/bundled-test-harness/assets/overlays-CdN_JokA.js +270 -0
  303. package/bundled-test-harness/assets/overlays-clip-test-DpbR1ZTz.js +91 -0
  304. package/bundled-test-harness/assets/overlays-detached-element-test-cLgEGvMs.js +56 -0
  305. package/bundled-test-harness/assets/pane-PYdezM7g.js +330 -0
  306. package/bundled-test-harness/assets/panel-7FDqkxrr.js +474 -0
  307. package/bundled-test-harness/assets/panel-C3E0s49q.js +3540 -0
  308. package/bundled-test-harness/assets/past-sessions-test-BsjEeoze.js +321 -0
  309. package/bundled-test-harness/assets/patch-fields-test-CsixJmSr.js +1014 -0
  310. package/bundled-test-harness/assets/patch-instance-test-CBDgTi0L.js +348 -0
  311. package/bundled-test-harness/assets/pdf-file-def-9VNjnqDa.js +76 -0
  312. package/bundled-test-harness/assets/pdf-meta-extractor-BF4e5kMR.js +156 -0
  313. package/bundled-test-harness/assets/pdf-meta-extractor-D8Bxh2cc.js +2 -0
  314. package/bundled-test-harness/assets/pdf-viewer-Bu413sN8.js +112 -0
  315. package/bundled-test-harness/assets/pdf-viewer-GKDi_xmf.js +2 -0
  316. package/bundled-test-harness/assets/percentage-TOr6qK2T.js +84 -0
  317. package/bundled-test-harness/assets/permission-checking-realm-test-BRNVYszm.js +306 -0
  318. package/bundled-test-harness/assets/phone-number-D5SR8nWu.js +236 -0
  319. package/bundled-test-harness/assets/phone-number-field-test-DffwtqGd.js +73 -0
  320. package/bundled-test-harness/assets/phone-number-hf_xIVGQ.js +2 -0
  321. package/bundled-test-harness/assets/plate-Vojc88hM.js +41 -0
  322. package/bundled-test-harness/assets/plate-dTUzEMj5.js +2 -0
  323. package/bundled-test-harness/assets/player-CmRw0uM5.js +82 -0
  324. package/bundled-test-harness/assets/player-Dt85lPZl.js +2 -0
  325. package/bundled-test-harness/assets/plural-field-components-test-DNpGuH1D.js +198 -0
  326. package/bundled-test-harness/assets/png-image-def-GY7gjqya.js +48 -0
  327. package/bundled-test-harness/assets/png-meta-extractor-4pI611re.js +2 -0
  328. package/bundled-test-harness/assets/png-meta-extractor-CHp_rpAi.js +111 -0
  329. package/bundled-test-harness/assets/policy-scoped-search-test-CipPu7tY.js +339 -0
  330. package/bundled-test-harness/assets/pptx-file-def-lBBiebvn.js +60 -0
  331. package/bundled-test-harness/assets/pptx-meta-extractor-BjJYWiOJ.js +77 -0
  332. package/bundled-test-harness/assets/pptx-meta-extractor-DbT-dPRg.js +2 -0
  333. package/bundled-test-harness/assets/prerender-persistence-block-test-ClHMVvJt.js +124 -0
  334. package/bundled-test-harness/assets/prerender-serialize-cycle-test-LdqaMTK8.js +134 -0
  335. package/bundled-test-harness/assets/preview-CYlam_aW.js +74 -0
  336. package/bundled-test-harness/assets/preview-format-CiSo4kEa.js +41 -0
  337. package/bundled-test-harness/assets/preview-format-test-MsB1TOLB.js +103 -0
  338. package/bundled-test-harness/assets/process-card-B3xBGkv1.js +2 -0
  339. package/bundled-test-harness/assets/process-card-DumVcx9E.js +114 -0
  340. package/bundled-test-harness/assets/process-card-test-C44H8yVy.js +94 -0
  341. package/bundled-test-harness/assets/profile-settings-modal-ipYzrVTz.js +708 -0
  342. package/bundled-test-harness/assets/progress-circle-DJ6WSO2E.js +95 -0
  343. package/bundled-test-harness/assets/progress-circle-q358_9Sn.js +2 -0
  344. package/bundled-test-harness/assets/quarter-BjO5DlU2.js +2 -0
  345. package/bundled-test-harness/assets/quarter-_D72FwfS.js +168 -0
  346. package/bundled-test-harness/assets/query-field-membership-status-test-CzDyfK49.js +323 -0
  347. package/bundled-test-harness/assets/query-field-page-optin-test-B-x3vsmC.js +126 -0
  348. package/bundled-test-harness/assets/query-field-schema-test-DFw6KuYv.js +231 -0
  349. package/bundled-test-harness/assets/query-field-stale-prerender-test-DSQ-cv_O.js +152 -0
  350. package/bundled-test-harness/assets/query-fields-test-DQiMFRCe.js +535 -0
  351. package/bundled-test-harness/assets/rail-CNspDFyn.js +44 -0
  352. package/bundled-test-harness/assets/rail-D2YcQ0VP.js +2 -0
  353. package/bundled-test-harness/assets/realm-82Z5RUM_.js +95 -0
  354. package/bundled-test-harness/assets/realm-config-SgrwqjRu.js +844 -0
  355. package/bundled-test-harness/assets/realm-config-policy-standing-test-C6sQNk2u.js +290 -0
  356. package/bundled-test-harness/assets/realm-config-routing-rule-edit-test-DcYXBlvi.js +274 -0
  357. package/bundled-test-harness/assets/realm-config-settings-test-DblJv06X.js +187 -0
  358. package/bundled-test-harness/assets/realm-dropdown-CDvL8k3B.js +560 -0
  359. package/bundled-test-harness/assets/realm-et890flh.js +2 -0
  360. package/bundled-test-harness/assets/realm-field-test-pBK_x-Xw.js +100 -0
  361. package/bundled-test-harness/assets/realm-indexing-test-DSFn2F8F.js +4380 -0
  362. package/bundled-test-harness/assets/realm-policy-test-DYnLqzTS.js +1141 -0
  363. package/bundled-test-harness/assets/realm-test-DOZT2EG5.js +2363 -0
  364. package/bundled-test-harness/assets/realm-url-tooltip-qaXTjRb-.js +56 -0
  365. package/bundled-test-harness/assets/realm-url-tooltip-test-DGTEeLH9.js +78 -0
  366. package/bundled-test-harness/assets/reasoning-test-BRkhvYjr.js +234 -0
  367. package/bundled-test-harness/assets/recent-colors-addon-BreXcpg8.js +2 -0
  368. package/bundled-test-harness/assets/recent-colors-addon-CmCkbJ2_.js +61 -0
  369. package/bundled-test-harness/assets/relationship-loading-state-test-B6UGYKzG.js +290 -0
  370. package/bundled-test-harness/assets/relative-time-BjHvL023.js +2 -0
  371. package/bundled-test-harness/assets/relative-time-ChYKOMIM.js +129 -0
  372. package/bundled-test-harness/assets/remix-card-test-CpV0kKfq.js +58 -0
  373. package/bundled-test-harness/assets/rendered-markdown-CJa7IzCC.js +263 -0
  374. package/bundled-test-harness/assets/rendered-markdown-test-CVKsHS4P.js +587 -0
  375. package/bundled-test-harness/assets/resident-instance-reuse-test-jQfW1NMn.js +82 -0
  376. package/bundled-test-harness/assets/response-field-B2-daCl2.js +38 -0
  377. package/bundled-test-harness/assets/result-tile-BSg4mzbc.js +140 -0
  378. package/bundled-test-harness/assets/rich-markdown-BtP1yamM.js +2 -0
  379. package/bundled-test-harness/assets/rich-markdown-C6rQUngb.js +218 -0
  380. package/bundled-test-harness/assets/rich-markdown-field-test-9yB6ykCe.js +1647 -0
  381. package/bundled-test-harness/assets/room-C7tKd02X.js +1008 -0
  382. package/bundled-test-harness/assets/room-message-test-DsMmRYpV.js +445 -0
  383. package/bundled-test-harness/assets/room-test-golI1H61.js +95 -0
  384. package/bundled-test-harness/assets/run-realm-code-CbXk6bnK.js +1600 -0
  385. package/bundled-test-harness/assets/run-realm-code-test-B9JeesaW.js +2468 -0
  386. package/bundled-test-harness/assets/schema-generation-test-uLLGm5Vh.js +28 -0
  387. package/bundled-test-harness/assets/score-BQhCQdUP.js +2 -0
  388. package/bundled-test-harness/assets/score-CoWEzENH.js +100 -0
  389. package/bundled-test-harness/assets/scrolling-test-WHWEkKeZ.js +384 -0
  390. package/bundled-test-harness/assets/search-BkQYpQDY.js +605 -0
  391. package/bundled-test-harness/assets/search-adorn-test-CW92JPOk.js +136 -0
  392. package/bundled-test-harness/assets/search-entries-BU4w6Ymc.js +472 -0
  393. package/bundled-test-harness/assets/search-entries-result-test-9eydsDtD.js +234 -0
  394. package/bundled-test-harness/assets/search-entries-test-ByUREx0G.js +1486 -0
  395. package/bundled-test-harness/assets/search-result-header-UFkdo0Bx.js +128 -0
  396. package/bundled-test-harness/assets/search-results-DrHTuVRZ.js +266 -0
  397. package/bundled-test-harness/assets/search-results-test-krtQQM57.js +578 -0
  398. package/bundled-test-harness/assets/search-selection-menu-test-DoqSbez7.js +108 -0
  399. package/bundled-test-harness/assets/search-sheet-persistence-test-4ZPaEY-y.js +131 -0
  400. package/bundled-test-harness/assets/search-test-BYpq32RM.js +2241 -0
  401. package/bundled-test-harness/assets/searchable-BXw4T11q.js +192 -0
  402. package/bundled-test-harness/assets/searchable-CVvPDA3Q.js +2 -0
  403. package/bundled-test-harness/assets/searchable-option-test-BhLFI4ei.js +322 -0
  404. package/bundled-test-harness/assets/searchable-search-doc-test-DrNLCF73.js +1271 -0
  405. package/bundled-test-harness/assets/secure-sign-in-VNQhe0ae.js +130 -0
  406. package/bundled-test-harness/assets/secure-sign-in-Za8PX9cD.css +24 -0
  407. package/bundled-test-harness/assets/secure-sign-in-aunWHCrB.js +73 -0
  408. package/bundled-test-harness/assets/secure-sign-in-test-BcY1TcNd.js +32 -0
  409. package/bundled-test-harness/assets/secure-sign-in-test-DRdz89BT.js +245 -0
  410. package/bundled-test-harness/assets/sending-test-mbHpGZUu.js +576 -0
  411. package/bundled-test-harness/assets/serialization-rri-form-audit-test-nypV9J82.js +136 -0
  412. package/bundled-test-harness/assets/serialization-test-aLwrFv4d.js +8758 -0
  413. package/bundled-test-harness/assets/setup-Dgn0s6Zk.js +772 -0
  414. package/bundled-test-harness/assets/shared-link-target-reuse-test-D9MR2UNc.js +207 -0
  415. package/bundled-test-harness/assets/show-card-Dwfk332M.js +67 -0
  416. package/bundled-test-harness/assets/show-card-test-CRPwwJvc.js +365 -0
  417. package/bundled-test-harness/assets/show-file-DLdFPHMR.js +34 -0
  418. package/bundled-test-harness/assets/signed-capture-DUR9PohQ.js +204 -0
  419. package/bundled-test-harness/assets/signed-capture-link-test-DfTAB6OT.js +132 -0
  420. package/bundled-test-harness/assets/single-stack-test-Crr_8nti.js +652 -0
  421. package/bundled-test-harness/assets/skill-DQ00VonZ.js +3 -0
  422. package/bundled-test-harness/assets/skill-reference-LEitQV9i.js +112 -0
  423. package/bundled-test-harness/assets/skill-yZXS1VHQ.js +76 -0
  424. package/bundled-test-harness/assets/skills-test-D3-C-Dbm.js +648 -0
  425. package/bundled-test-harness/assets/slider-picker-B6AxKL2j.js +245 -0
  426. package/bundled-test-harness/assets/slider-picker-C4Tc5o-s.js +2 -0
  427. package/bundled-test-harness/assets/spec-Cl_LB6nC.js +602 -0
  428. package/bundled-test-harness/assets/spinner-BHFM7zcR.js +39 -0
  429. package/bundled-test-harness/assets/spinner-DvAvsyDT.css +21 -0
  430. package/bundled-test-harness/assets/store-BV6WX8oV.js +2205 -0
  431. package/bundled-test-harness/assets/store-module-rebuild-test-HyphFJiF.js +454 -0
  432. package/bundled-test-harness/assets/store-search-test-nUeJ5opb.js +175 -0
  433. package/bundled-test-harness/assets/store-test-BebUIJAg.js +3460 -0
  434. package/bundled-test-harness/assets/string-BHZZwNlZ.js +9 -0
  435. package/bundled-test-harness/assets/submode-switcher-D-U9cXo0.js +169 -0
  436. package/bundled-test-harness/assets/svg-meta-extractor-BsG4w2nX.js +42 -0
  437. package/bundled-test-harness/assets/swatches-picker-4vFztxHo.js +33 -0
  438. package/bundled-test-harness/assets/swatches-picker-C7RE7uJ8.js +2 -0
  439. package/bundled-test-harness/assets/switch-submode-CuA0Zfjn.js +79 -0
  440. package/bundled-test-harness/assets/switch-submode-test-i1Qic_Cp.js +168 -0
  441. package/bundled-test-harness/assets/tag-CZNs3DPN.js +105 -0
  442. package/bundled-test-harness/assets/tests-BneuP252.js +3523 -0
  443. package/bundled-test-harness/assets/text-area-DAShQQBe.js +9 -0
  444. package/bundled-test-harness/assets/text-file-def-D2Rs6nS1.js +151 -0
  445. package/bundled-test-harness/assets/text-input-validator-test-C9IG-1GZ.js +156 -0
  446. package/bundled-test-harness/assets/theme-Dm8LWaRK.js +9 -0
  447. package/bundled-test-harness/assets/theme-card-test-Cbb6tAap.js +621 -0
  448. package/bundled-test-harness/assets/theme-scheme-island-test-DOVLakx3.js +264 -0
  449. package/bundled-test-harness/assets/three-d-model-def-DWSPQGgD.js +70 -0
  450. package/bundled-test-harness/assets/time--_Txqya1.js +126 -0
  451. package/bundled-test-harness/assets/time-DKD7Bdjd.js +2 -0
  452. package/bundled-test-harness/assets/time-slots-BZaugjq_.js +2 -0
  453. package/bundled-test-harness/assets/time-slots-C85M0rWl.js +85 -0
  454. package/bundled-test-harness/assets/timeline-B3KGDm3M.js +2 -0
  455. package/bundled-test-harness/assets/timeline-BMwgaZZu.js +59 -0
  456. package/bundled-test-harness/assets/to-device-streaming-test-CMp5bFiz.js +163 -0
  457. package/bundled-test-harness/assets/token-usage-test-CXA0b8Ep.js +166 -0
  458. package/bundled-test-harness/assets/tool-field-BGLelnsr.js +94 -0
  459. package/bundled-test-harness/assets/tool-field-BOFuDDt3.js +2 -0
  460. package/bundled-test-harness/assets/tools-CTjy7Aub.js +725 -0
  461. package/bundled-test-harness/assets/tools-calling-test--JR-7AK7.js +200 -0
  462. package/bundled-test-harness/assets/tools-test-6yAW3W5I.js +2820 -0
  463. package/bundled-test-harness/assets/tools-test-DhpMUQkz.js +1624 -0
  464. package/bundled-test-harness/assets/ts-file-def-CDbf8aw2.js +159 -0
  465. package/bundled-test-harness/assets/update-room-skills-test-DoKsS_1C.js +240 -0
  466. package/bundled-test-harness/assets/url-D0ooeJxC.js +2 -0
  467. package/bundled-test-harness/assets/url-mFskVPSX.js +96 -0
  468. package/bundled-test-harness/assets/video-file-def-AcmWqzev.js +76 -0
  469. package/bundled-test-harness/assets/wav-meta-extractor-CbTLruQf.js +368 -0
  470. package/bundled-test-harness/assets/webm-meta-extractor-C9JH-CMX.js +178 -0
  471. package/bundled-test-harness/assets/webp-meta-extractor-C6sHm4J7.js +98 -0
  472. package/bundled-test-harness/assets/website-Bxuk_OmR.js +92 -0
  473. package/bundled-test-harness/assets/week-Bxssxce7.js +2 -0
  474. package/bundled-test-harness/assets/week-DQLj9974.js +111 -0
  475. package/bundled-test-harness/assets/welcome-to-boxel-BH82RsW5.js +172 -0
  476. package/bundled-test-harness/assets/workspace-DJ_s2x4g.js +614 -0
  477. package/bundled-test-harness/assets/workspace-a11y-test-BJbZNgoP.js +197 -0
  478. package/bundled-test-harness/assets/workspace-behavior-test-BLBARTfb.js +200 -0
  479. package/bundled-test-harness/assets/workspace-chooser-BpmlVrVn.js +2219 -0
  480. package/bundled-test-harness/assets/workspace-chooser-CqLR2Dzh.css +1296 -0
  481. package/bundled-test-harness/assets/workspace-chooser-catalog-order-test-CmAVNAWC.js +36 -0
  482. package/bundled-test-harness/assets/workspace-chooser-unreachable-notice-test-DEfG7Uh9.js +60 -0
  483. package/bundled-test-harness/assets/workspace-delete-multiple-test-DE7Z8ooj.js +212 -0
  484. package/bundled-test-harness/assets/workspace-delete-summary-test-CwtG_zLH.js +63 -0
  485. package/bundled-test-harness/assets/workspace-timestamp-labels-test-DFAaRmJW.js +58 -0
  486. package/bundled-test-harness/assets/xlsx-file-def-DcvaRYnZ.js +60 -0
  487. package/bundled-test-harness/assets/xlsx-meta-extractor-0RlViVaf.js +101 -0
  488. package/bundled-test-harness/assets/xlsx-meta-extractor-BH30Vuem.js +2 -0
  489. package/bundled-test-harness/assets/year-B_MBk_hE.js +78 -0
  490. package/bundled-test-harness/assets/year-hSpccI9L.js +2 -0
  491. package/bundled-test-harness/assets/zip-file-def-c84iddi9.js +288 -0
  492. package/bundled-test-harness/index.html +78 -68
  493. package/bundled-test-harness/tests/index.html +78 -68
  494. package/bundled-types/host-app/components/matrix/account-switch-failed.gts +2 -2
  495. package/bundled-types/host-app/components/matrix/auth.gts +2 -2
  496. package/bundled-types/host-app/components/matrix/cli-auth.gts +7 -6
  497. package/bundled-types/host-app/components/matrix/forgot-password.gts +43 -129
  498. package/bundled-types/host-app/components/matrix/login.gts +15 -118
  499. package/bundled-types/host-app/components/matrix/register-user.gts +45 -226
  500. package/bundled-types/host-app/components/matrix/secure-sign-in.gts +235 -0
  501. package/bundled-types/host-app/components/operator-mode/container.gts +13 -1
  502. package/bundled-types/host-app/components/operator-mode/profile-info-popover.gts +1 -1
  503. package/bundled-types/host-app/config/environment.ts +1 -1
  504. package/bundled-types/host-app/lib/secure-sign-in.ts +130 -0
  505. package/bundled-types/host-app/services/matrix-service.ts +46 -0
  506. package/bundled-types/host-app/services/monaco-service.ts +0 -5
  507. package/bundled-types/host-app/utils/login-token.ts +23 -10
  508. package/dist/api.js +1 -1
  509. package/dist/index.js +289 -285
  510. package/package.json +1 -1
  511. package/src/build-program.ts +6 -2
  512. package/src/commands/profile.ts +72 -3
  513. package/src/lib/profile-manager.ts +5 -1
  514. package/src/lib/secure-session.ts +29 -0
  515. package/src/lib/sso-login.ts +94 -15
  516. package/bundled-test-harness/assets/account-switch-failed-B3pr_iC3.js +0 -32
  517. package/bundled-test-harness/assets/account-switch-failed-DTGZZo-G.css +0 -61
  518. package/bundled-test-harness/assets/account-switch-failed-test-9ENVgvlx.js +0 -45
  519. package/bundled-test-harness/assets/add-workspace-BAbk0250.js +0 -141
  520. package/bundled-test-harness/assets/add-workspace-test-ChAja_t-.js +0 -72
  521. package/bundled-test-harness/assets/advanced-color-picker-C-xBFJ2S.js +0 -504
  522. package/bundled-test-harness/assets/advanced-color-picker-bWAmCT-8.js +0 -2
  523. package/bundled-test-harness/assets/ai-assistant-test-BJ9yetuC.js +0 -2211
  524. package/bundled-test-harness/assets/ai-module-creation-test-Bw3TKS9d.js +0 -151
  525. package/bundled-test-harness/assets/aibot-message-DkgHT6eJ.js +0 -465
  526. package/bundled-test-harness/assets/app-DW5QjtRp.js +0 -22816
  527. package/bundled-test-harness/assets/app-yCDjO4mk.css +0 -2718
  528. package/bundled-test-harness/assets/audio-file-def-bJ3cXVmC.js +0 -133
  529. package/bundled-test-harness/assets/avif-meta-extractor-CrSDfYEt.js +0 -162
  530. package/bundled-test-harness/assets/base64-image-C7UBjK5W.js +0 -262
  531. package/bundled-test-harness/assets/base64-image-CjWpxROT.js +0 -2
  532. package/bundled-test-harness/assets/big-integer-BBql7oGZ.js +0 -89
  533. package/bundled-test-harness/assets/big-integer-B_TrzRy_.js +0 -2
  534. package/bundled-test-harness/assets/binary-upload-dedupe-test-BiX8kS7D.js +0 -308
  535. package/bundled-test-harness/assets/boolean-9LNUUTfw.js +0 -2
  536. package/bundled-test-harness/assets/boolean-BAmK01TF.js +0 -94
  537. package/bundled-test-harness/assets/brand-functional-palette-CFuoS-LS.js +0 -137
  538. package/bundled-test-harness/assets/brand-logo-By89eknI.js +0 -295
  539. package/bundled-test-harness/assets/broken-link-template-test-odBriDSP.js +0 -192
  540. package/bundled-test-harness/assets/bundled-base-CLQkkmN4.js +0 -254
  541. package/bundled-test-harness/assets/bundled-base-modules-test-BYrTaTwa.js +0 -54
  542. package/bundled-test-harness/assets/buried-stack-item-scroll-test-DU4bM5nd.js +0 -236
  543. package/bundled-test-harness/assets/bxl-expression-test-Cs9JaZbC.js +0 -250
  544. package/bundled-test-harness/assets/can-invoke-test-ccMc06BU.js +0 -401
  545. package/bundled-test-harness/assets/card-api-Bn65NUT0.js +0 -8
  546. package/bundled-test-harness/assets/card-api-test-COrFXu2i.js +0 -198
  547. package/bundled-test-harness/assets/card-api-u1pOrwS6.js +0 -4393
  548. package/bundled-test-harness/assets/card-basics-test-D4rn3iN-.js +0 -5364
  549. package/bundled-test-harness/assets/card-chooser-paging-test-bZhdrUXt.js +0 -235
  550. package/bundled-test-harness/assets/card-chooser-test-D9w1duob.js +0 -393
  551. package/bundled-test-harness/assets/card-collection-ClCV-__1.js +0 -118
  552. package/bundled-test-harness/assets/card-context-search-results-H_rN3Upz.js +0 -30
  553. package/bundled-test-harness/assets/card-context-search-results-test-jciyaouV.js +0 -184
  554. package/bundled-test-harness/assets/card-def-field-def-relationships-test-BVZoQzM8.js +0 -562
  555. package/bundled-test-harness/assets/card-delete-test-CuLcZFnY.js +0 -466
  556. package/bundled-test-harness/assets/card-error-DIOivSkD.js +0 -72
  557. package/bundled-test-harness/assets/card-error-awaiting-index-test-JMwcRONq.js +0 -53
  558. package/bundled-test-harness/assets/card-error-detail-96jWBx6B.js +0 -271
  559. package/bundled-test-harness/assets/card-info-BxPtwG1h.js +0 -2
  560. package/bundled-test-harness/assets/card-list-B34qY3io.js +0 -2
  561. package/bundled-test-harness/assets/card-list-BpCaKkZJ.js +0 -202
  562. package/bundled-test-harness/assets/card-resource-DcPbIwH9.js +0 -86
  563. package/bundled-test-harness/assets/cards-grid-CTN8nBT_.js +0 -344
  564. package/bundled-test-harness/assets/cards-grid-Cx44vL-M.js +0 -2
  565. package/bundled-test-harness/assets/cards-grid-layout-BdL0Uzxl.js +0 -111
  566. package/bundled-test-harness/assets/cards-grid-layout-Dn8Yb4ma.js +0 -2
  567. package/bundled-test-harness/assets/check-correctness-test-BfMV-MC0.js +0 -554
  568. package/bundled-test-harness/assets/clip-CK6mVuyN.js +0 -92
  569. package/bundled-test-harness/assets/clip-CfXD1JTr.js +0 -2
  570. package/bundled-test-harness/assets/code-ref-85Bih6Zl.js +0 -138
  571. package/bundled-test-harness/assets/code-ref-DATHaoyt.js +0 -2
  572. package/bundled-test-harness/assets/code-submode-availability-test-DLYlx0wo.js +0 -198
  573. package/bundled-test-harness/assets/code-submode-test-CDIi7MjD.js +0 -1824
  574. package/bundled-test-harness/assets/codeblocks-test-CNPyTvuv.js +0 -418
  575. package/bundled-test-harness/assets/codemirror-editor-BPOPTR-f.js +0 -2
  576. package/bundled-test-harness/assets/codemirror-editor-DPhG0pec.js +0 -701
  577. package/bundled-test-harness/assets/codemirror-embed-toolbar-test-Dk5lFOUq.js +0 -366
  578. package/bundled-test-harness/assets/color-BxN5gRSg.js +0 -65
  579. package/bundled-test-harness/assets/color-CrunRcis.js +0 -2
  580. package/bundled-test-harness/assets/color-field-test-COjFIpXV.js +0 -212
  581. package/bundled-test-harness/assets/color-picker-field-C-GS1CIw.js +0 -139
  582. package/bundled-test-harness/assets/color-picker-field-D3RXhbCK.js +0 -2
  583. package/bundled-test-harness/assets/color-wheel-picker-Bz8cBmf4.js +0 -283
  584. package/bundled-test-harness/assets/color-wheel-picker-DrwPrB8B.js +0 -2
  585. package/bundled-test-harness/assets/command-data-BxXgtNBf.js +0 -2
  586. package/bundled-test-harness/assets/command-data-ZdkcpEgG.js +0 -95
  587. package/bundled-test-harness/assets/compaction-test-DS7DTGT_.js +0 -150
  588. package/bundled-test-harness/assets/components-CbCTWAON.js +0 -17777
  589. package/bundled-test-harness/assets/computed-test-D_OrXDtR.js +0 -1320
  590. package/bundled-test-harness/assets/container-DDolu1gk.js +0 -11109
  591. package/bundled-test-harness/assets/container-DndcCIMv.css +0 -5169
  592. package/bundled-test-harness/assets/contains-many-component-BtgnAXih.js +0 -2
  593. package/bundled-test-harness/assets/contrast-checker-addon-kwtLKWdL.js +0 -2
  594. package/bundled-test-harness/assets/contrast-checker-addon-zFY5cen1.js +0 -71
  595. package/bundled-test-harness/assets/convert-to-class-name-test-BcGWl2K1.js +0 -17
  596. package/bundled-test-harness/assets/coordinate-D72EF1Pl.js +0 -48
  597. package/bundled-test-harness/assets/copy-file-to-realm-test-CYoDX4YV.js +0 -148
  598. package/bundled-test-harness/assets/country-B-iIe5v8.js +0 -199
  599. package/bundled-test-harness/assets/create-file-modal-PpvMksjR.js +0 -570
  600. package/bundled-test-harness/assets/create-listing-modal-test-CQtEf_UD.js +0 -273
  601. package/bundled-test-harness/assets/create-listing-pr-request-test-CDtKWyfk.js +0 -117
  602. package/bundled-test-harness/assets/create-spec-test-Cbqk8I9T.js +0 -256
  603. package/bundled-test-harness/assets/create-specs-CZg2cpnh.js +0 -215
  604. package/bundled-test-harness/assets/create-submission-workflow-test-CYrxF7bg.js +0 -132
  605. package/bundled-test-harness/assets/credential-fields-test-Di4jCJgU.js +0 -157
  606. package/bundled-test-harness/assets/css-value-CceJyI5o.js +0 -48
  607. package/bundled-test-harness/assets/csv-file-def-DJL2aZI9.js +0 -277
  608. package/bundled-test-harness/assets/currency-Bn5WIqzF.js +0 -134
  609. package/bundled-test-harness/assets/date-XI2CVYA2.js +0 -2
  610. package/bundled-test-harness/assets/date-h83UJcFR.js +0 -183
  611. package/bundled-test-harness/assets/date-time-fields-test-Cterr2mj.js +0 -359
  612. package/bundled-test-harness/assets/datetime-DadI80tC.js +0 -201
  613. package/bundled-test-harness/assets/datetime-Dpb_Sejj.js +0 -2
  614. package/bundled-test-harness/assets/datetime-stamp-C4vv397u.js +0 -81
  615. package/bundled-test-harness/assets/datetime-stamp-DIsJdQux.js +0 -2
  616. package/bundled-test-harness/assets/day-C4pZoGNM.js +0 -113
  617. package/bundled-test-harness/assets/day-D0goBhKb.js +0 -2
  618. package/bundled-test-harness/assets/debug-message-test-CV0sj-fl.js +0 -117
  619. package/bundled-test-harness/assets/dist-CAIttNZm.js +0 -1710
  620. package/bundled-test-harness/assets/dist-CLbqnmnm.js +0 -389
  621. package/bundled-test-harness/assets/dist-qkBOmIQy.js +0 -323
  622. package/bundled-test-harness/assets/docx-file-def-hz2tVQKf.js +0 -60
  623. package/bundled-test-harness/assets/docx-meta-extractor-CeRshlxL.js +0 -60
  624. package/bundled-test-harness/assets/docx-meta-extractor-muK5CKF3.js +0 -2
  625. package/bundled-test-harness/assets/duration-BYx1dLfm.js +0 -2
  626. package/bundled-test-harness/assets/duration-FAmTFeUa.js +0 -184
  627. package/bundled-test-harness/assets/email-D-bFy_C1.js +0 -80
  628. package/bundled-test-harness/assets/email-field-test-CY9K2zur.js +0 -75
  629. package/bundled-test-harness/assets/email-j4DZNH2-.js +0 -2
  630. package/bundled-test-harness/assets/enum-B7_baAn_.js +0 -167
  631. package/bundled-test-harness/assets/enum-BQqNzVQS.js +0 -2
  632. package/bundled-test-harness/assets/enum-field-test-BJ9Epz15.js +0 -953
  633. package/bundled-test-harness/assets/error-display-test-CbDWjJ2F.js +0 -343
  634. package/bundled-test-harness/assets/ethereum-address-BOLEnKsm.js +0 -78
  635. package/bundled-test-harness/assets/ethereum-address-s3Kvb2wG.js +0 -2
  636. package/bundled-test-harness/assets/expiration-warning-BaIP1MOZ.js +0 -2
  637. package/bundled-test-harness/assets/expiration-warning-gjEtxPk0.js +0 -90
  638. package/bundled-test-harness/assets/externals-Bih8ejPS.js +0 -4393
  639. package/bundled-test-harness/assets/fallback-banner-MlImHjSD.js +0 -24
  640. package/bundled-test-harness/assets/fallback-banner-live-delete-test-Bm7IKXPf.js +0 -207
  641. package/bundled-test-harness/assets/fallback-banner-test-C7TGA0Ob.js +0 -53
  642. package/bundled-test-harness/assets/fallback-banner-test-lvuaVRXu.js +0 -225
  643. package/bundled-test-harness/assets/fallback-models-test-Dy7iIKUS.js +0 -161
  644. package/bundled-test-harness/assets/field-component-DBoOxTke.js +0 -2
  645. package/bundled-test-harness/assets/field-configuration-test-DnAnzyC-.js +0 -548
  646. package/bundled-test-harness/assets/field-edit-DdJ8Akso.js +0 -2
  647. package/bundled-test-harness/assets/field-edit-XAop92l8.js +0 -36
  648. package/bundled-test-harness/assets/field-markdown-domain-test-cZCqbcjj.js +0 -616
  649. package/bundled-test-harness/assets/field-markdown-oversize-test-BuATetVz.js +0 -88
  650. package/bundled-test-harness/assets/field-markdown-primitives-test-BsubQfhv.js +0 -365
  651. package/bundled-test-harness/assets/field-markdown-specialized-test-4eNLiYpF.js +0 -534
  652. package/bundled-test-harness/assets/field-test-helpers-9I7cHnaU.js +0 -45
  653. package/bundled-test-harness/assets/file-api-CC86I7Er.js +0 -7
  654. package/bundled-test-harness/assets/file-attachment-test-o9191GMb.js +0 -796
  655. package/bundled-test-harness/assets/file-chooser-panel-test-C8aZuJlk.js +0 -153
  656. package/bundled-test-harness/assets/file-chooser-test-B0Tn8CCR.js +0 -504
  657. package/bundled-test-harness/assets/file-def-edit-BSiF2Lje.js +0 -2
  658. package/bundled-test-harness/assets/file-def-edit-C5TYBp_q.js +0 -26
  659. package/bundled-test-harness/assets/file-def-embedded-BLVTCiVB.js +0 -2
  660. package/bundled-test-harness/assets/file-def-embedded-Bep4iD6s.js +0 -38
  661. package/bundled-test-harness/assets/file-def-fitted-BTs-AS78.js +0 -2
  662. package/bundled-test-harness/assets/file-def-fitted-DcPitdYu.js +0 -38
  663. package/bundled-test-harness/assets/file-def-isolated-Kg1YVhm-.js +0 -38
  664. package/bundled-test-harness/assets/file-def-isolated-tK5JWCam.js +0 -2
  665. package/bundled-test-harness/assets/file-def-serialization-test-D4wnd5XK.js +0 -89
  666. package/bundled-test-harness/assets/file-menu-items-CH4-naSK.js +0 -117
  667. package/bundled-test-harness/assets/file-menu-items-emUxx3ZI.js +0 -2
  668. package/bundled-test-harness/assets/file-preview-stage-B1McIWwu.js +0 -2
  669. package/bundled-test-harness/assets/file-preview-stage-BgZLNMN4.js +0 -72
  670. package/bundled-test-harness/assets/file-shell-embedded-BmfuwWfU.js +0 -2
  671. package/bundled-test-harness/assets/file-shell-embedded-zh8CJanA.js +0 -68
  672. package/bundled-test-harness/assets/file-shell-fitted-DSFUNRGJ.js +0 -2
  673. package/bundled-test-harness/assets/file-shell-fitted-DXKDH0fn.js +0 -98
  674. package/bundled-test-harness/assets/file-shell-isolated-0F1MFv4q.js +0 -2
  675. package/bundled-test-harness/assets/file-shell-isolated-DduZZzmi.js +0 -195
  676. package/bundled-test-harness/assets/file-tree-from-index-BzDvvUHy.js +0 -151
  677. package/bundled-test-harness/assets/file-tree-from-index-test-D0hfI4a1.js +0 -96
  678. package/bundled-test-harness/assets/film-BN_HVXBU.js +0 -13
  679. package/bundled-test-harness/assets/film-CKkbUi0L.js +0 -2
  680. package/bundled-test-harness/assets/film-CMNJITZ-.js +0 -4074
  681. package/bundled-test-harness/assets/fitted-CAvdcKpu.js +0 -34
  682. package/bundled-test-harness/assets/fitted-CbKOwd1u.js +0 -2
  683. package/bundled-test-harness/assets/flac-meta-extractor-e8qajPSl.js +0 -99
  684. package/bundled-test-harness/assets/font-file-def-9atde5W8.js +0 -64
  685. package/bundled-test-harness/assets/font-meta-extractor-IralDC8M.js +0 -303
  686. package/bundled-test-harness/assets/font-meta-extractor-zPBVOfoR.js +0 -2
  687. package/bundled-test-harness/assets/formatted-aibot-message-test-CWOiZUng.js +0 -109
  688. package/bundled-test-harness/assets/from-elsewhere-ChxbtsBa.js +0 -131
  689. package/bundled-test-harness/assets/frontmatter-field-cdig7KR9.js +0 -41
  690. package/bundled-test-harness/assets/garbage-collection-test-Dg-ww_Sb.js +0 -403
  691. package/bundled-test-harness/assets/gauge-B45nLOGe.js +0 -106
  692. package/bundled-test-harness/assets/gauge-BK-768BM.js +0 -2
  693. package/bundled-test-harness/assets/general-test-D7cn7PUr.js +0 -926
  694. package/bundled-test-harness/assets/get-relationship-membership-state-test-Skmj9V6y.js +0 -1308
  695. package/bundled-test-harness/assets/gif-meta-extractor-BychhK9q.js +0 -114
  696. package/bundled-test-harness/assets/glimmer-motion-and-choreo-in-cards-test-C09YUmk4.js +0 -160
  697. package/bundled-test-harness/assets/glimmer-motion-and-choreo-test-DYskx_Kk.js +0 -74
  698. package/bundled-test-harness/assets/helper-BHX0HLF2.js +0 -478
  699. package/bundled-test-harness/assets/host-submode-test-Clw_QnvF.js +0 -1243
  700. package/bundled-test-harness/assets/html-file-def-C0P9giwU.js +0 -82
  701. package/bundled-test-harness/assets/hydratable-card-DnjrxKsT.js +0 -147
  702. package/bundled-test-harness/assets/hydratable-card-test-BAmWHfv1.js +0 -426
  703. package/bundled-test-harness/assets/icons-DBXBZgLe.js +0 -894
  704. package/bundled-test-harness/assets/image-Cip6ojDd.js +0 -47
  705. package/bundled-test-harness/assets/image-file-def-BdQxjZcN.js +0 -65
  706. package/bundled-test-harness/assets/image-file-def-DP4aqWcS.js +0 -3
  707. package/bundled-test-harness/assets/index-changes-test-D8b_56Ke.js +0 -367
  708. package/bundled-test-harness/assets/index-query-engine-test-CCyaUwMX.js +0 -2593
  709. package/bundled-test-harness/assets/inspector-test-BJTVGdOO.js +0 -1930
  710. package/bundled-test-harness/assets/instance-filter-matcher-test-DjsPrXL7.js +0 -788
  711. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-DSqM0vxh.js +0 -475
  712. package/bundled-test-harness/assets/interact-submode-setup-DF31UMX-.js +0 -566
  713. package/bundled-test-harness/assets/is-component-declaration-test-Did47eG9.js +0 -50
  714. package/bundled-test-harness/assets/iso-bmff-LuWkGL__.js +0 -205
  715. package/bundled-test-harness/assets/iso-bmff-_flO6c20.js +0 -2
  716. package/bundled-test-harness/assets/isolated-and-edit-frocLHin.js +0 -2
  717. package/bundled-test-harness/assets/job-priority-header-test-DHLAXfp7.js +0 -81
  718. package/bundled-test-harness/assets/job-scoped-instance-residency-test-C1Bt5j98.js +0 -103
  719. package/bundled-test-harness/assets/join-the-community-BBUSO2cs.js +0 -86
  720. package/bundled-test-harness/assets/jpg-meta-extractor-CoybO4Hq.js +0 -88
  721. package/bundled-test-harness/assets/json-field-8sdH5RQb.js +0 -2
  722. package/bundled-test-harness/assets/json-field-BDD3iTUh.js +0 -19
  723. package/bundled-test-harness/assets/json-file-def-BKibsfc6.js +0 -298
  724. package/bundled-test-harness/assets/last-modified-date-CR5jru2m.js +0 -43
  725. package/bundled-test-harness/assets/last-modified-date-test-jJ00YdTm.js +0 -28
  726. package/bundled-test-harness/assets/links-to-editor-rDoCYaN-.js +0 -2
  727. package/bundled-test-harness/assets/links-to-many-component-BqZT88Fb.js +0 -2
  728. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-Cp1Eb_4U.js +0 -398
  729. package/bundled-test-harness/assets/linksto-error-sentinel-test-Bddavnh_.js +0 -238
  730. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-c5WegXnR.js +0 -354
  731. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-CWskzfGW.js +0 -303
  732. package/bundled-test-harness/assets/linksto-sentinel-reload-test-ByeVNhr8.js +0 -197
  733. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-DP26i6Gb.js +0 -260
  734. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-fDUXx8tO.js +0 -196
  735. package/bundled-test-harness/assets/llm-model-BcLEkTV7.js +0 -64
  736. package/bundled-test-harness/assets/login-CeuuNVvU.css +0 -139
  737. package/bundled-test-harness/assets/login-DV0WlJv-.js +0 -348
  738. package/bundled-test-harness/assets/login-error-text-test-BMGY_9gW.js +0 -51
  739. package/bundled-test-harness/assets/login-test-CL9YpMH5.js +0 -246
  740. package/bundled-test-harness/assets/m4a-meta-extractor-CHO1JQtb.js +0 -204
  741. package/bundled-test-harness/assets/main-CPLT8JNu.js +0 -5
  742. package/bundled-test-harness/assets/markdown-BvBALLGh.js +0 -7
  743. package/bundled-test-harness/assets/markdown-DFezmrFD.js +0 -2
  744. package/bundled-test-harness/assets/markdown-editor-mode-select-Au64bcIO.js +0 -2
  745. package/bundled-test-harness/assets/markdown-editor-mode-select-rK9PP8rv.js +0 -54
  746. package/bundled-test-harness/assets/markdown-embed-chooser-modal-test-CIxizf5k.js +0 -470
  747. package/bundled-test-harness/assets/markdown-embed-preview-pane-test-C7GoNN7l.js +0 -447
  748. package/bundled-test-harness/assets/markdown-embed-preview-test-CDnj4uhd.js +0 -368
  749. package/bundled-test-harness/assets/markdown-fallback-n7PsLNmO.js +0 -2
  750. package/bundled-test-harness/assets/markdown-fallback-test-DTHT6OwQ.js +0 -316
  751. package/bundled-test-harness/assets/markdown-highlighting-test-DJ-4WSE_.js +0 -244
  752. package/bundled-test-harness/assets/markdown-preview-Ccelx5W-.js +0 -64
  753. package/bundled-test-harness/assets/markdown-preview-JXuMC_ve.js +0 -72
  754. package/bundled-test-harness/assets/markdown-preview-test-ByZqrpPk.js +0 -238
  755. package/bundled-test-harness/assets/markdown-skill-frontmatter-test-DAHGeL4K.js +0 -146
  756. package/bundled-test-harness/assets/menu-items-DzJm9H_H.js +0 -2
  757. package/bundled-test-harness/assets/message-tool-test-lmdrIEdY.js +0 -33
  758. package/bundled-test-harness/assets/metadata-fields-BZZr4Qe5.js +0 -2
  759. package/bundled-test-harness/assets/metadata-fields-BtdjGsKE.js +0 -1415
  760. package/bundled-test-harness/assets/midi-audio-def-uYbYFmFi.js +0 -52
  761. package/bundled-test-harness/assets/midi-meta-extractor-DNI5gc1q.js +0 -284
  762. package/bundled-test-harness/assets/midi-meta-extractor-DbKZ4fMG.js +0 -2
  763. package/bundled-test-harness/assets/migrate-skill-test-DI1xceiL.js +0 -161
  764. package/bundled-test-harness/assets/mini-CNoDyHqG.js +0 -1519
  765. package/bundled-test-harness/assets/mini-DexlIeKK.js +0 -85
  766. package/bundled-test-harness/assets/mini-card-chooser-test-DT5eIf1_.js +0 -272
  767. package/bundled-test-harness/assets/mini-file-chooser-test-DTQnKTZJ.js +0 -201
  768. package/bundled-test-harness/assets/missing-template-DL2mwddM.js +0 -2
  769. package/bundled-test-harness/assets/missing-template-ltqlJ4JC.js +0 -48
  770. package/bundled-test-harness/assets/modal-container-DRnt95-S.js +0 -40
  771. package/bundled-test-harness/assets/modal-zE95eEFp.js +0 -322
  772. package/bundled-test-harness/assets/model-cost-tier-test-CcFz7hcv.js +0 -173
  773. package/bundled-test-harness/assets/module-contents-service-Dk_zWt-V.js +0 -256
  774. package/bundled-test-harness/assets/month-BqReBYWo.js +0 -2
  775. package/bundled-test-harness/assets/month-RhvmIp40.js +0 -123
  776. package/bundled-test-harness/assets/month-day-XFAQA72z.js +0 -2
  777. package/bundled-test-harness/assets/month-day-XzKpk6nz.js +0 -192
  778. package/bundled-test-harness/assets/month-year-BeuNr2Cl.js +0 -2
  779. package/bundled-test-harness/assets/month-year-DhU7hATV.js +0 -93
  780. package/bundled-test-harness/assets/mp3-meta-extractor-Dx2RnJc5.js +0 -476
  781. package/bundled-test-harness/assets/mp4-meta-extractor--k0m8KsT.js +0 -188
  782. package/bundled-test-harness/assets/multiple-stacks-test-bC24IWcJ.js +0 -208
  783. package/bundled-test-harness/assets/nested-query-field-render-test-qxElXx1e.js +0 -249
  784. package/bundled-test-harness/assets/no-stacks-test-Br7IGAgV.js +0 -48
  785. package/bundled-test-harness/assets/number-73SsCMEF.js +0 -3
  786. package/bundled-test-harness/assets/number-CicTBWQd.js +0 -151
  787. package/bundled-test-harness/assets/number-field-test-kV5zXo1J.js +0 -184
  788. package/bundled-test-harness/assets/number-input-CQy4xUeA.js +0 -82
  789. package/bundled-test-harness/assets/office-extract-Bo8sbNkK.js +0 -27
  790. package/bundled-test-harness/assets/office-extract-CfBaoRMD.js +0 -2
  791. package/bundled-test-harness/assets/ogg-meta-extractor-aIf5q_Rq.js +0 -225
  792. package/bundled-test-harness/assets/on-key-C8acaldQ.js +0 -472
  793. package/bundled-test-harness/assets/ooxml-Bu3iZezv.js +0 -172
  794. package/bundled-test-harness/assets/ooxml-jQPBQK25.js +0 -2
  795. package/bundled-test-harness/assets/open-image-in-new-tab-test-CP7q3kMm.js +0 -52
  796. package/bundled-test-harness/assets/operation-lowering-test-9Mdr0hRT.js +0 -2812
  797. package/bundled-test-harness/assets/operations-R9b661Qn.js +0 -3
  798. package/bundled-test-harness/assets/operations-Zv_V3Api.js +0 -766
  799. package/bundled-test-harness/assets/operations-invocation-test-BJPpWb2H.js +0 -523
  800. package/bundled-test-harness/assets/operations-query-test-DufdmPQF.js +0 -459
  801. package/bundled-test-harness/assets/operations-test-CzT051YH.js +0 -2518
  802. package/bundled-test-harness/assets/operator-mode-acceptance-test-ByOIOcD0.js +0 -1188
  803. package/bundled-test-harness/assets/operator-mode-card-chooser-test-CNhR9mvv.js +0 -1036
  804. package/bundled-test-harness/assets/operator-mode-links-test-CuxSVTPR.js +0 -793
  805. package/bundled-test-harness/assets/operator-mode-state-service-CCeHt5SH.js +0 -1275
  806. package/bundled-test-harness/assets/operator-mode-state-service-test-C8TI9WWg.js +0 -206
  807. package/bundled-test-harness/assets/operator-mode-test-DG-mG8Tn.js +0 -683
  808. package/bundled-test-harness/assets/operator-mode-ui-test-DB7xhjS0.js +0 -1027
  809. package/bundled-test-harness/assets/overlay-menu-items-test-C6rcdF_S.js +0 -317
  810. package/bundled-test-harness/assets/overlays-D2zmPxzK.js +0 -270
  811. package/bundled-test-harness/assets/overlays-clip-test-Clpq3JzQ.js +0 -91
  812. package/bundled-test-harness/assets/overlays-detached-element-test-BtsTeJch.js +0 -56
  813. package/bundled-test-harness/assets/pane-f-IYhcWT.js +0 -330
  814. package/bundled-test-harness/assets/panel-B3PCSBbf.js +0 -3540
  815. package/bundled-test-harness/assets/panel-Ban7zCBP.js +0 -474
  816. package/bundled-test-harness/assets/past-sessions-test-uM2m-oKV.js +0 -321
  817. package/bundled-test-harness/assets/patch-fields-test-COPjDhnt.js +0 -1014
  818. package/bundled-test-harness/assets/patch-instance-test-CRb3dfby.js +0 -348
  819. package/bundled-test-harness/assets/pdf-file-def-J_yOUU8_.js +0 -76
  820. package/bundled-test-harness/assets/pdf-meta-extractor-83T5Bdo7.js +0 -156
  821. package/bundled-test-harness/assets/pdf-meta-extractor-INFIklMy.js +0 -2
  822. package/bundled-test-harness/assets/pdf-viewer-B4rRluWA.js +0 -2
  823. package/bundled-test-harness/assets/pdf-viewer-vYem8ozk.js +0 -112
  824. package/bundled-test-harness/assets/percentage-ChagfNRG.js +0 -84
  825. package/bundled-test-harness/assets/permission-checking-realm-test-Dmb2a428.js +0 -306
  826. package/bundled-test-harness/assets/phone-number-BiD2eaSd.js +0 -236
  827. package/bundled-test-harness/assets/phone-number-C-wt4_UK.js +0 -2
  828. package/bundled-test-harness/assets/phone-number-field-test-BHzAmuBP.js +0 -73
  829. package/bundled-test-harness/assets/plate-CqN2nM6P.js +0 -41
  830. package/bundled-test-harness/assets/plate-DaIfpORN.js +0 -2
  831. package/bundled-test-harness/assets/player-CGt5fTd5.js +0 -2
  832. package/bundled-test-harness/assets/player-CN0l44LK.js +0 -82
  833. package/bundled-test-harness/assets/plural-field-components-test-CO2g2opW.js +0 -198
  834. package/bundled-test-harness/assets/png-image-def-B_oou2wS.js +0 -48
  835. package/bundled-test-harness/assets/png-meta-extractor-BfPz1qP_.js +0 -2
  836. package/bundled-test-harness/assets/png-meta-extractor-C8ai8sPw.js +0 -111
  837. package/bundled-test-harness/assets/policy-scoped-search-test-BRRp2a1A.js +0 -339
  838. package/bundled-test-harness/assets/pptx-file-def-C3qYEHDM.js +0 -60
  839. package/bundled-test-harness/assets/pptx-meta-extractor-8IuoBq4I.js +0 -77
  840. package/bundled-test-harness/assets/pptx-meta-extractor-BPhy9RMM.js +0 -2
  841. package/bundled-test-harness/assets/prerender-persistence-block-test-Cteb_Rs_.js +0 -124
  842. package/bundled-test-harness/assets/prerender-serialize-cycle-test-CH7b6Ra9.js +0 -134
  843. package/bundled-test-harness/assets/preview-CmERZpI6.js +0 -74
  844. package/bundled-test-harness/assets/preview-format-BPMlCSbb.js +0 -41
  845. package/bundled-test-harness/assets/preview-format-test-B7sA8fbZ.js +0 -103
  846. package/bundled-test-harness/assets/process-card-CtDzDB-_.js +0 -2
  847. package/bundled-test-harness/assets/process-card-erbWKY5h.js +0 -114
  848. package/bundled-test-harness/assets/process-card-test-DXOt1jDW.js +0 -94
  849. package/bundled-test-harness/assets/profile-settings-modal-11BrR058.js +0 -708
  850. package/bundled-test-harness/assets/progress-circle-Cd79Zqh2.js +0 -2
  851. package/bundled-test-harness/assets/progress-circle-sc-W5aUl.js +0 -95
  852. package/bundled-test-harness/assets/quarter-B61kCpcD.js +0 -168
  853. package/bundled-test-harness/assets/quarter-d5jkTzcz.js +0 -2
  854. package/bundled-test-harness/assets/query-field-membership-status-test-BmpVfohw.js +0 -323
  855. package/bundled-test-harness/assets/query-field-page-optin-test-9_Cce-OJ.js +0 -126
  856. package/bundled-test-harness/assets/query-field-schema-test-CwV7xanX.js +0 -231
  857. package/bundled-test-harness/assets/query-field-stale-prerender-test-RkdnZ-VV.js +0 -152
  858. package/bundled-test-harness/assets/query-fields-test-BLxYkTAM.js +0 -535
  859. package/bundled-test-harness/assets/rail-CFPU0tFe.js +0 -2
  860. package/bundled-test-harness/assets/rail-CQ53Dakr.js +0 -44
  861. package/bundled-test-harness/assets/realm-DdVH9lSZ.js +0 -95
  862. package/bundled-test-harness/assets/realm-DdsFw3b-.js +0 -2
  863. package/bundled-test-harness/assets/realm-config-DIslxoB7.js +0 -844
  864. package/bundled-test-harness/assets/realm-config-policy-standing-test-b4WxNDor.js +0 -290
  865. package/bundled-test-harness/assets/realm-config-routing-rule-edit-test-C-rcvkkD.js +0 -274
  866. package/bundled-test-harness/assets/realm-config-settings-test-DDUkM3zw.js +0 -187
  867. package/bundled-test-harness/assets/realm-dropdown-1j55Dy-1.js +0 -560
  868. package/bundled-test-harness/assets/realm-field-test-D-uEtFKO.js +0 -100
  869. package/bundled-test-harness/assets/realm-indexing-test-U9m0epR-.js +0 -4380
  870. package/bundled-test-harness/assets/realm-policy-test-DhKabhlk.js +0 -1141
  871. package/bundled-test-harness/assets/realm-test-BX6C9SS5.js +0 -2363
  872. package/bundled-test-harness/assets/realm-url-tooltip-BjjcKqBx.js +0 -56
  873. package/bundled-test-harness/assets/realm-url-tooltip-test-DW0ZwEEE.js +0 -78
  874. package/bundled-test-harness/assets/reasoning-test-BWT94KXG.js +0 -234
  875. package/bundled-test-harness/assets/recent-colors-addon-CfgmgilF.js +0 -61
  876. package/bundled-test-harness/assets/recent-colors-addon-D--Ry3Pf.js +0 -2
  877. package/bundled-test-harness/assets/relationship-loading-state-test-C5R6jao_.js +0 -290
  878. package/bundled-test-harness/assets/relative-time-Bq7pqums.js +0 -2
  879. package/bundled-test-harness/assets/relative-time-D0QyW4ig.js +0 -129
  880. package/bundled-test-harness/assets/remix-card-test-Cy0h3Xdf.js +0 -58
  881. package/bundled-test-harness/assets/rendered-markdown-Hw_EF8SO.js +0 -263
  882. package/bundled-test-harness/assets/rendered-markdown-test-CqeF-UZd.js +0 -587
  883. package/bundled-test-harness/assets/resident-instance-reuse-test-BiI6L40n.js +0 -82
  884. package/bundled-test-harness/assets/response-field-BCxG5phG.js +0 -38
  885. package/bundled-test-harness/assets/result-tile-DMzRnTP8.js +0 -140
  886. package/bundled-test-harness/assets/rich-markdown-C4RUl7L0.js +0 -2
  887. package/bundled-test-harness/assets/rich-markdown-DxQSCg-o.js +0 -218
  888. package/bundled-test-harness/assets/rich-markdown-field-test-B7wpedKs.js +0 -1647
  889. package/bundled-test-harness/assets/room-D0M0Zwrs.js +0 -1008
  890. package/bundled-test-harness/assets/room-message-test-BWWd4xC8.js +0 -445
  891. package/bundled-test-harness/assets/room-test-DFH-nOwi.js +0 -95
  892. package/bundled-test-harness/assets/run-realm-code-DyVyEDBl.js +0 -1600
  893. package/bundled-test-harness/assets/run-realm-code-test-BpxF-tOz.js +0 -2468
  894. package/bundled-test-harness/assets/schema-generation-test-DjaJqpYP.js +0 -28
  895. package/bundled-test-harness/assets/score-Cfp34BE7.js +0 -2
  896. package/bundled-test-harness/assets/score-DIWWpeyf.js +0 -100
  897. package/bundled-test-harness/assets/scrolling-test-hA_uBwBg.js +0 -384
  898. package/bundled-test-harness/assets/search-C0-b7dJI.js +0 -605
  899. package/bundled-test-harness/assets/search-adorn-test-C6KP3AwA.js +0 -136
  900. package/bundled-test-harness/assets/search-entries-BfPq5sPS.js +0 -472
  901. package/bundled-test-harness/assets/search-entries-result-test-Bl9u_BOD.js +0 -234
  902. package/bundled-test-harness/assets/search-entries-test-BDC_lS43.js +0 -1486
  903. package/bundled-test-harness/assets/search-result-header-DCAze_cg.js +0 -128
  904. package/bundled-test-harness/assets/search-results-Dd0enVun.js +0 -266
  905. package/bundled-test-harness/assets/search-results-test-T5KEEII4.js +0 -578
  906. package/bundled-test-harness/assets/search-selection-menu-test-CCssnBq1.js +0 -108
  907. package/bundled-test-harness/assets/search-sheet-persistence-test-BzQiO-FK.js +0 -131
  908. package/bundled-test-harness/assets/search-test-fyCWb24m.js +0 -2241
  909. package/bundled-test-harness/assets/searchable-BkgeKQMl.js +0 -2
  910. package/bundled-test-harness/assets/searchable-D_6p6fyb.js +0 -192
  911. package/bundled-test-harness/assets/searchable-option-test-CnCUYGaq.js +0 -322
  912. package/bundled-test-harness/assets/searchable-search-doc-test-B8Q0D98v.js +0 -1271
  913. package/bundled-test-harness/assets/sending-test-D5PGBDys.js +0 -576
  914. package/bundled-test-harness/assets/serialization-rri-form-audit-test-BRJ1cJ31.js +0 -136
  915. package/bundled-test-harness/assets/serialization-test-DM6hK258.js +0 -8758
  916. package/bundled-test-harness/assets/setup-C_GgVgzM.js +0 -772
  917. package/bundled-test-harness/assets/shared-link-target-reuse-test-Be-lSKib.js +0 -207
  918. package/bundled-test-harness/assets/show-card-BFG6KR1m.js +0 -67
  919. package/bundled-test-harness/assets/show-card-test-l0wMrfZq.js +0 -365
  920. package/bundled-test-harness/assets/show-file-B8-FRVHj.js +0 -34
  921. package/bundled-test-harness/assets/signed-capture-D_Q44TQ7.js +0 -204
  922. package/bundled-test-harness/assets/signed-capture-link-test-DOS5xpYv.js +0 -132
  923. package/bundled-test-harness/assets/single-stack-test-BIEtzHVS.js +0 -652
  924. package/bundled-test-harness/assets/skill-BUTGmSsm.js +0 -76
  925. package/bundled-test-harness/assets/skill-Bo7R_2Ud.js +0 -3
  926. package/bundled-test-harness/assets/skill-reference-Cs64py3k.js +0 -112
  927. package/bundled-test-harness/assets/skills-test-CXxSIkYa.js +0 -648
  928. package/bundled-test-harness/assets/slider-picker-C81errGI.js +0 -245
  929. package/bundled-test-harness/assets/slider-picker-mvKsy6cR.js +0 -2
  930. package/bundled-test-harness/assets/spec-B55lJurX.js +0 -602
  931. package/bundled-test-harness/assets/store-DyQ0KiyI.js +0 -2205
  932. package/bundled-test-harness/assets/store-module-rebuild-test-C7532_bS.js +0 -454
  933. package/bundled-test-harness/assets/store-search-test-80NMJuoW.js +0 -175
  934. package/bundled-test-harness/assets/store-test-dHiWXXMs.js +0 -3460
  935. package/bundled-test-harness/assets/string-DHlQEHYm.js +0 -9
  936. package/bundled-test-harness/assets/submode-switcher-DQv-CD6G.js +0 -169
  937. package/bundled-test-harness/assets/svg-meta-extractor-Uw_EJytF.js +0 -42
  938. package/bundled-test-harness/assets/swatches-picker-CaEoibN1.js +0 -33
  939. package/bundled-test-harness/assets/swatches-picker-gPl50JbP.js +0 -2
  940. package/bundled-test-harness/assets/switch-submode-BKDnJd4m.js +0 -79
  941. package/bundled-test-harness/assets/switch-submode-test-_E2mVk4z.js +0 -168
  942. package/bundled-test-harness/assets/tag-B60lDr-j.js +0 -105
  943. package/bundled-test-harness/assets/tests-BBBgPBB6.js +0 -3520
  944. package/bundled-test-harness/assets/text-area-CJjWmwpi.js +0 -9
  945. package/bundled-test-harness/assets/text-file-def-u_dl0i2z.js +0 -151
  946. package/bundled-test-harness/assets/text-input-validator-test-BTwnkSS2.js +0 -156
  947. package/bundled-test-harness/assets/theme-BK-fAHVn.js +0 -9
  948. package/bundled-test-harness/assets/theme-card-test-BQmT7rqr.js +0 -621
  949. package/bundled-test-harness/assets/theme-scheme-island-test-Oi3aeyp1.js +0 -264
  950. package/bundled-test-harness/assets/three-d-model-def-B4KckPVC.js +0 -70
  951. package/bundled-test-harness/assets/time-BcuaSkHg.js +0 -126
  952. package/bundled-test-harness/assets/time-f7Irg7Z7.js +0 -2
  953. package/bundled-test-harness/assets/time-slots-ClYIZN53.js +0 -2
  954. package/bundled-test-harness/assets/time-slots-TI1aaqRN.js +0 -85
  955. package/bundled-test-harness/assets/timeline-Cof9eyq0.js +0 -59
  956. package/bundled-test-harness/assets/timeline-DFWQtCWE.js +0 -2
  957. package/bundled-test-harness/assets/to-device-streaming-test-BDrUUlOt.js +0 -163
  958. package/bundled-test-harness/assets/token-usage-test-CiZo03fY.js +0 -166
  959. package/bundled-test-harness/assets/tool-field-BXHr9r0w.js +0 -94
  960. package/bundled-test-harness/assets/tool-field-CoRO5C4R.js +0 -2
  961. package/bundled-test-harness/assets/tools-CmVaYDIS.js +0 -725
  962. package/bundled-test-harness/assets/tools-calling-test-B454__XF.js +0 -200
  963. package/bundled-test-harness/assets/tools-test-CLu51dJO.js +0 -1624
  964. package/bundled-test-harness/assets/tools-test-XGRAvVug.js +0 -2820
  965. package/bundled-test-harness/assets/ts-file-def-C05BDwdg.js +0 -159
  966. package/bundled-test-harness/assets/update-room-skills-test-jOvP14JX.js +0 -240
  967. package/bundled-test-harness/assets/url-BFf2CNo-.js +0 -2
  968. package/bundled-test-harness/assets/url-CYm-CeXp.js +0 -96
  969. package/bundled-test-harness/assets/video-file-def-B2UIrOFS.js +0 -76
  970. package/bundled-test-harness/assets/wav-meta-extractor-BNkv7e2f.js +0 -368
  971. package/bundled-test-harness/assets/webm-meta-extractor-C933kYyc.js +0 -178
  972. package/bundled-test-harness/assets/webp-meta-extractor-BLz0z1pZ.js +0 -98
  973. package/bundled-test-harness/assets/website-BuOMUW1v.js +0 -92
  974. package/bundled-test-harness/assets/week-Bo0666ji.js +0 -111
  975. package/bundled-test-harness/assets/week-CaVFA8Vc.js +0 -2
  976. package/bundled-test-harness/assets/welcome-to-boxel-PWard7GF.js +0 -172
  977. package/bundled-test-harness/assets/workspace-KXfFTQNV.js +0 -614
  978. package/bundled-test-harness/assets/workspace-a11y-test-Buwb-rfO.js +0 -197
  979. package/bundled-test-harness/assets/workspace-behavior-test-CbgFUOOo.js +0 -200
  980. package/bundled-test-harness/assets/workspace-chooser-BmQvhhrl.js +0 -2248
  981. package/bundled-test-harness/assets/workspace-chooser-Cu84Gd_E.css +0 -1317
  982. package/bundled-test-harness/assets/workspace-chooser-catalog-order-test-rcRw6sni.js +0 -36
  983. package/bundled-test-harness/assets/workspace-chooser-unreachable-notice-test-DUXnBIdY.js +0 -60
  984. package/bundled-test-harness/assets/workspace-delete-multiple-test-DjRKhZ2g.js +0 -212
  985. package/bundled-test-harness/assets/workspace-delete-summary-test-CvkLVYyN.js +0 -63
  986. package/bundled-test-harness/assets/workspace-timestamp-labels-test-AYJT4inv.js +0 -58
  987. package/bundled-test-harness/assets/xlsx-file-def-DuKdbGrJ.js +0 -60
  988. package/bundled-test-harness/assets/xlsx-meta-extractor-Bz-C2JWP.js +0 -101
  989. package/bundled-test-harness/assets/xlsx-meta-extractor-ClwwgABg.js +0 -2
  990. package/bundled-test-harness/assets/year-B6ctHikl.js +0 -2
  991. package/bundled-test-harness/assets/year-C11uAQE6.js +0 -78
  992. package/bundled-test-harness/assets/zip-file-def-B8XN-OS_.js +0 -288
  993. package/bundled-types/host-app/components/matrix/auth-button.gts +0 -39
  994. package/bundled-types/host-app/components/matrix/auth-container.gts +0 -69
  995. package/bundled-types/host-app/components/matrix/auth-form-field.gts +0 -43
@@ -0,0 +1,1647 @@
1
+ import { s as __toESM } from "./chunk-Rp0pCe6z.js";
2
+ import { r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime--fcdnjmJ-BoCBNIsz.js";
3
+ import { Ar as testRealmURL } from "./runtime-common-ClpqhbwG.js";
4
+ import { E as baseRRI, b as PermissionsContextName } from "./constants-CqKWhRfY.js";
5
+ import { wt as setComponentTemplate } from "./cache-DtDz7X5V-Wn8jRDfL.js";
6
+ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
7
+ import "./component-BJO47HTh.js";
8
+ import "./template-factory-ds9s0u8l.js";
9
+ import { M as waitUntil, T as settled, d as click, h as render, l as triggerEvent, o as waitFor } from "./dist-BOAdzfkP.js";
10
+ import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
11
+ import { F as setupLocalIndexing, M as setupCardLogs, P as setupIntegrationTestRealm, lt as setupRenderingTest, nt as provide, t as setupMockMatrix } from "./mock-matrix-DPQ0j2MD.js";
12
+ import { r as getService } from "./dist-CPfIHBla.js";
13
+ import { A as field, a as CardDef, s as Component, w as contains } from "./card-api-Dzje0smT.js";
14
+ import { t as string_default } from "./string-BHZZwNlZ.js";
15
+ import { t as RichMarkdownField } from "./rich-markdown-C6rQUngb.js";
16
+ import { t as codemirrorContext } from "./codemirror-context-B5lUuYoE.js";
17
+ import { t as renderCard } from "./render-component-B15Z0e2v.js";
18
+ //#region tests/integration/components/rich-markdown-field-test.gts
19
+ var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
20
+ var loader;
21
+ (0, import_qunit.module)("Integration | RichMarkdownField", function(hooks) {
22
+ setupRenderingTest(hooks);
23
+ let mockMatrixUtils = setupMockMatrix(hooks);
24
+ hooks.beforeEach(function() {
25
+ provide(PermissionsContextName, {
26
+ canWrite: true,
27
+ canRead: true
28
+ });
29
+ loader = getService("loader-service").loader;
30
+ });
31
+ setupLocalIndexing(hooks);
32
+ hooks.beforeEach(function() {
33
+ globalThis.__loadCodeMirror = async () => codemirrorContext;
34
+ });
35
+ hooks.afterEach(function() {
36
+ delete globalThis.__loadCodeMirror;
37
+ });
38
+ setupCardLogs(hooks, async () => await loader.import("@cardstack/base/card-api"));
39
+ (0, import_qunit.test)("renders markdown as HTML", async function(assert) {
40
+ class TestCard extends CardDef {
41
+ static {
42
+ decorateFieldV2(this.prototype, "body", [field], function() {
43
+ return contains(RichMarkdownField);
44
+ });
45
+ }
46
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
47
+ static atom = class Atom extends Component {
48
+ static {
49
+ setComponentTemplate(templateFactory({
50
+ "id": "nKOoxfii",
51
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
52
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
53
+ "isStrictMode": true
54
+ }), this);
55
+ }
56
+ };
57
+ }
58
+ await setupIntegrationTestRealm({
59
+ mockMatrixUtils,
60
+ contents: { "test-card.gts": { TestCard } }
61
+ });
62
+ let card = new TestCard({ body: new RichMarkdownField({ content: "# Hello World\n\nSome **bold** text." }) });
63
+ let root = await renderCard(loader, card, "atom");
64
+ assert.dom(root.querySelector("h1")).hasText("Hello World");
65
+ assert.dom(root.querySelector("strong")).hasText("bold");
66
+ });
67
+ (0, import_qunit.test)("edit template renders CodeMirror editor for content", async function(assert) {
68
+ class TestCard extends CardDef {
69
+ static {
70
+ decorateFieldV2(this.prototype, "body", [field], function() {
71
+ return contains(RichMarkdownField);
72
+ });
73
+ }
74
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
75
+ static edit = class Edit extends Component {
76
+ static {
77
+ setComponentTemplate(templateFactory({
78
+ "id": "nKOoxfii",
79
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
80
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
81
+ "isStrictMode": true
82
+ }), this);
83
+ }
84
+ };
85
+ }
86
+ await setupIntegrationTestRealm({
87
+ mockMatrixUtils,
88
+ contents: { "test-card.gts": { TestCard } }
89
+ });
90
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Edit me" }) });
91
+ let root = await renderCard(loader, card, "edit");
92
+ let editor = root.querySelector("[data-test-codemirror-editor]");
93
+ let loading = root.querySelector("[data-test-codemirror-loading]");
94
+ let hasEditorOrLoading = editor !== null || loading !== null;
95
+ assert.true(hasEditorOrLoading, "CodeMirror editor or loading state is rendered");
96
+ });
97
+ (0, import_qunit.test)("docked toolbar and editor mount share an overflow-clipping wrapper so the sticky toolbar corners conform to the rounded editor outline", async function(assert) {
98
+ class TestCard extends CardDef {
99
+ static {
100
+ decorateFieldV2(this.prototype, "body", [field], function() {
101
+ return contains(RichMarkdownField);
102
+ });
103
+ }
104
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
105
+ static edit = class Edit extends Component {
106
+ static {
107
+ setComponentTemplate(templateFactory({
108
+ "id": "nKOoxfii",
109
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
110
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
111
+ "isStrictMode": true
112
+ }), this);
113
+ }
114
+ };
115
+ }
116
+ await setupIntegrationTestRealm({
117
+ mockMatrixUtils,
118
+ contents: { "test-card.gts": { TestCard } }
119
+ });
120
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Edit me" }) });
121
+ let root = await renderCard(loader, card, "edit");
122
+ await waitFor("[data-test-codemirror-body]", { timeout: 5e3 });
123
+ let wrapper = root.querySelector("[data-test-codemirror-body]");
124
+ assert.dom(wrapper).exists("the clipping wrapper is rendered");
125
+ let overflow = getComputedStyle(wrapper);
126
+ assert.strictEqual(overflow.overflowX, "clip", "the wrapper clips overflow-x");
127
+ assert.strictEqual(overflow.overflowY, "clip", "the wrapper clips overflow-y");
128
+ assert.notStrictEqual(getComputedStyle(wrapper).borderRadius, "0px", "the wrapper is rounded, so the clip has corners to round off");
129
+ assert.dom("[data-test-markdown-toolbar]", wrapper).exists("the toolbar is inside the clipping wrapper");
130
+ assert.dom("[data-test-codemirror-mount]", wrapper).exists("the editor mount is inside the clipping wrapper");
131
+ assert.dom(wrapper.parentElement).hasClass("codemirror-editor", "the wrapper is a direct child of the editor container");
132
+ });
133
+ (0, import_qunit.test)("the Add-embed dropdown escapes the corner-clipping wrapper so it stays visible when the toolbar docks at the bottom", async function(assert) {
134
+ class TestCard extends CardDef {
135
+ static {
136
+ decorateFieldV2(this.prototype, "body", [field], function() {
137
+ return contains(RichMarkdownField);
138
+ });
139
+ }
140
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
141
+ static edit = class Edit extends Component {
142
+ static {
143
+ setComponentTemplate(templateFactory({
144
+ "id": "nKOoxfii",
145
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
146
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
147
+ "isStrictMode": true
148
+ }), this);
149
+ }
150
+ };
151
+ }
152
+ await setupIntegrationTestRealm({
153
+ mockMatrixUtils,
154
+ contents: { "test-card.gts": { TestCard } }
155
+ });
156
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Edit me" }) });
157
+ let root = await renderCard(loader, card, "edit");
158
+ await waitFor("[data-test-codemirror-body]", { timeout: 5e3 });
159
+ await click("[data-test-toolbar=\"add-embed\"]");
160
+ let popover = document.querySelector("[data-test-toolbar-embed-popover]");
161
+ let clipBox = root.querySelector("[data-test-codemirror-body]");
162
+ assert.ok(popover, "the Add-embed dropdown opens");
163
+ assert.dom("[data-test-codemirror-body]").exists("the corner-clip box is present");
164
+ assert.notOk(clipBox?.contains(popover), "the Add-embed menu renders outside the corner-clip box, so the clip cannot swallow it");
165
+ });
166
+ (0, import_qunit.test)("renders with null content without error", async function(assert) {
167
+ class TestCard extends CardDef {
168
+ static {
169
+ decorateFieldV2(this.prototype, "body", [field], function() {
170
+ return contains(RichMarkdownField);
171
+ });
172
+ }
173
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
174
+ static edit = class Edit extends Component {
175
+ static {
176
+ setComponentTemplate(templateFactory({
177
+ "id": "nKOoxfii",
178
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
179
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
180
+ "isStrictMode": true
181
+ }), this);
182
+ }
183
+ };
184
+ }
185
+ await setupIntegrationTestRealm({
186
+ mockMatrixUtils,
187
+ contents: { "test-card.gts": { TestCard } }
188
+ });
189
+ let card = new TestCard();
190
+ let root = await renderCard(loader, card, "edit");
191
+ assert.dom(root).exists("renders without error");
192
+ });
193
+ (0, import_qunit.test)("renders inline :card references as BFM elements", async function(assert) {
194
+ class TestCard extends CardDef {
195
+ static {
196
+ decorateFieldV2(this.prototype, "body", [field], function() {
197
+ return contains(RichMarkdownField);
198
+ });
199
+ }
200
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
201
+ static atom = class Atom extends Component {
202
+ static {
203
+ setComponentTemplate(templateFactory({
204
+ "id": "nKOoxfii",
205
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
206
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
207
+ "isStrictMode": true
208
+ }), this);
209
+ }
210
+ };
211
+ }
212
+ await setupIntegrationTestRealm({
213
+ mockMatrixUtils,
214
+ contents: { "test-card.gts": { TestCard } }
215
+ });
216
+ let card = new TestCard({ body: new RichMarkdownField({ content: "See :card[https://example.com/cards/1] for details." }) });
217
+ let root = await renderCard(loader, card, "atom");
218
+ assert.dom(root.querySelector("[data-boxel-bfm-inline-ref]")).exists("inline card reference is rendered as BFM element");
219
+ assert.dom(root.querySelector("[data-boxel-bfm-inline-ref]")).hasAttribute("data-boxel-bfm-inline-ref", "https://example.com/cards/1");
220
+ });
221
+ (0, import_qunit.test)("renders block ::card references as BFM elements", async function(assert) {
222
+ class TestCard extends CardDef {
223
+ static {
224
+ decorateFieldV2(this.prototype, "body", [field], function() {
225
+ return contains(RichMarkdownField);
226
+ });
227
+ }
228
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
229
+ static atom = class Atom extends Component {
230
+ static {
231
+ setComponentTemplate(templateFactory({
232
+ "id": "nKOoxfii",
233
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
234
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
235
+ "isStrictMode": true
236
+ }), this);
237
+ }
238
+ };
239
+ }
240
+ await setupIntegrationTestRealm({
241
+ mockMatrixUtils,
242
+ contents: { "test-card.gts": { TestCard } }
243
+ });
244
+ let card = new TestCard({ body: new RichMarkdownField({ content: "::card[https://example.com/cards/2]\n" }) });
245
+ let root = await renderCard(loader, card, "atom");
246
+ assert.dom(root.querySelector("[data-boxel-bfm-block-ref]")).exists("block card reference is rendered as BFM element");
247
+ assert.dom(root.querySelector("[data-boxel-bfm-block-ref]")).hasAttribute("data-boxel-bfm-block-ref", "https://example.com/cards/2");
248
+ });
249
+ (0, import_qunit.test)("cardReferenceUrls computes resolved URLs from markdown content", async function(assert) {
250
+ class TestCard extends CardDef {
251
+ static {
252
+ decorateFieldV2(this.prototype, "body", [field], function() {
253
+ return contains(RichMarkdownField);
254
+ });
255
+ }
256
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
257
+ static embedded = class Embedded extends Component {
258
+ static {
259
+ setComponentTemplate(templateFactory({
260
+ "id": "nKOoxfii",
261
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
262
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
263
+ "isStrictMode": true
264
+ }), this);
265
+ }
266
+ };
267
+ }
268
+ await setupIntegrationTestRealm({
269
+ mockMatrixUtils,
270
+ contents: { "test-card.gts": { TestCard } }
271
+ });
272
+ let card = new TestCard({ body: new RichMarkdownField({ content: "See :card[https://example.com/cards/1] for details.\n\n::card[https://example.com/cards/2]\n" }) });
273
+ await renderCard(loader, card, "embedded");
274
+ assert.deepEqual(card.body.cardReferenceUrls, ["https://example.com/cards/1", "https://example.com/cards/2"], "cardReferenceUrls contains both inline and block reference URLs");
275
+ });
276
+ (0, import_qunit.test)("cardReferenceUrls returns empty array for content without references", async function(assert) {
277
+ class TestCard extends CardDef {
278
+ static {
279
+ decorateFieldV2(this.prototype, "body", [field], function() {
280
+ return contains(RichMarkdownField);
281
+ });
282
+ }
283
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
284
+ static embedded = class Embedded extends Component {
285
+ static {
286
+ setComponentTemplate(templateFactory({
287
+ "id": "nKOoxfii",
288
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
289
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
290
+ "isStrictMode": true
291
+ }), this);
292
+ }
293
+ };
294
+ }
295
+ await setupIntegrationTestRealm({
296
+ mockMatrixUtils,
297
+ contents: { "test-card.gts": { TestCard } }
298
+ });
299
+ let card = new TestCard({ body: new RichMarkdownField({ content: "# Just plain markdown\n\nNo card references here." }) });
300
+ await renderCard(loader, card, "embedded");
301
+ assert.deepEqual(card.body.cardReferenceUrls, [], "cardReferenceUrls is empty");
302
+ });
303
+ (0, import_qunit.test)("linkedCards query resolves referenced cards from the realm", async function(assert) {
304
+ class TestCard extends CardDef {
305
+ static {
306
+ decorateFieldV2(this.prototype, "body", [field], function() {
307
+ return contains(RichMarkdownField);
308
+ });
309
+ }
310
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
311
+ static embedded = class Embedded extends Component {
312
+ static {
313
+ setComponentTemplate(templateFactory({
314
+ "id": "nKOoxfii",
315
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
316
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
317
+ "isStrictMode": true
318
+ }), this);
319
+ }
320
+ };
321
+ }
322
+ let sampleCards = { "referenced-card.json": { data: {
323
+ type: "card",
324
+ attributes: { cardTitle: "Referenced Card" },
325
+ meta: { adoptsFrom: {
326
+ module: baseRRI("card-api"),
327
+ name: "CardDef"
328
+ } }
329
+ } } };
330
+ await setupIntegrationTestRealm({
331
+ mockMatrixUtils,
332
+ contents: {
333
+ "test-card.gts": { TestCard },
334
+ ...sampleCards
335
+ }
336
+ });
337
+ let card = new TestCard({ body: new RichMarkdownField({ content: `:card[${testRealmURL}referenced-card]` }) });
338
+ let root = await renderCard(loader, card, "embedded");
339
+ assert.dom(root.querySelector("[data-boxel-bfm-inline-ref]")).exists("card reference placeholder is rendered");
340
+ });
341
+ (0, import_qunit.test)("display path renders a relative card-ref pill in a prefix-mapped realm", async function(assert) {
342
+ class Pet extends CardDef {
343
+ static displayName = "Pet";
344
+ static {
345
+ decorateFieldV2(this.prototype, "name", [field], function() {
346
+ return contains(string_default);
347
+ });
348
+ }
349
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
350
+ static {
351
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
352
+ return contains(string_default, { computeVia: function() {
353
+ return this.name;
354
+ } });
355
+ });
356
+ }
357
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
358
+ static atom = class Atom extends Component {
359
+ static {
360
+ setComponentTemplate(templateFactory({
361
+ "id": "hIHHAuC1",
362
+ "block": "[[[10,1],[14,\"data-test-pet-atom\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
363
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
364
+ "isStrictMode": true
365
+ }), this);
366
+ }
367
+ };
368
+ }
369
+ class ArticleCard extends CardDef {
370
+ static {
371
+ decorateFieldV2(this.prototype, "body", [field], function() {
372
+ return contains(RichMarkdownField);
373
+ });
374
+ }
375
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
376
+ static isolated = class Isolated extends Component {
377
+ static {
378
+ setComponentTemplate(templateFactory({
379
+ "id": "nKOoxfii",
380
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
381
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
382
+ "isStrictMode": true
383
+ }), this);
384
+ }
385
+ };
386
+ }
387
+ await setupIntegrationTestRealm({
388
+ mockMatrixUtils,
389
+ contents: {
390
+ "pet.gts": { Pet },
391
+ "article.gts": { ArticleCard },
392
+ "Pet/mango.json": { data: {
393
+ attributes: {
394
+ name: "Mango",
395
+ cardTitle: "Mango"
396
+ },
397
+ meta: { adoptsFrom: {
398
+ module: "../pet",
399
+ name: "Pet"
400
+ } }
401
+ } },
402
+ "article-1.json": { data: {
403
+ attributes: { body: { content: `Inline: :card[./Pet/mango]` } },
404
+ meta: { adoptsFrom: {
405
+ module: "./article",
406
+ name: "ArticleCard"
407
+ } }
408
+ } }
409
+ }
410
+ });
411
+ let virtualNetwork = getService("network").virtualNetwork;
412
+ virtualNetwork.addRealmMapping("@test/cards/", testRealmURL);
413
+ try {
414
+ let article = await getService("store").get(`${testRealmURL}article-1`);
415
+ let refs = article.body?.cardReferenceUrls;
416
+ assert.deepEqual(refs, ["@test/cards/Pet/mango"], "the relative ref resolves against the prefix-form base into RRI space");
417
+ await renderCard(loader, article, "isolated");
418
+ await waitFor("[data-test-pet-atom]");
419
+ assert.dom("[data-test-pet-atom]").hasText("Mango", "the referenced card renders as a pill");
420
+ } finally {
421
+ virtualNetwork.removeRealmMapping("@test/cards/");
422
+ }
423
+ });
424
+ (0, import_qunit.test)("renders footnotes", async function(assert) {
425
+ class TestCard extends CardDef {
426
+ static {
427
+ decorateFieldV2(this.prototype, "body", [field], function() {
428
+ return contains(RichMarkdownField);
429
+ });
430
+ }
431
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
432
+ static atom = class Atom extends Component {
433
+ static {
434
+ setComponentTemplate(templateFactory({
435
+ "id": "nKOoxfii",
436
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
437
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
438
+ "isStrictMode": true
439
+ }), this);
440
+ }
441
+ };
442
+ }
443
+ await setupIntegrationTestRealm({
444
+ mockMatrixUtils,
445
+ contents: { "test-card.gts": { TestCard } }
446
+ });
447
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Text with a footnote[^1].\n\n[^1]: This is the footnote content." }) });
448
+ let root = await renderCard(loader, card, "atom");
449
+ assert.dom(root.querySelector(".footnotes")).exists("footnote section is rendered");
450
+ assert.ok(root.textContent.includes("This is the footnote content"), "footnote content is present");
451
+ });
452
+ (0, import_qunit.test)("linkedCards render inside the markdown when card is loaded from realm", async function(assert) {
453
+ class Pet extends CardDef {
454
+ static displayName = "Pet";
455
+ static {
456
+ decorateFieldV2(this.prototype, "name", [field], function() {
457
+ return contains(string_default);
458
+ });
459
+ }
460
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
461
+ static {
462
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
463
+ return contains(string_default, { computeVia: function() {
464
+ return this.name;
465
+ } });
466
+ });
467
+ }
468
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
469
+ static embedded = class Embedded extends Component {
470
+ static {
471
+ setComponentTemplate(templateFactory({
472
+ "id": "fc+zviHm",
473
+ "block": "[[[10,0],[14,\"data-test-pet-embedded\",\"\"],[12],[8,[30,1,[\"name\"]],null,null,null],[13]],[\"@fields\"],[]]",
474
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
475
+ "isStrictMode": true
476
+ }), this);
477
+ }
478
+ };
479
+ static atom = class Atom extends Component {
480
+ static {
481
+ setComponentTemplate(templateFactory({
482
+ "id": "hIHHAuC1",
483
+ "block": "[[[10,1],[14,\"data-test-pet-atom\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
484
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
485
+ "isStrictMode": true
486
+ }), this);
487
+ }
488
+ };
489
+ }
490
+ class ArticleCard extends CardDef {
491
+ static {
492
+ decorateFieldV2(this.prototype, "body", [field], function() {
493
+ return contains(RichMarkdownField);
494
+ });
495
+ }
496
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
497
+ static isolated = class Isolated extends Component {
498
+ static {
499
+ setComponentTemplate(templateFactory({
500
+ "id": "nKOoxfii",
501
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
502
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
503
+ "isStrictMode": true
504
+ }), this);
505
+ }
506
+ };
507
+ }
508
+ await setupIntegrationTestRealm({
509
+ mockMatrixUtils,
510
+ contents: {
511
+ "pet.gts": { Pet },
512
+ "article.gts": { ArticleCard },
513
+ "Pet/mango.json": { data: {
514
+ attributes: {
515
+ name: "Mango",
516
+ cardTitle: "Mango"
517
+ },
518
+ meta: { adoptsFrom: {
519
+ module: "../pet",
520
+ name: "Pet"
521
+ } }
522
+ } },
523
+ "article-1.json": { data: {
524
+ attributes: { body: { content: `Inline ref: :card[${testRealmURL}Pet/mango]\n\nBlock ref:\n\n::card[${testRealmURL}Pet/mango]\n` } },
525
+ meta: { adoptsFrom: {
526
+ module: "./article",
527
+ name: "ArticleCard"
528
+ } }
529
+ } }
530
+ }
531
+ });
532
+ let store = getService("store");
533
+ let article = await store.get(`${testRealmURL}article-1`);
534
+ await store.loaded();
535
+ await renderCard(loader, article, "isolated");
536
+ await waitFor("[data-test-pet-atom]", { timeout: 1e4 });
537
+ assert.dom("[data-test-pet-atom]").exists("inline card reference renders the referenced card in atom format");
538
+ assert.dom("[data-test-pet-atom]").hasText("Mango", "inline atom shows the correct card");
539
+ assert.dom("[data-test-pet-embedded]").exists("block card reference renders the referenced card in embedded format");
540
+ assert.dom("[data-test-pet-embedded]").hasText("Mango", "block embedded shows the correct card");
541
+ assert.dom("[data-test-markdown-bfm-unresolved-inline]").doesNotExist("no unresolved Pill remains after card resolves (inline)");
542
+ assert.dom("[data-test-markdown-bfm-unresolved-block]").doesNotExist("no unresolved Pill remains after card resolves (block)");
543
+ });
544
+ (0, import_qunit.test)("every card format renders in both inline and block placement (saved MarkdownTemplate path)", async function(assert) {
545
+ class Pet extends CardDef {
546
+ static displayName = "Pet";
547
+ static {
548
+ decorateFieldV2(this.prototype, "name", [field], function() {
549
+ return contains(string_default);
550
+ });
551
+ }
552
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
553
+ static {
554
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
555
+ return contains(string_default, { computeVia: function() {
556
+ return this.name;
557
+ } });
558
+ });
559
+ }
560
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
561
+ static atom = class Atom extends Component {
562
+ static {
563
+ setComponentTemplate(templateFactory({
564
+ "id": "hIHHAuC1",
565
+ "block": "[[[10,1],[14,\"data-test-pet-atom\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
566
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
567
+ "isStrictMode": true
568
+ }), this);
569
+ }
570
+ };
571
+ static embedded = class Embedded extends Component {
572
+ static {
573
+ setComponentTemplate(templateFactory({
574
+ "id": "urFu3pRa",
575
+ "block": "[[[10,0],[14,\"data-test-pet-embedded\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
576
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
577
+ "isStrictMode": true
578
+ }), this);
579
+ }
580
+ };
581
+ static fitted = class Fitted extends Component {
582
+ static {
583
+ setComponentTemplate(templateFactory({
584
+ "id": "+uAZxnry",
585
+ "block": "[[[10,0],[14,\"data-test-pet-fitted\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
586
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
587
+ "isStrictMode": true
588
+ }), this);
589
+ }
590
+ };
591
+ static isolated = class Isolated extends Component {
592
+ static {
593
+ setComponentTemplate(templateFactory({
594
+ "id": "48HERO9Z",
595
+ "block": "[[[10,0],[14,\"data-test-pet-isolated\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
596
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
597
+ "isStrictMode": true
598
+ }), this);
599
+ }
600
+ };
601
+ }
602
+ class ArticleCard extends CardDef {
603
+ static {
604
+ decorateFieldV2(this.prototype, "body", [field], function() {
605
+ return contains(RichMarkdownField);
606
+ });
607
+ }
608
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
609
+ static isolated = class Isolated extends Component {
610
+ static {
611
+ setComponentTemplate(templateFactory({
612
+ "id": "nKOoxfii",
613
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
614
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
615
+ "isStrictMode": true
616
+ }), this);
617
+ }
618
+ };
619
+ }
620
+ let url = `${testRealmURL}Pet/mango`;
621
+ let content = [
622
+ `:card[${url} | atom]`,
623
+ `:card[${url} | embedded]`,
624
+ `:card[${url} | fitted w:200 h:150]`,
625
+ `:card[${url} | isolated]`,
626
+ `::card[${url} | atom]`,
627
+ `::card[${url} | embedded]`,
628
+ `::card[${url} | fitted w:200 h:150]`,
629
+ `::card[${url} | isolated]`
630
+ ].join("\n\n");
631
+ await setupIntegrationTestRealm({
632
+ mockMatrixUtils,
633
+ contents: {
634
+ "pet.gts": { Pet },
635
+ "article.gts": { ArticleCard },
636
+ "Pet/mango.json": { data: {
637
+ attributes: {
638
+ name: "Mango",
639
+ cardTitle: "Mango"
640
+ },
641
+ meta: { adoptsFrom: {
642
+ module: "../pet",
643
+ name: "Pet"
644
+ } }
645
+ } },
646
+ "article-1.json": { data: {
647
+ attributes: { body: { content } },
648
+ meta: { adoptsFrom: {
649
+ module: "./article",
650
+ name: "ArticleCard"
651
+ } }
652
+ } }
653
+ }
654
+ });
655
+ let store = getService("store");
656
+ let article = await store.get(`${testRealmURL}article-1`);
657
+ await store.loaded();
658
+ await renderCard(loader, article, "isolated");
659
+ await waitFor("[data-test-pet-isolated]", { timeout: 1e4 });
660
+ let inline = "[data-test-markdown-bfm-inline-card]";
661
+ let block = "[data-test-markdown-bfm-block-card]";
662
+ for (let [placement, wrapper] of [["inline", inline], ["block", block]]) for (let format of [
663
+ "atom",
664
+ "embedded",
665
+ "fitted",
666
+ "isolated"
667
+ ]) assert.dom(`${wrapper} [data-test-pet-${format}]`).exists(`${format} card renders in ${placement} placement`);
668
+ assert.dom(`${inline}:has([data-test-pet-isolated])`).hasAttribute("style", /width: 24rem/, "inline isolated slot carries the shared footprint");
669
+ assert.dom(`${block}:has([data-test-pet-isolated])`).hasAttribute("style", /min-height: 18\.75rem/, "block isolated slot carries a growable min-height");
670
+ assert.dom(`${inline}:has([data-test-pet-embedded])`).hasAttribute("style", /width: 16rem/, "inline embedded slot carries the shared footprint");
671
+ assert.dom("[data-test-markdown-bfm-unresolved-inline]").doesNotExist("no unresolved inline placeholders remain");
672
+ assert.dom("[data-test-markdown-bfm-unresolved-block]").doesNotExist("no unresolved block placeholders remain");
673
+ });
674
+ (0, import_qunit.test)("compose preview resolves a relative card ref against a prefix-form base", async function(assert) {
675
+ class Pet extends CardDef {
676
+ static displayName = "Pet";
677
+ static {
678
+ decorateFieldV2(this.prototype, "name", [field], function() {
679
+ return contains(string_default);
680
+ });
681
+ }
682
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
683
+ static {
684
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
685
+ return contains(string_default, { computeVia: function() {
686
+ return this.name;
687
+ } });
688
+ });
689
+ }
690
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
691
+ static atom = class Atom extends Component {
692
+ static {
693
+ setComponentTemplate(templateFactory({
694
+ "id": "hIHHAuC1",
695
+ "block": "[[[10,1],[14,\"data-test-pet-atom\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
696
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
697
+ "isStrictMode": true
698
+ }), this);
699
+ }
700
+ };
701
+ }
702
+ await setupIntegrationTestRealm({
703
+ mockMatrixUtils,
704
+ contents: {
705
+ "pet.gts": { Pet },
706
+ "Pet/mango.json": { data: {
707
+ attributes: {
708
+ name: "Mango",
709
+ cardTitle: "Mango"
710
+ },
711
+ meta: { adoptsFrom: {
712
+ module: "../pet",
713
+ name: "Pet"
714
+ } }
715
+ } }
716
+ }
717
+ });
718
+ let virtualNetwork = getService("network").virtualNetwork;
719
+ virtualNetwork.addRealmMapping("@test/cards/", testRealmURL);
720
+ try {
721
+ let store = getService("store");
722
+ let pet = await store.get("@test/cards/Pet/mango");
723
+ await store.loaded();
724
+ assert.strictEqual(pet.id, "@test/cards/Pet/mango", "precondition: the referenced card loads with a canonical RRI id");
725
+ let CodeMirrorEditor = (await loader.import("@cardstack/base/codemirror-editor")).default;
726
+ let harness = {
727
+ content: "Inline: :card[./Pet/mango]",
728
+ linkedCards: [pet],
729
+ onUpdate: () => {}
730
+ };
731
+ await render(templateFactory({
732
+ "id": "Egax1IH5",
733
+ "block": "[[[8,[32,0],null,[[\"@content\",\"@onUpdate\",\"@linkedCards\",\"@cardReferenceBaseUrl\",\"@livePreview\"],[[32,1,[\"content\"]],[32,1,[\"onUpdate\"]],[32,1,[\"linkedCards\"]],\"@test/cards/article-1\",true]],null]],[],[]]",
734
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
735
+ "scope": () => [CodeMirrorEditor, harness],
736
+ "isStrictMode": true
737
+ }));
738
+ await waitFor("[data-test-pet-atom]", { timeout: 1e4 });
739
+ assert.dom("[data-test-pet-atom]").hasText("Mango", "relative ref resolves and renders in the preview");
740
+ } finally {
741
+ virtualNetwork.removeRealmMapping("@test/cards/");
742
+ }
743
+ });
744
+ (0, import_qunit.test)("edit-mode compose preview renders a block fitted embed at the specified size", async function(assert) {
745
+ class Pet extends CardDef {
746
+ static displayName = "Pet";
747
+ static {
748
+ decorateFieldV2(this.prototype, "name", [field], function() {
749
+ return contains(string_default);
750
+ });
751
+ }
752
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
753
+ static {
754
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
755
+ return contains(string_default, { computeVia: function() {
756
+ return this.name;
757
+ } });
758
+ });
759
+ }
760
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
761
+ static fitted = class Fitted extends Component {
762
+ static {
763
+ setComponentTemplate(templateFactory({
764
+ "id": "+uAZxnry",
765
+ "block": "[[[10,0],[14,\"data-test-pet-fitted\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
766
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
767
+ "isStrictMode": true
768
+ }), this);
769
+ }
770
+ };
771
+ }
772
+ class ArticleCard extends CardDef {
773
+ static {
774
+ decorateFieldV2(this.prototype, "body", [field], function() {
775
+ return contains(RichMarkdownField);
776
+ });
777
+ }
778
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
779
+ }
780
+ await setupIntegrationTestRealm({
781
+ mockMatrixUtils,
782
+ contents: {
783
+ "pet.gts": { Pet },
784
+ "article.gts": { ArticleCard },
785
+ "Pet/mango.json": { data: {
786
+ attributes: {
787
+ name: "Mango",
788
+ cardTitle: "Mango"
789
+ },
790
+ meta: { adoptsFrom: {
791
+ module: "../pet",
792
+ name: "Pet"
793
+ } }
794
+ } },
795
+ "article-1.json": { data: {
796
+ attributes: { body: { content: `::card[${testRealmURL}Pet/mango | fitted w:400 h:300]\n` } },
797
+ meta: { adoptsFrom: {
798
+ module: "./article",
799
+ name: "ArticleCard"
800
+ } }
801
+ } }
802
+ }
803
+ });
804
+ let store = getService("store");
805
+ let article = await store.get(`${testRealmURL}article-1`);
806
+ await store.loaded();
807
+ await renderCard(loader, article, "edit");
808
+ await waitFor("[data-test-pet-fitted]", { timeout: 1e4 });
809
+ assert.dom("[data-test-pet-fitted]").exists("block fitted embed renders the referenced card, not a fallback");
810
+ assert.dom(".codemirror-card-fallback").doesNotExist("no URL fallback remains once the card resolves");
811
+ let slot = document.querySelector("[data-test-pet-fitted]").closest(".codemirror-card-slot--block");
812
+ assert.ok(slot, "the card renders inside a block slot");
813
+ assert.strictEqual(slot?.style.width, "400px", "block fitted slot carries the requested width");
814
+ assert.strictEqual(slot?.style.height, "300px", "block fitted slot carries the requested height");
815
+ assert.strictEqual(slot?.style.overflow, "hidden", "block fitted slot clips overflow");
816
+ });
817
+ (0, import_qunit.test)("edit-mode compose preview renders a prefix-form (@-RRI) ref with a named fitted variant", async function(assert) {
818
+ class Pet extends CardDef {
819
+ static displayName = "Pet";
820
+ static {
821
+ decorateFieldV2(this.prototype, "name", [field], function() {
822
+ return contains(string_default);
823
+ });
824
+ }
825
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
826
+ static {
827
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
828
+ return contains(string_default, { computeVia: function() {
829
+ return this.name;
830
+ } });
831
+ });
832
+ }
833
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
834
+ static fitted = class Fitted extends Component {
835
+ static {
836
+ setComponentTemplate(templateFactory({
837
+ "id": "+uAZxnry",
838
+ "block": "[[[10,0],[14,\"data-test-pet-fitted\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
839
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
840
+ "isStrictMode": true
841
+ }), this);
842
+ }
843
+ };
844
+ }
845
+ class ArticleCard extends CardDef {
846
+ static {
847
+ decorateFieldV2(this.prototype, "body", [field], function() {
848
+ return contains(RichMarkdownField);
849
+ });
850
+ }
851
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
852
+ }
853
+ await setupIntegrationTestRealm({
854
+ mockMatrixUtils,
855
+ contents: {
856
+ "pet.gts": { Pet },
857
+ "article.gts": { ArticleCard },
858
+ "Pet/mango.json": { data: {
859
+ attributes: {
860
+ name: "Mango",
861
+ cardTitle: "Mango"
862
+ },
863
+ meta: { adoptsFrom: {
864
+ module: "../pet",
865
+ name: "Pet"
866
+ } }
867
+ } },
868
+ "article-1.json": { data: {
869
+ attributes: { body: { content: `::card[@test/cards/Pet/mango | double-strip]\n` } },
870
+ meta: { adoptsFrom: {
871
+ module: "./article",
872
+ name: "ArticleCard"
873
+ } }
874
+ } }
875
+ }
876
+ });
877
+ let virtualNetwork = getService("network").virtualNetwork;
878
+ virtualNetwork.addRealmMapping("@test/cards/", testRealmURL);
879
+ try {
880
+ let store = getService("store");
881
+ let article = await store.get("@test/cards/article-1");
882
+ await store.loaded();
883
+ await renderCard(loader, article, "edit");
884
+ await waitFor("[data-test-pet-fitted]", { timeout: 1e4 });
885
+ assert.dom("[data-test-pet-fitted]").exists("prefix-form ref renders the card, not a URL fallback");
886
+ assert.dom(".codemirror-card-fallback").doesNotExist("no URL fallback remains once the card resolves");
887
+ let slot = document.querySelector("[data-test-pet-fitted]").closest(".codemirror-card-slot--block");
888
+ assert.strictEqual(slot?.style.width, "250px", "double-strip width is applied");
889
+ assert.strictEqual(slot?.style.height, "65px", "double-strip height is applied");
890
+ } finally {
891
+ virtualNetwork.removeRealmMapping("@test/cards/");
892
+ }
893
+ });
894
+ (0, import_qunit.test)("edit-mode compose preview flows inline embeds by format (atom pill vs sized inline-block)", async function(assert) {
895
+ class Pet extends CardDef {
896
+ static displayName = "Pet";
897
+ static {
898
+ decorateFieldV2(this.prototype, "name", [field], function() {
899
+ return contains(string_default);
900
+ });
901
+ }
902
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
903
+ static {
904
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
905
+ return contains(string_default, { computeVia: function() {
906
+ return this.name;
907
+ } });
908
+ });
909
+ }
910
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
911
+ static atom = class Atom extends Component {
912
+ static {
913
+ setComponentTemplate(templateFactory({
914
+ "id": "hIHHAuC1",
915
+ "block": "[[[10,1],[14,\"data-test-pet-atom\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
916
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
917
+ "isStrictMode": true
918
+ }), this);
919
+ }
920
+ };
921
+ static embedded = class Embedded extends Component {
922
+ static {
923
+ setComponentTemplate(templateFactory({
924
+ "id": "urFu3pRa",
925
+ "block": "[[[10,0],[14,\"data-test-pet-embedded\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
926
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
927
+ "isStrictMode": true
928
+ }), this);
929
+ }
930
+ };
931
+ static fitted = class Fitted extends Component {
932
+ static {
933
+ setComponentTemplate(templateFactory({
934
+ "id": "+uAZxnry",
935
+ "block": "[[[10,0],[14,\"data-test-pet-fitted\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
936
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
937
+ "isStrictMode": true
938
+ }), this);
939
+ }
940
+ };
941
+ }
942
+ class ArticleCard extends CardDef {
943
+ static {
944
+ decorateFieldV2(this.prototype, "body", [field], function() {
945
+ return contains(RichMarkdownField);
946
+ });
947
+ }
948
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
949
+ }
950
+ await setupIntegrationTestRealm({
951
+ mockMatrixUtils,
952
+ contents: {
953
+ "pet.gts": { Pet },
954
+ "article.gts": { ArticleCard },
955
+ "Pet/mango.json": { data: {
956
+ attributes: {
957
+ name: "Mango",
958
+ cardTitle: "Mango"
959
+ },
960
+ meta: { adoptsFrom: {
961
+ module: "../pet",
962
+ name: "Pet"
963
+ } }
964
+ } },
965
+ "article-1.json": { data: {
966
+ attributes: { body: { content: `Embedded: :card[${testRealmURL}Pet/mango | embedded]\n\nAtom: :card[${testRealmURL}Pet/mango | atom]\n\nFitted: :card[${testRealmURL}Pet/mango | fitted w:200 h:100]\n` } },
967
+ meta: { adoptsFrom: {
968
+ module: "./article",
969
+ name: "ArticleCard"
970
+ } }
971
+ } }
972
+ }
973
+ });
974
+ let store = getService("store");
975
+ let article = await store.get(`${testRealmURL}article-1`);
976
+ await store.loaded();
977
+ await renderCard(loader, article, "edit");
978
+ await waitFor("[data-test-pet-embedded]", { timeout: 1e4 });
979
+ await waitFor("[data-test-pet-atom]", { timeout: 1e4 });
980
+ await waitFor("[data-test-pet-fitted]", { timeout: 1e4 });
981
+ let embeddedSlot = document.querySelector("[data-test-pet-embedded]").closest("[data-test-codemirror-card-slot-inline]");
982
+ assert.dom(embeddedSlot).hasClass("codemirror-card-slot--inline-embed", "a non-atom inline embed flows as an inline-block slot");
983
+ assert.dom(embeddedSlot).doesNotHaveClass("codemirror-card-slot--inline", "a non-atom inline embed does not use the atom pill flow class");
984
+ let atomSlot = document.querySelector("[data-test-pet-atom]").closest("[data-test-codemirror-card-slot-inline]");
985
+ assert.dom(atomSlot).hasClass("codemirror-card-slot--inline", "a plain (atom) inline ref keeps the atom pill flow class");
986
+ let fittedSlot = document.querySelector("[data-test-pet-fitted]").closest("[data-test-codemirror-card-slot-inline]");
987
+ assert.dom(fittedSlot).hasClass("codemirror-card-slot--inline-embed", "a fitted inline embed flows as an inline-block slot");
988
+ assert.strictEqual(fittedSlot?.style.width, "200px", "fitted inline slot carries the requested width");
989
+ assert.strictEqual(fittedSlot?.style.height, "100px", "fitted inline slot carries the requested height");
990
+ assert.strictEqual(fittedSlot?.style.overflow, "hidden", "fitted inline slot clips overflow");
991
+ });
992
+ (0, import_qunit.test)("inline card reference with a non-atom format resolves to an inline-block slot", async function(assert) {
993
+ class Pet extends CardDef {
994
+ static displayName = "Pet";
995
+ static {
996
+ decorateFieldV2(this.prototype, "name", [field], function() {
997
+ return contains(string_default);
998
+ });
999
+ }
1000
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
1001
+ static {
1002
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
1003
+ return contains(string_default, { computeVia: function() {
1004
+ return this.name;
1005
+ } });
1006
+ });
1007
+ }
1008
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
1009
+ static embedded = class Embedded extends Component {
1010
+ static {
1011
+ setComponentTemplate(templateFactory({
1012
+ "id": "fc+zviHm",
1013
+ "block": "[[[10,0],[14,\"data-test-pet-embedded\",\"\"],[12],[8,[30,1,[\"name\"]],null,null,null],[13]],[\"@fields\"],[]]",
1014
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1015
+ "isStrictMode": true
1016
+ }), this);
1017
+ }
1018
+ };
1019
+ static atom = class Atom extends Component {
1020
+ static {
1021
+ setComponentTemplate(templateFactory({
1022
+ "id": "hIHHAuC1",
1023
+ "block": "[[[10,1],[14,\"data-test-pet-atom\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
1024
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1025
+ "isStrictMode": true
1026
+ }), this);
1027
+ }
1028
+ };
1029
+ }
1030
+ class ArticleCard extends CardDef {
1031
+ static {
1032
+ decorateFieldV2(this.prototype, "body", [field], function() {
1033
+ return contains(RichMarkdownField);
1034
+ });
1035
+ }
1036
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1037
+ static isolated = class Isolated extends Component {
1038
+ static {
1039
+ setComponentTemplate(templateFactory({
1040
+ "id": "nKOoxfii",
1041
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1042
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1043
+ "isStrictMode": true
1044
+ }), this);
1045
+ }
1046
+ };
1047
+ }
1048
+ await setupIntegrationTestRealm({
1049
+ mockMatrixUtils,
1050
+ contents: {
1051
+ "pet.gts": { Pet },
1052
+ "article.gts": { ArticleCard },
1053
+ "Pet/mango.json": { data: {
1054
+ attributes: {
1055
+ name: "Mango",
1056
+ cardTitle: "Mango"
1057
+ },
1058
+ meta: { adoptsFrom: {
1059
+ module: "../pet",
1060
+ name: "Pet"
1061
+ } }
1062
+ } },
1063
+ "article-1.json": { data: {
1064
+ attributes: { body: { content: `Embedded inline: :card[${testRealmURL}Pet/mango | embedded]\n\nAtom inline: :card[${testRealmURL}Pet/mango | atom]\n` } },
1065
+ meta: { adoptsFrom: {
1066
+ module: "./article",
1067
+ name: "ArticleCard"
1068
+ } }
1069
+ } }
1070
+ }
1071
+ });
1072
+ let store = getService("store");
1073
+ let article = await store.get(`${testRealmURL}article-1`);
1074
+ await store.loaded();
1075
+ await renderCard(loader, article, "isolated");
1076
+ await waitFor("[data-test-pet-embedded]", { timeout: 1e4 });
1077
+ await waitFor("[data-test-pet-atom]", { timeout: 1e4 });
1078
+ let embeddedSlot = document.querySelector("[data-test-pet-embedded]").closest("[data-test-markdown-bfm-inline-card]");
1079
+ assert.ok(embeddedSlot, "the embedded inline ref renders inside an inline card slot");
1080
+ assert.dom(embeddedSlot).hasClass("markdown-bfm-card-slot--inline-embed", "a non-atom inline embed flows as an inline-block slot");
1081
+ assert.dom(embeddedSlot).doesNotHaveClass("markdown-bfm-card-slot--inline", "a non-atom inline embed does not use the atom pill flow class");
1082
+ let atomSlot = document.querySelector("[data-test-pet-atom]").closest("[data-test-markdown-bfm-inline-card]");
1083
+ assert.ok(atomSlot, "the atom inline ref renders inside an inline card slot");
1084
+ assert.dom(atomSlot).hasClass("markdown-bfm-card-slot--inline", "a plain (atom) inline ref keeps the atom pill flow class");
1085
+ });
1086
+ (0, import_qunit.test)("card references show loading shimmer before linkedCards resolves, not broken Pills", async function(assert) {
1087
+ class Pet extends CardDef {
1088
+ static displayName = "Pet";
1089
+ static {
1090
+ decorateFieldV2(this.prototype, "name", [field], function() {
1091
+ return contains(string_default);
1092
+ });
1093
+ }
1094
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
1095
+ static {
1096
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
1097
+ return contains(string_default, { computeVia: function() {
1098
+ return this.name;
1099
+ } });
1100
+ });
1101
+ }
1102
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
1103
+ static atom = class Atom extends Component {
1104
+ static {
1105
+ setComponentTemplate(templateFactory({
1106
+ "id": "hIHHAuC1",
1107
+ "block": "[[[10,1],[14,\"data-test-pet-atom\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
1108
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1109
+ "isStrictMode": true
1110
+ }), this);
1111
+ }
1112
+ };
1113
+ }
1114
+ class ArticleCard extends CardDef {
1115
+ static {
1116
+ decorateFieldV2(this.prototype, "body", [field], function() {
1117
+ return contains(RichMarkdownField);
1118
+ });
1119
+ }
1120
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1121
+ static isolated = class Isolated extends Component {
1122
+ static {
1123
+ setComponentTemplate(templateFactory({
1124
+ "id": "nKOoxfii",
1125
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1126
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1127
+ "isStrictMode": true
1128
+ }), this);
1129
+ }
1130
+ };
1131
+ }
1132
+ await setupIntegrationTestRealm({
1133
+ mockMatrixUtils,
1134
+ contents: {
1135
+ "pet.gts": { Pet },
1136
+ "article.gts": { ArticleCard },
1137
+ "Pet/mango.json": { data: {
1138
+ attributes: {
1139
+ name: "Mango",
1140
+ cardTitle: "Mango"
1141
+ },
1142
+ meta: { adoptsFrom: {
1143
+ module: "../pet",
1144
+ name: "Pet"
1145
+ } }
1146
+ } },
1147
+ "article-1.json": { data: {
1148
+ attributes: { body: { content: `Inline ref: :card[${testRealmURL}Pet/mango]\n` } },
1149
+ meta: { adoptsFrom: {
1150
+ module: "./article",
1151
+ name: "ArticleCard"
1152
+ } }
1153
+ } }
1154
+ }
1155
+ });
1156
+ let store = getService("store");
1157
+ let article = await store.get(`${testRealmURL}article-1`);
1158
+ await store.loaded();
1159
+ await renderCard(loader, article, "isolated");
1160
+ let unresolvedPillEverAppeared = false;
1161
+ let testRoot = document.querySelector("#ember-testing");
1162
+ let testObserver = new MutationObserver(() => {
1163
+ if (testRoot.querySelector("[data-test-markdown-bfm-unresolved-inline]")) unresolvedPillEverAppeared = true;
1164
+ });
1165
+ testObserver.observe(testRoot, {
1166
+ childList: true,
1167
+ subtree: true
1168
+ });
1169
+ let inlineRef = document.querySelector("[data-boxel-bfm-inline-ref]");
1170
+ assert.ok(inlineRef, "card ref element exists in the DOM");
1171
+ await waitFor("[data-test-pet-atom]", { timeout: 1e4 });
1172
+ testObserver.disconnect();
1173
+ assert.false(unresolvedPillEverAppeared, "no broken Pill flashed during the loading→resolved transition");
1174
+ assert.dom("[data-test-pet-atom]").hasText("Mango", "card resolves correctly");
1175
+ assert.dom("[data-test-markdown-bfm-unresolved-inline]").doesNotExist("no unresolved Pill after card resolves");
1176
+ });
1177
+ (0, import_qunit.test)("unresolved card references render as muted Pill indicators", async function(assert) {
1178
+ class ArticleCard extends CardDef {
1179
+ static {
1180
+ decorateFieldV2(this.prototype, "body", [field], function() {
1181
+ return contains(RichMarkdownField);
1182
+ });
1183
+ }
1184
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1185
+ static isolated = class Isolated extends Component {
1186
+ static {
1187
+ setComponentTemplate(templateFactory({
1188
+ "id": "nKOoxfii",
1189
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1190
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1191
+ "isStrictMode": true
1192
+ }), this);
1193
+ }
1194
+ };
1195
+ }
1196
+ await setupIntegrationTestRealm({
1197
+ mockMatrixUtils,
1198
+ contents: {
1199
+ "article.gts": { ArticleCard },
1200
+ "article-unresolved.json": { data: {
1201
+ attributes: { body: { content: `Inline: :card[https://nonexistent.example/Pet/missing]\n\nBlock:\n\n::card[https://nonexistent.example/BlogPost/gone]\n` } },
1202
+ meta: { adoptsFrom: {
1203
+ module: "./article",
1204
+ name: "ArticleCard"
1205
+ } }
1206
+ } }
1207
+ }
1208
+ });
1209
+ let store = getService("store");
1210
+ let article = await store.get(`${testRealmURL}article-unresolved`);
1211
+ await store.loaded();
1212
+ await renderCard(loader, article, "isolated");
1213
+ await waitUntil(() => document.querySelector("[data-test-markdown-bfm-unresolved-inline]") !== null, { timeout: 1e4 });
1214
+ assert.dom("[data-test-markdown-bfm-unresolved-inline]").hasText("Pet", "inline unresolved ref shows type name in Pill");
1215
+ assert.dom("[data-test-markdown-bfm-unresolved-inline]").hasAttribute("title", "https://nonexistent.example/Pet/missing", "inline Pill title shows the raw URL");
1216
+ assert.dom("[data-test-markdown-bfm-unresolved-block]").exists("block unresolved ref renders a Pill");
1217
+ assert.dom("[data-test-markdown-bfm-unresolved-block]").hasAttribute("title", "https://nonexistent.example/BlogPost/gone", "block Pill title shows the raw URL");
1218
+ });
1219
+ (0, import_qunit.test)("unresolved block ref with fitted size spec carries the card footprint", async function(assert) {
1220
+ class ArticleCard extends CardDef {
1221
+ static {
1222
+ decorateFieldV2(this.prototype, "body", [field], function() {
1223
+ return contains(RichMarkdownField);
1224
+ });
1225
+ }
1226
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1227
+ static isolated = class Isolated extends Component {
1228
+ static {
1229
+ setComponentTemplate(templateFactory({
1230
+ "id": "nKOoxfii",
1231
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1232
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1233
+ "isStrictMode": true
1234
+ }), this);
1235
+ }
1236
+ };
1237
+ }
1238
+ await setupIntegrationTestRealm({
1239
+ mockMatrixUtils,
1240
+ contents: {
1241
+ "article.gts": { ArticleCard },
1242
+ "article-fitted-unresolved.json": { data: {
1243
+ attributes: { body: { content: `::card[https://nonexistent.example/BlogPost/gone | 400x200]\n` } },
1244
+ meta: { adoptsFrom: {
1245
+ module: "./article",
1246
+ name: "ArticleCard"
1247
+ } }
1248
+ } }
1249
+ }
1250
+ });
1251
+ let store = getService("store");
1252
+ let article = await store.get(`${testRealmURL}article-fitted-unresolved`);
1253
+ await store.loaded();
1254
+ await renderCard(loader, article, "isolated");
1255
+ await waitUntil(() => document.querySelector("[data-test-markdown-bfm-unresolved-block]") !== null, { timeout: 1e4 });
1256
+ let brokenBlock = document.querySelector("[data-test-markdown-bfm-unresolved-block]");
1257
+ assert.ok(brokenBlock, "broken-link block exists");
1258
+ assert.dom(brokenBlock).hasClass("markdown-bfm-broken--fitted", "fitted ref carries the fitted footprint class");
1259
+ let style = brokenBlock?.getAttribute("style") ?? "";
1260
+ assert.true(/width:\s*400px/.test(style), `broken-link inline style includes width: 400px (got "${style}")`);
1261
+ assert.true(/height:\s*200px/.test(style), `broken-link inline style includes height: 200px (got "${style}")`);
1262
+ });
1263
+ (0, import_qunit.test)("unresolved block ::file with fitted size spec carries the same footprint as ::card", async function(assert) {
1264
+ class ArticleCard extends CardDef {
1265
+ static {
1266
+ decorateFieldV2(this.prototype, "body", [field], function() {
1267
+ return contains(RichMarkdownField);
1268
+ });
1269
+ }
1270
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1271
+ static isolated = class Isolated extends Component {
1272
+ static {
1273
+ setComponentTemplate(templateFactory({
1274
+ "id": "nKOoxfii",
1275
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1276
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1277
+ "isStrictMode": true
1278
+ }), this);
1279
+ }
1280
+ };
1281
+ }
1282
+ await setupIntegrationTestRealm({
1283
+ mockMatrixUtils,
1284
+ contents: {
1285
+ "article.gts": { ArticleCard },
1286
+ "article-file-fitted-unresolved.json": { data: {
1287
+ attributes: { body: { content: `::file[https://nonexistent.example/images/gone.png | 400x200]\n` } },
1288
+ meta: { adoptsFrom: {
1289
+ module: "./article",
1290
+ name: "ArticleCard"
1291
+ } }
1292
+ } }
1293
+ }
1294
+ });
1295
+ let store = getService("store");
1296
+ let article = await store.get(`${testRealmURL}article-file-fitted-unresolved`);
1297
+ await store.loaded();
1298
+ await renderCard(loader, article, "isolated");
1299
+ await waitUntil(() => document.querySelector("[data-test-markdown-bfm-unresolved-block]") !== null, { timeout: 1e4 });
1300
+ let brokenBlock = document.querySelector("[data-test-markdown-bfm-unresolved-block]");
1301
+ assert.ok(brokenBlock, "broken-link block exists");
1302
+ assert.dom(brokenBlock).hasClass("markdown-bfm-broken--fitted", "fitted file ref carries the fitted footprint class");
1303
+ let style = brokenBlock?.getAttribute("style") ?? "";
1304
+ assert.true(/width:\s*400px/.test(style), `broken-link inline style includes width: 400px (got "${style}")`);
1305
+ assert.true(/height:\s*200px/.test(style), `broken-link inline style includes height: 200px (got "${style}")`);
1306
+ });
1307
+ (0, import_qunit.test)("linkedCards resolve when markdown uses relative card references", async function(assert) {
1308
+ class Pet extends CardDef {
1309
+ static displayName = "Pet";
1310
+ static {
1311
+ decorateFieldV2(this.prototype, "name", [field], function() {
1312
+ return contains(string_default);
1313
+ });
1314
+ }
1315
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
1316
+ static {
1317
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
1318
+ return contains(string_default, { computeVia: function() {
1319
+ return this.name;
1320
+ } });
1321
+ });
1322
+ }
1323
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
1324
+ static embedded = class Embedded extends Component {
1325
+ static {
1326
+ setComponentTemplate(templateFactory({
1327
+ "id": "fc+zviHm",
1328
+ "block": "[[[10,0],[14,\"data-test-pet-embedded\",\"\"],[12],[8,[30,1,[\"name\"]],null,null,null],[13]],[\"@fields\"],[]]",
1329
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1330
+ "isStrictMode": true
1331
+ }), this);
1332
+ }
1333
+ };
1334
+ static atom = class Atom extends Component {
1335
+ static {
1336
+ setComponentTemplate(templateFactory({
1337
+ "id": "hIHHAuC1",
1338
+ "block": "[[[10,1],[14,\"data-test-pet-atom\",\"\"],[12],[1,[30,1,[\"name\"]]],[13]],[\"@model\"],[]]",
1339
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1340
+ "isStrictMode": true
1341
+ }), this);
1342
+ }
1343
+ };
1344
+ }
1345
+ class ArticleCard extends CardDef {
1346
+ static {
1347
+ decorateFieldV2(this.prototype, "body", [field], function() {
1348
+ return contains(RichMarkdownField);
1349
+ });
1350
+ }
1351
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1352
+ static isolated = class Isolated extends Component {
1353
+ static {
1354
+ setComponentTemplate(templateFactory({
1355
+ "id": "nKOoxfii",
1356
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1357
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1358
+ "isStrictMode": true
1359
+ }), this);
1360
+ }
1361
+ };
1362
+ }
1363
+ await setupIntegrationTestRealm({
1364
+ mockMatrixUtils,
1365
+ contents: {
1366
+ "pet.gts": { Pet },
1367
+ "article.gts": { ArticleCard },
1368
+ "Pet/mango.json": { data: {
1369
+ attributes: {
1370
+ name: "Mango",
1371
+ cardTitle: "Mango"
1372
+ },
1373
+ meta: { adoptsFrom: {
1374
+ module: "../pet",
1375
+ name: "Pet"
1376
+ } }
1377
+ } },
1378
+ "article-1.json": { data: {
1379
+ attributes: { body: { content: `Inline ref: :card[./Pet/mango]\n\nBlock ref:\n\n::card[./Pet/mango]\n` } },
1380
+ meta: { adoptsFrom: {
1381
+ module: "./article",
1382
+ name: "ArticleCard"
1383
+ } }
1384
+ } }
1385
+ }
1386
+ });
1387
+ let store = getService("store");
1388
+ let article = await store.get(`${testRealmURL}article-1`);
1389
+ await store.loaded();
1390
+ await renderCard(loader, article, "isolated");
1391
+ await waitFor("[data-test-pet-atom]", { timeout: 1e4 });
1392
+ assert.dom("[data-test-pet-atom]").exists("inline card reference with relative path renders the referenced card");
1393
+ assert.dom("[data-test-pet-atom]").hasText("Mango", "inline atom shows the correct card");
1394
+ assert.dom("[data-test-pet-embedded]").exists("block card reference with relative path renders the referenced card");
1395
+ assert.dom("[data-test-pet-embedded]").hasText("Mango", "block embedded shows the correct card");
1396
+ assert.dom("[data-test-markdown-bfm-unresolved-inline]").doesNotExist("no unresolved Pill remains after card resolves (inline)");
1397
+ assert.dom("[data-test-markdown-bfm-unresolved-block]").doesNotExist("no unresolved Pill remains after card resolves (block)");
1398
+ });
1399
+ (0, import_qunit.test)("edit template renders a docked toolbar with the view selector", async function(assert) {
1400
+ class TestCard extends CardDef {
1401
+ static {
1402
+ decorateFieldV2(this.prototype, "body", [field], function() {
1403
+ return contains(RichMarkdownField);
1404
+ });
1405
+ }
1406
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1407
+ static edit = class Edit extends Component {
1408
+ static {
1409
+ setComponentTemplate(templateFactory({
1410
+ "id": "nKOoxfii",
1411
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1412
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1413
+ "isStrictMode": true
1414
+ }), this);
1415
+ }
1416
+ };
1417
+ }
1418
+ await setupIntegrationTestRealm({
1419
+ mockMatrixUtils,
1420
+ contents: { "test-card.gts": { TestCard } }
1421
+ });
1422
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Hello world" }) });
1423
+ await renderCard(loader, card, "edit");
1424
+ await waitFor("[data-test-markdown-toolbar]");
1425
+ assert.dom("[data-test-markdown-toolbar]").exists("docked toolbar is rendered");
1426
+ assert.dom("[data-test-markdown-mode-select]").exists("view selector is rendered in the toolbar");
1427
+ await click("[data-test-markdown-mode-select]");
1428
+ assert.dom("[data-test-markdown-mode-option=\"compose\"]").exists("Compose option");
1429
+ assert.dom("[data-test-markdown-mode-option=\"source\"]").exists("Source option");
1430
+ assert.dom("[data-test-markdown-mode-option=\"preview\"]").exists("Preview option");
1431
+ });
1432
+ (0, import_qunit.test)("default mode shows editor, not preview", async function(assert) {
1433
+ class TestCard extends CardDef {
1434
+ static {
1435
+ decorateFieldV2(this.prototype, "body", [field], function() {
1436
+ return contains(RichMarkdownField);
1437
+ });
1438
+ }
1439
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1440
+ static edit = class Edit extends Component {
1441
+ static {
1442
+ setComponentTemplate(templateFactory({
1443
+ "id": "nKOoxfii",
1444
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1445
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1446
+ "isStrictMode": true
1447
+ }), this);
1448
+ }
1449
+ };
1450
+ }
1451
+ await setupIntegrationTestRealm({
1452
+ mockMatrixUtils,
1453
+ contents: { "test-card.gts": { TestCard } }
1454
+ });
1455
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Hello world" }) });
1456
+ await renderCard(loader, card, "edit");
1457
+ assert.dom("[data-test-markdown-preview]").doesNotExist("preview is not shown by default");
1458
+ let editorOrLoading = document.querySelector("[data-test-codemirror-editor]") ?? document.querySelector("[data-test-codemirror-loading]");
1459
+ assert.ok(editorOrLoading, "editor is shown by default (edit mode)");
1460
+ });
1461
+ (0, import_qunit.test)("formatting controls start disabled while the view selector stays enabled", async function(assert) {
1462
+ class TestCard extends CardDef {
1463
+ static {
1464
+ decorateFieldV2(this.prototype, "body", [field], function() {
1465
+ return contains(RichMarkdownField);
1466
+ });
1467
+ }
1468
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1469
+ static edit = class Edit extends Component {
1470
+ static {
1471
+ setComponentTemplate(templateFactory({
1472
+ "id": "nKOoxfii",
1473
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1474
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1475
+ "isStrictMode": true
1476
+ }), this);
1477
+ }
1478
+ };
1479
+ }
1480
+ await setupIntegrationTestRealm({
1481
+ mockMatrixUtils,
1482
+ contents: { "test-card.gts": { TestCard } }
1483
+ });
1484
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Hello world" }) });
1485
+ await renderCard(loader, card, "edit");
1486
+ await waitFor("[data-test-toolbar=\"bold\"]");
1487
+ assert.dom("[data-test-toolbar=\"bold\"]").isDisabled("Bold is disabled before the editor gains focus");
1488
+ for (let testId of [
1489
+ "italic",
1490
+ "strikethrough",
1491
+ "code",
1492
+ "link"
1493
+ ]) assert.dom(`[data-test-toolbar="${testId}"]`).isDisabled(`${testId} is disabled before the editor gains focus`);
1494
+ assert.dom("[data-test-toolbar=\"blockquote\"]").isDisabled("all formatting controls start disabled");
1495
+ await click("[data-test-markdown-mode-select]");
1496
+ assert.dom("[data-test-markdown-mode-option=\"source\"]").exists("view selector opens without editor focus");
1497
+ await click("[data-test-markdown-mode-option=\"compose\"]");
1498
+ });
1499
+ (0, import_qunit.test)("the Link toggle reads active when the caret sits inside a link", async function(assert) {
1500
+ class TestCard extends CardDef {
1501
+ static {
1502
+ decorateFieldV2(this.prototype, "body", [field], function() {
1503
+ return contains(RichMarkdownField);
1504
+ });
1505
+ }
1506
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1507
+ static edit = class Edit extends Component {
1508
+ static {
1509
+ setComponentTemplate(templateFactory({
1510
+ "id": "nKOoxfii",
1511
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1512
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1513
+ "isStrictMode": true
1514
+ }), this);
1515
+ }
1516
+ };
1517
+ }
1518
+ await setupIntegrationTestRealm({
1519
+ mockMatrixUtils,
1520
+ contents: { "test-card.gts": { TestCard } }
1521
+ });
1522
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Click [here](https://example.com) now" }) });
1523
+ await renderCard(loader, card, "edit");
1524
+ await waitFor("[data-test-toolbar=\"link\"]");
1525
+ let editorEl = document.querySelector(".cm-editor");
1526
+ assert.ok(editorEl, "editor is rendered");
1527
+ let view = codemirrorContext.EditorView.findFromDOM(editorEl);
1528
+ assert.ok(view, "live EditorView is reachable from the DOM");
1529
+ view.dispatch({ selection: {
1530
+ anchor: 9,
1531
+ head: 9
1532
+ } });
1533
+ await settled();
1534
+ assert.dom("[data-test-toolbar=\"link\"]").hasAttribute("aria-pressed", "true", "Link toggle reads active at a caret inside a link");
1535
+ assert.dom("[data-test-toolbar=\"bold\"]").hasAttribute("aria-pressed", "false", "wrap toggles stay inactive at a caret");
1536
+ view.dispatch({ selection: {
1537
+ anchor: 2,
1538
+ head: 2
1539
+ } });
1540
+ await settled();
1541
+ assert.dom("[data-test-toolbar=\"link\"]").hasAttribute("aria-pressed", "false", "Link toggle deactivates once the caret leaves the link");
1542
+ });
1543
+ (0, import_qunit.test)("toolbar items are wrapped in tooltips whose hint is suppressed while the control is disabled", async function(assert) {
1544
+ class TestCard extends CardDef {
1545
+ static {
1546
+ decorateFieldV2(this.prototype, "body", [field], function() {
1547
+ return contains(RichMarkdownField);
1548
+ });
1549
+ }
1550
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1551
+ static edit = class Edit extends Component {
1552
+ static {
1553
+ setComponentTemplate(templateFactory({
1554
+ "id": "nKOoxfii",
1555
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1556
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1557
+ "isStrictMode": true
1558
+ }), this);
1559
+ }
1560
+ };
1561
+ }
1562
+ await setupIntegrationTestRealm({
1563
+ mockMatrixUtils,
1564
+ contents: { "test-card.gts": { TestCard } }
1565
+ });
1566
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Hello world" }) });
1567
+ await renderCard(loader, card, "edit");
1568
+ await waitFor("[data-test-toolbar=\"bold\"]");
1569
+ assert.dom("[data-test-toolbar-tooltip=\"bold\"]").exists("Bold is wrapped in a tooltip trigger");
1570
+ assert.dom("[data-test-toolbar-tooltip=\"strikethrough\"]").exists("Strikethrough is wrapped in a tooltip trigger");
1571
+ assert.dom("[data-test-toolbar=\"bold\"]").isDisabled();
1572
+ await triggerEvent("[data-test-toolbar-tooltip=\"bold\"]", "mouseenter");
1573
+ assert.dom("[data-test-tooltip-content]").doesNotExist("no tooltip is shown while the control is disabled");
1574
+ await triggerEvent("[data-test-toolbar-tooltip=\"bold\"]", "mouseleave");
1575
+ });
1576
+ (0, import_qunit.test)("selecting Preview shows rendered markdown and hides editor", async function(assert) {
1577
+ class TestCard extends CardDef {
1578
+ static {
1579
+ decorateFieldV2(this.prototype, "body", [field], function() {
1580
+ return contains(RichMarkdownField);
1581
+ });
1582
+ }
1583
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1584
+ static edit = class Edit extends Component {
1585
+ static {
1586
+ setComponentTemplate(templateFactory({
1587
+ "id": "nKOoxfii",
1588
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1589
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1590
+ "isStrictMode": true
1591
+ }), this);
1592
+ }
1593
+ };
1594
+ }
1595
+ await setupIntegrationTestRealm({
1596
+ mockMatrixUtils,
1597
+ contents: { "test-card.gts": { TestCard } }
1598
+ });
1599
+ let card = new TestCard({ body: new RichMarkdownField({ content: "# Hello World\n\nSome **bold** text." }) });
1600
+ await renderCard(loader, card, "edit");
1601
+ await waitFor("[data-test-markdown-mode-select]");
1602
+ await click("[data-test-markdown-mode-select]");
1603
+ await click("[data-test-markdown-mode-option=\"preview\"]");
1604
+ assert.dom("[data-test-markdown-preview]").exists("markdown preview is rendered");
1605
+ assert.dom("[data-test-codemirror-editor]").doesNotExist("CodeMirror editor is not shown in preview mode");
1606
+ assert.dom("[data-test-markdown-preview] h1").hasText("Hello World", "heading is rendered as HTML");
1607
+ assert.dom("[data-test-markdown-preview] strong").hasText("bold", "bold text is rendered as HTML");
1608
+ assert.dom("[data-test-markdown-mode-select]").exists("view selector is still present in preview mode");
1609
+ });
1610
+ (0, import_qunit.test)("view selector works in preview mode to switch back to compose", async function(assert) {
1611
+ class TestCard extends CardDef {
1612
+ static {
1613
+ decorateFieldV2(this.prototype, "body", [field], function() {
1614
+ return contains(RichMarkdownField);
1615
+ });
1616
+ }
1617
+ #body = (initializeDeferredDecorator(this, "body"), void 0);
1618
+ static edit = class Edit extends Component {
1619
+ static {
1620
+ setComponentTemplate(templateFactory({
1621
+ "id": "nKOoxfii",
1622
+ "block": "[[[8,[30,1,[\"body\"]],null,null,null]],[\"@fields\"],[]]",
1623
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/rich-markdown-field-test.gts",
1624
+ "isStrictMode": true
1625
+ }), this);
1626
+ }
1627
+ };
1628
+ }
1629
+ await setupIntegrationTestRealm({
1630
+ mockMatrixUtils,
1631
+ contents: { "test-card.gts": { TestCard } }
1632
+ });
1633
+ let card = new TestCard({ body: new RichMarkdownField({ content: "Hello world" }) });
1634
+ await renderCard(loader, card, "edit");
1635
+ await waitFor("[data-test-markdown-mode-select]");
1636
+ await click("[data-test-markdown-mode-select]");
1637
+ await click("[data-test-markdown-mode-option=\"preview\"]");
1638
+ assert.dom("[data-test-markdown-preview]").exists("preview is shown");
1639
+ await click("[data-test-markdown-mode-select]");
1640
+ await click("[data-test-markdown-mode-option=\"compose\"]");
1641
+ assert.dom("[data-test-markdown-preview]").doesNotExist("preview is hidden after switching back");
1642
+ await waitFor("[data-test-markdown-toolbar]");
1643
+ let editorOrLoading = document.querySelector("[data-test-codemirror-editor]") ?? document.querySelector("[data-test-codemirror-loading]");
1644
+ assert.ok(editorOrLoading, "editor is restored after switching back to Compose");
1645
+ });
1646
+ });
1647
+ //#endregion