@portnet/ui 3.1.6 → 4.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.
Files changed (27) hide show
  1. package/dist/components/buttons/PuiButton.js +96 -103
  2. package/dist/components/common/StyledMuiButton.js +3 -5
  3. package/dist/components/common/StyledMuiTextField.js +103 -59
  4. package/dist/components/inputs/PuiDateField.js +176 -52
  5. package/dist/components/inputs/PuiDateTimeField.js +204 -195
  6. package/dist/components/inputs/PuiSelect.js +124 -82
  7. package/dist/components/others/DateTimePickerField.js +210 -0
  8. package/dist/components/others/PuiSection.js +88 -31
  9. package/dist/components/referentiel/components/PuiSpecificReferentielField.js +6 -24
  10. package/dist/components/table/PuiTable.js +124 -50
  11. package/dist/components/table/PuiTableAction.js +12 -2
  12. package/dist/components/typography/PuiMainTitle.js +124 -35
  13. package/dist/components/ui/pages/general/PuiSearchPage.js +56 -34
  14. package/dist/config/apperance.js +13 -95
  15. package/dist/index.js +0 -42
  16. package/package.json +20 -25
  17. package/dist/components/providers/PuiAntdProvider.js +0 -70
  18. package/dist/components/providers/PuiThemeProvider.js +0 -230
  19. package/dist/components/stepper/PuiStepContent.js +0 -66
  20. package/dist/components/stepper/PuiStepper.js +0 -184
  21. package/dist/components/stepper/PuiStepperActions.js +0 -105
  22. package/dist/components/table/PuiModernTable.js +0 -541
  23. package/dist/components-antd-optional/PuiAntdForm.js +0 -328
  24. package/dist/components-antd-optional/PuiAntdStepper.js +0 -317
  25. package/dist/components-antd-optional/PuiAntdTable.js +0 -352
  26. package/dist/config/antdTheme.js +0 -227
  27. package/dist/hooks/useCustomAxios.js +0 -36
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.weak-map.js");
4
3
  require("core-js/modules/esnext.iterator.constructor.js");
5
4
  require("core-js/modules/esnext.iterator.filter.js");
6
5
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -9,128 +8,163 @@ Object.defineProperty(exports, "__esModule", {
9
8
  });
10
9
  exports.default = void 0;
11
10
  require("core-js/modules/web.dom-collections.iterator.js");
12
- var _material = require("@mui/material");
13
- var _styles = require("@mui/material/styles");
14
- var _DatePicker = require("@mui/x-date-pickers/DatePicker");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
13
  var _formik = require("formik");
16
14
  var _moment = _interopRequireDefault(require("moment"));
17
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
- var React = _interopRequireWildcard(require("react"));
15
+ var _AdapterDayjs = require("@mui/x-date-pickers/AdapterDayjs");
16
+ var _DateTimePicker = require("@mui/x-date-pickers/DateTimePicker");
17
+ var _LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
19
18
  var _apperance = require("../../config/apperance");
20
- var _PuiButton = _interopRequireDefault(require("../buttons/PuiButton"));
21
- var _StyledMuiTextField = _interopRequireDefault(require("../common/StyledMuiTextField"));
22
- var _PuiDialog = _interopRequireDefault(require("../others/PuiDialog"));
23
- var _PuiTextField = _interopRequireDefault(require("./PuiTextField"));
24
19
  var _jsxRuntime = require("react/jsx-runtime");
25
20
  const _excluded = ["id", "className", "sx", "label", "name", "required", "value", "minDate", "maxDate", "inputFormat", "format", "disablePast", "disableFuture", "error", "readOnly", "fullWidth", "disabled", "helperText", "onChange", "onBlur"],
26
21
  _excluded2 = ["id", "className", "sx", "label", "name", "required", "value", "minDate", "maxDate", "inputFormat", "format", "disablePast", "disableFuture", "error", "readOnly", "fullWidth", "disabled", "helperText", "onChange", "onBlur"],
27
- _excluded3 = ["formik", "id", "className", "sx", "label", "name", "required", "value", "minDate", "maxDate", "inputFormat", "format", "disablePast", "disableFuture", "error", "readOnly", "fullWidth", "disabled", "helperText", "onChange", "onBlur"];
28
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
22
+ _excluded3 = ["formik", "id", "className", "sx", "label", "name", "required", "value", "minDate", "maxDate", "inputFormat", "format", "disablePast", "disableFuture", "error", "readOnly", "fullWidth", "disabled", "helperText", "onChange", "onBlur"]; // Helper function to get palette from theme or fallback to appearance
29
23
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
31
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
32
24
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
33
25
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
34
26
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
35
27
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
36
28
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
37
- const StyledDateMuiTextField = (0, _styles.styled)(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_StyledMuiTextField.default, _objectSpread({
38
- ref: ref
39
- }, props))))(() => ({
40
- "&.MuiFormControl-root": {
41
- display: "block",
42
- "& .MuiInputAdornment-root .MuiButtonBase-root": {
43
- padding: "6px",
44
- marginRight: "-8px",
45
- "& .MuiSvgIcon-root": {
46
- width: "16px",
47
- height: "16px"
48
- }
49
- }
29
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
30
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
31
+ const getPalette = theme => {
32
+ // Check if theme has our custom palette properties
33
+ if (theme && theme.palette && theme.palette.gray && theme.palette.gray.darker) {
34
+ // Theme has our custom structure, now normalize it
35
+ return {
36
+ primary: theme.palette.primary.main || theme.palette.primary,
37
+ secondary: theme.palette.secondary.main || theme.palette.secondary,
38
+ error: theme.palette.error ? theme.palette.error.main || theme.palette.error : _apperance.palette.error,
39
+ warning: theme.palette.warning ? theme.palette.warning.main || theme.palette.warning : _apperance.palette.warning,
40
+ success: theme.palette.success ? theme.palette.success.main || theme.palette.success : _apperance.palette.success,
41
+ info: theme.palette.info ? theme.palette.info.main || theme.palette.info : _apperance.palette.info,
42
+ white: theme.palette.white || _apperance.palette.white,
43
+ dark: theme.palette.dark || _apperance.palette.dark,
44
+ gray: theme.palette.gray,
45
+ blue: theme.palette.blue || _apperance.palette.blue,
46
+ background: theme.palette.background || _apperance.palette.background,
47
+ border: theme.palette.border || _apperance.palette.border,
48
+ shadow: theme.palette.shadow || _apperance.palette.shadow
49
+ };
50
50
  }
51
- }));
52
- const TimePickerDialog = _ref => {
53
- var _ref2, _ref3;
54
- let {
55
- open,
56
- selectedDate,
57
- onTimeSelected,
58
- onClose,
59
- position
60
- } = _ref;
61
- const defaultTime = (0, _moment.default)(selectedDate).isValid() ? (0, _moment.default)(selectedDate).format("HH:mm") : (0, _moment.default)().format("HH:mm");
62
- const [selectedTime, setSelectedTime] = React.useState(defaultTime);
63
- const handleTimeChange = event => {
64
- setSelectedTime(event.target.value);
65
- };
66
- const handleOk = () => {
67
- onTimeSelected(selectedTime);
68
- onClose();
69
- };
70
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiDialog.default, {
71
- open: open,
72
- onClose: onClose,
73
- slotProps: {
74
- backdrop: {
75
- style: {
76
- backgroundColor: "transparent",
77
- boxShadow: "none"
78
- }
79
- }
51
+ // Check if theme object itself has gray (root level)
52
+ if (theme && theme.gray && theme.gray.darker) {
53
+ return {
54
+ primary: theme.primary,
55
+ secondary: theme.secondary,
56
+ error: theme.error || _apperance.palette.error,
57
+ warning: theme.warning || _apperance.palette.warning,
58
+ success: theme.success || _apperance.palette.success,
59
+ info: theme.info || _apperance.palette.info,
60
+ white: theme.white || _apperance.palette.white,
61
+ dark: theme.dark || _apperance.palette.dark,
62
+ gray: theme.gray,
63
+ blue: theme.blue || _apperance.palette.blue,
64
+ background: theme.background || _apperance.palette.background,
65
+ border: theme.border || _apperance.palette.border,
66
+ shadow: theme.shadow || _apperance.palette.shadow
67
+ };
68
+ }
69
+ return _apperance.palette;
70
+ };
71
+
72
+ // Helper function to get DateTimeField styles from theme
73
+ const getDateTimeFieldStyles = theme => {
74
+ if (theme && theme.components && theme.components.PuiDateTimeField) {
75
+ return theme.components.PuiDateTimeField;
76
+ }
77
+ return {
78
+ inputRoot: {
79
+ backgroundColor: _apperance.palette.white,
80
+ border: "2px solid ".concat(_apperance.palette.gray.dark),
81
+ borderRadius: "5px",
82
+ height: "auto",
83
+ lineHeight: "1"
80
84
  },
81
- hideBackdrop: true,
82
- PaperProps: {
83
- elevation: 5,
84
- sx: {
85
- position: "fixed",
86
- alignContent: "center",
87
- justifyContent: "center",
88
- alignItems: "center",
89
- backgroundColor: "white",
90
- height: 58,
91
- width: 340,
92
- maxWidth: "720px!important",
93
- left: (_ref2 = (position === null || position === void 0 ? void 0 : position.left) - 420 / 2) !== null && _ref2 !== void 0 ? _ref2 : 0,
94
- top: (_ref3 = (position === null || position === void 0 ? void 0 : position.top) + 36) !== null && _ref3 !== void 0 ? _ref3 : 36
95
- }
85
+ label: {
86
+ color: _apperance.palette.gray.darker,
87
+ marginBottom: "4px",
88
+ fontSize: "0.8rem"
96
89
  },
97
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
98
- sx: {
99
- display: "flex",
100
- gap: 1
90
+ disabled: {
91
+ backgroundColor: "#f5f5f5",
92
+ border: "1px solid #cecdd3",
93
+ labelColor: "#97969b"
94
+ }
95
+ };
96
+ };
97
+ const getTextFieldStyles = (theme, required) => {
98
+ var _themePalette$backgro, _palette$background, _dateTimeFieldStyles$, _themePalette$backgro2, _palette$background2, _dateTimeFieldStyles$2, _dateTimeFieldStyles$3;
99
+ const themePalette = getPalette(theme);
100
+ const dateTimeFieldStyles = getDateTimeFieldStyles(theme);
101
+ return {
102
+ "&.MuiFormControl-root": {
103
+ "&.required .MuiInputBase-root": {
104
+ backgroundColor: required ? ((_themePalette$backgro = themePalette.background) === null || _themePalette$backgro === void 0 ? void 0 : _themePalette$backgro.required) || ((_palette$background = _apperance.palette.background) === null || _palette$background === void 0 ? void 0 : _palette$background.required) : dateTimeFieldStyles.inputRoot.backgroundColor
101
105
  },
102
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiTextField.default, {
103
- id: "time",
104
- type: "time",
105
- value: selectedTime,
106
- onChange: handleTimeChange,
107
- InputLabelProps: {
108
- shrink: true
106
+ "& .MuiFormLabel-root": {
107
+ zIndex: 0,
108
+ lineSpacing: "-0.03em",
109
+ position: "initial",
110
+ transform: "none",
111
+ fontSize: "".concat(dateTimeFieldStyles.label.fontSize, " !important"),
112
+ fontWeight: "600",
113
+ marginBottom: "".concat(dateTimeFieldStyles.label.marginBottom, " !important"),
114
+ color: "".concat(dateTimeFieldStyles.label.color, " !important"),
115
+ "&.Mui-focused ": {
116
+ color: "".concat(themePalette.primary, " !important")
109
117
  },
110
- inputProps: {
111
- step: 60
118
+ "&.Mui-disabled": {
119
+ color: "".concat(((_dateTimeFieldStyles$ = dateTimeFieldStyles.disabled) === null || _dateTimeFieldStyles$ === void 0 ? void 0 : _dateTimeFieldStyles$.labelColor) || "#97969b", " !important")
112
120
  },
113
- formik: false,
114
- sx: {
115
- width: 150
121
+ "&.Mui-error": {
122
+ color: "".concat(themePalette.error, " !important")
116
123
  }
117
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
118
- onClick: onClose,
119
- sx: {
120
- color: _apperance.palette.primary
124
+ },
125
+ "& .MuiInputBase-root": {
126
+ backgroundColor: "".concat(dateTimeFieldStyles.inputRoot.backgroundColor, " !important"),
127
+ border: "".concat(dateTimeFieldStyles.inputRoot.border, " !important"),
128
+ borderRadius: "".concat(dateTimeFieldStyles.inputRoot.borderRadius, " !important"),
129
+ height: "".concat(dateTimeFieldStyles.inputRoot.height, " !important"),
130
+ "&.MuiInputBase-multiline": {
131
+ padding: "8px 0",
132
+ height: "auto !important"
121
133
  },
122
- children: "Cancel"
123
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
124
- onClick: handleOk,
125
- sx: {
126
- color: _apperance.palette.primary
134
+ "&.Mui-focused ": {
135
+ border: "2px solid ".concat(themePalette.primary, " !important")
127
136
  },
128
- children: "OK"
129
- })]
130
- })
131
- });
137
+ "&.Mui-error ": {
138
+ border: "2px solid ".concat(themePalette.error, " !important"),
139
+ backgroundColor: "".concat(((_themePalette$backgro2 = themePalette.background) === null || _themePalette$backgro2 === void 0 ? void 0 : _themePalette$backgro2.error) || ((_palette$background2 = _apperance.palette.background) === null || _palette$background2 === void 0 ? void 0 : _palette$background2.error), " !important")
140
+ },
141
+ "&.Mui-disabled ": {
142
+ backgroundColor: "".concat(((_dateTimeFieldStyles$2 = dateTimeFieldStyles.disabled) === null || _dateTimeFieldStyles$2 === void 0 ? void 0 : _dateTimeFieldStyles$2.backgroundColor) || "#f5f5f5", " !important"),
143
+ border: "".concat(((_dateTimeFieldStyles$3 = dateTimeFieldStyles.disabled) === null || _dateTimeFieldStyles$3 === void 0 ? void 0 : _dateTimeFieldStyles$3.border) || "1px solid #cecdd3", " !important"),
144
+ borderRadius: "".concat(dateTimeFieldStyles.inputRoot.borderRadius, " !important"),
145
+ "& input": {
146
+ color: "".concat(themePalette.gray.darker),
147
+ WebkitTextFillColor: "".concat(themePalette.gray.darker)
148
+ }
149
+ },
150
+ "& .MuiInputBase-input": {
151
+ lineHeight: "".concat(dateTimeFieldStyles.inputRoot.lineHeight, " !important"),
152
+ padding: "1px 6px",
153
+ fontSize: "0.7rem"
154
+ }
155
+ },
156
+ "& .MuiFormHelperText-root": {
157
+ fontWeight: "bold",
158
+ fontSize: ".7rem",
159
+ color: "red"
160
+ },
161
+ "& fieldset": {
162
+ display: "none"
163
+ }
164
+ }
165
+ };
132
166
  };
133
- const PuiStandardDateTimeField = /*#__PURE__*/React.forwardRef((_ref4, ref) => {
167
+ const PuiStandardDateTimeField = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
134
168
  let {
135
169
  id,
136
170
  className,
@@ -141,8 +175,8 @@ const PuiStandardDateTimeField = /*#__PURE__*/React.forwardRef((_ref4, ref) => {
141
175
  value,
142
176
  minDate,
143
177
  maxDate,
144
- inputFormat = "YYYY-MM-DDTHH:mm:ss.SSSZ",
145
- format = "YYYY-MM-DDTHH:mm:ss.SSSZ",
178
+ inputFormat,
179
+ format,
146
180
  disablePast,
147
181
  disableFuture,
148
182
  error,
@@ -152,94 +186,67 @@ const PuiStandardDateTimeField = /*#__PURE__*/React.forwardRef((_ref4, ref) => {
152
186
  helperText,
153
187
  onChange,
154
188
  onBlur
155
- } = _ref4,
156
- rest = _objectWithoutProperties(_ref4, _excluded);
157
- const textFieldRef = React.useRef(null);
158
- const [dateTime, setDateTime] = React.useState(value || null);
159
- const minDateObj = minDate ? (0, _moment.default)(minDate, format).toDate() : undefined;
160
- const maxDateObj = maxDate ? (0, _moment.default)(maxDate, format).toDate() : undefined;
161
- const [displayedDateTime, setDisplayedDateTime] = React.useState(value || null);
162
- const [openTimePicker, setOpenTimePicker] = React.useState(false);
163
- const [dialogPosition, setDialogPosition] = React.useState();
164
- const handleDateChange = date => {
165
- if (date) {
166
- setDateTime((0, _moment.default)(date).format(format));
167
- setOpenTimePicker(true);
189
+ } = _ref,
190
+ rest = _objectWithoutProperties(_ref, _excluded);
191
+ const handleChange = value => {
192
+ if (value) {
193
+ const formattedValue = format ? value.format(format) : value.toISOString();
194
+ onChange(formattedValue);
195
+ } else {
196
+ onChange(null);
168
197
  }
169
198
  };
170
- const handleTimeSelected = time => {
171
- const newDateTime = (0, _moment.default)(dateTime).format("YYYY-MM-DD") + "T" + time;
172
- const updatedDateTime = (0, _moment.default)(newDateTime, "YYYY-MM-DDTHH:mm").format(format);
173
- setDateTime(updatedDateTime);
174
- setDisplayedDateTime(updatedDateTime);
175
- onChange(updatedDateTime);
176
- };
177
- React.useEffect(() => {
178
- const updatePosition = () => {
179
- if (textFieldRef !== null && textFieldRef !== void 0 && textFieldRef.current) {
180
- const rect = textFieldRef.current.getBoundingClientRect();
181
- console.log("rect : ", rect);
182
- setDialogPosition({
183
- left: rect.left + rect.width / 2 + window.scrollX,
184
- top: rect.top > 310 ? rect.top - 80 : rect.top + 80
185
- });
186
- }
187
- };
188
- updatePosition();
189
- window.addEventListener("resize", updatePosition);
190
- window.addEventListener("scroll", updatePosition);
191
- return () => {
192
- window.removeEventListener("resize", updatePosition);
193
- window.removeEventListener("scroll", updatePosition);
194
- };
195
- }, []);
196
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
197
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker.DatePicker, _objectSpread({
198
- ref: textFieldRef,
199
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
200
+ dateAdapter: _AdapterDayjs.AdapterDayjs,
201
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateTimePicker.DateTimePicker, _objectSpread({
202
+ ref: ref,
199
203
  sx: sx,
200
- ampm: false,
201
204
  label: label,
202
- inputFormat: "DD/MM/yyyy HH:mm",
203
- value: displayedDateTime,
204
- onChange: handleDateChange,
205
+ inputFormat: inputFormat,
206
+ value: value,
207
+ onChange: handleChange,
205
208
  disablePast: disablePast,
206
209
  disableFuture: disableFuture,
207
210
  disabled: disabled,
208
- maxDate: maxDateObj,
209
- minDate: minDateObj,
211
+ maxDate: maxDate,
212
+ minDate: minDate,
210
213
  readOnly: readOnly,
211
- PopperProps: {
212
- sx: {
213
- "& .MuiButtonBase-root.Mui-selected, & .MuiButtonBase-root.Mui-selected:focus, & .MuiButtonBase-root.Mui-selected:hover": {
214
- backgroundColor: _apperance.palette.primary
214
+ slotProps: {
215
+ textField: {
216
+ name,
217
+ sx: theme => getTextFieldStyles(theme, required),
218
+ fullWidth,
219
+ required,
220
+ error,
221
+ helperText,
222
+ className: required ? "required" : ""
223
+ },
224
+ popper: {
225
+ sx: theme => {
226
+ const themePalette = getPalette(theme);
227
+ return {
228
+ "& .MuiPaper-root": {
229
+ boxShadow: "none !important",
230
+ border: "1px solid #e0e0e0",
231
+ backgroundColor: "white"
232
+ },
233
+ "& .MuiPickersDay-root.Mui-selected": {
234
+ backgroundColor: "".concat(themePalette.primary, " !important")
235
+ },
236
+ "& .Mui-selected": {
237
+ backgroundColor: "".concat(themePalette.primary, " !important")
238
+ },
239
+ "& .MuiClockNumber-root.Mui-selected": {
240
+ backgroundColor: "".concat(themePalette.primary, " !important")
241
+ }
242
+ };
215
243
  }
216
244
  }
217
- },
218
- renderInput: params => /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledDateMuiTextField, _objectSpread(_objectSpread({}, params), {}, {
219
- ref: textFieldRef,
220
- id: id,
221
- className: className,
222
- label: label,
223
- name: name,
224
- required: required,
225
- fullWidth: fullWidth,
226
- onBlur: onBlur,
227
- helperText: helperText,
228
- error: error,
229
- inputProps: _objectSpread(_objectSpread({}, params.inputProps), {}, {
230
- readOnly: readOnly
231
- })
232
- }))
233
- }, rest)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerDialog, {
234
- open: openTimePicker,
235
- selectedDate: dateTime,
236
- onTimeSelected: handleTimeSelected,
237
- onClose: () => setOpenTimePicker(false),
238
- position: dialogPosition
239
- })]
245
+ }
246
+ }, rest))
240
247
  });
241
248
  });
242
- const PuiFormikDateTimeField = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
249
+ const PuiFormikDateTimeField = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
243
250
  let {
244
251
  id,
245
252
  className,
@@ -261,25 +268,28 @@ const PuiFormikDateTimeField = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
261
268
  helperText,
262
269
  onChange,
263
270
  onBlur
264
- } = _ref5,
265
- rest = _objectWithoutProperties(_ref5, _excluded2);
271
+ } = _ref2,
272
+ rest = _objectWithoutProperties(_ref2, _excluded2);
266
273
  const [field, meta] = (0, _formik.useField)(name);
267
274
  const formikContext = (0, _formik.useFormikContext)();
268
- const [hasError, setHasError] = React.useState(false);
269
- const minDateObj = minDate ? (0, _moment.default)(minDate, format).toDate() : undefined;
270
- const maxDateObj = maxDate ? (0, _moment.default)(maxDate, format).toDate() : undefined;
275
+ const [hasError, setHasError] = _react.default.useState(false);
271
276
  const handleChange = value => {
272
- formikContext.setFieldValue(name, value);
273
- onChange(value);
277
+ if (value) {
278
+ formikContext.setFieldValue(name, value);
279
+ onChange(value);
280
+ } else {
281
+ formikContext.setFieldValue(name, null);
282
+ onChange(null);
283
+ }
274
284
  };
275
285
  const handleBlur = event => {
276
286
  onBlur(event);
277
287
  field.onBlur(event);
278
288
  };
279
- React.useEffect(() => {
289
+ _react.default.useEffect(() => {
280
290
  setHasError(Boolean(meta) && Boolean(meta.touched) && Boolean(meta.error));
281
291
  }, [meta]);
282
- React.useEffect(() => {
292
+ _react.default.useEffect(() => {
283
293
  if (Boolean(value)) {
284
294
  formikContext.setFieldValue(name, value);
285
295
  }
@@ -293,10 +303,9 @@ const PuiFormikDateTimeField = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
293
303
  label: label,
294
304
  name: name,
295
305
  required: required,
296
- value: Boolean(field.value) ? format ? _moment.default.utc(field.value, format) : _moment.default.utc(field.value) : null,
306
+ value: Boolean(field.value) ? format ? (0, _moment.default)(field.value, format) : (0, _moment.default)(field.value) : null,
297
307
  format: format,
298
- minDate: minDateObj,
299
- maxDate: maxDateObj,
308
+ minDate: minDate,
300
309
  inputFormat: inputFormat,
301
310
  disableFuture: disableFuture,
302
311
  disablePast: disablePast,
@@ -309,7 +318,7 @@ const PuiFormikDateTimeField = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
309
318
  onBlur: handleBlur
310
319
  }, rest));
311
320
  });
312
- const PuiDateTimeField = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
321
+ const PuiDateTimeField = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
313
322
  let {
314
323
  formik,
315
324
  id,
@@ -332,9 +341,9 @@ const PuiDateTimeField = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
332
341
  helperText,
333
342
  onChange,
334
343
  onBlur
335
- } = _ref6,
336
- rest = _objectWithoutProperties(_ref6, _excluded3);
337
- return /*#__PURE__*/React.createElement(formik ? PuiFormikDateTimeField : PuiStandardDateTimeField, _objectSpread({
344
+ } = _ref3,
345
+ rest = _objectWithoutProperties(_ref3, _excluded3);
346
+ return /*#__PURE__*/_react.default.createElement(formik ? PuiFormikDateTimeField : PuiStandardDateTimeField, _objectSpread({
338
347
  ref,
339
348
  id,
340
349
  className,