@everysk/apps-sdk 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +128 -0
- package/dist/EveryskApp.d.ts +73 -0
- package/dist/EveryskApp.d.ts.map +1 -0
- package/dist/EveryskApp.js +66 -0
- package/dist/EveryskApp.js.map +1 -0
- package/dist/agGrid/agGridTheme.d.ts +77 -0
- package/dist/agGrid/agGridTheme.d.ts.map +1 -0
- package/dist/agGrid/agGridTheme.js +88 -0
- package/dist/agGrid/agGridTheme.js.map +1 -0
- package/dist/agGrid/index.d.ts +4 -0
- package/dist/agGrid/index.d.ts.map +1 -0
- package/dist/agGrid/index.js +3 -0
- package/dist/api/datastore.d.ts +68 -0
- package/dist/api/datastore.d.ts.map +1 -0
- package/dist/api/datastore.js +125 -0
- package/dist/api/datastore.js.map +1 -0
- package/dist/api/entityQuery.d.ts +78 -0
- package/dist/api/entityQuery.d.ts.map +1 -0
- package/dist/api/entityQuery.js +100 -0
- package/dist/api/entityQuery.js.map +1 -0
- package/dist/api/file.d.ts +70 -0
- package/dist/api/file.d.ts.map +1 -0
- package/dist/api/file.js +126 -0
- package/dist/api/file.js.map +1 -0
- package/dist/api/portfolio.d.ts +67 -0
- package/dist/api/portfolio.d.ts.map +1 -0
- package/dist/api/portfolio.js +125 -0
- package/dist/api/portfolio.js.map +1 -0
- package/dist/api/profile.d.ts +40 -0
- package/dist/api/profile.d.ts.map +1 -0
- package/dist/api/profile.js +71 -0
- package/dist/api/profile.js.map +1 -0
- package/dist/api/websocketsConfig.d.ts +13 -0
- package/dist/api/websocketsConfig.d.ts.map +1 -0
- package/dist/api/websocketsConfig.js +25 -0
- package/dist/api/websocketsConfig.js.map +1 -0
- package/dist/api/workflow.d.ts +154 -0
- package/dist/api/workflow.d.ts.map +1 -0
- package/dist/api/workflow.js +289 -0
- package/dist/api/workflow.js.map +1 -0
- package/dist/api/workspace.d.ts +29 -0
- package/dist/api/workspace.d.ts.map +1 -0
- package/dist/api/workspace.js +54 -0
- package/dist/api/workspace.js.map +1 -0
- package/dist/components/ui/EveryskIcon/index.d.ts +5 -0
- package/dist/components/ui/EveryskIcon/index.d.ts.map +1 -0
- package/dist/components/ui/EveryskIcon/index.js +25 -0
- package/dist/components/ui/EveryskIcon/index.js.map +1 -0
- package/dist/components/ui/Footer/index.d.ts +5 -0
- package/dist/components/ui/Footer/index.d.ts.map +1 -0
- package/dist/components/ui/Footer/index.js +23 -0
- package/dist/components/ui/Footer/index.js.map +1 -0
- package/dist/components/ui/GlobalLoading/index.d.ts +8 -0
- package/dist/components/ui/GlobalLoading/index.d.ts.map +1 -0
- package/dist/components/ui/GlobalLoading/index.js +42 -0
- package/dist/components/ui/GlobalLoading/index.js.map +1 -0
- package/dist/components/ui/PageContainer/index.d.ts +7 -0
- package/dist/components/ui/PageContainer/index.d.ts.map +1 -0
- package/dist/components/ui/PageContainer/index.js +20 -0
- package/dist/components/ui/PageContainer/index.js.map +1 -0
- package/dist/components/ui/Toolbar/index.d.ts +5 -0
- package/dist/components/ui/Toolbar/index.d.ts.map +1 -0
- package/dist/components/ui/Toolbar/index.js +32 -0
- package/dist/components/ui/Toolbar/index.js.map +1 -0
- package/dist/contexts/agGridLicenseContext/provider.d.ts +51 -0
- package/dist/contexts/agGridLicenseContext/provider.d.ts.map +1 -0
- package/dist/contexts/agGridLicenseContext/provider.js +58 -0
- package/dist/contexts/agGridLicenseContext/provider.js.map +1 -0
- package/dist/contexts/appAlertContext/index.d.ts +3 -0
- package/dist/contexts/appAlertContext/index.d.ts.map +1 -0
- package/dist/contexts/appAlertContext/index.js +7 -0
- package/dist/contexts/appAlertContext/index.js.map +1 -0
- package/dist/contexts/appAlertContext/provider.d.ts +40 -0
- package/dist/contexts/appAlertContext/provider.d.ts.map +1 -0
- package/dist/contexts/appAlertContext/provider.js +96 -0
- package/dist/contexts/appAlertContext/provider.js.map +1 -0
- package/dist/contexts/appAlertContext/types.d.ts +15 -0
- package/dist/contexts/appAlertContext/types.d.ts.map +1 -0
- package/dist/contexts/appAlertContext/useAppAlert.d.ts +30 -0
- package/dist/contexts/appAlertContext/useAppAlert.d.ts.map +1 -0
- package/dist/contexts/appAlertContext/useAppAlert.js +40 -0
- package/dist/contexts/appAlertContext/useAppAlert.js.map +1 -0
- package/dist/contexts/appConfigContext/index.d.ts +3 -0
- package/dist/contexts/appConfigContext/index.d.ts.map +1 -0
- package/dist/contexts/appConfigContext/index.js +7 -0
- package/dist/contexts/appConfigContext/index.js.map +1 -0
- package/dist/contexts/appConfigContext/provider.d.ts +45 -0
- package/dist/contexts/appConfigContext/provider.d.ts.map +1 -0
- package/dist/contexts/appConfigContext/provider.js +63 -0
- package/dist/contexts/appConfigContext/provider.js.map +1 -0
- package/dist/contexts/appConfigContext/types.d.ts +28 -0
- package/dist/contexts/appConfigContext/types.d.ts.map +1 -0
- package/dist/contexts/appConfigContext/useAppConfig.d.ts +20 -0
- package/dist/contexts/appConfigContext/useAppConfig.d.ts.map +1 -0
- package/dist/contexts/appConfigContext/useAppConfig.js +30 -0
- package/dist/contexts/appConfigContext/useAppConfig.js.map +1 -0
- package/dist/contexts/webSocketContext/constants.d.ts +4 -0
- package/dist/contexts/webSocketContext/constants.d.ts.map +1 -0
- package/dist/contexts/webSocketContext/constants.js +8 -0
- package/dist/contexts/webSocketContext/constants.js.map +1 -0
- package/dist/contexts/webSocketContext/handler.d.ts +43 -0
- package/dist/contexts/webSocketContext/handler.d.ts.map +1 -0
- package/dist/contexts/webSocketContext/handler.js +87 -0
- package/dist/contexts/webSocketContext/handler.js.map +1 -0
- package/dist/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.d.ts +19 -0
- package/dist/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.d.ts.map +1 -0
- package/dist/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.js +31 -0
- package/dist/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.js.map +1 -0
- package/dist/contexts/webSocketContext/hooks/useWebSocket/index.d.ts +11 -0
- package/dist/contexts/webSocketContext/hooks/useWebSocket/index.d.ts.map +1 -0
- package/dist/contexts/webSocketContext/hooks/useWebSocket/index.js +21 -0
- package/dist/contexts/webSocketContext/hooks/useWebSocket/index.js.map +1 -0
- package/dist/contexts/webSocketContext/hooks/useWebSocketSubscription/index.d.ts +30 -0
- package/dist/contexts/webSocketContext/hooks/useWebSocketSubscription/index.d.ts.map +1 -0
- package/dist/contexts/webSocketContext/hooks/useWebSocketSubscription/index.js +44 -0
- package/dist/contexts/webSocketContext/hooks/useWebSocketSubscription/index.js.map +1 -0
- package/dist/contexts/webSocketContext/index.d.ts +3 -0
- package/dist/contexts/webSocketContext/index.d.ts.map +1 -0
- package/dist/contexts/webSocketContext/index.js +7 -0
- package/dist/contexts/webSocketContext/index.js.map +1 -0
- package/dist/contexts/webSocketContext/provider.d.ts +39 -0
- package/dist/contexts/webSocketContext/provider.d.ts.map +1 -0
- package/dist/contexts/webSocketContext/provider.js +121 -0
- package/dist/contexts/webSocketContext/provider.js.map +1 -0
- package/dist/contexts/webSocketContext/types.d.ts +41 -0
- package/dist/contexts/webSocketContext/types.d.ts.map +1 -0
- package/dist/datastore/index.d.ts +7 -0
- package/dist/datastore/index.d.ts.map +1 -0
- package/dist/file/index.d.ts +6 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/hooks/datastore/useDatastoreMutations.d.ts +151 -0
- package/dist/hooks/datastore/useDatastoreMutations.d.ts.map +1 -0
- package/dist/hooks/datastore/useDatastoreMutations.js +198 -0
- package/dist/hooks/datastore/useDatastoreMutations.js.map +1 -0
- package/dist/hooks/datastore/useFetchDatastore.d.ts +205 -0
- package/dist/hooks/datastore/useFetchDatastore.d.ts.map +1 -0
- package/dist/hooks/datastore/useFetchDatastore.js +85 -0
- package/dist/hooks/datastore/useFetchDatastore.js.map +1 -0
- package/dist/hooks/datastore/useFetchDatastores.d.ts +70 -0
- package/dist/hooks/datastore/useFetchDatastores.d.ts.map +1 -0
- package/dist/hooks/datastore/useFetchDatastores.js +105 -0
- package/dist/hooks/datastore/useFetchDatastores.js.map +1 -0
- package/dist/hooks/file/useFetchFile.d.ts +212 -0
- package/dist/hooks/file/useFetchFile.d.ts.map +1 -0
- package/dist/hooks/file/useFetchFile.js +87 -0
- package/dist/hooks/file/useFetchFile.js.map +1 -0
- package/dist/hooks/file/useFetchFiles.d.ts +60 -0
- package/dist/hooks/file/useFetchFiles.d.ts.map +1 -0
- package/dist/hooks/file/useFetchFiles.js +89 -0
- package/dist/hooks/file/useFetchFiles.js.map +1 -0
- package/dist/hooks/file/useFileMutations.d.ts +161 -0
- package/dist/hooks/file/useFileMutations.d.ts.map +1 -0
- package/dist/hooks/file/useFileMutations.js +208 -0
- package/dist/hooks/file/useFileMutations.js.map +1 -0
- package/dist/hooks/portfolio/useFetchPortfolio.d.ts +210 -0
- package/dist/hooks/portfolio/useFetchPortfolio.d.ts.map +1 -0
- package/dist/hooks/portfolio/useFetchPortfolio.js +85 -0
- package/dist/hooks/portfolio/useFetchPortfolio.js.map +1 -0
- package/dist/hooks/portfolio/useFetchPortfolios.d.ts +60 -0
- package/dist/hooks/portfolio/useFetchPortfolios.d.ts.map +1 -0
- package/dist/hooks/portfolio/useFetchPortfolios.js +89 -0
- package/dist/hooks/portfolio/useFetchPortfolios.js.map +1 -0
- package/dist/hooks/portfolio/usePortfolioMutations.d.ts +171 -0
- package/dist/hooks/portfolio/usePortfolioMutations.d.ts.map +1 -0
- package/dist/hooks/portfolio/usePortfolioMutations.js +218 -0
- package/dist/hooks/portfolio/usePortfolioMutations.js.map +1 -0
- package/dist/hooks/profile/useFetchProfile.d.ts +206 -0
- package/dist/hooks/profile/useFetchProfile.d.ts.map +1 -0
- package/dist/hooks/profile/useFetchProfile.js +70 -0
- package/dist/hooks/profile/useFetchProfile.js.map +1 -0
- package/dist/hooks/useAxios.d.ts +40 -0
- package/dist/hooks/useAxios.d.ts.map +1 -0
- package/dist/hooks/useAxios.js +76 -0
- package/dist/hooks/useAxios.js.map +1 -0
- package/dist/hooks/workflow/useFetchWorkerExecution.d.ts +198 -0
- package/dist/hooks/workflow/useFetchWorkerExecution.d.ts.map +1 -0
- package/dist/hooks/workflow/useFetchWorkerExecution.js +69 -0
- package/dist/hooks/workflow/useFetchWorkerExecution.js.map +1 -0
- package/dist/hooks/workflow/useFetchWorkerExecutions.d.ts +52 -0
- package/dist/hooks/workflow/useFetchWorkerExecutions.d.ts.map +1 -0
- package/dist/hooks/workflow/useFetchWorkerExecutions.js +83 -0
- package/dist/hooks/workflow/useFetchWorkerExecutions.js.map +1 -0
- package/dist/hooks/workflow/useFetchWorkflow.d.ts +195 -0
- package/dist/hooks/workflow/useFetchWorkflow.d.ts.map +1 -0
- package/dist/hooks/workflow/useFetchWorkflow.js +70 -0
- package/dist/hooks/workflow/useFetchWorkflow.js.map +1 -0
- package/dist/hooks/workflow/useFetchWorkflowExecution.d.ts +198 -0
- package/dist/hooks/workflow/useFetchWorkflowExecution.d.ts.map +1 -0
- package/dist/hooks/workflow/useFetchWorkflowExecution.js +69 -0
- package/dist/hooks/workflow/useFetchWorkflowExecution.js.map +1 -0
- package/dist/hooks/workflow/useFetchWorkflowExecutions.d.ts +49 -0
- package/dist/hooks/workflow/useFetchWorkflowExecutions.d.ts.map +1 -0
- package/dist/hooks/workflow/useFetchWorkflowExecutions.js +77 -0
- package/dist/hooks/workflow/useFetchWorkflowExecutions.js.map +1 -0
- package/dist/hooks/workflow/useFetchWorkflows.d.ts +47 -0
- package/dist/hooks/workflow/useFetchWorkflows.d.ts.map +1 -0
- package/dist/hooks/workflow/useFetchWorkflows.js +67 -0
- package/dist/hooks/workflow/useFetchWorkflows.js.map +1 -0
- package/dist/hooks/workflow/useRunWorkflow.d.ts +30 -0
- package/dist/hooks/workflow/useRunWorkflow.d.ts.map +1 -0
- package/dist/hooks/workflow/useRunWorkflow.js +50 -0
- package/dist/hooks/workflow/useRunWorkflow.js.map +1 -0
- package/dist/hooks/workspace/useFetchWorkspace.d.ts +197 -0
- package/dist/hooks/workspace/useFetchWorkspace.d.ts.map +1 -0
- package/dist/hooks/workspace/useFetchWorkspace.js +65 -0
- package/dist/hooks/workspace/useFetchWorkspace.js.map +1 -0
- package/dist/hooks/workspace/useFetchWorkspaces.d.ts +46 -0
- package/dist/hooks/workspace/useFetchWorkspaces.d.ts.map +1 -0
- package/dist/hooks/workspace/useFetchWorkspaces.js +66 -0
- package/dist/hooks/workspace/useFetchWorkspaces.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/lib/datastoreTable.d.ts +126 -0
- package/dist/lib/datastoreTable.d.ts.map +1 -0
- package/dist/lib/datastoreTable.js +146 -0
- package/dist/lib/datastoreTable.js.map +1 -0
- package/dist/lib/queryClient.d.ts +24 -0
- package/dist/lib/queryClient.d.ts.map +1 -0
- package/dist/lib/queryClient.js +48 -0
- package/dist/lib/queryClient.js.map +1 -0
- package/dist/portfolio/index.d.ts +6 -0
- package/dist/portfolio/index.d.ts.map +1 -0
- package/dist/profile/index.d.ts +4 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/socket/index.d.ts +10 -0
- package/dist/socket/index.d.ts.map +1 -0
- package/dist/socket/index.js +9 -0
- package/dist/test/index.d.ts +2 -0
- package/dist/test/index.d.ts.map +1 -0
- package/dist/test/index.js +2 -0
- package/dist/test/mocks/agGridEnterprise.d.ts +38 -0
- package/dist/test/mocks/agGridEnterprise.d.ts.map +1 -0
- package/dist/test/mocks/agGridEnterprise.js +43 -0
- package/dist/test/mocks/agGridEnterprise.js.map +1 -0
- package/dist/test/mocks/agGridReact.d.ts +42 -0
- package/dist/test/mocks/agGridReact.d.ts.map +1 -0
- package/dist/test/mocks/agGridReact.js +47 -0
- package/dist/test/mocks/agGridReact.js.map +1 -0
- package/dist/test/mocks/index.d.ts +5 -0
- package/dist/test/mocks/index.d.ts.map +1 -0
- package/dist/test/mocks/index.js +4 -0
- package/dist/test/mocks/socketIoClient.d.ts +45 -0
- package/dist/test/mocks/socketIoClient.d.ts.map +1 -0
- package/dist/test/mocks/socketIoClient.js +54 -0
- package/dist/test/mocks/socketIoClient.js.map +1 -0
- package/dist/test/renderWithProviders.d.ts +107 -0
- package/dist/test/renderWithProviders.d.ts.map +1 -0
- package/dist/test/renderWithProviders.js +85 -0
- package/dist/test/renderWithProviders.js.map +1 -0
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/test/setup.js +25 -0
- package/dist/test/setup.js.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +12 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.js +22 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/index.d.ts +9 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/overrides/index.d.ts +7 -0
- package/dist/theme/overrides/index.d.ts.map +1 -0
- package/dist/theme/overrides/index.js +31 -0
- package/dist/theme/overrides/index.js.map +1 -0
- package/dist/theme/overrides/muiButton.d.ts +3 -0
- package/dist/theme/overrides/muiButton.d.ts.map +1 -0
- package/dist/theme/overrides/muiButton.js +6 -0
- package/dist/theme/overrides/muiButton.js.map +1 -0
- package/dist/theme/overrides/muiCssBaseline.d.ts +31 -0
- package/dist/theme/overrides/muiCssBaseline.d.ts.map +1 -0
- package/dist/theme/overrides/muiCssBaseline.js +27 -0
- package/dist/theme/overrides/muiCssBaseline.js.map +1 -0
- package/dist/theme/overrides/muiDatePicker.d.ts +10 -0
- package/dist/theme/overrides/muiDatePicker.d.ts.map +1 -0
- package/dist/theme/overrides/muiDatePicker.js +6 -0
- package/dist/theme/overrides/muiDatePicker.js.map +1 -0
- package/dist/theme/overrides/muiFormControl.d.ts +3 -0
- package/dist/theme/overrides/muiFormControl.d.ts.map +1 -0
- package/dist/theme/overrides/muiFormControl.js +6 -0
- package/dist/theme/overrides/muiFormControl.js.map +1 -0
- package/dist/theme/overrides/muiIconButton.d.ts +3 -0
- package/dist/theme/overrides/muiIconButton.d.ts.map +1 -0
- package/dist/theme/overrides/muiIconButton.js +6 -0
- package/dist/theme/overrides/muiIconButton.js.map +1 -0
- package/dist/theme/overrides/muiSelect.d.ts +3 -0
- package/dist/theme/overrides/muiSelect.d.ts.map +1 -0
- package/dist/theme/overrides/muiSelect.js +6 -0
- package/dist/theme/overrides/muiSelect.js.map +1 -0
- package/dist/theme/overrides/muiSvgIcon.d.ts +3 -0
- package/dist/theme/overrides/muiSvgIcon.d.ts.map +1 -0
- package/dist/theme/overrides/muiSvgIcon.js +6 -0
- package/dist/theme/overrides/muiSvgIcon.js.map +1 -0
- package/dist/theme/overrides/muiTextField.d.ts +3 -0
- package/dist/theme/overrides/muiTextField.d.ts.map +1 -0
- package/dist/theme/overrides/muiTextField.js +6 -0
- package/dist/theme/overrides/muiTextField.js.map +1 -0
- package/dist/theme/overrides/muiToggleButton.d.ts +3 -0
- package/dist/theme/overrides/muiToggleButton.d.ts.map +1 -0
- package/dist/theme/overrides/muiToggleButton.js +6 -0
- package/dist/theme/overrides/muiToggleButton.js.map +1 -0
- package/dist/theme/overrides/muiToggleButtonGroup.d.ts +3 -0
- package/dist/theme/overrides/muiToggleButtonGroup.d.ts.map +1 -0
- package/dist/theme/overrides/muiToggleButtonGroup.js +6 -0
- package/dist/theme/overrides/muiToggleButtonGroup.js.map +1 -0
- package/dist/theme/themes/DefaultDark.d.ts +7 -0
- package/dist/theme/themes/DefaultDark.d.ts.map +1 -0
- package/dist/theme/themes/DefaultDark.js +15 -0
- package/dist/theme/themes/DefaultDark.js.map +1 -0
- package/dist/theme/themes/DefaultLight.d.ts +7 -0
- package/dist/theme/themes/DefaultLight.d.ts.map +1 -0
- package/dist/theme/themes/DefaultLight.js +15 -0
- package/dist/theme/themes/DefaultLight.js.map +1 -0
- package/dist/theme/themes/EveryskDark.d.ts +15 -0
- package/dist/theme/themes/EveryskDark.d.ts.map +1 -0
- package/dist/theme/themes/EveryskDark.js +63 -0
- package/dist/theme/themes/EveryskDark.js.map +1 -0
- package/dist/theme/themes/EveryskLight.d.ts +21 -0
- package/dist/theme/themes/EveryskLight.d.ts.map +1 -0
- package/dist/theme/themes/EveryskLight.js +69 -0
- package/dist/theme/themes/EveryskLight.js.map +1 -0
- package/dist/theme/themes/MidnightEmber.d.ts +3 -0
- package/dist/theme/themes/MidnightEmber.d.ts.map +1 -0
- package/dist/theme/themes/MidnightEmber.js +31 -0
- package/dist/theme/themes/MidnightEmber.js.map +1 -0
- package/dist/theme/themes/index.d.ts +17 -0
- package/dist/theme/themes/index.d.ts.map +1 -0
- package/dist/theme/themes/index.js +32 -0
- package/dist/theme/themes/index.js.map +1 -0
- package/dist/types/anyRecord.d.ts +4 -0
- package/dist/types/anyRecord.d.ts.map +1 -0
- package/dist/types/datastore.d.ts +26 -0
- package/dist/types/datastore.d.ts.map +1 -0
- package/dist/types/entityQuery.d.ts +47 -0
- package/dist/types/entityQuery.d.ts.map +1 -0
- package/dist/types/file.d.ts +29 -0
- package/dist/types/file.d.ts.map +1 -0
- package/dist/types/portfolio.d.ts +77 -0
- package/dist/types/portfolio.d.ts.map +1 -0
- package/dist/types/profile.d.ts +37 -0
- package/dist/types/profile.d.ts.map +1 -0
- package/dist/types/workflow.d.ts +68 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workspace.d.ts +13 -0
- package/dist/types/workspace.d.ts.map +1 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/workflow/index.d.ts +10 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workspace/index.d.ts +5 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/package.json +148 -0
- package/src/EveryskApp.tsx +108 -0
- package/src/agGrid/agGridTheme.ts +113 -0
- package/src/agGrid/index.ts +15 -0
- package/src/api/datastore.ts +175 -0
- package/src/api/entityQuery.ts +101 -0
- package/src/api/file.ts +174 -0
- package/src/api/portfolio.ts +190 -0
- package/src/api/profile.ts +80 -0
- package/src/api/websocketsConfig.ts +32 -0
- package/src/api/workflow.ts +427 -0
- package/src/api/workspace.ts +72 -0
- package/src/components/ui/EveryskIcon/index.tsx +24 -0
- package/src/components/ui/Footer/index.tsx +30 -0
- package/src/components/ui/GlobalLoading/index.tsx +38 -0
- package/src/components/ui/PageContainer/index.tsx +14 -0
- package/src/components/ui/Toolbar/index.tsx +44 -0
- package/src/contexts/agGridLicenseContext/provider.tsx +63 -0
- package/src/contexts/appAlertContext/index.tsx +4 -0
- package/src/contexts/appAlertContext/provider.tsx +92 -0
- package/src/contexts/appAlertContext/types.ts +17 -0
- package/src/contexts/appAlertContext/useAppAlert.ts +39 -0
- package/src/contexts/appConfigContext/index.tsx +4 -0
- package/src/contexts/appConfigContext/provider.tsx +67 -0
- package/src/contexts/appConfigContext/types.ts +28 -0
- package/src/contexts/appConfigContext/useAppConfig.ts +30 -0
- package/src/contexts/webSocketContext/constants.ts +3 -0
- package/src/contexts/webSocketContext/handler.ts +108 -0
- package/src/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.ts +36 -0
- package/src/contexts/webSocketContext/hooks/useWebSocket/index.ts +18 -0
- package/src/contexts/webSocketContext/hooks/useWebSocketSubscription/index.ts +45 -0
- package/src/contexts/webSocketContext/index.tsx +5 -0
- package/src/contexts/webSocketContext/provider.tsx +125 -0
- package/src/contexts/webSocketContext/types.ts +50 -0
- package/src/datastore/index.ts +14 -0
- package/src/file/index.ts +13 -0
- package/src/hooks/datastore/useDatastoreMutations.ts +221 -0
- package/src/hooks/datastore/useFetchDatastore.ts +95 -0
- package/src/hooks/datastore/useFetchDatastores.ts +162 -0
- package/src/hooks/file/useFetchFile.ts +93 -0
- package/src/hooks/file/useFetchFiles.ts +109 -0
- package/src/hooks/file/useFileMutations.ts +240 -0
- package/src/hooks/portfolio/useFetchPortfolio.ts +94 -0
- package/src/hooks/portfolio/useFetchPortfolios.ts +109 -0
- package/src/hooks/portfolio/usePortfolioMutations.ts +250 -0
- package/src/hooks/profile/useFetchProfile.ts +93 -0
- package/src/hooks/useAxios.ts +98 -0
- package/src/hooks/workflow/useFetchWorkerExecution.ts +78 -0
- package/src/hooks/workflow/useFetchWorkerExecutions.ts +98 -0
- package/src/hooks/workflow/useFetchWorkflow.ts +76 -0
- package/src/hooks/workflow/useFetchWorkflowExecution.ts +79 -0
- package/src/hooks/workflow/useFetchWorkflowExecutions.ts +95 -0
- package/src/hooks/workflow/useFetchWorkflows.ts +84 -0
- package/src/hooks/workflow/useRunWorkflow.ts +62 -0
- package/src/hooks/workspace/useFetchWorkspace.ts +78 -0
- package/src/hooks/workspace/useFetchWorkspaces.ts +86 -0
- package/src/index.ts +72 -0
- package/src/lib/datastoreTable.ts +159 -0
- package/src/lib/queryClient.ts +60 -0
- package/src/portfolio/index.ts +13 -0
- package/src/profile/index.ts +11 -0
- package/src/socket/index.ts +19 -0
- package/src/test/index.ts +10 -0
- package/src/test/mocks/agGridEnterprise.ts +45 -0
- package/src/test/mocks/agGridReact.tsx +61 -0
- package/src/test/mocks/index.ts +22 -0
- package/src/test/mocks/socketIoClient.ts +78 -0
- package/src/test/renderWithProviders.tsx +114 -0
- package/src/test/setup.ts +46 -0
- package/src/theme/ThemeProvider.tsx +33 -0
- package/src/theme/index.ts +15 -0
- package/src/theme/overrides/index.ts +31 -0
- package/src/theme/overrides/muiButton.ts +7 -0
- package/src/theme/overrides/muiCssBaseline.ts +35 -0
- package/src/theme/overrides/muiDatePicker.ts +5 -0
- package/src/theme/overrides/muiFormControl.ts +7 -0
- package/src/theme/overrides/muiIconButton.ts +7 -0
- package/src/theme/overrides/muiSelect.ts +7 -0
- package/src/theme/overrides/muiSvgIcon.ts +7 -0
- package/src/theme/overrides/muiTextField.ts +7 -0
- package/src/theme/overrides/muiToggleButton.ts +7 -0
- package/src/theme/overrides/muiToggleButtonGroup.ts +7 -0
- package/src/theme/themes/DefaultDark.ts +14 -0
- package/src/theme/themes/DefaultLight.ts +14 -0
- package/src/theme/themes/EveryskDark.ts +62 -0
- package/src/theme/themes/EveryskLight.ts +68 -0
- package/src/theme/themes/MidnightEmber.ts +30 -0
- package/src/theme/themes/index.ts +35 -0
- package/src/types/anyRecord.ts +4 -0
- package/src/types/datastore.ts +33 -0
- package/src/types/entityQuery.ts +64 -0
- package/src/types/file.ts +32 -0
- package/src/types/portfolio.ts +81 -0
- package/src/types/profile.ts +39 -0
- package/src/types/workflow.ts +76 -0
- package/src/types/workspace.ts +15 -0
- package/src/ui/index.ts +14 -0
- package/src/workflow/index.ts +17 -0
- package/src/workspace/index.ts +12 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { agGridReactMock } from "./agGridReact.js";
|
|
2
|
+
import { agGridEnterpriseMock, getAgGridLicenseKey, resetAgGridLicense } from "./agGridEnterprise.js";
|
|
3
|
+
import { createMockSocket, getMockSocket, resetMockSocket, socketIoClientMock } from "./socketIoClient.js";
|
|
4
|
+
export { agGridEnterpriseMock, agGridReactMock, createMockSocket, getAgGridLicenseKey, getMockSocket, resetAgGridLicense, resetMockSocket, socketIoClientMock };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type Mock } from "vitest";
|
|
2
|
+
export type SocketEventHandler = (...args: unknown[]) => void;
|
|
3
|
+
export type MockSocket = {
|
|
4
|
+
on: Mock<(event: string, handler: SocketEventHandler) => void>;
|
|
5
|
+
emit: Mock<(event: string, ...args: unknown[]) => void>;
|
|
6
|
+
removeAllListeners: Mock<() => void>;
|
|
7
|
+
disconnect: Mock<() => void>;
|
|
8
|
+
/** Every handler registered through `on`, keyed by event name. */
|
|
9
|
+
handlers: Record<string, SocketEventHandler>;
|
|
10
|
+
/** Invokes a registered handler, as the server would. No-op if nothing listens. */
|
|
11
|
+
fire: (event: string, ...args: unknown[]) => void;
|
|
12
|
+
};
|
|
13
|
+
/** Builds a fake socket. Exported for tests that want one without mocking the module. */
|
|
14
|
+
export declare const createMockSocket: () => MockSocket;
|
|
15
|
+
/**
|
|
16
|
+
* socketIoClientMock
|
|
17
|
+
*
|
|
18
|
+
* A stand-in for `socket.io-client`: `io()` returns a fake socket that records listeners
|
|
19
|
+
* instead of opening a connection. Reach the socket with `getMockSocket()` and drive it with
|
|
20
|
+
* `fire(event, payload)`.
|
|
21
|
+
*
|
|
22
|
+
* Because `vi.mock` is hoisted above every import, the factory cannot close over a binding
|
|
23
|
+
* from this module directly — load it inside the factory:
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { getMockSocket } from "@everysk/apps-sdk/test/mocks";
|
|
27
|
+
*
|
|
28
|
+
* vi.mock("socket.io-client", async () =>
|
|
29
|
+
* (await import("@everysk/apps-sdk/test/mocks")).socketIoClientMock(),
|
|
30
|
+
* );
|
|
31
|
+
*
|
|
32
|
+
* it("reacts to a notification", () => {
|
|
33
|
+
* render(...);
|
|
34
|
+
* act(() => getMockSocket()?.fire("notification", { type: "DONE" }));
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare const socketIoClientMock: () => {
|
|
39
|
+
io: () => MockSocket;
|
|
40
|
+
};
|
|
41
|
+
/** The socket handed out by the most recent `io()` call. */
|
|
42
|
+
export declare const getMockSocket: () => MockSocket | null;
|
|
43
|
+
/** Drops the reference between tests. */
|
|
44
|
+
export declare const resetMockSocket: () => void;
|
|
45
|
+
//# sourceMappingURL=socketIoClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socketIoClient.d.ts","sourceRoot":"","sources":["../../../src/test/mocks/socketIoClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAI9D,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC,CAAC;IAC/D,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;IACxD,kBAAkB,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrC,UAAU,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,mFAAmF;IACnF,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrD,CAAC;AAIF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,QAAO,UAenC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,kBAAkB;;CAS7B,CAAC;AAEH,4DAA4D;AAC5D,eAAO,MAAM,aAAa,QAAO,UAAU,GAAG,IAAkB,CAAC;AAEjE,yCAAyC;AACzC,eAAO,MAAM,eAAe,QAAO,IAElC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { vi } from "vitest";
|
|
2
|
+
//#region src/test/mocks/socketIoClient.ts
|
|
3
|
+
var lastSocket = null;
|
|
4
|
+
/** Builds a fake socket. Exported for tests that want one without mocking the module. */
|
|
5
|
+
var createMockSocket = () => {
|
|
6
|
+
const handlers = {};
|
|
7
|
+
return {
|
|
8
|
+
handlers,
|
|
9
|
+
on: vi.fn((event, handler) => {
|
|
10
|
+
handlers[event] = handler;
|
|
11
|
+
}),
|
|
12
|
+
emit: vi.fn(),
|
|
13
|
+
removeAllListeners: vi.fn(),
|
|
14
|
+
disconnect: vi.fn(),
|
|
15
|
+
fire: (event, ...args) => handlers[event]?.(...args)
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* socketIoClientMock
|
|
20
|
+
*
|
|
21
|
+
* A stand-in for `socket.io-client`: `io()` returns a fake socket that records listeners
|
|
22
|
+
* instead of opening a connection. Reach the socket with `getMockSocket()` and drive it with
|
|
23
|
+
* `fire(event, payload)`.
|
|
24
|
+
*
|
|
25
|
+
* Because `vi.mock` is hoisted above every import, the factory cannot close over a binding
|
|
26
|
+
* from this module directly — load it inside the factory:
|
|
27
|
+
*
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { getMockSocket } from "@everysk/apps-sdk/test/mocks";
|
|
30
|
+
*
|
|
31
|
+
* vi.mock("socket.io-client", async () =>
|
|
32
|
+
* (await import("@everysk/apps-sdk/test/mocks")).socketIoClientMock(),
|
|
33
|
+
* );
|
|
34
|
+
*
|
|
35
|
+
* it("reacts to a notification", () => {
|
|
36
|
+
* render(...);
|
|
37
|
+
* act(() => getMockSocket()?.fire("notification", { type: "DONE" }));
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
var socketIoClientMock = () => ({ io: () => {
|
|
42
|
+
lastSocket = createMockSocket();
|
|
43
|
+
return lastSocket;
|
|
44
|
+
} });
|
|
45
|
+
/** The socket handed out by the most recent `io()` call. */
|
|
46
|
+
var getMockSocket = () => lastSocket;
|
|
47
|
+
/** Drops the reference between tests. */
|
|
48
|
+
var resetMockSocket = () => {
|
|
49
|
+
lastSocket = null;
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
export { createMockSocket, getMockSocket, resetMockSocket, socketIoClientMock };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=socketIoClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socketIoClient.js","names":[],"sources":["../../../src/test/mocks/socketIoClient.ts"],"sourcesContent":["import { vi, type Mock } from \"vitest\";\n\nexport type SocketEventHandler = (...args: unknown[]) => void;\n\n// Typed with `Mock<signature>` rather than `ReturnType<typeof vi.fn>`: the latter erases the\n// call signature, leaving the methods uncallable for a TypeScript consumer of this mock.\nexport type MockSocket = {\n on: Mock<(event: string, handler: SocketEventHandler) => void>;\n emit: Mock<(event: string, ...args: unknown[]) => void>;\n removeAllListeners: Mock<() => void>;\n disconnect: Mock<() => void>;\n /** Every handler registered through `on`, keyed by event name. */\n handlers: Record<string, SocketEventHandler>;\n /** Invokes a registered handler, as the server would. No-op if nothing listens. */\n fire: (event: string, ...args: unknown[]) => void;\n};\n\nlet lastSocket: MockSocket | null = null;\n\n/** Builds a fake socket. Exported for tests that want one without mocking the module. */\nexport const createMockSocket = (): MockSocket => {\n const handlers: Record<string, SocketEventHandler> = {};\n\n const socket: MockSocket = {\n handlers,\n on: vi.fn((event: string, handler: SocketEventHandler) => {\n handlers[event] = handler;\n }),\n emit: vi.fn(),\n removeAllListeners: vi.fn(),\n disconnect: vi.fn(),\n fire: (event, ...args) => handlers[event]?.(...args),\n };\n\n return socket;\n};\n\n/**\n * socketIoClientMock\n *\n * A stand-in for `socket.io-client`: `io()` returns a fake socket that records listeners\n * instead of opening a connection. Reach the socket with `getMockSocket()` and drive it with\n * `fire(event, payload)`.\n *\n * Because `vi.mock` is hoisted above every import, the factory cannot close over a binding\n * from this module directly — load it inside the factory:\n *\n * ```ts\n * import { getMockSocket } from \"@everysk/apps-sdk/test/mocks\";\n *\n * vi.mock(\"socket.io-client\", async () =>\n * (await import(\"@everysk/apps-sdk/test/mocks\")).socketIoClientMock(),\n * );\n *\n * it(\"reacts to a notification\", () => {\n * render(...);\n * act(() => getMockSocket()?.fire(\"notification\", { type: \"DONE\" }));\n * });\n * ```\n */\nexport const socketIoClientMock = () => ({\n // A plain function, not a vi.fn, and the socket is built per call rather than once when\n // the factory runs. Both matter under this config: `restoreMocks: true` wipes a vi.fn's\n // implementation between tests, and a socket created at factory time would be shared by\n // every test in the file — and destroyed by the first `resetMockSocket()`.\n io: () => {\n lastSocket = createMockSocket();\n return lastSocket;\n },\n});\n\n/** The socket handed out by the most recent `io()` call. */\nexport const getMockSocket = (): MockSocket | null => lastSocket;\n\n/** Drops the reference between tests. */\nexport const resetMockSocket = (): void => {\n lastSocket = null;\n};\n"],"mappings":";;AAiBA,IAAI,aAAgC;;AAGpC,IAAa,yBAAqC;CAC9C,MAAM,WAA+C,CAAC;CAatD,OAAO;EAVH;EACA,IAAI,GAAG,IAAI,OAAe,YAAgC;GACtD,SAAS,SAAS;EACtB,CAAC;EACD,MAAM,GAAG,GAAG;EACZ,oBAAoB,GAAG,GAAG;EAC1B,YAAY,GAAG,GAAG;EAClB,OAAO,OAAO,GAAG,SAAS,SAAS,MAAM,GAAG,GAAG,IAAI;CAGhD;AACX;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAa,4BAA4B,EAKrC,UAAU;CACN,aAAa,iBAAiB;CAC9B,OAAO;AACX,EACJ;;AAGA,IAAa,sBAAyC;;AAGtD,IAAa,wBAA8B;CACvC,aAAa;AACjB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { ReactElement } from "react";
|
|
2
|
+
import { type RenderOptions, type RenderHookOptions } from "@testing-library/react";
|
|
3
|
+
import { QueryClient } from "@tanstack/react-query";
|
|
4
|
+
import { type ProviderComponent } from "../EveryskApp.js";
|
|
5
|
+
import type { AnyRecord } from "../types/anyRecord.d.ts";
|
|
6
|
+
/**
|
|
7
|
+
* Test wrapper for apps built on this SDK.
|
|
8
|
+
*
|
|
9
|
+
* It renders through `EveryskApp` — the very component the app mounts — rather than
|
|
10
|
+
* re-listing the providers. The template's version duplicated the `App.tsx` tree and had to
|
|
11
|
+
* be kept in sync by hand, which is how you get a suite that passes while the app is broken.
|
|
12
|
+
*
|
|
13
|
+
* Each render gets a FRESH QueryClient with retries off and caching disabled, so tests never
|
|
14
|
+
* share server state. Pass your own via `options.queryClient` to seed the cache or assert on
|
|
15
|
+
* it. Optional providers (AG Grid's license, the socket provider) are not mounted by default:
|
|
16
|
+
* pass them in `options.providers` — the template's version wrapped every test in the
|
|
17
|
+
* broadcast provider, which is one of the things that kept it alive with no consumer.
|
|
18
|
+
*/
|
|
19
|
+
/** Build an isolated QueryClient for a single test (no retries, no caching). */
|
|
20
|
+
export declare function createTestQueryClient(): QueryClient;
|
|
21
|
+
type ProviderOptions = {
|
|
22
|
+
queryClient?: QueryClient;
|
|
23
|
+
/** Extra providers, mounted inside the core tree and around the subject. */
|
|
24
|
+
providers?: ProviderComponent[];
|
|
25
|
+
/** Injected instead of `window.APP_ID`, so a test needs no page globals. */
|
|
26
|
+
appId?: string | null;
|
|
27
|
+
/** Injected instead of `window.APP_CONFIG`. */
|
|
28
|
+
appEnvironmentVar?: AnyRecord;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Render a component inside the core provider tree.
|
|
32
|
+
*
|
|
33
|
+
* Returns everything from RTL's `render`, plus a ready `user` (userEvent.setup()) and the
|
|
34
|
+
* `queryClient` used, so assertions can reach the cache.
|
|
35
|
+
*/
|
|
36
|
+
export declare function renderWithProviders(ui: ReactElement, options?: ProviderOptions & Omit<RenderOptions, "wrapper">): {
|
|
37
|
+
container: HTMLElement;
|
|
38
|
+
baseElement: HTMLElement;
|
|
39
|
+
debug: (baseElement?: import("react-dom/client").Container | (Element | Document) | Array<import("react-dom/client").Container | (Element | Document)> | undefined, maxLength?: number | undefined, options?: import("pretty-format").OptionsReceived | undefined) => void;
|
|
40
|
+
rerender: (ui: React.ReactNode) => void;
|
|
41
|
+
unmount: () => void;
|
|
42
|
+
asFragment: () => DocumentFragment;
|
|
43
|
+
getByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement;
|
|
44
|
+
getAllByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement[];
|
|
45
|
+
queryByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement | null;
|
|
46
|
+
queryAllByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement[];
|
|
47
|
+
findByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
48
|
+
findAllByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
49
|
+
getByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement;
|
|
50
|
+
getAllByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
51
|
+
queryByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement | null;
|
|
52
|
+
queryAllByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
53
|
+
findByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
54
|
+
findAllByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
55
|
+
getByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement;
|
|
56
|
+
getAllByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement[];
|
|
57
|
+
queryByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement | null;
|
|
58
|
+
queryAllByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement[];
|
|
59
|
+
findByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
60
|
+
findAllByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
61
|
+
getByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement;
|
|
62
|
+
getAllByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
63
|
+
queryByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement | null;
|
|
64
|
+
queryAllByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
65
|
+
findByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
66
|
+
findAllByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
67
|
+
getByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement;
|
|
68
|
+
getAllByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
69
|
+
queryByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement | null;
|
|
70
|
+
queryAllByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
71
|
+
findByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
72
|
+
findAllByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
73
|
+
getByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement;
|
|
74
|
+
getAllByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
75
|
+
queryByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement | null;
|
|
76
|
+
queryAllByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
77
|
+
findByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
78
|
+
findAllByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
79
|
+
getByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions | undefined) => HTMLElement;
|
|
80
|
+
getAllByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions | undefined) => HTMLElement[];
|
|
81
|
+
queryByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions | undefined) => HTMLElement | null;
|
|
82
|
+
queryAllByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions | undefined) => HTMLElement[];
|
|
83
|
+
findByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
84
|
+
findAllByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
85
|
+
getByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement;
|
|
86
|
+
getAllByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
87
|
+
queryByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement | null;
|
|
88
|
+
queryAllByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined) => HTMLElement[];
|
|
89
|
+
findByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement>;
|
|
90
|
+
findAllByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/dom").waitForOptions | undefined) => Promise<HTMLElement[]>;
|
|
91
|
+
user: import("@testing-library/user-event").UserEvent;
|
|
92
|
+
queryClient: QueryClient;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Render a hook inside the core provider tree (for entity hooks that need QueryClient,
|
|
96
|
+
* AppAlert, AppConfig, etc.).
|
|
97
|
+
*/
|
|
98
|
+
export declare function renderHookWithProviders<Result, Props>(hook: (initialProps: Props) => Result, options?: ProviderOptions & Omit<RenderHookOptions<Props>, "wrapper">): {
|
|
99
|
+
rerender: (props?: Props | undefined) => void;
|
|
100
|
+
result: {
|
|
101
|
+
current: Result;
|
|
102
|
+
};
|
|
103
|
+
unmount: () => void;
|
|
104
|
+
queryClient: QueryClient;
|
|
105
|
+
};
|
|
106
|
+
export {};
|
|
107
|
+
//# sourceMappingURL=renderWithProviders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderWithProviders.d.ts","sourceRoot":"","sources":["../../src/test/renderWithProviders.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AAEH,gFAAgF;AAChF,wBAAgB,qBAAqB,IAAI,WAAW,CAOnD;AAED,KAAK,eAAe,GAAG;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,SAAS,CAAC;CACjC,CAAC;AAkBF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,YAAY,EAChB,OAAO,GAAE,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAM;;;uBAjD3D,CAAC,yJAC0D,CAAC,6BACtD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgEb;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,KAAK,EACjD,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK,MAAM,EACrC,OAAO,GAAE,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAM;;;;;;;EAgB5E"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { EveryskApp } from "../EveryskApp.js";
|
|
2
|
+
import { QueryClient } from "@tanstack/react-query";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { render, renderHook } from "@testing-library/react";
|
|
5
|
+
import userEvent from "@testing-library/user-event";
|
|
6
|
+
//#region src/test/renderWithProviders.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Test wrapper for apps built on this SDK.
|
|
9
|
+
*
|
|
10
|
+
* It renders through `EveryskApp` — the very component the app mounts — rather than
|
|
11
|
+
* re-listing the providers. The template's version duplicated the `App.tsx` tree and had to
|
|
12
|
+
* be kept in sync by hand, which is how you get a suite that passes while the app is broken.
|
|
13
|
+
*
|
|
14
|
+
* Each render gets a FRESH QueryClient with retries off and caching disabled, so tests never
|
|
15
|
+
* share server state. Pass your own via `options.queryClient` to seed the cache or assert on
|
|
16
|
+
* it. Optional providers (AG Grid's license, the socket provider) are not mounted by default:
|
|
17
|
+
* pass them in `options.providers` — the template's version wrapped every test in the
|
|
18
|
+
* broadcast provider, which is one of the things that kept it alive with no consumer.
|
|
19
|
+
*/
|
|
20
|
+
/** Build an isolated QueryClient for a single test (no retries, no caching). */
|
|
21
|
+
function createTestQueryClient() {
|
|
22
|
+
return new QueryClient({ defaultOptions: {
|
|
23
|
+
queries: {
|
|
24
|
+
retry: false,
|
|
25
|
+
gcTime: 0,
|
|
26
|
+
staleTime: 0,
|
|
27
|
+
refetchOnWindowFocus: false
|
|
28
|
+
},
|
|
29
|
+
mutations: { retry: false }
|
|
30
|
+
} });
|
|
31
|
+
}
|
|
32
|
+
var buildWrapper = ({ queryClient, providers, appId, appEnvironmentVar }) => function Wrapper({ children }) {
|
|
33
|
+
return /* @__PURE__ */ jsx(EveryskApp, {
|
|
34
|
+
queryClient,
|
|
35
|
+
providers,
|
|
36
|
+
appId,
|
|
37
|
+
appEnvironmentVar,
|
|
38
|
+
children
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Render a component inside the core provider tree.
|
|
43
|
+
*
|
|
44
|
+
* Returns everything from RTL's `render`, plus a ready `user` (userEvent.setup()) and the
|
|
45
|
+
* `queryClient` used, so assertions can reach the cache.
|
|
46
|
+
*/
|
|
47
|
+
function renderWithProviders(ui, options = {}) {
|
|
48
|
+
const { queryClient = createTestQueryClient(), providers, appId, appEnvironmentVar, ...renderOptions } = options;
|
|
49
|
+
return {
|
|
50
|
+
user: userEvent.setup(),
|
|
51
|
+
queryClient,
|
|
52
|
+
...render(ui, {
|
|
53
|
+
wrapper: buildWrapper({
|
|
54
|
+
queryClient,
|
|
55
|
+
providers,
|
|
56
|
+
appId,
|
|
57
|
+
appEnvironmentVar
|
|
58
|
+
}),
|
|
59
|
+
...renderOptions
|
|
60
|
+
})
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Render a hook inside the core provider tree (for entity hooks that need QueryClient,
|
|
65
|
+
* AppAlert, AppConfig, etc.).
|
|
66
|
+
*/
|
|
67
|
+
function renderHookWithProviders(hook, options = {}) {
|
|
68
|
+
const { queryClient = createTestQueryClient(), providers, appId, appEnvironmentVar, ...hookOptions } = options;
|
|
69
|
+
return {
|
|
70
|
+
queryClient,
|
|
71
|
+
...renderHook(hook, {
|
|
72
|
+
wrapper: buildWrapper({
|
|
73
|
+
queryClient,
|
|
74
|
+
providers,
|
|
75
|
+
appId,
|
|
76
|
+
appEnvironmentVar
|
|
77
|
+
}),
|
|
78
|
+
...hookOptions
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//#endregion
|
|
83
|
+
export { createTestQueryClient, renderHookWithProviders, renderWithProviders };
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=renderWithProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderWithProviders.js","names":[],"sources":["../../src/test/renderWithProviders.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\n\nimport {\n render,\n renderHook,\n type RenderOptions,\n type RenderHookOptions,\n} from \"@testing-library/react\";\nimport userEvent from \"@testing-library/user-event\";\nimport { QueryClient } from \"@tanstack/react-query\";\n\nimport { EveryskApp, type ProviderComponent } from \"@/EveryskApp\";\nimport type { AnyRecord } from \"@/types/anyRecord\";\n\n/**\n * Test wrapper for apps built on this SDK.\n *\n * It renders through `EveryskApp` — the very component the app mounts — rather than\n * re-listing the providers. The template's version duplicated the `App.tsx` tree and had to\n * be kept in sync by hand, which is how you get a suite that passes while the app is broken.\n *\n * Each render gets a FRESH QueryClient with retries off and caching disabled, so tests never\n * share server state. Pass your own via `options.queryClient` to seed the cache or assert on\n * it. Optional providers (AG Grid's license, the socket provider) are not mounted by default:\n * pass them in `options.providers` — the template's version wrapped every test in the\n * broadcast provider, which is one of the things that kept it alive with no consumer.\n */\n\n/** Build an isolated QueryClient for a single test (no retries, no caching). */\nexport function createTestQueryClient(): QueryClient {\n return new QueryClient({\n defaultOptions: {\n queries: { retry: false, gcTime: 0, staleTime: 0, refetchOnWindowFocus: false },\n mutations: { retry: false },\n },\n });\n}\n\ntype ProviderOptions = {\n queryClient?: QueryClient;\n /** Extra providers, mounted inside the core tree and around the subject. */\n providers?: ProviderComponent[];\n /** Injected instead of `window.APP_ID`, so a test needs no page globals. */\n appId?: string | null;\n /** Injected instead of `window.APP_CONFIG`. */\n appEnvironmentVar?: AnyRecord;\n};\n\nconst buildWrapper = ({ queryClient, providers, appId, appEnvironmentVar }: ProviderOptions & {\n queryClient: QueryClient;\n}) =>\n function Wrapper({ children }: { children?: React.ReactNode }) {\n return (\n <EveryskApp\n queryClient={queryClient}\n providers={providers}\n appId={appId}\n appEnvironmentVar={appEnvironmentVar}\n >\n {children}\n </EveryskApp>\n );\n };\n\n/**\n * Render a component inside the core provider tree.\n *\n * Returns everything from RTL's `render`, plus a ready `user` (userEvent.setup()) and the\n * `queryClient` used, so assertions can reach the cache.\n */\nexport function renderWithProviders(\n ui: ReactElement,\n options: ProviderOptions & Omit<RenderOptions, \"wrapper\"> = {},\n) {\n const {\n queryClient = createTestQueryClient(),\n providers,\n appId,\n appEnvironmentVar,\n ...renderOptions\n } = options;\n const user = userEvent.setup();\n\n const result = render(ui, {\n wrapper: buildWrapper({ queryClient, providers, appId, appEnvironmentVar }),\n ...renderOptions,\n });\n\n return { user, queryClient, ...result };\n}\n\n/**\n * Render a hook inside the core provider tree (for entity hooks that need QueryClient,\n * AppAlert, AppConfig, etc.).\n */\nexport function renderHookWithProviders<Result, Props>(\n hook: (initialProps: Props) => Result,\n options: ProviderOptions & Omit<RenderHookOptions<Props>, \"wrapper\"> = {},\n) {\n const {\n queryClient = createTestQueryClient(),\n providers,\n appId,\n appEnvironmentVar,\n ...hookOptions\n } = options;\n\n const result = renderHook(hook, {\n wrapper: buildWrapper({ queryClient, providers, appId, appEnvironmentVar }),\n ...hookOptions,\n });\n\n return { queryClient, ...result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA6BA,SAAgB,wBAAqC;CACjD,OAAO,IAAI,YAAY,EACnB,gBAAgB;EACZ,SAAS;GAAE,OAAO;GAAO,QAAQ;GAAG,WAAW;GAAG,sBAAsB;EAAM;EAC9E,WAAW,EAAE,OAAO,MAAM;CAC9B,EACJ,CAAC;AACL;AAYA,IAAM,gBAAgB,EAAE,aAAa,WAAW,OAAO,wBAGnD,SAAS,QAAQ,EAAE,YAA4C;CAC3D,OACI,oBAAC,YAAD;EACiB;EACF;EACJ;EACY;EAElB;CACO,CAAA;AAEpB;;;;;;;AAQJ,SAAgB,oBACZ,IACA,UAA4D,CAAC,GAC/D;CACE,MAAM,EACF,cAAc,sBAAsB,GACpC,WACA,OACA,mBACA,GAAG,kBACH;CAQJ,OAAO;EAAE,MAPI,UAAU,MAOd;EAAM;EAAa,GALb,OAAO,IAAI;GACtB,SAAS,aAAa;IAAE;IAAa;IAAW;IAAO;GAAkB,CAAC;GAC1E,GAAG;EACP,CAE+B;CAAO;AAC1C;;;;;AAMA,SAAgB,wBACZ,MACA,UAAuE,CAAC,GAC1E;CACE,MAAM,EACF,cAAc,sBAAsB,GACpC,WACA,OACA,mBACA,GAAG,gBACH;CAOJ,OAAO;EAAE;EAAa,GALP,WAAW,MAAM;GAC5B,SAAS,aAAa;IAAE;IAAa;IAAW;IAAO;GAAkB,CAAC;GAC1E,GAAG;EACP,CAEyB;CAAO;AACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAGA,OAAO,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { cleanup } from "@testing-library/react";
|
|
2
|
+
import { afterEach, vi } from "vitest";
|
|
3
|
+
import "@testing-library/jest-dom/vitest";
|
|
4
|
+
//#region src/test/setup.ts
|
|
5
|
+
afterEach(() => {
|
|
6
|
+
cleanup();
|
|
7
|
+
});
|
|
8
|
+
if (!window.matchMedia) window.matchMedia = vi.fn().mockImplementation((query) => ({
|
|
9
|
+
matches: false,
|
|
10
|
+
media: query,
|
|
11
|
+
onchange: null,
|
|
12
|
+
addListener: vi.fn(),
|
|
13
|
+
removeListener: vi.fn(),
|
|
14
|
+
addEventListener: vi.fn(),
|
|
15
|
+
removeEventListener: vi.fn(),
|
|
16
|
+
dispatchEvent: vi.fn()
|
|
17
|
+
}));
|
|
18
|
+
if (!globalThis.ResizeObserver) globalThis.ResizeObserver = class {
|
|
19
|
+
observe() {}
|
|
20
|
+
unobserve() {}
|
|
21
|
+
disconnect() {}
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","names":[],"sources":["../../src/test/setup.ts"],"sourcesContent":["import { afterEach, vi } from \"vitest\";\nimport { cleanup } from \"@testing-library/react\";\n\nimport \"@testing-library/jest-dom/vitest\";\n\n// Unmount React trees and clear the jsdom document between tests so they stay isolated.\nafterEach(() => {\n cleanup();\n});\n\n// jsdom does not implement matchMedia; MUI's `useMediaQuery` needs it. The theme no longer\n// reads it — it is pinned to the brand dark theme — but responsive components still do.\nif (!window.matchMedia) {\n window.matchMedia = vi.fn().mockImplementation((query: string) => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: vi.fn(),\n removeListener: vi.fn(),\n addEventListener: vi.fn(),\n removeEventListener: vi.fn(),\n dispatchEvent: vi.fn(),\n }));\n}\n\n// jsdom does not implement ResizeObserver; several MUI components observe their container.\nif (!globalThis.ResizeObserver) {\n globalThis.ResizeObserver = class {\n observe(): void {}\n unobserve(): void {}\n disconnect(): void {}\n };\n}\n\n// The template stubbed `BroadcastChannel` here, which jsdom does not implement. Nothing in\n// the SDK constructs one any more — the broadcast context is gone, superseded by the socket\n// layer — so the stub would only be dead setup. Whatever needs it can bring its own.\n\n// Deliberately no `window.APP_ID` / `window.APP_CONFIG` defaults here.\n//\n// The template seeded them (\"app_template\", {}) because its providers read the globals\n// directly and would otherwise see nothing. The SDK's providers handle absence on their own —\n// `AppConfigProvider` reports `appId: null`, `BroadcastChannelProvider` falls back to its own\n// channel name — and seeding the globals would hide exactly that path from the suite, which is\n// the path every consumer hits in dev. A test that needs configuration injects it:\n// `renderWithProviders(ui, { appId, appEnvironmentVar })`.\n"],"mappings":";;;;AAMA,gBAAgB;CACd,QAAQ;AACV,CAAC;AAID,IAAI,CAAC,OAAO,YACV,OAAO,aAAa,GAAG,GAAG,CAAC,CAAC,oBAAoB,WAAmB;CACjE,SAAS;CACT,OAAO;CACP,UAAU;CACV,aAAa,GAAG,GAAG;CACnB,gBAAgB,GAAG,GAAG;CACtB,kBAAkB,GAAG,GAAG;CACxB,qBAAqB,GAAG,GAAG;CAC3B,eAAe,GAAG,GAAG;AACvB,EAAE;AAIJ,IAAI,CAAC,WAAW,gBACd,WAAW,iBAAiB,MAAM;CAChC,UAAgB,CAAC;CACjB,YAAkB,CAAC;CACnB,aAAmB,CAAC;AACtB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { Theme } from "@mui/material/styles";
|
|
3
|
+
export type ThemeProviderProps = React.PropsWithChildren<{
|
|
4
|
+
/**
|
|
5
|
+
* Overrides the default. Pass one of the catalog's themes, or any MUI theme of your own —
|
|
6
|
+
* `getTheme("Midnight Ember")`, `getBrandTheme("light")` for a light host, or a
|
|
7
|
+
* `createTheme` result. Omitted, the app gets the Everysk dark theme.
|
|
8
|
+
*/
|
|
9
|
+
theme?: Theme;
|
|
10
|
+
}>;
|
|
11
|
+
export declare const ThemeProvider: ({ children, theme }: ThemeProviderProps) => React.JSX.Element;
|
|
12
|
+
//# sourceMappingURL=ThemeProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAelD,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,qBAAqB,kBAAkB,sBAKpE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getBrandTheme } from "./themes/index.js";
|
|
2
|
+
import CssBaseline from "@mui/material/CssBaseline";
|
|
3
|
+
import { ThemeProvider } from "@mui/material/styles";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/theme/ThemeProvider.tsx
|
|
6
|
+
/**
|
|
7
|
+
* The default an app mounts: the Everysk dark theme.
|
|
8
|
+
*
|
|
9
|
+
* Resolved once, at module load. It deliberately does not follow the OS `prefers-color-scheme`
|
|
10
|
+
* — doing that rendered the app light on a light desktop while every surrounding platform
|
|
11
|
+
* screen stayed dark. Choosing a theme is a decision the app makes about the surface it is
|
|
12
|
+
* embedded in, not one the viewer's laptop makes for it.
|
|
13
|
+
*/
|
|
14
|
+
var defaultTheme = getBrandTheme("dark");
|
|
15
|
+
var ThemeProvider$1 = ({ children, theme }) => /* @__PURE__ */ jsxs(ThemeProvider, {
|
|
16
|
+
theme: theme ?? defaultTheme,
|
|
17
|
+
children: [/* @__PURE__ */ jsx(CssBaseline, {}), children]
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
export { ThemeProvider$1 as ThemeProvider };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=ThemeProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProvider.js","names":[],"sources":["../../src/theme/ThemeProvider.tsx"],"sourcesContent":["import type React from \"react\";\n\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport type { Theme } from \"@mui/material/styles\";\nimport { ThemeProvider as MuiThemeProvider } from \"@mui/material/styles\";\n\nimport { getBrandTheme } from \"./themes\";\n\n/**\n * The default an app mounts: the Everysk dark theme.\n *\n * Resolved once, at module load. It deliberately does not follow the OS `prefers-color-scheme`\n * — doing that rendered the app light on a light desktop while every surrounding platform\n * screen stayed dark. Choosing a theme is a decision the app makes about the surface it is\n * embedded in, not one the viewer's laptop makes for it.\n */\nconst defaultTheme: Theme = getBrandTheme(\"dark\");\n\nexport type ThemeProviderProps = React.PropsWithChildren<{\n /**\n * Overrides the default. Pass one of the catalog's themes, or any MUI theme of your own —\n * `getTheme(\"Midnight Ember\")`, `getBrandTheme(\"light\")` for a light host, or a\n * `createTheme` result. Omitted, the app gets the Everysk dark theme.\n */\n theme?: Theme;\n}>;\n\nexport const ThemeProvider = ({ children, theme }: ThemeProviderProps) => (\n <MuiThemeProvider theme={theme ?? defaultTheme}>\n <CssBaseline />\n {children}\n </MuiThemeProvider>\n);\n"],"mappings":";;;;;;;;;;;;;AAgBA,IAAM,eAAsB,cAAc,MAAM;AAWhD,IAAa,mBAAiB,EAAE,UAAU,YACtC,qBAAC,eAAD;CAAkB,OAAO,SAAS;CAAlC,UAAA,CACI,oBAAC,aAAD,CAAc,CAAA,GACb,QACa"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { ThemeProvider } from "./ThemeProvider";
|
|
2
|
+
export { getTheme, getBrandTheme, getDefaultTheme } from "./themes";
|
|
3
|
+
export { EveryskLightTheme } from "./themes/EveryskLight";
|
|
4
|
+
export { EveryskDarkTheme } from "./themes/EveryskDark";
|
|
5
|
+
export { DefaultLightTheme } from "./themes/DefaultLight";
|
|
6
|
+
export { DefaultDarkTheme } from "./themes/DefaultDark";
|
|
7
|
+
export { MidnightEmberTheme } from "./themes/MidnightEmber";
|
|
8
|
+
export { components } from "./overrides";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Components, Theme } from "@mui/material/styles";
|
|
2
|
+
/**
|
|
3
|
+
* Shared MUI component overrides applied by every theme (light, dark and branded).
|
|
4
|
+
* They read `theme.palette.mode`, so the same set works for any palette.
|
|
5
|
+
*/
|
|
6
|
+
export declare const components: Components<Omit<Theme, "components">>;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/overrides/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAe9D;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAW5D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MuiCssBaseline } from "./muiCssBaseline.js";
|
|
2
|
+
import { MuiDatePicker } from "./muiDatePicker.js";
|
|
3
|
+
import { MuiTextField } from "./muiTextField.js";
|
|
4
|
+
import { MuiFormControl } from "./muiFormControl.js";
|
|
5
|
+
import { MuiSelect } from "./muiSelect.js";
|
|
6
|
+
import { MuiSvgIcon } from "./muiSvgIcon.js";
|
|
7
|
+
import { MuiToggleButton } from "./muiToggleButton.js";
|
|
8
|
+
import { MuiToggleButtonGroup } from "./muiToggleButtonGroup.js";
|
|
9
|
+
import { MuiIconButton } from "./muiIconButton.js";
|
|
10
|
+
import { MuiButton } from "./muiButton.js";
|
|
11
|
+
//#region src/theme/overrides/index.ts
|
|
12
|
+
/**
|
|
13
|
+
* Shared MUI component overrides applied by every theme (light, dark and branded).
|
|
14
|
+
* They read `theme.palette.mode`, so the same set works for any palette.
|
|
15
|
+
*/
|
|
16
|
+
var components = {
|
|
17
|
+
MuiCssBaseline,
|
|
18
|
+
MuiDatePicker,
|
|
19
|
+
MuiTextField,
|
|
20
|
+
MuiSelect,
|
|
21
|
+
MuiFormControl,
|
|
22
|
+
MuiSvgIcon,
|
|
23
|
+
MuiToggleButton,
|
|
24
|
+
MuiToggleButtonGroup,
|
|
25
|
+
MuiButton,
|
|
26
|
+
MuiIconButton
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { components };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/theme/overrides/index.ts"],"sourcesContent":["import type { Components, Theme } from \"@mui/material/styles\";\n\nimport type { } from '@mui/x-date-pickers/themeAugmentation';\n\nimport { MuiCssBaseline } from \"./muiCssBaseline\";\nimport { MuiDatePicker } from \"./muiDatePicker\";\nimport { MuiTextField } from \"./muiTextField\";\nimport { MuiFormControl } from \"./muiFormControl\";\nimport { MuiSelect } from \"./muiSelect\";\nimport { MuiSvgIcon } from \"./muiSvgIcon\";\nimport { MuiToggleButton } from \"./muiToggleButton\";\nimport { MuiToggleButtonGroup } from \"./muiToggleButtonGroup\";\nimport { MuiIconButton } from \"./muiIconButton\";\nimport { MuiButton } from \"./muiButton\";\n\n/**\n * Shared MUI component overrides applied by every theme (light, dark and branded).\n * They read `theme.palette.mode`, so the same set works for any palette.\n */\nexport const components: Components<Omit<Theme, \"components\">> = {\n MuiCssBaseline,\n MuiDatePicker,\n MuiTextField,\n MuiSelect,\n MuiFormControl,\n MuiSvgIcon,\n MuiToggleButton,\n MuiToggleButtonGroup,\n MuiButton,\n MuiIconButton,\n};\n"],"mappings":";;;;;;;;;;;;;;;AAmBA,IAAa,aAAoD;CAC7D;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muiButton.d.ts","sourceRoot":"","sources":["../../../src/theme/overrides/muiButton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE9D,eAAO,MAAM,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAIpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muiButton.js","names":[],"sources":["../../../src/theme/overrides/muiButton.ts"],"sourcesContent":["import type { Components, Theme } from '@mui/material/styles';\n\nexport const MuiButton: Components<Theme>['MuiButton'] = {\n defaultProps: {\n size: 'small',\n },\n};\n"],"mappings":";AAEA,IAAa,YAA4C,EACrD,cAAc,EACV,MAAM,QACV,EACJ"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Theme } from "@mui/material/styles";
|
|
2
|
+
export declare const MuiCssBaseline: {
|
|
3
|
+
styleOverrides: (theme: Theme) => {
|
|
4
|
+
"*::-webkit-scrollbar": {
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
};
|
|
8
|
+
"*::-webkit-scrollbar-thumb": {
|
|
9
|
+
borderRadius: number;
|
|
10
|
+
backgroundColor: string;
|
|
11
|
+
};
|
|
12
|
+
"*::-webkit-scrollbar-thumb:hover ": {
|
|
13
|
+
backgroundColor: string;
|
|
14
|
+
};
|
|
15
|
+
"*:hover::-webkit-scrollbar-thumb": {
|
|
16
|
+
backgroundColor: string;
|
|
17
|
+
};
|
|
18
|
+
"*::-webkit-scrollbar-thumb:active": {
|
|
19
|
+
backgroundColor: string;
|
|
20
|
+
};
|
|
21
|
+
"*::-moz-selection": {
|
|
22
|
+
color: "#000" | "#fff";
|
|
23
|
+
backgroundColor: string;
|
|
24
|
+
};
|
|
25
|
+
"*::selection": {
|
|
26
|
+
color: "#000" | "#fff";
|
|
27
|
+
backgroundColor: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=muiCssBaseline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muiCssBaseline.d.ts","sourceRoot":"","sources":["../../../src/theme/overrides/muiCssBaseline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,cAAc;4BACC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as colors from "@mui/material/colors";
|
|
2
|
+
//#region src/theme/overrides/muiCssBaseline.ts
|
|
3
|
+
var MuiCssBaseline = { styleOverrides: (theme) => ({
|
|
4
|
+
"*::-webkit-scrollbar": {
|
|
5
|
+
width: 8,
|
|
6
|
+
height: 8
|
|
7
|
+
},
|
|
8
|
+
"*::-webkit-scrollbar-thumb": {
|
|
9
|
+
borderRadius: 10,
|
|
10
|
+
backgroundColor: "#959595"
|
|
11
|
+
},
|
|
12
|
+
"*::-webkit-scrollbar-thumb:hover ": { backgroundColor: "#959595" },
|
|
13
|
+
"*:hover::-webkit-scrollbar-thumb": { backgroundColor: "#959595" },
|
|
14
|
+
"*::-webkit-scrollbar-thumb:active": { backgroundColor: theme.palette.primary.main },
|
|
15
|
+
"*::-moz-selection": {
|
|
16
|
+
color: theme.palette.mode === "dark" ? colors.common.black : colors.common.white,
|
|
17
|
+
backgroundColor: theme.palette.primary.main
|
|
18
|
+
},
|
|
19
|
+
"*::selection": {
|
|
20
|
+
color: theme.palette.mode === "dark" ? colors.common.black : colors.common.white,
|
|
21
|
+
backgroundColor: theme.palette.primary.main
|
|
22
|
+
}
|
|
23
|
+
}) };
|
|
24
|
+
//#endregion
|
|
25
|
+
export { MuiCssBaseline };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=muiCssBaseline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muiCssBaseline.js","names":[],"sources":["../../../src/theme/overrides/muiCssBaseline.ts"],"sourcesContent":["import * as colors from \"@mui/material/colors\";\nimport type { Theme } from \"@mui/material/styles\";\n\nexport const MuiCssBaseline = {\n styleOverrides: (theme: Theme) => ({\n \"*::-webkit-scrollbar\": {\n width: 8,\n height: 8,\n },\n \"*::-webkit-scrollbar-thumb\": {\n borderRadius: 10,\n backgroundColor: '#959595'\n\n },\n \"*::-webkit-scrollbar-thumb:hover \": {\n backgroundColor: '#959595'\n },\n \"*:hover::-webkit-scrollbar-thumb\": {\n backgroundColor: '#959595'\n },\n\n \"*::-webkit-scrollbar-thumb:active\": {\n backgroundColor: theme.palette.primary.main\n },\n\n \"*::-moz-selection\": {\n color: (theme.palette.mode === \"dark\" ? colors.common.black : colors.common.white),\n backgroundColor: theme.palette.primary.main\n },\n \"*::selection\": {\n color: (theme.palette.mode === \"dark\") ? colors.common.black : colors.common.white,\n backgroundColor: theme.palette.primary.main\n }\n })\n}"],"mappings":";;AAGA,IAAa,iBAAiB,EAC1B,iBAAiB,WAAkB;CAC/B,wBAAwB;EACpB,OAAO;EACP,QAAQ;CACZ;CACA,8BAA8B;EAC1B,cAAc;EACd,iBAAiB;CAErB;CACA,qCAAqC,EACjC,iBAAiB,UACrB;CACA,oCAAoC,EAChC,iBAAiB,UACrB;CAEA,qCAAqC,EACjC,iBAAiB,MAAM,QAAQ,QAAQ,KAC3C;CAEA,qBAAqB;EACjB,OAAQ,MAAM,QAAQ,SAAS,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO;EAC5E,iBAAiB,MAAM,QAAQ,QAAQ;CAC3C;CACA,gBAAgB;EACZ,OAAQ,MAAM,QAAQ,SAAS,SAAU,OAAO,OAAO,QAAQ,OAAO,OAAO;EAC7E,iBAAiB,MAAM,QAAQ,QAAQ;CAC3C;AACJ,GACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muiDatePicker.d.ts","sourceRoot":"","sources":["../../../src/theme/overrides/muiDatePicker.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;CAIzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muiDatePicker.js","names":[],"sources":["../../../src/theme/overrides/muiDatePicker.ts"],"sourcesContent":["export const MuiDatePicker = {\n defaultProps: {\n slotProps: { textField: { size: 'small' as const } },\n },\n};"],"mappings":";AAAA,IAAa,gBAAgB,EACzB,cAAc,EACV,WAAW,EAAE,WAAW,EAAE,MAAM,QAAiB,EAAE,EACvD,EACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muiFormControl.d.ts","sourceRoot":"","sources":["../../../src/theme/overrides/muiFormControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE9D,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAI9D,CAAC"}
|