@portnet/ui 1.1.9 → 2.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.
@@ -9,13 +9,14 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
  require("core-js/modules/web.dom-collections.iterator.js");
12
- var _AdapterDayjs = require("@mui/x-date-pickers/AdapterDayjs");
12
+ var _styles = require("@mui/material/styles");
13
13
  var _DesktopDatePicker = require("@mui/x-date-pickers/DesktopDatePicker");
14
- var _LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
15
14
  var _formik = require("formik");
16
15
  var _moment = _interopRequireDefault(require("moment"));
17
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
18
17
  var React = _interopRequireWildcard(require("react"));
18
+ var _apperance = require("../../config/apperance");
19
+ var _StyledMuiTextField = _interopRequireDefault(require("../common/StyledMuiTextField"));
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
21
  const _excluded = ["id", "className", "sx", "label", "name", "required", "value", "minDate", "maxDate", "inputFormat", "format", "disablePast", "disableFuture", "error", "readOnly", "fullWidth", "disabled", "helperText", "onChange", "onBlur"],
21
22
  _excluded2 = ["id", "className", "sx", "label", "name", "required", "value", "minDate", "maxDate", "inputFormat", "format", "disablePast", "disableFuture", "error", "readOnly", "fullWidth", "disabled", "helperText", "onChange", "onBlur"],
@@ -23,103 +24,36 @@ const _excluded = ["id", "className", "sx", "label", "name", "required", "value"
23
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
+ 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; }
28
+ 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; }
26
29
  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; }
27
30
  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; }
28
31
  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; }
29
32
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
30
33
  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); }
31
- 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; }
32
- 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; }
33
- const frenchLocaleText = {
34
- cancelButtonLabel: "Annuler",
35
- okButtonLabel: "Appliquer",
36
- toolbarTitle: "Sélectionner la date et l'heure",
37
- todayButtonLabel: "Aujourd’hui",
38
- clockLabelText: "Sélectionnez l’heure",
39
- calendarWeekNumberHeaderLabel: "Semaine",
40
- calendarWeekNumberLabel: "Semaine {weekNumber}"
41
- };
42
- const palette = {
43
- inherit: "inherit",
44
- primary: "#232f66",
45
- secondary: "#e7e7e7",
46
- error: "#d32f2f",
47
- warning: "#FD9727",
48
- success: "#48AC24",
49
- info: "#2278CF",
50
- white: "#FFF",
51
- dark: "#000",
52
- gray: {
53
- darker: "#505050",
54
- dark: "#b6b6b6",
55
- light: "#F1F1F1"
56
- },
57
- background: {
58
- required: "#FFFBE3",
59
- error: "#FFE5E5"
60
- }
61
- };
62
- const textFieldStyles = {
63
- "&.MuiFormControl-root": {
64
- "&.required .MuiInputBase-root": {
65
- backgroundColor: required => required ? palette.background.required : "white"
66
- },
67
- "& .MuiFormLabel-root": {
68
- zIndex: 0,
69
- lineSpacing: "-0.03em",
70
- position: "initial",
71
- transform: "none",
72
- fontSize: "0.8rem",
73
- fontWeight: "600",
74
- marginBottom: "4px",
75
- color: palette.gray.darker,
76
- "&.Mui-focused ": {
77
- color: palette.primary
34
+ const StyledDateMuiTextField = (0, _styles.styled)(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_StyledMuiTextField.default, _objectSpread({
35
+ ref: ref
36
+ }, props))))(() => {
37
+ return {
38
+ "&.MuiFormControl-root": {
39
+ display: "block",
40
+ "& .MuiFormLabel-root": {
41
+ marginBottom: "0.65px"
78
42
  },
79
- "&.Mui-disabled": {
80
- color: palette.gray.darker
81
- },
82
- "&.Mui-error": {
83
- color: palette.error
84
- }
85
- },
86
- "& .MuiInputBase-root": {
87
- backgroundColor: required => required ? palette.background.required : "white",
88
- border: "2px solid ".concat(palette.gray.dark),
89
- borderRadius: "5px",
90
- "&.MuiInputBase-multiline": {
91
- padding: "8px 0"
92
- },
93
- "&.Mui-focused ": {
94
- border: "2px solid ".concat(palette.primary)
95
- },
96
- "&.Mui-error ": {
97
- border: "2px solid ".concat(palette.error),
98
- backgroundColor: palette.background.error
99
- },
100
- "&.Mui-disabled ": {
101
- "& input": {
102
- color: "".concat(palette.gray.darker),
103
- WebkitTextFillColor: "".concat(palette.gray.darker)
43
+ "& .MuiInputAdornment-root .MuiButtonBase-root": {
44
+ "&:hover": {
45
+ backgroundColor: "transparent"
104
46
  },
105
- backgroundColor: "".concat(palette.secondary)
106
- },
107
- "& .MuiInputBase-input": {
108
- lineHeight: "1",
109
- padding: "1px 6px",
110
- fontSize: "0.7rem"
47
+ padding: "0 6px",
48
+ marginRight: "-8px",
49
+ "& .MuiSvgIcon-root": {
50
+ width: "16px",
51
+ height: "16px"
52
+ }
111
53
  }
112
- },
113
- "& .MuiFormHelperText-root": {
114
- fontWeight: "bold",
115
- fontSize: ".7rem",
116
- color: "red"
117
- },
118
- "& fieldset": {
119
- display: "none"
120
54
  }
121
- }
122
- };
55
+ };
56
+ });
123
57
  const PuiStandardDateField = /*#__PURE__*/React.forwardRef((_ref, ref) => {
124
58
  let {
125
59
  id,
@@ -152,49 +86,41 @@ const PuiStandardDateField = /*#__PURE__*/React.forwardRef((_ref, ref) => {
152
86
  onChange(null);
153
87
  }
154
88
  };
155
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
156
- dateAdapter: _AdapterDayjs.AdapterDayjs,
157
- localeText: frenchLocaleText,
158
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DesktopDatePicker.DesktopDatePicker, _objectSpread({
159
- ref: ref,
160
- sx: sx,
161
- label: label,
162
- inputFormat: inputFormat,
163
- value: value,
164
- onChange: handleChange,
165
- disablePast: disablePast,
166
- disableFuture: disableFuture,
167
- disabled: disabled,
168
- maxDate: maxDate,
169
- minDate: minDate,
170
- readOnly: readOnly,
171
- slotProps: {
172
- textField: {
173
- name,
174
- sx: textFieldStyles,
175
- fullWidth,
176
- required,
177
- error,
178
- helperText
179
- },
180
- popper: {
181
- sx: {
182
- "& .MuiPaper-root": {
183
- boxShadow: "none !important",
184
- border: "1px solid #e0e0e0",
185
- backgroundColor: "white"
186
- },
187
- "& .MuiPickersDay-root.Mui-selected": {
188
- backgroundColor: "".concat(palette.primary, " !important")
189
- },
190
- "& .Mui-selected": {
191
- backgroundColor: "".concat(palette.primary, " !important")
192
- }
193
- }
89
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DesktopDatePicker.DesktopDatePicker, _objectSpread({
90
+ ref: ref,
91
+ sx: sx,
92
+ label: label,
93
+ inputFormat: inputFormat,
94
+ value: value,
95
+ onChange: handleChange,
96
+ disablePast: disablePast,
97
+ disableFuture: disableFuture,
98
+ disabled: disabled,
99
+ maxDate: maxDate,
100
+ minDate: minDate,
101
+ readOnly: readOnly,
102
+ PopperProps: {
103
+ sx: {
104
+ "& .MuiButtonBase-root.Mui-selected, & .MuiButtonBase-root.Mui-selected:focus, & .MuiButtonBase-root.Mui-selected:hover": {
105
+ backgroundColor: _apperance.palette.primary
194
106
  }
195
107
  }
196
- }, rest))
197
- });
108
+ },
109
+ renderInput: params => /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledDateMuiTextField, _objectSpread(_objectSpread({
110
+ id: id,
111
+ className: className,
112
+ name: name,
113
+ required: required,
114
+ fullWidth: fullWidth,
115
+ onBlur: onBlur,
116
+ helperText: helperText
117
+ }, params), {}, {
118
+ error: params.error || error,
119
+ inputProps: _objectSpread({
120
+ name
121
+ }, params.inputProps)
122
+ }))
123
+ }, rest));
198
124
  });
199
125
  const PuiFormikDateField = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
200
126
  let {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.weak-map.js");
3
4
  require("core-js/modules/esnext.iterator.constructor.js");
4
5
  require("core-js/modules/esnext.iterator.filter.js");
5
6
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -8,22 +9,238 @@ Object.defineProperty(exports, "__esModule", {
8
9
  });
9
10
  exports.default = void 0;
10
11
  require("core-js/modules/web.dom-collections.iterator.js");
11
- var _react = _interopRequireDefault(require("react"));
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _material = require("@mui/material");
13
+ var _styles = require("@mui/material/styles");
14
+ var _DatePicker = require("@mui/x-date-pickers/DatePicker");
13
15
  var _formik = require("formik");
14
16
  var _moment = _interopRequireDefault(require("moment"));
15
- var _DateTimePickerField = _interopRequireDefault(require("../others/DateTimePickerField"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var React = _interopRequireWildcard(require("react"));
19
+ 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"));
16
24
  var _jsxRuntime = require("react/jsx-runtime");
17
- const _excluded = ["id", "className", "sx", "label", "name", "required", "value", "minDate", "maxDate", "inputFormat", "format", "disablePast", "disableFuture", "error", "readOnly", "fullWidth", "disabled", "helperText", "onChange", "onBlur"];
25
+ const _excluded = ["id", "className", "sx", "label", "name", "required", "value", "minDate", "maxDate", "inputFormat", "format", "disablePast", "disableFuture", "error", "readOnly", "fullWidth", "disabled", "helperText", "onChange", "onBlur"],
26
+ _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 _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
30
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
31
+ 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; }
32
+ 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; }
19
33
  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; }
20
34
  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; }
21
35
  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; }
22
36
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
37
  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); }
24
- 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; }
25
- 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; }
26
- const PuiDateTimeField = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
38
+ const StyledDateMuiTextField = (0, _styles.styled)(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_StyledMuiTextField.default, _objectSpread({
39
+ ref: ref
40
+ }, props))))(() => ({
41
+ "&.MuiFormControl-root": {
42
+ display: "block",
43
+ "& .MuiInputAdornment-root .MuiButtonBase-root": {
44
+ padding: "6px",
45
+ marginRight: "-8px",
46
+ "& .MuiSvgIcon-root": {
47
+ width: "16px",
48
+ height: "16px"
49
+ }
50
+ }
51
+ }
52
+ }));
53
+ const TimePickerDialog = _ref => {
54
+ var _ref2, _ref3;
55
+ let {
56
+ open,
57
+ selectedDate,
58
+ onTimeSelected,
59
+ onClose,
60
+ position
61
+ } = _ref;
62
+ const defaultTime = (0, _moment.default)(selectedDate).isValid() ? (0, _moment.default)(selectedDate).format("HH:mm") : (0, _moment.default)().format("HH:mm");
63
+ const [selectedTime, setSelectedTime] = React.useState(defaultTime);
64
+ const handleTimeChange = event => {
65
+ setSelectedTime(event.target.value);
66
+ };
67
+ const handleOk = () => {
68
+ onTimeSelected(selectedTime);
69
+ onClose();
70
+ };
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiDialog.default, {
72
+ open: open,
73
+ onClose: onClose,
74
+ slotProps: {
75
+ backdrop: {
76
+ style: {
77
+ backgroundColor: "transparent",
78
+ boxShadow: "none"
79
+ }
80
+ }
81
+ },
82
+ hideBackdrop: true,
83
+ PaperProps: {
84
+ elevation: 5,
85
+ sx: {
86
+ position: "fixed",
87
+ alignContent: "center",
88
+ justifyContent: "center",
89
+ alignItems: "center",
90
+ backgroundColor: "white",
91
+ height: 58,
92
+ width: 340,
93
+ maxWidth: "720px!important",
94
+ left: (_ref2 = (position === null || position === void 0 ? void 0 : position.left) - 420 / 2) !== null && _ref2 !== void 0 ? _ref2 : 0,
95
+ top: (_ref3 = (position === null || position === void 0 ? void 0 : position.top) + 36) !== null && _ref3 !== void 0 ? _ref3 : 36
96
+ }
97
+ },
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
99
+ sx: {
100
+ display: "flex",
101
+ gap: 1
102
+ },
103
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiTextField.default, {
104
+ id: "time",
105
+ type: "time",
106
+ value: selectedTime,
107
+ onChange: handleTimeChange,
108
+ InputLabelProps: {
109
+ shrink: true
110
+ },
111
+ inputProps: {
112
+ step: 60
113
+ },
114
+ formik: false,
115
+ sx: {
116
+ width: 150
117
+ }
118
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
119
+ onClick: onClose,
120
+ sx: {
121
+ color: _apperance.palette.primary
122
+ },
123
+ children: "Cancel"
124
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
125
+ onClick: handleOk,
126
+ sx: {
127
+ color: _apperance.palette.primary
128
+ },
129
+ children: "OK"
130
+ })]
131
+ })
132
+ });
133
+ };
134
+ const PuiStandardDateTimeField = /*#__PURE__*/React.forwardRef((_ref4, ref) => {
135
+ let {
136
+ id,
137
+ className,
138
+ sx,
139
+ label,
140
+ name,
141
+ required,
142
+ value,
143
+ minDate,
144
+ maxDate,
145
+ inputFormat = "YYYY-MM-DDTHH:mm:ss.SSSZ",
146
+ format = "YYYY-MM-DDTHH:mm:ss.SSSZ",
147
+ disablePast,
148
+ disableFuture,
149
+ error,
150
+ readOnly,
151
+ fullWidth,
152
+ disabled,
153
+ helperText,
154
+ onChange,
155
+ onBlur
156
+ } = _ref4,
157
+ rest = _objectWithoutProperties(_ref4, _excluded);
158
+ const textFieldRef = React.useRef(null);
159
+ const [dateTime, setDateTime] = React.useState(value || null);
160
+ const minDateObj = minDate ? (0, _moment.default)(minDate, format).toDate() : undefined;
161
+ const maxDateObj = maxDate ? (0, _moment.default)(maxDate, format).toDate() : undefined;
162
+ const [displayedDateTime, setDisplayedDateTime] = React.useState(value || null);
163
+ const [openTimePicker, setOpenTimePicker] = React.useState(false);
164
+ const [dialogPosition, setDialogPosition] = React.useState();
165
+ const handleDateChange = date => {
166
+ if (date) {
167
+ setDateTime((0, _moment.default)(date).format(format));
168
+ setOpenTimePicker(true);
169
+ }
170
+ };
171
+ const handleTimeSelected = time => {
172
+ const newDateTime = (0, _moment.default)(dateTime).format("YYYY-MM-DD") + "T" + time;
173
+ const updatedDateTime = (0, _moment.default)(newDateTime, "YYYY-MM-DDTHH:mm").format(format);
174
+ setDateTime(updatedDateTime);
175
+ setDisplayedDateTime(updatedDateTime);
176
+ onChange(updatedDateTime);
177
+ };
178
+ React.useEffect(() => {
179
+ const updatePosition = () => {
180
+ if (textFieldRef !== null && textFieldRef !== void 0 && textFieldRef.current) {
181
+ const rect = textFieldRef.current.getBoundingClientRect();
182
+ console.log("rect : ", rect);
183
+ setDialogPosition({
184
+ left: rect.left + rect.width / 2 + window.scrollX,
185
+ top: rect.top > 310 ? rect.top - 80 : rect.top + 80
186
+ });
187
+ }
188
+ };
189
+ updatePosition();
190
+ window.addEventListener("resize", updatePosition);
191
+ window.addEventListener("scroll", updatePosition);
192
+ return () => {
193
+ window.removeEventListener("resize", updatePosition);
194
+ window.removeEventListener("scroll", updatePosition);
195
+ };
196
+ }, []);
197
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
198
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker.DatePicker, _objectSpread({
199
+ ref: textFieldRef,
200
+ sx: sx,
201
+ ampm: false,
202
+ label: label,
203
+ inputFormat: "DD/MM/yyyy HH:mm",
204
+ value: displayedDateTime,
205
+ onChange: handleDateChange,
206
+ disablePast: disablePast,
207
+ disableFuture: disableFuture,
208
+ disabled: disabled,
209
+ maxDate: maxDateObj,
210
+ minDate: minDateObj,
211
+ readOnly: readOnly,
212
+ PopperProps: {
213
+ sx: {
214
+ "& .MuiButtonBase-root.Mui-selected, & .MuiButtonBase-root.Mui-selected:focus, & .MuiButtonBase-root.Mui-selected:hover": {
215
+ backgroundColor: _apperance.palette.primary
216
+ }
217
+ }
218
+ },
219
+ renderInput: params => /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledDateMuiTextField, _objectSpread(_objectSpread({}, params), {}, {
220
+ ref: textFieldRef,
221
+ id: id,
222
+ className: className,
223
+ label: label,
224
+ name: name,
225
+ required: required,
226
+ fullWidth: fullWidth,
227
+ onBlur: onBlur,
228
+ helperText: helperText,
229
+ error: error,
230
+ inputProps: _objectSpread(_objectSpread({}, params.inputProps), {}, {
231
+ readOnly: readOnly
232
+ })
233
+ }))
234
+ }, rest)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerDialog, {
235
+ open: openTimePicker,
236
+ selectedDate: dateTime,
237
+ onTimeSelected: handleTimeSelected,
238
+ onClose: () => setOpenTimePicker(false),
239
+ position: dialogPosition
240
+ })]
241
+ });
242
+ });
243
+ const PuiFormikDateTimeField = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
27
244
  let {
28
245
  id,
29
246
  className,
@@ -45,11 +262,11 @@ const PuiDateTimeField = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
45
262
  helperText,
46
263
  onChange,
47
264
  onBlur
48
- } = _ref,
49
- rest = _objectWithoutProperties(_ref, _excluded);
265
+ } = _ref5,
266
+ rest = _objectWithoutProperties(_ref5, _excluded2);
50
267
  const [field, meta] = (0, _formik.useField)(name);
51
268
  const formikContext = (0, _formik.useFormikContext)();
52
- const [hasError, setHasError] = _react.default.useState(false);
269
+ const [hasError, setHasError] = React.useState(false);
53
270
  const minDateObj = minDate ? (0, _moment.default)(minDate, format).toDate() : undefined;
54
271
  const maxDateObj = maxDate ? (0, _moment.default)(maxDate, format).toDate() : undefined;
55
272
  const handleChange = value => {
@@ -60,49 +277,100 @@ const PuiDateTimeField = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
60
277
  onBlur(event);
61
278
  field.onBlur(event);
62
279
  };
63
- _react.default.useEffect(() => {
64
- setHasError(meta.touched && meta.error);
280
+ React.useEffect(() => {
281
+ setHasError(Boolean(meta) && Boolean(meta.touched) && Boolean(meta.error));
65
282
  }, [meta]);
66
- _react.default.useEffect(() => {
67
- if (value) {
283
+ React.useEffect(() => {
284
+ if (Boolean(value)) {
68
285
  formikContext.setFieldValue(name, value);
69
286
  }
70
- }, [value, formikContext, name]);
71
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateTimePickerField.default, _objectSpread({
72
- ref: ref,
287
+ // eslint-disable-next-line react-hooks/exhaustive-deps
288
+ }, [value]);
289
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PuiStandardDateTimeField, _objectSpread({
73
290
  id: id,
291
+ ref: ref,
74
292
  className: className,
75
293
  sx: sx,
76
294
  label: label,
77
295
  name: name,
78
296
  required: required,
79
- value: value,
297
+ value: Boolean(field.value) ? format ? _moment.default.utc(field.value, format) : _moment.default.utc(field.value) : null,
80
298
  format: format,
81
299
  minDate: minDateObj,
82
300
  maxDate: maxDateObj,
83
301
  inputFormat: inputFormat,
84
302
  disableFuture: disableFuture,
85
303
  disablePast: disablePast,
86
- error: hasError || error,
304
+ error: error || hasError,
87
305
  readOnly: readOnly,
88
306
  fullWidth: fullWidth,
89
307
  disabled: disabled,
90
- helperText: helperText || meta.error,
308
+ helperText: hasError && Boolean(meta.error) ? meta.error : helperText !== null && helperText !== void 0 ? helperText : "",
91
309
  onChange: handleChange,
92
310
  onBlur: handleBlur
93
311
  }, rest));
94
312
  });
313
+ const PuiDateTimeField = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
314
+ let {
315
+ formik,
316
+ id,
317
+ className,
318
+ sx,
319
+ label,
320
+ name,
321
+ required,
322
+ value,
323
+ minDate,
324
+ maxDate,
325
+ inputFormat,
326
+ format,
327
+ disablePast,
328
+ disableFuture,
329
+ error,
330
+ readOnly,
331
+ fullWidth,
332
+ disabled,
333
+ helperText,
334
+ onChange,
335
+ onBlur
336
+ } = _ref6,
337
+ rest = _objectWithoutProperties(_ref6, _excluded3);
338
+ return /*#__PURE__*/React.createElement(formik ? PuiFormikDateTimeField : PuiStandardDateTimeField, _objectSpread({
339
+ ref,
340
+ id,
341
+ className,
342
+ sx,
343
+ label,
344
+ name,
345
+ required,
346
+ value,
347
+ minDate,
348
+ maxDate,
349
+ inputFormat,
350
+ format,
351
+ disablePast,
352
+ disableFuture,
353
+ error,
354
+ readOnly,
355
+ fullWidth,
356
+ disabled,
357
+ helperText,
358
+ onChange,
359
+ onBlur
360
+ }, rest));
361
+ });
95
362
  PuiDateTimeField.propTypes = {
96
363
  id: _propTypes.default.string,
97
364
  className: _propTypes.default.string,
98
365
  sx: _propTypes.default.object,
99
366
  label: _propTypes.default.string,
100
- name: _propTypes.default.string.isRequired,
367
+ name: _propTypes.default.string,
101
368
  helperText: _propTypes.default.string,
102
369
  inputFormat: _propTypes.default.string,
103
370
  format: _propTypes.default.string,
104
371
  minDate: _propTypes.default.string,
105
372
  maxDate: _propTypes.default.string,
373
+ formik: _propTypes.default.bool,
106
374
  disabled: _propTypes.default.bool,
107
375
  required: _propTypes.default.bool,
108
376
  error: _propTypes.default.bool,
@@ -111,16 +379,18 @@ PuiDateTimeField.propTypes = {
111
379
  readOnly: _propTypes.default.bool,
112
380
  fullWidth: _propTypes.default.bool,
113
381
  onChange: _propTypes.default.func,
114
- onBlur: _propTypes.default.func,
115
- value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.instanceOf(Date)])
382
+ onBlur: _propTypes.default.func
116
383
  };
117
384
  PuiDateTimeField.defaultProps = {
118
- inputFormat: "YYYY-MM-DDTHH:mm:ss.SSSZ",
119
- format: "YYYY-MM-DDTHH:mm:ss.SSSZ",
385
+ inputFormat: "DD/MM/YYYY HH:mm",
386
+ formik: true,
387
+ disabled: false,
388
+ required: false,
389
+ error: false,
390
+ fullWidth: true,
391
+ readOnly: false,
120
392
  disablePast: false,
121
393
  disableFuture: false,
122
- readOnly: false,
123
- fullWidth: true,
124
394
  onChange: () => {},
125
395
  onBlur: () => {}
126
396
  };