@ikatec/nebula-react 1.0.19 → 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.d.mts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +41 -20
- package/dist/index.mjs +41 -20
- package/package.json +8 -6
package/dist/index.d.mts
CHANGED
|
@@ -591,8 +591,9 @@ interface InputDatePickerSingleProps extends Omit<InputTextProps, 'onChange' | '
|
|
|
591
591
|
numberOfMonths?: CalendarProps['numberOfMonths'];
|
|
592
592
|
portal?: PopoverContentProps['portal'];
|
|
593
593
|
placeholder?: string;
|
|
594
|
-
className
|
|
594
|
+
className?: string;
|
|
595
595
|
disabledDates?: CalendarProps['disabled'];
|
|
596
|
+
onClean?: VoidFunction;
|
|
596
597
|
}
|
|
597
598
|
declare const dateIsAvailable: (inputDate?: Date | null, disabledDates?: InputDatePickerSingleProps["disabledDates"]) => boolean;
|
|
598
599
|
declare const InputDatePickerSingle: ({ portal, placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDatePickerSingleProps) => react_jsx_runtime.JSX.Element;
|
|
@@ -603,8 +604,9 @@ interface InputDateTimePickerSingleProps extends Omit<InputTextProps, 'onChange'
|
|
|
603
604
|
numberOfMonths?: CalendarProps['numberOfMonths'];
|
|
604
605
|
portal?: PopoverContentProps['portal'];
|
|
605
606
|
placeholder?: string;
|
|
606
|
-
className
|
|
607
|
+
className?: string;
|
|
607
608
|
disabledDates?: CalendarProps['disabled'];
|
|
609
|
+
onClean?: VoidFunction;
|
|
608
610
|
}
|
|
609
611
|
declare const InputDateTimePickerSingle: ({ portal, placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDateTimePickerSingleProps) => react_jsx_runtime.JSX.Element;
|
|
610
612
|
|
package/dist/index.d.ts
CHANGED
|
@@ -591,8 +591,9 @@ interface InputDatePickerSingleProps extends Omit<InputTextProps, 'onChange' | '
|
|
|
591
591
|
numberOfMonths?: CalendarProps['numberOfMonths'];
|
|
592
592
|
portal?: PopoverContentProps['portal'];
|
|
593
593
|
placeholder?: string;
|
|
594
|
-
className
|
|
594
|
+
className?: string;
|
|
595
595
|
disabledDates?: CalendarProps['disabled'];
|
|
596
|
+
onClean?: VoidFunction;
|
|
596
597
|
}
|
|
597
598
|
declare const dateIsAvailable: (inputDate?: Date | null, disabledDates?: InputDatePickerSingleProps["disabledDates"]) => boolean;
|
|
598
599
|
declare const InputDatePickerSingle: ({ portal, placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDatePickerSingleProps) => react_jsx_runtime.JSX.Element;
|
|
@@ -603,8 +604,9 @@ interface InputDateTimePickerSingleProps extends Omit<InputTextProps, 'onChange'
|
|
|
603
604
|
numberOfMonths?: CalendarProps['numberOfMonths'];
|
|
604
605
|
portal?: PopoverContentProps['portal'];
|
|
605
606
|
placeholder?: string;
|
|
606
|
-
className
|
|
607
|
+
className?: string;
|
|
607
608
|
disabledDates?: CalendarProps['disabled'];
|
|
609
|
+
onClean?: VoidFunction;
|
|
608
610
|
}
|
|
609
611
|
declare const InputDateTimePickerSingle: ({ portal, placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDateTimePickerSingleProps) => react_jsx_runtime.JSX.Element;
|
|
610
612
|
|
package/dist/index.js
CHANGED
|
@@ -27,6 +27,7 @@ var flags = require('react-phone-number-input/flags');
|
|
|
27
27
|
var dateFns = require('date-fns');
|
|
28
28
|
var reactDayPicker = require('react-day-picker');
|
|
29
29
|
var locale = require('react-day-picker/locale');
|
|
30
|
+
var mask = require('@react-input/mask');
|
|
30
31
|
|
|
31
32
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
32
33
|
|
|
@@ -3913,10 +3914,6 @@ function dateFormatIsValid(dateStr, locale) {
|
|
|
3913
3914
|
const regex = locale === "en-US" ? regexUS : regexBR;
|
|
3914
3915
|
return regex.test(dateStr);
|
|
3915
3916
|
}
|
|
3916
|
-
function timeFormatIsValid(timeStr) {
|
|
3917
|
-
const regex = /^(?:[01]\d|2[0-3]):[0-5]\d$/;
|
|
3918
|
-
return regex.test(timeStr);
|
|
3919
|
-
}
|
|
3920
3917
|
var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
|
|
3921
3918
|
try {
|
|
3922
3919
|
if (!dateStr) return;
|
|
@@ -4056,6 +4053,11 @@ var InputDatePickerSingle = ({
|
|
|
4056
4053
|
React8.useEffect(() => {
|
|
4057
4054
|
if (innerDate) setMonth(innerDate);
|
|
4058
4055
|
}, [innerDate]);
|
|
4056
|
+
const maskOptions = {
|
|
4057
|
+
mask: "__/__/____",
|
|
4058
|
+
replacement: { _: /\d/ }
|
|
4059
|
+
};
|
|
4060
|
+
const inputRef = mask.useMask(maskOptions);
|
|
4059
4061
|
return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: popoverIsOpen, onOpenChange: setPopoverIsOpen, children: [
|
|
4060
4062
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { className, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4061
4063
|
"div",
|
|
@@ -4065,6 +4067,7 @@ var InputDatePickerSingle = ({
|
|
|
4065
4067
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4066
4068
|
InputText,
|
|
4067
4069
|
{
|
|
4070
|
+
ref: inputRef,
|
|
4068
4071
|
placeholder,
|
|
4069
4072
|
value,
|
|
4070
4073
|
className,
|
|
@@ -4191,6 +4194,7 @@ var InputTime = React8.forwardRef(
|
|
|
4191
4194
|
}
|
|
4192
4195
|
);
|
|
4193
4196
|
InputTime.displayName = "InputTime";
|
|
4197
|
+
var DATA_TIME_SEPARATOR = " - ";
|
|
4194
4198
|
var InputDateTimePickerSingle = ({
|
|
4195
4199
|
portal,
|
|
4196
4200
|
placeholder,
|
|
@@ -4202,8 +4206,12 @@ var InputDateTimePickerSingle = ({
|
|
|
4202
4206
|
disabledDates,
|
|
4203
4207
|
...rest
|
|
4204
4208
|
}) => {
|
|
4205
|
-
const [innerTimeValue, setInnerTimeValue] = React8.useState(
|
|
4206
|
-
|
|
4209
|
+
const [innerTimeValue, setInnerTimeValue] = React8.useState(
|
|
4210
|
+
value?.split?.(DATA_TIME_SEPARATOR)?.at?.(-1) ?? ""
|
|
4211
|
+
);
|
|
4212
|
+
const formattedDateByLanguage = formatDateToSubmit(
|
|
4213
|
+
value?.split(DATA_TIME_SEPARATOR)?.at(0) ?? ""
|
|
4214
|
+
);
|
|
4207
4215
|
const [innerDate, setInnerDate] = React8.useState(
|
|
4208
4216
|
formattedDateByLanguage ? new Date(formattedDateByLanguage) : void 0
|
|
4209
4217
|
);
|
|
@@ -4217,8 +4225,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4217
4225
|
setMonth(/* @__PURE__ */ new Date());
|
|
4218
4226
|
};
|
|
4219
4227
|
const handleInnerInputChange = (text) => {
|
|
4220
|
-
const dateSlice =
|
|
4221
|
-
let hourSlice = text.substring(11).trim();
|
|
4228
|
+
const [dateSlice = "", hourSlice = ""] = text.split(DATA_TIME_SEPARATOR);
|
|
4222
4229
|
if (!text) {
|
|
4223
4230
|
onChange?.(text);
|
|
4224
4231
|
handleClearValue();
|
|
@@ -4235,22 +4242,31 @@ var InputDateTimePickerSingle = ({
|
|
|
4235
4242
|
handleClearValue();
|
|
4236
4243
|
return;
|
|
4237
4244
|
}
|
|
4238
|
-
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
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
|
+
);
|
|
4245
4257
|
setInnerDate(date);
|
|
4246
4258
|
};
|
|
4247
4259
|
const handleOnChangeTime = (newTime) => {
|
|
4248
|
-
const [date = ""] = value?.split(
|
|
4260
|
+
const [date = ""] = value?.split(DATA_TIME_SEPARATOR) ?? [];
|
|
4249
4261
|
setInnerTimeValue(newTime);
|
|
4250
4262
|
if (date && !dateFormatIsValid(date, locale)) {
|
|
4251
4263
|
handleClearValue();
|
|
4252
4264
|
}
|
|
4253
|
-
onChange?.(
|
|
4265
|
+
onChange?.(
|
|
4266
|
+
date + (newTime ? DATA_TIME_SEPARATOR + newTime : ""),
|
|
4267
|
+
innerDate,
|
|
4268
|
+
newTime
|
|
4269
|
+
);
|
|
4254
4270
|
};
|
|
4255
4271
|
const handleKeyDown = (e) => {
|
|
4256
4272
|
if ((e.altKey || e.ctrlKey || e.metaKey) && e.key !== "z") return;
|
|
@@ -4278,7 +4294,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4278
4294
|
}).format(date);
|
|
4279
4295
|
setInnerDate(date);
|
|
4280
4296
|
onChange?.(
|
|
4281
|
-
[dateToStr, innerTimeValue].filter(Boolean).join(
|
|
4297
|
+
[dateToStr, innerTimeValue].filter(Boolean).join(DATA_TIME_SEPARATOR),
|
|
4282
4298
|
date,
|
|
4283
4299
|
innerTimeValue
|
|
4284
4300
|
);
|
|
@@ -4292,6 +4308,11 @@ var InputDateTimePickerSingle = ({
|
|
|
4292
4308
|
React8.useEffect(() => {
|
|
4293
4309
|
if (innerDate) setMonth(innerDate);
|
|
4294
4310
|
}, [innerDate]);
|
|
4311
|
+
const maskOptions = {
|
|
4312
|
+
mask: "__/__/____ - __:__",
|
|
4313
|
+
replacement: { _: /\d/ }
|
|
4314
|
+
};
|
|
4315
|
+
const inputRef = mask.useMask(maskOptions);
|
|
4295
4316
|
return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: popoverIsOpen, onOpenChange: setPopoverIsOpen, children: [
|
|
4296
4317
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { className, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4297
4318
|
"div",
|
|
@@ -4301,6 +4322,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4301
4322
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4302
4323
|
InputText,
|
|
4303
4324
|
{
|
|
4325
|
+
ref: inputRef,
|
|
4304
4326
|
placeholder,
|
|
4305
4327
|
value,
|
|
4306
4328
|
className,
|
|
@@ -4326,7 +4348,6 @@ var InputDateTimePickerSingle = ({
|
|
|
4326
4348
|
setPopoverIsOpen(true);
|
|
4327
4349
|
}
|
|
4328
4350
|
},
|
|
4329
|
-
maxLength: 16,
|
|
4330
4351
|
onClean: onClean ? () => {
|
|
4331
4352
|
onClean();
|
|
4332
4353
|
handleClearValue();
|
|
@@ -4363,7 +4384,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4363
4384
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4364
4385
|
InputTime,
|
|
4365
4386
|
{
|
|
4366
|
-
placeholder: "
|
|
4387
|
+
placeholder: "hh:mm",
|
|
4367
4388
|
value: innerTimeValue,
|
|
4368
4389
|
onChange: handleOnChangeTime,
|
|
4369
4390
|
ref: inputTimeRef,
|
package/dist/index.mjs
CHANGED
|
@@ -26,6 +26,7 @@ import flags from 'react-phone-number-input/flags';
|
|
|
26
26
|
import { formatDate, isValid, addMonths, isSameDay, isBefore, isAfter } from 'date-fns';
|
|
27
27
|
import { DayPicker } from 'react-day-picker';
|
|
28
28
|
import { ptBR, enUS, es } from 'react-day-picker/locale';
|
|
29
|
+
import { useMask } from '@react-input/mask';
|
|
29
30
|
|
|
30
31
|
// src/button.tsx
|
|
31
32
|
|
|
@@ -3873,10 +3874,6 @@ function dateFormatIsValid(dateStr, locale) {
|
|
|
3873
3874
|
const regex = locale === "en-US" ? regexUS : regexBR;
|
|
3874
3875
|
return regex.test(dateStr);
|
|
3875
3876
|
}
|
|
3876
|
-
function timeFormatIsValid(timeStr) {
|
|
3877
|
-
const regex = /^(?:[01]\d|2[0-3]):[0-5]\d$/;
|
|
3878
|
-
return regex.test(timeStr);
|
|
3879
|
-
}
|
|
3880
3877
|
var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
|
|
3881
3878
|
try {
|
|
3882
3879
|
if (!dateStr) return;
|
|
@@ -4016,6 +4013,11 @@ var InputDatePickerSingle = ({
|
|
|
4016
4013
|
useEffect(() => {
|
|
4017
4014
|
if (innerDate) setMonth(innerDate);
|
|
4018
4015
|
}, [innerDate]);
|
|
4016
|
+
const maskOptions = {
|
|
4017
|
+
mask: "__/__/____",
|
|
4018
|
+
replacement: { _: /\d/ }
|
|
4019
|
+
};
|
|
4020
|
+
const inputRef = useMask(maskOptions);
|
|
4019
4021
|
return /* @__PURE__ */ jsxs(Popover, { open: popoverIsOpen, onOpenChange: setPopoverIsOpen, children: [
|
|
4020
4022
|
/* @__PURE__ */ jsx(PopoverTrigger, { className, asChild: true, children: /* @__PURE__ */ jsx(
|
|
4021
4023
|
"div",
|
|
@@ -4025,6 +4027,7 @@ var InputDatePickerSingle = ({
|
|
|
4025
4027
|
children: /* @__PURE__ */ jsx(
|
|
4026
4028
|
InputText,
|
|
4027
4029
|
{
|
|
4030
|
+
ref: inputRef,
|
|
4028
4031
|
placeholder,
|
|
4029
4032
|
value,
|
|
4030
4033
|
className,
|
|
@@ -4151,6 +4154,7 @@ var InputTime = forwardRef(
|
|
|
4151
4154
|
}
|
|
4152
4155
|
);
|
|
4153
4156
|
InputTime.displayName = "InputTime";
|
|
4157
|
+
var DATA_TIME_SEPARATOR = " - ";
|
|
4154
4158
|
var InputDateTimePickerSingle = ({
|
|
4155
4159
|
portal,
|
|
4156
4160
|
placeholder,
|
|
@@ -4162,8 +4166,12 @@ var InputDateTimePickerSingle = ({
|
|
|
4162
4166
|
disabledDates,
|
|
4163
4167
|
...rest
|
|
4164
4168
|
}) => {
|
|
4165
|
-
const [innerTimeValue, setInnerTimeValue] = useState(
|
|
4166
|
-
|
|
4169
|
+
const [innerTimeValue, setInnerTimeValue] = useState(
|
|
4170
|
+
value?.split?.(DATA_TIME_SEPARATOR)?.at?.(-1) ?? ""
|
|
4171
|
+
);
|
|
4172
|
+
const formattedDateByLanguage = formatDateToSubmit(
|
|
4173
|
+
value?.split(DATA_TIME_SEPARATOR)?.at(0) ?? ""
|
|
4174
|
+
);
|
|
4167
4175
|
const [innerDate, setInnerDate] = useState(
|
|
4168
4176
|
formattedDateByLanguage ? new Date(formattedDateByLanguage) : void 0
|
|
4169
4177
|
);
|
|
@@ -4177,8 +4185,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4177
4185
|
setMonth(/* @__PURE__ */ new Date());
|
|
4178
4186
|
};
|
|
4179
4187
|
const handleInnerInputChange = (text) => {
|
|
4180
|
-
const dateSlice =
|
|
4181
|
-
let hourSlice = text.substring(11).trim();
|
|
4188
|
+
const [dateSlice = "", hourSlice = ""] = text.split(DATA_TIME_SEPARATOR);
|
|
4182
4189
|
if (!text) {
|
|
4183
4190
|
onChange?.(text);
|
|
4184
4191
|
handleClearValue();
|
|
@@ -4195,22 +4202,31 @@ var InputDateTimePickerSingle = ({
|
|
|
4195
4202
|
handleClearValue();
|
|
4196
4203
|
return;
|
|
4197
4204
|
}
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
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
|
+
);
|
|
4205
4217
|
setInnerDate(date);
|
|
4206
4218
|
};
|
|
4207
4219
|
const handleOnChangeTime = (newTime) => {
|
|
4208
|
-
const [date = ""] = value?.split(
|
|
4220
|
+
const [date = ""] = value?.split(DATA_TIME_SEPARATOR) ?? [];
|
|
4209
4221
|
setInnerTimeValue(newTime);
|
|
4210
4222
|
if (date && !dateFormatIsValid(date, locale)) {
|
|
4211
4223
|
handleClearValue();
|
|
4212
4224
|
}
|
|
4213
|
-
onChange?.(
|
|
4225
|
+
onChange?.(
|
|
4226
|
+
date + (newTime ? DATA_TIME_SEPARATOR + newTime : ""),
|
|
4227
|
+
innerDate,
|
|
4228
|
+
newTime
|
|
4229
|
+
);
|
|
4214
4230
|
};
|
|
4215
4231
|
const handleKeyDown = (e) => {
|
|
4216
4232
|
if ((e.altKey || e.ctrlKey || e.metaKey) && e.key !== "z") return;
|
|
@@ -4238,7 +4254,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4238
4254
|
}).format(date);
|
|
4239
4255
|
setInnerDate(date);
|
|
4240
4256
|
onChange?.(
|
|
4241
|
-
[dateToStr, innerTimeValue].filter(Boolean).join(
|
|
4257
|
+
[dateToStr, innerTimeValue].filter(Boolean).join(DATA_TIME_SEPARATOR),
|
|
4242
4258
|
date,
|
|
4243
4259
|
innerTimeValue
|
|
4244
4260
|
);
|
|
@@ -4252,6 +4268,11 @@ var InputDateTimePickerSingle = ({
|
|
|
4252
4268
|
useEffect(() => {
|
|
4253
4269
|
if (innerDate) setMonth(innerDate);
|
|
4254
4270
|
}, [innerDate]);
|
|
4271
|
+
const maskOptions = {
|
|
4272
|
+
mask: "__/__/____ - __:__",
|
|
4273
|
+
replacement: { _: /\d/ }
|
|
4274
|
+
};
|
|
4275
|
+
const inputRef = useMask(maskOptions);
|
|
4255
4276
|
return /* @__PURE__ */ jsxs(Popover, { open: popoverIsOpen, onOpenChange: setPopoverIsOpen, children: [
|
|
4256
4277
|
/* @__PURE__ */ jsx(PopoverTrigger, { className, asChild: true, children: /* @__PURE__ */ jsx(
|
|
4257
4278
|
"div",
|
|
@@ -4261,6 +4282,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4261
4282
|
children: /* @__PURE__ */ jsx(
|
|
4262
4283
|
InputText,
|
|
4263
4284
|
{
|
|
4285
|
+
ref: inputRef,
|
|
4264
4286
|
placeholder,
|
|
4265
4287
|
value,
|
|
4266
4288
|
className,
|
|
@@ -4286,7 +4308,6 @@ var InputDateTimePickerSingle = ({
|
|
|
4286
4308
|
setPopoverIsOpen(true);
|
|
4287
4309
|
}
|
|
4288
4310
|
},
|
|
4289
|
-
maxLength: 16,
|
|
4290
4311
|
onClean: onClean ? () => {
|
|
4291
4312
|
onClean();
|
|
4292
4313
|
handleClearValue();
|
|
@@ -4323,7 +4344,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4323
4344
|
/* @__PURE__ */ jsx(
|
|
4324
4345
|
InputTime,
|
|
4325
4346
|
{
|
|
4326
|
-
placeholder: "
|
|
4347
|
+
placeholder: "hh:mm",
|
|
4327
4348
|
value: innerTimeValue,
|
|
4328
4349
|
onChange: handleOnChangeTime,
|
|
4329
4350
|
ref: inputTimeRef,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ikatec/nebula-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"description": "React components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -50,18 +50,20 @@
|
|
|
50
50
|
"@radix-ui/react-tabs": "^1.1.12",
|
|
51
51
|
"@radix-ui/react-toggle": "^1.1.8",
|
|
52
52
|
"@radix-ui/react-tooltip": "^1.2.6",
|
|
53
|
+
"@react-input/mask": "^2.0.4",
|
|
53
54
|
"class-variance-authority": "^0.7.1",
|
|
55
|
+
"date-fns": "^4.1.0",
|
|
54
56
|
"react-day-picker": "^9.8.1",
|
|
55
57
|
"react-phone-number-input": "^3.4.12",
|
|
56
58
|
"react-select": "^5.10.1",
|
|
57
59
|
"sonner": "^2.0.5",
|
|
58
|
-
"tailwind-merge": "^2.6.0"
|
|
59
|
-
"date-fns": "^4.1.0"
|
|
60
|
+
"tailwind-merge": "^2.6.0"
|
|
60
61
|
},
|
|
61
62
|
"peerDependencies": {
|
|
62
|
-
"react": "^
|
|
63
|
-
"react-dom": "18.3.1",
|
|
63
|
+
"@react-input/mask": "^2.0.4",
|
|
64
64
|
"date-fns": "^4.1.0",
|
|
65
|
-
"lucide-react": "^0.454.0"
|
|
65
|
+
"lucide-react": "^0.454.0",
|
|
66
|
+
"react": "^18.3.1",
|
|
67
|
+
"react-dom": "18.3.1"
|
|
66
68
|
}
|
|
67
69
|
}
|