@databiosphere/findable-ui 13.0.1 → 14.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/CHANGELOG.md +24 -0
- package/lib/common/analytics/entities.d.ts +10 -7
- package/lib/common/analytics/entities.js +2 -3
- package/lib/components/Export/common/tracking.d.ts +12 -3
- package/lib/components/Export/common/tracking.js +23 -12
- package/lib/components/Export/components/DownloadCurlCommand/downloadCurlCommand.d.ts +1 -1
- package/lib/components/Export/components/DownloadCurlCommand/downloadCurlCommand.js +2 -16
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.js +6 -3
- package/lib/components/Export/components/ExportToTerra/exportToTerra.js +9 -1
- package/lib/components/Export/components/ManifestDownload/manifestDownload.js +7 -1
- package/lib/components/Layout/components/Header/components/Content/components/Logo/logo.d.ts +2 -2
- package/lib/components/Layout/components/Header/components/Content/components/Logo/logo.js +1 -1
- package/lib/components/Layout/components/Header/components/Content/components/Logo/logo.styles.js +0 -1
- package/lib/components/Links/components/Link/link.d.ts +2 -3
- package/lib/components/Links/components/Link/link.js +1 -2
- package/lib/components/common/Alert/alert.d.ts +4 -12
- package/lib/components/common/Alert/alert.js +5 -7
- package/lib/components/common/Alert/alert.styles.d.ts +1 -11
- package/lib/components/common/Alert/alert.styles.js +18 -24
- package/lib/components/common/Alert/constants.d.ts +2 -0
- package/lib/components/common/Alert/constants.js +27 -0
- package/lib/components/common/Alert/hooks/useTransition/types.d.ts +5 -0
- package/lib/components/common/Alert/hooks/useTransition/types.js +1 -0
- package/lib/components/common/Alert/hooks/useTransition/useTransition.d.ts +7 -0
- package/lib/components/common/Alert/hooks/useTransition/useTransition.js +20 -0
- package/lib/components/common/Banner/banner.d.ts +4 -7
- package/lib/components/common/Banner/banner.js +4 -3
- package/lib/components/common/Banner/banner.styles.d.ts +3 -0
- package/lib/components/common/Banner/banner.styles.js +28 -0
- package/lib/components/common/Banner/components/CookieBanner/constants.d.ts +2 -0
- package/lib/components/common/Banner/components/CookieBanner/constants.js +7 -0
- package/lib/components/common/Banner/components/CookieBanner/cookieBanner.d.ts +3 -3
- package/lib/components/common/Banner/components/CookieBanner/cookieBanner.js +17 -31
- package/lib/components/common/Banner/components/CookieBanner/cookieBanner.styles.d.ts +1 -1
- package/lib/components/common/Banner/components/CookieBanner/cookieBanner.styles.js +2 -16
- package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.d.ts +3 -7
- package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.js +6 -4
- package/lib/components/common/Banner/components/SystemIndexing/systemIndexing.d.ts +3 -8
- package/lib/components/common/Banner/components/SystemIndexing/systemIndexing.js +6 -8
- package/lib/components/common/Banner/components/SystemStatus/systemStatus.d.ts +3 -8
- package/lib/components/common/Banner/components/SystemStatus/systemStatus.js +6 -8
- package/lib/components/common/Banner/constants.d.ts +2 -0
- package/lib/components/common/Banner/constants.js +9 -0
- package/lib/components/common/Breadcrumbs/breadcrumbs.d.ts +2 -2
- package/lib/components/common/Breadcrumbs/breadcrumbs.js +3 -4
- package/lib/components/common/Paper/paper.styles.js +18 -12
- package/lib/components/types.d.ts +10 -0
- package/lib/components/types.js +1 -0
- package/lib/hooks/useLocalStorage/useLocalStorage.d.ts +1 -1
- package/lib/hooks/useLocalStorage/useLocalStorage.js +1 -1
- package/lib/styles/common/constants/size.d.ts +5 -0
- package/lib/styles/common/constants/size.js +6 -0
- package/lib/styles/common/mui/alert.d.ts +4 -0
- package/lib/styles/common/mui/alert.js +20 -0
- package/lib/styles/common/mui/icon.d.ts +2 -0
- package/lib/styles/common/mui/icon.js +6 -0
- package/lib/theme/common/components.d.ts +0 -12
- package/lib/theme/common/components.js +17 -157
- package/lib/theme/components/index.d.ts +2 -0
- package/lib/theme/components/index.js +2 -0
- package/lib/theme/components/muiAlert.d.ts +2 -0
- package/lib/theme/components/muiAlert.js +121 -0
- package/lib/theme/components/muiAlertTitle.d.ts +2 -0
- package/lib/theme/components/muiAlertTitle.js +12 -0
- package/lib/theme/theme.js +3 -2
- package/package.json +4 -4
- package/src/common/analytics/entities.ts +9 -6
- package/src/common/analytics/readme-analytics.md +9 -7
- package/src/components/Export/common/tracking.ts +26 -15
- package/src/components/Export/components/DownloadCurlCommand/downloadCurlCommand.tsx +2 -30
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.tsx +16 -18
- package/src/components/Export/components/ExportToTerra/exportToTerra.tsx +11 -1
- package/src/components/Export/components/ManifestDownload/manifestDownload.tsx +9 -1
- package/src/components/Layout/components/Header/components/Content/components/Logo/logo.styles.ts +0 -1
- package/src/components/Layout/components/Header/components/Content/components/Logo/logo.tsx +3 -2
- package/src/components/Links/components/Link/link.tsx +17 -16
- package/src/components/common/Alert/alert.styles.ts +22 -25
- package/src/components/common/Alert/alert.tsx +14 -35
- package/src/components/common/Alert/constants.ts +29 -0
- package/src/components/common/Alert/hooks/useTransition/types.ts +5 -0
- package/src/components/common/Alert/hooks/useTransition/useTransition.ts +25 -0
- package/src/components/common/Banner/banner.styles.ts +29 -0
- package/src/components/common/Banner/banner.tsx +11 -18
- package/src/components/common/Banner/components/CookieBanner/constants.ts +9 -0
- package/src/components/common/Banner/components/CookieBanner/cookieBanner.styles.ts +2 -16
- package/src/components/common/Banner/components/CookieBanner/cookieBanner.tsx +36 -64
- package/src/components/common/Banner/components/SessionTimeout/sessionTimeout.tsx +12 -17
- package/src/components/common/Banner/components/SystemIndexing/systemIndexing.tsx +11 -22
- package/src/components/common/Banner/components/SystemStatus/systemStatus.tsx +11 -22
- package/src/components/common/Banner/constants.ts +11 -0
- package/src/components/common/Breadcrumbs/breadcrumbs.tsx +6 -10
- package/src/components/common/Paper/paper.styles.ts +18 -12
- package/src/components/types.ts +13 -0
- package/src/hooks/useLocalStorage/useLocalStorage.ts +2 -2
- package/src/styles/common/constants/size.ts +5 -0
- package/src/styles/common/mui/alert.ts +24 -0
- package/src/styles/common/mui/icon.ts +8 -0
- package/src/theme/common/components.ts +16 -159
- package/src/theme/components/index.ts +2 -0
- package/src/theme/components/muiAlert.ts +123 -0
- package/src/theme/components/muiAlertTitle.ts +14 -0
- package/src/theme/theme.ts +3 -2
- package/types/data-explorer-ui.d.ts +6 -5
- package/lib/components/Index/components/TitleCell/titleCell.d.ts +0 -6
- package/lib/components/Index/components/TitleCell/titleCell.js +0 -10
- package/lib/components/Index/components/TitleCell/titleCell.styles.d.ts +0 -3
- package/lib/components/Index/components/TitleCell/titleCell.styles.js +0 -6
- package/lib/components/common/Alert/alert.stories.d.ts +0 -6
- package/lib/components/common/Alert/alert.stories.js +0 -36
- package/lib/components/common/Alert/components/AlertText/alertText.styles.d.ts +0 -4
- package/lib/components/common/Alert/components/AlertText/alertText.styles.js +0 -19
- package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.d.ts +0 -7
- package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.js +0 -5
- package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.d.ts +0 -3
- package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.js +0 -19
- package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.d.ts +0 -10
- package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.js +0 -16
- package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.d.ts +0 -3
- package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.js +0 -21
- package/src/components/Index/components/TitleCell/titleCell.styles.ts +0 -7
- package/src/components/Index/components/TitleCell/titleCell.tsx +0 -22
- package/src/components/common/Alert/alert.stories.tsx +0 -41
- package/src/components/common/Alert/components/AlertText/alertText.styles.ts +0 -20
- package/src/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.ts +0 -20
- package/src/components/common/Banner/components/BannerPrimary/bannerPrimary.tsx +0 -27
- package/src/components/common/Banner/components/DismissibleBanner/dismissibleBanner.tsx +0 -44
- package/src/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.ts +0 -22
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [14.0.0](https://github.com/DataBiosphere/findable-ui/compare/v13.0.1...v14.0.0) (2024-11-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* update banner components ([#253](https://github.com/DataBiosphere/findable-ui/issues/253)) (#255)
|
|
9
|
+
* simplify alert components ([#252](https://github.com/DataBiosphere/findable-ui/issues/252)) (#254)
|
|
10
|
+
* fix mui error "cannot resolve @mui/utils/getReactNodeRef" ([#242](https://github.com/DataBiosphere/findable-ui/issues/242)) (#243)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* add 'testid' prop interface ([#247](https://github.com/DataBiosphere/findable-ui/issues/247)) ([#250](https://github.com/DataBiosphere/findable-ui/issues/250)) ([1e494e0](https://github.com/DataBiosphere/findable-ui/commit/1e494e0b7279035b820dcacf16efc4d1f55d7a1e))
|
|
15
|
+
* added and updated index export tracking ([#222](https://github.com/DataBiosphere/findable-ui/issues/222)) ([#224](https://github.com/DataBiosphere/findable-ui/issues/224)) ([15e861d](https://github.com/DataBiosphere/findable-ui/commit/15e861de5a2411e5cbb9d24b137ef62ff48695c4))
|
|
16
|
+
* remove unused titlecell component ([#248](https://github.com/DataBiosphere/findable-ui/issues/248)) ([#249](https://github.com/DataBiosphere/findable-ui/issues/249)) ([51a7c4f](https://github.com/DataBiosphere/findable-ui/commit/51a7c4f8877990dd4a7fef23ddce543e4913f885))
|
|
17
|
+
* simplify alert components ([#252](https://github.com/DataBiosphere/findable-ui/issues/252)) ([#254](https://github.com/DataBiosphere/findable-ui/issues/254)) ([18f3e54](https://github.com/DataBiosphere/findable-ui/commit/18f3e54ef73bedd585b1c162fcabd0cbe74cc8bf))
|
|
18
|
+
* update banner components ([#253](https://github.com/DataBiosphere/findable-ui/issues/253)) ([#255](https://github.com/DataBiosphere/findable-ui/issues/255)) ([d9c87c7](https://github.com/DataBiosphere/findable-ui/commit/d9c87c73c7b0e018c639c98ca8100b12112afe5d))
|
|
19
|
+
* update mui link theme styles ([#245](https://github.com/DataBiosphere/findable-ui/issues/245)) ([#246](https://github.com/DataBiosphere/findable-ui/issues/246)) ([7f401b8](https://github.com/DataBiosphere/findable-ui/commit/7f401b8eba6c53daec2a40e825220e8506bc95b3))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* fix cookie banner color ([#239](https://github.com/DataBiosphere/findable-ui/issues/239)) ([#251](https://github.com/DataBiosphere/findable-ui/issues/251)) ([54b2802](https://github.com/DataBiosphere/findable-ui/commit/54b2802ce83168c5f79860c2baf53c7148e19767))
|
|
25
|
+
* fix mui error "cannot resolve @mui/utils/getReactNodeRef" ([#242](https://github.com/DataBiosphere/findable-ui/issues/242)) ([#243](https://github.com/DataBiosphere/findable-ui/issues/243)) ([4b832ac](https://github.com/DataBiosphere/findable-ui/commit/4b832acd7b18511781ce4046df9c4e9454896991))
|
|
26
|
+
|
|
3
27
|
## [13.0.1](https://github.com/DataBiosphere/findable-ui/compare/v13.0.0...v13.0.1) (2024-10-18)
|
|
4
28
|
|
|
5
29
|
|
|
@@ -7,19 +7,18 @@ 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
|
-
FILTER_SELECTED = "filter_selected"
|
|
10
|
+
FILTER_SELECTED = "filter_selected",
|
|
11
|
+
INDEX_ANALYZE_IN_TERRA_REQUESTED = "index_analyze_in_terra_requested",
|
|
12
|
+
INDEX_FILE_MANIFEST_REQUESTED = "index_file_manifest_requested"
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Set of analytics event parameters.
|
|
14
16
|
*/
|
|
15
17
|
export declare enum EVENT_PARAM {
|
|
16
|
-
CATALOG = "catalog",
|
|
17
18
|
COLUMN_NAME = "column_name",
|
|
18
|
-
CURRENT_QUERY = "current_query",
|
|
19
19
|
ENTITY_NAME = "entity_name",
|
|
20
20
|
FILTER_NAME = "filter_name",
|
|
21
21
|
FILTER_VALUE = "filter_value",
|
|
22
|
-
INDEX = "index",
|
|
23
22
|
PAGINATION_DIRECTION = "pagination_direction",
|
|
24
23
|
SORT_DIRECTION = "sort_direction",
|
|
25
24
|
TOOL_NAME = "tool_name"
|
|
@@ -43,9 +42,7 @@ export declare enum SORT_DIRECTION {
|
|
|
43
42
|
*/
|
|
44
43
|
export type EventParams = {
|
|
45
44
|
[EVENT_NAME.BULK_DOWNLOAD_REQUESTED]: {
|
|
46
|
-
[EVENT_PARAM.
|
|
47
|
-
[EVENT_PARAM.CURRENT_QUERY]: string;
|
|
48
|
-
[EVENT_PARAM.INDEX]: string;
|
|
45
|
+
[EVENT_PARAM.ENTITY_NAME]: string;
|
|
49
46
|
[EVENT_PARAM.TOOL_NAME]: string;
|
|
50
47
|
};
|
|
51
48
|
[EVENT_NAME.ENTITY_SELECTED]: {
|
|
@@ -64,4 +61,10 @@ export type EventParams = {
|
|
|
64
61
|
[EVENT_PARAM.FILTER_NAME]: string;
|
|
65
62
|
[EVENT_PARAM.FILTER_VALUE]: string;
|
|
66
63
|
};
|
|
64
|
+
[EVENT_NAME.INDEX_ANALYZE_IN_TERRA_REQUESTED]: {
|
|
65
|
+
[EVENT_PARAM.ENTITY_NAME]: string;
|
|
66
|
+
};
|
|
67
|
+
[EVENT_NAME.INDEX_FILE_MANIFEST_REQUESTED]: {
|
|
68
|
+
[EVENT_PARAM.ENTITY_NAME]: string;
|
|
69
|
+
};
|
|
67
70
|
};
|
|
@@ -8,19 +8,18 @@ export var EVENT_NAME;
|
|
|
8
8
|
EVENT_NAME["ENTITY_TABLE_PAGINATED"] = "entity_table_paginated";
|
|
9
9
|
EVENT_NAME["ENTITY_TABLE_SORTED"] = "entity_table_sorted";
|
|
10
10
|
EVENT_NAME["FILTER_SELECTED"] = "filter_selected";
|
|
11
|
+
EVENT_NAME["INDEX_ANALYZE_IN_TERRA_REQUESTED"] = "index_analyze_in_terra_requested";
|
|
12
|
+
EVENT_NAME["INDEX_FILE_MANIFEST_REQUESTED"] = "index_file_manifest_requested";
|
|
11
13
|
})(EVENT_NAME || (EVENT_NAME = {}));
|
|
12
14
|
/**
|
|
13
15
|
* Set of analytics event parameters.
|
|
14
16
|
*/
|
|
15
17
|
export var EVENT_PARAM;
|
|
16
18
|
(function (EVENT_PARAM) {
|
|
17
|
-
EVENT_PARAM["CATALOG"] = "catalog";
|
|
18
19
|
EVENT_PARAM["COLUMN_NAME"] = "column_name";
|
|
19
|
-
EVENT_PARAM["CURRENT_QUERY"] = "current_query";
|
|
20
20
|
EVENT_PARAM["ENTITY_NAME"] = "entity_name";
|
|
21
21
|
EVENT_PARAM["FILTER_NAME"] = "filter_name";
|
|
22
22
|
EVENT_PARAM["FILTER_VALUE"] = "filter_value";
|
|
23
|
-
EVENT_PARAM["INDEX"] = "index";
|
|
24
23
|
EVENT_PARAM["PAGINATION_DIRECTION"] = "pagination_direction";
|
|
25
24
|
EVENT_PARAM["SORT_DIRECTION"] = "sort_direction";
|
|
26
25
|
EVENT_PARAM["TOOL_NAME"] = "tool_name";
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Executes event tracking for bulk download.
|
|
3
|
-
* @param
|
|
3
|
+
* @param entity_name - Entity (tab) name.
|
|
4
4
|
* @param toolName - Tool name.
|
|
5
|
-
* @param requestParams - Request params.
|
|
6
5
|
*/
|
|
7
|
-
export declare function bulkDownloadTracking(
|
|
6
|
+
export declare function bulkDownloadTracking(entity_name: string, toolName: string): void;
|
|
7
|
+
/**
|
|
8
|
+
* Executes event tracking for the file manifest export.
|
|
9
|
+
* @param entity_name - Entity (tab) name.
|
|
10
|
+
*/
|
|
11
|
+
export declare function fileManifestTracking(entity_name: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* Executes event tracking for the Terra export.
|
|
14
|
+
* @param entity_name - Entity (tab) name.
|
|
15
|
+
*/
|
|
16
|
+
export declare function exportToTerraTracking(entity_name: string): void;
|
|
@@ -2,22 +2,33 @@ import { track } from "../../../common/analytics/analytics";
|
|
|
2
2
|
import { EVENT_NAME, EVENT_PARAM } from "../../../common/analytics/entities";
|
|
3
3
|
/**
|
|
4
4
|
* Executes event tracking for bulk download.
|
|
5
|
-
* @param
|
|
5
|
+
* @param entity_name - Entity (tab) name.
|
|
6
6
|
* @param toolName - Tool name.
|
|
7
|
-
* @param requestParams - Request params.
|
|
8
7
|
*/
|
|
9
|
-
export function bulkDownloadTracking(
|
|
10
|
-
if (!requestParams) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
// Grab catalog and current query from the request params.
|
|
14
|
-
const catalog = requestParams.get("catalog"); // Catalog will be defined.
|
|
15
|
-
const currentQuery = requestParams.get("filters"); // Filters will be defined.
|
|
8
|
+
export function bulkDownloadTracking(entity_name, toolName) {
|
|
16
9
|
// Track the bulk download requested event.
|
|
17
10
|
track(EVENT_NAME.BULK_DOWNLOAD_REQUESTED, {
|
|
18
|
-
[EVENT_PARAM.
|
|
19
|
-
[EVENT_PARAM.CURRENT_QUERY]: currentQuery,
|
|
20
|
-
[EVENT_PARAM.INDEX]: index,
|
|
11
|
+
[EVENT_PARAM.ENTITY_NAME]: entity_name,
|
|
21
12
|
[EVENT_PARAM.TOOL_NAME]: toolName,
|
|
22
13
|
});
|
|
23
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Executes event tracking for the file manifest export.
|
|
17
|
+
* @param entity_name - Entity (tab) name.
|
|
18
|
+
*/
|
|
19
|
+
export function fileManifestTracking(entity_name) {
|
|
20
|
+
// Track the file manifest requested event.
|
|
21
|
+
track(EVENT_NAME.INDEX_FILE_MANIFEST_REQUESTED, {
|
|
22
|
+
[EVENT_PARAM.ENTITY_NAME]: entity_name,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Executes event tracking for the Terra export.
|
|
27
|
+
* @param entity_name - Entity (tab) name.
|
|
28
|
+
*/
|
|
29
|
+
export function exportToTerraTracking(entity_name) {
|
|
30
|
+
// Track the export to terra event.
|
|
31
|
+
track(EVENT_NAME.INDEX_ANALYZE_IN_TERRA_REQUESTED, {
|
|
32
|
+
[EVENT_PARAM.ENTITY_NAME]: entity_name,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
@@ -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,
|
|
16
|
+
export declare const DownloadCurlCommand: ({ DownloadCurlForm, DownloadCurlStart, DownloadCurlSuccess, fileManifestState, fileSummaryFacetName, filters, formFacet, }: DownloadCurlCommandProps) => JSX.Element;
|
|
17
17
|
export {};
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
2
|
import { MANIFEST_DOWNLOAD_FORMAT } from "../../../../apis/azul/common/entities";
|
|
3
3
|
import { useExploreState } from "../../../../hooks/useExploreState";
|
|
4
|
-
import { FILE_MANIFEST_TYPE, } from "../../../../hooks/useFileManifest/common/entities";
|
|
5
4
|
import { useFileManifest } from "../../../../hooks/useFileManifest/useFileManifest";
|
|
6
5
|
import { useRequestFileManifest } from "../../../../hooks/useFileManifest/useRequestFileManifest";
|
|
7
6
|
import { BULK_DOWNLOAD_EXECUTION_ENVIRONMENT, } from "../../common/entities";
|
|
8
7
|
import { bulkDownloadTracking } from "../../common/tracking";
|
|
9
8
|
import { DownloadCurlCommandNotStarted } from "./components/DownloadCurlCommandNotStarted/downloadCurlCommandNotStarted";
|
|
10
9
|
import { DownloadCurlCommandReady } from "./components/DownloadCurlCommandReady/downloadCurlCommandReady";
|
|
11
|
-
export const DownloadCurlCommand = ({ DownloadCurlForm, DownloadCurlStart, DownloadCurlSuccess, fileManifestState,
|
|
10
|
+
export const DownloadCurlCommand = ({ DownloadCurlForm, DownloadCurlStart, DownloadCurlSuccess, fileManifestState, fileSummaryFacetName, filters, formFacet, }) => {
|
|
12
11
|
useRequestFileManifest(MANIFEST_DOWNLOAD_FORMAT.CURL, filters, fileSummaryFacetName);
|
|
13
12
|
const [executionEnvironment, setExecutionEnvironment] = useState(BULK_DOWNLOAD_EXECUTION_ENVIRONMENT.BASH);
|
|
14
13
|
const { exploreState: { tabValue: entityList }, } = useExploreState();
|
|
15
|
-
const { requestParams } = fileManifestState;
|
|
16
14
|
const { data, isLoading, run } = useFileManifest();
|
|
17
15
|
const curlCommand = getBulkDownloadCurlCommand(data, executionEnvironment);
|
|
18
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: () => {
|
|
19
17
|
// Execute GTM tracking.
|
|
20
|
-
|
|
18
|
+
bulkDownloadTracking(entityList, executionEnvironment);
|
|
21
19
|
// Request manifest.
|
|
22
20
|
run();
|
|
23
21
|
}, setExecutionEnvironment: setExecutionEnvironment }));
|
|
@@ -35,15 +33,3 @@ function getBulkDownloadCurlCommand(fileLocation, executionEnvironment) {
|
|
|
35
33
|
}
|
|
36
34
|
return commandLine[executionEnvironment];
|
|
37
35
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Executes GTM tracking.
|
|
40
|
-
* @param fileManifestType - File manifest type.
|
|
41
|
-
* @param index - Index.
|
|
42
|
-
* @param toolName - Execution environment.
|
|
43
|
-
* @param requestParams - Request params.
|
|
44
|
-
*/
|
|
45
|
-
function track(fileManifestType, index, toolName, requestParams) {
|
|
46
|
-
if (fileManifestType === FILE_MANIFEST_TYPE.BULK_DOWNLOAD) {
|
|
47
|
-
bulkDownloadTracking(index, toolName, requestParams);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { expireTimeInSeconds, useAuthenticationNIHExpiry, } from "../../../../../../../../hooks/useAuthentication/useAuthenticationNIHExpiry";
|
|
3
|
-
import {
|
|
3
|
+
import { Alert } from "../../../../../../../common/Alert/alert";
|
|
4
|
+
import { ALERT_PROPS } from "../../../../../../../common/Alert/constants";
|
|
5
|
+
import { FluidPaper } from "../../../../../../../common/Paper/paper.styles";
|
|
4
6
|
import { Link } from "../../../../../../../Links/components/Link/link";
|
|
5
7
|
export const NIHAccountExpiryWarning = () => {
|
|
6
8
|
const expiryStatus = useAuthenticationNIHExpiry();
|
|
7
9
|
const { isReady, linkExpired, linkExpireTime, linkWillExpire } = expiryStatus || {};
|
|
8
10
|
if (!isReady)
|
|
9
11
|
return null;
|
|
10
|
-
return linkWillExpire || linkExpired ? (React.createElement(
|
|
12
|
+
return linkWillExpire || linkExpired ? (React.createElement(Alert, { ...ALERT_PROPS.STANDARD_WARNING, component: FluidPaper },
|
|
13
|
+
React.createElement("span", null,
|
|
11
14
|
React.createElement("span", null, getExpiryMessage(linkExpired, linkExpireTime)),
|
|
12
15
|
" ",
|
|
13
16
|
React.createElement("span", null,
|
|
@@ -15,7 +18,7 @@ export const NIHAccountExpiryWarning = () => {
|
|
|
15
18
|
" ",
|
|
16
19
|
React.createElement(Link, { label: "renew your account", url: "https://support.terra.bio/hc/en-us/articles/360038086332-Linking-authorization-accessing-controlled-data-on-external-servers#heading-4" }),
|
|
17
20
|
" ",
|
|
18
|
-
"link."))
|
|
21
|
+
"link.")))) : null;
|
|
19
22
|
};
|
|
20
23
|
/**
|
|
21
24
|
* Calculates the remaining days until the link expires.
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { useExploreState } from "../../../../hooks/useExploreState";
|
|
2
3
|
import { useExportToTerraResponseURL } from "../../../../hooks/useExportToTerraResponseURL";
|
|
3
4
|
import { useFileManifest } from "../../../../hooks/useFileManifest/useFileManifest";
|
|
4
5
|
import { useRequestFileManifest } from "../../../../hooks/useFileManifest/useRequestFileManifest";
|
|
6
|
+
import { exportToTerraTracking } from "../../common/tracking";
|
|
5
7
|
import { ExportToTerraNotStarted } from "./components/ExportToTerraNotStarted/exportToTerraNotStarted";
|
|
6
8
|
import { ExportToTerraReady } from "./components/ExportToTerraReady/exportToTerraReady";
|
|
7
9
|
export const ExportToTerra = ({ ExportForm, ExportToTerraStart, ExportToTerraSuccess, fileManifestState, fileSummaryFacetName, filters, formFacet, manifestDownloadFormat, manifestDownloadFormats, }) => {
|
|
10
|
+
const { exploreState: { tabValue: entityList }, } = useExploreState();
|
|
8
11
|
useRequestFileManifest(manifestDownloadFormat, filters, fileSummaryFacetName);
|
|
9
12
|
const { requestParams } = fileManifestState;
|
|
10
13
|
const { data, isLoading, run } = useFileManifest();
|
|
11
14
|
const exportURL = useExportToTerraResponseURL(requestParams, data);
|
|
12
|
-
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:
|
|
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
|
+
// Execute GA tracking
|
|
17
|
+
exportToTerraTracking(entityList);
|
|
18
|
+
// Request manifest
|
|
19
|
+
run();
|
|
20
|
+
} }));
|
|
13
21
|
};
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MANIFEST_DOWNLOAD_FORMAT } from "../../../../apis/azul/common/entities";
|
|
3
|
+
import { useExploreState } from "../../../../hooks/useExploreState";
|
|
3
4
|
import { useFileManifest } from "../../../../hooks/useFileManifest/useFileManifest";
|
|
4
5
|
import { useRequestFileManifest } from "../../../../hooks/useFileManifest/useRequestFileManifest";
|
|
6
|
+
import { fileManifestTracking } from "../../common/tracking";
|
|
5
7
|
import { ManifestDownloadNotStarted } from "./components/ManifestDownloadNotStarted/manifestDownloadNotStarted";
|
|
6
8
|
import { ManifestDownloadReady } from "./components/ManifestDownloadReady/manifestDownloadReady";
|
|
7
9
|
export const ManifestDownload = ({ fileManifestState, fileSummaryFacetName, filters, formFacet, ManifestDownloadForm, ManifestDownloadStart, ManifestDownloadSuccess, }) => {
|
|
8
10
|
useRequestFileManifest(MANIFEST_DOWNLOAD_FORMAT.COMPACT, filters, fileSummaryFacetName);
|
|
11
|
+
const { exploreState: { tabValue: entityList }, } = useExploreState();
|
|
9
12
|
const { data, isLoading, run } = useFileManifest();
|
|
10
13
|
const manifestURL = getManifestDownloadURL(data);
|
|
11
|
-
return manifestURL ? (React.createElement(ManifestDownloadReady, { ManifestDownloadSuccess: ManifestDownloadSuccess, manifestURL: manifestURL })) : (React.createElement(ManifestDownloadNotStarted, { ManifestDownloadForm: ManifestDownloadForm, ManifestDownloadStart: ManifestDownloadStart, fileManifestState: fileManifestState, formFacet: formFacet, isLoading: isLoading, onRequestManifest:
|
|
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
|
+
fileManifestTracking(entityList);
|
|
16
|
+
run();
|
|
17
|
+
} }));
|
|
12
18
|
};
|
|
13
19
|
/**
|
|
14
20
|
* Returns the manifest download URL for the generated manifest.
|
package/lib/components/Layout/components/Header/components/Content/components/Logo/logo.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ImageSrc } from "../../../../../../../common/StaticImage/staticImage";
|
|
2
2
|
import { ANCHOR_TARGET } from "../../../../../../../Links/common/entities";
|
|
3
|
-
|
|
3
|
+
import { BaseComponentProps } from "../../../../../../../types";
|
|
4
|
+
export interface LogoProps extends BaseComponentProps {
|
|
4
5
|
alt: string;
|
|
5
|
-
className?: string;
|
|
6
6
|
height?: number;
|
|
7
7
|
link: string;
|
|
8
8
|
src: ImageSrc;
|
|
@@ -3,5 +3,5 @@ import { StaticImage, } from "../../../../../../../common/StaticImage/staticImag
|
|
|
3
3
|
import { ANCHOR_TARGET } from "../../../../../../../Links/common/entities";
|
|
4
4
|
import { StyledLink } from "./logo.styles";
|
|
5
5
|
export const Logo = ({ alt, className, height, link, src, target = ANCHOR_TARGET.SELF, width, }) => {
|
|
6
|
-
return (React.createElement(StyledLink, { className: className, label: React.createElement(StaticImage, { alt: alt, height: height, src: src, width: width }), target: target, url: link }));
|
|
6
|
+
return (React.createElement(StyledLink, { className: className, label: React.createElement(StaticImage, { alt: alt, height: height, src: src, width: width }), target: target, underline: "none", url: link }));
|
|
7
7
|
};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { LinkProps as MLinkProps } from "@mui/material";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
3
|
import { TypographyProps } from "../../../common/Typography/common/entities";
|
|
4
|
+
import { BaseComponentProps } from "../../../types";
|
|
4
5
|
import { ANCHOR_TARGET, Url } from "../../common/entities";
|
|
5
|
-
export interface LinkProps {
|
|
6
|
-
className?: string;
|
|
6
|
+
export interface LinkProps extends BaseComponentProps, Omit<MLinkProps, "children" | "component"> {
|
|
7
7
|
copyable?: boolean;
|
|
8
8
|
label: ReactNode;
|
|
9
|
-
noWrap?: MLinkProps["noWrap"];
|
|
10
9
|
onClick?: () => void;
|
|
11
10
|
target?: ANCHOR_TARGET;
|
|
12
11
|
TypographyProps?: TypographyProps;
|
|
@@ -15,8 +15,7 @@ export const Link = ({ className, copyable = false, label, noWrap = false, onCli
|
|
|
15
15
|
if (isClientSideNavigation(url)) {
|
|
16
16
|
/* Client-side navigation */
|
|
17
17
|
return (React.createElement(React.Fragment, null,
|
|
18
|
-
React.createElement(
|
|
19
|
-
React.createElement(MLink, { className: className, rel: REL_ATTRIBUTE.NO_OPENER, noWrap: noWrap, target: target || ANCHOR_TARGET.SELF, onClick: onClick, ...TypographyProps, ...props }, label)),
|
|
18
|
+
React.createElement(MLink, { className: className, component: NLink, href: url, noWrap: noWrap, onClick: onClick, rel: REL_ATTRIBUTE.NO_OPENER, target: target || ANCHOR_TARGET.SELF, ...TypographyProps, ...props }, label),
|
|
20
19
|
copyable && React.createElement(CopyToClipboard, { copyStr: url })));
|
|
21
20
|
}
|
|
22
21
|
if (isValidUrl(url)) {
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import { AlertProps
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
className?: string;
|
|
6
|
-
color?: MAlertProps["color"];
|
|
7
|
-
icon?: MAlertProps["icon"];
|
|
8
|
-
severity: MAlertProps["severity"];
|
|
9
|
-
title?: ReactNode;
|
|
10
|
-
variant?: MAlertProps["variant"];
|
|
11
|
-
}
|
|
12
|
-
export declare const Alert: ({ children, className, color, icon, severity, title, variant, }: AlertProps) => JSX.Element;
|
|
1
|
+
import { AlertProps } from "@mui/material";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { BaseComponentProps } from "../../types";
|
|
4
|
+
export declare const Alert: React.ForwardRefExoticComponent<Omit<AlertProps & BaseComponentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
export const Alert = ({ children, className,
|
|
4
|
-
return (React.createElement(
|
|
5
|
-
|
|
6
|
-
children));
|
|
7
|
-
};
|
|
1
|
+
import React, { forwardRef } from "react";
|
|
2
|
+
import { StyledAlert } from "./alert.styles";
|
|
3
|
+
export const Alert = forwardRef(function Alert({ children, className, ...props }, ref) {
|
|
4
|
+
return (React.createElement(StyledAlert, { className: className, ref: ref, ...props }, children));
|
|
5
|
+
});
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
* Flat alert - typically used when in full stretch or full "bleed" across a container.
|
|
3
|
-
* e.g. the entire width of mobile viewports.
|
|
4
|
-
*/
|
|
5
|
-
export declare const FlatAlert: import("@emotion/styled").StyledComponent<import("./alert").AlertProps & {
|
|
6
|
-
theme?: import("@emotion/react").Theme;
|
|
7
|
-
}, {}, {}>;
|
|
8
|
-
/**
|
|
9
|
-
* Fluid alert - typically used to transition between flat paper (mobile) and rounded paper (tablet or desktop).
|
|
10
|
-
*/
|
|
11
|
-
export declare const FluidAlert: import("@emotion/styled").StyledComponent<import("./alert").AlertProps & {
|
|
1
|
+
export declare const StyledAlert: import("@emotion/styled").StyledComponent<import("@mui/material").AlertProps & {
|
|
12
2
|
theme?: import("@emotion/react").Theme;
|
|
13
3
|
}, {}, {}>;
|
|
@@ -1,26 +1,20 @@
|
|
|
1
|
+
import { css } from "@emotion/react";
|
|
1
2
|
import styled from "@emotion/styled";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export const FluidAlert = styled(Alert) `
|
|
20
|
-
${({ theme }) => theme.breakpoints.down(TABLET)} {
|
|
21
|
-
border-left: none;
|
|
22
|
-
border-radius: 0;
|
|
23
|
-
border-right: none;
|
|
24
|
-
box-shadow: none;
|
|
25
|
-
}
|
|
3
|
+
import { Alert } from "@mui/material";
|
|
4
|
+
import { SIZE } from "../../../styles/common/constants/size";
|
|
5
|
+
import { textBody4002Lines, textBodyLarge500, } from "../../../styles/common/mixins/fonts";
|
|
6
|
+
export const StyledAlert = styled(Alert) `
|
|
7
|
+
${(props) => props.size === SIZE.LARGE &&
|
|
8
|
+
css `
|
|
9
|
+
padding: 20px;
|
|
10
|
+
.MuiAlert-icon {
|
|
11
|
+
padding: 2px 0;
|
|
12
|
+
}
|
|
13
|
+
.MuiAlert-message {
|
|
14
|
+
${textBody4002Lines(props)};
|
|
15
|
+
.MuiAlertTitle-root {
|
|
16
|
+
${textBodyLarge500(props)};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
`}
|
|
26
20
|
`;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { COLOR, SEVERITY, VARIANT } from "../../../styles/common/mui/alert";
|
|
2
|
+
export const ALERT_PROPS = {
|
|
3
|
+
FILLED_INK: {
|
|
4
|
+
color: COLOR.INK,
|
|
5
|
+
variant: VARIANT.FILLED,
|
|
6
|
+
},
|
|
7
|
+
FILLED_PRIMARY: {
|
|
8
|
+
color: COLOR.PRIMARY,
|
|
9
|
+
variant: VARIANT.FILLED,
|
|
10
|
+
},
|
|
11
|
+
FILLED_SMOKE: {
|
|
12
|
+
color: COLOR.SMOKE,
|
|
13
|
+
variant: VARIANT.FILLED,
|
|
14
|
+
},
|
|
15
|
+
STANDARD_ERROR: {
|
|
16
|
+
severity: SEVERITY.ERROR,
|
|
17
|
+
},
|
|
18
|
+
STANDARD_INFO: {
|
|
19
|
+
severity: SEVERITY.INFO,
|
|
20
|
+
},
|
|
21
|
+
STANDARD_SUCCESS: {
|
|
22
|
+
severity: SEVERITY.SUCCESS,
|
|
23
|
+
},
|
|
24
|
+
STANDARD_WARNING: {
|
|
25
|
+
severity: SEVERITY.WARNING,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UseTransition } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Hook to manage transition state for alert component wrapped in a transition component.
|
|
4
|
+
* @param initialState - Initial state of the transition.
|
|
5
|
+
* @returns transition state and handlers.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useTransition: (initialState?: boolean) => UseTransition;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useCallback, useState } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Hook to manage transition state for alert component wrapped in a transition component.
|
|
4
|
+
* @param initialState - Initial state of the transition.
|
|
5
|
+
* @returns transition state and handlers.
|
|
6
|
+
*/
|
|
7
|
+
export const useTransition = (initialState) => {
|
|
8
|
+
const [isIn, setIsIn] = useState(initialState || false);
|
|
9
|
+
const onEnter = useCallback(() => {
|
|
10
|
+
setIsIn(true);
|
|
11
|
+
}, []);
|
|
12
|
+
const onExit = useCallback(() => {
|
|
13
|
+
setIsIn(false);
|
|
14
|
+
}, []);
|
|
15
|
+
return {
|
|
16
|
+
isIn,
|
|
17
|
+
onEnter,
|
|
18
|
+
onExit,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import { AlertProps
|
|
2
|
-
import React
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare const Banner: React.ForwardRefExoticComponent<Omit<BannerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
1
|
+
import { AlertProps } from "@mui/material";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { BaseComponentProps } from "../../types";
|
|
4
|
+
export declare const Banner: React.ForwardRefExoticComponent<Omit<AlertProps & BaseComponentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Alert as MAlert } from "@mui/material";
|
|
2
1
|
import React, { forwardRef } from "react";
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { StyledAlert } from "./banner.styles";
|
|
3
|
+
import { ALERT_PROPS } from "./constants";
|
|
4
|
+
export const Banner = forwardRef(function Alert({ ...props }, ref) {
|
|
5
|
+
return React.createElement(StyledAlert, { ...ALERT_PROPS, ref: ref, ...props });
|
|
5
6
|
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { Alert } from "@mui/material";
|
|
3
|
+
import { mediaDesktopUp } from "../../../styles/common/mixins/breakpoints";
|
|
4
|
+
import { textBodySmall400 } from "../../../styles/common/mixins/fonts";
|
|
5
|
+
export const StyledAlert = styled(Alert) `
|
|
6
|
+
justify-content: center;
|
|
7
|
+
padding: 8px 12px;
|
|
8
|
+
text-align: center;
|
|
9
|
+
|
|
10
|
+
.MuiAlert-message {
|
|
11
|
+
${textBodySmall400};
|
|
12
|
+
align-self: center;
|
|
13
|
+
flex: 1;
|
|
14
|
+
|
|
15
|
+
.MuiLink-root {
|
|
16
|
+
color: inherit;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.MuiAlert-action {
|
|
21
|
+
margin: -8px;
|
|
22
|
+
padding: 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
${mediaDesktopUp} {
|
|
26
|
+
padding: 8px 16px;
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AlertProps
|
|
1
|
+
import { AlertProps } from "@mui/material";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { BaseComponentProps } from "../../../../types";
|
|
4
|
+
export interface CookieBannerProps extends Omit<AlertProps, "children">, BaseComponentProps {
|
|
5
5
|
localStorageKey: string;
|
|
6
6
|
message?: ReactNode;
|
|
7
7
|
secondaryAction?: ReactNode;
|