@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,2219 @@
1
+ import "./chunk-Rp0pCe6z.js";
2
+ import { n as decorateMethodV2, r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime--fcdnjmJ-BoCBNIsz.js";
3
+ import { ms as logger } from "./runtime-common-ClpqhbwG.js";
4
+ import { v as ri } from "./paths-BYHDgqsT.js";
5
+ import { D as baseRealm } from "./constants-CqKWhRfY.js";
6
+ import { t as config } from "./environment-DIUJgBKt.js";
7
+ import { Vn as guidFor, et as tracked, wt as setComponentTemplate } from "./cache-DtDz7X5V-Wn8jRDfL.js";
8
+ import { d as action, r as service } from "./service-LFpJ8EEP.js";
9
+ import { H as templateFactory, S as on, m as htmlSafe } from "./index-DaCZcoCY-CgzbilMy.js";
10
+ import { l as didCancel, n as buildTask } from "./async-arrow-runtime-STsj7E8Y.js";
11
+ import { t as cached } from "./tracking-CNiq91Pk.js";
12
+ import { i as fn } from "./helper-m6jA5HmU.js";
13
+ import "./modifier-D0EP-FQ7.js";
14
+ import "./component-BJO47HTh.js";
15
+ import { t as Component } from "./dist-CkA1rgqO.js";
16
+ import { n as tracked$1, t as cached$1 } from "./tracking-800VJb8b.js";
17
+ import "./template-factory-ds9s0u8l.js";
18
+ import { t as templateOnly } from "./template-only-6nVzLWF-.js";
19
+ import { T as add, c as eq, z as css_var_default } from "./helpers-BN6ReMzK.js";
20
+ import { E as IconComponent$3, G as RealmIcon, S as BoxelSelect, it as IconComponent$4, mt as LoadingIndicator, tt as Tooltip } from "./components-Ct_agx0G.js";
21
+ import { D as IconComponent$9, V as IconComponent$6, a as IconComponent$10, h as IconComponent$8, l as IconComponent$7, n as IconComponent$5 } from "./icons-B3SAtRoj.js";
22
+ import "./template-C81fYDrq.js";
23
+ import "./internals-BTorg710.js";
24
+ import { r as modifier } from "./dist-nMt-N14r.js";
25
+ import "./dist-DEVZvbin.js";
26
+ import { r as provide } from "./dist-Ble0L9o7.js";
27
+ import { t as catalogRealmURL } from "./utils-DZFRsMFd.js";
28
+ import { t as RealmURLTooltip } from "./realm-url-tooltip-qaXTjRb-.js";
29
+ import { t as perform } from "./perform-g9ba6YNZ.js";
30
+ import { a as firstDefined, i as emit, n as resolveBusy, o as resolveSize, r as resolveDisabled, s as resolveTone, t as Button } from "./button-PKDCsv-a.js";
31
+ import { t as Spinner } from "./spinner-BHFM7zcR.js";
32
+ import { c as IconComponent$11, o as WorkspaceLoadingIndicator, s as IconComponent$12, t as Workspace } from "./workspace-DJ_s2x4g.js";
33
+ import { t as AddWorkspace } from "./add-workspace-c7L50Gx8.js";
34
+ import { n as IconComponent$14, t as IconComponent$13 } from "./alert-triangle-C7tx0ryM.js";
35
+ //#region ../boxel-icons/dist/@cardstack/boxel-icons/v1/icons/shapes.js
36
+ var IconComponent$2 = setComponentTemplate(templateFactory({
37
+ "id": "0OVf+HRq",
38
+ "block": "[[[1,\"\\n \"],[11,\"svg\"],[24,\"xmlns\",\"http://www.w3.org/2000/svg\",\"http://www.w3.org/2000/xmlns/\"],[24,\"width\",\"24\"],[24,\"height\",\"24\"],[24,\"fill\",\"none\"],[24,\"stroke\",\"currentColor\"],[24,\"stroke-linecap\",\"round\"],[24,\"stroke-linejoin\",\"round\"],[24,\"stroke-width\",\"2\"],[24,0,\"lucide lucide-shapes\"],[24,\"viewBox\",\"0 0 24 24\"],[17,1],[12],[10,\"path\"],[14,\"d\",\"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z\"],[12],[13],[10,\"rect\"],[14,\"width\",\"7\"],[14,\"height\",\"7\"],[14,\"x\",\"3\"],[14,\"y\",\"14\"],[14,\"rx\",\"1\"],[12],[13],[10,\"circle\"],[14,\"cx\",\"17.5\"],[14,\"cy\",\"17.5\"],[14,\"r\",\"3.5\"],[12],[13],[13],[1,\"\\n\"]],[\"&attrs\"],[]]",
39
+ "moduleName": "/home/runner/work/boxel/boxel/packages/boxel-icons/src/icons/shapes.gts",
40
+ "isStrictMode": true
41
+ }), templateOnly());
42
+ IconComponent$2.name = "shapes";
43
+ //#endregion
44
+ //#region ../boxel-icons/dist/@cardstack/boxel-icons/v1/icons/archive-restore.js
45
+ var IconComponent$1 = setComponentTemplate(templateFactory({
46
+ "id": "QeRCR7YA",
47
+ "block": "[[[1,\"\\n \"],[11,\"svg\"],[24,\"xmlns\",\"http://www.w3.org/2000/svg\",\"http://www.w3.org/2000/xmlns/\"],[24,\"width\",\"24\"],[24,\"height\",\"24\"],[24,\"fill\",\"none\"],[24,\"stroke\",\"currentColor\"],[24,\"stroke-linecap\",\"round\"],[24,\"stroke-linejoin\",\"round\"],[24,\"stroke-width\",\"2\"],[24,0,\"lucide lucide-archive-restore\"],[24,\"viewBox\",\"0 0 24 24\"],[17,1],[12],[10,\"rect\"],[14,\"width\",\"20\"],[14,\"height\",\"5\"],[14,\"x\",\"2\"],[14,\"y\",\"3\"],[14,\"rx\",\"1\"],[12],[13],[10,\"path\"],[14,\"d\",\"M4 8v11a2 2 0 0 0 2 2h2M20 8v11a2 2 0 0 1-2 2h-2M9 15l3-3 3 3M12 12v9\"],[12],[13],[13],[1,\"\\n\"]],[\"&attrs\"],[]]",
48
+ "moduleName": "/home/runner/work/boxel/boxel/packages/boxel-icons/src/icons/archive-restore.gts",
49
+ "isStrictMode": true
50
+ }), templateOnly());
51
+ IconComponent$1.name = "archive-restore";
52
+ //#endregion
53
+ //#region app/components/operator-mode/workspace-chooser/archived-workspace.gts
54
+ var ArchivedWorkspace = class extends Component {
55
+ static {
56
+ decorateFieldV2(this.prototype, "realmServer", [service]);
57
+ }
58
+ #realmServer = (initializeDeferredDecorator(this, "realmServer"), void 0);
59
+ get realmInfo() {
60
+ return {
61
+ name: this.args.archivedRealm.name,
62
+ iconURL: this.args.archivedRealm.iconURL,
63
+ publishable: null
64
+ };
65
+ }
66
+ static {
67
+ decorateMethodV2(this.prototype, "realmInfo", [cached$1]);
68
+ }
69
+ get name() {
70
+ return this.args.archivedRealm.name;
71
+ }
72
+ get backgroundImageURL() {
73
+ let { backgroundURL } = this.args.archivedRealm;
74
+ return backgroundURL ? `url(${backgroundURL})` : "";
75
+ }
76
+ static {
77
+ decorateFieldV2(this.prototype, "restoreError", [tracked$1]);
78
+ }
79
+ #restoreError = (initializeDeferredDecorator(this, "restoreError"), void 0);
80
+ restoreTask = buildTask(() => ({
81
+ context: this,
82
+ generator: function* () {
83
+ this.restoreError = void 0;
84
+ try {
85
+ yield this.realmServer.unarchiveRealm(this.args.archivedRealm.url);
86
+ } catch (error) {
87
+ this.restoreError = error.message;
88
+ }
89
+ }
90
+ }), null, "restoreTask", "drop");
91
+ static {
92
+ setComponentTemplate(templateFactory({
93
+ "id": "wSs6bFxv",
94
+ "block": "[[[10,0],[14,0,\"archived-card\"],[15,\"data-test-archived-workspace\",[30,0,[\"name\"]]],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,\"\\n \"],[10,0],[14,0,\"tile\"],[15,5,[28,[32,0],null,[[\"workspace-background-image-url\"],[[30,0,[\"backgroundImageURL\"]]]]]],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,\"\\n \"],[10,0],[14,0,\"tile-overlay\"],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[13],[1,\"\\n \"],[8,[32,1],[[24,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"]],[[\"@placement\"],[\"top\"]],[[\"trigger\",\"content\"],[[[[1,\"\\n \"],[10,1],[14,0,\"archive-badge\"],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,\"\\n \"],[8,[32,2],[[24,\"width\",\"14\"],[24,\"height\",\"14\"],[24,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"]],null,null],[1,\"\\n \"],[13],[1,\"\\n \"]],[]],[[[1,\"Archived workspace\"]],[]]]]],[1,\"\\n \"],[8,[32,3],[[24,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"]],[[\"@realmURL\",\"@announce\"],[[30,1,[\"url\"]],true]],[[\"default\"],[[[[1,\"\\n \"],[10,0],[14,0,\"realm-icon-wrapper\"],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,\"\\n \"],[8,[32,4],[[24,0,\"workspace-realm-icon\"],[24,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"]],[[\"@realmInfo\"],[[30,0,[\"realmInfo\"]]]],null],[1,\"\\n \"],[13],[1,\"\\n \"]],[]]]]],[1,\"\\n\"],[41,[30,0,[\"restoreTask\",\"isRunning\"]],[[[1,\" \"],[10,0],[14,0,\"restore-pending\"],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,\"\\n \"],[8,[32,5],[[24,0,\"restore-spinner\"],[24,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"]],null,null],[1,\"\\n \"],[13],[1,\"\\n\"]],[]],[[[1,\" \"],[11,\"button\"],[24,0,\"restore-btn\"],[16,\"data-test-restore-workspace-btn\",[30,1,[\"url\"]]],[24,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[24,4,\"button\"],[4,[32,6],[\"click\",[28,[32,7],[[30,0,[\"restoreTask\"]]],null]],null],[12],[1,\"\\n \"],[8,[32,8],[[24,\"width\",\"14\"],[24,\"height\",\"14\"],[24,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"]],null,null],[1,\"\\n Restore\\n \"],[13],[1,\"\\n\"]],[]]],[1,\" \"],[13],[1,\"\\n \"],[10,0],[14,0,\"info\"],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,\"\\n \"],[10,1],[14,0,\"name\"],[14,\"data-test-archived-workspace-name\",\"\"],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,[30,0,[\"name\"]]],[13],[1,\"\\n \"],[10,1],[14,0,\"status\"],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,\"Archived\"],[13],[1,\"\\n\"],[41,[30,0,[\"restoreError\"]],[[[1,\" \"],[10,1],[14,0,\"restore-error\"],[14,\"data-test-restore-workspace-error\",\"\"],[14,\"data-scopedcss-916d2a767c-9115c24cc7\",\"\"],[12],[1,[30,0,[\"restoreError\"]]],[13],[1,\"\\n\"]],[]],null],[1,\" \"],[13],[1,\"\\n\"],[13],[1,\"\\n\"]],[\"@archivedRealm\"],[\"if\"]]",
95
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/app/components/operator-mode/workspace-chooser/archived-workspace.gts",
96
+ "scope": () => [
97
+ css_var_default,
98
+ Tooltip,
99
+ IconComponent$11,
100
+ RealmURLTooltip,
101
+ RealmIcon,
102
+ LoadingIndicator,
103
+ on,
104
+ perform,
105
+ IconComponent$1
106
+ ],
107
+ "isStrictMode": true
108
+ }), this);
109
+ }
110
+ };
111
+ //#endregion
112
+ //#region ../boxel-icons/dist/@cardstack/boxel-icons/v1/icons/info-small.js
113
+ var IconComponent = setComponentTemplate(templateFactory({
114
+ "id": "aSlui7An",
115
+ "block": "[[[1,\"\\n \"],[11,\"svg\"],[24,\"xmlns\",\"http://www.w3.org/2000/svg\",\"http://www.w3.org/2000/xmlns/\"],[24,\"width\",\"24\"],[24,\"height\",\"24\"],[24,\"fill\",\"none\"],[24,\"stroke\",\"currentColor\"],[24,\"stroke-linecap\",\"round\"],[24,\"stroke-linejoin\",\"round\"],[24,\"stroke-width\",\"2\"],[24,0,\"icon icon-tabler icons-tabler-outline icon-tabler-info-small\"],[24,\"viewBox\",\"0 0 24 24\"],[17,1],[12],[10,\"path\"],[14,\"stroke\",\"none\"],[14,\"d\",\"M0 0h24v24H0z\"],[12],[13],[10,\"path\"],[14,\"d\",\"M12 9h.01M11 12h1v4h1\"],[12],[13],[13],[1,\"\\n\"]],[\"&attrs\"],[]]",
116
+ "moduleName": "/home/runner/work/boxel/boxel/packages/boxel-icons/src/icons/info-small.gts",
117
+ "isStrictMode": true
118
+ }), templateOnly());
119
+ IconComponent.name = "info-small";
120
+ //#endregion
121
+ //#region ../pretui/internal/keep-style.gts
122
+ function declarations(style) {
123
+ let list = [];
124
+ for (let i = 0; i < style.length; i++) {
125
+ let property = style.item(i);
126
+ list.push(`${property}:${style.getPropertyValue(property).trim()}`);
127
+ }
128
+ return list.sort().join("\n");
129
+ }
130
+ var keepStyle = modifier((el, [entries]) => {
131
+ let kept = entries.filter((e) => e.value !== void 0);
132
+ if (kept.length === 0) return;
133
+ let read = (property) => el.style.getPropertyValue(property).trim() || void 0;
134
+ let callerValues = /* @__PURE__ */ new Map();
135
+ let readCaller = () => {
136
+ for (let { property } of kept) {
137
+ let value = read(property);
138
+ callerValues.set(property, value === void 0 ? void 0 : {
139
+ value,
140
+ priority: el.style.getPropertyPriority(property)
141
+ });
142
+ }
143
+ };
144
+ let isCallerRewrite = (records) => {
145
+ if (records.length === 0) return false;
146
+ let before = el.ownerDocument.createElement("span").style;
147
+ before.cssText = records[0].oldValue ?? "";
148
+ return kept.some(({ property }) => (before.getPropertyValue(property).trim() || void 0) !== read(property)) || declarations(before) === declarations(el.style);
149
+ };
150
+ let write = (observer) => {
151
+ let wrote = false;
152
+ for (let { property, value, strength } of kept) {
153
+ if (strength === "default" && callerValues.get(property) !== void 0) continue;
154
+ if (read(property) !== value) {
155
+ el.style.setProperty(property, value);
156
+ wrote = true;
157
+ }
158
+ }
159
+ if (wrote) observer?.takeRecords();
160
+ };
161
+ readCaller();
162
+ write();
163
+ let observer = new MutationObserver((records, self) => {
164
+ if (isCallerRewrite(records)) readCaller();
165
+ write(self);
166
+ });
167
+ observer.observe(el, {
168
+ attributes: true,
169
+ attributeFilter: ["style"],
170
+ attributeOldValue: true
171
+ });
172
+ return () => {
173
+ let rewritten = isCallerRewrite(observer.takeRecords());
174
+ observer.disconnect();
175
+ if (rewritten) return;
176
+ for (let { property, value } of kept) {
177
+ if (read(property) !== value) continue;
178
+ let callerValue = callerValues.get(property);
179
+ if (callerValue) el.style.setProperty(property, callerValue.value, callerValue.priority);
180
+ else el.style.removeProperty(property);
181
+ }
182
+ };
183
+ });
184
+ //#endregion
185
+ //#region ../pretui/components/visually-hidden.gts
186
+ var VisuallyHidden = setComponentTemplate(templateFactory({
187
+ "id": "2kXmW47O",
188
+ "block": "[[[11,1],[24,0,\"pretui-visually-hidden\"],[16,\"data-focusable\",[52,[30,1],\"true\",\"false\"]],[24,\"data-test-pretui-visually-hidden\",\"\"],[17,2],[24,\"data-scopedcss-1129855c2f-6ec51e5ae3\",\"\"],[12],[18,3,null],[13],[1,\"\\n\"]],[\"@focusable\",\"&attrs\",\"&default\"],[\"if\",\"yield\"]]",
189
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/visually-hidden.gts",
190
+ "isStrictMode": true
191
+ }), templateOnly());
192
+ //#endregion
193
+ //#region ../pretui/components/alert.gts
194
+ var ALERT_TONES = [
195
+ "info",
196
+ "success",
197
+ "warning",
198
+ "danger"
199
+ ];
200
+ var ALERT_VARIANTS = {
201
+ default: "info",
202
+ destructive: "danger"
203
+ };
204
+ var ALERT_COLORS = {
205
+ info: {
206
+ hue: "var(--info)",
207
+ onHue: "var(--info-foreground)"
208
+ },
209
+ success: {
210
+ hue: "var(--success)",
211
+ onHue: "var(--success-foreground)"
212
+ },
213
+ warning: {
214
+ hue: "var(--warning)",
215
+ onHue: "var(--warning-foreground)"
216
+ },
217
+ danger: {
218
+ hue: "var(--destructive)",
219
+ onHue: "var(--destructive-foreground)"
220
+ }
221
+ };
222
+ var ALERT_ICONS = {
223
+ info: IconComponent,
224
+ success: IconComponent$3,
225
+ warning: IconComponent$13,
226
+ danger: IconComponent$4
227
+ };
228
+ var ALERT_TONE_LABELS = {
229
+ info: "Info",
230
+ success: "Success",
231
+ warning: "Warning",
232
+ danger: "Error"
233
+ };
234
+ var Alert = class extends Component {
235
+ get tone() {
236
+ let fromVariant = this.args.variant ? ALERT_VARIANTS[this.args.variant] : void 0;
237
+ return resolveTone(this.args.tone, ALERT_TONES, fromVariant ?? "info");
238
+ }
239
+ get role() {
240
+ return this.tone === "danger" ? "alert" : "status";
241
+ }
242
+ get hueStyle() {
243
+ let { hue, onHue } = ALERT_COLORS[this.tone];
244
+ return htmlSafe(`--pretui-alert-hue: ${hue}; --pretui-alert-on-hue: ${onHue}`);
245
+ }
246
+ get keptStyle() {
247
+ let { hue, onHue } = ALERT_COLORS[this.tone];
248
+ return [{
249
+ property: "--pretui-alert-hue",
250
+ value: hue,
251
+ strength: "arg"
252
+ }, {
253
+ property: "--pretui-alert-on-hue",
254
+ value: onHue,
255
+ strength: "arg"
256
+ }];
257
+ }
258
+ get Glyph() {
259
+ return ALERT_ICONS[this.tone];
260
+ }
261
+ get spokenTone() {
262
+ return `${this.args.toneLabel ?? ALERT_TONE_LABELS[this.tone]}:`;
263
+ }
264
+ static {
265
+ setComponentTemplate(templateFactory({
266
+ "id": "q5lRdua1",
267
+ "block": "[[[11,0],[24,0,\"pretui-alert\"],[16,\"role\",[30,0,[\"role\"]]],[16,5,[30,0,[\"hueStyle\"]]],[24,\"data-test-pretui-alert\",\"\"],[17,1],[24,\"data-scopedcss-b6fa244805-fb5a3b5d57\",\"\"],[4,[32,0],[[30,0,[\"keptStyle\"]]],null],[12],[1,\"\\n \"],[10,1],[14,0,\"pretui-alert-glyph\"],[14,\"aria-hidden\",\"true\"],[14,\"data-scopedcss-b6fa244805-fb5a3b5d57\",\"\"],[12],[1,\"\\n \"],[8,[30,0,[\"Glyph\"]],[[24,\"width\",\"12\"],[24,\"height\",\"12\"],[24,\"data-scopedcss-b6fa244805-fb5a3b5d57\",\"\"]],null,null],[1,\"\\n \"],[13],[1,\"\\n \"],[8,[32,1],[[24,\"data-scopedcss-b6fa244805-fb5a3b5d57\",\"\"]],null,[[\"default\"],[[[[1,[30,0,[\"spokenTone\"]]]],[]]]]],[1,\"\\n \"],[10,0],[14,0,\"pretui-alert-body\"],[14,\"data-scopedcss-b6fa244805-fb5a3b5d57\",\"\"],[12],[1,\"\\n \"],[41,[30,2],[[[10,2],[14,0,\"pretui-alert-title\"],[14,\"data-scopedcss-b6fa244805-fb5a3b5d57\",\"\"],[12],[1,[30,2]],[13]],[]],null],[1,\"\\n \"],[41,[48,[30,3]],[[[10,0],[14,\"data-scopedcss-b6fa244805-fb5a3b5d57\",\"\"],[12],[18,3,null],[13]],[]],null],[1,\"\\n \"],[41,[48,[30,4]],[[[10,0],[14,0,\"pretui-alert-action\"],[14,\"data-scopedcss-b6fa244805-fb5a3b5d57\",\"\"],[12],[18,4,null],[13]],[]],null],[1,\"\\n \"],[13],[1,\"\\n\"],[13],[1,\"\\n\"]],[\"&attrs\",\"@title\",\"&default\",\"&action\"],[\"if\",\"has-block\",\"yield\"]]",
268
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/alert.gts",
269
+ "scope": () => [keepStyle, VisuallyHidden],
270
+ "isStrictMode": true
271
+ }), this);
272
+ }
273
+ };
274
+ //#endregion
275
+ //#region ../pretui/pretui-css.gts
276
+ /**
277
+ * Every character a caller value may contain. Notably absent, and each for a
278
+ * reason a comment should record:
279
+ *
280
+ * `;` `:` would end the declaration and start another one — the whole
281
+ * injection. Callers supply a VALUE, never a declaration.
282
+ * `{` `}` would close the style attribute's implied block context.
283
+ * `<` `>` `</style>` and friends.
284
+ * `"` `'` quoted strings are only needed by `url()` and `content()`,
285
+ * neither of which is allowed.
286
+ * `\` CSS escapes (`\3b` is a semicolon) would defeat every rule above.
287
+ * `@` `!` at-rules and `!important`, both forbidden by kit law anyway.
288
+ *
289
+ * `*` and `/` survive because `calc()` needs them; the comment sequences they
290
+ * can form are rejected separately.
291
+ */
292
+ var ALLOWED_CHARS = /^[A-Za-z0-9_\-#%.,()+*/ ]+$/;
293
+ /**
294
+ * Functions a caller value may call. Anything not on this list — `url`,
295
+ * `image-set`, `element`, `attr`, `expression`, `-moz-binding` — is rejected
296
+ * outright rather than pattern-matched, so a function invented after this
297
+ * code was written is denied by default.
298
+ */
299
+ var ALLOWED_FUNCTIONS = new Set([
300
+ "var",
301
+ "env",
302
+ "calc",
303
+ "min",
304
+ "max",
305
+ "clamp",
306
+ "round",
307
+ "abs",
308
+ "rgb",
309
+ "rgba",
310
+ "hsl",
311
+ "hsla",
312
+ "hwb",
313
+ "lab",
314
+ "lch",
315
+ "oklab",
316
+ "oklch",
317
+ "color",
318
+ "color-mix",
319
+ "linear-gradient",
320
+ "radial-gradient",
321
+ "conic-gradient",
322
+ "repeating-linear-gradient",
323
+ "repeating-radial-gradient",
324
+ "repeating-conic-gradient",
325
+ "light-dark",
326
+ "cubic-bezier",
327
+ "steps",
328
+ "linear"
329
+ ]);
330
+ /** `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa` — nothing else may follow a `#`. */
331
+ var HEX = /^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
332
+ /** A `(` must be the tail of a function name, never a bare grouping paren. */
333
+ var CALL = /([A-Za-z][A-Za-z0-9-]*)?\(/g;
334
+ /** Anything starting `#` up to the next separator. */
335
+ var HEXISH = /#[^\s,()]*/g;
336
+ /** Longer than any legitimate color, length or gradient stop list. */ var MAX_VALUE_LENGTH = 4096;
337
+ /** Deeper than `color-mix(in oklch, var(--a, oklch(…)) 40%, var(--b))`. */
338
+ var MAX_DEPTH = 5;
339
+ /**
340
+ * Validate a caller-supplied CSS value against a conservative allowlist.
341
+ *
342
+ * Returns the trimmed value when every character, function call, hex literal
343
+ * and paren in it is understood, and `undefined` otherwise. There is no
344
+ * middle outcome: a value is passed through intact or dropped whole.
345
+ *
346
+ * @param raw anything a caller handed us — typed `unknown` because at a
347
+ * component boundary an `@arg` declared `string` can still arrive as
348
+ * `null`, a number, or an object.
349
+ */
350
+ function cssValue(raw) {
351
+ if (typeof raw !== "string") return;
352
+ let value = raw.trim();
353
+ if (value.length === 0 || value.length > MAX_VALUE_LENGTH) return;
354
+ if (!ALLOWED_CHARS.test(value)) return;
355
+ if (value.includes("/*") || value.includes("*/")) return;
356
+ let depth = 0;
357
+ for (let i = 0; i < value.length; i++) {
358
+ let ch = value[i];
359
+ if (ch === "(") {
360
+ depth++;
361
+ if (depth > MAX_DEPTH) return;
362
+ } else if (ch === ")") {
363
+ depth--;
364
+ if (depth < 0) return;
365
+ }
366
+ }
367
+ if (depth !== 0) return;
368
+ CALL.lastIndex = 0;
369
+ let call = CALL.exec(value);
370
+ while (call !== null) {
371
+ let name = call[1];
372
+ if (name === void 0 || !ALLOWED_FUNCTIONS.has(name.toLowerCase())) return;
373
+ call = CALL.exec(value);
374
+ }
375
+ HEXISH.lastIndex = 0;
376
+ let hex = HEXISH.exec(value);
377
+ while (hex !== null) {
378
+ if (!HEX.test(hex[0])) return;
379
+ hex = HEXISH.exec(value);
380
+ }
381
+ return value;
382
+ }
383
+ /**
384
+ * A property name we are willing to write: a custom property, or a plain
385
+ * lowercase CSS identifier. Callers never supply this — it is an authored
386
+ * literal at every call site — but validating it keeps the contract total.
387
+ */
388
+ var PROPERTY = /^(?:--[A-Za-z0-9_-]+|[a-z][a-z0-9-]*)$/;
389
+ /**
390
+ * Build one `property: value` declaration from a validated caller value.
391
+ * Returns `undefined` when the value fails `cssValue`, so a rejected value
392
+ * falls through to whatever the stylesheet's own fallback is — the caller
393
+ * loses their override, never the component's rendering.
394
+ */
395
+ function cssDeclaration(property, raw) {
396
+ let value = cssValue(raw);
397
+ if (value === void 0 || !PROPERTY.test(property)) return;
398
+ return property + ": " + value;
399
+ }
400
+ /**
401
+ * Join several declarations — typically a mix of `cssDeclaration` results and
402
+ * authored numeric strings — into one SafeString, dropping the rejected ones.
403
+ * Returns `undefined` when nothing survived, so the attribute is omitted
404
+ * rather than rendered empty.
405
+ */
406
+ function cssStyleFrom(parts) {
407
+ let kept = parts.filter((p) => typeof p === "string" && p.length > 0);
408
+ return kept.length > 0 ? htmlSafe(kept.join("; ")) : void 0;
409
+ }
410
+ /** Named tiers in the Pretui stacking scale, in painting order. */
411
+ /**
412
+ * The canonical value of every tier. This is the same table as the header
413
+ * comment and as every `var(--pretui-z-*, N)` fallback in the kit; it is
414
+ * exported so a host that must interleave its own chrome can read the tiers
415
+ * rather than copy the numbers.
416
+ */
417
+ var PRETUI_Z = Object.freeze({
418
+ base: 0,
419
+ raised: 1,
420
+ sticky: 10,
421
+ "sticky-header": 11,
422
+ scrim: 50,
423
+ dropdown: 60,
424
+ overlay: 70,
425
+ tooltip: 80,
426
+ dialog: 90,
427
+ toast: 100
428
+ });
429
+ /** The custom-property name for a tier. */
430
+ function zVarName(layer) {
431
+ return "--pretui-z-" + layer;
432
+ }
433
+ Object.keys(PRETUI_Z).map((layer) => zVarName(layer) + ": " + PRETUI_Z[layer] + ";").join("\n ");
434
+ //#endregion
435
+ //#region ../pretui/internal/ink.gts
436
+ function statusHue(value) {
437
+ let h = 0;
438
+ let s = String(value);
439
+ for (let i = 0; i < s.length; i++) h = h * 31 + s.charCodeAt(i) >>> 0;
440
+ return `var(--chart-${h % 5 + 1})`;
441
+ }
442
+ //#endregion
443
+ //#region ../pretui/components/avatar.gts
444
+ var SIZE_PROPERTY = "--pretui-avatar-size";
445
+ var HUE_PROPERTY = "--pretui-chip-hue";
446
+ var Avatar = class extends Component {
447
+ static {
448
+ decorateFieldV2(this.prototype, "failedSrc", [tracked]);
449
+ }
450
+ #failedSrc = (initializeDeferredDecorator(this, "failedSrc"), void 0);
451
+ get initials() {
452
+ return (this.args.name ?? "").split(/\s+/).map((w) => w[0]).slice(0, 2).join("").toUpperCase();
453
+ }
454
+ get showImage() {
455
+ return Boolean(this.args.src) && this.args.src !== this.failedSrc;
456
+ }
457
+ imageError = () => {
458
+ this.failedSrc = this.args.src;
459
+ };
460
+ get size() {
461
+ let size = Number(this.args.size) || void 0;
462
+ return size === void 0 ? void 0 : `${size / 16}rem`;
463
+ }
464
+ get explicitHue() {
465
+ return this.args.hue ?? void 0;
466
+ }
467
+ get hue() {
468
+ let hue = this.explicitHue;
469
+ return hue === void 0 ? statusHue(this.args.name ?? "") : cssValue(hue);
470
+ }
471
+ get style() {
472
+ return cssStyleFrom([cssDeclaration(SIZE_PROPERTY, this.size), cssDeclaration(HUE_PROPERTY, this.hue)]);
473
+ }
474
+ get keptStyle() {
475
+ return [{
476
+ property: SIZE_PROPERTY,
477
+ value: this.size,
478
+ strength: "arg"
479
+ }, {
480
+ property: HUE_PROPERTY,
481
+ value: this.hue,
482
+ strength: this.explicitHue === void 0 ? "default" : "arg"
483
+ }];
484
+ }
485
+ static {
486
+ setComponentTemplate(templateFactory({
487
+ "id": "oEm71Qh2",
488
+ "block": "[[[11,1],[24,0,\"pretui-avatar\"],[16,\"title\",[30,1]],[16,\"role\",[52,[51,[30,0,[\"showImage\"]]],\"img\"]],[16,\"aria-label\",[52,[51,[30,0,[\"showImage\"]]],[30,1]]],[16,\"data-has-image\",[52,[30,0,[\"showImage\"]],\"true\"]],[16,5,[30,0,[\"style\"]]],[24,\"data-test-pretui-avatar\",\"\"],[17,2],[24,\"data-scopedcss-5178d38d8c-4c5bd031e9\",\"\"],[4,[32,0],[[30,0,[\"keptStyle\"]]],null],[12],[1,\"\\n \"],[41,[30,0,[\"showImage\"]],[[[11,\"img\"],[16,\"src\",[30,3]],[16,\"alt\",[30,1]],[24,\"data-scopedcss-5178d38d8c-4c5bd031e9\",\"\"],[4,[32,1],[\"error\",[30,0,[\"imageError\"]]],null],[12],[13]],[]],[[[1,[30,0,[\"initials\"]]]],[]]],[1,\"\\n\"],[13],[1,\"\\n\"]],[\"@name\",\"&attrs\",\"@src\"],[\"unless\",\"if\"]]",
489
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/avatar.gts",
490
+ "scope": () => [keepStyle, on],
491
+ "isStrictMode": true
492
+ }), this);
493
+ }
494
+ };
495
+ //#endregion
496
+ //#region ../pretui/internal/overlay.gts
497
+ var GUTTER = 8;
498
+ /** Every spelling of "is this layer showing". */
499
+ function resolveOpen(args) {
500
+ return firstDefined(args.open, args.isOpen, args.opened);
501
+ }
502
+ var OPPOSITE = {
503
+ top: "bottom",
504
+ bottom: "top",
505
+ left: "right",
506
+ right: "left"
507
+ };
508
+ function positionPopup(a, w, h, placement, distance) {
509
+ let [side, align] = placement.split("-");
510
+ let vw = window.innerWidth;
511
+ let vh = window.innerHeight;
512
+ let space = {
513
+ top: a.top - distance,
514
+ bottom: vh - a.bottom - distance,
515
+ left: a.left - distance,
516
+ right: vw - a.right - distance
517
+ };
518
+ let need = side === "top" || side === "bottom" ? h : w;
519
+ if (space[side] < need && space[OPPOSITE[side]] >= need) side = OPPOSITE[side];
520
+ let top = 0;
521
+ let left = 0;
522
+ if (side === "top") top = a.top - h - distance;
523
+ if (side === "bottom") top = a.bottom + distance;
524
+ if (side === "left") left = a.left - w - distance;
525
+ if (side === "right") left = a.right + distance;
526
+ if (side === "top" || side === "bottom") {
527
+ left = align === "start" ? a.left : align === "end" ? a.right - w : a.left + a.width / 2 - w / 2;
528
+ left = Math.min(Math.max(left, GUTTER), Math.max(vw - w - GUTTER, GUTTER));
529
+ } else {
530
+ top = align === "start" ? a.top : align === "end" ? a.bottom - h : a.top + a.height / 2 - h / 2;
531
+ top = Math.min(Math.max(top, GUTTER), Math.max(vh - h - GUTTER, GUTTER));
532
+ }
533
+ return {
534
+ top,
535
+ left
536
+ };
537
+ }
538
+ modifier((el, [anchor, placement, distance, matchWidth, scale]) => {
539
+ if (!anchor) return;
540
+ let apply = () => {
541
+ if (scale !== void 0 && scale !== 1) {
542
+ let s = Math.min(2.5, Math.max(.4, scale));
543
+ el.style.transformOrigin = "top left";
544
+ el.style.transform = `scale(${s})`;
545
+ }
546
+ if (matchWidth) el.style.minWidth = `${anchor.getBoundingClientRect().width}px`;
547
+ let r = el.getBoundingClientRect();
548
+ let p = positionPopup(anchor.getBoundingClientRect(), r.width, r.height, placement, distance);
549
+ el.style.top = `${p.top}px`;
550
+ el.style.left = `${p.left}px`;
551
+ };
552
+ apply();
553
+ window.addEventListener("scroll", apply, {
554
+ capture: true,
555
+ passive: true
556
+ });
557
+ window.addEventListener("resize", apply);
558
+ return () => {
559
+ window.removeEventListener("scroll", apply, true);
560
+ window.removeEventListener("resize", apply);
561
+ };
562
+ });
563
+ var POPUPS_IN_PLACE = "pretui-popups-in-place";
564
+ var modalBehavior = modifier((el, [open, onCancel, onClick]) => {
565
+ if (open && !el.open) el.showModal();
566
+ else if (!open && el.open) el.close();
567
+ el.addEventListener("cancel", onCancel);
568
+ el.addEventListener("click", onClick);
569
+ return () => {
570
+ el.removeEventListener("cancel", onCancel);
571
+ el.removeEventListener("click", onClick);
572
+ };
573
+ });
574
+ //#endregion
575
+ //#region ../pretui/components/dialog.gts
576
+ var DIALOG_SIZES = {
577
+ xs: "s",
578
+ s: "s",
579
+ m: "m",
580
+ l: "l",
581
+ xl: "l"
582
+ };
583
+ var Dialog = class extends Component {
584
+ get popupsInPlace() {
585
+ return true;
586
+ }
587
+ static {
588
+ decorateMethodV2(this.prototype, "popupsInPlace", [provide(POPUPS_IN_PLACE)]);
589
+ }
590
+ get dismissible() {
591
+ return this.args.dismissible ?? true;
592
+ }
593
+ get open() {
594
+ return resolveOpen(this.args);
595
+ }
596
+ get size() {
597
+ return DIALOG_SIZES[resolveSize(this.args.size)] ?? "m";
598
+ }
599
+ requestClose() {
600
+ emit([this.args.onClose]);
601
+ emit([this.args.onOpenChange], false);
602
+ }
603
+ onCancel = (e) => {
604
+ e.preventDefault();
605
+ if (this.dismissible) this.requestClose();
606
+ };
607
+ onClick = (e) => {
608
+ if (this.dismissible && e.target === e.currentTarget) this.requestClose();
609
+ };
610
+ static {
611
+ setComponentTemplate(templateFactory({
612
+ "id": "Xsw334hr",
613
+ "block": "[[[11,\"dialog\"],[24,0,\"pretui-dialog\"],[16,\"data-size\",[30,0,[\"size\"]]],[16,\"aria-label\",[30,1]],[24,\"data-test-pretui-dialog\",\"\"],[17,2],[24,\"data-scopedcss-fd5ccb4071-98262ab512\",\"\"],[4,[32,0],[[30,0,[\"open\"]],[30,0,[\"onCancel\"]],[30,0,[\"onClick\"]]],null],[12],[1,\"\\n \"],[10,0],[14,0,\"pretui-dialog-inner\"],[14,\"data-scopedcss-fd5ccb4071-98262ab512\",\"\"],[12],[1,\"\\n\"],[41,[48,[30,3]],[[[1,\" \"],[10,\"header\"],[14,0,\"pretui-dialog-title\"],[14,\"data-scopedcss-fd5ccb4071-98262ab512\",\"\"],[12],[18,3,null],[13],[1,\"\\n\"]],[]],null],[1,\" \"],[10,0],[14,0,\"pretui-dialog-body\"],[14,\"data-scopedcss-fd5ccb4071-98262ab512\",\"\"],[12],[18,4,null],[13],[1,\"\\n\"],[41,[48,[30,5]],[[[1,\" \"],[10,\"footer\"],[14,0,\"pretui-dialog-footer\"],[14,\"data-scopedcss-fd5ccb4071-98262ab512\",\"\"],[12],[18,5,null],[13],[1,\"\\n\"]],[]],null],[1,\" \"],[13],[1,\"\\n\"],[13],[1,\"\\n\"]],[\"@label\",\"&attrs\",\"&title\",\"&default\",\"&footer\"],[\"if\",\"has-block\",\"yield\"]]",
614
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/dialog.gts",
615
+ "scope": () => [modalBehavior],
616
+ "isStrictMode": true
617
+ }), this);
618
+ }
619
+ };
620
+ var IconButton = class extends Component {
621
+ get tone() {
622
+ return this.args.tone ?? (this.args.variant ? void 0 : "neutral");
623
+ }
624
+ get appearance() {
625
+ return this.args.appearance ?? (this.args.variant ? void 0 : "outlined");
626
+ }
627
+ get disabled() {
628
+ return resolveDisabled(this.args);
629
+ }
630
+ get busy() {
631
+ return resolveBusy(this.args);
632
+ }
633
+ get accessibleName() {
634
+ let { label, busyLabel, href } = this.args;
635
+ return this.busy && busyLabel && !href ? `${label} ${busyLabel}` : label;
636
+ }
637
+ get ariaPressed() {
638
+ let { pressed, href } = this.args;
639
+ return pressed === void 0 || href ? void 0 : String(pressed);
640
+ }
641
+ get iconWidth() {
642
+ return this.args.iconWidth ?? "1.25em";
643
+ }
644
+ get iconHeight() {
645
+ return this.args.iconHeight ?? "1.25em";
646
+ }
647
+ static {
648
+ setComponentTemplate(templateFactory({
649
+ "id": "IxfYqbEv",
650
+ "block": "[[[8,[32,0],[[24,0,\"pretui-iconbtn\"],[16,\"aria-label\",[30,0,[\"accessibleName\"]]],[16,\"aria-pressed\",[30,0,[\"ariaPressed\"]]],[16,\"title\",[30,1]],[24,\"data-test-pretui-icon-button\",\"\"],[17,2],[24,\"data-scopedcss-bcde96c7a5-2e8d552068\",\"\"]],[[\"@variant\",\"@tone\",\"@appearance\",\"@size\",\"@disabled\",\"@shape\",\"@href\",\"@busy\",\"@busyLabel\"],[[30,3],[30,0,[\"tone\"]],[30,0,[\"appearance\"]],[30,4],[30,0,[\"disabled\"]],[30,5],[30,6],[30,0,[\"busy\"]],[30,7]]],[[\"default\"],[[[[1,\"\\n\"],[1,\" \"],[10,1],[14,0,\"pretui-iconbtn-glyph\"],[14,\"aria-hidden\",\"true\"],[14,\"data-test-pretui-icon-button-glyph\",\"\"],[14,\"data-scopedcss-bcde96c7a5-2e8d552068\",\"\"],[12],[1,\"\\n\"],[41,[30,8],[[[1,\" \"],[8,[30,8],[[16,\"width\",[30,0,[\"iconWidth\"]]],[16,\"height\",[30,0,[\"iconHeight\"]]],[24,\"data-scopedcss-bcde96c7a5-2e8d552068\",\"\"]],null,null],[1,\"\\n\"]],[]],null],[1,\" \"],[18,9,null],[1,\"\\n \"],[13],[1,\"\\n\"]],[]]]]],[1,\"\\n\"]],[\"@label\",\"&attrs\",\"@variant\",\"@size\",\"@shape\",\"@href\",\"@busyLabel\",\"@icon\",\"&default\"],[\"if\",\"yield\"]]",
651
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/icon-button.gts",
652
+ "scope": () => [Button],
653
+ "isStrictMode": true
654
+ }), this);
655
+ }
656
+ };
657
+ //#endregion
658
+ //#region ../pretui/components/item.gts
659
+ var Item = class extends Component {
660
+ get size() {
661
+ return resolveSize(this.args.size);
662
+ }
663
+ get align() {
664
+ return this.args.alignStart ? "start" : "center";
665
+ }
666
+ static {
667
+ setComponentTemplate(templateFactory({
668
+ "id": "OY0L27eq",
669
+ "block": "[[[11,0],[24,0,\"pretui-item\"],[24,\"data-test-pretui-item\",\"\"],[16,\"data-size\",[30,0,[\"size\"]]],[16,\"data-align\",[30,0,[\"align\"]]],[17,1],[24,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[1,\"\\n\"],[41,[48,[30,5]],[[[1,\" \"],[10,0],[14,0,\"pretui-item-lead\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[18,5,null],[13],[1,\"\\n\"]],[]],null],[1,\"\\n \"],[10,0],[14,0,\"pretui-item-body\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[1,\"\\n\"],[41,[48,[30,6]],[[[1,\" \"],[10,1],[14,0,\"pretui-item-title\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[18,6,null],[13],[1,\"\\n\"]],[]],[[[41,[30,2],[[[41,[30,3],[[[1,\" \"],[10,3],[14,0,\"pretui-item-title pretui-item-link\"],[15,6,[30,3]],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[1,[30,2]],[13],[1,\"\\n\"]],[]],[[[1,\" \"],[10,1],[14,0,\"pretui-item-title\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[1,[30,2]],[13],[1,\"\\n\"]],[]]],[1,\" \"]],[]],null]],[]]],[1,\"\\n\"],[41,[48,[30,7]],[[[1,\" \"],[10,1],[14,0,\"pretui-item-desc\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[18,7,null],[13],[1,\"\\n\"]],[]],[[[41,[30,4],[[[1,\" \"],[10,1],[14,0,\"pretui-item-desc\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[1,[30,4]],[13],[1,\"\\n \"]],[]],null]],[]]],[1,\"\\n\"],[41,[48,[30,8]],[[[1,\" \"],[10,0],[14,0,\"pretui-item-content\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[18,8,null],[13],[1,\"\\n\"]],[]],null],[1,\" \"],[13],[1,\"\\n\\n\"],[41,[48,[30,9]],[[[1,\" \"],[10,0],[14,0,\"pretui-item-trail\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[18,9,null],[13],[1,\"\\n\"]],[]],null],[41,[48,[30,10]],[[[1,\" \"],[10,0],[14,0,\"pretui-item-actions\"],[14,\"data-scopedcss-8d0ffb3c65-39abb89535\",\"\"],[12],[18,10,null],[13],[1,\"\\n\"]],[]],null],[13],[1,\"\\n\"]],[\"&attrs\",\"@title\",\"@href\",\"@description\",\"&leading\",\"&title\",\"&description\",\"&default\",\"&trailing\",\"&actions\"],[\"if\",\"has-block\",\"yield\"]]",
670
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/item.gts",
671
+ "isStrictMode": true
672
+ }), this);
673
+ }
674
+ };
675
+ //#endregion
676
+ //#region ../pretui/components/broken-link.gts
677
+ var BrokenLink = class extends Component {
678
+ get label() {
679
+ return this.args.label ?? "missing card";
680
+ }
681
+ static {
682
+ setComponentTemplate(templateFactory({
683
+ "id": "ANxE2OLx",
684
+ "block": "[[[11,1],[24,0,\"pretui-broken\"],[24,\"title\",\"This reference is gone\"],[24,\"data-test-pretui-broken-link\",\"\"],[17,1],[24,\"data-scopedcss-ff94cba008-71a083bb1d\",\"\"],[12],[1,\"\\n \"],[10,\"svg\"],[14,\"width\",\"11\"],[14,\"height\",\"11\"],[14,\"viewBox\",\"0 0 12 12\"],[14,\"aria-hidden\",\"true\"],[14,\"data-scopedcss-ff94cba008-71a083bb1d\",\"\"],[12],[10,\"path\"],[14,\"d\",\"M4.5 7.5 2.8 9.2a1.7 1.7 0 0 1-2.4-2.4L2.8 4.4M7.5 4.5l1.7-1.7a1.7 1.7 0 0 1 2.4 2.4L9.2 7.6M1 1l10 10\"],[14,\"fill\",\"none\"],[14,\"stroke\",\"currentColor\"],[14,\"stroke-width\",\"1.3\"],[14,\"stroke-linecap\",\"round\"],[14,\"data-scopedcss-ff94cba008-71a083bb1d\",\"\"],[12],[13],[13],[1,\"\\n \"],[10,1],[14,\"data-scopedcss-ff94cba008-71a083bb1d\",\"\"],[12],[1,[30,0,[\"label\"]]],[13],[1,\"\\n \"],[41,[30,2],[[[10,1],[14,0,\"pretui-broken-id\"],[14,\"data-scopedcss-ff94cba008-71a083bb1d\",\"\"],[12],[1,[30,2]],[13]],[]],null],[1,\"\\n\"],[13],[1,\"\\n\"]],[\"&attrs\",\"@refId\"],[\"if\"]]",
685
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/broken-link.gts",
686
+ "isStrictMode": true
687
+ }), this);
688
+ }
689
+ };
690
+ //#endregion
691
+ //#region ../pretui/components/empty-state.gts
692
+ var EMPTY_STATE_SIZES = {
693
+ xs: "s",
694
+ s: "s",
695
+ m: "m",
696
+ l: "m",
697
+ xl: "m"
698
+ };
699
+ var EmptyState = class extends Component {
700
+ get showTexture() {
701
+ return this.args.texture ?? true;
702
+ }
703
+ get separator() {
704
+ return this.args.separator ?? "or";
705
+ }
706
+ get size() {
707
+ return EMPTY_STATE_SIZES[resolveSize(this.args.size)] ?? "m";
708
+ }
709
+ static {
710
+ setComponentTemplate(templateFactory({
711
+ "id": "yJcwZ0yC",
712
+ "block": "[[[11,0],[24,0,\"pretui-empty\"],[16,\"data-size\",[30,0,[\"size\"]]],[24,\"data-test-pretui-empty\",\"\"],[17,1],[24,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[1,\"\\n \"],[41,[30,0,[\"showTexture\"]],[[[10,0],[14,0,\"pretui-empty-texture\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[13]],[]],null],[1,\"\\n \"],[10,0],[14,0,\"pretui-empty-title\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[1,[30,2]],[13],[1,\"\\n\"],[41,[48,[30,4]],[[[1,\" \"],[10,0],[14,0,\"pretui-empty-msg\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[18,4,null],[13],[1,\"\\n\"]],[]],[[[41,[30,3],[[[1,\" \"],[10,2],[14,0,\"pretui-empty-msg\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[1,[30,3]],[13],[1,\"\\n \"]],[]],null]],[]]],[41,[48,[30,5]],[[[1,\" \"],[10,0],[14,0,\"pretui-empty-paths\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[1,\"\\n \"],[10,0],[14,0,\"pretui-empty-action\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[18,6,null],[13],[1,\"\\n \"],[10,0],[14,0,\"pretui-empty-sep\"],[14,\"aria-hidden\",\"true\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[1,[30,0,[\"separator\"]]],[13],[1,\"\\n \"],[10,0],[14,0,\"pretui-empty-action\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[18,5,null],[13],[1,\"\\n \"],[13],[1,\"\\n\"]],[]],[[[41,[48,[30,6]],[[[1,\" \"],[10,0],[14,0,\"pretui-empty-action\"],[14,\"data-scopedcss-b2f493050b-b045568bce\",\"\"],[12],[18,6,null],[13],[1,\"\\n \"]],[]],null]],[]]],[13],[1,\"\\n\"]],[\"&attrs\",\"@title\",\"@message\",\"&default\",\"&altAction\",\"&action\"],[\"if\",\"has-block\",\"yield\"]]",
713
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/empty-state.gts",
714
+ "isStrictMode": true
715
+ }), this);
716
+ }
717
+ };
718
+ //#endregion
719
+ //#region ../pretui/components/skeleton.gts
720
+ var Skeleton = class extends Component {
721
+ get style() {
722
+ return cssStyleFrom([cssDeclaration("--_w", this.args.width ?? "100%"), cssDeclaration("--_h", this.args.height ?? "12px")]);
723
+ }
724
+ static {
725
+ setComponentTemplate(templateFactory({
726
+ "id": "6lgKSRT5",
727
+ "block": "[[[11,1],[24,0,\"pretui-skeleton\"],[16,5,[30,0,[\"style\"]]],[24,\"aria-hidden\",\"true\"],[24,\"data-test-pretui-skeleton\",\"\"],[17,1],[24,\"data-scopedcss-537b3a02bc-0566fde4f2\",\"\"],[12],[13],[1,\"\\n\"]],[\"&attrs\"],[]]",
728
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/skeleton.gts",
729
+ "isStrictMode": true
730
+ }), this);
731
+ }
732
+ };
733
+ //#endregion
734
+ //#region ../pretui/data-component.gts
735
+ /** What a row is keyed by. Strings and numbers only — a key is compared with
736
+ * `===` and must survive being written into a `data-` attribute. */
737
+ /** Caller-supplied key accessor: stable identity for one row. */
738
+ /** The dataset loader. Deliberately knows nothing about HTTP: it is any
739
+ * function returning a promise of rows. */
740
+ /** How many rows may be selected at once. */
741
+ /** Sort direction. */
742
+ /** The current sort: a column key plus a direction. `null` means unsorted,
743
+ * which is a third state the asc/desc cycle passes through. */
744
+ /**
745
+ * THE documented key fallback, shared by every collection in the kit.
746
+ *
747
+ * 1. `@key` accessor if the caller supplied one — always prefer this.
748
+ * 2. otherwise the row's own `id` when it is a string or number (the shape
749
+ * Boxel cards, `FeedItem` and every fixture in examples.gts already have);
750
+ * 3. otherwise the row's 0-based index.
751
+ *
752
+ * Branch 3 is a real, documented compromise, not a silent one: an
753
+ * index-keyed row's identity MOVES when the collection is re-sorted or
754
+ * spliced, so selection and the active row follow the position rather than
755
+ * the record. Any collection whose rows can be re-ordered should pass `@key`.
756
+ */
757
+ function defaultRowKey(row, index) {
758
+ if (row && typeof row === "object") {
759
+ let id = row["id"];
760
+ if (typeof id === "string" || typeof id === "number") return id;
761
+ }
762
+ return index;
763
+ }
764
+ /** Reads one field off a row for the default comparator. Rows are generic,
765
+ * so the read is an explicit widening rather than an `any`. */
766
+ function readField(row, key) {
767
+ return row && typeof row === "object" ? row[key] : void 0;
768
+ }
769
+ /** Total order over unknown values: numbers numerically, everything else by
770
+ * locale-free string compare, with null/undefined last in either direction.
771
+ * Anything richer (dates as objects, money, nested paths) wants `@comparator`. */
772
+ function compareValues(a, b) {
773
+ let aMissing = a === void 0 || a === null;
774
+ let bMissing = b === void 0 || b === null;
775
+ if (aMissing || bMissing) return aMissing && bMissing ? 0 : aMissing ? 1 : -1;
776
+ if (typeof a === "number" && typeof b === "number") return a - b;
777
+ if (typeof a === "boolean" && typeof b === "boolean") return Number(a) - Number(b);
778
+ let as = String(a);
779
+ let bs = String(b);
780
+ return as < bs ? -1 : as > bs ? 1 : 0;
781
+ }
782
+ /** Everything is an Error by the time it reaches tracked state — a thrown
783
+ * string, a rejected `{ message }`, or a genuine Error. Never swallowed. */
784
+ function toError(thrown) {
785
+ if (thrown instanceof Error) return thrown;
786
+ if (typeof thrown === "string") return new Error(thrown);
787
+ let message = readField(thrown, "message");
788
+ return new Error(typeof message === "string" ? message : "Load failed");
789
+ }
790
+ /** Re-runs `beginLoad()` whenever the loader, its key, or the reload epoch
791
+ * changes. Exported so a subclass that writes its own `<template>` (and
792
+ * therefore does not render `<DataShell>`) can still wire the loader. */
793
+ var dataLoad = modifier((_el, [state, _load, _key, _epoch]) => {
794
+ state.beginLoad();
795
+ });
796
+ /**
797
+ * The narrow, non-generic slice of a data component that the shared chrome
798
+ * needs. `DataComponent` implements it; a component that cannot extend
799
+ * `DataComponent` (because it already extends something else) can implement
800
+ * this instead and still wear the same chrome.
801
+ */
802
+ /**
803
+ * The small amount of shared chrome that goes with the base class: the
804
+ * `aria-busy` root, the polite live region, and the four state slots. It is a
805
+ * separate component precisely so a subclass that writes its own
806
+ * `<template>` keeps every accessibility guarantee without copying it.
807
+ */
808
+ var DataShell = class extends Component {
809
+ get isLoading() {
810
+ return this.args.state.status === "loading";
811
+ }
812
+ get isError() {
813
+ return this.args.state.status === "error";
814
+ }
815
+ get isEmpty() {
816
+ return this.args.state.status === "empty";
817
+ }
818
+ get skeletonRows() {
819
+ let n = Math.max(1, Math.floor(this.args.skeletonRows ?? 3));
820
+ let out = [];
821
+ for (let i = 0; i < n; i++) out.push(i);
822
+ return out;
823
+ }
824
+ get loadingLabel() {
825
+ return this.args.loadingLabel ?? "Loading";
826
+ }
827
+ get emptyTitle() {
828
+ return this.args.emptyTitle ?? "Nothing to show yet";
829
+ }
830
+ get emptyMessage() {
831
+ return this.args.emptyMessage ?? "No records match this view. Adjust the filters, or check back once the desk has logged something.";
832
+ }
833
+ get errorTitle() {
834
+ return this.args.errorTitle ?? "Could not load";
835
+ }
836
+ retry = () => {
837
+ this.args.state.reload();
838
+ };
839
+ static {
840
+ setComponentTemplate(templateFactory({
841
+ "id": "MNDOTS8w",
842
+ "block": "[[[11,0],[24,0,\"pretui-data\"],[24,\"data-test-pretui-data\",\"\"],[16,\"data-status\",[30,1,[\"status\"]]],[16,\"aria-busy\",[30,1,[\"busy\"]]],[17,2],[24,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"],[4,[32,0],[[30,1],[30,1,[\"loadFn\"]],[30,1,[\"loadKey\"]],[30,1,[\"epoch\"]]],null],[12],[1,\"\\n\"],[1,\" \"],[10,2],[14,0,\"pretui-sr\"],[14,\"role\",\"status\"],[14,\"data-test-pretui-data-live\",\"\"],[14,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"],[12],[1,\"\\n \"],[1,[30,1,[\"announcement\"]]],[1,\"\\n \"],[13],[1,\"\\n\\n\"],[41,[30,0,[\"isLoading\"]],[[[41,[30,3],[[[1,\" \"],[18,7,null],[1,\"\\n\"]],[]],[[[1,\" \"],[10,0],[14,0,\"pretui-data-loading\"],[14,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"],[12],[1,\"\\n \"],[10,1],[14,0,\"pretui-data-loading-head\"],[14,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"],[12],[1,\"\\n \"],[8,[32,1],[[24,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"]],null,null],[1,\"\\n \"],[10,1],[14,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"],[12],[1,[30,0,[\"loadingLabel\"]]],[13],[1,\"\\n \"],[13],[1,\"\\n\"],[42,[28,[31,3],[[28,[31,3],[[30,0,[\"skeletonRows\"]]],null]],null],\"@index\",[[[1,\" \"],[10,1],[14,0,\"pretui-data-skeleton\"],[15,\"data-row\",[30,4]],[14,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"],[12],[1,\"\\n \"],[8,[32,2],[[24,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"]],[[\"@width\",\"@height\"],[\"34%\",\"11px\"]],null],[1,\"\\n \"],[8,[32,2],[[24,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"]],[[\"@height\"],[\"11px\"]],null],[1,\"\\n \"],[13],[1,\"\\n\"]],[4]],null],[1,\" \"],[13],[1,\"\\n\"]],[]]]],[]],[[[41,[30,0,[\"isError\"]],[[[41,[30,5],[[[1,\" \"],[18,8,null],[1,\"\\n\"]],[]],[[[1,\" \"],[8,[32,3],[[24,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"]],[[\"@tone\",\"@title\"],[\"danger\",[30,0,[\"errorTitle\"]]]],[[\"default\",\"action\"],[[[[1,\"\\n \"],[10,2],[14,0,\"pretui-data-errmsg\"],[14,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"],[12],[1,[30,1,[\"errorMessage\"]]],[13],[1,\"\\n\"],[41,[30,1,[\"loadRef\"]],[[[1,\" \"],[8,[32,4],[[24,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"]],[[\"@label\",\"@refId\"],[\"dataset unavailable\",[30,1,[\"loadRef\"]]]],null],[1,\"\\n\"]],[]],null],[1,\" \"]],[]],[[[1,\"\\n\"],[41,[30,1,[\"canRetry\"]],[[[1,\" \"],[8,[32,5],[[24,\"data-test-pretui-data-retry\",\"\"],[24,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"],[4,[32,6],[\"click\",[30,0,[\"retry\"]]],null]],[[\"@appearance\",\"@size\"],[\"outlined\",\"s\"]],[[\"default\"],[[[[1,\"Try again\"]],[]]]]],[1,\"\\n\"]],[]],null],[1,\" \"]],[]]]]],[1,\"\\n\"]],[]]]],[]],[[[41,[30,0,[\"isEmpty\"]],[[[41,[30,6],[[[1,\" \"],[18,9,null],[1,\"\\n\"]],[]],[[[1,\" \"],[8,[32,7],[[24,\"data-scopedcss-cf92ce48c1-f088545998\",\"\"]],[[\"@title\",\"@message\"],[[30,0,[\"emptyTitle\"]],[30,0,[\"emptyMessage\"]]]],null],[1,\"\\n\"]],[]]]],[]],[[[1,\" \"],[18,10,null],[1,\"\\n \"]],[]]]],[]]]],[]]],[13],[1,\"\\n\"]],[\"@state\",\"&attrs\",\"@hasLoading\",\"row\",\"@hasError\",\"@hasEmpty\",\"&loading\",\"&error\",\"&empty\",\"&default\"],[\"if\",\"yield\",\"each\",\"-track-array\"]]",
843
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/data-component.gts",
844
+ "scope": () => [
845
+ dataLoad,
846
+ Spinner,
847
+ Skeleton,
848
+ Alert,
849
+ BrokenLink,
850
+ Button,
851
+ on,
852
+ EmptyState
853
+ ],
854
+ "isStrictMode": true
855
+ }), this);
856
+ }
857
+ };
858
+ /**
859
+ * Everything a data component accepts. Subclasses widen this through the
860
+ * `Extra` type parameter rather than re-declaring it.
861
+ */
862
+ /** The interaction surface yielded to the default block alongside the rows.
863
+ * Everything here is safe to call from a template. */
864
+ /** The expanded-rows args DataTable and List share. */
865
+ /** One row's expansion, everything its expander and detail need. */
866
+ /**
867
+ * Which rows are expanded, by key, and the ARIA wiring for each row's
868
+ * expander. Controlled when `@expandedKeys` is passed (the host never moves
869
+ * itself, it only reports), uncontrolled otherwise, seeded from
870
+ * `@defaultExpandedKeys`. Takes a thunk for the same reason DataSource does:
871
+ * every read goes through the live args. DataTable and List both use it, so
872
+ * the state rule and the ARIA contract cannot drift between them.
873
+ */
874
+ var ExpansionState = class {
875
+ constructor(readArgs, idPrefix) {
876
+ this.readArgs = readArgs;
877
+ this.idPrefix = idPrefix;
878
+ }
879
+ static {
880
+ decorateFieldV2(this.prototype, "internal", [tracked], function() {});
881
+ }
882
+ #internal = (initializeDeferredDecorator(this, "internal"), void 0);
883
+ get keys() {
884
+ let a = this.readArgs();
885
+ if (a.expandedKeys !== void 0) return a.expandedKeys;
886
+ return this.internal ?? a.defaultExpandedKeys ?? [];
887
+ }
888
+ /** A Set keeps 1 and '1' distinct, as `includes` does. */
889
+ get keySet() {
890
+ return new Set(this.keys);
891
+ }
892
+ static {
893
+ decorateMethodV2(this.prototype, "keySet", [cached]);
894
+ }
895
+ isExpanded = (key) => this.keySet.has(key);
896
+ /** The detail id is built from the row's position: a key can hold
897
+ * spaces, and 1 and '1' are distinct keys. */
898
+ viewFor(key, index, label) {
899
+ let expanded = this.isExpanded(key);
900
+ let detailId = this.idPrefix + "-d-" + String(index);
901
+ return {
902
+ expanded,
903
+ expandedFlag: expanded ? "true" : "false",
904
+ detailId,
905
+ controls: expanded ? detailId : void 0,
906
+ expandLabel: (expanded ? "Collapse " : "Expand ") + label
907
+ };
908
+ }
909
+ toggle = (key) => {
910
+ let current = this.keys;
911
+ let next = current.includes(key) ? current.filter((k) => k !== key) : [...current, key];
912
+ let a = this.readArgs();
913
+ if (a.expandedKeys === void 0) this.internal = next;
914
+ a.onExpandedChange?.([...next]);
915
+ };
916
+ };
917
+ /**
918
+ * THE state machine, as a plain class rather than a component.
919
+ *
920
+ * It is separate from `DataComponent` for a reason that is worth stating,
921
+ * because it is the difference between a base class that only serves its own
922
+ * demo and one the whole kit can use. Glint infers a component's row type
923
+ * from its `Args` type — and inference dies the moment `Args` is anything
924
+ * but a bare `DataArgs<T>`: an intersection with an `Extra` type parameter
925
+ * (`DataArgs<T> & Extra`) makes every caller's `T` collapse to `{}`. So a
926
+ * base class cannot both infer `T` and let subclasses add their own args.
927
+ *
928
+ * Inheritance therefore covers the plain case, and DELEGATION covers the
929
+ * rest: a component with its own signature — `@columns`, `@series`, extra
930
+ * blocks, a different Element — holds a DataSource, points `<DataShell>` at
931
+ * it, and gets the identical state machine:
932
+ *
933
+ * class KitTable<T> extends Component<KitTableSignature<T>> {
934
+ * data = new DataSource<T>(() => this.args);
935
+ * <template><DataShell @state={{this.data}}> … </DataShell></template>
936
+ * }
937
+ *
938
+ * The constructor takes a THUNK, not the args object, so every read goes
939
+ * through the live `this.args` and autotracking stays intact.
940
+ */
941
+ var DataSource = class {
942
+ constructor(readArgs) {
943
+ this.readArgs = readArgs;
944
+ }
945
+ /** the host's current args — read through the thunk on every access so
946
+ * tracked argument changes are observed normally */
947
+ get a() {
948
+ return this.readArgs();
949
+ }
950
+ static {
951
+ decorateFieldV2(this.prototype, "loadedRows", [tracked], function() {
952
+ return [];
953
+ });
954
+ }
955
+ #loadedRows = (initializeDeferredDecorator(this, "loadedRows"), void 0);
956
+ static {
957
+ decorateFieldV2(this.prototype, "inFlight", [tracked], function() {
958
+ return false;
959
+ });
960
+ }
961
+ #inFlight = (initializeDeferredDecorator(this, "inFlight"), void 0);
962
+ static {
963
+ decorateFieldV2(this.prototype, "settled", [tracked], function() {
964
+ return false;
965
+ });
966
+ }
967
+ #settled = (initializeDeferredDecorator(this, "settled"), void 0);
968
+ static {
969
+ decorateFieldV2(this.prototype, "failure", [tracked], function() {});
970
+ }
971
+ #failure = (initializeDeferredDecorator(this, "failure"), void 0);
972
+ static {
973
+ decorateFieldV2(this.prototype, "epoch", [tracked], function() {
974
+ return 0;
975
+ });
976
+ }
977
+ #epoch = (initializeDeferredDecorator(this, "epoch"), void 0);
978
+ requestToken = 0;
979
+ static {
980
+ decorateFieldV2(this.prototype, "internalSelected", [tracked], function() {});
981
+ }
982
+ #internalSelected = (initializeDeferredDecorator(this, "internalSelected"), void 0);
983
+ static {
984
+ decorateFieldV2(this.prototype, "internalActive", [tracked], function() {});
985
+ }
986
+ #internalActive = (initializeDeferredDecorator(this, "internalActive"), void 0);
987
+ static {
988
+ decorateFieldV2(this.prototype, "internalSort", [tracked], function() {});
989
+ }
990
+ #internalSort = (initializeDeferredDecorator(this, "internalSort"), void 0);
991
+ get loadFn() {
992
+ return this.a.load;
993
+ }
994
+ get loadKey() {
995
+ return this.a.loadKey;
996
+ }
997
+ get loadRef() {
998
+ let key = this.a.loadKey;
999
+ return typeof key === "string" || typeof key === "number" ? String(key) : void 0;
1000
+ }
1001
+ get canRetry() {
1002
+ return this.a.load !== void 0 && this.a.rows === void 0;
1003
+ }
1004
+ /**
1005
+ * Called by the `dataLoad` modifier on insert and on every change to
1006
+ * `@load` / `@loadKey` / `epoch`. Writes NO tracked state synchronously —
1007
+ * the modifier runs inside the render transaction, and a tracked write
1008
+ * there is the backtracking-rerender assertion.
1009
+ */
1010
+ beginLoad = () => {
1011
+ let load = this.a.load;
1012
+ let token = ++this.requestToken;
1013
+ if (!load || this.a.rows !== void 0) return;
1014
+ this.runLoad(load, token);
1015
+ };
1016
+ /** Discards whatever is in flight and loads again. */
1017
+ reload = () => {
1018
+ this.epoch = this.epoch + 1;
1019
+ };
1020
+ async runLoad(load, token) {
1021
+ await Promise.resolve();
1022
+ if (token !== this.requestToken) return;
1023
+ this.inFlight = true;
1024
+ this.failure = void 0;
1025
+ try {
1026
+ let rows = await load();
1027
+ if (token !== this.requestToken) return;
1028
+ this.loadedRows = rows ?? [];
1029
+ this.failure = void 0;
1030
+ } catch (thrown) {
1031
+ if (token !== this.requestToken) return;
1032
+ this.failure = toError(thrown);
1033
+ } finally {
1034
+ if (token === this.requestToken) {
1035
+ this.inFlight = false;
1036
+ this.settled = true;
1037
+ }
1038
+ }
1039
+ }
1040
+ /**
1041
+ * The single readable state. DERIVED — nothing assigns it:
1042
+ * error a captured failure outranks everything, so a stale row set can
1043
+ * never read as success;
1044
+ * loading a request is in flight, OR one is about to start and has never
1045
+ * settled (which is what closes the empty-flash on first paint);
1046
+ * ready settled with rows;
1047
+ * empty settled with none — only ever reachable when nothing is
1048
+ * loading, which is the bug this ordering exists to prevent;
1049
+ * idle no rows and no loader: nobody has asked for anything.
1050
+ */
1051
+ get status() {
1052
+ if (this.a.rows !== void 0) return this.a.rows.length > 0 ? "ready" : "empty";
1053
+ if (this.failure) return "error";
1054
+ if (this.inFlight) return "loading";
1055
+ if (this.a.load === void 0) return "idle";
1056
+ if (!this.settled) return "loading";
1057
+ return this.loadedRows.length > 0 ? "ready" : "empty";
1058
+ }
1059
+ get busy() {
1060
+ return this.status === "loading" ? "true" : "false";
1061
+ }
1062
+ get errorMessage() {
1063
+ return this.a.rows === void 0 && this.failure ? this.failure.message : "";
1064
+ }
1065
+ /** The rows as given: `@rows` when eager, the loaded set otherwise. */
1066
+ get rows() {
1067
+ return this.a.rows ?? this.loadedRows;
1068
+ }
1069
+ /** The rows as rendered: sorted when a sort is active. Never mutates the
1070
+ * caller's array. */
1071
+ get visibleRows() {
1072
+ let rows = this.rows;
1073
+ let sort = this.sort;
1074
+ if (!sort) return rows.slice();
1075
+ let dir = sort.dir === "desc" ? -1 : 1;
1076
+ let active = sort;
1077
+ return rows.slice().sort((a, b) => this.compare(a, b, active, dir));
1078
+ }
1079
+ get count() {
1080
+ return this.visibleRows.length;
1081
+ }
1082
+ /**
1083
+ * The polite announcement. Derived ONLY from settled state, which is how
1084
+ * "do not announce on every keystroke" is enforced structurally rather than
1085
+ * by remembering to: while a request is in flight the text is empty, so a
1086
+ * caller-driven filter that re-queries announces once when the new results
1087
+ * land, not once per key. Identical text is not re-announced by assistive
1088
+ * technology, so re-sorting the same 6 rows stays silent too.
1089
+ */
1090
+ get announcement() {
1091
+ if (this.a.silentCount) return "";
1092
+ let noun = this.a.itemNoun ?? "result";
1093
+ switch (this.status) {
1094
+ case "ready": {
1095
+ let n = this.count;
1096
+ return `${n} ${n === 1 ? noun : `${noun}s`}`;
1097
+ }
1098
+ case "empty": return `No ${noun}s`;
1099
+ case "error": return `Could not load: ${this.errorMessage}`;
1100
+ default: return "";
1101
+ }
1102
+ }
1103
+ keyFor = (row, index) => this.a.key ? this.a.key(row, index) : defaultRowKey(row, index);
1104
+ rowsForKeys(keys) {
1105
+ let wanted = new Set(keys);
1106
+ return this.visibleRows.filter((row, i) => wanted.has(this.keyFor(row, i)));
1107
+ }
1108
+ get selectionMode() {
1109
+ return this.a.selectionMode ?? "none";
1110
+ }
1111
+ get selectedKeys() {
1112
+ if (this.a.selected !== void 0) return this.a.selected;
1113
+ return this.internalSelected ?? this.a.defaultSelected ?? [];
1114
+ }
1115
+ get selectedRows() {
1116
+ return this.rowsForKeys(this.selectedKeys);
1117
+ }
1118
+ /** Every row the reader can see is selected; keys for rows outside the
1119
+ * current view do not count either way. */
1120
+ get allSelected() {
1121
+ let visible = this.visibleRows;
1122
+ if (visible.length === 0) return false;
1123
+ let selected = new Set(this.selectedKeys);
1124
+ return visible.every((row, index) => selected.has(this.keyFor(row, index)));
1125
+ }
1126
+ isSelected = (row, index) => this.selectedKeys.includes(this.keyFor(row, index));
1127
+ toggleSelected = (row, index) => {
1128
+ let mode = this.selectionMode;
1129
+ if (mode === "none") return;
1130
+ let key = this.keyFor(row, index);
1131
+ let current = this.selectedKeys;
1132
+ let next;
1133
+ if (mode === "single") next = current.length === 1 && current[0] === key ? [] : [key];
1134
+ else next = current.includes(key) ? current.filter((k) => k !== key) : [...current, key];
1135
+ this.commitSelection(next);
1136
+ };
1137
+ selectAll = () => {
1138
+ if (this.selectionMode !== "multi") return;
1139
+ let visible = this.visibleRows.map((r, i) => this.keyFor(r, i));
1140
+ let shown = new Set(visible);
1141
+ let kept = this.selectedKeys.filter((key) => !shown.has(key));
1142
+ this.commitSelection(this.allSelected ? kept : [...kept, ...visible]);
1143
+ };
1144
+ clearSelection = () => {
1145
+ this.commitSelection([]);
1146
+ };
1147
+ commitSelection(next) {
1148
+ if (this.a.selected === void 0) this.internalSelected = next;
1149
+ this.a.onSelectionChange?.(next, this.rowsForKeys(next));
1150
+ }
1151
+ get activeKey() {
1152
+ if (this.a.activeKey !== void 0) return this.a.activeKey;
1153
+ return this.internalActive !== void 0 ? this.internalActive : this.a.defaultActiveKey ?? null;
1154
+ }
1155
+ isActive = (row, index) => this.activeKey !== null && this.activeKey === this.keyFor(row, index);
1156
+ setActive = (row, index) => {
1157
+ let next = row === null ? null : this.keyFor(row, index);
1158
+ if (this.a.activeKey === void 0) this.internalActive = next;
1159
+ this.a.onActiveChange?.(next, row ?? void 0);
1160
+ };
1161
+ get sort() {
1162
+ if (this.a.sort !== void 0) return this.a.sort;
1163
+ return this.internalSort !== void 0 ? this.internalSort : this.a.defaultSort ?? null;
1164
+ }
1165
+ /** asc → desc → unsorted, the three-step cycle DataGrid already used. */
1166
+ toggleSort = (key) => {
1167
+ let current = this.sort;
1168
+ let next = !current || current.key !== key ? {
1169
+ key,
1170
+ dir: "asc"
1171
+ } : current.dir === "asc" ? {
1172
+ key,
1173
+ dir: "desc"
1174
+ } : null;
1175
+ if (this.a.sort === void 0) this.internalSort = next;
1176
+ this.a.onSortChange?.(next);
1177
+ };
1178
+ ariaSort = (key) => {
1179
+ let current = this.sort;
1180
+ if (!current || current.key !== key) return "none";
1181
+ return current.dir === "asc" ? "ascending" : "descending";
1182
+ };
1183
+ compare(a, b, sort, dir) {
1184
+ if (this.a.comparator) return this.a.comparator(a, b, sort) * dir;
1185
+ let x = readField(a, sort.key);
1186
+ let y = readField(b, sort.key);
1187
+ if (x === void 0 || x === null || y === void 0 || y === null) return compareValues(x, y);
1188
+ return compareValues(x, y) * dir;
1189
+ }
1190
+ get data() {
1191
+ return {
1192
+ status: this.status,
1193
+ count: this.count,
1194
+ errorMessage: this.errorMessage,
1195
+ keyFor: this.keyFor,
1196
+ selectionMode: this.selectionMode,
1197
+ selectedKeys: this.selectedKeys,
1198
+ selectedRows: this.selectedRows,
1199
+ allSelected: this.allSelected,
1200
+ isSelected: this.isSelected,
1201
+ toggleSelected: this.toggleSelected,
1202
+ selectAll: this.selectAll,
1203
+ clearSelection: this.clearSelection,
1204
+ activeKey: this.activeKey,
1205
+ isActive: this.isActive,
1206
+ setActive: this.setActive,
1207
+ sort: this.sort,
1208
+ toggleSort: this.toggleSort,
1209
+ ariaSort: this.ariaSort,
1210
+ reload: this.reload
1211
+ };
1212
+ }
1213
+ };
1214
+ (class extends Component {
1215
+ /** the state machine — pass it to `<DataShell @state={{this.source}}>` */ source = new DataSource(() => this.args);
1216
+ get status() {
1217
+ return this.source.status;
1218
+ }
1219
+ get busy() {
1220
+ return this.source.busy;
1221
+ }
1222
+ get errorMessage() {
1223
+ return this.source.errorMessage;
1224
+ }
1225
+ get announcement() {
1226
+ return this.source.announcement;
1227
+ }
1228
+ get rows() {
1229
+ return this.source.rows;
1230
+ }
1231
+ get visibleRows() {
1232
+ return this.source.visibleRows;
1233
+ }
1234
+ get count() {
1235
+ return this.source.count;
1236
+ }
1237
+ get selectionMode() {
1238
+ return this.source.selectionMode;
1239
+ }
1240
+ get selectedKeys() {
1241
+ return this.source.selectedKeys;
1242
+ }
1243
+ get selectedRows() {
1244
+ return this.source.selectedRows;
1245
+ }
1246
+ get allSelected() {
1247
+ return this.source.allSelected;
1248
+ }
1249
+ get activeKey() {
1250
+ return this.source.activeKey;
1251
+ }
1252
+ get sort() {
1253
+ return this.source.sort;
1254
+ }
1255
+ get data() {
1256
+ return this.source.data;
1257
+ }
1258
+ keyFor = this.source.keyFor;
1259
+ isSelected = this.source.isSelected;
1260
+ toggleSelected = this.source.toggleSelected;
1261
+ selectAll = this.source.selectAll;
1262
+ clearSelection = this.source.clearSelection;
1263
+ isActive = this.source.isActive;
1264
+ setActive = this.source.setActive;
1265
+ toggleSort = this.source.toggleSort;
1266
+ ariaSort = this.source.ariaSort;
1267
+ reload = this.source.reload;
1268
+ static {
1269
+ setComponentTemplate(templateFactory({
1270
+ "id": "WDfnfAER",
1271
+ "block": "[[[8,[32,0],[[17,1]],[[\"@state\",\"@hasLoading\",\"@hasEmpty\",\"@hasError\",\"@emptyTitle\",\"@emptyMessage\",\"@loadingLabel\",\"@skeletonRows\"],[[30,0,[\"source\"]],[48,[30,6]],[48,[30,7]],[48,[30,8]],[30,2],[30,3],[30,4],[30,5]]],[[\"default\",\"loading\",\"empty\",\"error\"],[[[[18,9,[[30,0,[\"visibleRows\"]],[30,0,[\"data\"]]]]],[]],[[[18,6,null]],[]],[[[18,7,null]],[]],[[[18,8,null]],[]]]]]],[\"&attrs\",\"@emptyTitle\",\"@emptyMessage\",\"@loadingLabel\",\"@skeletonRows\",\"&loading\",\"&empty\",\"&error\",\"&default\"],[\"has-block\",\"yield\"]]",
1272
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/data-component.gts",
1273
+ "scope": () => [DataShell],
1274
+ "isStrictMode": true
1275
+ }), this);
1276
+ }
1277
+ });
1278
+ //#endregion
1279
+ //#region ../pretui/focus.gts
1280
+ /** Focuses the element only on the render where it BECAME the keyboard
1281
+ * target — never steals focus on a plain re-render. */
1282
+ var focusWhen = modifier((el, [should]) => {
1283
+ if (should) el.focus();
1284
+ });
1285
+ /** Roving tabindex, set as a property rather than an attribute: exactly one
1286
+ * member of a composite is in the tab sequence, the rest are -1. Set as a
1287
+ * property because the no-positive-tabindex lint rule cannot statically
1288
+ * verify a dynamic template attribute. */
1289
+ var rovingTabindex = modifier((el, [active]) => {
1290
+ el.tabIndex = active ? 0 : -1;
1291
+ });
1292
+ /** One delegated listener on a composite root, removed on cleanup. This is
1293
+ * how a `role='tree'` / `role='menu'` container gets its keyboard without
1294
+ * `{{on}}` on a non-interactive element (lint: no-invalid-interactive) and
1295
+ * without one listener per node. */
1296
+ var listen = modifier((el, [type, handler]) => {
1297
+ el.addEventListener(type, handler);
1298
+ return () => el.removeEventListener(type, handler);
1299
+ });
1300
+ modifier((_el, [type, handler, capture]) => {
1301
+ let options = {
1302
+ capture: capture ?? false,
1303
+ passive: true
1304
+ };
1305
+ document.addEventListener(type, handler, options);
1306
+ return () => document.removeEventListener(type, handler, options);
1307
+ });
1308
+ /**
1309
+ * A document-level listener in the CAPTURE phase, non-passive so the handler
1310
+ * may `preventDefault`.
1311
+ *
1312
+ * This is how an open overlay takes ownership of a key. Handlers for one
1313
+ * event type share a single listener that calls them newest first and stops
1314
+ * at the first one that calls `stopPropagation`, so an Escape inside nested
1315
+ * overlays closes only the innermost one.
1316
+ */
1317
+ var captureStacks = /* @__PURE__ */ new Map();
1318
+ function dispatchCapture(event) {
1319
+ let stack = captureStacks.get(event.type);
1320
+ if (!stack) return;
1321
+ for (let handler of [...stack].reverse()) {
1322
+ handler(event);
1323
+ if (event.cancelBubble) return;
1324
+ }
1325
+ }
1326
+ modifier((_el, [type, handler]) => {
1327
+ let stack = captureStacks.get(type);
1328
+ if (!stack) {
1329
+ stack = [];
1330
+ captureStacks.set(type, stack);
1331
+ document.addEventListener(type, dispatchCapture, true);
1332
+ }
1333
+ stack.push(handler);
1334
+ return () => {
1335
+ let current = captureStacks.get(type);
1336
+ if (!current) return;
1337
+ let at = current.lastIndexOf(handler);
1338
+ if (at !== -1) current.splice(at, 1);
1339
+ if (current.length === 0) {
1340
+ captureStacks.delete(type);
1341
+ document.removeEventListener(type, dispatchCapture, true);
1342
+ }
1343
+ };
1344
+ });
1345
+ modifier((_el, [timers]) => {
1346
+ timers.adopt();
1347
+ return () => timers.release();
1348
+ });
1349
+ modifier((_el, [track]) => {
1350
+ let onMove = (event) => {
1351
+ let pointer = event;
1352
+ track.record(pointer.clientX, pointer.clientY);
1353
+ };
1354
+ document.addEventListener("pointermove", onMove, { passive: true });
1355
+ return () => {
1356
+ document.removeEventListener("pointermove", onMove);
1357
+ track.clear();
1358
+ };
1359
+ });
1360
+ modifier((el, [mixed]) => {
1361
+ el.indeterminate = mixed;
1362
+ });
1363
+ /**
1364
+ * The roving keyboard cursor a row collection needs: one tab stop for the
1365
+ * whole list, arrows to move within it, Home/End to the ends.
1366
+ *
1367
+ * It is a plain class, not a component and not a modifier, for the reason
1368
+ * `DataSource` is one: it is testable without a DOM and it can be held by
1369
+ * anything. `<List>` holds one. `<DataTable>` deliberately does NOT — a
1370
+ * plain `<table>` must leave Tab alone so the links, buttons and checkboxes
1371
+ * inside its cells stay reachable in document order. Roving row focus is a
1372
+ * `role='grid'` behaviour, and this file does not claim that role.
1373
+ */
1374
+ var RowCursor = class {
1375
+ constructor(readCount) {
1376
+ this.readCount = readCount;
1377
+ }
1378
+ static {
1379
+ decorateFieldV2(this.prototype, "index", [tracked], function() {
1380
+ return 0;
1381
+ });
1382
+ }
1383
+ #index = (initializeDeferredDecorator(this, "index"), void 0);
1384
+ static {
1385
+ decorateFieldV2(this.prototype, "navigating", [tracked], function() {
1386
+ return false;
1387
+ });
1388
+ }
1389
+ #navigating = (initializeDeferredDecorator(this, "navigating"), void 0);
1390
+ /** true only while the KEYBOARD is driving, so `focusWhen` never steals
1391
+ * focus on a pointer path or a plain re-render */
1392
+ get count() {
1393
+ return this.readCount();
1394
+ }
1395
+ /** the cursor, clamped to the collection as it is right now */
1396
+ get active() {
1397
+ return Math.min(this.index, Math.max(0, this.count - 1));
1398
+ }
1399
+ isActive = (index) => index === this.active;
1400
+ isFocusTarget = (index) => this.navigating && this.isActive(index);
1401
+ /** move the cursor and take focus with it */
1402
+ moveTo = (index) => {
1403
+ if (index < 0 || index >= this.count) return;
1404
+ this.navigating = true;
1405
+ this.index = index;
1406
+ };
1407
+ /** follow focus that arrived some other way (a click, a Tab from outside)
1408
+ * without taking it — the early return is what keeps `focusWhen`'s
1409
+ * synchronous `el.focus()` from re-entering as a backtracking re-render */
1410
+ follow = (index) => {
1411
+ if (index === this.active) return;
1412
+ this.navigating = false;
1413
+ this.index = index;
1414
+ };
1415
+ /** returns true when the key was consumed and the caller should
1416
+ * `preventDefault()` */
1417
+ handleKey = (key) => {
1418
+ switch (key) {
1419
+ case "ArrowDown":
1420
+ this.moveTo(this.active + 1);
1421
+ return true;
1422
+ case "ArrowUp":
1423
+ this.moveTo(this.active - 1);
1424
+ return true;
1425
+ case "Home":
1426
+ this.moveTo(0);
1427
+ return true;
1428
+ case "End":
1429
+ this.moveTo(this.count - 1);
1430
+ return true;
1431
+ default: return false;
1432
+ }
1433
+ };
1434
+ };
1435
+ //#endregion
1436
+ //#region ../pretui/components/list.gts
1437
+ /**
1438
+ * A collapse removes the detail, and focus inside it would fall to <body>.
1439
+ * The row remembers (from focusin) that focus was in its detail; after a
1440
+ * collapse — by the expander, a controlled `@expandedKeys` change or a
1441
+ * reload — focus lands on the row's expander instead, unless it has already
1442
+ * moved somewhere real.
1443
+ */
1444
+ var restoreFocusOnCollapse = modifier((row, [expanded]) => {
1445
+ if (expanded || row.dataset["detailFocus"] !== "true") return;
1446
+ row.dataset["detailFocus"] = "false";
1447
+ let doc = row.ownerDocument;
1448
+ let active = doc.activeElement;
1449
+ if (!active || active === doc.body) row.querySelector(".pretui-list-expbtn")?.focus();
1450
+ });
1451
+ var List = class extends Component {
1452
+ guid = guidFor(this);
1453
+ /** The shared state machine: load status, `aria-busy`, the polite result
1454
+ * count, the row-key contract, and THE selection model `<DataTable>` uses.
1455
+ * One implementation, two components. */
1456
+ source = new DataSource(() => this.dataArgs);
1457
+ cursor = new RowCursor(() => this.rows.length);
1458
+ /** The same expanded-rows state DataTable uses. */
1459
+ expansion = new ExpansionState(() => this.args, this.guid);
1460
+ get dataArgs() {
1461
+ let a = this.args;
1462
+ return {
1463
+ rows: a.items ?? a.options ?? a.dataSource,
1464
+ load: a.load,
1465
+ loadKey: a.loadKey,
1466
+ key: a.key,
1467
+ selectionMode: a.selectionMode,
1468
+ selected: a.selected,
1469
+ defaultSelected: a.defaultSelected,
1470
+ onSelectionChange: a.onSelectionChange,
1471
+ itemNoun: a.itemNoun,
1472
+ emptyTitle: a.emptyTitle,
1473
+ emptyMessage: a.emptyMessage,
1474
+ loadingLabel: a.loadingLabel,
1475
+ skeletonRows: a.skeletonRows
1476
+ };
1477
+ }
1478
+ get rows() {
1479
+ return this.source.visibleRows;
1480
+ }
1481
+ get size() {
1482
+ return resolveSize(this.args.size);
1483
+ }
1484
+ get label() {
1485
+ return this.args.label ?? "List";
1486
+ }
1487
+ get selectionMode() {
1488
+ return this.source.selectionMode;
1489
+ }
1490
+ get selectable() {
1491
+ return this.selectionMode !== "none";
1492
+ }
1493
+ get multi() {
1494
+ return this.selectionMode === "multi";
1495
+ }
1496
+ get radioName() {
1497
+ return this.guid + "-list";
1498
+ }
1499
+ get divided() {
1500
+ return this.args.divided ?? true ? "true" : void 0;
1501
+ }
1502
+ get bordered() {
1503
+ return this.args.bordered ? "true" : void 0;
1504
+ }
1505
+ get busy() {
1506
+ return this.args.busy ?? this.args.loading ? "true" : void 0;
1507
+ }
1508
+ labelFor = (row, index) => this.args.rowLabel?.(row, index) ?? "Row " + String(index + 1);
1509
+ get lines() {
1510
+ return this.rows.map((row, index) => {
1511
+ let selected = this.source.isSelected(row, index);
1512
+ let key = this.source.keyFor(row, index);
1513
+ let label = this.labelFor(row, index);
1514
+ return {
1515
+ key,
1516
+ row,
1517
+ index,
1518
+ selected,
1519
+ selectedFlag: selected ? "true" : void 0,
1520
+ active: this.cursor.isActive(index),
1521
+ api: {
1522
+ index,
1523
+ selected,
1524
+ active: this.cursor.isActive(index),
1525
+ toggle: () => this.source.toggleSelected(row, index)
1526
+ },
1527
+ label,
1528
+ expansion: this.expansion.viewFor(key, index, label)
1529
+ };
1530
+ });
1531
+ }
1532
+ isRoving = (index) => this.cursor.isActive(index);
1533
+ isFocusTarget = (index) => this.cursor.isFocusTarget(index);
1534
+ indexFromEvent(event) {
1535
+ let raw = (event.target?.closest("[data-list-index]"))?.dataset["listIndex"];
1536
+ return raw === void 0 ? void 0 : Number(raw);
1537
+ }
1538
+ onFocusIn = (event) => {
1539
+ let target = event.target;
1540
+ let row = target?.closest("[data-list-index]");
1541
+ if (row) row.dataset["detailFocus"] = target?.closest(".pretui-list-detail") ? "true" : "false";
1542
+ let index = this.indexFromEvent(event);
1543
+ if (index !== void 0) this.cursor.follow(index);
1544
+ };
1545
+ onKeydown = (event) => {
1546
+ let ev = event;
1547
+ if (this.rows.length === 0) return;
1548
+ if (!!!ev.target?.matches("[data-list-index]")) return;
1549
+ if (this.cursor.handleKey(ev.key)) {
1550
+ ev.preventDefault();
1551
+ return;
1552
+ }
1553
+ let index = this.cursor.active;
1554
+ let row = this.rows[index];
1555
+ if (row === void 0) return;
1556
+ if (ev.key === "Enter") {
1557
+ ev.preventDefault();
1558
+ this.args.onActivate?.(row, index);
1559
+ } else if (ev.key === " " && this.selectable) {
1560
+ ev.preventDefault();
1561
+ this.source.toggleSelected(row, index);
1562
+ }
1563
+ };
1564
+ toggleExpanded = (key) => this.expansion.toggle(key);
1565
+ detailLabel = (line) => line.label + " details";
1566
+ toggleRow = (row, index) => {
1567
+ this.source.toggleSelected(row, index);
1568
+ };
1569
+ activate = (row, index) => {
1570
+ this.args.onActivate?.(row, index);
1571
+ };
1572
+ /** A click on a row activates it, unless it landed on a control or in the
1573
+ * row's expanded detail. */
1574
+ onClick = (event) => {
1575
+ if (!this.args.onActivate) return;
1576
+ let target = event.target;
1577
+ let li = target?.closest?.("li[data-list-index]");
1578
+ if (!li || target?.closest?.("a[href], button, input, select, textarea, label, summary, [role=\"button\"], [role=\"link\"], [contenteditable=\"\"], [contenteditable=\"true\"]") || target?.closest?.(".pretui-list-detail")) return;
1579
+ let index = Number(li.getAttribute("data-list-index"));
1580
+ let row = this.rows[index];
1581
+ if (row !== void 0) this.args.onActivate(row, index);
1582
+ };
1583
+ static {
1584
+ setComponentTemplate(templateFactory({
1585
+ "id": "XELOR1Am",
1586
+ "block": "[[[11,0],[24,0,\"pretui-list\"],[24,\"data-test-pretui-list\",\"\"],[16,\"data-size\",[30,0,[\"size\"]]],[16,\"data-divided\",[30,0,[\"divided\"]]],[16,\"data-bordered\",[30,0,[\"bordered\"]]],[16,\"aria-busy\",[30,0,[\"busy\"]]],[17,1],[24,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[12],[1,\"\\n\"],[41,[48,[30,7]],[[[1,\" \"],[10,0],[14,0,\"pretui-list-header\"],[14,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[12],[18,7,null],[13],[1,\"\\n\"]],[]],null],[1,\"\\n \"],[8,[32,0],[[24,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"]],[[\"@state\",\"@hasLoading\",\"@hasEmpty\",\"@hasError\",\"@emptyTitle\",\"@emptyMessage\",\"@loadingLabel\",\"@skeletonRows\"],[[30,0,[\"source\"]],[48,[30,8]],[48,[30,9]],[48,[30,10]],[30,2],[30,3],[30,4],[30,5]]],[[\"default\",\"loading\",\"empty\",\"error\"],[[[[1,\"\\n \"],[11,\"ul\"],[24,0,\"pretui-list-rows\"],[16,\"aria-label\",[30,0,[\"label\"]]],[24,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[4,[32,1],[\"keydown\",[30,0,[\"onKeydown\"]]],null],[4,[32,1],[\"focusin\",[30,0,[\"onFocusIn\"]]],null],[4,[32,1],[\"click\",[30,0,[\"onClick\"]]],null],[12],[1,\"\\n\"],[42,[28,[31,4],[[28,[31,4],[[30,0,[\"lines\"]]],null]],null],\"key\",[[[1,\" \"],[11,\"li\"],[24,0,\"pretui-list-row\"],[16,\"data-list-index\",[30,6,[\"index\"]]],[16,\"data-selected\",[30,6,[\"selectedFlag\"]]],[16,\"data-expanded\",[52,[48,[30,11]],[30,6,[\"expansion\",\"expandedFlag\"]]]],[24,\"data-test-pretui-list-row\",\"\"],[24,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[4,[32,2],[[28,[30,0,[\"isRoving\"]],[[30,6,[\"index\"]]],null]],null],[4,[32,3],[[28,[30,0,[\"isFocusTarget\"]],[[30,6,[\"index\"]]],null]],null],[4,[32,4],[[30,6,[\"expansion\",\"expanded\"]]],null],[12],[1,\"\\n \"],[10,0],[14,0,\"pretui-list-line\"],[14,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[12],[1,\"\\n\"],[41,[30,0,[\"selectable\"]],[[[1,\" \"],[10,1],[14,0,\"pretui-list-pick\"],[14,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[12],[1,\"\\n\"],[41,[30,0,[\"multi\"]],[[[1,\" \"],[11,\"input\"],[24,0,\"pretui-list-box\"],[16,\"checked\",[30,6,[\"selected\"]]],[16,\"aria-label\",[30,6,[\"label\"]]],[24,\"data-test-pretui-list-select\",\"\"],[24,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[24,4,\"checkbox\"],[4,[32,5],[\"change\",[28,[32,6],[[30,0,[\"toggleRow\"]],[30,6,[\"row\"]],[30,6,[\"index\"]]],null]],null],[12],[13],[1,\"\\n\"]],[]],[[[1,\" \"],[11,\"input\"],[24,0,\"pretui-list-box pretui-list-radio\"],[16,3,[30,0,[\"radioName\"]]],[16,\"checked\",[30,6,[\"selected\"]]],[16,\"aria-label\",[30,6,[\"label\"]]],[24,\"data-test-pretui-list-select\",\"\"],[24,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[24,4,\"radio\"],[4,[32,5],[\"change\",[28,[32,6],[[30,0,[\"toggleRow\"]],[30,6,[\"row\"]],[30,6,[\"index\"]]],null]],null],[12],[13],[1,\"\\n\"]],[]]],[1,\" \"],[13],[1,\"\\n\"]],[]],null],[41,[48,[30,11]],[[[1,\" \"],[11,\"button\"],[24,0,\"pretui-list-expbtn\"],[16,\"aria-expanded\",[30,6,[\"expansion\",\"expandedFlag\"]]],[16,\"aria-controls\",[30,6,[\"expansion\",\"controls\"]]],[16,\"aria-label\",[30,6,[\"expansion\",\"expandLabel\"]]],[24,\"data-test-pretui-list-expand\",\"\"],[24,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[24,4,\"button\"],[4,[32,5],[\"click\",[28,[32,6],[[30,0,[\"toggleExpanded\"]],[30,6,[\"key\"]]],null]],null],[12],[1,\"\\n \"],[10,1],[14,0,\"pretui-list-chev\"],[14,\"aria-hidden\",\"true\"],[14,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[12],[1,\"›\"],[13],[1,\"\\n \"],[13],[1,\"\\n\"]],[]],null],[1,\" \"],[10,0],[14,0,\"pretui-list-body\"],[14,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[12],[1,\"\\n \"],[18,12,[[30,6,[\"row\"]],[30,6,[\"index\"]],[30,6,[\"api\"]]]],[1,\"\\n \"],[13],[1,\"\\n \"],[13],[1,\"\\n\"],[41,[48,[30,11]],[[[41,[30,6,[\"expansion\",\"expanded\"]],[[[1,\" \"],[10,0],[14,0,\"pretui-list-detail\"],[15,1,[30,6,[\"expansion\",\"detailId\"]]],[14,\"role\",\"region\"],[14,\"tabindex\",\"-1\"],[15,\"aria-label\",[28,[30,0,[\"detailLabel\"]],[[30,6]],null]],[14,\"data-test-pretui-list-detail\",\"\"],[14,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[12],[1,\"\\n \"],[18,11,[[30,6,[\"row\"]],[30,6,[\"index\"]]]],[1,\"\\n \"],[13],[1,\"\\n\"]],[]],null]],[]],null],[1,\" \"],[13],[1,\"\\n\"]],[6]],null],[1,\" \"],[13],[1,\"\\n \"]],[]],[[[18,8,null]],[]],[[[18,9,null]],[]],[[[18,10,null]],[]]]]],[1,\"\\n\\n\"],[41,[48,[30,13]],[[[1,\" \"],[10,0],[14,0,\"pretui-list-footer\"],[14,\"data-scopedcss-d9a8b45361-cd067b2df8\",\"\"],[12],[18,13,null],[13],[1,\"\\n\"]],[]],null],[13],[1,\"\\n\"]],[\"&attrs\",\"@emptyTitle\",\"@emptyMessage\",\"@loadingLabel\",\"@skeletonRows\",\"line\",\"&header\",\"&loading\",\"&empty\",\"&error\",\"&expanded\",\"&item\",\"&footer\"],[\"if\",\"has-block\",\"yield\",\"each\",\"-track-array\"]]",
1587
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/list.gts",
1588
+ "scope": () => [
1589
+ DataShell,
1590
+ listen,
1591
+ rovingTabindex,
1592
+ focusWhen,
1593
+ restoreFocusOnCollapse,
1594
+ on,
1595
+ fn
1596
+ ],
1597
+ "isStrictMode": true
1598
+ }), this);
1599
+ }
1600
+ };
1601
+ //#endregion
1602
+ //#region ../pretui/components/loading-state.gts
1603
+ var LoadingState = class extends Component {
1604
+ get label() {
1605
+ return this.args.label ?? "Working";
1606
+ }
1607
+ get pixels() {
1608
+ let variant = this.args.variant ?? "drive";
1609
+ let chev = Array.from({ length: 9 }, (_, i) => {
1610
+ let r = Math.floor(i / 3);
1611
+ return (i % 3 + Math.abs(r - 1)) * 90;
1612
+ });
1613
+ let order = [
1614
+ 0,
1615
+ 1,
1616
+ 2,
1617
+ 5,
1618
+ 8,
1619
+ 7,
1620
+ 6,
1621
+ 3
1622
+ ];
1623
+ let orbit = Array.from({ length: 9 }, (_, i) => {
1624
+ let k = order.indexOf(i);
1625
+ return k === -1 ? null : k * 110;
1626
+ });
1627
+ let delays = variant === "orbit" ? orbit : chev;
1628
+ let dur = variant === "orbit" ? 950 : 650;
1629
+ let round = variant === "dots";
1630
+ return delays.map((d) => ({
1631
+ round,
1632
+ style: htmlSafe(d === null ? "opacity: .07; animation: none" : `animation: pretui-pixel-on ${dur}ms ease-in-out ${d}ms infinite`)
1633
+ }));
1634
+ }
1635
+ static {
1636
+ setComponentTemplate(templateFactory({
1637
+ "id": "XGfkly0n",
1638
+ "block": "[[[11,1],[24,0,\"pretui-loading\"],[24,\"role\",\"status\"],[24,\"data-test-pretui-loading-state\",\"\"],[17,1],[24,\"data-scopedcss-cae5827e83-74a3a9dccc\",\"\"],[12],[1,\"\\n \"],[10,1],[14,\"aria-hidden\",\"true\"],[14,0,\"pretui-pixelgrid\"],[14,\"data-scopedcss-cae5827e83-74a3a9dccc\",\"\"],[12],[1,\"\\n\"],[42,[28,[31,1],[[28,[31,1],[[30,0,[\"pixels\"]]],null]],null],null,[[[1,\" \"],[10,1],[14,0,\"pretui-pixel\"],[15,\"data-round\",[52,[30,2,[\"round\"]],\"true\"]],[15,5,[30,2,[\"style\"]]],[14,\"data-scopedcss-cae5827e83-74a3a9dccc\",\"\"],[12],[13],[1,\"\\n\"]],[2]],null],[1,\" \"],[13],[1,\"\\n \"],[10,1],[14,0,\"pretui-shimmer-label\"],[14,\"data-scopedcss-cae5827e83-74a3a9dccc\",\"\"],[12],[1,[30,0,[\"label\"]]],[13],[1,\"\\n \"],[41,[30,3],[[[10,1],[14,0,\"pretui-elapsed\"],[14,\"data-scopedcss-cae5827e83-74a3a9dccc\",\"\"],[12],[1,[30,3]],[13]],[]],null],[1,\"\\n\"],[13],[1,\"\\n\"]],[\"&attrs\",\"p\",\"@elapsed\"],[\"each\",\"-track-array\",\"if\"]]",
1639
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/loading-state.gts",
1640
+ "isStrictMode": true
1641
+ }), this);
1642
+ }
1643
+ };
1644
+ //#endregion
1645
+ //#region ../pretui/components/scroller.gts
1646
+ /**
1647
+ * Maintains the four edge facts as DATA ATTRIBUTES on the viewport, and
1648
+ * makes the viewport keyboard-reachable exactly when it actually scrolls.
1649
+ *
1650
+ * Written as attributes rather than tracked state on purpose: a scroll
1651
+ * listener that writes tracked state re-renders the component on every
1652
+ * frame of a flick. These attributes are read only by CSS, so the whole
1653
+ * affordance costs one `setAttribute` and no render at all.
1654
+ *
1655
+ * `tabindex` is managed here too. A scroll container that a mouse user can
1656
+ * reach and a keyboard user cannot is a keyboard trap in reverse — the
1657
+ * content is simply unreachable. Chromium and Firefox have started making
1658
+ * scrollers focusable natively; this keeps the guarantee everywhere, and
1659
+ * REMOVES the tab stop again when the content shrinks and no longer
1660
+ * overflows, which is the part native focusable-scrollers gets right and
1661
+ * hand-rolled `tabindex='0'` does not.
1662
+ */
1663
+ var scrollEdges = modifier((element, [orientation]) => {
1664
+ let update = () => {
1665
+ let horizontal = orientation !== "vertical";
1666
+ let vertical = orientation !== "horizontal";
1667
+ let overflowX = element.scrollWidth - element.clientWidth > 1;
1668
+ let overflowY = element.scrollHeight - element.clientHeight > 1;
1669
+ let left = Math.abs(element.scrollLeft);
1670
+ element.dataset["startX"] = horizontal && overflowX && left > 1 ? "clipped" : "flush";
1671
+ element.dataset["endX"] = horizontal && overflowX && left < element.scrollWidth - element.clientWidth - 1 ? "clipped" : "flush";
1672
+ element.dataset["startY"] = vertical && overflowY && element.scrollTop > 1 ? "clipped" : "flush";
1673
+ element.dataset["endY"] = vertical && overflowY && element.scrollTop < element.scrollHeight - element.clientHeight - 1 ? "clipped" : "flush";
1674
+ if (horizontal && overflowX || vertical && overflowY) {
1675
+ if (element.getAttribute("tabindex") === null) element.setAttribute("tabindex", "0");
1676
+ } else if (element.getAttribute("tabindex") === "0") element.removeAttribute("tabindex");
1677
+ };
1678
+ element.addEventListener("scroll", update, { passive: true });
1679
+ let frame;
1680
+ let schedule = () => {
1681
+ if (frame !== void 0) return;
1682
+ frame = requestAnimationFrame(() => {
1683
+ frame = void 0;
1684
+ update();
1685
+ });
1686
+ };
1687
+ let observer = new ResizeObserver(schedule);
1688
+ let observeChildren = () => {
1689
+ for (let child of Array.from(element.children)) observer.observe(child);
1690
+ };
1691
+ observer.observe(element);
1692
+ observeChildren();
1693
+ let mutations = new MutationObserver(() => {
1694
+ observeChildren();
1695
+ schedule();
1696
+ });
1697
+ mutations.observe(element, {
1698
+ childList: true,
1699
+ subtree: true,
1700
+ characterData: true
1701
+ });
1702
+ update();
1703
+ return () => {
1704
+ element.removeEventListener("scroll", update);
1705
+ observer.disconnect();
1706
+ mutations.disconnect();
1707
+ if (frame !== void 0) cancelAnimationFrame(frame);
1708
+ };
1709
+ });
1710
+ /**
1711
+ * A scroll container that says when it is clipped.
1712
+ *
1713
+ * ```hbs
1714
+ * <Scroller @label='Recent lots' @orientation='horizontal'>
1715
+ * <div class='row'>…</div>
1716
+ * </Scroller>
1717
+ * ```
1718
+ *
1719
+ * Better than the inspiration (`wa-scroller`): upstream ships one shadow
1720
+ * treatment, both axes always on, and no notion of whether the region is
1721
+ * reachable by keyboard. Here the axis is explicit, the treatment is a knob,
1722
+ * the tab stop appears and DISAPPEARS with the overflow, and the affordance
1723
+ * is driven by data attributes rather than by re-rendering on every scroll
1724
+ * frame.
1725
+ */
1726
+ var Scroller = class extends Component {
1727
+ get orientation() {
1728
+ return this.args.orientation ?? "horizontal";
1729
+ }
1730
+ get edge() {
1731
+ return this.args.edge ?? "fade";
1732
+ }
1733
+ get role() {
1734
+ return this.args.label ? "region" : void 0;
1735
+ }
1736
+ static {
1737
+ setComponentTemplate(templateFactory({
1738
+ "id": "dA5kczpk",
1739
+ "block": "[[[11,0],[24,0,\"pretui-scroller\"],[24,\"data-test-pretui-scroller\",\"\"],[16,\"data-edge\",[30,0,[\"edge\"]]],[17,1],[24,\"data-scopedcss-11ca330a13-f16dc4fa82\",\"\"],[12],[1,\"\\n \"],[11,0],[24,0,\"pretui-scroller-viewport\"],[16,\"data-orientation\",[30,0,[\"orientation\"]]],[16,\"data-hide-scrollbar\",[52,[30,2],\"true\"]],[16,\"role\",[30,0,[\"role\"]]],[16,\"aria-label\",[30,3]],[24,\"data-test-pretui-scroller-viewport\",\"\"],[24,\"data-scopedcss-11ca330a13-f16dc4fa82\",\"\"],[4,[32,0],[[30,0,[\"orientation\"]]],null],[12],[1,\"\\n \"],[18,4,null],[1,\"\\n \"],[13],[1,\"\\n\"],[1,\" \"],[10,1],[14,0,\"pretui-scroller-edge\"],[14,\"data-side\",\"start-x\"],[14,\"aria-hidden\",\"true\"],[14,\"data-scopedcss-11ca330a13-f16dc4fa82\",\"\"],[12],[13],[1,\"\\n \"],[10,1],[14,0,\"pretui-scroller-edge\"],[14,\"data-side\",\"end-x\"],[14,\"aria-hidden\",\"true\"],[14,\"data-scopedcss-11ca330a13-f16dc4fa82\",\"\"],[12],[13],[1,\"\\n \"],[10,1],[14,0,\"pretui-scroller-edge\"],[14,\"data-side\",\"start-y\"],[14,\"aria-hidden\",\"true\"],[14,\"data-scopedcss-11ca330a13-f16dc4fa82\",\"\"],[12],[13],[1,\"\\n \"],[10,1],[14,0,\"pretui-scroller-edge\"],[14,\"data-side\",\"end-y\"],[14,\"aria-hidden\",\"true\"],[14,\"data-scopedcss-11ca330a13-f16dc4fa82\",\"\"],[12],[13],[1,\"\\n\"],[13],[1,\"\\n\\n\"]],[\"&attrs\",\"@hideScrollbar\",\"@label\",\"&default\"],[\"if\",\"yield\"]]",
1740
+ "moduleName": "/home/runner/work/boxel/boxel/packages/pretui/components/scroller.gts",
1741
+ "scope": () => [scrollEdges],
1742
+ "isStrictMode": true
1743
+ }), this);
1744
+ }
1745
+ };
1746
+ //#endregion
1747
+ //#region app/components/operator-mode/workspace-chooser/manage-catalogs.gts
1748
+ var ManageCatalogsModal = class extends Component {
1749
+ static {
1750
+ decorateFieldV2(this.prototype, "matrixService", [service]);
1751
+ }
1752
+ #matrixService = (initializeDeferredDecorator(this, "matrixService"), void 0);
1753
+ static {
1754
+ decorateFieldV2(this.prototype, "realmServer", [service]);
1755
+ }
1756
+ #realmServer = (initializeDeferredDecorator(this, "realmServer"), void 0);
1757
+ static {
1758
+ decorateFieldV2(this.prototype, "choices", [tracked$1], function() {
1759
+ return null;
1760
+ });
1761
+ }
1762
+ #choices = (initializeDeferredDecorator(this, "choices"), void 0);
1763
+ static {
1764
+ decorateFieldV2(this.prototype, "loadError", [tracked$1], function() {
1765
+ return null;
1766
+ });
1767
+ }
1768
+ #loadError = (initializeDeferredDecorator(this, "loadError"), void 0);
1769
+ static {
1770
+ decorateFieldV2(this.prototype, "selected", [tracked$1]);
1771
+ }
1772
+ #selected = (initializeDeferredDecorator(this, "selected"), void 0);
1773
+ static {
1774
+ decorateFieldV2(this.prototype, "saveError", [tracked$1], function() {
1775
+ return null;
1776
+ });
1777
+ }
1778
+ #saveError = (initializeDeferredDecorator(this, "saveError"), void 0);
1779
+ constructor(owner, args) {
1780
+ super(owner, args);
1781
+ this.selected = this.realmServer.userCatalogPicks;
1782
+ this.loadChoices.perform();
1783
+ }
1784
+ get listedElsewhere() {
1785
+ return new Set([
1786
+ baseRealm.url,
1787
+ ...this.realmServer.catalogRealmIdentifiers,
1788
+ ...this.realmServer.userRealmIdentifiers
1789
+ ]);
1790
+ }
1791
+ loadChoices = buildTask(() => ({
1792
+ context: this,
1793
+ generator: function* () {
1794
+ this.loadError = null;
1795
+ try {
1796
+ let listedElsewhere = this.listedElsewhere;
1797
+ let realms = yield this.realmServer.fetchPublicRealms();
1798
+ this.choices = realms.filter(({ url }) => !listedElsewhere.has(url)).sort((a, b) => displayName(a).localeCompare(displayName(b)));
1799
+ } catch (e) {
1800
+ this.loadError = e.message;
1801
+ }
1802
+ }
1803
+ }), null, "loadChoices", "restartable");
1804
+ save = buildTask(() => ({
1805
+ context: this,
1806
+ generator: function* () {
1807
+ this.saveError = null;
1808
+ try {
1809
+ let selected = new Set(this.selected);
1810
+ let listedElsewhere = this.listedElsewhere;
1811
+ let kept = this.realmServer.userCatalogPicks.filter((url) => listedElsewhere.has(url));
1812
+ let chosen = (this.choices ?? []).map(({ url }) => url).filter((url) => selected.has(url));
1813
+ yield this.matrixService.setUserCatalogRealms([...new Set([...kept, ...chosen])]);
1814
+ this.args.onClose();
1815
+ } catch (e) {
1816
+ this.saveError = e.message;
1817
+ }
1818
+ }
1819
+ }), null, "save", null);
1820
+ rowKey = (realm) => realm.url;
1821
+ rowLabel = (realm) => displayName(realm);
1822
+ iconSrc = (realm) => realm.iconURL ?? void 0;
1823
+ setSelected = (keys) => {
1824
+ this.selected = keys.map(String);
1825
+ };
1826
+ toggle = (realm) => {
1827
+ this.selected = this.selected.includes(realm.url) ? this.selected.filter((url) => url !== realm.url) : [...this.selected, realm.url];
1828
+ };
1829
+ get rows() {
1830
+ return this.choices ?? [];
1831
+ }
1832
+ get isSaveDisabled() {
1833
+ return this.choices === null;
1834
+ }
1835
+ static {
1836
+ setComponentTemplate(templateFactory({
1837
+ "id": "zB1X89v7",
1838
+ "block": "[[[8,[32,0],[[24,0,\"manage-catalogs-dialog\"],[24,\"data-test-manage-catalogs-modal\",\"\"],[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"]],[[\"@open\",\"@onClose\",\"@label\",\"@size\"],[true,[30,1],\"Choose Catalogs\",\"m\"]],[[\"title\",\"default\",\"footer\"],[[[[1,\"Choose Catalogs\"]],[]],[[[1,\"\\n \"],[10,2],[14,0,\"intro\"],[14,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"],[12],[1,\"\\n Choose public realms to show in your Catalogs section.\\n \"],[13],[1,\"\\n\"],[41,[30,0,[\"loadChoices\",\"isRunning\"]],[[[1,\" \"],[8,[32,1],[[24,0,\"loading\"],[24,\"data-test-public-realms-loading\",\"\"],[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"]],[[\"@label\"],[\"Loading public realms\"]],null],[1,\"\\n\"]],[]],[[[41,[30,0,[\"loadError\"]],[[[1,\" \"],[8,[32,2],[[24,\"data-test-manage-catalogs-error\",\"\"],[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"]],[[\"@tone\",\"@title\"],[\"danger\",\"Couldn't load the public realms\"]],[[\"default\"],[[[[1,\"\\n \"],[1,[30,0,[\"loadError\"]]],[1,\"\\n \"]],[]]]]],[1,\"\\n\"]],[]],[[[1,\" \"],[10,0],[14,0,\"realm-list-frame\"],[14,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"],[12],[1,\"\\n \"],[8,[32,3],[[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"]],[[\"@orientation\"],[\"vertical\"]],[[\"default\"],[[[[1,\"\\n \"],[8,[32,4],[[24,\"data-test-public-realm-list\",\"\"],[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"]],[[\"@items\",\"@key\",\"@rowLabel\",\"@label\",\"@selectionMode\",\"@selected\",\"@onSelectionChange\",\"@onActivate\",\"@itemNoun\",\"@emptyTitle\",\"@emptyMessage\"],[[30,0,[\"rows\"]],[30,0,[\"rowKey\"]],[30,0,[\"rowLabel\"]],\"Public realms\",\"multi\",[30,0,[\"selected\"]],[30,0,[\"setSelected\"]],[30,0,[\"toggle\"]],\"realm\",\"Nothing more to add\",\"Every public realm is already in your Catalogs or Your Workspaces.\"]],[[\"item\"],[[[[1,\"\\n \"],[8,[32,5],[[16,\"data-test-public-realm\",[30,2,[\"url\"]]],[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"]],[[\"@title\",\"@description\"],[[28,[32,6],[[30,2]],null],[30,2,[\"url\"]]]],[[\"leading\"],[[[[1,\"\\n \"],[10,1],[14,0,\"realm-icon\"],[14,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"],[12],[1,\"\\n \"],[8,[32,7],[[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"]],[[\"@name\",\"@src\",\"@size\"],[[28,[32,6],[[30,2]],null],[28,[30,0,[\"iconSrc\"]],[[30,2]],null],32]],null],[1,\"\\n \"],[13],[1,\"\\n \"]],[]]]]],[1,\"\\n \"]],[2]]]]],[1,\"\\n \"]],[]]]]],[1,\"\\n \"],[13],[1,\"\\n \"]],[]]]],[]]],[41,[30,0,[\"saveError\"]],[[[1,\" \"],[8,[32,2],[[24,\"data-test-manage-catalogs-error\",\"\"],[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"]],[[\"@tone\",\"@title\"],[\"danger\",\"Couldn't save your catalogs\"]],[[\"default\"],[[[[1,\"\\n \"],[1,[30,0,[\"saveError\"]]],[1,\"\\n \"]],[]]]]],[1,\"\\n\"]],[]],null],[1,\" \"]],[]],[[[1,\"\\n \"],[8,[32,8],[[24,\"data-test-cancel-manage-catalogs\",\"\"],[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"],[4,[32,9],[\"click\",[30,1]],null]],[[\"@variant\"],[\"secondary\"]],[[\"default\"],[[[[1,\"\\n Cancel\\n \"]],[]]]]],[1,\"\\n \"],[8,[32,8],[[24,\"data-test-save-manage-catalogs\",\"\"],[24,\"data-scopedcss-9c42952c7e-0aadf83a58\",\"\"],[4,[32,9],[\"click\",[28,[32,10],[[30,0,[\"save\"]]],null]],null]],[[\"@variant\",\"@busy\",\"@disabled\"],[\"primary\",[30,0,[\"save\",\"isRunning\"]],[30,0,[\"isSaveDisabled\"]]]],[[\"default\"],[[[[1,\"\\n Save\\n \"]],[]]]]],[1,\"\\n \"]],[]]]]],[1,\"\\n\"]],[\"@onClose\",\"realm\"],[\"if\"]]",
1839
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/app/components/operator-mode/workspace-chooser/manage-catalogs.gts",
1840
+ "scope": () => [
1841
+ Dialog,
1842
+ LoadingState,
1843
+ Alert,
1844
+ Scroller,
1845
+ List,
1846
+ Item,
1847
+ displayName,
1848
+ Avatar,
1849
+ Button,
1850
+ on,
1851
+ perform
1852
+ ],
1853
+ "isStrictMode": true
1854
+ }), this);
1855
+ }
1856
+ };
1857
+ function displayName(realm) {
1858
+ return realm.name ?? realm.url;
1859
+ }
1860
+ var ManageCatalogs = class extends Component {
1861
+ static {
1862
+ decorateFieldV2(this.prototype, "isModalOpen", [tracked$1], function() {
1863
+ return false;
1864
+ });
1865
+ }
1866
+ #isModalOpen = (initializeDeferredDecorator(this, "isModalOpen"), void 0);
1867
+ setIsModalOpen = (value) => {
1868
+ this.isModalOpen = value;
1869
+ };
1870
+ static {
1871
+ setComponentTemplate(templateFactory({
1872
+ "id": "heFE9ojb",
1873
+ "block": "[[[10,1],[14,0,\"manage-catalogs\"],[14,\"data-scopedcss-9c42952c7e-bfb1490ce6\",\"\"],[12],[1,\"\\n \"],[8,[32,0],[[24,\"data-test-manage-catalogs\",\"\"],[24,\"data-scopedcss-9c42952c7e-bfb1490ce6\",\"\"],[4,[32,2],[\"click\",[28,[32,3],[[30,0,[\"setIsModalOpen\"]],true],null]],null]],[[\"@label\",\"@icon\",\"@iconWidth\",\"@iconHeight\",\"@variant\",\"@size\"],[\"Choose catalogs\",[32,1],\"16\",\"16\",\"ghost\",\"s\"]],null],[1,\"\\n\"],[13],[1,\"\\n\"],[41,[30,0,[\"isModalOpen\"]],[[[1,\" \"],[8,[32,4],[[24,\"data-scopedcss-9c42952c7e-bfb1490ce6\",\"\"]],[[\"@onClose\"],[[28,[32,3],[[30,0,[\"setIsModalOpen\"]],false],null]]],null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
1874
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/app/components/operator-mode/workspace-chooser/manage-catalogs.gts",
1875
+ "scope": () => [
1876
+ IconButton,
1877
+ IconComponent$14,
1878
+ on,
1879
+ fn,
1880
+ ManageCatalogsModal
1881
+ ],
1882
+ "isStrictMode": true
1883
+ }), this);
1884
+ }
1885
+ };
1886
+ //#endregion
1887
+ //#region app/components/operator-mode/workspace-chooser/index.gts
1888
+ function leadWith(urls, first) {
1889
+ let index = first ? urls.indexOf(first) : -1;
1890
+ if (index <= 0) return urls;
1891
+ return [
1892
+ urls[index],
1893
+ ...urls.slice(0, index),
1894
+ ...urls.slice(index + 1)
1895
+ ];
1896
+ }
1897
+ var log = logger("component:workspace-chooser");
1898
+ var WorkspaceChooser = class extends Component {
1899
+ static {
1900
+ decorateFieldV2(this.prototype, "matrixService", [service]);
1901
+ }
1902
+ #matrixService = (initializeDeferredDecorator(this, "matrixService"), void 0);
1903
+ static {
1904
+ decorateFieldV2(this.prototype, "realmServer", [service]);
1905
+ }
1906
+ #realmServer = (initializeDeferredDecorator(this, "realmServer"), void 0);
1907
+ static {
1908
+ decorateFieldV2(this.prototype, "realm", [service]);
1909
+ }
1910
+ #realm = (initializeDeferredDecorator(this, "realm"), void 0);
1911
+ static {
1912
+ decorateFieldV2(this.prototype, "isArchivedExpanded", [tracked$1], function() {
1913
+ return false;
1914
+ });
1915
+ }
1916
+ #isArchivedExpanded = (initializeDeferredDecorator(this, "isArchivedExpanded"), void 0);
1917
+ get archivedRealms() {
1918
+ return this.realmServer.archivedRealms;
1919
+ }
1920
+ get unreachableRealmServers() {
1921
+ return this.realmServer.unreachableRealmServers;
1922
+ }
1923
+ get unreachableRealmServersMessage() {
1924
+ let reason = `Couldn’t reach ${this.unreachableRealmServers.map((serverURL) => {
1925
+ try {
1926
+ return new URL(serverURL).host;
1927
+ } catch {
1928
+ return serverURL;
1929
+ }
1930
+ }).join(", ")}. Some workspaces may be missing`;
1931
+ return this.isRetryingUnreachableRealmServers ? `${reason} — retrying…` : `${reason} — reload to try again.`;
1932
+ }
1933
+ get isRetryingUnreachableRealmServers() {
1934
+ return this.matrixService.isRetryingUnreachableRealmServers;
1935
+ }
1936
+ get unreachableNoticeIcon() {
1937
+ return this.isRetryingUnreachableRealmServers ? IconComponent$5 : IconComponent$6;
1938
+ }
1939
+ get showArchivedCount() {
1940
+ return Boolean(this.loadArchivedRealmsTask.lastSuccessful) || this.archivedRealms.length > 0;
1941
+ }
1942
+ loadArchivedRealmsTask = buildTask(() => ({
1943
+ context: this,
1944
+ generator: function* () {
1945
+ yield this.realmServer.fetchArchivedRealms();
1946
+ }
1947
+ }), null, "loadArchivedRealmsTask", "drop");
1948
+ toggleArchived() {
1949
+ this.isArchivedExpanded = !this.isArchivedExpanded;
1950
+ if (this.isArchivedExpanded && !this.loadArchivedRealmsTask.lastSuccessful && !this.loadArchivedRealmsTask.isRunning) this.loadArchivedRealmsTask.perform().catch((error) => {
1951
+ if (didCancel(error)) return;
1952
+ log.warn(`loading archived realms failed: ${error}`);
1953
+ });
1954
+ }
1955
+ static {
1956
+ decorateMethodV2(this.prototype, "toggleArchived", [action]);
1957
+ }
1958
+ sortOptions = [{
1959
+ label: "View All",
1960
+ icon: IconComponent$2,
1961
+ value: "default"
1962
+ }, {
1963
+ label: "Hosted Only",
1964
+ icon: IconComponent$12,
1965
+ value: "hosted-only"
1966
+ }];
1967
+ static {
1968
+ decorateFieldV2(this.prototype, "selectedSortOption", [tracked$1], function() {
1969
+ return this.sortOptions[0];
1970
+ });
1971
+ }
1972
+ #selectedSortOption = (initializeDeferredDecorator(this, "selectedSortOption"), void 0);
1973
+ onSortChange(option) {
1974
+ if (!option) return;
1975
+ this.selectedSortOption = option;
1976
+ }
1977
+ static {
1978
+ decorateMethodV2(this.prototype, "onSortChange", [action]);
1979
+ }
1980
+ get sortOrder() {
1981
+ return this.selectedSortOption.value;
1982
+ }
1983
+ get communityRealmIdentifiers() {
1984
+ let realmURLs = this.realmServer.displayedCatalogRealmIdentifiers ?? [];
1985
+ if (config.environment !== "production") return realmURLs;
1986
+ return realmURLs.filter((realmURL) => !realmURL.includes("/boxel-homepage/"));
1987
+ }
1988
+ isHosted = (url) => {
1989
+ let info = this.realm.info(url);
1990
+ return !!(info.lastPublishedAt && typeof info.lastPublishedAt === "object" && Object.keys(info.lastPublishedAt).length > 0);
1991
+ };
1992
+ filterByHosted(urls) {
1993
+ if (this.sortOrder === "hosted-only") return urls.filter(this.isHosted);
1994
+ return urls;
1995
+ }
1996
+ sortByCreatedAtDesc = (urls) => {
1997
+ return [...urls].sort((a, b) => {
1998
+ let aCreatedAt = this.realm.info(a).createdAt;
1999
+ let bCreatedAt = this.realm.info(b).createdAt;
2000
+ if (!aCreatedAt && !bCreatedAt) return 0;
2001
+ if (!aCreatedAt) return 1;
2002
+ if (!bCreatedAt) return -1;
2003
+ return new Date(bCreatedAt).getTime() - new Date(aCreatedAt).getTime();
2004
+ });
2005
+ };
2006
+ get filteredUserRealmIdentifiers() {
2007
+ return this.filterByHosted(this.realmServer.userRealmIdentifiers);
2008
+ }
2009
+ get filteredCatalogRealmIdentifiers() {
2010
+ return this.filterByHosted(leadWith(this.sortByCreatedAtDesc(this.communityRealmIdentifiers), catalogRealmURL));
2011
+ }
2012
+ get favoriteRealmIdentifiers() {
2013
+ let favorites = this.matrixService.workspaceFavorites;
2014
+ let allURLs = new Set([...this.realmServer.userRealmIdentifiers, ...this.realmServer.displayedCatalogRealmIdentifiers ?? []]);
2015
+ let filtered = favorites.filter((url) => allURLs.has(url)).map(ri);
2016
+ return this.filterByHosted(filtered);
2017
+ }
2018
+ trackFavoriteCounts = modifier((_el, [urls, _revision]) => {
2019
+ if (urls) this.realm.loadIndexCounts(urls.split(" "));
2020
+ });
2021
+ get favoriteCountsKey() {
2022
+ return this.favoriteRealmIdentifiers.join(" ");
2023
+ }
2024
+ get userWorkspacesEmptyMessage() {
2025
+ if (this.sortOrder === "hosted-only" && this.filteredUserRealmIdentifiers.length === 0) return "No matching results";
2026
+ return null;
2027
+ }
2028
+ get catalogEmptyMessage() {
2029
+ if (this.filteredCatalogRealmIdentifiers.length > 0) return null;
2030
+ return this.sortOrder === "hosted-only" ? "No matching results" : "No catalogs yet. Add public realms with the gear.";
2031
+ }
2032
+ get favoritesEmptyMessage() {
2033
+ if (this.matrixService.workspaceFavorites.length === 0) return "You have no favorites yet";
2034
+ if (this.favoriteRealmIdentifiers.length === 0) return "No matching results";
2035
+ return null;
2036
+ }
2037
+ static {
2038
+ decorateFieldV2(this.prototype, "workspaceGridWidth", [tracked$1], function() {
2039
+ return 0;
2040
+ });
2041
+ }
2042
+ #workspaceGridWidth = (initializeDeferredDecorator(this, "workspaceGridWidth"), void 0);
2043
+ static {
2044
+ decorateFieldV2(this.prototype, "workspaceTileWidth", [tracked$1], function() {
2045
+ return 0;
2046
+ });
2047
+ }
2048
+ #workspaceTileWidth = (initializeDeferredDecorator(this, "workspaceTileWidth"), void 0);
2049
+ static {
2050
+ decorateFieldV2(this.prototype, "workspaceTileGap", [tracked$1], function() {
2051
+ return 0;
2052
+ });
2053
+ }
2054
+ #workspaceTileGap = (initializeDeferredDecorator(this, "workspaceTileGap"), void 0);
2055
+ get tilesPerRow() {
2056
+ if (!this.workspaceTileWidth) return 3;
2057
+ let perRow = Math.floor((this.workspaceGridWidth + this.workspaceTileGap) / (this.workspaceTileWidth + this.workspaceTileGap));
2058
+ return Math.max(1, perRow);
2059
+ }
2060
+ get favoritesSlotCount() {
2061
+ return Math.ceil(this.tilesPerRow / 2);
2062
+ }
2063
+ get favoritesSlotWidth() {
2064
+ if (!this.workspaceTileWidth) return null;
2065
+ let n = this.favoritesSlotCount;
2066
+ return (this.tilesPerRow * this.workspaceTileWidth + (this.tilesPerRow - 1) * this.workspaceTileGap - (n - 1) * this.workspaceTileGap) / n;
2067
+ }
2068
+ get favoritesTileWidthPx() {
2069
+ let width = this.favoritesSlotWidth;
2070
+ return width === null ? void 0 : `${width}px`;
2071
+ }
2072
+ measureWorkspaceGrid = modifier((el) => {
2073
+ let measure = () => {
2074
+ this.workspaceGridWidth = el.clientWidth;
2075
+ let tile = el.querySelector(".workspace-card button.workspace");
2076
+ if (tile) this.workspaceTileWidth = tile.getBoundingClientRect().width;
2077
+ let gap = parseFloat(getComputedStyle(el).columnGap);
2078
+ if (!Number.isNaN(gap)) this.workspaceTileGap = gap;
2079
+ };
2080
+ if (typeof ResizeObserver === "undefined") return;
2081
+ let ro = new ResizeObserver(measure);
2082
+ ro.observe(el);
2083
+ return () => ro.disconnect();
2084
+ });
2085
+ static {
2086
+ decorateFieldV2(this.prototype, "selectedIndex", [tracked$1], function() {
2087
+ return null;
2088
+ });
2089
+ }
2090
+ #selectedIndex = (initializeDeferredDecorator(this, "selectedIndex"), void 0);
2091
+ get favoritesCount() {
2092
+ return this.favoriteRealmIdentifiers.length;
2093
+ }
2094
+ get userWorkspacesCount() {
2095
+ return this.filteredUserRealmIdentifiers.length;
2096
+ }
2097
+ get isAddWorkspaceShown() {
2098
+ return !this.userWorkspacesEmptyMessage;
2099
+ }
2100
+ get renderedCatalogCount() {
2101
+ if (this.catalogEmptyMessage) return 0;
2102
+ return this.filteredCatalogRealmIdentifiers.length;
2103
+ }
2104
+ get addWorkspaceNavIndex() {
2105
+ return this.favoritesCount;
2106
+ }
2107
+ get userWorkspacesNavBase() {
2108
+ return this.favoritesCount + (this.isAddWorkspaceShown ? 1 : 0);
2109
+ }
2110
+ get catalogNavBase() {
2111
+ return this.userWorkspacesNavBase + this.userWorkspacesCount;
2112
+ }
2113
+ get selectableCount() {
2114
+ return this.catalogNavBase + this.renderedCatalogCount;
2115
+ }
2116
+ get defaultSelectedIndex() {
2117
+ if (this.favoritesCount > 0) return 0;
2118
+ if (this.userWorkspacesCount > 0) return this.userWorkspacesNavBase;
2119
+ if (this.renderedCatalogCount > 0) return this.catalogNavBase;
2120
+ return 0;
2121
+ }
2122
+ get currentIndex() {
2123
+ let count = this.selectableCount;
2124
+ if (count === 0) return 0;
2125
+ let index = this.selectedIndex ?? this.defaultSelectedIndex;
2126
+ return Math.min(Math.max(index, 0), count - 1);
2127
+ }
2128
+ get isSelectionActive() {
2129
+ return this.selectedIndex !== null;
2130
+ }
2131
+ onFocusIn(event) {
2132
+ let tile = event.target.closest("[data-nav-index]");
2133
+ if (!tile) return;
2134
+ let index = Number(tile.dataset.navIndex);
2135
+ if (!Number.isNaN(index) && index !== this.currentIndex) this.selectedIndex = index;
2136
+ }
2137
+ static {
2138
+ decorateMethodV2(this.prototype, "onFocusIn", [action]);
2139
+ }
2140
+ onKeydown(event) {
2141
+ let kbEvent = event;
2142
+ let container = kbEvent.currentTarget;
2143
+ let count = this.selectableCount;
2144
+ if (count === 0) return;
2145
+ if (!kbEvent.target.closest("[data-nav-index]")) return;
2146
+ switch (kbEvent.key) {
2147
+ case "ArrowRight":
2148
+ event.preventDefault();
2149
+ this.selectedIndex = Math.min(this.currentIndex + 1, count - 1);
2150
+ break;
2151
+ case "ArrowLeft":
2152
+ event.preventDefault();
2153
+ this.selectedIndex = Math.max(this.currentIndex - 1, 0);
2154
+ break;
2155
+ case "ArrowDown":
2156
+ event.preventDefault();
2157
+ this.moveVertically(container, 1);
2158
+ break;
2159
+ case "ArrowUp":
2160
+ event.preventDefault();
2161
+ this.moveVertically(container, -1);
2162
+ break;
2163
+ case "Enter": {
2164
+ event.preventDefault();
2165
+ event.stopPropagation();
2166
+ let selected = container.querySelector(`[data-nav-index='${this.currentIndex}']`);
2167
+ if (selected instanceof HTMLElement) selected.click();
2168
+ break;
2169
+ }
2170
+ }
2171
+ }
2172
+ static {
2173
+ decorateMethodV2(this.prototype, "onKeydown", [action]);
2174
+ }
2175
+ moveVertically(container, direction) {
2176
+ let tiles = [...container.querySelectorAll("[data-nav-index]")].map((element) => ({
2177
+ index: Number(element.dataset.navIndex),
2178
+ rect: element.getBoundingClientRect()
2179
+ }));
2180
+ let current = tiles.find((tile) => tile.index === this.currentIndex);
2181
+ if (!current) return;
2182
+ let currentCenterX = current.rect.left + current.rect.width / 2;
2183
+ let candidates = tiles.filter((tile) => direction === 1 ? tile.rect.top > current.rect.top + 1 : tile.rect.top < current.rect.top - 1);
2184
+ if (candidates.length === 0) return;
2185
+ let targetRowTop = direction === 1 ? Math.min(...candidates.map((tile) => tile.rect.top)) : Math.max(...candidates.map((tile) => tile.rect.top));
2186
+ let nearest = candidates.filter((tile) => Math.abs(tile.rect.top - targetRowTop) <= 1).reduce((closest, tile) => {
2187
+ let closestDx = Math.abs(closest.rect.left + closest.rect.width / 2 - currentCenterX);
2188
+ return Math.abs(tile.rect.left + tile.rect.width / 2 - currentCenterX) < closestDx ? tile : closest;
2189
+ });
2190
+ this.selectedIndex = nearest.index;
2191
+ }
2192
+ static {
2193
+ setComponentTemplate(templateFactory({
2194
+ "id": "v2Ww8hTY",
2195
+ "block": "[[[11,0],[24,0,\"workspace-chooser\"],[24,\"data-test-workspace-chooser\",\"\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[4,[32,0],[\"keydown\",[30,0,[\"onKeydown\"]]],null],[4,[32,0],[\"focusin\",[30,0,[\"onFocusIn\"]]],null],[12],[1,\"\\n\"],[41,[30,1],[[[40,[[[1,\" \"],[10,0],[14,0,\"sort-controls\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[8,[32,1],[[24,0,\"sort-select\"],[24,\"aria-label\",\"Filter workspaces\"],[24,\"data-test-sort-dropdown-trigger\",\"\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],[[\"@dropdownClass\",\"@options\",\"@selected\",\"@onChange\",\"@matchTriggerWidth\"],[\"workspace-chooser-sort-dropdown\",[30,0,[\"sortOptions\"]],[30,0,[\"selectedSortOption\"]],[30,0,[\"onSortChange\"]],false]],[[\"default\"],[[[[1,\"\\n \"],[8,[30,2,[\"icon\"]],[[24,\"width\",\"16\"],[24,\"height\",\"16\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n \"],[10,1],[14,0,\"sort-label\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,[30,2,[\"label\"]]],[13],[1,\"\\n \"]],[2]]]]],[1,\"\\n \"],[13],[1,\"\\n\"]],[]],\"%cursor:0%\",[28,[31,2],[[30,1]],null]]],[]],null],[1,\" \"],[10,0],[14,0,\"workspace-chooser__content boxel-dark-scrollbar\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n\"],[41,[30,0,[\"unreachableRealmServers\",\"length\"]],[[[1,\" \"],[10,0],[14,0,\"unreachable-notice\"],[14,\"role\",\"status\"],[14,\"data-test-unreachable-realm-servers-notice\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[8,[30,0,[\"unreachableNoticeIcon\"]],[[24,\"width\",\"20\"],[24,\"height\",\"20\"],[24,0,\"unreachable-notice-icon\"],[24,\"aria-hidden\",\"true\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n \"],[10,1],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,[30,0,[\"unreachableRealmServersMessage\"]]],[13],[1,\"\\n\"],[41,[30,0,[\"isRetryingUnreachableRealmServers\"]],[[[1,\" \"],[8,[32,2],[[24,0,\"unreachable-notice-spinner\"],[24,\"aria-hidden\",\"true\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],[[\"@color\",\"@size\"],[\"currentColor\",\"1.125rem\"]],null],[1,\"\\n\"]],[]],null],[1,\" \"],[13],[1,\"\\n\"]],[]],null],[1,\" \"],[10,0],[14,0,\"sections-wrapper\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[10,0],[14,0,\"workspace-section\"],[14,\"data-test-favorites-section\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[10,0],[14,0,\"section-header\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[8,[32,3],[[24,\"width\",\"20\"],[24,\"height\",\"20\"],[24,0,\"section-header-icon\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n \"],[10,1],[14,0,\"workspace-chooser__title\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"Favorites\"],[13],[1,\"\\n \"],[13],[1,\"\\n\"],[41,[30,0,[\"favoritesEmptyMessage\"]],[[[1,\" \"],[10,1],[14,0,\"section-empty\"],[14,\"data-test-favorites-empty\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,[30,0,[\"favoritesEmptyMessage\"]]],[13],[1,\"\\n\"]],[]],[[[1,\" \"],[11,0],[24,0,\"workspace-list\"],[24,\"data-test-favorites-list\",\"\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[4,[30,0,[\"trackFavoriteCounts\"]],[[30,0,[\"favoriteCountsKey\"]],[30,0,[\"realm\",\"indexCountsRevision\"]]],null],[12],[1,\"\\n\"],[42,[28,[31,4],[[28,[31,4],[[30,0,[\"favoriteRealmIdentifiers\"]]],null]],null],null,[[[1,\" \"],[8,[32,4],[[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],[[\"@realmIdentifier\",\"@navIndex\",\"@isSelected\",\"@selectionActive\",\"@isFavoritesSection\",\"@enlargedWidth\"],[[30,3],[30,4],[28,[32,5],[[30,0,[\"currentIndex\"]],[30,4]],null],[30,0,[\"isSelectionActive\"]],true,[30,0,[\"favoritesTileWidthPx\"]]]],null],[1,\"\\n\"]],[3,4]],null],[1,\" \"],[13],[1,\"\\n\"]],[]]],[1,\" \"],[13],[1,\"\\n \"],[10,0],[14,0,\"workspace-section\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[10,0],[14,0,\"section-header\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[8,[32,6],[[24,\"width\",\"20\"],[24,\"height\",\"20\"],[24,0,\"section-header-icon\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n \"],[10,1],[14,0,\"workspace-chooser__title\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"Your Workspaces\"],[13],[1,\"\\n \"],[13],[1,\"\\n\"],[41,[30,0,[\"userWorkspacesEmptyMessage\"]],[[[1,\" \"],[10,1],[14,0,\"section-empty\"],[14,\"data-test-workspaces-empty\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,[30,0,[\"userWorkspacesEmptyMessage\"]]],[13],[1,\"\\n\"]],[]],[[[1,\" \"],[11,0],[24,0,\"workspace-list\"],[24,\"data-test-workspace-list\",\"\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[4,[30,0,[\"measureWorkspaceGrid\"]],null,null],[12],[1,\"\\n \"],[8,[32,7],[[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],[[\"@navIndex\",\"@isSelected\"],[[30,0,[\"addWorkspaceNavIndex\"]],[28,[32,5],[[30,0,[\"currentIndex\"]],[30,0,[\"addWorkspaceNavIndex\"]]],null]]],null],[1,\"\\n\"],[41,[30,0,[\"matrixService\",\"isInitializingNewUser\"]],[[[1,\" \"],[8,[32,8],[[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n\"]],[]],null],[42,[28,[31,4],[[28,[31,4],[[30,0,[\"filteredUserRealmIdentifiers\"]]],null]],null],null,[[[44,[[28,[32,9],[[30,0,[\"userWorkspacesNavBase\"]],[30,6]],null]],[[[1,\" \"],[8,[32,4],[[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],[[\"@realmIdentifier\",\"@showMenu\",\"@navIndex\",\"@isSelected\",\"@selectionActive\"],[[30,5],true,[30,7],[28,[32,5],[[30,0,[\"currentIndex\"]],[30,7]],null],[30,0,[\"isSelectionActive\"]]]],null],[1,\"\\n\"]],[7]]]],[5,6]],null],[1,\" \"],[13],[1,\"\\n\"]],[]]],[1,\" \"],[13],[1,\"\\n \"],[10,0],[14,0,\"workspace-section\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[10,0],[14,0,\"section-header\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[8,[32,10],[[24,\"width\",\"20\"],[24,\"height\",\"20\"],[24,0,\"section-header-icon\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n \"],[10,1],[14,0,\"workspace-chooser__title\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"Catalogs\"],[13],[1,\"\\n \"],[8,[32,11],[[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n \"],[13],[1,\"\\n\"],[41,[30,0,[\"catalogEmptyMessage\"]],[[[1,\" \"],[10,1],[14,0,\"section-empty\"],[14,\"data-test-catalog-empty\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,[30,0,[\"catalogEmptyMessage\"]]],[13],[1,\"\\n\"]],[]],[[[1,\" \"],[10,0],[14,0,\"workspace-list\"],[14,\"data-test-catalog-list\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n\"],[42,[28,[31,4],[[28,[31,4],[[30,0,[\"filteredCatalogRealmIdentifiers\"]]],null]],null],null,[[[44,[[28,[32,9],[[30,0,[\"catalogNavBase\"]],[30,9]],null]],[[[1,\" \"],[8,[32,4],[[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],[[\"@realmIdentifier\",\"@navIndex\",\"@isSelected\",\"@selectionActive\"],[[30,8],[30,10],[28,[32,5],[[30,0,[\"currentIndex\"]],[30,10]],null],[30,0,[\"isSelectionActive\"]]]],null],[1,\"\\n\"]],[10]]]],[8,9]],null],[1,\" \"],[13],[1,\"\\n\"]],[]]],[1,\" \"],[13],[1,\"\\n \"],[10,0],[14,0,\"workspace-section\"],[14,\"data-test-archived-section\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n \"],[11,\"button\"],[16,0,[29,[\"section-header section-header--toggle\\n \",[52,[30,0,[\"isArchivedExpanded\"]],\"is-expanded\"]]]],[16,\"aria-expanded\",[29,[[52,[30,0,[\"isArchivedExpanded\"]],\"true\",\"false\"]]]],[24,\"data-test-archived-toggle\",\"\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[24,4,\"button\"],[4,[32,0],[\"click\",[30,0,[\"toggleArchived\"]]],null],[12],[1,\"\\n \"],[8,[32,12],[[24,\"width\",\"12\"],[24,\"height\",\"12\"],[24,0,\"section-disclosure-icon\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n \"],[8,[32,13],[[24,\"width\",\"20\"],[24,\"height\",\"20\"],[24,0,\"section-header-icon\"],[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n \"],[10,1],[14,0,\"workspace-chooser__title\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"Archived\"],[13],[1,\"\\n\"],[41,[30,0,[\"showArchivedCount\"]],[[[1,\" \"],[10,1],[14,0,\"section-count\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,[30,0,[\"archivedRealms\",\"length\"]]],[13],[1,\"\\n\"]],[]],null],[1,\" \"],[13],[1,\"\\n\"],[41,[30,0,[\"isArchivedExpanded\"]],[[[41,[30,0,[\"loadArchivedRealmsTask\",\"isRunning\"]],[[[1,\" \"],[8,[32,8],[[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],null,null],[1,\"\\n\"]],[]],[[[41,[30,0,[\"archivedRealms\",\"length\"]],[[[1,\" \"],[10,0],[14,0,\"workspace-list\"],[14,\"data-test-archived-list\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n\"],[42,[28,[31,4],[[28,[31,4],[[30,0,[\"archivedRealms\"]]],null]],null],null,[[[1,\" \"],[8,[32,14],[[24,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"]],[[\"@archivedRealm\"],[[30,11]]],null],[1,\"\\n\"]],[11]],null],[1,\" \"],[13],[1,\"\\n\"]],[]],[[[1,\" \"],[10,1],[14,0,\"section-empty\"],[14,\"data-test-archived-empty\",\"\"],[14,\"data-scopedcss-d65ff592b2-89330100a6\",\"\"],[12],[1,\"\\n No archived workspaces\\n \"],[13],[1,\"\\n \"]],[]]]],[]]]],[]],null],[1,\" \"],[13],[1,\"\\n \"],[13],[1,\"\\n \"],[13],[1,\"\\n\"],[13],[1,\"\\n\"]],[\"@topBarCenterElement\",\"option\",\"realmIdentifier\",\"i\",\"realmIdentifier\",\"i\",\"navIndex\",\"realmIdentifier\",\"i\",\"navIndex\",\"archivedRealm\"],[\"if\",\"in-element\",\"-in-el-null\",\"each\",\"-track-array\",\"let\"]]",
2196
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/app/components/operator-mode/workspace-chooser/index.gts",
2197
+ "scope": () => [
2198
+ on,
2199
+ BoxelSelect,
2200
+ LoadingIndicator,
2201
+ IconComponent$7,
2202
+ Workspace,
2203
+ eq,
2204
+ IconComponent$8,
2205
+ AddWorkspace,
2206
+ WorkspaceLoadingIndicator,
2207
+ add,
2208
+ IconComponent$9,
2209
+ ManageCatalogs,
2210
+ IconComponent$10,
2211
+ IconComponent$11,
2212
+ ArchivedWorkspace
2213
+ ],
2214
+ "isStrictMode": true
2215
+ }), this);
2216
+ }
2217
+ };
2218
+ //#endregion
2219
+ export { leadWith as n, WorkspaceChooser as t };