@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.
- package/LICENSE +201 -0
- package/README.md +7 -0
- package/dist/actions/download-content.d.ts +8 -0
- package/dist/actions/download-content.d.ts.map +1 -0
- package/dist/actions/download-content.js +46 -0
- package/dist/actions/download-content.js.map +1 -0
- package/dist/actions/download-variable.d.ts +8 -0
- package/dist/actions/download-variable.d.ts.map +1 -0
- package/dist/actions/download-variable.js +153 -0
- package/dist/actions/download-variable.js.map +1 -0
- package/dist/actions/index.d.ts +11 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +11 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/logout.d.ts +8 -0
- package/dist/actions/logout.d.ts.map +1 -0
- package/dist/actions/logout.js +24 -0
- package/dist/actions/logout.js.map +1 -0
- package/dist/actions/navigate-to.d.ts +8 -0
- package/dist/actions/navigate-to.d.ts.map +1 -0
- package/dist/actions/navigate-to.js +77 -0
- package/dist/actions/navigate-to.js.map +1 -0
- package/dist/actions/notify.d.ts +8 -0
- package/dist/actions/notify.d.ts.map +1 -0
- package/dist/actions/notify.js +16 -0
- package/dist/actions/notify.js.map +1 -0
- package/dist/actions/reset-variables.d.ts +8 -0
- package/dist/actions/reset-variables.d.ts.map +1 -0
- package/dist/actions/reset-variables.js +24 -0
- package/dist/actions/reset-variables.js.map +1 -0
- package/dist/actions/side-effect.d.ts +8 -0
- package/dist/actions/side-effect.d.ts.map +1 -0
- package/dist/actions/side-effect.js +44 -0
- package/dist/actions/side-effect.js.map +1 -0
- package/dist/actions/trigger-variable.d.ts +8 -0
- package/dist/actions/trigger-variable.d.ts.map +1 -0
- package/dist/actions/trigger-variable.js +25 -0
- package/dist/actions/trigger-variable.js.map +1 -0
- package/dist/actions/update-variable.d.ts +9 -0
- package/dist/actions/update-variable.d.ts.map +1 -0
- package/dist/actions/update-variable.js +89 -0
- package/dist/actions/update-variable.js.map +1 -0
- package/dist/actions/utils.d.ts +9 -0
- package/dist/actions/utils.d.ts.map +1 -0
- package/dist/actions/utils.js +37 -0
- package/dist/actions/utils.js.map +1 -0
- package/dist/api/core.d.ts +34 -0
- package/dist/api/core.d.ts.map +1 -0
- package/dist/api/core.js +110 -0
- package/dist/api/core.js.map +1 -0
- package/dist/api/http.d.ts +9 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +38 -0
- package/dist/api/http.js.map +1 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +5 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/websocket.d.ts +140 -0
- package/dist/api/websocket.d.ts.map +1 -0
- package/dist/api/websocket.js +241 -0
- package/dist/api/websocket.js.map +1 -0
- package/dist/assets/fonts/Manrope-VariableFont_wght.ttf +0 -0
- package/dist/assets/login-background.svg +11 -0
- package/dist/assets/logo.svg +12 -0
- package/dist/auth/auth-context.d.ts +22 -0
- package/dist/auth/auth-context.d.ts.map +1 -0
- package/dist/auth/auth-context.js +18 -0
- package/dist/auth/auth-context.js.map +1 -0
- package/dist/auth/auth-wrapper.d.ts +14 -0
- package/dist/auth/auth-wrapper.d.ts.map +1 -0
- package/dist/auth/auth-wrapper.js +90 -0
- package/dist/auth/auth-wrapper.js.map +1 -0
- package/dist/auth/auth.d.ts +61 -0
- package/dist/auth/auth.d.ts.map +1 -0
- package/dist/auth/auth.js +161 -0
- package/dist/auth/auth.js.map +1 -0
- package/dist/auth/basic/basic-auth-login.d.ts +6 -0
- package/dist/auth/basic/basic-auth-login.d.ts.map +1 -0
- package/dist/auth/basic/basic-auth-login.js +174 -0
- package/dist/auth/basic/basic-auth-login.js.map +1 -0
- package/dist/auth/basic/basic-auth-logout.d.ts +6 -0
- package/dist/auth/basic/basic-auth-logout.d.ts.map +1 -0
- package/dist/auth/basic/basic-auth-logout.js +18 -0
- package/dist/auth/basic/basic-auth-logout.js.map +1 -0
- package/dist/auth/default/default-auth-login.d.ts +6 -0
- package/dist/auth/default/default-auth-login.d.ts.map +1 -0
- package/dist/auth/default/default-auth-login.js +66 -0
- package/dist/auth/default/default-auth-login.js.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +7 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/components/fallback/default.d.ts +5 -0
- package/dist/components/fallback/default.d.ts.map +1 -0
- package/dist/components/fallback/default.js +10 -0
- package/dist/components/fallback/default.js.map +1 -0
- package/dist/components/fallback/dots.d.ts +8 -0
- package/dist/components/fallback/dots.d.ts.map +1 -0
- package/dist/components/fallback/dots.js +77 -0
- package/dist/components/fallback/dots.js.map +1 -0
- package/dist/components/fallback/row.d.ts +5 -0
- package/dist/components/fallback/row.d.ts.map +1 -0
- package/dist/components/fallback/row.js +14 -0
- package/dist/components/fallback/row.js.map +1 -0
- package/dist/components/for/for.d.ts +35 -0
- package/dist/components/for/for.d.ts.map +1 -0
- package/dist/components/for/for.js +43 -0
- package/dist/components/for/for.js.map +1 -0
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +9 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/menu/menu.d.ts +14 -0
- package/dist/components/menu/menu.d.ts.map +1 -0
- package/dist/components/menu/menu.js +58 -0
- package/dist/components/menu/menu.js.map +1 -0
- package/dist/components/progress-tracker/progress-tracker.d.ts +18 -0
- package/dist/components/progress-tracker/progress-tracker.d.ts.map +1 -0
- package/dist/components/progress-tracker/progress-tracker.js +202 -0
- package/dist/components/progress-tracker/progress-tracker.js.map +1 -0
- package/dist/components/router-content/router-content.d.ts +14 -0
- package/dist/components/router-content/router-content.d.ts.map +1 -0
- package/dist/components/router-content/router-content.js +17 -0
- package/dist/components/router-content/router-content.js.map +1 -0
- package/dist/components/side-bar-frame/side-bar-frame.d.ts +21 -0
- package/dist/components/side-bar-frame/side-bar-frame.d.ts.map +1 -0
- package/dist/components/side-bar-frame/side-bar-frame.js +63 -0
- package/dist/components/side-bar-frame/side-bar-frame.js.map +1 -0
- package/dist/components/top-bar-frame/top-bar-frame.d.ts +16 -0
- package/dist/components/top-bar-frame/top-bar-frame.d.ts.map +1 -0
- package/dist/components/top-bar-frame/top-bar-frame.js +70 -0
- package/dist/components/top-bar-frame/top-bar-frame.js.map +1 -0
- package/dist/dara_core-1.0.0a1-py3-none-any.whl +0 -0
- package/dist/devtools/backend-errors/backend-errors-ctx.d.ts +17 -0
- package/dist/devtools/backend-errors/backend-errors-ctx.d.ts.map +1 -0
- package/dist/devtools/backend-errors/backend-errors-ctx.js +37 -0
- package/dist/devtools/backend-errors/backend-errors-ctx.js.map +1 -0
- package/dist/devtools/backend-errors/backend-errors.d.ts +6 -0
- package/dist/devtools/backend-errors/backend-errors.d.ts.map +1 -0
- package/dist/devtools/backend-errors/backend-errors.js +57 -0
- package/dist/devtools/backend-errors/backend-errors.js.map +1 -0
- package/dist/devtools/backend-errors/error-display.d.ts +22 -0
- package/dist/devtools/backend-errors/error-display.d.ts.map +1 -0
- package/dist/devtools/backend-errors/error-display.js +99 -0
- package/dist/devtools/backend-errors/error-display.js.map +1 -0
- package/dist/devtools/backend-errors/index.d.ts +3 -0
- package/dist/devtools/backend-errors/index.d.ts.map +1 -0
- package/dist/devtools/backend-errors/index.js +3 -0
- package/dist/devtools/backend-errors/index.js.map +1 -0
- package/dist/devtools/devtools-content.d.ts +12 -0
- package/dist/devtools/devtools-content.d.ts.map +1 -0
- package/dist/devtools/devtools-content.js +73 -0
- package/dist/devtools/devtools-content.js.map +1 -0
- package/dist/devtools/devtools-context.d.ts +7 -0
- package/dist/devtools/devtools-context.d.ts.map +1 -0
- package/dist/devtools/devtools-context.js +9 -0
- package/dist/devtools/devtools-context.js.map +1 -0
- package/dist/devtools/devtools-wrapper.d.ts +8 -0
- package/dist/devtools/devtools-wrapper.d.ts.map +1 -0
- package/dist/devtools/devtools-wrapper.js +64 -0
- package/dist/devtools/devtools-wrapper.js.map +1 -0
- package/dist/devtools/devtools.d.ts +5 -0
- package/dist/devtools/devtools.d.ts.map +1 -0
- package/dist/devtools/devtools.js +10 -0
- package/dist/devtools/devtools.js.map +1 -0
- package/dist/devtools/floating-button.d.ts +24 -0
- package/dist/devtools/floating-button.d.ts.map +1 -0
- package/dist/devtools/floating-button.js +96 -0
- package/dist/devtools/floating-button.js.map +1 -0
- package/dist/devtools/index.d.ts +2 -0
- package/dist/devtools/index.d.ts.map +1 -0
- package/dist/devtools/index.js +2 -0
- package/dist/devtools/index.js.map +1 -0
- package/dist/devtools/resizer.d.ts +18 -0
- package/dist/devtools/resizer.d.ts.map +1 -0
- package/dist/devtools/resizer.js +48 -0
- package/dist/devtools/resizer.js.map +1 -0
- package/dist/devtools/use-move.d.ts +21 -0
- package/dist/devtools/use-move.d.ts.map +1 -0
- package/dist/devtools/use-move.js +55 -0
- package/dist/devtools/use-move.js.map +1 -0
- package/dist/index.css +95 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/jest-setup.d.ts +2 -0
- package/dist/jest-setup.d.ts.map +1 -0
- package/dist/jest-setup.js +7 -0
- package/dist/jest-setup.js.map +1 -0
- package/dist/pages/error-page.d.ts +3 -0
- package/dist/pages/error-page.d.ts.map +1 -0
- package/dist/pages/error-page.js +32 -0
- package/dist/pages/error-page.js.map +1 -0
- package/dist/pages/sso-callback-page.d.ts +6 -0
- package/dist/pages/sso-callback-page.d.ts.map +1 -0
- package/dist/pages/sso-callback-page.js +8 -0
- package/dist/pages/sso-callback-page.js.map +1 -0
- package/dist/run.d.ts +22 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +40 -0
- package/dist/run.js.map +1 -0
- package/dist/shared/center/center.d.ts +5 -0
- package/dist/shared/center/center.d.ts.map +1 -0
- package/dist/shared/center/center.js +15 -0
- package/dist/shared/center/center.js.map +1 -0
- package/dist/shared/context/direction-context.d.ts +7 -0
- package/dist/shared/context/direction-context.d.ts.map +1 -0
- package/dist/shared/context/direction-context.js +4 -0
- package/dist/shared/context/direction-context.js.map +1 -0
- package/dist/shared/context/display-context.d.ts +14 -0
- package/dist/shared/context/display-context.d.ts.map +1 -0
- package/dist/shared/context/display-context.js +4 -0
- package/dist/shared/context/display-context.js.map +1 -0
- package/dist/shared/context/fallback-context.d.ts +11 -0
- package/dist/shared/context/fallback-context.d.ts.map +1 -0
- package/dist/shared/context/fallback-context.js +4 -0
- package/dist/shared/context/fallback-context.js.map +1 -0
- package/dist/shared/context/global-task-context.d.ts +40 -0
- package/dist/shared/context/global-task-context.d.ts.map +1 -0
- package/dist/shared/context/global-task-context.js +78 -0
- package/dist/shared/context/global-task-context.js.map +1 -0
- package/dist/shared/context/importers-context.d.ts +7 -0
- package/dist/shared/context/importers-context.d.ts.map +1 -0
- package/dist/shared/context/importers-context.js +4 -0
- package/dist/shared/context/importers-context.js.map +1 -0
- package/dist/shared/context/index.d.ts +10 -0
- package/dist/shared/context/index.d.ts.map +1 -0
- package/dist/shared/context/index.js +10 -0
- package/dist/shared/context/index.js.map +1 -0
- package/dist/shared/context/registries-context.d.ts +21 -0
- package/dist/shared/context/registries-context.d.ts.map +1 -0
- package/dist/shared/context/registries-context.js +8 -0
- package/dist/shared/context/registries-context.js.map +1 -0
- package/dist/shared/context/variable-context.d.ts +10 -0
- package/dist/shared/context/variable-context.d.ts.map +1 -0
- package/dist/shared/context/variable-context.js +4 -0
- package/dist/shared/context/variable-context.js.map +1 -0
- package/dist/shared/context/websocket-context.d.ts +8 -0
- package/dist/shared/context/websocket-context.d.ts.map +1 -0
- package/dist/shared/context/websocket-context.js +4 -0
- package/dist/shared/context/websocket-context.js.map +1 -0
- package/dist/shared/dynamic-component/dynamic-component.d.ts +16 -0
- package/dist/shared/dynamic-component/dynamic-component.d.ts.map +1 -0
- package/dist/shared/dynamic-component/dynamic-component.js +243 -0
- package/dist/shared/dynamic-component/dynamic-component.js.map +1 -0
- package/dist/shared/error-handling/error-display.d.ts +8 -0
- package/dist/shared/error-handling/error-display.d.ts.map +1 -0
- package/dist/shared/error-handling/error-display.js +92 -0
- package/dist/shared/error-handling/error-display.js.map +1 -0
- package/dist/shared/error-handling/index.d.ts +3 -0
- package/dist/shared/error-handling/index.d.ts.map +1 -0
- package/dist/shared/error-handling/index.js +3 -0
- package/dist/shared/error-handling/index.js.map +1 -0
- package/dist/shared/error-handling/types.d.ts +10 -0
- package/dist/shared/error-handling/types.d.ts.map +1 -0
- package/dist/shared/error-handling/types.js +9 -0
- package/dist/shared/error-handling/types.js.map +1 -0
- package/dist/shared/index.d.ts +11 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +9 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/interactivity/data-variable.d.ts +66 -0
- package/dist/shared/interactivity/data-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/data-variable.js +186 -0
- package/dist/shared/interactivity/data-variable.js.map +1 -0
- package/dist/shared/interactivity/derived-variable.d.ts +153 -0
- package/dist/shared/interactivity/derived-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/derived-variable.js +403 -0
- package/dist/shared/interactivity/derived-variable.js.map +1 -0
- package/dist/shared/interactivity/filtering.d.ts +9 -0
- package/dist/shared/interactivity/filtering.d.ts.map +1 -0
- package/dist/shared/interactivity/filtering.js +20 -0
- package/dist/shared/interactivity/filtering.js.map +1 -0
- package/dist/shared/interactivity/index.d.ts +12 -0
- package/dist/shared/interactivity/index.d.ts.map +1 -0
- package/dist/shared/interactivity/index.js +11 -0
- package/dist/shared/interactivity/index.js.map +1 -0
- package/dist/shared/interactivity/internal.d.ts +8 -0
- package/dist/shared/interactivity/internal.d.ts.map +1 -0
- package/dist/shared/interactivity/internal.js +10 -0
- package/dist/shared/interactivity/internal.js.map +1 -0
- package/dist/shared/interactivity/nested.d.ts +16 -0
- package/dist/shared/interactivity/nested.d.ts.map +1 -0
- package/dist/shared/interactivity/nested.js +50 -0
- package/dist/shared/interactivity/nested.js.map +1 -0
- package/dist/shared/interactivity/plain-variable.d.ts +23 -0
- package/dist/shared/interactivity/plain-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/plain-variable.js +89 -0
- package/dist/shared/interactivity/plain-variable.js.map +1 -0
- package/dist/shared/interactivity/resolve-value.d.ts +13 -0
- package/dist/shared/interactivity/resolve-value.d.ts.map +1 -0
- package/dist/shared/interactivity/resolve-value.js +36 -0
- package/dist/shared/interactivity/resolve-value.js.map +1 -0
- package/dist/shared/interactivity/resolve-variable.d.ts +18 -0
- package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/resolve-variable.js +47 -0
- package/dist/shared/interactivity/resolve-variable.js.map +1 -0
- package/dist/shared/interactivity/store.d.ts +35 -0
- package/dist/shared/interactivity/store.d.ts.map +1 -0
- package/dist/shared/interactivity/store.js +47 -0
- package/dist/shared/interactivity/store.js.map +1 -0
- package/dist/shared/interactivity/triggers.d.ts +31 -0
- package/dist/shared/interactivity/triggers.d.ts.map +1 -0
- package/dist/shared/interactivity/triggers.js +105 -0
- package/dist/shared/interactivity/triggers.js.map +1 -0
- package/dist/shared/interactivity/url-variable.d.ts +12 -0
- package/dist/shared/interactivity/url-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/url-variable.js +28 -0
- package/dist/shared/interactivity/url-variable.js.map +1 -0
- package/dist/shared/interactivity/use-any-variable.d.ts +8 -0
- package/dist/shared/interactivity/use-any-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/use-any-variable.js +38 -0
- package/dist/shared/interactivity/use-any-variable.js.map +1 -0
- package/dist/shared/interactivity/use-data-variable.d.ts +12 -0
- package/dist/shared/interactivity/use-data-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/use-data-variable.js +56 -0
- package/dist/shared/interactivity/use-data-variable.js.map +1 -0
- package/dist/shared/interactivity/use-refresh-selector.d.ts +5 -0
- package/dist/shared/interactivity/use-refresh-selector.d.ts.map +1 -0
- package/dist/shared/interactivity/use-refresh-selector.js +16 -0
- package/dist/shared/interactivity/use-refresh-selector.js.map +1 -0
- package/dist/shared/interactivity/use-reset-variables.d.ts +8 -0
- package/dist/shared/interactivity/use-reset-variables.d.ts.map +1 -0
- package/dist/shared/interactivity/use-reset-variables.js +46 -0
- package/dist/shared/interactivity/use-reset-variables.js.map +1 -0
- package/dist/shared/interactivity/use-server-component.d.ts +24 -0
- package/dist/shared/interactivity/use-server-component.d.ts.map +1 -0
- package/dist/shared/interactivity/use-server-component.js +227 -0
- package/dist/shared/interactivity/use-server-component.js.map +1 -0
- package/dist/shared/interactivity/use-trigger-variable.d.ts +9 -0
- package/dist/shared/interactivity/use-trigger-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/use-trigger-variable.js +18 -0
- package/dist/shared/interactivity/use-trigger-variable.js.map +1 -0
- package/dist/shared/interactivity/use-variable-state.d.ts +9 -0
- package/dist/shared/interactivity/use-variable-state.d.ts.map +1 -0
- package/dist/shared/interactivity/use-variable-state.js +35 -0
- package/dist/shared/interactivity/use-variable-state.js.map +1 -0
- package/dist/shared/interactivity/use-variable-value.d.ts +20 -0
- package/dist/shared/interactivity/use-variable-value.d.ts.map +1 -0
- package/dist/shared/interactivity/use-variable-value.js +77 -0
- package/dist/shared/interactivity/use-variable-value.js.map +1 -0
- package/dist/shared/interactivity/use-variable.d.ts +11 -0
- package/dist/shared/interactivity/use-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/use-variable.js +62 -0
- package/dist/shared/interactivity/use-variable.js.map +1 -0
- package/dist/shared/private-route/private-route.d.ts +23 -0
- package/dist/shared/private-route/private-route.d.ts.map +1 -0
- package/dist/shared/private-route/private-route.js +39 -0
- package/dist/shared/private-route/private-route.js.map +1 -0
- package/dist/shared/template-root/dynamic-context.d.ts +9 -0
- package/dist/shared/template-root/dynamic-context.d.ts.map +1 -0
- package/dist/shared/template-root/dynamic-context.js +28 -0
- package/dist/shared/template-root/dynamic-context.js.map +1 -0
- package/dist/shared/template-root/template-root.d.ts +8 -0
- package/dist/shared/template-root/template-root.d.ts.map +1 -0
- package/dist/shared/template-root/template-root.js +76 -0
- package/dist/shared/template-root/template-root.js.map +1 -0
- package/dist/shared/utils/clean-session-cache.d.ts +9 -0
- package/dist/shared/utils/clean-session-cache.d.ts.map +1 -0
- package/dist/shared/utils/clean-session-cache.js +17 -0
- package/dist/shared/utils/clean-session-cache.js.map +1 -0
- package/dist/shared/utils/embed.d.ts +13 -0
- package/dist/shared/utils/embed.d.ts.map +1 -0
- package/dist/shared/utils/embed.js +23 -0
- package/dist/shared/utils/embed.js.map +1 -0
- package/dist/shared/utils/get-icon.d.ts +9 -0
- package/dist/shared/utils/get-icon.d.ts.map +1 -0
- package/dist/shared/utils/get-icon.js +30 -0
- package/dist/shared/utils/get-icon.js.map +1 -0
- package/dist/shared/utils/hashing.d.ts +14 -0
- package/dist/shared/utils/hashing.d.ts.map +1 -0
- package/dist/shared/utils/hashing.js +26 -0
- package/dist/shared/utils/hashing.js.map +1 -0
- package/dist/shared/utils/index.d.ts +18 -0
- package/dist/shared/utils/index.d.ts.map +1 -0
- package/dist/shared/utils/index.js +16 -0
- package/dist/shared/utils/index.js.map +1 -0
- package/dist/shared/utils/inject-css.d.ts +13 -0
- package/dist/shared/utils/inject-css.d.ts.map +1 -0
- package/dist/shared/utils/inject-css.js +25 -0
- package/dist/shared/utils/inject-css.js.map +1 -0
- package/dist/shared/utils/is-js-component.d.ts +9 -0
- package/dist/shared/utils/is-js-component.d.ts.map +1 -0
- package/dist/shared/utils/is-js-component.js +11 -0
- package/dist/shared/utils/is-js-component.js.map +1 -0
- package/dist/shared/utils/normalization.d.ts +19 -0
- package/dist/shared/utils/normalization.d.ts.map +1 -0
- package/dist/shared/utils/normalization.js +118 -0
- package/dist/shared/utils/normalization.js.map +1 -0
- package/dist/shared/utils/resolve-theme.d.ts +9 -0
- package/dist/shared/utils/resolve-theme.d.ts.map +1 -0
- package/dist/shared/utils/resolve-theme.js +28 -0
- package/dist/shared/utils/resolve-theme.js.map +1 -0
- package/dist/shared/utils/templating.d.ts +24 -0
- package/dist/shared/utils/templating.d.ts.map +1 -0
- package/dist/shared/utils/templating.js +67 -0
- package/dist/shared/utils/templating.js.map +1 -0
- package/dist/shared/utils/use-action-registry.d.ts +11 -0
- package/dist/shared/utils/use-action-registry.d.ts.map +1 -0
- package/dist/shared/utils/use-action-registry.js +18 -0
- package/dist/shared/utils/use-action-registry.js.map +1 -0
- package/dist/shared/utils/use-action.d.ts +9 -0
- package/dist/shared/utils/use-action.d.ts.map +1 -0
- package/dist/shared/utils/use-action.js +84 -0
- package/dist/shared/utils/use-action.js.map +1 -0
- package/dist/shared/utils/use-component-registry.d.ts +11 -0
- package/dist/shared/utils/use-component-registry.d.ts.map +1 -0
- package/dist/shared/utils/use-component-registry.js +46 -0
- package/dist/shared/utils/use-component-registry.js.map +1 -0
- package/dist/shared/utils/use-component-styles.d.ts +24 -0
- package/dist/shared/utils/use-component-styles.d.ts.map +1 -0
- package/dist/shared/utils/use-component-styles.js +68 -0
- package/dist/shared/utils/use-component-styles.js.map +1 -0
- package/dist/shared/utils/use-defer-loadable.d.ts +8 -0
- package/dist/shared/utils/use-defer-loadable.d.ts.map +1 -0
- package/dist/shared/utils/use-defer-loadable.js +44 -0
- package/dist/shared/utils/use-defer-loadable.js.map +1 -0
- package/dist/shared/utils/use-interval.d.ts +9 -0
- package/dist/shared/utils/use-interval.d.ts.map +1 -0
- package/dist/shared/utils/use-interval.js +18 -0
- package/dist/shared/utils/use-interval.js.map +1 -0
- package/dist/shared/utils/use-previous.d.ts +10 -0
- package/dist/shared/utils/use-previous.d.ts.map +1 -0
- package/dist/shared/utils/use-previous.js +17 -0
- package/dist/shared/utils/use-previous.js.map +1 -0
- package/dist/shared/utils/use-url-sync.d.ts +20 -0
- package/dist/shared/utils/use-url-sync.d.ts.map +1 -0
- package/dist/shared/utils/use-url-sync.js +68 -0
- package/dist/shared/utils/use-url-sync.js.map +1 -0
- package/dist/shared/utils/use-window-title.d.ts +3 -0
- package/dist/shared/utils/use-window-title.d.ts.map +1 -0
- package/dist/shared/utils/use-window-title.js +14 -0
- package/dist/shared/utils/use-window-title.js.map +1 -0
- package/dist/shared/variable-state-provider/variable-state-provider.d.ts +10 -0
- package/dist/shared/variable-state-provider/variable-state-provider.d.ts.map +1 -0
- package/dist/shared/variable-state-provider/variable-state-provider.js +21 -0
- package/dist/shared/variable-state-provider/variable-state-provider.js.map +1 -0
- package/dist/shared/wrapper/wrapper.d.ts +7 -0
- package/dist/shared/wrapper/wrapper.d.ts.map +1 -0
- package/dist/shared/wrapper/wrapper.js +14 -0
- package/dist/shared/wrapper/wrapper.js.map +1 -0
- package/dist/types/auth.d.ts +15 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +6 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/core.d.ts +325 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +22 -0
- package/dist/types/core.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/utils.d.ts +50 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +84 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/umd/dara.core.umd.js +93592 -0
- package/dist/umd/style.css +848 -0
- package/package.json +117 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Observable, Subject } from 'rxjs';
|
|
2
|
+
import type { AnyVariable } from '../types';
|
|
3
|
+
interface InitMessage {
|
|
4
|
+
message: {
|
|
5
|
+
channel: 'string';
|
|
6
|
+
};
|
|
7
|
+
type: 'init';
|
|
8
|
+
}
|
|
9
|
+
interface PingPongMessage {
|
|
10
|
+
message: null;
|
|
11
|
+
type: 'ping' | 'pong';
|
|
12
|
+
}
|
|
13
|
+
export declare enum TaskStatus {
|
|
14
|
+
CANCELED = "CANCELED",
|
|
15
|
+
COMPLETE = "COMPLETE",
|
|
16
|
+
ERROR = "ERROR",
|
|
17
|
+
PROGRESS = "PROGRESS"
|
|
18
|
+
}
|
|
19
|
+
export interface ProgressNotificationMessage {
|
|
20
|
+
message: {
|
|
21
|
+
message: string;
|
|
22
|
+
progress: number;
|
|
23
|
+
status: TaskStatus.PROGRESS;
|
|
24
|
+
task_id: string;
|
|
25
|
+
};
|
|
26
|
+
type: 'message';
|
|
27
|
+
}
|
|
28
|
+
export interface TaskNotificationMessage {
|
|
29
|
+
message: {
|
|
30
|
+
status: TaskStatus;
|
|
31
|
+
task_id: string;
|
|
32
|
+
};
|
|
33
|
+
type: 'message';
|
|
34
|
+
}
|
|
35
|
+
export interface ServerTriggerMessage {
|
|
36
|
+
message: {
|
|
37
|
+
data_id: string;
|
|
38
|
+
};
|
|
39
|
+
type: 'message';
|
|
40
|
+
}
|
|
41
|
+
export interface ServerErrorMessage {
|
|
42
|
+
message: {
|
|
43
|
+
error: string;
|
|
44
|
+
time: string;
|
|
45
|
+
};
|
|
46
|
+
type: 'message';
|
|
47
|
+
}
|
|
48
|
+
export interface VariableRequestMessage {
|
|
49
|
+
message: {
|
|
50
|
+
/** Channel to send in the response */
|
|
51
|
+
__rchan: string;
|
|
52
|
+
variable: AnyVariable<any>;
|
|
53
|
+
};
|
|
54
|
+
type: 'message';
|
|
55
|
+
}
|
|
56
|
+
export type WebSocketMessage = InitMessage | PingPongMessage | TaskNotificationMessage | ProgressNotificationMessage | ServerTriggerMessage | ServerErrorMessage | VariableRequestMessage;
|
|
57
|
+
export interface WebSocketClientInterface {
|
|
58
|
+
getChannel: () => Promise<string>;
|
|
59
|
+
progressUpdates$: (...task_ids: string[]) => Observable<ProgressNotificationMessage>;
|
|
60
|
+
sendVariable: (value: any, channel: string) => void;
|
|
61
|
+
serverErrors$: () => Observable<ServerErrorMessage>;
|
|
62
|
+
serverTriggers$: (data_id: string) => Observable<ServerTriggerMessage>;
|
|
63
|
+
taskStatusUpdates$: (...task_ids: string[]) => Observable<TaskStatus>;
|
|
64
|
+
variableRequests$: () => Observable<VariableRequestMessage>;
|
|
65
|
+
waitForTask: (task_id: string) => Promise<any>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The WebsocketClient class exposes an interface for easily dealing with the websocket connection to the Dara backend.
|
|
69
|
+
* It provides easy helpers for fetching the current channel and working with tasks.
|
|
70
|
+
*/
|
|
71
|
+
export declare class WebSocketClient implements WebSocketClientInterface {
|
|
72
|
+
channel: Promise<string>;
|
|
73
|
+
messages$: Subject<WebSocketMessage>;
|
|
74
|
+
socket: WebSocket;
|
|
75
|
+
token: string;
|
|
76
|
+
liveReload: boolean;
|
|
77
|
+
closeHandler: () => void;
|
|
78
|
+
constructor(_socket: WebSocket, _token: string, _liveReload?: boolean);
|
|
79
|
+
/**
|
|
80
|
+
* Close handler to attempt to reconnect on WS closed
|
|
81
|
+
*/
|
|
82
|
+
onClose(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Forcefully close the websocket connection, first clearing the closehandler
|
|
85
|
+
*/
|
|
86
|
+
close(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Get the channel setup for this websocket client instance
|
|
89
|
+
*/
|
|
90
|
+
getChannel(): Promise<string>;
|
|
91
|
+
/**
|
|
92
|
+
* Get the observable to receive status updates for given tasks
|
|
93
|
+
*
|
|
94
|
+
* @param task_ids the ids of tasks to receive updates from
|
|
95
|
+
*/
|
|
96
|
+
taskStatusUpdates$(...task_ids: string[]): Observable<TaskStatus>;
|
|
97
|
+
/**
|
|
98
|
+
* Get the observable to receive progress updates for given tasks
|
|
99
|
+
*
|
|
100
|
+
* @param task_ids the ids of the task to receive updates from
|
|
101
|
+
*/
|
|
102
|
+
progressUpdates$(...task_ids: string[]): Observable<ProgressNotificationMessage>;
|
|
103
|
+
/**
|
|
104
|
+
* Get the observable to receive server trigger messages for a given data variable
|
|
105
|
+
*
|
|
106
|
+
* @param dataId id of the data variable triggered
|
|
107
|
+
*/
|
|
108
|
+
serverTriggers$(dataId: string): Observable<ServerTriggerMessage>;
|
|
109
|
+
/**
|
|
110
|
+
* Get the observable to receive server error messages
|
|
111
|
+
*/
|
|
112
|
+
serverErrors$(): Observable<ServerErrorMessage>;
|
|
113
|
+
/**
|
|
114
|
+
* Get the observable to receive variable request messages
|
|
115
|
+
*/
|
|
116
|
+
variableRequests$(): Observable<VariableRequestMessage>;
|
|
117
|
+
/**
|
|
118
|
+
* Returns a promise that will resolve when the task is completed. If the task is cancelled then this will throw an
|
|
119
|
+
* error to signify that.
|
|
120
|
+
*
|
|
121
|
+
* @param task_id the id of the task to wait for
|
|
122
|
+
*/
|
|
123
|
+
waitForTask(task_id: string): Promise<any>;
|
|
124
|
+
/**
|
|
125
|
+
* Send variable value to the backend
|
|
126
|
+
*
|
|
127
|
+
* @param value variable value to send
|
|
128
|
+
* @param channel return channel to identify the message
|
|
129
|
+
*/
|
|
130
|
+
sendVariable(value: any, channel: string): void;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Set up websocket connection and handlers.
|
|
134
|
+
*
|
|
135
|
+
* @param sessionToken session token
|
|
136
|
+
* @param liveReload whether to enable live reload
|
|
137
|
+
*/
|
|
138
|
+
export declare function setupWebsocket(sessionToken: string, liveReload: boolean): WebSocketClient;
|
|
139
|
+
export {};
|
|
140
|
+
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { filter, map, take } from 'rxjs/operators';
|
|
3
|
+
const interAttemptTimeout = 500;
|
|
4
|
+
const maxDisconnectedTime = 10000;
|
|
5
|
+
const interPingInterval = 5000;
|
|
6
|
+
const maxAttempts = Math.round(maxDisconnectedTime / interAttemptTimeout);
|
|
7
|
+
let socketUrl = null;
|
|
8
|
+
let socket = null;
|
|
9
|
+
let pingInterval = null;
|
|
10
|
+
export var TaskStatus;
|
|
11
|
+
(function (TaskStatus) {
|
|
12
|
+
TaskStatus["CANCELED"] = "CANCELED";
|
|
13
|
+
TaskStatus["COMPLETE"] = "COMPLETE";
|
|
14
|
+
TaskStatus["ERROR"] = "ERROR";
|
|
15
|
+
TaskStatus["PROGRESS"] = "PROGRESS";
|
|
16
|
+
})(TaskStatus || (TaskStatus = {}));
|
|
17
|
+
function isTaskNotification(message) {
|
|
18
|
+
return message.type === 'message' && 'status' in message.message && 'task_id' in message.message;
|
|
19
|
+
}
|
|
20
|
+
function isServerTriggerMessage(message) {
|
|
21
|
+
return message.type === 'message' && 'data_id' in message.message;
|
|
22
|
+
}
|
|
23
|
+
function isServerErrorMessage(message) {
|
|
24
|
+
return message.type === 'message' && 'error' in message.message;
|
|
25
|
+
}
|
|
26
|
+
function isVariableRequestMessage(message) {
|
|
27
|
+
return message.type === 'message' && 'variable' in message.message;
|
|
28
|
+
}
|
|
29
|
+
const pingMessage = {
|
|
30
|
+
message: null,
|
|
31
|
+
type: 'ping',
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Set up the heartbeat to make sure the connection is open.
|
|
35
|
+
*/
|
|
36
|
+
function setupHeartbeat() {
|
|
37
|
+
// Send ping every few seconds
|
|
38
|
+
pingInterval = setInterval(() => {
|
|
39
|
+
if (socket.readyState === WebSocket.OPEN) {
|
|
40
|
+
socket.send(JSON.stringify(pingMessage));
|
|
41
|
+
}
|
|
42
|
+
}, interPingInterval);
|
|
43
|
+
// Clear interval on error
|
|
44
|
+
socket.addEventListener('error', () => {
|
|
45
|
+
if (pingInterval) {
|
|
46
|
+
clearInterval(pingInterval);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* WebSocket close event handler.
|
|
52
|
+
* Tries reconnecting for a few seconds after detecting the close event,
|
|
53
|
+
* and refreshes the browser on reconnect.
|
|
54
|
+
*/
|
|
55
|
+
function onCloseWs(token, liveReload) {
|
|
56
|
+
let attempts = 0;
|
|
57
|
+
const attemptReconnect = () => {
|
|
58
|
+
attempts++;
|
|
59
|
+
if (attempts > maxAttempts) {
|
|
60
|
+
// eslint-disable-next-line no-console
|
|
61
|
+
console.error('Could not reconnect to server');
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Try reconnecting
|
|
65
|
+
const url = new URL(socketUrl);
|
|
66
|
+
url.searchParams.set('token', token);
|
|
67
|
+
socket = new WebSocket(url);
|
|
68
|
+
// If reconnect failed, retry after some time
|
|
69
|
+
socket.addEventListener('error', () => {
|
|
70
|
+
setTimeout(attemptReconnect, interAttemptTimeout);
|
|
71
|
+
});
|
|
72
|
+
if (liveReload) {
|
|
73
|
+
// On reconnect, reload page
|
|
74
|
+
socket.addEventListener('open', () => {
|
|
75
|
+
socket.addEventListener('close', () => {
|
|
76
|
+
// If socket failed to open and closed again before getting a message, attempt again
|
|
77
|
+
attemptReconnect();
|
|
78
|
+
});
|
|
79
|
+
setupHeartbeat();
|
|
80
|
+
socket.addEventListener('message', (ev) => {
|
|
81
|
+
const msg = JSON.parse(ev.data);
|
|
82
|
+
if (msg.type === 'init') {
|
|
83
|
+
// Reload once app successfully initialized
|
|
84
|
+
window.location.reload();
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
attemptReconnect();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The WebsocketClient class exposes an interface for easily dealing with the websocket connection to the Dara backend.
|
|
94
|
+
* It provides easy helpers for fetching the current channel and working with tasks.
|
|
95
|
+
*/
|
|
96
|
+
export class WebSocketClient {
|
|
97
|
+
constructor(_socket, _token, _liveReload = false) {
|
|
98
|
+
this.socket = _socket;
|
|
99
|
+
this.token = _token;
|
|
100
|
+
this.liveReload = _liveReload;
|
|
101
|
+
this.messages$ = new Subject();
|
|
102
|
+
this.socket.addEventListener('message', (ev) => {
|
|
103
|
+
const msg = JSON.parse(ev.data);
|
|
104
|
+
this.messages$.next(msg);
|
|
105
|
+
});
|
|
106
|
+
// Add a one off listener for the init message to get the channel
|
|
107
|
+
this.channel = new Promise((resolve) => {
|
|
108
|
+
this.socket.addEventListener('message', (ev) => {
|
|
109
|
+
var _a;
|
|
110
|
+
const msg = JSON.parse(ev.data);
|
|
111
|
+
if (msg.type === 'init') {
|
|
112
|
+
resolve((_a = msg.message) === null || _a === void 0 ? void 0 : _a.channel);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
this.closeHandler = this.onClose.bind(this);
|
|
117
|
+
this.socket.addEventListener('close', this.closeHandler);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Close handler to attempt to reconnect on WS closed
|
|
121
|
+
*/
|
|
122
|
+
onClose() {
|
|
123
|
+
onCloseWs(this.token, this.liveReload);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Forcefully close the websocket connection, first clearing the closehandler
|
|
127
|
+
*/
|
|
128
|
+
close() {
|
|
129
|
+
clearInterval(pingInterval);
|
|
130
|
+
this.socket.removeEventListener('close', this.closeHandler);
|
|
131
|
+
this.socket.close();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Get the channel setup for this websocket client instance
|
|
135
|
+
*/
|
|
136
|
+
getChannel() {
|
|
137
|
+
return this.channel;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get the observable to receive status updates for given tasks
|
|
141
|
+
*
|
|
142
|
+
* @param task_ids the ids of tasks to receive updates from
|
|
143
|
+
*/
|
|
144
|
+
taskStatusUpdates$(...task_ids) {
|
|
145
|
+
return this.messages$.pipe(filter((msg) => isTaskNotification(msg) && task_ids.includes(msg.message.task_id)), map((msg) => msg.message.status));
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Get the observable to receive progress updates for given tasks
|
|
149
|
+
*
|
|
150
|
+
* @param task_ids the ids of the task to receive updates from
|
|
151
|
+
*/
|
|
152
|
+
progressUpdates$(...task_ids) {
|
|
153
|
+
return this.messages$.pipe(filter((msg) => isTaskNotification(msg) &&
|
|
154
|
+
msg.message.status === TaskStatus.PROGRESS &&
|
|
155
|
+
task_ids.includes(msg.message.task_id)));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get the observable to receive server trigger messages for a given data variable
|
|
159
|
+
*
|
|
160
|
+
* @param dataId id of the data variable triggered
|
|
161
|
+
*/
|
|
162
|
+
serverTriggers$(dataId) {
|
|
163
|
+
return this.messages$.pipe(filter((msg) => { var _a; return isServerTriggerMessage(msg) && ((_a = msg.message) === null || _a === void 0 ? void 0 : _a.data_id) === dataId; }));
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get the observable to receive server error messages
|
|
167
|
+
*/
|
|
168
|
+
serverErrors$() {
|
|
169
|
+
return this.messages$.pipe(filter((msg) => isServerErrorMessage(msg)));
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get the observable to receive variable request messages
|
|
173
|
+
*/
|
|
174
|
+
variableRequests$() {
|
|
175
|
+
return this.messages$.pipe(filter((msg) => isVariableRequestMessage(msg)));
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Returns a promise that will resolve when the task is completed. If the task is cancelled then this will throw an
|
|
179
|
+
* error to signify that.
|
|
180
|
+
*
|
|
181
|
+
* @param task_id the id of the task to wait for
|
|
182
|
+
*/
|
|
183
|
+
waitForTask(task_id) {
|
|
184
|
+
return this.messages$
|
|
185
|
+
.pipe(filter((msg) => {
|
|
186
|
+
var _a;
|
|
187
|
+
return isTaskNotification(msg) &&
|
|
188
|
+
((_a = msg.message) === null || _a === void 0 ? void 0 : _a.task_id) === task_id &&
|
|
189
|
+
msg.message.status !== TaskStatus.PROGRESS;
|
|
190
|
+
} // don't take progress updates
|
|
191
|
+
), map((msg) => {
|
|
192
|
+
if (isTaskNotification(msg) && msg.message.status === TaskStatus.CANCELED) {
|
|
193
|
+
throw new Error('CANCELED');
|
|
194
|
+
}
|
|
195
|
+
return msg;
|
|
196
|
+
}), take(1))
|
|
197
|
+
.toPromise();
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Send variable value to the backend
|
|
201
|
+
*
|
|
202
|
+
* @param value variable value to send
|
|
203
|
+
* @param channel return channel to identify the message
|
|
204
|
+
*/
|
|
205
|
+
sendVariable(value, channel) {
|
|
206
|
+
if (this.socket.readyState === WebSocket.OPEN) {
|
|
207
|
+
this.socket.send(JSON.stringify({
|
|
208
|
+
channel,
|
|
209
|
+
message: value,
|
|
210
|
+
type: 'message',
|
|
211
|
+
}));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Set up websocket connection and handlers.
|
|
217
|
+
*
|
|
218
|
+
* @param sessionToken session token
|
|
219
|
+
* @param liveReload whether to enable live reload
|
|
220
|
+
*/
|
|
221
|
+
export function setupWebsocket(sessionToken, liveReload) {
|
|
222
|
+
var _a;
|
|
223
|
+
// Setup socket url
|
|
224
|
+
let { host } = window.location;
|
|
225
|
+
if ((_a = window.dara) === null || _a === void 0 ? void 0 : _a.base_url) {
|
|
226
|
+
const baseUrl = new URL(window.dara.base_url, window.origin);
|
|
227
|
+
let { pathname } = baseUrl;
|
|
228
|
+
if (pathname.endsWith('/')) {
|
|
229
|
+
pathname = pathname.slice(0, -1);
|
|
230
|
+
}
|
|
231
|
+
host = baseUrl.host + pathname;
|
|
232
|
+
}
|
|
233
|
+
socketUrl = `${window.location.protocol === 'https:' ? 'wss://' : 'ws://'}${host}/api/core/ws`;
|
|
234
|
+
// Append session token to the WS url for authentication
|
|
235
|
+
const url = new URL(socketUrl);
|
|
236
|
+
url.searchParams.set('token', sessionToken);
|
|
237
|
+
socket = new WebSocket(url);
|
|
238
|
+
setupHeartbeat();
|
|
239
|
+
return new WebSocketClient(socket, sessionToken, liveReload);
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=websocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg width="400" height="460" viewBox="0 0 400 460" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0)">
|
|
3
|
+
<rect width="400" height="460" fill="#131923"/>
|
|
4
|
+
<path d="M86.8554 89.4399C72.254 88.6754 15.9954 80.2666 23.7256 0H399.928V266.026C378.283 247.68 365.142 253.413 353.547 217.866C341.951 182.32 271.091 185.76 245.324 182.32C219.557 178.88 190.401 165.666 171.887 123.84C155.139 85.9999 101.457 90.2043 86.8554 89.4399Z" fill="#202B3D"/>
|
|
5
|
+
</g>
|
|
6
|
+
<defs>
|
|
7
|
+
<clipPath id="clip0">
|
|
8
|
+
<rect width="400" height="460" fill="white"/>
|
|
9
|
+
</clipPath>
|
|
10
|
+
</defs>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg width="160" height="38" viewBox="0 0 160 38" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M157.764 1.20573e-05C156.536 -0.00397284 155.54 0.980297 155.532 2.20366C155.532 2.62208 155.648 3.02854 155.868 3.38319L153.852 5.35173C152.828 4.68625 151.456 4.97715 150.788 6.00127C150.736 6.07698 150.692 6.16067 150.652 6.24435L146.188 5.20031C146.188 5.19632 146.188 5.19234 146.188 5.18835C146.208 3.961 145.22 2.94884 143.988 2.9329C142.756 2.91297 141.74 3.89724 141.724 5.12459C141.72 5.37564 141.76 5.6227 141.84 5.8618L133.232 10.9186C132.456 10.0898 131.176 9.98617 130.276 10.6756L125.512 6.69066C125.676 6.37984 125.764 6.03315 125.764 5.68248C125.772 4.45513 124.776 3.45492 123.544 3.44695C122.312 3.43898 121.308 4.43122 121.3 5.65857C121.296 6.14074 121.452 6.61494 121.744 7.00148L117.464 11.9746C117.148 11.8033 116.792 11.7116 116.432 11.7116C115.188 11.6997 114.176 12.6959 114.164 13.9352C114.152 15.1745 115.152 16.1827 116.396 16.1946C117.64 16.2066 118.652 15.2104 118.664 13.9711C118.668 13.4849 118.512 13.0107 118.22 12.6162L122.504 7.64305C123.264 8.05349 124.196 7.97778 124.876 7.44779L129.64 11.4327C129.476 11.7435 129.388 12.0902 129.384 12.4449C129.368 13.6722 130.352 14.6804 131.584 14.6963C132.816 14.7123 133.828 13.732 133.844 12.5046C133.844 12.4847 133.844 12.4648 133.844 12.4449C133.84 12.2177 133.804 11.9906 133.728 11.7754L142.336 6.71058C143.176 7.59921 144.576 7.64305 145.472 6.8102C145.672 6.62291 145.832 6.40375 145.952 6.16067L150.416 7.20471C150.416 7.20869 150.416 7.21268 150.416 7.22065C150.408 8.448 151.404 9.44821 152.636 9.45618C153.868 9.46415 154.872 8.47191 154.88 7.24456C154.884 6.82614 154.768 6.4157 154.544 6.06104L156.56 4.0925C157.596 4.754 158.976 4.45513 159.64 3.41906C160.304 2.38697 160.004 1.01218 158.964 0.350683C158.612 0.119559 158.192 1.20573e-05 157.764 1.20573e-05Z" fill="#3796F6"/>
|
|
3
|
+
<path d="M6.306 26.5156C7.446 26.4598 8.542 26.9619 9.24599 27.8585C9.38999 28.0578 9.51799 28.265 9.62999 28.4802L11.798 27.5437C11.618 27.1373 11.382 26.7587 11.102 26.416C9.90199 25.0332 8.142 24.2562 6.31 24.304C4.474 24.2442 2.71 25.0213 1.518 26.416C-0.506 29.2373 -0.506 33.0269 1.518 35.8482C3.926 38.4863 8.022 38.6775 10.67 36.2826C10.822 36.1431 10.966 35.9997 11.106 35.8482C11.382 35.5175 11.618 35.1549 11.802 34.7683L9.60999 33.8319C9.50199 34.0391 9.38199 34.2423 9.24999 34.4336C7.858 36.0515 5.414 36.2388 3.79 34.852C3.79 34.852 3.79 34.852 3.786 34.848C3.638 34.7205 3.498 34.581 3.37 34.4336C2.15 32.4093 2.15 29.8829 3.37 27.8585C4.062 26.9579 5.162 26.4519 6.306 26.5156Z" fill="#1E244D"/>
|
|
4
|
+
<path d="M19.3414 24.3318C17.4414 24.2321 15.6174 25.065 14.4534 26.5633L14.1174 27.0654L16.2614 28.0975C16.3454 27.954 16.4414 27.8146 16.5494 27.691C17.2294 26.894 18.2454 26.4597 19.2934 26.5155C20.1654 26.4677 21.0334 26.7107 21.7494 27.2089C22.3214 27.6273 22.6974 28.2609 22.7854 28.9622L20.2814 29.3209C18.3054 29.6078 16.9814 29.7034 15.5854 30.4964C14.3734 31.1738 13.6174 32.449 13.6094 33.8318C13.6134 34.7244 13.9094 35.5931 14.4494 36.3064C15.2734 37.3146 16.4934 37.9163 17.7974 37.9641C18.9254 38.0079 20.0414 37.7409 21.0254 37.195C21.9214 36.7487 22.6534 36.0354 23.1214 35.1547V37.6294H25.1934V29.4922C25.1894 28.6713 25.0014 27.8584 24.6414 27.1172C23.6774 25.1726 21.7254 24.3318 19.3414 24.3318ZM22.4494 33.3536C21.6414 34.9635 19.9414 35.9398 18.1374 35.8282C16.9494 35.8123 15.9854 34.8718 15.9454 33.6923C15.9694 32.0386 18.0174 31.6998 19.9454 31.389C21.2934 31.1499 22.1374 31.0304 22.8854 30.9108C22.9454 31.7477 22.7934 32.5885 22.4494 33.3536Z" fill="#1E244D"/>
|
|
5
|
+
<path d="M37.0413 31.2655C37.0573 31.8353 37.0093 32.4092 36.8973 32.967C36.7853 33.7441 36.3893 34.4494 35.7893 34.9595C35.2293 35.4138 34.5373 35.6768 33.8133 35.7047C32.9733 35.7485 32.1453 35.4895 31.4733 34.9834C30.3893 34.1426 30.1973 32.728 30.1973 31.0702V24.6665H27.8373V31.0742C27.8133 33.4014 28.1013 35.3699 29.8373 36.7607C31.9893 38.3945 34.9893 38.3267 37.0613 36.5933C37.1573 36.5096 37.2453 36.422 37.3253 36.3303V37.6254H39.3973V24.6665H37.0373L37.0413 31.2655Z" fill="#1E244D"/>
|
|
6
|
+
<path d="M51.6695 31.3371C50.9295 30.7553 50.0655 30.3528 49.1415 30.1615C48.2255 29.9224 47.4055 29.7033 46.7815 29.512C46.2015 29.3885 45.6575 29.1334 45.1935 28.7708C45.0015 28.5516 44.8975 28.2687 44.9055 27.9778C44.9535 27.4877 45.2695 27.0653 45.7255 26.874C46.2855 26.623 46.8935 26.4994 47.5095 26.5154C48.1175 26.5114 48.7215 26.6508 49.2655 26.9218C49.9455 27.2884 50.4615 27.8941 50.7095 28.6234L52.9935 28.0695C52.5375 26.7146 51.5575 25.5909 50.2735 24.9493C49.4215 24.5149 48.4815 24.2918 47.5255 24.3037C46.5695 24.2559 45.6135 24.4273 44.7335 24.8058C43.4255 25.3518 42.5575 26.607 42.5175 28.0216C42.5215 28.994 42.9655 29.9105 43.7215 30.5202C44.4855 31.0701 45.3535 31.4526 46.2735 31.6479C47.1175 31.887 47.8415 32.0544 48.4895 32.2456C49.1215 32.3732 49.7135 32.6441 50.2255 33.0386C50.5455 33.3136 50.7135 33.724 50.6815 34.1425C50.6375 34.5688 50.4095 34.9554 50.0535 35.1985C49.3375 35.6049 48.5175 35.7962 47.6935 35.7484C46.6935 35.8201 45.7135 35.4615 44.9975 34.7641C44.5415 34.2182 44.2575 33.5487 44.1775 32.8434L41.9375 33.3933C42.1415 34.4533 42.6135 35.4455 43.3095 36.2704C44.4655 37.4459 46.0695 38.0636 47.7175 37.9719C48.9775 38.0277 50.2295 37.7289 51.3295 37.1072C52.3135 36.5055 52.9575 35.4734 53.0655 34.3258C53.1655 33.1622 52.6375 32.0185 51.6695 31.3371Z" fill="#1E244D"/>
|
|
7
|
+
<path d="M60.6108 24.3318C58.7108 24.2321 56.8868 25.065 55.7228 26.5633L55.3868 27.0654L57.5308 28.0975C57.6108 27.954 57.7108 27.8146 57.8188 27.691C58.4988 26.894 59.5188 26.4597 60.5668 26.5155C61.4388 26.4677 62.3068 26.7107 63.0228 27.2089C63.5948 27.6273 63.9708 28.2609 64.0588 28.9622L61.5548 29.3209C59.5788 29.6078 58.2548 29.7034 56.8588 30.4964C55.6468 31.1738 54.8908 32.449 54.8828 33.8318C54.8868 34.7244 55.1828 35.5931 55.7268 36.3064C56.5508 37.3146 57.7708 37.9163 59.0748 37.9641C60.2028 38.0079 61.3188 37.7409 62.3028 37.195C63.1988 36.7487 63.9308 36.0354 64.3988 35.1547V37.6294H66.4708V29.4922C66.4668 28.6713 66.2788 27.8584 65.9188 27.1172C64.9428 25.1726 62.9948 24.3318 60.6108 24.3318ZM63.7148 33.3536C62.9068 34.9635 61.2108 35.9398 59.4028 35.8282C58.2148 35.8123 57.2508 34.8718 57.2108 33.6923C57.2348 32.0386 59.2828 31.6998 61.2108 31.389C62.5588 31.1499 63.4028 31.0304 64.1508 30.9108C64.2108 31.7477 64.0628 32.5885 63.7148 33.3536Z" fill="#1E244D"/>
|
|
8
|
+
<path d="M73.1159 20.3467H69.8359V37.6252H80.5799V34.3616H73.1119L73.1159 20.3467Z" fill="#1E244D"/>
|
|
9
|
+
<path d="M88.4788 24.3118C86.5788 24.272 84.7588 25.061 83.4908 26.4717C82.4348 27.8026 81.8748 29.4563 81.9028 31.1499C81.8428 32.8515 82.4068 34.5172 83.4908 35.8282C84.7748 37.2149 86.5828 37.996 88.4788 37.988C90.4108 38.0956 92.2868 37.3265 93.5868 35.8999C93.8748 35.5692 94.1308 35.2185 94.3588 34.8439L91.1068 33.4293C91.0068 33.5488 90.9628 33.6923 90.8668 33.8357C90.2908 34.557 89.4068 34.9675 88.4788 34.9396C87.5588 34.9675 86.6828 34.557 86.1188 33.8357C85.7428 33.3018 85.5108 32.6841 85.4468 32.0386H95.0108C95.0348 31.7516 95.0588 31.4368 95.0588 31.1499C95.0988 29.4524 94.5348 27.7946 93.4708 26.4717C92.2068 25.049 90.3788 24.2561 88.4788 24.3118ZM85.5908 29.5201C85.7028 29.1415 85.8828 28.7829 86.1188 28.4641C86.6788 27.7349 87.5588 27.3204 88.4788 27.3603C89.4068 27.3244 90.2948 27.7349 90.8628 28.4641C91.0828 28.7909 91.2548 29.1455 91.3668 29.5201H85.5908Z" fill="#1E244D"/>
|
|
10
|
+
<path d="M104.115 24.3118C102.843 24.3517 101.611 24.79 100.599 25.5591V24.6705H97.7109V37.6294H101.011V31.9907C100.987 31.2057 101.039 30.4167 101.155 29.6396C101.259 28.9861 101.603 28.3963 102.119 27.9819C102.571 27.6631 103.107 27.4878 103.663 27.4798C104.415 27.428 105.159 27.687 105.711 28.2011C106.371 29.0379 106.679 30.0939 106.579 31.1539V37.6333H109.903V31.1499C109.903 28.8945 109.687 27.165 108.143 25.7504C107.023 24.79 105.591 24.276 104.115 24.3118Z" fill="#1E244D"/>
|
|
11
|
+
<path d="M121.773 30.9309C121.025 30.3491 120.149 29.9466 119.221 29.7553C118.569 29.588 117.825 29.3967 117.173 29.2054C116.669 29.1058 116.197 28.8826 115.801 28.5599C115.761 28.4682 115.737 28.3726 115.729 28.273C115.729 28.1295 115.801 27.9143 116.165 27.6712C116.609 27.46 117.097 27.3604 117.585 27.3843C118.073 27.3764 118.553 27.4919 118.981 27.7191C119.449 27.9661 119.809 28.3766 119.993 28.8707L123.169 28.1016C122.677 26.7428 121.685 25.623 120.401 24.9575C119.541 24.5271 118.593 24.308 117.633 24.308C116.661 24.2641 115.689 24.4355 114.789 24.8101C113.353 25.3998 112.413 26.7906 112.405 28.3367C112.429 29.3768 112.925 30.3451 113.753 30.9747C114.521 31.5406 115.401 31.9351 116.337 32.1264C117.061 32.3176 117.733 32.485 118.433 32.6763C118.925 32.7799 119.385 32.9951 119.781 33.3019C119.937 33.4533 120.013 33.6645 119.997 33.8797C119.969 34.1148 119.845 34.33 119.661 34.4774C119.105 34.7923 118.469 34.9397 117.829 34.9078C117.033 34.9835 116.241 34.7126 115.661 34.1626C115.305 33.7522 115.093 33.2381 115.057 32.7002L111.953 33.4693C112.181 34.4934 112.649 35.4498 113.325 36.2547C114.505 37.4542 116.149 38.0838 117.829 37.9802C119.089 38.0439 120.341 37.753 121.441 37.1394C122.501 36.4978 123.189 35.394 123.297 34.1626C123.393 32.8994 122.817 31.6681 121.773 30.9309Z" fill="#1E244D"/>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface AuthCtxInterface {
|
|
3
|
+
/**
|
|
4
|
+
* Setter for the session token
|
|
5
|
+
*/
|
|
6
|
+
setToken: React.Dispatch<React.SetStateAction<string>>;
|
|
7
|
+
/**
|
|
8
|
+
* Session token
|
|
9
|
+
*/
|
|
10
|
+
token: string;
|
|
11
|
+
}
|
|
12
|
+
declare const authCtx: React.Context<AuthCtxInterface>;
|
|
13
|
+
/**
|
|
14
|
+
* Hook to get the auth context
|
|
15
|
+
*/
|
|
16
|
+
export declare function useAuthCtx(): AuthCtxInterface;
|
|
17
|
+
/**
|
|
18
|
+
* Helper hook that pulls the session token from context and returns it's value
|
|
19
|
+
*/
|
|
20
|
+
export declare function useSessionToken(): string;
|
|
21
|
+
export default authCtx;
|
|
22
|
+
//# sourceMappingURL=auth-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-context.d.ts","sourceRoot":"","sources":["../../js/auth/auth-context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,OAAO,iCAAuE,CAAC;AAErF;;GAEG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,CAE7C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import noop from 'lodash/noop';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
const authCtx = React.createContext({ setToken: noop, token: '' });
|
|
4
|
+
/**
|
|
5
|
+
* Hook to get the auth context
|
|
6
|
+
*/
|
|
7
|
+
export function useAuthCtx() {
|
|
8
|
+
return React.useContext(authCtx);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Helper hook that pulls the session token from context and returns it's value
|
|
12
|
+
*/
|
|
13
|
+
export function useSessionToken() {
|
|
14
|
+
const { token } = React.useContext(authCtx);
|
|
15
|
+
return token;
|
|
16
|
+
}
|
|
17
|
+
export default authCtx;
|
|
18
|
+
//# sourceMappingURL=auth-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-context.js","sourceRoot":"","sources":["../../js/auth/auth-context.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,UAAU,UAAU;IACtB,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface AuthWrapperProps {
|
|
3
|
+
/** The children to wrap */
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Simple Auth Wrapper component that makes the session request to the backend and then provides the session token down
|
|
8
|
+
* to the rest of the app via context
|
|
9
|
+
*
|
|
10
|
+
* @param props - the component props
|
|
11
|
+
*/
|
|
12
|
+
declare function AuthWrapper(props: AuthWrapperProps): JSX.Element;
|
|
13
|
+
export default AuthWrapper;
|
|
14
|
+
//# 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,EAAmC,MAAM,OAAO,CAAC;AAanE,UAAU,gBAAgB;IACtB,2BAA2B;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACvB;AAsCD;;;;;GAKG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA4DzD;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
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, 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 { getEmbedToken, getEmbedTokenKey, isEmbedded } from '../shared/utils/embed';
|
|
21
|
+
import { DARA_JWT_TOKEN, useAuthComponents } from './auth';
|
|
22
|
+
import AuthContext from './auth-context';
|
|
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]);
|
|
48
|
+
return component;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Simple Auth Wrapper component that makes the session request to the backend and then provides the session token down
|
|
52
|
+
* to the rest of the app via context
|
|
53
|
+
*
|
|
54
|
+
* @param props - the component props
|
|
55
|
+
*/
|
|
56
|
+
function AuthWrapper(props) {
|
|
57
|
+
const [token, setToken] = useState(() => {
|
|
58
|
+
// handle being in an iframe
|
|
59
|
+
if (isEmbedded()) {
|
|
60
|
+
const embedToken = getEmbedToken();
|
|
61
|
+
if (embedToken) {
|
|
62
|
+
return embedToken;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return localStorage.getItem(DARA_JWT_TOKEN);
|
|
66
|
+
});
|
|
67
|
+
const { data: authComponents, isLoading } = useAuthComponents();
|
|
68
|
+
/**
|
|
69
|
+
* Set token handler - updates the token in state and local storage
|
|
70
|
+
*
|
|
71
|
+
* @param newToken new token
|
|
72
|
+
*/
|
|
73
|
+
function onSetToken(newToken) {
|
|
74
|
+
const key = isEmbedded() ? getEmbedTokenKey() : DARA_JWT_TOKEN;
|
|
75
|
+
if (newToken) {
|
|
76
|
+
localStorage.setItem(key, newToken);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
localStorage.removeItem(key);
|
|
80
|
+
}
|
|
81
|
+
setToken(newToken);
|
|
82
|
+
}
|
|
83
|
+
if (isLoading) {
|
|
84
|
+
return (_jsx(Center, { children: _jsx(DefaultFallback, {}) }));
|
|
85
|
+
}
|
|
86
|
+
const { login, logout } = authComponents, extraRoutes = __rest(authComponents, ["login", "logout"]);
|
|
87
|
+
return (_jsx(AuthContext.Provider, { value: { setToken: onSetToken, token }, children: _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(PrivateRoute, { path: "/", children: props.children })] }) }));
|
|
88
|
+
}
|
|
89
|
+
export default AuthWrapper;
|
|
90
|
+
//# 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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"}
|