sy-ui-lib 1.0.15 → 1.0.16
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.
|
@@ -1,3 +1,61 @@
|
|
|
1
1
|
import { DatePickerProps } from './DatePicker.types';
|
|
2
|
+
/**
|
|
3
|
+
* DatePicker Component
|
|
4
|
+
*
|
|
5
|
+
* A flexible and reusable date picker component that supports both single date
|
|
6
|
+
* selection and date range selection. It provides built-in constraints, default
|
|
7
|
+
* selections, and responsive sizing for different UI needs.
|
|
8
|
+
*
|
|
9
|
+
* Props:
|
|
10
|
+
* @param {string} [title="Date"] Label or placeholder text displayed when no date is selected.
|
|
11
|
+
* @param {"single" | "range"} [variant="single"] Determines the mode of the date picker.
|
|
12
|
+
* Use `"single"` for selecting one date or `"range"` for selecting a start and end date.
|
|
13
|
+
* @param {Date} [value] Selected date value (used in single mode).
|
|
14
|
+
* @param {(date: Date | undefined) => void} [onChange] Callback triggered when a single date is selected.
|
|
15
|
+
* @param {Date} [fromDate] Start date (used in range mode).
|
|
16
|
+
* @param {Date} [toDate] - End date (used in range mode).
|
|
17
|
+
* @param {(date: Date | undefined) => void} [onFromChange] Callback triggered when the "from" date changes.
|
|
18
|
+
* @param {(date: Date | undefined) => void} [onToChange] Callback triggered when the "to" date changes.
|
|
19
|
+
* @param {"sm" | "lg" | "full"} [size="sm"] - Controls the width of the date picker.
|
|
20
|
+
* `"sm"` for compact, `"lg"` for wider input, and `"full"` for full width.
|
|
21
|
+
* @param {"sm" | "lg"} [height="lg"] - Controls the height of the input field.
|
|
22
|
+
* @param {number} [maxPastDays] - Restricts selection to only the last N days from today.
|
|
23
|
+
* @param {number} [maxRangeDays] - Limits the maximum selectable range between "from" and "to" dates.
|
|
24
|
+
* @param {boolean} [currentSelected=false] - If true, automatically selects today's date
|
|
25
|
+
* (or default range if range mode is enabled).
|
|
26
|
+
* @param {number} [rangeDays=0] - Defines the default range in days (used when `currentSelected` is true).
|
|
27
|
+
* Example: If `rangeDays = 4`, then range will be from (today - 4 days) to today.
|
|
28
|
+
* @returns A responsive date picker component supporting both single and range selection modes.
|
|
29
|
+
* @example
|
|
30
|
+
* Single Date:
|
|
31
|
+
* <DatePicker
|
|
32
|
+
* title="Select Date"
|
|
33
|
+
* variant="single"
|
|
34
|
+
* value={date}
|
|
35
|
+
* onChange={(d) => setDate(d)}
|
|
36
|
+
* />
|
|
37
|
+
*
|
|
38
|
+
* Date Range:
|
|
39
|
+
* <DatePicker
|
|
40
|
+
* variant="range"
|
|
41
|
+
* fromDate={from}
|
|
42
|
+
* toDate={to}
|
|
43
|
+
* onFromChange={setFrom}
|
|
44
|
+
* onToChange={setTo}
|
|
45
|
+
* />
|
|
46
|
+
*
|
|
47
|
+
* Default Today:
|
|
48
|
+
* <DatePicker
|
|
49
|
+
* variant="single"
|
|
50
|
+
* currentSelected
|
|
51
|
+
* />
|
|
52
|
+
*
|
|
53
|
+
* Last N Days Range:
|
|
54
|
+
* <DatePicker
|
|
55
|
+
* variant="range"
|
|
56
|
+
* currentSelected
|
|
57
|
+
* rangeDays={7}
|
|
58
|
+
* />
|
|
59
|
+
*/
|
|
2
60
|
declare const DatePicker: React.FC<DatePickerProps>;
|
|
3
61
|
export default DatePicker;
|
|
@@ -17,11 +17,13 @@ export interface DatePickerProps {
|
|
|
17
17
|
onFromChange?: (date: Date | undefined) => void;
|
|
18
18
|
onToChange?: (date: Date | undefined) => void;
|
|
19
19
|
size?: DatePickerSize;
|
|
20
|
-
/**
|
|
20
|
+
/** height controlled from parent */
|
|
21
21
|
height?: "sm" | "lg";
|
|
22
22
|
/** Constraints */
|
|
23
23
|
maxPastDays?: number;
|
|
24
24
|
maxRangeDays?: number;
|
|
25
25
|
/** Default select */
|
|
26
26
|
currentSelected?: boolean;
|
|
27
|
+
/** Default select range */
|
|
28
|
+
rangeDays?: number;
|
|
27
29
|
}
|