@epic-web/workshop-app 0.0.0-semantically-released

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 (305) hide show
  1. package/README.md +10 -0
  2. package/bin/epicshop.js +321 -0
  3. package/build/client/app-default.css +39 -0
  4. package/build/client/assets/_-C_7mS1-0.js +2 -0
  5. package/build/client/assets/_-C_7mS1-0.js.map +1 -0
  6. package/build/client/assets/_-l0sNRNKZ.js +2 -0
  7. package/build/client/assets/_-l0sNRNKZ.js.map +1 -0
  8. package/build/client/assets/_basePickBy-DxgDhkrj.js +2 -0
  9. package/build/client/assets/_basePickBy-DxgDhkrj.js.map +1 -0
  10. package/build/client/assets/_baseUniq-Bh4NktJz.js +2 -0
  11. package/build/client/assets/_baseUniq-Bh4NktJz.js.map +1 -0
  12. package/build/client/assets/_exerciseNumber-D3lfJewu.js +2 -0
  13. package/build/client/assets/_exerciseNumber-D3lfJewu.js.map +1 -0
  14. package/build/client/assets/_exerciseNumber_._stepNumber-BNj079sn.js +2 -0
  15. package/build/client/assets/_exerciseNumber_._stepNumber-BNj079sn.js.map +1 -0
  16. package/build/client/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js +2 -0
  17. package/build/client/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js.map +1 -0
  18. package/build/client/assets/_exerciseNumber_.finished-a6jXslNA.js +2 -0
  19. package/build/client/assets/_exerciseNumber_.finished-a6jXslNA.js.map +1 -0
  20. package/build/client/assets/_layout-B3FchrR9.js +2 -0
  21. package/build/client/assets/_layout-B3FchrR9.js.map +1 -0
  22. package/build/client/assets/_layout-B6ARVFTz.js +2 -0
  23. package/build/client/assets/_layout-B6ARVFTz.js.map +1 -0
  24. package/build/client/assets/_layout-CtqVeNw0.js +6 -0
  25. package/build/client/assets/_layout-CtqVeNw0.js.map +1 -0
  26. package/build/client/assets/_layout-dHfVo9gJ.js +2 -0
  27. package/build/client/assets/_layout-dHfVo9gJ.js.map +1 -0
  28. package/build/client/assets/accordion-PSsenYUI.js +2 -0
  29. package/build/client/assets/accordion-PSsenYUI.js.map +1 -0
  30. package/build/client/assets/account-Jl0f1Zst.js +2 -0
  31. package/build/client/assets/account-Jl0f1Zst.js.map +1 -0
  32. package/build/client/assets/api._-l0sNRNKZ.js +2 -0
  33. package/build/client/assets/api._-l0sNRNKZ.js.map +1 -0
  34. package/build/client/assets/app-CpF0K1cW.css +1 -0
  35. package/build/client/assets/app-CzIg9kJh.js +2 -0
  36. package/build/client/assets/app-CzIg9kJh.js.map +1 -0
  37. package/build/client/assets/app.epic_ws_.js_-l0sNRNKZ.js +2 -0
  38. package/build/client/assets/app.epic_ws_.js_-l0sNRNKZ.js.map +1 -0
  39. package/build/client/assets/apps-DP2rzg_V.js +2 -0
  40. package/build/client/assets/apps-DP2rzg_V.js.map +1 -0
  41. package/build/client/assets/apps-l0sNRNKZ.js +2 -0
  42. package/build/client/assets/apps-l0sNRNKZ.js.map +1 -0
  43. package/build/client/assets/arc-B6tHINqs.js +2 -0
  44. package/build/client/assets/arc-B6tHINqs.js.map +1 -0
  45. package/build/client/assets/architectureDiagram-NQ2NVSRB-D_wGZ5nT.js +37 -0
  46. package/build/client/assets/architectureDiagram-NQ2NVSRB-D_wGZ5nT.js.map +1 -0
  47. package/build/client/assets/blockDiagram-PHRCVELO-h_TbDJvl.js +123 -0
  48. package/build/client/assets/blockDiagram-PHRCVELO-h_TbDJvl.js.map +1 -0
  49. package/build/client/assets/button-cFpvwtjC.js +2 -0
  50. package/build/client/assets/button-cFpvwtjC.js.map +1 -0
  51. package/build/client/assets/c4Diagram-6F6E4RAY-BfXjadL9.js +11 -0
  52. package/build/client/assets/c4Diagram-6F6E4RAY-BfXjadL9.js.map +1 -0
  53. package/build/client/assets/cache-l0sNRNKZ.js +2 -0
  54. package/build/client/assets/cache-l0sNRNKZ.js.map +1 -0
  55. package/build/client/assets/channel-ClIoK57K.js +2 -0
  56. package/build/client/assets/channel-ClIoK57K.js.map +1 -0
  57. package/build/client/assets/chunk-353BL4L5-CExuR7H8.js +2 -0
  58. package/build/client/assets/chunk-353BL4L5-CExuR7H8.js.map +1 -0
  59. package/build/client/assets/chunk-67H74DCK-BF9_AOuB.js +2 -0
  60. package/build/client/assets/chunk-67H74DCK-BF9_AOuB.js.map +1 -0
  61. package/build/client/assets/chunk-6OLS64BW-B_GeRv1G.js +221 -0
  62. package/build/client/assets/chunk-6OLS64BW-B_GeRv1G.js.map +1 -0
  63. package/build/client/assets/chunk-AACKK3MU-BcoQc9Ht.js +2 -0
  64. package/build/client/assets/chunk-AACKK3MU-BcoQc9Ht.js.map +1 -0
  65. package/build/client/assets/chunk-BFAMUDN2-DBCLoV1m.js +2 -0
  66. package/build/client/assets/chunk-BFAMUDN2-DBCLoV1m.js.map +1 -0
  67. package/build/client/assets/chunk-E2GYISFI-DvCzOl_M.js +16 -0
  68. package/build/client/assets/chunk-E2GYISFI-DvCzOl_M.js.map +1 -0
  69. package/build/client/assets/chunk-QEP2MXWD-BA02qRA0.js +166 -0
  70. package/build/client/assets/chunk-QEP2MXWD-BA02qRA0.js.map +1 -0
  71. package/build/client/assets/chunk-QMGIS6GS-CG5cA6CX.js +44 -0
  72. package/build/client/assets/chunk-QMGIS6GS-CG5cA6CX.js.map +1 -0
  73. package/build/client/assets/chunk-SKB7J2MH-BG1nHV0M.js +2 -0
  74. package/build/client/assets/chunk-SKB7J2MH-BG1nHV0M.js.map +1 -0
  75. package/build/client/assets/classDiagram-BGRH5UQR-BZY1Xh5a.js +2 -0
  76. package/build/client/assets/classDiagram-BGRH5UQR-BZY1Xh5a.js.map +1 -0
  77. package/build/client/assets/classDiagram-v2-O24JOBDK-BZY1Xh5a.js +2 -0
  78. package/build/client/assets/classDiagram-v2-O24JOBDK-BZY1Xh5a.js.map +1 -0
  79. package/build/client/assets/clone-RGlausHy.js +2 -0
  80. package/build/client/assets/clone-RGlausHy.js.map +1 -0
  81. package/build/client/assets/cytoscape.esm-BBIONMvf.js +332 -0
  82. package/build/client/assets/cytoscape.esm-BBIONMvf.js.map +1 -0
  83. package/build/client/assets/dagre-FFZHY6LT-CGbe3nXJ.js +5 -0
  84. package/build/client/assets/dagre-FFZHY6LT-CGbe3nXJ.js.map +1 -0
  85. package/build/client/assets/defaultLocale-C4B-KCzX.js +2 -0
  86. package/build/client/assets/defaultLocale-C4B-KCzX.js.map +1 -0
  87. package/build/client/assets/diagram-3EMPZRKU-8UM2S96z.js +25 -0
  88. package/build/client/assets/diagram-3EMPZRKU-8UM2S96z.js.map +1 -0
  89. package/build/client/assets/diagram-5UYTHUR4-Bq8b35J7.js +25 -0
  90. package/build/client/assets/diagram-5UYTHUR4-Bq8b35J7.js.map +1 -0
  91. package/build/client/assets/diagram-ZTM2IBQH-DZ0Q3vKL.js +44 -0
  92. package/build/client/assets/diagram-ZTM2IBQH-DZ0Q3vKL.js.map +1 -0
  93. package/build/client/assets/diff-DTFs5rVO.js +2 -0
  94. package/build/client/assets/diff-DTFs5rVO.js.map +1 -0
  95. package/build/client/assets/diff-DpX_9FU6.js +2 -0
  96. package/build/client/assets/diff-DpX_9FU6.js.map +1 -0
  97. package/build/client/assets/discord-C86FbV-j.js +2 -0
  98. package/build/client/assets/discord-C86FbV-j.js.map +1 -0
  99. package/build/client/assets/discord-DOEtvB6W.js +2 -0
  100. package/build/client/assets/discord-DOEtvB6W.js.map +1 -0
  101. package/build/client/assets/entry.client-anc4-dZY.js +35 -0
  102. package/build/client/assets/entry.client-anc4-dZY.js.map +1 -0
  103. package/build/client/assets/epic-video-CCv7QINN.js +3210 -0
  104. package/build/client/assets/epic-video-CCv7QINN.js.map +1 -0
  105. package/build/client/assets/epic-video-D2Xftn6t.css +1 -0
  106. package/build/client/assets/epic_ws_.js_-l0sNRNKZ.js +2 -0
  107. package/build/client/assets/epic_ws_.js_-l0sNRNKZ.js.map +1 -0
  108. package/build/client/assets/erDiagram-R3QVA2FD-Bu6B069U.js +61 -0
  109. package/build/client/assets/erDiagram-R3QVA2FD-Bu6B069U.js.map +1 -0
  110. package/build/client/assets/error-boundary-B8bEOgxp.js +2 -0
  111. package/build/client/assets/error-boundary-B8bEOgxp.js.map +1 -0
  112. package/build/client/assets/exercises-l0sNRNKZ.js +2 -0
  113. package/build/client/assets/exercises-l0sNRNKZ.js.map +1 -0
  114. package/build/client/assets/finished-RnlPhc3t.js +2 -0
  115. package/build/client/assets/finished-RnlPhc3t.js.map +1 -0
  116. package/build/client/assets/flowDiagram-PKI6S5ZS-ie1Nf5_c.js +163 -0
  117. package/build/client/assets/flowDiagram-PKI6S5ZS-ie1Nf5_c.js.map +1 -0
  118. package/build/client/assets/ganttDiagram-EK5VF46D-BjgRWg6k.js +268 -0
  119. package/build/client/assets/ganttDiagram-EK5VF46D-BjgRWg6k.js.map +1 -0
  120. package/build/client/assets/gitGraphDiagram-GW3U2K7C-BmD31KK0.js +66 -0
  121. package/build/client/assets/gitGraphDiagram-GW3U2K7C-BmD31KK0.js.map +1 -0
  122. package/build/client/assets/graph-BBuyk5Ru.js +2 -0
  123. package/build/client/assets/graph-BBuyk5Ru.js.map +1 -0
  124. package/build/client/assets/icons-BM6r7NHK.svg +570 -0
  125. package/build/client/assets/index-7Ba6ptu2.js +42 -0
  126. package/build/client/assets/index-7Ba6ptu2.js.map +1 -0
  127. package/build/client/assets/index-Bp_2FjuO.js +10 -0
  128. package/build/client/assets/index-Bp_2FjuO.js.map +1 -0
  129. package/build/client/assets/index-CNmh2cao.js +2 -0
  130. package/build/client/assets/index-CNmh2cao.js.map +1 -0
  131. package/build/client/assets/index-CZ8q0Nf8.js +2 -0
  132. package/build/client/assets/index-CZ8q0Nf8.js.map +1 -0
  133. package/build/client/assets/index-DP2rzg_V.js +2 -0
  134. package/build/client/assets/index-DP2rzg_V.js.map +1 -0
  135. package/build/client/assets/index-DSMFPAn8.js +2 -0
  136. package/build/client/assets/index-DSMFPAn8.js.map +1 -0
  137. package/build/client/assets/index-DxbpRM0V.js +2 -0
  138. package/build/client/assets/index-DxbpRM0V.js.map +1 -0
  139. package/build/client/assets/index-K6Dvbx-E.js +2 -0
  140. package/build/client/assets/index-K6Dvbx-E.js.map +1 -0
  141. package/build/client/assets/index-LNXI3Vlr.js +2 -0
  142. package/build/client/assets/index-LNXI3Vlr.js.map +1 -0
  143. package/build/client/assets/index-_jNKXw67.js +2 -0
  144. package/build/client/assets/index-_jNKXw67.js.map +1 -0
  145. package/build/client/assets/index-l0sNRNKZ.js +2 -0
  146. package/build/client/assets/index-l0sNRNKZ.js.map +1 -0
  147. package/build/client/assets/index-rknZKmMI.js +36 -0
  148. package/build/client/assets/index-rknZKmMI.js.map +1 -0
  149. package/build/client/assets/infoDiagram-RLU2ROGC-DVoDIRGH.js +3 -0
  150. package/build/client/assets/infoDiagram-RLU2ROGC-DVoDIRGH.js.map +1 -0
  151. package/build/client/assets/init-Gi6I4Gst.js +2 -0
  152. package/build/client/assets/init-Gi6I4Gst.js.map +1 -0
  153. package/build/client/assets/journeyDiagram-EWQZEKCU-C_Lb2L11.js +140 -0
  154. package/build/client/assets/journeyDiagram-EWQZEKCU-C_Lb2L11.js.map +1 -0
  155. package/build/client/assets/jsx-runtime-EKYJJIwR.js +10 -0
  156. package/build/client/assets/jsx-runtime-EKYJJIwR.js.map +1 -0
  157. package/build/client/assets/kanban-definition-ILFWEQ3N-KsekSC1N.js +90 -0
  158. package/build/client/assets/kanban-definition-ILFWEQ3N-KsekSC1N.js.map +1 -0
  159. package/build/client/assets/katex-DsmCZfJr.js +262 -0
  160. package/build/client/assets/katex-DsmCZfJr.js.map +1 -0
  161. package/build/client/assets/l-D9C1VDbZ.js +2 -0
  162. package/build/client/assets/l-D9C1VDbZ.js.map +1 -0
  163. package/build/client/assets/launch-editor-l0sNRNKZ.js +2 -0
  164. package/build/client/assets/launch-editor-l0sNRNKZ.js.map +1 -0
  165. package/build/client/assets/layout-BkH8Qi9T.js +2 -0
  166. package/build/client/assets/layout-BkH8Qi9T.js.map +1 -0
  167. package/build/client/assets/linear-tKBS5mAJ.js +2 -0
  168. package/build/client/assets/linear-tKBS5mAJ.js.map +1 -0
  169. package/build/client/assets/loading-CZYaLyAk.js +2 -0
  170. package/build/client/assets/loading-CZYaLyAk.js.map +1 -0
  171. package/build/client/assets/login-BHKNDLwl.js +2 -0
  172. package/build/client/assets/login-BHKNDLwl.js.map +1 -0
  173. package/build/client/assets/login-sse-l0sNRNKZ.js +2 -0
  174. package/build/client/assets/login-sse-l0sNRNKZ.js.map +1 -0
  175. package/build/client/assets/manifest-b97649b5.js +1 -0
  176. package/build/client/assets/mdx-BEhxx-X4.js +3 -0
  177. package/build/client/assets/mdx-BEhxx-X4.js.map +1 -0
  178. package/build/client/assets/mermaid.core-CqaUvNIK.js +214 -0
  179. package/build/client/assets/mermaid.core-CqaUvNIK.js.map +1 -0
  180. package/build/client/assets/mindmap-definition-CZNETY7S-BGn0gmpB.js +96 -0
  181. package/build/client/assets/mindmap-definition-CZNETY7S-BGn0gmpB.js.map +1 -0
  182. package/build/client/assets/misc-COGqV2fm.js +2 -0
  183. package/build/client/assets/misc-COGqV2fm.js.map +1 -0
  184. package/build/client/assets/nav-chevrons-Cxzx0j13.js +2 -0
  185. package/build/client/assets/nav-chevrons-Cxzx0j13.js.map +1 -0
  186. package/build/client/assets/notifications-l0sNRNKZ.js +2 -0
  187. package/build/client/assets/notifications-l0sNRNKZ.js.map +1 -0
  188. package/build/client/assets/og-l0sNRNKZ.js +2 -0
  189. package/build/client/assets/og-l0sNRNKZ.js.map +1 -0
  190. package/build/client/assets/onboarding-7Vho777l.js +2 -0
  191. package/build/client/assets/onboarding-7Vho777l.js.map +1 -0
  192. package/build/client/assets/online-CwZkKwTv.js +2 -0
  193. package/build/client/assets/online-CwZkKwTv.js.map +1 -0
  194. package/build/client/assets/ordinal-Cboi1Yqb.js +2 -0
  195. package/build/client/assets/ordinal-Cboi1Yqb.js.map +1 -0
  196. package/build/client/assets/pe-DoDyGTeN.js +2 -0
  197. package/build/client/assets/pe-DoDyGTeN.js.map +1 -0
  198. package/build/client/assets/pieDiagram-NIOCPIFQ-TwGmrzCW.js +31 -0
  199. package/build/client/assets/pieDiagram-NIOCPIFQ-TwGmrzCW.js.map +1 -0
  200. package/build/client/assets/preferences-Dx_EUPYj.js +2 -0
  201. package/build/client/assets/preferences-Dx_EUPYj.js.map +1 -0
  202. package/build/client/assets/presence-tDxUeb6L.js +28 -0
  203. package/build/client/assets/presence-tDxUeb6L.js.map +1 -0
  204. package/build/client/assets/preview-COuApZAb.js +2 -0
  205. package/build/client/assets/preview-COuApZAb.js.map +1 -0
  206. package/build/client/assets/processes-l0sNRNKZ.js +2 -0
  207. package/build/client/assets/processes-l0sNRNKZ.js.map +1 -0
  208. package/build/client/assets/product-DNKDVhI_.js +2 -0
  209. package/build/client/assets/product-DNKDVhI_.js.map +1 -0
  210. package/build/client/assets/progress-DKsShYpv.js +2 -0
  211. package/build/client/assets/progress-DKsShYpv.js.map +1 -0
  212. package/build/client/assets/progress-bar-Cww9t8Vn.js +2 -0
  213. package/build/client/assets/progress-bar-Cww9t8Vn.js.map +1 -0
  214. package/build/client/assets/progress-l0sNRNKZ.js +2 -0
  215. package/build/client/assets/progress-l0sNRNKZ.js.map +1 -0
  216. package/build/client/assets/quadrantDiagram-2OG54O6I-C2FaFW77.js +8 -0
  217. package/build/client/assets/quadrantDiagram-2OG54O6I-C2FaFW77.js.map +1 -0
  218. package/build/client/assets/requirementDiagram-SO3GGRV7-BENrmejn.js +65 -0
  219. package/build/client/assets/requirementDiagram-SO3GGRV7-BENrmejn.js.map +1 -0
  220. package/build/client/assets/revalidation-ws-DJwDeSaI.js +2 -0
  221. package/build/client/assets/revalidation-ws-DJwDeSaI.js.map +1 -0
  222. package/build/client/assets/robots_._txt-l0sNRNKZ.js +2 -0
  223. package/build/client/assets/robots_._txt-l0sNRNKZ.js.map +1 -0
  224. package/build/client/assets/root-30K5JoaI.js +2 -0
  225. package/build/client/assets/root-30K5JoaI.js.map +1 -0
  226. package/build/client/assets/sankeyDiagram-4UZDY2LN-DHcxz6y6.js +11 -0
  227. package/build/client/assets/sankeyDiagram-4UZDY2LN-DHcxz6y6.js.map +1 -0
  228. package/build/client/assets/seo-t5J-DRxw.js +2 -0
  229. package/build/client/assets/seo-t5J-DRxw.js.map +1 -0
  230. package/build/client/assets/sequenceDiagram-ZIKVLSP4-wsbYfOcv.js +123 -0
  231. package/build/client/assets/sequenceDiagram-ZIKVLSP4-wsbYfOcv.js.map +1 -0
  232. package/build/client/assets/set-playground-Bx0yIjpY.js +2 -0
  233. package/build/client/assets/set-playground-Bx0yIjpY.js.map +1 -0
  234. package/build/client/assets/set-playground-l0sNRNKZ.js +2 -0
  235. package/build/client/assets/set-playground-l0sNRNKZ.js.map +1 -0
  236. package/build/client/assets/sitemap_._xml-l0sNRNKZ.js +2 -0
  237. package/build/client/assets/sitemap_._xml-l0sNRNKZ.js.map +1 -0
  238. package/build/client/assets/start-l0sNRNKZ.js +2 -0
  239. package/build/client/assets/start-l0sNRNKZ.js.map +1 -0
  240. package/build/client/assets/stateDiagram-XX37X6EN-D8VCWzU7.js +2 -0
  241. package/build/client/assets/stateDiagram-XX37X6EN-D8VCWzU7.js.map +1 -0
  242. package/build/client/assets/stateDiagram-v2-GD6S3NHB-CWoWkzf7.js +2 -0
  243. package/build/client/assets/stateDiagram-v2-GD6S3NHB-CWoWkzf7.js.map +1 -0
  244. package/build/client/assets/support-BnsTkkCH.js +2 -0
  245. package/build/client/assets/support-BnsTkkCH.js.map +1 -0
  246. package/build/client/assets/tailwind-Dqccob1p.css +1 -0
  247. package/build/client/assets/test-B2dwsj84.js +2 -0
  248. package/build/client/assets/test-B2dwsj84.js.map +1 -0
  249. package/build/client/assets/test-l0sNRNKZ.js +2 -0
  250. package/build/client/assets/test-l0sNRNKZ.js.map +1 -0
  251. package/build/client/assets/test._testName-l0sNRNKZ.js +2 -0
  252. package/build/client/assets/test._testName-l0sNRNKZ.js.map +1 -0
  253. package/build/client/assets/test.epic_ws_.js_-l0sNRNKZ.js +2 -0
  254. package/build/client/assets/test.epic_ws_.js_-l0sNRNKZ.js.map +1 -0
  255. package/build/client/assets/tests-DvbNIXBP.js +4 -0
  256. package/build/client/assets/tests-DvbNIXBP.js.map +1 -0
  257. package/build/client/assets/timeline-definition-RI47OAVP-D44Hv-fs.js +62 -0
  258. package/build/client/assets/timeline-definition-RI47OAVP-D44Hv-fs.js.map +1 -0
  259. package/build/client/assets/tooltip-Cm7A1uIP.js +2 -0
  260. package/build/client/assets/tooltip-Cm7A1uIP.js.map +1 -0
  261. package/build/client/assets/treemap-FKARHQ26-COx8AcUM.js +129 -0
  262. package/build/client/assets/treemap-FKARHQ26-COx8AcUM.js.map +1 -0
  263. package/build/client/assets/use-event-source-DDlZtAwc.js +2 -0
  264. package/build/client/assets/use-event-source-DDlZtAwc.js.map +1 -0
  265. package/build/client/assets/user-BQ8D2Fty.js +2 -0
  266. package/build/client/assets/user-BQ8D2Fty.js.map +1 -0
  267. package/build/client/assets/version-CG_ZHfTC.js +2 -0
  268. package/build/client/assets/version-CG_ZHfTC.js.map +1 -0
  269. package/build/client/assets/workshop-config-5VcXxeyp.js +2 -0
  270. package/build/client/assets/workshop-config-5VcXxeyp.js.map +1 -0
  271. package/build/client/assets/xychartDiagram-H2YORKM3-rhbSyPlb.js +8 -0
  272. package/build/client/assets/xychartDiagram-H2YORKM3-rhbSyPlb.js.map +1 -0
  273. package/build/client/favicon.ico +0 -0
  274. package/build/client/favicon.png +0 -0
  275. package/build/client/favicon.svg +13 -0
  276. package/build/client/fonts/neogrotesk/0b8b755c-fee2-4661-9c8b-c5d1fbea901b.woff2 +0 -0
  277. package/build/client/fonts/neogrotesk/146d9d20-3e53-4e5d-beb2-1209bba5ac61.woff2 +0 -0
  278. package/build/client/fonts/neogrotesk/1798ef2b-5ee0-4f39-8b2c-ae3e36f07cd1.woff2 +0 -0
  279. package/build/client/fonts/neogrotesk/1eb2cb40-6822-4654-856c-8cbe652366b6.woff +0 -0
  280. package/build/client/fonts/neogrotesk/3b64793c-0bdb-4e4f-bf0e-cdf2e974d5f2.woff +0 -0
  281. package/build/client/fonts/neogrotesk/3bb44ed4-cf17-469c-8d0d-5946d10fdad1.woff +0 -0
  282. package/build/client/fonts/neogrotesk/4bd29470-1701-41fe-94b6-4a147512160c.woff +0 -0
  283. package/build/client/fonts/neogrotesk/5cdbf070-a094-44c8-b8f1-17a00a19c959.woff2 +0 -0
  284. package/build/client/fonts/neogrotesk/6d439be9-37df-4912-ac09-388ce938fa46.woff2 +0 -0
  285. package/build/client/fonts/neogrotesk/7fc2971f-a9c2-4e09-bd24-bfd4ee6e97b3.woff +0 -0
  286. package/build/client/fonts/neogrotesk/861b65ee-56bd-4057-9af4-3b2903af231e.woff +0 -0
  287. package/build/client/fonts/neogrotesk/8cf836d9-a49e-4387-bcbd-4800766e5d24.woff +0 -0
  288. package/build/client/fonts/neogrotesk/8d61128d-534c-4793-9668-b98bcc2e5969.woff2 +0 -0
  289. package/build/client/fonts/neogrotesk/98423f75-c341-4161-8b92-7cd5c05081e5.woff +0 -0
  290. package/build/client/fonts/neogrotesk/a1456726-ad0d-4f5e-9d8f-ce92e8ce375d.woff2 +0 -0
  291. package/build/client/fonts/neogrotesk/af81e7d2-0bb1-4aa0-bc76-adb78338c568.woff +0 -0
  292. package/build/client/fonts/neogrotesk/d1302ad5-ceee-47cb-a0fa-2da6bd0d4d54.woff2 +0 -0
  293. package/build/client/fonts/neogrotesk/e7e15c31-aad1-4384-abd3-0671ccd03251.woff +0 -0
  294. package/build/client/fonts/neogrotesk/ec6cb127-161b-469c-9816-69489032a234.woff2 +0 -0
  295. package/build/client/fonts/neogrotesk/f480430c-6c50-4ae3-9abb-e92c484f84d6.woff2 +0 -0
  296. package/build/client/img/tiffany.png +0 -0
  297. package/build/client/logo.svg +48 -0
  298. package/build/client/neogrotesk-font.css +100 -0
  299. package/build/client/og/background.png +0 -0
  300. package/build/client/og/logo.svg +1 -0
  301. package/build/server/index.js +11899 -0
  302. package/build/server/index.js.map +1 -0
  303. package/dist/server/index.js +247 -0
  304. package/package.json +1 -0
  305. package/start.js +50 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion-PSsenYUI.js","sources":["../../../../../node_modules/@radix-ui/react-collapsible/dist/index.mjs","../../../../../node_modules/@radix-ui/react-accordion/dist/index.mjs","../../../app/components/accordion.tsx"],"sourcesContent":["\"use client\";\n\n// src/collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef(void 0);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/accordion.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { createCollapsibleScope } from \"@radix-ui/react-collapsible\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\nvar [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\nvar [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n]);\nvar useCollapsibleScope = createCollapsibleScope();\nvar Accordion = React.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n);\nAccordion.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\nvar AccordionImplSingle = React.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: React.useMemo(() => value ? [value] : [], [value]),\n onItemOpen: setValue,\n onItemClose: React.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n);\nvar AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n const handleItemOpen = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ jsx(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n);\nvar ITEM_NAME = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\nvar AccordionItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ jsx(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Root,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n);\nAccordionItem.displayName = ITEM_NAME;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ jsx(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n);\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME = \"AccordionTrigger\";\nvar AccordionTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nAccordionTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"AccordionContent\";\nvar AccordionContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n);\nAccordionContent.displayName = CONTENT_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Accordion;\nvar Item = AccordionItem;\nvar Header = AccordionHeader;\nvar Trigger2 = AccordionTrigger;\nvar Content2 = AccordionContent;\nexport {\n Accordion,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n Content2 as Content,\n Header,\n Item,\n Root2 as Root,\n Trigger2 as Trigger,\n createAccordionScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as Accordion from '@radix-ui/react-accordion'\nimport { clsx } from 'clsx'\nimport * as React from 'react'\nimport { Icon } from './icons.tsx'\n\ntype AccordionProps = {\n\ttitle: string\n\tchildren: React.ReactElement\n\tvariant?: 'changed' | 'added' | 'deleted' | 'renamed'\n\ticon?: React.ReactElement\n\tforceMount?: boolean\n}\n\nconst AccordionComponent: React.FC<AccordionProps> = ({\n\ttitle,\n\tchildren,\n\tvariant,\n\ticon,\n\tforceMount = false,\n}) => {\n\tconst getVariantIcon = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'renamed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Renamed\"\n\t\t\t\t\t\taria-label=\"Renamed\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'added':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon name=\"Added\" aria-label=\"Added\" className=\"text-[#10b981]\" />\n\t\t\t\t)\n\t\t\tcase 'deleted':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Deleted\"\n\t\t\t\t\t\taria-label=\"Deleted\"\n\t\t\t\t\t\tclassName=\"text-[#ef4444]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t}\n\t}\n\tconst getVariantLabel = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn 'modified'\n\t\t\tdefault:\n\t\t\t\treturn variant\n\t\t}\n\t}\n\n\t// Somehow on windows we get double backslashes in the title\n\t// so we'll just remove those 🤷‍♂️\n\tconst fixedTitle = title.replace(/\\\\\\\\/g, '\\\\')\n\treturn (\n\t\t<Accordion.Item value={title}>\n\t\t\t<AccordionTrigger variant={getVariantLabel()}>\n\t\t\t\t{icon ? icon : getVariantIcon()} {fixedTitle}\n\t\t\t</AccordionTrigger>\n\t\t\t<AccordionContent\n\t\t\t\tforceMount={forceMount}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'prose max-w-none whitespace-pre-wrap dark:prose-invert prose-pre:m-0 prose-pre:mb-1 prose-pre:rounded-none',\n\t\t\t\t\t{\n\t\t\t\t\t\t'radix-state-closed:hidden': forceMount,\n\t\t\t\t\t},\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</AccordionContent>\n\t\t</Accordion.Item>\n\t)\n}\n\nexport default AccordionComponent\n\nconst AccordionTrigger: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\tvariant,\n\t...props\n}) => (\n\t<Accordion.Header className=\"flex\" asChild>\n\t\t<Accordion.Trigger\n\t\t\tclassName={clsx(\n\t\t\t\t'group flex w-full items-center justify-between border-b p-4 pr-3 font-mono text-sm font-medium leading-none hover:bg-foreground/20',\n\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={forwardedRef}\n\t\t>\n\t\t\t<div className=\"flex items-center gap-1.5\">{children}</div>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<span className=\"font-mono text-xs font-normal uppercase text-muted-foreground\">\n\t\t\t\t\t{variant}\n\t\t\t\t</span>\n\t\t\t\t<Icon\n\t\t\t\t\tname=\"TriangleDownSmall\"\n\t\t\t\t\tclassName=\"transition group-radix-state-open:rotate-180\"\n\t\t\t\t\taria-hidden\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Accordion.Trigger>\n\t</Accordion.Header>\n)\n\nconst AccordionContent: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\t...props\n}) => (\n\t<Accordion.Content\n\t\tclassName={clsx('', className)}\n\t\t{...props}\n\t\tref={forwardedRef}\n\t>\n\t\t<div>{children}</div>\n\t</Accordion.Content>\n)\n"],"names":["COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","createContextScope","CollapsibleProvider","useCollapsibleContext","Collapsible","React.forwardRef","props","forwardedRef","__scopeCollapsible","openProp","defaultOpen","disabled","onOpenChange","collapsibleProps","open","setOpen","useControllableState","jsx","useId","React.useCallback","prevOpen","Primitive","getState","TRIGGER_NAME","CollapsibleTrigger","triggerProps","context","composeEventHandlers","CONTENT_NAME","CollapsibleContent","forceMount","contentProps","Presence","present","CollapsibleContentImpl","children","isPresent","setIsPresent","React.useState","ref","React.useRef","composedRefs","useComposedRefs","heightRef","height","widthRef","width","isOpen","isMountAnimationPreventedRef","originalStylesRef","React.useEffect","rAF","useLayoutEffect","node","rect","Root","Trigger","Content","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createCollection","createAccordionContext","createAccordionScope","useCollapsibleScope","Accordion","React","type","accordionProps","singleProps","multipleProps","AccordionImplMultiple","AccordionImplSingle","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","valueProp","defaultValue","onValueChange","collapsible","accordionSingleProps","value","setValue","AccordionImpl","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","value2","AccordionImplProvider","useAccordionContext","__scopeAccordion","dir","orientation","accordionRef","getItems","isDirectionLTR","useDirection","handleKeyDown","event","target","triggerCollection","item","triggerIndex","triggerCount","nextIndex","homeIndex","endIndex","moveNext","movePrev","clampedIndex","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","CollapsiblePrimitive.Root","open2","HEADER_NAME","AccordionHeader","headerProps","itemContext","AccordionTrigger","collapsibleContext","CollapsiblePrimitive.Trigger","AccordionContent","CollapsiblePrimitive.Content","Root2","Item","Header","Trigger2","Content2","AccordionComponent","title","variant","icon","getVariantIcon","Icon","getVariantLabel","fixedTitle","jsxs","Accordion.Item","clsx","className","Accordion.Header","Accordion.Trigger","Accordion.Content"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,2 @@
1
+ import{w as d,L as i,F as m}from"./chunk-QMGIS6GS-CG5cA6CX.js";import{j as e}from"./jsx-runtime-EKYJJIwR.js";import{B as x}from"./button-cFpvwtjC.js";import{I as r}from"./misc-COGqV2fm.js";import{S as o}from"./tooltip-Cm7A1uIP.js";import{u,a as h}from"./user-BQ8D2Fty.js";import{u as l}from"./workshop-config-5VcXxeyp.js";import"./index-Bp_2FjuO.js";const L={getSitemapEntries:()=>null};function p(){const{product:{host:t}}=l();return`https://${t}/discord`}const k=d(function(){const s=u(),a=l(),n=h(),c=p();return e.jsxs("main",{className:"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4",children:[s.imageUrlLarge?e.jsx("img",{className:"h-36 w-36 rounded-full",alt:n?.displayName??s.name??s.email,src:s.imageUrlLarge}):e.jsx(r,{name:"User",className:"flex-shrink-0",size:"lg"}),e.jsx("h1",{className:"mb-1 text-2xl",children:"Your Account"}),e.jsx("p",{className:"text-center text-gray-700 dark:text-gray-300",children:s.name?`Hi ${n?.displayName??s.name}, your device is logged in with ${s.email}.`:`Your device is logged in with ${s.email}.`}),n?e.jsx(e.Fragment,{children:e.jsxs("p",{className:"text-center text-gray-700 dark:text-gray-300",children:["And you are connected to discord as"," ",e.jsx("a",{href:`https://discord.com/users/${n.id}`,target:"_blank",rel:"noopener noreferrer",className:"underline",children:n.displayName}),"."]})}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(i,{to:c,className:"inline-flex items-center gap-2 underline",children:[e.jsx(r,{name:"Discord",size:"lg"}),"Connect Discord"]}),e.jsx(o,{content:"This will give you access to the exclusive Discord channels for Epic Web",children:e.jsx(r,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{method:"post",children:e.jsx(x,{varient:"mono",name:"intent",value:"logout",children:"Log device out"})}),e.jsx(o,{content:e.jsxs("div",{children:["Note: it is your ",e.jsx("i",{className:"italic",children:"device"})," that's logged in, not your browser.",e.jsx("br",{}),"So all browsers on this device will be logged in with the same account on this device."]}),children:e.jsx(r,{name:"Question",tabIndex:0})})]}),e.jsx("hr",{className:"w-full"}),e.jsxs("ul",{className:"flex list-inside list-disc flex-col gap-2 self-start",children:[e.jsx("li",{children:e.jsxs(i,{to:`https://${a.product.host}/profile`,className:"inline-flex gap-1 underline",children:[e.jsx("span",{children:"Manage your account"}),e.jsx(r,{name:"ExternalLink"})]})}),e.jsx("li",{children:e.jsx(i,{to:"/preferences",className:"underline",children:"Manage your preferences"})}),e.jsx("li",{children:e.jsx(i,{to:"/onboarding",className:"underline",children:"Review onboarding"})}),e.jsx("li",{children:e.jsx(i,{to:"/support",className:"underline",children:"Get support"})})]})]})});export{k as default,L as handle};
2
+ //# sourceMappingURL=account-Jl0f1Zst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-Jl0f1Zst.js","sources":["../../../app/routes/_app+/account.tsx"],"sourcesContent":["import { deleteCache } from '@epic-web/workshop-utils/cache.server'\nimport {\n\tlogout,\n\trequireAuthInfo,\n\tsetPreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { redirect, type LoaderFunctionArgs, Form, Link } from 'react-router'\nimport { Button } from '#app/components/button.tsx'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.js'\nimport { useOptionalDiscordMember, useUser } from '#app/components/user.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\tawait requireAuthInfo({ request })\n\treturn {}\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tif (intent === 'logout') {\n\t\tawait logout()\n\t\tawait deleteCache()\n\t\treturn redirectWithToast('/login', {\n\t\t\ttype: 'success',\n\t\t\ttitle: 'Logged out',\n\t\t\tdescription: 'Goodbye! Come back soon!',\n\t\t})\n\t} else if (intent === 'presence-opt-out') {\n\t\tconst optOut = formData.get('optOut') === 'true'\n\t\tawait setPreferences({ presence: { optOut } })\n\t\treturn redirectWithToast('/account', {\n\t\t\ttitle: optOut ? 'Opted out' : 'Opted in',\n\t\t\tdescription: `You are now ${optOut ? 'invisible' : 'visible'}.`,\n\t\t\ttype: 'success',\n\t\t})\n\t}\n\n\treturn redirect('/account')\n}\n\nfunction useConnectDiscordURL() {\n\tconst {\n\t\tproduct: { host },\n\t} = useWorkshopConfig()\n\treturn `https://${host}/discord`\n}\n\nexport default function Account() {\n\tconst user = useUser()\n\tconst config = useWorkshopConfig()\n\tconst discordMember = useOptionalDiscordMember()\n\tconst connectDiscordURL = useConnectDiscordURL()\n\n\treturn (\n\t\t<main className=\"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4\">\n\t\t\t{user.imageUrlLarge ? (\n\t\t\t\t<img\n\t\t\t\t\tclassName=\"h-36 w-36 rounded-full\"\n\t\t\t\t\talt={discordMember?.displayName ?? user.name ?? user.email}\n\t\t\t\t\tsrc={user.imageUrlLarge}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon name=\"User\" className=\"flex-shrink-0\" size=\"lg\" />\n\t\t\t)}\n\t\t\t<h1 className=\"mb-1 text-2xl\">Your Account</h1>\n\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t{user.name\n\t\t\t\t\t? `Hi ${\n\t\t\t\t\t\t\tdiscordMember?.displayName ?? user.name\n\t\t\t\t\t\t}, your device is logged in with ${user.email}.`\n\t\t\t\t\t: `Your device is logged in with ${user.email}.`}\n\t\t\t</p>\n\t\t\t{discordMember ? (\n\t\t\t\t<>\n\t\t\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\tAnd you are connected to discord as{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`https://discord.com/users/${discordMember.id}`}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{discordMember.displayName}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t.\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={connectDiscordURL}\n\t\t\t\t\t\tclassName=\"inline-flex items-center gap-2 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon name=\"Discord\" size=\"lg\" />\n\t\t\t\t\t\tConnect Discord\n\t\t\t\t\t</Link>\n\t\t\t\t\t<SimpleTooltip content=\"This will give you access to the exclusive Discord channels for Epic Web\">\n\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Form method=\"post\">\n\t\t\t\t\t<Button varient=\"mono\" name=\"intent\" value=\"logout\">\n\t\t\t\t\t\tLog device out\n\t\t\t\t\t</Button>\n\t\t\t\t</Form>\n\t\t\t\t<SimpleTooltip\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\tNote: it is your <i className=\"italic\">device</i> that's logged\n\t\t\t\t\t\t\tin, not your browser.\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tSo all browsers on this device will be logged in with the same\n\t\t\t\t\t\t\taccount on this device.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t</SimpleTooltip>\n\t\t\t</div>\n\t\t\t<hr className=\"w-full\" />\n\t\t\t<ul className=\"flex list-inside list-disc flex-col gap-2 self-start\">\n\t\t\t\t<li>\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={`https://${config.product.host}/profile`}\n\t\t\t\t\t\tclassName=\"inline-flex gap-1 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>Manage your account</span>\n\t\t\t\t\t\t<Icon name=\"ExternalLink\" />\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/preferences\" className=\"underline\">\n\t\t\t\t\t\tManage your preferences\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/onboarding\" className=\"underline\">\n\t\t\t\t\t\tReview onboarding\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t\tGet support\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</main>\n\t)\n}\n"],"names":["handle","getSitemapEntries","useConnectDiscordURL","product","host","useWorkshopConfig","account","_UNSAFE_withComponentProps","user","useUser","config","discordMember","useOptionalDiscordMember","connectDiscordURL","jsxs","className","children","imageUrlLarge","jsx","alt","displayName","name","email","src","Icon","size","Fragment","href","id","target","rel","Link","to","SimpleTooltip","content","tabIndex","Form","method","Button","varient","value"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=api._-l0sNRNKZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api._-l0sNRNKZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ #files h2{display:none}#files ul{display:flex;flex-direction:column;gap:.125rem;font-size:1rem;line-height:1.5rem}#files ul li code{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}#files ul li span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#files ul li[data-state=modified] button:before,#files ul li[data-state=modified] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(251 146 60)' width='16' height='16' %3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z'%3E%3C/path%3E%3C/svg%3E")}#files ul li[data-state=added] button:before,#files ul li[data-state=added] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(16 185 129)' width='16' height='16'%3E%3Cpath d='M2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1Zm10.5 1.5H2.75a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4Z'%3E%3C/path%3E%3C/svg%3E")}#files ul li[data-state=deleted] button:before,#files ul li[data-state=deleted] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(239 68 68)' width='16' height='16'%3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm8.5 6.25h-6.5a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5Z'%3E%3C/path%3E%3C/svg%3E")}.launch-editor-wrapper form .launch_button{display:flex;width:100%;align-items:center;border-radius:.25rem;padding:.25rem .5rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.launch-editor-wrapper form .launch_button:hover{background-color:hsl(var(--foreground) / .2)}.launch-editor-wrapper form .launch_button:focus{background-color:hsl(var(--foreground) / .2)}.launch-editor-wrapper .not-allowed{cursor:not-allowed}.launch-editor-wrapper .not-allowed .launch_button{pointer-events:none}summary[data-state=modified]:before{padding-right:.25rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(251 146 60)' width='16' height='16' %3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z'%3E%3C/path%3E%3C/svg%3E")}body{-moz-tab-size:2ch;-o-tab-size:2ch;tab-size:2ch}.clip-path-button-outer{clip-path:polygon(0 0,100% 0,100% 70%,88% 100%,0 100%)}.clip-path-button{clip-path:polygon(0 0,100% 0,100% 70%,88.5% 100%,0 100%)}.shadow-on-scrollbox{background:linear-gradient(hsl(var(--background)) 30%,hsl(var(--foreground) / 0)),radial-gradient(farthest-side at 50% 0,hsl(var(--foreground) / .2),hsl(var(--foreground) / 0)) 0 0,linear-gradient(hsl(var(--foreground) / 0),hsl(var(--background)) 70%) 0 100%,radial-gradient(farthest-side at 50% 100%,hsl(var(--foreground) / .2),hsl(var(--foreground) / 0)) 0 100%;background-repeat:no-repeat;background-color:hsl(var(--background));background-size:100% 40px,100% 14px,100% 40px,100% 14px;background-attachment:local,scroll,local,local}.orientation-sideways{text-orientation:sideways;writing-mode:vertical-rl;--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.display-alt-down{display:none}.alt-down .display-alt-down{display:inherit}.alt-down .display-alt-up{display:none}:root{--base00: #121318;--base01: #2d2d2d;--base02: #424242;--base03: #637777;--base04: #555555;--base05: #d6deeb;--base06: #c8c8c8;--base07: #fafafa;--base08: #7fdbca;--base09: #f78c6c;--base0A: #c792ea;--base0B: #ecc48d;--base0C: #f78c6c;--base0D: #82aaff;--base0E: #c792ea;--base0F: #d3423e;--highlight-added: #7fdbca;--highlight-added-selection: #7fdbca47;--highlight-removed: #d3423e;--highlight-removed-selection: #d3433e57}:root .light,:root.light{--base00: #f3f3f3;--base01: #e0e0e0;--base02: #d6d6d6;--base03: #989fb1;--base04: #969896;--base05: #2e3039;--base06: #282a2e;--base07: #1d1f21;--base08: #0c969b;--base09: #aa0982;--base0A: #994cc3;--base0B: #c96765;--base0C: #aa0982;--base0D: #4876d6;--base0E: #994cc3;--base0F: #d3423e;--highlight-added: #0c969b;--highlight-added-selection: #7fdbca4a;--highlight-removed: #d3423e;--highlight-removed-selection: #d3433e24}.prose ul.list-none>li{padding-left:unset}.prose ul.list-none>li:before{content:unset}.dark .prose ol>li:before,.dark .prose ul>li:before{color:var(--color-gray-300)}.dark .dark\:prose-dark thead{color:var(--color-slate-500)}.prose pre[data-line-numbers=true],.prose pre[data-add],.prose pre[data-remove],.prose pre:has([data-highlight]){padding-left:0rem;padding-right:0rem}.prose pre:not([data-line-numbers=true]):has([data-highlight]){padding-left:0rem;padding-right:0rem}.prose pre:not([data-line-numbers=true]) .codeblock-line:before,.prose pre[data-line-numbers=true] .codeblock-line:before,.prose pre[data-remove] .codeblock-line:before,.prose pre[data-add] .codeblock-line:before{padding-left:0rem;text-align:right;display:inline-block;width:4rem;color:var(--base03);padding-right:1.5rem;position:sticky;left:0;background-color:var(--base00);content:attr(data-line-number)}.prose pre .codeblock-line[data-diff-line-number]:before{content:attr(data-diff-line-number)}.prose pre[data-line-numbers=false][data-line-numbers=false] .codeblock-line:before{content:" "}.prose pre[data-line-numbers=false]:not([data-add]):not([data-remove]):not(:has([data-highlight])) .codeblock-line:before{width:0;padding-right:0}.prose pre[data-line-numbers=false]:not([data-add]):not([data-remove]):has([data-highlight]) .codeblock-line:before{width:2rem}.prose pre[data-filename]{padding-top:2rem}.prose pre[data-filename][data-buttons][data-fullpath]{padding-top:3rem}.prose pre[data-lang]:not([data-nolang]){padding-bottom:2rem}.prose pre:not([data-lang]):not([data-nolang]){background-color:var(--base00);color:var(--base05)}.prose pre[data-line-numbers=true] [data-line-number]:before .codeblock-line[data-highlight=true]:before{background:var(--base0E)}.prose *:not(pre) code{background:var(--base00);color:var(--base05);padding:.2rem .4rem;border-radius:.2rem}.prose pre[data-add]:not([data-line-numbers=true]) [data-diff-line-number]:before,.prose pre[data-remove]:not([data-line-numbers=true]) [data-diff-line-number]:before{content:attr(data-diff-line-number)}.prose pre>code{display:inline-block;min-width:100%}.codeblock-line{display:block;position:relative;padding-right:1rem}.codeblock-line[data-highlight=true]:after,.prose pre[data-remove] .codeblock-line[data-remove]:after,.prose pre[data-add] .codeblock-line[data-add]:after{content:" ";position:absolute;left:0;top:0;width:100%;opacity:.15;pointer-events:none}.codeblock-line[data-highlight=true]:before{border-left:6px solid var(--base0E)}.codeblock-line[data-highlight=true]:after{background:var(--base0E)}.prose pre[data-remove][data-remove][data-remove] .codeblock-line[data-remove]:before{content:"-"}.prose pre[data-remove] .codeblock-line[data-remove]:after{background:var(--highlight-removed)}.prose pre[data-add][data-add][data-add] .codeblock-line[data-add]:before{content:"+"}.prose pre[data-add] .codeblock-line[data-add]:after{background:var(--highlight-added)}.prose pre[data-add] .codeblock-line[data-add]::-moz-selection,.prose pre[data-add] .codeblock-line[data-add] span::-moz-selection{background:var(--highlight-added-selection)}.prose pre[data-add] .codeblock-line[data-add]::selection,.prose pre[data-add] .codeblock-line[data-add] span::selection{background:var(--highlight-added-selection)}.prose pre[data-remove] .codeblock-line[data-remove]::-moz-selection,.prose pre[data-remove] .codeblock-line[data-remove] span::-moz-selection{background:var(--highlight-removed-selection)}.prose pre[data-remove] .codeblock-line[data-remove]::selection,.prose pre[data-remove] .codeblock-line[data-remove] span::selection{background:var(--highlight-removed-selection)}.prose pre{position:relative}.prose pre[data-filename]:before{content:attr(data-filename);position:absolute;left:8px;top:4px;font-size:.7rem;opacity:.7}.prose pre[data-lang]:not([data-nolang]):after{content:attr(data-lang);position:sticky;right:0;font-size:.7rem;opacity:.7;display:inline-block;transform:translate(-16px,24px);text-align:right;width:200px;margin-left:-200px}.prose>*{margin-bottom:1rem}.prose callout-muted a,.prose callout-info a,.prose callout-warning a,.prose callout-danger a,.prose callout-success a{text-decoration:underline}.prose callout-muted p,.prose callout-info p,.prose callout-warning p,.prose callout-danger p,.prose callout-success p{margin-bottom:0}.prose callout-muted,.prose callout-info,.prose callout-warning,.prose callout-danger,.prose callout-success{margin-top:0;margin-bottom:2rem;display:block;border-left:solid 4px;padding:.5rem 1rem;position:relative;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.prose callout-muted,.prose callout-info,.prose callout-warning,.prose callout-danger,.prose callout-success,.prose callout-muted *,.prose callout-info *,.prose callout-warning *,.prose callout-danger *,.prose callout-success *{font-size:1rem}.prose callout-muted.aside,.prose callout-info.aside,.prose callout-warning.aside,.prose callout-danger.aside,.prose callout-success.aside,.prose callout-muted.aside *,.prose callout-info.aside *,.prose callout-warning.aside *,.prose callout-danger.aside *,.prose callout-success.aside *{font-size:.875rem}.prose callout-muted.important,.prose callout-info.important,.prose callout-warning.important,.prose callout-danger.important,.prose callout-success.important,.prose callout-muted.important *,.prose callout-info.important *,.prose callout-warning.important *,.prose callout-danger.important *,.prose callout-success.important *{font-size:1.25rem;font-weight:700}.prose callout-muted:before,.prose callout-info:before,.prose callout-warning:before,.prose callout-danger:before,.prose callout-success:before{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;content:"";position:absolute;inset:0;opacity:.1;pointer-events:none}.light .prose callout-warning,.light .prose callout-warning ol>li:before{color:#676000}.light .prose callout-warning:before{background:#ffd800}.prose callout-warning,.prose callout-warning ol>li:before{color:#ffd644}.prose callout-warning:before{background:#ffd644}.light .prose callout-muted,.light .prose callout-muted ol>li:before{color:#4c4b5e}.light .prose callout-muted:before{background:#3c3e4d}.prose callout-muted,.prose callout-muted ol>li:before{color:#b9b9c3}.prose callout-muted:before{background:#3c3e4d}.prose callout-info,.prose callout-info ol>li:before{color:#4b96ff}.prose callout-info:before{background:#4b96ff}.prose callout-danger,.prose callout-danger ol>li:before{color:#ff4545}.prose callout-danger:before{background:#ff4545}.prose callout-success,.prose callout-success ol>li:before{color:#30c85e}.prose callout-success:before{background:#30c85e}.prose callout-warning.notification .title,.prose callout-danger.notification .title{font-size:1.5rem;line-height:2rem}.prose callout-danger.notification pre{border:4px solid #ff4545;padding-block:1.5rem;margin-block:.5rem}.prose callout-warning.notification,.prose callout-danger.notification{margin-bottom:0!important}.radix-state-closed\:hidden[data-state=closed]{height:0;overflow:hidden;display:flex}.mermaid{background-color:#fff}
@@ -0,0 +1,2 @@
1
+ import{w as t,c as s,r as p}from"./chunk-QMGIS6GS-CG5cA6CX.js";import{j as e}from"./jsx-runtime-EKYJJIwR.js";import{P as i}from"./preview-COuApZAb.js";import"./misc-COGqV2fm.js";import"./button-cFpvwtjC.js";import"./loading-CZYaLyAk.js";import"./index-rknZKmMI.js";import"./tooltip-Cm7A1uIP.js";import"./index-Bp_2FjuO.js";import"./pe-DoDyGTeN.js";import"./progress-bar-Cww9t8Vn.js";const d=t(function(){const{appInfo:r}=s(),o=p.useRef(null);return e.jsx(i,{appInfo:r,inBrowserBrowserRef:o})});export{d as default};
2
+ //# sourceMappingURL=app-CzIg9kJh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-CzIg9kJh.js","sources":["../../../app/routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app.tsx"],"sourcesContent":["import { requireExerciseApp } from '@epic-web/workshop-utils/apps.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { useRef } from 'react'\nimport {\n\tdata,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\tuseLoaderData,\n} from 'react-router'\nimport { type InBrowserBrowserRef } from '#app/components/in-browser-browser.js'\nimport { Preview } from './__shared/preview.tsx'\nimport { getAppRunningState } from './__shared/utils.tsx'\n\nexport async function loader({ request, params }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('exercise-step-test')\n\tconst exerciseStepApp = await requireExerciseApp(params, { request, timings })\n\tconst { isRunning, portIsAvailable } =\n\t\tawait getAppRunningState(exerciseStepApp)\n\n\treturn data(\n\t\t{\n\t\t\tappInfo: {\n\t\t\t\tisRunning,\n\t\t\t\tname: exerciseStepApp.name,\n\t\t\t\ttitle: exerciseStepApp.title,\n\t\t\t\tportIsAvailable,\n\t\t\t\ttype: exerciseStepApp.type,\n\t\t\t\tfullPath: exerciseStepApp.fullPath,\n\t\t\t\tdev: exerciseStepApp.dev,\n\t\t\t\ttest: exerciseStepApp.test,\n\t\t\t\tstackBlitzUrl: exerciseStepApp.stackBlitzUrl,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': timings.toString(),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders, parentHeaders }) => {\n\tconst headers = {\n\t\t'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nexport default function TestsList() {\n\tconst { appInfo } = useLoaderData<typeof loader>()\n\tconst ref = useRef<InBrowserBrowserRef>(null)\n\n\treturn <Preview appInfo={appInfo} inBrowserBrowserRef={ref} />\n}\n"],"names":["app","_UNSAFE_withComponentProps","appInfo","useLoaderData","ref","useRef","jsx","Preview","inBrowserBrowserRef"],"mappings":"+XAmDA,MAAAA,EAAAC,EAAA,UAAoC,CACnC,KAAM,CAAEC,QAAAA,GAAYC,EAAA,EACdC,EAAMC,EAAAA,OAA4B,IAAI,EAE5C,OAAOC,EAAAA,IAACC,EAAA,CAAQL,QAAAA,EAAkBM,oBAAqBJ,CAAA,CAAK,CAC7D,CAAA"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=app.epic_ws_.js_-l0sNRNKZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.epic_ws_.js_-l0sNRNKZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=apps-DP2rzg_V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps-DP2rzg_V.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=apps-l0sNRNKZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps-l0sNRNKZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as sn,$ as on,a0 as fn}from"./mermaid.core-CqaUvNIK.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,A,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
2
+ //# sourceMappingURL=arc-B6tHINqs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arc-B6tHINqs.js","sources":["../../../../../node_modules/d3-shape/src/arc.js"],"sourcesContent":["import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n"],"names":["arcInnerRadius","d","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x0","y0","x1","y1","x2","y2","x3","y3","x10","y10","x32","y32","t","epsilon","cornerTangents","r1","rc","cw","x01","y01","lo","sqrt","ox","oy","x11","y11","x00","y00","dx","dy","d2","r","D","max","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","d3arc","innerRadius","outerRadius","cornerRadius","constant","padRadius","startAngle","endAngle","padAngle","context","path","withPath","arc","buffer","r0","a0","halfPi","a1","da","abs","tau","cos","sin","a01","a11","a00","a10","da0","da1","ap","rp","min","rc0","rc1","t0","t1","p0","asin","p1","oc","pi","ax","ay","bx","by","kc","acos","lc","atan2","a","_"],"mappings":"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","x_google_ignoreList":[0]}