@darajs/core 0.4.8

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 (464) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +101 -0
  3. package/dist/actions/download-variable.d.ts +8 -0
  4. package/dist/actions/download-variable.d.ts.map +1 -0
  5. package/dist/actions/download-variable.js +140 -0
  6. package/dist/actions/download-variable.js.map +1 -0
  7. package/dist/actions/index.d.ts +7 -0
  8. package/dist/actions/index.d.ts.map +1 -0
  9. package/dist/actions/index.js +7 -0
  10. package/dist/actions/index.js.map +1 -0
  11. package/dist/actions/navigate-to.d.ts +8 -0
  12. package/dist/actions/navigate-to.d.ts.map +1 -0
  13. package/dist/actions/navigate-to.js +37 -0
  14. package/dist/actions/navigate-to.js.map +1 -0
  15. package/dist/actions/notify.d.ts +4 -0
  16. package/dist/actions/notify.d.ts.map +1 -0
  17. package/dist/actions/notify.js +11 -0
  18. package/dist/actions/notify.js.map +1 -0
  19. package/dist/actions/reset-variables.d.ts +8 -0
  20. package/dist/actions/reset-variables.d.ts.map +1 -0
  21. package/dist/actions/reset-variables.js +37 -0
  22. package/dist/actions/reset-variables.js.map +1 -0
  23. package/dist/actions/trigger-variable.d.ts +8 -0
  24. package/dist/actions/trigger-variable.d.ts.map +1 -0
  25. package/dist/actions/trigger-variable.js +14 -0
  26. package/dist/actions/trigger-variable.js.map +1 -0
  27. package/dist/actions/update-variable.d.ts +15 -0
  28. package/dist/actions/update-variable.d.ts.map +1 -0
  29. package/dist/actions/update-variable.js +56 -0
  30. package/dist/actions/update-variable.js.map +1 -0
  31. package/dist/api/core.d.ts +35 -0
  32. package/dist/api/core.d.ts.map +1 -0
  33. package/dist/api/core.js +112 -0
  34. package/dist/api/core.js.map +1 -0
  35. package/dist/api/http.d.ts +29 -0
  36. package/dist/api/http.d.ts.map +1 -0
  37. package/dist/api/http.js +126 -0
  38. package/dist/api/http.js.map +1 -0
  39. package/dist/api/index.d.ts +5 -0
  40. package/dist/api/index.d.ts.map +1 -0
  41. package/dist/api/index.js +5 -0
  42. package/dist/api/index.js.map +1 -0
  43. package/dist/api/websocket.d.ts +222 -0
  44. package/dist/api/websocket.d.ts.map +1 -0
  45. package/dist/api/websocket.js +353 -0
  46. package/dist/api/websocket.js.map +1 -0
  47. package/dist/assets/causalens-dark.svg +29 -0
  48. package/dist/assets/causalens-light.svg +29 -0
  49. package/dist/assets/dara-dark.svg +20 -0
  50. package/dist/assets/dara-light.svg +15 -0
  51. package/dist/assets/fonts/Manrope-VariableFont_wght.ttf +0 -0
  52. package/dist/auth/auth-wrapper.d.ts +15 -0
  53. package/dist/auth/auth-wrapper.d.ts.map +1 -0
  54. package/dist/auth/auth-wrapper.js +72 -0
  55. package/dist/auth/auth-wrapper.js.map +1 -0
  56. package/dist/auth/auth.d.ts +61 -0
  57. package/dist/auth/auth.d.ts.map +1 -0
  58. package/dist/auth/auth.js +163 -0
  59. package/dist/auth/auth.js.map +1 -0
  60. package/dist/auth/basic/basic-auth-login.d.ts +6 -0
  61. package/dist/auth/basic/basic-auth-login.d.ts.map +1 -0
  62. package/dist/auth/basic/basic-auth-login.js +171 -0
  63. package/dist/auth/basic/basic-auth-login.js.map +1 -0
  64. package/dist/auth/basic/basic-auth-logout.d.ts +6 -0
  65. package/dist/auth/basic/basic-auth-logout.d.ts.map +1 -0
  66. package/dist/auth/basic/basic-auth-logout.js +18 -0
  67. package/dist/auth/basic/basic-auth-logout.js.map +1 -0
  68. package/dist/auth/default/default-auth-login.d.ts +6 -0
  69. package/dist/auth/default/default-auth-login.d.ts.map +1 -0
  70. package/dist/auth/default/default-auth-login.js +59 -0
  71. package/dist/auth/default/default-auth-login.js.map +1 -0
  72. package/dist/auth/index.d.ts +7 -0
  73. package/dist/auth/index.d.ts.map +1 -0
  74. package/dist/auth/index.js +7 -0
  75. package/dist/auth/index.js.map +1 -0
  76. package/dist/auth/use-session-token.d.ts +19 -0
  77. package/dist/auth/use-session-token.d.ts.map +1 -0
  78. package/dist/auth/use-session-token.js +30 -0
  79. package/dist/auth/use-session-token.js.map +1 -0
  80. package/dist/components/fallback/default.d.ts +5 -0
  81. package/dist/components/fallback/default.d.ts.map +1 -0
  82. package/dist/components/fallback/default.js +10 -0
  83. package/dist/components/fallback/default.js.map +1 -0
  84. package/dist/components/fallback/dots.d.ts +7 -0
  85. package/dist/components/fallback/dots.d.ts.map +1 -0
  86. package/dist/components/fallback/dots.js +78 -0
  87. package/dist/components/fallback/dots.js.map +1 -0
  88. package/dist/components/fallback/row.d.ts +5 -0
  89. package/dist/components/fallback/row.d.ts.map +1 -0
  90. package/dist/components/fallback/row.js +14 -0
  91. package/dist/components/fallback/row.js.map +1 -0
  92. package/dist/components/for/for.d.ts +35 -0
  93. package/dist/components/for/for.d.ts.map +1 -0
  94. package/dist/components/for/for.js +44 -0
  95. package/dist/components/for/for.js.map +1 -0
  96. package/dist/components/index.d.ts +9 -0
  97. package/dist/components/index.d.ts.map +1 -0
  98. package/dist/components/index.js +9 -0
  99. package/dist/components/index.js.map +1 -0
  100. package/dist/components/menu/menu.d.ts +14 -0
  101. package/dist/components/menu/menu.d.ts.map +1 -0
  102. package/dist/components/menu/menu.js +58 -0
  103. package/dist/components/menu/menu.js.map +1 -0
  104. package/dist/components/progress-tracker/progress-tracker.d.ts +18 -0
  105. package/dist/components/progress-tracker/progress-tracker.d.ts.map +1 -0
  106. package/dist/components/progress-tracker/progress-tracker.js +204 -0
  107. package/dist/components/progress-tracker/progress-tracker.js.map +1 -0
  108. package/dist/components/router-content/router-content.d.ts +14 -0
  109. package/dist/components/router-content/router-content.d.ts.map +1 -0
  110. package/dist/components/router-content/router-content.js +17 -0
  111. package/dist/components/router-content/router-content.js.map +1 -0
  112. package/dist/components/side-bar-frame/side-bar-frame.d.ts +21 -0
  113. package/dist/components/side-bar-frame/side-bar-frame.d.ts.map +1 -0
  114. package/dist/components/side-bar-frame/side-bar-frame.js +87 -0
  115. package/dist/components/side-bar-frame/side-bar-frame.js.map +1 -0
  116. package/dist/components/top-bar-frame/top-bar-frame.d.ts +16 -0
  117. package/dist/components/top-bar-frame/top-bar-frame.d.ts.map +1 -0
  118. package/dist/components/top-bar-frame/top-bar-frame.js +89 -0
  119. package/dist/components/top-bar-frame/top-bar-frame.js.map +1 -0
  120. package/dist/dara_core-0.4.8-py3-none-any.whl +0 -0
  121. package/dist/devtools/backend-errors/backend-errors-ctx.d.ts +17 -0
  122. package/dist/devtools/backend-errors/backend-errors-ctx.d.ts.map +1 -0
  123. package/dist/devtools/backend-errors/backend-errors-ctx.js +37 -0
  124. package/dist/devtools/backend-errors/backend-errors-ctx.js.map +1 -0
  125. package/dist/devtools/backend-errors/backend-errors.d.ts +6 -0
  126. package/dist/devtools/backend-errors/backend-errors.d.ts.map +1 -0
  127. package/dist/devtools/backend-errors/backend-errors.js +57 -0
  128. package/dist/devtools/backend-errors/backend-errors.js.map +1 -0
  129. package/dist/devtools/backend-errors/error-display.d.ts +22 -0
  130. package/dist/devtools/backend-errors/error-display.d.ts.map +1 -0
  131. package/dist/devtools/backend-errors/error-display.js +101 -0
  132. package/dist/devtools/backend-errors/error-display.js.map +1 -0
  133. package/dist/devtools/backend-errors/index.d.ts +3 -0
  134. package/dist/devtools/backend-errors/index.d.ts.map +1 -0
  135. package/dist/devtools/backend-errors/index.js +3 -0
  136. package/dist/devtools/backend-errors/index.js.map +1 -0
  137. package/dist/devtools/devtools-content.d.ts +12 -0
  138. package/dist/devtools/devtools-content.d.ts.map +1 -0
  139. package/dist/devtools/devtools-content.js +73 -0
  140. package/dist/devtools/devtools-content.js.map +1 -0
  141. package/dist/devtools/devtools-context.d.ts +7 -0
  142. package/dist/devtools/devtools-context.d.ts.map +1 -0
  143. package/dist/devtools/devtools-context.js +9 -0
  144. package/dist/devtools/devtools-context.js.map +1 -0
  145. package/dist/devtools/devtools-wrapper.d.ts +8 -0
  146. package/dist/devtools/devtools-wrapper.d.ts.map +1 -0
  147. package/dist/devtools/devtools-wrapper.js +64 -0
  148. package/dist/devtools/devtools-wrapper.js.map +1 -0
  149. package/dist/devtools/devtools.d.ts +5 -0
  150. package/dist/devtools/devtools.d.ts.map +1 -0
  151. package/dist/devtools/devtools.js +10 -0
  152. package/dist/devtools/devtools.js.map +1 -0
  153. package/dist/devtools/floating-button.d.ts +23 -0
  154. package/dist/devtools/floating-button.d.ts.map +1 -0
  155. package/dist/devtools/floating-button.js +94 -0
  156. package/dist/devtools/floating-button.js.map +1 -0
  157. package/dist/devtools/index.d.ts +2 -0
  158. package/dist/devtools/index.d.ts.map +1 -0
  159. package/dist/devtools/index.js +2 -0
  160. package/dist/devtools/index.js.map +1 -0
  161. package/dist/devtools/resizer.d.ts +18 -0
  162. package/dist/devtools/resizer.d.ts.map +1 -0
  163. package/dist/devtools/resizer.js +49 -0
  164. package/dist/devtools/resizer.js.map +1 -0
  165. package/dist/devtools/use-move.d.ts +21 -0
  166. package/dist/devtools/use-move.d.ts.map +1 -0
  167. package/dist/devtools/use-move.js +56 -0
  168. package/dist/devtools/use-move.js.map +1 -0
  169. package/dist/index.css +95 -0
  170. package/dist/index.d.ts +17 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +14 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/jest-setup.d.ts +2 -0
  175. package/dist/jest-setup.d.ts.map +1 -0
  176. package/dist/jest-setup.js +18 -0
  177. package/dist/jest-setup.js.map +1 -0
  178. package/dist/pages/error-page.d.ts +3 -0
  179. package/dist/pages/error-page.d.ts.map +1 -0
  180. package/dist/pages/error-page.js +32 -0
  181. package/dist/pages/error-page.js.map +1 -0
  182. package/dist/pages/sso-callback-page.d.ts +6 -0
  183. package/dist/pages/sso-callback-page.d.ts.map +1 -0
  184. package/dist/pages/sso-callback-page.js +8 -0
  185. package/dist/pages/sso-callback-page.js.map +1 -0
  186. package/dist/run.d.ts +22 -0
  187. package/dist/run.d.ts.map +1 -0
  188. package/dist/run.js +40 -0
  189. package/dist/run.js.map +1 -0
  190. package/dist/shared/center/center.d.ts +5 -0
  191. package/dist/shared/center/center.d.ts.map +1 -0
  192. package/dist/shared/center/center.js +15 -0
  193. package/dist/shared/center/center.js.map +1 -0
  194. package/dist/shared/context/direction-context.d.ts +6 -0
  195. package/dist/shared/context/direction-context.d.ts.map +1 -0
  196. package/dist/shared/context/direction-context.js +4 -0
  197. package/dist/shared/context/direction-context.js.map +1 -0
  198. package/dist/shared/context/display-context.d.ts +13 -0
  199. package/dist/shared/context/display-context.d.ts.map +1 -0
  200. package/dist/shared/context/display-context.js +4 -0
  201. package/dist/shared/context/display-context.js.map +1 -0
  202. package/dist/shared/context/fallback-context.d.ts +11 -0
  203. package/dist/shared/context/fallback-context.d.ts.map +1 -0
  204. package/dist/shared/context/fallback-context.js +4 -0
  205. package/dist/shared/context/fallback-context.js.map +1 -0
  206. package/dist/shared/context/global-task-context.d.ts +40 -0
  207. package/dist/shared/context/global-task-context.d.ts.map +1 -0
  208. package/dist/shared/context/global-task-context.js +81 -0
  209. package/dist/shared/context/global-task-context.js.map +1 -0
  210. package/dist/shared/context/importers-context.d.ts +6 -0
  211. package/dist/shared/context/importers-context.d.ts.map +1 -0
  212. package/dist/shared/context/importers-context.js +4 -0
  213. package/dist/shared/context/importers-context.js.map +1 -0
  214. package/dist/shared/context/index.d.ts +10 -0
  215. package/dist/shared/context/index.d.ts.map +1 -0
  216. package/dist/shared/context/index.js +10 -0
  217. package/dist/shared/context/index.js.map +1 -0
  218. package/dist/shared/context/registries-context.d.ts +20 -0
  219. package/dist/shared/context/registries-context.d.ts.map +1 -0
  220. package/dist/shared/context/registries-context.js +8 -0
  221. package/dist/shared/context/registries-context.js.map +1 -0
  222. package/dist/shared/context/request-extras-context.d.ts +33 -0
  223. package/dist/shared/context/request-extras-context.d.ts.map +1 -0
  224. package/dist/shared/context/request-extras-context.js +55 -0
  225. package/dist/shared/context/request-extras-context.js.map +1 -0
  226. package/dist/shared/context/variable-context.d.ts +10 -0
  227. package/dist/shared/context/variable-context.d.ts.map +1 -0
  228. package/dist/shared/context/variable-context.js +4 -0
  229. package/dist/shared/context/variable-context.js.map +1 -0
  230. package/dist/shared/context/websocket-context.d.ts +7 -0
  231. package/dist/shared/context/websocket-context.d.ts.map +1 -0
  232. package/dist/shared/context/websocket-context.js +4 -0
  233. package/dist/shared/context/websocket-context.js.map +1 -0
  234. package/dist/shared/dynamic-component/clean-props.d.ts +6 -0
  235. package/dist/shared/dynamic-component/clean-props.d.ts.map +1 -0
  236. package/dist/shared/dynamic-component/clean-props.js +13 -0
  237. package/dist/shared/dynamic-component/clean-props.js.map +1 -0
  238. package/dist/shared/dynamic-component/dynamic-component.d.ts +16 -0
  239. package/dist/shared/dynamic-component/dynamic-component.d.ts.map +1 -0
  240. package/dist/shared/dynamic-component/dynamic-component.js +252 -0
  241. package/dist/shared/dynamic-component/dynamic-component.js.map +1 -0
  242. package/dist/shared/error-handling/error-display.d.ts +8 -0
  243. package/dist/shared/error-handling/error-display.d.ts.map +1 -0
  244. package/dist/shared/error-handling/error-display.js +94 -0
  245. package/dist/shared/error-handling/error-display.js.map +1 -0
  246. package/dist/shared/error-handling/index.d.ts +3 -0
  247. package/dist/shared/error-handling/index.d.ts.map +1 -0
  248. package/dist/shared/error-handling/index.js +3 -0
  249. package/dist/shared/error-handling/index.js.map +1 -0
  250. package/dist/shared/error-handling/types.d.ts +11 -0
  251. package/dist/shared/error-handling/types.d.ts.map +1 -0
  252. package/dist/shared/error-handling/types.js +9 -0
  253. package/dist/shared/error-handling/types.js.map +1 -0
  254. package/dist/shared/event-bus/event-bus.d.ts +27 -0
  255. package/dist/shared/event-bus/event-bus.d.ts.map +1 -0
  256. package/dist/shared/event-bus/event-bus.js +58 -0
  257. package/dist/shared/event-bus/event-bus.js.map +1 -0
  258. package/dist/shared/global-state-store.d.ts +54 -0
  259. package/dist/shared/global-state-store.d.ts.map +1 -0
  260. package/dist/shared/global-state-store.js +168 -0
  261. package/dist/shared/global-state-store.js.map +1 -0
  262. package/dist/shared/index.d.ts +12 -0
  263. package/dist/shared/index.d.ts.map +1 -0
  264. package/dist/shared/index.js +10 -0
  265. package/dist/shared/index.js.map +1 -0
  266. package/dist/shared/interactivity/data-variable.d.ts +78 -0
  267. package/dist/shared/interactivity/data-variable.d.ts.map +1 -0
  268. package/dist/shared/interactivity/data-variable.js +218 -0
  269. package/dist/shared/interactivity/data-variable.js.map +1 -0
  270. package/dist/shared/interactivity/derived-variable.d.ts +160 -0
  271. package/dist/shared/interactivity/derived-variable.d.ts.map +1 -0
  272. package/dist/shared/interactivity/derived-variable.js +446 -0
  273. package/dist/shared/interactivity/derived-variable.js.map +1 -0
  274. package/dist/shared/interactivity/filtering.d.ts +9 -0
  275. package/dist/shared/interactivity/filtering.d.ts.map +1 -0
  276. package/dist/shared/interactivity/filtering.js +20 -0
  277. package/dist/shared/interactivity/filtering.js.map +1 -0
  278. package/dist/shared/interactivity/index.d.ts +10 -0
  279. package/dist/shared/interactivity/index.d.ts.map +1 -0
  280. package/dist/shared/interactivity/index.js +9 -0
  281. package/dist/shared/interactivity/index.js.map +1 -0
  282. package/dist/shared/interactivity/internal.d.ts +9 -0
  283. package/dist/shared/interactivity/internal.d.ts.map +1 -0
  284. package/dist/shared/interactivity/internal.js +11 -0
  285. package/dist/shared/interactivity/internal.js.map +1 -0
  286. package/dist/shared/interactivity/nested.d.ts +16 -0
  287. package/dist/shared/interactivity/nested.d.ts.map +1 -0
  288. package/dist/shared/interactivity/nested.js +54 -0
  289. package/dist/shared/interactivity/nested.js.map +1 -0
  290. package/dist/shared/interactivity/persistence.d.ts +43 -0
  291. package/dist/shared/interactivity/persistence.d.ts.map +1 -0
  292. package/dist/shared/interactivity/persistence.js +215 -0
  293. package/dist/shared/interactivity/persistence.js.map +1 -0
  294. package/dist/shared/interactivity/plain-variable.d.ts +17 -0
  295. package/dist/shared/interactivity/plain-variable.d.ts.map +1 -0
  296. package/dist/shared/interactivity/plain-variable.js +222 -0
  297. package/dist/shared/interactivity/plain-variable.js.map +1 -0
  298. package/dist/shared/interactivity/resolve-value.d.ts +13 -0
  299. package/dist/shared/interactivity/resolve-value.d.ts.map +1 -0
  300. package/dist/shared/interactivity/resolve-value.js +36 -0
  301. package/dist/shared/interactivity/resolve-value.js.map +1 -0
  302. package/dist/shared/interactivity/resolve-variable.d.ts +18 -0
  303. package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -0
  304. package/dist/shared/interactivity/resolve-variable.js +46 -0
  305. package/dist/shared/interactivity/resolve-variable.js.map +1 -0
  306. package/dist/shared/interactivity/store.d.ts +76 -0
  307. package/dist/shared/interactivity/store.d.ts.map +1 -0
  308. package/dist/shared/interactivity/store.js +99 -0
  309. package/dist/shared/interactivity/store.js.map +1 -0
  310. package/dist/shared/interactivity/triggers.d.ts +31 -0
  311. package/dist/shared/interactivity/triggers.d.ts.map +1 -0
  312. package/dist/shared/interactivity/triggers.js +105 -0
  313. package/dist/shared/interactivity/triggers.js.map +1 -0
  314. package/dist/shared/interactivity/url-variable.d.ts +12 -0
  315. package/dist/shared/interactivity/url-variable.d.ts.map +1 -0
  316. package/dist/shared/interactivity/url-variable.js +27 -0
  317. package/dist/shared/interactivity/url-variable.js.map +1 -0
  318. package/dist/shared/interactivity/use-any-variable.d.ts +8 -0
  319. package/dist/shared/interactivity/use-any-variable.d.ts.map +1 -0
  320. package/dist/shared/interactivity/use-any-variable.js +39 -0
  321. package/dist/shared/interactivity/use-any-variable.js.map +1 -0
  322. package/dist/shared/interactivity/use-data-variable.d.ts +18 -0
  323. package/dist/shared/interactivity/use-data-variable.d.ts.map +1 -0
  324. package/dist/shared/interactivity/use-data-variable.js +58 -0
  325. package/dist/shared/interactivity/use-data-variable.js.map +1 -0
  326. package/dist/shared/interactivity/use-refresh-selector.d.ts +5 -0
  327. package/dist/shared/interactivity/use-refresh-selector.d.ts.map +1 -0
  328. package/dist/shared/interactivity/use-refresh-selector.js +20 -0
  329. package/dist/shared/interactivity/use-refresh-selector.js.map +1 -0
  330. package/dist/shared/interactivity/use-server-component.d.ts +24 -0
  331. package/dist/shared/interactivity/use-server-component.d.ts.map +1 -0
  332. package/dist/shared/interactivity/use-server-component.js +256 -0
  333. package/dist/shared/interactivity/use-server-component.js.map +1 -0
  334. package/dist/shared/interactivity/use-variable-state.d.ts +9 -0
  335. package/dist/shared/interactivity/use-variable-state.d.ts.map +1 -0
  336. package/dist/shared/interactivity/use-variable-state.js +26 -0
  337. package/dist/shared/interactivity/use-variable-state.js.map +1 -0
  338. package/dist/shared/interactivity/use-variable-value.d.ts +33 -0
  339. package/dist/shared/interactivity/use-variable-value.d.ts.map +1 -0
  340. package/dist/shared/interactivity/use-variable-value.js +94 -0
  341. package/dist/shared/interactivity/use-variable-value.js.map +1 -0
  342. package/dist/shared/interactivity/use-variable.d.ts +12 -0
  343. package/dist/shared/interactivity/use-variable.d.ts.map +1 -0
  344. package/dist/shared/interactivity/use-variable.js +84 -0
  345. package/dist/shared/interactivity/use-variable.js.map +1 -0
  346. package/dist/shared/private-route/private-route.d.ts +19 -0
  347. package/dist/shared/private-route/private-route.d.ts.map +1 -0
  348. package/dist/shared/private-route/private-route.js +35 -0
  349. package/dist/shared/private-route/private-route.js.map +1 -0
  350. package/dist/shared/template-root/dynamic-context.d.ts +9 -0
  351. package/dist/shared/template-root/dynamic-context.d.ts.map +1 -0
  352. package/dist/shared/template-root/dynamic-context.js +29 -0
  353. package/dist/shared/template-root/dynamic-context.js.map +1 -0
  354. package/dist/shared/template-root/template-root.d.ts +12 -0
  355. package/dist/shared/template-root/template-root.d.ts.map +1 -0
  356. package/dist/shared/template-root/template-root.js +94 -0
  357. package/dist/shared/template-root/template-root.js.map +1 -0
  358. package/dist/shared/utils/clean-session-cache.d.ts +9 -0
  359. package/dist/shared/utils/clean-session-cache.d.ts.map +1 -0
  360. package/dist/shared/utils/clean-session-cache.js +19 -0
  361. package/dist/shared/utils/clean-session-cache.js.map +1 -0
  362. package/dist/shared/utils/embed.d.ts +22 -0
  363. package/dist/shared/utils/embed.d.ts.map +1 -0
  364. package/dist/shared/utils/embed.js +43 -0
  365. package/dist/shared/utils/embed.js.map +1 -0
  366. package/dist/shared/utils/get-icon.d.ts +9 -0
  367. package/dist/shared/utils/get-icon.d.ts.map +1 -0
  368. package/dist/shared/utils/get-icon.js +30 -0
  369. package/dist/shared/utils/get-icon.js.map +1 -0
  370. package/dist/shared/utils/hashing.d.ts +14 -0
  371. package/dist/shared/utils/hashing.d.ts.map +1 -0
  372. package/dist/shared/utils/hashing.js +26 -0
  373. package/dist/shared/utils/hashing.js.map +1 -0
  374. package/dist/shared/utils/index.d.ts +19 -0
  375. package/dist/shared/utils/index.d.ts.map +1 -0
  376. package/dist/shared/utils/index.js +17 -0
  377. package/dist/shared/utils/index.js.map +1 -0
  378. package/dist/shared/utils/inject-css.d.ts +12 -0
  379. package/dist/shared/utils/inject-css.d.ts.map +1 -0
  380. package/dist/shared/utils/inject-css.js +25 -0
  381. package/dist/shared/utils/inject-css.js.map +1 -0
  382. package/dist/shared/utils/is-js-component.d.ts +9 -0
  383. package/dist/shared/utils/is-js-component.d.ts.map +1 -0
  384. package/dist/shared/utils/is-js-component.js +11 -0
  385. package/dist/shared/utils/is-js-component.js.map +1 -0
  386. package/dist/shared/utils/normalization.d.ts +19 -0
  387. package/dist/shared/utils/normalization.d.ts.map +1 -0
  388. package/dist/shared/utils/normalization.js +121 -0
  389. package/dist/shared/utils/normalization.js.map +1 -0
  390. package/dist/shared/utils/resolve-theme.d.ts +9 -0
  391. package/dist/shared/utils/resolve-theme.d.ts.map +1 -0
  392. package/dist/shared/utils/resolve-theme.js +28 -0
  393. package/dist/shared/utils/resolve-theme.js.map +1 -0
  394. package/dist/shared/utils/templating.d.ts +24 -0
  395. package/dist/shared/utils/templating.d.ts.map +1 -0
  396. package/dist/shared/utils/templating.js +67 -0
  397. package/dist/shared/utils/templating.js.map +1 -0
  398. package/dist/shared/utils/use-action-registry.d.ts +11 -0
  399. package/dist/shared/utils/use-action-registry.d.ts.map +1 -0
  400. package/dist/shared/utils/use-action-registry.js +18 -0
  401. package/dist/shared/utils/use-action-registry.js.map +1 -0
  402. package/dist/shared/utils/use-action.d.ts +34 -0
  403. package/dist/shared/utils/use-action.d.ts.map +1 -0
  404. package/dist/shared/utils/use-action.js +314 -0
  405. package/dist/shared/utils/use-action.js.map +1 -0
  406. package/dist/shared/utils/use-component-registry.d.ts +11 -0
  407. package/dist/shared/utils/use-component-registry.d.ts.map +1 -0
  408. package/dist/shared/utils/use-component-registry.js +57 -0
  409. package/dist/shared/utils/use-component-registry.js.map +1 -0
  410. package/dist/shared/utils/use-component-styles.d.ts +24 -0
  411. package/dist/shared/utils/use-component-styles.d.ts.map +1 -0
  412. package/dist/shared/utils/use-component-styles.js +69 -0
  413. package/dist/shared/utils/use-component-styles.js.map +1 -0
  414. package/dist/shared/utils/use-defer-loadable.d.ts +8 -0
  415. package/dist/shared/utils/use-defer-loadable.d.ts.map +1 -0
  416. package/dist/shared/utils/use-defer-loadable.js +44 -0
  417. package/dist/shared/utils/use-defer-loadable.js.map +1 -0
  418. package/dist/shared/utils/use-interval.d.ts +9 -0
  419. package/dist/shared/utils/use-interval.d.ts.map +1 -0
  420. package/dist/shared/utils/use-interval.js +19 -0
  421. package/dist/shared/utils/use-interval.js.map +1 -0
  422. package/dist/shared/utils/use-previous.d.ts +10 -0
  423. package/dist/shared/utils/use-previous.d.ts.map +1 -0
  424. package/dist/shared/utils/use-previous.js +17 -0
  425. package/dist/shared/utils/use-previous.js.map +1 -0
  426. package/dist/shared/utils/use-url-sync.d.ts +20 -0
  427. package/dist/shared/utils/use-url-sync.d.ts.map +1 -0
  428. package/dist/shared/utils/use-url-sync.js +68 -0
  429. package/dist/shared/utils/use-url-sync.js.map +1 -0
  430. package/dist/shared/utils/use-window-title.d.ts +3 -0
  431. package/dist/shared/utils/use-window-title.d.ts.map +1 -0
  432. package/dist/shared/utils/use-window-title.js +14 -0
  433. package/dist/shared/utils/use-window-title.js.map +1 -0
  434. package/dist/shared/variable-state-provider/variable-state-provider.d.ts +10 -0
  435. package/dist/shared/variable-state-provider/variable-state-provider.d.ts.map +1 -0
  436. package/dist/shared/variable-state-provider/variable-state-provider.js +29 -0
  437. package/dist/shared/variable-state-provider/variable-state-provider.js.map +1 -0
  438. package/dist/shared/wrapper/wrapper.d.ts +7 -0
  439. package/dist/shared/wrapper/wrapper.d.ts.map +1 -0
  440. package/dist/shared/wrapper/wrapper.js +14 -0
  441. package/dist/shared/wrapper/wrapper.js.map +1 -0
  442. package/dist/types/auth.d.ts +15 -0
  443. package/dist/types/auth.d.ts.map +1 -0
  444. package/dist/types/auth.js +6 -0
  445. package/dist/types/auth.js.map +1 -0
  446. package/dist/types/core.d.ts +440 -0
  447. package/dist/types/core.d.ts.map +1 -0
  448. package/dist/types/core.js +22 -0
  449. package/dist/types/core.js.map +1 -0
  450. package/dist/types/index.d.ts +7 -0
  451. package/dist/types/index.d.ts.map +1 -0
  452. package/dist/types/index.js +4 -0
  453. package/dist/types/index.js.map +1 -0
  454. package/dist/types/utils.d.ts +56 -0
  455. package/dist/types/utils.d.ts.map +1 -0
  456. package/dist/types/utils.js +93 -0
  457. package/dist/types/utils.js.map +1 -0
  458. package/dist/umd/dara.core.umd.js +86508 -0
  459. package/dist/umd/style.css +848 -0
  460. package/dist/utils.d.ts +11 -0
  461. package/dist/utils.d.ts.map +1 -0
  462. package/dist/utils.js +20 -0
  463. package/dist/utils.js.map +1 -0
  464. package/package.json +121 -0
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ interface AuthWrapperProps {
3
+ /** The children to wrap */
4
+ children: ReactNode;
5
+ }
6
+ /**
7
+ * Simple Auth Wrapper component that initializes the token from localStorage,
8
+ * synchronizes token with localStorage and refreshes the token if it's about to expire.
9
+ * Renders the login/logout components and the children wrapped in PrivateRoute.
10
+ *
11
+ * @param props - the component props
12
+ */
13
+ declare function AuthWrapper(props: AuthWrapperProps): JSX.Element;
14
+ export default AuthWrapper;
15
+ //# sourceMappingURL=auth-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-wrapper.d.ts","sourceRoot":"","sources":["../../js/auth/auth-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,OAAO,CAAC;AAa3E,UAAU,gBAAgB;IACtB,2BAA2B;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACvB;AAsCD;;;;;;GAMG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAqCzD;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,72 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useContext, useEffect, useRef, useState } from 'react';
14
+ import { Route, Switch } from 'react-router-dom';
15
+ import DefaultFallback from '../components/fallback/default';
16
+ import ErrorPage from '../pages/error-page';
17
+ import Center from '../shared/center/center';
18
+ import { ImportersCtx } from '../shared/context';
19
+ import PrivateRoute from '../shared/private-route/private-route';
20
+ import { getToken } from '../shared/utils';
21
+ import { useAuthConfig } from './auth';
22
+ import { setSessionToken } from './use-session-token';
23
+ /**
24
+ * Simplified version of DynamicComponent, just for the auth components.
25
+ * This is because we can't use the component registry for auth components, since the component registry operates
26
+ * in an authenticated context, and we need to be able to render the login page without being authenticated.
27
+ */
28
+ function DynamicAuthComponent(props) {
29
+ const importers = useContext(ImportersCtx);
30
+ const [component, setComponent] = useState(() => _jsx(DefaultFallback, {}));
31
+ useEffect(() => {
32
+ const importer = importers[props.component.py_module];
33
+ importer()
34
+ .then((moduleContent) => {
35
+ if (!moduleContent) {
36
+ throw new Error(`Failed to import module ${props.component.py_module}`);
37
+ }
38
+ const Component = moduleContent[props.component.js_name];
39
+ if (!Component) {
40
+ throw new Error(`Failed to import component ${props.component.js_name} from module ${props.component.py_module}`);
41
+ }
42
+ setComponent(_jsx(Component, {}));
43
+ })
44
+ .catch((err) => {
45
+ throw new Error(`Failed to import module ${props.component.py_module}`, err);
46
+ });
47
+ }, [props.component, importers]);
48
+ return component;
49
+ }
50
+ /**
51
+ * Simple Auth Wrapper component that initializes the token from localStorage,
52
+ * synchronizes token with localStorage and refreshes the token if it's about to expire.
53
+ * Renders the login/logout components and the children wrapped in PrivateRoute.
54
+ *
55
+ * @param props - the component props
56
+ */
57
+ function AuthWrapper(props) {
58
+ const { data: authConfig, isLoading } = useAuthConfig();
59
+ const isMounted = useRef(false);
60
+ // set initial token from local storage as soon as we render
61
+ if (!isMounted.current) {
62
+ isMounted.current = true;
63
+ setSessionToken(getToken());
64
+ }
65
+ if (isLoading) {
66
+ return (_jsx(Center, { children: _jsx(DefaultFallback, {}) }));
67
+ }
68
+ const _a = authConfig.auth_components, { login, logout } = _a, extraRoutes = __rest(_a, ["login", "logout"]);
69
+ return (_jsxs(Switch, { children: [_jsx(Route, { path: "/login", children: _jsx(DynamicAuthComponent, { component: login }) }), _jsx(Route, { path: "/logout", children: _jsx(DynamicAuthComponent, { component: logout }) }), Object.entries(extraRoutes).map(([path, component]) => (_jsx(Route, { path: `/${path}`, children: _jsx(DynamicAuthComponent, { component: component }) }, path))), _jsx(Route, { component: ErrorPage, path: "/error" }), _jsx(Route, { path: "/", render: () => _jsx(PrivateRoute, { children: props.children }) })] }));
70
+ }
71
+ export default AuthWrapper;
72
+ //# sourceMappingURL=auth-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-wrapper.js","sourceRoot":"","sources":["../../js/auth/auth-wrapper.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { UseQueryResult } from '@tanstack/react-query';
2
+ import { RequestError } from '@darajs/ui-utils';
3
+ import { User, UserData } from '../types';
4
+ declare enum AuthenticationErrorReason {
5
+ BAD_REQUEST = "bad_request",
6
+ EXPIRED_TOKEN = "expired",
7
+ INVALID_CREDENTIALS = "invalid_credentials",
8
+ INVALID_TOKEN = "invalid_token",
9
+ OTHER = "other",
10
+ UNAUTHORIZED = "unauthorized"
11
+ }
12
+ /**
13
+ * Separate from the main component system, since we can't use component registry
14
+ */
15
+ export interface AuthComponent {
16
+ js_module: string;
17
+ js_name: string;
18
+ py_module: string;
19
+ }
20
+ interface AuthComponents {
21
+ [route: string]: AuthComponent;
22
+ login: AuthComponent;
23
+ logout: AuthComponent;
24
+ }
25
+ interface AuthConfig {
26
+ auth_components: AuthComponents;
27
+ }
28
+ /**
29
+ * Fetch components to use for authentication
30
+ */
31
+ export declare function useAuthConfig(): UseQueryResult<AuthConfig>;
32
+ interface RedirectResponse {
33
+ redirect_uri: string;
34
+ }
35
+ interface SuccessResponse {
36
+ success: boolean;
37
+ }
38
+ /**
39
+ * Revoke the current session
40
+ */
41
+ export declare function revokeSession(): Promise<RedirectResponse | SuccessResponse>;
42
+ /**
43
+ * Helper function to handle auth errors in a response
44
+ *
45
+ * @param res the response object to check
46
+ * @param toLogin if true, open the login page, else open the error page
47
+ * @param ignoreErrors if specified, certain reasons for an error will be ignored
48
+ */
49
+ export declare function handleAuthErrors(res: Response, toLogin?: boolean, ignoreErrors?: Array<AuthenticationErrorReason>): Promise<boolean>;
50
+ /**
51
+ * Api call to get user data from the backend
52
+ */
53
+ export declare function useUser(): UseQueryResult<UserData, RequestError>;
54
+ /** Api call to fetch the session token from the backend */
55
+ export declare function requestSessionToken(body?: User): Promise<string>;
56
+ /** Api call to fetch the session token from the backend */
57
+ export declare function useSession(body?: User): UseQueryResult<string, RequestError>;
58
+ /** Api call to verify the session token from the backend */
59
+ export declare function verifySessionToken(): Promise<boolean>;
60
+ export {};
61
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../js/auth/auth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAY,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAe,YAAY,EAAoB,MAAM,kBAAkB,CAAC;AAK/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,aAAK,yBAAyB;IAC1B,WAAW,gBAAgB;IAC3B,aAAa,YAAY;IACzB,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,YAAY,iBAAiB;CAChC;AA2CD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,UAAU;IAChB,eAAe,EAAE,cAAc,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,cAAc,CAAC,UAAU,CAAC,CAY1D;AAED,UAAU,gBAAgB;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAcjF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,QAAQ,EACb,OAAO,UAAQ,EACf,YAAY,GAAE,KAAK,CAAC,yBAAyB,CAAQ,GACtD,OAAO,CAAC,OAAO,CAAC,CAqBlB;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAYhE;AAED,2DAA2D;AAC3D,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,IAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB1E;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,GAAE,IAAS,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAQhF;AAED,4DAA4D;AAC5D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAK3D"}
@@ -0,0 +1,163 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { useQuery } from '@tanstack/react-query';
11
+ import { HTTP_METHOD, validateResponse } from '@darajs/ui-utils';
12
+ import { request } from '../api/http';
13
+ import { useRequestExtras } from '../shared/context';
14
+ import { getTokenKey } from '../shared/utils/embed';
15
+ var AuthenticationErrorReason;
16
+ (function (AuthenticationErrorReason) {
17
+ AuthenticationErrorReason["BAD_REQUEST"] = "bad_request";
18
+ AuthenticationErrorReason["EXPIRED_TOKEN"] = "expired";
19
+ AuthenticationErrorReason["INVALID_CREDENTIALS"] = "invalid_credentials";
20
+ AuthenticationErrorReason["INVALID_TOKEN"] = "invalid_token";
21
+ AuthenticationErrorReason["OTHER"] = "other";
22
+ AuthenticationErrorReason["UNAUTHORIZED"] = "unauthorized";
23
+ })(AuthenticationErrorReason || (AuthenticationErrorReason = {}));
24
+ /**
25
+ * Whether a message is an authentication error
26
+ *
27
+ * @param message message
28
+ */
29
+ function isAuthenticationError(message) {
30
+ return (message !== null &&
31
+ message !== undefined &&
32
+ typeof message === 'object' &&
33
+ 'reason' in message &&
34
+ Object.values(AuthenticationErrorReason).includes(message.reason));
35
+ }
36
+ /**
37
+ * Whether the error should be ignored
38
+ *
39
+ * @param message error message
40
+ * @param ignoreErrors error types to ignore
41
+ */
42
+ function shouldIgnoreError(message, ignoreErrors) {
43
+ return ignoreErrors && ignoreErrors.includes(message.reason);
44
+ }
45
+ /**
46
+ * Returns true if the error should redirect to login, otherwise it should redirect to the error page
47
+ *
48
+ * @param message error message
49
+ */
50
+ function shouldRedirectToLogin(message) {
51
+ return [AuthenticationErrorReason.INVALID_CREDENTIALS, AuthenticationErrorReason.EXPIRED_TOKEN].includes(message.reason);
52
+ }
53
+ /**
54
+ * Fetch components to use for authentication
55
+ */
56
+ export function useAuthConfig() {
57
+ return useQuery(['auth-config'], () => __awaiter(this, void 0, void 0, function* () {
58
+ const response = yield request('/api/core/auth-config', {
59
+ method: HTTP_METHOD.GET,
60
+ });
61
+ return response.json();
62
+ }), { refetchOnWindowFocus: false });
63
+ }
64
+ /**
65
+ * Revoke the current session
66
+ */
67
+ export function revokeSession() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ try {
70
+ const response = yield request('/api/auth/revoke-session', {
71
+ method: HTTP_METHOD.POST,
72
+ });
73
+ if (response.ok) {
74
+ const responseData = yield response.json();
75
+ return responseData;
76
+ }
77
+ }
78
+ catch (e) {
79
+ // eslint-disable-next-line no-console
80
+ console.error('Failed to revoke session', e);
81
+ }
82
+ });
83
+ }
84
+ /**
85
+ * Helper function to handle auth errors in a response
86
+ *
87
+ * @param res the response object to check
88
+ * @param toLogin if true, open the login page, else open the error page
89
+ * @param ignoreErrors if specified, certain reasons for an error will be ignored
90
+ */
91
+ export function handleAuthErrors(res_1) {
92
+ return __awaiter(this, arguments, void 0, function* (res, toLogin = false, ignoreErrors = null) {
93
+ var _a;
94
+ const content = yield res.clone().json();
95
+ if (isAuthenticationError(content === null || content === void 0 ? void 0 : content.detail) && !shouldIgnoreError(content === null || content === void 0 ? void 0 : content.detail, ignoreErrors)) {
96
+ localStorage.removeItem(getTokenKey());
97
+ // use existing referrer if available in case we were already redirected because of e.g. missing token
98
+ const queryParams = new URLSearchParams(window.location.search);
99
+ const referrer = (_a = queryParams.get('referrer')) !== null && _a !== void 0 ? _a : encodeURIComponent(window.location.pathname + window.location.search);
100
+ const path = toLogin || shouldRedirectToLogin(content.detail) ?
101
+ `/login?referrer=${referrer}`
102
+ : `/error?code=${res.status}`;
103
+ window.location.href = `${window.dara.base_url}${path}`;
104
+ return true;
105
+ }
106
+ return false;
107
+ });
108
+ }
109
+ /**
110
+ * Api call to get user data from the backend
111
+ */
112
+ export function useUser() {
113
+ const extras = useRequestExtras();
114
+ return useQuery({
115
+ queryFn: () => __awaiter(this, void 0, void 0, function* () {
116
+ const res = yield request('/api/auth/user', { method: HTTP_METHOD.GET }, extras);
117
+ yield handleAuthErrors(res);
118
+ yield validateResponse(res, 'Failed to fetch user for this app');
119
+ return res.json();
120
+ }),
121
+ queryKey: ['user'],
122
+ refetchOnWindowFocus: false,
123
+ });
124
+ }
125
+ /** Api call to fetch the session token from the backend */
126
+ export function requestSessionToken() {
127
+ return __awaiter(this, arguments, void 0, function* (body = {}) {
128
+ const res = yield request('/api/auth/session', {
129
+ body: JSON.stringify(body),
130
+ method: HTTP_METHOD.POST,
131
+ });
132
+ // check auth errors, but ignore invalid credentials - these will be handled by validateResponse further
133
+ const loggedOut = yield handleAuthErrors(res, false, [AuthenticationErrorReason.INVALID_CREDENTIALS]);
134
+ if (loggedOut) {
135
+ return null;
136
+ }
137
+ yield validateResponse(res, 'Failed to fetch the session token');
138
+ const parsedResponse = yield res.json();
139
+ const { token } = parsedResponse;
140
+ localStorage.setItem(getTokenKey(), token);
141
+ return token;
142
+ });
143
+ }
144
+ /** Api call to fetch the session token from the backend */
145
+ export function useSession(body = {}) {
146
+ return useQuery({
147
+ queryFn: () => __awaiter(this, void 0, void 0, function* () {
148
+ return requestSessionToken(body);
149
+ }),
150
+ queryKey: ['session'],
151
+ refetchOnMount: false,
152
+ });
153
+ }
154
+ /** Api call to verify the session token from the backend */
155
+ export function verifySessionToken() {
156
+ return __awaiter(this, void 0, void 0, function* () {
157
+ const res = yield request('/api/auth/verify-session', {
158
+ method: HTTP_METHOD.POST,
159
+ });
160
+ return res.ok;
161
+ });
162
+ }
163
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../js/auth/auth.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The Login component gets the username and password from the user and generates a session token.
3
+ */
4
+ declare function BasicAuthLogin(): JSX.Element;
5
+ export default BasicAuthLogin;
6
+ //# sourceMappingURL=basic-auth-login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-auth-login.d.ts","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-login.tsx"],"names":[],"mappings":"AA8HA;;GAEG;AACH,iBAAS,cAAc,IAAI,GAAG,CAAC,OAAO,CA4GrC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,171 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ /* eslint-disable react-hooks/exhaustive-deps */
12
+ import { transparentize } from 'polished';
13
+ import { useEffect, useState } from 'react';
14
+ import { useHistory, useLocation } from 'react-router-dom';
15
+ import styled from '@darajs/styled-components';
16
+ import { Button } from '@darajs/ui-components';
17
+ import { requestSessionToken } from '../../api';
18
+ import DefaultFallback from '../../components/fallback/default';
19
+ import Center from '../../shared/center/center';
20
+ import { verifySessionToken } from '../auth';
21
+ import { getSessionToken, setSessionToken } from '../use-session-token';
22
+ const Wrapper = styled.div `
23
+ display: flex;
24
+ flex: 1 1 0%;
25
+ flex-direction: column;
26
+ justify-content: center;
27
+
28
+ min-height: 100%;
29
+
30
+ background: ${(props) => `radial-gradient(circle closest-corner at 50% 40%, ${transparentize(0.9, props.theme.colors.background)} 0%, ${transparentize(0.8, props.theme.colors.blue4)} 70%),radial-gradient(circle closest-corner at 20% 150%, ${transparentize(0.8, props.theme.colors.error)} 0%, ${transparentize(0.2, props.theme.colors.blue4)} 230%)`};
31
+ `;
32
+ const Card = styled.div `
33
+ padding: 1.5rem;
34
+
35
+ color: ${(props) => props.theme.colors.text};
36
+
37
+ background-color: ${(props) => props.theme.colors.blue1};
38
+ border-radius: 1rem;
39
+ box-shadow: ${(props) => props.theme.shadow.medium};
40
+
41
+ @media (width >= 640px) {
42
+ width: 100%;
43
+ max-width: 24rem;
44
+ margin-right: auto;
45
+ margin-left: auto;
46
+ }
47
+ `;
48
+ const FormWrapper = styled.div `
49
+ margin-top: 1.5rem;
50
+ `;
51
+ const Form = styled.form `
52
+ > * + * {
53
+ margin-top: 1.5rem;
54
+ }
55
+ `;
56
+ const ErrorText = styled.h3 `
57
+ margin: 0;
58
+
59
+ font-size: 0.875rem;
60
+ font-weight: 500;
61
+ line-height: 1.25rem;
62
+ color: ${(props) => props.theme.colors.error};
63
+ letter-spacing: 0.025em;
64
+
65
+ visibility: ${(props) => (props.$hidden ? 'hidden' : 'visible')};
66
+ `;
67
+ const Label = styled.label `
68
+ font-weight: 500;
69
+ line-height: 1.5rem;
70
+ `;
71
+ const StyledInput = styled.input `
72
+ display: flex;
73
+ display: block;
74
+ align-items: center;
75
+
76
+ width: 100%;
77
+ height: 2.5rem;
78
+ margin-top: 0.5rem;
79
+ padding: 0 1rem;
80
+
81
+ font-size: 1rem;
82
+ line-height: 1.5rem;
83
+ color: ${(props) => props.theme.colors.text};
84
+
85
+ background-color: ${(props) => props.theme.colors.blue1};
86
+ border: none;
87
+ border-radius: 0.25rem;
88
+ outline: none;
89
+ box-shadow:
90
+ inset 0 0 0 0 ${(props) => props.theme.colors.blue1},
91
+ inset 0 0 0 1px ${(props) => (props.$error ? props.theme.colors.error : props.theme.colors.grey2)},
92
+ 0 1px 2px 0 rgb(0 0 0 / 5%);
93
+
94
+ :active,
95
+ :focus {
96
+ box-shadow:
97
+ inset 0 0 0 0 ${(props) => props.theme.colors.blue1},
98
+ inset 0 0 0 2px ${(props) => (props.$error ? props.theme.colors.error : props.theme.colors.primary)},
99
+ 0 1px 2px 0 rgb(0 0 0 / 5%);
100
+ }
101
+ `;
102
+ const StyledButton = styled(Button) `
103
+ width: 100%;
104
+ font-weight: 600;
105
+ line-height: 1.5rem;
106
+ box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
107
+
108
+ :active,
109
+ :focus {
110
+ outline-color: ${(props) => props.theme.colors.primary};
111
+ outline-width: 2px;
112
+ outline-offset: 2px;
113
+ }
114
+ `;
115
+ /**
116
+ * The Login component gets the username and password from the user and generates a session token.
117
+ */
118
+ function BasicAuthLogin() {
119
+ var _a;
120
+ const [isVerifyingToken, setIsVerifyingToken] = useState(true);
121
+ const [isLoggingIn, setIsLoggingIn] = useState(false);
122
+ const [username, setUsername] = useState('');
123
+ const [password, setPassword] = useState('');
124
+ const [isError, setIsError] = useState(false);
125
+ const history = useHistory();
126
+ const location = useLocation();
127
+ const queryParams = new URLSearchParams(location.search);
128
+ const previousLocation = (_a = queryParams.get('referrer')) !== null && _a !== void 0 ? _a : '/';
129
+ const login = () => __awaiter(this, void 0, void 0, function* () {
130
+ setIsLoggingIn(true);
131
+ setIsError(false);
132
+ try {
133
+ const sessionToken = yield requestSessionToken({ password, username });
134
+ if (sessionToken) {
135
+ setSessionToken(sessionToken);
136
+ history.replace(decodeURIComponent(previousLocation));
137
+ }
138
+ }
139
+ catch (_a) {
140
+ setIsError(true);
141
+ }
142
+ setIsLoggingIn(false);
143
+ });
144
+ useEffect(() => {
145
+ // If we landed on this page with a token already, verify it
146
+ if (getSessionToken()) {
147
+ verifySessionToken().then((verified) => {
148
+ // we already have a valid token, redirect
149
+ if (verified) {
150
+ history.replace(decodeURIComponent(previousLocation));
151
+ }
152
+ else {
153
+ setIsVerifyingToken(false);
154
+ }
155
+ });
156
+ }
157
+ else {
158
+ setIsVerifyingToken(false);
159
+ }
160
+ }, []);
161
+ // Don't show the form yet until we check existing token
162
+ if (isVerifyingToken) {
163
+ return (_jsx(Center, { children: _jsx(DefaultFallback, {}) }));
164
+ }
165
+ return (_jsx(Wrapper, { children: _jsx(Card, { children: _jsx(FormWrapper, { children: _jsxs(Form, { onSubmit: (e) => {
166
+ e.preventDefault();
167
+ login();
168
+ }, children: [_jsxs("div", { children: [_jsx(Label, { htmlFor: "username", children: "Username" }), _jsx(StyledInput, { "$error": isError, id: "username", onChange: (e) => setUsername(e.target.value), required: true, type: "text", value: username })] }), _jsxs("div", { children: [_jsx(Label, { htmlFor: "password", children: "Password" }), _jsx(StyledInput, { "$error": isError, id: "password", onChange: (e) => setPassword(e.target.value), required: true, type: "password", value: password })] }), _jsx(ErrorText, { "$hidden": !isError, style: { marginTop: '1rem' }, children: "Incorrect Username or Password" }), _jsx("div", { children: _jsx(StyledButton, { loading: isLoggingIn, style: { color: 'white' }, styling: "primary", type: "submit", children: "Sign in" }) })] }) }) }) }));
169
+ }
170
+ export default BasicAuthLogin;
171
+ //# sourceMappingURL=basic-auth-login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-auth-login.js","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-login.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Auth component that wipes user token in AuthContext on mount and redirects to /login
3
+ */
4
+ declare function BasicAuthLogout(): JSX.Element;
5
+ export default BasicAuthLogout;
6
+ //# sourceMappingURL=basic-auth-logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-auth-logout.d.ts","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-logout.tsx"],"names":[],"mappings":"AAOA;;GAEG;AACH,iBAAS,eAAe,IAAI,GAAG,CAAC,OAAO,CAStC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,18 @@
1
+ /* eslint-disable react-hooks/exhaustive-deps */
2
+ import { useEffect } from 'react';
3
+ import { revokeSession } from '../../auth/auth';
4
+ import { setSessionToken } from '../use-session-token';
5
+ /**
6
+ * Auth component that wipes user token in AuthContext on mount and redirects to /login
7
+ */
8
+ function BasicAuthLogout() {
9
+ useEffect(() => {
10
+ revokeSession().then(() => {
11
+ setSessionToken(null);
12
+ window.location.href = `${window.dara.base_url}/login`;
13
+ });
14
+ }, []);
15
+ return null;
16
+ }
17
+ export default BasicAuthLogout;
18
+ //# sourceMappingURL=basic-auth-logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-auth-logout.js","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-logout.tsx"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,SAAS,eAAe;IACpB,SAAS,CAAC,GAAG,EAAE;QACX,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACtB,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The Login component gets a new session token from the backend and stores it in local storage
3
+ */
4
+ declare function DefaultAuthLogin(): JSX.Element;
5
+ export default DefaultAuthLogin;
6
+ //# sourceMappingURL=default-auth-login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-auth-login.d.ts","sourceRoot":"","sources":["../../../js/auth/default/default-auth-login.tsx"],"names":[],"mappings":"AAUA;;GAEG;AACH,iBAAS,gBAAgB,IAAI,GAAG,CAAC,OAAO,CAuCvC;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,59 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ /* eslint-disable react-hooks/exhaustive-deps */
12
+ import { useEffect } from 'react';
13
+ import { useHistory, useLocation } from 'react-router-dom';
14
+ import DefaultFallback from '../../components/fallback/default';
15
+ import Center from '../../shared/center/center';
16
+ import { requestSessionToken, verifySessionToken } from '../auth';
17
+ import { getSessionToken, setSessionToken } from '../use-session-token';
18
+ /**
19
+ * The Login component gets a new session token from the backend and stores it in local storage
20
+ */
21
+ function DefaultAuthLogin() {
22
+ var _a;
23
+ const history = useHistory();
24
+ const location = useLocation();
25
+ const queryParams = new URLSearchParams(location.search);
26
+ const previousLocation = (_a = queryParams.get('referrer')) !== null && _a !== void 0 ? _a : '/';
27
+ function getNewToken() {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const sessionToken = yield requestSessionToken({});
30
+ // in default auth this always succeeds
31
+ if (sessionToken) {
32
+ setSessionToken(sessionToken);
33
+ history.replace(decodeURIComponent(previousLocation));
34
+ }
35
+ });
36
+ }
37
+ useEffect(() => {
38
+ // If we landed on this page with a token already, verify it
39
+ if (getSessionToken()) {
40
+ verifySessionToken().then((verified) => {
41
+ // we already have a valid token, redirect
42
+ if (verified) {
43
+ history.replace(decodeURIComponent(previousLocation));
44
+ }
45
+ else {
46
+ // Otherwise grab a new token
47
+ getNewToken();
48
+ }
49
+ });
50
+ }
51
+ else {
52
+ // Otherwise grab a new token
53
+ getNewToken();
54
+ }
55
+ }, []);
56
+ return (_jsx(Center, { children: _jsx(DefaultFallback, {}) }));
57
+ }
58
+ export default DefaultAuthLogin;
59
+ //# sourceMappingURL=default-auth-login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-auth-login.js","sourceRoot":"","sources":["../../../js/auth/default/default-auth-login.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAExE;;GAEG;AACH,SAAS,gBAAgB;;IACrB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,gBAAgB,GAAG,MAAA,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,mCAAI,GAAG,CAAC;IAE5D,SAAe,WAAW;;YACtB,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACnD,uCAAuC;YACvC,IAAI,YAAY,EAAE,CAAC;gBACf,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC9B,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;KAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,4DAA4D;QAC5D,IAAI,eAAe,EAAE,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACnC,0CAA0C;gBAC1C,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACJ,6BAA6B;oBAC7B,WAAW,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,6BAA6B;YAC7B,WAAW,EAAE,CAAC;QAClB,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,KAAC,MAAM,cACH,KAAC,eAAe,KAAG,GACd,CACZ,CAAC;AACN,CAAC;AAED,eAAe,gBAAgB,CAAC"}