@grupor5/raya 0.2.48 → 0.2.50

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.
@@ -58,7 +58,7 @@ var buttonSizeClasses = {
58
58
  iconSize: "w-5 h-5"
59
59
  },
60
60
  lg: {
61
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
61
+ base: "px-6 py-3 text-lg rounded-2xl",
62
62
  icon: "h-12 w-12 rounded-2xl",
63
63
  iconSize: "w-[22px] h-[22px]"
64
64
  }
@@ -52,7 +52,7 @@ var buttonSizeClasses = {
52
52
  iconSize: "w-5 h-5"
53
53
  },
54
54
  lg: {
55
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
55
+ base: "px-6 py-3 text-lg rounded-2xl",
56
56
  icon: "h-12 w-12 rounded-2xl",
57
57
  iconSize: "w-[22px] h-[22px]"
58
58
  }
package/dist/index.js CHANGED
@@ -1506,7 +1506,7 @@ var buttonSizeClasses = {
1506
1506
  iconSize: "w-5 h-5"
1507
1507
  },
1508
1508
  lg: {
1509
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
1509
+ base: "px-6 py-3 text-lg rounded-2xl",
1510
1510
  icon: "h-12 w-12 rounded-2xl",
1511
1511
  iconSize: "w-[22px] h-[22px]"
1512
1512
  }
@@ -2498,7 +2498,7 @@ var Accordion = React30__namespace.forwardRef((_a, ref) => {
2498
2498
  });
2499
2499
  Accordion.displayName = "Accordion";
2500
2500
  var alertVariants = classVarianceAuthority.cva(
2501
- "relative w-full rounded-2xl px-6 py-2 flex items-center justify-between",
2501
+ "relative w-full rounded-2xl px-6 py-4 flex items-center justify-between",
2502
2502
  {
2503
2503
  variants: {
2504
2504
  variant: {
@@ -4133,13 +4133,21 @@ function DatePickerWithRange({
4133
4133
  ] })
4134
4134
  ] });
4135
4135
  }
4136
+ function applyDateMask(raw) {
4137
+ const digits = raw.replace(/\D/g, "").slice(0, 8);
4138
+ if (digits.length <= 2) return digits;
4139
+ if (digits.length <= 4) return digits.slice(0, 2) + "/" + digits.slice(2);
4140
+ return digits.slice(0, 2) + "/" + digits.slice(2, 4) + "/" + digits.slice(4);
4141
+ }
4136
4142
  function DatePickerSingle({
4137
4143
  className,
4138
4144
  date,
4139
4145
  onDateChange,
4140
4146
  label,
4141
4147
  placeholder = "dd/mm/aa",
4142
- error
4148
+ error,
4149
+ minDate,
4150
+ maxDate
4143
4151
  }) {
4144
4152
  const [month, setMonth] = React30__namespace.useState(date || /* @__PURE__ */ new Date());
4145
4153
  const [open, setOpen] = React30__namespace.useState(false);
@@ -4148,7 +4156,20 @@ function DatePickerSingle({
4148
4156
  setInputValue(date ? dateFns.format(date, "dd/MM/yyyy") : "");
4149
4157
  }, [date]);
4150
4158
  const handleInputChange = (e) => {
4151
- setInputValue(e.target.value);
4159
+ setInputValue(applyDateMask(e.target.value));
4160
+ };
4161
+ const isDateInRange = (d) => {
4162
+ if (minDate) {
4163
+ const min = new Date(minDate);
4164
+ min.setHours(0, 0, 0, 0);
4165
+ if (d < min) return false;
4166
+ }
4167
+ if (maxDate) {
4168
+ const max = new Date(maxDate);
4169
+ max.setHours(23, 59, 59, 999);
4170
+ if (d > max) return false;
4171
+ }
4172
+ return true;
4152
4173
  };
4153
4174
  const handleInputBlur = () => {
4154
4175
  if (inputValue === "") {
@@ -4157,7 +4178,7 @@ function DatePickerSingle({
4157
4178
  }
4158
4179
  if (inputValue.length !== 10) return;
4159
4180
  const parsed = dateFns.parse(inputValue, "dd/MM/yyyy", /* @__PURE__ */ new Date());
4160
- if (dateFns.isValid(parsed)) {
4181
+ if (dateFns.isValid(parsed) && isDateInRange(parsed)) {
4161
4182
  onDateChange(parsed);
4162
4183
  setMonth(parsed);
4163
4184
  }
@@ -4167,6 +4188,12 @@ function DatePickerSingle({
4167
4188
  if (selected) setMonth(selected);
4168
4189
  setOpen(false);
4169
4190
  };
4191
+ const disabledMatcher = React30__namespace.useMemo(() => {
4192
+ const matchers = [];
4193
+ if (minDate) matchers.push({ before: minDate });
4194
+ if (maxDate) matchers.push({ after: maxDate });
4195
+ return matchers.length > 0 ? matchers : void 0;
4196
+ }, [minDate, maxDate]);
4170
4197
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-1", className), children: [
4171
4198
  label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-body-xs font-normal text-neutral-900", children: label }),
4172
4199
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
@@ -4202,7 +4229,8 @@ function DatePickerSingle({
4202
4229
  selected: date,
4203
4230
  onSelect: handleSelect,
4204
4231
  month,
4205
- onMonthChange: setMonth
4232
+ onMonthChange: setMonth,
4233
+ disabled: disabledMatcher
4206
4234
  }
4207
4235
  ) })
4208
4236
  ] })
@@ -4420,8 +4448,8 @@ var ProgressBar = React30__namespace.default.forwardRef(
4420
4448
  label ? "justify-between" : "justify-end"
4421
4449
  ),
4422
4450
  children: [
4423
- label && /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-progress-bar-label font-normal", children: label }),
4424
- showPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-progress-bar-label font-normal", children: [
4451
+ label && /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "truncate min-w-0 text-progress-bar-label font-normal", children: label }),
4452
+ showPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "shrink-0 text-progress-bar-label font-normal", children: [
4425
4453
  Math.round(progress),
4426
4454
  "%"
4427
4455
  ] })
@@ -4479,7 +4507,7 @@ var FileUploadDropzone = React30__namespace.forwardRef(
4479
4507
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
4480
4508
  /* @__PURE__ */ jsxRuntime.jsx(FolderCloudIcon.FolderCloudIcon, { className: "h-6 w-6 text-primary-600", "aria-hidden": "true" }),
4481
4509
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base text-primary-1200", children: "A\xF1adir archivos" }),
4482
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-primary-600", children: subtitle })
4510
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-primary-1200", children: subtitle })
4483
4511
  ] }),
4484
4512
  /* @__PURE__ */ jsxRuntime.jsx(
4485
4513
  Button,
package/dist/index.mjs CHANGED
@@ -1475,7 +1475,7 @@ var buttonSizeClasses = {
1475
1475
  iconSize: "w-5 h-5"
1476
1476
  },
1477
1477
  lg: {
1478
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
1478
+ base: "px-6 py-3 text-lg rounded-2xl",
1479
1479
  icon: "h-12 w-12 rounded-2xl",
1480
1480
  iconSize: "w-[22px] h-[22px]"
1481
1481
  }
@@ -2467,7 +2467,7 @@ var Accordion = React30.forwardRef((_a, ref) => {
2467
2467
  });
2468
2468
  Accordion.displayName = "Accordion";
2469
2469
  var alertVariants = cva(
2470
- "relative w-full rounded-2xl px-6 py-2 flex items-center justify-between",
2470
+ "relative w-full rounded-2xl px-6 py-4 flex items-center justify-between",
2471
2471
  {
2472
2472
  variants: {
2473
2473
  variant: {
@@ -4102,13 +4102,21 @@ function DatePickerWithRange({
4102
4102
  ] })
4103
4103
  ] });
4104
4104
  }
4105
+ function applyDateMask(raw) {
4106
+ const digits = raw.replace(/\D/g, "").slice(0, 8);
4107
+ if (digits.length <= 2) return digits;
4108
+ if (digits.length <= 4) return digits.slice(0, 2) + "/" + digits.slice(2);
4109
+ return digits.slice(0, 2) + "/" + digits.slice(2, 4) + "/" + digits.slice(4);
4110
+ }
4105
4111
  function DatePickerSingle({
4106
4112
  className,
4107
4113
  date,
4108
4114
  onDateChange,
4109
4115
  label,
4110
4116
  placeholder = "dd/mm/aa",
4111
- error
4117
+ error,
4118
+ minDate,
4119
+ maxDate
4112
4120
  }) {
4113
4121
  const [month, setMonth] = React30.useState(date || /* @__PURE__ */ new Date());
4114
4122
  const [open, setOpen] = React30.useState(false);
@@ -4117,7 +4125,20 @@ function DatePickerSingle({
4117
4125
  setInputValue(date ? format(date, "dd/MM/yyyy") : "");
4118
4126
  }, [date]);
4119
4127
  const handleInputChange = (e) => {
4120
- setInputValue(e.target.value);
4128
+ setInputValue(applyDateMask(e.target.value));
4129
+ };
4130
+ const isDateInRange = (d) => {
4131
+ if (minDate) {
4132
+ const min = new Date(minDate);
4133
+ min.setHours(0, 0, 0, 0);
4134
+ if (d < min) return false;
4135
+ }
4136
+ if (maxDate) {
4137
+ const max = new Date(maxDate);
4138
+ max.setHours(23, 59, 59, 999);
4139
+ if (d > max) return false;
4140
+ }
4141
+ return true;
4121
4142
  };
4122
4143
  const handleInputBlur = () => {
4123
4144
  if (inputValue === "") {
@@ -4126,7 +4147,7 @@ function DatePickerSingle({
4126
4147
  }
4127
4148
  if (inputValue.length !== 10) return;
4128
4149
  const parsed = parse(inputValue, "dd/MM/yyyy", /* @__PURE__ */ new Date());
4129
- if (isValid(parsed)) {
4150
+ if (isValid(parsed) && isDateInRange(parsed)) {
4130
4151
  onDateChange(parsed);
4131
4152
  setMonth(parsed);
4132
4153
  }
@@ -4136,6 +4157,12 @@ function DatePickerSingle({
4136
4157
  if (selected) setMonth(selected);
4137
4158
  setOpen(false);
4138
4159
  };
4160
+ const disabledMatcher = React30.useMemo(() => {
4161
+ const matchers = [];
4162
+ if (minDate) matchers.push({ before: minDate });
4163
+ if (maxDate) matchers.push({ after: maxDate });
4164
+ return matchers.length > 0 ? matchers : void 0;
4165
+ }, [minDate, maxDate]);
4139
4166
  return /* @__PURE__ */ jsxs("div", { className: cn("grid gap-1", className), children: [
4140
4167
  label && /* @__PURE__ */ jsx("label", { className: "text-body-xs font-normal text-neutral-900", children: label }),
4141
4168
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
@@ -4171,7 +4198,8 @@ function DatePickerSingle({
4171
4198
  selected: date,
4172
4199
  onSelect: handleSelect,
4173
4200
  month,
4174
- onMonthChange: setMonth
4201
+ onMonthChange: setMonth,
4202
+ disabled: disabledMatcher
4175
4203
  }
4176
4204
  ) })
4177
4205
  ] })
@@ -4389,8 +4417,8 @@ var ProgressBar = React30__default.forwardRef(
4389
4417
  label ? "justify-between" : "justify-end"
4390
4418
  ),
4391
4419
  children: [
4392
- label && /* @__PURE__ */ jsx(Label, { className: "text-progress-bar-label font-normal", children: label }),
4393
- showPercentage && /* @__PURE__ */ jsxs("span", { className: "text-progress-bar-label font-normal", children: [
4420
+ label && /* @__PURE__ */ jsx(Label, { className: "truncate min-w-0 text-progress-bar-label font-normal", children: label }),
4421
+ showPercentage && /* @__PURE__ */ jsxs("span", { className: "shrink-0 text-progress-bar-label font-normal", children: [
4394
4422
  Math.round(progress),
4395
4423
  "%"
4396
4424
  ] })
@@ -4448,7 +4476,7 @@ var FileUploadDropzone = React30.forwardRef(
4448
4476
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
4449
4477
  /* @__PURE__ */ jsx(FolderCloudIcon, { className: "h-6 w-6 text-primary-600", "aria-hidden": "true" }),
4450
4478
  /* @__PURE__ */ jsx("p", { className: "text-base text-primary-1200", children: "A\xF1adir archivos" }),
4451
- /* @__PURE__ */ jsx("p", { className: "text-xs text-primary-600", children: subtitle })
4479
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-primary-1200", children: subtitle })
4452
4480
  ] }),
4453
4481
  /* @__PURE__ */ jsx(
4454
4482
  Button,
@@ -76,7 +76,7 @@ var buttonSizeClasses = {
76
76
  iconSize: "w-5 h-5"
77
77
  },
78
78
  lg: {
79
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
79
+ base: "px-6 py-3 text-lg rounded-2xl",
80
80
  icon: "h-12 w-12 rounded-2xl",
81
81
  iconSize: "w-[22px] h-[22px]"
82
82
  }
@@ -322,7 +322,7 @@ var Button = React2.forwardRef((_a, ref) => {
322
322
  });
323
323
  Button.displayName = "Button";
324
324
  var alertVariants = classVarianceAuthority.cva(
325
- "relative w-full rounded-2xl px-6 py-2 flex items-center justify-between",
325
+ "relative w-full rounded-2xl px-6 py-4 flex items-center justify-between",
326
326
  {
327
327
  variants: {
328
328
  variant: {
@@ -55,7 +55,7 @@ var buttonSizeClasses = {
55
55
  iconSize: "w-5 h-5"
56
56
  },
57
57
  lg: {
58
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
58
+ base: "px-6 py-3 text-lg rounded-2xl",
59
59
  icon: "h-12 w-12 rounded-2xl",
60
60
  iconSize: "w-[22px] h-[22px]"
61
61
  }
@@ -301,7 +301,7 @@ var Button = forwardRef((_a, ref) => {
301
301
  });
302
302
  Button.displayName = "Button";
303
303
  var alertVariants = cva(
304
- "relative w-full rounded-2xl px-6 py-2 flex items-center justify-between",
304
+ "relative w-full rounded-2xl px-6 py-4 flex items-center justify-between",
305
305
  {
306
306
  variants: {
307
307
  variant: {
@@ -276,7 +276,7 @@ var buttonSizeClasses = {
276
276
  iconSize: "w-5 h-5"
277
277
  },
278
278
  lg: {
279
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
279
+ base: "px-6 py-3 text-lg rounded-2xl",
280
280
  icon: "h-12 w-12 rounded-2xl",
281
281
  iconSize: "w-[22px] h-[22px]"
282
282
  }
@@ -252,7 +252,7 @@ var buttonSizeClasses = {
252
252
  iconSize: "w-5 h-5"
253
253
  },
254
254
  lg: {
255
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
255
+ base: "px-6 py-3 text-lg rounded-2xl",
256
256
  icon: "h-12 w-12 rounded-2xl",
257
257
  iconSize: "w-[22px] h-[22px]"
258
258
  }
@@ -16,7 +16,9 @@ interface DatePickerSingleProps {
16
16
  label?: string;
17
17
  placeholder?: string;
18
18
  error?: string | boolean;
19
+ minDate?: Date;
20
+ maxDate?: Date;
19
21
  }
20
- declare function DatePickerSingle({ className, date, onDateChange, label, placeholder, error, }: DatePickerSingleProps): react_jsx_runtime.JSX.Element;
22
+ declare function DatePickerSingle({ className, date, onDateChange, label, placeholder, error, minDate, maxDate, }: DatePickerSingleProps): react_jsx_runtime.JSX.Element;
21
23
 
22
24
  export { DatePickerSingle, type DatePickerSingleProps, DatePickerWithRange, type DatePickerWithRangeProps };
@@ -16,7 +16,9 @@ interface DatePickerSingleProps {
16
16
  label?: string;
17
17
  placeholder?: string;
18
18
  error?: string | boolean;
19
+ minDate?: Date;
20
+ maxDate?: Date;
19
21
  }
20
- declare function DatePickerSingle({ className, date, onDateChange, label, placeholder, error, }: DatePickerSingleProps): react_jsx_runtime.JSX.Element;
22
+ declare function DatePickerSingle({ className, date, onDateChange, label, placeholder, error, minDate, maxDate, }: DatePickerSingleProps): react_jsx_runtime.JSX.Element;
21
23
 
22
24
  export { DatePickerSingle, type DatePickerSingleProps, DatePickerWithRange, type DatePickerWithRangeProps };
@@ -81,7 +81,7 @@ var buttonSizeClasses = {
81
81
  iconSize: "w-5 h-5"
82
82
  },
83
83
  lg: {
84
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
84
+ base: "px-6 py-3 text-lg rounded-2xl",
85
85
  icon: "h-12 w-12 rounded-2xl",
86
86
  iconSize: "w-[22px] h-[22px]"
87
87
  }
@@ -778,13 +778,21 @@ function DatePickerWithRange({
778
778
  ] })
779
779
  ] });
780
780
  }
781
+ function applyDateMask(raw) {
782
+ const digits = raw.replace(/\D/g, "").slice(0, 8);
783
+ if (digits.length <= 2) return digits;
784
+ if (digits.length <= 4) return digits.slice(0, 2) + "/" + digits.slice(2);
785
+ return digits.slice(0, 2) + "/" + digits.slice(2, 4) + "/" + digits.slice(4);
786
+ }
781
787
  function DatePickerSingle({
782
788
  className,
783
789
  date,
784
790
  onDateChange,
785
791
  label,
786
792
  placeholder = "dd/mm/aa",
787
- error
793
+ error,
794
+ minDate,
795
+ maxDate
788
796
  }) {
789
797
  const [month, setMonth] = React2__namespace.useState(date || /* @__PURE__ */ new Date());
790
798
  const [open, setOpen] = React2__namespace.useState(false);
@@ -793,7 +801,20 @@ function DatePickerSingle({
793
801
  setInputValue(date ? dateFns.format(date, "dd/MM/yyyy") : "");
794
802
  }, [date]);
795
803
  const handleInputChange = (e) => {
796
- setInputValue(e.target.value);
804
+ setInputValue(applyDateMask(e.target.value));
805
+ };
806
+ const isDateInRange = (d) => {
807
+ if (minDate) {
808
+ const min = new Date(minDate);
809
+ min.setHours(0, 0, 0, 0);
810
+ if (d < min) return false;
811
+ }
812
+ if (maxDate) {
813
+ const max = new Date(maxDate);
814
+ max.setHours(23, 59, 59, 999);
815
+ if (d > max) return false;
816
+ }
817
+ return true;
797
818
  };
798
819
  const handleInputBlur = () => {
799
820
  if (inputValue === "") {
@@ -802,7 +823,7 @@ function DatePickerSingle({
802
823
  }
803
824
  if (inputValue.length !== 10) return;
804
825
  const parsed = dateFns.parse(inputValue, "dd/MM/yyyy", /* @__PURE__ */ new Date());
805
- if (dateFns.isValid(parsed)) {
826
+ if (dateFns.isValid(parsed) && isDateInRange(parsed)) {
806
827
  onDateChange(parsed);
807
828
  setMonth(parsed);
808
829
  }
@@ -812,6 +833,12 @@ function DatePickerSingle({
812
833
  if (selected) setMonth(selected);
813
834
  setOpen(false);
814
835
  };
836
+ const disabledMatcher = React2__namespace.useMemo(() => {
837
+ const matchers = [];
838
+ if (minDate) matchers.push({ before: minDate });
839
+ if (maxDate) matchers.push({ after: maxDate });
840
+ return matchers.length > 0 ? matchers : void 0;
841
+ }, [minDate, maxDate]);
815
842
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-1", className), children: [
816
843
  label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-body-xs font-normal text-neutral-900", children: label }),
817
844
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
@@ -847,7 +874,8 @@ function DatePickerSingle({
847
874
  selected: date,
848
875
  onSelect: handleSelect,
849
876
  month,
850
- onMonthChange: setMonth
877
+ onMonthChange: setMonth,
878
+ disabled: disabledMatcher
851
879
  }
852
880
  ) })
853
881
  ] })
@@ -59,7 +59,7 @@ var buttonSizeClasses = {
59
59
  iconSize: "w-5 h-5"
60
60
  },
61
61
  lg: {
62
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
62
+ base: "px-6 py-3 text-lg rounded-2xl",
63
63
  icon: "h-12 w-12 rounded-2xl",
64
64
  iconSize: "w-[22px] h-[22px]"
65
65
  }
@@ -756,13 +756,21 @@ function DatePickerWithRange({
756
756
  ] })
757
757
  ] });
758
758
  }
759
+ function applyDateMask(raw) {
760
+ const digits = raw.replace(/\D/g, "").slice(0, 8);
761
+ if (digits.length <= 2) return digits;
762
+ if (digits.length <= 4) return digits.slice(0, 2) + "/" + digits.slice(2);
763
+ return digits.slice(0, 2) + "/" + digits.slice(2, 4) + "/" + digits.slice(4);
764
+ }
759
765
  function DatePickerSingle({
760
766
  className,
761
767
  date,
762
768
  onDateChange,
763
769
  label,
764
770
  placeholder = "dd/mm/aa",
765
- error
771
+ error,
772
+ minDate,
773
+ maxDate
766
774
  }) {
767
775
  const [month, setMonth] = React2.useState(date || /* @__PURE__ */ new Date());
768
776
  const [open, setOpen] = React2.useState(false);
@@ -771,7 +779,20 @@ function DatePickerSingle({
771
779
  setInputValue(date ? format(date, "dd/MM/yyyy") : "");
772
780
  }, [date]);
773
781
  const handleInputChange = (e) => {
774
- setInputValue(e.target.value);
782
+ setInputValue(applyDateMask(e.target.value));
783
+ };
784
+ const isDateInRange = (d) => {
785
+ if (minDate) {
786
+ const min = new Date(minDate);
787
+ min.setHours(0, 0, 0, 0);
788
+ if (d < min) return false;
789
+ }
790
+ if (maxDate) {
791
+ const max = new Date(maxDate);
792
+ max.setHours(23, 59, 59, 999);
793
+ if (d > max) return false;
794
+ }
795
+ return true;
775
796
  };
776
797
  const handleInputBlur = () => {
777
798
  if (inputValue === "") {
@@ -780,7 +801,7 @@ function DatePickerSingle({
780
801
  }
781
802
  if (inputValue.length !== 10) return;
782
803
  const parsed = parse(inputValue, "dd/MM/yyyy", /* @__PURE__ */ new Date());
783
- if (isValid(parsed)) {
804
+ if (isValid(parsed) && isDateInRange(parsed)) {
784
805
  onDateChange(parsed);
785
806
  setMonth(parsed);
786
807
  }
@@ -790,6 +811,12 @@ function DatePickerSingle({
790
811
  if (selected) setMonth(selected);
791
812
  setOpen(false);
792
813
  };
814
+ const disabledMatcher = React2.useMemo(() => {
815
+ const matchers = [];
816
+ if (minDate) matchers.push({ before: minDate });
817
+ if (maxDate) matchers.push({ after: maxDate });
818
+ return matchers.length > 0 ? matchers : void 0;
819
+ }, [minDate, maxDate]);
793
820
  return /* @__PURE__ */ jsxs("div", { className: cn("grid gap-1", className), children: [
794
821
  label && /* @__PURE__ */ jsx("label", { className: "text-body-xs font-normal text-neutral-900", children: label }),
795
822
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
@@ -825,7 +852,8 @@ function DatePickerSingle({
825
852
  selected: date,
826
853
  onSelect: handleSelect,
827
854
  month,
828
- onMonthChange: setMonth
855
+ onMonthChange: setMonth,
856
+ disabled: disabledMatcher
829
857
  }
830
858
  ) })
831
859
  ] })
@@ -82,7 +82,7 @@ var buttonSizeClasses = {
82
82
  iconSize: "w-5 h-5"
83
83
  },
84
84
  lg: {
85
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
85
+ base: "px-6 py-3 text-lg rounded-2xl",
86
86
  icon: "h-12 w-12 rounded-2xl",
87
87
  iconSize: "w-[22px] h-[22px]"
88
88
  }
@@ -406,8 +406,8 @@ var ProgressBar = React4__namespace.default.forwardRef(
406
406
  label ? "justify-between" : "justify-end"
407
407
  ),
408
408
  children: [
409
- label && /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-progress-bar-label font-normal", children: label }),
410
- showPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-progress-bar-label font-normal", children: [
409
+ label && /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "truncate min-w-0 text-progress-bar-label font-normal", children: label }),
410
+ showPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "shrink-0 text-progress-bar-label font-normal", children: [
411
411
  Math.round(progress),
412
412
  "%"
413
413
  ] })
@@ -428,7 +428,7 @@ var ProgressBar = React4__namespace.default.forwardRef(
428
428
  );
429
429
  ProgressBar.displayName = "ProgressBar";
430
430
  var alertVariants = classVarianceAuthority.cva(
431
- "relative w-full rounded-2xl px-6 py-2 flex items-center justify-between",
431
+ "relative w-full rounded-2xl px-6 py-4 flex items-center justify-between",
432
432
  {
433
433
  variants: {
434
434
  variant: {
@@ -557,7 +557,7 @@ var FileUploadDropzone = React4__namespace.forwardRef(
557
557
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
558
558
  /* @__PURE__ */ jsxRuntime.jsx(FolderCloudIcon.FolderCloudIcon, { className: "h-6 w-6 text-primary-600", "aria-hidden": "true" }),
559
559
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base text-primary-1200", children: "A\xF1adir archivos" }),
560
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-primary-600", children: subtitle })
560
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-primary-1200", children: subtitle })
561
561
  ] }),
562
562
  /* @__PURE__ */ jsxRuntime.jsx(
563
563
  Button,
@@ -60,7 +60,7 @@ var buttonSizeClasses = {
60
60
  iconSize: "w-5 h-5"
61
61
  },
62
62
  lg: {
63
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
63
+ base: "px-6 py-3 text-lg rounded-2xl",
64
64
  icon: "h-12 w-12 rounded-2xl",
65
65
  iconSize: "w-[22px] h-[22px]"
66
66
  }
@@ -384,8 +384,8 @@ var ProgressBar = React4__default.forwardRef(
384
384
  label ? "justify-between" : "justify-end"
385
385
  ),
386
386
  children: [
387
- label && /* @__PURE__ */ jsx(Label, { className: "text-progress-bar-label font-normal", children: label }),
388
- showPercentage && /* @__PURE__ */ jsxs("span", { className: "text-progress-bar-label font-normal", children: [
387
+ label && /* @__PURE__ */ jsx(Label, { className: "truncate min-w-0 text-progress-bar-label font-normal", children: label }),
388
+ showPercentage && /* @__PURE__ */ jsxs("span", { className: "shrink-0 text-progress-bar-label font-normal", children: [
389
389
  Math.round(progress),
390
390
  "%"
391
391
  ] })
@@ -406,7 +406,7 @@ var ProgressBar = React4__default.forwardRef(
406
406
  );
407
407
  ProgressBar.displayName = "ProgressBar";
408
408
  var alertVariants = cva(
409
- "relative w-full rounded-2xl px-6 py-2 flex items-center justify-between",
409
+ "relative w-full rounded-2xl px-6 py-4 flex items-center justify-between",
410
410
  {
411
411
  variants: {
412
412
  variant: {
@@ -535,7 +535,7 @@ var FileUploadDropzone = React4.forwardRef(
535
535
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
536
536
  /* @__PURE__ */ jsx(FolderCloudIcon, { className: "h-6 w-6 text-primary-600", "aria-hidden": "true" }),
537
537
  /* @__PURE__ */ jsx("p", { className: "text-base text-primary-1200", children: "A\xF1adir archivos" }),
538
- /* @__PURE__ */ jsx("p", { className: "text-xs text-primary-600", children: subtitle })
538
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-primary-1200", children: subtitle })
539
539
  ] }),
540
540
  /* @__PURE__ */ jsx(
541
541
  Button,
@@ -124,7 +124,7 @@ var buttonSizeClasses = {
124
124
  iconSize: "w-5 h-5"
125
125
  },
126
126
  lg: {
127
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
127
+ base: "px-6 py-3 text-lg rounded-2xl",
128
128
  icon: "h-12 w-12 rounded-2xl",
129
129
  iconSize: "w-[22px] h-[22px]"
130
130
  }
@@ -102,7 +102,7 @@ var buttonSizeClasses = {
102
102
  iconSize: "w-5 h-5"
103
103
  },
104
104
  lg: {
105
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
105
+ base: "px-6 py-3 text-lg rounded-2xl",
106
106
  icon: "h-12 w-12 rounded-2xl",
107
107
  iconSize: "w-[22px] h-[22px]"
108
108
  }
@@ -141,8 +141,8 @@ var ProgressBar = React__namespace.default.forwardRef(
141
141
  label ? "justify-between" : "justify-end"
142
142
  ),
143
143
  children: [
144
- label && /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-progress-bar-label font-normal", children: label }),
145
- showPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-progress-bar-label font-normal", children: [
144
+ label && /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "truncate min-w-0 text-progress-bar-label font-normal", children: label }),
145
+ showPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "shrink-0 text-progress-bar-label font-normal", children: [
146
146
  Math.round(progress),
147
147
  "%"
148
148
  ] })
@@ -119,8 +119,8 @@ var ProgressBar = React__default.forwardRef(
119
119
  label ? "justify-between" : "justify-end"
120
120
  ),
121
121
  children: [
122
- label && /* @__PURE__ */ jsx(Label, { className: "text-progress-bar-label font-normal", children: label }),
123
- showPercentage && /* @__PURE__ */ jsxs("span", { className: "text-progress-bar-label font-normal", children: [
122
+ label && /* @__PURE__ */ jsx(Label, { className: "truncate min-w-0 text-progress-bar-label font-normal", children: label }),
123
+ showPercentage && /* @__PURE__ */ jsxs("span", { className: "shrink-0 text-progress-bar-label font-normal", children: [
124
124
  Math.round(progress),
125
125
  "%"
126
126
  ] })
@@ -124,7 +124,7 @@ var buttonSizeClasses = {
124
124
  iconSize: "w-5 h-5"
125
125
  },
126
126
  lg: {
127
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
127
+ base: "px-6 py-3 text-lg rounded-2xl",
128
128
  icon: "h-12 w-12 rounded-2xl",
129
129
  iconSize: "w-[22px] h-[22px]"
130
130
  }
@@ -103,7 +103,7 @@ var buttonSizeClasses = {
103
103
  iconSize: "w-5 h-5"
104
104
  },
105
105
  lg: {
106
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
106
+ base: "px-6 py-3 text-lg rounded-2xl",
107
107
  icon: "h-12 w-12 rounded-2xl",
108
108
  iconSize: "w-[22px] h-[22px]"
109
109
  }
@@ -80,7 +80,7 @@ var buttonSizeClasses = {
80
80
  iconSize: "w-5 h-5"
81
81
  },
82
82
  lg: {
83
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
83
+ base: "px-6 py-3 text-lg rounded-2xl",
84
84
  icon: "h-12 w-12 rounded-2xl",
85
85
  iconSize: "w-[22px] h-[22px]"
86
86
  }
@@ -58,7 +58,7 @@ var buttonSizeClasses = {
58
58
  iconSize: "w-5 h-5"
59
59
  },
60
60
  lg: {
61
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
61
+ base: "px-6 py-3 text-lg rounded-2xl",
62
62
  icon: "h-12 w-12 rounded-2xl",
63
63
  iconSize: "w-[22px] h-[22px]"
64
64
  }
@@ -42,7 +42,7 @@ declare const buttonSizeClasses: {
42
42
  readonly iconSize: "w-5 h-5";
43
43
  };
44
44
  readonly lg: {
45
- readonly base: "h-12 px-6 py-3 text-lg rounded-2xl";
45
+ readonly base: "px-6 py-3 text-lg rounded-2xl";
46
46
  readonly icon: "h-12 w-12 rounded-2xl";
47
47
  readonly iconSize: "w-[22px] h-[22px]";
48
48
  };
@@ -185,7 +185,7 @@ declare const buttonTokens: {
185
185
  readonly iconSize: "w-5 h-5";
186
186
  };
187
187
  readonly lg: {
188
- readonly base: "h-12 px-6 py-3 text-lg rounded-2xl";
188
+ readonly base: "px-6 py-3 text-lg rounded-2xl";
189
189
  readonly icon: "h-12 w-12 rounded-2xl";
190
190
  readonly iconSize: "w-[22px] h-[22px]";
191
191
  };
@@ -42,7 +42,7 @@ declare const buttonSizeClasses: {
42
42
  readonly iconSize: "w-5 h-5";
43
43
  };
44
44
  readonly lg: {
45
- readonly base: "h-12 px-6 py-3 text-lg rounded-2xl";
45
+ readonly base: "px-6 py-3 text-lg rounded-2xl";
46
46
  readonly icon: "h-12 w-12 rounded-2xl";
47
47
  readonly iconSize: "w-[22px] h-[22px]";
48
48
  };
@@ -185,7 +185,7 @@ declare const buttonTokens: {
185
185
  readonly iconSize: "w-5 h-5";
186
186
  };
187
187
  readonly lg: {
188
- readonly base: "h-12 px-6 py-3 text-lg rounded-2xl";
188
+ readonly base: "px-6 py-3 text-lg rounded-2xl";
189
189
  readonly icon: "h-12 w-12 rounded-2xl";
190
190
  readonly iconSize: "w-[22px] h-[22px]";
191
191
  };
@@ -39,7 +39,7 @@ var buttonSizeClasses = {
39
39
  iconSize: "w-5 h-5"
40
40
  },
41
41
  lg: {
42
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
42
+ base: "px-6 py-3 text-lg rounded-2xl",
43
43
  icon: "h-12 w-12 rounded-2xl",
44
44
  iconSize: "w-[22px] h-[22px]"
45
45
  }
@@ -37,7 +37,7 @@ var buttonSizeClasses = {
37
37
  iconSize: "w-5 h-5"
38
38
  },
39
39
  lg: {
40
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
40
+ base: "px-6 py-3 text-lg rounded-2xl",
41
41
  icon: "h-12 w-12 rounded-2xl",
42
42
  iconSize: "w-[22px] h-[22px]"
43
43
  }
@@ -1410,7 +1410,7 @@ var buttonSizeClasses = {
1410
1410
  iconSize: "w-5 h-5"
1411
1411
  },
1412
1412
  lg: {
1413
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
1413
+ base: "px-6 py-3 text-lg rounded-2xl",
1414
1414
  icon: "h-12 w-12 rounded-2xl",
1415
1415
  iconSize: "w-[22px] h-[22px]"
1416
1416
  }
@@ -1408,7 +1408,7 @@ var buttonSizeClasses = {
1408
1408
  iconSize: "w-5 h-5"
1409
1409
  },
1410
1410
  lg: {
1411
- base: "h-12 px-6 py-3 text-lg rounded-2xl",
1411
+ base: "px-6 py-3 text-lg rounded-2xl",
1412
1412
  icon: "h-12 w-12 rounded-2xl",
1413
1413
  iconSize: "w-[22px] h-[22px]"
1414
1414
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grupor5/raya",
3
- "version": "0.2.48",
3
+ "version": "0.2.50",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",