@hitachivantara/uikit-cli 6.0.1
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/README.md +46 -0
- package/package.json +68 -0
- package/src/app-shell.js +106 -0
- package/src/baselines/app-shell/vite/_gitignore +30 -0
- package/src/baselines/app-shell/vite/_oxlintrc.json +5 -0
- package/src/baselines/app-shell/vite/_package.json +55 -0
- package/src/baselines/app-shell/vite/public/locales/en/example.json +8 -0
- package/src/baselines/app-shell/vite/src/lib/data/config.ts +15 -0
- package/src/baselines/app-shell/vite/src/lib/i18n.ts +44 -0
- package/src/baselines/app-shell/vite/src/pages/Example/index.tsx +25 -0
- package/src/baselines/app-shell/vite/src/providers/Provider.tsx +31 -0
- package/src/baselines/app-shell/vite/src/tests/mocks.ts +1 -0
- package/src/baselines/app-shell/vite/src/tests/providers.tsx +13 -0
- package/src/baselines/app-shell/vite/src/tests/setupTests.ts +24 -0
- package/src/baselines/app-shell/vite/src/types/theme.d.ts +8 -0
- package/src/baselines/app-shell/vite/src/types/vite-env.d.ts +1 -0
- package/src/baselines/app-shell/vite/tsconfig.json +10 -0
- package/src/baselines/app-shell/vite/tsconfig.node.json +9 -0
- package/src/baselines/app-shell/vite/uno.config.ts +6 -0
- package/src/baselines/app-shell/vite/vite.config.ts +45 -0
- package/src/baselines/vite/_gitignore +30 -0
- package/src/baselines/vite/_oxlintrc.json +5 -0
- package/src/baselines/vite/_package.json +53 -0
- package/src/baselines/vite/index.html +18 -0
- package/src/baselines/vite/public/favicon.ico +0 -0
- package/src/baselines/vite/public/locales/en/common.json +16 -0
- package/src/baselines/vite/public/locales/en/home.json +4 -0
- package/src/baselines/vite/public/logo192.png +0 -0
- package/src/baselines/vite/src/App.tsx +31 -0
- package/src/baselines/vite/src/assets/HitachiLogo.tsx +27 -0
- package/src/baselines/vite/src/components/common/Loading/Loading.test.tsx +18 -0
- package/src/baselines/vite/src/components/common/Loading/Loading.tsx +15 -0
- package/src/baselines/vite/src/components/common/Loading/index.ts +1 -0
- package/src/baselines/vite/src/context/NavigationContext.tsx +67 -0
- package/src/baselines/vite/src/lib/i18n.ts +29 -0
- package/src/baselines/vite/src/main.tsx +12 -0
- package/src/baselines/vite/src/pages/Home/index.tsx +13 -0
- package/src/baselines/vite/src/pages/NotFound/NotFound.tsx +39 -0
- package/src/baselines/vite/src/pages/NotFound/index.tsx +1 -0
- package/src/baselines/vite/src/pages/layout/navigation.tsx +82 -0
- package/src/baselines/vite/src/routes.tsx +14 -0
- package/src/baselines/vite/src/tests/mocks.ts +1 -0
- package/src/baselines/vite/src/tests/providers.tsx +13 -0
- package/src/baselines/vite/src/tests/setupTests.ts +24 -0
- package/src/baselines/vite/src/types/theme.d.ts +8 -0
- package/src/baselines/vite/src/vite-env.d.ts +1 -0
- package/src/baselines/vite/tsconfig.json +10 -0
- package/src/baselines/vite/tsconfig.node.json +9 -0
- package/src/baselines/vite/uno.config.ts +6 -0
- package/src/baselines/vite/vite.config.ts +31 -0
- package/src/contents.js +63 -0
- package/src/create.js +172 -0
- package/src/index.js +22 -0
- package/src/navigation.js +21 -0
- package/src/package.js +37 -0
- package/src/plop-templates/README.md.hbs +10 -0
- package/src/plop-templates/app-shell/app-shell.config.ts.hbs +54 -0
- package/src/plop-templates/app-shell/index.html.hbs +15 -0
- package/src/plopfile.js +61 -0
- package/src/templates/AssetInventory/CardView.tsx +167 -0
- package/src/templates/AssetInventory/ListView.tsx +56 -0
- package/src/templates/AssetInventory/data.tsx +255 -0
- package/src/templates/AssetInventory/index.tsx +198 -0
- package/src/templates/AssetInventory/usePaginationData.ts +158 -0
- package/src/templates/Canvas/Context.tsx +49 -0
- package/src/templates/Canvas/ListView.tsx +189 -0
- package/src/templates/Canvas/Node.tsx +203 -0
- package/src/templates/Canvas/Sidebar.tsx +51 -0
- package/src/templates/Canvas/StatusEdge.tsx +75 -0
- package/src/templates/Canvas/StickyNode.tsx +475 -0
- package/src/templates/Canvas/Table.tsx +202 -0
- package/src/templates/Canvas/TreeView.tsx +211 -0
- package/src/templates/Canvas/dependencies.json +7 -0
- package/src/templates/Canvas/index.tsx +363 -0
- package/src/templates/Canvas/styles.tsx +41 -0
- package/src/templates/Canvas/utils.tsx +70 -0
- package/src/templates/Dashboard/GridPanel.tsx +33 -0
- package/src/templates/Dashboard/Kpi.tsx +107 -0
- package/src/templates/Dashboard/Map.styles.ts +681 -0
- package/src/templates/Dashboard/Map.tsx +71 -0
- package/src/templates/Dashboard/data.ts +67 -0
- package/src/templates/Dashboard/dependencies.json +11 -0
- package/src/templates/Dashboard/index.tsx +173 -0
- package/src/templates/DetailsView/KPIs.tsx +70 -0
- package/src/templates/DetailsView/MetadataItem.tsx +35 -0
- package/src/templates/DetailsView/Properties.tsx +127 -0
- package/src/templates/DetailsView/Table.tsx +104 -0
- package/src/templates/DetailsView/data.ts +67 -0
- package/src/templates/DetailsView/index.tsx +102 -0
- package/src/templates/DetailsView/usePaginationData.ts +155 -0
- package/src/templates/DetailsView/utils.ts +51 -0
- package/src/templates/Form/index.tsx +107 -0
- package/src/templates/KanbanBoard/ColumnContainer.tsx +89 -0
- package/src/templates/KanbanBoard/TaskCard.tsx +130 -0
- package/src/templates/KanbanBoard/data.tsx +140 -0
- package/src/templates/KanbanBoard/dependencies.json +6 -0
- package/src/templates/KanbanBoard/index.tsx +179 -0
- package/src/templates/KanbanBoard/styles.tsx +76 -0
- package/src/templates/KanbanBoard/types.ts +21 -0
- package/src/templates/ListView/Indicator.tsx +42 -0
- package/src/templates/ListView/Kpi.tsx +120 -0
- package/src/templates/ListView/Table.tsx +55 -0
- package/src/templates/ListView/data.tsx +179 -0
- package/src/templates/ListView/dependencies.json +5 -0
- package/src/templates/ListView/index.tsx +245 -0
- package/src/templates/ListView/usePaginationData.ts +158 -0
- package/src/templates/Welcome/index.tsx +101 -0
- package/src/templates/package.json +30 -0
- package/src/utils.js +37 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { css } from "@emotion/css";
|
|
2
|
+
import {
|
|
3
|
+
HvGrid,
|
|
4
|
+
HvGridProps,
|
|
5
|
+
HvLoadingContainer,
|
|
6
|
+
HvPanel,
|
|
7
|
+
theme,
|
|
8
|
+
} from "@hitachivantara/uikit-react-core";
|
|
9
|
+
|
|
10
|
+
/** A `HvGrid` item + styled `HvPanel` container with a loading `Suspense` boundary */
|
|
11
|
+
export const GridPanel = ({
|
|
12
|
+
children,
|
|
13
|
+
height = 300,
|
|
14
|
+
isLoading,
|
|
15
|
+
...others
|
|
16
|
+
}: HvGridProps & { isLoading?: boolean }) => (
|
|
17
|
+
<HvGrid item {...others}>
|
|
18
|
+
<HvLoadingContainer hidden={!isLoading}>
|
|
19
|
+
<HvPanel
|
|
20
|
+
role="region"
|
|
21
|
+
style={{ height: height as number }}
|
|
22
|
+
className={css({
|
|
23
|
+
overflow: "visible",
|
|
24
|
+
position: "relative",
|
|
25
|
+
borderWidth: 1,
|
|
26
|
+
borderRadius: `0 0 ${theme.radii.round} ${theme.radii.round}`,
|
|
27
|
+
})}
|
|
28
|
+
>
|
|
29
|
+
{children}
|
|
30
|
+
</HvPanel>
|
|
31
|
+
</HvLoadingContainer>
|
|
32
|
+
</HvGrid>
|
|
33
|
+
);
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { css } from "@emotion/css";
|
|
2
|
+
import {
|
|
3
|
+
HvCard,
|
|
4
|
+
HvCardContent,
|
|
5
|
+
HvCardProps,
|
|
6
|
+
HvTypography,
|
|
7
|
+
theme,
|
|
8
|
+
} from "@hitachivantara/uikit-react-core";
|
|
9
|
+
import { Level0Good } from "@hitachivantara/uikit-react-icons";
|
|
10
|
+
|
|
11
|
+
const styles = {
|
|
12
|
+
title: css({
|
|
13
|
+
padding: theme.spacing(0, 3, 1),
|
|
14
|
+
textAlign: "center",
|
|
15
|
+
}),
|
|
16
|
+
contentContainer: css({
|
|
17
|
+
display: "flex",
|
|
18
|
+
flexFlow: "column nowrap",
|
|
19
|
+
alignItems: "center",
|
|
20
|
+
paddingTop: theme.space.xs,
|
|
21
|
+
}),
|
|
22
|
+
gaugeOuterSemiCircle: css({
|
|
23
|
+
position: "relative",
|
|
24
|
+
width: "122px",
|
|
25
|
+
height: "61px",
|
|
26
|
+
borderRadius: "61px 61px 0px 0px",
|
|
27
|
+
backgroundColor: theme.colors.positive,
|
|
28
|
+
overflow: "hidden",
|
|
29
|
+
}),
|
|
30
|
+
gaugeInnerSemiCircle: css({
|
|
31
|
+
position: "absolute",
|
|
32
|
+
width: "110px",
|
|
33
|
+
height: "55px",
|
|
34
|
+
borderRadius: "55px 55px 0px 0px",
|
|
35
|
+
backgroundColor: theme.colors.bgPage,
|
|
36
|
+
bottom: 0,
|
|
37
|
+
left: 0,
|
|
38
|
+
right: 0,
|
|
39
|
+
margin: "auto",
|
|
40
|
+
}),
|
|
41
|
+
gaugeMask: css({
|
|
42
|
+
position: "absolute",
|
|
43
|
+
width: "122px",
|
|
44
|
+
height: "61px",
|
|
45
|
+
borderRadius: "61px 61px 0px 0px",
|
|
46
|
+
bottom: 0,
|
|
47
|
+
left: 0,
|
|
48
|
+
right: 0,
|
|
49
|
+
margin: "auto",
|
|
50
|
+
backgroundColor: theme.colors.border,
|
|
51
|
+
transformOrigin: "bottom center",
|
|
52
|
+
}),
|
|
53
|
+
gaugeIndicatorContainer: css({
|
|
54
|
+
position: "absolute",
|
|
55
|
+
zIndex: 10,
|
|
56
|
+
display: "flex",
|
|
57
|
+
alignItems: "baseline",
|
|
58
|
+
justifyContent: "center",
|
|
59
|
+
gap: 2,
|
|
60
|
+
left: 0,
|
|
61
|
+
right: 0,
|
|
62
|
+
margin: "auto",
|
|
63
|
+
bottom: -8,
|
|
64
|
+
}),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const GaugeChart = ({
|
|
68
|
+
indicator,
|
|
69
|
+
unit,
|
|
70
|
+
percentage,
|
|
71
|
+
}: Record<string, React.ReactNode>) => (
|
|
72
|
+
<div className={styles.gaugeOuterSemiCircle}>
|
|
73
|
+
<div
|
|
74
|
+
className={styles.gaugeMask}
|
|
75
|
+
style={{ transform: `rotate(${percentage}deg)` }}
|
|
76
|
+
/>
|
|
77
|
+
<div className={styles.gaugeInnerSemiCircle} />
|
|
78
|
+
<div className={styles.gaugeIndicatorContainer}>
|
|
79
|
+
<HvTypography variant="title2">{indicator}</HvTypography>
|
|
80
|
+
{unit && <HvTypography variant="caption1">{unit}</HvTypography>}
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
interface KpiProps extends HvCardProps {
|
|
86
|
+
title: string;
|
|
87
|
+
value: React.ReactNode;
|
|
88
|
+
unit?: React.ReactNode;
|
|
89
|
+
color: HvCardProps["statusColor"];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export const Kpi = ({ title, value, color, unit = "t/h" }: KpiProps) => {
|
|
93
|
+
return (
|
|
94
|
+
<HvCard
|
|
95
|
+
statusColor={color}
|
|
96
|
+
bgcolor="bgPage"
|
|
97
|
+
icon={<Level0Good title="Good" color="positive" />}
|
|
98
|
+
>
|
|
99
|
+
<HvCardContent className={styles.contentContainer}>
|
|
100
|
+
<HvTypography className={styles.title} variant="label">
|
|
101
|
+
{title}
|
|
102
|
+
</HvTypography>
|
|
103
|
+
<GaugeChart indicator={value} unit={unit} percentage={125} />
|
|
104
|
+
</HvCardContent>
|
|
105
|
+
</HvCard>
|
|
106
|
+
);
|
|
107
|
+
};
|