@darajs/core 1.0.0-a.1

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 (462) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +7 -0
  3. package/dist/actions/download-content.d.ts +8 -0
  4. package/dist/actions/download-content.d.ts.map +1 -0
  5. package/dist/actions/download-content.js +46 -0
  6. package/dist/actions/download-content.js.map +1 -0
  7. package/dist/actions/download-variable.d.ts +8 -0
  8. package/dist/actions/download-variable.d.ts.map +1 -0
  9. package/dist/actions/download-variable.js +153 -0
  10. package/dist/actions/download-variable.js.map +1 -0
  11. package/dist/actions/index.d.ts +11 -0
  12. package/dist/actions/index.d.ts.map +1 -0
  13. package/dist/actions/index.js +11 -0
  14. package/dist/actions/index.js.map +1 -0
  15. package/dist/actions/logout.d.ts +8 -0
  16. package/dist/actions/logout.d.ts.map +1 -0
  17. package/dist/actions/logout.js +24 -0
  18. package/dist/actions/logout.js.map +1 -0
  19. package/dist/actions/navigate-to.d.ts +8 -0
  20. package/dist/actions/navigate-to.d.ts.map +1 -0
  21. package/dist/actions/navigate-to.js +77 -0
  22. package/dist/actions/navigate-to.js.map +1 -0
  23. package/dist/actions/notify.d.ts +8 -0
  24. package/dist/actions/notify.d.ts.map +1 -0
  25. package/dist/actions/notify.js +16 -0
  26. package/dist/actions/notify.js.map +1 -0
  27. package/dist/actions/reset-variables.d.ts +8 -0
  28. package/dist/actions/reset-variables.d.ts.map +1 -0
  29. package/dist/actions/reset-variables.js +24 -0
  30. package/dist/actions/reset-variables.js.map +1 -0
  31. package/dist/actions/side-effect.d.ts +8 -0
  32. package/dist/actions/side-effect.d.ts.map +1 -0
  33. package/dist/actions/side-effect.js +44 -0
  34. package/dist/actions/side-effect.js.map +1 -0
  35. package/dist/actions/trigger-variable.d.ts +8 -0
  36. package/dist/actions/trigger-variable.d.ts.map +1 -0
  37. package/dist/actions/trigger-variable.js +25 -0
  38. package/dist/actions/trigger-variable.js.map +1 -0
  39. package/dist/actions/update-variable.d.ts +9 -0
  40. package/dist/actions/update-variable.d.ts.map +1 -0
  41. package/dist/actions/update-variable.js +89 -0
  42. package/dist/actions/update-variable.js.map +1 -0
  43. package/dist/actions/utils.d.ts +9 -0
  44. package/dist/actions/utils.d.ts.map +1 -0
  45. package/dist/actions/utils.js +37 -0
  46. package/dist/actions/utils.js.map +1 -0
  47. package/dist/api/core.d.ts +34 -0
  48. package/dist/api/core.d.ts.map +1 -0
  49. package/dist/api/core.js +110 -0
  50. package/dist/api/core.js.map +1 -0
  51. package/dist/api/http.d.ts +9 -0
  52. package/dist/api/http.d.ts.map +1 -0
  53. package/dist/api/http.js +38 -0
  54. package/dist/api/http.js.map +1 -0
  55. package/dist/api/index.d.ts +5 -0
  56. package/dist/api/index.d.ts.map +1 -0
  57. package/dist/api/index.js +5 -0
  58. package/dist/api/index.js.map +1 -0
  59. package/dist/api/websocket.d.ts +140 -0
  60. package/dist/api/websocket.d.ts.map +1 -0
  61. package/dist/api/websocket.js +241 -0
  62. package/dist/api/websocket.js.map +1 -0
  63. package/dist/assets/fonts/Manrope-VariableFont_wght.ttf +0 -0
  64. package/dist/assets/login-background.svg +11 -0
  65. package/dist/assets/logo.svg +12 -0
  66. package/dist/auth/auth-context.d.ts +22 -0
  67. package/dist/auth/auth-context.d.ts.map +1 -0
  68. package/dist/auth/auth-context.js +18 -0
  69. package/dist/auth/auth-context.js.map +1 -0
  70. package/dist/auth/auth-wrapper.d.ts +14 -0
  71. package/dist/auth/auth-wrapper.d.ts.map +1 -0
  72. package/dist/auth/auth-wrapper.js +90 -0
  73. package/dist/auth/auth-wrapper.js.map +1 -0
  74. package/dist/auth/auth.d.ts +61 -0
  75. package/dist/auth/auth.d.ts.map +1 -0
  76. package/dist/auth/auth.js +161 -0
  77. package/dist/auth/auth.js.map +1 -0
  78. package/dist/auth/basic/basic-auth-login.d.ts +6 -0
  79. package/dist/auth/basic/basic-auth-login.d.ts.map +1 -0
  80. package/dist/auth/basic/basic-auth-login.js +174 -0
  81. package/dist/auth/basic/basic-auth-login.js.map +1 -0
  82. package/dist/auth/basic/basic-auth-logout.d.ts +6 -0
  83. package/dist/auth/basic/basic-auth-logout.d.ts.map +1 -0
  84. package/dist/auth/basic/basic-auth-logout.js +18 -0
  85. package/dist/auth/basic/basic-auth-logout.js.map +1 -0
  86. package/dist/auth/default/default-auth-login.d.ts +6 -0
  87. package/dist/auth/default/default-auth-login.d.ts.map +1 -0
  88. package/dist/auth/default/default-auth-login.js +66 -0
  89. package/dist/auth/default/default-auth-login.js.map +1 -0
  90. package/dist/auth/index.d.ts +7 -0
  91. package/dist/auth/index.d.ts.map +1 -0
  92. package/dist/auth/index.js +7 -0
  93. package/dist/auth/index.js.map +1 -0
  94. package/dist/components/fallback/default.d.ts +5 -0
  95. package/dist/components/fallback/default.d.ts.map +1 -0
  96. package/dist/components/fallback/default.js +10 -0
  97. package/dist/components/fallback/default.js.map +1 -0
  98. package/dist/components/fallback/dots.d.ts +8 -0
  99. package/dist/components/fallback/dots.d.ts.map +1 -0
  100. package/dist/components/fallback/dots.js +77 -0
  101. package/dist/components/fallback/dots.js.map +1 -0
  102. package/dist/components/fallback/row.d.ts +5 -0
  103. package/dist/components/fallback/row.d.ts.map +1 -0
  104. package/dist/components/fallback/row.js +14 -0
  105. package/dist/components/fallback/row.js.map +1 -0
  106. package/dist/components/for/for.d.ts +35 -0
  107. package/dist/components/for/for.d.ts.map +1 -0
  108. package/dist/components/for/for.js +43 -0
  109. package/dist/components/for/for.js.map +1 -0
  110. package/dist/components/index.d.ts +9 -0
  111. package/dist/components/index.d.ts.map +1 -0
  112. package/dist/components/index.js +9 -0
  113. package/dist/components/index.js.map +1 -0
  114. package/dist/components/menu/menu.d.ts +14 -0
  115. package/dist/components/menu/menu.d.ts.map +1 -0
  116. package/dist/components/menu/menu.js +58 -0
  117. package/dist/components/menu/menu.js.map +1 -0
  118. package/dist/components/progress-tracker/progress-tracker.d.ts +18 -0
  119. package/dist/components/progress-tracker/progress-tracker.d.ts.map +1 -0
  120. package/dist/components/progress-tracker/progress-tracker.js +202 -0
  121. package/dist/components/progress-tracker/progress-tracker.js.map +1 -0
  122. package/dist/components/router-content/router-content.d.ts +14 -0
  123. package/dist/components/router-content/router-content.d.ts.map +1 -0
  124. package/dist/components/router-content/router-content.js +17 -0
  125. package/dist/components/router-content/router-content.js.map +1 -0
  126. package/dist/components/side-bar-frame/side-bar-frame.d.ts +21 -0
  127. package/dist/components/side-bar-frame/side-bar-frame.d.ts.map +1 -0
  128. package/dist/components/side-bar-frame/side-bar-frame.js +63 -0
  129. package/dist/components/side-bar-frame/side-bar-frame.js.map +1 -0
  130. package/dist/components/top-bar-frame/top-bar-frame.d.ts +16 -0
  131. package/dist/components/top-bar-frame/top-bar-frame.d.ts.map +1 -0
  132. package/dist/components/top-bar-frame/top-bar-frame.js +70 -0
  133. package/dist/components/top-bar-frame/top-bar-frame.js.map +1 -0
  134. package/dist/dara_core-1.0.0a1-py3-none-any.whl +0 -0
  135. package/dist/devtools/backend-errors/backend-errors-ctx.d.ts +17 -0
  136. package/dist/devtools/backend-errors/backend-errors-ctx.d.ts.map +1 -0
  137. package/dist/devtools/backend-errors/backend-errors-ctx.js +37 -0
  138. package/dist/devtools/backend-errors/backend-errors-ctx.js.map +1 -0
  139. package/dist/devtools/backend-errors/backend-errors.d.ts +6 -0
  140. package/dist/devtools/backend-errors/backend-errors.d.ts.map +1 -0
  141. package/dist/devtools/backend-errors/backend-errors.js +57 -0
  142. package/dist/devtools/backend-errors/backend-errors.js.map +1 -0
  143. package/dist/devtools/backend-errors/error-display.d.ts +22 -0
  144. package/dist/devtools/backend-errors/error-display.d.ts.map +1 -0
  145. package/dist/devtools/backend-errors/error-display.js +99 -0
  146. package/dist/devtools/backend-errors/error-display.js.map +1 -0
  147. package/dist/devtools/backend-errors/index.d.ts +3 -0
  148. package/dist/devtools/backend-errors/index.d.ts.map +1 -0
  149. package/dist/devtools/backend-errors/index.js +3 -0
  150. package/dist/devtools/backend-errors/index.js.map +1 -0
  151. package/dist/devtools/devtools-content.d.ts +12 -0
  152. package/dist/devtools/devtools-content.d.ts.map +1 -0
  153. package/dist/devtools/devtools-content.js +73 -0
  154. package/dist/devtools/devtools-content.js.map +1 -0
  155. package/dist/devtools/devtools-context.d.ts +7 -0
  156. package/dist/devtools/devtools-context.d.ts.map +1 -0
  157. package/dist/devtools/devtools-context.js +9 -0
  158. package/dist/devtools/devtools-context.js.map +1 -0
  159. package/dist/devtools/devtools-wrapper.d.ts +8 -0
  160. package/dist/devtools/devtools-wrapper.d.ts.map +1 -0
  161. package/dist/devtools/devtools-wrapper.js +64 -0
  162. package/dist/devtools/devtools-wrapper.js.map +1 -0
  163. package/dist/devtools/devtools.d.ts +5 -0
  164. package/dist/devtools/devtools.d.ts.map +1 -0
  165. package/dist/devtools/devtools.js +10 -0
  166. package/dist/devtools/devtools.js.map +1 -0
  167. package/dist/devtools/floating-button.d.ts +24 -0
  168. package/dist/devtools/floating-button.d.ts.map +1 -0
  169. package/dist/devtools/floating-button.js +96 -0
  170. package/dist/devtools/floating-button.js.map +1 -0
  171. package/dist/devtools/index.d.ts +2 -0
  172. package/dist/devtools/index.d.ts.map +1 -0
  173. package/dist/devtools/index.js +2 -0
  174. package/dist/devtools/index.js.map +1 -0
  175. package/dist/devtools/resizer.d.ts +18 -0
  176. package/dist/devtools/resizer.d.ts.map +1 -0
  177. package/dist/devtools/resizer.js +48 -0
  178. package/dist/devtools/resizer.js.map +1 -0
  179. package/dist/devtools/use-move.d.ts +21 -0
  180. package/dist/devtools/use-move.d.ts.map +1 -0
  181. package/dist/devtools/use-move.js +55 -0
  182. package/dist/devtools/use-move.js.map +1 -0
  183. package/dist/index.css +95 -0
  184. package/dist/index.d.ts +15 -0
  185. package/dist/index.d.ts.map +1 -0
  186. package/dist/index.js +13 -0
  187. package/dist/index.js.map +1 -0
  188. package/dist/jest-setup.d.ts +2 -0
  189. package/dist/jest-setup.d.ts.map +1 -0
  190. package/dist/jest-setup.js +7 -0
  191. package/dist/jest-setup.js.map +1 -0
  192. package/dist/pages/error-page.d.ts +3 -0
  193. package/dist/pages/error-page.d.ts.map +1 -0
  194. package/dist/pages/error-page.js +32 -0
  195. package/dist/pages/error-page.js.map +1 -0
  196. package/dist/pages/sso-callback-page.d.ts +6 -0
  197. package/dist/pages/sso-callback-page.d.ts.map +1 -0
  198. package/dist/pages/sso-callback-page.js +8 -0
  199. package/dist/pages/sso-callback-page.js.map +1 -0
  200. package/dist/run.d.ts +22 -0
  201. package/dist/run.d.ts.map +1 -0
  202. package/dist/run.js +40 -0
  203. package/dist/run.js.map +1 -0
  204. package/dist/shared/center/center.d.ts +5 -0
  205. package/dist/shared/center/center.d.ts.map +1 -0
  206. package/dist/shared/center/center.js +15 -0
  207. package/dist/shared/center/center.js.map +1 -0
  208. package/dist/shared/context/direction-context.d.ts +7 -0
  209. package/dist/shared/context/direction-context.d.ts.map +1 -0
  210. package/dist/shared/context/direction-context.js +4 -0
  211. package/dist/shared/context/direction-context.js.map +1 -0
  212. package/dist/shared/context/display-context.d.ts +14 -0
  213. package/dist/shared/context/display-context.d.ts.map +1 -0
  214. package/dist/shared/context/display-context.js +4 -0
  215. package/dist/shared/context/display-context.js.map +1 -0
  216. package/dist/shared/context/fallback-context.d.ts +11 -0
  217. package/dist/shared/context/fallback-context.d.ts.map +1 -0
  218. package/dist/shared/context/fallback-context.js +4 -0
  219. package/dist/shared/context/fallback-context.js.map +1 -0
  220. package/dist/shared/context/global-task-context.d.ts +40 -0
  221. package/dist/shared/context/global-task-context.d.ts.map +1 -0
  222. package/dist/shared/context/global-task-context.js +78 -0
  223. package/dist/shared/context/global-task-context.js.map +1 -0
  224. package/dist/shared/context/importers-context.d.ts +7 -0
  225. package/dist/shared/context/importers-context.d.ts.map +1 -0
  226. package/dist/shared/context/importers-context.js +4 -0
  227. package/dist/shared/context/importers-context.js.map +1 -0
  228. package/dist/shared/context/index.d.ts +10 -0
  229. package/dist/shared/context/index.d.ts.map +1 -0
  230. package/dist/shared/context/index.js +10 -0
  231. package/dist/shared/context/index.js.map +1 -0
  232. package/dist/shared/context/registries-context.d.ts +21 -0
  233. package/dist/shared/context/registries-context.d.ts.map +1 -0
  234. package/dist/shared/context/registries-context.js +8 -0
  235. package/dist/shared/context/registries-context.js.map +1 -0
  236. package/dist/shared/context/variable-context.d.ts +10 -0
  237. package/dist/shared/context/variable-context.d.ts.map +1 -0
  238. package/dist/shared/context/variable-context.js +4 -0
  239. package/dist/shared/context/variable-context.js.map +1 -0
  240. package/dist/shared/context/websocket-context.d.ts +8 -0
  241. package/dist/shared/context/websocket-context.d.ts.map +1 -0
  242. package/dist/shared/context/websocket-context.js +4 -0
  243. package/dist/shared/context/websocket-context.js.map +1 -0
  244. package/dist/shared/dynamic-component/dynamic-component.d.ts +16 -0
  245. package/dist/shared/dynamic-component/dynamic-component.d.ts.map +1 -0
  246. package/dist/shared/dynamic-component/dynamic-component.js +243 -0
  247. package/dist/shared/dynamic-component/dynamic-component.js.map +1 -0
  248. package/dist/shared/error-handling/error-display.d.ts +8 -0
  249. package/dist/shared/error-handling/error-display.d.ts.map +1 -0
  250. package/dist/shared/error-handling/error-display.js +92 -0
  251. package/dist/shared/error-handling/error-display.js.map +1 -0
  252. package/dist/shared/error-handling/index.d.ts +3 -0
  253. package/dist/shared/error-handling/index.d.ts.map +1 -0
  254. package/dist/shared/error-handling/index.js +3 -0
  255. package/dist/shared/error-handling/index.js.map +1 -0
  256. package/dist/shared/error-handling/types.d.ts +10 -0
  257. package/dist/shared/error-handling/types.d.ts.map +1 -0
  258. package/dist/shared/error-handling/types.js +9 -0
  259. package/dist/shared/error-handling/types.js.map +1 -0
  260. package/dist/shared/index.d.ts +11 -0
  261. package/dist/shared/index.d.ts.map +1 -0
  262. package/dist/shared/index.js +9 -0
  263. package/dist/shared/index.js.map +1 -0
  264. package/dist/shared/interactivity/data-variable.d.ts +66 -0
  265. package/dist/shared/interactivity/data-variable.d.ts.map +1 -0
  266. package/dist/shared/interactivity/data-variable.js +186 -0
  267. package/dist/shared/interactivity/data-variable.js.map +1 -0
  268. package/dist/shared/interactivity/derived-variable.d.ts +153 -0
  269. package/dist/shared/interactivity/derived-variable.d.ts.map +1 -0
  270. package/dist/shared/interactivity/derived-variable.js +403 -0
  271. package/dist/shared/interactivity/derived-variable.js.map +1 -0
  272. package/dist/shared/interactivity/filtering.d.ts +9 -0
  273. package/dist/shared/interactivity/filtering.d.ts.map +1 -0
  274. package/dist/shared/interactivity/filtering.js +20 -0
  275. package/dist/shared/interactivity/filtering.js.map +1 -0
  276. package/dist/shared/interactivity/index.d.ts +12 -0
  277. package/dist/shared/interactivity/index.d.ts.map +1 -0
  278. package/dist/shared/interactivity/index.js +11 -0
  279. package/dist/shared/interactivity/index.js.map +1 -0
  280. package/dist/shared/interactivity/internal.d.ts +8 -0
  281. package/dist/shared/interactivity/internal.d.ts.map +1 -0
  282. package/dist/shared/interactivity/internal.js +10 -0
  283. package/dist/shared/interactivity/internal.js.map +1 -0
  284. package/dist/shared/interactivity/nested.d.ts +16 -0
  285. package/dist/shared/interactivity/nested.d.ts.map +1 -0
  286. package/dist/shared/interactivity/nested.js +50 -0
  287. package/dist/shared/interactivity/nested.js.map +1 -0
  288. package/dist/shared/interactivity/plain-variable.d.ts +23 -0
  289. package/dist/shared/interactivity/plain-variable.d.ts.map +1 -0
  290. package/dist/shared/interactivity/plain-variable.js +89 -0
  291. package/dist/shared/interactivity/plain-variable.js.map +1 -0
  292. package/dist/shared/interactivity/resolve-value.d.ts +13 -0
  293. package/dist/shared/interactivity/resolve-value.d.ts.map +1 -0
  294. package/dist/shared/interactivity/resolve-value.js +36 -0
  295. package/dist/shared/interactivity/resolve-value.js.map +1 -0
  296. package/dist/shared/interactivity/resolve-variable.d.ts +18 -0
  297. package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -0
  298. package/dist/shared/interactivity/resolve-variable.js +47 -0
  299. package/dist/shared/interactivity/resolve-variable.js.map +1 -0
  300. package/dist/shared/interactivity/store.d.ts +35 -0
  301. package/dist/shared/interactivity/store.d.ts.map +1 -0
  302. package/dist/shared/interactivity/store.js +47 -0
  303. package/dist/shared/interactivity/store.js.map +1 -0
  304. package/dist/shared/interactivity/triggers.d.ts +31 -0
  305. package/dist/shared/interactivity/triggers.d.ts.map +1 -0
  306. package/dist/shared/interactivity/triggers.js +105 -0
  307. package/dist/shared/interactivity/triggers.js.map +1 -0
  308. package/dist/shared/interactivity/url-variable.d.ts +12 -0
  309. package/dist/shared/interactivity/url-variable.d.ts.map +1 -0
  310. package/dist/shared/interactivity/url-variable.js +28 -0
  311. package/dist/shared/interactivity/url-variable.js.map +1 -0
  312. package/dist/shared/interactivity/use-any-variable.d.ts +8 -0
  313. package/dist/shared/interactivity/use-any-variable.d.ts.map +1 -0
  314. package/dist/shared/interactivity/use-any-variable.js +38 -0
  315. package/dist/shared/interactivity/use-any-variable.js.map +1 -0
  316. package/dist/shared/interactivity/use-data-variable.d.ts +12 -0
  317. package/dist/shared/interactivity/use-data-variable.d.ts.map +1 -0
  318. package/dist/shared/interactivity/use-data-variable.js +56 -0
  319. package/dist/shared/interactivity/use-data-variable.js.map +1 -0
  320. package/dist/shared/interactivity/use-refresh-selector.d.ts +5 -0
  321. package/dist/shared/interactivity/use-refresh-selector.d.ts.map +1 -0
  322. package/dist/shared/interactivity/use-refresh-selector.js +16 -0
  323. package/dist/shared/interactivity/use-refresh-selector.js.map +1 -0
  324. package/dist/shared/interactivity/use-reset-variables.d.ts +8 -0
  325. package/dist/shared/interactivity/use-reset-variables.d.ts.map +1 -0
  326. package/dist/shared/interactivity/use-reset-variables.js +46 -0
  327. package/dist/shared/interactivity/use-reset-variables.js.map +1 -0
  328. package/dist/shared/interactivity/use-server-component.d.ts +24 -0
  329. package/dist/shared/interactivity/use-server-component.d.ts.map +1 -0
  330. package/dist/shared/interactivity/use-server-component.js +227 -0
  331. package/dist/shared/interactivity/use-server-component.js.map +1 -0
  332. package/dist/shared/interactivity/use-trigger-variable.d.ts +9 -0
  333. package/dist/shared/interactivity/use-trigger-variable.d.ts.map +1 -0
  334. package/dist/shared/interactivity/use-trigger-variable.js +18 -0
  335. package/dist/shared/interactivity/use-trigger-variable.js.map +1 -0
  336. package/dist/shared/interactivity/use-variable-state.d.ts +9 -0
  337. package/dist/shared/interactivity/use-variable-state.d.ts.map +1 -0
  338. package/dist/shared/interactivity/use-variable-state.js +35 -0
  339. package/dist/shared/interactivity/use-variable-state.js.map +1 -0
  340. package/dist/shared/interactivity/use-variable-value.d.ts +20 -0
  341. package/dist/shared/interactivity/use-variable-value.d.ts.map +1 -0
  342. package/dist/shared/interactivity/use-variable-value.js +77 -0
  343. package/dist/shared/interactivity/use-variable-value.js.map +1 -0
  344. package/dist/shared/interactivity/use-variable.d.ts +11 -0
  345. package/dist/shared/interactivity/use-variable.d.ts.map +1 -0
  346. package/dist/shared/interactivity/use-variable.js +62 -0
  347. package/dist/shared/interactivity/use-variable.js.map +1 -0
  348. package/dist/shared/private-route/private-route.d.ts +23 -0
  349. package/dist/shared/private-route/private-route.d.ts.map +1 -0
  350. package/dist/shared/private-route/private-route.js +39 -0
  351. package/dist/shared/private-route/private-route.js.map +1 -0
  352. package/dist/shared/template-root/dynamic-context.d.ts +9 -0
  353. package/dist/shared/template-root/dynamic-context.d.ts.map +1 -0
  354. package/dist/shared/template-root/dynamic-context.js +28 -0
  355. package/dist/shared/template-root/dynamic-context.js.map +1 -0
  356. package/dist/shared/template-root/template-root.d.ts +8 -0
  357. package/dist/shared/template-root/template-root.d.ts.map +1 -0
  358. package/dist/shared/template-root/template-root.js +76 -0
  359. package/dist/shared/template-root/template-root.js.map +1 -0
  360. package/dist/shared/utils/clean-session-cache.d.ts +9 -0
  361. package/dist/shared/utils/clean-session-cache.d.ts.map +1 -0
  362. package/dist/shared/utils/clean-session-cache.js +17 -0
  363. package/dist/shared/utils/clean-session-cache.js.map +1 -0
  364. package/dist/shared/utils/embed.d.ts +13 -0
  365. package/dist/shared/utils/embed.d.ts.map +1 -0
  366. package/dist/shared/utils/embed.js +23 -0
  367. package/dist/shared/utils/embed.js.map +1 -0
  368. package/dist/shared/utils/get-icon.d.ts +9 -0
  369. package/dist/shared/utils/get-icon.d.ts.map +1 -0
  370. package/dist/shared/utils/get-icon.js +30 -0
  371. package/dist/shared/utils/get-icon.js.map +1 -0
  372. package/dist/shared/utils/hashing.d.ts +14 -0
  373. package/dist/shared/utils/hashing.d.ts.map +1 -0
  374. package/dist/shared/utils/hashing.js +26 -0
  375. package/dist/shared/utils/hashing.js.map +1 -0
  376. package/dist/shared/utils/index.d.ts +18 -0
  377. package/dist/shared/utils/index.d.ts.map +1 -0
  378. package/dist/shared/utils/index.js +16 -0
  379. package/dist/shared/utils/index.js.map +1 -0
  380. package/dist/shared/utils/inject-css.d.ts +13 -0
  381. package/dist/shared/utils/inject-css.d.ts.map +1 -0
  382. package/dist/shared/utils/inject-css.js +25 -0
  383. package/dist/shared/utils/inject-css.js.map +1 -0
  384. package/dist/shared/utils/is-js-component.d.ts +9 -0
  385. package/dist/shared/utils/is-js-component.d.ts.map +1 -0
  386. package/dist/shared/utils/is-js-component.js +11 -0
  387. package/dist/shared/utils/is-js-component.js.map +1 -0
  388. package/dist/shared/utils/normalization.d.ts +19 -0
  389. package/dist/shared/utils/normalization.d.ts.map +1 -0
  390. package/dist/shared/utils/normalization.js +118 -0
  391. package/dist/shared/utils/normalization.js.map +1 -0
  392. package/dist/shared/utils/resolve-theme.d.ts +9 -0
  393. package/dist/shared/utils/resolve-theme.d.ts.map +1 -0
  394. package/dist/shared/utils/resolve-theme.js +28 -0
  395. package/dist/shared/utils/resolve-theme.js.map +1 -0
  396. package/dist/shared/utils/templating.d.ts +24 -0
  397. package/dist/shared/utils/templating.d.ts.map +1 -0
  398. package/dist/shared/utils/templating.js +67 -0
  399. package/dist/shared/utils/templating.js.map +1 -0
  400. package/dist/shared/utils/use-action-registry.d.ts +11 -0
  401. package/dist/shared/utils/use-action-registry.d.ts.map +1 -0
  402. package/dist/shared/utils/use-action-registry.js +18 -0
  403. package/dist/shared/utils/use-action-registry.js.map +1 -0
  404. package/dist/shared/utils/use-action.d.ts +9 -0
  405. package/dist/shared/utils/use-action.d.ts.map +1 -0
  406. package/dist/shared/utils/use-action.js +84 -0
  407. package/dist/shared/utils/use-action.js.map +1 -0
  408. package/dist/shared/utils/use-component-registry.d.ts +11 -0
  409. package/dist/shared/utils/use-component-registry.d.ts.map +1 -0
  410. package/dist/shared/utils/use-component-registry.js +46 -0
  411. package/dist/shared/utils/use-component-registry.js.map +1 -0
  412. package/dist/shared/utils/use-component-styles.d.ts +24 -0
  413. package/dist/shared/utils/use-component-styles.d.ts.map +1 -0
  414. package/dist/shared/utils/use-component-styles.js +68 -0
  415. package/dist/shared/utils/use-component-styles.js.map +1 -0
  416. package/dist/shared/utils/use-defer-loadable.d.ts +8 -0
  417. package/dist/shared/utils/use-defer-loadable.d.ts.map +1 -0
  418. package/dist/shared/utils/use-defer-loadable.js +44 -0
  419. package/dist/shared/utils/use-defer-loadable.js.map +1 -0
  420. package/dist/shared/utils/use-interval.d.ts +9 -0
  421. package/dist/shared/utils/use-interval.d.ts.map +1 -0
  422. package/dist/shared/utils/use-interval.js +18 -0
  423. package/dist/shared/utils/use-interval.js.map +1 -0
  424. package/dist/shared/utils/use-previous.d.ts +10 -0
  425. package/dist/shared/utils/use-previous.d.ts.map +1 -0
  426. package/dist/shared/utils/use-previous.js +17 -0
  427. package/dist/shared/utils/use-previous.js.map +1 -0
  428. package/dist/shared/utils/use-url-sync.d.ts +20 -0
  429. package/dist/shared/utils/use-url-sync.d.ts.map +1 -0
  430. package/dist/shared/utils/use-url-sync.js +68 -0
  431. package/dist/shared/utils/use-url-sync.js.map +1 -0
  432. package/dist/shared/utils/use-window-title.d.ts +3 -0
  433. package/dist/shared/utils/use-window-title.d.ts.map +1 -0
  434. package/dist/shared/utils/use-window-title.js +14 -0
  435. package/dist/shared/utils/use-window-title.js.map +1 -0
  436. package/dist/shared/variable-state-provider/variable-state-provider.d.ts +10 -0
  437. package/dist/shared/variable-state-provider/variable-state-provider.d.ts.map +1 -0
  438. package/dist/shared/variable-state-provider/variable-state-provider.js +21 -0
  439. package/dist/shared/variable-state-provider/variable-state-provider.js.map +1 -0
  440. package/dist/shared/wrapper/wrapper.d.ts +7 -0
  441. package/dist/shared/wrapper/wrapper.d.ts.map +1 -0
  442. package/dist/shared/wrapper/wrapper.js +14 -0
  443. package/dist/shared/wrapper/wrapper.js.map +1 -0
  444. package/dist/types/auth.d.ts +15 -0
  445. package/dist/types/auth.d.ts.map +1 -0
  446. package/dist/types/auth.js +6 -0
  447. package/dist/types/auth.js.map +1 -0
  448. package/dist/types/core.d.ts +325 -0
  449. package/dist/types/core.d.ts.map +1 -0
  450. package/dist/types/core.js +22 -0
  451. package/dist/types/core.js.map +1 -0
  452. package/dist/types/index.d.ts +7 -0
  453. package/dist/types/index.d.ts.map +1 -0
  454. package/dist/types/index.js +4 -0
  455. package/dist/types/index.js.map +1 -0
  456. package/dist/types/utils.d.ts +50 -0
  457. package/dist/types/utils.d.ts.map +1 -0
  458. package/dist/types/utils.js +84 -0
  459. package/dist/types/utils.js.map +1 -0
  460. package/dist/umd/dara.core.umd.js +93592 -0
  461. package/dist/umd/style.css +848 -0
  462. package/package.json +117 -0
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { transparentize } from 'polished';
3
+ import styled, { ThemeContext, useTheme } from '@darajs/styled-components';
4
+ import { Button } from '@darajs/ui-components';
5
+ import { useConfig } from '../../api';
6
+ import { DirectionCtx, DynamicComponent, Wrapper, getIcon, resolveTheme } from '../../shared';
7
+ const shouldForwardProp = (prop) => !['width'].includes(prop);
8
+ const SideBar = styled.div.withConfig({ shouldForwardProp }) `
9
+ display: flex;
10
+ flex-direction: column;
11
+ align-items: center;
12
+
13
+ width: ${(props) => props.width || '240px'};
14
+ min-width: 150px;
15
+ max-width: 350px;
16
+ height: 100%;
17
+ padding: 2rem 1rem 1.5rem 1rem;
18
+
19
+ color: ${(props) => props.theme.colors.secondary};
20
+
21
+ background: ${(props) => {
22
+ return `radial-gradient(circle closest-corner at 10% 50%, ${transparentize(0.4, props.theme.colors.background)} 0%, ${transparentize(0.9, props.theme.colors.blue4)} 100%),radial-gradient(circle closest-corner at 5% 10%, ${transparentize(0.8, props.theme.colors.error)} 0%, ${transparentize(0.9, props.theme.colors.blue4)} 230%),radial-gradient(circle closest-corner at 50% 100%, ${transparentize(0.8, props.theme.colors.success)} 200%, ${transparentize(0.2, props.theme.colors.blue4)} 610%)`;
23
+ }};
24
+ box-shadow: rgba(20, 20, 25, 0.15) 0px 4px 16px, rgba(20, 20, 25, 0.15) 0px 8px 32px;
25
+ `;
26
+ const LogoutButton = styled(Button) `
27
+ width: 80%;
28
+ margin-bottom: 1rem;
29
+ padding: 1rem;
30
+ border-radius: 1rem;
31
+
32
+ a {
33
+ color: ${(props) => props.theme.colors.blue1};
34
+ text-decoration: none;
35
+ }
36
+
37
+ svg {
38
+ cursor: pointer;
39
+ margin-right: 1rem;
40
+ color: ${(props) => props.theme.colors.blue1};
41
+ }
42
+ `;
43
+ const LogoImage = styled.img `
44
+ width: ${(props) => props.width};
45
+ max-width: 200px;
46
+ margin: 1rem 0 2rem;
47
+ `;
48
+ const LogoutArrow = getIcon('fa-solid fa-arrow-right-from-bracket');
49
+ /**
50
+ * The SideBarFrame component is designed as a root component for an app built using the Dara core framework. It adds
51
+ * a dark blue side bar to the left of the screen and displays a main content on a light grey background in the center
52
+ *
53
+ * It exposes two slots for registering content: side-bar & content
54
+ */
55
+ function SideBarFrame(props) {
56
+ var _a, _b;
57
+ const theme = useTheme();
58
+ const { data: config } = useConfig();
59
+ const logo = props.logo_path && _jsx(LogoImage, { alt: "Logo", src: props.logo_path, width: props.logo_width });
60
+ return (_jsxs(Wrapper, { backgroundColor: theme.colors.background, children: [props.side_bar_position === 'right' && (_jsx(Wrapper, { children: props.content && _jsx(DynamicComponent, { component: props.content }) })), _jsx(ThemeContext.Provider, { value: resolveTheme((_a = config === null || config === void 0 ? void 0 : config.theme) === null || _a === void 0 ? void 0 : _a.main, (_b = config === null || config === void 0 ? void 0 : config.theme) === null || _b === void 0 ? void 0 : _b.base), children: _jsxs(SideBar, { style: { padding: props.side_bar_padding }, width: props.side_bar_width, children: [!props.hide_logo && props.logo_position !== 'bottom' && logo, _jsx(Wrapper, { direction: "column", children: _jsx(DirectionCtx.Provider, { value: { direction: 'column' }, children: props.side_bar && _jsx(DynamicComponent, { component: props.side_bar }) }) }), !props.hide_logo && props.logo_position === 'bottom' && logo, _jsxs(LogoutButton, { href: "/logout", styling: "error", children: [_jsx(LogoutArrow, { style: { marginRight: '0.5rem' } }), "Logout"] })] }) }), props.side_bar_position !== 'right' && (_jsx(Wrapper, { style: { padding: '2rem 3rem' }, children: props.content && _jsx(DynamicComponent, { component: props.content }) }))] }));
61
+ }
62
+ export default SideBarFrame;
63
+ //# sourceMappingURL=side-bar-frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-bar-frame.js","sourceRoot":"","sources":["../../../js/components/side-bar-frame/side-bar-frame.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ComponentInstance } from '../../types';
2
+ interface TopBarFrameProps {
3
+ content: ComponentInstance;
4
+ hide_logo?: boolean;
5
+ logo_path?: string;
6
+ logo_width?: string;
7
+ top_bar: ComponentInstance;
8
+ top_bar_height?: string;
9
+ top_bar_padding?: string;
10
+ }
11
+ /**
12
+ * The TopBarFrame component is designed as a root component for an app built using the Dara core framework.
13
+ */
14
+ declare function SideBarFrame(props: TopBarFrameProps): JSX.Element;
15
+ export default SideBarFrame;
16
+ //# sourceMappingURL=top-bar-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-bar-frame.d.ts","sourceRoot":"","sources":["../../../js/components/top-bar-frame/top-bar-frame.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA2EhD,UAAU,gBAAgB;IACtB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID;;GAEG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA6B1D;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { transparentize } from 'polished';
3
+ import styled, { ThemeContext, useTheme } from '@darajs/styled-components';
4
+ import { Button } from '@darajs/ui-components';
5
+ import { useConfig } from '../../api';
6
+ import { DirectionCtx, DynamicComponent, Wrapper, getIcon, resolveTheme } from '../../shared';
7
+ const shouldForwardProp = (prop) => !['width'].includes(prop);
8
+ const TopBar = styled.div.withConfig({ shouldForwardProp }) `
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: space-between;
12
+
13
+ width: 100%;
14
+ height: ${(props) => props.height || '124px'};
15
+ min-height: 100px;
16
+ max-height: 350px;
17
+ padding: 2rem 3rem;
18
+
19
+ color: ${(props) => props.theme.colors.secondary};
20
+
21
+ background: ${(props) => {
22
+ return `
23
+ radial-gradient(farthest-side at 50% 0%, ${transparentize(0.7, props.theme.colors.background)} 0%, ${transparentize(0.9, props.theme.colors.blue4)} 50%),
24
+ radial-gradient(at -50% 90%, ${transparentize(0.5, props.theme.colors.error)} 0%, ${transparentize(0.7, props.theme.colors.blue4)} 45%),
25
+ radial-gradient(at 130% 100%, ${transparentize(0.4, props.theme.colors.success)} 0%, ${transparentize(0.5, props.theme.colors.blue4)} 50%)`;
26
+ }};
27
+ box-shadow: rgba(20, 20, 25, 0.15) 0px 4px 16px, rgba(20, 20, 25, 0.15) 0px 8px 32px;
28
+ `;
29
+ const LogoutButton = styled(Button) `
30
+ width: 7rem;
31
+ height: 3rem;
32
+ margin-left: 0.5rem;
33
+ padding: 1rem;
34
+
35
+ border-radius: 1rem;
36
+
37
+ a {
38
+ color: ${(props) => props.theme.colors.blue1};
39
+ text-decoration: none;
40
+ }
41
+
42
+ svg {
43
+ cursor: pointer;
44
+ margin-right: 1rem;
45
+ color: ${(props) => props.theme.colors.blue1};
46
+ }
47
+ `;
48
+ const RouteButtons = styled(Wrapper) `
49
+ gap: 0.5rem;
50
+ align-items: center;
51
+ justify-content: end;
52
+ `;
53
+ const LogoImage = styled.img `
54
+ width: ${(props) => props.width};
55
+ max-width: 200px;
56
+ margin: 0 3rem 0 0;
57
+ `;
58
+ const LogoutArrow = getIcon('fa-solid fa-arrow-right-from-bracket');
59
+ /**
60
+ * The TopBarFrame component is designed as a root component for an app built using the Dara core framework.
61
+ */
62
+ function SideBarFrame(props) {
63
+ var _a, _b;
64
+ const theme = useTheme();
65
+ const { data: config } = useConfig();
66
+ const logo = props.logo_path && _jsx(LogoImage, { alt: "Logo", src: props.logo_path, width: props.logo_width });
67
+ return (_jsxs(Wrapper, { backgroundColor: theme.colors.background, direction: "column", children: [_jsx(ThemeContext.Provider, { value: resolveTheme((_a = config === null || config === void 0 ? void 0 : config.theme) === null || _a === void 0 ? void 0 : _a.main, (_b = config === null || config === void 0 ? void 0 : config.theme) === null || _b === void 0 ? void 0 : _b.base), children: _jsxs(TopBar, { height: props.top_bar_height, style: { padding: props.top_bar_padding }, children: [!props.hide_logo && logo, props.top_bar && (_jsx(RouteButtons, { direction: "row", children: _jsx(DirectionCtx.Provider, { value: { direction: 'row' }, children: props.top_bar && _jsx(DynamicComponent, { component: props.top_bar }) }) })), _jsxs(LogoutButton, { href: "/logout", styling: "error", children: [_jsx(LogoutArrow, { style: { marginRight: '0.5rem' } }), "Logout"] })] }) }), _jsx(Wrapper, { style: { padding: '2rem 3rem' }, children: props.content && _jsx(DynamicComponent, { component: props.content }) })] }));
68
+ }
69
+ export default SideBarFrame;
70
+ //# sourceMappingURL=top-bar-frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-bar-frame.js","sourceRoot":"","sources":["../../../js/components/top-bar-frame/top-bar-frame.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { ServerErrorMessage } from '../../api/websocket';
2
+ interface BackendErrorContext {
3
+ clearErrors: () => void;
4
+ errors: ServerErrorMessage['message'][];
5
+ }
6
+ /**
7
+ * Provides a live stream of backend errors
8
+ */
9
+ export declare function BackendErrorsProvider(props: {
10
+ children: JSX.Element;
11
+ }): JSX.Element;
12
+ /**
13
+ * Get the current backend errors from context
14
+ */
15
+ export declare function useBackendErrors(): BackendErrorContext;
16
+ export {};
17
+ //# sourceMappingURL=backend-errors-ctx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-errors-ctx.d.ts","sourceRoot":"","sources":["../../../js/devtools/backend-errors/backend-errors-ctx.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA2BrD,UAAU,mBAAmB;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;CAC3C;AAID;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAInF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,mBAAmB,CAEtD"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useCallback, useContext, useEffect, useState } from 'react';
3
+ import WebSocketCtx from '../../shared/context/websocket-context';
4
+ /**
5
+ * Helper hook to subscribe to errors coming from the backend
6
+ */
7
+ function useBackendErrorsSubscription() {
8
+ const [errors, setErrors] = useState([]);
9
+ const { client } = useContext(WebSocketCtx);
10
+ useEffect(() => {
11
+ const sub = client.serverErrors$().subscribe((err) => {
12
+ setErrors((prev) => [...prev, err.message]);
13
+ });
14
+ return () => {
15
+ sub.unsubscribe();
16
+ };
17
+ });
18
+ const clearErrors = useCallback(() => {
19
+ setErrors([]);
20
+ }, []);
21
+ return [errors, clearErrors];
22
+ }
23
+ const BackendErrorsCtx = createContext(null);
24
+ /**
25
+ * Provides a live stream of backend errors
26
+ */
27
+ export function BackendErrorsProvider(props) {
28
+ const [errors, clearErrors] = useBackendErrorsSubscription();
29
+ return _jsx(BackendErrorsCtx.Provider, { value: { clearErrors, errors }, children: props.children });
30
+ }
31
+ /**
32
+ * Get the current backend errors from context
33
+ */
34
+ export function useBackendErrors() {
35
+ return useContext(BackendErrorsCtx);
36
+ }
37
+ //# sourceMappingURL=backend-errors-ctx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-errors-ctx.js","sourceRoot":"","sources":["../../../js/devtools/backend-errors/backend-errors-ctx.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGpF,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAE9D;;GAEG;AACH,SAAS,4BAA4B;IACjC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACR,GAAG,CAAC,WAAW,EAAE,CAAC;QACtB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACjC,CAAC;AAOD,MAAM,gBAAgB,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAgC;IAClE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,4BAA4B,EAAE,CAAC;IAE7D,OAAO,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,YAAG,KAAK,CAAC,QAAQ,GAA6B,CAAC;AACnH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC5B,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Displays backend errors as an accordion list with a filter bar at the top
3
+ */
4
+ declare function BackendErrors(): JSX.Element;
5
+ export default BackendErrors;
6
+ //# sourceMappingURL=backend-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-errors.d.ts","sourceRoot":"","sources":["../../../js/devtools/backend-errors/backend-errors.tsx"],"names":[],"mappings":"AAkDA;;GAEG;AACH,iBAAS,aAAa,IAAI,GAAG,CAAC,OAAO,CAuBpC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { isAfter } from 'date-fns';
3
+ import { useState } from 'react';
4
+ import styled from '@darajs/styled-components';
5
+ import { Button, Input as UIInput } from '@darajs/ui-components';
6
+ import { useBackendErrors } from './backend-errors-ctx';
7
+ import ErrorDisplay, { parseErrorsForDisplay } from './error-display';
8
+ const ErrorsContainer = styled.div `
9
+ overflow: hidden;
10
+ display: flex;
11
+ flex-direction: column;
12
+ height: 100%;
13
+ `;
14
+ const ErrorList = styled.div `
15
+ overflow-y: auto;
16
+ display: flex;
17
+ flex-direction: column;
18
+ gap: 0.25rem;
19
+
20
+ height: 100%;
21
+ `;
22
+ const ClearButton = styled(Button) `
23
+ padding: 0 0.5rem;
24
+ color: ${(props) => props.theme.colors.grey4};
25
+ background-color: inherit;
26
+ transition: color 100ms ease 0s;
27
+
28
+ :hover:not(:disabled) {
29
+ color: ${(props) => props.theme.colors.grey5};
30
+ background-color: inherit;
31
+ }
32
+ `;
33
+ const Toolbar = styled.div `
34
+ display: flex;
35
+ gap: 0.5rem;
36
+ align-items: center;
37
+
38
+ padding-top: 0.25rem;
39
+ padding-bottom: 0.25rem;
40
+ padding-left: 0.5rem;
41
+
42
+ border-bottom: 1px solid;
43
+ border-bottom-color: ${(props) => props.theme.colors.grey5};
44
+ `;
45
+ /**
46
+ * Displays backend errors as an accordion list with a filter bar at the top
47
+ */
48
+ function BackendErrors() {
49
+ const [searchQuery, setSearchQuery] = useState('');
50
+ const { errors, clearErrors } = useBackendErrors();
51
+ const parsedErrors = parseErrorsForDisplay(errors)
52
+ .filter((e) => e.description.toLowerCase().includes(searchQuery.toLowerCase()))
53
+ .sort((a, b) => (isAfter(b.time, a.time) ? 1 : -1));
54
+ return (_jsxs(ErrorsContainer, { children: [_jsxs(Toolbar, { children: [_jsx(ClearButton, { onClick: clearErrors, children: _jsx("i", { className: "fa-solid fa-ban fa-lg" }) }), _jsx(UIInput, { onChange: (e) => setSearchQuery(e), placeholder: "Filter", value: searchQuery })] }), _jsx(ErrorList, { children: parsedErrors.map((e) => (_jsx(ErrorDisplay, { errorMessage: e }, e.time.getTime()))) })] }));
55
+ }
56
+ export default BackendErrors;
57
+ //# sourceMappingURL=backend-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-errors.js","sourceRoot":"","sources":["../../../js/devtools/backend-errors/backend-errors.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,YAAY,EAAE,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAKjC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAO3B,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;aAErB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;iBAK/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;CAGnD,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;2BAUC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;CAC7D,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa;IAClB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEnD,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;SAC9E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,OAAO,CACH,MAAC,eAAe,eACZ,MAAC,OAAO,eACJ,KAAC,WAAW,IAAC,OAAO,EAAE,WAAW,YAC7B,YAAG,SAAS,EAAC,uBAAuB,GAAG,GAC7B,EACd,KAAC,OAAO,IAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,EAAC,QAAQ,EAAC,KAAK,EAAE,WAAW,GAAI,IAClF,EACV,KAAC,SAAS,cACL,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,KAAC,YAAY,IAAC,YAAY,EAAE,CAAC,IAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAI,CAC3D,CAAC,GACM,IACE,CACrB,CAAC;AACN,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { ServerErrorMessage } from '../../api/websocket';
2
+ interface ParsedBackendError {
3
+ description: string;
4
+ time: Date;
5
+ traceback: string;
6
+ tracebackTitle: string;
7
+ }
8
+ /**
9
+ * Parse server error messages for display
10
+ *
11
+ * @param errors error messages to parse
12
+ */
13
+ export declare function parseErrorsForDisplay(errors: ServerErrorMessage['message'][]): ParsedBackendError[];
14
+ interface ErrorDisplayProps {
15
+ errorMessage: ParsedBackendError;
16
+ }
17
+ /**
18
+ * Display a single backend error in an expandable box
19
+ */
20
+ declare function ErrorDisplay(props: ErrorDisplayProps): JSX.Element;
21
+ export default ErrorDisplay;
22
+ //# sourceMappingURL=error-display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-display.d.ts","sourceRoot":"","sources":["../../../js/devtools/backend-errors/error-display.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA0ErD,UAAU,kBAAkB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAgBnG;AAED,UAAU,iBAAiB;IACvB,YAAY,EAAE,kBAAkB,CAAC;CACpC;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CA6B3D;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { format, parseISO } from 'date-fns';
3
+ import { useState } from 'react';
4
+ import { Collapse } from 'react-collapse';
5
+ import styled from '@darajs/styled-components';
6
+ const ErrorWrapper = styled.div `
7
+ display: flex;
8
+ flex-direction: column;
9
+ width: 100%;
10
+
11
+ .ReactCollapse--collapse {
12
+ transition: height 0.35s ease;
13
+ }
14
+ `;
15
+ const ErrorHeader = styled.div `
16
+ cursor: pointer;
17
+ display: flex;
18
+ flex-direction: column;
19
+ background-color: ${(props) => props.theme.colors.background};
20
+ `;
21
+ const CollapseContent = styled.div `
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 0.5rem;
25
+
26
+ width: 100%;
27
+ margin: 0;
28
+ padding-top: 0.5rem;
29
+
30
+ background-color: ${(props) => props.theme.colors.background};
31
+ `;
32
+ const ErrorSign = styled.i `
33
+ color: ${(props) => props.theme.colors.error};
34
+ `;
35
+ const ErrorDescription = styled.div `
36
+ width: 100%;
37
+ padding: 1rem;
38
+
39
+ font-family: monospace;
40
+ color: ${(props) => props.theme.colors.text};
41
+
42
+ background-color: ${(props) => props.theme.colors.grey2};
43
+ `;
44
+ const ErrorTitleRow = styled.div `
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: space-between;
48
+ padding: 1rem;
49
+ `;
50
+ const ErrorTitle = styled.span `
51
+ display: flex;
52
+ gap: 0.5rem;
53
+ align-items: center;
54
+ color: ${(props) => props.theme.colors.text};
55
+ `;
56
+ const ErrorTraceback = styled.pre `
57
+ overflow-y: auto;
58
+ padding: 0.5rem;
59
+ color: ${(props) => props.theme.colors.text};
60
+ `;
61
+ const Chevron = styled.i `
62
+ cursor: pointer;
63
+ transform: ${(props) => (props.$isOpen ? `rotate(180deg)` : `rotate(0deg)`)};
64
+ color: ${(props) => props.theme.colors.grey5};
65
+ transition: transform 0.1s linear;
66
+ `;
67
+ /**
68
+ * Parse server error messages for display
69
+ *
70
+ * @param errors error messages to parse
71
+ */
72
+ export function parseErrorsForDisplay(errors) {
73
+ return errors.map((e) => {
74
+ const errorContent = e.error.split('\n').filter((l) => l !== '');
75
+ const time = parseISO(e.time);
76
+ const [description] = errorContent.slice(-1);
77
+ const tracebackTitle = errorContent[0];
78
+ const traceback = errorContent.slice(1, -1).join('\n');
79
+ return {
80
+ description,
81
+ time,
82
+ traceback,
83
+ tracebackTitle,
84
+ };
85
+ });
86
+ }
87
+ /**
88
+ * Display a single backend error in an expandable box
89
+ */
90
+ function ErrorDisplay(props) {
91
+ const [isExpanded, setIsExpanded] = useState(false);
92
+ const time = format(props.errorMessage.time, 'HH:mm:ss.SS');
93
+ const onClick = () => {
94
+ setIsExpanded((b) => !b);
95
+ };
96
+ return (_jsxs(ErrorWrapper, { children: [_jsxs(ErrorHeader, { onClick: onClick, children: [_jsxs(ErrorTitleRow, { children: [_jsxs(ErrorTitle, { children: [_jsx(ErrorSign, { className: "fa-solid fa-triangle-exclamation fa-lg" }), time] }), _jsx(Chevron, { "$isOpen": isExpanded, className: "fa-solid fa-chevron-down" })] }), _jsx(ErrorDescription, { children: props.errorMessage.description })] }), _jsx(Collapse, { isOpened: isExpanded, children: _jsxs(CollapseContent, { children: [_jsx(ErrorDescription, { children: props.errorMessage.tracebackTitle }), _jsx(ErrorTraceback, { children: props.errorMessage.traceback })] }) })] }));
97
+ }
98
+ export default ErrorDisplay;
99
+ //# sourceMappingURL=error-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-display.js","sourceRoot":"","sources":["../../../js/devtools/backend-errors/error-display.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { BackendErrorsProvider, useBackendErrors } from './backend-errors-ctx';
2
+ export { default as BackendErrors } from './backend-errors';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../js/devtools/backend-errors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { BackendErrorsProvider, useBackendErrors } from './backend-errors-ctx';
2
+ export { default as BackendErrors } from './backend-errors';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../js/devtools/backend-errors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { CSSProperties } from 'react';
2
+ interface DevToolsContentProps {
3
+ onCloseDevtools: () => void;
4
+ style?: CSSProperties;
5
+ }
6
+ /**
7
+ * Displays devtools content.
8
+ * Displays a selected devtool based on the selected devtool in the top selection header.
9
+ */
10
+ declare function DevToolsContent(props: DevToolsContentProps): JSX.Element;
11
+ export default DevToolsContent;
12
+ //# sourceMappingURL=devtools-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-content.d.ts","sourceRoot":"","sources":["../../js/devtools/devtools-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAoEhD,UAAU,oBAAoB;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB;AAMD;;;GAGG;AACH,iBAAS,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAsBjE;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import styled from '@darajs/styled-components';
4
+ import { Button } from '@darajs/ui-components';
5
+ import { BackendErrors } from './backend-errors';
6
+ const DevToolsContentWrapper = styled.div `
7
+ display: flex;
8
+ flex: 1;
9
+ flex-direction: column;
10
+
11
+ width: 100%;
12
+
13
+ color: ${(props) => props.theme.colors.text};
14
+
15
+ background-color: ${(props) => props.theme.colors.blue1};
16
+ border-left: 1px solid ${(props) => props.theme.colors.grey5};
17
+ `;
18
+ const HeaderWrapper = styled.div `
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: space-between;
22
+
23
+ width: 100%;
24
+ margin: 0 auto;
25
+
26
+ border-bottom: 1px solid;
27
+ border-bottom-color: ${(props) => props.theme.colors.grey5};
28
+ `;
29
+ const DevtoolSelector = styled.div `
30
+ display: flex;
31
+ flex-shrink: 1;
32
+ gap: 0.1rem;
33
+ align-items: center;
34
+
35
+ button {
36
+ gap: 1rem;
37
+ width: 125px;
38
+ }
39
+ `;
40
+ const CloseButton = styled(Button) `
41
+ color: ${(props) => props.theme.colors.grey4};
42
+ background-color: inherit;
43
+ transition: color 100ms ease 0s;
44
+
45
+ :hover:not(:disabled) {
46
+ color: ${(props) => props.theme.colors.grey5};
47
+ background-color: inherit;
48
+ }
49
+ `;
50
+ const SelectionButton = styled(Button) `
51
+ color: ${(props) => props.theme.colors.text};
52
+ border-bottom: 2px solid ${(props) => props.theme.colors.primary};
53
+ border-radius: 0px;
54
+
55
+ :hover:not(:disabled) {
56
+ color: ${(props) => props.theme.colors.text};
57
+ background-color: ${(props) => props.theme.colors.blue2};
58
+ }
59
+ `;
60
+ var DevTools;
61
+ (function (DevTools) {
62
+ DevTools["ERRORS"] = "errors";
63
+ })(DevTools || (DevTools = {}));
64
+ /**
65
+ * Displays devtools content.
66
+ * Displays a selected devtool based on the selected devtool in the top selection header.
67
+ */
68
+ function DevToolsContent(props) {
69
+ const [selectedTool, setSelectedTool] = useState(DevTools.ERRORS);
70
+ return (_jsxs(DevToolsContentWrapper, { style: props.style, children: [_jsxs(HeaderWrapper, { children: [_jsx(DevtoolSelector, { children: _jsx(SelectionButton, { "$selected": selectedTool === DevTools.ERRORS, onClick: () => setSelectedTool(DevTools.ERRORS), styling: "ghost", children: "Errors" }) }), _jsx(CloseButton, { onClick: props.onCloseDevtools, children: _jsx("i", { className: "fa-solid fa-x" }) })] }), selectedTool === DevTools.ERRORS && _jsx(BackendErrors, {})] }));
71
+ }
72
+ export default DevToolsContent;
73
+ //# sourceMappingURL=devtools-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-content.js","sourceRoot":"","sources":["../../js/devtools/devtools-content.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;aAO5B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;;wBAEvB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;6BAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;CAC/D,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;2BASL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;CAC7D,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;CAUjC,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;aACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;iBAK/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;CAGnD,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAEpC;aACW,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;+BAChB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;;;;iBAInD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;4BACvB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;CAE9D,CAAC;AAOF,IAAK,QAEJ;AAFD,WAAK,QAAQ;IACT,6BAAiB,CAAA;AACrB,CAAC,EAFI,QAAQ,KAAR,QAAQ,QAEZ;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,KAA2B;IAChD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAElE,OAAO,CACH,MAAC,sBAAsB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,aACtC,MAAC,aAAa,eACV,KAAC,eAAe,cACZ,KAAC,eAAe,iBACD,YAAY,KAAK,QAAQ,CAAC,MAAM,EAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/C,OAAO,EAAC,OAAO,uBAGD,GACJ,EAClB,KAAC,WAAW,IAAC,OAAO,EAAE,KAAK,CAAC,eAAe,YACvC,YAAG,SAAS,EAAC,eAAe,GAAG,GACrB,IACF,EACf,YAAY,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAC,aAAa,KAAG,IACjC,CAC5B,CAAC;AACN,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Context responsible for gathering data necessary for the devtools
3
+ */
4
+ export default function DevtoolsContext(props: {
5
+ children: JSX.Element;
6
+ }): JSX.Element;
7
+ //# sourceMappingURL=devtools-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-context.d.ts","sourceRoot":"","sources":["../../js/devtools/devtools-context.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAErF"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { BackendErrorsProvider } from './backend-errors';
3
+ /**
4
+ * Context responsible for gathering data necessary for the devtools
5
+ */
6
+ export default function DevtoolsContext(props) {
7
+ return _jsx(BackendErrorsProvider, { children: props.children });
8
+ }
9
+ //# sourceMappingURL=devtools-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-context.js","sourceRoot":"","sources":["../../js/devtools/devtools-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAgC;IACpE,OAAO,KAAC,qBAAqB,cAAE,KAAK,CAAC,QAAQ,GAAyB,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * DevTools parent display component.
3
+ * Displays an absolutely-positioned floating button to toggle the view of the devtools sidebar,
4
+ * and a sidebar with the devtools content.
5
+ */
6
+ declare function DevToolsWrapper(): JSX.Element;
7
+ export default DevToolsWrapper;
8
+ //# sourceMappingURL=devtools-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-wrapper.d.ts","sourceRoot":"","sources":["../../js/devtools/devtools-wrapper.tsx"],"names":[],"mappings":"AA2CA;;;;GAIG;AACH,iBAAS,eAAe,IAAI,GAAG,CAAC,OAAO,CAsCtC;AAED,eAAe,eAAe,CAAC"}