@databiosphere/findable-ui 14.0.0 → 15.0.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/.github/workflows/release-please.yml +3 -6
- package/.release-please-manifest.json +3 -0
- package/CHANGELOG.md +19 -0
- package/lib/common/analytics/entities.d.ts +8 -0
- package/lib/common/analytics/entities.js +3 -0
- package/lib/components/Export/common/tracking.d.ts +10 -3
- package/lib/components/Export/common/tracking.js +17 -3
- package/lib/components/Export/components/DownloadCurlCommand/downloadCurlCommand.d.ts +1 -1
- package/lib/components/Export/components/DownloadCurlCommand/downloadCurlCommand.js +4 -4
- package/lib/components/Export/components/ExportToTerra/exportToTerra.d.ts +1 -1
- package/lib/components/Export/components/ExportToTerra/exportToTerra.js +4 -4
- package/lib/components/Export/components/ManifestDownload/components/ManifestDownloadEntity/manifestDownloadEntity.d.ts +1 -1
- package/lib/components/Export/components/ManifestDownload/components/ManifestDownloadEntity/manifestDownloadEntity.js +2 -2
- package/lib/components/Export/components/ManifestDownload/manifestDownload.d.ts +1 -1
- package/lib/components/Export/components/ManifestDownload/manifestDownload.js +4 -4
- package/lib/components/Filter/components/FilterTag/filterTag.styles.d.ts +1 -1
- package/lib/components/Index/components/AzulFileDownload/azulFileDownload.d.ts +4 -1
- package/lib/components/Index/components/AzulFileDownload/azulFileDownload.js +3 -1
- package/lib/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/constants.d.ts +2 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/constants.js +3 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/title.d.ts +2 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/title.js +27 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/utils.d.ts +15 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/utils.js +26 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/constants.d.ts +3 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/constants.js +27 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/types.d.ts +12 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/types.js +1 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/utils.d.ts +19 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/utils.js +29 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/versionInfo.d.ts +3 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/versionInfo.js +10 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/versionInfo.styles.d.ts +5 -0
- package/lib/components/Layout/components/Footer/components/VersionInfo/versionInfo.styles.js +9 -0
- package/lib/components/Layout/components/Footer/footer.d.ts +3 -2
- package/lib/components/Layout/components/Footer/footer.js +4 -3
- package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.d.ts +1 -1
- package/lib/components/Layout/components/Outline/outline.styles.d.ts +1 -1
- package/lib/components/Support/components/SupportRequest/components/Dialog/dialog.styles.js +5 -0
- package/lib/components/Support/components/ViewSupport/viewSupport.styles.js +5 -0
- package/lib/components/Table/common/utils.js +0 -1
- package/lib/components/common/Tabs/tabs.styles.d.ts +1 -1
- package/lib/config/entities.d.ts +1 -0
- package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.d.ts +1 -1
- package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.js +3 -2
- package/lib/hooks/useFileManifest/common/entities.d.ts +5 -5
- package/lib/hooks/useFileManifest/common/entities.js +7 -6
- package/lib/hooks/useFileManifest/useRequestFileManifest.d.ts +3 -1
- package/lib/hooks/useFileManifest/useRequestFileManifest.js +4 -1
- package/lib/providers/fileManifestState/actions.d.ts +9 -0
- package/lib/providers/fileManifestState/actions.js +19 -0
- package/lib/providers/fileManifestState/constants.d.ts +4 -0
- package/lib/providers/fileManifestState/constants.js +25 -0
- package/lib/providers/fileManifestState/utils.d.ts +34 -0
- package/lib/providers/fileManifestState/utils.js +80 -0
- package/lib/providers/fileManifestState.d.ts +5 -19
- package/lib/providers/fileManifestState.js +17 -37
- package/lib/styles/common/mui/chip.d.ts +11 -0
- package/lib/styles/common/mui/chip.js +25 -0
- package/lib/theme/common/components.js +16 -0
- package/lib/views/ExportView/exportView.js +1 -1
- package/package.json +1 -1
- package/release-please-config.json +23 -0
- package/src/common/analytics/entities.ts +8 -0
- package/src/components/Export/common/tracking.ts +22 -3
- package/src/components/Export/components/DownloadCurlCommand/downloadCurlCommand.tsx +4 -2
- package/src/components/Export/components/ExportToTerra/exportToTerra.tsx +9 -3
- package/src/components/Export/components/ManifestDownload/components/ManifestDownloadEntity/manifestDownloadEntity.tsx +7 -1
- package/src/components/Export/components/ManifestDownload/manifestDownload.tsx +4 -2
- package/src/components/Index/components/AzulFileDownload/azulFileDownload.tsx +8 -0
- package/src/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/constants.ts +5 -0
- package/src/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/title.tsx +53 -0
- package/src/components/Layout/components/Footer/components/VersionInfo/components/Tooltip/components/Title/utils.ts +31 -0
- package/src/components/Layout/components/Footer/components/VersionInfo/constants.ts +30 -0
- package/src/components/Layout/components/Footer/components/VersionInfo/types.ts +14 -0
- package/src/components/Layout/components/Footer/components/VersionInfo/utils.ts +32 -0
- package/src/components/Layout/components/Footer/components/VersionInfo/versionInfo.styles.ts +10 -0
- package/src/components/Layout/components/Footer/components/VersionInfo/versionInfo.tsx +31 -0
- package/src/components/Layout/components/Footer/footer.tsx +5 -2
- package/src/components/Support/components/SupportRequest/components/Dialog/dialog.styles.ts +5 -0
- package/src/components/Support/components/ViewSupport/viewSupport.styles.ts +5 -0
- package/src/components/Table/common/utils.ts +0 -1
- package/src/config/entities.ts +1 -0
- package/src/hooks/useFileManifest/common/buildFileManifestRequestURL.ts +3 -4
- package/src/hooks/useFileManifest/common/entities.ts +5 -6
- package/src/hooks/useFileManifest/useRequestFileManifest.ts +5 -0
- package/src/providers/fileManifestState/actions.ts +34 -0
- package/src/providers/fileManifestState/constants.ts +31 -0
- package/src/providers/fileManifestState/utils.ts +108 -0
- package/src/providers/fileManifestState.tsx +30 -58
- package/src/styles/common/mui/chip.ts +36 -0
- package/src/theme/common/components.ts +16 -0
- package/src/views/ExportView/exportView.tsx +1 -1
- package/tests/azulFileDownload.test.tsx +11 -6
- package/tests/fileManifestRequestFilters.test.ts +160 -0
- package/tests/updateFilesFacetsStatus.test.ts +84 -0
|
@@ -2,6 +2,7 @@ on:
|
|
|
2
2
|
push:
|
|
3
3
|
branches:
|
|
4
4
|
- main
|
|
5
|
+
workflow_dispatch: # Enable manual triggering
|
|
5
6
|
|
|
6
7
|
permissions:
|
|
7
8
|
contents: write
|
|
@@ -16,12 +17,8 @@ jobs:
|
|
|
16
17
|
- uses: googleapis/release-please-action@v4
|
|
17
18
|
id: release
|
|
18
19
|
with:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
# `MY_RELEASE_PLEASE_TOKEN` (this secret name is not important).
|
|
22
|
-
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
|
|
23
|
-
# This is a built-in strategy in release-please, see "Action Inputs" for more options
|
|
24
|
-
release-type: node
|
|
20
|
+
config-file: release-please-config.json
|
|
21
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
25
22
|
|
|
26
23
|
# The logic below handles the npm publication:
|
|
27
24
|
- uses: actions/checkout@v4
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [15.0.0](https://github.com/DataBiosphere/findable-ui/compare/v14.0.0...v15.0.0) (2024-11-19)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* added file download tracking ([#260](https://github.com/DataBiosphere/findable-ui/issues/260)) (#263)
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* add optional version information to footer ([#258](https://github.com/DataBiosphere/findable-ui/issues/258)) ([#265](https://github.com/DataBiosphere/findable-ui/issues/265)) ([7a245ca](https://github.com/DataBiosphere/findable-ui/commit/7a245caf8f8966da3406f04559ecbf19ad978b6e))
|
|
13
|
+
* added file download tracking ([#260](https://github.com/DataBiosphere/findable-ui/issues/260)) ([#263](https://github.com/DataBiosphere/findable-ui/issues/263)) ([092ad93](https://github.com/DataBiosphere/findable-ui/commit/092ad9390cff425c2bcc4a65e7212bde5acd573f))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* add support for inclusion of orphans in verbatim PFB ([#264](https://github.com/DataBiosphere/findable-ui/issues/264)) ([#269](https://github.com/DataBiosphere/findable-ui/issues/269)) ([5f295e0](https://github.com/DataBiosphere/findable-ui/commit/5f295e0d008fb5db92b82f7ac1aa09dbbac06bbe))
|
|
19
|
+
* remove `console.log` from `getHeadersTableData` ([#256](https://github.com/DataBiosphere/findable-ui/issues/256)) ([#261](https://github.com/DataBiosphere/findable-ui/issues/261)) ([7a87206](https://github.com/DataBiosphere/findable-ui/commit/7a872063aac9bee7ca05c55c6dc007ca83f5df61))
|
|
20
|
+
* simplify release-please config and remove pat ([#267](https://github.com/DataBiosphere/findable-ui/issues/267)) ([#268](https://github.com/DataBiosphere/findable-ui/issues/268)) ([b6d3efa](https://github.com/DataBiosphere/findable-ui/commit/b6d3efab4c10a71b162df5168595e3142454d62e))
|
|
21
|
+
|
|
3
22
|
## [14.0.0](https://github.com/DataBiosphere/findable-ui/compare/v13.0.1...v14.0.0) (2024-11-05)
|
|
4
23
|
|
|
5
24
|
|
|
@@ -7,6 +7,7 @@ export declare enum EVENT_NAME {
|
|
|
7
7
|
ENTITY_SELECTED = "entity_selected",
|
|
8
8
|
ENTITY_TABLE_PAGINATED = "entity_table_paginated",
|
|
9
9
|
ENTITY_TABLE_SORTED = "entity_table_sorted",
|
|
10
|
+
FILE_DOWNLOADED = "file_downloaded",
|
|
10
11
|
FILTER_SELECTED = "filter_selected",
|
|
11
12
|
INDEX_ANALYZE_IN_TERRA_REQUESTED = "index_analyze_in_terra_requested",
|
|
12
13
|
INDEX_FILE_MANIFEST_REQUESTED = "index_file_manifest_requested"
|
|
@@ -20,6 +21,8 @@ export declare enum EVENT_PARAM {
|
|
|
20
21
|
FILTER_NAME = "filter_name",
|
|
21
22
|
FILTER_VALUE = "filter_value",
|
|
22
23
|
PAGINATION_DIRECTION = "pagination_direction",
|
|
24
|
+
RELATED_ENTITY_ID = "related_entity_id",
|
|
25
|
+
RELATED_ENTITY_NAME = "related_entity_name",
|
|
23
26
|
SORT_DIRECTION = "sort_direction",
|
|
24
27
|
TOOL_NAME = "tool_name"
|
|
25
28
|
}
|
|
@@ -57,6 +60,11 @@ export type EventParams = {
|
|
|
57
60
|
[EVENT_PARAM.COLUMN_NAME]: string;
|
|
58
61
|
[EVENT_PARAM.SORT_DIRECTION]: SORT_DIRECTION;
|
|
59
62
|
};
|
|
63
|
+
[EVENT_NAME.FILE_DOWNLOADED]: {
|
|
64
|
+
[EVENT_PARAM.ENTITY_NAME]: string;
|
|
65
|
+
[EVENT_PARAM.RELATED_ENTITY_ID]: string;
|
|
66
|
+
[EVENT_PARAM.RELATED_ENTITY_NAME]: string;
|
|
67
|
+
};
|
|
60
68
|
[EVENT_NAME.FILTER_SELECTED]: {
|
|
61
69
|
[EVENT_PARAM.FILTER_NAME]: string;
|
|
62
70
|
[EVENT_PARAM.FILTER_VALUE]: string;
|
|
@@ -7,6 +7,7 @@ export var EVENT_NAME;
|
|
|
7
7
|
EVENT_NAME["ENTITY_SELECTED"] = "entity_selected";
|
|
8
8
|
EVENT_NAME["ENTITY_TABLE_PAGINATED"] = "entity_table_paginated";
|
|
9
9
|
EVENT_NAME["ENTITY_TABLE_SORTED"] = "entity_table_sorted";
|
|
10
|
+
EVENT_NAME["FILE_DOWNLOADED"] = "file_downloaded";
|
|
10
11
|
EVENT_NAME["FILTER_SELECTED"] = "filter_selected";
|
|
11
12
|
EVENT_NAME["INDEX_ANALYZE_IN_TERRA_REQUESTED"] = "index_analyze_in_terra_requested";
|
|
12
13
|
EVENT_NAME["INDEX_FILE_MANIFEST_REQUESTED"] = "index_file_manifest_requested";
|
|
@@ -21,6 +22,8 @@ export var EVENT_PARAM;
|
|
|
21
22
|
EVENT_PARAM["FILTER_NAME"] = "filter_name";
|
|
22
23
|
EVENT_PARAM["FILTER_VALUE"] = "filter_value";
|
|
23
24
|
EVENT_PARAM["PAGINATION_DIRECTION"] = "pagination_direction";
|
|
25
|
+
EVENT_PARAM["RELATED_ENTITY_ID"] = "related_entity_id";
|
|
26
|
+
EVENT_PARAM["RELATED_ENTITY_NAME"] = "related_entity_name";
|
|
24
27
|
EVENT_PARAM["SORT_DIRECTION"] = "sort_direction";
|
|
25
28
|
EVENT_PARAM["TOOL_NAME"] = "tool_name";
|
|
26
29
|
})(EVENT_PARAM || (EVENT_PARAM = {}));
|
|
@@ -3,14 +3,21 @@
|
|
|
3
3
|
* @param entity_name - Entity (tab) name.
|
|
4
4
|
* @param toolName - Tool name.
|
|
5
5
|
*/
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function trackBulkDownloadRequested(entity_name: string, toolName: string): void;
|
|
7
7
|
/**
|
|
8
8
|
* Executes event tracking for the file manifest export.
|
|
9
9
|
* @param entity_name - Entity (tab) name.
|
|
10
10
|
*/
|
|
11
|
-
export declare function
|
|
11
|
+
export declare function trackFileManifestRequested(entity_name: string): void;
|
|
12
12
|
/**
|
|
13
13
|
* Executes event tracking for the Terra export.
|
|
14
14
|
* @param entity_name - Entity (tab) name.
|
|
15
15
|
*/
|
|
16
|
-
export declare function
|
|
16
|
+
export declare function trackExportToTerraRequested(entity_name: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Executes event tracking for individual file downloads
|
|
19
|
+
* @param entity_name - The name of the file downloaded.
|
|
20
|
+
* @param related_entity_id - The ID of the file's dataset / project
|
|
21
|
+
* @param related_entity_name -The name of the file's dataset / project
|
|
22
|
+
*/
|
|
23
|
+
export declare function trackFileDownloaded(entity_name: string, related_entity_id: string, related_entity_name: string): void;
|
|
@@ -5,7 +5,7 @@ import { EVENT_NAME, EVENT_PARAM } from "../../../common/analytics/entities";
|
|
|
5
5
|
* @param entity_name - Entity (tab) name.
|
|
6
6
|
* @param toolName - Tool name.
|
|
7
7
|
*/
|
|
8
|
-
export function
|
|
8
|
+
export function trackBulkDownloadRequested(entity_name, toolName) {
|
|
9
9
|
// Track the bulk download requested event.
|
|
10
10
|
track(EVENT_NAME.BULK_DOWNLOAD_REQUESTED, {
|
|
11
11
|
[EVENT_PARAM.ENTITY_NAME]: entity_name,
|
|
@@ -16,7 +16,7 @@ export function bulkDownloadTracking(entity_name, toolName) {
|
|
|
16
16
|
* Executes event tracking for the file manifest export.
|
|
17
17
|
* @param entity_name - Entity (tab) name.
|
|
18
18
|
*/
|
|
19
|
-
export function
|
|
19
|
+
export function trackFileManifestRequested(entity_name) {
|
|
20
20
|
// Track the file manifest requested event.
|
|
21
21
|
track(EVENT_NAME.INDEX_FILE_MANIFEST_REQUESTED, {
|
|
22
22
|
[EVENT_PARAM.ENTITY_NAME]: entity_name,
|
|
@@ -26,9 +26,23 @@ export function fileManifestTracking(entity_name) {
|
|
|
26
26
|
* Executes event tracking for the Terra export.
|
|
27
27
|
* @param entity_name - Entity (tab) name.
|
|
28
28
|
*/
|
|
29
|
-
export function
|
|
29
|
+
export function trackExportToTerraRequested(entity_name) {
|
|
30
30
|
// Track the export to terra event.
|
|
31
31
|
track(EVENT_NAME.INDEX_ANALYZE_IN_TERRA_REQUESTED, {
|
|
32
32
|
[EVENT_PARAM.ENTITY_NAME]: entity_name,
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Executes event tracking for individual file downloads
|
|
37
|
+
* @param entity_name - The name of the file downloaded.
|
|
38
|
+
* @param related_entity_id - The ID of the file's dataset / project
|
|
39
|
+
* @param related_entity_name -The name of the file's dataset / project
|
|
40
|
+
*/
|
|
41
|
+
export function trackFileDownloaded(entity_name, related_entity_id, related_entity_name) {
|
|
42
|
+
// Track the file downloaded event.
|
|
43
|
+
track(EVENT_NAME.FILE_DOWNLOADED, {
|
|
44
|
+
[EVENT_PARAM.ENTITY_NAME]: entity_name,
|
|
45
|
+
[EVENT_PARAM.RELATED_ENTITY_ID]: related_entity_id,
|
|
46
|
+
[EVENT_PARAM.RELATED_ENTITY_NAME]: related_entity_name,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
@@ -13,5 +13,5 @@ interface DownloadCurlCommandProps {
|
|
|
13
13
|
filters: Filters;
|
|
14
14
|
formFacet: FormFacet;
|
|
15
15
|
}
|
|
16
|
-
export declare const DownloadCurlCommand: ({ DownloadCurlForm, DownloadCurlStart, DownloadCurlSuccess, fileManifestState, fileSummaryFacetName, filters, formFacet, }: DownloadCurlCommandProps) => JSX.Element;
|
|
16
|
+
export declare const DownloadCurlCommand: ({ DownloadCurlForm, DownloadCurlStart, DownloadCurlSuccess, fileManifestState, fileManifestType, fileSummaryFacetName, filters, formFacet, }: DownloadCurlCommandProps) => JSX.Element;
|
|
17
17
|
export {};
|
|
@@ -4,18 +4,18 @@ import { useExploreState } from "../../../../hooks/useExploreState";
|
|
|
4
4
|
import { useFileManifest } from "../../../../hooks/useFileManifest/useFileManifest";
|
|
5
5
|
import { useRequestFileManifest } from "../../../../hooks/useFileManifest/useRequestFileManifest";
|
|
6
6
|
import { BULK_DOWNLOAD_EXECUTION_ENVIRONMENT, } from "../../common/entities";
|
|
7
|
-
import {
|
|
7
|
+
import { trackBulkDownloadRequested } from "../../common/tracking";
|
|
8
8
|
import { DownloadCurlCommandNotStarted } from "./components/DownloadCurlCommandNotStarted/downloadCurlCommandNotStarted";
|
|
9
9
|
import { DownloadCurlCommandReady } from "./components/DownloadCurlCommandReady/downloadCurlCommandReady";
|
|
10
|
-
export const DownloadCurlCommand = ({ DownloadCurlForm, DownloadCurlStart, DownloadCurlSuccess, fileManifestState, fileSummaryFacetName, filters, formFacet, }) => {
|
|
11
|
-
useRequestFileManifest(MANIFEST_DOWNLOAD_FORMAT.CURL, filters, fileSummaryFacetName);
|
|
10
|
+
export const DownloadCurlCommand = ({ DownloadCurlForm, DownloadCurlStart, DownloadCurlSuccess, fileManifestState, fileManifestType, fileSummaryFacetName, filters, formFacet, }) => {
|
|
11
|
+
useRequestFileManifest(fileManifestType, MANIFEST_DOWNLOAD_FORMAT.CURL, filters, fileSummaryFacetName);
|
|
12
12
|
const [executionEnvironment, setExecutionEnvironment] = useState(BULK_DOWNLOAD_EXECUTION_ENVIRONMENT.BASH);
|
|
13
13
|
const { exploreState: { tabValue: entityList }, } = useExploreState();
|
|
14
14
|
const { data, isLoading, run } = useFileManifest();
|
|
15
15
|
const curlCommand = getBulkDownloadCurlCommand(data, executionEnvironment);
|
|
16
16
|
return curlCommand ? (React.createElement(DownloadCurlCommandReady, { curlCommand: curlCommand, DownloadCurlSuccess: DownloadCurlSuccess })) : (React.createElement(DownloadCurlCommandNotStarted, { DownloadCurlForm: DownloadCurlForm, DownloadCurlStart: DownloadCurlStart, executionEnvironment: executionEnvironment, fileManifestState: fileManifestState, formFacet: formFacet, isLoading: isLoading, onRequestManifest: () => {
|
|
17
17
|
// Execute GTM tracking.
|
|
18
|
-
|
|
18
|
+
trackBulkDownloadRequested(entityList, executionEnvironment);
|
|
19
19
|
// Request manifest.
|
|
20
20
|
run();
|
|
21
21
|
}, setExecutionEnvironment: setExecutionEnvironment }));
|
|
@@ -15,4 +15,4 @@ export interface ExportToTerraProps {
|
|
|
15
15
|
manifestDownloadFormat?: ManifestDownloadFormat;
|
|
16
16
|
manifestDownloadFormats: ManifestDownloadFormat[];
|
|
17
17
|
}
|
|
18
|
-
export declare const ExportToTerra: ({ ExportForm, ExportToTerraStart, ExportToTerraSuccess, fileManifestState, fileSummaryFacetName, filters, formFacet, manifestDownloadFormat, manifestDownloadFormats, }: ExportToTerraProps) => JSX.Element;
|
|
18
|
+
export declare const ExportToTerra: ({ ExportForm, ExportToTerraStart, ExportToTerraSuccess, fileManifestState, fileManifestType, fileSummaryFacetName, filters, formFacet, manifestDownloadFormat, manifestDownloadFormats, }: ExportToTerraProps) => JSX.Element;
|
|
@@ -3,18 +3,18 @@ import { useExploreState } from "../../../../hooks/useExploreState";
|
|
|
3
3
|
import { useExportToTerraResponseURL } from "../../../../hooks/useExportToTerraResponseURL";
|
|
4
4
|
import { useFileManifest } from "../../../../hooks/useFileManifest/useFileManifest";
|
|
5
5
|
import { useRequestFileManifest } from "../../../../hooks/useFileManifest/useRequestFileManifest";
|
|
6
|
-
import {
|
|
6
|
+
import { trackExportToTerraRequested } from "../../common/tracking";
|
|
7
7
|
import { ExportToTerraNotStarted } from "./components/ExportToTerraNotStarted/exportToTerraNotStarted";
|
|
8
8
|
import { ExportToTerraReady } from "./components/ExportToTerraReady/exportToTerraReady";
|
|
9
|
-
export const ExportToTerra = ({ ExportForm, ExportToTerraStart, ExportToTerraSuccess, fileManifestState, fileSummaryFacetName, filters, formFacet, manifestDownloadFormat, manifestDownloadFormats, }) => {
|
|
9
|
+
export const ExportToTerra = ({ ExportForm, ExportToTerraStart, ExportToTerraSuccess, fileManifestState, fileManifestType, fileSummaryFacetName, filters, formFacet, manifestDownloadFormat, manifestDownloadFormats, }) => {
|
|
10
10
|
const { exploreState: { tabValue: entityList }, } = useExploreState();
|
|
11
|
-
useRequestFileManifest(manifestDownloadFormat, filters, fileSummaryFacetName);
|
|
11
|
+
useRequestFileManifest(fileManifestType, manifestDownloadFormat, filters, fileSummaryFacetName);
|
|
12
12
|
const { requestParams } = fileManifestState;
|
|
13
13
|
const { data, isLoading, run } = useFileManifest();
|
|
14
14
|
const exportURL = useExportToTerraResponseURL(requestParams, data);
|
|
15
15
|
return exportURL ? (React.createElement(ExportToTerraReady, { ExportToTerraSuccess: ExportToTerraSuccess, exportURL: exportURL })) : (React.createElement(ExportToTerraNotStarted, { ExportTerraForm: ExportForm, ExportToTerraStart: ExportToTerraStart, fileManifestState: fileManifestState, formFacet: formFacet, isLoading: isLoading, manifestDownloadFormats: manifestDownloadFormats, onRequestManifest: () => {
|
|
16
16
|
// Execute GA tracking
|
|
17
|
-
|
|
17
|
+
trackExportToTerraRequested(entityList);
|
|
18
18
|
// Request manifest
|
|
19
19
|
run();
|
|
20
20
|
} }));
|
|
@@ -5,4 +5,4 @@ export interface ManifestDownloadEntityProps {
|
|
|
5
5
|
filters: Filters;
|
|
6
6
|
metadataFilters: Filters;
|
|
7
7
|
}
|
|
8
|
-
export declare const ManifestDownloadEntity: ({ filters, metadataFilters, }: ManifestDownloadEntityProps) => JSX.Element;
|
|
8
|
+
export declare const ManifestDownloadEntity: ({ fileManifestType, filters, metadataFilters, }: ManifestDownloadEntityProps) => JSX.Element;
|
|
@@ -3,8 +3,8 @@ import { MANIFEST_DOWNLOAD_FORMAT } from "../../../../../../apis/azul/common/ent
|
|
|
3
3
|
import { useRequestFileManifest } from "../../../../../../hooks/useFileManifest/useRequestFileManifest";
|
|
4
4
|
import { FileManifestDownload } from "./components/FileManifestDownload/fileManifestDownload";
|
|
5
5
|
import { FileManifestSpreadsheet } from "./components/FileManifestSpreadsheet/fileManifestSpreadsheet";
|
|
6
|
-
export const ManifestDownloadEntity = ({ filters, metadataFilters, }) => {
|
|
7
|
-
useRequestFileManifest(MANIFEST_DOWNLOAD_FORMAT.COMPACT, filters, undefined);
|
|
6
|
+
export const ManifestDownloadEntity = ({ fileManifestType, filters, metadataFilters, }) => {
|
|
7
|
+
useRequestFileManifest(fileManifestType, MANIFEST_DOWNLOAD_FORMAT.COMPACT, filters, undefined);
|
|
8
8
|
return (React.createElement(React.Fragment, null,
|
|
9
9
|
React.createElement(FileManifestSpreadsheet, { filters: metadataFilters }),
|
|
10
10
|
React.createElement(FileManifestDownload, { filters: filters })));
|
|
@@ -13,4 +13,4 @@ export interface ManifestDownloadProps {
|
|
|
13
13
|
ManifestDownloadStart: ElementType;
|
|
14
14
|
ManifestDownloadSuccess: ElementType;
|
|
15
15
|
}
|
|
16
|
-
export declare const ManifestDownload: ({ fileManifestState, fileSummaryFacetName, filters, formFacet, ManifestDownloadForm, ManifestDownloadStart, ManifestDownloadSuccess, }: ManifestDownloadProps) => JSX.Element;
|
|
16
|
+
export declare const ManifestDownload: ({ fileManifestState, fileManifestType, fileSummaryFacetName, filters, formFacet, ManifestDownloadForm, ManifestDownloadStart, ManifestDownloadSuccess, }: ManifestDownloadProps) => JSX.Element;
|
|
@@ -3,16 +3,16 @@ import { MANIFEST_DOWNLOAD_FORMAT } from "../../../../apis/azul/common/entities"
|
|
|
3
3
|
import { useExploreState } from "../../../../hooks/useExploreState";
|
|
4
4
|
import { useFileManifest } from "../../../../hooks/useFileManifest/useFileManifest";
|
|
5
5
|
import { useRequestFileManifest } from "../../../../hooks/useFileManifest/useRequestFileManifest";
|
|
6
|
-
import {
|
|
6
|
+
import { trackFileManifestRequested } from "../../common/tracking";
|
|
7
7
|
import { ManifestDownloadNotStarted } from "./components/ManifestDownloadNotStarted/manifestDownloadNotStarted";
|
|
8
8
|
import { ManifestDownloadReady } from "./components/ManifestDownloadReady/manifestDownloadReady";
|
|
9
|
-
export const ManifestDownload = ({ fileManifestState, fileSummaryFacetName, filters, formFacet, ManifestDownloadForm, ManifestDownloadStart, ManifestDownloadSuccess, }) => {
|
|
10
|
-
useRequestFileManifest(MANIFEST_DOWNLOAD_FORMAT.COMPACT, filters, fileSummaryFacetName);
|
|
9
|
+
export const ManifestDownload = ({ fileManifestState, fileManifestType, fileSummaryFacetName, filters, formFacet, ManifestDownloadForm, ManifestDownloadStart, ManifestDownloadSuccess, }) => {
|
|
10
|
+
useRequestFileManifest(fileManifestType, MANIFEST_DOWNLOAD_FORMAT.COMPACT, filters, fileSummaryFacetName);
|
|
11
11
|
const { exploreState: { tabValue: entityList }, } = useExploreState();
|
|
12
12
|
const { data, isLoading, run } = useFileManifest();
|
|
13
13
|
const manifestURL = getManifestDownloadURL(data);
|
|
14
14
|
return manifestURL ? (React.createElement(ManifestDownloadReady, { ManifestDownloadSuccess: ManifestDownloadSuccess, manifestURL: manifestURL })) : (React.createElement(ManifestDownloadNotStarted, { ManifestDownloadForm: ManifestDownloadForm, ManifestDownloadStart: ManifestDownloadStart, fileManifestState: fileManifestState, formFacet: formFacet, isLoading: isLoading, onRequestManifest: () => {
|
|
15
|
-
|
|
15
|
+
trackFileManifestRequested(entityList);
|
|
16
16
|
run();
|
|
17
17
|
} }));
|
|
18
18
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const SupersededTag: import("@emotion/styled").StyledComponent<import("@mui/material").ChipOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
2
2
|
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
3
|
-
}, "label" | "style" | "className" | "classes" | "tabIndex" | "color" | "children" | "sx" | "variant" | "disabled" | "size" | "
|
|
3
|
+
}, "label" | "style" | "className" | "classes" | "tabIndex" | "color" | "children" | "sx" | "variant" | "disabled" | "size" | "avatar" | "clickable" | "deleteIcon" | "icon" | "onDelete" | "skipFocusWhenDisabled"> & {
|
|
4
4
|
theme?: import("@emotion/react").Theme;
|
|
5
5
|
}, {}, {}>;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export interface AzulFileDownloadProps {
|
|
2
|
+
entityName: string;
|
|
3
|
+
relatedEntityId: string;
|
|
4
|
+
relatedEntityName: string;
|
|
2
5
|
url?: string;
|
|
3
6
|
}
|
|
4
|
-
export declare const AzulFileDownload: ({ url, }: AzulFileDownloadProps) => JSX.Element;
|
|
7
|
+
export declare const AzulFileDownload: ({ entityName, relatedEntityId, relatedEntityName, url, }: AzulFileDownloadProps) => JSX.Element;
|
|
@@ -4,9 +4,10 @@ import { useFileLocation } from "../../../../hooks/useFileLocation";
|
|
|
4
4
|
import { DownloadIcon } from "../../../common/CustomIcon/components/DownloadIcon/downloadIcon";
|
|
5
5
|
import { LoadingIcon } from "../../../common/CustomIcon/components/LoadingIcon/loadingIcon";
|
|
6
6
|
import { IconButton } from "../../../common/IconButton/iconButton";
|
|
7
|
+
import { trackFileDownloaded } from "../../../Export/common/tracking";
|
|
7
8
|
import { StyledIconButton } from "./azulFileDownload.styles";
|
|
8
9
|
import { AZUL_FILE_DOWNLOAD_TEST_ID, AZUL_FILE_REQUEST_DOWNLOAD_PENDING_TEST_ID, AZUL_FILE_REQUEST_DOWNLOAD_TEST_ID, } from "./common/constants";
|
|
9
|
-
export const AzulFileDownload = ({ url, }) => {
|
|
10
|
+
export const AzulFileDownload = ({ entityName, relatedEntityId, relatedEntityName, url, }) => {
|
|
10
11
|
const { fileUrl, isLoading, run } = useFileLocation(url);
|
|
11
12
|
const downloadRef = useRef(null);
|
|
12
13
|
const [isRequestPending, setIsRequestPending] = useState(false);
|
|
@@ -24,6 +25,7 @@ export const AzulFileDownload = ({ url, }) => {
|
|
|
24
25
|
return (React.createElement(Fragment, null,
|
|
25
26
|
isRequestPending ? (React.createElement(StyledIconButton, { color: "primary", "data-testid": AZUL_FILE_REQUEST_DOWNLOAD_PENDING_TEST_ID, Icon: LoadingIcon, size: "medium" })) : (React.createElement(IconButton, { color: "primary", "data-testid": AZUL_FILE_REQUEST_DOWNLOAD_TEST_ID, disabled: !url, Icon: isLoading ? LoadingIcon : DownloadIcon, onClick: () => {
|
|
26
27
|
setIsRequestPending(true);
|
|
28
|
+
trackFileDownloaded(entityName, relatedEntityId, relatedEntityName);
|
|
27
29
|
run();
|
|
28
30
|
}, size: "medium" })),
|
|
29
31
|
React.createElement(Box, { component: "a", "data-testid": AZUL_FILE_DOWNLOAD_TEST_ID, download: true, ref: downloadRef, sx: { display: "none" } })));
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Typography } from "@mui/material";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { useConfig } from "../../../../../../../../../../hooks/useConfig";
|
|
4
|
+
import { TEXT_BODY_SMALL_400_2_LINES } from "../../../../../../../../../../theme/common/typography";
|
|
5
|
+
import { Link } from "../../../../../../../../../Links/components/Link/link";
|
|
6
|
+
import { getGitHash, getVersion } from "../../../../utils";
|
|
7
|
+
import { LINK_PROPS } from "./constants";
|
|
8
|
+
import { getCommitUrl, getReleaseUrl } from "./utils";
|
|
9
|
+
export const Title = ({ versionInfo, }) => {
|
|
10
|
+
const { config: { gitHubUrl }, } = useConfig();
|
|
11
|
+
if (!versionInfo)
|
|
12
|
+
return null;
|
|
13
|
+
const { buildDate, catalog, gitHash, version } = versionInfo;
|
|
14
|
+
return (React.createElement(Typography, { component: "div", variant: TEXT_BODY_SMALL_400_2_LINES },
|
|
15
|
+
buildDate && (React.createElement("div", null,
|
|
16
|
+
React.createElement("span", null, "Build Date: "),
|
|
17
|
+
React.createElement("span", null, buildDate))),
|
|
18
|
+
React.createElement("div", null,
|
|
19
|
+
React.createElement("span", null, "Version: "),
|
|
20
|
+
React.createElement(Link, { ...LINK_PROPS, label: getVersion(version), url: getReleaseUrl(gitHubUrl, versionInfo) })),
|
|
21
|
+
gitHash && (React.createElement("div", null,
|
|
22
|
+
React.createElement("span", null, "Git Commit: "),
|
|
23
|
+
React.createElement(Link, { ...LINK_PROPS, label: getGitHash(gitHash), url: getCommitUrl(gitHubUrl, versionInfo) }))),
|
|
24
|
+
catalog && (React.createElement("div", null,
|
|
25
|
+
React.createElement("span", null, "Catalog: "),
|
|
26
|
+
React.createElement("span", null, catalog)))));
|
|
27
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { VersionInfo } from "../../../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Returns GitHub commit URL for the given git hash.
|
|
4
|
+
* @param gitHubRepoUrl - GitHub repository URL.
|
|
5
|
+
* @param versionInfo - Version info.
|
|
6
|
+
* @returns GitHub commit URL.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getCommitUrl(gitHubRepoUrl?: string, versionInfo?: VersionInfo): string;
|
|
9
|
+
/**
|
|
10
|
+
* Returns GitHub release URL for the given release version.
|
|
11
|
+
* @param gitHubRepoUrl - GitHub repository URL.
|
|
12
|
+
* @param versionInfo - Version info.
|
|
13
|
+
* @returns GitHub release URL.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getReleaseUrl(gitHubRepoUrl?: string, versionInfo?: VersionInfo): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns GitHub commit URL for the given git hash.
|
|
3
|
+
* @param gitHubRepoUrl - GitHub repository URL.
|
|
4
|
+
* @param versionInfo - Version info.
|
|
5
|
+
* @returns GitHub commit URL.
|
|
6
|
+
*/
|
|
7
|
+
export function getCommitUrl(gitHubRepoUrl, versionInfo) {
|
|
8
|
+
if (!gitHubRepoUrl || !versionInfo)
|
|
9
|
+
return "";
|
|
10
|
+
if (!versionInfo.gitHash)
|
|
11
|
+
return "";
|
|
12
|
+
return `${gitHubRepoUrl}/commit/${versionInfo.gitHash}`;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns GitHub release URL for the given release version.
|
|
16
|
+
* @param gitHubRepoUrl - GitHub repository URL.
|
|
17
|
+
* @param versionInfo - Version info.
|
|
18
|
+
* @returns GitHub release URL.
|
|
19
|
+
*/
|
|
20
|
+
export function getReleaseUrl(gitHubRepoUrl, versionInfo) {
|
|
21
|
+
if (!gitHubRepoUrl || !versionInfo)
|
|
22
|
+
return "";
|
|
23
|
+
if (!versionInfo.version)
|
|
24
|
+
return "";
|
|
25
|
+
return `${gitHubRepoUrl}/releases/tag/${versionInfo.version}`;
|
|
26
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CHIP_PROPS as MUI_CHIP_PROPS } from "../../../../../../styles/common/mui/chip";
|
|
2
|
+
export const CHIP_PROPS = {
|
|
3
|
+
color: MUI_CHIP_PROPS.COLOR.DEFAULT,
|
|
4
|
+
size: MUI_CHIP_PROPS.SIZE.SMALL,
|
|
5
|
+
};
|
|
6
|
+
export const TOOLTIP_PROPS = {
|
|
7
|
+
arrow: true,
|
|
8
|
+
slotProps: {
|
|
9
|
+
popper: {
|
|
10
|
+
modifiers: [
|
|
11
|
+
{
|
|
12
|
+
name: "offset",
|
|
13
|
+
options: {
|
|
14
|
+
offset: [0, -4],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: "preventOverflow",
|
|
19
|
+
options: { padding: 8 },
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
tooltip: {
|
|
24
|
+
sx: { maxWidth: "none" },
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ChipProps, TooltipProps } from "@mui/material";
|
|
2
|
+
export interface VersionInfo {
|
|
3
|
+
buildDate?: string;
|
|
4
|
+
catalog?: string;
|
|
5
|
+
gitHash?: string;
|
|
6
|
+
version?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface VersionInfoProps {
|
|
9
|
+
chipProps?: Partial<ChipProps>;
|
|
10
|
+
tooltipProps?: Partial<TooltipProps>;
|
|
11
|
+
versionInfo?: VersionInfo;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { VersionInfo } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Returns displayable shortened version of Git hash.
|
|
4
|
+
* @param gitHash - Git hash.
|
|
5
|
+
* @returns displayable shortened version of Git hash.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getGitHash(gitHash?: string): string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Returns Chip label based on version info.
|
|
10
|
+
* @param versionInfo - Version info.
|
|
11
|
+
* @returns Chip label.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getLabel(versionInfo?: VersionInfo): string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Returns displayable version, or "Unversioned" if version is not provided.
|
|
16
|
+
* @param version - Version info.
|
|
17
|
+
* @returns Version.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getVersion(version?: string): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns displayable shortened version of Git hash.
|
|
3
|
+
* @param gitHash - Git hash.
|
|
4
|
+
* @returns displayable shortened version of Git hash.
|
|
5
|
+
*/
|
|
6
|
+
export function getGitHash(gitHash) {
|
|
7
|
+
return gitHash?.substring(0, 7);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Returns Chip label based on version info.
|
|
11
|
+
* @param versionInfo - Version info.
|
|
12
|
+
* @returns Chip label.
|
|
13
|
+
*/
|
|
14
|
+
export function getLabel(versionInfo) {
|
|
15
|
+
if (!versionInfo)
|
|
16
|
+
return;
|
|
17
|
+
const { catalog, gitHash, version } = versionInfo;
|
|
18
|
+
return [getVersion(version), getGitHash(gitHash), catalog]
|
|
19
|
+
.filter(Boolean)
|
|
20
|
+
.join("-");
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns displayable version, or "Unversioned" if version is not provided.
|
|
24
|
+
* @param version - Version info.
|
|
25
|
+
* @returns Version.
|
|
26
|
+
*/
|
|
27
|
+
export function getVersion(version) {
|
|
28
|
+
return version || "Unversioned";
|
|
29
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Tooltip } from "@mui/material";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Title } from "./components/Tooltip/components/Title/title";
|
|
4
|
+
import { CHIP_PROPS, TOOLTIP_PROPS } from "./constants";
|
|
5
|
+
import { getLabel } from "./utils";
|
|
6
|
+
import { StyledChip } from "./versionInfo.styles";
|
|
7
|
+
export const VersionInfo = ({ chipProps, className, tooltipProps, versionInfo, }) => {
|
|
8
|
+
return (React.createElement(Tooltip, { ...TOOLTIP_PROPS, title: React.createElement(Title, { versionInfo: versionInfo }), ...tooltipProps },
|
|
9
|
+
React.createElement(StyledChip, { ...CHIP_PROPS, className: className, label: getLabel(versionInfo), ...chipProps })));
|
|
10
|
+
};
|
package/lib/components/Layout/components/Footer/components/VersionInfo/versionInfo.styles.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const StyledChip: import("@emotion/styled").StyledComponent<import("@mui/material").ChipOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
2
|
+
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
3
|
+
}, "label" | "style" | "className" | "classes" | "tabIndex" | "color" | "children" | "sx" | "variant" | "disabled" | "size" | "avatar" | "clickable" | "deleteIcon" | "icon" | "onDelete" | "skipFocusWhenDisabled"> & {
|
|
4
|
+
theme?: import("@emotion/react").Theme;
|
|
5
|
+
}, {}, {}>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { Chip } from "@mui/material";
|
|
3
|
+
import { inkLight } from "../../../../../../styles/common/mixins/colors";
|
|
4
|
+
export const StyledChip = styled(Chip) `
|
|
5
|
+
border-radius: 4px;
|
|
6
|
+
.MuiChip-label {
|
|
7
|
+
color: ${inkLight};
|
|
8
|
+
}
|
|
9
|
+
`;
|
|
@@ -2,9 +2,10 @@ import { ReactNode } from "react";
|
|
|
2
2
|
import { Social } from "../../../common/Socials/socials";
|
|
3
3
|
import { NavLinkItem } from "../Header/components/Content/components/Navigation/navigation";
|
|
4
4
|
export interface FooterProps {
|
|
5
|
-
Branding
|
|
5
|
+
Branding?: ReactNode;
|
|
6
6
|
className?: string;
|
|
7
7
|
navLinks?: NavLinkItem[];
|
|
8
8
|
socials?: Social[];
|
|
9
|
+
versionInfo?: ReactNode;
|
|
9
10
|
}
|
|
10
|
-
export declare const Footer: ({ Branding, className, navLinks, socials, }: FooterProps) => JSX.Element;
|
|
11
|
+
export declare const Footer: ({ Branding, className, navLinks, socials, versionInfo, }: FooterProps) => JSX.Element;
|
|
@@ -2,12 +2,13 @@ import { Toolbar } from "@mui/material";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { ANCHOR_TARGET } from "../../../Links/common/entities";
|
|
4
4
|
import { AppBar, Link, Links, Socials } from "./footer.styles";
|
|
5
|
-
export const Footer = ({ Branding, className, navLinks, socials, }) => {
|
|
5
|
+
export const Footer = ({ Branding, className, navLinks, socials, versionInfo, }) => {
|
|
6
6
|
return (React.createElement(AppBar, { className: className, color: "inherit", component: "footer", variant: "footer" },
|
|
7
7
|
React.createElement(Toolbar, { variant: "dense" },
|
|
8
8
|
Branding,
|
|
9
|
-
(navLinks || socials) && (React.createElement(Links, null,
|
|
9
|
+
(navLinks || socials || versionInfo) && (React.createElement(Links, null,
|
|
10
10
|
navLinks &&
|
|
11
11
|
navLinks.map(({ label, target = ANCHOR_TARGET.SELF, url }, i) => (React.createElement(Link, { key: `${url}${i}`, label: label, target: target, url: url }))),
|
|
12
|
-
socials && React.createElement(Socials, { buttonSize: "small", socials: socials })
|
|
12
|
+
socials && React.createElement(Socials, { buttonSize: "small", socials: socials }),
|
|
13
|
+
versionInfo)))));
|
|
13
14
|
};
|
package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const Tab: import("@emotion/styled").StyledComponent<import("@mui/material").TabOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
2
2
|
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
3
|
-
}, "label" | "style" | "className" | "classes" | "tabIndex" | "children" | "sx" | "disabled" | "value" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "
|
|
3
|
+
}, "label" | "style" | "className" | "classes" | "tabIndex" | "children" | "sx" | "disabled" | "value" | "action" | "icon" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "wrapped" | "iconPosition"> & {
|
|
4
4
|
theme?: import("@emotion/react").Theme;
|
|
5
5
|
}, {}, {}>;
|
|
@@ -10,7 +10,7 @@ export declare const Tabs: import("@emotion/styled").StyledComponent<import("@mu
|
|
|
10
10
|
}, {}, {}>;
|
|
11
11
|
export declare const Tab: import("@emotion/styled").StyledComponent<import("@mui/material").TabOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
12
12
|
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
13
|
-
}, "label" | "style" | "className" | "classes" | "tabIndex" | "children" | "sx" | "disabled" | "value" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "
|
|
13
|
+
}, "label" | "style" | "className" | "classes" | "tabIndex" | "children" | "sx" | "disabled" | "value" | "action" | "icon" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "wrapped" | "iconPosition"> & {
|
|
14
14
|
theme?: import("@emotion/react").Theme;
|
|
15
15
|
} & Props, {}, {}>;
|
|
16
16
|
export {};
|