@trsys-tech/matrix-library 1.0.2 → 1.1.0

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.
Files changed (50) hide show
  1. package/dist/components/date-picker/DatePicker.d.ts +24 -1
  2. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  3. package/dist/components/date-picker/DateRangePicker.d.ts +23 -1
  4. package/dist/components/date-picker/DateRangePicker.d.ts.map +1 -1
  5. package/dist/components/date-picker/DesktopDatePicker.d.ts +23 -2
  6. package/dist/components/date-picker/DesktopDatePicker.d.ts.map +1 -1
  7. package/dist/components/date-picker/DesktopDateRangePicker.d.ts +25 -3
  8. package/dist/components/date-picker/DesktopDateRangePicker.d.ts.map +1 -1
  9. package/dist/components/date-picker/DesktopTimePicker.d.ts +17 -0
  10. package/dist/components/date-picker/DesktopTimePicker.d.ts.map +1 -1
  11. package/dist/components/date-picker/MobileDatePicker.d.ts +24 -3
  12. package/dist/components/date-picker/MobileDatePicker.d.ts.map +1 -1
  13. package/dist/components/date-picker/MobileDateRangePicker.d.ts +27 -4
  14. package/dist/components/date-picker/MobileDateRangePicker.d.ts.map +1 -1
  15. package/dist/components/date-picker/MobileTimePicker.d.ts +17 -0
  16. package/dist/components/date-picker/MobileTimePicker.d.ts.map +1 -1
  17. package/dist/components/date-picker/TimePicker.d.ts +22 -0
  18. package/dist/components/date-picker/TimePicker.d.ts.map +1 -1
  19. package/dist/components/date-picker/TimePickerContent.d.ts +24 -0
  20. package/dist/components/date-picker/TimePickerContent.d.ts.map +1 -1
  21. package/dist/components/date-picker/dateValue.d.ts +44 -0
  22. package/dist/components/date-picker/dateValue.d.ts.map +1 -0
  23. package/dist/components/form-date-picker/FormDatePicker.d.ts +32 -4
  24. package/dist/components/form-date-picker/FormDatePicker.d.ts.map +1 -1
  25. package/dist/components/form-date-range-picker/FormDateRangePicker.d.ts +34 -4
  26. package/dist/components/form-date-range-picker/FormDateRangePicker.d.ts.map +1 -1
  27. package/dist/components/form-time-picker/FormTimePicker.d.ts +34 -0
  28. package/dist/components/form-time-picker/FormTimePicker.d.ts.map +1 -1
  29. package/dist/datepicker.es.js.map +1 -1
  30. package/dist/daterangepicker.es.js.map +1 -1
  31. package/dist/datevalue.es.js +44 -0
  32. package/dist/datevalue.es.js.map +1 -0
  33. package/dist/desktopdatepicker.es.js +40 -35
  34. package/dist/desktopdatepicker.es.js.map +1 -1
  35. package/dist/desktopdaterangepicker.es.js +50 -45
  36. package/dist/desktopdaterangepicker.es.js.map +1 -1
  37. package/dist/desktoptimepicker.es.js.map +1 -1
  38. package/dist/formdatepicker.es.js.map +1 -1
  39. package/dist/formdaterangepicker.es.js.map +1 -1
  40. package/dist/formtimepicker.es.js.map +1 -1
  41. package/dist/index.d.ts +2 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/mobiledatepicker.es.js +46 -41
  44. package/dist/mobiledatepicker.es.js.map +1 -1
  45. package/dist/mobiledaterangepicker.es.js +74 -69
  46. package/dist/mobiledaterangepicker.es.js.map +1 -1
  47. package/dist/mobiletimepicker.es.js.map +1 -1
  48. package/dist/timepicker.es.js.map +1 -1
  49. package/dist/timepickercontent.es.js.map +1 -1
  50. package/package.json +1 -1
@@ -1,7 +1,30 @@
1
1
  import { default as React } from 'react';
2
2
  import { DesktopDatePicker, DesktopDatePickerProps } from './DesktopDatePicker';
3
3
  import { MobileDatePicker, MobileDatePickerProps } from './MobileDatePicker';
4
+ import { DateOnlyString, DateValue } from './dateValue';
5
+ /**
6
+ * Props for the responsive single-date picker.
7
+ *
8
+ * Inherits the desktop and mobile single-date picker props and keeps the same
9
+ * public value contract: pass a Date or a YYYY-MM-DD string to selected and
10
+ * receive a YYYY-MM-DD string from onSelect.
11
+ */
4
12
  type DatePickerProps = DesktopDatePickerProps & MobileDatePickerProps & {};
13
+ /**
14
+ * Responsive single-date picker.
15
+ *
16
+ * Renders the mobile dialog picker on mobile screens and the desktop popover
17
+ * picker on larger screens.
18
+ *
19
+ * @example
20
+ * const [invoiceDate, setInvoiceDate] = React.useState<string | undefined>("2025-12-24");
21
+ *
22
+ * <DatePicker
23
+ * selected={invoiceDate}
24
+ * onSelect={setInvoiceDate}
25
+ * placeholder="Pick an invoice date"
26
+ * />
27
+ */
5
28
  declare const DatePicker: React.FC<DatePickerProps>;
6
- export { DatePicker, DesktopDatePicker, MobileDatePicker, type DatePickerProps, type DesktopDatePickerProps, type MobileDatePickerProps };
29
+ export { DatePicker, DesktopDatePicker, MobileDatePicker, type DatePickerProps, type DesktopDatePickerProps, type MobileDatePickerProps, type DateOnlyString, type DateValue, };
7
30
  //# sourceMappingURL=DatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG7E,KAAK,eAAe,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,EAAE,CAAC;AAE3E,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIzC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlE;;;;;;GAMG;AACH,KAAK,eAAe,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,EAAE,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIzC,CAAC;AAEF,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,CAAC"}
@@ -1,7 +1,29 @@
1
1
  import { default as React } from 'react';
2
2
  import { MobileDateRangePicker, MobileDateRangePickerProps } from './MobileDateRangePicker';
3
3
  import { DesktopDateRangePicker, DesktopDateRangePickerProps } from './DesktopDateRangePicker';
4
+ import { DateOnlyRange, DateRangeValue } from './dateValue';
5
+ /**
6
+ * Props for the responsive date-range picker.
7
+ *
8
+ * Inherits the desktop and mobile range picker props and keeps the same public
9
+ * value contract: pass Date objects or YYYY-MM-DD strings and receive a
10
+ * { from, to } object with YYYY-MM-DD values from onSelect.
11
+ */
4
12
  type DateRangePickerProps = DesktopDateRangePickerProps & MobileDateRangePickerProps & {};
13
+ /**
14
+ * Responsive date-range picker.
15
+ *
16
+ * Renders the mobile dialog picker on mobile screens and the desktop popover
17
+ * picker on larger screens.
18
+ *
19
+ * @example
20
+ * const [billingRange, setBillingRange] = React.useState<{ from?: string; to?: string } | undefined>({
21
+ * from: "2025-12-01",
22
+ * to: "2025-12-31",
23
+ * });
24
+ *
25
+ * <DateRangePicker selected={billingRange} onSelect={setBillingRange} />
26
+ */
5
27
  declare const DateRangePicker: React.FC<DateRangePickerProps>;
6
- export { DateRangePicker, DesktopDateRangePicker, MobileDateRangePicker, type DateRangePickerProps, type DesktopDateRangePickerProps, type MobileDateRangePickerProps, };
28
+ export { DateRangePicker, DesktopDateRangePicker, MobileDateRangePicker, type DateRangePickerProps, type DesktopDateRangePickerProps, type MobileDateRangePickerProps, type DateOnlyRange, type DateRangeValue, };
7
29
  //# sourceMappingURL=DateRangePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE/F,KAAK,oBAAoB,GAAG,2BAA2B,GAAG,0BAA0B,GAAG,EAAE,CAAC;AAE1F,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAInD,CAAC;AAEF,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,GAChC,CAAC"}
1
+ {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;;GAMG;AACH,KAAK,oBAAoB,GAAG,2BAA2B,GAAG,0BAA0B,GAAG,EAAE,CAAC;AAE1F;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAInD,CAAC;AAEF,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,CAAC"}
@@ -1,15 +1,36 @@
1
1
  import { PropsBase, PropsSingle, Matcher } from 'react-day-picker';
2
+ import { DateOnlyString, DateValue } from './dateValue';
2
3
  import * as React from "react";
3
- type DesktopDatePickerProps = Omit<PropsBase, "disabled"> & Omit<PropsSingle, "mode" | "disabled"> & {
4
+ /**
5
+ * Props for the desktop-only single-date picker.
6
+ *
7
+ * Inherits the single-date calendar props from react-day-picker, but normalizes
8
+ * the public value contract to Date | YYYY-MM-DD on input and YYYY-MM-DD on output.
9
+ */
10
+ type DesktopDatePickerProps = Omit<PropsBase, "disabled"> & Omit<PropsSingle, "mode" | "disabled" | "selected" | "onSelect"> & {
11
+ /** Display format used in the trigger and accessibility label. */
4
12
  formatStr?: string;
13
+ /** Placeholder shown when no date is selected. */
5
14
  placeholder?: string;
15
+ /** Class name forwarded to the calendar content. */
6
16
  calendarClassName?: string;
7
- selected?: Date;
17
+ /** Current value as a native Date or a YYYY-MM-DD string. */
18
+ selected?: DateValue;
19
+ /** Called with a YYYY-MM-DD string when the user selects a date. */
20
+ onSelect?: (date: DateOnlyString | undefined) => void;
21
+ /** Prevents clearing the selection when true. */
8
22
  required?: boolean;
23
+ /** Closes the popover immediately after a day is picked. */
9
24
  closeOnSelect?: boolean;
25
+ /** Disables the trigger button. */
10
26
  disabled?: boolean;
27
+ /** Dates disabled in the calendar. */
11
28
  disabledDates?: Matcher | Matcher[];
12
29
  };
30
+ /**
31
+ * Desktop-only single-date picker rendered in a popover.
32
+ * Use this component when you want the desktop experience regardless of screen size.
33
+ */
13
34
  declare const DesktopDatePicker: React.FC<DesktopDatePickerProps>;
14
35
  export { DesktopDatePicker, type DesktopDatePickerProps };
15
36
  //# sourceMappingURL=DesktopDatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAmB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAOpF,KAAK,sBAAsB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GACvD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CACrC,CAAC;AAEJ,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAsDvD,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"DesktopDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAmB,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAIrG,OAAO,EAAE,cAAc,EAAE,SAAS,EAAoC,MAAM,aAAa,CAAC;AAI1F;;;;;GAKG;AACH,KAAK,sBAAsB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GACvD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;IACjE,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CACrC,CAAC;AAEJ;;;GAGG;AACH,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6DvD,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
@@ -1,16 +1,38 @@
1
- import { PropsBase, PropsRange, DateRange, Matcher } from 'react-day-picker';
1
+ import { PropsBase, PropsRange, Matcher } from 'react-day-picker';
2
+ import { DateOnlyRange, DateRangeValue } from './dateValue';
2
3
  import * as React from "react";
3
- type DesktopDateRangePickerProps = Omit<PropsBase, "disabled"> & Omit<PropsRange, "mode" | "disabled"> & {
4
+ /**
5
+ * Props for the desktop-only date-range picker.
6
+ *
7
+ * Inherits the range calendar props from react-day-picker, but normalizes the
8
+ * public value contract to Date | YYYY-MM-DD on input and { from, to } strings on output.
9
+ */
10
+ type DesktopDateRangePickerProps = Omit<PropsBase, "disabled"> & Omit<PropsRange, "mode" | "disabled" | "selected" | "onSelect"> & {
11
+ /** Display format used in the trigger and accessibility label. */
4
12
  formatStr?: string;
13
+ /** Placeholder shown when no range is selected. */
5
14
  placeholder?: string;
15
+ /** Class name forwarded to the calendar content. */
6
16
  calendarClassName?: string;
7
- selected?: DateRange;
17
+ /** Current value as Date objects or YYYY-MM-DD strings. */
18
+ selected?: DateRangeValue;
19
+ /** Called with YYYY-MM-DD range values when the user selects a range. */
20
+ onSelect?: (date: DateOnlyRange | undefined) => void;
21
+ /** Prevents clearing the selection when true. */
8
22
  required?: boolean;
23
+ /** Label shown before the start date in the trigger. */
9
24
  fromText?: string;
25
+ /** Label shown before the end date in the trigger. */
10
26
  toText?: string;
27
+ /** Disables the trigger button. */
11
28
  disabled?: boolean;
29
+ /** Dates disabled in the calendar. */
12
30
  disabledDates?: Matcher | Matcher[];
13
31
  };
32
+ /**
33
+ * Desktop-only date-range picker rendered in a popover.
34
+ * Use this component when you want the desktop experience regardless of screen size.
35
+ */
14
36
  declare const DesktopDateRangePicker: React.FC<DesktopDateRangePickerProps>;
15
37
  export { DesktopDateRangePicker, type DesktopDateRangePickerProps };
16
38
  //# sourceMappingURL=DesktopDateRangePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAO7E,KAAK,2BAA2B,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAC5D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CACrC,CAAC;AAEJ,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAmEjE,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,CAAC"}
1
+ {"version":3,"file":"DesktopDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAa,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAI9F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAwC,MAAM,aAAa,CAAC;AAIlG;;;;;GAKG;AACH,KAAK,2BAA2B,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAC5D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;IAChE,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;IACrD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CACrC,CAAC;AAEJ;;;GAGG;AACH,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA2EjE,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,CAAC"}
@@ -1,15 +1,32 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  import { Time } from './TimePickerContent';
3
+ /**
4
+ * Props for the desktop-only time picker.
5
+ *
6
+ * In 12-hour mode, the time value should include ampm.
7
+ * In 24-hour mode, the time value should omit ampm and use hour values from 0-23.
8
+ */
3
9
  type DesktopTimePickerProps = HTMLAttributes<HTMLButtonElement> & {
10
+ /** Current time value. */
4
11
  time: Time | undefined;
12
+ /** Called whenever the selected time changes. */
5
13
  onTimeChange: (time: Time | undefined) => void;
14
+ /** Enables 24-hour mode and hides the AM/PM column when true. */
6
15
  is24HourMode?: boolean;
16
+ /** Accessible label and trigger fallback when no time is selected. */
7
17
  placeholder?: string;
18
+ /** Disables the trigger button. */
8
19
  disabled?: boolean;
20
+ /** Props forwarded to the popover content. */
9
21
  slotsProps?: {
22
+ /** Props forwarded to the time picker content container. */
10
23
  content?: HTMLAttributes<HTMLDivElement>;
11
24
  };
12
25
  };
26
+ /**
27
+ * Desktop-only time picker rendered in a popover.
28
+ * Use this component when you want the desktop interaction regardless of screen size.
29
+ */
13
30
  declare const DesktopTimePicker: React.FC<DesktopTimePickerProps>;
14
31
  export { DesktopTimePicker, type DesktopTimePickerProps };
15
32
  //# sourceMappingURL=DesktopTimePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopTimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopTimePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAY,MAAM,OAAO,CAAC;AAKjD,OAAO,EAAE,IAAI,EAAqB,MAAM,qBAAqB,CAAC;AAiB9D,KAAK,sBAAsB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG;IAChE,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAiCvD,CAAC;AACF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"DesktopTimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopTimePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAY,MAAM,OAAO,CAAC;AAKjD,OAAO,EAAE,IAAI,EAAqB,MAAM,qBAAqB,CAAC;AAiB9D;;;;;GAKG;AACH,KAAK,sBAAsB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG;IAChE,0BAA0B;IAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,iDAAiD;IACjD,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,UAAU,CAAC,EAAE;QACX,4DAA4D;QAC5D,OAAO,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAiCvD,CAAC;AACF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
@@ -1,17 +1,38 @@
1
1
  import { Matcher, PropsBase, PropsSingle } from 'react-day-picker';
2
+ import { DateOnlyString, DateValue } from './dateValue';
2
3
  import * as React from "react";
3
- type MobileDatePickerProps = Omit<PropsBase, "disabled"> & Omit<PropsSingle, "mode" | "disabled"> & {
4
+ /**
5
+ * Props for the mobile-only single-date picker.
6
+ *
7
+ * Inherits the single-date calendar props from react-day-picker, but accepts
8
+ * Date | YYYY-MM-DD on input and emits YYYY-MM-DD on apply.
9
+ */
10
+ type MobileDatePickerProps = Omit<PropsBase, "disabled"> & Omit<PropsSingle, "mode" | "disabled" | "selected" | "onSelect"> & {
11
+ /** Display format used in the trigger and dialog header. */
4
12
  formatStr?: string;
13
+ /** Placeholder shown when no date is selected. */
5
14
  placeholder?: string;
15
+ /** Class name forwarded to the calendar content. */
6
16
  calendarClassName?: string;
7
- selected?: Date;
17
+ /** Current value as a native Date or a YYYY-MM-DD string. */
18
+ selected?: DateValue;
19
+ /** Prevents clearing the selection when true. */
8
20
  required?: boolean;
21
+ /** Label for the cancel button. */
9
22
  cancelText?: string;
23
+ /** Label for the apply button. */
10
24
  applyText?: string;
11
- onSelect?: (date: Date | undefined) => void;
25
+ /** Called with a YYYY-MM-DD string when the user confirms the selection. */
26
+ onSelect?: (date: DateOnlyString | undefined) => void;
27
+ /** Disables the trigger button. */
12
28
  disabled?: boolean;
29
+ /** Dates disabled in the calendar. */
13
30
  disabledDates?: Matcher | Matcher[];
14
31
  };
32
+ /**
33
+ * Mobile-only single-date picker rendered in a full-screen dialog.
34
+ * Use this component when you want mobile interaction regardless of screen size.
35
+ */
15
36
  declare const MobileDatePicker: React.FC<MobileDatePickerProps>;
16
37
  export { MobileDatePicker, type MobileDatePickerProps };
17
38
  //# sourceMappingURL=MobileDatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQnE,KAAK,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GACtD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CACrC,CAAC;AAEJ,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkFrD,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"MobileDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKnE,OAAO,EAAE,cAAc,EAAE,SAAS,EAA2C,MAAM,aAAa,CAAC;AAIjG;;;;;GAKG;AACH,KAAK,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GACtD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;IACjE,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CACrC,CAAC;AAEJ;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAuFrD,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,CAAC"}
@@ -1,19 +1,42 @@
1
- import { PropsBase, PropsRange, DateRange, Matcher } from 'react-day-picker';
1
+ import { PropsBase, PropsRange, Matcher } from 'react-day-picker';
2
+ import { DateOnlyRange, DateRangeValue } from './dateValue';
2
3
  import * as React from "react";
3
- type MobileDateRangePickerProps = Omit<PropsBase, "disabled"> & Omit<PropsRange, "mode" | "disabled"> & {
4
+ /**
5
+ * Props for the mobile-only date-range picker.
6
+ *
7
+ * Inherits the range calendar props from react-day-picker, but accepts Date
8
+ * objects or YYYY-MM-DD strings and emits { from, to } values in YYYY-MM-DD format.
9
+ */
10
+ type MobileDateRangePickerProps = Omit<PropsBase, "disabled"> & Omit<PropsRange, "mode" | "disabled" | "selected" | "onSelect"> & {
11
+ /** Display format used in the trigger and dialog header. */
4
12
  formatStr?: string;
13
+ /** Placeholder shown when no range is selected. */
5
14
  placeholder?: string;
15
+ /** Class name forwarded to the calendar content. */
6
16
  calendarClassName?: string;
7
- selected?: DateRange;
17
+ /** Current value as Date objects or YYYY-MM-DD strings. */
18
+ selected?: DateRangeValue;
19
+ /** Prevents clearing the selection when true. */
8
20
  required?: boolean;
21
+ /** Label for the cancel button. */
9
22
  cancelText?: string;
23
+ /** Label for the apply button. */
10
24
  applyText?: string;
11
- onSelect?: (date: DateRange | undefined) => void;
25
+ /** Called with YYYY-MM-DD range values when the user confirms the selection. */
26
+ onSelect?: (date: DateOnlyRange | undefined) => void;
27
+ /** Label shown before the start date in the trigger. */
12
28
  fromText?: string;
29
+ /** Label shown before the end date in the trigger. */
13
30
  toText?: string;
31
+ /** Disables the trigger button. */
14
32
  disabled?: boolean;
33
+ /** Dates disabled in the calendar. */
15
34
  disabledDates?: Matcher | Matcher[];
16
35
  };
36
+ /**
37
+ * Mobile-only date-range picker rendered in a full-screen dialog.
38
+ * Use this component when you want mobile interaction regardless of screen size.
39
+ */
17
40
  declare const MobileDateRangePicker: React.FC<MobileDateRangePickerProps>;
18
41
  export { MobileDateRangePicker, type MobileDateRangePickerProps };
19
42
  //# sourceMappingURL=MobileDateRangePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAmB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAO9F,KAAK,0BAA0B,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAC3D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CACrC,CAAC;AAEJ,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAgI/D,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"MobileDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAA8B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI9F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAgD,MAAM,aAAa,CAAC;AAI1G;;;;;GAKG;AACH,KAAK,0BAA0B,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAC3D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;IAChE,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;IACrD,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CACrC,CAAC;AAEJ;;;GAGG;AACH,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAwI/D,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
@@ -1,15 +1,32 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  import { Time } from './TimePickerContent';
3
+ /**
4
+ * Props for the mobile-only time picker.
5
+ *
6
+ * In 12-hour mode, the time value should include ampm.
7
+ * In 24-hour mode, the time value should omit ampm and use hour values from 0-23.
8
+ */
3
9
  type MobileTimePickerProps = HTMLAttributes<HTMLButtonElement> & {
10
+ /** Current time value. */
4
11
  time: Time | undefined;
12
+ /** Called whenever the selected time changes. */
5
13
  onTimeChange: (time: Time | undefined) => void;
14
+ /** Enables 24-hour mode and hides the AM/PM column when true. */
6
15
  is24HourMode?: boolean;
16
+ /** Accessible label and trigger fallback when no time is selected. */
7
17
  placeholder?: string;
18
+ /** Disables the trigger button. */
8
19
  disabled?: boolean;
20
+ /** Props forwarded to the drawer content. */
9
21
  slotsProps?: {
22
+ /** Props forwarded to the time picker content container. */
10
23
  content?: HTMLAttributes<HTMLDivElement>;
11
24
  };
12
25
  };
26
+ /**
27
+ * Mobile-only time picker rendered in a swipeable drawer.
28
+ * Use this component when you want the mobile interaction regardless of screen size.
29
+ */
13
30
  declare const MobileTimePicker: React.FC<MobileTimePickerProps>;
14
31
  export { MobileTimePicker, type MobileTimePickerProps };
15
32
  //# sourceMappingURL=MobileTimePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileTimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileTimePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAY,MAAM,OAAO,CAAC;AAKjD,OAAO,EAAE,IAAI,EAAqB,MAAM,qBAAqB,CAAC;AAwB9D,KAAK,qBAAqB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG;IAC/D,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsCrD,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"MobileTimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileTimePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAY,MAAM,OAAO,CAAC;AAKjD,OAAO,EAAE,IAAI,EAAqB,MAAM,qBAAqB,CAAC;AAwB9D;;;;;GAKG;AACH,KAAK,qBAAqB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG;IAC/D,0BAA0B;IAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,iDAAiD;IACjD,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,UAAU,CAAC,EAAE;QACX,4DAA4D;QAC5D,OAAO,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsCrD,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,CAAC"}
@@ -2,7 +2,29 @@ import { default as React } from 'react';
2
2
  import { Time } from './TimePickerContent';
3
3
  import { MobileTimePicker, MobileTimePickerProps } from './MobileTimePicker';
4
4
  import { DesktopTimePicker, DesktopTimePickerProps } from './DesktopTimePicker';
5
+ /**
6
+ * Props for the responsive time picker.
7
+ *
8
+ * Accepts the same public API as the desktop and mobile time pickers.
9
+ * The controlled value is a Time object and onTimeChange receives the same shape.
10
+ */
5
11
  type TimePickerProps = DesktopTimePickerProps & {};
12
+ /**
13
+ * Responsive time picker.
14
+ *
15
+ * Renders the mobile drawer picker on mobile screens and the desktop popover picker
16
+ * on larger screens.
17
+ *
18
+ * @example
19
+ * const [meetingTime, setMeetingTime] = React.useState<Time | undefined>({ hour: 9, minute: 30, ampm: "AM" });
20
+ *
21
+ * <TimePicker time={meetingTime} onTimeChange={setMeetingTime} />
22
+ *
23
+ * @example
24
+ * const [twentyFourHourTime, setTwentyFourHourTime] = React.useState<Time | undefined>({ hour: 14, minute: 30 });
25
+ *
26
+ * <TimePicker time={twentyFourHourTime} onTimeChange={setTwentyFourHourTime} is24HourMode />
27
+ */
6
28
  declare const TimePicker: React.FC<TimePickerProps>;
7
29
  export { TimePicker, DesktopTimePicker, type DesktopTimePickerProps, MobileTimePicker, type MobileTimePickerProps, type TimePickerProps, type Time };
8
30
  //# sourceMappingURL=TimePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/TimePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,KAAK,eAAe,GAAG,sBAAsB,GAAG,EAAE,CAAC;AAEnD,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIzC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/TimePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEhF;;;;;GAKG;AACH,KAAK,eAAe,GAAG,sBAAsB,GAAG,EAAE,CAAC;AAEnD;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIzC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC"}
@@ -1,18 +1,42 @@
1
1
  import { HTMLAttributes } from 'react';
2
+ /**
3
+ * Public value used by the time pickers.
4
+ *
5
+ * In 12-hour mode, provide hour values from 1-12 and include ampm.
6
+ * In 24-hour mode, provide hour values from 0-23 and omit ampm.
7
+ */
2
8
  type Time = {
9
+ /** Hour segment of the time value. */
3
10
  hour: number;
11
+ /** Minute segment of the time value. */
4
12
  minute: number;
13
+ /** Optional meridiem used in 12-hour mode. */
5
14
  ampm?: "AM" | "PM";
6
15
  };
16
+ /**
17
+ * Props for the shared time picker content.
18
+ *
19
+ * This is the scrollable selector used by both the desktop and mobile wrappers.
20
+ */
7
21
  type TimePickerContentProps = {
22
+ /** Current time value. */
8
23
  time: Time | undefined;
24
+ /** Indicates whether the surrounding popover or drawer is open. */
9
25
  isOpen: boolean;
26
+ /** Enables 24-hour mode and hides the AM/PM column when true. */
10
27
  is24HourMode?: boolean;
28
+ /** Called whenever the user changes the selected time. */
11
29
  onTimeChange: (time: Time | undefined) => void;
30
+ /** Props forwarded to the content container. */
12
31
  slotsProps?: {
32
+ /** Props forwarded to the main content element. */
13
33
  content?: HTMLAttributes<HTMLDivElement>;
14
34
  };
15
35
  };
36
+ /**
37
+ * Shared time picker content used by the desktop popover and mobile drawer variants.
38
+ * It normalizes values based on 12-hour or 24-hour mode and emits updates as the user picks segments.
39
+ */
16
40
  declare const TimePickerContent: React.FC<TimePickerContentProps>;
17
41
  export { TimePickerContent, type TimePickerContentProps, type Time };
18
42
  //# sourceMappingURL=TimePickerContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerContent.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/TimePickerContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA+B,MAAM,OAAO,CAAC;AAIpE,KAAK,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC;AAEjE,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAoCF,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6HvD,CAAC;AACF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"TimePickerContent.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/TimePickerContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA+B,MAAM,OAAO,CAAC;AAIpE;;;;;GAKG;AACH,KAAK,IAAI,GAAG;IACV,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,KAAK,sBAAsB,GAAG;IAC5B,0BAA0B;IAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0DAA0D;IAC1D,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,gDAAgD;IAChD,UAAU,CAAC,EAAE;QACX,mDAAmD;QACnD,OAAO,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAoCF;;;GAGG;AACH,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6HvD,CAAC;AACF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { DateRange } from 'react-day-picker';
2
+ /**
3
+ * Public value accepted by single-date pickers.
4
+ * Pass either a native Date or a date-only string in YYYY-MM-DD format.
5
+ */
6
+ type DateValue = Date | string;
7
+ /**
8
+ * Date-only value returned by single-date pickers.
9
+ * Example: "2025-12-24".
10
+ */
11
+ type DateOnlyString = string;
12
+ type DateSelectionKey = number | string | undefined;
13
+ /**
14
+ * Public value accepted by date-range pickers.
15
+ * Each edge of the range can be a native Date or a YYYY-MM-DD string.
16
+ */
17
+ type DateRangeValue = {
18
+ /** Inclusive start date for the range. */
19
+ from?: DateValue;
20
+ /** Inclusive end date for the range. */
21
+ to?: DateValue;
22
+ };
23
+ /**
24
+ * Date-only range returned by range pickers and form wrappers.
25
+ */
26
+ type DateOnlyRange = {
27
+ /** Inclusive start date in YYYY-MM-DD format. */
28
+ from?: DateOnlyString;
29
+ /** Inclusive end date in YYYY-MM-DD format. */
30
+ to?: DateOnlyString;
31
+ };
32
+ /**
33
+ * Regular expression used to validate date-only strings.
34
+ * Matches values like "2025-12-24".
35
+ */
36
+ declare const DATE_ONLY_PATTERN: RegExp;
37
+ declare const toCalendarDate: (value?: DateValue) => Date | undefined;
38
+ declare const toDateOnlyString: (value?: Date) => DateOnlyString | undefined;
39
+ declare const toCalendarDateFromKey: (value?: DateSelectionKey) => Date | undefined;
40
+ declare const toCalendarDateRange: (value?: DateRangeValue) => DateRange | undefined;
41
+ declare const toCalendarDateRangeFromKeys: (fromKey?: DateSelectionKey, toKey?: DateSelectionKey) => DateRange | undefined;
42
+ declare const toDateOnlyRange: (value?: DateRange) => DateOnlyRange | undefined;
43
+ export { DATE_ONLY_PATTERN, toCalendarDate, toCalendarDateFromKey, toDateOnlyString, toCalendarDateRange, toCalendarDateRangeFromKeys, toDateOnlyRange, type DateOnlyRange, type DateOnlyString, type DateRangeValue, type DateSelectionKey, type DateValue, };
44
+ //# sourceMappingURL=dateValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateValue.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/dateValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;GAGG;AACH,KAAK,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;AAE/B;;;GAGG;AACH,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,KAAK,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEpD;;;GAGG;AACH,KAAK,cAAc,GAAG;IACpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wCAAwC;IACxC,EAAE,CAAC,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,KAAK,aAAa,GAAG;IACnB,iDAAiD;IACjD,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,cAAc,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,iBAAiB,QAA8B,CAAC;AAItD,QAAA,MAAM,cAAc,WAAY,SAAS,KAAG,IAAI,GAAG,SAuBlD,CAAC;AAEF,QAAA,MAAM,gBAAgB,WAAY,IAAI,KAAG,cAAc,GAAG,SAIzD,CAAC;AAEF,QAAA,MAAM,qBAAqB,WAAY,gBAAgB,KAAG,IAAI,GAAG,SAOhE,CAAC;AAEF,QAAA,MAAM,mBAAmB,WAAY,cAAc,KAAG,SAAS,GAAG,SASjE,CAAC;AAEF,QAAA,MAAM,2BAA2B,aAAc,gBAAgB,UAAU,gBAAgB,KAAG,SAAS,GAAG,SAOvG,CAAC;AAEF,QAAA,MAAM,eAAe,WAAY,SAAS,KAAG,aAAa,GAAG,SAS5D,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,CAAC"}
@@ -1,14 +1,26 @@
1
1
  import { FormItem } from '../form/Form';
2
2
  import { SlotProps } from '@radix-ui/react-slot';
3
- import { Control, ControllerProps, FieldPath, FieldValues } from 'react-hook-form';
4
- import { DatePickerProps } from '../date-picker/DatePicker';
5
- type FormDatePickerProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = Omit<ControllerProps<TFieldValues, TName>, "render"> & React.ComponentProps<typeof FormItem> & {
3
+ import { Control, ControllerProps, FieldPathByValue, FieldValues } from 'react-hook-form';
4
+ import { DateOnlyString, DatePickerProps } from '../date-picker/DatePicker';
5
+ /**
6
+ * Props for FormDatePicker.
7
+ *
8
+ * The bound field value should be a YYYY-MM-DD string or undefined.
9
+ * Use slotProps.datepickerProps to forward props to the underlying DatePicker.
10
+ */
11
+ type FormDatePickerProps<TFieldValues extends FieldValues, TName extends FieldPathByValue<TFieldValues, DateOnlyString | undefined>> = Omit<ControllerProps<TFieldValues, TName>, "render"> & React.ComponentProps<typeof FormItem> & {
12
+ /** Label rendered above the picker. */
6
13
  label: string;
14
+ /** React Hook Form control instance. */
7
15
  control: Control<TFieldValues>;
16
+ /** Shows the required asterisk next to the label. */
8
17
  required?: boolean;
18
+ /** Disables the picker and the field interaction. */
9
19
  disabled?: boolean;
20
+ /** Keeps the field readable while preventing edits. */
10
21
  readOnly?: boolean;
11
22
  formatStr?: string;
23
+ /** Props forwarded to the form shell and underlying DatePicker. */
12
24
  slotProps?: {
13
25
  formLabelProps?: React.HTMLAttributes<HTMLLabelElement> & React.RefAttributes<HTMLLabelElement>;
14
26
  formMessageProps?: React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>;
@@ -16,6 +28,22 @@ type FormDatePickerProps<TFieldValues extends FieldValues, TName extends FieldPa
16
28
  datepickerProps?: DatePickerProps;
17
29
  };
18
30
  };
19
- declare const FormDatePicker: <TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>>(props: FormDatePickerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
31
+ /**
32
+ * React Hook Form wrapper around DatePicker.
33
+ *
34
+ * Binds a YYYY-MM-DD field value to the shared date picker and renders the
35
+ * label, validation message, and disabled/read-only handling.
36
+ *
37
+ * @example
38
+ * const form = useForm<{ dueDate?: string }>({ defaultValues: { dueDate: "2025-12-24" } });
39
+ *
40
+ * <FormDatePicker
41
+ * control={form.control}
42
+ * name="dueDate"
43
+ * label="Due date"
44
+ * slotProps={{ datepickerProps: { placeholder: "Pick a due date" } }}
45
+ * />
46
+ */
47
+ declare const FormDatePicker: <TFieldValues extends FieldValues, TName extends FieldPathByValue<TFieldValues, DateOnlyString | undefined>>(props: FormDatePickerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
20
48
  export { FormDatePicker, type FormDatePickerProps };
21
49
  //# sourceMappingURL=FormDatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/form-date-picker/FormDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA0B,QAAQ,EAA0B,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,KAAK,mBAAmB,CAAC,YAAY,SAAS,WAAW,EAAE,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,IAAI,IAAI,CACtG,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,EACpC,QAAQ,CACT,GACC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE;QACV,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAChG,gBAAgB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC1G,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAChH,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;CACH,CAAC;AAEJ,QAAA,MAAM,cAAc,GAAI,YAAY,SAAS,WAAW,EAAE,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,SAAS,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,4CAiC/I,CAAC;AACF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"FormDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/form-date-picker/FormDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA0B,QAAQ,EAA0B,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAElG;;;;;GAKG;AACH,KAAK,mBAAmB,CAAC,YAAY,SAAS,WAAW,EAAE,KAAK,SAAS,gBAAgB,CAAC,YAAY,EAAE,cAAc,GAAG,SAAS,CAAC,IAAI,IAAI,CACzI,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,EACpC,QAAQ,CACT,GACC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG;IACtC,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE;QACV,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAChG,gBAAgB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC1G,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAChH,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;CACH,CAAC;AAEJ;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,cAAc,GAAI,YAAY,SAAS,WAAW,EAAE,KAAK,SAAS,gBAAgB,CAAC,YAAY,EAAE,cAAc,GAAG,SAAS,CAAC,SACzH,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,4CAkChD,CAAC;AACF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,CAAC"}
@@ -1,12 +1,24 @@
1
1
  import { FormItem } from '../form/Form';
2
2
  import { SlotProps } from '@radix-ui/react-slot';
3
- import { Control, ControllerProps, FieldPath, FieldValues } from 'react-hook-form';
4
- import { DateRangePickerProps } from '../date-picker/DateRangePicker';
5
- type FormDateRangePickerProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = Omit<ControllerProps<TFieldValues, TName>, "render"> & React.ComponentProps<typeof FormItem> & {
3
+ import { Control, ControllerProps, FieldPathByValue, FieldValues } from 'react-hook-form';
4
+ import { DateOnlyRange, DateRangePickerProps } from '../date-picker/DateRangePicker';
5
+ /**
6
+ * Props for FormDateRangePicker.
7
+ *
8
+ * The bound field value should be an object shaped like
9
+ * { from?: "YYYY-MM-DD", to?: "YYYY-MM-DD" } or undefined.
10
+ * Use slotProps.datepickerProps to forward props to the underlying DateRangePicker.
11
+ */
12
+ type FormDateRangePickerProps<TFieldValues extends FieldValues, TName extends FieldPathByValue<TFieldValues, DateOnlyRange | undefined>> = Omit<ControllerProps<TFieldValues, TName>, "render"> & React.ComponentProps<typeof FormItem> & {
13
+ /** Label rendered above the picker. */
6
14
  label: string;
15
+ /** React Hook Form control instance. */
7
16
  control: Control<TFieldValues>;
17
+ /** Shows the required asterisk next to the label. */
8
18
  required?: boolean;
19
+ /** Keeps the field readable while preventing edits. */
9
20
  readOnly?: boolean;
21
+ /** Props forwarded to the form shell and underlying DateRangePicker. */
10
22
  slotProps?: {
11
23
  formLabelProps?: React.HTMLAttributes<HTMLLabelElement> & React.RefAttributes<HTMLLabelElement>;
12
24
  formMessageProps?: React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>;
@@ -14,6 +26,24 @@ type FormDateRangePickerProps<TFieldValues extends FieldValues, TName extends Fi
14
26
  datepickerProps?: DateRangePickerProps;
15
27
  };
16
28
  };
17
- declare const FormDateRangePicker: <TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>>(props: FormDateRangePickerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
29
+ /**
30
+ * React Hook Form wrapper around DateRangePicker.
31
+ *
32
+ * Binds a { from, to } date-only string object to the shared range picker and
33
+ * renders the label, validation message, and read-only handling.
34
+ *
35
+ * @example
36
+ * const form = useForm<{ vacation?: { from?: string; to?: string } }>({
37
+ * defaultValues: { vacation: { from: "2025-12-24", to: "2025-12-31" } },
38
+ * });
39
+ *
40
+ * <FormDateRangePicker
41
+ * control={form.control}
42
+ * name="vacation"
43
+ * label="Vacation"
44
+ * slotProps={{ datepickerProps: { fromText: "Start", toText: "End" } }}
45
+ * />
46
+ */
47
+ declare const FormDateRangePicker: <TFieldValues extends FieldValues, TName extends FieldPathByValue<TFieldValues, DateOnlyRange | undefined>>(props: FormDateRangePickerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
18
48
  export { FormDateRangePicker, type FormDateRangePickerProps };
19
49
  //# sourceMappingURL=FormDateRangePicker.d.ts.map