@databiosphere/findable-ui 22.0.0 → 23.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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +28 -0
- package/lib/common/selectors.d.ts +6 -2
- package/lib/common/selectors.js +7 -2
- package/lib/components/DataDictionary/components/Entities/constants.d.ts +1 -0
- package/lib/components/DataDictionary/components/Entities/constants.js +2 -1
- package/lib/components/DataDictionary/components/Entities/entities.d.ts +1 -1
- package/lib/components/DataDictionary/components/Entities/entities.js +2 -2
- package/lib/components/DataDictionary/components/Entities/types.d.ts +2 -0
- package/lib/components/DataDictionary/components/Entity/entity.d.ts +1 -1
- package/lib/components/DataDictionary/components/Entity/entity.js +9 -4
- package/lib/components/DataDictionary/components/Entity/entity.styles.d.ts +2 -0
- package/lib/components/DataDictionary/components/Entity/entity.styles.js +10 -0
- package/lib/components/DataDictionary/components/Entity/types.d.ts +2 -0
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.d.ts +2 -0
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.js +5 -0
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.d.ts +5 -0
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.js +19 -0
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.d.ts +5 -0
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.js +1 -0
- package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.d.ts +2 -0
- package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.js +6 -0
- package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.d.ts +9 -0
- package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.js +26 -0
- package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/types.d.ts +5 -0
- package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/types.js +1 -0
- package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.d.ts +2 -0
- package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.js +5 -0
- package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.d.ts +5 -0
- package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.js +16 -0
- package/lib/components/DataDictionary/components/Layout/components/TitleLayout/types.d.ts +5 -0
- package/lib/components/DataDictionary/components/Layout/components/TitleLayout/types.js +1 -0
- package/lib/components/DataDictionary/components/Layout/constants.d.ts +5 -0
- package/lib/components/DataDictionary/components/Layout/constants.js +5 -0
- package/lib/components/DataDictionary/components/Outline/components/ContentsTab/constants.d.ts +2 -0
- package/lib/components/DataDictionary/components/Outline/components/ContentsTab/constants.js +5 -0
- package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.d.ts +1 -0
- package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.js +6 -0
- package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.d.ts +3 -0
- package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.js +7 -0
- package/lib/components/DataDictionary/components/Outline/outline.d.ts +2 -0
- package/lib/components/DataDictionary/components/Outline/outline.js +6 -0
- package/lib/components/DataDictionary/components/Outline/outline.styles.d.ts +3 -0
- package/lib/components/DataDictionary/components/Outline/outline.styles.js +19 -0
- package/lib/components/DataDictionary/components/Outline/types.d.ts +5 -0
- package/lib/components/DataDictionary/components/Outline/types.js +1 -0
- package/lib/components/DataDictionary/components/Outline/utils.d.ts +8 -0
- package/lib/components/DataDictionary/components/Outline/utils.js +15 -0
- package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.js +2 -2
- package/lib/components/DataDictionary/components/Title/title.d.ts +2 -0
- package/lib/components/DataDictionary/components/Title/title.js +3 -0
- package/lib/components/DataDictionary/components/Title/title.styles.d.ts +3 -0
- package/lib/components/DataDictionary/components/Title/title.styles.js +17 -0
- package/lib/components/DataDictionary/dataDictionary.d.ts +2 -2
- package/lib/components/DataDictionary/dataDictionary.js +17 -3
- package/lib/components/DataDictionary/dataDictionary.styles.d.ts +5 -1
- package/lib/components/DataDictionary/dataDictionary.styles.js +16 -3
- package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +2 -1
- package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.d.ts +2 -0
- package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.js +10 -0
- package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.d.ts +7 -0
- package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.js +1 -0
- package/lib/components/DataDictionary/types.d.ts +9 -0
- package/lib/components/DataDictionary/types.js +1 -0
- package/lib/components/Error/error.js +3 -3
- package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.js +3 -3
- package/lib/components/Index/index.js +3 -4
- package/lib/components/Layout/components/ContentLayout/contentLayout.js +7 -7
- package/lib/components/Layout/components/Footer/footer.js +4 -1
- package/lib/components/Layout/components/Footer/footer.styles.js +1 -0
- package/lib/components/Layout/components/Header/header.js +4 -3
- package/lib/components/Layout/components/Main/main.js +3 -4
- package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.d.ts +1 -5
- package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.js +5 -3
- package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.d.ts +1 -1
- package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.js +2 -2
- package/lib/components/Layout/components/Outline/components/ContentsTab/types.d.ts +5 -0
- package/lib/components/Layout/components/Outline/components/ContentsTab/types.js +1 -0
- package/lib/components/Layout/components/Outline/hooks/UseHash/hook.d.ts +11 -0
- package/lib/components/Layout/components/Outline/hooks/UseHash/hook.js +16 -0
- package/lib/components/Layout/components/Outline/hooks/UseHash/types.d.ts +3 -0
- package/lib/components/Layout/components/Outline/hooks/UseHash/types.js +1 -0
- package/lib/components/Layout/components/Outline/hooks/UseTabs/constants.d.ts +2 -0
- package/lib/components/Layout/components/Outline/hooks/UseTabs/hook.d.ts +3 -0
- package/lib/components/Layout/components/Outline/hooks/UseTabs/hook.js +24 -0
- package/lib/components/Layout/components/Outline/hooks/UseTabs/utils.d.ts +9 -0
- package/lib/components/Layout/components/Outline/hooks/UseTabs/utils.js +13 -0
- package/lib/components/Layout/components/Outline/outline.d.ts +2 -13
- package/lib/components/Layout/components/Outline/outline.js +8 -32
- package/lib/components/Layout/components/Outline/outline.styles.d.ts +2 -2
- package/lib/components/Layout/components/Outline/outline.styles.js +2 -2
- package/lib/components/Layout/components/Outline/types.d.ts +14 -0
- package/lib/components/Layout/components/Outline/types.js +1 -0
- package/lib/components/Layout/components/Sidebar/components/SidebarPositioner/sidebarPositioner.js +4 -4
- package/lib/components/Login/components/Section/components/Warning/warning.js +2 -3
- package/lib/components/Table/components/TableCell/components/RowPositionCell/constants.js +2 -2
- package/lib/components/common/AnchorLink/anchorLink.d.ts +6 -0
- package/lib/components/common/LoginDialog/constants.js +4 -4
- package/lib/providers/layoutDimensions/constants.d.ts +2 -0
- package/lib/providers/layoutDimensions/constants.js +4 -0
- package/lib/providers/layoutDimensions/context.d.ts +2 -0
- package/lib/providers/layoutDimensions/context.js +7 -0
- package/lib/providers/layoutDimensions/hook.d.ts +2 -0
- package/lib/providers/layoutDimensions/hook.js +5 -0
- package/lib/providers/layoutDimensions/provider.d.ts +2 -0
- package/lib/providers/layoutDimensions/provider.js +14 -0
- package/lib/providers/layoutDimensions/types.d.ts +14 -0
- package/lib/providers/layoutDimensions/types.js +1 -0
- package/lib/styles/common/mui/tab.d.ts +7 -0
- package/lib/styles/common/mui/tab.js +9 -0
- package/lib/styles/common/mui/tabs.d.ts +9 -0
- package/lib/styles/common/mui/tabs.js +11 -0
- package/lib/styles/common/mui/typography.d.ts +8 -2
- package/lib/styles/common/mui/typography.js +8 -2
- package/package.json +1 -1
- package/src/common/selectors.ts +6 -3
- package/src/components/DataDictionary/components/Entities/constants.ts +3 -1
- package/src/components/DataDictionary/components/Entities/entities.tsx +2 -2
- package/src/components/DataDictionary/components/Entities/types.ts +2 -0
- package/src/components/DataDictionary/components/Entity/entity.styles.ts +12 -0
- package/src/components/DataDictionary/components/Entity/entity.tsx +17 -7
- package/src/components/DataDictionary/components/Entity/types.ts +2 -0
- package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.ts +22 -0
- package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.tsx +10 -0
- package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/types.ts +6 -0
- package/src/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.ts +31 -0
- package/src/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.tsx +14 -0
- package/src/components/DataDictionary/components/Layout/components/OutlineLayout/types.ts +6 -0
- package/src/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.ts +18 -0
- package/src/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.tsx +10 -0
- package/src/components/DataDictionary/components/Layout/components/TitleLayout/types.ts +6 -0
- package/src/components/DataDictionary/components/Layout/constants.ts +5 -0
- package/src/components/DataDictionary/components/Outline/components/ContentsTab/constants.ts +7 -0
- package/src/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.ts +8 -0
- package/src/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.tsx +7 -0
- package/src/components/DataDictionary/components/Outline/outline.styles.ts +24 -0
- package/src/components/DataDictionary/components/Outline/outline.tsx +11 -0
- package/src/components/DataDictionary/components/Outline/types.ts +6 -0
- package/src/components/DataDictionary/components/Outline/utils.ts +18 -0
- package/src/components/DataDictionary/components/Table/components/BasicCell/basicCell.tsx +6 -2
- package/src/components/DataDictionary/components/Title/title.styles.ts +18 -0
- package/src/components/DataDictionary/components/Title/title.tsx +8 -0
- package/src/components/DataDictionary/dataDictionary.styles.ts +17 -3
- package/src/components/DataDictionary/dataDictionary.tsx +26 -4
- package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +2 -1
- package/src/components/DataDictionary/hooks/UseLayoutSpacing/hook.ts +12 -0
- package/src/components/DataDictionary/hooks/UseLayoutSpacing/types.ts +8 -0
- package/src/components/DataDictionary/types.ts +10 -0
- package/src/components/Error/error.tsx +3 -5
- package/src/components/Filter/components/SearchAllFilters/searchAllFilters.tsx +3 -3
- package/src/components/Index/index.tsx +3 -4
- package/src/components/Layout/components/ContentLayout/contentLayout.tsx +7 -9
- package/src/components/Layout/components/Footer/footer.styles.ts +1 -0
- package/src/components/Layout/components/Footer/footer.tsx +5 -0
- package/src/components/Layout/components/Header/header.tsx +9 -3
- package/src/components/Layout/components/Main/main.tsx +3 -4
- package/src/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.ts +2 -2
- package/src/components/Layout/components/Outline/components/ContentsTab/contentsTab.tsx +8 -11
- package/src/components/Layout/components/Outline/components/ContentsTab/types.ts +8 -0
- package/src/components/Layout/components/Outline/hooks/UseHash/hook.ts +17 -0
- package/src/components/Layout/components/Outline/hooks/UseHash/types.ts +3 -0
- package/src/components/Layout/components/Outline/hooks/UseTabs/constants.ts +3 -0
- package/src/components/Layout/components/Outline/hooks/UseTabs/hook.ts +32 -0
- package/src/components/Layout/components/Outline/hooks/UseTabs/utils.ts +18 -0
- package/src/components/Layout/components/Outline/outline.styles.ts +2 -2
- package/src/components/Layout/components/Outline/outline.tsx +22 -59
- package/src/components/Layout/components/Outline/types.ts +16 -0
- package/src/components/Layout/components/Sidebar/components/SidebarPositioner/sidebarPositioner.tsx +7 -6
- package/src/components/Login/components/Section/components/Warning/warning.tsx +3 -4
- package/src/components/Table/components/TableCell/components/RowPositionCell/constants.ts +2 -2
- package/src/components/common/AnchorLink/anchorLink.tsx +7 -0
- package/src/components/common/LoginDialog/constants.ts +4 -4
- package/src/providers/layoutDimensions/constants.ts +6 -0
- package/src/providers/layoutDimensions/context.tsx +10 -0
- package/src/providers/layoutDimensions/hook.ts +7 -0
- package/src/providers/layoutDimensions/provider.tsx +29 -0
- package/src/providers/layoutDimensions/types.ts +17 -0
- package/src/styles/common/mui/tab.ts +16 -0
- package/src/styles/common/mui/tabs.ts +20 -0
- package/src/styles/common/mui/typography.ts +14 -2
- package/lib/components/Layout/components/Header/hooks/useMeasureHeader.d.ts +0 -5
- package/lib/components/Layout/components/Header/hooks/useMeasureHeader.js +0 -19
- package/lib/components/Layout/components/Outline/common/constants.d.ts +0 -2
- package/lib/hooks/useLayoutState.d.ts +0 -6
- package/lib/hooks/useLayoutState.js +0 -9
- package/lib/providers/layoutState.d.ts +0 -40
- package/lib/providers/layoutState.js +0 -47
- package/src/components/Layout/components/Header/hooks/useMeasureHeader.ts +0 -28
- package/src/components/Layout/components/Outline/common/constants.ts +0 -3
- package/src/hooks/useLayoutState.ts +0 -13
- package/src/providers/layoutState.tsx +0 -94
- /package/lib/components/Layout/components/Outline/{common → hooks/UseTabs}/constants.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [23.0.0](https://github.com/DataBiosphere/findable-ui/compare/v22.0.0...v23.0.0) (2025-03-21)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* create data dictionary left-hand navigation component and add dictionary layout ([#337](https://github.com/DataBiosphere/findable-ui/issues/337)) (#338)
|
|
9
|
+
* layoutdimensions provider and remove layout state provider ([#348](https://github.com/DataBiosphere/findable-ui/issues/348)) (#349)
|
|
10
|
+
* refactor outline component with new hook handling state and disabled outline item ([#346](https://github.com/DataBiosphere/findable-ui/issues/346)) (#347)
|
|
11
|
+
* refactor selectors into an enum and add ids to header and footer ([#341](https://github.com/DataBiosphere/findable-ui/issues/341)) (#343)
|
|
12
|
+
* refactor typography constants ([#339](https://github.com/DataBiosphere/findable-ui/issues/339)) (#340)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* create a new provider that returns header and footer dimensions ([#344](https://github.com/DataBiosphere/findable-ui/issues/344)) ([#345](https://github.com/DataBiosphere/findable-ui/issues/345)) ([7800842](https://github.com/DataBiosphere/findable-ui/commit/7800842b43b6e2edae926dcc26c842ccb592c407))
|
|
17
|
+
* create data dictionary left-hand navigation component and add dictionary layout ([#337](https://github.com/DataBiosphere/findable-ui/issues/337)) ([#338](https://github.com/DataBiosphere/findable-ui/issues/338)) ([94115b3](https://github.com/DataBiosphere/findable-ui/commit/94115b3a308f150bdeba9a9e374a9dcc510f3405))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* layoutdimensions provider and remove layout state provider ([#348](https://github.com/DataBiosphere/findable-ui/issues/348)) ([#349](https://github.com/DataBiosphere/findable-ui/issues/349)) ([77deafe](https://github.com/DataBiosphere/findable-ui/commit/77deafe915d5a6fe42667a404d2b1f062f67cabb))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Code Refactoring
|
|
26
|
+
|
|
27
|
+
* refactor outline component with new hook handling state and disabled outline item ([#346](https://github.com/DataBiosphere/findable-ui/issues/346)) ([#347](https://github.com/DataBiosphere/findable-ui/issues/347)) ([0d8fdba](https://github.com/DataBiosphere/findable-ui/commit/0d8fdba669c47e61d5e524274b237eed55998fd6))
|
|
28
|
+
* refactor selectors into an enum and add ids to header and footer ([#341](https://github.com/DataBiosphere/findable-ui/issues/341)) ([#343](https://github.com/DataBiosphere/findable-ui/issues/343)) ([71b7444](https://github.com/DataBiosphere/findable-ui/commit/71b74449330ce507f22939d7bdaf0f92af985de8))
|
|
29
|
+
* refactor typography constants ([#339](https://github.com/DataBiosphere/findable-ui/issues/339)) ([#340](https://github.com/DataBiosphere/findable-ui/issues/340)) ([a5632b5](https://github.com/DataBiosphere/findable-ui/commit/a5632b50d852323a0002eae7b0524378728ff081))
|
|
30
|
+
|
|
3
31
|
## [22.0.0](https://github.com/DataBiosphere/findable-ui/compare/v21.4.0...v22.0.0) (2025-03-14)
|
|
4
32
|
|
|
5
33
|
|
package/lib/common/selectors.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
1
|
+
export var SELECTOR;
|
|
2
|
+
(function (SELECTOR) {
|
|
3
|
+
SELECTOR["BODY"] = "body";
|
|
4
|
+
SELECTOR["FOOTER"] = "footer";
|
|
5
|
+
SELECTOR["HEADER"] = "header";
|
|
6
|
+
SELECTOR["SIDEBAR_POSITIONER"] = "sidebar-positioner";
|
|
7
|
+
})(SELECTOR || (SELECTOR = {}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ClassesProps } from "./types";
|
|
2
|
-
export declare const Entities: ({ classes }: ClassesProps) => JSX.Element;
|
|
2
|
+
export declare const Entities: ({ classes, spacing }: ClassesProps) => JSX.Element;
|
|
@@ -2,6 +2,6 @@ import { Grid2 } from "@mui/material";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { Entity } from "../Entity/entity";
|
|
4
4
|
import { GRID2_PROPS } from "./constants";
|
|
5
|
-
export const Entities = ({ classes }) => {
|
|
6
|
-
return (React.createElement(Grid2, { ...GRID2_PROPS }, classes.map((classData) => (React.createElement(Entity, { key: classData.key, class: classData })))));
|
|
5
|
+
export const Entities = ({ classes, spacing }) => {
|
|
6
|
+
return (React.createElement(Grid2, { ...GRID2_PROPS }, classes.map((classData) => (React.createElement(Entity, { key: classData.key, class: classData, spacing: spacing })))));
|
|
7
7
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { EntityProps } from "./types";
|
|
2
|
-
export declare const Entity: ({ class: classData }: EntityProps) => JSX.Element;
|
|
2
|
+
export declare const Entity: ({ class: classData, spacing, }: EntityProps) => JSX.Element;
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { Grid2, Typography } from "@mui/material";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { TYPOGRAPHY_PROPS } from "../../../../styles/common/mui/typography";
|
|
4
|
+
import { AnchorLink } from "../../../common/AnchorLink/anchorLink";
|
|
4
5
|
import { useTable } from "../Table/hook";
|
|
5
6
|
import { Table } from "../Table/table";
|
|
6
7
|
import { GRID2_PROPS } from "./constants";
|
|
7
|
-
|
|
8
|
+
import { StyledTypography } from "./entity.styles";
|
|
9
|
+
export const Entity = ({ class: classData, spacing, }) => {
|
|
8
10
|
const table = useTable(classData.attributes);
|
|
9
11
|
return (React.createElement(Grid2, { ...GRID2_PROPS, rowGap: 4 },
|
|
10
12
|
React.createElement(Grid2, { ...GRID2_PROPS, rowGap: 1 },
|
|
11
|
-
React.createElement(
|
|
12
|
-
|
|
13
|
+
React.createElement(StyledTypography, { component: "h3", id: classData.key, variant: TYPOGRAPHY_PROPS.VARIANT.TEXT_HEADING_SMALL, ...spacing },
|
|
14
|
+
classData.label,
|
|
15
|
+
" ",
|
|
16
|
+
React.createElement(AnchorLink, { anchorLink: classData.key })),
|
|
17
|
+
React.createElement(Typography, { color: TYPOGRAPHY_PROPS.COLOR.INK_LIGHT, component: "div", variant: TYPOGRAPHY_PROPS.VARIANT.TEXT_BODY_400_2_LINES }, classData.description)),
|
|
13
18
|
React.createElement(Table, { table: table })));
|
|
14
19
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { Typography } from "@mui/material";
|
|
3
|
+
import { ENTITIES_ROW_GAP } from "../Entities/constants";
|
|
4
|
+
export const StyledTypography = styled(Typography) `
|
|
5
|
+
scroll-margin-top: ${({ top = 0 }) => top + ENTITIES_ROW_GAP}px;
|
|
6
|
+
|
|
7
|
+
&:hover a {
|
|
8
|
+
opacity: 1;
|
|
9
|
+
}
|
|
10
|
+
`;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
|
|
2
|
+
export declare const Layout: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme;
|
|
4
|
+
as?: import("react").ElementType;
|
|
5
|
+
} & LayoutSpacing, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
|
|
3
|
+
import { LAYOUT_SPACING } from "../../constants";
|
|
4
|
+
const PB = LAYOUT_SPACING.CONTENT_PADDING_BOTTOM; /* bottom padding */
|
|
5
|
+
const PT = LAYOUT_SPACING.CONTENT_PADDING_TOP; /* top padding */
|
|
6
|
+
const TITLE_HEIGHT = LAYOUT_SPACING.TITLE_HEIGHT; /* title height */
|
|
7
|
+
export const Layout = styled("div") `
|
|
8
|
+
grid-column: 2;
|
|
9
|
+
grid-row: 1;
|
|
10
|
+
padding-bottom: ${PB}px;
|
|
11
|
+
padding-top: ${({ top }) => top + TITLE_HEIGHT + PT}px;
|
|
12
|
+
z-index: 1; /* not required, but helpful in that the entities are always on top */
|
|
13
|
+
|
|
14
|
+
${mediaTabletDown} {
|
|
15
|
+
grid-column: 1;
|
|
16
|
+
grid-row: auto;
|
|
17
|
+
padding-top: ${PT}px;
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
|
|
2
|
+
export declare const Layout: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme;
|
|
4
|
+
as?: import("react").ElementType;
|
|
5
|
+
} & LayoutSpacing, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
6
|
+
export declare const LayoutScroller: import("@emotion/styled").StyledComponent<{
|
|
7
|
+
theme?: import("@emotion/react").Theme;
|
|
8
|
+
as?: import("react").ElementType;
|
|
9
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
|
|
3
|
+
import { LAYOUT_SPACING } from "../../constants";
|
|
4
|
+
const PB = LAYOUT_SPACING.CONTENT_PADDING_BOTTOM; /* bottom padding */
|
|
5
|
+
const PT = LAYOUT_SPACING.CONTENT_PADDING_TOP; /* top padding */
|
|
6
|
+
const TITLE_HEIGHT = LAYOUT_SPACING.TITLE_HEIGHT; /* title height */
|
|
7
|
+
export const Layout = styled("div") `
|
|
8
|
+
grid-column: 1;
|
|
9
|
+
grid-row: 1;
|
|
10
|
+
margin-bottom: ${({ bottom }) => -bottom}px; /* required; prevents sticky element from scrolling when footer scrolls into viewport */
|
|
11
|
+
max-height: 100vh;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
padding-bottom: ${({ bottom }) => bottom}px; /* footer height */
|
|
14
|
+
padding-top: ${({ top }) => top + TITLE_HEIGHT + PT}px;
|
|
15
|
+
position: sticky;
|
|
16
|
+
top: 0;
|
|
17
|
+
|
|
18
|
+
${mediaTabletDown} {
|
|
19
|
+
display: none;
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
export const LayoutScroller = styled("div") `
|
|
23
|
+
height: 100%;
|
|
24
|
+
overflow: auto;
|
|
25
|
+
padding-bottom: ${PB}px;
|
|
26
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
|
|
2
|
+
export declare const Layout: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme;
|
|
4
|
+
as?: import("react").ElementType;
|
|
5
|
+
} & LayoutSpacing, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
|
|
3
|
+
export const Layout = styled("div") `
|
|
4
|
+
grid-column: 1 / -1;
|
|
5
|
+
grid-row: 1;
|
|
6
|
+
height: fit-content;
|
|
7
|
+
padding-top: ${({ top }) => top}px; /* header height */
|
|
8
|
+
position: sticky;
|
|
9
|
+
top: 0;
|
|
10
|
+
|
|
11
|
+
${mediaTabletDown} {
|
|
12
|
+
grid-column: 1;
|
|
13
|
+
grid-row: auto;
|
|
14
|
+
position: relative;
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ContentsTab: () => JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ContentsTab } from "./components/ContentsTab/contentsTab";
|
|
3
|
+
import { StyledOutline } from "./outline.styles";
|
|
4
|
+
export const Outline = ({ outline, ...props /* MuiTabsProps */ }) => {
|
|
5
|
+
return React.createElement(StyledOutline, { Contents: ContentsTab, outline: outline, ...props });
|
|
6
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { inkLight, inkMain, smokeDark, } from "../../../../styles/common/mixins/colors";
|
|
3
|
+
import { Outline } from "../../../Layout/components/Outline/outline";
|
|
4
|
+
export const StyledOutline = styled(Outline) `
|
|
5
|
+
&.MuiTabs-root {
|
|
6
|
+
.MuiTab-root {
|
|
7
|
+
color: ${inkLight};
|
|
8
|
+
|
|
9
|
+
&.Mui-selected {
|
|
10
|
+
color: ${inkMain};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&.Mui-disabled {
|
|
14
|
+
color: ${smokeDark};
|
|
15
|
+
opacity: 1;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Class } from "../../../../common/entities";
|
|
2
|
+
import { OutlineItem } from "../../../Layout/components/Outline/types";
|
|
3
|
+
/**
|
|
4
|
+
* Returns outline items from classes.
|
|
5
|
+
* @param classes - Class entities.
|
|
6
|
+
* @returns Outline items.
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildClassesOutline(classes: Class[]): OutlineItem[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns outline items from classes.
|
|
3
|
+
* @param classes - Class entities.
|
|
4
|
+
* @returns Outline items.
|
|
5
|
+
*/
|
|
6
|
+
export function buildClassesOutline(classes) {
|
|
7
|
+
return classes.map(({ key, name }) => {
|
|
8
|
+
return {
|
|
9
|
+
depth: 2,
|
|
10
|
+
disabled: false,
|
|
11
|
+
hash: key,
|
|
12
|
+
value: name,
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Typography } from "@mui/material";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { TYPOGRAPHY_PROPS } from "../../../../../../styles/common/mui/typography";
|
|
4
4
|
export const BasicCell = ({ getValue }) => {
|
|
5
|
-
return React.createElement(Typography, { variant: VARIANT.INHERIT }, getValue());
|
|
5
|
+
return (React.createElement(Typography, { variant: TYPOGRAPHY_PROPS.VARIANT.INHERIT }, getValue()));
|
|
6
6
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { mediaTabletDown } from "../../../../styles/common/mixins/breakpoints";
|
|
3
|
+
import { Title } from "../../../common/Title/title";
|
|
4
|
+
export const StyledTitle = styled(Title) `
|
|
5
|
+
& {
|
|
6
|
+
font-size: 34px;
|
|
7
|
+
grid-column: 1 / -1;
|
|
8
|
+
letter-spacing: normal;
|
|
9
|
+
line-height: 42px;
|
|
10
|
+
margin: 24px 0 8px;
|
|
11
|
+
|
|
12
|
+
${mediaTabletDown} {
|
|
13
|
+
font-size: 26px;
|
|
14
|
+
line-height: 34px;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
`;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const DataDictionary: ({ className, }:
|
|
1
|
+
import { DataDictionaryProps } from "./types";
|
|
2
|
+
export declare const DataDictionary: ({ className, EntitiesLayout, Outline, OutlineLayout, Title, TitleLayout, }: DataDictionaryProps) => JSX.Element;
|
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
2
|
import { Entities } from "./components/Entities/entities";
|
|
3
|
+
import { EntitiesLayout as DefaultEntitiesLayout } from "./components/Layout/components/EntitiesLayout/entitiesLayout";
|
|
4
|
+
import { OutlineLayout as DefaultOutlineLayout } from "./components/Layout/components/OutlineLayout/outlineLayout";
|
|
5
|
+
import { TitleLayout as DefaultTitleLayout } from "./components/Layout/components/TitleLayout/titleLayout";
|
|
6
|
+
import { Outline as DefaultOutline } from "./components/Outline/outline";
|
|
7
|
+
import { buildClassesOutline } from "./components/Outline/utils";
|
|
8
|
+
import { Title as DefaultTitle } from "./components/Title/title";
|
|
3
9
|
import { View } from "./dataDictionary.styles";
|
|
4
10
|
import { useDataDictionary } from "./hooks/UseDataDictionary/hook";
|
|
5
|
-
|
|
11
|
+
import { useLayoutSpacing } from "./hooks/UseLayoutSpacing/hook";
|
|
12
|
+
export const DataDictionary = ({ className, EntitiesLayout = DefaultEntitiesLayout, Outline = DefaultOutline, OutlineLayout = DefaultOutlineLayout, Title = DefaultTitle, TitleLayout = DefaultTitleLayout, }) => {
|
|
6
13
|
const { classes } = useDataDictionary();
|
|
14
|
+
const { spacing } = useLayoutSpacing();
|
|
15
|
+
const outline = useMemo(() => buildClassesOutline(classes), [classes]);
|
|
7
16
|
return (React.createElement(View, { className: className },
|
|
8
|
-
React.createElement(
|
|
17
|
+
React.createElement(TitleLayout, { ...spacing },
|
|
18
|
+
React.createElement(Title, null)),
|
|
19
|
+
React.createElement(OutlineLayout, { ...spacing },
|
|
20
|
+
React.createElement(Outline, { outline: outline })),
|
|
21
|
+
React.createElement(EntitiesLayout, { ...spacing },
|
|
22
|
+
React.createElement(Entities, { classes: classes, spacing: spacing }))));
|
|
9
23
|
};
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const grid: import("@emotion/react").SerializedStyles;
|
|
2
|
+
export declare const View: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme;
|
|
4
|
+
as?: import("react").ElementType;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { css } from "@emotion/react";
|
|
2
|
+
import styled from "@emotion/styled";
|
|
3
|
+
import { mediaTabletDown } from "../../styles/common/mixins/breakpoints";
|
|
4
|
+
export const grid = css `
|
|
5
|
+
column-gap: 24px;
|
|
6
|
+
display: grid;
|
|
7
|
+
grid-template-columns: 242px 1fr;
|
|
8
|
+
`;
|
|
2
9
|
export const View = styled("div") `
|
|
10
|
+
${grid};
|
|
3
11
|
flex: 1;
|
|
4
12
|
margin: 0 auto;
|
|
5
|
-
max-width: calc(100vw - 48px);
|
|
6
|
-
|
|
13
|
+
max-width: min(calc(100vw - 48px), 1392px);
|
|
14
|
+
position: relative;
|
|
15
|
+
|
|
16
|
+
${mediaTabletDown} {
|
|
17
|
+
grid-template-columns: 1fr;
|
|
18
|
+
max-width: calc(100vw - 32px);
|
|
19
|
+
}
|
|
7
20
|
`;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
1
2
|
import { useConfig } from "../../../../hooks/useConfig";
|
|
2
3
|
export const useDataDictionary = () => {
|
|
3
4
|
const { config: { dataDictionary: { classes = [] } = {} }, } = useConfig();
|
|
4
|
-
return { classes };
|
|
5
|
+
return useMemo(() => ({ classes }), [classes]);
|
|
5
6
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useLayoutDimensions } from "../../../../providers/layoutDimensions/hook";
|
|
2
|
+
export const useLayoutSpacing = () => {
|
|
3
|
+
const { dimensions } = useLayoutDimensions();
|
|
4
|
+
return {
|
|
5
|
+
spacing: {
|
|
6
|
+
bottom: dimensions.footer.height,
|
|
7
|
+
top: dimensions.header.height,
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ElementType } from "react";
|
|
2
|
+
import { BaseComponentProps } from "../types";
|
|
3
|
+
export interface DataDictionaryProps extends BaseComponentProps {
|
|
4
|
+
EntitiesLayout?: ElementType;
|
|
5
|
+
Outline?: ElementType;
|
|
6
|
+
OutlineLayout?: ElementType;
|
|
7
|
+
Title?: ElementType;
|
|
8
|
+
TitleLayout?: ElementType;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|