@epic-web/workshop-app 6.7.0 → 6.8.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 (332) hide show
  1. package/build/client/assets/{_-RA5UCV6Y.js → _-CpCrf6jN.js} +2 -2
  2. package/build/client/assets/{_-RA5UCV6Y.js.map → _-CpCrf6jN.js.map} +1 -1
  3. package/build/client/assets/{_-G-R-Viwe.js → _-xwArvaaj.js} +2 -2
  4. package/build/client/assets/_-xwArvaaj.js.map +1 -0
  5. package/build/client/assets/{_basePickBy-BKcF0-AW.js → _basePickBy-B7DcKtP0.js} +2 -2
  6. package/build/client/assets/{_basePickBy-BKcF0-AW.js.map → _basePickBy-B7DcKtP0.js.map} +1 -1
  7. package/build/client/assets/{_baseUniq-BvklAPEW.js → _baseUniq-BkC-o_0f.js} +2 -2
  8. package/build/client/assets/{_baseUniq-BvklAPEW.js.map → _baseUniq-BkC-o_0f.js.map} +1 -1
  9. package/build/client/assets/{_exerciseNumber-CdjhOUH0.js → _exerciseNumber-Bb9Gd98i.js} +2 -2
  10. package/build/client/assets/{_exerciseNumber-CdjhOUH0.js.map → _exerciseNumber-Bb9Gd98i.js.map} +1 -1
  11. package/build/client/assets/{_exerciseNumber_._stepNumber-BdGagxnW.js → _exerciseNumber_._stepNumber-BsUtSwuL.js} +2 -2
  12. package/build/client/assets/{_exerciseNumber_._stepNumber-BdGagxnW.js.map → _exerciseNumber_._stepNumber-BsUtSwuL.js.map} +1 -1
  13. package/build/client/assets/_exerciseNumber_._stepNumber.index-D24AMDiw.js +2 -0
  14. package/build/client/assets/_exerciseNumber_._stepNumber.index-D24AMDiw.js.map +1 -0
  15. package/build/client/assets/{_exerciseNumber_.finished-DxKy11J1.js → _exerciseNumber_.finished-CU6TMubi.js} +2 -2
  16. package/build/client/assets/{_exerciseNumber_.finished-DxKy11J1.js.map → _exerciseNumber_.finished-CU6TMubi.js.map} +1 -1
  17. package/build/client/assets/{_layout-CJRZmnum.js → _layout-3e-ZYabs.js} +2 -2
  18. package/build/client/assets/{_layout-CJRZmnum.js.map → _layout-3e-ZYabs.js.map} +1 -1
  19. package/build/client/assets/{_layout-B8Gia3Nl.js → _layout-BC22zIgv.js} +2 -2
  20. package/build/client/assets/{_layout-B8Gia3Nl.js.map → _layout-BC22zIgv.js.map} +1 -1
  21. package/build/client/assets/_layout-DmtIXA1L.js +2 -0
  22. package/build/client/assets/{_layout-BcnIEBgy.js.map → _layout-DmtIXA1L.js.map} +1 -1
  23. package/build/client/assets/{_layout-DfZK3Orq.js → _layout-jWJDG9vA.js} +2 -2
  24. package/build/client/assets/{_layout-DfZK3Orq.js.map → _layout-jWJDG9vA.js.map} +1 -1
  25. package/build/client/assets/{accordion-BH7gGkbR.js → accordion-p0CQ5vm6.js} +2 -2
  26. package/build/client/assets/{accordion-BH7gGkbR.js.map → accordion-p0CQ5vm6.js.map} +1 -1
  27. package/build/client/assets/{account-CiGyCMzg.js → account-Bb1DvXib.js} +2 -2
  28. package/build/client/assets/{account-CiGyCMzg.js.map → account-Bb1DvXib.js.map} +1 -1
  29. package/build/client/assets/api._-D24AMDiw.js +2 -0
  30. package/build/client/assets/api._-D24AMDiw.js.map +1 -0
  31. package/build/client/assets/app-8oRDKBXF.js +2 -0
  32. package/build/client/assets/{app-CyTiXW7M.js.map → app-8oRDKBXF.js.map} +1 -1
  33. package/build/client/assets/app.epic_ws_.js_-D24AMDiw.js +2 -0
  34. package/build/client/assets/app.epic_ws_.js_-D24AMDiw.js.map +1 -0
  35. package/build/client/assets/apps-Bnfc6_HV.js +2 -0
  36. package/build/client/assets/apps-Bnfc6_HV.js.map +1 -0
  37. package/build/client/assets/apps-D24AMDiw.js +2 -0
  38. package/build/client/assets/apps-D24AMDiw.js.map +1 -0
  39. package/build/client/assets/{arc-DAs-semv.js → arc-C79k_FRJ.js} +2 -2
  40. package/build/client/assets/{arc-DAs-semv.js.map → arc-C79k_FRJ.js.map} +1 -1
  41. package/build/client/assets/{architectureDiagram-NQ2NVSRB-BR5U6n0X.js → architectureDiagram-NQ2NVSRB-DFqdtQx5.js} +2 -2
  42. package/build/client/assets/{architectureDiagram-NQ2NVSRB-BR5U6n0X.js.map → architectureDiagram-NQ2NVSRB-DFqdtQx5.js.map} +1 -1
  43. package/build/client/assets/{blockDiagram-PHRCVELO-BwrQ8LT8.js → blockDiagram-PHRCVELO-CLDGwP3s.js} +2 -2
  44. package/build/client/assets/{blockDiagram-PHRCVELO-BwrQ8LT8.js.map → blockDiagram-PHRCVELO-CLDGwP3s.js.map} +1 -1
  45. package/build/client/assets/{button-Cd-BxHRD.js → button-Ch7Uop3u.js} +2 -2
  46. package/build/client/assets/{button-Cd-BxHRD.js.map → button-Ch7Uop3u.js.map} +1 -1
  47. package/build/client/assets/{c4Diagram-6F6E4RAY-BrsPZoIx.js → c4Diagram-6F6E4RAY-BBQCk9TU.js} +2 -2
  48. package/build/client/assets/{c4Diagram-6F6E4RAY-BrsPZoIx.js.map → c4Diagram-6F6E4RAY-BBQCk9TU.js.map} +1 -1
  49. package/build/client/assets/cache-D24AMDiw.js +2 -0
  50. package/build/client/assets/cache-D24AMDiw.js.map +1 -0
  51. package/build/client/assets/channel-DG6YfMAU.js +2 -0
  52. package/build/client/assets/{channel-CMZAdn9l.js.map → channel-DG6YfMAU.js.map} +1 -1
  53. package/build/client/assets/{chunk-353BL4L5-BVlvTrcL.js → chunk-353BL4L5-DbswLswh.js} +2 -2
  54. package/build/client/assets/{chunk-353BL4L5-BVlvTrcL.js.map → chunk-353BL4L5-DbswLswh.js.map} +1 -1
  55. package/build/client/assets/{chunk-67H74DCK-CacQOfzi.js → chunk-67H74DCK-ClAoZs1x.js} +2 -2
  56. package/build/client/assets/{chunk-67H74DCK-CacQOfzi.js.map → chunk-67H74DCK-ClAoZs1x.js.map} +1 -1
  57. package/build/client/assets/{chunk-6OLS64BW-B-F2XJNy.js → chunk-6OLS64BW-DvnZyBw-.js} +2 -2
  58. package/build/client/assets/{chunk-6OLS64BW-B-F2XJNy.js.map → chunk-6OLS64BW-DvnZyBw-.js.map} +1 -1
  59. package/build/client/assets/{chunk-AACKK3MU-B8RHGQsd.js → chunk-AACKK3MU-CJR9qwY4.js} +2 -2
  60. package/build/client/assets/{chunk-AACKK3MU-B8RHGQsd.js.map → chunk-AACKK3MU-CJR9qwY4.js.map} +1 -1
  61. package/build/client/assets/{chunk-BFAMUDN2-Bcqf7zB7.js → chunk-BFAMUDN2-CbeFS58Y.js} +2 -2
  62. package/build/client/assets/{chunk-BFAMUDN2-Bcqf7zB7.js.map → chunk-BFAMUDN2-CbeFS58Y.js.map} +1 -1
  63. package/build/client/assets/{chunk-E2GYISFI-By4dq5cZ.js → chunk-E2GYISFI-BJqsMg78.js} +2 -2
  64. package/build/client/assets/{chunk-E2GYISFI-By4dq5cZ.js.map → chunk-E2GYISFI-BJqsMg78.js.map} +1 -1
  65. package/build/client/assets/{chunk-QEP2MXWD-D_ha-vhV.js → chunk-QEP2MXWD-23t0J6EI.js} +2 -2
  66. package/build/client/assets/{chunk-QEP2MXWD-D_ha-vhV.js.map → chunk-QEP2MXWD-23t0J6EI.js.map} +1 -1
  67. package/build/client/assets/{chunk-QMGIS6GS-BqoFcGjf.js → chunk-QMGIS6GS-BuHkd1At.js} +2 -2
  68. package/build/client/assets/{chunk-QMGIS6GS-BqoFcGjf.js.map → chunk-QMGIS6GS-BuHkd1At.js.map} +1 -1
  69. package/build/client/assets/{chunk-SKB7J2MH-DCg2gmVH.js → chunk-SKB7J2MH-CKQSqbrc.js} +2 -2
  70. package/build/client/assets/{chunk-SKB7J2MH-DCg2gmVH.js.map → chunk-SKB7J2MH-CKQSqbrc.js.map} +1 -1
  71. package/build/client/assets/classDiagram-BGRH5UQR-DiAn8p5L.js +2 -0
  72. package/build/client/assets/{classDiagram-BGRH5UQR-Duht50N4.js.map → classDiagram-BGRH5UQR-DiAn8p5L.js.map} +1 -1
  73. package/build/client/assets/classDiagram-v2-O24JOBDK-DiAn8p5L.js +2 -0
  74. package/build/client/assets/{classDiagram-v2-O24JOBDK-Duht50N4.js.map → classDiagram-v2-O24JOBDK-DiAn8p5L.js.map} +1 -1
  75. package/build/client/assets/clone-YGwK7Wtx.js +2 -0
  76. package/build/client/assets/{clone-SIOB8anM.js.map → clone-YGwK7Wtx.js.map} +1 -1
  77. package/build/client/assets/{dagre-FFZHY6LT-Bb4rJLl5.js → dagre-FFZHY6LT-B8nDZnfR.js} +2 -2
  78. package/build/client/assets/{dagre-FFZHY6LT-Bb4rJLl5.js.map → dagre-FFZHY6LT-B8nDZnfR.js.map} +1 -1
  79. package/build/client/assets/{diagram-3EMPZRKU-Fu_J2nFi.js → diagram-3EMPZRKU-JJhQJJTe.js} +2 -2
  80. package/build/client/assets/{diagram-3EMPZRKU-Fu_J2nFi.js.map → diagram-3EMPZRKU-JJhQJJTe.js.map} +1 -1
  81. package/build/client/assets/{diagram-5UYTHUR4-DpN_D4Sp.js → diagram-5UYTHUR4-Bih2JB8a.js} +2 -2
  82. package/build/client/assets/{diagram-5UYTHUR4-DpN_D4Sp.js.map → diagram-5UYTHUR4-Bih2JB8a.js.map} +1 -1
  83. package/build/client/assets/{diagram-ZTM2IBQH-Btvn1JQN.js → diagram-ZTM2IBQH-OAysI3zq.js} +2 -2
  84. package/build/client/assets/{diagram-ZTM2IBQH-Btvn1JQN.js.map → diagram-ZTM2IBQH-OAysI3zq.js.map} +1 -1
  85. package/build/client/assets/{diff-CX9e6Tpo.js → diff-B4KLvJ8D.js} +2 -2
  86. package/build/client/assets/{diff-CX9e6Tpo.js.map → diff-B4KLvJ8D.js.map} +1 -1
  87. package/build/client/assets/diff-CazioZHu.js +2 -0
  88. package/build/client/assets/{diff-DlLAFLkx.js.map → diff-CazioZHu.js.map} +1 -1
  89. package/build/client/assets/discord-D6XANWj9.js +2 -0
  90. package/build/client/assets/discord-D6XANWj9.js.map +1 -0
  91. package/build/client/assets/{discord-Cm-rJhHt.js → discord-bx0FMRpb.js} +2 -2
  92. package/build/client/assets/{discord-Cm-rJhHt.js.map → discord-bx0FMRpb.js.map} +1 -1
  93. package/build/client/assets/{entry.client-DS-phTbK.js → entry.client-CWoOCekw.js} +2 -2
  94. package/build/client/assets/{entry.client-DS-phTbK.js.map → entry.client-CWoOCekw.js.map} +1 -1
  95. package/build/client/assets/{epic-video-B4JXxTHF.js → epic-video-wBXopVA9.js} +2 -2
  96. package/build/client/assets/{epic-video-B4JXxTHF.js.map → epic-video-wBXopVA9.js.map} +1 -1
  97. package/build/client/assets/epic_ws_.js_-D24AMDiw.js +2 -0
  98. package/build/client/assets/epic_ws_.js_-D24AMDiw.js.map +1 -0
  99. package/build/client/assets/{erDiagram-R3QVA2FD-ClvAyR7i.js → erDiagram-R3QVA2FD-B-Rgwgig.js} +2 -2
  100. package/build/client/assets/{erDiagram-R3QVA2FD-ClvAyR7i.js.map → erDiagram-R3QVA2FD-B-Rgwgig.js.map} +1 -1
  101. package/build/client/assets/{error-boundary-D_qLhpVo.js → error-boundary-Ya2xPEcG.js} +2 -2
  102. package/build/client/assets/{error-boundary-D_qLhpVo.js.map → error-boundary-Ya2xPEcG.js.map} +1 -1
  103. package/build/client/assets/exercises-D24AMDiw.js +2 -0
  104. package/build/client/assets/exercises-D24AMDiw.js.map +1 -0
  105. package/build/client/assets/{finished-CLqNCCNl.js → finished-DoQsRrQR.js} +2 -2
  106. package/build/client/assets/{finished-CLqNCCNl.js.map → finished-DoQsRrQR.js.map} +1 -1
  107. package/build/client/assets/{flowDiagram-PKI6S5ZS-BnSj5Mt5.js → flowDiagram-PKI6S5ZS-mTM9LaGi.js} +2 -2
  108. package/build/client/assets/{flowDiagram-PKI6S5ZS-BnSj5Mt5.js.map → flowDiagram-PKI6S5ZS-mTM9LaGi.js.map} +1 -1
  109. package/build/client/assets/{ganttDiagram-EK5VF46D-D_8KA0sL.js → ganttDiagram-EK5VF46D-CwuB084N.js} +2 -2
  110. package/build/client/assets/{ganttDiagram-EK5VF46D-D_8KA0sL.js.map → ganttDiagram-EK5VF46D-CwuB084N.js.map} +1 -1
  111. package/build/client/assets/{gitGraphDiagram-GW3U2K7C-BCDstkZh.js → gitGraphDiagram-GW3U2K7C-oon-ITXK.js} +2 -2
  112. package/build/client/assets/{gitGraphDiagram-GW3U2K7C-BCDstkZh.js.map → gitGraphDiagram-GW3U2K7C-oon-ITXK.js.map} +1 -1
  113. package/build/client/assets/{graph-B7uq4GCd.js → graph-nHnZ25qN.js} +2 -2
  114. package/build/client/assets/{graph-B7uq4GCd.js.map → graph-nHnZ25qN.js.map} +1 -1
  115. package/build/client/assets/healthcheck-D24AMDiw.js +2 -0
  116. package/build/client/assets/healthcheck-D24AMDiw.js.map +1 -0
  117. package/build/client/assets/{index-C4iAiEH3.js → index-BDjKpcj7.js} +2 -2
  118. package/build/client/assets/{index-C4iAiEH3.js.map → index-BDjKpcj7.js.map} +1 -1
  119. package/build/client/assets/{index-DR_34ZYa.js → index-BgoVp_dk.js} +2 -2
  120. package/build/client/assets/{index-DR_34ZYa.js.map → index-BgoVp_dk.js.map} +1 -1
  121. package/build/client/assets/index-Bnfc6_HV.js +2 -0
  122. package/build/client/assets/index-Bnfc6_HV.js.map +1 -0
  123. package/build/client/assets/{index-D7ZeZY2i.js → index-C2HHQicP.js} +2 -2
  124. package/build/client/assets/{index-D7ZeZY2i.js.map → index-C2HHQicP.js.map} +1 -1
  125. package/build/client/assets/index-C8CsVerV.js +2 -0
  126. package/build/client/assets/index-C8CsVerV.js.map +1 -0
  127. package/build/client/assets/{index-BB83dTUq.js → index-CI0WtQhq.js} +2 -2
  128. package/build/client/assets/{index-BB83dTUq.js.map → index-CI0WtQhq.js.map} +1 -1
  129. package/build/client/assets/index-D24AMDiw.js +2 -0
  130. package/build/client/assets/index-D24AMDiw.js.map +1 -0
  131. package/build/client/assets/{index-pxOSLlr-.js → index-DS_T1Pig.js} +2 -2
  132. package/build/client/assets/{index-pxOSLlr-.js.map → index-DS_T1Pig.js.map} +1 -1
  133. package/build/client/assets/{index-BSBvQmto.js → index-DU9y1pxC.js} +2 -2
  134. package/build/client/assets/{index-BSBvQmto.js.map → index-DU9y1pxC.js.map} +1 -1
  135. package/build/client/assets/{index-BThnqlh8.js → index-DxAxGW-O.js} +2 -2
  136. package/build/client/assets/{index-BThnqlh8.js.map → index-DxAxGW-O.js.map} +1 -1
  137. package/build/client/assets/{index-Cl_eeQ7o.js → index-Ha5nb6JW.js} +2 -2
  138. package/build/client/assets/{index-Cl_eeQ7o.js.map → index-Ha5nb6JW.js.map} +1 -1
  139. package/build/client/assets/{index-JuycBjpd.js → index-KzNJpW8p.js} +2 -2
  140. package/build/client/assets/{index-JuycBjpd.js.map → index-KzNJpW8p.js.map} +1 -1
  141. package/build/client/assets/infoDiagram-RLU2ROGC-CjNzsoEo.js +3 -0
  142. package/build/client/assets/{infoDiagram-RLU2ROGC-BPYvA0_W.js.map → infoDiagram-RLU2ROGC-CjNzsoEo.js.map} +1 -1
  143. package/build/client/assets/{journeyDiagram-EWQZEKCU-ChjoTddJ.js → journeyDiagram-EWQZEKCU-_W2YT3Wm.js} +2 -2
  144. package/build/client/assets/{journeyDiagram-EWQZEKCU-ChjoTddJ.js.map → journeyDiagram-EWQZEKCU-_W2YT3Wm.js.map} +1 -1
  145. package/build/client/assets/{jsx-runtime-DopJAmxb.js → jsx-runtime-DwNMUGRi.js} +2 -2
  146. package/build/client/assets/{jsx-runtime-DopJAmxb.js.map → jsx-runtime-DwNMUGRi.js.map} +1 -1
  147. package/build/client/assets/{kanban-definition-ILFWEQ3N-COlCITk3.js → kanban-definition-ILFWEQ3N-Ct1wI-Sd.js} +2 -2
  148. package/build/client/assets/{kanban-definition-ILFWEQ3N-COlCITk3.js.map → kanban-definition-ILFWEQ3N-Ct1wI-Sd.js.map} +1 -1
  149. package/build/client/assets/l-BrJpKyG9.js +2 -0
  150. package/build/client/assets/{l-DWxOr6mJ.js.map → l-BrJpKyG9.js.map} +1 -1
  151. package/build/client/assets/launch-editor-D24AMDiw.js +2 -0
  152. package/build/client/assets/launch-editor-D24AMDiw.js.map +1 -0
  153. package/build/client/assets/{layout-icKzOCsu.js → layout-CsRL3Svs.js} +2 -2
  154. package/build/client/assets/{layout-icKzOCsu.js.map → layout-CsRL3Svs.js.map} +1 -1
  155. package/build/client/assets/{linear-Bt2Z5LIl.js → linear-DCioa5HU.js} +2 -2
  156. package/build/client/assets/{linear-Bt2Z5LIl.js.map → linear-DCioa5HU.js.map} +1 -1
  157. package/build/client/assets/{loading-DzyW6U9J.js → loading-D4LMH5BS.js} +2 -2
  158. package/build/client/assets/{loading-DzyW6U9J.js.map → loading-D4LMH5BS.js.map} +1 -1
  159. package/build/client/assets/{login-8bQZjgAP.js → login-CEGeaUXh.js} +2 -2
  160. package/build/client/assets/{login-8bQZjgAP.js.map → login-CEGeaUXh.js.map} +1 -1
  161. package/build/client/assets/login-sse-D24AMDiw.js +2 -0
  162. package/build/client/assets/login-sse-D24AMDiw.js.map +1 -0
  163. package/build/client/assets/lookout-D24AMDiw.js +2 -0
  164. package/build/client/assets/lookout-D24AMDiw.js.map +1 -0
  165. package/build/client/assets/manifest-c3af6a7e.js +1 -0
  166. package/build/client/assets/{mdx-DXkB3-D7.js → mdx-B12CHovS.js} +3 -3
  167. package/build/client/assets/{mdx-DXkB3-D7.js.map → mdx-B12CHovS.js.map} +1 -1
  168. package/build/client/assets/{mermaid.core-CrizYspT.js → mermaid.core-b_OJ0H-L.js} +5 -5
  169. package/build/client/assets/{mermaid.core-CrizYspT.js.map → mermaid.core-b_OJ0H-L.js.map} +1 -1
  170. package/build/client/assets/{mindmap-definition-CZNETY7S-DBN8X_3u.js → mindmap-definition-CZNETY7S-CU0a40h5.js} +2 -2
  171. package/build/client/assets/{mindmap-definition-CZNETY7S-DBN8X_3u.js.map → mindmap-definition-CZNETY7S-CU0a40h5.js.map} +1 -1
  172. package/build/client/assets/{misc-CsXWl7t3.js → misc-BSfaml-C.js} +2 -2
  173. package/build/client/assets/{misc-CsXWl7t3.js.map → misc-BSfaml-C.js.map} +1 -1
  174. package/build/client/assets/{nav-chevrons-0RRCRP4K.js → nav-chevrons-ByNU2Qnp.js} +2 -2
  175. package/build/client/assets/{nav-chevrons-0RRCRP4K.js.map → nav-chevrons-ByNU2Qnp.js.map} +1 -1
  176. package/build/client/assets/notifications-D24AMDiw.js +2 -0
  177. package/build/client/assets/notifications-D24AMDiw.js.map +1 -0
  178. package/build/client/assets/og-D24AMDiw.js +2 -0
  179. package/build/client/assets/og-D24AMDiw.js.map +1 -0
  180. package/build/client/assets/{onboarding-ConhwKVl.js → onboarding-Dsiwf8Jp.js} +2 -2
  181. package/build/client/assets/{onboarding-ConhwKVl.js.map → onboarding-Dsiwf8Jp.js.map} +1 -1
  182. package/build/client/assets/{online-DjmMmyzh.js → online-DjW0DI_3.js} +2 -2
  183. package/build/client/assets/{online-DjmMmyzh.js.map → online-DjW0DI_3.js.map} +1 -1
  184. package/build/client/assets/{pe-BxKs4avg.js → pe-B8wMI5OT.js} +2 -2
  185. package/build/client/assets/{pe-BxKs4avg.js.map → pe-B8wMI5OT.js.map} +1 -1
  186. package/build/client/assets/{pieDiagram-NIOCPIFQ-DlL2hpNr.js → pieDiagram-NIOCPIFQ-mbsQZmdh.js} +2 -2
  187. package/build/client/assets/{pieDiagram-NIOCPIFQ-DlL2hpNr.js.map → pieDiagram-NIOCPIFQ-mbsQZmdh.js.map} +1 -1
  188. package/build/client/assets/{preferences-CjP53W7A.js → preferences-DTuNadT-.js} +2 -2
  189. package/build/client/assets/{preferences-CjP53W7A.js.map → preferences-DTuNadT-.js.map} +1 -1
  190. package/build/client/assets/{presence-DoNqcvqY.js → presence-u1hS2acR.js} +2 -2
  191. package/build/client/assets/{presence-DoNqcvqY.js.map → presence-u1hS2acR.js.map} +1 -1
  192. package/build/client/assets/{preview-Ck0XwJvb.js → preview-BOAFmc1F.js} +2 -2
  193. package/build/client/assets/{preview-Ck0XwJvb.js.map → preview-BOAFmc1F.js.map} +1 -1
  194. package/build/client/assets/processes-D24AMDiw.js +2 -0
  195. package/build/client/assets/processes-D24AMDiw.js.map +1 -0
  196. package/build/client/assets/{product-CQ9A9ZrK.js → product-B06zPnGr.js} +2 -2
  197. package/build/client/assets/{product-CQ9A9ZrK.js.map → product-B06zPnGr.js.map} +1 -1
  198. package/build/client/assets/progress-D24AMDiw.js +2 -0
  199. package/build/client/assets/progress-D24AMDiw.js.map +1 -0
  200. package/build/client/assets/{progress-bar-t9g4gI_5.js → progress-bar-CUlGRzhp.js} +2 -2
  201. package/build/client/assets/{progress-bar-t9g4gI_5.js.map → progress-bar-CUlGRzhp.js.map} +1 -1
  202. package/build/client/assets/{progress-C8g3Uhn9.js → progress-v5BhNo4r.js} +2 -2
  203. package/build/client/assets/{progress-C8g3Uhn9.js.map → progress-v5BhNo4r.js.map} +1 -1
  204. package/build/client/assets/{quadrantDiagram-2OG54O6I-BlqbHNID.js → quadrantDiagram-2OG54O6I-Z9drpjLX.js} +2 -2
  205. package/build/client/assets/{quadrantDiagram-2OG54O6I-BlqbHNID.js.map → quadrantDiagram-2OG54O6I-Z9drpjLX.js.map} +1 -1
  206. package/build/client/assets/{requirementDiagram-SO3GGRV7-DuQJ8uHQ.js → requirementDiagram-SO3GGRV7-CjNOZ055.js} +2 -2
  207. package/build/client/assets/{requirementDiagram-SO3GGRV7-DuQJ8uHQ.js.map → requirementDiagram-SO3GGRV7-CjNOZ055.js.map} +1 -1
  208. package/build/client/assets/{revalidation-ws-CD9vOUzQ.js → revalidation-ws-DtsnySpI.js} +2 -2
  209. package/build/client/assets/{revalidation-ws-CD9vOUzQ.js.map → revalidation-ws-DtsnySpI.js.map} +1 -1
  210. package/build/client/assets/robots_._txt-D24AMDiw.js +2 -0
  211. package/build/client/assets/robots_._txt-D24AMDiw.js.map +1 -0
  212. package/build/client/assets/{root-D0ZUIMQK.js → root-DENf0ni6.js} +2 -2
  213. package/build/client/assets/{root-D0ZUIMQK.js.map → root-DENf0ni6.js.map} +1 -1
  214. package/build/client/assets/{sankeyDiagram-4UZDY2LN-GW08zCDc.js → sankeyDiagram-4UZDY2LN-JgaeEi3J.js} +2 -2
  215. package/build/client/assets/{sankeyDiagram-4UZDY2LN-GW08zCDc.js.map → sankeyDiagram-4UZDY2LN-JgaeEi3J.js.map} +1 -1
  216. package/build/client/assets/{seo-BzJSnhSb.js → seo-8jioTbYg.js} +2 -2
  217. package/build/client/assets/{seo-BzJSnhSb.js.map → seo-8jioTbYg.js.map} +1 -1
  218. package/build/client/assets/{sequenceDiagram-ZIKVLSP4-CRl46gQx.js → sequenceDiagram-ZIKVLSP4-B5e9Pj6g.js} +2 -2
  219. package/build/client/assets/{sequenceDiagram-ZIKVLSP4-CRl46gQx.js.map → sequenceDiagram-ZIKVLSP4-B5e9Pj6g.js.map} +1 -1
  220. package/build/client/assets/{set-playground-Dd3h4x5X.js → set-playground-CVNElLx0.js} +2 -2
  221. package/build/client/assets/{set-playground-Dd3h4x5X.js.map → set-playground-CVNElLx0.js.map} +1 -1
  222. package/build/client/assets/set-playground-D24AMDiw.js +2 -0
  223. package/build/client/assets/set-playground-D24AMDiw.js.map +1 -0
  224. package/build/client/assets/sitemap_._xml-D24AMDiw.js +2 -0
  225. package/build/client/assets/sitemap_._xml-D24AMDiw.js.map +1 -0
  226. package/build/client/assets/start-D24AMDiw.js +2 -0
  227. package/build/client/assets/start-D24AMDiw.js.map +1 -0
  228. package/build/client/assets/{stateDiagram-XX37X6EN-MD55OQF0.js → stateDiagram-XX37X6EN-BfCPZCSK.js} +2 -2
  229. package/build/client/assets/{stateDiagram-XX37X6EN-MD55OQF0.js.map → stateDiagram-XX37X6EN-BfCPZCSK.js.map} +1 -1
  230. package/build/client/assets/stateDiagram-v2-GD6S3NHB-DpZ_t4Jt.js +2 -0
  231. package/build/client/assets/{stateDiagram-v2-GD6S3NHB-D-xgcWLB.js.map → stateDiagram-v2-GD6S3NHB-DpZ_t4Jt.js.map} +1 -1
  232. package/build/client/assets/{support-B6duAdc4.js → support-B0OAsn6o.js} +2 -2
  233. package/build/client/assets/{support-B6duAdc4.js.map → support-B0OAsn6o.js.map} +1 -1
  234. package/build/client/assets/test-D24AMDiw.js +2 -0
  235. package/build/client/assets/test-D24AMDiw.js.map +1 -0
  236. package/build/client/assets/test-DG9-l1OH.js +2 -0
  237. package/build/client/assets/{test-BzeWdf7l.js.map → test-DG9-l1OH.js.map} +1 -1
  238. package/build/client/assets/test._testName-D24AMDiw.js +2 -0
  239. package/build/client/assets/test._testName-D24AMDiw.js.map +1 -0
  240. package/build/client/assets/test.epic_ws_.js_-D24AMDiw.js +2 -0
  241. package/build/client/assets/test.epic_ws_.js_-D24AMDiw.js.map +1 -0
  242. package/build/client/assets/{tests-BhixzMby.js → tests-BybHkW5g.js} +2 -2
  243. package/build/client/assets/{tests-BhixzMby.js.map → tests-BybHkW5g.js.map} +1 -1
  244. package/build/client/assets/{timeline-definition-RI47OAVP-BMHXH48c.js → timeline-definition-RI47OAVP-CBGT_FJT.js} +2 -2
  245. package/build/client/assets/{timeline-definition-RI47OAVP-BMHXH48c.js.map → timeline-definition-RI47OAVP-CBGT_FJT.js.map} +1 -1
  246. package/build/client/assets/{tooltip-qn6hWSiF.js → tooltip-Czb6Ovbu.js} +2 -2
  247. package/build/client/assets/{tooltip-qn6hWSiF.js.map → tooltip-Czb6Ovbu.js.map} +1 -1
  248. package/build/client/assets/{treemap-FKARHQ26-C_NdmlNe.js → treemap-FKARHQ26-BIgVs0_z.js} +2 -2
  249. package/build/client/assets/{treemap-FKARHQ26-C_NdmlNe.js.map → treemap-FKARHQ26-BIgVs0_z.js.map} +1 -1
  250. package/build/client/assets/{use-event-source-CRTTb6CH.js → use-event-source-C6fRKOfs.js} +2 -2
  251. package/build/client/assets/{use-event-source-CRTTb6CH.js.map → use-event-source-C6fRKOfs.js.map} +1 -1
  252. package/build/client/assets/{user-BKgwXxoQ.js → user-C0q7xoFQ.js} +2 -2
  253. package/build/client/assets/{user-BKgwXxoQ.js.map → user-C0q7xoFQ.js.map} +1 -1
  254. package/build/client/assets/{version-CPNwjxHp.js → version-Bjkp1RyG.js} +2 -2
  255. package/build/client/assets/{version-CPNwjxHp.js.map → version-Bjkp1RyG.js.map} +1 -1
  256. package/build/client/assets/workshop-config-B8s2UB74.js +2 -0
  257. package/build/client/assets/{workshop-config-DJEL9dz_.js.map → workshop-config-B8s2UB74.js.map} +1 -1
  258. package/build/client/assets/{workspace-structure-CSRqlwXn.js → workspace-structure-BvwUIWnY.js} +2 -2
  259. package/build/client/assets/{workspace-structure-CSRqlwXn.js.map → workspace-structure-BvwUIWnY.js.map} +1 -1
  260. package/build/client/assets/{xychartDiagram-H2YORKM3-BTq3Izkz.js → xychartDiagram-H2YORKM3-Yt0ZA7uK.js} +2 -2
  261. package/build/client/assets/{xychartDiagram-H2YORKM3-BTq3Izkz.js.map → xychartDiagram-H2YORKM3-Yt0ZA7uK.js.map} +1 -1
  262. package/build/server/index.js +2 -2
  263. package/dist/server/index.js +2 -0
  264. package/package.json +1 -1
  265. package/build/client/assets/_-G-R-Viwe.js.map +0 -1
  266. package/build/client/assets/_exerciseNumber_._stepNumber.index-BTlRid8y.js +0 -2
  267. package/build/client/assets/_exerciseNumber_._stepNumber.index-BTlRid8y.js.map +0 -1
  268. package/build/client/assets/_layout-BcnIEBgy.js +0 -2
  269. package/build/client/assets/api._-BTlRid8y.js +0 -2
  270. package/build/client/assets/api._-BTlRid8y.js.map +0 -1
  271. package/build/client/assets/app-CyTiXW7M.js +0 -2
  272. package/build/client/assets/app.epic_ws_.js_-BTlRid8y.js +0 -2
  273. package/build/client/assets/app.epic_ws_.js_-BTlRid8y.js.map +0 -1
  274. package/build/client/assets/apps-BTlRid8y.js +0 -2
  275. package/build/client/assets/apps-BTlRid8y.js.map +0 -1
  276. package/build/client/assets/apps-BVIn0kAJ.js +0 -2
  277. package/build/client/assets/apps-BVIn0kAJ.js.map +0 -1
  278. package/build/client/assets/cache-BTlRid8y.js +0 -2
  279. package/build/client/assets/cache-BTlRid8y.js.map +0 -1
  280. package/build/client/assets/channel-CMZAdn9l.js +0 -2
  281. package/build/client/assets/classDiagram-BGRH5UQR-Duht50N4.js +0 -2
  282. package/build/client/assets/classDiagram-v2-O24JOBDK-Duht50N4.js +0 -2
  283. package/build/client/assets/clone-SIOB8anM.js +0 -2
  284. package/build/client/assets/diff-DlLAFLkx.js +0 -2
  285. package/build/client/assets/discord-DaIQFRAU.js +0 -2
  286. package/build/client/assets/discord-DaIQFRAU.js.map +0 -1
  287. package/build/client/assets/epic_ws_.js_-BTlRid8y.js +0 -2
  288. package/build/client/assets/epic_ws_.js_-BTlRid8y.js.map +0 -1
  289. package/build/client/assets/exercises-BTlRid8y.js +0 -2
  290. package/build/client/assets/exercises-BTlRid8y.js.map +0 -1
  291. package/build/client/assets/healthcheck-BTlRid8y.js +0 -2
  292. package/build/client/assets/healthcheck-BTlRid8y.js.map +0 -1
  293. package/build/client/assets/index-B5df6GWU.js +0 -2
  294. package/build/client/assets/index-B5df6GWU.js.map +0 -1
  295. package/build/client/assets/index-BTlRid8y.js +0 -2
  296. package/build/client/assets/index-BTlRid8y.js.map +0 -1
  297. package/build/client/assets/index-BVIn0kAJ.js +0 -2
  298. package/build/client/assets/index-BVIn0kAJ.js.map +0 -1
  299. package/build/client/assets/infoDiagram-RLU2ROGC-BPYvA0_W.js +0 -3
  300. package/build/client/assets/l-DWxOr6mJ.js +0 -2
  301. package/build/client/assets/launch-editor-BTlRid8y.js +0 -2
  302. package/build/client/assets/launch-editor-BTlRid8y.js.map +0 -1
  303. package/build/client/assets/login-sse-BTlRid8y.js +0 -2
  304. package/build/client/assets/login-sse-BTlRid8y.js.map +0 -1
  305. package/build/client/assets/lookout-BTlRid8y.js +0 -2
  306. package/build/client/assets/lookout-BTlRid8y.js.map +0 -1
  307. package/build/client/assets/manifest-8ebc8512.js +0 -1
  308. package/build/client/assets/notifications-BTlRid8y.js +0 -2
  309. package/build/client/assets/notifications-BTlRid8y.js.map +0 -1
  310. package/build/client/assets/og-BTlRid8y.js +0 -2
  311. package/build/client/assets/og-BTlRid8y.js.map +0 -1
  312. package/build/client/assets/processes-BTlRid8y.js +0 -2
  313. package/build/client/assets/processes-BTlRid8y.js.map +0 -1
  314. package/build/client/assets/progress-BTlRid8y.js +0 -2
  315. package/build/client/assets/progress-BTlRid8y.js.map +0 -1
  316. package/build/client/assets/robots_._txt-BTlRid8y.js +0 -2
  317. package/build/client/assets/robots_._txt-BTlRid8y.js.map +0 -1
  318. package/build/client/assets/set-playground-BTlRid8y.js +0 -2
  319. package/build/client/assets/set-playground-BTlRid8y.js.map +0 -1
  320. package/build/client/assets/sitemap_._xml-BTlRid8y.js +0 -2
  321. package/build/client/assets/sitemap_._xml-BTlRid8y.js.map +0 -1
  322. package/build/client/assets/start-BTlRid8y.js +0 -2
  323. package/build/client/assets/start-BTlRid8y.js.map +0 -1
  324. package/build/client/assets/stateDiagram-v2-GD6S3NHB-D-xgcWLB.js +0 -2
  325. package/build/client/assets/test-BTlRid8y.js +0 -2
  326. package/build/client/assets/test-BTlRid8y.js.map +0 -1
  327. package/build/client/assets/test-BzeWdf7l.js +0 -2
  328. package/build/client/assets/test._testName-BTlRid8y.js +0 -2
  329. package/build/client/assets/test._testName-BTlRid8y.js.map +0 -1
  330. package/build/client/assets/test.epic_ws_.js_-BTlRid8y.js +0 -2
  331. package/build/client/assets/test.epic_ws_.js_-BTlRid8y.js.map +0 -1
  332. package/build/client/assets/workshop-config-DJEL9dz_.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"accordion-BH7gGkbR.js","sources":["../../../../../node_modules/@radix-ui/react-collapsible/dist/index.mjs","../../../../../node_modules/@radix-ui/react-accordion/dist/index.mjs","../../../app/components/accordion.tsx"],"sourcesContent":["\"use client\";\n\n// src/collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef(void 0);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/accordion.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { createCollapsibleScope } from \"@radix-ui/react-collapsible\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\nvar [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\nvar [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n]);\nvar useCollapsibleScope = createCollapsibleScope();\nvar Accordion = React.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n);\nAccordion.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\nvar AccordionImplSingle = React.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: React.useMemo(() => value ? [value] : [], [value]),\n onItemOpen: setValue,\n onItemClose: React.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n);\nvar AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n const handleItemOpen = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ jsx(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n);\nvar ITEM_NAME = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\nvar AccordionItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ jsx(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Root,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n);\nAccordionItem.displayName = ITEM_NAME;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ jsx(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n);\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME = \"AccordionTrigger\";\nvar AccordionTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nAccordionTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"AccordionContent\";\nvar AccordionContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n);\nAccordionContent.displayName = CONTENT_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Accordion;\nvar Item = AccordionItem;\nvar Header = AccordionHeader;\nvar Trigger2 = AccordionTrigger;\nvar Content2 = AccordionContent;\nexport {\n Accordion,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n Content2 as Content,\n Header,\n Item,\n Root2 as Root,\n Trigger2 as Trigger,\n createAccordionScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as Accordion from '@radix-ui/react-accordion'\nimport { clsx } from 'clsx'\nimport * as React from 'react'\nimport { Icon } from './icons.tsx'\n\ntype AccordionProps = {\n\ttitle: string\n\tchildren: React.ReactElement\n\tvariant?: 'changed' | 'added' | 'deleted' | 'renamed'\n\ticon?: React.ReactElement\n\tforceMount?: boolean\n}\n\nconst AccordionComponent: React.FC<AccordionProps> = ({\n\ttitle,\n\tchildren,\n\tvariant,\n\ticon,\n\tforceMount = false,\n}) => {\n\tconst getVariantIcon = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'renamed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Renamed\"\n\t\t\t\t\t\taria-label=\"Renamed\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'added':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon name=\"Added\" aria-label=\"Added\" className=\"text-[#10b981]\" />\n\t\t\t\t)\n\t\t\tcase 'deleted':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Deleted\"\n\t\t\t\t\t\taria-label=\"Deleted\"\n\t\t\t\t\t\tclassName=\"text-[#ef4444]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t}\n\t}\n\tconst getVariantLabel = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn 'modified'\n\t\t\tdefault:\n\t\t\t\treturn variant\n\t\t}\n\t}\n\n\t// Somehow on windows we get double backslashes in the title\n\t// so we'll just remove those 🤷‍♂️\n\tconst fixedTitle = title.replace(/\\\\\\\\/g, '\\\\')\n\treturn (\n\t\t<Accordion.Item value={title}>\n\t\t\t<AccordionTrigger variant={getVariantLabel()}>\n\t\t\t\t{icon ? icon : getVariantIcon()} {fixedTitle}\n\t\t\t</AccordionTrigger>\n\t\t\t<AccordionContent\n\t\t\t\tforceMount={forceMount}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'prose max-w-none whitespace-pre-wrap dark:prose-invert prose-pre:m-0 prose-pre:mb-1 prose-pre:rounded-none',\n\t\t\t\t\t{\n\t\t\t\t\t\t'radix-state-closed:hidden': forceMount,\n\t\t\t\t\t},\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</AccordionContent>\n\t\t</Accordion.Item>\n\t)\n}\n\nexport default AccordionComponent\n\nconst AccordionTrigger: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\tvariant,\n\t...props\n}) => (\n\t<Accordion.Header className=\"flex\" asChild>\n\t\t<Accordion.Trigger\n\t\t\tclassName={clsx(\n\t\t\t\t'group flex w-full items-center justify-between border-b p-4 pr-3 font-mono text-sm font-medium leading-none hover:bg-foreground/20',\n\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={forwardedRef}\n\t\t>\n\t\t\t<div className=\"flex items-center gap-1.5\">{children}</div>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<span className=\"font-mono text-xs font-normal uppercase text-muted-foreground\">\n\t\t\t\t\t{variant}\n\t\t\t\t</span>\n\t\t\t\t<Icon\n\t\t\t\t\tname=\"TriangleDownSmall\"\n\t\t\t\t\tclassName=\"transition group-radix-state-open:rotate-180\"\n\t\t\t\t\taria-hidden\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Accordion.Trigger>\n\t</Accordion.Header>\n)\n\nconst AccordionContent: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\t...props\n}) => (\n\t<Accordion.Content\n\t\tclassName={clsx('', className)}\n\t\t{...props}\n\t\tref={forwardedRef}\n\t>\n\t\t<div>{children}</div>\n\t</Accordion.Content>\n)\n"],"names":["COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","createContextScope","CollapsibleProvider","useCollapsibleContext","Collapsible","React.forwardRef","props","forwardedRef","__scopeCollapsible","openProp","defaultOpen","disabled","onOpenChange","collapsibleProps","open","setOpen","useControllableState","jsx","useId","React.useCallback","prevOpen","Primitive","getState","TRIGGER_NAME","CollapsibleTrigger","triggerProps","context","composeEventHandlers","CONTENT_NAME","CollapsibleContent","forceMount","contentProps","Presence","present","CollapsibleContentImpl","children","isPresent","setIsPresent","React.useState","ref","React.useRef","composedRefs","useComposedRefs","heightRef","height","widthRef","width","isOpen","isMountAnimationPreventedRef","originalStylesRef","React.useEffect","rAF","useLayoutEffect","node","rect","Root","Trigger","Content","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createCollection","createAccordionContext","createAccordionScope","useCollapsibleScope","Accordion","React","type","accordionProps","singleProps","multipleProps","AccordionImplMultiple","AccordionImplSingle","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","valueProp","defaultValue","onValueChange","collapsible","accordionSingleProps","value","setValue","AccordionImpl","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","value2","AccordionImplProvider","useAccordionContext","__scopeAccordion","dir","orientation","accordionRef","getItems","isDirectionLTR","useDirection","handleKeyDown","event","target","triggerCollection","item","triggerIndex","triggerCount","nextIndex","homeIndex","endIndex","moveNext","movePrev","clampedIndex","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","CollapsiblePrimitive.Root","open2","HEADER_NAME","AccordionHeader","headerProps","itemContext","AccordionTrigger","collapsibleContext","CollapsiblePrimitive.Trigger","AccordionContent","CollapsiblePrimitive.Content","Root2","Item","Header","Trigger2","Content2","AccordionComponent","title","variant","icon","getVariantIcon","Icon","getVariantLabel","fixedTitle","jsxs","Accordion.Item","clsx","className","Accordion.Header","Accordion.Trigger","Accordion.Content"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"accordion-p0CQ5vm6.js","sources":["../../../../../node_modules/@radix-ui/react-collapsible/dist/index.mjs","../../../../../node_modules/@radix-ui/react-accordion/dist/index.mjs","../../../app/components/accordion.tsx"],"sourcesContent":["\"use client\";\n\n// src/collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef(void 0);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/accordion.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { createCollapsibleScope } from \"@radix-ui/react-collapsible\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\nvar [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\nvar [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n]);\nvar useCollapsibleScope = createCollapsibleScope();\nvar Accordion = React.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n);\nAccordion.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\nvar AccordionImplSingle = React.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: React.useMemo(() => value ? [value] : [], [value]),\n onItemOpen: setValue,\n onItemClose: React.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n);\nvar AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n const handleItemOpen = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ jsx(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n);\nvar ITEM_NAME = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\nvar AccordionItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ jsx(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Root,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n);\nAccordionItem.displayName = ITEM_NAME;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ jsx(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n);\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME = \"AccordionTrigger\";\nvar AccordionTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nAccordionTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"AccordionContent\";\nvar AccordionContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n);\nAccordionContent.displayName = CONTENT_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Accordion;\nvar Item = AccordionItem;\nvar Header = AccordionHeader;\nvar Trigger2 = AccordionTrigger;\nvar Content2 = AccordionContent;\nexport {\n Accordion,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n Content2 as Content,\n Header,\n Item,\n Root2 as Root,\n Trigger2 as Trigger,\n createAccordionScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as Accordion from '@radix-ui/react-accordion'\nimport { clsx } from 'clsx'\nimport * as React from 'react'\nimport { Icon } from './icons.tsx'\n\ntype AccordionProps = {\n\ttitle: string\n\tchildren: React.ReactElement\n\tvariant?: 'changed' | 'added' | 'deleted' | 'renamed'\n\ticon?: React.ReactElement\n\tforceMount?: boolean\n}\n\nconst AccordionComponent: React.FC<AccordionProps> = ({\n\ttitle,\n\tchildren,\n\tvariant,\n\ticon,\n\tforceMount = false,\n}) => {\n\tconst getVariantIcon = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'renamed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Renamed\"\n\t\t\t\t\t\taria-label=\"Renamed\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'added':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon name=\"Added\" aria-label=\"Added\" className=\"text-[#10b981]\" />\n\t\t\t\t)\n\t\t\tcase 'deleted':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Deleted\"\n\t\t\t\t\t\taria-label=\"Deleted\"\n\t\t\t\t\t\tclassName=\"text-[#ef4444]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t}\n\t}\n\tconst getVariantLabel = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn 'modified'\n\t\t\tdefault:\n\t\t\t\treturn variant\n\t\t}\n\t}\n\n\t// Somehow on windows we get double backslashes in the title\n\t// so we'll just remove those 🤷‍♂️\n\tconst fixedTitle = title.replace(/\\\\\\\\/g, '\\\\')\n\treturn (\n\t\t<Accordion.Item value={title}>\n\t\t\t<AccordionTrigger variant={getVariantLabel()}>\n\t\t\t\t{icon ? icon : getVariantIcon()} {fixedTitle}\n\t\t\t</AccordionTrigger>\n\t\t\t<AccordionContent\n\t\t\t\tforceMount={forceMount}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'prose max-w-none whitespace-pre-wrap dark:prose-invert prose-pre:m-0 prose-pre:mb-1 prose-pre:rounded-none',\n\t\t\t\t\t{\n\t\t\t\t\t\t'radix-state-closed:hidden': forceMount,\n\t\t\t\t\t},\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</AccordionContent>\n\t\t</Accordion.Item>\n\t)\n}\n\nexport default AccordionComponent\n\nconst AccordionTrigger: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\tvariant,\n\t...props\n}) => (\n\t<Accordion.Header className=\"flex\" asChild>\n\t\t<Accordion.Trigger\n\t\t\tclassName={clsx(\n\t\t\t\t'group flex w-full items-center justify-between border-b p-4 pr-3 font-mono text-sm font-medium leading-none hover:bg-foreground/20',\n\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={forwardedRef}\n\t\t>\n\t\t\t<div className=\"flex items-center gap-1.5\">{children}</div>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<span className=\"font-mono text-xs font-normal uppercase text-muted-foreground\">\n\t\t\t\t\t{variant}\n\t\t\t\t</span>\n\t\t\t\t<Icon\n\t\t\t\t\tname=\"TriangleDownSmall\"\n\t\t\t\t\tclassName=\"transition group-radix-state-open:rotate-180\"\n\t\t\t\t\taria-hidden\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Accordion.Trigger>\n\t</Accordion.Header>\n)\n\nconst AccordionContent: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\t...props\n}) => (\n\t<Accordion.Content\n\t\tclassName={clsx('', className)}\n\t\t{...props}\n\t\tref={forwardedRef}\n\t>\n\t\t<div>{children}</div>\n\t</Accordion.Content>\n)\n"],"names":["COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","createContextScope","CollapsibleProvider","useCollapsibleContext","Collapsible","React.forwardRef","props","forwardedRef","__scopeCollapsible","openProp","defaultOpen","disabled","onOpenChange","collapsibleProps","open","setOpen","useControllableState","jsx","useId","React.useCallback","prevOpen","Primitive","getState","TRIGGER_NAME","CollapsibleTrigger","triggerProps","context","composeEventHandlers","CONTENT_NAME","CollapsibleContent","forceMount","contentProps","Presence","present","CollapsibleContentImpl","children","isPresent","setIsPresent","React.useState","ref","React.useRef","composedRefs","useComposedRefs","heightRef","height","widthRef","width","isOpen","isMountAnimationPreventedRef","originalStylesRef","React.useEffect","rAF","useLayoutEffect","node","rect","Root","Trigger","Content","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createCollection","createAccordionContext","createAccordionScope","useCollapsibleScope","Accordion","React","type","accordionProps","singleProps","multipleProps","AccordionImplMultiple","AccordionImplSingle","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","valueProp","defaultValue","onValueChange","collapsible","accordionSingleProps","value","setValue","AccordionImpl","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","value2","AccordionImplProvider","useAccordionContext","__scopeAccordion","dir","orientation","accordionRef","getItems","isDirectionLTR","useDirection","handleKeyDown","event","target","triggerCollection","item","triggerIndex","triggerCount","nextIndex","homeIndex","endIndex","moveNext","movePrev","clampedIndex","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","CollapsiblePrimitive.Root","open2","HEADER_NAME","AccordionHeader","headerProps","itemContext","AccordionTrigger","collapsibleContext","CollapsiblePrimitive.Trigger","AccordionContent","CollapsiblePrimitive.Content","Root2","Item","Header","Trigger2","Content2","AccordionComponent","title","variant","icon","getVariantIcon","Icon","getVariantLabel","fixedTitle","jsxs","Accordion.Item","clsx","className","Accordion.Header","Accordion.Trigger","Accordion.Content"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- import{w as d,L as i,F as m}from"./chunk-QMGIS6GS-BqoFcGjf.js";import{j as e}from"./jsx-runtime-DopJAmxb.js";import{B as x}from"./button-Cd-BxHRD.js";import{I as r}from"./misc-CsXWl7t3.js";import{S as o}from"./tooltip-qn6hWSiF.js";import{u,a as h}from"./user-BKgwXxoQ.js";import{u as l}from"./workshop-config-DJEL9dz_.js";import"./_-G-R-Viwe.js";import"./clsx-B-dksMZM.js";import"./index-C4iAiEH3.js";const D={getSitemapEntries:()=>null};function p(){const{product:{host:t}}=l();return`https://${t}/discord`}const U=d(function(){const s=u(),a=l(),n=h(),c=p();return e.jsxs("main",{className:"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4",children:[s.imageUrlLarge?e.jsx("img",{className:"h-36 w-36 rounded-full",alt:n?.displayName??s.name??s.email,src:s.imageUrlLarge}):e.jsx(r,{name:"User",className:"flex-shrink-0",size:"lg"}),e.jsx("h1",{className:"mb-1 text-2xl",children:"Your Account"}),e.jsx("p",{className:"text-center text-gray-700 dark:text-gray-300",children:s.name?`Hi ${n?.displayName??s.name}, your device is logged in with ${s.email}.`:`Your device is logged in with ${s.email}.`}),n?e.jsx(e.Fragment,{children:e.jsxs("p",{className:"text-center text-gray-700 dark:text-gray-300",children:["And you are connected to discord as"," ",e.jsx("a",{href:`https://discord.com/users/${n.id}`,target:"_blank",rel:"noopener noreferrer",className:"underline",children:n.displayName}),"."]})}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(i,{to:c,className:"inline-flex items-center gap-2 underline",children:[e.jsx(r,{name:"Discord",size:"lg"}),"Connect Discord"]}),e.jsx(o,{content:"This will give you access to the exclusive Discord channels for Epic Web",children:e.jsx(r,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{method:"post",children:e.jsx(x,{varient:"mono",name:"intent",value:"logout",children:"Log device out"})}),e.jsx(o,{content:e.jsxs("div",{children:["Note: it is your ",e.jsx("i",{className:"italic",children:"device"})," that's logged in, not your browser.",e.jsx("br",{}),"So all browsers on this device will be logged in with the same account on this device."]}),children:e.jsx(r,{name:"Question",tabIndex:0})})]}),e.jsx("hr",{className:"w-full"}),e.jsxs("ul",{className:"flex list-inside list-disc flex-col gap-2 self-start",children:[e.jsx("li",{children:e.jsxs(i,{to:`https://${a.product.host}/profile`,className:"inline-flex gap-1 underline",children:[e.jsx("span",{children:"Manage your account"}),e.jsx(r,{name:"ExternalLink"})]})}),e.jsx("li",{children:e.jsx(i,{to:"/preferences",className:"underline",children:"Manage your preferences"})}),e.jsx("li",{children:e.jsx(i,{to:"/onboarding",className:"underline",children:"Review onboarding"})}),e.jsx("li",{children:e.jsx(i,{to:"/support",className:"underline",children:"Get support"})})]})]})});export{U as default,D as handle};
2
- //# sourceMappingURL=account-CiGyCMzg.js.map
1
+ import{w as d,L as i,F as m}from"./chunk-QMGIS6GS-BuHkd1At.js";import{j as e}from"./jsx-runtime-DwNMUGRi.js";import{B as x}from"./button-Ch7Uop3u.js";import{I as r}from"./misc-BSfaml-C.js";import{S as o}from"./tooltip-Czb6Ovbu.js";import{u,a as h}from"./user-C0q7xoFQ.js";import{u as l}from"./workshop-config-B8s2UB74.js";import"./_-xwArvaaj.js";import"./clsx-B-dksMZM.js";import"./index-BDjKpcj7.js";const D={getSitemapEntries:()=>null};function p(){const{product:{host:t}}=l();return`https://${t}/discord`}const U=d(function(){const s=u(),a=l(),n=h(),c=p();return e.jsxs("main",{className:"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4",children:[s.imageUrlLarge?e.jsx("img",{className:"h-36 w-36 rounded-full",alt:n?.displayName??s.name??s.email,src:s.imageUrlLarge}):e.jsx(r,{name:"User",className:"flex-shrink-0",size:"lg"}),e.jsx("h1",{className:"mb-1 text-2xl",children:"Your Account"}),e.jsx("p",{className:"text-center text-gray-700 dark:text-gray-300",children:s.name?`Hi ${n?.displayName??s.name}, your device is logged in with ${s.email}.`:`Your device is logged in with ${s.email}.`}),n?e.jsx(e.Fragment,{children:e.jsxs("p",{className:"text-center text-gray-700 dark:text-gray-300",children:["And you are connected to discord as"," ",e.jsx("a",{href:`https://discord.com/users/${n.id}`,target:"_blank",rel:"noopener noreferrer",className:"underline",children:n.displayName}),"."]})}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(i,{to:c,className:"inline-flex items-center gap-2 underline",children:[e.jsx(r,{name:"Discord",size:"lg"}),"Connect Discord"]}),e.jsx(o,{content:"This will give you access to the exclusive Discord channels for Epic Web",children:e.jsx(r,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{method:"post",children:e.jsx(x,{varient:"mono",name:"intent",value:"logout",children:"Log device out"})}),e.jsx(o,{content:e.jsxs("div",{children:["Note: it is your ",e.jsx("i",{className:"italic",children:"device"})," that's logged in, not your browser.",e.jsx("br",{}),"So all browsers on this device will be logged in with the same account on this device."]}),children:e.jsx(r,{name:"Question",tabIndex:0})})]}),e.jsx("hr",{className:"w-full"}),e.jsxs("ul",{className:"flex list-inside list-disc flex-col gap-2 self-start",children:[e.jsx("li",{children:e.jsxs(i,{to:`https://${a.product.host}/profile`,className:"inline-flex gap-1 underline",children:[e.jsx("span",{children:"Manage your account"}),e.jsx(r,{name:"ExternalLink"})]})}),e.jsx("li",{children:e.jsx(i,{to:"/preferences",className:"underline",children:"Manage your preferences"})}),e.jsx("li",{children:e.jsx(i,{to:"/onboarding",className:"underline",children:"Review onboarding"})}),e.jsx("li",{children:e.jsx(i,{to:"/support",className:"underline",children:"Get support"})})]})]})});export{U as default,D as handle};
2
+ //# sourceMappingURL=account-Bb1DvXib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-CiGyCMzg.js","sources":["../../../app/routes/_app+/account.tsx"],"sourcesContent":["import { deleteCache } from '@epic-web/workshop-utils/cache.server'\nimport {\n\tlogout,\n\trequireAuthInfo,\n\tsetPreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { redirect, type LoaderFunctionArgs, Form, Link } from 'react-router'\nimport { Button } from '#app/components/button.tsx'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.js'\nimport { useOptionalDiscordMember, useUser } from '#app/components/user.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\tawait requireAuthInfo({ request })\n\treturn {}\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tif (intent === 'logout') {\n\t\tawait logout()\n\t\tawait deleteCache()\n\t\treturn redirectWithToast('/login', {\n\t\t\ttype: 'success',\n\t\t\ttitle: 'Logged out',\n\t\t\tdescription: 'Goodbye! Come back soon!',\n\t\t})\n\t} else if (intent === 'presence-opt-out') {\n\t\tconst optOut = formData.get('optOut') === 'true'\n\t\tawait setPreferences({ presence: { optOut } })\n\t\treturn redirectWithToast('/account', {\n\t\t\ttitle: optOut ? 'Opted out' : 'Opted in',\n\t\t\tdescription: `You are now ${optOut ? 'invisible' : 'visible'}.`,\n\t\t\ttype: 'success',\n\t\t})\n\t}\n\n\treturn redirect('/account')\n}\n\nfunction useConnectDiscordURL() {\n\tconst {\n\t\tproduct: { host },\n\t} = useWorkshopConfig()\n\treturn `https://${host}/discord`\n}\n\nexport default function Account() {\n\tconst user = useUser()\n\tconst config = useWorkshopConfig()\n\tconst discordMember = useOptionalDiscordMember()\n\tconst connectDiscordURL = useConnectDiscordURL()\n\n\treturn (\n\t\t<main className=\"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4\">\n\t\t\t{user.imageUrlLarge ? (\n\t\t\t\t<img\n\t\t\t\t\tclassName=\"h-36 w-36 rounded-full\"\n\t\t\t\t\talt={discordMember?.displayName ?? user.name ?? user.email}\n\t\t\t\t\tsrc={user.imageUrlLarge}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon name=\"User\" className=\"flex-shrink-0\" size=\"lg\" />\n\t\t\t)}\n\t\t\t<h1 className=\"mb-1 text-2xl\">Your Account</h1>\n\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t{user.name\n\t\t\t\t\t? `Hi ${\n\t\t\t\t\t\t\tdiscordMember?.displayName ?? user.name\n\t\t\t\t\t\t}, your device is logged in with ${user.email}.`\n\t\t\t\t\t: `Your device is logged in with ${user.email}.`}\n\t\t\t</p>\n\t\t\t{discordMember ? (\n\t\t\t\t<>\n\t\t\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\tAnd you are connected to discord as{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`https://discord.com/users/${discordMember.id}`}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{discordMember.displayName}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t.\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={connectDiscordURL}\n\t\t\t\t\t\tclassName=\"inline-flex items-center gap-2 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon name=\"Discord\" size=\"lg\" />\n\t\t\t\t\t\tConnect Discord\n\t\t\t\t\t</Link>\n\t\t\t\t\t<SimpleTooltip content=\"This will give you access to the exclusive Discord channels for Epic Web\">\n\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Form method=\"post\">\n\t\t\t\t\t<Button varient=\"mono\" name=\"intent\" value=\"logout\">\n\t\t\t\t\t\tLog device out\n\t\t\t\t\t</Button>\n\t\t\t\t</Form>\n\t\t\t\t<SimpleTooltip\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\tNote: it is your <i className=\"italic\">device</i> that's logged\n\t\t\t\t\t\t\tin, not your browser.\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tSo all browsers on this device will be logged in with the same\n\t\t\t\t\t\t\taccount on this device.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t</SimpleTooltip>\n\t\t\t</div>\n\t\t\t<hr className=\"w-full\" />\n\t\t\t<ul className=\"flex list-inside list-disc flex-col gap-2 self-start\">\n\t\t\t\t<li>\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={`https://${config.product.host}/profile`}\n\t\t\t\t\t\tclassName=\"inline-flex gap-1 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>Manage your account</span>\n\t\t\t\t\t\t<Icon name=\"ExternalLink\" />\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/preferences\" className=\"underline\">\n\t\t\t\t\t\tManage your preferences\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/onboarding\" className=\"underline\">\n\t\t\t\t\t\tReview onboarding\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t\tGet support\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</main>\n\t)\n}\n"],"names":["handle","getSitemapEntries","useConnectDiscordURL","product","host","useWorkshopConfig","account","_UNSAFE_withComponentProps","user","useUser","config","discordMember","useOptionalDiscordMember","connectDiscordURL","jsxs","className","children","imageUrlLarge","jsx","alt","displayName","name","email","src","Icon","size","Fragment","href","id","target","rel","Link","to","SimpleTooltip","content","tabIndex","Form","method","Button","varient","value"],"mappings":"iZAgBO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EAiCA,SAASC,GAAuB,CAC/B,KAAM,CACLC,QAAS,CAAEC,KAAAA,CAAK,GACbC,EAAA,EACJ,MAAO,WAAWD,CAAI,UACvB,CAEA,MAAAE,EAAAC,EAAA,UAAkC,CACjC,MAAMC,EAAOC,EAAA,EACPC,EAASL,EAAA,EACTM,EAAgBC,EAAA,EAChBC,EAAoBX,EAAA,EAE1B,OACCY,EAAAA,KAAC,OAAA,CAAKC,UAAU,8FACdC,SAAA,CAAAR,EAAKS,cACLC,EAAAA,IAAC,MAAA,CACAH,UAAU,yBACVI,IAAKR,GAAeS,aAAeZ,EAAKa,MAAQb,EAAKc,MACrDC,IAAKf,EAAKS,aAAA,CACX,QAECO,EAAA,CAAKH,KAAK,OAAON,UAAU,gBAAgBU,KAAK,IAAA,CAAK,EAEvDP,EAAAA,IAAC,KAAA,CAAGH,UAAU,gBAAgBC,SAAA,cAAA,CAAY,QACzC,IAAA,CAAED,UAAU,+CACXC,SAAAR,EAAKa,KACH,MACAV,GAAeS,aAAeZ,EAAKa,IACpC,mCAAmCb,EAAKc,KAAK,IAC5C,iCAAiCd,EAAKc,KAAK,IAC/C,EACCX,EACAO,EAAAA,IAAAQ,WAAA,CACCV,SAAAF,EAAAA,KAAC,IAAA,CAAEC,UAAU,+CAA+CC,SAAA,CAAA,sCACvB,IACpCE,EAAAA,IAAC,IAAA,CACAS,KAAM,6BAA6BhB,EAAciB,EAAE,GACnDC,OAAO,SACPC,IAAI,sBACJf,UAAU,YAETC,SAAAL,EAAcS,YAChB,EAAI,GAAA,EAEL,CAAA,CACD,EAEAN,EAAAA,KAAC,MAAA,CAAIC,UAAU,0BACdC,SAAA,CAAAF,EAAAA,KAACiB,EAAA,CACAC,GAAInB,EACJE,UAAU,2CAEVC,SAAA,CAAAE,EAAAA,IAACM,EAAA,CAAKH,KAAK,UAAUI,KAAK,KAAK,EAAE,iBAAA,CAAA,CAElC,EACAP,EAAAA,IAACe,EAAA,CAAcC,QAAQ,2EACtBlB,SAAAE,EAAAA,IAACM,GAAKH,KAAK,WAAWc,SAAU,EAAG,CAAA,CACpC,CAAA,CAAA,CACD,EAEDrB,EAAAA,KAAC,MAAA,CAAIC,UAAU,0BACdC,SAAA,CAAAE,EAAAA,IAACkB,EAAA,CAAKC,OAAO,OACZrB,SAAAE,EAAAA,IAACoB,EAAA,CAAOC,QAAQ,OAAOlB,KAAK,SAASmB,MAAM,SAASxB,SAAA,iBAEpD,CAAA,CACD,EACAE,EAAAA,IAACe,EAAA,CACAC,eACE,MAAA,CAAIlB,SAAA,CAAA,oBACaE,EAAAA,IAAC,IAAA,CAAEH,UAAU,SAASC,SAAA,QAAA,CAAM,EAAI,6CAEhD,KAAA,CAAA,CAAG,EAAE,wFAAA,CAAA,CAGP,EAGDA,SAAAE,EAAAA,IAACM,EAAA,CAAKH,KAAK,WAAWc,SAAU,EAAG,CAAA,CACpC,CAAA,CAAA,CACD,EACAjB,EAAAA,IAAC,KAAA,CAAGH,UAAU,QAAA,CAAS,EACvBD,EAAAA,KAAC,KAAA,CAAGC,UAAU,uDACbC,SAAA,CAAAE,EAAAA,IAAC,KAAA,CACAF,SAAAF,EAAAA,KAACiB,EAAA,CACAC,GAAI,WAAWtB,EAAOP,QAAQC,IAAI,WAClCW,UAAU,8BAEVC,SAAA,CAAAE,EAAAA,IAAC,QAAKF,SAAA,qBAAA,CAAmB,EACzBE,EAAAA,IAACM,EAAA,CAAKH,KAAK,cAAA,CAAe,CAAA,EAC3B,CAAA,CACD,EACAH,EAAAA,IAAC,MACAF,SAAAE,EAAAA,IAACa,EAAA,CAAKC,GAAG,eAAejB,UAAU,YAAYC,SAAA,0BAE9C,CAAA,CACD,EACAE,EAAAA,IAAC,MACAF,SAAAE,EAAAA,IAACa,EAAA,CAAKC,GAAG,cAAcjB,UAAU,YAAYC,SAAA,oBAE7C,CAAA,CACD,EACAE,EAAAA,IAAC,MACAF,SAAAE,EAAAA,IAACa,EAAA,CAAKC,GAAG,WAAWjB,UAAU,YAAYC,SAAA,cAE1C,CAAA,CACD,CAAA,CAAA,CACD,CAAA,CAAA,CACD,CAEF,CAAA"}
1
+ {"version":3,"file":"account-Bb1DvXib.js","sources":["../../../app/routes/_app+/account.tsx"],"sourcesContent":["import { deleteCache } from '@epic-web/workshop-utils/cache.server'\nimport {\n\tlogout,\n\trequireAuthInfo,\n\tsetPreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { redirect, type LoaderFunctionArgs, Form, Link } from 'react-router'\nimport { Button } from '#app/components/button.tsx'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.js'\nimport { useOptionalDiscordMember, useUser } from '#app/components/user.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\tawait requireAuthInfo({ request })\n\treturn {}\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tif (intent === 'logout') {\n\t\tawait logout()\n\t\tawait deleteCache()\n\t\treturn redirectWithToast('/login', {\n\t\t\ttype: 'success',\n\t\t\ttitle: 'Logged out',\n\t\t\tdescription: 'Goodbye! Come back soon!',\n\t\t})\n\t} else if (intent === 'presence-opt-out') {\n\t\tconst optOut = formData.get('optOut') === 'true'\n\t\tawait setPreferences({ presence: { optOut } })\n\t\treturn redirectWithToast('/account', {\n\t\t\ttitle: optOut ? 'Opted out' : 'Opted in',\n\t\t\tdescription: `You are now ${optOut ? 'invisible' : 'visible'}.`,\n\t\t\ttype: 'success',\n\t\t})\n\t}\n\n\treturn redirect('/account')\n}\n\nfunction useConnectDiscordURL() {\n\tconst {\n\t\tproduct: { host },\n\t} = useWorkshopConfig()\n\treturn `https://${host}/discord`\n}\n\nexport default function Account() {\n\tconst user = useUser()\n\tconst config = useWorkshopConfig()\n\tconst discordMember = useOptionalDiscordMember()\n\tconst connectDiscordURL = useConnectDiscordURL()\n\n\treturn (\n\t\t<main className=\"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4\">\n\t\t\t{user.imageUrlLarge ? (\n\t\t\t\t<img\n\t\t\t\t\tclassName=\"h-36 w-36 rounded-full\"\n\t\t\t\t\talt={discordMember?.displayName ?? user.name ?? user.email}\n\t\t\t\t\tsrc={user.imageUrlLarge}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon name=\"User\" className=\"flex-shrink-0\" size=\"lg\" />\n\t\t\t)}\n\t\t\t<h1 className=\"mb-1 text-2xl\">Your Account</h1>\n\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t{user.name\n\t\t\t\t\t? `Hi ${\n\t\t\t\t\t\t\tdiscordMember?.displayName ?? user.name\n\t\t\t\t\t\t}, your device is logged in with ${user.email}.`\n\t\t\t\t\t: `Your device is logged in with ${user.email}.`}\n\t\t\t</p>\n\t\t\t{discordMember ? (\n\t\t\t\t<>\n\t\t\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\tAnd you are connected to discord as{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`https://discord.com/users/${discordMember.id}`}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{discordMember.displayName}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t.\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={connectDiscordURL}\n\t\t\t\t\t\tclassName=\"inline-flex items-center gap-2 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon name=\"Discord\" size=\"lg\" />\n\t\t\t\t\t\tConnect Discord\n\t\t\t\t\t</Link>\n\t\t\t\t\t<SimpleTooltip content=\"This will give you access to the exclusive Discord channels for Epic Web\">\n\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Form method=\"post\">\n\t\t\t\t\t<Button varient=\"mono\" name=\"intent\" value=\"logout\">\n\t\t\t\t\t\tLog device out\n\t\t\t\t\t</Button>\n\t\t\t\t</Form>\n\t\t\t\t<SimpleTooltip\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\tNote: it is your <i className=\"italic\">device</i> that's logged\n\t\t\t\t\t\t\tin, not your browser.\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tSo all browsers on this device will be logged in with the same\n\t\t\t\t\t\t\taccount on this device.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t</SimpleTooltip>\n\t\t\t</div>\n\t\t\t<hr className=\"w-full\" />\n\t\t\t<ul className=\"flex list-inside list-disc flex-col gap-2 self-start\">\n\t\t\t\t<li>\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={`https://${config.product.host}/profile`}\n\t\t\t\t\t\tclassName=\"inline-flex gap-1 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>Manage your account</span>\n\t\t\t\t\t\t<Icon name=\"ExternalLink\" />\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/preferences\" className=\"underline\">\n\t\t\t\t\t\tManage your preferences\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/onboarding\" className=\"underline\">\n\t\t\t\t\t\tReview onboarding\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t\tGet support\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</main>\n\t)\n}\n"],"names":["handle","getSitemapEntries","useConnectDiscordURL","product","host","useWorkshopConfig","account","_UNSAFE_withComponentProps","user","useUser","config","discordMember","useOptionalDiscordMember","connectDiscordURL","jsxs","className","children","imageUrlLarge","jsx","alt","displayName","name","email","src","Icon","size","Fragment","href","id","target","rel","Link","to","SimpleTooltip","content","tabIndex","Form","method","Button","varient","value"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import"./_-xwArvaaj.js";
2
+ //# sourceMappingURL=api._-D24AMDiw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api._-D24AMDiw.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{w as t,c as p,r as s}from"./chunk-QMGIS6GS-BuHkd1At.js";import{j as i}from"./jsx-runtime-DwNMUGRi.js";import{P as m}from"./preview-BOAFmc1F.js";import"./_-xwArvaaj.js";import"./misc-BSfaml-C.js";import"./clsx-B-dksMZM.js";import"./button-Ch7Uop3u.js";import"./loading-D4LMH5BS.js";import"./index-BgoVp_dk.js";import"./tooltip-Czb6Ovbu.js";import"./index-BDjKpcj7.js";import"./pe-B8wMI5OT.js";import"./progress-bar-CUlGRzhp.js";const E=t(function(){const{appInfo:r}=p(),o=s.useRef(null);return i.jsx(m,{appInfo:r,inBrowserBrowserRef:o})});export{E as default};
2
+ //# sourceMappingURL=app-8oRDKBXF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-CyTiXW7M.js","sources":["../../../app/routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app.tsx"],"sourcesContent":["import { requireExerciseApp } from '@epic-web/workshop-utils/apps.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { useRef } from 'react'\nimport {\n\tdata,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\tuseLoaderData,\n} from 'react-router'\nimport { type InBrowserBrowserRef } from '#app/components/in-browser-browser.js'\nimport { Preview } from './__shared/preview.tsx'\nimport { getAppRunningState } from './__shared/utils.tsx'\n\nexport async function loader({ request, params }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('exercise-step-test')\n\tconst exerciseStepApp = await requireExerciseApp(params, { request, timings })\n\tconst { isRunning, portIsAvailable } =\n\t\tawait getAppRunningState(exerciseStepApp)\n\n\treturn data(\n\t\t{\n\t\t\tappInfo: {\n\t\t\t\tisRunning,\n\t\t\t\tname: exerciseStepApp.name,\n\t\t\t\ttitle: exerciseStepApp.title,\n\t\t\t\tportIsAvailable,\n\t\t\t\ttype: exerciseStepApp.type,\n\t\t\t\tfullPath: exerciseStepApp.fullPath,\n\t\t\t\tdev: exerciseStepApp.dev,\n\t\t\t\ttest: exerciseStepApp.test,\n\t\t\t\tstackBlitzUrl: exerciseStepApp.stackBlitzUrl,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': timings.toString(),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders, parentHeaders }) => {\n\tconst headers = {\n\t\t'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nexport default function TestsList() {\n\tconst { appInfo } = useLoaderData<typeof loader>()\n\tconst ref = useRef<InBrowserBrowserRef>(null)\n\n\treturn <Preview appInfo={appInfo} inBrowserBrowserRef={ref} />\n}\n"],"names":["app","_UNSAFE_withComponentProps","appInfo","useLoaderData","ref","useRef","jsx","Preview","inBrowserBrowserRef"],"mappings":"kbAmDA,MAAAA,EAAAC,EAAA,UAAoC,CACnC,KAAM,CAAEC,QAAAA,GAAYC,EAAA,EACdC,EAAMC,EAAAA,OAA4B,IAAI,EAE5C,OAAOC,EAAAA,IAACC,EAAA,CAAQL,QAAAA,EAAkBM,oBAAqBJ,CAAA,CAAK,CAC7D,CAAA"}
1
+ {"version":3,"file":"app-8oRDKBXF.js","sources":["../../../app/routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app.tsx"],"sourcesContent":["import { requireExerciseApp } from '@epic-web/workshop-utils/apps.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { useRef } from 'react'\nimport {\n\tdata,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\tuseLoaderData,\n} from 'react-router'\nimport { type InBrowserBrowserRef } from '#app/components/in-browser-browser.js'\nimport { Preview } from './__shared/preview.tsx'\nimport { getAppRunningState } from './__shared/utils.tsx'\n\nexport async function loader({ request, params }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('exercise-step-test')\n\tconst exerciseStepApp = await requireExerciseApp(params, { request, timings })\n\tconst { isRunning, portIsAvailable } =\n\t\tawait getAppRunningState(exerciseStepApp)\n\n\treturn data(\n\t\t{\n\t\t\tappInfo: {\n\t\t\t\tisRunning,\n\t\t\t\tname: exerciseStepApp.name,\n\t\t\t\ttitle: exerciseStepApp.title,\n\t\t\t\tportIsAvailable,\n\t\t\t\ttype: exerciseStepApp.type,\n\t\t\t\tfullPath: exerciseStepApp.fullPath,\n\t\t\t\tdev: exerciseStepApp.dev,\n\t\t\t\ttest: exerciseStepApp.test,\n\t\t\t\tstackBlitzUrl: exerciseStepApp.stackBlitzUrl,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': timings.toString(),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders, parentHeaders }) => {\n\tconst headers = {\n\t\t'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nexport default function TestsList() {\n\tconst { appInfo } = useLoaderData<typeof loader>()\n\tconst ref = useRef<InBrowserBrowserRef>(null)\n\n\treturn <Preview appInfo={appInfo} inBrowserBrowserRef={ref} />\n}\n"],"names":["app","_UNSAFE_withComponentProps","appInfo","useLoaderData","ref","useRef","jsx","Preview","inBrowserBrowserRef"],"mappings":"kbAmDA,MAAAA,EAAAC,EAAA,UAAoC,CACnC,KAAM,CAAEC,QAAAA,GAAYC,EAAA,EACdC,EAAMC,EAAAA,OAA4B,IAAI,EAE5C,OAAOC,EAAAA,IAACC,EAAA,CAAQL,QAAAA,EAAkBM,oBAAqBJ,CAAA,CAAK,CAC7D,CAAA"}
@@ -0,0 +1,2 @@
1
+ import"./_-xwArvaaj.js";
2
+ //# sourceMappingURL=app.epic_ws_.js_-D24AMDiw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.epic_ws_.js_-D24AMDiw.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import"./_-xwArvaaj.js";
2
+ //# sourceMappingURL=apps-Bnfc6_HV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps-Bnfc6_HV.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import"./_-xwArvaaj.js";
2
+ //# sourceMappingURL=apps-D24AMDiw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps-D24AMDiw.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as sn,$ as on,a0 as fn}from"./mermaid.core-CrizYspT.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,A,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
2
- //# sourceMappingURL=arc-DAs-semv.js.map
1
+ import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as sn,$ as on,a0 as fn}from"./mermaid.core-b_OJ0H-L.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,A,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
2
+ //# sourceMappingURL=arc-C79k_FRJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arc-DAs-semv.js","sources":["../../../../../node_modules/d3-shape/src/arc.js"],"sourcesContent":["import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n"],"names":["arcInnerRadius","d","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x0","y0","x1","y1","x2","y2","x3","y3","x10","y10","x32","y32","t","epsilon","cornerTangents","r1","rc","cw","x01","y01","lo","sqrt","ox","oy","x11","y11","x00","y00","dx","dy","d2","r","D","max","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","d3arc","innerRadius","outerRadius","cornerRadius","constant","padRadius","startAngle","endAngle","padAngle","context","path","withPath","arc","buffer","r0","a0","halfPi","a1","da","abs","tau","cos","sin","a01","a11","a00","a10","da0","da1","ap","rp","min","rc0","rc1","t0","t1","p0","asin","p1","oc","pi","ax","ay","bx","by","kc","acos","lc","atan2","a","_"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"arc-C79k_FRJ.js","sources":["../../../../../node_modules/d3-shape/src/arc.js"],"sourcesContent":["import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n"],"names":["arcInnerRadius","d","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x0","y0","x1","y1","x2","y2","x3","y3","x10","y10","x32","y32","t","epsilon","cornerTangents","r1","rc","cw","x01","y01","lo","sqrt","ox","oy","x11","y11","x00","y00","dx","dy","d2","r","D","max","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","d3arc","innerRadius","outerRadius","cornerRadius","constant","padRadius","startAngle","endAngle","padAngle","context","path","withPath","arc","buffer","r0","a0","halfPi","a1","da","abs","tau","cos","sin","a01","a11","a00","a10","da0","da1","ap","rp","min","rc0","rc1","t0","t1","p0","asin","p1","oc","pi","ax","ay","bx","by","kc","acos","lc","atan2","a","_"],"mappings":"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","x_google_ignoreList":[0]}