@darajs/core 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +101 -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 +140 -0
- package/dist/actions/download-variable.js.map +1 -0
- package/dist/actions/index.d.ts +7 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +7 -0
- package/dist/actions/index.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 +37 -0
- package/dist/actions/navigate-to.js.map +1 -0
- package/dist/actions/notify.d.ts +4 -0
- package/dist/actions/notify.d.ts.map +1 -0
- package/dist/actions/notify.js +11 -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 +37 -0
- package/dist/actions/reset-variables.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 +14 -0
- package/dist/actions/trigger-variable.js.map +1 -0
- package/dist/actions/update-variable.d.ts +15 -0
- package/dist/actions/update-variable.d.ts.map +1 -0
- package/dist/actions/update-variable.js +56 -0
- package/dist/actions/update-variable.js.map +1 -0
- package/dist/api/core.d.ts +35 -0
- package/dist/api/core.d.ts.map +1 -0
- package/dist/api/core.js +112 -0
- package/dist/api/core.js.map +1 -0
- package/dist/api/http.d.ts +29 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +126 -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 +222 -0
- package/dist/api/websocket.d.ts.map +1 -0
- package/dist/api/websocket.js +353 -0
- package/dist/api/websocket.js.map +1 -0
- package/dist/assets/causalens-dark.svg +29 -0
- package/dist/assets/causalens-light.svg +29 -0
- package/dist/assets/dara-dark.svg +20 -0
- package/dist/assets/dara-light.svg +15 -0
- package/dist/assets/fonts/Manrope-VariableFont_wght.ttf +0 -0
- package/dist/auth/auth-wrapper.d.ts +15 -0
- package/dist/auth/auth-wrapper.d.ts.map +1 -0
- package/dist/auth/auth-wrapper.js +72 -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 +163 -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 +171 -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 +59 -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/auth/use-session-token.d.ts +19 -0
- package/dist/auth/use-session-token.d.ts.map +1 -0
- package/dist/auth/use-session-token.js +30 -0
- package/dist/auth/use-session-token.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 +7 -0
- package/dist/components/fallback/dots.d.ts.map +1 -0
- package/dist/components/fallback/dots.js +78 -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 +44 -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 +204 -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 +87 -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 +89 -0
- package/dist/components/top-bar-frame/top-bar-frame.js.map +1 -0
- package/dist/dara_core-0.4.8-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 +101 -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 +23 -0
- package/dist/devtools/floating-button.d.ts.map +1 -0
- package/dist/devtools/floating-button.js +94 -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 +49 -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 +56 -0
- package/dist/devtools/use-move.js.map +1 -0
- package/dist/index.css +95 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -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 +18 -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 +6 -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 +13 -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 +81 -0
- package/dist/shared/context/global-task-context.js.map +1 -0
- package/dist/shared/context/importers-context.d.ts +6 -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 +20 -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/request-extras-context.d.ts +33 -0
- package/dist/shared/context/request-extras-context.d.ts.map +1 -0
- package/dist/shared/context/request-extras-context.js +55 -0
- package/dist/shared/context/request-extras-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 +7 -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/clean-props.d.ts +6 -0
- package/dist/shared/dynamic-component/clean-props.d.ts.map +1 -0
- package/dist/shared/dynamic-component/clean-props.js +13 -0
- package/dist/shared/dynamic-component/clean-props.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 +252 -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 +94 -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 +11 -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/event-bus/event-bus.d.ts +27 -0
- package/dist/shared/event-bus/event-bus.d.ts.map +1 -0
- package/dist/shared/event-bus/event-bus.js +58 -0
- package/dist/shared/event-bus/event-bus.js.map +1 -0
- package/dist/shared/global-state-store.d.ts +54 -0
- package/dist/shared/global-state-store.d.ts.map +1 -0
- package/dist/shared/global-state-store.js +168 -0
- package/dist/shared/global-state-store.js.map +1 -0
- package/dist/shared/index.d.ts +12 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +10 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/interactivity/data-variable.d.ts +78 -0
- package/dist/shared/interactivity/data-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/data-variable.js +218 -0
- package/dist/shared/interactivity/data-variable.js.map +1 -0
- package/dist/shared/interactivity/derived-variable.d.ts +160 -0
- package/dist/shared/interactivity/derived-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/derived-variable.js +446 -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 +10 -0
- package/dist/shared/interactivity/index.d.ts.map +1 -0
- package/dist/shared/interactivity/index.js +9 -0
- package/dist/shared/interactivity/index.js.map +1 -0
- package/dist/shared/interactivity/internal.d.ts +9 -0
- package/dist/shared/interactivity/internal.d.ts.map +1 -0
- package/dist/shared/interactivity/internal.js +11 -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 +54 -0
- package/dist/shared/interactivity/nested.js.map +1 -0
- package/dist/shared/interactivity/persistence.d.ts +43 -0
- package/dist/shared/interactivity/persistence.d.ts.map +1 -0
- package/dist/shared/interactivity/persistence.js +215 -0
- package/dist/shared/interactivity/persistence.js.map +1 -0
- package/dist/shared/interactivity/plain-variable.d.ts +17 -0
- package/dist/shared/interactivity/plain-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/plain-variable.js +222 -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 +46 -0
- package/dist/shared/interactivity/resolve-variable.js.map +1 -0
- package/dist/shared/interactivity/store.d.ts +76 -0
- package/dist/shared/interactivity/store.d.ts.map +1 -0
- package/dist/shared/interactivity/store.js +99 -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 +27 -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 +39 -0
- package/dist/shared/interactivity/use-any-variable.js.map +1 -0
- package/dist/shared/interactivity/use-data-variable.d.ts +18 -0
- package/dist/shared/interactivity/use-data-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/use-data-variable.js +58 -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 +20 -0
- package/dist/shared/interactivity/use-refresh-selector.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 +256 -0
- package/dist/shared/interactivity/use-server-component.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 +26 -0
- package/dist/shared/interactivity/use-variable-state.js.map +1 -0
- package/dist/shared/interactivity/use-variable-value.d.ts +33 -0
- package/dist/shared/interactivity/use-variable-value.d.ts.map +1 -0
- package/dist/shared/interactivity/use-variable-value.js +94 -0
- package/dist/shared/interactivity/use-variable-value.js.map +1 -0
- package/dist/shared/interactivity/use-variable.d.ts +12 -0
- package/dist/shared/interactivity/use-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/use-variable.js +84 -0
- package/dist/shared/interactivity/use-variable.js.map +1 -0
- package/dist/shared/private-route/private-route.d.ts +19 -0
- package/dist/shared/private-route/private-route.d.ts.map +1 -0
- package/dist/shared/private-route/private-route.js +35 -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 +29 -0
- package/dist/shared/template-root/dynamic-context.js.map +1 -0
- package/dist/shared/template-root/template-root.d.ts +12 -0
- package/dist/shared/template-root/template-root.d.ts.map +1 -0
- package/dist/shared/template-root/template-root.js +94 -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 +19 -0
- package/dist/shared/utils/clean-session-cache.js.map +1 -0
- package/dist/shared/utils/embed.d.ts +22 -0
- package/dist/shared/utils/embed.d.ts.map +1 -0
- package/dist/shared/utils/embed.js +43 -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 +19 -0
- package/dist/shared/utils/index.d.ts.map +1 -0
- package/dist/shared/utils/index.js +17 -0
- package/dist/shared/utils/index.js.map +1 -0
- package/dist/shared/utils/inject-css.d.ts +12 -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 +121 -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 +34 -0
- package/dist/shared/utils/use-action.d.ts.map +1 -0
- package/dist/shared/utils/use-action.js +314 -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 +57 -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 +69 -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 +19 -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 +29 -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 +440 -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 +56 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +93 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/umd/dara.core.umd.js +86508 -0
- package/dist/umd/style.css +848 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +20 -0
- package/dist/utils.js.map +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-errors.js","sourceRoot":"","sources":["../../../js/devtools/backend-errors/backend-errors.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,YAAY,EAAE,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAKjC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAO3B,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;aAErB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;iBAK/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;CAGnD,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;2BAUC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;CAC7D,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa;IAClB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEnD,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;SAC9E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,OAAO,CACH,MAAC,eAAe,eACZ,MAAC,OAAO,eACJ,KAAC,WAAW,IAAC,OAAO,EAAE,WAAW,YAC7B,YAAG,SAAS,EAAC,uBAAuB,GAAG,GAC7B,EACd,KAAC,OAAO,IAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,EAAC,QAAQ,EAAC,KAAK,EAAE,WAAW,GAAI,IAClF,EACV,KAAC,SAAS,cACL,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,KAAC,YAAY,IAAC,YAAY,EAAE,CAAC,IAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAI,CAC3D,CAAC,GACM,IACE,CACrB,CAAC;AACN,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ServerErrorMessage } from '../../api/websocket';
|
|
2
|
+
interface ParsedBackendError {
|
|
3
|
+
description: string;
|
|
4
|
+
time: Date;
|
|
5
|
+
traceback: string;
|
|
6
|
+
tracebackTitle: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Parse server error messages for display
|
|
10
|
+
*
|
|
11
|
+
* @param errors error messages to parse
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseErrorsForDisplay(errors: ServerErrorMessage['message'][]): ParsedBackendError[];
|
|
14
|
+
interface ErrorDisplayProps {
|
|
15
|
+
errorMessage: ParsedBackendError;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Display a single backend error in an expandable box
|
|
19
|
+
*/
|
|
20
|
+
declare function ErrorDisplay(props: ErrorDisplayProps): JSX.Element;
|
|
21
|
+
export default ErrorDisplay;
|
|
22
|
+
//# sourceMappingURL=error-display.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-display.d.ts","sourceRoot":"","sources":["../../../js/devtools/backend-errors/error-display.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA4ErD,UAAU,kBAAkB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAgBnG;AAED,UAAU,iBAAiB;IACvB,YAAY,EAAE,kBAAkB,CAAC;CACpC;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CA6B3D;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { format, parseISO } from 'date-fns';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { Collapse } from 'react-collapse';
|
|
5
|
+
import styled from '@darajs/styled-components';
|
|
6
|
+
const ErrorWrapper = styled.div `
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
width: 100%;
|
|
10
|
+
|
|
11
|
+
/* stylelint-disable selector-class-pattern */
|
|
12
|
+
.ReactCollapse--collapse {
|
|
13
|
+
transition: height 0.35s ease;
|
|
14
|
+
}
|
|
15
|
+
/* stylelint-enable selector-class-pattern */
|
|
16
|
+
`;
|
|
17
|
+
const ErrorHeader = styled.div `
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
background-color: ${(props) => props.theme.colors.background};
|
|
22
|
+
`;
|
|
23
|
+
const CollapseContent = styled.div `
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
gap: 0.5rem;
|
|
27
|
+
|
|
28
|
+
width: 100%;
|
|
29
|
+
margin: 0;
|
|
30
|
+
padding-top: 0.5rem;
|
|
31
|
+
|
|
32
|
+
background-color: ${(props) => props.theme.colors.background};
|
|
33
|
+
`;
|
|
34
|
+
const ErrorSign = styled.i `
|
|
35
|
+
color: ${(props) => props.theme.colors.error};
|
|
36
|
+
`;
|
|
37
|
+
const ErrorDescription = styled.div `
|
|
38
|
+
width: 100%;
|
|
39
|
+
padding: 1rem;
|
|
40
|
+
|
|
41
|
+
font-family: monospace;
|
|
42
|
+
color: ${(props) => props.theme.colors.text};
|
|
43
|
+
|
|
44
|
+
background-color: ${(props) => props.theme.colors.grey2};
|
|
45
|
+
`;
|
|
46
|
+
const ErrorTitleRow = styled.div `
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
padding: 1rem;
|
|
51
|
+
`;
|
|
52
|
+
const ErrorTitle = styled.span `
|
|
53
|
+
display: flex;
|
|
54
|
+
gap: 0.5rem;
|
|
55
|
+
align-items: center;
|
|
56
|
+
color: ${(props) => props.theme.colors.text};
|
|
57
|
+
`;
|
|
58
|
+
const ErrorTraceback = styled.pre `
|
|
59
|
+
overflow-y: auto;
|
|
60
|
+
padding: 0.5rem;
|
|
61
|
+
color: ${(props) => props.theme.colors.text};
|
|
62
|
+
`;
|
|
63
|
+
const Chevron = styled.i `
|
|
64
|
+
cursor: pointer;
|
|
65
|
+
transform: ${(props) => (props.$isOpen ? `rotate(180deg)` : `rotate(0deg)`)};
|
|
66
|
+
color: ${(props) => props.theme.colors.grey5};
|
|
67
|
+
transition: transform 0.1s linear;
|
|
68
|
+
`;
|
|
69
|
+
/**
|
|
70
|
+
* Parse server error messages for display
|
|
71
|
+
*
|
|
72
|
+
* @param errors error messages to parse
|
|
73
|
+
*/
|
|
74
|
+
export function parseErrorsForDisplay(errors) {
|
|
75
|
+
return errors.map((e) => {
|
|
76
|
+
const errorContent = e.error.split('\n').filter((l) => l !== '');
|
|
77
|
+
const time = parseISO(e.time);
|
|
78
|
+
const [description] = errorContent.slice(-1);
|
|
79
|
+
const tracebackTitle = errorContent[0];
|
|
80
|
+
const traceback = errorContent.slice(1, -1).join('\n');
|
|
81
|
+
return {
|
|
82
|
+
description,
|
|
83
|
+
time,
|
|
84
|
+
traceback,
|
|
85
|
+
tracebackTitle,
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Display a single backend error in an expandable box
|
|
91
|
+
*/
|
|
92
|
+
function ErrorDisplay(props) {
|
|
93
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
94
|
+
const time = format(props.errorMessage.time, 'HH:mm:ss.SS');
|
|
95
|
+
const onClick = () => {
|
|
96
|
+
setIsExpanded((b) => !b);
|
|
97
|
+
};
|
|
98
|
+
return (_jsxs(ErrorWrapper, { children: [_jsxs(ErrorHeader, { onClick: onClick, children: [_jsxs(ErrorTitleRow, { children: [_jsxs(ErrorTitle, { children: [_jsx(ErrorSign, { className: "fa-solid fa-triangle-exclamation fa-lg" }), time] }), _jsx(Chevron, { "$isOpen": isExpanded, className: "fa-solid fa-chevron-down" })] }), _jsx(ErrorDescription, { children: props.errorMessage.description })] }), _jsx(Collapse, { isOpened: isExpanded, children: _jsxs(CollapseContent, { children: [_jsx(ErrorDescription, { children: props.errorMessage.tracebackTitle }), _jsx(ErrorTraceback, { children: props.errorMessage.traceback })] }) })] }));
|
|
99
|
+
}
|
|
100
|
+
export default ErrorDisplay;
|
|
101
|
+
//# sourceMappingURL=error-display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-display.js","sourceRoot":"","sources":["../../../js/devtools/backend-errors/error-display.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../js/devtools/backend-errors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../js/devtools/backend-errors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
interface DevToolsContentProps {
|
|
3
|
+
onCloseDevtools: () => void;
|
|
4
|
+
style?: CSSProperties;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Displays devtools content.
|
|
8
|
+
* Displays a selected devtool based on the selected devtool in the top selection header.
|
|
9
|
+
*/
|
|
10
|
+
declare function DevToolsContent(props: DevToolsContentProps): JSX.Element;
|
|
11
|
+
export default DevToolsContent;
|
|
12
|
+
//# sourceMappingURL=devtools-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-content.d.ts","sourceRoot":"","sources":["../../js/devtools/devtools-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAoEhD,UAAU,oBAAoB;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB;AAMD;;;GAGG;AACH,iBAAS,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAsBjE;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import styled from '@darajs/styled-components';
|
|
4
|
+
import { Button } from '@darajs/ui-components';
|
|
5
|
+
import { BackendErrors } from './backend-errors';
|
|
6
|
+
const DevToolsContentWrapper = styled.div `
|
|
7
|
+
display: flex;
|
|
8
|
+
flex: 1;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
|
|
11
|
+
width: 100%;
|
|
12
|
+
|
|
13
|
+
color: ${(props) => props.theme.colors.text};
|
|
14
|
+
|
|
15
|
+
background-color: ${(props) => props.theme.colors.blue1};
|
|
16
|
+
border-left: 1px solid ${(props) => props.theme.colors.grey5};
|
|
17
|
+
`;
|
|
18
|
+
const HeaderWrapper = styled.div `
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: space-between;
|
|
22
|
+
|
|
23
|
+
width: 100%;
|
|
24
|
+
margin: 0 auto;
|
|
25
|
+
|
|
26
|
+
border-bottom: 1px solid;
|
|
27
|
+
border-bottom-color: ${(props) => props.theme.colors.grey5};
|
|
28
|
+
`;
|
|
29
|
+
const DevtoolSelector = styled.div `
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-shrink: 1;
|
|
32
|
+
gap: 0.1rem;
|
|
33
|
+
align-items: center;
|
|
34
|
+
|
|
35
|
+
button {
|
|
36
|
+
gap: 1rem;
|
|
37
|
+
width: 125px;
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
const CloseButton = styled(Button) `
|
|
41
|
+
color: ${(props) => props.theme.colors.grey4};
|
|
42
|
+
background-color: inherit;
|
|
43
|
+
transition: color 100ms ease 0s;
|
|
44
|
+
|
|
45
|
+
:hover:not(:disabled) {
|
|
46
|
+
color: ${(props) => props.theme.colors.grey5};
|
|
47
|
+
background-color: inherit;
|
|
48
|
+
}
|
|
49
|
+
`;
|
|
50
|
+
const SelectionButton = styled(Button) `
|
|
51
|
+
color: ${(props) => props.theme.colors.text};
|
|
52
|
+
border-bottom: 2px solid ${(props) => props.theme.colors.primary};
|
|
53
|
+
border-radius: 0;
|
|
54
|
+
|
|
55
|
+
:hover:not(:disabled) {
|
|
56
|
+
color: ${(props) => props.theme.colors.text};
|
|
57
|
+
background-color: ${(props) => props.theme.colors.blue2};
|
|
58
|
+
}
|
|
59
|
+
`;
|
|
60
|
+
var DevTools;
|
|
61
|
+
(function (DevTools) {
|
|
62
|
+
DevTools["ERRORS"] = "errors";
|
|
63
|
+
})(DevTools || (DevTools = {}));
|
|
64
|
+
/**
|
|
65
|
+
* Displays devtools content.
|
|
66
|
+
* Displays a selected devtool based on the selected devtool in the top selection header.
|
|
67
|
+
*/
|
|
68
|
+
function DevToolsContent(props) {
|
|
69
|
+
const [selectedTool, setSelectedTool] = useState(DevTools.ERRORS);
|
|
70
|
+
return (_jsxs(DevToolsContentWrapper, { style: props.style, children: [_jsxs(HeaderWrapper, { children: [_jsx(DevtoolSelector, { children: _jsx(SelectionButton, { "$selected": selectedTool === DevTools.ERRORS, onClick: () => setSelectedTool(DevTools.ERRORS), styling: "ghost", children: "Errors" }) }), _jsx(CloseButton, { onClick: props.onCloseDevtools, children: _jsx("i", { className: "fa-solid fa-x" }) })] }), selectedTool === DevTools.ERRORS && _jsx(BackendErrors, {})] }));
|
|
71
|
+
}
|
|
72
|
+
export default DevToolsContent;
|
|
73
|
+
//# sourceMappingURL=devtools-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-content.js","sourceRoot":"","sources":["../../js/devtools/devtools-content.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;aAO5B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;;wBAEvB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;6BAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;CAC/D,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;2BASL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;CAC7D,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;CAUjC,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;aACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;iBAK/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;CAGnD,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAEpC;aACW,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;+BAChB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;;;;iBAInD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;4BACvB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;CAE9D,CAAC;AAOF,IAAK,QAEJ;AAFD,WAAK,QAAQ;IACT,6BAAiB,CAAA;AACrB,CAAC,EAFI,QAAQ,KAAR,QAAQ,QAEZ;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,KAA2B;IAChD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAElE,OAAO,CACH,MAAC,sBAAsB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,aACtC,MAAC,aAAa,eACV,KAAC,eAAe,cACZ,KAAC,eAAe,iBACD,YAAY,KAAK,QAAQ,CAAC,MAAM,EAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/C,OAAO,EAAC,OAAO,uBAGD,GACJ,EAClB,KAAC,WAAW,IAAC,OAAO,EAAE,KAAK,CAAC,eAAe,YACvC,YAAG,SAAS,EAAC,eAAe,GAAG,GACrB,IACF,EACf,YAAY,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAC,aAAa,KAAG,IACjC,CAC5B,CAAC;AACN,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-context.d.ts","sourceRoot":"","sources":["../../js/devtools/devtools-context.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAErF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { BackendErrorsProvider } from './backend-errors';
|
|
3
|
+
/**
|
|
4
|
+
* Context responsible for gathering data necessary for the devtools
|
|
5
|
+
*/
|
|
6
|
+
export default function DevtoolsContext(props) {
|
|
7
|
+
return _jsx(BackendErrorsProvider, { children: props.children });
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=devtools-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-context.js","sourceRoot":"","sources":["../../js/devtools/devtools-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAgC;IACpE,OAAO,KAAC,qBAAqB,cAAE,KAAK,CAAC,QAAQ,GAAyB,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DevTools parent display component.
|
|
3
|
+
* Displays an absolutely-positioned floating button to toggle the view of the devtools sidebar,
|
|
4
|
+
* and a sidebar with the devtools content.
|
|
5
|
+
*/
|
|
6
|
+
declare function DevToolsWrapper(): JSX.Element;
|
|
7
|
+
export default DevToolsWrapper;
|
|
8
|
+
//# sourceMappingURL=devtools-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-wrapper.d.ts","sourceRoot":"","sources":["../../js/devtools/devtools-wrapper.tsx"],"names":[],"mappings":"AA2CA;;;;GAIG;AACH,iBAAS,eAAe,IAAI,GAAG,CAAC,OAAO,CAsCtC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useRef, useState } from 'react';
|
|
3
|
+
import styled from '@darajs/styled-components';
|
|
4
|
+
import { useBackendErrors } from './backend-errors';
|
|
5
|
+
import DevToolsContent from './devtools-content';
|
|
6
|
+
import FloatingButton, { BUTTON_SIZE } from './floating-button';
|
|
7
|
+
import Resizer from './resizer';
|
|
8
|
+
import useMove from './use-move';
|
|
9
|
+
const MIN_WIDTH = 350;
|
|
10
|
+
const MAX_WIDTH = 600;
|
|
11
|
+
/**
|
|
12
|
+
* Fit a given width value between the sidebar bounds
|
|
13
|
+
*
|
|
14
|
+
* @param width to fit in bounds
|
|
15
|
+
*/
|
|
16
|
+
function fitInBounds(width) {
|
|
17
|
+
if (width > MAX_WIDTH) {
|
|
18
|
+
return MAX_WIDTH;
|
|
19
|
+
}
|
|
20
|
+
if (width < MIN_WIDTH) {
|
|
21
|
+
return MIN_WIDTH;
|
|
22
|
+
}
|
|
23
|
+
return width;
|
|
24
|
+
}
|
|
25
|
+
const SidebarWrapper = styled.div `
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: row;
|
|
28
|
+
flex-grow: 0;
|
|
29
|
+
flex-shrink: 0;
|
|
30
|
+
|
|
31
|
+
min-width: ${MIN_WIDTH}px;
|
|
32
|
+
max-width: ${MAX_WIDTH}px;
|
|
33
|
+
height: 100%;
|
|
34
|
+
|
|
35
|
+
box-shadow: 8px 2px 32px -2px rgb(0 0 0 / 25%);
|
|
36
|
+
`;
|
|
37
|
+
/**
|
|
38
|
+
* DevTools parent display component.
|
|
39
|
+
* Displays an absolutely-positioned floating button to toggle the view of the devtools sidebar,
|
|
40
|
+
* and a sidebar with the devtools content.
|
|
41
|
+
*/
|
|
42
|
+
function DevToolsWrapper() {
|
|
43
|
+
const [showDevtools, setShowDevtools] = useState(false);
|
|
44
|
+
const { errors } = useBackendErrors();
|
|
45
|
+
const sidebarRef = useRef(null);
|
|
46
|
+
const [sidebarWidth, setSidebarWidth] = useState(MIN_WIDTH);
|
|
47
|
+
// invoked on resizer move
|
|
48
|
+
const resize = useCallback((mouseMoveEvent) => {
|
|
49
|
+
setSidebarWidth(fitInBounds(sidebarRef.current.getBoundingClientRect().right - mouseMoveEvent.clientX));
|
|
50
|
+
}, []);
|
|
51
|
+
const { startMoving: startResizing } = useMove(resize);
|
|
52
|
+
// Button state lifted out of button component so the position doesn't reset when opening/closing sidebar
|
|
53
|
+
const buttonState = useState([
|
|
54
|
+
window.innerWidth - BUTTON_SIZE * 2,
|
|
55
|
+
window.innerHeight - BUTTON_SIZE * 2,
|
|
56
|
+
]);
|
|
57
|
+
// If not showing devtools, don't include the sidebar in the dom at all
|
|
58
|
+
if (!showDevtools) {
|
|
59
|
+
return (_jsx(FloatingButton, { buttonState: buttonState, onClick: () => setShowDevtools(true), showErrorBadge: errors.length > 0 }));
|
|
60
|
+
}
|
|
61
|
+
return (_jsxs(SidebarWrapper, { ref: sidebarRef, style: { width: sidebarWidth }, children: [_jsx(Resizer, { onGrab: startResizing, sidebarWidth: sidebarWidth }), _jsx(DevToolsContent, { onCloseDevtools: () => setShowDevtools(false), style: { width: sidebarWidth } })] }));
|
|
62
|
+
}
|
|
63
|
+
export default DevToolsWrapper;
|
|
64
|
+
//# sourceMappingURL=devtools-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-wrapper.js","sourceRoot":"","sources":["../../js/devtools/devtools-wrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,eAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAa;IAC9B,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;iBAMhB,SAAS;iBACT,SAAS;;;;CAIzB,CAAC;AAEF;;;;GAIG;AACH,SAAS,eAAe;IACpB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEtC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE5D,0BAA0B;IAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,cAA0B,EAAE,EAAE;QACtD,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5G,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD,yGAAyG;IACzG,MAAM,WAAW,GAAG,QAAQ,CAAmB;QAC3C,MAAM,CAAC,UAAU,GAAG,WAAW,GAAG,CAAC;QACnC,MAAM,CAAC,WAAW,GAAG,WAAW,GAAG,CAAC;KACvC,CAAC,CAAC;IAEH,uEAAuE;IACvE,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,CACH,KAAC,cAAc,IACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GACnC,CACL,CAAC;IACN,CAAC;IAED,OAAO,CACH,MAAC,cAAc,IAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,aAC3D,KAAC,OAAO,IAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,GAAI,EAC9D,KAAC,eAAe,IAAC,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAI,IACrF,CACpB,CAAC;AACN,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../js/devtools/devtools.tsx"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,IAAI,GAAG,CAAC,OAAO,CAM9C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import DevtoolsContext from './devtools-context';
|
|
3
|
+
import DevToolsWrapper from './devtools-wrapper';
|
|
4
|
+
/**
|
|
5
|
+
* Display devtools
|
|
6
|
+
*/
|
|
7
|
+
export default function DevTools() {
|
|
8
|
+
return (_jsx(DevtoolsContext, { children: _jsx(DevToolsWrapper, {}) }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=devtools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../js/devtools/devtools.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ;IAC5B,OAAO,CACH,KAAC,eAAe,cACZ,KAAC,eAAe,KAAG,GACL,CACrB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const BUTTON_SIZE = 50;
|
|
2
|
+
type Position = [number, number];
|
|
3
|
+
interface FloatingButtonProps {
|
|
4
|
+
/**
|
|
5
|
+
* Button state
|
|
6
|
+
*/
|
|
7
|
+
buttonState: [Position, React.Dispatch<React.SetStateAction<Position>>];
|
|
8
|
+
/**
|
|
9
|
+
* Handler to invoke on button click
|
|
10
|
+
*/
|
|
11
|
+
onClick: () => void;
|
|
12
|
+
/**
|
|
13
|
+
* Whether to show an error badge
|
|
14
|
+
*/
|
|
15
|
+
showErrorBadge: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Floating, draggable button.
|
|
19
|
+
* Can display an error badge in top-right corner.
|
|
20
|
+
*/
|
|
21
|
+
export default function FloatingButton(props: FloatingButtonProps): JSX.Element;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=floating-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floating-button.d.ts","sourceRoot":"","sources":["../../js/devtools/floating-button.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,KAAK,CAAC;AAoC9B,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjC,UAAU,mBAAmB;IACzB;;OAEG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxE;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA8E9E"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
3
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
import styled from '@darajs/styled-components';
|
|
5
|
+
import useMove from './use-move';
|
|
6
|
+
export const BUTTON_SIZE = 50;
|
|
7
|
+
const DRAG_OFFSET = BUTTON_SIZE / 2;
|
|
8
|
+
const FloatingDevtoolButton = styled.button `
|
|
9
|
+
cursor: ${(props) => (props.$isDragging ? 'grab' : 'pointer')};
|
|
10
|
+
|
|
11
|
+
position: fixed;
|
|
12
|
+
z-index: 10;
|
|
13
|
+
|
|
14
|
+
display: inline-block;
|
|
15
|
+
|
|
16
|
+
width: ${BUTTON_SIZE}px;
|
|
17
|
+
height: ${BUTTON_SIZE}px;
|
|
18
|
+
|
|
19
|
+
color: ${(props) => props.theme.colors.blue1};
|
|
20
|
+
|
|
21
|
+
background-color: ${(props) => props.theme.colors.secondary};
|
|
22
|
+
border: 1px solid;
|
|
23
|
+
border-color: ${(props) => props.theme.colors.secondary};
|
|
24
|
+
border-radius: 30%;
|
|
25
|
+
|
|
26
|
+
transition: ${(props) => (!props.$isDragging ? 'left top' : 'none')} 150ms ease 0s;
|
|
27
|
+
`;
|
|
28
|
+
const ErrorBadge = styled.i `
|
|
29
|
+
position: absolute;
|
|
30
|
+
top: -0.8rem;
|
|
31
|
+
right: -0.8rem;
|
|
32
|
+
|
|
33
|
+
#badge-circle {
|
|
34
|
+
color: ${(props) => props.theme.colors.error};
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
/**
|
|
38
|
+
* Floating, draggable button.
|
|
39
|
+
* Can display an error badge in top-right corner.
|
|
40
|
+
*/
|
|
41
|
+
export default function FloatingButton(props) {
|
|
42
|
+
const buttonRef = useRef(null);
|
|
43
|
+
const [buttonPosition, setButtonPosition] = props.buttonState;
|
|
44
|
+
const moveButton = useCallback((mouseMoveEvent) => {
|
|
45
|
+
// updates button position to mouse position
|
|
46
|
+
// (- drag offset because we want the button's center to be where the mouse is, not it's top-left corner)
|
|
47
|
+
setButtonPosition([mouseMoveEvent.clientX - DRAG_OFFSET, mouseMoveEvent.clientY - DRAG_OFFSET]);
|
|
48
|
+
}, []);
|
|
49
|
+
const { startMoving, isMoving: isButtonMoving } = useMove(moveButton);
|
|
50
|
+
/**
|
|
51
|
+
* Fix button position by moving it to it's correct position
|
|
52
|
+
*/
|
|
53
|
+
function fixButtonPosition() {
|
|
54
|
+
if (!buttonRef.current) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const { x, y } = buttonRef.current.getBoundingClientRect();
|
|
58
|
+
setButtonPosition((oldPos) => {
|
|
59
|
+
let [newX, newY] = oldPos;
|
|
60
|
+
// It's X position must be BUTTON_SIZE pixels from the left/right side of the window
|
|
61
|
+
if (x < BUTTON_SIZE || x < window.innerWidth / 2) {
|
|
62
|
+
newX = BUTTON_SIZE;
|
|
63
|
+
}
|
|
64
|
+
else if (x > window.innerWidth / 2 || window.innerWidth - x < BUTTON_SIZE * 2) {
|
|
65
|
+
newX = window.innerWidth - BUTTON_SIZE * 2;
|
|
66
|
+
}
|
|
67
|
+
// It's Y position must be not be less than BUTTON_SIZE from top/bottom of the window
|
|
68
|
+
if (y < BUTTON_SIZE) {
|
|
69
|
+
newY = BUTTON_SIZE;
|
|
70
|
+
}
|
|
71
|
+
else if (window.innerHeight - y < BUTTON_SIZE * 2) {
|
|
72
|
+
newY = window.innerHeight - BUTTON_SIZE * 2;
|
|
73
|
+
}
|
|
74
|
+
return [newX, newY];
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Fix button position on window resize so it stays in bounds
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
window.addEventListener('resize', fixButtonPosition);
|
|
80
|
+
return () => {
|
|
81
|
+
window.removeEventListener('resize', fixButtonPosition);
|
|
82
|
+
};
|
|
83
|
+
}, []);
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
// Whenever button stops moving fix button position on next animation frame
|
|
86
|
+
if (!isButtonMoving) {
|
|
87
|
+
requestAnimationFrame(() => {
|
|
88
|
+
fixButtonPosition();
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}, [isButtonMoving]);
|
|
92
|
+
return (_jsxs(FloatingDevtoolButton, { "$isDragging": isButtonMoving, className: "fa-stack", onClick: () => !isButtonMoving && props.onClick(), onMouseDown: startMoving, ref: buttonRef, style: { left: `${buttonPosition[0]}px`, top: `${buttonPosition[1]}px` }, children: [props.showErrorBadge && (_jsxs(ErrorBadge, { className: "fa-stack", children: [_jsx("i", { className: "fa-stack-2x fa-solid fa-circle", id: "badge-circle" }), _jsx("i", { className: "fa-stack-1x fa-solid fa-triangle-exclamation", id: "badge-triangle" })] })), _jsx("i", { className: "fa-solid fa-bug fa-lg" })] }));
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=floating-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floating-button.js","sourceRoot":"","sources":["../../js/devtools/floating-button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/devtools/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/devtools/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MouseEventHandler } from 'react';
|
|
2
|
+
interface ResizerProps {
|
|
3
|
+
/**
|
|
4
|
+
* Callback to execute when resizer is grabbed
|
|
5
|
+
*/
|
|
6
|
+
onGrab: MouseEventHandler;
|
|
7
|
+
/**
|
|
8
|
+
* Current width of the sidebar
|
|
9
|
+
*/
|
|
10
|
+
sidebarWidth: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Sidebar resizer.
|
|
14
|
+
* Displays a thin resizer bar with a larger grab area for easier resizing.
|
|
15
|
+
*/
|
|
16
|
+
export default function Resizer(props: ResizerProps): JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=resizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resizer.d.ts","sourceRoot":"","sources":["../../js/devtools/resizer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAC;AA8CpD,UAAU,YAAY;IAClB;;OAEG;IACH,MAAM,EAAE,iBAAiB,CAAC;IAE1B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAahE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import styled from '@darajs/styled-components';
|
|
4
|
+
const ResizerWrapper = styled.div `
|
|
5
|
+
position: absolute;
|
|
6
|
+
top: 0;
|
|
7
|
+
bottom: 0;
|
|
8
|
+
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
`;
|
|
12
|
+
const ResizerDisplay = styled.div `
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
|
|
15
|
+
position: absolute;
|
|
16
|
+
top: 0;
|
|
17
|
+
right: -1px;
|
|
18
|
+
bottom: 0;
|
|
19
|
+
|
|
20
|
+
width: 4px;
|
|
21
|
+
|
|
22
|
+
background-color: ${(props) => (props.$hover ? '#3F9BF8' : 'transparent')};
|
|
23
|
+
|
|
24
|
+
transition: background-color 200ms ease;
|
|
25
|
+
`;
|
|
26
|
+
const ResizerGrabArea = styled.button `
|
|
27
|
+
cursor: col-resize;
|
|
28
|
+
resize: horizontal;
|
|
29
|
+
|
|
30
|
+
/* This means the grab area will have 16px to the left of the sidebar and 8px on the right side */
|
|
31
|
+
position: absolute;
|
|
32
|
+
right: -8px;
|
|
33
|
+
|
|
34
|
+
width: 24px;
|
|
35
|
+
height: 100%;
|
|
36
|
+
padding: 0;
|
|
37
|
+
|
|
38
|
+
background-color: transparent;
|
|
39
|
+
border: 0;
|
|
40
|
+
`;
|
|
41
|
+
/**
|
|
42
|
+
* Sidebar resizer.
|
|
43
|
+
* Displays a thin resizer bar with a larger grab area for easier resizing.
|
|
44
|
+
*/
|
|
45
|
+
export default function Resizer(props) {
|
|
46
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
47
|
+
return (_jsxs(ResizerWrapper, { style: { right: props.sidebarWidth }, children: [_jsx(ResizerDisplay, { "$hover": isHovered }), _jsx(ResizerGrabArea, { onMouseDown: props.onGrab, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false) })] }));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=resizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resizer.js","sourceRoot":"","sources":["../../js/devtools/resizer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAE/C,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOhC,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAE/B;;;;;;;;;;wBAUsB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;;;CAG5E,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAA;;;;;;;;;;;;;;CAcpC,CAAC;AAcF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAmB;IAC/C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,CACH,MAAC,cAAc,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,aAChD,KAAC,cAAc,cAAS,SAAS,GAAI,EACrC,KAAC,eAAe,IACZ,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACtC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,GACzC,IACW,CACpB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MouseEventHandler } from 'react';
|
|
2
|
+
type MoveHandler = (ev: MouseEvent) => void;
|
|
3
|
+
export interface UseMoveInterface {
|
|
4
|
+
/**
|
|
5
|
+
* Whether move is hapenning
|
|
6
|
+
*/
|
|
7
|
+
isMoving: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Callback to call when a move is started.
|
|
10
|
+
* Should be attached to a component's `onMouseDown` attribute.
|
|
11
|
+
*/
|
|
12
|
+
startMoving: MouseEventHandler;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Helper hook to support moving an element
|
|
16
|
+
*
|
|
17
|
+
* @param move move handler invoked whenever element is moved
|
|
18
|
+
*/
|
|
19
|
+
export default function useMove(move: MoveHandler): UseMoveInterface;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=use-move.d.ts.map
|