indicator-ui 0.0.122 → 0.0.124
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/dist/index.js +99 -64
- package/dist/index.js.map +1 -1
- package/dist/types/src/lib/time/saveFormatDate.d.ts +1 -1
- package/dist/types/src/ui/InputFields/DateTimeField/types/DateFieldTypes.d.ts +2 -0
- package/dist/types/src/ui/InputFields/DateTimeField/types/DateTimeFieldTypes.d.ts +8 -0
- package/dist/types/src/ui/InputFields/DateTimeField/types/TimeFieldTypes.d.ts +2 -0
- package/dist/types/src/ui/InputFields/DateTimeField/ui/DateField.d.ts +1 -1
- package/dist/types/src/ui/InputFields/DateTimeField/ui/DateTimeField.d.ts +1 -1
- package/dist/types/src/ui/InputFields/DateTimeField/ui/TimeField.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6948,7 +6948,7 @@ function saveFormatDate(date, { from, to, errorNull = false, locale, toTimeZone,
|
|
|
6948
6948
|
if (toTimeZone) {
|
|
6949
6949
|
parsedDate = (0,date_fns_tz__WEBPACK_IMPORTED_MODULE_0__.toZonedTime)(parsedDate, toTimeZone);
|
|
6950
6950
|
}
|
|
6951
|
-
return (0,date_fns_tz__WEBPACK_IMPORTED_MODULE_0__.format)(parsedDate, to, { locale: locale
|
|
6951
|
+
return (0,date_fns_tz__WEBPACK_IMPORTED_MODULE_0__.format)(parsedDate, to, { locale: locale });
|
|
6952
6952
|
}
|
|
6953
6953
|
catch (e) {
|
|
6954
6954
|
console.warn(e);
|
|
@@ -9145,7 +9145,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9145
9145
|
|
|
9146
9146
|
|
|
9147
9147
|
|
|
9148
|
-
function DateField({ value, disabled, required, isError, onChange, onFocus, dateFormat = 'dd.MM.yyyy', onBlur, minYear = 1000, maxYear = 9999, additionStyles, }) {
|
|
9148
|
+
function DateField({ value, disabled, required, isError, onChange, onFocus, dateFormat = 'dd.MM.yyyy', onBlur, minYear = 1000, maxYear = 9999, additionStyles, timeZone, placeholder, }) {
|
|
9149
9149
|
const [dateValue, setDateValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(value);
|
|
9150
9150
|
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
|
|
9151
9151
|
if (value !== dateValue)
|
|
@@ -9153,12 +9153,21 @@ function DateField({ value, disabled, required, isError, onChange, onFocus, date
|
|
|
9153
9153
|
}, [value]);
|
|
9154
9154
|
const handleChange = (newDate) => {
|
|
9155
9155
|
setDateValue(newDate);
|
|
9156
|
-
const formatDate = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(newDate, {
|
|
9156
|
+
const formatDate = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(newDate, {
|
|
9157
|
+
from: dateFormat,
|
|
9158
|
+
to: dateFormat,
|
|
9159
|
+
errorNull: true,
|
|
9160
|
+
fromTimeZone: timeZone,
|
|
9161
|
+
toTimeZone: timeZone,
|
|
9162
|
+
});
|
|
9157
9163
|
if (newDate.length === dateFormat.length && formatDate !== null && onChange) {
|
|
9158
9164
|
onChange(formatDate);
|
|
9159
9165
|
}
|
|
9166
|
+
else if (newDate.length === 0) {
|
|
9167
|
+
onChange('');
|
|
9168
|
+
}
|
|
9160
9169
|
};
|
|
9161
|
-
return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FlexField__WEBPACK_IMPORTED_MODULE_4__.FlexField, { value: dateValue, onChange: handleChange, disabled: disabled, isError: isError, onFocus: onFocus, onBlur: onBlur, mask: dateFormat, blocks: {
|
|
9170
|
+
return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FlexField__WEBPACK_IMPORTED_MODULE_4__.FlexField, { value: dateValue, placeholder: placeholder, onChange: handleChange, disabled: disabled, isError: isError, onFocus: onFocus, onBlur: onBlur, mask: dateFormat, blocks: {
|
|
9162
9171
|
YYYY: {
|
|
9163
9172
|
mask: react_imask__WEBPACK_IMPORTED_MODULE_2__.IMask.MaskedRange,
|
|
9164
9173
|
from: minYear, // минимальный год
|
|
@@ -9200,7 +9209,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9200
9209
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
|
|
9201
9210
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
|
9202
9211
|
/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs");
|
|
9203
|
-
/* harmony import */ var date_fns_locale__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! date-fns/locale */ "./node_modules/date-fns/locale/ru.js");
|
|
9204
9212
|
/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib */ "./src/lib/index.ts");
|
|
9205
9213
|
/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles */ "./src/ui/InputFields/DateTimeField/styles/index.ts");
|
|
9206
9214
|
/* harmony import */ var _TimeField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TimeField */ "./src/ui/InputFields/DateTimeField/ui/TimeField.tsx");
|
|
@@ -9212,83 +9220,101 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9212
9220
|
|
|
9213
9221
|
|
|
9214
9222
|
|
|
9215
|
-
|
|
9216
|
-
function DateTimeField({ value, fieldConfig = 'datetime', onChange, dateFormat = 'dd.MM.yyyy', timeFormat = 'HH:mm', outFormat = 'iso-8601', additionStyle, ...props }) {
|
|
9217
|
-
const isInputDate = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(value != undefined);
|
|
9218
|
-
const isInputTime = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(value != undefined);
|
|
9223
|
+
function DateTimeField({ value, fieldConfig = 'datetime', onChange, dateFormat = 'dd.MM.yyyy', timeFormat = 'HH:mm', outFormat = 'iso-8601', additionStyle, datePlaceholder, timePlaceholder, timeZone = 'Z', ...props }) {
|
|
9219
9224
|
const getDateValue = () => {
|
|
9220
9225
|
if (value === undefined)
|
|
9221
9226
|
return undefined;
|
|
9222
9227
|
if (outFormat === 'iso-8601') {
|
|
9223
9228
|
return new Date(value);
|
|
9224
9229
|
}
|
|
9225
|
-
return (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveParseDate)(value, { from: outFormat });
|
|
9230
|
+
return (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveParseDate)(value, { from: outFormat, fromTimeZone: timeZone });
|
|
9231
|
+
};
|
|
9232
|
+
const initDate = () => {
|
|
9233
|
+
if (fieldConfig === 'time' || value === undefined)
|
|
9234
|
+
return undefined;
|
|
9235
|
+
const curDate = getDateValue();
|
|
9236
|
+
return (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(curDate, { to: dateFormat, errorNull: true, toTimeZone: timeZone }) ?? undefined;
|
|
9237
|
+
};
|
|
9238
|
+
const initTime = () => {
|
|
9239
|
+
if (fieldConfig === 'date' || value === undefined)
|
|
9240
|
+
return undefined;
|
|
9241
|
+
const curDate = getDateValue();
|
|
9242
|
+
return (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(curDate, { to: timeFormat, errorNull: true, toTimeZone: timeZone }) ?? undefined;
|
|
9243
|
+
};
|
|
9244
|
+
const setTimeInDate = (res, newTime) => {
|
|
9245
|
+
const dateTime = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveParseDate)(newTime, { from: timeFormat, fromTimeZone: timeZone });
|
|
9246
|
+
if (dateTime != null) {
|
|
9247
|
+
res.setHours(dateTime.getHours());
|
|
9248
|
+
res.setMinutes(dateTime.getMinutes());
|
|
9249
|
+
res.setSeconds(dateTime.getSeconds());
|
|
9250
|
+
res.setMilliseconds(dateTime.getMilliseconds());
|
|
9251
|
+
}
|
|
9252
|
+
};
|
|
9253
|
+
const setDateInDate = (res, newDate) => {
|
|
9254
|
+
const dateTime = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveParseDate)(newDate, { from: dateFormat, fromTimeZone: timeZone });
|
|
9255
|
+
if (dateTime != null) {
|
|
9256
|
+
res.setFullYear(dateTime.getFullYear());
|
|
9257
|
+
res.setMonth(dateTime.getMonth());
|
|
9258
|
+
res.setDate(dateTime.getDate());
|
|
9259
|
+
}
|
|
9226
9260
|
};
|
|
9227
9261
|
const setDateValue = (newValue) => {
|
|
9228
|
-
if (onChange) {
|
|
9262
|
+
if (onChange && newValue) {
|
|
9263
|
+
let dateFormat = '';
|
|
9229
9264
|
if (outFormat === 'iso-8601') {
|
|
9230
|
-
|
|
9265
|
+
dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX";
|
|
9231
9266
|
}
|
|
9232
9267
|
else {
|
|
9233
|
-
|
|
9234
|
-
|
|
9235
|
-
|
|
9236
|
-
|
|
9268
|
+
dateFormat = outFormat;
|
|
9269
|
+
}
|
|
9270
|
+
const res = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(newValue, {
|
|
9271
|
+
to: dateFormat,
|
|
9272
|
+
toTimeZone: timeZone,
|
|
9273
|
+
fromTimeZone: timeZone
|
|
9274
|
+
});
|
|
9275
|
+
if (res != null && typeof res === 'string') {
|
|
9276
|
+
onChange(res);
|
|
9237
9277
|
}
|
|
9238
9278
|
}
|
|
9239
9279
|
};
|
|
9280
|
+
const [time, setTime] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initTime());
|
|
9281
|
+
const [date, setDate] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initDate());
|
|
9282
|
+
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
|
|
9283
|
+
if (time === '' && date === '') {
|
|
9284
|
+
onChange('');
|
|
9285
|
+
}
|
|
9286
|
+
else if (time || date) {
|
|
9287
|
+
const resDate = new Date();
|
|
9288
|
+
switch (fieldConfig) {
|
|
9289
|
+
case 'datetime':
|
|
9290
|
+
if (time && date) {
|
|
9291
|
+
setDateInDate(resDate, date);
|
|
9292
|
+
setTimeInDate(resDate, time);
|
|
9293
|
+
}
|
|
9294
|
+
break;
|
|
9295
|
+
case 'date':
|
|
9296
|
+
if (date) {
|
|
9297
|
+
setDateInDate(resDate, date);
|
|
9298
|
+
}
|
|
9299
|
+
break;
|
|
9300
|
+
case 'time':
|
|
9301
|
+
if (time) {
|
|
9302
|
+
setTimeInDate(resDate, time);
|
|
9303
|
+
}
|
|
9304
|
+
break;
|
|
9305
|
+
}
|
|
9306
|
+
setDateValue(resDate);
|
|
9307
|
+
}
|
|
9308
|
+
}, [time, date]);
|
|
9240
9309
|
const getTimeContent = () => {
|
|
9241
9310
|
if (fieldConfig == 'date')
|
|
9242
9311
|
return undefined;
|
|
9243
|
-
|
|
9244
|
-
const dateValue = getDateValue();
|
|
9245
|
-
let res = new Date();
|
|
9246
|
-
const dateTime = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveParseDate)(newTime, { from: timeFormat });
|
|
9247
|
-
if (dateValue != null) {
|
|
9248
|
-
res = dateValue;
|
|
9249
|
-
}
|
|
9250
|
-
if (dateTime != null) {
|
|
9251
|
-
res.setHours(dateTime.getHours());
|
|
9252
|
-
res.setMinutes(dateTime.getMinutes());
|
|
9253
|
-
res.setSeconds(dateTime.getSeconds());
|
|
9254
|
-
res.setMilliseconds(dateTime.getMilliseconds());
|
|
9255
|
-
setDateValue(res);
|
|
9256
|
-
}
|
|
9257
|
-
};
|
|
9258
|
-
const getTime = () => {
|
|
9259
|
-
if (value === undefined)
|
|
9260
|
-
return undefined;
|
|
9261
|
-
const dateValue = getDateValue();
|
|
9262
|
-
const res = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(dateValue, { to: timeFormat, locale: date_fns_locale__WEBPACK_IMPORTED_MODULE_7__.ru });
|
|
9263
|
-
return typeof res === 'string' ? res : undefined;
|
|
9264
|
-
};
|
|
9265
|
-
return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: _styles__WEBPACK_IMPORTED_MODULE_4__.DateTimeFieldStyle.item, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_TimeField__WEBPACK_IMPORTED_MODULE_5__.TimeField, { ...props, onChange: handleChange, value: getTime(), timeFormat: timeFormat }) }));
|
|
9312
|
+
return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: _styles__WEBPACK_IMPORTED_MODULE_4__.DateTimeFieldStyle.item, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_TimeField__WEBPACK_IMPORTED_MODULE_5__.TimeField, { ...props, placeholder: timePlaceholder, onChange: setTime, timeZone: timeZone, value: time, timeFormat: timeFormat }) }));
|
|
9266
9313
|
};
|
|
9267
9314
|
const getDateContent = () => {
|
|
9268
9315
|
if (fieldConfig == 'time')
|
|
9269
9316
|
return undefined;
|
|
9270
|
-
|
|
9271
|
-
const dateValue = getDateValue();
|
|
9272
|
-
let res = new Date();
|
|
9273
|
-
const dateTime = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveParseDate)(newDate, { from: dateFormat });
|
|
9274
|
-
if (dateValue != null) {
|
|
9275
|
-
res = dateValue;
|
|
9276
|
-
}
|
|
9277
|
-
if (dateTime != null) {
|
|
9278
|
-
res.setFullYear(dateTime.getFullYear());
|
|
9279
|
-
res.setMonth(dateTime.getMonth());
|
|
9280
|
-
res.setDate(dateTime.getDate());
|
|
9281
|
-
setDateValue(res);
|
|
9282
|
-
}
|
|
9283
|
-
};
|
|
9284
|
-
const getDate = () => {
|
|
9285
|
-
if (value === undefined)
|
|
9286
|
-
return undefined;
|
|
9287
|
-
const dateValue = getDateValue();
|
|
9288
|
-
const res = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(dateValue, { to: dateFormat, locale: date_fns_locale__WEBPACK_IMPORTED_MODULE_7__.ru });
|
|
9289
|
-
return typeof res === 'string' ? res : undefined;
|
|
9290
|
-
};
|
|
9291
|
-
return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: _styles__WEBPACK_IMPORTED_MODULE_4__.DateTimeFieldStyle.item, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_DateField__WEBPACK_IMPORTED_MODULE_6__.DateField, { ...props, value: getDate(), onChange: handleChange, dateFormat: dateFormat }) }));
|
|
9317
|
+
return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: _styles__WEBPACK_IMPORTED_MODULE_4__.DateTimeFieldStyle.item, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_DateField__WEBPACK_IMPORTED_MODULE_6__.DateField, { ...props, placeholder: datePlaceholder, value: date, timeZone: timeZone, onChange: setDate, dateFormat: dateFormat }) }));
|
|
9292
9318
|
};
|
|
9293
9319
|
return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__["default"])(_styles__WEBPACK_IMPORTED_MODULE_4__.DateTimeFieldStyle.DateTimeField, additionStyle), children: [getDateContent(), getTimeContent()] }));
|
|
9294
9320
|
}
|
|
@@ -9318,7 +9344,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9318
9344
|
|
|
9319
9345
|
|
|
9320
9346
|
|
|
9321
|
-
function TimeField({ value, disabled, required, isError, onChange, onFocus, timeFormat = 'HH:mm', onBlur, additionStyles, }) {
|
|
9347
|
+
function TimeField({ value, disabled, required, isError, onChange, onFocus, timeFormat = 'HH:mm', onBlur, placeholder, additionStyles, timeZone, }) {
|
|
9322
9348
|
const [timeValue, setTimeValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(value);
|
|
9323
9349
|
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
|
|
9324
9350
|
if (value !== timeValue)
|
|
@@ -9326,12 +9352,21 @@ function TimeField({ value, disabled, required, isError, onChange, onFocus, time
|
|
|
9326
9352
|
}, [value]);
|
|
9327
9353
|
const handleChange = (newTime) => {
|
|
9328
9354
|
setTimeValue(newTime);
|
|
9329
|
-
const formatTime = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(newTime, {
|
|
9355
|
+
const formatTime = (0,_lib__WEBPACK_IMPORTED_MODULE_3__.saveFormatDate)(newTime, {
|
|
9356
|
+
from: timeFormat,
|
|
9357
|
+
to: timeFormat,
|
|
9358
|
+
errorNull: true,
|
|
9359
|
+
fromTimeZone: timeZone,
|
|
9360
|
+
toTimeZone: timeZone,
|
|
9361
|
+
});
|
|
9330
9362
|
if (newTime.length === timeFormat.length && formatTime !== null && onChange) {
|
|
9331
9363
|
onChange(formatTime);
|
|
9332
9364
|
}
|
|
9365
|
+
else if (newTime.length === 0) {
|
|
9366
|
+
onChange('');
|
|
9367
|
+
}
|
|
9333
9368
|
};
|
|
9334
|
-
return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FlexField__WEBPACK_IMPORTED_MODULE_4__.FlexField, { value: timeValue, onChange: handleChange, disabled: disabled, isError: isError, onFocus: onFocus, onBlur: onBlur, mask: timeFormat, blocks: {
|
|
9369
|
+
return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FlexField__WEBPACK_IMPORTED_MODULE_4__.FlexField, { value: timeValue, placeholder: placeholder, onChange: handleChange, disabled: disabled, isError: isError, onFocus: onFocus, onBlur: onBlur, mask: timeFormat, blocks: {
|
|
9335
9370
|
HH: {
|
|
9336
9371
|
mask: react_imask__WEBPACK_IMPORTED_MODULE_2__.IMask.MaskedRange,
|
|
9337
9372
|
from: 0,
|