@ikatec/nebula-react 1.0.20 → 1.0.21

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 CHANGED
@@ -3914,10 +3914,6 @@ function dateFormatIsValid(dateStr, locale) {
3914
3914
  const regex = locale === "en-US" ? regexUS : regexBR;
3915
3915
  return regex.test(dateStr);
3916
3916
  }
3917
- function timeFormatIsValid(timeStr) {
3918
- const regex = /^(?:[01]\d|2[0-3]):[0-5]\d$/;
3919
- return regex.test(timeStr);
3920
- }
3921
3917
  var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
3922
3918
  try {
3923
3919
  if (!dateStr) return;
@@ -4229,7 +4225,7 @@ var InputDateTimePickerSingle = ({
4229
4225
  setMonth(/* @__PURE__ */ new Date());
4230
4226
  };
4231
4227
  const handleInnerInputChange = (text) => {
4232
- let [dateSlice = "", hourSlice = ""] = text.split(DATA_TIME_SEPARATOR);
4228
+ const [dateSlice = "", hourSlice = ""] = text.split(DATA_TIME_SEPARATOR);
4233
4229
  if (!text) {
4234
4230
  onChange?.(text);
4235
4231
  handleClearValue();
@@ -4246,22 +4242,31 @@ var InputDateTimePickerSingle = ({
4246
4242
  handleClearValue();
4247
4243
  return;
4248
4244
  }
4249
- if (!timeFormatIsValid(hourSlice)) {
4250
- hourSlice = "";
4251
- setInnerTimeValue("");
4252
- } else {
4253
- setInnerTimeValue(hourSlice);
4254
- }
4255
- onChange?.(text, date, hourSlice);
4245
+ const [hour, minutes] = hourSlice.split(":");
4246
+ const normalizedTime = [
4247
+ hour ? Math.min(Math.max(+hour, 0), 23).toString() : "",
4248
+ minutes ? Math.min(Math.max(+minutes, 0), 59).toString() : ""
4249
+ ].filter(Boolean).join(":");
4250
+ setInnerTimeValue(normalizedTime);
4251
+ const [dateStr] = text.split(DATA_TIME_SEPARATOR);
4252
+ onChange?.(
4253
+ [dateStr, normalizedTime].filter(Boolean).join(DATA_TIME_SEPARATOR),
4254
+ date,
4255
+ normalizedTime
4256
+ );
4256
4257
  setInnerDate(date);
4257
4258
  };
4258
4259
  const handleOnChangeTime = (newTime) => {
4259
- const [date = ""] = value?.split(" ") ?? [];
4260
+ const [date = ""] = value?.split(DATA_TIME_SEPARATOR) ?? [];
4260
4261
  setInnerTimeValue(newTime);
4261
4262
  if (date && !dateFormatIsValid(date, locale)) {
4262
4263
  handleClearValue();
4263
4264
  }
4264
- onChange?.(date + " " + newTime, innerDate, newTime);
4265
+ onChange?.(
4266
+ date + (newTime ? DATA_TIME_SEPARATOR + newTime : ""),
4267
+ innerDate,
4268
+ newTime
4269
+ );
4265
4270
  };
4266
4271
  const handleKeyDown = (e) => {
4267
4272
  if ((e.altKey || e.ctrlKey || e.metaKey) && e.key !== "z") return;
@@ -4289,7 +4294,7 @@ var InputDateTimePickerSingle = ({
4289
4294
  }).format(date);
4290
4295
  setInnerDate(date);
4291
4296
  onChange?.(
4292
- [dateToStr, innerTimeValue].filter(Boolean).join(" "),
4297
+ [dateToStr, innerTimeValue].filter(Boolean).join(DATA_TIME_SEPARATOR),
4293
4298
  date,
4294
4299
  innerTimeValue
4295
4300
  );
@@ -4379,7 +4384,7 @@ var InputDateTimePickerSingle = ({
4379
4384
  /* @__PURE__ */ jsxRuntime.jsx(
4380
4385
  InputTime,
4381
4386
  {
4382
- placeholder: "00:00",
4387
+ placeholder: "hh:mm",
4383
4388
  value: innerTimeValue,
4384
4389
  onChange: handleOnChangeTime,
4385
4390
  ref: inputTimeRef,
package/dist/index.mjs CHANGED
@@ -3874,10 +3874,6 @@ function dateFormatIsValid(dateStr, locale) {
3874
3874
  const regex = locale === "en-US" ? regexUS : regexBR;
3875
3875
  return regex.test(dateStr);
3876
3876
  }
3877
- function timeFormatIsValid(timeStr) {
3878
- const regex = /^(?:[01]\d|2[0-3]):[0-5]\d$/;
3879
- return regex.test(timeStr);
3880
- }
3881
3877
  var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
3882
3878
  try {
3883
3879
  if (!dateStr) return;
@@ -4189,7 +4185,7 @@ var InputDateTimePickerSingle = ({
4189
4185
  setMonth(/* @__PURE__ */ new Date());
4190
4186
  };
4191
4187
  const handleInnerInputChange = (text) => {
4192
- let [dateSlice = "", hourSlice = ""] = text.split(DATA_TIME_SEPARATOR);
4188
+ const [dateSlice = "", hourSlice = ""] = text.split(DATA_TIME_SEPARATOR);
4193
4189
  if (!text) {
4194
4190
  onChange?.(text);
4195
4191
  handleClearValue();
@@ -4206,22 +4202,31 @@ var InputDateTimePickerSingle = ({
4206
4202
  handleClearValue();
4207
4203
  return;
4208
4204
  }
4209
- if (!timeFormatIsValid(hourSlice)) {
4210
- hourSlice = "";
4211
- setInnerTimeValue("");
4212
- } else {
4213
- setInnerTimeValue(hourSlice);
4214
- }
4215
- onChange?.(text, date, hourSlice);
4205
+ const [hour, minutes] = hourSlice.split(":");
4206
+ const normalizedTime = [
4207
+ hour ? Math.min(Math.max(+hour, 0), 23).toString() : "",
4208
+ minutes ? Math.min(Math.max(+minutes, 0), 59).toString() : ""
4209
+ ].filter(Boolean).join(":");
4210
+ setInnerTimeValue(normalizedTime);
4211
+ const [dateStr] = text.split(DATA_TIME_SEPARATOR);
4212
+ onChange?.(
4213
+ [dateStr, normalizedTime].filter(Boolean).join(DATA_TIME_SEPARATOR),
4214
+ date,
4215
+ normalizedTime
4216
+ );
4216
4217
  setInnerDate(date);
4217
4218
  };
4218
4219
  const handleOnChangeTime = (newTime) => {
4219
- const [date = ""] = value?.split(" ") ?? [];
4220
+ const [date = ""] = value?.split(DATA_TIME_SEPARATOR) ?? [];
4220
4221
  setInnerTimeValue(newTime);
4221
4222
  if (date && !dateFormatIsValid(date, locale)) {
4222
4223
  handleClearValue();
4223
4224
  }
4224
- onChange?.(date + " " + newTime, innerDate, newTime);
4225
+ onChange?.(
4226
+ date + (newTime ? DATA_TIME_SEPARATOR + newTime : ""),
4227
+ innerDate,
4228
+ newTime
4229
+ );
4225
4230
  };
4226
4231
  const handleKeyDown = (e) => {
4227
4232
  if ((e.altKey || e.ctrlKey || e.metaKey) && e.key !== "z") return;
@@ -4249,7 +4254,7 @@ var InputDateTimePickerSingle = ({
4249
4254
  }).format(date);
4250
4255
  setInnerDate(date);
4251
4256
  onChange?.(
4252
- [dateToStr, innerTimeValue].filter(Boolean).join(" "),
4257
+ [dateToStr, innerTimeValue].filter(Boolean).join(DATA_TIME_SEPARATOR),
4253
4258
  date,
4254
4259
  innerTimeValue
4255
4260
  );
@@ -4339,7 +4344,7 @@ var InputDateTimePickerSingle = ({
4339
4344
  /* @__PURE__ */ jsx(
4340
4345
  InputTime,
4341
4346
  {
4342
- placeholder: "00:00",
4347
+ placeholder: "hh:mm",
4343
4348
  value: innerTimeValue,
4344
4349
  onChange: handleOnChangeTime,
4345
4350
  ref: inputTimeRef,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikatec/nebula-react",
3
- "version": "1.0.20",
3
+ "version": "1.0.21",
4
4
  "description": "React components",
5
5
  "publishConfig": {
6
6
  "access": "public"