@madie/madie-design-system 1.2.34 → 1.2.37
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/.storybook/main.js +6 -0
- package/components/Instant/Instant.stories.js +28 -0
- package/components/Instant/index.jsx +267 -0
- package/components/TextField/TextField.stories.js +14 -0
- package/components/TextField/index.jsx +45 -40
- package/components/index.js +2 -0
- package/coverage/clover.xml +78 -26
- package/coverage/coverage-final.json +5 -4
- package/coverage/lcov-report/index.html +29 -14
- package/coverage/lcov-report/react/components/Accordion/index.html +1 -1
- package/coverage/lcov-report/react/components/Accordion/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Button/index.html +1 -1
- package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
- package/coverage/lcov-report/react/components/DateField/DateField.jsx.html +1 -1
- package/coverage/lcov-report/react/components/DateField/index.html +1 -1
- package/coverage/lcov-report/react/components/DateTimeField/DateTimeField.jsx.html +1 -1
- package/coverage/lcov-report/react/components/DateTimeField/index.html +1 -1
- package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
- package/coverage/lcov-report/react/components/Error/index.html +1 -1
- package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
- package/coverage/lcov-report/react/components/Footer/index.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
- package/coverage/lcov-report/react/components/InputLabel/index.html +1 -1
- package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +4 -4
- package/coverage/lcov-report/react/components/Instant/index.html +116 -0
- package/coverage/lcov-report/react/components/Instant/index.jsx.html +886 -0
- package/coverage/lcov-report/react/components/MadieAlert/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/MadieDeleteDialog/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieDeleteDialog/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/MadieDialog/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieDialog/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/MadieSpinner/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/MadieTooltip/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieTooltip/index.jsx.html +3 -3
- package/coverage/lcov-report/react/components/MadieTooltipIcon/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieTooltipIcon/index.jsx.html +3 -3
- package/coverage/lcov-report/react/components/Pagination/index.html +1 -1
- package/coverage/lcov-report/react/components/Pagination/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Popover/index.html +1 -1
- package/coverage/lcov-report/react/components/Popover/index.js.html +1 -1
- package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +1 -1
- package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Select/index.html +1 -1
- package/coverage/lcov-report/react/components/Select/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Tabs/Tab.js.html +1 -1
- package/coverage/lcov-report/react/components/Tabs/index.html +1 -1
- package/coverage/lcov-report/react/components/Tabs/index.js.html +1 -1
- package/coverage/lcov-report/react/components/TextArea/index.html +1 -1
- package/coverage/lcov-report/react/components/TextArea/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/TextField/index.html +11 -11
- package/coverage/lcov-report/react/components/TextField/index.jsx.html +74 -59
- package/coverage/lcov-report/react/components/Toast/index.html +1 -1
- package/coverage/lcov-report/react/components/Toast/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
- package/coverage/lcov-report/react/index.html +1 -1
- package/coverage/lcov-report/react/index.js.html +1 -1
- package/coverage/lcov-report/react/lib/Chevron.jsx.html +1 -1
- package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1 -1
- package/coverage/lcov-report/react/lib/index.html +1 -1
- package/coverage/lcov.info +173 -64
- package/dist/browser.js +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/package-lock.json +203 -120
- package/package.json +2 -2
- package/test/components/Instant.test.js +83 -0
- package/test/components/TextField.test.js +47 -15
- package/webpack.config.react.js +13 -0
package/.storybook/main.js
CHANGED
|
@@ -39,6 +39,12 @@ module.exports = {
|
|
|
39
39
|
},
|
|
40
40
|
],
|
|
41
41
|
});
|
|
42
|
+
// the below lines add hot reload, but somehow put CI/CD into a hanging state
|
|
43
|
+
// config.watchOptions = {
|
|
44
|
+
// aggregateTimeout: 300, // Delay before rebuilding after the first change
|
|
45
|
+
// poll: 1000, // Check for changes every second
|
|
46
|
+
// ignored: /node_modules/, // Ignore node_modules to improve performance
|
|
47
|
+
// };
|
|
42
48
|
|
|
43
49
|
return config;
|
|
44
50
|
},
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import Instant from "./index";
|
|
3
|
+
import { withKnobs } from "@storybook/addon-knobs";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: "Instant",
|
|
7
|
+
component: Instant,
|
|
8
|
+
decorators: [withKnobs],
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const InstantComponent = (args) => {
|
|
12
|
+
const [value, setValue] = useState("");
|
|
13
|
+
const handleDateTimeChange = (v) => {
|
|
14
|
+
setValue(v);
|
|
15
|
+
};
|
|
16
|
+
return (
|
|
17
|
+
<div className="qpp-u-padding--16">
|
|
18
|
+
<div> Date string: {value} </div>
|
|
19
|
+
<Instant
|
|
20
|
+
disabled={false}
|
|
21
|
+
id="status_date_time"
|
|
22
|
+
label="Status Date/Time"
|
|
23
|
+
handleDateTimeChange={handleDateTimeChange}
|
|
24
|
+
dateTimeValue={value}
|
|
25
|
+
/>
|
|
26
|
+
</div>
|
|
27
|
+
);
|
|
28
|
+
};
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import TextField from "../TextField";
|
|
4
|
+
import { DatePicker } from "@mui/x-date-pickers/DatePicker";
|
|
5
|
+
import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
|
|
6
|
+
import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
|
|
7
|
+
import dayjs from "dayjs";
|
|
8
|
+
import utc from "dayjs/plugin/utc";
|
|
9
|
+
import timezone from "dayjs/plugin/timezone";
|
|
10
|
+
import { FormControl, Box } from "@mui/material";
|
|
11
|
+
|
|
12
|
+
dayjs.extend(utc);
|
|
13
|
+
dayjs.utc();
|
|
14
|
+
dayjs.extend(timezone);
|
|
15
|
+
const formatDateTime = (dateTime) =>
|
|
16
|
+
dayjs.utc(dateTime).format("YYYY-MM-DDTHH:mm:ss.SSSZ");
|
|
17
|
+
export const defaultDateFieldStyles = {
|
|
18
|
+
width: "170px",
|
|
19
|
+
height: 40,
|
|
20
|
+
marginTop: "8px",
|
|
21
|
+
"& .MuiOutlinedInput-notchedOutline": {
|
|
22
|
+
border: "1px solid #8C8C8C",
|
|
23
|
+
borderRadius: "3px",
|
|
24
|
+
"& legend": {
|
|
25
|
+
width: 0,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
"& .MuiOutlinedInput-root": {
|
|
29
|
+
"&&": {
|
|
30
|
+
borderRadius: "3px",
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
"& .MuiInputBase-input": {
|
|
34
|
+
color: "#333333",
|
|
35
|
+
fontFamily: "Rubik",
|
|
36
|
+
fontSize: 14,
|
|
37
|
+
borderRadius: "3px",
|
|
38
|
+
padding: "9px",
|
|
39
|
+
Width: "170px",
|
|
40
|
+
"&::placeholder": {
|
|
41
|
+
opacity: 1,
|
|
42
|
+
color: "#717171",
|
|
43
|
+
fontFamily: "Rubik",
|
|
44
|
+
fontSize: 14,
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
const Instant = ({
|
|
49
|
+
dateTimeValue,
|
|
50
|
+
handleDateTimeChange,
|
|
51
|
+
required = false,
|
|
52
|
+
disabled,
|
|
53
|
+
id = "default_dateTime-input",
|
|
54
|
+
textFieldSx = {},
|
|
55
|
+
dateFieldSx = {},
|
|
56
|
+
error = false,
|
|
57
|
+
helperText,
|
|
58
|
+
datePickerProps = {},
|
|
59
|
+
onBlur,
|
|
60
|
+
...rest
|
|
61
|
+
}) => {
|
|
62
|
+
const textFieldStyles = {
|
|
63
|
+
width: "55px",
|
|
64
|
+
height: "40px",
|
|
65
|
+
"& .MuiInputBase-input": {
|
|
66
|
+
color: "#333",
|
|
67
|
+
fontFamily: "Rubik",
|
|
68
|
+
fontSize: 14,
|
|
69
|
+
borderRadius: "3px",
|
|
70
|
+
padding: "9px 5px 9px 5px",
|
|
71
|
+
"&::placeholder": {
|
|
72
|
+
opacity: 1,
|
|
73
|
+
color: "#717171",
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
const handleHoursChange = (e) => {
|
|
78
|
+
const newHours = parseInt(e.target.value, 10);
|
|
79
|
+
if (dateTimeValue) {
|
|
80
|
+
const updatedDateTime = dayjs
|
|
81
|
+
.utc(dateTimeValue)
|
|
82
|
+
.set("hour", newHours);
|
|
83
|
+
handleDateTimeChange(formatDateTime(updatedDateTime));
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const handleMinutesChange = (e) => {
|
|
87
|
+
const newMinutes = parseInt(e.target.value, 10);
|
|
88
|
+
if (dateTimeValue) {
|
|
89
|
+
const updatedDateTime = dayjs
|
|
90
|
+
.utc(dateTimeValue)
|
|
91
|
+
.set("minute", newMinutes);
|
|
92
|
+
handleDateTimeChange(formatDateTime(updatedDateTime));
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const handleSecondsChange = (e) => {
|
|
96
|
+
const newSeconds = parseInt(e.target.value, 10);
|
|
97
|
+
if (dateTimeValue) {
|
|
98
|
+
const updatedDateTime = dayjs
|
|
99
|
+
.utc(dateTimeValue)
|
|
100
|
+
.set("second", newSeconds);
|
|
101
|
+
handleDateTimeChange(formatDateTime(updatedDateTime));
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
const handleMillisecondsChange = (e) => {
|
|
105
|
+
const newMilliseconds = parseInt(e.target.value, 10);
|
|
106
|
+
if (dateTimeValue) {
|
|
107
|
+
const updatedDateTime = dayjs
|
|
108
|
+
.utc(dateTimeValue)
|
|
109
|
+
.set("millisecond", newMilliseconds);
|
|
110
|
+
handleDateTimeChange(formatDateTime(updatedDateTime));
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
const onDateChange = (newDate) => {
|
|
114
|
+
if (!isNaN(newDate)) {
|
|
115
|
+
if (dateTimeValue) {
|
|
116
|
+
const updatedDate = dayjs.utc(newDate);
|
|
117
|
+
handleDateTimeChange(formatDateTime(updatedDate));
|
|
118
|
+
} else {
|
|
119
|
+
const updatedDate = newDate.utc(newDate);
|
|
120
|
+
handleDateTimeChange(formatDateTime(updatedDate));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
return (
|
|
125
|
+
<FormControl error={error}>
|
|
126
|
+
<LocalizationProvider dateAdapter={AdapterDayjs}>
|
|
127
|
+
<Box
|
|
128
|
+
sx={{
|
|
129
|
+
display: "flex",
|
|
130
|
+
flexDirection: "row",
|
|
131
|
+
flexGrow: 1,
|
|
132
|
+
}}
|
|
133
|
+
>
|
|
134
|
+
<Box sx={{ marginRight: "24px" }}>
|
|
135
|
+
<DatePicker
|
|
136
|
+
value={
|
|
137
|
+
dateTimeValue ? dayjs.utc(dateTimeValue) : null
|
|
138
|
+
}
|
|
139
|
+
onChange={onDateChange}
|
|
140
|
+
disabled={disabled}
|
|
141
|
+
onClose={() => (onBlur ? onBlur() : undefined)}
|
|
142
|
+
slotProps={{
|
|
143
|
+
textField: (params) => {
|
|
144
|
+
const { InputProps } = params;
|
|
145
|
+
InputProps["data-testid"] = id;
|
|
146
|
+
InputProps["aria-required"] = required;
|
|
147
|
+
return {
|
|
148
|
+
id: id,
|
|
149
|
+
label: "Date",
|
|
150
|
+
sx: {
|
|
151
|
+
...defaultDateFieldStyles,
|
|
152
|
+
...dateFieldSx,
|
|
153
|
+
},
|
|
154
|
+
value: dateTimeValue
|
|
155
|
+
? dayjs.utc(dateTimeValue)
|
|
156
|
+
: null,
|
|
157
|
+
onChange: onDateChange,
|
|
158
|
+
error,
|
|
159
|
+
helperText: helperText,
|
|
160
|
+
onBlur: onBlur,
|
|
161
|
+
...rest,
|
|
162
|
+
};
|
|
163
|
+
},
|
|
164
|
+
openPickerButton: {
|
|
165
|
+
id: `${id}-open-picker-button`,
|
|
166
|
+
"data-testid": `${id}-open-picker-button`,
|
|
167
|
+
},
|
|
168
|
+
}}
|
|
169
|
+
slots={{ textField: TextField }}
|
|
170
|
+
/>
|
|
171
|
+
</Box>
|
|
172
|
+
<TextField
|
|
173
|
+
id={`${id}-hour`}
|
|
174
|
+
data-testid={`${id}-hour`}
|
|
175
|
+
value={
|
|
176
|
+
dateTimeValue ? dayjs.utc(dateTimeValue).hour() : 0
|
|
177
|
+
}
|
|
178
|
+
onChange={handleHoursChange}
|
|
179
|
+
label="Hr"
|
|
180
|
+
type="number"
|
|
181
|
+
disabled={!dateTimeValue}
|
|
182
|
+
inputProps={{
|
|
183
|
+
min: 0,
|
|
184
|
+
max: 24,
|
|
185
|
+
}}
|
|
186
|
+
textFieldStyles={textFieldStyles}
|
|
187
|
+
required={required}
|
|
188
|
+
/>
|
|
189
|
+
<TextField
|
|
190
|
+
id={`${id}-minute`}
|
|
191
|
+
data-testid={`${id}-minute`}
|
|
192
|
+
value={
|
|
193
|
+
dateTimeValue
|
|
194
|
+
? dayjs.utc(dateTimeValue).minute()
|
|
195
|
+
: 0
|
|
196
|
+
}
|
|
197
|
+
onChange={handleMinutesChange}
|
|
198
|
+
label="Min"
|
|
199
|
+
type="number"
|
|
200
|
+
disabled={!dateTimeValue}
|
|
201
|
+
inputProps={{
|
|
202
|
+
min: 0,
|
|
203
|
+
max: 60,
|
|
204
|
+
}}
|
|
205
|
+
textFieldStyles={textFieldStyles}
|
|
206
|
+
required={required}
|
|
207
|
+
/>
|
|
208
|
+
<TextField
|
|
209
|
+
id={`${id}-second`}
|
|
210
|
+
data-testid={`${id}-second`}
|
|
211
|
+
value={
|
|
212
|
+
dateTimeValue
|
|
213
|
+
? dayjs.utc(dateTimeValue).second()
|
|
214
|
+
: 0
|
|
215
|
+
}
|
|
216
|
+
onChange={handleSecondsChange}
|
|
217
|
+
label="Sec"
|
|
218
|
+
type="number"
|
|
219
|
+
disabled={!dateTimeValue}
|
|
220
|
+
inputProps={{
|
|
221
|
+
min: 0,
|
|
222
|
+
max: 60,
|
|
223
|
+
}}
|
|
224
|
+
textFieldStyles={textFieldStyles}
|
|
225
|
+
required={required}
|
|
226
|
+
/>
|
|
227
|
+
<TextField
|
|
228
|
+
id={`${id}-millisecond`}
|
|
229
|
+
data-testid={`${id}-millisecond`}
|
|
230
|
+
value={
|
|
231
|
+
dateTimeValue
|
|
232
|
+
? dayjs.utc(dateTimeValue).millisecond()
|
|
233
|
+
: 0
|
|
234
|
+
}
|
|
235
|
+
onChange={handleMillisecondsChange}
|
|
236
|
+
label="MS"
|
|
237
|
+
type="number"
|
|
238
|
+
disabled={!dateTimeValue}
|
|
239
|
+
inputProps={{
|
|
240
|
+
min: 0,
|
|
241
|
+
max: 999,
|
|
242
|
+
}}
|
|
243
|
+
textFieldStyles={textFieldStyles}
|
|
244
|
+
required={required}
|
|
245
|
+
/>
|
|
246
|
+
</Box>
|
|
247
|
+
</LocalizationProvider>
|
|
248
|
+
</FormControl>
|
|
249
|
+
);
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
Instant.propTypes = {
|
|
253
|
+
id: PropTypes.string,
|
|
254
|
+
placeholder: PropTypes.string,
|
|
255
|
+
disabled: PropTypes.bool,
|
|
256
|
+
required: PropTypes.bool,
|
|
257
|
+
dateTimeValue: PropTypes.any,
|
|
258
|
+
handleDateTimeChange: PropTypes.function,
|
|
259
|
+
textFieldSx: PropTypes.any,
|
|
260
|
+
dateFieldSx: PropTypes.any,
|
|
261
|
+
error: PropTypes.bool,
|
|
262
|
+
helperText: PropTypes.string,
|
|
263
|
+
datePickerProps: PropTypes.any,
|
|
264
|
+
onBlur: PropTypes.any,
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
export default Instant;
|
|
@@ -187,3 +187,17 @@ export const WithLeftAndRightIcon = () => (
|
|
|
187
187
|
/>
|
|
188
188
|
</Wrapper>
|
|
189
189
|
);
|
|
190
|
+
|
|
191
|
+
export const TextfieldDifferentLabel = () => (
|
|
192
|
+
<Wrapper>
|
|
193
|
+
<TextField
|
|
194
|
+
placeholder="Placeholder"
|
|
195
|
+
label="Text Label with different color"
|
|
196
|
+
labelColor={"#1976d2"}
|
|
197
|
+
id="measureName"
|
|
198
|
+
inputProps={{ "data-testid": "measure-name-input" }}
|
|
199
|
+
data-testid="measure-name-text-field"
|
|
200
|
+
size="small"
|
|
201
|
+
/>
|
|
202
|
+
</Wrapper>
|
|
203
|
+
);
|
|
@@ -17,6 +17,8 @@ const TextField = ({
|
|
|
17
17
|
label,
|
|
18
18
|
tooltipText,
|
|
19
19
|
inputProps,
|
|
20
|
+
labelColor = undefined,
|
|
21
|
+
textFieldStyles = {},
|
|
20
22
|
...rest
|
|
21
23
|
}) => {
|
|
22
24
|
// get a copy of input props
|
|
@@ -39,6 +41,39 @@ const TextField = ({
|
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
|
|
44
|
+
const extendedTextFieldStyles = {
|
|
45
|
+
borderRadius: "3px",
|
|
46
|
+
border: "none",
|
|
47
|
+
marginTop: "8px",
|
|
48
|
+
"& .MuiOutlinedInput-notchedOutline": {
|
|
49
|
+
borderRadius: "3px",
|
|
50
|
+
borderColor: "#8C8C8C",
|
|
51
|
+
"& legend": {
|
|
52
|
+
width: 0,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
"& .MuiInputBase-root": {
|
|
56
|
+
height: "auto",
|
|
57
|
+
},
|
|
58
|
+
"& .MuiOutlinedInput-root": {
|
|
59
|
+
"&&": {
|
|
60
|
+
borderRadius: "3px",
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
// input base selector
|
|
64
|
+
"& .MuiInputBase-input": {
|
|
65
|
+
color: "#333",
|
|
66
|
+
fontFamily: "Rubik",
|
|
67
|
+
fontSize: 14,
|
|
68
|
+
borderRadius: "3px",
|
|
69
|
+
padding: "9px 14px",
|
|
70
|
+
"&::placeholder": {
|
|
71
|
+
opacity: 1,
|
|
72
|
+
color: "#717171",
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
...textFieldStyles,
|
|
76
|
+
};
|
|
42
77
|
return (
|
|
43
78
|
<FormControl fullWidth error={error}>
|
|
44
79
|
<div
|
|
@@ -70,7 +105,13 @@ const TextField = ({
|
|
|
70
105
|
fontFamily: "Rubik",
|
|
71
106
|
fontWeight: 500,
|
|
72
107
|
fontSize: 14,
|
|
73
|
-
color:
|
|
108
|
+
color: () => {
|
|
109
|
+
if (labelColor) {
|
|
110
|
+
return labelColor;
|
|
111
|
+
} else {
|
|
112
|
+
return "#333";
|
|
113
|
+
}
|
|
114
|
+
},
|
|
74
115
|
"& .MuiInputLabel-asterisk": {
|
|
75
116
|
color: "#AE1C1C !important",
|
|
76
117
|
marginRight: "3px !important", //this was
|
|
@@ -121,45 +162,7 @@ const TextField = ({
|
|
|
121
162
|
</FormHelperText>
|
|
122
163
|
)}
|
|
123
164
|
<MUITextField
|
|
124
|
-
sx={
|
|
125
|
-
{
|
|
126
|
-
borderRadius: "3px",
|
|
127
|
-
border: "none",
|
|
128
|
-
marginTop: "8px",
|
|
129
|
-
"& .MuiOutlinedInput-notchedOutline": {
|
|
130
|
-
borderRadius: "3px",
|
|
131
|
-
borderColor: "#8C8C8C",
|
|
132
|
-
"& legend": {
|
|
133
|
-
width: 0,
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
"& .MuiInputBase-root": {
|
|
137
|
-
height: "auto",
|
|
138
|
-
},
|
|
139
|
-
"& .MuiOutlinedInput-root": {
|
|
140
|
-
"&&": {
|
|
141
|
-
borderRadius: "3px",
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
// input base selector
|
|
145
|
-
"& .MuiInputBase-input": {
|
|
146
|
-
color: "#333",
|
|
147
|
-
fontFamily: "Rubik",
|
|
148
|
-
fontSize: 14,
|
|
149
|
-
borderRadius: "3px",
|
|
150
|
-
padding: "9px 14px",
|
|
151
|
-
"&::placeholder": {
|
|
152
|
-
opacity: 1,
|
|
153
|
-
color: "#717171",
|
|
154
|
-
},
|
|
155
|
-
},
|
|
156
|
-
},
|
|
157
|
-
error && {
|
|
158
|
-
"& .MuiOutlinedInput-notchedOutline": {
|
|
159
|
-
borderColor: "#AE1C1C !important",
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
]}
|
|
165
|
+
sx={extendedTextFieldStyles}
|
|
163
166
|
label={null}
|
|
164
167
|
error={error}
|
|
165
168
|
disabled={disabled}
|
|
@@ -173,6 +176,7 @@ const TextField = ({
|
|
|
173
176
|
|
|
174
177
|
TextField.propTypes = {
|
|
175
178
|
id: PropTypes.string,
|
|
179
|
+
textFieldStyles: PropTypes.object,
|
|
176
180
|
error: PropTypes.bool,
|
|
177
181
|
helperText: PropTypes.string,
|
|
178
182
|
required: PropTypes.bool,
|
|
@@ -181,5 +185,6 @@ TextField.propTypes = {
|
|
|
181
185
|
label: PropTypes.string,
|
|
182
186
|
tooltipText: PropTypes.string,
|
|
183
187
|
inputProps: PropTypes.object,
|
|
188
|
+
labelColor: PropTypes.string,
|
|
184
189
|
};
|
|
185
190
|
export default TextField;
|
package/components/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import DateField from "./DateField/DateField";
|
|
|
9
9
|
import DateTimeField from "./DateTimeField/DateTimeField";
|
|
10
10
|
import FlashNotification from "./FlashNotification/FlashNotificationUI";
|
|
11
11
|
import Footer from "./Footer/FooterUI";
|
|
12
|
+
import Instant from "./Instant";
|
|
12
13
|
import InputLabel from "./InputLabel";
|
|
13
14
|
import FormControlLabel from "./FormControlLabel";
|
|
14
15
|
import MadieAlert from "./MadieAlert";
|
|
@@ -137,6 +138,7 @@ export {
|
|
|
137
138
|
InputLabel,
|
|
138
139
|
Icons,
|
|
139
140
|
Infotip,
|
|
141
|
+
Instant,
|
|
140
142
|
Modal,
|
|
141
143
|
MadieAlert,
|
|
142
144
|
MadieDialog,
|
package/coverage/clover.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
4
|
-
<metrics statements="
|
|
2
|
+
<coverage generated="1728397475109" clover="3.2.0">
|
|
3
|
+
<project timestamp="1728397475109" name="All files">
|
|
4
|
+
<metrics statements="442" coveredstatements="427" conditionals="346" coveredconditionals="296" methods="124" coveredmethods="116" elements="912" coveredelements="839" complexity="0" loc="442" ncloc="442" packages="27" files="37" classes="37"/>
|
|
5
5
|
<package name="react">
|
|
6
6
|
<metrics statements="3" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="0"/>
|
|
7
7
|
<file name="index.js" path="/home/runner/work/madie-design-system/madie-design-system/react/index.js">
|
|
@@ -192,9 +192,57 @@
|
|
|
192
192
|
<metrics statements="3" coveredstatements="3" conditionals="6" coveredconditionals="6" methods="1" coveredmethods="1"/>
|
|
193
193
|
<file name="index.jsx" path="/home/runner/work/madie-design-system/madie-design-system/react/components/InputLabel/index.jsx">
|
|
194
194
|
<metrics statements="3" coveredstatements="3" conditionals="6" coveredconditionals="6" methods="1" coveredmethods="1"/>
|
|
195
|
-
<line num="5" count="
|
|
196
|
-
<line num="6" count="
|
|
197
|
-
<line num="48" count="
|
|
195
|
+
<line num="5" count="7" type="stmt"/>
|
|
196
|
+
<line num="6" count="82" type="stmt"/>
|
|
197
|
+
<line num="48" count="7" type="stmt"/>
|
|
198
|
+
</file>
|
|
199
|
+
</package>
|
|
200
|
+
<package name="react.components.Instant">
|
|
201
|
+
<metrics statements="42" coveredstatements="41" conditionals="32" coveredconditionals="23" methods="9" coveredmethods="8"/>
|
|
202
|
+
<file name="index.jsx" path="/home/runner/work/madie-design-system/madie-design-system/react/components/Instant/index.jsx">
|
|
203
|
+
<metrics statements="42" coveredstatements="41" conditionals="32" coveredconditionals="23" methods="9" coveredmethods="8"/>
|
|
204
|
+
<line num="12" count="1" type="stmt"/>
|
|
205
|
+
<line num="13" count="1" type="stmt"/>
|
|
206
|
+
<line num="14" count="1" type="stmt"/>
|
|
207
|
+
<line num="15" count="1" type="stmt"/>
|
|
208
|
+
<line num="16" count="7" type="stmt"/>
|
|
209
|
+
<line num="17" count="1" type="stmt"/>
|
|
210
|
+
<line num="48" count="1" type="stmt"/>
|
|
211
|
+
<line num="62" count="10" type="stmt"/>
|
|
212
|
+
<line num="77" count="10" type="stmt"/>
|
|
213
|
+
<line num="78" count="1" type="stmt"/>
|
|
214
|
+
<line num="79" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
215
|
+
<line num="80" count="1" type="stmt"/>
|
|
216
|
+
<line num="83" count="1" type="stmt"/>
|
|
217
|
+
<line num="86" count="10" type="stmt"/>
|
|
218
|
+
<line num="87" count="1" type="stmt"/>
|
|
219
|
+
<line num="88" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
220
|
+
<line num="89" count="1" type="stmt"/>
|
|
221
|
+
<line num="92" count="1" type="stmt"/>
|
|
222
|
+
<line num="95" count="10" type="stmt"/>
|
|
223
|
+
<line num="96" count="1" type="stmt"/>
|
|
224
|
+
<line num="97" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
225
|
+
<line num="98" count="1" type="stmt"/>
|
|
226
|
+
<line num="101" count="1" type="stmt"/>
|
|
227
|
+
<line num="104" count="10" type="stmt"/>
|
|
228
|
+
<line num="105" count="1" type="stmt"/>
|
|
229
|
+
<line num="106" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
230
|
+
<line num="107" count="1" type="stmt"/>
|
|
231
|
+
<line num="110" count="1" type="stmt"/>
|
|
232
|
+
<line num="113" count="10" type="stmt"/>
|
|
233
|
+
<line num="114" count="3" type="cond" truecount="1" falsecount="1"/>
|
|
234
|
+
<line num="115" count="3" type="cond" truecount="2" falsecount="0"/>
|
|
235
|
+
<line num="116" count="1" type="stmt"/>
|
|
236
|
+
<line num="117" count="1" type="stmt"/>
|
|
237
|
+
<line num="119" count="2" type="stmt"/>
|
|
238
|
+
<line num="120" count="2" type="stmt"/>
|
|
239
|
+
<line num="124" count="10" type="stmt"/>
|
|
240
|
+
<line num="141" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
241
|
+
<line num="144" count="24" type="stmt"/>
|
|
242
|
+
<line num="145" count="24" type="stmt"/>
|
|
243
|
+
<line num="146" count="24" type="stmt"/>
|
|
244
|
+
<line num="147" count="24" type="stmt"/>
|
|
245
|
+
<line num="252" count="1" type="stmt"/>
|
|
198
246
|
</file>
|
|
199
247
|
</package>
|
|
200
248
|
<package name="react.components.MadieAlert">
|
|
@@ -289,7 +337,7 @@
|
|
|
289
337
|
<metrics statements="11" coveredstatements="11" conditionals="5" coveredconditionals="3" methods="7" coveredmethods="7"/>
|
|
290
338
|
<file name="index.jsx" path="/home/runner/work/madie-design-system/madie-design-system/react/components/MadieTooltip/index.jsx">
|
|
291
339
|
<metrics statements="11" coveredstatements="11" conditionals="5" coveredconditionals="3" methods="7" coveredmethods="7"/>
|
|
292
|
-
<line num="6" count="
|
|
340
|
+
<line num="6" count="4" type="cond" truecount="0" falsecount="1"/>
|
|
293
341
|
<line num="7" count="5" type="stmt"/>
|
|
294
342
|
<line num="8" count="5" type="stmt"/>
|
|
295
343
|
<line num="12" count="1" type="stmt"/>
|
|
@@ -299,16 +347,16 @@
|
|
|
299
347
|
<line num="23" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
300
348
|
<line num="24" count="1" type="stmt"/>
|
|
301
349
|
<line num="28" count="1" type="stmt"/>
|
|
302
|
-
<line num="44" count="
|
|
350
|
+
<line num="44" count="4" type="stmt"/>
|
|
303
351
|
</file>
|
|
304
352
|
</package>
|
|
305
353
|
<package name="react.components.MadieTooltipIcon">
|
|
306
354
|
<metrics statements="3" coveredstatements="3" conditionals="1" coveredconditionals="1" methods="1" coveredmethods="1"/>
|
|
307
355
|
<file name="index.jsx" path="/home/runner/work/madie-design-system/madie-design-system/react/components/MadieTooltipIcon/index.jsx">
|
|
308
356
|
<metrics statements="3" coveredstatements="3" conditionals="1" coveredconditionals="1" methods="1" coveredmethods="1"/>
|
|
309
|
-
<line num="4" count="
|
|
357
|
+
<line num="4" count="4" type="cond" truecount="1" falsecount="0"/>
|
|
310
358
|
<line num="5" count="5" type="stmt"/>
|
|
311
|
-
<line num="29" count="
|
|
359
|
+
<line num="29" count="4" type="stmt"/>
|
|
312
360
|
</file>
|
|
313
361
|
</package>
|
|
314
362
|
<package name="react.components.Pagination">
|
|
@@ -414,23 +462,27 @@
|
|
|
414
462
|
</file>
|
|
415
463
|
</package>
|
|
416
464
|
<package name="react.components.TextField">
|
|
417
|
-
<metrics statements="
|
|
465
|
+
<metrics statements="18" coveredstatements="18" conditionals="32" coveredconditionals="30" methods="2" coveredmethods="2"/>
|
|
418
466
|
<file name="index.jsx" path="/home/runner/work/madie-design-system/madie-design-system/react/components/TextField/index.jsx">
|
|
419
|
-
<metrics statements="
|
|
420
|
-
<line num="11" count="
|
|
421
|
-
<line num="
|
|
422
|
-
<line num="
|
|
423
|
-
<line num="
|
|
424
|
-
<line num="
|
|
425
|
-
<line num="
|
|
426
|
-
<line num="
|
|
427
|
-
<line num="
|
|
428
|
-
<line num="
|
|
429
|
-
<line num="
|
|
430
|
-
<line num="
|
|
431
|
-
<line num="
|
|
432
|
-
<line num="
|
|
433
|
-
<line num="
|
|
467
|
+
<metrics statements="18" coveredstatements="18" conditionals="32" coveredconditionals="30" methods="2" coveredmethods="2"/>
|
|
468
|
+
<line num="11" count="4" type="stmt"/>
|
|
469
|
+
<line num="25" count="69" type="cond" truecount="1" falsecount="1"/>
|
|
470
|
+
<line num="27" count="69" type="cond" truecount="2" falsecount="0"/>
|
|
471
|
+
<line num="28" count="63" type="stmt"/>
|
|
472
|
+
<line num="31" count="69" type="cond" truecount="1" falsecount="1"/>
|
|
473
|
+
<line num="32" count="69" type="stmt"/>
|
|
474
|
+
<line num="33" count="69" type="cond" truecount="2" falsecount="0"/>
|
|
475
|
+
<line num="34" count="4" type="stmt"/>
|
|
476
|
+
<line num="36" count="69" type="cond" truecount="2" falsecount="0"/>
|
|
477
|
+
<line num="37" count="1" type="stmt"/>
|
|
478
|
+
<line num="39" count="69" type="cond" truecount="2" falsecount="0"/>
|
|
479
|
+
<line num="40" count="4" type="stmt"/>
|
|
480
|
+
<line num="44" count="69" type="stmt"/>
|
|
481
|
+
<line num="77" count="69" type="stmt"/>
|
|
482
|
+
<line num="109" count="69" type="cond" truecount="2" falsecount="0"/>
|
|
483
|
+
<line num="110" count="1" type="stmt"/>
|
|
484
|
+
<line num="112" count="68" type="stmt"/>
|
|
485
|
+
<line num="177" count="4" type="stmt"/>
|
|
434
486
|
</file>
|
|
435
487
|
</package>
|
|
436
488
|
<package name="react.components.Toast">
|