@databiosphere/findable-ui 35.0.3 → 35.1.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.
Files changed (159) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +7 -0
  3. package/lib/common/entities.d.ts +1 -0
  4. package/lib/components/DataDictionary/components/Table/hook.js +1 -0
  5. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +15 -2
  6. package/package.json +1 -1
  7. package/src/common/entities.ts +1 -0
  8. package/src/components/DataDictionary/components/Table/hook.ts +1 -0
  9. package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +17 -4
  10. package/lib/components/DataDictionary/components/Table/columns/columnDef.d.ts +0 -6
  11. package/lib/components/DataDictionary/components/Table/columns/columnDef.js +0 -33
  12. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.d.ts +0 -5
  13. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.js +0 -5
  14. package/lib/components/DataDictionary/components/Table/columns/types.d.ts +0 -2
  15. package/lib/components/DataDictionary/components/Table/columns/types.js +0 -1
  16. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.d.ts +0 -4
  17. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.js +0 -1
  18. package/lib/components/Detail/components/Table/components/TableHead/tableHead.d.ts +0 -8
  19. package/lib/components/Detail/components/Table/components/TableHead/tableHead.js +0 -36
  20. package/lib/components/Filter/components/Filter/filter.stories.d.ts +0 -25
  21. package/lib/components/Filter/components/Filter/filter.stories.js +0 -42
  22. package/lib/components/Filter/components/FilterTag/filterTag.stories.d.ts +0 -16
  23. package/lib/components/Filter/components/FilterTag/filterTag.stories.js +0 -17
  24. package/lib/components/Filter/components/Filters/filters.stories.d.ts +0 -6
  25. package/lib/components/Filter/components/Filters/filters.stories.js +0 -91
  26. package/lib/components/Index/components/Cell/cell.d.ts +0 -7
  27. package/lib/components/Index/components/Cell/cell.js +0 -10
  28. package/lib/components/Index/components/EntitiesView/constants.d.ts +0 -1
  29. package/lib/components/Index/components/EntitiesView/constants.js +0 -1
  30. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.d.ts +0 -13
  31. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.js +0 -18
  32. package/lib/components/Index/components/Hero/hero.stories.d.ts +0 -23
  33. package/lib/components/Index/components/Hero/hero.stories.js +0 -22
  34. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.d.ts +0 -8
  35. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.js +0 -57
  36. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.d.ts +0 -4
  37. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.js +0 -10
  38. package/lib/components/Index/components/NTag/nTag.d.ts +0 -10
  39. package/lib/components/Index/components/NTag/nTag.js +0 -8
  40. package/lib/components/Index/components/NTagCell/nTagCell.d.ts +0 -11
  41. package/lib/components/Index/components/NTagCell/nTagCell.js +0 -29
  42. package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +0 -5
  43. package/lib/components/Index/components/NTagCell/nTagCell.stories.js +0 -16
  44. package/lib/components/Index/components/TitleCell/titleCell.d.ts +0 -6
  45. package/lib/components/Index/components/TitleCell/titleCell.js +0 -10
  46. package/lib/components/Index/components/TitleCell/titleCell.styles.d.ts +0 -3
  47. package/lib/components/Index/components/TitleCell/titleCell.styles.js +0 -6
  48. package/lib/components/Index/index.stories.d.ts +0 -6
  49. package/lib/components/Index/index.stories.js +0 -26
  50. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.d.ts +0 -6
  51. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.js +0 -10
  52. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.d.ts +0 -5
  53. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.js +0 -29
  54. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.d.ts +0 -6
  55. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.js +0 -13
  56. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.d.ts +0 -36
  57. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.js +0 -9
  58. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.d.ts +0 -5
  59. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.js +0 -10
  60. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.d.ts +0 -36
  61. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.js +0 -9
  62. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.d.ts +0 -5
  63. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.js +0 -19
  64. package/lib/components/Layout/components/Outline/common/constants.d.ts +0 -2
  65. package/lib/components/Layout/components/Outline/common/constants.js +0 -1
  66. package/lib/components/Login/login.stories.d.ts +0 -6
  67. package/lib/components/Login/login.stories.js +0 -31
  68. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.d.ts +0 -16
  69. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.js +0 -28
  70. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.d.ts +0 -5
  71. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.js +0 -46
  72. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.d.ts +0 -3
  73. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.js +0 -21
  74. package/lib/components/Table/components/EntityViewToggle/entityViewToggle.d.ts +0 -2
  75. package/lib/components/Table/components/EntityViewToggle/entityViewToggle.js +0 -37
  76. package/lib/components/TableCreator/common/constants.d.ts +0 -6
  77. package/lib/components/TableCreator/common/constants.js +0 -19
  78. package/lib/components/TableCreator/common/entities.d.ts +0 -5
  79. package/lib/components/TableCreator/common/entities.js +0 -1
  80. package/lib/components/TableCreator/tableCreator.styles.d.ts +0 -4
  81. package/lib/components/TableCreator/tableCreator.styles.js +0 -4
  82. package/lib/components/common/Alert/alert.stories.d.ts +0 -6
  83. package/lib/components/common/Alert/alert.stories.js +0 -36
  84. package/lib/components/common/Alert/components/AlertText/alertText.styles.d.ts +0 -4
  85. package/lib/components/common/Alert/components/AlertText/alertText.styles.js +0 -19
  86. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.d.ts +0 -7
  87. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.js +0 -5
  88. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.d.ts +0 -3
  89. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.js +0 -19
  90. package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.d.ts +0 -10
  91. package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.js +0 -16
  92. package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.d.ts +0 -3
  93. package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.js +0 -21
  94. package/lib/components/common/Button/components/LoginButton/loginButton.d.ts +0 -3
  95. package/lib/components/common/Button/components/LoginButton/loginButton.js +0 -6
  96. package/lib/components/common/Button/components/LoginButton/loginButton.styles.d.ts +0 -7
  97. package/lib/components/common/Button/components/LoginButton/loginButton.styles.js +0 -11
  98. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.d.ts +0 -5
  99. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.js +0 -10
  100. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.d.ts +0 -3
  101. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.js +0 -9
  102. package/lib/hooks/useAuthentication/common/constants.d.ts +0 -4
  103. package/lib/hooks/useAuthentication/common/constants.js +0 -19
  104. package/lib/hooks/useAuthentication/common/entities.d.ts +0 -25
  105. package/lib/hooks/useAuthentication/common/entities.js +0 -11
  106. package/lib/hooks/useAuthentication/common/utils.d.ts +0 -15
  107. package/lib/hooks/useAuthentication/common/utils.js +0 -25
  108. package/lib/hooks/useAuthentication/useAuthentication.d.ts +0 -6
  109. package/lib/hooks/useAuthentication/useAuthentication.js +0 -9
  110. package/lib/hooks/useAuthentication/useAuthenticationComplete.d.ts +0 -6
  111. package/lib/hooks/useAuthentication/useAuthenticationComplete.js +0 -55
  112. package/lib/hooks/useAuthentication/useAuthenticationForm.d.ts +0 -20
  113. package/lib/hooks/useAuthentication/useAuthenticationForm.js +0 -88
  114. package/lib/hooks/useAuthentication/useAuthenticationNIHExpiry.d.ts +0 -18
  115. package/lib/hooks/useAuthentication/useAuthenticationNIHExpiry.js +0 -50
  116. package/lib/hooks/useAuthentication/useAuthenticationStatus.d.ts +0 -20
  117. package/lib/hooks/useAuthentication/useAuthenticationStatus.js +0 -32
  118. package/lib/hooks/useAuthentication/useFetchGoogleProfile.d.ts +0 -21
  119. package/lib/hooks/useAuthentication/useFetchGoogleProfile.js +0 -41
  120. package/lib/hooks/useAuthentication/useFetchTerraNIHProfile.d.ts +0 -18
  121. package/lib/hooks/useAuthentication/useFetchTerraNIHProfile.js +0 -62
  122. package/lib/hooks/useAuthentication/useFetchTerraProfile.d.ts +0 -24
  123. package/lib/hooks/useAuthentication/useFetchTerraProfile.js +0 -62
  124. package/lib/hooks/useAuthentication/useFetchTerraTermsOfService.d.ts +0 -15
  125. package/lib/hooks/useAuthentication/useFetchTerraTermsOfService.js +0 -62
  126. package/lib/hooks/useAuthentication/useTokenClient.d.ts +0 -11
  127. package/lib/hooks/useAuthentication/useTokenClient.js +0 -29
  128. package/lib/hooks/useAuthenticationConfig.d.ts +0 -6
  129. package/lib/hooks/useAuthenticationConfig.js +0 -14
  130. package/lib/hooks/useCategoryConfigs.d.ts +0 -6
  131. package/lib/hooks/useCategoryConfigs.js +0 -17
  132. package/lib/hooks/useEntityListRelatedView.d.ts +0 -15
  133. package/lib/hooks/useEntityListRelatedView.js +0 -62
  134. package/lib/hooks/useExploreMode.d.ts +0 -14
  135. package/lib/hooks/useExploreMode.js +0 -20
  136. package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.d.ts +0 -15
  137. package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.js +0 -27
  138. package/lib/hooks/useFileManifest/useFileManifestURL.d.ts +0 -5
  139. package/lib/hooks/useFileManifest/useFileManifestURL.js +0 -11
  140. package/lib/hooks/useFileManifest/useRequestFileManifest.d.ts +0 -9
  141. package/lib/hooks/useFileManifest/useRequestFileManifest.js +0 -37
  142. package/lib/hooks/useLayoutState.d.ts +0 -6
  143. package/lib/hooks/useLayoutState.js +0 -9
  144. package/lib/hooks/useMenu.d.ts +0 -10
  145. package/lib/hooks/useMenu.js +0 -17
  146. package/lib/hooks/useMenuWithPosition.d.ts +0 -14
  147. package/lib/hooks/useMenuWithPosition.js +0 -33
  148. package/lib/hooks/useSessionTimeout.d.ts +0 -11
  149. package/lib/hooks/useSessionTimeout.js +0 -28
  150. package/lib/providers/authentication.d.ts +0 -51
  151. package/lib/providers/authentication.js +0 -110
  152. package/lib/providers/layoutState.d.ts +0 -40
  153. package/lib/providers/layoutState.js +0 -47
  154. package/lib/styles/common/mixins/shadows.d.ts +0 -3
  155. package/lib/styles/common/mixins/shadows.js +0 -4
  156. package/lib/styles/common/mui/palette.d.ts +0 -47
  157. package/lib/styles/common/mui/palette.js +0 -47
  158. package/lib/theme/common/entities.d.ts +0 -6
  159. package/lib/theme/common/entities.js +0 -1
@@ -1,37 +0,0 @@
1
- import { useEffect, useState } from "react";
2
- import { FileManifestActionKind } from "../../providers/fileManifestState";
3
- import { useFileManifestState } from "../useFileManifestState";
4
- /**
5
- * Initializes and fetches file manifest comprising file facets and summary for the given file manifest format.
6
- * @param fileManifestFormat - File manifest format.
7
- * @param initialFilters - Filters to initialize file manifest request.
8
- * @param fileSummaryFacetName - File summary facet name.
9
- */
10
- export const useRequestFileManifest = (fileManifestFormat, initialFilters = [], fileSummaryFacetName) => {
11
- // Initial file manifest filter.
12
- const [initFilters] = useState(() => initialFilters);
13
- // File manifest state.
14
- const { fileManifestDispatch } = useFileManifestState();
15
- // Fetches file manifest with the given file manifest filters, format.
16
- useEffect(() => {
17
- fileManifestDispatch({
18
- payload: {
19
- fileManifestFormat,
20
- fileSummaryFacetName,
21
- filters: initFilters,
22
- },
23
- type: FileManifestActionKind.FetchFileManifest,
24
- });
25
- return () => {
26
- fileManifestDispatch({
27
- payload: undefined,
28
- type: FileManifestActionKind.ClearFileManifest,
29
- });
30
- };
31
- }, [
32
- fileManifestDispatch,
33
- fileManifestFormat,
34
- fileSummaryFacetName,
35
- initFilters,
36
- ]);
37
- };
@@ -1,6 +0,0 @@
1
- import { LayoutStateContextProps } from "../providers/layoutState";
2
- /**
3
- * Returns layout state context.
4
- * @returns layout state context.
5
- */
6
- export declare const useLayoutState: () => LayoutStateContextProps;
@@ -1,9 +0,0 @@
1
- import { useContext } from "react";
2
- import { LayoutStateContext, } from "../providers/layoutState";
3
- /**
4
- * Returns layout state context.
5
- * @returns layout state context.
6
- */
7
- export const useLayoutState = () => {
8
- return useContext(LayoutStateContext);
9
- };
@@ -1,10 +0,0 @@
1
- export interface UseMenu {
2
- onClose: () => void;
3
- onOpen: () => void;
4
- open: boolean;
5
- }
6
- /**
7
- * Menu functionality for menu dropdown.
8
- * @returns menu functionality.
9
- */
10
- export declare const useMenu: () => UseMenu;
@@ -1,17 +0,0 @@
1
- import { useCallback, useState } from "react";
2
- /**
3
- * Menu functionality for menu dropdown.
4
- * @returns menu functionality.
5
- */
6
- export const useMenu = () => {
7
- const [open, setOpen] = useState(false);
8
- // Closes header menu.
9
- const onClose = useCallback(() => {
10
- setOpen(false);
11
- }, []);
12
- // Opens header menu.
13
- const onOpen = useCallback(() => {
14
- setOpen(true);
15
- }, []);
16
- return { onClose, onOpen, open };
17
- };
@@ -1,14 +0,0 @@
1
- import { MenuProps as MMenuProps } from "@mui/material";
2
- import { MouseEvent } from "react";
3
- export interface UseMenuWithPosition {
4
- anchorEl: MMenuProps["anchorEl"];
5
- onClose: () => void;
6
- onOpen: (event: MouseEvent<HTMLElement>) => void;
7
- onToggleOpen: (event: MouseEvent<HTMLElement>) => void;
8
- open: boolean;
9
- }
10
- /**
11
- * Menu functionality for menu dropdown, with menu position.
12
- * @returns menu functionality.
13
- */
14
- export declare const useMenuWithPosition: () => UseMenuWithPosition;
@@ -1,33 +0,0 @@
1
- import { useCallback, useMemo, useState } from "react";
2
- /**
3
- * Menu functionality for menu dropdown, with menu position.
4
- * @returns menu functionality.
5
- */
6
- export const useMenuWithPosition = () => {
7
- const [anchorEl, setAnchorEl] = useState(null);
8
- const open = useMemo(() => Boolean(anchorEl), [anchorEl]);
9
- // Closes header menu.
10
- const onClose = useCallback(() => {
11
- setAnchorEl(null);
12
- }, []);
13
- // Opens header menu.
14
- const onOpen = useCallback((event) => {
15
- setAnchorEl(event.currentTarget);
16
- }, []);
17
- // Toggles menu open/close.
18
- const onToggleOpen = useCallback((event) => {
19
- if (open) {
20
- setAnchorEl(null);
21
- }
22
- else {
23
- setAnchorEl(event.currentTarget);
24
- }
25
- }, [open]);
26
- return {
27
- anchorEl,
28
- onClose,
29
- onOpen,
30
- onToggleOpen,
31
- open,
32
- };
33
- };
@@ -1,11 +0,0 @@
1
- export declare const INACTIVITY_PARAM = "inactivityTimeout";
2
- interface UseSessionTimeout {
3
- clearSessionTimeout: () => void;
4
- isSessionTimeout: boolean;
5
- }
6
- /**
7
- * Session timeout hook.
8
- * @returns flag indicating if the session has timed out.
9
- */
10
- export declare const useSessionTimeout: () => UseSessionTimeout;
11
- export {};
@@ -1,28 +0,0 @@
1
- import Router from "next/router";
2
- import { useCallback, useEffect, useState } from "react";
3
- import { useConfig } from "./useConfig";
4
- import { useLocation } from "./useLocation";
5
- export const INACTIVITY_PARAM = "inactivityTimeout";
6
- /**
7
- * Session timeout hook.
8
- * @returns flag indicating if the session has timed out.
9
- */
10
- export const useSessionTimeout = () => {
11
- const { config: { redirectRootToPath }, } = useConfig();
12
- const [isSessionTimeout, setIsSessionTimeout] = useState(false);
13
- // Get the session timeout from URL parameters.
14
- const { search } = useLocation() || {};
15
- const sessionTimeout = search?.get(INACTIVITY_PARAM);
16
- // Clears session timeout state.
17
- const clearSessionTimeout = useCallback(() => {
18
- setIsSessionTimeout(false);
19
- Router.replace(redirectRootToPath);
20
- }, [redirectRootToPath]);
21
- useEffect(() => {
22
- setIsSessionTimeout(sessionTimeout === "true");
23
- }, [sessionTimeout]);
24
- return {
25
- clearSessionTimeout,
26
- isSessionTimeout,
27
- };
28
- };
@@ -1,51 +0,0 @@
1
- import React, { ReactNode } from "react";
2
- import { AUTHENTICATION_STATUS, LoginStatus } from "../hooks/useAuthentication/common/entities";
3
- import { UserProfile } from "../hooks/useAuthentication/useFetchGoogleProfile";
4
- import { TerraNIHResponse } from "../hooks/useAuthentication/useFetchTerraNIHProfile";
5
- import { TerraResponse } from "../hooks/useAuthentication/useFetchTerraProfile";
6
- import { TerraTermsOfServiceResponse } from "../hooks/useAuthentication/useFetchTerraTermsOfService";
7
- export declare const ROUTE_LOGIN = "/login";
8
- type AuthenticateUserFn = () => void;
9
- type RequestAuthenticationFn = () => void;
10
- /**
11
- * Model of authentication context.
12
- */
13
- export interface AuthContextProps {
14
- authenticateUser: AuthenticateUserFn;
15
- authenticationStatus: AUTHENTICATION_STATUS;
16
- isAuthenticated: boolean;
17
- isEnabled: boolean;
18
- requestAuthentication: RequestAuthenticationFn;
19
- terraNIHProfileLoginStatus: LoginStatus<TerraNIHResponse>;
20
- terraProfileLoginStatus: LoginStatus<TerraResponse>;
21
- terraTOSLoginStatus: LoginStatus<TerraTermsOfServiceResponse>;
22
- token?: string;
23
- userProfile?: UserProfile;
24
- }
25
- /**
26
- * Auth context for storing and using auth-related state.
27
- */
28
- export declare const AuthContext: React.Context<AuthContextProps>;
29
- interface Props {
30
- children: ReactNode | ReactNode[];
31
- sessionTimeout?: number;
32
- }
33
- /**
34
- * Auth provider for consuming components to subscribe to changes in auth-related state.
35
- * @param props - Component inputs.
36
- * @param props.children - Set of children components that can possibly consume the query provider.
37
- * @param props.sessionTimeout - If provided, will set the value for a session timeout (in milliseconds).
38
- * @returns Provider element to be used by consumers to both update authentication state and subscribe to changes in authentication state.
39
- */
40
- export declare function AuthProvider({ children, sessionTimeout }: Props): JSX.Element;
41
- /**
42
- * Token is released for the following conditions:
43
- * - Terra endpoint is configured and the terms of service response is successful, or
44
- * - Terra endpoint is not configured and the user profile response is successful.
45
- * @param userProfileLoginStatus - User profile login status.
46
- * @param terraProfileLoginStatus - Terra profile login status.
47
- * @param terraTOSLoginStatus - Terra terms of service login status.
48
- * @returns true if the token should be released.
49
- */
50
- export declare function shouldReleaseToken(userProfileLoginStatus: LoginStatus<UserProfile>, terraProfileLoginStatus: LoginStatus<TerraResponse>, terraTOSLoginStatus: LoginStatus<TerraTermsOfServiceResponse>): boolean;
51
- export {};
@@ -1,110 +0,0 @@
1
- import Router, { useRouter } from "next/router";
2
- import React, { createContext, useCallback } from "react";
3
- import { useIdleTimer } from "react-idle-timer";
4
- import { LOGIN_STATUS_NOT_STARTED } from "../hooks/useAuthentication/common/constants";
5
- import { AUTHENTICATION_STATUS, } from "../hooks/useAuthentication/common/entities";
6
- import { useAuthenticationComplete } from "../hooks/useAuthentication/useAuthenticationComplete";
7
- import { useAuthenticationStatus } from "../hooks/useAuthentication/useAuthenticationStatus";
8
- import { useFetchGoogleProfile, } from "../hooks/useAuthentication/useFetchGoogleProfile";
9
- import { useFetchTerraNIHProfile, } from "../hooks/useAuthentication/useFetchTerraNIHProfile";
10
- import { useFetchTerraProfile, } from "../hooks/useAuthentication/useFetchTerraProfile";
11
- import { useFetchTerraTermsOfService, } from "../hooks/useAuthentication/useFetchTerraTermsOfService";
12
- import { useTokenClient } from "../hooks/useAuthentication/useTokenClient";
13
- import { useConfig } from "../hooks/useConfig";
14
- import { INACTIVITY_PARAM } from "../hooks/useSessionTimeout";
15
- // Template constants
16
- export const ROUTE_LOGIN = "/login";
17
- /**
18
- * Auth context for storing and using auth-related state.
19
- */
20
- export const AuthContext = createContext({
21
- // eslint-disable-next-line @typescript-eslint/no-empty-function -- allow dummy function for default state.
22
- authenticateUser: () => { },
23
- authenticationStatus: AUTHENTICATION_STATUS.INCOMPLETE,
24
- isAuthenticated: false,
25
- isEnabled: false,
26
- // eslint-disable-next-line @typescript-eslint/no-empty-function -- allow dummy function for default state.
27
- requestAuthentication: () => { },
28
- terraNIHProfileLoginStatus: LOGIN_STATUS_NOT_STARTED,
29
- terraProfileLoginStatus: LOGIN_STATUS_NOT_STARTED,
30
- terraTOSLoginStatus: LOGIN_STATUS_NOT_STARTED,
31
- token: undefined,
32
- userProfile: undefined,
33
- });
34
- /**
35
- * Auth provider for consuming components to subscribe to changes in auth-related state.
36
- * @param props - Component inputs.
37
- * @param props.children - Set of children components that can possibly consume the query provider.
38
- * @param props.sessionTimeout - If provided, will set the value for a session timeout (in milliseconds).
39
- * @returns Provider element to be used by consumers to both update authentication state and subscribe to changes in authentication state.
40
- */
41
- export function AuthProvider({ children, sessionTimeout }) {
42
- const { config } = useConfig();
43
- const { authentication, redirectRootToPath } = config;
44
- const { basePath } = useRouter();
45
- const { token, tokenClient } = useTokenClient();
46
- const terraNIHProfileLoginStatus = useFetchTerraNIHProfile(token);
47
- const terraProfileLoginStatus = useFetchTerraProfile(token);
48
- const terraTOSLoginStatus = useFetchTerraTermsOfService(token);
49
- const userProfileLoginStatus = useFetchGoogleProfile(token);
50
- const isEnabled = Boolean(authentication);
51
- const isAuthenticated = userProfileLoginStatus.isSuccess;
52
- const releaseToken = shouldReleaseToken(userProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus);
53
- const authenticationStatus = useAuthenticationStatus(userProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus, terraNIHProfileLoginStatus);
54
- // Handle completion of authentication process.
55
- useAuthenticationComplete(authenticationStatus);
56
- /**
57
- * If sessionTimeout is set and user is authenticated, the app will reload and redirect to
58
- * origin, including base path, root path, and query param.
59
- */
60
- useIdleTimer({
61
- onIdle: () => isAuthenticated &&
62
- sessionTimeout &&
63
- (window.location.href =
64
- window.location.origin +
65
- basePath +
66
- redirectRootToPath +
67
- "?" +
68
- `${INACTIVITY_PARAM}=true`),
69
- timeout: sessionTimeout,
70
- });
71
- /**
72
- * Requests access token and authenticates user.
73
- */
74
- const authenticateUser = useCallback(() => {
75
- tokenClient.requestAccessToken();
76
- }, [tokenClient]);
77
- /**
78
- * Navigates to login page.
79
- */
80
- const requestAuthentication = useCallback(() => {
81
- Router.push(ROUTE_LOGIN);
82
- }, []);
83
- return (React.createElement(AuthContext.Provider, { value: {
84
- authenticateUser,
85
- authenticationStatus,
86
- isAuthenticated,
87
- isEnabled,
88
- requestAuthentication,
89
- terraNIHProfileLoginStatus,
90
- terraProfileLoginStatus,
91
- terraTOSLoginStatus,
92
- token: releaseToken ? token : undefined,
93
- userProfile: userProfileLoginStatus.response,
94
- } }, children));
95
- }
96
- /**
97
- * Token is released for the following conditions:
98
- * - Terra endpoint is configured and the terms of service response is successful, or
99
- * - Terra endpoint is not configured and the user profile response is successful.
100
- * @param userProfileLoginStatus - User profile login status.
101
- * @param terraProfileLoginStatus - Terra profile login status.
102
- * @param terraTOSLoginStatus - Terra terms of service login status.
103
- * @returns true if the token should be released.
104
- */
105
- export function shouldReleaseToken(userProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus) {
106
- if (terraProfileLoginStatus.isSupported) {
107
- return terraTOSLoginStatus.isSuccess;
108
- }
109
- return userProfileLoginStatus.isSuccess;
110
- }
@@ -1,40 +0,0 @@
1
- import React, { Dispatch, ReactNode } from "react";
2
- export declare const DEFAULT_LAYOUT_STATE: {
3
- headerHeight: number;
4
- };
5
- /**
6
- * Layout state.
7
- */
8
- export type LayoutState = {
9
- headerHeight: number;
10
- };
11
- /**
12
- * Model of layout state context.
13
- */
14
- export type LayoutStateContextProps = {
15
- layoutDispatch: Dispatch<LayoutAction>;
16
- layoutState: LayoutState;
17
- };
18
- export declare const LayoutStateContext: React.Context<LayoutStateContextProps>;
19
- export interface LayoutStateProps {
20
- children: ReactNode | ReactNode[];
21
- }
22
- export declare function LayoutStateProvider({ children, }: LayoutStateProps): JSX.Element;
23
- /**
24
- * Layout action kind.
25
- */
26
- export declare enum LayoutActionKind {
27
- UpdateHeaderHeight = "UPDATE_HEADER_HEIGHT"
28
- }
29
- /**
30
- * Layout action.
31
- */
32
- export type LayoutAction = UpdateHeaderHeightAction;
33
- /**
34
- * Update header height action.
35
- */
36
- type UpdateHeaderHeightAction = {
37
- payload?: number;
38
- type: LayoutActionKind.UpdateHeaderHeight;
39
- };
40
- export {};
@@ -1,47 +0,0 @@
1
- import React, { createContext, useReducer } from "react";
2
- import { HEADER_HEIGHT } from "../components/Layout/components/Header/common/constants";
3
- // Default layout state.
4
- export const DEFAULT_LAYOUT_STATE = {
5
- headerHeight: HEADER_HEIGHT + 1, // 1px for bottom border.
6
- };
7
- export const LayoutStateContext = createContext({
8
- // eslint-disable-next-line @typescript-eslint/no-empty-function -- allow dummy function for default state.
9
- layoutDispatch: () => { },
10
- layoutState: DEFAULT_LAYOUT_STATE,
11
- });
12
- export function LayoutStateProvider({ children, }) {
13
- // Layout state.
14
- const [layoutState, layoutDispatch] = useReducer((s, a) => layoutReducer(s, a), DEFAULT_LAYOUT_STATE);
15
- return (React.createElement(LayoutStateContext.Provider, { value: {
16
- layoutDispatch,
17
- layoutState,
18
- } }, children));
19
- }
20
- /**
21
- * Layout action kind.
22
- */
23
- export var LayoutActionKind;
24
- (function (LayoutActionKind) {
25
- LayoutActionKind["UpdateHeaderHeight"] = "UPDATE_HEADER_HEIGHT";
26
- })(LayoutActionKind || (LayoutActionKind = {}));
27
- /**
28
- * Layout reducer.
29
- * @param state - Layout state.
30
- * @param action - Layout action.
31
- * @returns layout state.
32
- */
33
- function layoutReducer(state, action) {
34
- const { payload, type } = action;
35
- // eslint-disable-next-line sonarjs/no-small-switch -- allow small switch.
36
- switch (type) {
37
- // Updates header height.
38
- case LayoutActionKind.UpdateHeaderHeight: {
39
- return {
40
- ...state,
41
- headerHeight: payload ?? state.headerHeight,
42
- };
43
- }
44
- default:
45
- return state;
46
- }
47
- }
@@ -1,3 +0,0 @@
1
- import { ThemeProps } from "../../../theme/theme";
2
- export declare const shadows01: ({ theme }: ThemeProps) => string;
3
- export declare const shadows02: ({ theme }: ThemeProps) => string;
@@ -1,4 +0,0 @@
1
- // Elevation 01
2
- export const shadows01 = ({ theme }) => theme.shadows[1];
3
- // Elevation 02
4
- export const shadows02 = ({ theme }) => theme.shadows[2];
@@ -1,47 +0,0 @@
1
- export declare const PALETTE: {
2
- readonly ALERT_LIGHT: "var(--mui-palette-alert-light)";
3
- readonly ALERT_LIGHTEST: "var(--mui-palette-alert-lightest)";
4
- readonly ALERT_MAIN: "var(--mui-palette-alert-main)";
5
- readonly BACKGROUND_DEFAULT: "var(--mui-palette-background-default)";
6
- readonly BACKGROUND_PAPER: "var(--mui-palette-background-paper)";
7
- readonly COMMON_BACKGROUND: "var(--mui-palette-common-background)";
8
- readonly COMMON_BLACK: "var(--mui-palette-common-black)";
9
- readonly COMMON_WHITE: "var(--mui-palette-common-white)";
10
- readonly ERROR_CONTRAST_TEXT: "var(--mui-palette-error-contrastText)";
11
- readonly ERROR_DARK: "var(--mui-palette-error-dark)";
12
- readonly ERROR_LIGHT: "var(--mui-palette-error-light)";
13
- readonly ERROR_MAIN: "var(--mui-palette-error-main)";
14
- readonly INFO_CONTRAST_TEXT: "var(--mui-palette-info-contrastText)";
15
- readonly INFO_DARK: "var(--mui-palette-info-dark)";
16
- readonly INFO_LIGHT: "var(--mui-palette-info-light)";
17
- readonly INFO_LIGHTEST: "var(--mui-palette-info-lightest)";
18
- readonly INFO_MAIN: "var(--mui-palette-info-main)";
19
- readonly INK_LIGHT: "var(--mui-palette-ink-light)";
20
- readonly INK_MAIN: "var(--mui-palette-ink-main)";
21
- readonly PRIMARY_CONTRAST_TEXT: "var(--mui-palette-primary-contrastText)";
22
- readonly PRIMARY_DARK: "var(--mui-palette-primary-dark)";
23
- readonly PRIMARY_LIGHT: "var(--mui-palette-primary-light)";
24
- readonly PRIMARY_LIGHTEST: "var(--mui-palette-primary-lightest)";
25
- readonly PRIMARY_MAIN: "var(--mui-palette-primary-main)";
26
- readonly SECONDARY_CONTRAST_TEXT: "var(--mui-palette-secondary-contrastText)";
27
- readonly SECONDARY_DARK: "var(--mui-palette-secondary-dark)";
28
- readonly SECONDARY_LIGHT: "var(--mui-palette-secondary-light)";
29
- readonly SECONDARY_MAIN: "var(--mui-palette-secondary-main)";
30
- readonly SMOKE_DARK: "var(--mui-palette-smoke-dark)";
31
- readonly SMOKE_LIGHT: "var(--mui-palette-smoke-light)";
32
- readonly SMOKE_LIGHTEST: "var(--mui-palette-smoke-lightest)";
33
- readonly SMOKE_MAIN: "var(--mui-palette-smoke-main)";
34
- readonly SUCCESS_CONTRAST_TEXT: "var(--mui-palette-success-contrastText)";
35
- readonly SUCCESS_DARK: "var(--mui-palette-success-dark)";
36
- readonly SUCCESS_LIGHT: "var(--mui-palette-success-light)";
37
- readonly SUCCESS_LIGHTEST: "var(--mui-palette-success-lightest)";
38
- readonly SUCCESS_MAIN: "var(--mui-palette-success-main)";
39
- readonly TEXT_DISABLED: "var(--mui-palette-text-disabled)";
40
- readonly TEXT_PRIMARY: "var(--mui-palette-text-primary)";
41
- readonly TEXT_SECONDARY: "var(--mui-palette-text-secondary)";
42
- readonly WARNING_CONTRAST_TEXT: "var(--mui-palette-warning-contrastText)";
43
- readonly WARNING_DARK: "var(--mui-palette-warning-dark)";
44
- readonly WARNING_LIGHT: "var(--mui-palette-warning-light)";
45
- readonly WARNING_LIGHTEST: "var(--mui-palette-warning-lightest)";
46
- readonly WARNING_MAIN: "var(--mui-palette-warning-main)";
47
- };
@@ -1,47 +0,0 @@
1
- export const PALETTE = {
2
- ALERT_LIGHT: `var(--mui-palette-alert-light)`,
3
- ALERT_LIGHTEST: `var(--mui-palette-alert-lightest)`,
4
- ALERT_MAIN: `var(--mui-palette-alert-main)`,
5
- BACKGROUND_DEFAULT: `var(--mui-palette-background-default)`,
6
- BACKGROUND_PAPER: `var(--mui-palette-background-paper)`,
7
- COMMON_BACKGROUND: `var(--mui-palette-common-background)`,
8
- COMMON_BLACK: `var(--mui-palette-common-black)`,
9
- COMMON_WHITE: `var(--mui-palette-common-white)`,
10
- ERROR_CONTRAST_TEXT: `var(--mui-palette-error-contrastText)`,
11
- ERROR_DARK: `var(--mui-palette-error-dark)`,
12
- ERROR_LIGHT: `var(--mui-palette-error-light)`,
13
- ERROR_MAIN: `var(--mui-palette-error-main)`,
14
- INFO_CONTRAST_TEXT: `var(--mui-palette-info-contrastText)`,
15
- INFO_DARK: `var(--mui-palette-info-dark)`,
16
- INFO_LIGHT: `var(--mui-palette-info-light)`,
17
- INFO_LIGHTEST: `var(--mui-palette-info-lightest)`,
18
- INFO_MAIN: `var(--mui-palette-info-main)`,
19
- INK_LIGHT: `var(--mui-palette-ink-light)`,
20
- INK_MAIN: `var(--mui-palette-ink-main)`,
21
- PRIMARY_CONTRAST_TEXT: `var(--mui-palette-primary-contrastText)`,
22
- PRIMARY_DARK: `var(--mui-palette-primary-dark)`,
23
- PRIMARY_LIGHT: `var(--mui-palette-primary-light)`,
24
- PRIMARY_LIGHTEST: `var(--mui-palette-primary-lightest)`,
25
- PRIMARY_MAIN: `var(--mui-palette-primary-main)`,
26
- SECONDARY_CONTRAST_TEXT: `var(--mui-palette-secondary-contrastText)`,
27
- SECONDARY_DARK: `var(--mui-palette-secondary-dark)`,
28
- SECONDARY_LIGHT: `var(--mui-palette-secondary-light)`,
29
- SECONDARY_MAIN: `var(--mui-palette-secondary-main)`,
30
- SMOKE_DARK: `var(--mui-palette-smoke-dark)`,
31
- SMOKE_LIGHT: `var(--mui-palette-smoke-light)`,
32
- SMOKE_LIGHTEST: `var(--mui-palette-smoke-lightest)`,
33
- SMOKE_MAIN: `var(--mui-palette-smoke-main)`,
34
- SUCCESS_CONTRAST_TEXT: `var(--mui-palette-success-contrastText)`,
35
- SUCCESS_DARK: `var(--mui-palette-success-dark)`,
36
- SUCCESS_LIGHT: `var(--mui-palette-success-light)`,
37
- SUCCESS_LIGHTEST: `var(--mui-palette-success-lightest)`,
38
- SUCCESS_MAIN: `var(--mui-palette-success-main)`,
39
- TEXT_DISABLED: `var(--mui-palette-text-disabled)`,
40
- TEXT_PRIMARY: `var(--mui-palette-text-primary)`,
41
- TEXT_SECONDARY: `var(--mui-palette-text-secondary)`,
42
- WARNING_CONTRAST_TEXT: `var(--mui-palette-warning-contrastText)`,
43
- WARNING_DARK: `var(--mui-palette-warning-dark)`,
44
- WARNING_LIGHT: `var(--mui-palette-warning-light)`,
45
- WARNING_LIGHTEST: `var(--mui-palette-warning-lightest)`,
46
- WARNING_MAIN: `var(--mui-palette-warning-main)`,
47
- };
@@ -1,6 +0,0 @@
1
- export interface BaseComponentProps {
2
- className?: string;
3
- }
4
- export interface TrackingComponentProps {
5
- trackingId?: string;
6
- }
@@ -1 +0,0 @@
1
- export {};