@databiosphere/findable-ui 12.0.0 → 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/.github/workflows/release-please.yml +48 -0
- package/.github/workflows/run-checks.yml +41 -15
- package/.prettierignore +1 -0
- package/CHANGELOG.md +49 -0
- package/jest.config.js +1 -1
- package/lib/common/analytics/entities.d.ts +10 -9
- package/lib/common/analytics/entities.js +2 -4
- package/lib/components/Export/common/tracking.d.ts +12 -3
- package/lib/components/Export/common/tracking.js +23 -13
- 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/ExportMethod/exportMethod.d.ts +2 -1
- package/lib/components/Export/components/ExportMethod/exportMethod.js +2 -3
- 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/Index/components/Hero/components/ExportButton/exportButton.js +1 -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/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.js +1 -3
- package/lib/components/TempError/tempError.d.ts +2 -2
- package/lib/components/TempError/tempError.js +4 -4
- 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/config/entities.d.ts +0 -1
- package/lib/entity/api/service.js +16 -18
- package/lib/entity/common/client.d.ts +6 -10
- package/lib/entity/common/client.js +21 -31
- package/lib/entity/common/service.js +6 -8
- package/lib/entity/common/utils.d.ts +4 -4
- package/lib/entity/common/utils.js +3 -3
- package/lib/hooks/useLocalStorage/useLocalStorage.d.ts +1 -1
- package/lib/hooks/useLocalStorage/useLocalStorage.js +1 -1
- package/lib/shared/utils.d.ts +0 -5
- package/lib/shared/utils.js +0 -8
- 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 +7 -6
- package/src/common/analytics/entities.ts +9 -8
- package/src/common/analytics/readme-analytics.md +19 -7
- package/src/components/Export/common/tracking.ts +26 -16
- package/src/components/Export/components/DownloadCurlCommand/downloadCurlCommand.tsx +2 -30
- package/src/components/Export/components/ExportMethod/exportMethod.tsx +14 -4
- 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/Index/components/Hero/components/ExportButton/exportButton.tsx +5 -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/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.tsx +1 -2
- package/src/components/TempError/tempError.tsx +10 -9
- 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/config/entities.ts +0 -1
- package/src/entity/api/service.ts +24 -27
- package/src/entity/common/client.ts +22 -40
- package/src/entity/common/service.ts +8 -10
- package/src/entity/common/utils.ts +4 -6
- package/src/hooks/useLocalStorage/useLocalStorage.ts +2 -2
- package/src/shared/utils.ts +0 -9
- 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/tests/authentication.test.ts +7 -1
- package/tests/azulFileDownload.test.tsx +9 -3
- package/tests/fetchApi.test.ts +93 -0
- package/tests/tsconfig.json +1 -0
- package/tests/useFileLocation.test.ts +6 -2
- package/types/data-explorer-ui.d.ts +6 -5
- package/lib/components/Detail/components/Table/components/TableHead/tableHead.d.ts +0 -8
- package/lib/components/Detail/components/Table/components/TableHead/tableHead.js +0 -36
- 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/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.d.ts +0 -6
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.js +0 -13
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.d.ts +0 -36
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.js +0 -9
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.d.ts +0 -5
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.js +0 -10
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.d.ts +0 -36
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.js +0 -9
- package/lib/components/Table/components/EntityViewToggle/entityViewToggle.d.ts +0 -2
- package/lib/components/Table/components/EntityViewToggle/entityViewToggle.js +0 -37
- 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/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.d.ts +0 -5
- package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.js +0 -10
- package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.d.ts +0 -3
- package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.js +0 -9
- package/lib/hooks/useCategoryConfigs.d.ts +0 -6
- package/lib/hooks/useCategoryConfigs.js +0 -17
- package/lib/hooks/useEntityListRelatedView.d.ts +0 -15
- package/lib/hooks/useEntityListRelatedView.js +0 -62
- package/lib/hooks/useMenu.d.ts +0 -10
- package/lib/hooks/useMenu.js +0 -17
- package/lib/hooks/useMenuWithPosition.d.ts +0 -14
- package/lib/hooks/useMenuWithPosition.js +0 -33
- 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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jest } from "@jest/globals";
|
|
1
2
|
import { LOGIN_STATUS_NOT_STARTED } from "../src/hooks/useAuthentication/common/constants";
|
|
2
3
|
import {
|
|
3
4
|
LoginStatus,
|
|
@@ -6,7 +7,12 @@ import {
|
|
|
6
7
|
import { GoogleResponse } from "../src/hooks/useAuthentication/useFetchGoogleProfile";
|
|
7
8
|
import { TerraResponse } from "../src/hooks/useAuthentication/useFetchTerraProfile";
|
|
8
9
|
import { TerraTermsOfServiceResponse } from "../src/hooks/useAuthentication/useFetchTerraTermsOfService";
|
|
9
|
-
|
|
10
|
+
|
|
11
|
+
jest.unstable_mockModule("react-idle-timer", () => ({
|
|
12
|
+
useIdleTimer: jest.fn(),
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
const { shouldReleaseToken } = await import("../src/providers/authentication");
|
|
10
16
|
|
|
11
17
|
describe("authentication", () => {
|
|
12
18
|
// Boolean constants.
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
+
import { jest } from "@jest/globals";
|
|
1
2
|
import { fireEvent, render, screen, waitFor } from "@testing-library/react";
|
|
2
3
|
import React from "react";
|
|
3
|
-
import { AzulFileDownload } from "../src/components/Index/components/AzulFileDownload/azulFileDownload";
|
|
4
4
|
import {
|
|
5
5
|
AZUL_FILE_DOWNLOAD_TEST_ID,
|
|
6
6
|
AZUL_FILE_REQUEST_DOWNLOAD_PENDING_TEST_ID,
|
|
7
7
|
AZUL_FILE_REQUEST_DOWNLOAD_TEST_ID,
|
|
8
8
|
} from "../src/components/Index/components/AzulFileDownload/common/constants";
|
|
9
|
-
import { useFileLocation } from "../src/hooks/useFileLocation";
|
|
10
9
|
import { getAnchorEl, getButtonById } from "../src/utils/tests";
|
|
11
10
|
|
|
12
|
-
jest.
|
|
11
|
+
jest.unstable_mockModule("../src/hooks/useFileLocation", () => ({
|
|
12
|
+
useFileLocation: jest.fn(),
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
const { AzulFileDownload } = await import(
|
|
16
|
+
"../src/components/Index/components/AzulFileDownload/azulFileDownload"
|
|
17
|
+
);
|
|
18
|
+
const { useFileLocation } = await import("../src/hooks/useFileLocation");
|
|
13
19
|
|
|
14
20
|
describe("AzulFileDownload", () => {
|
|
15
21
|
const FILE_URL = "https://example.com/storage/file";
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jest } from "@jest/globals";
|
|
2
|
+
import fetchMock from "jest-fetch-mock";
|
|
3
|
+
|
|
4
|
+
jest.unstable_mockModule("../src/shared/utils", () => ({
|
|
5
|
+
getURL: (): string => "http://example.com",
|
|
6
|
+
}));
|
|
7
|
+
|
|
8
|
+
const { fetchApi } = await import("../src/entity/common/client");
|
|
9
|
+
|
|
10
|
+
const actualSetTimeout = setTimeout;
|
|
11
|
+
|
|
12
|
+
const mockSetTimeout = jest
|
|
13
|
+
.spyOn(globalThis, "setTimeout")
|
|
14
|
+
.mockImplementation(((callback: () => void, timeout: number) => {
|
|
15
|
+
if (timeout === 20000) actualSetTimeout(callback, timeout);
|
|
16
|
+
else callback();
|
|
17
|
+
}) as typeof setTimeout);
|
|
18
|
+
|
|
19
|
+
beforeAll(async () => {
|
|
20
|
+
fetchMock.doMock();
|
|
21
|
+
globalThis.fetch = ((...args) => {
|
|
22
|
+
return fetchMock(...(args as Parameters<typeof fetchMock>));
|
|
23
|
+
}) as typeof fetch;
|
|
24
|
+
AbortSignal.prototype.throwIfAborted = function (): void {
|
|
25
|
+
if (this.aborted) throw this.reason;
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
describe("api", () => {
|
|
30
|
+
it("returns immediately-successful response", async () => {
|
|
31
|
+
fetchMock.mockResponseOnce("immediately-successful");
|
|
32
|
+
const res = await fetchApi("");
|
|
33
|
+
expect(res.status).toBe(200);
|
|
34
|
+
expect(await res.text()).toBe("immediately-successful");
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it("returns response after backing off from three 503 responses", async () => {
|
|
38
|
+
mockSetTimeout.mockClear();
|
|
39
|
+
|
|
40
|
+
fetchMock.mockResponseOnce("", { status: 503 });
|
|
41
|
+
fetchMock.mockResponseOnce("", { status: 503 });
|
|
42
|
+
fetchMock.mockResponseOnce("", { status: 503 });
|
|
43
|
+
fetchMock.mockResponseOnce("after-three-503");
|
|
44
|
+
const res = await fetchApi("");
|
|
45
|
+
expect(res.status).toBe(200);
|
|
46
|
+
expect(await res.text()).toBe("after-three-503");
|
|
47
|
+
|
|
48
|
+
expect(mockSetTimeout).toBeCalledTimes(7);
|
|
49
|
+
expect(mockSetTimeout.mock.calls[1][1]).toBe(1000);
|
|
50
|
+
expect(mockSetTimeout.mock.calls[3][1]).toBe(3000);
|
|
51
|
+
expect(mockSetTimeout.mock.calls[5][1]).toBe(9000);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("throws error after four 503 responses", async () => {
|
|
55
|
+
mockSetTimeout.mockClear();
|
|
56
|
+
|
|
57
|
+
fetchMock.mockResponseOnce("", { status: 503 });
|
|
58
|
+
fetchMock.mockResponseOnce("", { status: 503 });
|
|
59
|
+
fetchMock.mockResponseOnce("", { status: 503 });
|
|
60
|
+
fetchMock.mockResponseOnce("", { status: 503 });
|
|
61
|
+
const error = await fetchApi("").catch((e) => e);
|
|
62
|
+
expect(error).toMatchObject({ response: { status: 503 } });
|
|
63
|
+
|
|
64
|
+
expect(mockSetTimeout).toBeCalledTimes(7);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it("throws error after one 503 response and one 400 response", async () => {
|
|
68
|
+
mockSetTimeout.mockClear();
|
|
69
|
+
|
|
70
|
+
fetchMock.mockResponseOnce("", { status: 503 });
|
|
71
|
+
fetchMock.mockResponseOnce("", { status: 400 });
|
|
72
|
+
const error = await fetchApi("").catch((e) => e);
|
|
73
|
+
expect(error).toMatchObject({ response: { status: 400 } });
|
|
74
|
+
|
|
75
|
+
expect(mockSetTimeout).toBeCalledTimes(3);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("returns response after delaying based on Retry-After", async () => {
|
|
79
|
+
mockSetTimeout.mockClear();
|
|
80
|
+
|
|
81
|
+
fetchMock.mockResponseOnce("", {
|
|
82
|
+
headers: { "Retry-After": "7" },
|
|
83
|
+
status: 503,
|
|
84
|
+
});
|
|
85
|
+
fetchMock.mockResponseOnce("after-retry-after");
|
|
86
|
+
const res = await fetchApi("");
|
|
87
|
+
expect(res.status).toBe(200);
|
|
88
|
+
expect(await res.text()).toBe("after-retry-after");
|
|
89
|
+
|
|
90
|
+
expect(mockSetTimeout).toBeCalledTimes(3);
|
|
91
|
+
expect(mockSetTimeout.mock.calls[1][1]).toBe(7000);
|
|
92
|
+
});
|
|
93
|
+
});
|
package/tests/tsconfig.json
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jest } from "@jest/globals";
|
|
2
2
|
|
|
3
3
|
const URL_INVALID = "invalidUrl";
|
|
4
4
|
const URL_WITH_FETCH_PREPEND = "https://example.com/fetch/repository/file";
|
|
5
5
|
const URL_WITHOUT_FETCH_PREPEND = "https://example.com/repository/file";
|
|
6
6
|
|
|
7
|
-
jest.
|
|
7
|
+
jest.unstable_mockModule("../src/hooks/useRequestFileLocation", () => ({
|
|
8
|
+
useRequestFileLocation: jest.fn(),
|
|
9
|
+
}));
|
|
10
|
+
|
|
11
|
+
const { buildFetchFileUrl } = await import("../src/hooks/useFileLocation");
|
|
8
12
|
|
|
9
13
|
describe("useFileLocation", () => {
|
|
10
14
|
describe("build file URL", () => {
|
|
@@ -25,19 +25,20 @@ import {
|
|
|
25
25
|
CustomFeatureTableState,
|
|
26
26
|
} from "../src/components/Table/features/entities";
|
|
27
27
|
import { GridTrackSize } from "../src/config/entities";
|
|
28
|
+
import { SIZE } from "../src/styles/common/constants/size";
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* Alert prop options.
|
|
31
32
|
*/
|
|
32
33
|
declare module "@mui/material/Alert" {
|
|
34
|
+
interface AlertProps {
|
|
35
|
+
size?: SIZE.MEDIUM | SIZE.LARGE;
|
|
36
|
+
}
|
|
37
|
+
|
|
33
38
|
interface AlertPropsColorOverrides {
|
|
34
39
|
ink: true;
|
|
35
40
|
primary: true;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
interface AlertPropsVariantOverrides {
|
|
39
|
-
banner: true; // Single line alert.
|
|
40
|
-
neutral: true;
|
|
41
|
+
smoke: true;
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { Table } from "@tanstack/react-table";
|
|
3
|
-
import { ROW_DIRECTION } from "../../../../../Table/common/entities";
|
|
4
|
-
export interface TableBodyProps<T> {
|
|
5
|
-
rowDirection: ROW_DIRECTION;
|
|
6
|
-
tableInstance: Table<T>;
|
|
7
|
-
}
|
|
8
|
-
export declare const TableHead: <T extends object>({ rowDirection, tableInstance, }: TableBodyProps<T>) => JSX.Element;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.TableHead = void 0;
|
|
27
|
-
const material_1 = require("@mui/material");
|
|
28
|
-
const react_table_1 = require("@tanstack/react-table");
|
|
29
|
-
const react_1 = __importStar(require("react"));
|
|
30
|
-
const entities_1 = require("../../../../../Table/common/entities");
|
|
31
|
-
const TableHead = ({ rowDirection, tableInstance, }) => {
|
|
32
|
-
return (react_1.default.createElement(react_1.Fragment, null, rowDirection === entities_1.ROW_DIRECTION.DEFAULT &&
|
|
33
|
-
tableInstance.getHeaderGroups().map((headerGroup) => (react_1.default.createElement(material_1.TableHead, { key: headerGroup.id },
|
|
34
|
-
react_1.default.createElement(material_1.TableRow, null, headerGroup.headers.map((header) => (react_1.default.createElement(material_1.TableCell, { key: header.id }, (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()))))))))));
|
|
35
|
-
};
|
|
36
|
-
exports.TableHead = TableHead;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Typography } from "@mui/material";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { TEXT_BODY_400 } from "../../../../theme/common/typography";
|
|
4
|
-
import { Link } from "../../../Links/components/Link/link";
|
|
5
|
-
import { TitleCell as Cell } from "./titleCell.styles";
|
|
6
|
-
export const TitleCell = ({ title, ...props }) => {
|
|
7
|
-
return (React.createElement(Cell, { gridSx: { gap: 1 } },
|
|
8
|
-
typeof title === "string" ? (React.createElement(Typography, { variant: TEXT_BODY_400 }, title)) : (title),
|
|
9
|
-
React.createElement(Link, { ...props })));
|
|
10
|
-
};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export interface RequestAuthenticationProps {
|
|
3
|
-
closeMenu: () => void;
|
|
4
|
-
requestAuthorization: () => void;
|
|
5
|
-
}
|
|
6
|
-
export declare const RequestAuthentication: ({ closeMenu, requestAuthorization, }: RequestAuthenticationProps) => JSX.Element;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import LoginRoundedIcon from "@mui/icons-material/LoginRounded";
|
|
2
|
-
import { IconButton as MIconButton } from "@mui/material";
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { useBreakpoint } from "../../../../../../../../../../../../hooks/useBreakpoint";
|
|
5
|
-
import { Button } from "./requestAuthentication.styles";
|
|
6
|
-
export const RequestAuthentication = ({ closeMenu, requestAuthorization, }) => {
|
|
7
|
-
const { mdUp } = useBreakpoint();
|
|
8
|
-
return mdUp ? (React.createElement(Button, { onClick: requestAuthorization, startIcon: React.createElement(LoginRoundedIcon, null), variant: "nav" }, "Sign in")) : (React.createElement(MIconButton, { color: "ink", onClick: () => {
|
|
9
|
-
closeMenu();
|
|
10
|
-
requestAuthorization();
|
|
11
|
-
} },
|
|
12
|
-
React.createElement(LoginRoundedIcon, null)));
|
|
13
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export declare const Button: import("@emotion/styled").StyledComponent<{
|
|
3
|
-
children?: import("react").ReactNode;
|
|
4
|
-
classes?: Partial<import("@mui/material").ButtonClasses> | undefined;
|
|
5
|
-
color?: "inherit" | "primary" | "secondary" | "error" | "info" | "success" | "warning" | undefined;
|
|
6
|
-
disabled?: boolean | undefined;
|
|
7
|
-
disableElevation?: boolean | undefined;
|
|
8
|
-
disableFocusRipple?: boolean | undefined;
|
|
9
|
-
endIcon?: import("react").ReactNode;
|
|
10
|
-
fullWidth?: boolean | undefined;
|
|
11
|
-
href?: string | undefined;
|
|
12
|
-
size?: "large" | "medium" | "small" | undefined;
|
|
13
|
-
startIcon?: import("react").ReactNode;
|
|
14
|
-
sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
|
|
15
|
-
variant?: "nav" | "text" | "outlined" | "contained" | "activeNav" | "backNav" | undefined;
|
|
16
|
-
} & Omit<{
|
|
17
|
-
action?: import("react").Ref<import("@mui/material").ButtonBaseActions> | undefined;
|
|
18
|
-
centerRipple?: boolean | undefined;
|
|
19
|
-
children?: import("react").ReactNode;
|
|
20
|
-
classes?: Partial<import("@mui/material").ButtonBaseClasses> | undefined;
|
|
21
|
-
disabled?: boolean | undefined;
|
|
22
|
-
disableRipple?: boolean | undefined;
|
|
23
|
-
disableTouchRipple?: boolean | undefined;
|
|
24
|
-
focusRipple?: boolean | undefined;
|
|
25
|
-
focusVisibleClassName?: string | undefined;
|
|
26
|
-
LinkComponent?: import("react").ElementType<any> | undefined;
|
|
27
|
-
onFocusVisible?: import("react").FocusEventHandler<any> | undefined;
|
|
28
|
-
sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
|
|
29
|
-
tabIndex?: number | undefined;
|
|
30
|
-
TouchRippleProps?: Partial<import("@mui/material/ButtonBase/TouchRipple").TouchRippleProps> | undefined;
|
|
31
|
-
touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions> | undefined;
|
|
32
|
-
}, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
|
33
|
-
ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
|
|
34
|
-
}, keyof import("@mui/material/OverridableComponent").CommonProps | "tabIndex" | "color" | "children" | "sx" | "variant" | "href" | "disabled" | "action" | "size" | "fullWidth" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableElevation" | "disableFocusRipple" | "endIcon" | "startIcon"> & {
|
|
35
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
36
|
-
}, {}, {}>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import styled from "@emotion/styled";
|
|
2
|
-
import { Button as MButton } from "@mui/material";
|
|
3
|
-
import { textBody500 } from "../../../../../../../../../../../../styles/common/mixins/fonts";
|
|
4
|
-
export const Button = styled(MButton) `
|
|
5
|
-
& {
|
|
6
|
-
${textBody500};
|
|
7
|
-
padding: 6px 12px;
|
|
8
|
-
}
|
|
9
|
-
`;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IconButton } from "@mui/material";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { useBreakpoint } from "../../../../../../../../../../../../hooks/useBreakpoint";
|
|
4
|
-
import { SearchIcon } from "../../../../../../../../../../../common/CustomIcon/components/SearchIcon/searchIcon";
|
|
5
|
-
import { Button } from "./searchButton.styles";
|
|
6
|
-
export const SearchButton = ({ openSearch }) => {
|
|
7
|
-
const { mdUp } = useBreakpoint();
|
|
8
|
-
return mdUp ? (React.createElement(Button, { onClick: openSearch, startIcon: React.createElement(SearchIcon, null), variant: "nav" }, "Search")) : (React.createElement(IconButton, { color: "ink", onClick: openSearch },
|
|
9
|
-
React.createElement(SearchIcon, { fontSize: "medium" })));
|
|
10
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export declare const Button: import("@emotion/styled").StyledComponent<{
|
|
3
|
-
children?: import("react").ReactNode;
|
|
4
|
-
classes?: Partial<import("@mui/material").ButtonClasses> | undefined;
|
|
5
|
-
color?: "inherit" | "primary" | "secondary" | "error" | "info" | "success" | "warning" | undefined;
|
|
6
|
-
disabled?: boolean | undefined;
|
|
7
|
-
disableElevation?: boolean | undefined;
|
|
8
|
-
disableFocusRipple?: boolean | undefined;
|
|
9
|
-
endIcon?: import("react").ReactNode;
|
|
10
|
-
fullWidth?: boolean | undefined;
|
|
11
|
-
href?: string | undefined;
|
|
12
|
-
size?: "large" | "medium" | "small" | undefined;
|
|
13
|
-
startIcon?: import("react").ReactNode;
|
|
14
|
-
sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
|
|
15
|
-
variant?: "nav" | "text" | "outlined" | "contained" | "activeNav" | "backNav" | undefined;
|
|
16
|
-
} & Omit<{
|
|
17
|
-
action?: import("react").Ref<import("@mui/material").ButtonBaseActions> | undefined;
|
|
18
|
-
centerRipple?: boolean | undefined;
|
|
19
|
-
children?: import("react").ReactNode;
|
|
20
|
-
classes?: Partial<import("@mui/material").ButtonBaseClasses> | undefined;
|
|
21
|
-
disabled?: boolean | undefined;
|
|
22
|
-
disableRipple?: boolean | undefined;
|
|
23
|
-
disableTouchRipple?: boolean | undefined;
|
|
24
|
-
focusRipple?: boolean | undefined;
|
|
25
|
-
focusVisibleClassName?: string | undefined;
|
|
26
|
-
LinkComponent?: import("react").ElementType<any> | undefined;
|
|
27
|
-
onFocusVisible?: import("react").FocusEventHandler<any> | undefined;
|
|
28
|
-
sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
|
|
29
|
-
tabIndex?: number | undefined;
|
|
30
|
-
TouchRippleProps?: Partial<import("@mui/material/ButtonBase/TouchRipple").TouchRippleProps> | undefined;
|
|
31
|
-
touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions> | undefined;
|
|
32
|
-
}, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
|
33
|
-
ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
|
|
34
|
-
}, keyof import("@mui/material/OverridableComponent").CommonProps | "tabIndex" | "color" | "children" | "sx" | "variant" | "href" | "disabled" | "action" | "size" | "fullWidth" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableElevation" | "disableFocusRipple" | "endIcon" | "startIcon"> & {
|
|
35
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
36
|
-
}, {}, {}>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import styled from "@emotion/styled";
|
|
2
|
-
import { Button as MButton } from "@mui/material";
|
|
3
|
-
import { textBody500 } from "../../../../../../../../../../../../styles/common/mixins/fonts";
|
|
4
|
-
export const Button = styled(MButton) `
|
|
5
|
-
& {
|
|
6
|
-
${textBody500};
|
|
7
|
-
padding: 6px 12px;
|
|
8
|
-
}
|
|
9
|
-
`;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EntityViewToggle = void 0;
|
|
7
|
-
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const useExploreState_1 = require("../../../../hooks/useExploreState");
|
|
9
|
-
const exploreState_1 = require("../../../../providers/exploreState");
|
|
10
|
-
const toggleButtonGroup_1 = require("../../../common/ToggleButtonGroup/toggleButtonGroup");
|
|
11
|
-
const EntityViewToggle = () => {
|
|
12
|
-
const { exploreDispatch } = (0, useExploreState_1.useExploreState)();
|
|
13
|
-
const toggleButtons = [
|
|
14
|
-
{
|
|
15
|
-
label: "Exact Match",
|
|
16
|
-
onToggle: () => onChange(exploreState_1.ENTITY_VIEW.EXACT),
|
|
17
|
-
value: exploreState_1.ENTITY_VIEW.EXACT,
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
label: "Related Match",
|
|
21
|
-
onToggle: () => onChange(exploreState_1.ENTITY_VIEW.RELATED),
|
|
22
|
-
value: exploreState_1.ENTITY_VIEW.RELATED,
|
|
23
|
-
},
|
|
24
|
-
];
|
|
25
|
-
/**
|
|
26
|
-
* Callback fired when toggle button value changes.
|
|
27
|
-
* @param entityView - Entity list view.
|
|
28
|
-
*/
|
|
29
|
-
const onChange = (entityView) => {
|
|
30
|
-
exploreDispatch({
|
|
31
|
-
payload: entityView,
|
|
32
|
-
type: exploreState_1.ExploreActionKind.ToggleEntityView,
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
return react_1.default.createElement(toggleButtonGroup_1.ToggleButtonGroup, { toggleButtons: toggleButtons });
|
|
36
|
-
};
|
|
37
|
-
exports.EntityViewToggle = EntityViewToggle;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Alert } from "./alert";
|
|
2
|
-
export default {
|
|
3
|
-
argTypes: {
|
|
4
|
-
children: {
|
|
5
|
-
control: "text",
|
|
6
|
-
description: "Inner text",
|
|
7
|
-
},
|
|
8
|
-
color: {
|
|
9
|
-
description: "Color of alert",
|
|
10
|
-
},
|
|
11
|
-
icon: {
|
|
12
|
-
control: "text",
|
|
13
|
-
description: "Top left icon. If provided will replace severity.",
|
|
14
|
-
},
|
|
15
|
-
severity: {
|
|
16
|
-
description: "Top left predefined icon. Combine with color.",
|
|
17
|
-
},
|
|
18
|
-
title: {
|
|
19
|
-
control: "text",
|
|
20
|
-
description: "Highlighted text",
|
|
21
|
-
},
|
|
22
|
-
variant: {
|
|
23
|
-
description: "Type of the alert",
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
component: Alert,
|
|
27
|
-
title: "Components/Common/Alert",
|
|
28
|
-
};
|
|
29
|
-
export const AlertStory = {
|
|
30
|
-
args: {
|
|
31
|
-
children: "Something certainly happened",
|
|
32
|
-
color: "warning",
|
|
33
|
-
severity: "warning",
|
|
34
|
-
title: "Ouch!",
|
|
35
|
-
},
|
|
36
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import styled from "@emotion/styled";
|
|
2
|
-
export const AlertText = styled.div `
|
|
3
|
-
ul {
|
|
4
|
-
padding-left: 24px;
|
|
5
|
-
margin: 8px 0;
|
|
6
|
-
|
|
7
|
-
li {
|
|
8
|
-
margin: 4px 0;
|
|
9
|
-
|
|
10
|
-
&:last-child {
|
|
11
|
-
margin-bottom: 0;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
*:last-child {
|
|
17
|
-
margin-bottom: 0;
|
|
18
|
-
}
|
|
19
|
-
`;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { AlertProps as MAlertProps } from "@mui/material";
|
|
2
|
-
import { ReactNode } from "react";
|
|
3
|
-
export interface BannerPrimaryProps extends MAlertProps {
|
|
4
|
-
children: ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare const BannerPrimary: ({ children, className, ...props }: BannerPrimaryProps) => JSX.Element;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Alert } from "./bannerPrimary.styles";
|
|
3
|
-
export const BannerPrimary = ({ children, className, ...props /* Spread props to allow for Mui AlertProps specific prop overrides. */ }) => {
|
|
4
|
-
return (React.createElement(Alert, { className: className, color: "primary", elevation: 0, icon: false, variant: "standard", ...props }, children));
|
|
5
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import styled from "@emotion/styled";
|
|
2
|
-
import { Alert as MAlert } from "@mui/material";
|
|
3
|
-
import { primaryMain, white } from "../../../../../styles/common/mixins/colors";
|
|
4
|
-
import { textBodySmall400 } from "../../../../../styles/common/mixins/fonts";
|
|
5
|
-
export const Alert = styled(MAlert) `
|
|
6
|
-
border-radius: 0;
|
|
7
|
-
justify-content: center;
|
|
8
|
-
padding: 8px;
|
|
9
|
-
|
|
10
|
-
&.MuiAlert-standardPrimary {
|
|
11
|
-
background-color: ${primaryMain};
|
|
12
|
-
color: ${white};
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.MuiAlert-message {
|
|
16
|
-
${textBodySmall400};
|
|
17
|
-
text-align: center;
|
|
18
|
-
}
|
|
19
|
-
`;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AlertProps as MAlertProps } from "@mui/material";
|
|
2
|
-
import { ElementType, ReactNode } from "react";
|
|
3
|
-
export interface CookieBannerProps extends MAlertProps {
|
|
4
|
-
Alert?: ElementType;
|
|
5
|
-
children: ReactNode;
|
|
6
|
-
className?: string;
|
|
7
|
-
onDismiss?: () => void;
|
|
8
|
-
open: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const DismissibleBanner: ({ Alert, className, children, onDismiss, open, ...props }: CookieBannerProps) => JSX.Element;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Fade, Alert as MAlert, } from "@mui/material";
|
|
2
|
-
import React, { useEffect, useState } from "react";
|
|
3
|
-
export const DismissibleBanner = ({ Alert = MAlert /* Requires forwardRef to be used as a child of Fade. */, className, children, onDismiss, open, ...props /* Spread props to allow for Mui AlertProps specific prop overrides. */ }) => {
|
|
4
|
-
const [isIn, setIsIn] = useState(false);
|
|
5
|
-
// Callback fired when the component requests to be closed.
|
|
6
|
-
const onClose = () => {
|
|
7
|
-
onDismiss?.();
|
|
8
|
-
setIsIn(false);
|
|
9
|
-
};
|
|
10
|
-
// Sets the open state.
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
setIsIn(open);
|
|
13
|
-
}, [open]);
|
|
14
|
-
return (React.createElement(Fade, { in: isIn, unmountOnExit: true },
|
|
15
|
-
React.createElement(Alert, { className: className, onClose: onClose, ...props }, children)));
|
|
16
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import styled from "@emotion/styled";
|
|
2
|
-
import { mediaDesktopUp } from "../../../../../styles/common/mixins/breakpoints";
|
|
3
|
-
import { BannerPrimary } from "../BannerPrimary/bannerPrimary";
|
|
4
|
-
export const Banner = styled(BannerPrimary) `
|
|
5
|
-
gap: 12px;
|
|
6
|
-
padding: 8px 12px;
|
|
7
|
-
|
|
8
|
-
${mediaDesktopUp} {
|
|
9
|
-
padding: 8px 16px;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.MuiAlert-message {
|
|
13
|
-
align-self: center;
|
|
14
|
-
flex: 1;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.MuiAlert-action {
|
|
18
|
-
margin: -8px;
|
|
19
|
-
padding: 0;
|
|
20
|
-
}
|
|
21
|
-
`;
|