@bizapps/ui 1.4.0 → 1.4.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.
- package/dist/main.cjs +43 -17
- package/dist/main.cjs.map +1 -1
- package/dist/main.d.cts +13 -1
- package/dist/main.d.ts +13 -1
- package/dist/main.js +43 -17
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
package/dist/main.d.cts
CHANGED
|
@@ -663,8 +663,12 @@ interface DatePickerSingleProps {
|
|
|
663
663
|
placeholder?: string;
|
|
664
664
|
disabled?: boolean;
|
|
665
665
|
className?: string;
|
|
666
|
+
/** Earliest selectable date. Earlier days are disabled and unreachable. */
|
|
666
667
|
fromDate?: Date;
|
|
668
|
+
/** Latest selectable date. Later days are disabled and unreachable. */
|
|
667
669
|
toDate?: Date;
|
|
670
|
+
/** Months rendered side by side. Defaults to 1. */
|
|
671
|
+
numberOfMonths?: number;
|
|
668
672
|
}
|
|
669
673
|
interface DatePickerRangeProps {
|
|
670
674
|
mode: 'range';
|
|
@@ -673,8 +677,12 @@ interface DatePickerRangeProps {
|
|
|
673
677
|
placeholder?: string;
|
|
674
678
|
disabled?: boolean;
|
|
675
679
|
className?: string;
|
|
680
|
+
/** Earliest selectable date. Earlier days are disabled and unreachable. */
|
|
676
681
|
fromDate?: Date;
|
|
682
|
+
/** Latest selectable date. Later days are disabled and unreachable. */
|
|
677
683
|
toDate?: Date;
|
|
684
|
+
/** Months rendered side by side. Defaults to 1. */
|
|
685
|
+
numberOfMonths?: number;
|
|
678
686
|
}
|
|
679
687
|
interface DatePickerProps {
|
|
680
688
|
mode?: 'single' | 'range';
|
|
@@ -683,10 +691,14 @@ interface DatePickerProps {
|
|
|
683
691
|
placeholder?: string;
|
|
684
692
|
disabled?: boolean;
|
|
685
693
|
className?: string;
|
|
694
|
+
/** Earliest selectable date. Earlier days are disabled and unreachable. */
|
|
686
695
|
fromDate?: Date;
|
|
696
|
+
/** Latest selectable date. Later days are disabled and unreachable. */
|
|
687
697
|
toDate?: Date;
|
|
698
|
+
/** Months rendered side by side. Defaults to 1. */
|
|
699
|
+
numberOfMonths?: number;
|
|
688
700
|
}
|
|
689
|
-
declare function DatePicker({ mode, selected, onSelect, placeholder, disabled, className, fromDate, toDate, }: DatePickerProps): react.JSX.Element;
|
|
701
|
+
declare function DatePicker({ mode, selected, onSelect, placeholder, disabled, className, fromDate, toDate, numberOfMonths, }: DatePickerProps): react.JSX.Element;
|
|
690
702
|
|
|
691
703
|
interface NavbarDropdownItem {
|
|
692
704
|
href: string;
|
package/dist/main.d.ts
CHANGED
|
@@ -663,8 +663,12 @@ interface DatePickerSingleProps {
|
|
|
663
663
|
placeholder?: string;
|
|
664
664
|
disabled?: boolean;
|
|
665
665
|
className?: string;
|
|
666
|
+
/** Earliest selectable date. Earlier days are disabled and unreachable. */
|
|
666
667
|
fromDate?: Date;
|
|
668
|
+
/** Latest selectable date. Later days are disabled and unreachable. */
|
|
667
669
|
toDate?: Date;
|
|
670
|
+
/** Months rendered side by side. Defaults to 1. */
|
|
671
|
+
numberOfMonths?: number;
|
|
668
672
|
}
|
|
669
673
|
interface DatePickerRangeProps {
|
|
670
674
|
mode: 'range';
|
|
@@ -673,8 +677,12 @@ interface DatePickerRangeProps {
|
|
|
673
677
|
placeholder?: string;
|
|
674
678
|
disabled?: boolean;
|
|
675
679
|
className?: string;
|
|
680
|
+
/** Earliest selectable date. Earlier days are disabled and unreachable. */
|
|
676
681
|
fromDate?: Date;
|
|
682
|
+
/** Latest selectable date. Later days are disabled and unreachable. */
|
|
677
683
|
toDate?: Date;
|
|
684
|
+
/** Months rendered side by side. Defaults to 1. */
|
|
685
|
+
numberOfMonths?: number;
|
|
678
686
|
}
|
|
679
687
|
interface DatePickerProps {
|
|
680
688
|
mode?: 'single' | 'range';
|
|
@@ -683,10 +691,14 @@ interface DatePickerProps {
|
|
|
683
691
|
placeholder?: string;
|
|
684
692
|
disabled?: boolean;
|
|
685
693
|
className?: string;
|
|
694
|
+
/** Earliest selectable date. Earlier days are disabled and unreachable. */
|
|
686
695
|
fromDate?: Date;
|
|
696
|
+
/** Latest selectable date. Later days are disabled and unreachable. */
|
|
687
697
|
toDate?: Date;
|
|
698
|
+
/** Months rendered side by side. Defaults to 1. */
|
|
699
|
+
numberOfMonths?: number;
|
|
688
700
|
}
|
|
689
|
-
declare function DatePicker({ mode, selected, onSelect, placeholder, disabled, className, fromDate, toDate, }: DatePickerProps): react.JSX.Element;
|
|
701
|
+
declare function DatePicker({ mode, selected, onSelect, placeholder, disabled, className, fromDate, toDate, numberOfMonths, }: DatePickerProps): react.JSX.Element;
|
|
690
702
|
|
|
691
703
|
interface NavbarDropdownItem {
|
|
692
704
|
href: string;
|
package/dist/main.js
CHANGED
|
@@ -4542,22 +4542,52 @@ function DatePicker({
|
|
|
4542
4542
|
disabled = false,
|
|
4543
4543
|
className,
|
|
4544
4544
|
fromDate,
|
|
4545
|
-
toDate
|
|
4545
|
+
toDate,
|
|
4546
|
+
numberOfMonths = 1
|
|
4546
4547
|
}) {
|
|
4547
4548
|
const [open, setOpen] = useState(false);
|
|
4549
|
+
const [awaitingRangeEnd, setAwaitingRangeEnd] = useState(false);
|
|
4548
4550
|
const label = useMemo(() => {
|
|
4549
4551
|
if (mode === "range") {
|
|
4550
4552
|
const range = selected;
|
|
4551
|
-
if (range?.from
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
return placeholder;
|
|
4553
|
+
if (!range?.from) return placeholder;
|
|
4554
|
+
if (!range.to) return `${format(range.from, "MMM d, yyyy")} \u2013 \u2026`;
|
|
4555
|
+
return `${format(range.from, "MMM d, yyyy")} \u2013 ${format(range.to, "MMM d, yyyy")}`;
|
|
4555
4556
|
}
|
|
4556
4557
|
const date = selected;
|
|
4557
4558
|
return date ? format(date, "MMM d, yyyy") : placeholder;
|
|
4558
4559
|
}, [mode, selected, placeholder]);
|
|
4560
|
+
const handleOpenChange = (nextOpen) => {
|
|
4561
|
+
setOpen(nextOpen);
|
|
4562
|
+
if (!nextOpen) setAwaitingRangeEnd(false);
|
|
4563
|
+
};
|
|
4564
|
+
const handleRangeSelect = (range, triggerDate) => {
|
|
4565
|
+
const emit = onSelect;
|
|
4566
|
+
if (!awaitingRangeEnd) {
|
|
4567
|
+
setAwaitingRangeEnd(true);
|
|
4568
|
+
emit?.({ from: triggerDate, to: void 0 });
|
|
4569
|
+
return;
|
|
4570
|
+
}
|
|
4571
|
+
emit?.(range);
|
|
4572
|
+
if (!range?.from || !range.to) {
|
|
4573
|
+
setAwaitingRangeEnd(!!range?.from);
|
|
4574
|
+
return;
|
|
4575
|
+
}
|
|
4576
|
+
setAwaitingRangeEnd(false);
|
|
4577
|
+
setOpen(false);
|
|
4578
|
+
};
|
|
4579
|
+
const dateConstraints = useMemo(() => {
|
|
4580
|
+
const disabledMatchers = [];
|
|
4581
|
+
if (fromDate) disabledMatchers.push({ before: fromDate });
|
|
4582
|
+
if (toDate) disabledMatchers.push({ after: toDate });
|
|
4583
|
+
return {
|
|
4584
|
+
...disabledMatchers.length > 0 && { disabled: disabledMatchers },
|
|
4585
|
+
...fromDate && { startMonth: fromDate },
|
|
4586
|
+
...toDate && { endMonth: toDate }
|
|
4587
|
+
};
|
|
4588
|
+
}, [fromDate, toDate]);
|
|
4559
4589
|
const hasValue = mode === "range" ? !!selected?.from : !!selected;
|
|
4560
|
-
return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange:
|
|
4590
|
+
return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
4561
4591
|
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
4562
4592
|
Button,
|
|
4563
4593
|
{
|
|
@@ -4581,14 +4611,10 @@ function DatePicker({
|
|
|
4581
4611
|
...{
|
|
4582
4612
|
mode: "range",
|
|
4583
4613
|
selected,
|
|
4584
|
-
onSelect:
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
fromDate,
|
|
4589
|
-
toDate,
|
|
4590
|
-
numberOfMonths: 2,
|
|
4591
|
-
initialFocus: true
|
|
4614
|
+
onSelect: handleRangeSelect,
|
|
4615
|
+
...dateConstraints,
|
|
4616
|
+
numberOfMonths,
|
|
4617
|
+
autoFocus: true
|
|
4592
4618
|
}
|
|
4593
4619
|
}
|
|
4594
4620
|
) : /* @__PURE__ */ jsx(
|
|
@@ -4601,9 +4627,9 @@ function DatePicker({
|
|
|
4601
4627
|
onSelect?.(date);
|
|
4602
4628
|
setOpen(false);
|
|
4603
4629
|
},
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4630
|
+
...dateConstraints,
|
|
4631
|
+
numberOfMonths,
|
|
4632
|
+
autoFocus: true
|
|
4607
4633
|
}
|
|
4608
4634
|
}
|
|
4609
4635
|
) })
|