@dreamstack-us/kaal 0.0.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/lib/module/components/CalendarGrid/CalendarGrid.js +112 -0
- package/lib/module/components/CalendarGrid/CalendarGrid.js.map +1 -0
- package/lib/module/components/CalendarGrid/CalendarGrid.styles.js +46 -0
- package/lib/module/components/CalendarGrid/CalendarGrid.styles.js.map +1 -0
- package/lib/module/components/CalendarGrid/DayCell.js +96 -0
- package/lib/module/components/CalendarGrid/DayCell.js.map +1 -0
- package/lib/module/components/CalendarGrid/index.js +4 -0
- package/lib/module/components/CalendarGrid/index.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.android.js +66 -0
- package/lib/module/components/DatePicker/DatePicker.android.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.ios.js +74 -0
- package/lib/module/components/DatePicker/DatePicker.ios.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.js +9 -0
- package/lib/module/components/DatePicker/DatePicker.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.styles.js +35 -0
- package/lib/module/components/DatePicker/DatePicker.styles.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.web.js +32 -0
- package/lib/module/components/DatePicker/DatePicker.web.js.map +1 -0
- package/lib/module/components/DatePicker/index.js +4 -0
- package/lib/module/components/DatePicker/index.js.map +1 -0
- package/lib/module/components/TimePicker/ClockFace.js +194 -0
- package/lib/module/components/TimePicker/ClockFace.js.map +1 -0
- package/lib/module/components/TimePicker/MaterialTimePicker.js +122 -0
- package/lib/module/components/TimePicker/MaterialTimePicker.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.android.js +77 -0
- package/lib/module/components/TimePicker/TimePicker.android.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.ios.js +83 -0
- package/lib/module/components/TimePicker/TimePicker.ios.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.js +34 -0
- package/lib/module/components/TimePicker/TimePicker.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.styles.js +180 -0
- package/lib/module/components/TimePicker/TimePicker.styles.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.web.js +37 -0
- package/lib/module/components/TimePicker/TimePicker.web.js.map +1 -0
- package/lib/module/components/TimePicker/TimeWheelPicker.js +178 -0
- package/lib/module/components/TimePicker/TimeWheelPicker.js.map +1 -0
- package/lib/module/components/TimePicker/index.js +7 -0
- package/lib/module/components/TimePicker/index.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelPicker.js +5 -0
- package/lib/module/components/WheelPicker/WheelPicker.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelPicker.styles.js +41 -0
- package/lib/module/components/WheelPicker/WheelPicker.styles.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelPicker.web.js +190 -0
- package/lib/module/components/WheelPicker/WheelPicker.web.js.map +1 -0
- package/lib/module/components/WheelPicker/index.js +4 -0
- package/lib/module/components/WheelPicker/index.js.map +1 -0
- package/lib/module/components/index.js +7 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/hooks/index.js +6 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useCalendar.js +44 -0
- package/lib/module/hooks/useCalendar.js.map +1 -0
- package/lib/module/hooks/useDatePicker.js +30 -0
- package/lib/module/hooks/useDatePicker.js.map +1 -0
- package/lib/module/hooks/useTimePicker.js +125 -0
- package/lib/module/hooks/useTimePicker.js.map +1 -0
- package/lib/module/index.js +22 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/types/datepicker.js +2 -0
- package/lib/module/types/datepicker.js.map +1 -0
- package/lib/module/types/index.js +5 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/types/timepicker.js +2 -0
- package/lib/module/types/timepicker.js.map +1 -0
- package/lib/module/unistyles.js +9 -0
- package/lib/module/unistyles.js.map +1 -0
- package/lib/module/utils/date.js +205 -0
- package/lib/module/utils/date.js.map +1 -0
- package/lib/module/utils/index.js +5 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/validation.js +61 -0
- package/lib/module/utils/validation.js.map +1 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts +12 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts.map +1 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts +45 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -0
- package/lib/typescript/components/CalendarGrid/DayCell.d.ts +12 -0
- package/lib/typescript/components/CalendarGrid/DayCell.d.ts.map +1 -0
- package/lib/typescript/components/CalendarGrid/index.d.ts +2 -0
- package/lib/typescript/components/CalendarGrid/index.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.android.d.ts +4 -0
- package/lib/typescript/components/DatePicker/DatePicker.android.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.d.ts +15 -0
- package/lib/typescript/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts +4 -0
- package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts +29 -0
- package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.web.d.ts +4 -0
- package/lib/typescript/components/DatePicker/DatePicker.web.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/index.d.ts +3 -0
- package/lib/typescript/components/DatePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/ClockFace.d.ts +12 -0
- package/lib/typescript/components/TimePicker/ClockFace.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts +12 -0
- package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.android.d.ts +4 -0
- package/lib/typescript/components/TimePicker/TimePicker.android.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.d.ts +29 -0
- package/lib/typescript/components/TimePicker/TimePicker.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts +4 -0
- package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts +168 -0
- package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.web.d.ts +10 -0
- package/lib/typescript/components/TimePicker/TimePicker.web.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts +11 -0
- package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/index.d.ts +6 -0
- package/lib/typescript/components/TimePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.d.ts +2 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts +40 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts +10 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/index.d.ts +2 -0
- package/lib/typescript/components/WheelPicker/index.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +5 -0
- package/lib/typescript/components/index.d.ts.map +1 -0
- package/lib/typescript/hooks/index.d.ts +4 -0
- package/lib/typescript/hooks/index.d.ts.map +1 -0
- package/lib/typescript/hooks/useCalendar.d.ts +10 -0
- package/lib/typescript/hooks/useCalendar.d.ts.map +1 -0
- package/lib/typescript/hooks/useDatePicker.d.ts +15 -0
- package/lib/typescript/hooks/useDatePicker.d.ts.map +1 -0
- package/lib/typescript/hooks/useTimePicker.d.ts +52 -0
- package/lib/typescript/hooks/useTimePicker.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +12 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/types/datepicker.d.ts +15 -0
- package/lib/typescript/types/datepicker.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +3 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/lib/typescript/types/timepicker.d.ts +54 -0
- package/lib/typescript/types/timepicker.d.ts.map +1 -0
- package/lib/typescript/unistyles.d.ts +3 -0
- package/lib/typescript/unistyles.d.ts.map +1 -0
- package/lib/typescript/utils/date.d.ts +94 -0
- package/lib/typescript/utils/date.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +3 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/utils/validation.d.ts +40 -0
- package/lib/typescript/utils/validation.d.ts.map +1 -0
- package/package.json +101 -0
- package/src/components/CalendarGrid/CalendarGrid.styles.ts +44 -0
- package/src/components/CalendarGrid/CalendarGrid.tsx +151 -0
- package/src/components/CalendarGrid/DayCell.tsx +108 -0
- package/src/components/CalendarGrid/index.ts +1 -0
- package/src/components/DatePicker/DatePicker.android.tsx +69 -0
- package/src/components/DatePicker/DatePicker.ios.tsx +78 -0
- package/src/components/DatePicker/DatePicker.styles.ts +35 -0
- package/src/components/DatePicker/DatePicker.tsx +21 -0
- package/src/components/DatePicker/DatePicker.web.tsx +36 -0
- package/src/components/DatePicker/index.ts +2 -0
- package/src/components/TimePicker/ClockFace.tsx +233 -0
- package/src/components/TimePicker/MaterialTimePicker.tsx +169 -0
- package/src/components/TimePicker/TimePicker.android.tsx +80 -0
- package/src/components/TimePicker/TimePicker.ios.tsx +88 -0
- package/src/components/TimePicker/TimePicker.styles.ts +209 -0
- package/src/components/TimePicker/TimePicker.tsx +35 -0
- package/src/components/TimePicker/TimePicker.web.tsx +35 -0
- package/src/components/TimePicker/TimeWheelPicker.tsx +211 -0
- package/src/components/TimePicker/index.ts +5 -0
- package/src/components/WheelPicker/WheelPicker.styles.ts +39 -0
- package/src/components/WheelPicker/WheelPicker.tsx +2 -0
- package/src/components/WheelPicker/WheelPicker.web.tsx +237 -0
- package/src/components/WheelPicker/index.ts +1 -0
- package/src/components/index.ts +11 -0
- package/src/hooks/index.ts +9 -0
- package/src/hooks/useCalendar.ts +59 -0
- package/src/hooks/useDatePicker.ts +40 -0
- package/src/hooks/useTimePicker.ts +152 -0
- package/src/index.ts +77 -0
- package/src/types/datepicker.ts +17 -0
- package/src/types/index.ts +2 -0
- package/src/types/timepicker.ts +59 -0
- package/src/unistyles.ts +6 -0
- package/src/utils/date.ts +217 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/validation.ts +76 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Date utilities using native Date and Intl APIs
|
|
5
|
+
* Replaces @js-temporal/polyfill for lighter bundle size
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Converts a Date to ISO date string (YYYY-MM-DD)
|
|
10
|
+
*/
|
|
11
|
+
export const toISODateString = date => {
|
|
12
|
+
const year = date.getUTCFullYear();
|
|
13
|
+
const month = String(date.getUTCMonth() + 1).padStart(2, '0');
|
|
14
|
+
const day = String(date.getUTCDate()).padStart(2, '0');
|
|
15
|
+
return `${year}-${month}-${day}`;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Converts a Date to ISO datetime string with timezone
|
|
20
|
+
*/
|
|
21
|
+
export const toISODateTimeString = (date, timeZone) => {
|
|
22
|
+
const tz = timeZone ?? getUserTimezone();
|
|
23
|
+
const formatter = new Intl.DateTimeFormat('en-CA', {
|
|
24
|
+
timeZone: tz,
|
|
25
|
+
year: 'numeric',
|
|
26
|
+
month: '2-digit',
|
|
27
|
+
day: '2-digit',
|
|
28
|
+
hour: '2-digit',
|
|
29
|
+
minute: '2-digit',
|
|
30
|
+
second: '2-digit',
|
|
31
|
+
hour12: false
|
|
32
|
+
});
|
|
33
|
+
const parts = formatter.formatToParts(date);
|
|
34
|
+
const get = type => parts.find(p => p.type === type)?.value ?? '';
|
|
35
|
+
return `${get('year')}-${get('month')}-${get('day')}T${get('hour')}:${get('minute')}:${get('second')}`;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Parses an ISO date string (YYYY-MM-DD) to Date
|
|
40
|
+
*/
|
|
41
|
+
export const parseISODate = iso => {
|
|
42
|
+
const parts = iso.split('-').map(Number);
|
|
43
|
+
return new Date(Date.UTC(parts[0], parts[1] - 1, parts[2]));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated Alias for parseISODate for backward compatibility
|
|
48
|
+
*/
|
|
49
|
+
export const fromISODateString = parseISODate;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Parses an ISO datetime string to Date
|
|
53
|
+
*/
|
|
54
|
+
export const parseISODateTime = iso => {
|
|
55
|
+
return new Date(iso);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @deprecated Alias for parseISODateTime for backward compatibility
|
|
60
|
+
*/
|
|
61
|
+
export const fromISODateTimeString = parseISODateTime;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Gets all dates in a range (inclusive)
|
|
65
|
+
*/
|
|
66
|
+
export const getDateRange = (start, end) => {
|
|
67
|
+
const dates = [];
|
|
68
|
+
const current = new Date(start.getTime());
|
|
69
|
+
while (current.getTime() <= end.getTime()) {
|
|
70
|
+
dates.push(new Date(current.getTime()));
|
|
71
|
+
current.setUTCDate(current.getUTCDate() + 1);
|
|
72
|
+
}
|
|
73
|
+
return dates;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Checks if a date is within the given range
|
|
78
|
+
*/
|
|
79
|
+
export const isDateInRange = (date, minDate, maxDate) => {
|
|
80
|
+
const time = date.getTime();
|
|
81
|
+
if (minDate && time < minDate.getTime()) return false;
|
|
82
|
+
if (maxDate && time > maxDate.getTime()) return false;
|
|
83
|
+
return true;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Gets the user's timezone
|
|
88
|
+
*/
|
|
89
|
+
export const getUserTimezone = () => {
|
|
90
|
+
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Adds days to a date
|
|
95
|
+
*/
|
|
96
|
+
export const addDays = (date, days) => {
|
|
97
|
+
const result = new Date(date.getTime());
|
|
98
|
+
result.setUTCDate(result.getUTCDate() + days);
|
|
99
|
+
return result;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Adds months to a date, handling month overflow
|
|
104
|
+
*/
|
|
105
|
+
export const addMonths = (date, months) => {
|
|
106
|
+
const result = new Date(date.getTime());
|
|
107
|
+
const dayOfMonth = result.getUTCDate();
|
|
108
|
+
result.setUTCDate(1);
|
|
109
|
+
result.setUTCMonth(result.getUTCMonth() + months);
|
|
110
|
+
const daysInMonth = new Date(Date.UTC(result.getUTCFullYear(), result.getUTCMonth() + 1, 0)).getUTCDate();
|
|
111
|
+
result.setUTCDate(Math.min(dayOfMonth, daysInMonth));
|
|
112
|
+
return result;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Compares two dates
|
|
117
|
+
* @returns negative if a < b, positive if a > b, 0 if equal
|
|
118
|
+
*/
|
|
119
|
+
export const compareDates = (a, b) => {
|
|
120
|
+
return a.getTime() - b.getTime();
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Checks if two dates are the same day
|
|
125
|
+
*/
|
|
126
|
+
export const isSameDay = (a, b) => {
|
|
127
|
+
return toISODateString(a) === toISODateString(b);
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Checks if two dates are the same month
|
|
132
|
+
*/
|
|
133
|
+
export const isSameMonth = (a, b) => {
|
|
134
|
+
return a.getUTCFullYear() === b.getUTCFullYear() && a.getUTCMonth() === b.getUTCMonth();
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Gets all days in a month
|
|
139
|
+
*/
|
|
140
|
+
export const getMonthDays = (year, month) => {
|
|
141
|
+
const days = [];
|
|
142
|
+
const daysInMonth = new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
|
|
143
|
+
for (let day = 1; day <= daysInMonth; day++) {
|
|
144
|
+
days.push(new Date(Date.UTC(year, month, day)));
|
|
145
|
+
}
|
|
146
|
+
return days;
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Gets the first day of the month
|
|
151
|
+
*/
|
|
152
|
+
export const getFirstDayOfMonth = date => {
|
|
153
|
+
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1));
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Gets the last day of the month
|
|
158
|
+
*/
|
|
159
|
+
export const getLastDayOfMonth = date => {
|
|
160
|
+
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth() + 1, 0));
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Gets the day of week (0 = Sunday, 6 = Saturday)
|
|
165
|
+
*/
|
|
166
|
+
export const getDayOfWeek = date => {
|
|
167
|
+
return date.getUTCDay();
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Formats a month name
|
|
172
|
+
*/
|
|
173
|
+
export const formatMonth = (date, locale = 'en-US', style = 'long') => {
|
|
174
|
+
return new Intl.DateTimeFormat(locale, {
|
|
175
|
+
month: style
|
|
176
|
+
}).format(date);
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Formats a weekday name
|
|
181
|
+
*/
|
|
182
|
+
export const formatWeekday = (date, locale = 'en-US', style = 'short') => {
|
|
183
|
+
return new Intl.DateTimeFormat(locale, {
|
|
184
|
+
weekday: style
|
|
185
|
+
}).format(date);
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Formats year and month
|
|
190
|
+
*/
|
|
191
|
+
export const formatYearMonth = (date, locale = 'en-US') => {
|
|
192
|
+
return new Intl.DateTimeFormat(locale, {
|
|
193
|
+
month: 'long',
|
|
194
|
+
year: 'numeric'
|
|
195
|
+
}).format(date);
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Gets today's date at midnight UTC
|
|
200
|
+
*/
|
|
201
|
+
export const today = () => {
|
|
202
|
+
const now = new Date();
|
|
203
|
+
return new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));
|
|
204
|
+
};
|
|
205
|
+
//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["toISODateString","date","year","getUTCFullYear","month","String","getUTCMonth","padStart","day","getUTCDate","toISODateTimeString","timeZone","tz","getUserTimezone","formatter","Intl","DateTimeFormat","hour","minute","second","hour12","parts","formatToParts","get","type","find","p","value","parseISODate","iso","split","map","Number","Date","UTC","fromISODateString","parseISODateTime","fromISODateTimeString","getDateRange","start","end","dates","current","getTime","push","setUTCDate","isDateInRange","minDate","maxDate","time","resolvedOptions","addDays","days","result","addMonths","months","dayOfMonth","setUTCMonth","daysInMonth","Math","min","compareDates","a","b","isSameDay","isSameMonth","getMonthDays","getFirstDayOfMonth","getLastDayOfMonth","getDayOfWeek","getUTCDay","formatMonth","locale","style","format","formatWeekday","weekday","formatYearMonth","today","now","getFullYear","getMonth","getDate"],"sourceRoot":"../../../src","sources":["utils/date.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,cAAc,WAAQ;AACtB,cAAc,iBAAc","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as v from 'valibot';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Helper to parse ISO date string parts
|
|
7
|
+
* Assumes input is already validated by regex pattern
|
|
8
|
+
*/
|
|
9
|
+
const parseISOParts = val => {
|
|
10
|
+
const parts = val.split('-').map(Number);
|
|
11
|
+
return parts;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Validates an ISO 8601 date string (YYYY-MM-DD)
|
|
16
|
+
*/
|
|
17
|
+
export const isoDateSchema = v.pipe(v.string(), v.regex(/^\d{4}-\d{2}-\d{2}$/, 'Must be in YYYY-MM-DD format'), v.check(val => {
|
|
18
|
+
const [year, month, day] = parseISOParts(val);
|
|
19
|
+
const date = new Date(Date.UTC(year, month - 1, day));
|
|
20
|
+
return date.getUTCFullYear() === year && date.getUTCMonth() === month - 1 && date.getUTCDate() === day;
|
|
21
|
+
}, 'Invalid ISO 8601 date format'));
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Validates an ISO 8601 datetime string with timezone offset
|
|
25
|
+
*/
|
|
26
|
+
export const isoDateTimeSchema = v.pipe(v.string(), v.isoTimestamp());
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Validates a date range where start <= end
|
|
30
|
+
*/
|
|
31
|
+
export const dateRangeSchema = v.pipe(v.object({
|
|
32
|
+
start: isoDateSchema,
|
|
33
|
+
end: isoDateSchema
|
|
34
|
+
}), v.check(data => {
|
|
35
|
+
return data.start <= data.end;
|
|
36
|
+
}, 'Start date must be before or equal to end date'));
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Validates date picker configuration
|
|
40
|
+
*/
|
|
41
|
+
export const datePickerValueSchema = v.object({
|
|
42
|
+
selectedDate: isoDateSchema,
|
|
43
|
+
minDate: v.optional(isoDateSchema),
|
|
44
|
+
maxDate: v.optional(isoDateSchema),
|
|
45
|
+
disabledDates: v.optional(v.array(isoDateSchema))
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Parses an ISO date string to a Date object
|
|
50
|
+
* @deprecated Use parseISODate from date utils instead. Kept for backward compatibility.
|
|
51
|
+
*/
|
|
52
|
+
export const dateSchema = v.pipe(v.string(), v.regex(/^\d{4}-\d{2}-\d{2}$/, 'Must be in YYYY-MM-DD format'), v.transform(val => {
|
|
53
|
+
const [year, month, day] = parseISOParts(val);
|
|
54
|
+
return new Date(Date.UTC(year, month - 1, day));
|
|
55
|
+
}));
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Alias for dateSchema for backward compatibility
|
|
59
|
+
*/
|
|
60
|
+
export const temporalDateSchema = dateSchema;
|
|
61
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["v","parseISOParts","val","parts","split","map","Number","isoDateSchema","pipe","string","regex","check","year","month","day","date","Date","UTC","getUTCFullYear","getUTCMonth","getUTCDate","isoDateTimeSchema","isoTimestamp","dateRangeSchema","object","start","end","data","datePickerValueSchema","selectedDate","minDate","optional","maxDate","disabledDates","array","dateSchema","transform","temporalDateSchema"],"sourceRoot":"../../../src","sources":["utils/validation.ts"],"mappings":";;AAAA,OAAO,KAAKA,CAAC,MAAM,SAAS;;AAE5B;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,GAAW,IAA+B;EAC/D,MAAMC,KAAK,GAAGD,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAA6B;EACpE,OAAOH,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMI,aAAa,GAAGP,CAAC,CAACQ,IAAI,CACjCR,CAAC,CAACS,MAAM,CAAC,CAAC,EACVT,CAAC,CAACU,KAAK,CAAC,qBAAqB,EAAE,8BAA8B,CAAC,EAC9DV,CAAC,CAACW,KAAK,CAAET,GAAG,IAAK;EACf,MAAM,CAACU,IAAI,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGb,aAAa,CAACC,GAAG,CAAC;EAC7C,MAAMa,IAAI,GAAG,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,CAACL,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,GAAG,CAAC,CAAC;EACrD,OACEC,IAAI,CAACG,cAAc,CAAC,CAAC,KAAKN,IAAI,IAC9BG,IAAI,CAACI,WAAW,CAAC,CAAC,KAAKN,KAAK,GAAG,CAAC,IAChCE,IAAI,CAACK,UAAU,CAAC,CAAC,KAAKN,GAAG;AAE7B,CAAC,EAAE,8BAA8B,CACnC,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMO,iBAAiB,GAAGrB,CAAC,CAACQ,IAAI,CAACR,CAAC,CAACS,MAAM,CAAC,CAAC,EAAET,CAAC,CAACsB,YAAY,CAAC,CAAC,CAAC;;AAErE;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAGvB,CAAC,CAACQ,IAAI,CACnCR,CAAC,CAACwB,MAAM,CAAC;EACPC,KAAK,EAAElB,aAAa;EACpBmB,GAAG,EAAEnB;AACP,CAAC,CAAC,EACFP,CAAC,CAACW,KAAK,CAAEgB,IAAI,IAAK;EAChB,OAAOA,IAAI,CAACF,KAAK,IAAIE,IAAI,CAACD,GAAG;AAC/B,CAAC,EAAE,gDAAgD,CACrD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAME,qBAAqB,GAAG5B,CAAC,CAACwB,MAAM,CAAC;EAC5CK,YAAY,EAAEtB,aAAa;EAC3BuB,OAAO,EAAE9B,CAAC,CAAC+B,QAAQ,CAACxB,aAAa,CAAC;EAClCyB,OAAO,EAAEhC,CAAC,CAAC+B,QAAQ,CAACxB,aAAa,CAAC;EAClC0B,aAAa,EAAEjC,CAAC,CAAC+B,QAAQ,CAAC/B,CAAC,CAACkC,KAAK,CAAC3B,aAAa,CAAC;AAClD,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,OAAO,MAAM4B,UAAU,GAAGnC,CAAC,CAACQ,IAAI,CAC9BR,CAAC,CAACS,MAAM,CAAC,CAAC,EACVT,CAAC,CAACU,KAAK,CAAC,qBAAqB,EAAE,8BAA8B,CAAC,EAC9DV,CAAC,CAACoC,SAAS,CAAElC,GAAG,IAAK;EACnB,MAAM,CAACU,IAAI,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGb,aAAa,CAACC,GAAG,CAAC;EAC7C,OAAO,IAAIc,IAAI,CAACA,IAAI,CAACC,GAAG,CAACL,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,GAAG,CAAC,CAAC;AACjD,CAAC,CACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMuB,kBAAkB,GAAGF,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface CalendarGridProps {
|
|
3
|
+
value: Date;
|
|
4
|
+
onChange: (date: Date) => void;
|
|
5
|
+
minDate?: Date;
|
|
6
|
+
maxDate?: Date;
|
|
7
|
+
disabledDates?: Date[];
|
|
8
|
+
themeMode: 'ios' | 'android' | 'custom';
|
|
9
|
+
}
|
|
10
|
+
export declare const CalendarGrid: React.FC<CalendarGridProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=CalendarGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarGrid/CalendarGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAe1D,UAAU,iBAAiB;IACzB,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,SAAS,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;CACzC;AAmCD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2FpD,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
container: {
|
|
3
|
+
backgroundColor: "#FFFFFF" | "#121212";
|
|
4
|
+
borderRadius: 16;
|
|
5
|
+
padding: number;
|
|
6
|
+
};
|
|
7
|
+
header: {
|
|
8
|
+
flexDirection: "row";
|
|
9
|
+
justifyContent: "space-between";
|
|
10
|
+
alignItems: "center";
|
|
11
|
+
marginBottom: number;
|
|
12
|
+
paddingHorizontal: number;
|
|
13
|
+
};
|
|
14
|
+
navButton: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
justifyContent: "center";
|
|
18
|
+
alignItems: "center";
|
|
19
|
+
borderRadius: 8;
|
|
20
|
+
};
|
|
21
|
+
navText: {
|
|
22
|
+
fontSize: number;
|
|
23
|
+
color: "#1E88E5" | "#4DA6FF";
|
|
24
|
+
fontWeight: "600";
|
|
25
|
+
};
|
|
26
|
+
monthTitle: {
|
|
27
|
+
fontSize: 18;
|
|
28
|
+
fontWeight: "600";
|
|
29
|
+
color: "#FFFFFF" | "#212121";
|
|
30
|
+
};
|
|
31
|
+
weekDays: {
|
|
32
|
+
flexDirection: "row";
|
|
33
|
+
marginBottom: number;
|
|
34
|
+
};
|
|
35
|
+
weekDayText: {
|
|
36
|
+
flex: number;
|
|
37
|
+
textAlign: "center";
|
|
38
|
+
fontSize: 12;
|
|
39
|
+
fontWeight: "500";
|
|
40
|
+
color: "#616161" | "#E0E0E0";
|
|
41
|
+
};
|
|
42
|
+
} & {
|
|
43
|
+
useVariants: (variants: never) => void;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=CalendarGrid.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarGrid.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarGrid/CalendarGrid.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyChB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
interface DayCellProps {
|
|
3
|
+
date: Date | null;
|
|
4
|
+
isSelected: boolean;
|
|
5
|
+
isToday: boolean;
|
|
6
|
+
isDisabled: boolean;
|
|
7
|
+
isWeekend: boolean;
|
|
8
|
+
onPress?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const DayCell: React.FC<DayCellProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=DayCell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DayCell.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarGrid/DayCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAqDD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAwC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarGrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.android.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePicker.android.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAIrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA6BxD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmCpD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { DatePickerMode } from '../../types';
|
|
3
|
+
export interface KaalDatePickerProps {
|
|
4
|
+
value: Date;
|
|
5
|
+
onChange: (date: Date) => void;
|
|
6
|
+
mode?: DatePickerMode;
|
|
7
|
+
theme?: 'native' | 'ios' | 'android' | 'custom';
|
|
8
|
+
variant?: 'wheel' | 'calendar' | 'compact';
|
|
9
|
+
minDate?: Date;
|
|
10
|
+
maxDate?: Date;
|
|
11
|
+
disabledDates?: Date[];
|
|
12
|
+
locale?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const DatePicker: React.FC<KaalDatePickerProps>;
|
|
15
|
+
//# sourceMappingURL=DatePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAGpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.ios.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePicker.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAIrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAgCxD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyCpD,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type UnistylesVariants } from 'react-native-unistyles';
|
|
2
|
+
export declare const styles: {
|
|
3
|
+
container: {
|
|
4
|
+
padding: number;
|
|
5
|
+
} & {
|
|
6
|
+
padding: number;
|
|
7
|
+
} & {
|
|
8
|
+
padding: number;
|
|
9
|
+
} & {
|
|
10
|
+
backgroundColor: "#FFFFFF" | "#121212";
|
|
11
|
+
borderRadius: 16;
|
|
12
|
+
overflow: "hidden";
|
|
13
|
+
};
|
|
14
|
+
backdrop: {
|
|
15
|
+
backdropFilter: string;
|
|
16
|
+
WebkitBackdropFilter: string;
|
|
17
|
+
backgroundColor: string;
|
|
18
|
+
} | {
|
|
19
|
+
backgroundColor: "#FAFAFA" | "#1E1E1E";
|
|
20
|
+
backdropFilter?: undefined;
|
|
21
|
+
WebkitBackdropFilter?: undefined;
|
|
22
|
+
};
|
|
23
|
+
} & {
|
|
24
|
+
useVariants: (variants: {
|
|
25
|
+
size?: "compact" | "large" | undefined;
|
|
26
|
+
}) => void;
|
|
27
|
+
};
|
|
28
|
+
export type DatePickerVariants = UnistylesVariants<typeof styles>;
|
|
29
|
+
//# sourceMappingURL=DatePicker.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePicker.styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhB,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.web.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePicker.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8BpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { ClockMode, TimeValue } from '../../types/timepicker';
|
|
3
|
+
interface ClockFaceProps {
|
|
4
|
+
value: TimeValue;
|
|
5
|
+
onChange: (time: TimeValue) => void;
|
|
6
|
+
mode: ClockMode;
|
|
7
|
+
onModeChange?: (mode: ClockMode) => void;
|
|
8
|
+
is24Hour?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const ClockFace: React.FC<ClockFaceProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=ClockFace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClockFace.d.ts","sourceRoot":"","sources":["../../../../src/components/TimePicker/ClockFace.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,SAAS,EAAc,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAuC/E,UAAU,cAAc;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgL9C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { TimeValue } from '../../types/timepicker';
|
|
3
|
+
interface MaterialTimePickerProps {
|
|
4
|
+
value: TimeValue;
|
|
5
|
+
onChange: (time: TimeValue) => void;
|
|
6
|
+
is24Hour?: boolean;
|
|
7
|
+
onCancel?: () => void;
|
|
8
|
+
onConfirm?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const MaterialTimePicker: React.FC<MaterialTimePickerProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=MaterialTimePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialTimePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/TimePicker/MaterialTimePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAyB,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI/E,UAAU,uBAAuB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsJhE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.android.d.ts","sourceRoot":"","sources":["../../../../src/components/TimePicker/TimePicker.android.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,wBAAwB,CAAC;AA6CzE,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgChD,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { TimePickerProps } from '../../types/timepicker';
|
|
3
|
+
export type { TimePickerProps, TimeValue } from '../../types/timepicker';
|
|
4
|
+
/**
|
|
5
|
+
* TimePicker Component
|
|
6
|
+
*
|
|
7
|
+
* A cross-platform time picker with support for iOS wheel style and Material clock face.
|
|
8
|
+
*
|
|
9
|
+
* Platform-specific implementations are handled by Metro's file resolution:
|
|
10
|
+
* - iOS: Uses @expo/ui DateTimePicker in time mode, falls back to TimeWheelPicker
|
|
11
|
+
* - Android: Uses @expo/ui DateTimePicker or MaterialTimePicker with ClockFace
|
|
12
|
+
* - Web: TimeWheelPicker for iOS theme, MaterialTimePicker for Android theme
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* import { TimePicker } from '@dreamstack-us/kaal';
|
|
17
|
+
*
|
|
18
|
+
* const [time, setTime] = useState({ hours: 9, minutes: 30 });
|
|
19
|
+
*
|
|
20
|
+
* <TimePicker
|
|
21
|
+
* value={time}
|
|
22
|
+
* onChange={setTime}
|
|
23
|
+
* theme="ios"
|
|
24
|
+
* is24Hour={false}
|
|
25
|
+
* />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare const TimePicker: React.FC<TimePickerProps>;
|
|
29
|
+
//# sourceMappingURL=TimePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/TimePicker/TimePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.ios.d.ts","sourceRoot":"","sources":["../../../../src/components/TimePicker/TimePicker.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,wBAAwB,CAAC;AA+CzE,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsChD,CAAC"}
|