@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,2 +1,2 @@
1
- import{r as n}from"./chunk-QMGIS6GS-BqoFcGjf.js";const d=n.createContext(new Map);d.Provider;function m(r,{event:o="message",init:u,enabled:c=!0}={}){let t=n.useContext(d),[i,a]=n.useState(null);return n.useEffect(()=>{if(!c)return;let s=[r.toString(),u?.withCredentials].join("::"),e=t.get(s)??{count:0,source:new EventSource(r,u)};++e.count,t.set(s,e),e.source.addEventListener(o,l),a(null);function l(f){a(f.data||"UNKNOWN_EVENT_DATA")}return()=>{e.source.removeEventListener(o,l),--e.count,e.count<=0&&(e.source.close(),t.delete(s))}},[r,o,u,t,c]),i}export{m as u};
2
- //# sourceMappingURL=use-event-source-CRTTb6CH.js.map
1
+ import{r as n}from"./chunk-QMGIS6GS-BuHkd1At.js";const d=n.createContext(new Map);d.Provider;function m(r,{event:o="message",init:u,enabled:c=!0}={}){let t=n.useContext(d),[i,a]=n.useState(null);return n.useEffect(()=>{if(!c)return;let s=[r.toString(),u?.withCredentials].join("::"),e=t.get(s)??{count:0,source:new EventSource(r,u)};++e.count,t.set(s,e),e.source.addEventListener(o,l),a(null);function l(f){a(f.data||"UNKNOWN_EVENT_DATA")}return()=>{e.source.removeEventListener(o,l),--e.count,e.count<=0&&(e.source.close(),t.delete(s))}},[r,o,u,t,c]),i}export{m as u};
2
+ //# sourceMappingURL=use-event-source-C6fRKOfs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-source-CRTTb6CH.js","sources":["../../../../../node_modules/remix-utils/build/react/use-event-source.js"],"sourcesContent":["import { createContext, useContext, useEffect, useState } from \"react\";\nconst context = createContext(new Map());\nexport const EventSourceProvider = context.Provider;\n/**\n * Subscribe to an event source and return the latest event.\n * @param url The URL of the event source to connect to\n * @param options The options to pass to the EventSource constructor\n * @returns The last event received from the server\n */\nexport function useEventSource(url, { event = \"message\", init, enabled = true } = {}) {\n let map = useContext(context);\n let [data, setData] = useState(null);\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n let key = [url.toString(), init?.withCredentials].join(\"::\");\n let value = map.get(key) ?? {\n count: 0,\n source: new EventSource(url, init),\n };\n ++value.count;\n map.set(key, value);\n value.source.addEventListener(event, handler);\n // rest data if dependencies change\n setData(null);\n function handler(event) {\n setData(event.data || \"UNKNOWN_EVENT_DATA\");\n }\n return () => {\n value.source.removeEventListener(event, handler);\n --value.count;\n if (value.count <= 0) {\n value.source.close();\n map.delete(key);\n }\n };\n }, [url, event, init, map, enabled]);\n return data;\n}\n//# sourceMappingURL=use-event-source.js.map"],"names":["context","createContext","useEventSource","url","event","init","enabled","map","useContext","data","setData","useState","useEffect","key","value","handler"],"mappings":"iDACA,MAAMA,EAAUC,EAAAA,cAAc,IAAI,GAAK,EACJD,EAAQ,SAOpC,SAASE,EAAeC,EAAK,CAAE,MAAAC,EAAQ,UAAW,KAAAC,EAAM,QAAAC,EAAU,EAAI,EAAK,GAAI,CAClF,IAAIC,EAAMC,EAAAA,WAAWR,CAAO,EACxB,CAACS,EAAMC,CAAO,EAAIC,EAAAA,SAAS,IAAI,EACnCC,OAAAA,EAAAA,UAAU,IAAM,CACZ,GAAI,CAACN,EACD,OAEJ,IAAIO,EAAM,CAACV,EAAI,SAAQ,EAAIE,GAAM,eAAe,EAAE,KAAK,IAAI,EACvDS,EAAQP,EAAI,IAAIM,CAAG,GAAK,CACxB,MAAO,EACP,OAAQ,IAAI,YAAYV,EAAKE,CAAI,CAC7C,EACQ,EAAES,EAAM,MACRP,EAAI,IAAIM,EAAKC,CAAK,EAClBA,EAAM,OAAO,iBAAiBV,EAAOW,CAAO,EAE5CL,EAAQ,IAAI,EACZ,SAASK,EAAQX,EAAO,CACpBM,EAAQN,EAAM,MAAQ,oBAAoB,CAC9C,CACA,MAAO,IAAM,CACTU,EAAM,OAAO,oBAAoBV,EAAOW,CAAO,EAC/C,EAAED,EAAM,MACJA,EAAM,OAAS,IACfA,EAAM,OAAO,MAAK,EAClBP,EAAI,OAAOM,CAAG,EAEtB,CACJ,EAAG,CAACV,EAAKC,EAAOC,EAAME,EAAKD,CAAO,CAAC,EAC5BG,CACX","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"use-event-source-C6fRKOfs.js","sources":["../../../../../node_modules/remix-utils/build/react/use-event-source.js"],"sourcesContent":["import { createContext, useContext, useEffect, useState } from \"react\";\nconst context = createContext(new Map());\nexport const EventSourceProvider = context.Provider;\n/**\n * Subscribe to an event source and return the latest event.\n * @param url The URL of the event source to connect to\n * @param options The options to pass to the EventSource constructor\n * @returns The last event received from the server\n */\nexport function useEventSource(url, { event = \"message\", init, enabled = true } = {}) {\n let map = useContext(context);\n let [data, setData] = useState(null);\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n let key = [url.toString(), init?.withCredentials].join(\"::\");\n let value = map.get(key) ?? {\n count: 0,\n source: new EventSource(url, init),\n };\n ++value.count;\n map.set(key, value);\n value.source.addEventListener(event, handler);\n // rest data if dependencies change\n setData(null);\n function handler(event) {\n setData(event.data || \"UNKNOWN_EVENT_DATA\");\n }\n return () => {\n value.source.removeEventListener(event, handler);\n --value.count;\n if (value.count <= 0) {\n value.source.close();\n map.delete(key);\n }\n };\n }, [url, event, init, map, enabled]);\n return data;\n}\n//# sourceMappingURL=use-event-source.js.map"],"names":["context","createContext","useEventSource","url","event","init","enabled","map","useContext","data","setData","useState","useEffect","key","value","handler"],"mappings":"iDACA,MAAMA,EAAUC,EAAAA,cAAc,IAAI,GAAK,EACJD,EAAQ,SAOpC,SAASE,EAAeC,EAAK,CAAE,MAAAC,EAAQ,UAAW,KAAAC,EAAM,QAAAC,EAAU,EAAI,EAAK,GAAI,CAClF,IAAIC,EAAMC,EAAAA,WAAWR,CAAO,EACxB,CAACS,EAAMC,CAAO,EAAIC,EAAAA,SAAS,IAAI,EACnCC,OAAAA,EAAAA,UAAU,IAAM,CACZ,GAAI,CAACN,EACD,OAEJ,IAAIO,EAAM,CAACV,EAAI,SAAQ,EAAIE,GAAM,eAAe,EAAE,KAAK,IAAI,EACvDS,EAAQP,EAAI,IAAIM,CAAG,GAAK,CACxB,MAAO,EACP,OAAQ,IAAI,YAAYV,EAAKE,CAAI,CAC7C,EACQ,EAAES,EAAM,MACRP,EAAI,IAAIM,EAAKC,CAAK,EAClBA,EAAM,OAAO,iBAAiBV,EAAOW,CAAO,EAE5CL,EAAQ,IAAI,EACZ,SAASK,EAAQX,EAAO,CACpBM,EAAQN,EAAM,MAAQ,oBAAoB,CAC9C,CACA,MAAO,IAAM,CACTU,EAAM,OAAO,oBAAoBV,EAAOW,CAAO,EAC/C,EAAED,EAAM,MACJA,EAAM,OAAS,IACfA,EAAM,OAAO,MAAK,EAClBP,EAAI,OAAOM,CAAG,EAEtB,CACJ,EAAG,CAACV,EAAKC,EAAOC,EAAME,EAAKD,CAAO,CAAC,EAC5BG,CACX","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{g as e}from"./chunk-QMGIS6GS-BqoFcGjf.js";import"./_-G-R-Viwe.js";function s(){return e("root")?.user}function t(){const r=s();if(!r)throw new Error("useUser requires a user. If the user is optional, use useOptionalUser instead.");return r}function u(){const r=e("root");return r?.user?.discordProfile?{id:r.user.discordProfile.user.id,displayName:r.user.discordProfile.nick??r.user.discordProfile.user.global_name,avatarUrl:r.user.imageUrlLarge}:null}function i(){return e("root")?.userHasAccess??!1}export{u as a,i as b,s as c,t as u};
2
- //# sourceMappingURL=user-BKgwXxoQ.js.map
1
+ import{g as e}from"./chunk-QMGIS6GS-BuHkd1At.js";import"./_-xwArvaaj.js";function s(){return e("root")?.user}function t(){const r=s();if(!r)throw new Error("useUser requires a user. If the user is optional, use useOptionalUser instead.");return r}function u(){const r=e("root");return r?.user?.discordProfile?{id:r.user.discordProfile.user.id,displayName:r.user.discordProfile.nick??r.user.discordProfile.user.global_name,avatarUrl:r.user.imageUrlLarge}:null}function i(){return e("root")?.userHasAccess??!1}export{u as a,i as b,s as c,t as u};
2
+ //# sourceMappingURL=user-C0q7xoFQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-BKgwXxoQ.js","sources":["../../../app/components/user.tsx"],"sourcesContent":["import { useRouteLoaderData } from 'react-router'\nimport { type RootLoaderData } from '#app/root.tsx'\n\nexport function useOptionalUser() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\treturn data?.user\n}\n\nexport function useUser() {\n\tconst user = useOptionalUser()\n\tif (!user) {\n\t\tthrow new Error(\n\t\t\t'useUser requires a user. If the user is optional, use useOptionalUser instead.',\n\t\t)\n\t}\n\treturn user\n}\n\nexport function useOptionalDiscordMember() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\treturn data?.user?.discordProfile\n\t\t? {\n\t\t\t\tid: data.user.discordProfile.user.id,\n\t\t\t\tdisplayName:\n\t\t\t\t\tdata.user.discordProfile.nick ??\n\t\t\t\t\tdata.user.discordProfile.user.global_name,\n\t\t\t\tavatarUrl: data.user.imageUrlLarge,\n\t\t\t}\n\t\t: null\n}\n\nexport function useDiscordMember() {\n\tconst discordMember = useOptionalDiscordMember()\n\tif (!discordMember) {\n\t\tthrow new Error(\n\t\t\t'useDiscordMember requires a discordMember. If the discordMember is optional, use useOptionalDiscordMember instead.',\n\t\t)\n\t}\n\treturn discordMember\n}\n\nexport function useUserHasAccess() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\treturn data?.userHasAccess ?? false\n}\n"],"names":["useOptionalUser","useRouteLoaderData","useUser","user","useOptionalDiscordMember","data","useUserHasAccess"],"mappings":"yEAGO,SAASA,GAAkB,CAEjC,OADaC,EAAmB,MAAM,GACzB,IACd,CAEO,SAASC,GAAU,CACzB,MAAMC,EAAOH,EAAA,EACb,GAAI,CAACG,EACJ,MAAM,IAAI,MACT,gFAAA,EAGF,OAAOA,CACR,CAEO,SAASC,GAA2B,CAC1C,MAAMC,EAAOJ,EAAmB,MAAM,EACtC,OAAOI,GAAM,MAAM,eAChB,CACA,GAAIA,EAAK,KAAK,eAAe,KAAK,GAClC,YACCA,EAAK,KAAK,eAAe,MACzBA,EAAK,KAAK,eAAe,KAAK,YAC/B,UAAWA,EAAK,KAAK,aAAA,EAErB,IACJ,CAYO,SAASC,GAAmB,CAElC,OADaL,EAAmB,MAAM,GACzB,eAAiB,EAC/B"}
1
+ {"version":3,"file":"user-C0q7xoFQ.js","sources":["../../../app/components/user.tsx"],"sourcesContent":["import { useRouteLoaderData } from 'react-router'\nimport { type RootLoaderData } from '#app/root.tsx'\n\nexport function useOptionalUser() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\treturn data?.user\n}\n\nexport function useUser() {\n\tconst user = useOptionalUser()\n\tif (!user) {\n\t\tthrow new Error(\n\t\t\t'useUser requires a user. If the user is optional, use useOptionalUser instead.',\n\t\t)\n\t}\n\treturn user\n}\n\nexport function useOptionalDiscordMember() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\treturn data?.user?.discordProfile\n\t\t? {\n\t\t\t\tid: data.user.discordProfile.user.id,\n\t\t\t\tdisplayName:\n\t\t\t\t\tdata.user.discordProfile.nick ??\n\t\t\t\t\tdata.user.discordProfile.user.global_name,\n\t\t\t\tavatarUrl: data.user.imageUrlLarge,\n\t\t\t}\n\t\t: null\n}\n\nexport function useDiscordMember() {\n\tconst discordMember = useOptionalDiscordMember()\n\tif (!discordMember) {\n\t\tthrow new Error(\n\t\t\t'useDiscordMember requires a discordMember. If the discordMember is optional, use useOptionalDiscordMember instead.',\n\t\t)\n\t}\n\treturn discordMember\n}\n\nexport function useUserHasAccess() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\treturn data?.userHasAccess ?? false\n}\n"],"names":["useOptionalUser","useRouteLoaderData","useUser","user","useOptionalDiscordMember","data","useUserHasAccess"],"mappings":"yEAGO,SAASA,GAAkB,CAEjC,OADaC,EAAmB,MAAM,GACzB,IACd,CAEO,SAASC,GAAU,CACzB,MAAMC,EAAOH,EAAA,EACb,GAAI,CAACG,EACJ,MAAM,IAAI,MACT,gFAAA,EAGF,OAAOA,CACR,CAEO,SAASC,GAA2B,CAC1C,MAAMC,EAAOJ,EAAmB,MAAM,EACtC,OAAOI,GAAM,MAAM,eAChB,CACA,GAAIA,EAAK,KAAK,eAAe,KAAK,GAClC,YACCA,EAAK,KAAK,eAAe,MACzBA,EAAK,KAAK,eAAe,KAAK,YAC/B,UAAWA,EAAK,KAAK,aAAA,EAErB,IACJ,CAYO,SAASC,GAAmB,CAElC,OADaL,EAAmB,MAAM,GACzB,eAAiB,EAC/B"}
@@ -1,2 +1,2 @@
1
- import{w as t,c as r}from"./chunk-QMGIS6GS-BqoFcGjf.js";import{j as s}from"./jsx-runtime-DopJAmxb.js";import{u as i}from"./workshop-config-DJEL9dz_.js";import"./_-G-R-Viwe.js";const l={getSitemapEntries:()=>null},c=t(function(){const e=r(),o=i();return s.jsxs("div",{children:[s.jsx("h2",{className:"text-lg font-bold",children:"Workshop Version Information"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop Commit"}),e.workshopCommit?s.jsxs(s.Fragment,{children:[s.jsxs("p",{children:["Hash:"," ",s.jsx("a",{href:`${o.githubRepo}/commit/${e.workshopCommit.hash}`,className:"underline",children:e.workshopCommit.hash})]}),s.jsxs("p",{children:["Message: ",e.workshopCommit.message]}),s.jsxs("p",{children:["Date: ",e.workshopCommit.dateFormatted," (",e.workshopCommit.dateFromNow,")"]})]}):s.jsx("p",{children:"No commit information available"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop App"}),s.jsxs("p",{children:["Current Version: ",ENV.EPICSHOP_APP_VERSION?s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`,className:"underline",children:ENV.EPICSHOP_APP_VERSION}):"Unknown"]}),s.jsxs("p",{children:["Latest Version: ",s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${e.latestWorkshopAppVersion}`,className:"underline",children:e.latestWorkshopAppVersion})]}),s.jsx("h3",{className:"text-md font-bold",children:"App Start Time"}),s.jsxs("p",{children:[e.startTimeFormatted," (",e.startTimeFromNow,")"]})]})});export{c as default,l as handle};
2
- //# sourceMappingURL=version-CPNwjxHp.js.map
1
+ import{w as t,c as r}from"./chunk-QMGIS6GS-BuHkd1At.js";import{j as s}from"./jsx-runtime-DwNMUGRi.js";import{u as i}from"./workshop-config-B8s2UB74.js";import"./_-xwArvaaj.js";const l={getSitemapEntries:()=>null},c=t(function(){const e=r(),o=i();return s.jsxs("div",{children:[s.jsx("h2",{className:"text-lg font-bold",children:"Workshop Version Information"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop Commit"}),e.workshopCommit?s.jsxs(s.Fragment,{children:[s.jsxs("p",{children:["Hash:"," ",s.jsx("a",{href:`${o.githubRepo}/commit/${e.workshopCommit.hash}`,className:"underline",children:e.workshopCommit.hash})]}),s.jsxs("p",{children:["Message: ",e.workshopCommit.message]}),s.jsxs("p",{children:["Date: ",e.workshopCommit.dateFormatted," (",e.workshopCommit.dateFromNow,")"]})]}):s.jsx("p",{children:"No commit information available"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop App"}),s.jsxs("p",{children:["Current Version: ",ENV.EPICSHOP_APP_VERSION?s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`,className:"underline",children:ENV.EPICSHOP_APP_VERSION}):"Unknown"]}),s.jsxs("p",{children:["Latest Version: ",s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${e.latestWorkshopAppVersion}`,className:"underline",children:e.latestWorkshopAppVersion})]}),s.jsx("h3",{className:"text-md font-bold",children:"App Start Time"}),s.jsxs("p",{children:[e.startTimeFormatted," (",e.startTimeFromNow,")"]})]})});export{c as default,l as handle};
2
+ //# sourceMappingURL=version-Bjkp1RyG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-CPNwjxHp.js","sources":["../../../app/routes/admin+/version.tsx"],"sourcesContent":["import {\n\tgetCommitInfo,\n\tgetLatestWorkshopAppVersion,\n} from '@epic-web/workshop-utils/git.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport { dayjs } from '@epic-web/workshop-utils/utils.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { type HeadersFunction, useLoaderData, data } from 'react-router'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { getErrorMessage } from '#app/utils/misc.tsx'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader() {\n\tconst timings = makeTimings('versionLoader')\n\tconst [commitInfo, latestVersion] = await Promise.all([\n\t\ttime(() => getCommitInfo(), { timings, type: 'getCommitInfo' }),\n\t\ttime(() => getLatestWorkshopAppVersion().catch((e) => getErrorMessage(e)), {\n\t\t\ttimings,\n\t\t\ttype: 'getLatestWorkshopAppVersion',\n\t\t}),\n\t])\n\n\tconst uptime = process.uptime() * 1000\n\tconst startDate = new Date(Date.now() - uptime)\n\n\treturn data(\n\t\t{\n\t\t\tworkshopCommit: commitInfo\n\t\t\t\t? {\n\t\t\t\t\t\t...commitInfo,\n\t\t\t\t\t\tdateFormatted: dayjs(commitInfo.date).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\t\t\t\tdateFromNow: dayjs(commitInfo.date).fromNow(),\n\t\t\t\t\t}\n\t\t\t\t: null,\n\t\t\tlatestWorkshopAppVersion: latestVersion,\n\t\t\tstartTime: startDate.toISOString(),\n\t\t\tstartTimeFormatted: dayjs(startDate).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\tstartTimeFromNow: dayjs(startDate).fromNow(),\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 = ({ parentHeaders, loaderHeaders }) => {\n\treturn {\n\t\t'Server-Timing': combineServerTimings(parentHeaders, loaderHeaders),\n\t}\n}\n\nexport default function Version() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst workshopConfig = useWorkshopConfig()\n\n\treturn (\n\t\t<div>\n\t\t\t<h2 className=\"text-lg font-bold\">Workshop Version Information</h2>\n\t\t\t<h3 className=\"text-md font-bold\">Workshop Commit</h3>\n\t\t\t{data.workshopCommit ? (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tHash:{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`${workshopConfig.githubRepo}/commit/${data.workshopCommit.hash}`}\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.workshopCommit.hash}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>Message: {data.workshopCommit.message}</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tDate: {data.workshopCommit.dateFormatted} (\n\t\t\t\t\t\t{data.workshopCommit.dateFromNow})\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<p>No commit information available</p>\n\t\t\t)}\n\t\t\t<h3 className=\"text-md font-bold\">Workshop App</h3>\n\t\t\t<p>\n\t\t\t\t{'Current Version: '}\n\t\t\t\t{ENV.EPICSHOP_APP_VERSION ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`}\n\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ENV.EPICSHOP_APP_VERSION}\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t'Unknown'\n\t\t\t\t)}\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{'Latest Version: '}\n\t\t\t\t<a\n\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${data.latestWorkshopAppVersion}`}\n\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t>\n\t\t\t\t\t{data.latestWorkshopAppVersion}\n\t\t\t\t</a>\n\t\t\t</p>\n\t\t\t<h3 className=\"text-md font-bold\">App Start Time</h3>\n\t\t\t<p>\n\t\t\t\t{data.startTimeFormatted} ({data.startTimeFromNow})\n\t\t\t</p>\n\t\t</div>\n\t)\n}\n"],"names":["handle","getSitemapEntries","version","_UNSAFE_withComponentProps","data","useLoaderData","workshopConfig","useWorkshopConfig","children","jsx","className","workshopCommit","jsxs","Fragment","href","githubRepo","hash","message","dateFormatted","dateFromNow","ENV","EPICSHOP_APP_VERSION","latestWorkshopAppVersion","startTimeFormatted","startTimeFromNow"],"mappings":"gLAeO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EA2CAC,EAAAC,EAAA,UAAkC,CACjC,MAAMC,EAAOC,EAAA,EACPC,EAAiBC,EAAA,EAEvB,cACE,MAAA,CACAC,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAGC,UAAU,oBAAoBF,SAAA,8BAAA,CAA4B,EAC9DC,EAAAA,IAAC,KAAA,CAAGC,UAAU,oBAAoBF,SAAA,kBAAe,EAChDJ,EAAKO,eACLC,EAAAA,KAAAC,EAAAA,SAAA,CACCL,SAAA,CAAAI,EAAAA,KAAC,IAAA,CAAEJ,SAAA,CAAA,QACI,IACNC,EAAAA,IAAC,IAAA,CACAK,KAAM,GAAGR,EAAeS,UAAU,WAAWX,EAAKO,eAAeK,IAAI,GACrEN,UAAU,YAETF,SAAAJ,EAAKO,eAAeK,IAAA,CACtB,CAAA,CAAA,CACD,SACC,IAAA,CAAER,SAAA,CAAA,YAAUJ,EAAKO,eAAeM,OAAA,CAAA,CAAQ,SACxC,IAAA,CAAET,SAAA,CAAA,SACKJ,EAAKO,eAAeO,cAAc,KACxCd,EAAKO,eAAeQ,YAAY,GAAA,CAAA,CAClC,CAAA,CAAA,CACD,EAEAV,EAAAA,IAAC,IAAA,CAAED,SAAA,iCAAA,CAA+B,EAEnCC,EAAAA,IAAC,KAAA,CAAGC,UAAU,oBAAoBF,SAAA,cAAA,CAAY,SAC7C,IAAA,CACCA,SAAA,CAAA,oBACAY,IAAIC,qBACJZ,EAAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDM,IAAIC,oBAAoB,GACvFX,UAAU,YAETF,SAAAY,IAAIC,qBACN,EAEA,SAAA,CAAA,CAEF,SACC,IAAA,CACCb,SAAA,CAAA,mBACDC,EAAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDV,EAAKkB,wBAAwB,GAC5FZ,UAAU,YAETF,SAAAJ,EAAKkB,wBAAA,CACP,CAAA,CAAA,CACD,EACAb,EAAAA,IAAC,KAAA,CAAGC,UAAU,oBAAoBF,SAAA,gBAAA,CAAc,SAC/C,IAAA,CACCA,SAAA,CAAAJ,EAAKmB,mBAAmB,KAAGnB,EAAKoB,iBAAiB,GAAA,CAAA,CACnD,CAAA,CAAA,CACD,CAEF,CAAA"}
1
+ {"version":3,"file":"version-Bjkp1RyG.js","sources":["../../../app/routes/admin+/version.tsx"],"sourcesContent":["import {\n\tgetCommitInfo,\n\tgetLatestWorkshopAppVersion,\n} from '@epic-web/workshop-utils/git.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport { dayjs } from '@epic-web/workshop-utils/utils.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { type HeadersFunction, useLoaderData, data } from 'react-router'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { getErrorMessage } from '#app/utils/misc.tsx'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader() {\n\tconst timings = makeTimings('versionLoader')\n\tconst [commitInfo, latestVersion] = await Promise.all([\n\t\ttime(() => getCommitInfo(), { timings, type: 'getCommitInfo' }),\n\t\ttime(() => getLatestWorkshopAppVersion().catch((e) => getErrorMessage(e)), {\n\t\t\ttimings,\n\t\t\ttype: 'getLatestWorkshopAppVersion',\n\t\t}),\n\t])\n\n\tconst uptime = process.uptime() * 1000\n\tconst startDate = new Date(Date.now() - uptime)\n\n\treturn data(\n\t\t{\n\t\t\tworkshopCommit: commitInfo\n\t\t\t\t? {\n\t\t\t\t\t\t...commitInfo,\n\t\t\t\t\t\tdateFormatted: dayjs(commitInfo.date).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\t\t\t\tdateFromNow: dayjs(commitInfo.date).fromNow(),\n\t\t\t\t\t}\n\t\t\t\t: null,\n\t\t\tlatestWorkshopAppVersion: latestVersion,\n\t\t\tstartTime: startDate.toISOString(),\n\t\t\tstartTimeFormatted: dayjs(startDate).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\tstartTimeFromNow: dayjs(startDate).fromNow(),\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 = ({ parentHeaders, loaderHeaders }) => {\n\treturn {\n\t\t'Server-Timing': combineServerTimings(parentHeaders, loaderHeaders),\n\t}\n}\n\nexport default function Version() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst workshopConfig = useWorkshopConfig()\n\n\treturn (\n\t\t<div>\n\t\t\t<h2 className=\"text-lg font-bold\">Workshop Version Information</h2>\n\t\t\t<h3 className=\"text-md font-bold\">Workshop Commit</h3>\n\t\t\t{data.workshopCommit ? (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tHash:{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`${workshopConfig.githubRepo}/commit/${data.workshopCommit.hash}`}\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.workshopCommit.hash}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>Message: {data.workshopCommit.message}</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tDate: {data.workshopCommit.dateFormatted} (\n\t\t\t\t\t\t{data.workshopCommit.dateFromNow})\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<p>No commit information available</p>\n\t\t\t)}\n\t\t\t<h3 className=\"text-md font-bold\">Workshop App</h3>\n\t\t\t<p>\n\t\t\t\t{'Current Version: '}\n\t\t\t\t{ENV.EPICSHOP_APP_VERSION ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`}\n\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ENV.EPICSHOP_APP_VERSION}\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t'Unknown'\n\t\t\t\t)}\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{'Latest Version: '}\n\t\t\t\t<a\n\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${data.latestWorkshopAppVersion}`}\n\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t>\n\t\t\t\t\t{data.latestWorkshopAppVersion}\n\t\t\t\t</a>\n\t\t\t</p>\n\t\t\t<h3 className=\"text-md font-bold\">App Start Time</h3>\n\t\t\t<p>\n\t\t\t\t{data.startTimeFormatted} ({data.startTimeFromNow})\n\t\t\t</p>\n\t\t</div>\n\t)\n}\n"],"names":["handle","getSitemapEntries","version","_UNSAFE_withComponentProps","data","useLoaderData","workshopConfig","useWorkshopConfig","children","jsx","className","workshopCommit","jsxs","Fragment","href","githubRepo","hash","message","dateFormatted","dateFromNow","ENV","EPICSHOP_APP_VERSION","latestWorkshopAppVersion","startTimeFormatted","startTimeFromNow"],"mappings":"gLAeO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EA2CAC,EAAAC,EAAA,UAAkC,CACjC,MAAMC,EAAOC,EAAA,EACPC,EAAiBC,EAAA,EAEvB,cACE,MAAA,CACAC,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAGC,UAAU,oBAAoBF,SAAA,8BAAA,CAA4B,EAC9DC,EAAAA,IAAC,KAAA,CAAGC,UAAU,oBAAoBF,SAAA,kBAAe,EAChDJ,EAAKO,eACLC,EAAAA,KAAAC,EAAAA,SAAA,CACCL,SAAA,CAAAI,EAAAA,KAAC,IAAA,CAAEJ,SAAA,CAAA,QACI,IACNC,EAAAA,IAAC,IAAA,CACAK,KAAM,GAAGR,EAAeS,UAAU,WAAWX,EAAKO,eAAeK,IAAI,GACrEN,UAAU,YAETF,SAAAJ,EAAKO,eAAeK,IAAA,CACtB,CAAA,CAAA,CACD,SACC,IAAA,CAAER,SAAA,CAAA,YAAUJ,EAAKO,eAAeM,OAAA,CAAA,CAAQ,SACxC,IAAA,CAAET,SAAA,CAAA,SACKJ,EAAKO,eAAeO,cAAc,KACxCd,EAAKO,eAAeQ,YAAY,GAAA,CAAA,CAClC,CAAA,CAAA,CACD,EAEAV,EAAAA,IAAC,IAAA,CAAED,SAAA,iCAAA,CAA+B,EAEnCC,EAAAA,IAAC,KAAA,CAAGC,UAAU,oBAAoBF,SAAA,cAAA,CAAY,SAC7C,IAAA,CACCA,SAAA,CAAA,oBACAY,IAAIC,qBACJZ,EAAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDM,IAAIC,oBAAoB,GACvFX,UAAU,YAETF,SAAAY,IAAIC,qBACN,EAEA,SAAA,CAAA,CAEF,SACC,IAAA,CACCb,SAAA,CAAA,mBACDC,EAAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDV,EAAKkB,wBAAwB,GAC5FZ,UAAU,YAETF,SAAAJ,EAAKkB,wBAAA,CACP,CAAA,CAAA,CACD,EACAb,EAAAA,IAAC,KAAA,CAAGC,UAAU,oBAAoBF,SAAA,gBAAA,CAAc,SAC/C,IAAA,CACCA,SAAA,CAAAJ,EAAKmB,mBAAmB,KAAGnB,EAAKoB,iBAAiB,GAAA,CAAA,CACnD,CAAA,CAAA,CACD,CAEF,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{g as r}from"./chunk-QMGIS6GS-BuHkd1At.js";import"./_-xwArvaaj.js";function e(){const o=r("root");if(!o?.workshopConfig)throw new Error("useWorkshopConfig requires a workshopConfig.");return o.workshopConfig}export{e as u};
2
+ //# sourceMappingURL=workshop-config-B8s2UB74.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workshop-config-DJEL9dz_.js","sources":["../../../app/components/workshop-config.tsx"],"sourcesContent":["import { useRouteLoaderData } from 'react-router'\nimport { type RootLoaderData } from '#app/root.tsx'\n\nexport function useWorkshopConfig() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\tif (!data?.workshopConfig) {\n\t\tthrow new Error('useWorkshopConfig requires a workshopConfig.')\n\t}\n\treturn data.workshopConfig\n}\n"],"names":["useWorkshopConfig","data","useRouteLoaderData"],"mappings":"yEAGO,SAASA,GAAoB,CACnC,MAAMC,EAAOC,EAAmB,MAAM,EACtC,GAAI,CAACD,GAAM,eACV,MAAM,IAAI,MAAM,8CAA8C,EAE/D,OAAOA,EAAK,cACb"}
1
+ {"version":3,"file":"workshop-config-B8s2UB74.js","sources":["../../../app/components/workshop-config.tsx"],"sourcesContent":["import { useRouteLoaderData } from 'react-router'\nimport { type RootLoaderData } from '#app/root.tsx'\n\nexport function useWorkshopConfig() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\tif (!data?.workshopConfig) {\n\t\tthrow new Error('useWorkshopConfig requires a workshopConfig.')\n\t}\n\treturn data.workshopConfig\n}\n"],"names":["useWorkshopConfig","data","useRouteLoaderData"],"mappings":"yEAGO,SAASA,GAAoB,CACnC,MAAMC,EAAOC,EAAmB,MAAM,EACtC,GAAI,CAACD,GAAM,eACV,MAAM,IAAI,MAAM,8CAA8C,EAE/D,OAAOA,EAAK,cACb"}
@@ -1,2 +1,2 @@
1
- import{w as t,c as o,f as i,L as n,F as d}from"./chunk-QMGIS6GS-BqoFcGjf.js";import{j as e}from"./jsx-runtime-DopJAmxb.js";import{B as c}from"./button-Cd-BxHRD.js";import"./_-G-R-Viwe.js";import"./clsx-B-dksMZM.js";const p=t(function(){const{preferences:r}=o(),s=i().state==="submitting";return e.jsx("div",{className:"h-full w-full overflow-y-auto",children:e.jsxs("main",{className:"container mt-12 flex w-full max-w-4xl flex-grow flex-col gap-6 pb-24",children:[e.jsx("h1",{className:"text-h1",children:"Workshop Structure & Guidelines"}),e.jsxs("div",{className:"rounded-lg border border-destructive bg-destructive/10 p-4",children:[e.jsx("h2",{className:"mb-2 text-lg font-semibold text-destructive",children:"⚠️ Important: Work in the Right Directory"}),e.jsx("p",{className:"text-sm text-destructive",children:e.jsx("strong",{children:"Always work in the `playground` directory, not the `exercises` directory."})}),e.jsxs("p",{className:"mt-2 text-sm text-destructive",children:["To ",e.jsx("strong",{children:"make this warning go away"}),", either:",e.jsxs("ol",{className:"list-decimal pl-4",children:[e.jsxs("li",{children:["Undo your changes in the exercises directory with: ",e.jsx("code",{className:"rounded bg-background px-1 py-0.5 text-xs",children:"git checkout exercises/"})]}),e.jsx("li",{children:"Read below and check the box once you understand how this is supposed to work."})]})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("section",{children:[e.jsx("h2",{className:"mb-3 text-h2",children:"Directory Structure"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"📁 exercises/"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Templates only."})," These are the original exercise files that serve as the starting point for each step.",e.jsxs("strong",{className:"text-destructive",children:[" ","Do not edit these files"]})," ","unless you're contributing to the workshop or are the instructor building the content."]})]}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"🏗️ playground/"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Your workspace."})," This is where you practice and develop your skills.",e.jsx("strong",{className:"text-primary",children:" Always work here"})," to complete exercises and experiment with the code."]})]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-3 text-h2",children:"Workshop UI Tabs"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"🏗️ Playground Tab"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Shows the ",e.jsx("strong",{children:"current state of your playground"})," - this is your work in progress."]})]}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"📋 Problem Tab"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Shows the ",e.jsx("strong",{children:"current state of the problem"})," - useful for referencing where you started in this exercise step."]})]}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"✅ Solution Tab"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Shows the ",e.jsx("strong",{children:"current state of the solution"})," - useful for checking how things should work when you're finished and comparing to your own solution."]})]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-3 text-h2",children:"Exceptions to the Rule"}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:["The only times you should modify files in the"," ",e.jsx("code",{className:"rounded bg-background px-1 py-0.5 text-xs",children:"exercises/"})," ","directory are:"]}),e.jsxs("ul",{className:"mt-2 space-y-1 text-sm text-muted-foreground",children:[e.jsxs("li",{children:["• ",e.jsx("strong",{children:"You're the instructor"})," building or maintaining the workshop content"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"You're contributing"})," to the workshop source code (bug fixes, improvements, etc.)"]})]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-3 text-h2",children:"Need a Refresher?"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["For a complete overview of the typical workflow, check out the"," ",e.jsx(n,{to:"/onboarding",className:"text-primary underline hover:no-underline",children:"onboarding page"})," ","to review the expected workflow."]})]}),e.jsx("hr",{}),e.jsx("section",{children:e.jsxs("div",{className:"rounded-lg border border-destructive bg-destructive/10 p-4",children:[e.jsx("h2",{className:"mb-2 text-lg font-semibold text-destructive",children:"Make this warning go away"}),e.jsxs(d,{method:"post",className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",id:"dismissWarning",name:"dismissWarning",defaultChecked:r?.exerciseWarning?.dismissed,className:"rounded border-border"}),e.jsx("label",{htmlFor:"dismissWarning",className:"text-sm",children:"I understand this and do not need further warnings about editing the exercises directory"})]}),e.jsx(c,{type:"submit",varient:"primary",disabled:s,children:s?"Saving...":"Save Preference"})]})]})})]})]})})});export{p as default};
2
- //# sourceMappingURL=workspace-structure-CSRqlwXn.js.map
1
+ import{w as t,c as o,f as i,L as n,F as d}from"./chunk-QMGIS6GS-BuHkd1At.js";import{j as e}from"./jsx-runtime-DwNMUGRi.js";import{B as c}from"./button-Ch7Uop3u.js";import"./_-xwArvaaj.js";import"./clsx-B-dksMZM.js";const p=t(function(){const{preferences:r}=o(),s=i().state==="submitting";return e.jsx("div",{className:"h-full w-full overflow-y-auto",children:e.jsxs("main",{className:"container mt-12 flex w-full max-w-4xl flex-grow flex-col gap-6 pb-24",children:[e.jsx("h1",{className:"text-h1",children:"Workshop Structure & Guidelines"}),e.jsxs("div",{className:"rounded-lg border border-destructive bg-destructive/10 p-4",children:[e.jsx("h2",{className:"mb-2 text-lg font-semibold text-destructive",children:"⚠️ Important: Work in the Right Directory"}),e.jsx("p",{className:"text-sm text-destructive",children:e.jsx("strong",{children:"Always work in the `playground` directory, not the `exercises` directory."})}),e.jsxs("p",{className:"mt-2 text-sm text-destructive",children:["To ",e.jsx("strong",{children:"make this warning go away"}),", either:",e.jsxs("ol",{className:"list-decimal pl-4",children:[e.jsxs("li",{children:["Undo your changes in the exercises directory with: ",e.jsx("code",{className:"rounded bg-background px-1 py-0.5 text-xs",children:"git checkout exercises/"})]}),e.jsx("li",{children:"Read below and check the box once you understand how this is supposed to work."})]})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("section",{children:[e.jsx("h2",{className:"mb-3 text-h2",children:"Directory Structure"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"📁 exercises/"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Templates only."})," These are the original exercise files that serve as the starting point for each step.",e.jsxs("strong",{className:"text-destructive",children:[" ","Do not edit these files"]})," ","unless you're contributing to the workshop or are the instructor building the content."]})]}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"🏗️ playground/"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Your workspace."})," This is where you practice and develop your skills.",e.jsx("strong",{className:"text-primary",children:" Always work here"})," to complete exercises and experiment with the code."]})]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-3 text-h2",children:"Workshop UI Tabs"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"🏗️ Playground Tab"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Shows the ",e.jsx("strong",{children:"current state of your playground"})," - this is your work in progress."]})]}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"📋 Problem Tab"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Shows the ",e.jsx("strong",{children:"current state of the problem"})," - useful for referencing where you started in this exercise step."]})]}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"✅ Solution Tab"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Shows the ",e.jsx("strong",{children:"current state of the solution"})," - useful for checking how things should work when you're finished and comparing to your own solution."]})]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-3 text-h2",children:"Exceptions to the Rule"}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted p-4",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:["The only times you should modify files in the"," ",e.jsx("code",{className:"rounded bg-background px-1 py-0.5 text-xs",children:"exercises/"})," ","directory are:"]}),e.jsxs("ul",{className:"mt-2 space-y-1 text-sm text-muted-foreground",children:[e.jsxs("li",{children:["• ",e.jsx("strong",{children:"You're the instructor"})," building or maintaining the workshop content"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"You're contributing"})," to the workshop source code (bug fixes, improvements, etc.)"]})]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"mb-3 text-h2",children:"Need a Refresher?"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["For a complete overview of the typical workflow, check out the"," ",e.jsx(n,{to:"/onboarding",className:"text-primary underline hover:no-underline",children:"onboarding page"})," ","to review the expected workflow."]})]}),e.jsx("hr",{}),e.jsx("section",{children:e.jsxs("div",{className:"rounded-lg border border-destructive bg-destructive/10 p-4",children:[e.jsx("h2",{className:"mb-2 text-lg font-semibold text-destructive",children:"Make this warning go away"}),e.jsxs(d,{method:"post",className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",id:"dismissWarning",name:"dismissWarning",defaultChecked:r?.exerciseWarning?.dismissed,className:"rounded border-border"}),e.jsx("label",{htmlFor:"dismissWarning",className:"text-sm",children:"I understand this and do not need further warnings about editing the exercises directory"})]}),e.jsx(c,{type:"submit",varient:"primary",disabled:s,children:s?"Saving...":"Save Preference"})]})]})})]})]})})});export{p as default};
2
+ //# sourceMappingURL=workspace-structure-BvwUIWnY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-structure-CSRqlwXn.js","sources":["../../../app/routes/_app+/workspace-structure.tsx"],"sourcesContent":["import {\n\tgetPreferences,\n\tsetPreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { Form, Link, useLoaderData, useNavigation } from 'react-router'\nimport { Button } from '#app/components/button.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport async function loader() {\n\tensureUndeployed()\n\tconst preferences = await getPreferences()\n\treturn { preferences }\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst dismissed = formData.get('dismissWarning') === 'on'\n\n\tawait setPreferences({\n\t\texerciseWarning: { dismissed },\n\t})\n\n\treturn redirectWithToast('/workspace-structure', {\n\t\ttitle: 'Preferences updated',\n\t\tdescription:\n\t\t\t'Your workspace structure warning preference has been updated.',\n\t\ttype: 'success',\n\t})\n}\n\nexport default function WorkspaceStructure() {\n\tconst { preferences } = useLoaderData<typeof loader>()\n\tconst navigation = useNavigation()\n\tconst isSubmitting = navigation.state === 'submitting'\n\n\treturn (\n\t\t<div className=\"h-full w-full overflow-y-auto\">\n\t\t\t<main className=\"container mt-12 flex w-full max-w-4xl flex-grow flex-col gap-6 pb-24\">\n\t\t\t\t<h1 className=\"text-h1\">Workshop Structure & Guidelines</h1>\n\n\t\t\t\t<div className=\"rounded-lg border border-destructive bg-destructive/10 p-4\">\n\t\t\t\t\t<h2 className=\"mb-2 text-lg font-semibold text-destructive\">\n\t\t\t\t\t\t⚠️ Important: Work in the Right Directory\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"text-sm text-destructive\">\n\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\tAlways work in the `playground` directory, not the `exercises`\n\t\t\t\t\t\t\tdirectory.\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p className=\"mt-2 text-sm text-destructive\">\n\t\t\t\t\t\tTo <strong>make this warning go away</strong>, either:\n\t\t\t\t\t\t<ol className=\"list-decimal pl-4\">\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t{`Undo your changes in the exercises directory with: `}\n\t\t\t\t\t\t\t\t<code className=\"rounded bg-background px-1 py-0.5 text-xs\">\n\t\t\t\t\t\t\t\t\tgit checkout exercises/\n\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\tRead below and check the box once you understand how this is\n\t\t\t\t\t\t\t\tsupposed to work.\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ol>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"space-y-6\">\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<h2 className=\"mb-3 text-h2\">Directory Structure</h2>\n\t\t\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">📁 exercises/</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<strong>Templates only.</strong> These are the original\n\t\t\t\t\t\t\t\t\texercise files that serve as the starting point for each step.\n\t\t\t\t\t\t\t\t\t<strong className=\"text-destructive\">\n\t\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t\t\tDo not edit these files\n\t\t\t\t\t\t\t\t\t</strong>{' '}\n\t\t\t\t\t\t\t\t\tunless you're contributing to the workshop or are the\n\t\t\t\t\t\t\t\t\tinstructor building the content.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">🏗️ playground/</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<strong>Your workspace.</strong> This is where you practice\n\t\t\t\t\t\t\t\t\tand develop your skills.\n\t\t\t\t\t\t\t\t\t<strong className=\"text-primary\"> Always work here</strong> to\n\t\t\t\t\t\t\t\t\tcomplete exercises and experiment with the code.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<h2 className=\"mb-3 text-h2\">Workshop UI Tabs</h2>\n\t\t\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">\n\t\t\t\t\t\t\t\t\t🏗️ Playground Tab\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\tShows the <strong>current state of your playground</strong> -\n\t\t\t\t\t\t\t\t\tthis is your work in progress.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">📋 Problem Tab</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\tShows the <strong>current state of the problem</strong> -\n\t\t\t\t\t\t\t\t\tuseful for referencing where you started in this exercise\n\t\t\t\t\t\t\t\t\tstep.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">✅ Solution Tab</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\tShows the <strong>current state of the solution</strong> -\n\t\t\t\t\t\t\t\t\tuseful for checking how things should work when you're\n\t\t\t\t\t\t\t\t\tfinished and comparing to your own solution.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<h2 className=\"mb-3 text-h2\">Exceptions to the Rule</h2>\n\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tThe only times you should modify files in the{' '}\n\t\t\t\t\t\t\t\t<code className=\"rounded bg-background px-1 py-0.5 text-xs\">\n\t\t\t\t\t\t\t\t\texercises/\n\t\t\t\t\t\t\t\t</code>{' '}\n\t\t\t\t\t\t\t\tdirectory are:\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<ul className=\"mt-2 space-y-1 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t• <strong>You're the instructor</strong> building or\n\t\t\t\t\t\t\t\t\tmaintaining the workshop content\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t• <strong>You're contributing</strong> to the workshop source\n\t\t\t\t\t\t\t\t\tcode (bug fixes, improvements, etc.)\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<h2 className=\"mb-3 text-h2\">Need a Refresher?</h2>\n\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tFor a complete overview of the typical workflow, check out the{' '}\n\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\tto=\"/onboarding\"\n\t\t\t\t\t\t\t\tclassName=\"text-primary underline hover:no-underline\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tonboarding page\n\t\t\t\t\t\t\t</Link>{' '}\n\t\t\t\t\t\t\tto review the expected workflow.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</section>\n\n\t\t\t\t\t<hr />\n\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<div className=\"rounded-lg border border-destructive bg-destructive/10 p-4\">\n\t\t\t\t\t\t\t<h2 className=\"mb-2 text-lg font-semibold text-destructive\">\n\t\t\t\t\t\t\t\tMake this warning go away\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<Form method=\"post\" className=\"space-y-4\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\tid=\"dismissWarning\"\n\t\t\t\t\t\t\t\t\t\tname=\"dismissWarning\"\n\t\t\t\t\t\t\t\t\t\tdefaultChecked={preferences?.exerciseWarning?.dismissed}\n\t\t\t\t\t\t\t\t\t\tclassName=\"rounded border-border\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label htmlFor=\"dismissWarning\" className=\"text-sm\">\n\t\t\t\t\t\t\t\t\t\tI understand this and do not need further warnings about\n\t\t\t\t\t\t\t\t\t\tediting the exercises directory\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<Button type=\"submit\" varient=\"primary\" disabled={isSubmitting}>\n\t\t\t\t\t\t\t\t\t{isSubmitting ? 'Saving...' : 'Save Preference'}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\t\t\t\t</div>\n\t\t\t</main>\n\t\t</div>\n\t)\n}\n"],"names":["workspaceStructure","_UNSAFE_withComponentProps","preferences","useLoaderData","isSubmitting","useNavigation","state","className","children","jsxs","jsx","Link","to","Form","method","type","id","name","defaultChecked","exerciseWarning","dismissed","htmlFor","Button","varient","disabled"],"mappings":"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"}
1
+ {"version":3,"file":"workspace-structure-BvwUIWnY.js","sources":["../../../app/routes/_app+/workspace-structure.tsx"],"sourcesContent":["import {\n\tgetPreferences,\n\tsetPreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { Form, Link, useLoaderData, useNavigation } from 'react-router'\nimport { Button } from '#app/components/button.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport async function loader() {\n\tensureUndeployed()\n\tconst preferences = await getPreferences()\n\treturn { preferences }\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst dismissed = formData.get('dismissWarning') === 'on'\n\n\tawait setPreferences({\n\t\texerciseWarning: { dismissed },\n\t})\n\n\treturn redirectWithToast('/workspace-structure', {\n\t\ttitle: 'Preferences updated',\n\t\tdescription:\n\t\t\t'Your workspace structure warning preference has been updated.',\n\t\ttype: 'success',\n\t})\n}\n\nexport default function WorkspaceStructure() {\n\tconst { preferences } = useLoaderData<typeof loader>()\n\tconst navigation = useNavigation()\n\tconst isSubmitting = navigation.state === 'submitting'\n\n\treturn (\n\t\t<div className=\"h-full w-full overflow-y-auto\">\n\t\t\t<main className=\"container mt-12 flex w-full max-w-4xl flex-grow flex-col gap-6 pb-24\">\n\t\t\t\t<h1 className=\"text-h1\">Workshop Structure & Guidelines</h1>\n\n\t\t\t\t<div className=\"rounded-lg border border-destructive bg-destructive/10 p-4\">\n\t\t\t\t\t<h2 className=\"mb-2 text-lg font-semibold text-destructive\">\n\t\t\t\t\t\t⚠️ Important: Work in the Right Directory\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"text-sm text-destructive\">\n\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\tAlways work in the `playground` directory, not the `exercises`\n\t\t\t\t\t\t\tdirectory.\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p className=\"mt-2 text-sm text-destructive\">\n\t\t\t\t\t\tTo <strong>make this warning go away</strong>, either:\n\t\t\t\t\t\t<ol className=\"list-decimal pl-4\">\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t{`Undo your changes in the exercises directory with: `}\n\t\t\t\t\t\t\t\t<code className=\"rounded bg-background px-1 py-0.5 text-xs\">\n\t\t\t\t\t\t\t\t\tgit checkout exercises/\n\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\tRead below and check the box once you understand how this is\n\t\t\t\t\t\t\t\tsupposed to work.\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ol>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"space-y-6\">\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<h2 className=\"mb-3 text-h2\">Directory Structure</h2>\n\t\t\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">📁 exercises/</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<strong>Templates only.</strong> These are the original\n\t\t\t\t\t\t\t\t\texercise files that serve as the starting point for each step.\n\t\t\t\t\t\t\t\t\t<strong className=\"text-destructive\">\n\t\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t\t\tDo not edit these files\n\t\t\t\t\t\t\t\t\t</strong>{' '}\n\t\t\t\t\t\t\t\t\tunless you're contributing to the workshop or are the\n\t\t\t\t\t\t\t\t\tinstructor building the content.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">🏗️ playground/</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<strong>Your workspace.</strong> This is where you practice\n\t\t\t\t\t\t\t\t\tand develop your skills.\n\t\t\t\t\t\t\t\t\t<strong className=\"text-primary\"> Always work here</strong> to\n\t\t\t\t\t\t\t\t\tcomplete exercises and experiment with the code.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<h2 className=\"mb-3 text-h2\">Workshop UI Tabs</h2>\n\t\t\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">\n\t\t\t\t\t\t\t\t\t🏗️ Playground Tab\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\tShows the <strong>current state of your playground</strong> -\n\t\t\t\t\t\t\t\t\tthis is your work in progress.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">📋 Problem Tab</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\tShows the <strong>current state of the problem</strong> -\n\t\t\t\t\t\t\t\t\tuseful for referencing where you started in this exercise\n\t\t\t\t\t\t\t\t\tstep.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t\t<h3 className=\"mb-2 text-lg font-semibold\">✅ Solution Tab</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\tShows the <strong>current state of the solution</strong> -\n\t\t\t\t\t\t\t\t\tuseful for checking how things should work when you're\n\t\t\t\t\t\t\t\t\tfinished and comparing to your own solution.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<h2 className=\"mb-3 text-h2\">Exceptions to the Rule</h2>\n\t\t\t\t\t\t<div className=\"rounded-lg border border-border bg-muted p-4\">\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tThe only times you should modify files in the{' '}\n\t\t\t\t\t\t\t\t<code className=\"rounded bg-background px-1 py-0.5 text-xs\">\n\t\t\t\t\t\t\t\t\texercises/\n\t\t\t\t\t\t\t\t</code>{' '}\n\t\t\t\t\t\t\t\tdirectory are:\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<ul className=\"mt-2 space-y-1 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t• <strong>You're the instructor</strong> building or\n\t\t\t\t\t\t\t\t\tmaintaining the workshop content\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t• <strong>You're contributing</strong> to the workshop source\n\t\t\t\t\t\t\t\t\tcode (bug fixes, improvements, etc.)\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<h2 className=\"mb-3 text-h2\">Need a Refresher?</h2>\n\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tFor a complete overview of the typical workflow, check out the{' '}\n\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\tto=\"/onboarding\"\n\t\t\t\t\t\t\t\tclassName=\"text-primary underline hover:no-underline\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tonboarding page\n\t\t\t\t\t\t\t</Link>{' '}\n\t\t\t\t\t\t\tto review the expected workflow.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</section>\n\n\t\t\t\t\t<hr />\n\n\t\t\t\t\t<section>\n\t\t\t\t\t\t<div className=\"rounded-lg border border-destructive bg-destructive/10 p-4\">\n\t\t\t\t\t\t\t<h2 className=\"mb-2 text-lg font-semibold text-destructive\">\n\t\t\t\t\t\t\t\tMake this warning go away\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<Form method=\"post\" className=\"space-y-4\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\tid=\"dismissWarning\"\n\t\t\t\t\t\t\t\t\t\tname=\"dismissWarning\"\n\t\t\t\t\t\t\t\t\t\tdefaultChecked={preferences?.exerciseWarning?.dismissed}\n\t\t\t\t\t\t\t\t\t\tclassName=\"rounded border-border\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label htmlFor=\"dismissWarning\" className=\"text-sm\">\n\t\t\t\t\t\t\t\t\t\tI understand this and do not need further warnings about\n\t\t\t\t\t\t\t\t\t\tediting the exercises directory\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<Button type=\"submit\" varient=\"primary\" disabled={isSubmitting}>\n\t\t\t\t\t\t\t\t\t{isSubmitting ? 'Saving...' : 'Save Preference'}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\t\t\t\t</div>\n\t\t\t</main>\n\t\t</div>\n\t)\n}\n"],"names":["workspaceStructure","_UNSAFE_withComponentProps","preferences","useLoaderData","isSubmitting","useNavigation","state","className","children","jsxs","jsx","Link","to","Form","method","type","id","name","defaultChecked","exerciseWarning","dismissed","htmlFor","Button","varient","disabled"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import{_ as a,s as gi,g as xi,t as Xt,q as di,a as pi,b as fi,l as Nt,K as mi,e as yi,z as bi,G as St,F as Yt,H as Ai,a1 as wi,i as Ci,aF as Si,a9 as Wt}from"./mermaid.core-CrizYspT.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-Cboi1Yqb.js";import{l as zt}from"./linear-Bt2Z5LIl.js";import"./mdx-DXkB3-D7.js";import"./jsx-runtime-DopJAmxb.js";import"./_-G-R-Viwe.js";import"./clsx-B-dksMZM.js";import"./chunk-QMGIS6GS-BqoFcGjf.js";import"./index-C4iAiEH3.js";import"./epic-video-B4JXxTHF.js";import"./index-DR_34ZYa.js";import"./misc-CsXWl7t3.js";import"./tooltip-qn6hWSiF.js";import"./pe-BxKs4avg.js";import"./online-DjmMmyzh.js";import"./loading-DzyW6U9J.js";import"./user-BKgwXxoQ.js";import"./workshop-config-DJEL9dz_.js";import"./progress-bar-t9g4gI_5.js";import"./defaultLocale-C4B-KCzX.js";function Ri(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,r=new Array(n);++s<n;)r[s]=e+s*i;return r}function yt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,r,g,m=!1,f=0,k=0,v=.5;delete e.unknown;function C(){var b=t().length,E=n<s,D=E?n:s,P=E?s:n;r=(P-D)/Math.max(1,b-f+k*2),m&&(r=Math.floor(r)),D+=(P-D-r*(b-f))*v,g=r*(1-f),m&&(D=Math.round(D),g=Math.round(g));var I=Ri(b).map(function(y){return D+r*y});return i(E?I.reverse():I)}return e.domain=function(b){return arguments.length?(t(b),C()):t()},e.range=function(b){return arguments.length?([s,n]=b,s=+s,n=+n,C()):[s,n]},e.rangeRound=function(b){return[s,n]=b,s=+s,n=+n,m=!0,C()},e.bandwidth=function(){return g},e.step=function(){return r},e.round=function(b){return arguments.length?(m=!!b,C()):m},e.padding=function(b){return arguments.length?(f=Math.min(1,k=+b),C()):f},e.paddingInner=function(b){return arguments.length?(f=Math.min(1,b),C()):f},e.paddingOuter=function(b){return arguments.length?(k=+b,C()):k},e.align=function(b){return arguments.length?(v=Math.max(0,Math.min(1,b)),C()):v},e.copy=function(){return yt(t(),[s,n]).round(m).paddingInner(f).paddingOuter(k).align(v)},_i.apply(C(),arguments)}var bt=function(){var e=a(function(F,h,u,x){for(u=u||{},x=F.length;x--;u[F[x]]=h);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],r=[1,6],g=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],f=[1,25],k=[1,26],v=[1,28],C=[1,29],b=[1,30],E=[1,31],D=[1,32],P=[1,33],I=[1,34],y=[1,35],_=[1,36],c=[1,37],W=[1,43],z=[1,42],U=[1,47],X=[1,50],l=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],R=[1,64],$={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(h,u,x,d,w,o,at){var p=o.length-1;switch(w){case 5:d.setOrientation(o[p]);break;case 9:d.setDiagramTitle(o[p].text.trim());break;case 12:d.setLineData({text:"",type:"text"},o[p]);break;case 13:d.setLineData(o[p-1],o[p]);break;case 14:d.setBarData({text:"",type:"text"},o[p]);break;case 15:d.setBarData(o[p-1],o[p]);break;case 16:this.$=o[p].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=o[p].trim(),d.setAccDescription(this.$);break;case 19:this.$=o[p-1];break;case 20:this.$=[Number(o[p-2]),...o[p]];break;case 21:this.$=[Number(o[p])];break;case 22:d.setXAxisTitle(o[p]);break;case 23:d.setXAxisTitle(o[p-1]);break;case 24:d.setXAxisTitle({type:"text",text:""});break;case 25:d.setXAxisBand(o[p]);break;case 26:d.setXAxisRangeData(Number(o[p-2]),Number(o[p]));break;case 27:this.$=o[p-1];break;case 28:this.$=[o[p-2],...o[p]];break;case 29:this.$=[o[p]];break;case 30:d.setYAxisTitle(o[p]);break;case 31:d.setYAxisTitle(o[p-1]);break;case 32:d.setYAxisTitle({type:"text",text:""});break;case 33:d.setYAxisRangeData(Number(o[p-2]),Number(o[p]));break;case 37:this.$={text:o[p],type:"text"};break;case 38:this.$={text:o[p],type:"text"};break;case 39:this.$={text:o[p],type:"markdown"};break;case 40:this.$=o[p];break;case 41:this.$=o[p-1]+""+o[p];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:r,36:g}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:r,36:g}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:r,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(m,[2,34]),e(m,[2,35]),e(m,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:r,36:g}),{1:[2,3]},e(m,[2,5]),e(t,[2,7],{4:22,34:n,35:r,36:g}),{11:23,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:39,13:38,24:W,27:z,29:40,30:41,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:45,15:44,27:U,33:46,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:49,17:48,24:X,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:52,17:51,24:X,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{20:[1,53]},{22:[1,54]},e(l,[2,18]),{1:[2,2]},e(l,[2,8]),e(l,[2,9]),e(L,[2,37],{40:55,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c}),e(L,[2,38]),e(L,[2,39]),e(S,[2,40]),e(S,[2,42]),e(S,[2,43]),e(S,[2,44]),e(S,[2,45]),e(S,[2,46]),e(S,[2,47]),e(S,[2,48]),e(S,[2,49]),e(S,[2,50]),e(S,[2,51]),e(l,[2,10]),e(l,[2,22],{30:41,29:56,24:W,27:z}),e(l,[2,24]),e(l,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,11]),e(l,[2,30],{33:60,27:U}),e(l,[2,32]),{31:[1,61]},e(l,[2,12]),{17:62,24:X},{25:63,27:R},e(l,[2,14]),{17:65,24:X},e(l,[2,16]),e(l,[2,17]),e(S,[2,41]),e(l,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(l,[2,31]),{27:[1,69]},e(l,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(l,[2,15]),e(l,[2,26]),e(l,[2,27]),{11:59,32:72,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,33]),e(l,[2,19]),{25:73,27:R},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(h,u){if(u.recoverable)this.trace(h);else{var x=new Error(h);throw x.hash=u,x}},"parseError"),parse:a(function(h){var u=this,x=[0],d=[],w=[null],o=[],at=this.table,p="",lt=0,It=0,hi=2,Mt=1,li=o.slice.call(arguments,1),T=Object.create(this.lexer),Y={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Y.yy[dt]=this.yy[dt]);T.setInput(h,Y.yy),Y.yy.lexer=T,Y.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var pt=T.yylloc;o.push(pt);var ci=T.options&&T.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ui(V){x.length=x.length-2*V,w.length=w.length-V,o.length=o.length-V}a(ui,"popStack");function Vt(){var V;return V=d.pop()||T.lex()||Mt,typeof V!="number"&&(V instanceof Array&&(d=V,V=d.pop()),V=u.symbols_[V]||V),V}a(Vt,"lex");for(var M,H,B,ft,q={},ct,O,Bt,ut;;){if(H=x[x.length-1],this.defaultActions[H]?B=this.defaultActions[H]:((M===null||typeof M>"u")&&(M=Vt()),B=at[H]&&at[H][M]),typeof B>"u"||!B.length||!B[0]){var mt="";ut=[];for(ct in at[H])this.terminals_[ct]&&ct>hi&&ut.push("'"+this.terminals_[ct]+"'");T.showPosition?mt="Parse error on line "+(lt+1)+`:
1
+ import{_ as a,s as gi,g as xi,t as Xt,q as di,a as pi,b as fi,l as Nt,K as mi,e as yi,z as bi,G as St,F as Yt,H as Ai,a1 as wi,i as Ci,aF as Si,a9 as Wt}from"./mermaid.core-b_OJ0H-L.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-Cboi1Yqb.js";import{l as zt}from"./linear-DCioa5HU.js";import"./mdx-B12CHovS.js";import"./jsx-runtime-DwNMUGRi.js";import"./_-xwArvaaj.js";import"./clsx-B-dksMZM.js";import"./chunk-QMGIS6GS-BuHkd1At.js";import"./index-BDjKpcj7.js";import"./epic-video-wBXopVA9.js";import"./index-BgoVp_dk.js";import"./misc-BSfaml-C.js";import"./tooltip-Czb6Ovbu.js";import"./pe-B8wMI5OT.js";import"./online-DjW0DI_3.js";import"./loading-D4LMH5BS.js";import"./user-C0q7xoFQ.js";import"./workshop-config-B8s2UB74.js";import"./progress-bar-CUlGRzhp.js";import"./defaultLocale-C4B-KCzX.js";function Ri(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,r=new Array(n);++s<n;)r[s]=e+s*i;return r}function yt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,r,g,m=!1,f=0,k=0,v=.5;delete e.unknown;function C(){var b=t().length,E=n<s,D=E?n:s,P=E?s:n;r=(P-D)/Math.max(1,b-f+k*2),m&&(r=Math.floor(r)),D+=(P-D-r*(b-f))*v,g=r*(1-f),m&&(D=Math.round(D),g=Math.round(g));var I=Ri(b).map(function(y){return D+r*y});return i(E?I.reverse():I)}return e.domain=function(b){return arguments.length?(t(b),C()):t()},e.range=function(b){return arguments.length?([s,n]=b,s=+s,n=+n,C()):[s,n]},e.rangeRound=function(b){return[s,n]=b,s=+s,n=+n,m=!0,C()},e.bandwidth=function(){return g},e.step=function(){return r},e.round=function(b){return arguments.length?(m=!!b,C()):m},e.padding=function(b){return arguments.length?(f=Math.min(1,k=+b),C()):f},e.paddingInner=function(b){return arguments.length?(f=Math.min(1,b),C()):f},e.paddingOuter=function(b){return arguments.length?(k=+b,C()):k},e.align=function(b){return arguments.length?(v=Math.max(0,Math.min(1,b)),C()):v},e.copy=function(){return yt(t(),[s,n]).round(m).paddingInner(f).paddingOuter(k).align(v)},_i.apply(C(),arguments)}var bt=function(){var e=a(function(F,h,u,x){for(u=u||{},x=F.length;x--;u[F[x]]=h);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],r=[1,6],g=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],f=[1,25],k=[1,26],v=[1,28],C=[1,29],b=[1,30],E=[1,31],D=[1,32],P=[1,33],I=[1,34],y=[1,35],_=[1,36],c=[1,37],W=[1,43],z=[1,42],U=[1,47],X=[1,50],l=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],R=[1,64],$={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(h,u,x,d,w,o,at){var p=o.length-1;switch(w){case 5:d.setOrientation(o[p]);break;case 9:d.setDiagramTitle(o[p].text.trim());break;case 12:d.setLineData({text:"",type:"text"},o[p]);break;case 13:d.setLineData(o[p-1],o[p]);break;case 14:d.setBarData({text:"",type:"text"},o[p]);break;case 15:d.setBarData(o[p-1],o[p]);break;case 16:this.$=o[p].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=o[p].trim(),d.setAccDescription(this.$);break;case 19:this.$=o[p-1];break;case 20:this.$=[Number(o[p-2]),...o[p]];break;case 21:this.$=[Number(o[p])];break;case 22:d.setXAxisTitle(o[p]);break;case 23:d.setXAxisTitle(o[p-1]);break;case 24:d.setXAxisTitle({type:"text",text:""});break;case 25:d.setXAxisBand(o[p]);break;case 26:d.setXAxisRangeData(Number(o[p-2]),Number(o[p]));break;case 27:this.$=o[p-1];break;case 28:this.$=[o[p-2],...o[p]];break;case 29:this.$=[o[p]];break;case 30:d.setYAxisTitle(o[p]);break;case 31:d.setYAxisTitle(o[p-1]);break;case 32:d.setYAxisTitle({type:"text",text:""});break;case 33:d.setYAxisRangeData(Number(o[p-2]),Number(o[p]));break;case 37:this.$={text:o[p],type:"text"};break;case 38:this.$={text:o[p],type:"text"};break;case 39:this.$={text:o[p],type:"markdown"};break;case 40:this.$=o[p];break;case 41:this.$=o[p-1]+""+o[p];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:r,36:g}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:r,36:g}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:r,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(m,[2,34]),e(m,[2,35]),e(m,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:r,36:g}),{1:[2,3]},e(m,[2,5]),e(t,[2,7],{4:22,34:n,35:r,36:g}),{11:23,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:39,13:38,24:W,27:z,29:40,30:41,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:45,15:44,27:U,33:46,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:49,17:48,24:X,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:52,17:51,24:X,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{20:[1,53]},{22:[1,54]},e(l,[2,18]),{1:[2,2]},e(l,[2,8]),e(l,[2,9]),e(L,[2,37],{40:55,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c}),e(L,[2,38]),e(L,[2,39]),e(S,[2,40]),e(S,[2,42]),e(S,[2,43]),e(S,[2,44]),e(S,[2,45]),e(S,[2,46]),e(S,[2,47]),e(S,[2,48]),e(S,[2,49]),e(S,[2,50]),e(S,[2,51]),e(l,[2,10]),e(l,[2,22],{30:41,29:56,24:W,27:z}),e(l,[2,24]),e(l,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,11]),e(l,[2,30],{33:60,27:U}),e(l,[2,32]),{31:[1,61]},e(l,[2,12]),{17:62,24:X},{25:63,27:R},e(l,[2,14]),{17:65,24:X},e(l,[2,16]),e(l,[2,17]),e(S,[2,41]),e(l,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(l,[2,31]),{27:[1,69]},e(l,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(l,[2,15]),e(l,[2,26]),e(l,[2,27]),{11:59,32:72,37:24,38:f,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,33]),e(l,[2,19]),{25:73,27:R},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(h,u){if(u.recoverable)this.trace(h);else{var x=new Error(h);throw x.hash=u,x}},"parseError"),parse:a(function(h){var u=this,x=[0],d=[],w=[null],o=[],at=this.table,p="",lt=0,It=0,hi=2,Mt=1,li=o.slice.call(arguments,1),T=Object.create(this.lexer),Y={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Y.yy[dt]=this.yy[dt]);T.setInput(h,Y.yy),Y.yy.lexer=T,Y.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var pt=T.yylloc;o.push(pt);var ci=T.options&&T.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ui(V){x.length=x.length-2*V,w.length=w.length-V,o.length=o.length-V}a(ui,"popStack");function Vt(){var V;return V=d.pop()||T.lex()||Mt,typeof V!="number"&&(V instanceof Array&&(d=V,V=d.pop()),V=u.symbols_[V]||V),V}a(Vt,"lex");for(var M,H,B,ft,q={},ct,O,Bt,ut;;){if(H=x[x.length-1],this.defaultActions[H]?B=this.defaultActions[H]:((M===null||typeof M>"u")&&(M=Vt()),B=at[H]&&at[H][M]),typeof B>"u"||!B.length||!B[0]){var mt="";ut=[];for(ct in at[H])this.terminals_[ct]&&ct>hi&&ut.push("'"+this.terminals_[ct]+"'");T.showPosition?mt="Parse error on line "+(lt+1)+`:
2
2
  `+T.showPosition()+`
3
3
  Expecting `+ut.join(", ")+", got '"+(this.terminals_[M]||M)+"'":mt="Parse error on line "+(lt+1)+": Unexpected "+(M==Mt?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(mt,{text:T.match,token:this.terminals_[M]||M,line:T.yylineno,loc:pt,expected:ut})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+M);switch(B[0]){case 1:x.push(M),w.push(T.yytext),o.push(T.yylloc),x.push(B[1]),M=null,It=T.yyleng,p=T.yytext,lt=T.yylineno,pt=T.yylloc;break;case 2:if(O=this.productions_[B[1]][1],q.$=w[w.length-O],q._$={first_line:o[o.length-(O||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(O||1)].first_column,last_column:o[o.length-1].last_column},ci&&(q._$.range=[o[o.length-(O||1)].range[0],o[o.length-1].range[1]]),ft=this.performAction.apply(q,[p,It,lt,Y.yy,B[1],w,o].concat(li)),typeof ft<"u")return ft;O&&(x=x.slice(0,-1*O*2),w=w.slice(0,-1*O),o=o.slice(0,-1*O)),x.push(this.productions_[B[1]][0]),w.push(q.$),o.push(q._$),Bt=at[x[x.length-2]][x[x.length-1]],x.push(Bt);break;case 3:return!0}}return!0},"parse")},Et=function(){var F={EOF:1,parseError:a(function(u,x){if(this.yy.parser)this.yy.parser.parseError(u,x);else throw new Error(u)},"parseError"),setInput:a(function(h,u){return this.yy=u||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var u=h.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var u=h.length,x=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),x.length-1&&(this.yylineno-=x.length-1);var w=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:x?(x.length===d.length?this.yylloc.first_column:0)+d[d.length-x.length].length-x[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),u=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
5
5
  `+u+"^"},"showPosition"),test_match:a(function(h,u){var x,d,w;if(this.options.backtrack_lexer&&(w={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(w.yylloc.range=this.yylloc.range.slice(0))),d=h[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+h[0].length},this.yytext+=h[0],this.match+=h[0],this.matches=h,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(h[0].length),this.matched+=h[0],x=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),x)return x;if(this._backtrack){for(var o in w)this[o]=w[o];return!1}return!1},"test_match"),next:a(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var h,u,x,d;this._more||(this.yytext="",this.match="");for(var w=this._currentRules(),o=0;o<w.length;o++)if(x=this._input.match(this.rules[w[o]]),x&&(!u||x[0].length>u[0].length)){if(u=x,d=o,this.options.backtrack_lexer){if(h=this.test_match(x,w[o]),h!==!1)return h;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(h=this.test_match(u,w[d]),h!==!1?h:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
6
  `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:a(function(){var u=this.next();return u||this.lex()},"lex"),begin:a(function(u){this.conditionStack.push(u)},"begin"),popState:a(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:a(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:a(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:a(function(u){this.begin(u)},"pushState"),stateStackSize:a(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:a(function(u,x,d,w){switch(d){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return F}();$.lexer=Et;function N(){this.yy={}}return a(N,"Parser"),N.prototype=$,$.Parser=N,new N}();bt.parser=bt;var Ti=bt;function At(e){return e.type==="bar"}a(At,"isBarPlot");function _t(e){return e.type==="band"}a(_t,"isBandAxisData");function G(e){return e.type==="linear"}a(G,"isLinearAxisData");var j,Ht=(j=class{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((r,g)=>Math.max(g.length,r),0)*i,height:i};const s={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const r of t){const g=Si(n,1,r),m=g?g.width:r.length*i,f=g?g.height:i;s.width=Math.max(s.width,m),s.height=Math.max(s.height,f)}return n.remove(),s}},a(j,"TextDimensionCalculatorWithFont"),j),Ft=.7,Ot=.2,Q,Ut=(Q=class{constructor(t,i,s,n){this.axisConfig=t,this.title=i,this.textDimensionCalculator=s,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Ft*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Ft*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=Ot*t.width;this.outerPadding=Math.min(s.width/2,n);const r=s.height+this.axisConfig.labelPadding*2;this.labelTextHeight=s.height,r<=i&&(i-=r,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=Ot*t.height;this.outerPadding=Math.min(s.height/2,n);const r=s.width+this.axisConfig.labelPadding*2;r<=i&&(i-=r,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${i},${this.getScaleValue(s)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(s)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i} L ${this.getScaleValue(s)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(s)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},a(Q,"BaseAxis"),Q),K,Di=(K=class extends Ut{constructor(t,i,s,n,r){super(t,n,r,i),this.categories=s,this.scale=yt().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=yt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Nt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},a(K,"BandAxis"),K),Z,vi=(Z=class extends Ut{constructor(t,i,s,n,r){super(t,n,r,i),this.domain=s,this.scale=zt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=zt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}},a(Z,"LinearAxis"),Z);function wt(e,t,i,s){const n=new Ht(s);return _t(e)?new Di(t,i,e.categories,e.title,n):new vi(t,i,[e.min,e.max],e.title,n)}a(wt,"getAxis");var J,Pi=(J=class{constructor(t,i,s,n){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=s,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),s=Math.max(i.width,t.width),n=i.height+2*this.chartConfig.titlePadding;return i.width<=s&&i.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=s,this.boundingRect.height=n,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}},a(J,"ChartTitle"),J);function $t(e,t,i,s){const n=new Ht(s);return new Pi(n,e,t,i)}a($t,"getChartTitleComponent");var tt,Li=(tt=class{constructor(t,i,s,n,r){this.plotData=t,this.xAxis=i,this.yAxis=s,this.orientation=n,this.plotIndex=r}getDrawableElement(){const t=this.plotData.data.map(s=>[this.xAxis.getScaleValue(s[0]),this.yAxis.getScaleValue(s[1])]);let i;return this.orientation==="horizontal"?i=Wt().y(s=>s[0]).x(s=>s[1])(t):i=Wt().x(s=>s[0]).y(s=>s[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},a(tt,"LinePlot"),tt),it,Ei=(it=class{constructor(t,i,s,n,r,g){this.barData=t,this.boundingRect=i,this.xAxis=s,this.yAxis=n,this.orientation=r,this.plotIndex=g}getDrawableElement(){const t=this.barData.data.map(r=>[this.xAxis.getScaleValue(r[0]),this.yAxis.getScaleValue(r[1])]),s=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),n=s/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(r=>({x:this.boundingRect.x,y:r[0]-n,height:s,width:r[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(r=>({x:r[0]-n,y:r[1],width:s,height:this.boundingRect.y+this.boundingRect.height-r[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},a(it,"BarPlot"),it),et,Ii=(et=class{constructor(t,i,s){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,s]of this.chartData.plots.entries())switch(s.type){case"line":{const n=new Li(s,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break;case"bar":{const n=new Ei(s,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break}return t}},a(et,"BasePlot"),et);function qt(e,t,i){return new Ii(e,t,i)}a(qt,"getPlotComponent");var st,Mi=(st=class{constructor(t,i,s,n){this.chartConfig=t,this.chartData=i,this.componentStore={title:$t(t,i,s,n),plot:qt(t,i,s),xAxis:wt(i.xAxis,t.xAxis,{titleColor:s.xAxisTitleColor,labelColor:s.xAxisLabelColor,tickColor:s.xAxisTickColor,axisLineColor:s.xAxisLineColor},n),yAxis:wt(i.yAxis,t.yAxis,{titleColor:s.yAxisTitleColor,labelColor:s.yAxisLabelColor,tickColor:s.yAxisTickColor,axisLineColor:s.yAxisLineColor},n)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,r=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),g=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),m=this.componentStore.plot.calculateSpace({width:r,height:g});t-=m.width,i-=m.height,m=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),n=m.height,i-=m.height,this.componentStore.xAxis.setAxisPosition("bottom"),m=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=m.height,this.componentStore.yAxis.setAxisPosition("left"),m=this.componentStore.yAxis.calculateSpace({width:t,height:i}),s=m.width,t-=m.width,t>0&&(r+=t,t=0),i>0&&(g+=i,i=0),this.componentStore.plot.calculateSpace({width:r,height:g}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.xAxis.setRange([s,s+r]),this.componentStore.xAxis.setBoundingBoxXY({x:s,y:n+g}),this.componentStore.yAxis.setRange([n,n+g]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(f=>At(f))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,r=0,g=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),m=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),f=this.componentStore.plot.calculateSpace({width:g,height:m});t-=f.width,i-=f.height,f=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=f.height,i-=f.height,this.componentStore.xAxis.setAxisPosition("left"),f=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=f.width,n=f.width,this.componentStore.yAxis.setAxisPosition("top"),f=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=f.height,r=s+f.height,t>0&&(g+=t,t=0),i>0&&(m+=i,i=0),this.componentStore.plot.calculateSpace({width:g,height:m}),this.componentStore.plot.setBoundingBoxXY({x:n,y:r}),this.componentStore.yAxis.setRange([n,n+g]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:s}),this.componentStore.xAxis.setRange([r,r+m]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:r}),this.chartData.plots.some(k=>At(k))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},a(st,"Orchestrator"),st),nt,Vi=(nt=class{static build(t,i,s,n){return new Mi(t,i,s,n).getDrawableElement()}},a(nt,"XYChartBuilder"),nt),ot=0,Gt,rt=Tt(),ht=Rt(),A=Dt(),Ct=ht.plotColorPalette.split(",").map(e=>e.trim()),gt=!1,kt=!1;function Rt(){const e=wi(),t=St();return Yt(e.xyChart,t.themeVariables.xyChart)}a(Rt,"getChartDefaultThemeConfig");function Tt(){const e=St();return Yt(Ai.xyChart,e.xyChart)}a(Tt,"getChartDefaultConfig");function Dt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}a(Dt,"getChartDefaultData");function xt(e){const t=St();return Ci(e.trim(),t)}a(xt,"textSanitizer");function jt(e){Gt=e}a(jt,"setTmpSVGG");function Qt(e){e==="horizontal"?rt.chartOrientation="horizontal":rt.chartOrientation="vertical"}a(Qt,"setOrientation");function Kt(e){A.xAxis.title=xt(e.text)}a(Kt,"setXAxisTitle");function vt(e,t){A.xAxis={type:"linear",title:A.xAxis.title,min:e,max:t},gt=!0}a(vt,"setXAxisRangeData");function Zt(e){A.xAxis={type:"band",title:A.xAxis.title,categories:e.map(t=>xt(t.text))},gt=!0}a(Zt,"setXAxisBand");function Jt(e){A.yAxis.title=xt(e.text)}a(Jt,"setYAxisTitle");function ti(e,t){A.yAxis={type:"linear",title:A.yAxis.title,min:e,max:t},kt=!0}a(ti,"setYAxisRangeData");function ii(e){const t=Math.min(...e),i=Math.max(...e),s=G(A.yAxis)?A.yAxis.min:1/0,n=G(A.yAxis)?A.yAxis.max:-1/0;A.yAxis={type:"linear",title:A.yAxis.title,min:Math.min(s,t),max:Math.max(n,i)}}a(ii,"setYAxisRangeFromPlotData");function Pt(e){let t=[];if(e.length===0)return t;if(!gt){const i=G(A.xAxis)?A.xAxis.min:1/0,s=G(A.xAxis)?A.xAxis.max:-1/0;vt(Math.min(i,1),Math.max(s,e.length))}if(kt||ii(e),_t(A.xAxis)&&(t=A.xAxis.categories.map((i,s)=>[i,e[s]])),G(A.xAxis)){const i=A.xAxis.min,s=A.xAxis.max,n=(s-i)/(e.length-1),r=[];for(let g=i;g<=s;g+=n)r.push(`${g}`);t=r.map((g,m)=>[g,e[m]])}return t}a(Pt,"transformDataWithoutCategory");function Lt(e){return Ct[e===0?0:e%Ct.length]}a(Lt,"getPlotColorFromPalette");function ei(e,t){const i=Pt(t);A.plots.push({type:"line",strokeFill:Lt(ot),strokeWidth:2,data:i}),ot++}a(ei,"setLineData");function si(e,t){const i=Pt(t);A.plots.push({type:"bar",fill:Lt(ot),data:i}),ot++}a(si,"setBarData");function ni(){if(A.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return A.title=Xt(),Vi.build(rt,A,ht,Gt)}a(ni,"getDrawableElem");function ai(){return ht}a(ai,"getChartThemeConfig");function oi(){return rt}a(oi,"getChartConfig");function ri(){return A}a(ri,"getXYChartData");var Bi=a(function(){bi(),ot=0,rt=Tt(),A=Dt(),ht=Rt(),Ct=ht.plotColorPalette.split(",").map(e=>e.trim()),gt=!1,kt=!1},"clear"),Wi={getDrawableElem:ni,clear:Bi,setAccTitle:fi,getAccTitle:pi,setDiagramTitle:di,getDiagramTitle:Xt,getAccDescription:xi,setAccDescription:gi,setOrientation:Qt,setXAxisTitle:Kt,setXAxisRangeData:vt,setXAxisBand:Zt,setYAxisTitle:Jt,setYAxisRangeData:ti,setLineData:ei,setBarData:si,setTmpSVGG:jt,getChartThemeConfig:ai,getChartConfig:oi,getXYChartData:ri},zi=a((e,t,i,s)=>{const n=s.db,r=n.getChartThemeConfig(),g=n.getChartConfig(),m=n.getXYChartData().plots[0].data.map(y=>y[1]);function f(y){return y==="top"?"text-before-edge":"middle"}a(f,"getDominantBaseLine");function k(y){return y==="left"?"start":y==="right"?"end":"middle"}a(k,"getTextAnchor");function v(y){return`translate(${y.x}, ${y.y}) rotate(${y.rotation||0})`}a(v,"getTextTransformation"),Nt.debug(`Rendering xychart chart
7
7
  `+e);const C=mi(t),b=C.append("g").attr("class","main"),E=b.append("rect").attr("width",g.width).attr("height",g.height).attr("class","background");yi(C,g.height,g.width,!0),C.attr("viewBox",`0 0 ${g.width} ${g.height}`),E.attr("fill",r.backgroundColor),n.setTmpSVGG(C.append("g").attr("class","mermaid-tmp-group"));const D=n.getDrawableElem(),P={};function I(y){let _=b,c="";for(const[W]of y.entries()){let z=b;W>0&&P[c]&&(z=P[c]),c+=y[W],_=P[c],_||(_=P[c]=z.append("g").attr("class",y[W]))}return _}a(I,"getGroup");for(const y of D){if(y.data.length===0)continue;const _=I(y.groupTexts);switch(y.type){case"rect":if(_.selectAll("rect").data(y.data).enter().append("rect").attr("x",c=>c.x).attr("y",c=>c.y).attr("width",c=>c.width).attr("height",c=>c.height).attr("fill",c=>c.fill).attr("stroke",c=>c.strokeFill).attr("stroke-width",c=>c.strokeWidth),g.showDataLabel)if(g.chartOrientation==="horizontal"){let c=function(l,L){const{data:S,label:R}=l;return L*R.length*W<=S.width-10};a(c,"fitsHorizontally");const W=.7,z=y.data.map((l,L)=>({data:l,label:m[L].toString()})).filter(l=>l.data.width>0&&l.data.height>0),U=z.map(l=>{const{data:L}=l;let S=L.height*.7;for(;!c(l,S)&&S>0;)S-=1;return S}),X=Math.floor(Math.min(...U));_.selectAll("text").data(z).enter().append("text").attr("x",l=>l.data.x+l.data.width-10).attr("y",l=>l.data.y+l.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${X}px`).text(l=>l.label)}else{let c=function(l,L,S){const{data:R,label:$}=l,N=L*$.length*.7,F=R.x+R.width/2,h=F-N/2,u=F+N/2,x=h>=R.x&&u<=R.x+R.width,d=R.y+S+L<=R.y+R.height;return x&&d};a(c,"fitsInBar");const W=10,z=y.data.map((l,L)=>({data:l,label:m[L].toString()})).filter(l=>l.data.width>0&&l.data.height>0),U=z.map(l=>{const{data:L,label:S}=l;let R=L.width/(S.length*.7);for(;!c(l,R,W)&&R>0;)R-=1;return R}),X=Math.floor(Math.min(...U));_.selectAll("text").data(z).enter().append("text").attr("x",l=>l.data.x+l.data.width/2).attr("y",l=>l.data.y+W).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${X}px`).text(l=>l.label)}break;case"text":_.selectAll("text").data(y.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",c=>c.fill).attr("font-size",c=>c.fontSize).attr("dominant-baseline",c=>f(c.verticalPos)).attr("text-anchor",c=>k(c.horizontalPos)).attr("transform",c=>v(c)).text(c=>c.text);break;case"path":_.selectAll("path").data(y.data).enter().append("path").attr("d",c=>c.path).attr("fill",c=>c.fill?c.fill:"none").attr("stroke",c=>c.strokeFill).attr("stroke-width",c=>c.strokeWidth);break}}},"draw"),Fi={draw:zi},re={parser:Ti,db:Wi,renderer:Fi};export{re as diagram};
8
- //# sourceMappingURL=xychartDiagram-H2YORKM3-BTq3Izkz.js.map
8
+ //# sourceMappingURL=xychartDiagram-H2YORKM3-Yt0ZA7uK.js.map