@datalayer/core 0.0.2 → 0.0.3
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/README.md +12 -1
- package/lib/App.css +47 -0
- package/lib/App.d.ts +1 -1
- package/lib/App.js +17 -5
- package/lib/__tests__/index.test.js +2 -1
- package/lib/api/{RunApi.d.ts → DatalayerApi.d.ts} +4 -4
- package/lib/api/{RunApi.js → DatalayerApi.js} +4 -9
- package/lib/api/index.d.ts +2 -1
- package/lib/api/index.js +2 -6
- package/lib/api/{runtimes → jupyter}/exec/Python.js +0 -5
- package/lib/api/{runtimes → jupyter}/exec/Snippets.js +0 -5
- package/lib/api/{runtimes → jupyter}/exec/index.js +0 -5
- package/lib/api/jupyter/index.d.ts +2 -0
- package/lib/api/jupyter/index.js +6 -0
- package/lib/api/{runtimes → jupyter}/kernelsHandler.d.ts +1 -1
- package/lib/api/{runtimes → jupyter}/kernelsHandler.js +1 -6
- package/lib/api/runtimes/actions.d.ts +102 -0
- package/lib/api/runtimes/{runtimesApi.js → actions.js} +26 -31
- package/lib/api/runtimes/{runtimesApi.d.ts → apis.d.ts} +8 -105
- package/lib/api/runtimes/apis.js +5 -0
- package/lib/api/runtimes/index.d.ts +2 -4
- package/lib/api/runtimes/index.js +2 -9
- package/lib/api/runtimes/settings.js +0 -5
- package/lib/api/runtimes/snapshots.js +0 -5
- package/lib/api/runtimes/utils.js +0 -5
- package/lib/assets/react.svg +1 -0
- package/lib/components/avatars/BoringAvatar.d.ts +1 -2
- package/lib/components/avatars/BoringAvatar.js +14 -9
- package/lib/components/avatars/BoringAvatar.stories.d.ts +27 -0
- package/lib/components/avatars/BoringAvatar.stories.js +23 -0
- package/lib/components/avatars/UserProfileAvatar.js +0 -5
- package/lib/components/avatars/index.js +0 -5
- package/lib/components/banners/NoAutomationBanner.js +0 -5
- package/lib/components/banners/index.js +0 -5
- package/lib/components/buttons/DownloadCSVButton.d.ts +1 -1
- package/lib/components/buttons/DownloadCSVButton.js +0 -5
- package/lib/components/buttons/DownloadJsonButton.d.ts +1 -1
- package/lib/components/buttons/DownloadJsonButton.js +0 -5
- package/lib/components/buttons/LongActionButton.js +0 -5
- package/lib/components/buttons/UploadButton.js +0 -5
- package/lib/components/buttons/index.js +0 -5
- package/lib/components/checkout/StripeCheckout.js +0 -5
- package/lib/components/checkout/index.js +0 -5
- package/lib/components/confetti/ConfettiSuccess.js +0 -5
- package/lib/components/confetti/index.js +0 -5
- package/lib/components/context/OrganizationSelect.js +0 -5
- package/lib/components/context/SpaceSelect.js +0 -5
- package/lib/components/context/index.js +0 -5
- package/lib/components/display/AvatarSkeleton.js +0 -5
- package/lib/components/display/CenteredSpinner.js +0 -5
- package/lib/components/display/CodePreview.js +0 -5
- package/lib/components/display/DatalayerBox.js +0 -5
- package/lib/components/display/JupyterDialog.js +0 -5
- package/lib/components/display/NavLink.js +0 -5
- package/lib/components/display/NotebookSkeleton.js +0 -5
- package/lib/components/display/Placeholder.js +0 -5
- package/lib/components/display/ToTopBranded.js +0 -5
- package/lib/components/display/VisuallyHidden.js +0 -5
- package/lib/components/display/index.js +0 -5
- package/lib/components/echarts/EChartsReact.js +6 -6
- package/lib/components/echarts/index.js +0 -5
- package/lib/components/flashes/FlashClosable.js +0 -5
- package/lib/components/flashes/FlashDisclaimer.js +0 -5
- package/lib/components/flashes/FlashGuest.js +0 -5
- package/lib/components/flashes/FlashSurveys.js +0 -5
- package/lib/components/flashes/FlashUnauthorized.js +0 -5
- package/lib/components/flashes/index.js +0 -5
- package/lib/components/flashes/surveys/Survey2025_1.js +0 -5
- package/lib/components/flashes/surveys/index.js +0 -5
- package/lib/components/iam/ExternalTokenSilentLogin.js +0 -5
- package/lib/components/iam/index.js +0 -5
- package/lib/components/icons/ArtifactIcon.js +0 -5
- package/lib/components/icons/index.js +0 -5
- package/lib/components/index.js +1 -6
- package/lib/components/labels/VisibilityLabel.js +0 -5
- package/lib/components/labels/index.js +0 -5
- package/lib/components/landings/StepBlock.js +0 -5
- package/lib/components/landings/index.js +0 -5
- package/lib/components/navbar/NavigationVisbilityObserver.js +0 -5
- package/lib/components/navbar/SubdomainNavBar.js +2 -7
- package/lib/components/navbar/SubdomainNavBar.module.css +718 -0
- package/lib/components/navbar/index.js +0 -5
- package/lib/components/nbgrader/NbGradesDetails.js +0 -5
- package/lib/components/nbgrader/index.js +0 -5
- package/lib/components/notebooks/JupyterNotebook.js +0 -5
- package/lib/components/notebooks/JupyterNotebookToolbar.js +0 -5
- package/lib/components/notebooks/index.js +0 -5
- package/lib/components/primer/Portals.js +0 -5
- package/lib/components/primer/Styles.js +0 -5
- package/lib/components/primer/index.js +0 -5
- package/lib/components/progress/ConsumptionBar.js +0 -5
- package/lib/components/progress/CreditsIndicator.js +0 -6
- package/lib/components/progress/ProgressBar.js +0 -5
- package/lib/components/progress/Timer.js +0 -5
- package/lib/components/progress/index.js +0 -5
- package/lib/components/runtimes/RuntimeCellVariables.js +0 -5
- package/lib/components/runtimes/RuntimeCellVariablesDialog.js +4 -9
- package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +1 -2
- package/lib/components/runtimes/RuntimeLauncherDialog.js +2 -6
- package/lib/components/runtimes/RuntimePickerBase.d.ts +1 -1
- package/lib/components/runtimes/RuntimePickerBase.js +0 -5
- package/lib/components/runtimes/RuntimePickerCell.js +0 -5
- package/lib/components/runtimes/RuntimePickerNotebook.d.ts +1 -2
- package/lib/components/runtimes/RuntimePickerNotebook.js +1 -6
- package/lib/components/runtimes/RuntimeReservationControl.js +0 -5
- package/lib/components/runtimes/RuntimeSimplePicker.d.ts +1 -1
- package/lib/components/runtimes/RuntimeSimplePicker.js +36 -41
- package/lib/components/runtimes/RuntimeUtils.d.ts +1 -1
- package/lib/components/runtimes/RuntimeUtils.js +0 -5
- package/lib/components/runtimes/RuntimeVariables.js +0 -5
- package/lib/components/runtimes/index.js +0 -5
- package/lib/components/screenshot/ScreenCapture.js +1 -6
- package/lib/components/screenshot/index.js +0 -5
- package/lib/components/snapshots/RuntimeSnapshotMenu.js +0 -5
- package/lib/components/snapshots/index.js +0 -5
- package/lib/components/snippets/SnippetDialog.js +0 -5
- package/lib/components/snippets/index.js +0 -5
- package/lib/components/storage/ContentsBrowser.js +12 -7
- package/lib/components/storage/ContentsItems.js +0 -5
- package/lib/components/storage/index.js +0 -5
- package/lib/components/students/StudentItemStatus.js +6 -8
- package/lib/components/students/index.js +0 -5
- package/lib/components/subnav/SubNav.d.ts +2 -2
- package/lib/components/subnav/SubNav.js +4 -9
- package/lib/components/subnav/SubNav.module.css +683 -0
- package/lib/components/subnav/index.js +0 -5
- package/lib/components/tables/DataTable.js +0 -5
- package/lib/components/tables/index.js +0 -5
- package/lib/components/text-reveal/TextRevealAnimation.js +0 -6
- package/lib/components/text-reveal/TextRevealAnimation.module.css +43 -0
- package/lib/components/text-reveal/index.js +0 -5
- package/lib/components/text-reveal/useTextRevealAnimationLines.js +0 -5
- package/lib/components/tokens/SpaceVariantToken.js +0 -5
- package/lib/components/tokens/index.js +0 -5
- package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -5
- package/lib/components/toolbars/DocumentEditorToolbar.js +0 -5
- package/lib/components/toolbars/NotebookEditorToolbar.d.ts +1 -1
- package/lib/components/toolbars/NotebookEditorToolbar.js +0 -5
- package/lib/components/toolbars/index.js +0 -5
- package/lib/components/users/PeerIndicator.js +0 -5
- package/lib/components/users/index.js +0 -5
- package/lib/config/Configuration.js +0 -5
- package/lib/config/index.js +0 -5
- package/lib/config/integrations/Loom.js +0 -5
- package/lib/config/integrations/index.js +0 -5
- package/lib/examples/CellExample.d.ts +6 -0
- package/lib/examples/CellExample.js +24 -0
- package/lib/examples/NotebookExample.d.ts +8 -0
- package/lib/examples/NotebookExample.js +22 -0
- package/lib/examples/NotebookExample1.ipynb.json +136 -0
- package/lib/hooks/assets/OutputshotPlaceholders.js +0 -5
- package/lib/hooks/assets/index.js +0 -5
- package/lib/hooks/index.d.ts +1 -1
- package/lib/hooks/index.js +1 -6
- package/lib/hooks/layouts/LayoutBackdrop.js +0 -5
- package/lib/hooks/layouts/LayoutScreenshot.css +58 -0
- package/lib/hooks/layouts/LayoutScreenshot.d.ts +1 -0
- package/lib/hooks/layouts/LayoutScreenshot.js +1 -5
- package/lib/hooks/layouts/index.js +0 -5
- package/lib/hooks/useAIAgents.js +7 -12
- package/lib/hooks/useAuthorization.js +0 -6
- package/lib/hooks/useBackdrop.js +0 -5
- package/lib/hooks/useBackdropJupyterLab.js +0 -5
- package/lib/hooks/useCache.d.ts +2 -2
- package/lib/hooks/useCache.js +178 -183
- package/lib/hooks/useCellOutputshot.js +0 -5
- package/lib/hooks/useContainsFocus.js +0 -5
- package/lib/hooks/useDatalayer.d.ts +21 -0
- package/lib/hooks/{useRun.js → useDatalayer.js} +12 -16
- package/lib/hooks/useError.js +0 -5
- package/lib/hooks/useExternalScript.js +0 -5
- package/lib/hooks/useFocusTrap.d.ts +1 -1
- package/lib/hooks/useFocusTrap.js +1 -6
- package/lib/hooks/useIAM.js +2 -7
- package/lib/hooks/useId.js +3 -8
- package/lib/hooks/useIsomorphicLayoutEffect.js +0 -5
- package/lib/hooks/useJupyterLabTheme.js +0 -5
- package/lib/hooks/useKeyboardEscape.js +0 -5
- package/lib/hooks/useLocationHandles.js +0 -5
- package/lib/hooks/useNavigate.js +0 -5
- package/lib/hooks/useNotebookAIAgent.js +0 -5
- package/lib/hooks/useOnClickOutside.js +0 -5
- package/lib/hooks/useRef.js +0 -5
- package/lib/hooks/useRuntimes.js +0 -5
- package/lib/hooks/useScreenshot.js +0 -5
- package/lib/hooks/useToast.js +6 -8
- package/lib/hooks/useUpload.js +0 -5
- package/lib/hooks/useVisibilityObserver.js +0 -5
- package/lib/hooks/useWindowSize.js +0 -6
- package/lib/i18n/Labels.js +0 -5
- package/lib/i18n/index.js +0 -5
- package/lib/index.css +73 -0
- package/lib/main.js +1 -2
- package/lib/mocks/components/FlashMock.js +0 -5
- package/lib/mocks/components/index.js +0 -5
- package/lib/mocks/hooks/index.d.ts +1 -1
- package/lib/mocks/hooks/index.js +1 -6
- package/lib/mocks/hooks/rests/index.js +0 -5
- package/lib/mocks/hooks/rests/rests.js +0 -5
- package/lib/mocks/hooks/useDatalayerMock.d.ts +6 -0
- package/lib/mocks/hooks/{useRunMock.js → useDatalayerMock.js} +2 -7
- package/lib/mocks/index.js +0 -5
- package/lib/mocks/jupyter/index.js +1 -6
- package/lib/mocks/models/CodeBlockMock.js +0 -5
- package/lib/mocks/models/CodelineMock.js +0 -5
- package/lib/mocks/models/CourseMock.js +0 -5
- package/lib/mocks/models/InviteMock.js +0 -5
- package/lib/mocks/models/SpaceMock.js +0 -5
- package/lib/mocks/models/UserMock.js +0 -5
- package/lib/mocks/models/index.js +0 -5
- package/lib/mocks/views/ActionMenuMock.js +0 -5
- package/lib/mocks/views/ChartMock.js +0 -5
- package/lib/mocks/views/ChartMockOptions.js +0 -5
- package/lib/mocks/views/DashboardMock.js +0 -5
- package/lib/mocks/views/FormMock.js +0 -5
- package/lib/mocks/views/TableMock.js +0 -5
- package/lib/mocks/views/WipMock.js +0 -5
- package/lib/mocks/views/index.js +0 -5
- package/lib/models/Contact.js +0 -5
- package/lib/models/ContactEvent.js +0 -5
- package/lib/models/Credits.js +0 -5
- package/lib/models/Dataset.d.ts +1 -1
- package/lib/models/Datasource.js +0 -5
- package/lib/models/Errors.js +0 -5
- package/lib/models/GrowthKPI.js +0 -5
- package/lib/models/IAMProviderUsers.js +0 -5
- package/lib/models/IAMToken.js +0 -5
- package/lib/models/Inbound.js +0 -5
- package/lib/models/LandingRoles.js +0 -5
- package/lib/models/Organization.js +0 -5
- package/lib/models/Outbound.js +7 -12
- package/lib/models/PageTag.d.ts +1 -1
- package/lib/models/RolesOrganization.js +0 -5
- package/lib/models/RolesPlatform.js +0 -5
- package/lib/models/RolesTeam.js +0 -5
- package/lib/models/Runtime.d.ts +59 -1
- package/lib/models/Runtime.js +7 -5
- package/lib/models/Secret.js +0 -5
- package/lib/models/Survey.js +0 -5
- package/lib/models/Team.js +0 -5
- package/lib/models/URN.js +0 -5
- package/lib/models/User.js +2 -7
- package/lib/models/UserEvent.js +0 -5
- package/lib/models/UserOnboarding.js +0 -5
- package/lib/models/UserSettings.js +0 -5
- package/lib/models/index.js +0 -5
- package/lib/routes/Routes.js +0 -5
- package/lib/routes/index.js +0 -5
- package/lib/state/State.js +0 -5
- package/lib/state/index.js +0 -5
- package/lib/state/storage/IAMStorage.js +0 -5
- package/lib/state/storage/index.js +0 -5
- package/lib/state/substates/AIAgentState.js +0 -5
- package/lib/state/substates/CellState.js +0 -5
- package/lib/state/substates/CoreState.js +0 -5
- package/lib/state/substates/DatasourceState.js +0 -5
- package/lib/state/substates/DocumentState.js +0 -5
- package/lib/state/substates/GradeState.js +0 -5
- package/lib/state/substates/IAMState.d.ts +1 -1
- package/lib/state/substates/IAMState.js +15 -18
- package/lib/state/substates/JupyterLabState.js +0 -5
- package/lib/state/substates/NbformatState.js +0 -5
- package/lib/state/substates/OrganizationState.js +0 -5
- package/lib/state/substates/RuntimesState.d.ts +2 -2
- package/lib/state/substates/RuntimesState.js +0 -5
- package/lib/state/substates/SpaceState.js +0 -5
- package/lib/state/substates/SurveysState.js +3 -8
- package/lib/state/substates/TeamState.js +0 -5
- package/lib/state/substates/index.js +0 -5
- package/lib/stories/assets/accessibility.png +0 -0
- package/lib/stories/assets/accessibility.svg +1 -0
- package/lib/stories/assets/addon-library.png +0 -0
- package/lib/stories/assets/assets.png +0 -0
- package/lib/stories/assets/context.png +0 -0
- package/lib/stories/assets/discord.svg +1 -0
- package/lib/stories/assets/docs.png +0 -0
- package/lib/stories/assets/figma-plugin.png +0 -0
- package/lib/stories/assets/github.svg +1 -0
- package/lib/stories/assets/share.png +0 -0
- package/lib/stories/assets/styling.png +0 -0
- package/lib/stories/assets/testing.png +0 -0
- package/lib/stories/assets/theming.png +0 -0
- package/lib/stories/assets/tutorials.svg +1 -0
- package/lib/stories/assets/youtube.svg +1 -0
- package/lib/stories/button.css +35 -0
- package/lib/stories/header.css +37 -0
- package/lib/stories/page.css +73 -0
- package/lib/test-setup.js +51 -1
- package/lib/theme/DatalayerTheme.js +0 -5
- package/lib/theme/DatalayerThemeProvider.js +0 -5
- package/lib/theme/Palette.js +0 -5
- package/lib/theme/index.js +0 -5
- package/lib/utils/Array.js +0 -5
- package/lib/utils/Avatar.js +0 -5
- package/lib/utils/Browser.js +0 -5
- package/lib/utils/Cookie.js +0 -5
- package/lib/utils/Date.js +3 -8
- package/lib/utils/Download.js +0 -5
- package/lib/utils/DownloadFile.js +0 -5
- package/lib/utils/Env.js +0 -5
- package/lib/utils/File.js +0 -5
- package/lib/utils/Ids.js +0 -5
- package/lib/utils/Jupyter.js +0 -5
- package/lib/utils/Lazy.js +0 -6
- package/lib/utils/Name.js +0 -5
- package/lib/utils/Number.js +1 -6
- package/lib/utils/Plots.d.ts +1 -1
- package/lib/utils/Plots.js +1 -1
- package/lib/utils/Random.js +0 -5
- package/lib/utils/Screenshot.js +0 -5
- package/lib/utils/Scroll.js +3 -7
- package/lib/utils/Sleep.js +0 -5
- package/lib/utils/Snapshot.js +0 -5
- package/lib/utils/String.js +0 -5
- package/lib/utils/Uri.js +1 -6
- package/lib/utils/Validator.js +0 -5
- package/lib/utils/WithSuspense.js +0 -5
- package/lib/utils/index.js +0 -5
- package/package.json +58 -28
- package/style/animation/Animation.module.css +174 -0
- package/style/base.css +64 -0
- package/style/index.css +6 -0
- package/lib/api/runtimes/models.d.ts +0 -59
- package/lib/api/runtimes/models.js +0 -11
- package/lib/hooks/useRun.d.ts +0 -21
- package/lib/mocks/hooks/useRunMock.d.ts +0 -6
- /package/lib/api/{runtimes → jupyter}/exec/Python.d.ts +0 -0
- /package/lib/api/{runtimes → jupyter}/exec/Snippets.d.ts +0 -0
- /package/lib/api/{runtimes → jupyter}/exec/index.d.ts +0 -0
|
@@ -3,11 +3,6 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
4
|
* Distributed under the terms of the Modified BSD License.
|
|
5
5
|
*/
|
|
6
|
-
/*
|
|
7
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
8
|
-
*
|
|
9
|
-
* Datalayer License
|
|
10
|
-
*/
|
|
11
6
|
import { useCallback, useEffect, useState } from 'react';
|
|
12
7
|
import { PathExt } from '@jupyterlab/coreutils';
|
|
13
8
|
import { PromiseDelegate } from '@lumino/coreutils';
|
|
@@ -123,7 +118,12 @@ export function ContentsBrowser(props) {
|
|
|
123
118
|
task.resolve(finalModel);
|
|
124
119
|
}
|
|
125
120
|
}
|
|
126
|
-
|
|
121
|
+
if (selectedItem) {
|
|
122
|
+
selectedItem.refresh();
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
refresh();
|
|
126
|
+
}
|
|
127
127
|
return finalModel;
|
|
128
128
|
}
|
|
129
129
|
catch (error) {
|
|
@@ -135,7 +135,12 @@ export function ContentsBrowser(props) {
|
|
|
135
135
|
const task = uploadChunk(file);
|
|
136
136
|
trackAsyncTask(task, toastOptions);
|
|
137
137
|
task.then(() => {
|
|
138
|
-
|
|
138
|
+
if (selectedItem) {
|
|
139
|
+
selectedItem.refresh();
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
refresh();
|
|
143
|
+
}
|
|
139
144
|
});
|
|
140
145
|
return task;
|
|
141
146
|
}
|
|
@@ -3,11 +3,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
4
|
* Distributed under the terms of the Modified BSD License.
|
|
5
5
|
*/
|
|
6
|
-
/*
|
|
7
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
8
|
-
*
|
|
9
|
-
* Datalayer License
|
|
10
|
-
*/
|
|
11
6
|
import { useCallback, useRef, useState } from 'react';
|
|
12
7
|
import { TreeView } from '@primer/react';
|
|
13
8
|
import { FileIcon } from '@primer/octicons-react';
|
|
@@ -2,10 +2,5 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
export * from './ContentsBrowser';
|
|
11
6
|
export * from './ContentsItems';
|
|
@@ -3,11 +3,6 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
4
|
* Distributed under the terms of the Modified BSD License.
|
|
5
5
|
*/
|
|
6
|
-
/*
|
|
7
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
8
|
-
*
|
|
9
|
-
* Datalayer License
|
|
10
|
-
*/
|
|
11
6
|
import { useMemo } from "react";
|
|
12
7
|
import { useTheme, Tooltip, Button } from "@primer/react";
|
|
13
8
|
import { Box } from "@datalayer/primer-addons";
|
|
@@ -24,15 +19,18 @@ export const StudentItemStatus = (props) => {
|
|
|
24
19
|
const nokColor = useMemo(() => theme?.colorSchemes.light.colors.severe.muted, []);
|
|
25
20
|
if (student && studentItem) {
|
|
26
21
|
switch (studentItem.itemType) {
|
|
27
|
-
case ('dataset'):
|
|
22
|
+
case ('dataset'): {
|
|
28
23
|
const datasetColor = studentItem?.completed ? okColor : nokColor;
|
|
29
24
|
return _jsx(Box, { sx: { backgroundColor: datasetColor, width: '14px', height: '14px', borderRadius: 3 }, ml: 1 });
|
|
30
|
-
|
|
25
|
+
}
|
|
26
|
+
case ('lesson'): {
|
|
31
27
|
const lessonColor = studentItem?.completed ? okColor : nokColor;
|
|
32
28
|
return _jsx(Box, { sx: { backgroundColor: lessonColor, width: '14px', height: '14px', borderRadius: 3 }, ml: 1 });
|
|
33
|
-
|
|
29
|
+
}
|
|
30
|
+
case ('exercise'): {
|
|
34
31
|
const exerciseColor = getExercisePoints(studentItem) > 0 ? okColor : nokColor;
|
|
35
32
|
return _jsx(Box, { sx: { backgroundColor: exerciseColor, width: '14px', height: '14px', borderRadius: 3 }, ml: 1 });
|
|
33
|
+
}
|
|
36
34
|
case ('assignment'):
|
|
37
35
|
return (_jsxs(Box, { display: "flex", children: [(studentItem.nbgradesTotalScore !== undefined) && (studentItem.nbgradesTotalPoints !== undefined) &&
|
|
38
36
|
_jsxs(Box, { children: [studentItem.nbgradesTotalScore, " / ", studentItem.nbgradesTotalPoints] }), studentItem.nbgrades &&
|
|
@@ -34,7 +34,7 @@ type SubNavLinkProps = {
|
|
|
34
34
|
type SubMenuProps = {
|
|
35
35
|
variant?: SubMenuVariants;
|
|
36
36
|
} & React.HTMLAttributes<HTMLUListElement> & BaseProps<HTMLUListElement>;
|
|
37
|
-
declare function
|
|
37
|
+
declare function SubMenu({ children, className, variant, ...props }: SubMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
38
38
|
type SubNavActionProps = {
|
|
39
39
|
/**
|
|
40
40
|
* Required path or location for the action button to link to.
|
|
@@ -70,7 +70,7 @@ export declare const SubNav: React.NamedExoticComponent<{
|
|
|
70
70
|
Heading: ({ href, children, className, "data-testid": testID, ...props }: SubNavHeadingProps) => import("react/jsx-runtime").JSX.Element;
|
|
71
71
|
Link: React.ForwardRefExoticComponent<Omit<SubNavLinkProps, "ref"> & React.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
|
|
72
72
|
Action: typeof _SubNavAction;
|
|
73
|
-
SubMenu: typeof
|
|
73
|
+
SubMenu: typeof SubMenu;
|
|
74
74
|
testIds: {
|
|
75
75
|
root: string;
|
|
76
76
|
readonly button: string;
|
|
@@ -3,11 +3,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
4
|
* Distributed under the terms of the Modified BSD License.
|
|
5
5
|
*/
|
|
6
|
-
/*
|
|
7
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
8
|
-
*
|
|
9
|
-
* Datalayer License
|
|
10
|
-
*/
|
|
11
6
|
import React, { Children, createContext, forwardRef, isValidElement, memo, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
|
|
12
7
|
import { createPortal } from 'react-dom';
|
|
13
8
|
import { Button, ButtonGroup, Text, ThemeProvider, useWindowSize } from '@primer/react-brand';
|
|
@@ -182,7 +177,7 @@ const SubNavLink = forwardRef((props, ref) => {
|
|
|
182
177
|
const childrenArr = Children.toArray(props.children);
|
|
183
178
|
const hasSubMenu = childrenArr.some(child => {
|
|
184
179
|
if (isValidElement(child)) {
|
|
185
|
-
return child.type ===
|
|
180
|
+
return child.type === SubMenu;
|
|
186
181
|
}
|
|
187
182
|
});
|
|
188
183
|
useEffect(() => {
|
|
@@ -204,7 +199,7 @@ const SubNavLink = forwardRef((props, ref) => {
|
|
|
204
199
|
if (hasSubMenu) {
|
|
205
200
|
const isAnchorVariantSubMenu = childrenArr.some(child => {
|
|
206
201
|
if (isValidElement(child)) {
|
|
207
|
-
return child.type ===
|
|
202
|
+
return child.type === SubMenu && child.props.variant === 'anchor';
|
|
208
203
|
}
|
|
209
204
|
});
|
|
210
205
|
return (_jsx("li", { children: _jsx(SubNavLinkWithSubmenu, { ...props, ref: ref, _subMenuVariant: isAnchorVariantSubMenu ? 'anchor' : undefined }) }));
|
|
@@ -212,7 +207,7 @@ const SubNavLink = forwardRef((props, ref) => {
|
|
|
212
207
|
const { children, href, 'aria-current': ariaCurrent, 'data-testid': testId, variant, className, ...rest } = props;
|
|
213
208
|
return (_jsx("li", { children: _jsx("a", { href: href, className: clsx(styles['SubNav__link'], ariaCurrent && styles['SubNav__link--active'], isInView && styles['SubNav__link--is-in-view'], className), "aria-current": ariaCurrent, "data-testid": testId || testIds.link, ref: ref, ...rest, children: _jsx(Text, { as: "span", size: "100", weight: "semibold", className: styles['SubNav__link-label'], variant: ariaCurrent === 'page' || variant === 'default' ? 'default' : 'muted', children: children }) }) }));
|
|
214
209
|
});
|
|
215
|
-
function
|
|
210
|
+
function SubMenu({ children, className, variant = 'dropdown', ...props }) {
|
|
216
211
|
const context = React.useContext(SubNavContext);
|
|
217
212
|
const navRef = useRef(null);
|
|
218
213
|
const { isLarge } = useWindowSize();
|
|
@@ -265,6 +260,6 @@ export const SubNav = Object.assign(_SubNavRoot, {
|
|
|
265
260
|
Heading: SubNavHeading,
|
|
266
261
|
Link: SubNavLink,
|
|
267
262
|
Action: _SubNavAction,
|
|
268
|
-
SubMenu:
|
|
263
|
+
SubMenu: SubMenu,
|
|
269
264
|
testIds,
|
|
270
265
|
});
|