@canmingir/link 1.2.26 → 1.2.30
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/package.json +9 -5
- package/src/Platform.jsx +1 -0
- package/src/assets/illustrations/avatar-shape.jsx +6 -7
- package/src/assets/illustrations/booking-illustration.jsx +4 -14
- package/src/assets/illustrations/check-in-illustration.jsx +4 -10
- package/src/assets/illustrations/check-out-illustration.jsx +4 -3
- package/src/assets/illustrations/coming-soon-illustration.jsx +4 -17
- package/src/assets/illustrations/forbidden-illustration.jsx +4 -12
- package/src/assets/illustrations/maintenance-illustration.jsx +4 -24
- package/src/assets/illustrations/motivation-illustration.jsx +4 -9
- package/src/assets/illustrations/order-complete-illustration.jsx +4 -12
- package/src/assets/illustrations/page-not-found-illustration.jsx +4 -9
- package/src/assets/illustrations/seo-illustration.jsx +4 -16
- package/src/assets/illustrations/sever-error-illustration.jsx +4 -21
- package/src/assets/illustrations/upgrade-storage-illustration.jsx +4 -20
- package/src/assets/illustrations/upload-illustration.jsx +4 -81
- package/src/components/TopNavBar/TopNavBar.jsx +6 -2
- package/src/components/file-thumbnail/file-thumbnail.jsx +5 -6
- package/src/components/label/label.jsx +0 -4
- package/src/components/nav-section/horizontal/nav-section-horizontal.jsx +5 -6
- package/src/components/settings/drawer/layout-options.jsx +5 -4
- package/src/components/settings/drawer/presets-options.jsx +6 -5
- package/src/components/settings/drawer/settings-drawer.jsx +7 -4
- package/src/components/settings/drawer/stretch-options.jsx +5 -5
- package/src/hooks/index.js +2 -1
- package/src/hooks/use-beta.js +8 -0
- package/src/layouts/DashboardLayout/header.jsx +5 -4
- package/src/layouts/DashboardLayout/nav-mini.jsx +5 -7
- package/src/layouts/DashboardLayout/nav-vertical.jsx +11 -11
- package/src/layouts/FullScreenLayout/FullScreenLayout.jsx +5 -1
- package/src/layouts/FullScreenLayout/nav-vertical.jsx +11 -11
- package/src/layouts/MainLayout/footer.jsx +7 -7
- package/src/layouts/MainLayout/header.jsx +3 -2
- package/src/layouts/MainLayout/nav/desktop/nav-list.jsx +8 -8
- package/src/layouts/MainLayout/nav/mobile/index.jsx +7 -6
- package/src/layouts/TwoSideLayout/TwoSideLayout.jsx +9 -3
- package/src/layouts/auth/classic.jsx +6 -6
- package/src/layouts/auth/modern.jsx +3 -4
- package/src/layouts/common/ProjectBar/index.jsx +13 -11
- package/src/layouts/common/header-sim.jsx +3 -2
- package/src/layouts/common/header-simple.jsx +6 -3
- package/src/layouts/common/notifications-popover/index.jsx +18 -13
- package/src/layouts/common/notifications-popover/notification-item.jsx +28 -16
- package/src/lib/APIPath/APIPath.jsx +2 -2
- package/src/lib/APITree/APITree.jsx +3 -1
- package/src/lib/AddItemWizard/AddItemWizard.jsx +21 -10
- package/src/lib/CustomBreadcrumbs/CustomBreadcrumbs.jsx +3 -2
- package/src/lib/Flow/layouts/CardLayout.jsx +4 -3
- package/src/lib/Flow/nodes/DefaultCard.jsx +6 -8
- package/src/lib/IconSelector/IconSelector.jsx +5 -1
- package/src/lib/ItemSummary/ItemSummary.jsx +11 -6
- package/src/lib/ItemSummary/ItemsSummary.jsx +38 -26
- package/src/lib/Label/Label.jsx +0 -4
- package/src/lib/ResourceMenu/ResourceMenu.jsx +3 -1
- package/src/lib/SparkleInput/SparkleInput.jsx +31 -28
- package/src/lib/TableSelectedAction/TableSelectedAction.jsx +7 -8
- package/src/pages/ConfigError.jsx +3 -1
- package/src/theme/index.jsx +47 -48
- package/src/theme/overrides/components/loading-button.js +5 -5
- package/src/theme/overrides/default-props.jsx +17 -11
- package/src/widgets/Login/CognitoLogin.jsx +61 -53
- package/src/widgets/Login/DemoLogin.jsx +34 -31
- package/src/widgets/SettingsDialog.jsx +62 -19
|
@@ -37,8 +37,8 @@ const APIPath = ({
|
|
|
37
37
|
return (
|
|
38
38
|
<Grid container sx={styles.root} data-cy="api-path">
|
|
39
39
|
<Grid sx={styles.firstElement} />
|
|
40
|
-
<Grid
|
|
41
|
-
<Grid container
|
|
40
|
+
<Grid>
|
|
41
|
+
<Grid container sx={styles.content}>
|
|
42
42
|
{isMethodDisabled ? (
|
|
43
43
|
<Typography data-cy="method-text">{method}</Typography>
|
|
44
44
|
) : (
|
|
@@ -73,10 +73,11 @@ function AddItemWizard({ onSubmit, items, steps, stepExp }) {
|
|
|
73
73
|
<Stack
|
|
74
74
|
container
|
|
75
75
|
direction="column"
|
|
76
|
-
alignItems="center"
|
|
77
|
-
justifyContent="center"
|
|
78
76
|
spacing={2}
|
|
79
|
-
|
|
77
|
+
sx={{
|
|
78
|
+
alignItems: "center",
|
|
79
|
+
justifyContent: "center"
|
|
80
|
+
}}>
|
|
80
81
|
<SparkleInput
|
|
81
82
|
prop="name"
|
|
82
83
|
value={newItems[0].details.name}
|
|
@@ -94,7 +95,9 @@ function AddItemWizard({ onSubmit, items, steps, stepExp }) {
|
|
|
94
95
|
<Typography variant="subtitle1" color={"gray"} sx={{ mb: -2 }}>
|
|
95
96
|
Service Type
|
|
96
97
|
</Typography>
|
|
97
|
-
<Stack direction="row"
|
|
98
|
+
<Stack direction="row" sx={{
|
|
99
|
+
alignItems: "center"
|
|
100
|
+
}}>
|
|
98
101
|
<Typography>Single</Typography>
|
|
99
102
|
<Switch
|
|
100
103
|
data-cy="type-switch"
|
|
@@ -109,8 +112,14 @@ function AddItemWizard({ onSubmit, items, steps, stepExp }) {
|
|
|
109
112
|
|
|
110
113
|
const Service = () => {
|
|
111
114
|
return (
|
|
112
|
-
<Grid
|
|
113
|
-
|
|
115
|
+
<Grid
|
|
116
|
+
container
|
|
117
|
+
spacing={2}
|
|
118
|
+
sx={{
|
|
119
|
+
justifyContent: "center",
|
|
120
|
+
mt: 1
|
|
121
|
+
}}>
|
|
122
|
+
<Grid size={5}>
|
|
114
123
|
<Stack
|
|
115
124
|
sx={{
|
|
116
125
|
borderStyle: "none dotted none none",
|
|
@@ -128,9 +137,11 @@ function AddItemWizard({ onSubmit, items, steps, stepExp }) {
|
|
|
128
137
|
<Typography
|
|
129
138
|
variant="subtitle1"
|
|
130
139
|
color={"gray"}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
140
|
+
sx={{
|
|
141
|
+
textAlign: "center",
|
|
142
|
+
marginTop: 2,
|
|
143
|
+
marginBottom: 1
|
|
144
|
+
}}>
|
|
134
145
|
Select an Icon
|
|
135
146
|
</Typography>
|
|
136
147
|
<SelectAvatar
|
|
@@ -142,7 +153,7 @@ function AddItemWizard({ onSubmit, items, steps, stepExp }) {
|
|
|
142
153
|
/>
|
|
143
154
|
</Stack>
|
|
144
155
|
</Grid>
|
|
145
|
-
<Grid
|
|
156
|
+
<Grid size={7}>
|
|
146
157
|
<SparkleInput
|
|
147
158
|
prop="description"
|
|
148
159
|
value={newItems[1].details.description}
|
|
@@ -19,7 +19,9 @@ export default function CustomBreadcrumbs({
|
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
21
|
<Box sx={{ ...sx }}>
|
|
22
|
-
<Stack direction="row"
|
|
22
|
+
<Stack direction="row" sx={{
|
|
23
|
+
alignItems: "center"
|
|
24
|
+
}}>
|
|
23
25
|
<Box sx={{ flexGrow: 1 }}>
|
|
24
26
|
{heading && (
|
|
25
27
|
<Typography variant="h4" gutterBottom>
|
|
@@ -43,7 +45,6 @@ export default function CustomBreadcrumbs({
|
|
|
43
45
|
|
|
44
46
|
{action && <Box sx={{ flexShrink: 0 }}> {action} </Box>}
|
|
45
47
|
</Stack>
|
|
46
|
-
|
|
47
48
|
{!!moreLink && (
|
|
48
49
|
<Box sx={{ mt: 2 }}>
|
|
49
50
|
{moreLink.map((href) => (
|
|
@@ -383,9 +383,10 @@ export function AvatarRoleCard({
|
|
|
383
383
|
>
|
|
384
384
|
<Stack
|
|
385
385
|
direction="row"
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
386
|
+
sx={{
|
|
387
|
+
justifyContent: "space-between",
|
|
388
|
+
alignItems: "flex-start"
|
|
389
|
+
}}>
|
|
389
390
|
{leftContent}
|
|
390
391
|
{topRightContent}
|
|
391
392
|
</Stack>
|
|
@@ -70,13 +70,12 @@ const DefaultNodeCard = ({
|
|
|
70
70
|
{subtitle && (
|
|
71
71
|
<Typography
|
|
72
72
|
variant="body2"
|
|
73
|
-
color="text.secondary"
|
|
74
73
|
sx={{
|
|
74
|
+
color: "text.secondary",
|
|
75
75
|
textAlign: "center",
|
|
76
76
|
fontSize: 11,
|
|
77
|
-
mb: metaEntries.length ? 0.5 : 0
|
|
78
|
-
}}
|
|
79
|
-
>
|
|
77
|
+
mb: metaEntries.length ? 0.5 : 0
|
|
78
|
+
}}>
|
|
80
79
|
{subtitle}
|
|
81
80
|
</Typography>
|
|
82
81
|
)}
|
|
@@ -87,13 +86,12 @@ const DefaultNodeCard = ({
|
|
|
87
86
|
<Typography
|
|
88
87
|
key={key}
|
|
89
88
|
variant="caption"
|
|
90
|
-
color="text.secondary"
|
|
91
89
|
sx={{
|
|
90
|
+
color: "text.secondary",
|
|
92
91
|
textAlign: "center",
|
|
93
92
|
display: "block",
|
|
94
|
-
fontSize: 10
|
|
95
|
-
}}
|
|
96
|
-
>
|
|
93
|
+
fontSize: 10
|
|
94
|
+
}}>
|
|
97
95
|
{key}: {String(value)}
|
|
98
96
|
</Typography>
|
|
99
97
|
))}
|
|
@@ -18,7 +18,11 @@ export default function IconSelector({
|
|
|
18
18
|
setEmojiDialogOpen(true);
|
|
19
19
|
};
|
|
20
20
|
return (
|
|
21
|
-
<Stack
|
|
21
|
+
<Stack
|
|
22
|
+
sx={{
|
|
23
|
+
alignContent: "center",
|
|
24
|
+
justifyContent: "center"
|
|
25
|
+
}}>
|
|
22
26
|
<Stack>
|
|
23
27
|
<IconButton
|
|
24
28
|
data-cy="avatar-select-button"
|
|
@@ -17,15 +17,15 @@ export default function ItemSummary({ newItem }) {
|
|
|
17
17
|
<DialogContentText sx={{ textAlign: "center", mb: 2 }}>
|
|
18
18
|
Summary
|
|
19
19
|
</DialogContentText>
|
|
20
|
-
<Grid container spacing={1}
|
|
20
|
+
<Grid container spacing={1} sx={{
|
|
21
|
+
mb: 4
|
|
22
|
+
}}>
|
|
21
23
|
<Grid
|
|
22
|
-
item
|
|
23
|
-
xs={newItem.description ? 4 : 12}
|
|
24
24
|
sx={{
|
|
25
25
|
justifyContent: "center",
|
|
26
26
|
display: "flex",
|
|
27
27
|
}}
|
|
28
|
-
|
|
28
|
+
size={newItem.description ? 4 : 12}>
|
|
29
29
|
<Card
|
|
30
30
|
sx={{
|
|
31
31
|
bgcolor: (theme) => theme.palette.background.paper,
|
|
@@ -37,7 +37,12 @@ export default function ItemSummary({ newItem }) {
|
|
|
37
37
|
<CardContent
|
|
38
38
|
children={
|
|
39
39
|
<>
|
|
40
|
-
<Typography
|
|
40
|
+
<Typography
|
|
41
|
+
variant="h6"
|
|
42
|
+
sx={{
|
|
43
|
+
textAlign: "center",
|
|
44
|
+
mb: 2
|
|
45
|
+
}}>
|
|
41
46
|
{newItem.name}
|
|
42
47
|
</Typography>
|
|
43
48
|
<Stack
|
|
@@ -63,7 +68,7 @@ export default function ItemSummary({ newItem }) {
|
|
|
63
68
|
</Card>
|
|
64
69
|
</Grid>
|
|
65
70
|
{newItem.description && (
|
|
66
|
-
<Grid
|
|
71
|
+
<Grid size={8}>
|
|
67
72
|
<Card sx={{ minHeight: "100%" }}>
|
|
68
73
|
<CardHeader title="Description" />
|
|
69
74
|
<CardContent>
|
|
@@ -19,15 +19,15 @@ export default function ItemsSummary({ newItems }) {
|
|
|
19
19
|
<DialogContentText sx={{ textAlign: "center", mb: 2 }}>
|
|
20
20
|
Summary
|
|
21
21
|
</DialogContentText>
|
|
22
|
-
<Grid container
|
|
22
|
+
<Grid container sx={{
|
|
23
|
+
mb: 4
|
|
24
|
+
}}>
|
|
23
25
|
<Grid
|
|
24
|
-
item
|
|
25
|
-
xs={5}
|
|
26
26
|
sx={{
|
|
27
27
|
justifyContent: "center",
|
|
28
28
|
display: "flex",
|
|
29
29
|
}}
|
|
30
|
-
|
|
30
|
+
size={5}>
|
|
31
31
|
<Stack
|
|
32
32
|
sx={{
|
|
33
33
|
height: "100%",
|
|
@@ -45,27 +45,34 @@ export default function ItemsSummary({ newItems }) {
|
|
|
45
45
|
>
|
|
46
46
|
<CardHeader
|
|
47
47
|
title={"Project Summary"}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
slotProps={{
|
|
49
|
+
title: {
|
|
50
|
+
variant: "subtitle1",
|
|
51
|
+
textAlign: "center",
|
|
52
|
+
color: "text.secondary",
|
|
53
|
+
}
|
|
52
54
|
}}
|
|
53
55
|
/>
|
|
54
56
|
<CardContent
|
|
55
57
|
children={
|
|
56
58
|
<>
|
|
57
|
-
<Typography
|
|
59
|
+
<Typography
|
|
60
|
+
variant="h6"
|
|
61
|
+
sx={{
|
|
62
|
+
textAlign: "center",
|
|
63
|
+
mb: 2
|
|
64
|
+
}}>
|
|
58
65
|
{newItems[0].details.name}
|
|
59
66
|
</Typography>
|
|
60
67
|
<Stack
|
|
61
|
-
padding={1}
|
|
62
68
|
sx={{
|
|
69
|
+
padding: 1,
|
|
70
|
+
|
|
63
71
|
"& .svg-color": {
|
|
64
72
|
background: (theme) =>
|
|
65
73
|
`linear-gradient(135deg, ${theme.palette.primary.light} 0%, ${theme.palette.primary.main} 100%)`,
|
|
66
|
-
}
|
|
67
|
-
}}
|
|
68
|
-
>
|
|
74
|
+
}
|
|
75
|
+
}}>
|
|
69
76
|
<SvgColor
|
|
70
77
|
src={`https://api.iconify.design/${newItems[0].details.icon?.slice(
|
|
71
78
|
1,
|
|
@@ -87,17 +94,15 @@ export default function ItemsSummary({ newItems }) {
|
|
|
87
94
|
</Stack>
|
|
88
95
|
</Grid>
|
|
89
96
|
<Grid
|
|
90
|
-
item
|
|
91
|
-
xs={2}
|
|
92
97
|
sx={{
|
|
93
98
|
display: "flex",
|
|
94
99
|
alignContent: "center",
|
|
95
100
|
justifyContent: "center",
|
|
96
101
|
}}
|
|
97
|
-
|
|
102
|
+
size={2}>
|
|
98
103
|
<Divider orientation="vertical" sx={{ borderStyle: "dashed" }} />
|
|
99
104
|
</Grid>
|
|
100
|
-
<Grid
|
|
105
|
+
<Grid size={5}>
|
|
101
106
|
<Stack
|
|
102
107
|
sx={{
|
|
103
108
|
height: "100%",
|
|
@@ -108,27 +113,34 @@ export default function ItemsSummary({ newItems }) {
|
|
|
108
113
|
<Card>
|
|
109
114
|
<CardHeader
|
|
110
115
|
title={"Service Summary"}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
116
|
+
slotProps={{
|
|
117
|
+
title: {
|
|
118
|
+
variant: "subtitle1",
|
|
119
|
+
textAlign: "center",
|
|
120
|
+
color: "text.secondary",
|
|
121
|
+
}
|
|
115
122
|
}}
|
|
116
123
|
/>
|
|
117
124
|
<CardContent
|
|
118
125
|
children={
|
|
119
126
|
<>
|
|
120
|
-
<Typography
|
|
127
|
+
<Typography
|
|
128
|
+
variant="h6"
|
|
129
|
+
sx={{
|
|
130
|
+
textAlign: "center",
|
|
131
|
+
mb: 2
|
|
132
|
+
}}>
|
|
121
133
|
{newItems[1].details.name}
|
|
122
134
|
</Typography>
|
|
123
135
|
<Stack
|
|
124
|
-
padding={1}
|
|
125
136
|
sx={{
|
|
137
|
+
padding: 1,
|
|
138
|
+
|
|
126
139
|
"& .svg-color": {
|
|
127
140
|
background: (theme) =>
|
|
128
141
|
`linear-gradient(135deg, ${theme.palette.primary.light} 0%, ${theme.palette.primary.main} 100%)`,
|
|
129
|
-
}
|
|
130
|
-
}}
|
|
131
|
-
>
|
|
142
|
+
}
|
|
143
|
+
}}>
|
|
132
144
|
<SvgColor
|
|
133
145
|
src={`https://api.iconify.design/${newItems[1].details.icon?.slice(
|
|
134
146
|
1,
|
package/src/lib/Label/Label.jsx
CHANGED
|
@@ -2,7 +2,6 @@ import Box from "@mui/material/Box";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { StyledLabel } from "./styles";
|
|
4
4
|
import { forwardRef } from "react";
|
|
5
|
-
import { useTheme } from "@mui/material/styles";
|
|
6
5
|
|
|
7
6
|
const Label = forwardRef(
|
|
8
7
|
(
|
|
@@ -17,8 +16,6 @@ const Label = forwardRef(
|
|
|
17
16
|
},
|
|
18
17
|
ref
|
|
19
18
|
) => {
|
|
20
|
-
const theme = useTheme();
|
|
21
|
-
|
|
22
19
|
const iconStyles = {
|
|
23
20
|
width: 16,
|
|
24
21
|
height: 16,
|
|
@@ -35,7 +32,6 @@ const Label = forwardRef(
|
|
|
35
32
|
...(endIcon && { pr: 0.75 }),
|
|
36
33
|
...sx,
|
|
37
34
|
}}
|
|
38
|
-
theme={theme}
|
|
39
35
|
{...other}
|
|
40
36
|
>
|
|
41
37
|
{startIcon && <Box sx={{ mr: 0.75, ...iconStyles }}> {startIcon} </Box>}
|
|
@@ -125,7 +125,9 @@ const ResourceMenu = (props) => {
|
|
|
125
125
|
top: anchor?.clientY || 0,
|
|
126
126
|
left: anchor?.clientX || 0,
|
|
127
127
|
}}
|
|
128
|
-
|
|
128
|
+
slots={{
|
|
129
|
+
transition: Fade
|
|
130
|
+
}}
|
|
129
131
|
>
|
|
130
132
|
<MenuItem onClick={addResource} data-cy="add-resource">
|
|
131
133
|
<SourceIcon />
|
|
@@ -11,41 +11,44 @@ export default function SparkleInput({
|
|
|
11
11
|
}) {
|
|
12
12
|
return (
|
|
13
13
|
<TextField
|
|
14
|
-
inputProps={{
|
|
15
|
-
"data-cy": prop,
|
|
16
|
-
}}
|
|
17
14
|
autoFocus
|
|
18
15
|
margin="dense"
|
|
19
16
|
label={prop}
|
|
20
17
|
fullWidth={true}
|
|
21
18
|
value={value || ""}
|
|
22
19
|
onChange={onChange}
|
|
23
|
-
InputLabelProps={{
|
|
24
|
-
sx: { color: (theme) => theme.palette.text.primary },
|
|
25
|
-
}}
|
|
26
|
-
InputProps={{
|
|
27
|
-
endAdornment: sparkle && (
|
|
28
|
-
<InputAdornment position="end">
|
|
29
|
-
<IconButton>
|
|
30
|
-
<SvgIcon>
|
|
31
|
-
<svg
|
|
32
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
33
|
-
width="20"
|
|
34
|
-
height="20"
|
|
35
|
-
viewBox="0 0 20 20"
|
|
36
|
-
>
|
|
37
|
-
<path
|
|
38
|
-
fill="white"
|
|
39
|
-
d="M7.398 12.809a1.042 1.042 0 0 0 1.204-.003c.178-.13.313-.31.387-.518l.447-1.373a2.336 2.336 0 0 1 1.477-1.479l1.391-.45a1.045 1.045 0 0 0-.044-1.98l-1.375-.448a2.335 2.335 0 0 1-1.48-1.477l-.452-1.388a1.044 1.044 0 0 0-1.973.017l-.457 1.4a2.336 2.336 0 0 1-1.44 1.45l-1.39.447a1.045 1.045 0 0 0 .016 1.974l1.374.445a2.333 2.333 0 0 1 1.481 1.488l.452 1.391c.072.204.206.38.382.504m.085-7.415l.527-1.377l.44 1.377a3.331 3.331 0 0 0 2.117 2.114l1.406.53l-1.382.447a3.344 3.344 0 0 0-2.115 2.117l-.523 1.378l-.449-1.379a3.336 3.336 0 0 0-.8-1.31a3.373 3.373 0 0 0-1.312-.812l-1.378-.522l1.386-.45a3.358 3.358 0 0 0 1.29-.813a3.4 3.4 0 0 0 .793-1.3m6.052 11.457a.806.806 0 0 0 1.226-.398l.248-.762a1.09 1.09 0 0 1 .26-.42c.118-.12.262-.208.42-.26l.772-.252a.8.8 0 0 0-.023-1.52l-.764-.25a1.075 1.075 0 0 1-.68-.678l-.252-.773a.8.8 0 0 0-1.518.01l-.247.762a1.068 1.068 0 0 1-.665.679l-.773.252a.8.8 0 0 0 .008 1.518l.763.247c.16.054.304.143.422.261c.119.119.207.263.258.422l.253.774a.8.8 0 0 0 .292.388m-.913-2.793L12.443 14l.184-.064a2.11 2.11 0 0 0 1.3-1.317l.058-.178l.06.181a2.078 2.078 0 0 0 1.316 1.316l.195.063l-.18.06a2.076 2.076 0 0 0-1.317 1.32l-.059.181l-.058-.18a2.075 2.075 0 0 0-1.32-1.323"
|
|
40
|
-
/>
|
|
41
|
-
</svg>
|
|
42
|
-
</SvgIcon>
|
|
43
|
-
</IconButton>
|
|
44
|
-
</InputAdornment>
|
|
45
|
-
),
|
|
46
|
-
}}
|
|
47
20
|
sx={{ textTransform: "capitalize" }}
|
|
48
21
|
{...others}
|
|
49
|
-
|
|
22
|
+
slotProps={{
|
|
23
|
+
input: {
|
|
24
|
+
endAdornment: sparkle && (
|
|
25
|
+
<InputAdornment position="end">
|
|
26
|
+
<IconButton>
|
|
27
|
+
<SvgIcon>
|
|
28
|
+
<svg
|
|
29
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
30
|
+
width="20"
|
|
31
|
+
height="20"
|
|
32
|
+
viewBox="0 0 20 20"
|
|
33
|
+
>
|
|
34
|
+
<path
|
|
35
|
+
fill="white"
|
|
36
|
+
d="M7.398 12.809a1.042 1.042 0 0 0 1.204-.003c.178-.13.313-.31.387-.518l.447-1.373a2.336 2.336 0 0 1 1.477-1.479l1.391-.45a1.045 1.045 0 0 0-.044-1.98l-1.375-.448a2.335 2.335 0 0 1-1.48-1.477l-.452-1.388a1.044 1.044 0 0 0-1.973.017l-.457 1.4a2.336 2.336 0 0 1-1.44 1.45l-1.39.447a1.045 1.045 0 0 0 .016 1.974l1.374.445a2.333 2.333 0 0 1 1.481 1.488l.452 1.391c.072.204.206.38.382.504m.085-7.415l.527-1.377l.44 1.377a3.331 3.331 0 0 0 2.117 2.114l1.406.53l-1.382.447a3.344 3.344 0 0 0-2.115 2.117l-.523 1.378l-.449-1.379a3.336 3.336 0 0 0-.8-1.31a3.373 3.373 0 0 0-1.312-.812l-1.378-.522l1.386-.45a3.358 3.358 0 0 0 1.29-.813a3.4 3.4 0 0 0 .793-1.3m6.052 11.457a.806.806 0 0 0 1.226-.398l.248-.762a1.09 1.09 0 0 1 .26-.42c.118-.12.262-.208.42-.26l.772-.252a.8.8 0 0 0-.023-1.52l-.764-.25a1.075 1.075 0 0 1-.68-.678l-.252-.773a.8.8 0 0 0-1.518.01l-.247.762a1.068 1.068 0 0 1-.665.679l-.773.252a.8.8 0 0 0 .008 1.518l.763.247c.16.054.304.143.422.261c.119.119.207.263.258.422l.253.774a.8.8 0 0 0 .292.388m-.913-2.793L12.443 14l.184-.064a2.11 2.11 0 0 0 1.3-1.317l.058-.178l.06.181a2.078 2.078 0 0 0 1.316 1.316l.195.063l-.18.06a2.076 2.076 0 0 0-1.317 1.32l-.059.181l-.058-.18a2.075 2.075 0 0 0-1.32-1.323"
|
|
37
|
+
/>
|
|
38
|
+
</svg>
|
|
39
|
+
</SvgIcon>
|
|
40
|
+
</IconButton>
|
|
41
|
+
</InputAdornment>
|
|
42
|
+
),
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
htmlInput: {
|
|
46
|
+
"data-cy": prop,
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
inputLabel: {
|
|
50
|
+
sx: { color: (theme) => theme.palette.text.primary },
|
|
51
|
+
}
|
|
52
|
+
}} />
|
|
50
53
|
);
|
|
51
54
|
}
|
|
@@ -19,8 +19,9 @@ export default function TableSelectedAction({
|
|
|
19
19
|
return (
|
|
20
20
|
<Stack
|
|
21
21
|
direction="row"
|
|
22
|
-
|
|
23
|
-
sx={{
|
|
22
|
+
{...other}
|
|
23
|
+
sx={[{
|
|
24
|
+
alignItems: "center",
|
|
24
25
|
pl: 1,
|
|
25
26
|
pr: 2,
|
|
26
27
|
top: 0,
|
|
@@ -30,19 +31,18 @@ export default function TableSelectedAction({
|
|
|
30
31
|
height: 58,
|
|
31
32
|
position: "absolute",
|
|
32
33
|
bgcolor: "primary.lighter",
|
|
34
|
+
|
|
33
35
|
...(dense && {
|
|
34
36
|
height: 38,
|
|
35
37
|
}),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
>
|
|
38
|
+
|
|
39
|
+
...sx
|
|
40
|
+
}, ...(Array.isArray(other.sx) ? other.sx : [other.sx])]}>
|
|
40
41
|
<Checkbox
|
|
41
42
|
indeterminate={!!numSelected && numSelected < rowCount}
|
|
42
43
|
checked={!!rowCount && numSelected === rowCount}
|
|
43
44
|
onChange={(event) => onSelectAllRows(event.target.checked)}
|
|
44
45
|
/>
|
|
45
|
-
|
|
46
46
|
<Typography
|
|
47
47
|
variant="subtitle2"
|
|
48
48
|
sx={{
|
|
@@ -56,7 +56,6 @@ export default function TableSelectedAction({
|
|
|
56
56
|
>
|
|
57
57
|
{numSelected} selected
|
|
58
58
|
</Typography>
|
|
59
|
-
|
|
60
59
|
{action && action}
|
|
61
60
|
</Stack>
|
|
62
61
|
);
|
|
@@ -20,7 +20,9 @@ const ConfigErrorDialog = () => {
|
|
|
20
20
|
return (
|
|
21
21
|
<Dialog fullWidth open>
|
|
22
22
|
<DialogTitle>
|
|
23
|
-
<Stack direction="row"
|
|
23
|
+
<Stack direction="row" sx={{
|
|
24
|
+
alignItems: "center"
|
|
25
|
+
}}>
|
|
24
26
|
<Box
|
|
25
27
|
component="span"
|
|
26
28
|
sx={{ display: "flex", alignItems: "center", mr: 1 }}
|
package/src/theme/index.jsx
CHANGED
|
@@ -23,8 +23,9 @@ export default function ThemeProvider({ children }) {
|
|
|
23
23
|
const contrast = createContrast(settings.themeContrast, settings.themeMode);
|
|
24
24
|
const presets = createPresets(settings.themeColorPresets);
|
|
25
25
|
|
|
26
|
-
const
|
|
27
|
-
|
|
26
|
+
const theme = useMemo(() => {
|
|
27
|
+
// 1. Define the base configuration
|
|
28
|
+
const baseOptions = {
|
|
28
29
|
palette: {
|
|
29
30
|
...palette(settings.themeMode),
|
|
30
31
|
...presets.palette,
|
|
@@ -38,56 +39,54 @@ export default function ThemeProvider({ children }) {
|
|
|
38
39
|
shadows: shadows(settings.themeMode),
|
|
39
40
|
shape: { borderRadius: 8 },
|
|
40
41
|
typography,
|
|
41
|
-
}
|
|
42
|
-
[
|
|
43
|
-
settings.themeMode,
|
|
44
|
-
settings.themeDirection,
|
|
45
|
-
presets.palette,
|
|
46
|
-
presets.customShadows,
|
|
47
|
-
contrast.palette,
|
|
48
|
-
]
|
|
49
|
-
);
|
|
50
|
-
|
|
51
|
-
const theme = createTheme(memoizedValue);
|
|
52
|
-
|
|
53
|
-
theme.components = merge(componentsOverrides(theme), contrast.components, {
|
|
54
|
-
MuiCssBaseline: {
|
|
55
|
-
styleOverrides: {
|
|
56
|
-
body: {
|
|
57
|
-
scrollbarColor:
|
|
58
|
-
theme.palette.mode === "dark"
|
|
59
|
-
? `${theme.palette.grey[700]} ${theme.palette.background.default}`
|
|
60
|
-
: `${theme.palette.grey[500]} ${theme.palette.background.default}`,
|
|
61
|
-
scrollbarWidth: "thin",
|
|
62
|
-
|
|
63
|
-
"&::-webkit-scrollbar": {
|
|
64
|
-
width: 10,
|
|
65
|
-
height: 10,
|
|
66
|
-
},
|
|
42
|
+
};
|
|
67
43
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
"&::-webkit-scrollbar-thumb": {
|
|
73
|
-
backgroundColor:
|
|
74
|
-
theme.palette.mode === "dark"
|
|
75
|
-
? theme.palette.grey[700]
|
|
76
|
-
: theme.palette.grey[500],
|
|
77
|
-
borderRadius: 8,
|
|
78
|
-
border: `2px solid ${theme.palette.background.default}`,
|
|
79
|
-
},
|
|
44
|
+
// 2. Create a temporary theme instance to generate overrides
|
|
45
|
+
// (Overrides often need access to the palette/spacing of the theme)
|
|
46
|
+
const tempTheme = createTheme(baseOptions);
|
|
80
47
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
48
|
+
// 3. Merge components into the configuration
|
|
49
|
+
baseOptions.components = merge(
|
|
50
|
+
componentsOverrides(tempTheme),
|
|
51
|
+
contrast.components,
|
|
52
|
+
{
|
|
53
|
+
MuiCssBaseline: {
|
|
54
|
+
styleOverrides: {
|
|
55
|
+
body: {
|
|
56
|
+
scrollbarColor:
|
|
57
|
+
tempTheme.palette.mode === "dark"
|
|
58
|
+
? `${tempTheme.palette.grey[700]} ${tempTheme.palette.background.default}`
|
|
59
|
+
: `${tempTheme.palette.grey[500]} ${tempTheme.palette.background.default}`,
|
|
60
|
+
scrollbarWidth: "thin",
|
|
61
|
+
"&::-webkit-scrollbar": { width: 10, height: 10 },
|
|
62
|
+
"&::-webkit-scrollbar-track": {
|
|
63
|
+
backgroundColor: tempTheme.palette.background.default,
|
|
64
|
+
},
|
|
65
|
+
"&::-webkit-scrollbar-thumb": {
|
|
66
|
+
backgroundColor:
|
|
67
|
+
tempTheme.palette.mode === "dark"
|
|
68
|
+
? tempTheme.palette.grey[700]
|
|
69
|
+
: tempTheme.palette.grey[500],
|
|
70
|
+
borderRadius: 8,
|
|
71
|
+
border: `2px solid ${tempTheme.palette.background.default}`,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
86
74
|
},
|
|
87
75
|
},
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
// 4. Return the final, complete theme
|
|
80
|
+
return createTheme(baseOptions);
|
|
81
|
+
}, [
|
|
82
|
+
settings.themeMode,
|
|
83
|
+
settings.themeDirection,
|
|
84
|
+
settings.themeContrast, // Added this to the dependency array
|
|
85
|
+
presets.palette,
|
|
86
|
+
presets.customShadows,
|
|
87
|
+
contrast.palette,
|
|
88
|
+
contrast.components,
|
|
89
|
+
]);
|
|
91
90
|
|
|
92
91
|
return (
|
|
93
92
|
<MuiThemeProvider theme={theme}>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { buttonClasses } from "@mui/material/Button";
|
|
2
2
|
|
|
3
3
|
// ----------------------------------------------------------------------
|
|
4
4
|
|
|
@@ -8,17 +8,17 @@ export function loadingButton(theme) {
|
|
|
8
8
|
styleOverrides: {
|
|
9
9
|
root: ({ ownerState }) => ({
|
|
10
10
|
...(ownerState.variant === "soft" && {
|
|
11
|
-
[`& .${
|
|
11
|
+
[`& .${buttonClasses.loadingIndicatorStart}`]: {
|
|
12
12
|
left: 10,
|
|
13
13
|
},
|
|
14
|
-
[`& .${
|
|
14
|
+
[`& .${buttonClasses.loadingIndicatorEnd}`]: {
|
|
15
15
|
right: 14,
|
|
16
16
|
},
|
|
17
17
|
...(ownerState.size === "small" && {
|
|
18
|
-
[`& .${
|
|
18
|
+
[`& .${buttonClasses.loadingIndicatorStart}`]: {
|
|
19
19
|
left: 10,
|
|
20
20
|
},
|
|
21
|
-
[`& .${
|
|
21
|
+
[`& .${buttonClasses.loadingIndicatorEnd}`]: {
|
|
22
22
|
right: 10,
|
|
23
23
|
},
|
|
24
24
|
}),
|