@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,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
|
+
export declare const DARA_JWT_TOKEN = "dara-jwt-token";
|
|
13
|
+
/**
|
|
14
|
+
* Separate from the main component system, since we can't use component registry
|
|
15
|
+
*/
|
|
16
|
+
export interface AuthComponent {
|
|
17
|
+
js_module: string;
|
|
18
|
+
js_name: string;
|
|
19
|
+
py_module: string;
|
|
20
|
+
}
|
|
21
|
+
interface AuthComponents {
|
|
22
|
+
[route: string]: AuthComponent;
|
|
23
|
+
login: AuthComponent;
|
|
24
|
+
logout: AuthComponent;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Fetch components to use for authentication
|
|
28
|
+
*/
|
|
29
|
+
export declare function useAuthComponents(): UseQueryResult<AuthComponents>;
|
|
30
|
+
interface RedirectResponse {
|
|
31
|
+
redirect_uri: string;
|
|
32
|
+
}
|
|
33
|
+
interface SuccessResponse {
|
|
34
|
+
success: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Revoke the current session
|
|
38
|
+
*
|
|
39
|
+
* @param token current token
|
|
40
|
+
*/
|
|
41
|
+
export declare function revokeSession(token?: string): 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 getSessionToken(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(token: string): 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;AAG/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIzC,aAAK,yBAAyB;IAC1B,WAAW,gBAAgB;IAC3B,aAAa,YAAY;IACzB,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,YAAY,iBAAiB;CAChC;AA2CD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C;;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;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,cAAc,CAAC,CAYlE;AAED,UAAU,gBAAgB;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAoB/F;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,QAAQ,EACb,OAAO,UAAQ,EACf,YAAY,GAAE,KAAK,CAAC,yBAAyB,CAAQ,GACtD,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAYhE;AAED,2DAA2D;AAC3D,wBAAsB,eAAe,CAAC,IAAI,GAAE,IAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBtE;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,GAAE,IAAS,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAQhF;AAED,4DAA4D;AAC5D,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASxE"}
|
|
@@ -0,0 +1,161 @@
|
|
|
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 { useSessionToken } from './auth-context';
|
|
14
|
+
var AuthenticationErrorReason;
|
|
15
|
+
(function (AuthenticationErrorReason) {
|
|
16
|
+
AuthenticationErrorReason["BAD_REQUEST"] = "bad_request";
|
|
17
|
+
AuthenticationErrorReason["EXPIRED_TOKEN"] = "expired";
|
|
18
|
+
AuthenticationErrorReason["INVALID_CREDENTIALS"] = "invalid_credentials";
|
|
19
|
+
AuthenticationErrorReason["INVALID_TOKEN"] = "invalid_token";
|
|
20
|
+
AuthenticationErrorReason["OTHER"] = "other";
|
|
21
|
+
AuthenticationErrorReason["UNAUTHORIZED"] = "unauthorized";
|
|
22
|
+
})(AuthenticationErrorReason || (AuthenticationErrorReason = {}));
|
|
23
|
+
/**
|
|
24
|
+
* Whether a message is an authentication error
|
|
25
|
+
*
|
|
26
|
+
* @param message message
|
|
27
|
+
*/
|
|
28
|
+
function isAuthenticationError(message) {
|
|
29
|
+
return (message !== null &&
|
|
30
|
+
message !== undefined &&
|
|
31
|
+
typeof message === 'object' &&
|
|
32
|
+
'reason' in message &&
|
|
33
|
+
Object.values(AuthenticationErrorReason).includes(message.reason));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Whether the error should be ignored
|
|
37
|
+
*
|
|
38
|
+
* @param message error message
|
|
39
|
+
* @param ignoreErrors error types to ignore
|
|
40
|
+
*/
|
|
41
|
+
function shouldIgnoreError(message, ignoreErrors) {
|
|
42
|
+
return ignoreErrors && ignoreErrors.includes(message.reason);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Returns true if the error should redirect to login, otherwise it should redirect to the error page
|
|
46
|
+
*
|
|
47
|
+
* @param message error message
|
|
48
|
+
*/
|
|
49
|
+
function shouldRedirectToLogin(message) {
|
|
50
|
+
return [AuthenticationErrorReason.INVALID_CREDENTIALS, AuthenticationErrorReason.EXPIRED_TOKEN].includes(message.reason);
|
|
51
|
+
}
|
|
52
|
+
export const DARA_JWT_TOKEN = 'dara-jwt-token';
|
|
53
|
+
/**
|
|
54
|
+
* Fetch components to use for authentication
|
|
55
|
+
*/
|
|
56
|
+
export function useAuthComponents() {
|
|
57
|
+
return useQuery(['auth-components'], () => __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const response = yield request('/api/core/auth-components', {
|
|
59
|
+
method: HTTP_METHOD.GET,
|
|
60
|
+
});
|
|
61
|
+
return response.json();
|
|
62
|
+
}), { refetchOnWindowFocus: false });
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Revoke the current session
|
|
66
|
+
*
|
|
67
|
+
* @param token current token
|
|
68
|
+
*/
|
|
69
|
+
export function revokeSession(token) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
if (token) {
|
|
72
|
+
try {
|
|
73
|
+
const response = yield request('/api/auth/revoke-session', {
|
|
74
|
+
method: HTTP_METHOD.POST,
|
|
75
|
+
}, token);
|
|
76
|
+
if (response.ok) {
|
|
77
|
+
const responseData = yield response.json();
|
|
78
|
+
return responseData;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
// eslint-disable-next-line no-console
|
|
83
|
+
console.error('Failed to revoke session', e);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Helper function to handle auth errors in a response
|
|
90
|
+
*
|
|
91
|
+
* @param res the response object to check
|
|
92
|
+
* @param toLogin if true, open the login page, else open the error page
|
|
93
|
+
* @param ignoreErrors if specified, certain reasons for an error will be ignored
|
|
94
|
+
*/
|
|
95
|
+
export function handleAuthErrors(res, toLogin = false, ignoreErrors = null) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
const content = yield res.clone().json();
|
|
98
|
+
if (isAuthenticationError(content === null || content === void 0 ? void 0 : content.detail) && !shouldIgnoreError(content === null || content === void 0 ? void 0 : content.detail, ignoreErrors)) {
|
|
99
|
+
localStorage.removeItem(DARA_JWT_TOKEN);
|
|
100
|
+
const path = toLogin || shouldRedirectToLogin(content.detail) ? '/login' : `/error?code=${res.status}`;
|
|
101
|
+
window.location.href = `${window.dara.base_url}${path}`;
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
return false;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Api call to get user data from the backend
|
|
109
|
+
*/
|
|
110
|
+
export function useUser() {
|
|
111
|
+
const token = useSessionToken();
|
|
112
|
+
return useQuery({
|
|
113
|
+
queryFn: () => __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
const res = yield request('/api/auth/user', { method: HTTP_METHOD.GET }, token);
|
|
115
|
+
yield handleAuthErrors(res);
|
|
116
|
+
yield validateResponse(res, 'Failed to fetch user for this app');
|
|
117
|
+
return res.json();
|
|
118
|
+
}),
|
|
119
|
+
queryKey: ['user'],
|
|
120
|
+
refetchOnWindowFocus: false,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/** Api call to fetch the session token from the backend */
|
|
124
|
+
export function getSessionToken(body = {}) {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
const res = yield request('/api/auth/session', {
|
|
127
|
+
body: JSON.stringify(body),
|
|
128
|
+
method: HTTP_METHOD.POST,
|
|
129
|
+
});
|
|
130
|
+
// check auth errors, but ignore invalid credentials - these will be handled by validateResponse further
|
|
131
|
+
const loggedOut = yield handleAuthErrors(res, false, [AuthenticationErrorReason.INVALID_CREDENTIALS]);
|
|
132
|
+
if (loggedOut) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
yield validateResponse(res, 'Failed to fetch the session token');
|
|
136
|
+
const parsedResponse = yield res.json();
|
|
137
|
+
const { token } = parsedResponse;
|
|
138
|
+
localStorage.setItem(DARA_JWT_TOKEN, token);
|
|
139
|
+
return token;
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/** Api call to fetch the session token from the backend */
|
|
143
|
+
export function useSession(body = {}) {
|
|
144
|
+
return useQuery({
|
|
145
|
+
queryFn: () => __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
return getSessionToken(body);
|
|
147
|
+
}),
|
|
148
|
+
queryKey: ['session'],
|
|
149
|
+
refetchOnMount: false,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
/** Api call to verify the session token from the backend */
|
|
153
|
+
export function verifySessionToken(token) {
|
|
154
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
155
|
+
const res = yield request('/api/auth/verify-session', {
|
|
156
|
+
method: HTTP_METHOD.POST,
|
|
157
|
+
}, token);
|
|
158
|
+
return res.ok;
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
//# 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 @@
|
|
|
1
|
+
{"version":3,"file":"basic-auth-login.d.ts","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-login.tsx"],"names":[],"mappings":"AA4HA;;GAEG;AACH,iBAAS,cAAc,IAAI,GAAG,CAAC,OAAO,CAiHrC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,174 @@
|
|
|
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
|
+
import { transparentize } from 'polished';
|
|
12
|
+
import { useContext, useEffect, useState } from 'react';
|
|
13
|
+
import { useHistory, useLocation } from 'react-router-dom';
|
|
14
|
+
import styled from '@darajs/styled-components';
|
|
15
|
+
import { Button } from '@darajs/ui-components';
|
|
16
|
+
import { getSessionToken } from '../../api';
|
|
17
|
+
import DefaultFallback from '../../components/fallback/default';
|
|
18
|
+
import Center from '../../shared/center/center';
|
|
19
|
+
import { AuthCtx } from '../../shared/context';
|
|
20
|
+
import { getEmbedTokenKey, isEmbedded } from '../../shared/utils/embed';
|
|
21
|
+
import { DARA_JWT_TOKEN, verifySessionToken } from '../auth';
|
|
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 (min-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: inset 0 0 0 0px ${(props) => props.theme.colors.blue1},
|
|
90
|
+
inset 0 0 0 1px ${(props) => (props.$error ? props.theme.colors.error : props.theme.colors.grey2)},
|
|
91
|
+
0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
92
|
+
|
|
93
|
+
:active,
|
|
94
|
+
:focus {
|
|
95
|
+
box-shadow: inset 0 0 0 0px ${(props) => props.theme.colors.blue1},
|
|
96
|
+
inset 0 0 0 2px ${(props) => (props.$error ? props.theme.colors.error : props.theme.colors.primary)},
|
|
97
|
+
0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
98
|
+
}
|
|
99
|
+
`;
|
|
100
|
+
const StyledButton = styled(Button) `
|
|
101
|
+
width: 100%;
|
|
102
|
+
font-weight: 600;
|
|
103
|
+
line-height: 1.5rem;
|
|
104
|
+
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
105
|
+
|
|
106
|
+
:active,
|
|
107
|
+
:focus {
|
|
108
|
+
outline-color: ${(props) => props.theme.colors.primary};
|
|
109
|
+
outline-width: 2px;
|
|
110
|
+
outline-offset: 2px;
|
|
111
|
+
}
|
|
112
|
+
`;
|
|
113
|
+
/**
|
|
114
|
+
* The Login component gets the username and password from the user and generates a session token.
|
|
115
|
+
*/
|
|
116
|
+
function BasicAuthLogin() {
|
|
117
|
+
var _a;
|
|
118
|
+
const [isVerifyingToken, setIsVerifyingToken] = useState(true);
|
|
119
|
+
const [isLoggingIn, setIsLoggingIn] = useState(false);
|
|
120
|
+
const [username, setUsername] = useState('');
|
|
121
|
+
const [password, setPassword] = useState('');
|
|
122
|
+
const [isError, setIsError] = useState(false);
|
|
123
|
+
const { token, setToken } = useContext(AuthCtx);
|
|
124
|
+
const history = useHistory();
|
|
125
|
+
const location = useLocation();
|
|
126
|
+
const queryParams = new URLSearchParams(location.search);
|
|
127
|
+
// Put any type here as typescript couldn't resolve location's typings
|
|
128
|
+
const previousLocation = location.state || { from: { pathname: (_a = queryParams.get('referrer')) !== null && _a !== void 0 ? _a : '/' } };
|
|
129
|
+
const { from } = previousLocation;
|
|
130
|
+
const login = () => __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
setIsLoggingIn(true);
|
|
132
|
+
setIsError(false);
|
|
133
|
+
try {
|
|
134
|
+
const sessionToken = yield getSessionToken({ password, username });
|
|
135
|
+
if (sessionToken) {
|
|
136
|
+
setToken(sessionToken);
|
|
137
|
+
history.replace(from);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch (_b) {
|
|
141
|
+
setIsError(true);
|
|
142
|
+
}
|
|
143
|
+
setIsLoggingIn(false);
|
|
144
|
+
});
|
|
145
|
+
useEffect(() => {
|
|
146
|
+
const key = isEmbedded() ? getEmbedTokenKey() : DARA_JWT_TOKEN;
|
|
147
|
+
// If we landed on this page with a token already, verify it
|
|
148
|
+
if (token) {
|
|
149
|
+
// Grab the token from local storage again as it may have changed
|
|
150
|
+
verifySessionToken(localStorage.getItem(key)).then((verified) => {
|
|
151
|
+
// we already have a valid token, redirect
|
|
152
|
+
if (verified) {
|
|
153
|
+
history.replace(from);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
setIsVerifyingToken(false);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
setIsVerifyingToken(false);
|
|
162
|
+
}
|
|
163
|
+
}, []);
|
|
164
|
+
// Don't show the form yet until we check existing token
|
|
165
|
+
if (isVerifyingToken) {
|
|
166
|
+
return (_jsx(Center, { children: _jsx(DefaultFallback, {}) }));
|
|
167
|
+
}
|
|
168
|
+
return (_jsx(Wrapper, { children: _jsx(Card, { children: _jsx(FormWrapper, { children: _jsxs(Form, { onSubmit: (e) => {
|
|
169
|
+
e.preventDefault();
|
|
170
|
+
login();
|
|
171
|
+
}, 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" }) })] }) }) }) }));
|
|
172
|
+
}
|
|
173
|
+
export default BasicAuthLogin;
|
|
174
|
+
//# 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 @@
|
|
|
1
|
+
{"version":3,"file":"basic-auth-logout.d.ts","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-logout.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,iBAAS,eAAe,IAAI,GAAG,CAAC,OAAO,CAWtC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { revokeSession } from '../../auth/auth';
|
|
3
|
+
import { useAuthCtx } from '../../auth/auth-context';
|
|
4
|
+
/**
|
|
5
|
+
* Auth component that wipes user token in AuthContext on mount and redirects to /login
|
|
6
|
+
*/
|
|
7
|
+
function BasicAuthLogout() {
|
|
8
|
+
const { setToken, token } = useAuthCtx();
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
revokeSession(token).then(() => {
|
|
11
|
+
setToken(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,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,SAAS,eAAe;IACpB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACX,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,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 @@
|
|
|
1
|
+
{"version":3,"file":"default-auth-login.d.ts","sourceRoot":"","sources":["../../../js/auth/default/default-auth-login.tsx"],"names":[],"mappings":"AASA;;GAEG;AACH,iBAAS,gBAAgB,IAAI,GAAG,CAAC,OAAO,CAiDvC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
import { useContext, useEffect } from 'react';
|
|
12
|
+
import { useHistory, useLocation } from 'react-router-dom';
|
|
13
|
+
import DefaultFallback from '../../components/fallback/default';
|
|
14
|
+
import Center from '../../shared/center/center';
|
|
15
|
+
import { AuthCtx } from '../../shared/context';
|
|
16
|
+
import { DARA_JWT_TOKEN, getSessionToken, verifySessionToken } from '../auth';
|
|
17
|
+
/**
|
|
18
|
+
* The Login component gets a new session token from the backend and stores it in local storage
|
|
19
|
+
*/
|
|
20
|
+
function DefaultAuthLogin() {
|
|
21
|
+
var _a;
|
|
22
|
+
const { token, setToken } = useContext(AuthCtx);
|
|
23
|
+
const history = useHistory();
|
|
24
|
+
const location = useLocation();
|
|
25
|
+
const queryParams = new URLSearchParams(location.search);
|
|
26
|
+
// Put any type here as typescript couldn't resolve location's typings
|
|
27
|
+
const previousLocation = location.state || { from: { pathname: (_a = queryParams.get('referrer')) !== null && _a !== void 0 ? _a : '/' } };
|
|
28
|
+
const { from } = previousLocation;
|
|
29
|
+
function getNewToken() {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const sessionToken = yield getSessionToken({});
|
|
32
|
+
// in default auth this always succeeds
|
|
33
|
+
if (sessionToken) {
|
|
34
|
+
setToken(sessionToken);
|
|
35
|
+
history.replace(from);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
// If we landed on this page with a token already, verify it
|
|
41
|
+
if (token) {
|
|
42
|
+
const storedToken = localStorage.getItem(DARA_JWT_TOKEN);
|
|
43
|
+
if (token !== undefined && token !== null && (!storedToken || storedToken === 'undefined')) {
|
|
44
|
+
localStorage.setItem(DARA_JWT_TOKEN, token);
|
|
45
|
+
}
|
|
46
|
+
// Grab the token from local storage again as it may have changed
|
|
47
|
+
verifySessionToken(localStorage.getItem(DARA_JWT_TOKEN)).then((verified) => {
|
|
48
|
+
// we already have a valid token, redirect
|
|
49
|
+
if (verified) {
|
|
50
|
+
history.replace(from);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// Otherwise grab a new token
|
|
54
|
+
getNewToken();
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// Otherwise grab a new token
|
|
60
|
+
getNewToken();
|
|
61
|
+
}
|
|
62
|
+
}, []);
|
|
63
|
+
return (_jsx(Center, { children: _jsx(DefaultFallback, {}) }));
|
|
64
|
+
}
|
|
65
|
+
export default DefaultAuthLogin;
|
|
66
|
+
//# 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,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE9E;;GAEG;AACH,SAAS,gBAAgB;;IACrB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEhD,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,sEAAsE;IACtE,MAAM,gBAAgB,GAAQ,QAAQ,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAA,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,mCAAI,GAAG,EAAE,EAAE,CAAC;IAC3G,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;IAElC,SAAe,WAAW;;YACtB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;YAC/C,uCAAuC;YACvC,IAAI,YAAY,EAAE;gBACd,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACvB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACzB;QACL,CAAC;KAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,4DAA4D;QAC5D,IAAI,KAAK,EAAE;YACP,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,KAAK,WAAW,CAAC,EAAE;gBACxF,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aAC/C;YAED,iEAAiE;YACjE,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACvE,0CAA0C;gBAC1C,IAAI,QAAQ,EAAE;oBACV,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBACzB;qBAAM;oBACH,6BAA6B;oBAC7B,WAAW,EAAE,CAAC;iBACjB;YACL,CAAC,CAAC,CAAC;SACN;aAAM;YACH,6BAA6B;YAC7B,WAAW,EAAE,CAAC;SACjB;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,KAAC,MAAM,cACH,KAAC,eAAe,KAAG,GACd,CACZ,CAAC;AACN,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as AuthCtx, useAuthCtx, useSessionToken } from './auth-context';
|
|
2
|
+
export { verifySessionToken, useUser, useSession, handleAuthErrors, DARA_JWT_TOKEN, getSessionToken, revokeSession, } from './auth';
|
|
3
|
+
export { default as AuthWrapper } from './auth-wrapper';
|
|
4
|
+
export { default as BasicAuthLogin } from './basic/basic-auth-login';
|
|
5
|
+
export { default as BasicAuthLogout } from './basic/basic-auth-logout';
|
|
6
|
+
export { default as DefaultAuthLogin } from './default/default-auth-login';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/auth/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EACH,kBAAkB,EAClB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,GAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as AuthCtx, useAuthCtx, useSessionToken } from './auth-context';
|
|
2
|
+
export { verifySessionToken, useUser, useSession, handleAuthErrors, DARA_JWT_TOKEN, getSessionToken, revokeSession, } from './auth';
|
|
3
|
+
export { default as AuthWrapper } from './auth-wrapper';
|
|
4
|
+
export { default as BasicAuthLogin } from './basic/basic-auth-login';
|
|
5
|
+
export { default as BasicAuthLogout } from './basic/basic-auth-logout';
|
|
6
|
+
export { default as DefaultAuthLogin } from './default/default-auth-login';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/auth/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EACH,kBAAkB,EAClB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,GAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../js/components/fallback/default.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAM/C,KAAK,oBAAoB,GAAG,oBAAoB,CAAC;AAEjD,iBAAS,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAIjE;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { injectCss, useComponentStyles } from '../../shared/utils';
|
|
3
|
+
import Dots from './dots';
|
|
4
|
+
const StyledDots = injectCss(Dots);
|
|
5
|
+
function DefaultFallback(props) {
|
|
6
|
+
const [style, css] = useComponentStyles(props);
|
|
7
|
+
return _jsx(StyledDots, { "$rawCss": css, style: style });
|
|
8
|
+
}
|
|
9
|
+
export default DefaultFallback;
|
|
10
|
+
//# sourceMappingURL=default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../js/components/fallback/default.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAInC,SAAS,eAAe,CAAC,KAA2B;IAChD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE/C,OAAO,KAAC,UAAU,eAAU,GAAG,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AACtD,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dots.d.ts","sourceRoot":"","sources":["../../../js/components/fallback/dots.tsx"],"names":[],"mappings":";AA0EA,UAAU,SAAS;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAM3C;AAED,eAAe,IAAI,CAAC"}
|