@env-hopper/frontend-core 2.0.1-alpha → 2.0.1-alpha.4
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/dist/esm/App.d.ts +1 -1
- package/dist/esm/App.js.map +1 -1
- package/dist/esm/__tests__/integration/appQuickJumpBar.integration.test.d.ts +1 -0
- package/dist/esm/__tests__/integration/factories/BackendMagazine.d.ts +887 -0
- package/dist/esm/__tests__/integration/factories/DbMagazine.d.ts +7 -0
- package/dist/esm/__tests__/integration/factories/app.d.ts +2 -0
- package/dist/esm/__tests__/integration/factories/env.d.ts +2 -0
- package/dist/esm/__tests__/integration/factories/mapper.d.ts +39 -0
- package/dist/esm/__tests__/integration/factories/resourceJump.d.ts +2 -0
- package/dist/esm/__tests__/integration/factories/simpleDSL.d.ts +889 -0
- package/dist/esm/__tests__/integration/factories/types.d.ts +12 -0
- package/dist/esm/__tests__/integration/helpers/renderWithProviders.d.ts +35 -0
- package/dist/esm/__tests__/integration/helpers/testHelpers.d.ts +6 -0
- package/dist/esm/__tests__/integration/helpers/uiHelpers.d.ts +30 -0
- package/dist/esm/__tests__/integration/quickSlots.integration.test.d.ts +1 -0
- package/dist/esm/__tests__/integration/resourceJump.integration.test.d.ts +1 -0
- package/dist/esm/__tests__/integration/setup/svgMock.d.ts +3 -0
- package/dist/esm/__tests__/integration/setup/testSetup.d.ts +0 -0
- package/dist/esm/__tests__/modules/fuzzyMatchLogic/testUtils.d.ts +3 -1
- package/dist/esm/__tests__/modules/resouceJump/helpers.test.d.ts +1 -0
- package/dist/esm/__tests__/modules/resouceJump/utils/mapToFlagshipResourceJumps.test.d.ts +1 -0
- package/dist/esm/__tests__/util/TestMagazine.d.ts +3 -0
- package/dist/esm/api/ApiQueryMagazine.d.ts +4 -4
- package/dist/esm/api/data/useQueryBootstrapConfig.d.ts +1 -1
- package/dist/esm/api/infra/createQueryClient.d.ts +3 -1
- package/dist/esm/api/infra/createQueryClient.js +5 -3
- package/dist/esm/api/infra/createQueryClient.js.map +1 -1
- package/dist/esm/api/infra/trpc.d.ts +1236 -5
- package/dist/esm/api/unsorted/appCatalogFetcher.d.ts +10 -0
- package/dist/esm/api/unsorted/appCatalogFetcher.js +18 -0
- package/dist/esm/api/unsorted/appCatalogFetcher.js.map +1 -0
- package/dist/esm/api/unsorted/createCachingFetcher.d.ts +23 -0
- package/dist/esm/api/unsorted/createCachingFetcher.js +93 -0
- package/dist/esm/api/unsorted/createCachingFetcher.js.map +1 -0
- package/dist/esm/api/unsorted/indexDataFetcher.d.ts +3 -6
- package/dist/esm/api/unsorted/resourceJumpsExtendedFetcher.d.ts +9 -0
- package/dist/esm/api/unsorted/resourceJumpsExtendedFetcher.js +18 -0
- package/dist/esm/api/unsorted/resourceJumpsExtendedFetcher.js.map +1 -0
- package/dist/esm/api/unsorted/resourceJumpsFetcher.d.ts +10 -0
- package/dist/esm/api/unsorted/resourceJumpsFetcher.js +18 -0
- package/dist/esm/api/unsorted/resourceJumpsFetcher.js.map +1 -0
- package/dist/esm/appPropsFactory.js +8 -6
- package/dist/esm/appPropsFactory.js.map +1 -1
- package/dist/esm/assets/app-catalog.svg.js +6 -0
- package/dist/esm/assets/app-catalog.svg.js.map +1 -0
- package/dist/esm/components/IconPickerDialog.d.ts +8 -0
- package/dist/esm/components/IconPickerDialog.js +98 -0
- package/dist/esm/components/IconPickerDialog.js.map +1 -0
- package/dist/esm/components/IconPickerField.d.ts +9 -0
- package/dist/esm/components/IconPickerField.js +76 -0
- package/dist/esm/components/IconPickerField.js.map +1 -0
- package/dist/esm/components/ThemeSwitcher.js +1 -1
- package/dist/esm/components/ThemeSwitcher.js.map +1 -1
- package/dist/esm/lib/getAppMode.d.ts +2 -0
- package/dist/esm/modules/admin-base/components/AdminChat.d.ts +1 -0
- package/dist/esm/modules/admin-base/components/AdminChat.js +82 -0
- package/dist/esm/modules/admin-base/components/AdminChat.js.map +1 -0
- package/dist/esm/modules/admin-base/components/AdminLayout.d.ts +5 -0
- package/dist/esm/modules/admin-base/components/AdminLayout.js +78 -0
- package/dist/esm/modules/admin-base/components/AdminLayout.js.map +1 -0
- package/dist/esm/modules/admin-base/components/AdminWelcome.d.ts +1 -0
- package/dist/esm/modules/admin-base/components/AdminWelcome.js +37 -0
- package/dist/esm/modules/admin-base/components/AdminWelcome.js.map +1 -0
- package/dist/esm/modules/admin-base/context/AdminConfigContext.d.ts +8 -0
- package/dist/esm/modules/admin-base/context/AdminConfigContext.js +27 -0
- package/dist/esm/modules/admin-base/context/AdminConfigContext.js.map +1 -0
- package/dist/esm/modules/admin-base/index.d.ts +5 -0
- package/dist/esm/modules/admin-base/types/adminTypes.d.ts +10 -0
- package/dist/esm/modules/appCatalog/AppCatalogAdminPage.d.ts +1 -0
- package/dist/esm/modules/appCatalog/AppCatalogAdminPage.js +204 -0
- package/dist/esm/modules/appCatalog/AppCatalogAdminPage.js.map +1 -0
- package/dist/esm/modules/appCatalog/AppCatalogEditDialog.d.ts +17 -0
- package/dist/esm/modules/appCatalog/ScreenshotItem.d.ts +7 -0
- package/dist/esm/modules/appCatalog/ScreenshotItem.js +65 -0
- package/dist/esm/modules/appCatalog/ScreenshotItem.js.map +1 -0
- package/dist/esm/modules/appCatalog/ScreenshotManager.d.ts +15 -0
- package/dist/esm/modules/appCatalog/ScreenshotManager.js +155 -0
- package/dist/esm/modules/appCatalog/ScreenshotManager.js.map +1 -0
- package/dist/esm/modules/appCatalog/api/ApiQueryMagazineAppCatalog.d.ts +11 -0
- package/dist/esm/modules/appCatalog/api/ApiQueryMagazineAppCatalog.js +14 -0
- package/dist/esm/modules/appCatalog/api/ApiQueryMagazineAppCatalog.js.map +1 -0
- package/dist/esm/modules/appCatalog/catalogRouteLoader.d.ts +5 -0
- package/dist/esm/modules/appCatalog/catalogRouteLoader.js +20 -0
- package/dist/esm/modules/appCatalog/catalogRouteLoader.js.map +1 -0
- package/dist/esm/modules/appCatalog/context/AppCatalogContext.d.ts +14 -0
- package/dist/esm/modules/appCatalog/context/AppCatalogContext.js +34 -0
- package/dist/esm/modules/appCatalog/context/AppCatalogContext.js.map +1 -0
- package/dist/esm/modules/appCatalog/index.d.ts +10 -0
- package/dist/esm/modules/appCatalog/routeLoader.d.ts +3 -0
- package/dist/esm/modules/appCatalog/routeLoader.js +7 -0
- package/dist/esm/modules/appCatalog/routeLoader.js.map +1 -0
- package/dist/esm/modules/appCatalog/ui/components/AppDetailModal.d.ts +7 -0
- package/dist/esm/modules/appCatalog/ui/components/AppDetailModal.js +208 -0
- package/dist/esm/modules/appCatalog/ui/components/AppDetailModal.js.map +1 -0
- package/dist/esm/modules/appCatalog/ui/grid/AppCatalogFiltersCard.d.ts +9 -0
- package/dist/esm/modules/appCatalog/ui/grid/AppCatalogGrid.d.ts +6 -0
- package/dist/esm/modules/appCatalog/ui/grid/AppCatalogGrid.js +111 -0
- package/dist/esm/modules/appCatalog/ui/grid/AppCatalogGrid.js.map +1 -0
- package/dist/esm/modules/appCatalog/ui/grid/AppCatalogTable.d.ts +5 -0
- package/dist/esm/modules/appCatalog/ui/grid/appCatalogUtils.d.ts +3 -0
- package/dist/esm/modules/appCatalog/ui/layout/AppCatalogLayout.d.ts +9 -0
- package/dist/esm/modules/appCatalog/ui/layout/AppCatalogLayout.js +28 -0
- package/dist/esm/modules/appCatalog/ui/layout/AppCatalogLayout.js.map +1 -0
- package/dist/esm/modules/appCatalog/ui/pages/AppCatalogPage.d.ts +1 -0
- package/dist/esm/modules/appCatalog/ui/pages/AppCatalogPage.js +68 -0
- package/dist/esm/modules/appCatalog/ui/pages/AppCatalogPage.js.map +1 -0
- package/dist/esm/modules/auth/AuthContext.d.ts +38 -0
- package/dist/esm/modules/auth/AuthContext.js +80 -0
- package/dist/esm/modules/auth/AuthContext.js.map +1 -0
- package/dist/esm/modules/auth/AuthModalContext.d.ts +19 -0
- package/dist/esm/modules/auth/AuthModalContext.js +33 -0
- package/dist/esm/modules/auth/AuthModalContext.js.map +1 -0
- package/dist/esm/modules/auth/ProtectedContent.d.ts +19 -0
- package/dist/esm/modules/auth/authClient.d.ts +704 -0
- package/dist/esm/modules/auth/authClient.js +8 -0
- package/dist/esm/modules/auth/authClient.js.map +1 -0
- package/dist/esm/modules/auth/index.d.ts +5 -0
- package/dist/esm/modules/auth/ui/LoginModal.d.ts +6 -0
- package/dist/esm/modules/auth/ui/LoginModal.js +22 -0
- package/dist/esm/modules/auth/ui/LoginModal.js.map +1 -0
- package/dist/esm/modules/auth/ui/LoginPage.d.ts +5 -0
- package/dist/esm/modules/auth/ui/LoginPage.js +50 -0
- package/dist/esm/modules/auth/ui/LoginPage.js.map +1 -0
- package/dist/esm/modules/auth/useAuthActions.d.ts +17 -0
- package/dist/esm/modules/auth/useAuthActions.js +62 -0
- package/dist/esm/modules/auth/useAuthActions.js.map +1 -0
- package/dist/esm/modules/config/BootstrapConfigContext.d.ts +1 -1
- package/dist/esm/modules/config/BootstrapConfigContext.js +2 -12
- package/dist/esm/modules/config/BootstrapConfigContext.js.map +1 -1
- package/dist/esm/modules/config/HealthStateContext.d.ts +16 -0
- package/dist/esm/modules/crossCuttingParams/CrossCuttingParamsContext.d.ts +16 -0
- package/dist/esm/modules/crossCuttingParams/CrossCuttingParamsContext.js +44 -0
- package/dist/esm/modules/crossCuttingParams/CrossCuttingParamsContext.js.map +1 -0
- package/dist/esm/modules/crossCuttingParams/types.d.ts +13 -0
- package/dist/esm/modules/crossCuttingParams/utils/routeLoaderMapper.d.ts +2 -0
- package/dist/esm/modules/environment/{EnvironmentContext.d.ts → context/EnvironmentContext.d.ts} +7 -4
- package/dist/esm/modules/environment/context/EnvironmentContext.js +69 -0
- package/dist/esm/modules/environment/context/EnvironmentContext.js.map +1 -0
- package/dist/esm/modules/environment/context/useEnvironmentHistory.d.ts +5 -0
- package/dist/esm/modules/environment/context/useEnvironmentHistory.js +26 -0
- package/dist/esm/modules/environment/context/useEnvironmentHistory.js.map +1 -0
- package/dist/esm/modules/fuzzyMatchLogic/autoCompleteFilter.js +48 -8
- package/dist/esm/modules/fuzzyMatchLogic/autoCompleteFilter.js.map +1 -1
- package/dist/esm/modules/fuzzyMatchLogic/features/positionBonus.d.ts +1 -0
- package/dist/esm/modules/fuzzyMatchLogic/fixLayout.js +23 -0
- package/dist/esm/modules/fuzzyMatchLogic/fixLayout.js.map +1 -0
- package/dist/esm/modules/fuzzyMatchLogic/postFiltration.d.ts +16 -0
- package/dist/esm/modules/fuzzyMatchLogic/tokenize.js +29 -0
- package/dist/esm/modules/fuzzyMatchLogic/tokenize.js.map +1 -0
- package/dist/esm/modules/fuzzyMatchLogic/types.d.ts +1 -0
- package/dist/esm/modules/icons/IconManagementPage.d.ts +1 -0
- package/dist/esm/modules/icons/IconManagementPage.js +178 -0
- package/dist/esm/modules/icons/IconManagementPage.js.map +1 -0
- package/dist/esm/modules/pluginCore/PluginManagerContext.d.ts +1 -6
- package/dist/esm/modules/pluginCore/PluginManagerContext.js +13 -46
- package/dist/esm/modules/pluginCore/PluginManagerContext.js.map +1 -1
- package/dist/esm/modules/pluginCore/makePluginManagerContext.d.ts +1 -4
- package/dist/esm/modules/pluginCore/makePluginManagerContext.js +2 -20
- package/dist/esm/modules/pluginCore/makePluginManagerContext.js.map +1 -1
- package/dist/esm/modules/pluginCore/types.d.ts +0 -12
- package/dist/esm/modules/resourceJump/api/ApiQueryMagazineResourceJump.d.ts +45 -0
- package/dist/esm/modules/resourceJump/api/ApiQueryMagazineResourceJump.js +42 -0
- package/dist/esm/modules/resourceJump/api/ApiQueryMagazineResourceJump.js.map +1 -0
- package/dist/esm/modules/resourceJump/context/ResourceJumpContext.d.ts +34 -0
- package/dist/esm/modules/resourceJump/context/ResourceJumpContext.js +280 -0
- package/dist/esm/modules/resourceJump/context/ResourceJumpContext.js.map +1 -0
- package/dist/esm/modules/resourceJump/context/useResouceJumpHistory.d.ts +8 -0
- package/dist/esm/modules/resourceJump/context/useResouceJumpHistory.js +86 -0
- package/dist/esm/modules/resourceJump/context/useResouceJumpHistory.js.map +1 -0
- package/dist/esm/modules/resourceJump/routeLoader.js +19 -31
- package/dist/esm/modules/resourceJump/routeLoader.js.map +1 -1
- package/dist/esm/modules/resourceJump/types.d.ts +22 -6
- package/dist/esm/modules/resourceJump/ui/AppSwitcher.d.ts +4 -0
- package/dist/esm/modules/resourceJump/ui/CredentialsWidget.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/EnvSwitcher.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/JumpALink.d.ts +2 -5
- package/dist/esm/modules/resourceJump/ui/JumpMainButton.d.ts +3 -0
- package/dist/esm/modules/resourceJump/ui/LateResolvableSingleParam.d.ts +3 -0
- package/dist/esm/modules/resourceJump/ui/LateResolvableSingleParam.js +42 -0
- package/dist/esm/modules/resourceJump/ui/LateResolvableSingleParam.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/LateResolvableTopParam.d.ts +8 -0
- package/dist/esm/modules/resourceJump/ui/LateResolvableTopParam.js +26 -0
- package/dist/esm/modules/resourceJump/ui/LateResolvableTopParam.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/ResolvableParameterSelector.d.ts +7 -0
- package/dist/esm/modules/resourceJump/ui/ResolvableParameters.d.ts +5 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpBreadcrumbs.d.ts +4 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpBreadcrumbs.js +59 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpBreadcrumbs.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpButton.d.ts +13 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpButton.js +52 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpButton.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpMockTable.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpMockTable.js +180 -0
- package/dist/esm/modules/resourceJump/ui/ResourceJumpMockTable.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/ShareLinkButton.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/ShareLinkButton.js +84 -0
- package/dist/esm/modules/resourceJump/ui/ShareLinkButton.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/SmoothSwitcher.d.ts +10 -0
- package/dist/esm/modules/resourceJump/ui/TopQuickJump.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/appCatalog/AppCatalogFiltersCard.d.ts +9 -0
- package/dist/esm/modules/resourceJump/ui/appCatalog/AppCatalogGrid.d.ts +6 -0
- package/dist/esm/modules/resourceJump/ui/appCatalog/AppCatalogTable.d.ts +6 -0
- package/dist/esm/modules/resourceJump/ui/appCatalog/appCatalogUtils.d.ts +2 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/AppAutocomplete.d.ts +11 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/CmdKQuickSearchDialog.d.ts +5 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/CommandPalette.d.ts +18 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/CommandPalette.js +35 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/CommandPalette.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/EnvAutocomplete.d.ts +11 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/EnvAutocomplete.js +201 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/EnvAutocomplete.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/QuickSearch.d.ts +3 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/QuickSearch.js +101 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/QuickSearch.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/QuickSearchContext.d.ts +20 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/QuickSearchContext.js +40 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/QuickSearchContext.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/highlightText.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/highlightText.js +13 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/highlightText.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/types.d.ts +6 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/useCmdkDriver.d.ts +8 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/useQuickSearchLogic.d.ts +6 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/useQuickSearchLogic.js +69 -0
- package/dist/esm/modules/resourceJump/ui/cmdk/useQuickSearchLogic.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/layout/CenterColumn.d.ts +3 -0
- package/dist/esm/modules/resourceJump/ui/layout/CenterColumn.js +8 -0
- package/dist/esm/modules/resourceJump/ui/layout/CenterColumn.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/layout/LeftColumn.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/layout/ResourceJumpLayout.d.ts +11 -0
- package/dist/esm/modules/resourceJump/ui/layout/ResourceJumpLayout.js +39 -0
- package/dist/esm/modules/resourceJump/ui/layout/ResourceJumpLayout.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/layout/RightColumn.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/miniEnvSelector/MiniEnvSelectorPopover.d.ts +7 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppCatalog.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppCatalog.js +64 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppCatalog.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPage.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPage.js +17 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPage.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPageFlagship.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPageFlagship.js +94 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPageFlagship.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPageRegular.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPageRegular.js +16 -0
- package/dist/esm/modules/resourceJump/ui/pages/AppPageRegular.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/DashboardPage.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/DashboardPage.js +15 -0
- package/dist/esm/modules/resourceJump/ui/pages/DashboardPage.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/EnvCatalog.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/EnvCatalog.js +48 -0
- package/dist/esm/modules/resourceJump/ui/pages/EnvCatalog.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/EnvPage.d.ts +10 -0
- package/dist/esm/modules/resourceJump/ui/pages/EnvPage.js +83 -0
- package/dist/esm/modules/resourceJump/ui/pages/EnvPage.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/HomePage.d.ts +1 -0
- package/dist/esm/modules/resourceJump/ui/pages/HomePage.js +36 -0
- package/dist/esm/modules/resourceJump/ui/pages/HomePage.js.map +1 -0
- package/dist/esm/modules/resourceJump/ui/widgets/VersionWidget.d.ts +5 -0
- package/dist/esm/modules/resourceJump/utils/buildJumpUrl.d.ts +2 -0
- package/dist/esm/modules/resourceJump/utils/buildJumpUrl.js +28 -0
- package/dist/esm/modules/resourceJump/utils/buildJumpUrl.js.map +1 -0
- package/dist/esm/modules/resourceJump/{findBestMatchByUrl.d.ts → utils/findBestMatchByUrl.d.ts} +4 -4
- package/dist/esm/modules/resourceJump/{helpers.d.ts → utils/helpers.d.ts} +8 -4
- package/dist/esm/modules/resourceJump/utils/helpers.js +30 -0
- package/dist/esm/modules/resourceJump/utils/helpers.js.map +1 -0
- package/dist/esm/modules/resourceJump/utils/mapToFlagshipResourceJumps.d.ts +12 -0
- package/dist/esm/modules/resourceJump/utils/mapToFlagshipResourceJumps.js +38 -0
- package/dist/esm/modules/resourceJump/utils/mapToFlagshipResourceJumps.js.map +1 -0
- package/dist/esm/modules/resourceJump/utils/mapToResouceJumpUis.d.ts +4 -0
- package/dist/esm/modules/resourceJump/utils/mapToResouceJumpUis.js +17 -0
- package/dist/esm/modules/resourceJump/utils/mapToResouceJumpUis.js.map +1 -0
- package/dist/esm/modules/resourceJump/utils/statistics/statisticsHelpers.d.ts +8 -0
- package/dist/esm/modules/resourceJump/utils/statistics/useEnvStatistics.d.ts +2 -0
- package/dist/esm/modules/resourceJump/utils/statistics/useEnvStatistics.js +25 -0
- package/dist/esm/modules/resourceJump/utils/statistics/useEnvStatistics.js.map +1 -0
- package/dist/esm/modules/resourceJump/utils/statistics/useMostRelevantLateParamSlug.d.ts +1 -0
- package/dist/esm/modules/resourceJump/utils/statistics/useMostRelevantLateParamSlug.js +12 -0
- package/dist/esm/modules/resourceJump/utils/statistics/useMostRelevantLateParamSlug.js.map +1 -0
- package/dist/esm/modules/resourceJump/utils/statistics/useMostRelevantQuickEnvs.d.ts +2 -0
- package/dist/esm/modules/resourceJump/utils/statistics/useMostRelevantQuickFlagships.d.ts +2 -0
- package/dist/esm/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.1.2/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +60 -0
- package/dist/esm/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.1.2/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.1.2_react@19.1.2__react@19.1.2/node_modules/@dnd-kit/core/dist/core.esm.js +3055 -0
- package/dist/esm/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.1.2_react@19.1.2__react@19.1.2/node_modules/@dnd-kit/core/dist/core.esm.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.1.2_react@19.1.2__react@19.1.2__react@19.1.2/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +593 -0
- package/dist/esm/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.1.2_react@19.1.2__react@19.1.2__react@19.1.2/node_modules/@dnd-kit/sortable/dist/sortable.esm.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.1.2/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +302 -0
- package/dist/esm/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.1.2/node_modules/@dnd-kit/utilities/dist/utilities.esm.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@hookform_resolvers@5.2.2_react-hook-form@7.71.1_react@19.1.2_/node_modules/@hookform/resolvers/dist/resolvers.js +34 -0
- package/dist/esm/node_modules/.pnpm/@hookform_resolvers@5.2.2_react-hook-form@7.71.1_react@19.1.2_/node_modules/@hookform/resolvers/dist/resolvers.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@hookform_resolvers@5.2.2_react-hook-form@7.71.1_react@19.1.2_/node_modules/@hookform/resolvers/zod/dist/zod.js +94 -0
- package/dist/esm/node_modules/.pnpm/@hookform_resolvers@5.2.2_react-hook-form@7.71.1_react@19.1.2_/node_modules/@hookform/resolvers/zod/dist/zod.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/TanStackRouterDevtools.js +72 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/TanStackRouterDevtools.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/TanStackRouterDevtoolsPanel.js +44 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/TanStackRouterDevtoolsPanel.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/index.js +12 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_react-router-devtools@1.151.6_@tanstack_react-router@1.151.6_react-dom@19.1.2_20b78d099e847743bc64b4d051c71d30/node_modules/@tanstack/react-router-devtools/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/new-process-route-tree.js +95 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/new-process-route-tree.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/path.js +107 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/path.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/root.js +5 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-core@1.151.6/node_modules/@tanstack/router-core/dist/esm/root.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/BaseTanStackRouterDevtoolsPanel-DxaCaP75.js +1963 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/BaseTanStackRouterDevtoolsPanel-DxaCaP75.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/FloatingTanStackRouterDevtools-CaypUmOS.js +284 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/FloatingTanStackRouterDevtools-CaypUmOS.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/index-5jfj03XJ.js +1855 -0
- package/dist/esm/node_modules/.pnpm/@tanstack_router-devtools-core@1.151.6_@tanstack_router-core@1.151.6_csstype@3.2.3/node_modules/@tanstack/router-devtools-core/dist/index-5jfj03XJ.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/goober@2.1.18_csstype@3.2.3/node_modules/goober/dist/goober.modern.js +56 -0
- package/dist/esm/node_modules/.pnpm/goober@2.1.18_csstype@3.2.3/node_modules/goober/dist/goober.modern.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/react-hook-form@7.71.1_react@19.1.2/node_modules/react-hook-form/dist/index.esm.js +1894 -0
- package/dist/esm/node_modules/.pnpm/react-hook-form@7.71.1_react@19.1.2/node_modules/react-hook-form/dist/index.esm.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +17 -0
- package/dist/esm/node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/errors.js +45 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/iso.js +44 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/parse.js +30 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/schemas.js +622 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js +492 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.js +244 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.js +75 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/doc.js +38 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js +73 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.js +270 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/parse.js +100 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/regexes.js +78 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.js +52 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.js +1225 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.js +363 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js +407 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.js +9 -0
- package/dist/esm/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/esm/packages/shared-core/dist/esm/defaultWithOverridesAndTemplate.js +35 -0
- package/dist/esm/packages/shared-core/dist/esm/defaultWithOverridesAndTemplate.js.map +1 -0
- package/dist/esm/plugins/builtin/pageUrl/pageUrlAutoCompletePlugin.d.ts +3 -5
- package/dist/esm/routeTree.gen.d.ts +250 -91
- package/dist/esm/routeTree.gen.js +122 -50
- package/dist/esm/routeTree.gen.js.map +1 -1
- package/dist/esm/routes/__root.d.ts +1 -1
- package/dist/esm/routes/__root.js +6 -5
- package/dist/esm/routes/__root.js.map +1 -1
- package/dist/esm/routes/_layout/app.$appSlug.index.d.ts +1 -0
- package/dist/esm/routes/_layout/app._appSlug.index.js +13 -0
- package/dist/esm/routes/_layout/app._appSlug.index.js.map +1 -0
- package/dist/esm/routes/_layout/app._appSlug.index2.js +16 -0
- package/dist/esm/routes/_layout/app._appSlug.index2.js.map +1 -0
- package/dist/esm/routes/_layout/apps.index.d.ts +1 -0
- package/dist/esm/routes/_layout/apps.index.js +13 -0
- package/dist/esm/routes/_layout/apps.index.js.map +1 -0
- package/dist/esm/routes/_layout/apps.index2.js +16 -0
- package/dist/esm/routes/_layout/apps.index2.js.map +1 -0
- package/dist/esm/routes/_layout/catalog.apps.index.d.ts +4 -0
- package/dist/esm/routes/_layout/catalog.apps.index.js +18 -0
- package/dist/esm/routes/_layout/catalog.apps.index.js.map +1 -0
- package/dist/esm/routes/_layout/catalog.apps.index2.js +15 -0
- package/dist/esm/routes/_layout/catalog.apps.index2.js.map +1 -0
- package/dist/esm/routes/_layout/catalog.index.d.ts +1 -0
- package/dist/esm/routes/_layout/catalog.index.js +15 -0
- package/dist/esm/routes/_layout/catalog.index.js.map +1 -0
- package/dist/esm/routes/_layout/catalog.index2.js +16 -0
- package/dist/esm/routes/_layout/catalog.index2.js.map +1 -0
- package/dist/esm/routes/_layout/dashboard.index.d.ts +1 -0
- package/dist/esm/routes/_layout/dashboard.index.js +13 -0
- package/dist/esm/routes/_layout/dashboard.index.js.map +1 -0
- package/dist/esm/routes/_layout/dashboard.index2.js +16 -0
- package/dist/esm/routes/_layout/dashboard.index2.js.map +1 -0
- package/dist/esm/routes/_layout/env.$envSlug.app.$appSlug.index.d.ts +1 -0
- package/dist/esm/routes/_layout/env.$envSlug.index.d.ts +1 -0
- package/dist/esm/routes/_layout/env._envSlug.app._appSlug.index.js +13 -0
- package/dist/esm/routes/_layout/env._envSlug.app._appSlug.index.js.map +1 -0
- package/dist/esm/routes/_layout/env._envSlug.app._appSlug.index2.js +16 -0
- package/dist/esm/routes/_layout/env._envSlug.app._appSlug.index2.js.map +1 -0
- package/dist/esm/routes/_layout/env._envSlug.index.js +13 -0
- package/dist/esm/routes/_layout/env._envSlug.index.js.map +1 -0
- package/dist/esm/routes/_layout/env._envSlug.index2.js +16 -0
- package/dist/esm/routes/_layout/env._envSlug.index2.js.map +1 -0
- package/dist/esm/routes/_layout/envs.index.d.ts +1 -0
- package/dist/esm/routes/_layout/envs.index.js +13 -0
- package/dist/esm/routes/_layout/envs.index.js.map +1 -0
- package/dist/esm/routes/_layout/envs.index2.js +16 -0
- package/dist/esm/routes/_layout/envs.index2.js.map +1 -0
- package/dist/esm/routes/_layout/index.d.ts +27 -1
- package/dist/esm/routes/_layout/index.js +14 -10
- package/dist/esm/routes/_layout/index.js.map +1 -1
- package/dist/esm/routes/_layout/index2.js +24 -0
- package/dist/esm/routes/_layout/index2.js.map +1 -0
- package/dist/esm/routes/_layout/login.d.ts +1 -0
- package/dist/esm/routes/_layout/login.js +9 -0
- package/dist/esm/routes/_layout/login.js.map +1 -0
- package/dist/esm/routes/_layout/login2.js +16 -0
- package/dist/esm/routes/_layout/login2.js.map +1 -0
- package/dist/esm/routes/_layout.d.ts +1 -1
- package/dist/esm/routes/_layout.js +3 -6
- package/dist/esm/routes/_layout.js.map +1 -1
- package/dist/esm/routes/_layout2.js +9 -0
- package/dist/esm/routes/_layout2.js.map +1 -0
- package/dist/esm/routes/admin/app-for-catalog/$id.d.ts +5 -0
- package/dist/esm/routes/admin/app-for-catalog/_id.js +47 -0
- package/dist/esm/routes/admin/app-for-catalog/_id.js.map +1 -0
- package/dist/esm/routes/admin/app-for-catalog/_id2.js +269 -0
- package/dist/esm/routes/admin/app-for-catalog/_id2.js.map +1 -0
- package/dist/esm/routes/admin/app-for-catalog/index.d.ts +1 -0
- package/dist/esm/routes/admin/app-for-catalog/index.js +9 -0
- package/dist/esm/routes/admin/app-for-catalog/index.js.map +1 -0
- package/dist/esm/routes/admin/app-for-catalog/index2.js +12 -0
- package/dist/esm/routes/admin/app-for-catalog/index2.js.map +1 -0
- package/dist/esm/routes/admin/app-for-catalog.d.ts +1 -0
- package/dist/esm/routes/admin/app-for-catalog.js +14 -0
- package/dist/esm/routes/admin/app-for-catalog.js.map +1 -0
- package/dist/esm/routes/admin/app-for-catalog2.js +9 -0
- package/dist/esm/routes/admin/app-for-catalog2.js.map +1 -0
- package/dist/esm/routes/admin/chat.d.ts +1 -0
- package/dist/esm/routes/admin/chat.js +14 -0
- package/dist/esm/routes/admin/chat.js.map +1 -0
- package/dist/esm/routes/admin/chat2.js +9 -0
- package/dist/esm/routes/admin/chat2.js.map +1 -0
- package/dist/esm/routes/admin/icons.d.ts +1 -0
- package/dist/esm/routes/admin/icons.js +14 -0
- package/dist/esm/routes/admin/icons.js.map +1 -0
- package/dist/esm/routes/admin/icons2.js +12 -0
- package/dist/esm/routes/admin/icons2.js.map +1 -0
- package/dist/esm/routes/admin/index.d.ts +1 -0
- package/dist/esm/routes/admin/index.js +9 -0
- package/dist/esm/routes/admin/index.js.map +1 -0
- package/dist/esm/routes/admin/index2.js +9 -0
- package/dist/esm/routes/admin/index2.js.map +1 -0
- package/dist/esm/routes/admin.d.ts +1 -0
- package/dist/esm/routes/admin.js +14 -0
- package/dist/esm/routes/admin.js.map +1 -0
- package/dist/esm/routes/admin2.js +18 -0
- package/dist/esm/routes/admin2.js.map +1 -0
- package/dist/esm/routes/auth.callback.d.ts +4 -0
- package/dist/esm/routes/auth.callback.js +13 -0
- package/dist/esm/routes/auth.callback.js.map +1 -0
- package/dist/esm/routes/auth.callback2.js +49 -0
- package/dist/esm/routes/auth.callback2.js.map +1 -0
- package/dist/esm/types/ehTypes.d.ts +2 -5
- package/dist/esm/types/tanstackQuery.d.ts +2 -0
- package/dist/esm/types/types.d.ts +12 -3
- package/dist/esm/types/userBehaviourTypes.d.ts +1 -1
- package/dist/esm/ui/autocomplete.d.ts +29 -0
- package/dist/esm/ui/autocomplete.js +164 -0
- package/dist/esm/ui/autocomplete.js.map +1 -0
- package/dist/esm/ui/badge.js +27 -0
- package/dist/esm/ui/badge.js.map +1 -0
- package/dist/esm/ui/breadcrumb.d.ts +11 -0
- package/dist/esm/ui/breadcrumb.js +84 -0
- package/dist/esm/ui/breadcrumb.js.map +1 -0
- package/dist/esm/ui/button-group.d.ts +11 -0
- package/dist/esm/ui/button-group.js +40 -0
- package/dist/esm/ui/button-group.js.map +1 -0
- package/dist/esm/ui/button.d.ts +13 -0
- package/dist/esm/ui/button.js +53 -0
- package/dist/esm/ui/button.js.map +1 -0
- package/dist/esm/ui/card.d.ts +9 -0
- package/dist/esm/ui/card.js +66 -0
- package/dist/esm/ui/card.js.map +1 -0
- package/dist/esm/ui/checkbox.d.ts +4 -0
- package/dist/esm/ui/checkbox.js +32 -0
- package/dist/esm/ui/checkbox.js.map +1 -0
- package/dist/esm/{components/ui → ui}/collapsible.d.ts +1 -1
- package/dist/esm/ui/collapsible.js +47 -0
- package/dist/esm/ui/collapsible.js.map +1 -0
- package/dist/esm/ui/command.d.ts +20 -0
- package/dist/esm/ui/command.js +168 -0
- package/dist/esm/ui/command.js.map +1 -0
- package/dist/esm/ui/components/Breadcrumbs.d.ts +19 -0
- package/dist/esm/ui/components/Breadcrumbs.js +36 -0
- package/dist/esm/ui/components/Breadcrumbs.js.map +1 -0
- package/dist/esm/ui/components/commandInput/EhBaseSelector.d.ts +0 -4
- package/dist/esm/ui/components/contextDebug.js +54 -6
- package/dist/esm/ui/components/contextDebug.js.map +1 -1
- package/dist/esm/ui/components/error/DefaultErrorComponent.d.ts +2 -1
- package/dist/esm/ui/components/error/DefaultErrorComponent.js +75 -8
- package/dist/esm/ui/components/error/DefaultErrorComponent.js.map +1 -1
- package/dist/esm/ui/components/error/RootErrorPage.d.ts +2 -0
- package/dist/esm/ui/components/error/RootErrorPage.js +9 -0
- package/dist/esm/ui/components/error/RootErrorPage.js.map +1 -0
- package/dist/esm/ui/components/footer/Footer.js +33 -30
- package/dist/esm/ui/components/footer/Footer.js.map +1 -1
- package/dist/esm/ui/components/header/Header.d.ts +5 -0
- package/dist/esm/ui/components/header/Header.js +111 -0
- package/dist/esm/ui/components/header/Header.js.map +1 -0
- package/dist/esm/ui/components/quickBar/AppQuickJumpBar.d.ts +5 -0
- package/dist/esm/ui/components/quickBar/QuickJumpButton.d.ts +7 -0
- package/dist/esm/ui/components/quickBar/ResourceJumpGroupViewer.d.ts +5 -0
- package/dist/esm/ui/components/quickBar/arrangeGridItems.d.ts +16 -0
- package/dist/esm/{components/ui → ui}/dialog.d.ts +3 -9
- package/dist/esm/ui/dialog.js +137 -0
- package/dist/esm/ui/dialog.js.map +1 -0
- package/dist/esm/{components/ui → ui}/dropdown-menu.d.ts +2 -2
- package/dist/esm/ui/dropdown-menu.js +79 -0
- package/dist/esm/ui/dropdown-menu.js.map +1 -0
- package/dist/esm/ui/empty.d.ts +11 -0
- package/dist/esm/ui/empty.js +103 -0
- package/dist/esm/ui/empty.js.map +1 -0
- package/dist/esm/ui/error/NotFoundError.js +4 -3
- package/dist/esm/ui/error/NotFoundError.js.map +1 -1
- package/dist/esm/ui/form.d.ts +56 -0
- package/dist/esm/ui/form.js +134 -0
- package/dist/esm/ui/form.js.map +1 -0
- package/dist/esm/ui/input-group.d.ts +16 -0
- package/dist/esm/ui/input-group.js +125 -0
- package/dist/esm/ui/input-group.js.map +1 -0
- package/dist/esm/ui/input.d.ts +3 -0
- package/dist/esm/ui/input.js +22 -0
- package/dist/esm/ui/input.js.map +1 -0
- package/dist/esm/ui/label.d.ts +4 -0
- package/dist/esm/ui/label.js +23 -0
- package/dist/esm/ui/label.js.map +1 -0
- package/dist/esm/ui/layout/LoadingScreen.d.ts +3 -1
- package/dist/esm/ui/layout/LoadingScreen.js +47 -7
- package/dist/esm/ui/layout/LoadingScreen.js.map +1 -1
- package/dist/esm/ui/layout/MainLayout.d.ts +3 -1
- package/dist/esm/ui/layout/MainLayout.js +5 -6
- package/dist/esm/ui/layout/MainLayout.js.map +1 -1
- package/dist/esm/ui/layout/TopLevelProviders.d.ts +5 -0
- package/dist/esm/ui/layout/TopLevelProviders.js +39 -18
- package/dist/esm/ui/layout/TopLevelProviders.js.map +1 -1
- package/dist/esm/ui/layout/TopLevelProvidersForErrors.d.ts +10 -0
- package/dist/esm/ui/layout/TopLevelProvidersForErrors.js +24 -0
- package/dist/esm/ui/layout/TopLevelProvidersForErrors.js.map +1 -0
- package/dist/esm/ui/link.d.ts +10 -0
- package/dist/esm/ui/link.js +28 -0
- package/dist/esm/ui/link.js.map +1 -0
- package/dist/esm/ui/linkExternal.d.ts +8 -0
- package/dist/esm/ui/linkExternal.js +26 -0
- package/dist/esm/ui/linkExternal.js.map +1 -0
- package/dist/esm/ui/radio-group.d.ts +5 -0
- package/dist/esm/ui/scroll-area.js +62 -0
- package/dist/esm/ui/scroll-area.js.map +1 -0
- package/dist/esm/ui/search-input-with-shortcut.d.ts +25 -0
- package/dist/esm/ui/select.d.ts +15 -0
- package/dist/esm/ui/select.js +138 -0
- package/dist/esm/ui/select.js.map +1 -0
- package/dist/esm/{components/ui → ui}/separator.js +1 -1
- package/dist/esm/ui/separator.js.map +1 -0
- package/dist/esm/ui/shortcut-button.d.ts +24 -0
- package/dist/esm/ui/shortcut-button.js +57 -0
- package/dist/esm/ui/shortcut-button.js.map +1 -0
- package/dist/esm/ui/skeleton.d.ts +2 -0
- package/dist/esm/ui/skeleton.js +16 -0
- package/dist/esm/ui/skeleton.js.map +1 -0
- package/dist/esm/ui/spinner.d.ts +2 -0
- package/dist/esm/ui/spinner.js +18 -0
- package/dist/esm/ui/spinner.js.map +1 -0
- package/dist/esm/ui/table.d.ts +10 -0
- package/dist/esm/ui/table.js +87 -0
- package/dist/esm/ui/table.js.map +1 -0
- package/dist/esm/ui/textarea.d.ts +3 -0
- package/dist/esm/ui/textarea.js +19 -0
- package/dist/esm/ui/textarea.js.map +1 -0
- package/dist/esm/ui/tooltip.d.ts +7 -0
- package/dist/esm/userDb/EhDb.d.ts +16 -2
- package/dist/esm/userDb/EhDb.js +28 -2
- package/dist/esm/userDb/EhDb.js.map +1 -1
- package/dist/esm/util/availabilityMatrixUtils.d.ts +2 -2
- package/dist/esm/util/createEhRouter.d.ts +1 -1
- package/dist/esm/util/createEhRouter.js +4 -1
- package/dist/esm/util/createEhRouter.js.map +1 -1
- package/dist/esm/util/error-utils.d.ts +6 -0
- package/dist/esm/util/error-utils.js +28 -0
- package/dist/esm/util/error-utils.js.map +1 -0
- package/dist/esm/util/reactQueryUtils.d.ts +4 -0
- package/dist/esm/util/reactQueryUtils.js +7 -0
- package/dist/esm/util/reactQueryUtils.js.map +1 -1
- package/dist/esm/util/route-utils.d.ts +23 -2
- package/dist/esm/util/route-utils.js +11 -37
- package/dist/esm/util/route-utils.js.map +1 -1
- package/dist/esm/util/slug-utils.d.ts +12 -0
- package/dist/index.css +225 -0
- package/dist/public/app-catalog-16x16.png +0 -0
- package/dist/public/app-catalog-192x192.png +0 -0
- package/dist/public/app-catalog-32x32.png +0 -0
- package/dist/public/app-catalog-48x48.png +0 -0
- package/dist/public/app-catalog-512x512.png +0 -0
- package/dist/public/app-catalog-square.svg +160 -0
- package/dist/public/app-catalog.png +0 -0
- package/dist/public/app-catalog.svg +198 -0
- package/dist/public/favicon-app-catalog.ico +0 -0
- package/package.json +55 -16
- package/public/app-catalog-16x16.png +0 -0
- package/public/app-catalog-192x192.png +0 -0
- package/public/app-catalog-32x32.png +0 -0
- package/public/app-catalog-48x48.png +0 -0
- package/public/app-catalog-512x512.png +0 -0
- package/public/app-catalog-square.svg +160 -0
- package/public/app-catalog.png +0 -0
- package/public/app-catalog.svg +198 -0
- package/public/apple-touch-180x180.png +0 -0
- package/public/env-hopper-16x16.png +0 -0
- package/public/env-hopper-192x192.png +0 -0
- package/public/env-hopper-32x32.png +0 -0
- package/public/env-hopper-48x48.png +0 -0
- package/public/env-hopper-512x512.png +0 -0
- package/public/env-hopper-square.svg +114 -0
- package/public/favicon-app-catalog.ico +0 -0
- package/public/favicon.ico +0 -0
- package/public/robots.txt +2 -0
- package/src/App.tsx +1 -1
- package/src/__tests__/integration/appQuickJumpBar.integration.test.tsx +25 -0
- package/src/__tests__/integration/factories/BackendMagazine.ts +14 -0
- package/src/__tests__/integration/factories/DbMagazine.ts +13 -0
- package/src/__tests__/integration/factories/app.ts +14 -0
- package/src/__tests__/integration/factories/env.ts +14 -0
- package/src/__tests__/integration/factories/mapper.ts +253 -0
- package/src/__tests__/integration/factories/resourceJump.ts +15 -0
- package/src/__tests__/integration/factories/simpleDSL.ts +8 -0
- package/src/__tests__/integration/factories/types.ts +18 -0
- package/src/__tests__/integration/helpers/renderWithProviders.tsx +182 -0
- package/src/__tests__/integration/helpers/testHelpers.ts +24 -0
- package/src/__tests__/integration/helpers/uiHelpers.ts +166 -0
- package/src/__tests__/integration/quickSlots.integration.test.tsx +17 -0
- package/src/__tests__/integration/resourceJump.integration.test.tsx +184 -0
- package/src/__tests__/integration/setup/svgMock.tsx +10 -0
- package/src/__tests__/integration/setup/testSetup.ts +35 -0
- package/src/__tests__/modules/fuzzyMatchLogic/autoCompleteFilter.test.ts +64 -50
- package/src/__tests__/modules/fuzzyMatchLogic/testUtils.ts +10 -1
- package/src/__tests__/modules/resouceJump/findBestMatchByUrl.test.ts +15 -17
- package/src/__tests__/modules/resouceJump/helpers.test.ts +55 -0
- package/src/__tests__/modules/resouceJump/utils/mapToFlagshipResourceJumps.test.ts +58 -0
- package/src/__tests__/util/TestMagazine.ts +24 -0
- package/src/api/ApiQueryMagazine.ts +2 -2
- package/src/api/data/useQueryBootstrapConfig.ts +7 -6
- package/src/api/infra/createQueryClient.ts +5 -1
- package/src/api/unsorted/appCatalogFetcher.ts +32 -0
- package/src/api/unsorted/createCachingFetcher.ts +159 -0
- package/src/api/unsorted/indexDataFetcher.ts +13 -34
- package/src/api/unsorted/resourceJumpsExtendedFetcher.ts +33 -0
- package/src/api/unsorted/resourceJumpsFetcher.ts +32 -0
- package/src/appPropsFactory.ts +8 -6
- package/src/assets/app-catalog.svg +198 -0
- package/src/components/IconPickerDialog.tsx +136 -0
- package/src/components/IconPickerField.tsx +88 -0
- package/src/components/ThemeSwitcher.tsx +1 -1
- package/src/index.css +14 -0
- package/src/lib/getAppMode.ts +5 -0
- package/src/main.tsx +9 -5
- package/src/modules/admin-base/components/AdminChat.tsx +122 -0
- package/src/modules/admin-base/components/AdminLayout.tsx +105 -0
- package/src/modules/admin-base/components/AdminWelcome.tsx +52 -0
- package/src/modules/admin-base/context/AdminConfigContext.tsx +36 -0
- package/src/modules/admin-base/index.ts +16 -0
- package/src/modules/admin-base/types/adminTypes.ts +11 -0
- package/src/modules/appCatalog/AppCatalogAdminPage.tsx +281 -0
- package/src/modules/appCatalog/AppCatalogEditDialog.tsx +268 -0
- package/src/modules/appCatalog/ScreenshotItem.tsx +63 -0
- package/src/modules/appCatalog/ScreenshotManager.tsx +193 -0
- package/src/modules/appCatalog/api/ApiQueryMagazineAppCatalog.ts +12 -0
- package/src/modules/appCatalog/catalogRouteLoader.ts +28 -0
- package/src/modules/appCatalog/context/AppCatalogContext.tsx +46 -0
- package/src/modules/appCatalog/index.ts +16 -0
- package/src/modules/appCatalog/routeLoader.ts +9 -0
- package/src/modules/appCatalog/ui/components/AppDetailModal.tsx +283 -0
- package/src/modules/appCatalog/ui/grid/AppCatalogFiltersCard.tsx +79 -0
- package/src/modules/appCatalog/ui/grid/AppCatalogGrid.tsx +160 -0
- package/src/modules/appCatalog/ui/grid/AppCatalogTable.tsx +89 -0
- package/src/modules/appCatalog/ui/grid/appCatalogUtils.ts +30 -0
- package/src/modules/appCatalog/ui/layout/AppCatalogLayout.tsx +55 -0
- package/src/modules/appCatalog/ui/pages/AppCatalogPage.tsx +86 -0
- package/src/modules/auth/AuthContext.tsx +117 -0
- package/src/modules/auth/AuthModalContext.tsx +49 -0
- package/src/modules/auth/ProtectedContent.tsx +55 -0
- package/src/modules/auth/authClient.ts +9 -0
- package/src/modules/auth/index.ts +6 -0
- package/src/modules/auth/ui/LoginModal.tsx +36 -0
- package/src/modules/auth/ui/LoginPage.tsx +62 -0
- package/src/modules/auth/useAuthActions.ts +85 -0
- package/src/modules/config/BootstrapConfigContext.tsx +1 -1
- package/src/modules/config/HealthStateContext.tsx +47 -0
- package/src/modules/crossCuttingParams/CrossCuttingParamsContext.tsx +75 -0
- package/src/modules/crossCuttingParams/types.ts +18 -0
- package/src/modules/crossCuttingParams/utils/routeLoaderMapper.ts +7 -0
- package/src/modules/environment/{EnvironmentContext.tsx → context/EnvironmentContext.tsx} +37 -30
- package/src/modules/environment/context/useEnvironmentHistory.ts +30 -0
- package/src/modules/fuzzyMatchLogic/autoCompleteFilter.ts +86 -11
- package/src/modules/fuzzyMatchLogic/features/positionBonus.ts +29 -0
- package/src/modules/fuzzyMatchLogic/features/prefixFracTokenMiddles.ts +1 -1
- package/src/modules/fuzzyMatchLogic/postFiltration.ts +133 -0
- package/src/modules/fuzzyMatchLogic/scoring.ts +7 -1
- package/src/modules/fuzzyMatchLogic/tokenize.ts +12 -1
- package/src/modules/fuzzyMatchLogic/types.ts +1 -0
- package/src/modules/icons/IconManagementPage.tsx +237 -0
- package/src/modules/pluginCore/PluginManagerContext.tsx +14 -43
- package/src/modules/pluginCore/makePluginManagerContext.ts +3 -25
- package/src/modules/pluginCore/types.ts +0 -27
- package/src/modules/resourceJump/api/ApiQueryMagazineResourceJump.ts +52 -0
- package/src/modules/resourceJump/context/ResourceJumpContext.tsx +395 -0
- package/src/modules/resourceJump/context/useResouceJumpHistory.ts +117 -0
- package/src/modules/resourceJump/routeLoader.ts +28 -36
- package/src/modules/resourceJump/types.ts +25 -6
- package/src/modules/resourceJump/ui/AppSwitcher.tsx +22 -0
- package/src/modules/resourceJump/ui/CredentialsWidget.tsx +15 -0
- package/src/modules/resourceJump/ui/EnvSwitcher.tsx +17 -0
- package/src/modules/resourceJump/ui/JumpALink.tsx +3 -11
- package/src/modules/resourceJump/ui/JumpMainButton.tsx +85 -44
- package/src/modules/resourceJump/ui/LateResolvableSingleParam.tsx +47 -0
- package/src/modules/resourceJump/ui/LateResolvableTopParam.tsx +46 -0
- package/src/modules/resourceJump/ui/ResolvableParameterSelector.tsx +109 -0
- package/src/modules/resourceJump/ui/ResolvableParameters.tsx +26 -0
- package/src/modules/resourceJump/ui/ResourceJumpBreadcrumbs.tsx +89 -0
- package/src/modules/resourceJump/ui/ResourceJumpButton.tsx +75 -0
- package/src/modules/resourceJump/ui/ResourceJumpMockTable.tsx +249 -0
- package/src/modules/resourceJump/ui/ShareLinkButton.tsx +127 -0
- package/src/modules/resourceJump/ui/SmoothSwitcher.tsx +119 -0
- package/src/modules/resourceJump/ui/TopQuickJump.tsx +23 -0
- package/src/modules/resourceJump/ui/appCatalog/AppCatalogFiltersCard.tsx +79 -0
- package/src/modules/resourceJump/ui/appCatalog/AppCatalogGrid.tsx +30 -0
- package/src/modules/resourceJump/ui/appCatalog/AppCatalogTable.tsx +86 -0
- package/src/modules/resourceJump/ui/appCatalog/appCatalogUtils.ts +12 -0
- package/src/modules/resourceJump/ui/cmdk/AppAutocomplete.tsx +231 -0
- package/src/modules/resourceJump/ui/cmdk/CmdKQuickSearchDialog.scss +197 -0
- package/src/modules/resourceJump/ui/cmdk/CmdKQuickSearchDialog.tsx +297 -0
- package/src/modules/resourceJump/ui/cmdk/CommandPalette.tsx +51 -0
- package/src/modules/resourceJump/ui/cmdk/EnvAutocomplete.tsx +237 -0
- package/src/modules/resourceJump/ui/cmdk/QuickSearch.tsx +107 -0
- package/src/modules/resourceJump/ui/cmdk/QuickSearchContext.tsx +58 -0
- package/src/modules/resourceJump/ui/cmdk/highlightText.tsx +27 -0
- package/src/modules/resourceJump/ui/cmdk/types.ts +7 -0
- package/src/modules/resourceJump/ui/cmdk/useCmdkDriver.ts +40 -0
- package/src/modules/resourceJump/ui/cmdk/useQuickSearchLogic.ts +74 -0
- package/src/modules/resourceJump/ui/layout/CenterColumn.tsx +3 -0
- package/src/modules/resourceJump/ui/layout/LeftColumn.tsx +96 -0
- package/src/modules/resourceJump/ui/layout/ResourceJumpLayout.tsx +101 -0
- package/src/modules/resourceJump/ui/layout/RightColumn.tsx +14 -0
- package/src/modules/resourceJump/ui/miniEnvSelector/MiniEnvSelectorPopover.tsx +61 -0
- package/src/modules/resourceJump/ui/pages/AppCatalog.tsx +105 -0
- package/src/modules/resourceJump/ui/pages/AppPage.tsx +14 -0
- package/src/modules/resourceJump/ui/pages/AppPageFlagship.tsx +121 -0
- package/src/modules/resourceJump/ui/pages/AppPageRegular.tsx +16 -0
- package/src/modules/resourceJump/ui/pages/DashboardPage.tsx +13 -0
- package/src/modules/resourceJump/ui/pages/EnvCatalog.tsx +89 -0
- package/src/modules/resourceJump/ui/pages/EnvPage.tsx +195 -0
- package/src/modules/resourceJump/ui/pages/HomePage.tsx +35 -0
- package/src/modules/resourceJump/ui/widgets/VersionWidget.tsx +15 -0
- package/src/modules/resourceJump/utils/buildJumpUrl.ts +46 -0
- package/src/modules/resourceJump/{findBestMatchByUrl.ts → utils/findBestMatchByUrl.ts} +4 -4
- package/src/modules/resourceJump/{helpers.ts → utils/helpers.ts} +42 -9
- package/src/modules/resourceJump/utils/mapToFlagshipResourceJumps.ts +88 -0
- package/src/modules/resourceJump/utils/mapToResouceJumpUis.ts +20 -0
- package/src/modules/resourceJump/utils/statistics/statisticsHelpers.ts +24 -0
- package/src/modules/resourceJump/utils/statistics/useEnvStatistics.ts +32 -0
- package/src/modules/resourceJump/utils/statistics/useMostRelevantLateParamSlug.ts +10 -0
- package/src/modules/resourceJump/utils/statistics/useMostRelevantQuickEnvs.ts +21 -0
- package/src/modules/resourceJump/utils/statistics/useMostRelevantQuickFlagships.ts +36 -0
- package/src/plugins/builtin/pageUrl/pageUrlAutoCompletePlugin.ts +5 -34
- package/src/plugins/builtin/pageUrl/pageUrlTypes.ts +1 -2
- package/src/routeTree.gen.ts +353 -143
- package/src/routes/__root.tsx +10 -7
- package/src/routes/_layout/app.$appSlug.index.tsx +25 -0
- package/src/routes/_layout/apps.index.tsx +26 -0
- package/src/routes/_layout/catalog.apps.index.tsx +27 -0
- package/src/routes/_layout/catalog.index.tsx +29 -0
- package/src/routes/_layout/dashboard.index.tsx +26 -0
- package/src/routes/_layout/env.$envSlug.app.$appSlug.index.tsx +25 -0
- package/src/routes/_layout/env.$envSlug.index.tsx +25 -0
- package/src/routes/_layout/envs.index.tsx +26 -0
- package/src/routes/_layout/index.tsx +72 -5
- package/src/routes/_layout/login.tsx +20 -0
- package/src/routes/admin/app-for-catalog/$id.tsx +468 -0
- package/src/routes/admin/app-for-catalog/index.tsx +19 -0
- package/src/routes/admin/app-for-catalog.tsx +12 -0
- package/src/routes/admin/chat.tsx +13 -0
- package/src/routes/admin/icons.tsx +22 -0
- package/src/routes/admin/index.tsx +9 -0
- package/src/routes/admin.tsx +32 -0
- package/src/routes/auth.callback.tsx +74 -0
- package/src/types/ehTypes.ts +3 -5
- package/src/types/tanstackQuery.ts +2 -0
- package/src/types/types.ts +13 -3
- package/src/types/userBehaviourTypes.ts +1 -1
- package/src/types/vite-env.d.ts +1 -0
- package/src/ui/autocomplete.tsx +272 -0
- package/src/{components/ui → ui}/badge.tsx +2 -1
- package/src/ui/breadcrumb.tsx +106 -0
- package/src/ui/button-group.tsx +85 -0
- package/src/ui/button.tsx +66 -0
- package/src/ui/card.tsx +92 -0
- package/src/ui/checkbox.tsx +30 -0
- package/src/{components/ui → ui}/collapsible.tsx +17 -3
- package/src/ui/command.tsx +196 -0
- package/src/ui/components/ActionCard.tsx +2 -2
- package/src/ui/components/AppIcon.tsx +5 -5
- package/src/ui/components/Breadcrumbs.tsx +97 -0
- package/src/ui/components/commandInput/EhBaseSelector.tsx +0 -34
- package/src/ui/components/contextDebug.tsx +54 -5
- package/src/ui/components/error/DefaultErrorComponent.tsx +107 -31
- package/src/ui/components/error/{RooutErrorPage.tsx → RootErrorPage.tsx} +2 -2
- package/src/ui/components/footer/Footer.tsx +19 -0
- package/src/ui/components/header/Header.tsx +172 -0
- package/src/ui/components/quickBar/AppQuickJumpBar.tsx +176 -0
- package/src/ui/components/quickBar/QuickJumpButton.tsx +21 -0
- package/src/ui/components/quickBar/ResourceJumpGroupViewer.tsx +80 -0
- package/src/ui/components/quickBar/arrangeGridItems.ts +61 -0
- package/src/ui/components/widgets/CredentialsWidget.tsx +3 -3
- package/src/ui/components/widgets/VersionWidget.tsx +1 -1
- package/src/{components/ui → ui}/dialog.tsx +10 -51
- package/src/{components/ui → ui}/dropdown-menu.tsx +13 -15
- package/src/ui/empty.tsx +105 -0
- package/src/ui/error/NotFoundError.tsx +10 -7
- package/src/ui/form.tsx +188 -0
- package/src/ui/input-group.tsx +167 -0
- package/src/ui/input.tsx +21 -0
- package/src/ui/label.tsx +22 -0
- package/src/ui/layout/LoadingScreen.tsx +58 -8
- package/src/ui/layout/MainLayout.tsx +7 -7
- package/src/ui/layout/TopLevelProviders.tsx +51 -25
- package/src/ui/layout/TopLevelProvidersForErrors.tsx +34 -0
- package/src/ui/link.tsx +31 -0
- package/src/ui/linkExternal.tsx +26 -0
- package/src/ui/main/JumpTabContent.tsx +1 -1
- package/src/ui/radio-group.tsx +43 -0
- package/src/ui/search-input-with-shortcut.tsx +54 -0
- package/src/ui/select.tsx +185 -0
- package/src/ui/shortcut-button.tsx +84 -0
- package/src/ui/skeleton.tsx +13 -0
- package/src/ui/spinner.tsx +16 -0
- package/src/ui/table.tsx +114 -0
- package/src/{components/ui → ui}/tabs.tsx +2 -3
- package/src/ui/textarea.tsx +18 -0
- package/src/ui/tooltip.tsx +60 -0
- package/src/userDb/EhDb.ts +48 -5
- package/src/util/availabilityMatrixUtils.ts +2 -2
- package/src/util/{createEhRouter.ts → createEhRouter.tsx} +2 -0
- package/src/util/error-utils.ts +31 -0
- package/src/util/reactQueryUtils.ts +8 -0
- package/src/util/route-utils.ts +11 -34
- package/src/util/slug-utils.ts +17 -0
- package/dist/disable.well-known/appspecific/com.chrome.devtools.json +0 -6
- package/dist/esm/api/ApiQueryMagazine.js +0 -16
- package/dist/esm/api/ApiQueryMagazine.js.map +0 -1
- package/dist/esm/api/data/useQueryBootstrapConfig.js +0 -14
- package/dist/esm/api/data/useQueryBootstrapConfig.js.map +0 -1
- package/dist/esm/api/unsorted/indexDataFetcher.js +0 -35
- package/dist/esm/api/unsorted/indexDataFetcher.js.map +0 -1
- package/dist/esm/assets/env-hopper-logo.svg.js +0 -16
- package/dist/esm/assets/env-hopper-logo.svg.js.map +0 -1
- package/dist/esm/components/ui/breadcrumb.d.ts +0 -46
- package/dist/esm/components/ui/button.d.ts +0 -16
- package/dist/esm/components/ui/button.js +0 -52
- package/dist/esm/components/ui/button.js.map +0 -1
- package/dist/esm/components/ui/card.d.ts +0 -38
- package/dist/esm/components/ui/input.d.ts +0 -10
- package/dist/esm/components/ui/popover.js +0 -14
- package/dist/esm/components/ui/popover.js.map +0 -1
- package/dist/esm/components/ui/separator.js.map +0 -1
- package/dist/esm/modules/environment/ApiQueryMagazineEnvironment.js +0 -13
- package/dist/esm/modules/environment/ApiQueryMagazineEnvironment.js.map +0 -1
- package/dist/esm/modules/environment/EnvironmentContext.js +0 -67
- package/dist/esm/modules/environment/EnvironmentContext.js.map +0 -1
- package/dist/esm/modules/environment/ui/EhEnvSelector.d.ts +0 -9
- package/dist/esm/modules/environment/ui/EhEnvSelector.js +0 -167
- package/dist/esm/modules/environment/ui/EhEnvSelector.js.map +0 -1
- package/dist/esm/modules/fuzzyMatchLogic/features/prefixFrac.js +0 -12
- package/dist/esm/modules/fuzzyMatchLogic/features/prefixFrac.js.map +0 -1
- package/dist/esm/modules/fuzzyMatchLogic/scoring.js +0 -23
- package/dist/esm/modules/fuzzyMatchLogic/scoring.js.map +0 -1
- package/dist/esm/modules/fuzzyMatchLogic/utils.js +0 -12
- package/dist/esm/modules/fuzzyMatchLogic/utils.js.map +0 -1
- package/dist/esm/modules/pluginCore/types.js +0 -7
- package/dist/esm/modules/pluginCore/types.js.map +0 -1
- package/dist/esm/modules/resourceJump/ApiQueryMagazineResourceJump.d.ts +0 -27
- package/dist/esm/modules/resourceJump/ApiQueryMagazineResourceJump.js +0 -26
- package/dist/esm/modules/resourceJump/ApiQueryMagazineResourceJump.js.map +0 -1
- package/dist/esm/modules/resourceJump/ResourceJumpContext.d.ts +0 -17
- package/dist/esm/modules/resourceJump/ResourceJumpContext.js +0 -88
- package/dist/esm/modules/resourceJump/ResourceJumpContext.js.map +0 -1
- package/dist/esm/modules/resourceJump/buildJumpUrl.d.ts +0 -2
- package/dist/esm/modules/resourceJump/buildJumpUrl.js +0 -32
- package/dist/esm/modules/resourceJump/buildJumpUrl.js.map +0 -1
- package/dist/esm/modules/resourceJump/findBestMatchByUrl.js +0 -85
- package/dist/esm/modules/resourceJump/findBestMatchByUrl.js.map +0 -1
- package/dist/esm/modules/resourceJump/helpers.js +0 -19
- package/dist/esm/modules/resourceJump/helpers.js.map +0 -1
- package/dist/esm/modules/resourceJump/ui/EhJumpResourceSelector.d.ts +0 -20
- package/dist/esm/modules/resourceJump/ui/EhJumpResourceSelector.js +0 -209
- package/dist/esm/modules/resourceJump/ui/EhJumpResourceSelector.js.map +0 -1
- package/dist/esm/modules/resourceJump/ui/JumpALink.js +0 -38
- package/dist/esm/modules/resourceJump/ui/JumpALink.js.map +0 -1
- package/dist/esm/modules/resourceJump/ui/JumpMainButton.js +0 -66
- package/dist/esm/modules/resourceJump/ui/JumpMainButton.js.map +0 -1
- package/dist/esm/modules/resourceJump/ui/ResouceJumpLayout.d.ts +0 -5
- package/dist/esm/modules/resourceJump/ui/ResouceJumpLayout.js +0 -42
- package/dist/esm/modules/resourceJump/ui/ResouceJumpLayout.js.map +0 -1
- package/dist/esm/plugins/builtin/pageUrl/PageUrlPluginContext.d.ts +0 -9
- package/dist/esm/plugins/builtin/pageUrl/PageUrlPluginContext.js +0 -36
- package/dist/esm/plugins/builtin/pageUrl/PageUrlPluginContext.js.map +0 -1
- package/dist/esm/plugins/builtin/pageUrl/pageUrlAutoCompletePlugin.js +0 -44
- package/dist/esm/plugins/builtin/pageUrl/pageUrlAutoCompletePlugin.js.map +0 -1
- package/dist/esm/plugins/builtin/pageUrl/pageUrlJumpPlugin.d.ts +0 -7
- package/dist/esm/plugins/builtin/pageUrl/pageUrlJumpPlugin.js +0 -29
- package/dist/esm/plugins/builtin/pageUrl/pageUrlJumpPlugin.js.map +0 -1
- package/dist/esm/routes/_layout/app/$appSlug/sub/$subValue.d.ts +0 -1
- package/dist/esm/routes/_layout/app/$appSlug.d.ts +0 -1
- package/dist/esm/routes/_layout/app/_appSlug/sub/_subValue.js +0 -18
- package/dist/esm/routes/_layout/app/_appSlug/sub/_subValue.js.map +0 -1
- package/dist/esm/routes/_layout/app/_appSlug.js +0 -18
- package/dist/esm/routes/_layout/app/_appSlug.js.map +0 -1
- package/dist/esm/routes/_layout/env/$envSlug/app/$appSlug/sub/$subValue.d.ts +0 -1
- package/dist/esm/routes/_layout/env/$envSlug/app/$appSlug.d.ts +0 -1
- package/dist/esm/routes/_layout/env/$envSlug/sub/$subValue.d.ts +0 -1
- package/dist/esm/routes/_layout/env/$envSlug.d.ts +0 -1
- package/dist/esm/routes/_layout/env/_envSlug/app/_appSlug/sub/_subValue.js +0 -20
- package/dist/esm/routes/_layout/env/_envSlug/app/_appSlug/sub/_subValue.js.map +0 -1
- package/dist/esm/routes/_layout/env/_envSlug/app/_appSlug.js +0 -18
- package/dist/esm/routes/_layout/env/_envSlug/app/_appSlug.js.map +0 -1
- package/dist/esm/routes/_layout/env/_envSlug/sub/_subValue.js +0 -18
- package/dist/esm/routes/_layout/env/_envSlug/sub/_subValue.js.map +0 -1
- package/dist/esm/routes/_layout/env/_envSlug.js +0 -18
- package/dist/esm/routes/_layout/env/_envSlug.js.map +0 -1
- package/dist/esm/ui/components/commandInput/EhBaseSelector.js +0 -22
- package/dist/esm/ui/components/commandInput/EhBaseSelector.js.map +0 -1
- package/dist/esm/ui/components/controlPanel/BaseDropdownSelector.d.ts +0 -11
- package/dist/esm/ui/components/controlPanel/env/EnvDropdownContent.d.ts +0 -5
- package/dist/esm/ui/components/controlPanel/env/EnvDropdownSelector.d.ts +0 -1
- package/dist/esm/ui/components/error/RooutErrorPage.d.ts +0 -2
- package/dist/esm/ui/components/error/RooutErrorPage.js +0 -12
- package/dist/esm/ui/components/error/RooutErrorPage.js.map +0 -1
- package/dist/esm/ui/components/header/PlaygroundHeader.d.ts +0 -1
- package/dist/esm/ui/components/header/PlaygroundHeader.js +0 -23
- package/dist/esm/ui/components/header/PlaygroundHeader.js.map +0 -1
- package/dist/esm/ui/components/leftPanel/LeftPanel.d.ts +0 -5
- package/dist/esm/ui/components/quickBar/EnvQuickJumpBar.d.ts +0 -5
- package/dist/esm/ui/components/quickBar/EnvQuickJumpBar.js +0 -52
- package/dist/esm/ui/components/quickBar/EnvQuickJumpBar.js.map +0 -1
- package/dist/esm/ui/layout/Header.d.ts +0 -1
- package/dist/esm/util/availabilityMatrixUtils.js +0 -57
- package/dist/esm/util/availabilityMatrixUtils.js.map +0 -1
- package/dist/esm/util/highlightMatches.js +0 -19
- package/dist/esm/util/highlightMatches.js.map +0 -1
- package/src/components/ui/breadcrumb.tsx +0 -128
- package/src/components/ui/button.tsx +0 -60
- package/src/components/ui/card.tsx +0 -95
- package/src/components/ui/input.tsx +0 -28
- package/src/modules/environment/ui/EhEnvSelector.tsx +0 -191
- package/src/modules/resourceJump/ApiQueryMagazineResourceJump.ts +0 -31
- package/src/modules/resourceJump/ResourceJumpContext.tsx +0 -142
- package/src/modules/resourceJump/buildJumpUrl.ts +0 -40
- package/src/modules/resourceJump/ui/EhJumpResourceSelector.tsx +0 -259
- package/src/modules/resourceJump/ui/ResouceJumpLayout.tsx +0 -73
- package/src/plugins/builtin/pageUrl/PageUrlPluginContext.tsx +0 -55
- package/src/plugins/builtin/pageUrl/pageUrlJumpPlugin.ts +0 -36
- package/src/routes/_layout/app/$appSlug/sub/$subValue.tsx +0 -15
- package/src/routes/_layout/app/$appSlug.tsx +0 -15
- package/src/routes/_layout/env/$envSlug/app/$appSlug/sub/$subValue.tsx +0 -17
- package/src/routes/_layout/env/$envSlug/app/$appSlug.tsx +0 -15
- package/src/routes/_layout/env/$envSlug/sub/$subValue.tsx +0 -15
- package/src/routes/_layout/env/$envSlug.tsx +0 -15
- package/src/ui/components/controlPanel/BaseDropdownSelector.tsx +0 -163
- package/src/ui/components/controlPanel/env/EnvDropdownContent.tsx +0 -114
- package/src/ui/components/controlPanel/env/EnvDropdownSelector.tsx +0 -21
- package/src/ui/components/header/PlaygroundHeader.tsx +0 -26
- package/src/ui/components/leftPanel/LeftPanel.tsx +0 -194
- package/src/ui/components/quickBar/EnvQuickJumpBar.tsx +0 -65
- package/src/ui/layout/Header.tsx +0 -14
- /package/dist/esm/{components/ui → ui}/badge.d.ts +0 -0
- /package/dist/esm/{components/ui → ui}/popover.d.ts +0 -0
- /package/dist/esm/{components/ui → ui}/scroll-area.d.ts +0 -0
- /package/dist/esm/{components/ui → ui}/separator.d.ts +0 -0
- /package/dist/esm/{components/ui → ui}/tabs.d.ts +0 -0
- /package/dist/{apple-touch-180x180.png → public/apple-touch-180x180.png} +0 -0
- /package/dist/{env-hopper-16x16.png → public/env-hopper-16x16.png} +0 -0
- /package/dist/{env-hopper-192x192.png → public/env-hopper-192x192.png} +0 -0
- /package/dist/{env-hopper-32x32.png → public/env-hopper-32x32.png} +0 -0
- /package/dist/{env-hopper-48x48.png → public/env-hopper-48x48.png} +0 -0
- /package/dist/{env-hopper-512x512.png → public/env-hopper-512x512.png} +0 -0
- /package/dist/{env-hopper-square.svg → public/env-hopper-square.svg} +0 -0
- /package/dist/{favicon.ico → public/favicon.ico} +0 -0
- /package/dist/{robots.txt → public/robots.txt} +0 -0
- /package/src/{components/ui → ui}/popover.tsx +0 -0
- /package/src/{components/ui → ui}/scroll-area.tsx +0 -0
- /package/src/{components/ui → ui}/separator.tsx +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authClient.js","sources":["../../../../src/modules/auth/authClient.ts"],"sourcesContent":["import { createAuthClient } from 'better-auth/react'\n\n/**\n * Better Auth client for frontend authentication\n * Automatically handles session management and cookies\n */\nexport const authClient = createAuthClient({\n baseURL: window.location.origin,\n})\n"],"names":[],"mappings":";AAMO,MAAM,aAAa,iBAAiB;AAAA,EACzC,SAAS,OAAO,SAAS;AAC3B,CAAC;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { authClient } from './authClient.js';
|
|
2
|
+
export { AuthProvider, useAuth, useIsAuthenticated, useUser } from './AuthContext.js';
|
|
3
|
+
export { ProtectedContent, withProtection } from './ProtectedContent.js';
|
|
4
|
+
export { LoginPage } from './ui/LoginPage.js';
|
|
5
|
+
export { useAuthActions } from './useAuthActions.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from "../../../ui/dialog.js";
|
|
3
|
+
import { useAuthModal } from "../AuthModalContext.js";
|
|
4
|
+
import { LoginPage } from "./LoginPage.js";
|
|
5
|
+
function LoginModal() {
|
|
6
|
+
const { isOpen, close } = useAuthModal();
|
|
7
|
+
return /* @__PURE__ */ jsx(Dialog, { open: isOpen, onOpenChange: (open) => {
|
|
8
|
+
if (!open) {
|
|
9
|
+
close();
|
|
10
|
+
}
|
|
11
|
+
}, children: /* @__PURE__ */ jsxs(DialogContent, { className: "w-full max-w-md", children: [
|
|
12
|
+
/* @__PURE__ */ jsxs(DialogHeader, { children: [
|
|
13
|
+
/* @__PURE__ */ jsx(DialogTitle, { children: "Sign In" }),
|
|
14
|
+
/* @__PURE__ */ jsx(DialogDescription, { children: "Choose your sign-in method to access EnvHopper" })
|
|
15
|
+
] }),
|
|
16
|
+
/* @__PURE__ */ jsx(LoginPage, { onSuccess: close })
|
|
17
|
+
] }) });
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
LoginModal
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=LoginModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginModal.js","sources":["../../../../../src/modules/auth/ui/LoginModal.tsx"],"sourcesContent":["import {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '~/ui/dialog'\nimport { useAuthModal } from '../AuthModalContext'\nimport { LoginPage } from './LoginPage'\n\n/**\n * LoginModal renders a dialog with login form\n * Controlled by AuthModalContext global state\n * Can be opened from anywhere using useAuthModal hook\n */\nexport function LoginModal() {\n const { isOpen, close } = useAuthModal()\n\n return (\n <Dialog open={isOpen} onOpenChange={(open) => {\n if (!open) {\n close()\n }\n }}>\n <DialogContent className=\"w-full max-w-md\">\n <DialogHeader>\n <DialogTitle>Sign In</DialogTitle>\n <DialogDescription>\n Choose your sign-in method to access EnvHopper\n </DialogDescription>\n </DialogHeader>\n <LoginPage onSuccess={close} />\n </DialogContent>\n </Dialog>\n )\n}\n"],"names":[],"mappings":";;;;AAeO,SAAS,aAAa;AAC3B,QAAM,EAAE,QAAQ,MAAA,IAAU,aAAA;AAE1B,6BACG,QAAA,EAAO,MAAM,QAAQ,cAAc,CAAC,SAAS;AAC5C,QAAI,CAAC,MAAM;AACT,YAAA;AAAA,IACF;AAAA,EACF,GACE,UAAA,qBAAC,eAAA,EAAc,WAAU,mBACvB,UAAA;AAAA,IAAA,qBAAC,cAAA,EACC,UAAA;AAAA,MAAA,oBAAC,eAAY,UAAA,UAAA,CAAO;AAAA,MACpB,oBAAC,qBAAkB,UAAA,iDAAA,CAEnB;AAAA,IAAA,GACF;AAAA,IACA,oBAAC,WAAA,EAAU,WAAW,MAAA,CAAO;AAAA,EAAA,EAAA,CAC/B,EAAA,CACF;AAEJ;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { useTRPC } from "../../../api/infra/trpc.js";
|
|
5
|
+
import { Button } from "../../../ui/button.js";
|
|
6
|
+
import { authClient } from "../authClient.js";
|
|
7
|
+
import { useAuthModal } from "../AuthModalContext.js";
|
|
8
|
+
function LoginPage({ onSuccess }) {
|
|
9
|
+
const [error, setError] = useState(null);
|
|
10
|
+
const { redirectUrl } = useAuthModal();
|
|
11
|
+
const trpc = useTRPC();
|
|
12
|
+
const { data: providersData } = useQuery(
|
|
13
|
+
trpc.auth.getProviders.queryOptions()
|
|
14
|
+
);
|
|
15
|
+
const socialProviders = (providersData == null ? void 0 : providersData.providers) || [];
|
|
16
|
+
const handleSocialSignIn = async (provider) => {
|
|
17
|
+
try {
|
|
18
|
+
onSuccess == null ? void 0 : onSuccess();
|
|
19
|
+
await authClient.signIn.social({
|
|
20
|
+
provider,
|
|
21
|
+
callbackURL: redirectUrl
|
|
22
|
+
});
|
|
23
|
+
} catch (err) {
|
|
24
|
+
setError(err instanceof Error ? err.message : "Social sign-in failed");
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
28
|
+
error && /* @__PURE__ */ jsx("div", { className: "p-3 text-sm bg-destructive/10 text-destructive rounded-md", children: error }),
|
|
29
|
+
socialProviders.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: socialProviders.map((provider) => /* @__PURE__ */ jsxs(
|
|
30
|
+
Button,
|
|
31
|
+
{
|
|
32
|
+
variant: "outline",
|
|
33
|
+
onClick: () => handleSocialSignIn(provider),
|
|
34
|
+
className: "w-full capitalize",
|
|
35
|
+
children: [
|
|
36
|
+
provider === "github" && "🔗 ",
|
|
37
|
+
provider === "google" && "🔐 ",
|
|
38
|
+
provider === "okta" && "🏢 ",
|
|
39
|
+
"Sign in with ",
|
|
40
|
+
provider
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
provider
|
|
44
|
+
)) })
|
|
45
|
+
] });
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
LoginPage
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=LoginPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginPage.js","sources":["../../../../../src/modules/auth/ui/LoginPage.tsx"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { useState } from 'react'\nimport { useTRPC } from '~/api/infra/trpc'\nimport { Button } from '~/ui/button'\nimport { authClient } from '../authClient'\nimport { useAuthModal } from '../AuthModalContext'\n\ninterface LoginPageProps {\n onSuccess?: () => void\n}\n\nexport function LoginPage({ onSuccess }: LoginPageProps) {\n const [error, setError] = useState<string | null>(null)\n const { redirectUrl } = useAuthModal()\n\n const trpc = useTRPC()\n const { data: providersData } = useQuery(\n trpc.auth.getProviders.queryOptions(),\n )\n const socialProviders = providersData?.providers || []\n\n const handleSocialSignIn = async (provider: string) => {\n try {\n // Close modal before redirect to OAuth\n onSuccess?.()\n \n await authClient.signIn.social({\n provider,\n callbackURL: redirectUrl,\n })\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Social sign-in failed')\n }\n }\n\n return (\n <div className=\"space-y-4\">\n {error && (\n <div className=\"p-3 text-sm bg-destructive/10 text-destructive rounded-md\">\n {error}\n </div>\n )}\n {socialProviders.length > 0 && (\n <div className=\"flex flex-col gap-2\">\n {socialProviders.map((provider: string) => (\n <Button\n key={provider}\n variant=\"outline\"\n onClick={() => handleSocialSignIn(provider)}\n className=\"w-full capitalize\"\n >\n {provider === 'github' && '🔗 '}\n {provider === 'google' && '🔐 '}\n {provider === 'okta' && '🏢 '}\n Sign in with {provider}\n </Button>\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"names":[],"mappings":";;;;;;;AAWO,SAAS,UAAU,EAAE,aAA6B;AACvD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAwB,IAAI;AACtD,QAAM,EAAE,YAAA,IAAgB,aAAA;AAExB,QAAM,OAAO,QAAA;AACb,QAAM,EAAE,MAAM,cAAA,IAAkB;AAAA,IAC9B,KAAK,KAAK,aAAa,aAAA;AAAA,EAAa;AAEtC,QAAM,mBAAkB,+CAAe,cAAa,CAAA;AAEpD,QAAM,qBAAqB,OAAO,aAAqB;AACrD,QAAI;AAEF;AAEA,YAAM,WAAW,OAAO,OAAO;AAAA,QAC7B;AAAA,QACA,aAAa;AAAA,MAAA,CACd;AAAA,IACH,SAAS,KAAK;AACZ,eAAS,eAAe,QAAQ,IAAI,UAAU,uBAAuB;AAAA,IACvE;AAAA,EACF;AAEA,SACE,qBAAC,OAAA,EAAI,WAAU,aACZ,UAAA;AAAA,IAAA,SACC,oBAAC,OAAA,EAAI,WAAU,6DACZ,UAAA,OACH;AAAA,IAED,gBAAgB,SAAS,KACxB,oBAAC,OAAA,EAAI,WAAU,uBACZ,UAAA,gBAAgB,IAAI,CAAC,aACpB;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,SAAQ;AAAA,QACR,SAAS,MAAM,mBAAmB,QAAQ;AAAA,QAC1C,WAAU;AAAA,QAET,UAAA;AAAA,UAAA,aAAa,YAAY;AAAA,UACzB,aAAa,YAAY;AAAA,UACzB,aAAa,UAAU;AAAA,UAAM;AAAA,UAChB;AAAA,QAAA;AAAA,MAAA;AAAA,MART;AAAA,IAAA,CAUR,EAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface LoginCredentials {
|
|
2
|
+
email: string;
|
|
3
|
+
password: string;
|
|
4
|
+
}
|
|
5
|
+
interface SignupCredentials extends LoginCredentials {
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Hook for authentication actions (login, signup, logout)
|
|
10
|
+
*/
|
|
11
|
+
export declare function useAuthActions(): {
|
|
12
|
+
login: (credentials: LoginCredentials) => Promise<any>;
|
|
13
|
+
signup: (credentials: SignupCredentials) => Promise<any>;
|
|
14
|
+
logout: () => Promise<void>;
|
|
15
|
+
socialLogin: (provider: "github" | "google") => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
function useAuthActions() {
|
|
3
|
+
const login = useCallback(async (credentials) => {
|
|
4
|
+
const response = await fetch("/api/auth/sign-in/email", {
|
|
5
|
+
method: "POST",
|
|
6
|
+
credentials: "include",
|
|
7
|
+
headers: { "Content-Type": "application/json" },
|
|
8
|
+
body: JSON.stringify(credentials)
|
|
9
|
+
});
|
|
10
|
+
if (!response.ok) {
|
|
11
|
+
const error = await response.json();
|
|
12
|
+
throw new Error(error.message || "Login failed");
|
|
13
|
+
}
|
|
14
|
+
return response.json();
|
|
15
|
+
}, []);
|
|
16
|
+
const signup = useCallback(async (credentials) => {
|
|
17
|
+
const response = await fetch("/api/auth/sign-up/email", {
|
|
18
|
+
method: "POST",
|
|
19
|
+
credentials: "include",
|
|
20
|
+
headers: { "Content-Type": "application/json" },
|
|
21
|
+
body: JSON.stringify(credentials)
|
|
22
|
+
});
|
|
23
|
+
if (!response.ok) {
|
|
24
|
+
const error = await response.json();
|
|
25
|
+
throw new Error(error.message || "Signup failed");
|
|
26
|
+
}
|
|
27
|
+
return response.json();
|
|
28
|
+
}, []);
|
|
29
|
+
const logout = useCallback(async () => {
|
|
30
|
+
const response = await fetch("/api/auth/sign-out", {
|
|
31
|
+
method: "POST",
|
|
32
|
+
credentials: "include"
|
|
33
|
+
});
|
|
34
|
+
if (!response.ok) {
|
|
35
|
+
throw new Error("Logout failed");
|
|
36
|
+
}
|
|
37
|
+
window.location.href = "/";
|
|
38
|
+
}, []);
|
|
39
|
+
const socialLogin = useCallback(async (provider) => {
|
|
40
|
+
const response = await fetch(`/api/auth/signin/${provider}`, {
|
|
41
|
+
method: "POST",
|
|
42
|
+
credentials: "include"
|
|
43
|
+
});
|
|
44
|
+
if (!response.ok) {
|
|
45
|
+
throw new Error(`${provider} login failed`);
|
|
46
|
+
}
|
|
47
|
+
const data = await response.json();
|
|
48
|
+
if (data.redirectUrl) {
|
|
49
|
+
window.location.href = data.redirectUrl;
|
|
50
|
+
}
|
|
51
|
+
}, []);
|
|
52
|
+
return {
|
|
53
|
+
login,
|
|
54
|
+
signup,
|
|
55
|
+
logout,
|
|
56
|
+
socialLogin
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
useAuthActions
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=useAuthActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuthActions.js","sources":["../../../../src/modules/auth/useAuthActions.ts"],"sourcesContent":["import { useCallback } from 'react'\n\ninterface LoginCredentials {\n email: string\n password: string\n}\n\ninterface SignupCredentials extends LoginCredentials {\n name: string\n}\n\n/**\n * Hook for authentication actions (login, signup, logout)\n */\nexport function useAuthActions() {\n const login = useCallback(async (credentials: LoginCredentials) => {\n const response = await fetch('/api/auth/sign-in/email', {\n method: 'POST',\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(credentials),\n })\n\n if (!response.ok) {\n const error = await response.json()\n throw new Error(error.message || 'Login failed')\n }\n\n return response.json()\n }, [])\n\n const signup = useCallback(async (credentials: SignupCredentials) => {\n const response = await fetch('/api/auth/sign-up/email', {\n method: 'POST',\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(credentials),\n })\n\n if (!response.ok) {\n const error = await response.json()\n throw new Error(error.message || 'Signup failed')\n }\n\n return response.json()\n }, [])\n\n const logout = useCallback(async () => {\n const response = await fetch('/api/auth/sign-out', {\n method: 'POST',\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Logout failed')\n }\n\n // Clear session and reload to update UI\n window.location.href = '/'\n }, [])\n\n const socialLogin = useCallback(async (provider: 'github' | 'google') => {\n const response = await fetch(`/api/auth/signin/${provider}`, {\n method: 'POST',\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error(`${provider} login failed`)\n }\n\n const data = await response.json()\n // Redirect to provider's OAuth flow\n if (data.redirectUrl) {\n window.location.href = data.redirectUrl\n }\n }, [])\n\n return {\n login,\n signup,\n logout,\n socialLogin,\n }\n}\n"],"names":[],"mappings":";AAcO,SAAS,iBAAiB;AAC/B,QAAM,QAAQ,YAAY,OAAO,gBAAkC;AACjE,UAAM,WAAW,MAAM,MAAM,2BAA2B;AAAA,MACtD,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,KAAK,UAAU,WAAW;AAAA,IAAA,CACjC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,QAAQ,MAAM,SAAS,KAAA;AAC7B,YAAM,IAAI,MAAM,MAAM,WAAW,cAAc;AAAA,IACjD;AAEA,WAAO,SAAS,KAAA;AAAA,EAClB,GAAG,CAAA,CAAE;AAEL,QAAM,SAAS,YAAY,OAAO,gBAAmC;AACnE,UAAM,WAAW,MAAM,MAAM,2BAA2B;AAAA,MACtD,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,KAAK,UAAU,WAAW;AAAA,IAAA,CACjC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,QAAQ,MAAM,SAAS,KAAA;AAC7B,YAAM,IAAI,MAAM,MAAM,WAAW,eAAe;AAAA,IAClD;AAEA,WAAO,SAAS,KAAA;AAAA,EAClB,GAAG,CAAA,CAAE;AAEL,QAAM,SAAS,YAAY,YAAY;AACrC,UAAM,WAAW,MAAM,MAAM,sBAAsB;AAAA,MACjD,QAAQ;AAAA,MACR,aAAa;AAAA,IAAA,CACd;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,eAAe;AAAA,IACjC;AAGA,WAAO,SAAS,OAAO;AAAA,EACzB,GAAG,CAAA,CAAE;AAEL,QAAM,cAAc,YAAY,OAAO,aAAkC;AACvE,UAAM,WAAW,MAAM,MAAM,oBAAoB,QAAQ,IAAI;AAAA,MAC3D,QAAQ;AAAA,MACR,aAAa;AAAA,IAAA,CACd;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,GAAG,QAAQ,eAAe;AAAA,IAC5C;AAEA,UAAM,OAAO,MAAM,SAAS,KAAA;AAE5B,QAAI,KAAK,aAAa;AACpB,aAAO,SAAS,OAAO,KAAK;AAAA,IAC9B;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|
|
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { BootstrapConfigData } from '@env-hopper/backend-core';
|
|
3
3
|
interface BootstrapConfigProviderProps {
|
|
4
4
|
children: ReactNode;
|
|
5
|
-
bootstrapConfig: BootstrapConfigData;
|
|
5
|
+
bootstrapConfig: BootstrapConfigData | undefined;
|
|
6
6
|
}
|
|
7
7
|
export declare function BootstrapConfigProvider({ children, bootstrapConfig, }: BootstrapConfigProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export declare function useBootstrapConfig(): BootstrapConfigData;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createContext
|
|
2
|
+
import { createContext } from "react";
|
|
3
3
|
const BootstrapConfigContext = createContext(
|
|
4
4
|
void 0
|
|
5
5
|
);
|
|
@@ -9,17 +9,7 @@ function BootstrapConfigProvider({
|
|
|
9
9
|
}) {
|
|
10
10
|
return /* @__PURE__ */ jsx(BootstrapConfigContext, { value: bootstrapConfig, children });
|
|
11
11
|
}
|
|
12
|
-
function useBootstrapConfig() {
|
|
13
|
-
const context = use(BootstrapConfigContext);
|
|
14
|
-
if (context === void 0) {
|
|
15
|
-
throw new Error(
|
|
16
|
-
"useBootstrapConfig must be used within a BootstrapConfigProvider"
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
return context;
|
|
20
|
-
}
|
|
21
12
|
export {
|
|
22
|
-
BootstrapConfigProvider
|
|
23
|
-
useBootstrapConfig
|
|
13
|
+
BootstrapConfigProvider
|
|
24
14
|
};
|
|
25
15
|
//# sourceMappingURL=BootstrapConfigContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BootstrapConfigContext.js","sources":["../../../../src/modules/config/BootstrapConfigContext.tsx"],"sourcesContent":["import { createContext, use } from 'react'\nimport type { ReactNode } from 'react'\nimport type { BootstrapConfigData } from '@env-hopper/backend-core'\n\nconst BootstrapConfigContext = createContext<BootstrapConfigData | undefined>(\n undefined,\n)\n\ninterface BootstrapConfigProviderProps {\n children: ReactNode\n bootstrapConfig: BootstrapConfigData\n}\n\nexport function BootstrapConfigProvider({\n children,\n bootstrapConfig,\n}: BootstrapConfigProviderProps) {\n return (\n <BootstrapConfigContext value={bootstrapConfig}>\n {children}\n </BootstrapConfigContext>\n )\n}\n\nexport function useBootstrapConfig(): BootstrapConfigData {\n const context = use(BootstrapConfigContext)\n if (context === undefined) {\n throw new Error(\n 'useBootstrapConfig must be used within a BootstrapConfigProvider',\n )\n }\n return context\n}\n"],"names":[],"mappings":";;AAIA,MAAM,yBAAyB;AAAA,EAC7B;AACF;AAOO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AACF,GAAiC;AAC/B,SACE,oBAAC,wBAAA,EAAuB,OAAO,iBAC5B,SAAA,CACH;AAEJ;
|
|
1
|
+
{"version":3,"file":"BootstrapConfigContext.js","sources":["../../../../src/modules/config/BootstrapConfigContext.tsx"],"sourcesContent":["import { createContext, use } from 'react'\nimport type { ReactNode } from 'react'\nimport type { BootstrapConfigData } from '@env-hopper/backend-core'\n\nconst BootstrapConfigContext = createContext<BootstrapConfigData | undefined>(\n undefined,\n)\n\ninterface BootstrapConfigProviderProps {\n children: ReactNode\n bootstrapConfig: BootstrapConfigData | undefined\n}\n\nexport function BootstrapConfigProvider({\n children,\n bootstrapConfig,\n}: BootstrapConfigProviderProps) {\n return (\n <BootstrapConfigContext value={bootstrapConfig}>\n {children}\n </BootstrapConfigContext>\n )\n}\n\nexport function useBootstrapConfig(): BootstrapConfigData {\n const context = use(BootstrapConfigContext)\n if (context === undefined) {\n throw new Error(\n 'useBootstrapConfig must be used within a BootstrapConfigProvider',\n )\n }\n return context\n}\n"],"names":[],"mappings":";;AAIA,MAAM,yBAAyB;AAAA,EAC7B;AACF;AAOO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AACF,GAAiC;AAC/B,SACE,oBAAC,wBAAA,EAAuB,OAAO,iBAC5B,SAAA,CACH;AAEJ;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type EnvHopperHealth = 'healthy' | 'degraded';
|
|
3
|
+
export interface EnvHopperHealthStateBootstrapPart {
|
|
4
|
+
bootstrapApiError?: unknown;
|
|
5
|
+
}
|
|
6
|
+
export interface HealthStateContext {
|
|
7
|
+
envHopperHealth: EnvHopperHealth;
|
|
8
|
+
setEnvHopperHealth: (health: EnvHopperHealth) => void;
|
|
9
|
+
}
|
|
10
|
+
interface HealthStateProviderProps {
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
bootstrapHealth: EnvHopperHealthStateBootstrapPart;
|
|
13
|
+
}
|
|
14
|
+
export declare function HealthStateProvider({ children, }: HealthStateProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function useEnvHopperHealth(): HealthStateContext;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { CrossCuttingParamDef, CrossCuttingParamValue } from '~/modules/crossCuttingParams/types';
|
|
3
|
+
export interface CrossCuttingParamsContext {
|
|
4
|
+
setCrossCuttingParams: (params: Record<string, CrossCuttingParamValue>) => void;
|
|
5
|
+
crossCuttingParams: Record<string, CrossCuttingParamValue>;
|
|
6
|
+
setCrossCuttingParamsDefs: (param: Array<CrossCuttingParamDef>) => void;
|
|
7
|
+
getParamDefBySlug: (slug: string) => CrossCuttingParamDef | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare const CrossCuttingParamsContext: import('react').Context<CrossCuttingParamsContext | undefined>;
|
|
10
|
+
interface CrossCuttingParamsProviderProps {
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
initialCrossCuttingParams?: Array<CrossCuttingParamValue>;
|
|
13
|
+
}
|
|
14
|
+
export declare function CrossCuttingParamsProvider({ children, initialCrossCuttingParams, }: CrossCuttingParamsProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function useCrossCuttingParamsContext(): CrossCuttingParamsContext;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { objectify } from "radashi";
|
|
3
|
+
import { useState, useCallback, useMemo, createContext, use } from "react";
|
|
4
|
+
const CrossCuttingParamsContext = createContext(void 0);
|
|
5
|
+
function CrossCuttingParamsProvider({
|
|
6
|
+
children,
|
|
7
|
+
initialCrossCuttingParams
|
|
8
|
+
}) {
|
|
9
|
+
const [crossCuttingParams, setCrossCuttingParams] = useState(
|
|
10
|
+
() => initialCrossCuttingParams ? objectify(initialCrossCuttingParams, (k) => k.slug) : {}
|
|
11
|
+
);
|
|
12
|
+
const [crossCuttingParamDefs, setCrossCuttingParamsDefs] = useState([]);
|
|
13
|
+
const getParamDefBySlug = useCallback(
|
|
14
|
+
(slug) => {
|
|
15
|
+
return crossCuttingParamDefs.find((param) => param.slug === slug);
|
|
16
|
+
},
|
|
17
|
+
[crossCuttingParamDefs]
|
|
18
|
+
);
|
|
19
|
+
const value = useMemo(
|
|
20
|
+
() => ({
|
|
21
|
+
setCrossCuttingParams,
|
|
22
|
+
crossCuttingParams,
|
|
23
|
+
setCrossCuttingParamsDefs,
|
|
24
|
+
getParamDefBySlug
|
|
25
|
+
}),
|
|
26
|
+
[crossCuttingParams, getParamDefBySlug]
|
|
27
|
+
);
|
|
28
|
+
return /* @__PURE__ */ jsx(CrossCuttingParamsContext, { value, children });
|
|
29
|
+
}
|
|
30
|
+
function useCrossCuttingParamsContext() {
|
|
31
|
+
const context = use(CrossCuttingParamsContext);
|
|
32
|
+
if (context === void 0) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
"useCrossCuttingParamsContext must be used within a CrossCuttingParamsProvider"
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
return context;
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
CrossCuttingParamsContext,
|
|
41
|
+
CrossCuttingParamsProvider,
|
|
42
|
+
useCrossCuttingParamsContext
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=CrossCuttingParamsContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CrossCuttingParamsContext.js","sources":["../../../../src/modules/crossCuttingParams/CrossCuttingParamsContext.tsx"],"sourcesContent":["import { objectify } from 'radashi'\nimport { createContext, use, useCallback, useMemo, useState } from 'react'\nimport type { ReactNode } from 'react'\nimport type {\n CrossCuttingParamDef,\n CrossCuttingParamValue,\n} from '~/modules/crossCuttingParams/types'\n\nexport interface CrossCuttingParamsContext {\n setCrossCuttingParams: (\n params: Record<string, CrossCuttingParamValue>,\n ) => void\n crossCuttingParams: Record<string, CrossCuttingParamValue>\n setCrossCuttingParamsDefs: (param: Array<CrossCuttingParamDef>) => void\n getParamDefBySlug: (slug: string) => CrossCuttingParamDef | undefined\n}\n\nexport const CrossCuttingParamsContext = createContext<\n CrossCuttingParamsContext | undefined\n>(undefined)\n\ninterface CrossCuttingParamsProviderProps {\n children: ReactNode\n initialCrossCuttingParams?: Array<CrossCuttingParamValue>\n}\n\nexport function CrossCuttingParamsProvider({\n children,\n initialCrossCuttingParams,\n}: CrossCuttingParamsProviderProps) {\n const [crossCuttingParams, setCrossCuttingParams] = useState<\n Record<string, CrossCuttingParamValue>\n >(() =>\n initialCrossCuttingParams\n ? objectify(initialCrossCuttingParams, (k) => k.slug)\n : {},\n )\n\n const [crossCuttingParamDefs, setCrossCuttingParamsDefs] = useState<\n Array<CrossCuttingParamDef>\n >([])\n\n const getParamDefBySlug = useCallback(\n (slug: string): CrossCuttingParamDef | undefined => {\n return crossCuttingParamDefs.find((param) => param.slug === slug)\n },\n [crossCuttingParamDefs],\n )\n\n const value: CrossCuttingParamsContext = useMemo(\n () => ({\n setCrossCuttingParams,\n crossCuttingParams,\n setCrossCuttingParamsDefs,\n getParamDefBySlug,\n }),\n [crossCuttingParams, getParamDefBySlug],\n )\n\n return (\n <CrossCuttingParamsContext value={value}>\n {children}\n </CrossCuttingParamsContext>\n )\n}\n\nexport function useCrossCuttingParamsContext(): CrossCuttingParamsContext {\n const context = use(CrossCuttingParamsContext)\n if (context === undefined) {\n throw new Error(\n 'useCrossCuttingParamsContext must be used within a CrossCuttingParamsProvider',\n )\n }\n return context\n}\n"],"names":[],"mappings":";;;AAiBO,MAAM,4BAA4B,cAEvC,MAAS;AAOJ,SAAS,2BAA2B;AAAA,EACzC;AAAA,EACA;AACF,GAAoC;AAClC,QAAM,CAAC,oBAAoB,qBAAqB,IAAI;AAAA,IAElD,MACA,4BACI,UAAU,2BAA2B,CAAC,MAAM,EAAE,IAAI,IAClD,CAAA;AAAA,EAAC;AAGP,QAAM,CAAC,uBAAuB,yBAAyB,IAAI,SAEzD,CAAA,CAAE;AAEJ,QAAM,oBAAoB;AAAA,IACxB,CAAC,SAAmD;AAClD,aAAO,sBAAsB,KAAK,CAAC,UAAU,MAAM,SAAS,IAAI;AAAA,IAClE;AAAA,IACA,CAAC,qBAAqB;AAAA,EAAA;AAGxB,QAAM,QAAmC;AAAA,IACvC,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,oBAAoB,iBAAiB;AAAA,EAAA;AAGxC,SACE,oBAAC,2BAAA,EAA0B,OACxB,SAAA,CACH;AAEJ;AAEO,SAAS,+BAA0D;AACxE,QAAM,UAAU,IAAI,yBAAyB;AAC7C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AACA,SAAO;AACT;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface CrossCuttingLoaderParam {
|
|
2
|
+
slug: string;
|
|
3
|
+
stringValue: string;
|
|
4
|
+
}
|
|
5
|
+
export interface CrossCuttingParamDef {
|
|
6
|
+
slug: string;
|
|
7
|
+
displayName: string;
|
|
8
|
+
}
|
|
9
|
+
export interface CrossCuttingParamValue {
|
|
10
|
+
slug: string;
|
|
11
|
+
stringValue: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const CROSS_CUTTING_SINGLE_SLUG = "single";
|
package/dist/esm/modules/environment/{EnvironmentContext.d.ts → context/EnvironmentContext.d.ts}
RENAMED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EnvBaseInfo } from '@env-hopper/backend-core';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { EnvironmentHistoryItem } from '
|
|
3
|
+
import { EnvironmentHistoryItem } from '../types.js';
|
|
4
4
|
export interface EnvironmentContext {
|
|
5
5
|
setCurrentEnv: (envSlug: string | undefined) => void;
|
|
6
|
-
currentEnv:
|
|
7
|
-
|
|
6
|
+
currentEnv: EnvBaseInfo | undefined;
|
|
7
|
+
history: Array<EnvironmentHistoryItem>;
|
|
8
|
+
initialEnvSlug: string | undefined;
|
|
9
|
+
environments: Array<EnvBaseInfo>;
|
|
8
10
|
}
|
|
11
|
+
export declare const EnvironmentContext: import('react').Context<EnvironmentContext | undefined>;
|
|
9
12
|
interface EnvironmentProviderProps {
|
|
10
13
|
children: ReactNode;
|
|
11
14
|
initialEnvSlug?: string;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { createContext, useState, useMemo, useCallback, useEffect, use } from "react";
|
|
4
|
+
import { ApiQueryMagazineResourceJump } from "../../resourceJump/api/ApiQueryMagazineResourceJump.js";
|
|
5
|
+
import { useEnvironmentHistory } from "./useEnvironmentHistory.js";
|
|
6
|
+
const EnvironmentContext = createContext(
|
|
7
|
+
void 0
|
|
8
|
+
);
|
|
9
|
+
function EnvironmentProvider({
|
|
10
|
+
children,
|
|
11
|
+
initialEnvSlug
|
|
12
|
+
}) {
|
|
13
|
+
const { history, historySaveEnvSwitch } = useEnvironmentHistory();
|
|
14
|
+
const { data: resourceJumpsData } = useQuery(
|
|
15
|
+
ApiQueryMagazineResourceJump.getResourceJumps()
|
|
16
|
+
);
|
|
17
|
+
const [currentEnvSlug, setCurrentEnvSlug] = useState(
|
|
18
|
+
initialEnvSlug
|
|
19
|
+
);
|
|
20
|
+
const environments = useMemo(() => {
|
|
21
|
+
return (resourceJumpsData == null ? void 0 : resourceJumpsData.envs) || [];
|
|
22
|
+
}, [resourceJumpsData]);
|
|
23
|
+
const findEnvBySlug = useCallback(
|
|
24
|
+
(envSlug) => {
|
|
25
|
+
if (!envSlug || !resourceJumpsData) return void 0;
|
|
26
|
+
return resourceJumpsData.envs.find((env) => env.slug === envSlug);
|
|
27
|
+
},
|
|
28
|
+
[resourceJumpsData]
|
|
29
|
+
);
|
|
30
|
+
const currentEnv = findEnvBySlug(currentEnvSlug);
|
|
31
|
+
const setCurrentEnv = useCallback(
|
|
32
|
+
(envSlug) => {
|
|
33
|
+
setCurrentEnvSlug(envSlug);
|
|
34
|
+
if (envSlug !== void 0) {
|
|
35
|
+
historySaveEnvSwitch(envSlug);
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
[historySaveEnvSwitch]
|
|
39
|
+
);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
setCurrentEnv(initialEnvSlug);
|
|
42
|
+
}, [initialEnvSlug, setCurrentEnv]);
|
|
43
|
+
const value = useMemo(
|
|
44
|
+
() => ({
|
|
45
|
+
setCurrentEnv,
|
|
46
|
+
currentEnv,
|
|
47
|
+
history,
|
|
48
|
+
initialEnvSlug,
|
|
49
|
+
environments
|
|
50
|
+
}),
|
|
51
|
+
[currentEnv, setCurrentEnv, history, initialEnvSlug, environments]
|
|
52
|
+
);
|
|
53
|
+
return /* @__PURE__ */ jsx(EnvironmentContext, { value, children });
|
|
54
|
+
}
|
|
55
|
+
function useEnvironmentContext() {
|
|
56
|
+
const context = use(EnvironmentContext);
|
|
57
|
+
if (context === void 0) {
|
|
58
|
+
throw new Error(
|
|
59
|
+
"useEnvironmentContext must be used within an EnvironmentProvider"
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
return context;
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
EnvironmentContext,
|
|
66
|
+
EnvironmentProvider,
|
|
67
|
+
useEnvironmentContext
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=EnvironmentContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvironmentContext.js","sources":["../../../../../src/modules/environment/context/EnvironmentContext.tsx"],"sourcesContent":["import type { EnvBaseInfo } from '@env-hopper/backend-core'\nimport { useQuery } from '@tanstack/react-query'\nimport type { ReactNode } from 'react'\nimport {\n createContext,\n use,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport { ApiQueryMagazineResourceJump } from '../../resourceJump/api/ApiQueryMagazineResourceJump'\nimport type { EnvironmentHistoryItem } from '../types'\nimport { useEnvironmentHistory } from './useEnvironmentHistory'\n\nexport interface EnvironmentContext {\n setCurrentEnv: (envSlug: string | undefined) => void\n currentEnv: EnvBaseInfo | undefined\n history: Array<EnvironmentHistoryItem>\n initialEnvSlug: string | undefined\n environments: Array<EnvBaseInfo>\n}\n\nexport const EnvironmentContext = createContext<EnvironmentContext | undefined>(\n undefined,\n)\n\ninterface EnvironmentProviderProps {\n children: ReactNode\n initialEnvSlug?: string\n}\n\nexport function EnvironmentProvider({\n children,\n initialEnvSlug,\n}: EnvironmentProviderProps) {\n // Use environment history hook (loads history from DB and provides save)\n const { history, historySaveEnvSwitch } = useEnvironmentHistory()\n\n // Fetch ResourceJumpsData to get environment information\n const { data: resourceJumpsData } = useQuery(\n ApiQueryMagazineResourceJump.getResourceJumps(),\n )\n\n const [currentEnvSlug, setCurrentEnvSlug] = useState<string | undefined>(\n initialEnvSlug,\n )\n\n const environments = useMemo(() => {\n return resourceJumpsData?.envs || []\n }, [resourceJumpsData])\n\n // Lookup functions\n const findEnvBySlug = useCallback(\n (envSlug: string | undefined): EnvBaseInfo | undefined => {\n if (!envSlug || !resourceJumpsData) return undefined\n return resourceJumpsData.envs.find((env) => env.slug === envSlug)\n },\n [resourceJumpsData],\n )\n\n // Get current objects from slugs\n const currentEnv = findEnvBySlug(currentEnvSlug)\n const setCurrentEnv = useCallback(\n (envSlug: string | undefined) => {\n // TODO: Intentionally setting state directly from URL\n setCurrentEnvSlug(envSlug)\n if (envSlug !== undefined) {\n historySaveEnvSwitch(envSlug)\n }\n },\n [historySaveEnvSwitch],\n )\n\n // Sync currentEnvSlug with URL changes (from initialEnvSlug prop)\n useEffect(() => {\n setCurrentEnv(initialEnvSlug)\n }, [initialEnvSlug, setCurrentEnv])\n\n const value: EnvironmentContext = useMemo(\n () => ({\n setCurrentEnv,\n currentEnv,\n history,\n initialEnvSlug,\n environments,\n }),\n [currentEnv, setCurrentEnv, history, initialEnvSlug, environments],\n )\n\n // return (\n // <EnvironmentContext value={value}></EnvironmentContext>\n // recents: history,\n // record: (envSlug: string) => {\n // const timestamp = Date.now();\n // setHistory((prev) => [...prev, { envSlug, timestamp }]);\n // },\n // },\n // }), [currentEnv, setCurrentEnv, history]);\n\n // return (\n // <EnvironmentContext value={value}></EnvironmentContext>\n // recents: [],\n // record: (envSlug: string) => {\n // const timestamp = Date.now();\n // envHistory.recents.push({ envSlug, timestamp });\n // },\n // },\n // }), [currentEnv, setCurrentEnv]);\n\n return <EnvironmentContext value={value}>{children}</EnvironmentContext>\n}\n\nexport function useEnvironmentContext(): EnvironmentContext {\n const context = use(EnvironmentContext)\n if (context === undefined) {\n throw new Error(\n 'useEnvironmentContext must be used within an EnvironmentProvider',\n )\n }\n return context\n}\n"],"names":[],"mappings":";;;;;AAuBO,MAAM,qBAAqB;AAAA,EAChC;AACF;AAOO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AACF,GAA6B;AAE3B,QAAM,EAAE,SAAS,qBAAA,IAAyB,sBAAA;AAG1C,QAAM,EAAE,MAAM,kBAAA,IAAsB;AAAA,IAClC,6BAA6B,iBAAA;AAAA,EAAiB;AAGhD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI;AAAA,IAC1C;AAAA,EAAA;AAGF,QAAM,eAAe,QAAQ,MAAM;AACjC,YAAO,uDAAmB,SAAQ,CAAA;AAAA,EACpC,GAAG,CAAC,iBAAiB,CAAC;AAGtB,QAAM,gBAAgB;AAAA,IACpB,CAAC,YAAyD;AACxD,UAAI,CAAC,WAAW,CAAC,kBAAmB,QAAO;AAC3C,aAAO,kBAAkB,KAAK,KAAK,CAAC,QAAQ,IAAI,SAAS,OAAO;AAAA,IAClE;AAAA,IACA,CAAC,iBAAiB;AAAA,EAAA;AAIpB,QAAM,aAAa,cAAc,cAAc;AAC/C,QAAM,gBAAgB;AAAA,IACpB,CAAC,YAAgC;AAE/B,wBAAkB,OAAO;AACzB,UAAI,YAAY,QAAW;AACzB,6BAAqB,OAAO;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,CAAC,oBAAoB;AAAA,EAAA;AAIvB,YAAU,MAAM;AACd,kBAAc,cAAc;AAAA,EAC9B,GAAG,CAAC,gBAAgB,aAAa,CAAC;AAElC,QAAM,QAA4B;AAAA,IAChC,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,YAAY,eAAe,SAAS,gBAAgB,YAAY;AAAA,EAAA;AAuBnE,SAAO,oBAAC,oBAAA,EAAmB,OAAe,SAAA,CAAS;AACrD;AAEO,SAAS,wBAA4C;AAC1D,QAAM,UAAU,IAAI,kBAAkB;AACtC,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AACA,SAAO;AACT;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useLiveQuery } from "dexie-react-hooks";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { useDb } from "../../../userDb/DbContext.js";
|
|
4
|
+
function useEnvironmentHistory() {
|
|
5
|
+
const db = useDb();
|
|
6
|
+
const history = useLiveQuery(async () => {
|
|
7
|
+
const days30Ago = Date.now() - 30 * 24 * 60 * 60 * 1e3;
|
|
8
|
+
return await db.environmentHistory.where("timestamp").aboveOrEqual(days30Ago).sortBy("timestamp");
|
|
9
|
+
});
|
|
10
|
+
const historySaveEnvSwitch = useCallback(
|
|
11
|
+
(envSlug) => {
|
|
12
|
+
const timestamp = Date.now();
|
|
13
|
+
const newHistoryItem = { envSlug, timestamp };
|
|
14
|
+
db.environmentHistory.add(newHistoryItem);
|
|
15
|
+
},
|
|
16
|
+
[db.environmentHistory]
|
|
17
|
+
);
|
|
18
|
+
return {
|
|
19
|
+
history: history || [],
|
|
20
|
+
historySaveEnvSwitch
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
useEnvironmentHistory
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=useEnvironmentHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEnvironmentHistory.js","sources":["../../../../../src/modules/environment/context/useEnvironmentHistory.ts"],"sourcesContent":["import { useLiveQuery } from 'dexie-react-hooks'\nimport { useCallback } from 'react'\nimport type { EnvironmentHistoryItem } from '~/modules/environment/types'\nimport { useDb } from '~/userDb/DbContext'\n\nexport function useEnvironmentHistory() {\n const db = useDb()\n\n const history = useLiveQuery(async () => {\n const days30Ago = Date.now() - 30 * 24 * 60 * 60 * 1000\n return await db.environmentHistory\n .where('timestamp')\n .aboveOrEqual(days30Ago)\n .sortBy('timestamp')\n })\n\n const historySaveEnvSwitch = useCallback(\n (envSlug: string) => {\n const timestamp = Date.now()\n const newHistoryItem: EnvironmentHistoryItem = { envSlug, timestamp }\n db.environmentHistory.add(newHistoryItem)\n },\n [db.environmentHistory],\n )\n\n return {\n history: history || [],\n historySaveEnvSwitch,\n }\n}\n"],"names":[],"mappings":";;;AAKO,SAAS,wBAAwB;AACtC,QAAM,KAAK,MAAA;AAEX,QAAM,UAAU,aAAa,YAAY;AACvC,UAAM,YAAY,KAAK,IAAA,IAAQ,KAAK,KAAK,KAAK,KAAK;AACnD,WAAO,MAAM,GAAG,mBACb,MAAM,WAAW,EACjB,aAAa,SAAS,EACtB,OAAO,WAAW;AAAA,EACvB,CAAC;AAED,QAAM,uBAAuB;AAAA,IAC3B,CAAC,YAAoB;AACnB,YAAM,YAAY,KAAK,IAAA;AACvB,YAAM,iBAAyC,EAAE,SAAS,UAAA;AAC1D,SAAG,mBAAmB,IAAI,cAAc;AAAA,IAC1C;AAAA,IACA,CAAC,GAAG,kBAAkB;AAAA,EAAA;AAGxB,SAAO;AAAA,IACL,SAAS,WAAW,CAAA;AAAA,IACpB;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Encoder, Index } from "flexsearch";
|
|
2
|
-
import {
|
|
2
|
+
import { matchSorter } from "match-sorter";
|
|
3
|
+
import { isRuLayout, fixRuLayout } from "./fixLayout.js";
|
|
4
|
+
import { enrichTokensForIndex, tokenize } from "./tokenize.js";
|
|
3
5
|
function makeFuzzySearchIndex(params) {
|
|
4
6
|
const encoder = new Encoder({
|
|
5
7
|
// prepare
|
|
@@ -21,7 +23,11 @@ function makeFuzzySearchIndex(params) {
|
|
|
21
23
|
encoder
|
|
22
24
|
});
|
|
23
25
|
params.entries.forEach((entry, idx) => {
|
|
24
|
-
|
|
26
|
+
const newLocal = [
|
|
27
|
+
...enrichTokensForIndex(tokenize(entry.displayName)),
|
|
28
|
+
gluer(entry.displayName)
|
|
29
|
+
].join(" ");
|
|
30
|
+
index.add(idx, newLocal);
|
|
25
31
|
});
|
|
26
32
|
return {
|
|
27
33
|
flexIndex: index,
|
|
@@ -29,12 +35,46 @@ function makeFuzzySearchIndex(params) {
|
|
|
29
35
|
};
|
|
30
36
|
}
|
|
31
37
|
function fuzzySearch(needle, context) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
const justDisplayName = context.index.entries;
|
|
39
|
+
const attempt = (n) => {
|
|
40
|
+
const tokenizedNeedle = tokenize(n).join(" ");
|
|
41
|
+
const results = matchSorter(justDisplayName, tokenizedNeedle, {
|
|
42
|
+
keys: [(item) => tokenize(item.displayName).join(" ")],
|
|
43
|
+
sorter: (rankedItems) => {
|
|
44
|
+
return rankedItems.sort((a, b) => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
const aFirst = -1;
|
|
47
|
+
const bFirst = 1;
|
|
48
|
+
const { rank: aRank, keyIndex: aKeyIndex } = a;
|
|
49
|
+
const { rank: bRank, keyIndex: bKeyIndex } = b;
|
|
50
|
+
const same = aRank === bRank;
|
|
51
|
+
if (same) {
|
|
52
|
+
if (aKeyIndex === bKeyIndex) {
|
|
53
|
+
const aFreq = ((_a = context.freqGetter) == null ? void 0 : _a.call(context, a.item.slug)) || 0;
|
|
54
|
+
const bFreq = ((_b = context.freqGetter) == null ? void 0 : _b.call(context, b.item.slug)) || 0;
|
|
55
|
+
if (aFreq === bFreq) {
|
|
56
|
+
return a.item.displayName.localeCompare(b.item.displayName);
|
|
57
|
+
}
|
|
58
|
+
return aFreq > bFreq ? aFirst : bFirst;
|
|
59
|
+
} else {
|
|
60
|
+
return aKeyIndex < bKeyIndex ? aFirst : bFirst;
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
return aRank > bRank ? aFirst : bFirst;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return results.map((r) => ({ entry: r }));
|
|
69
|
+
};
|
|
70
|
+
let lastAttempt = attempt(needle);
|
|
71
|
+
if (lastAttempt.length === 0 && isRuLayout(needle)) {
|
|
72
|
+
lastAttempt = attempt(fixRuLayout(needle));
|
|
73
|
+
}
|
|
74
|
+
return lastAttempt;
|
|
75
|
+
}
|
|
76
|
+
function gluer(displayName) {
|
|
77
|
+
return displayName.toLowerCase().replaceAll(/[^a-z0-9]/g, "");
|
|
38
78
|
}
|
|
39
79
|
export {
|
|
40
80
|
fuzzySearch,
|