@keenthemes/ktui 1.0.29 → 1.1.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.
Files changed (90) hide show
  1. package/dist/ktui.js +3942 -8634
  2. package/dist/ktui.min.js +1 -1
  3. package/dist/ktui.min.js.map +1 -1
  4. package/dist/styles.css +0 -196
  5. package/lib/cjs/components/datatable/__tests__/pagination-reset.test.js +596 -0
  6. package/lib/cjs/components/datatable/__tests__/pagination-reset.test.js.map +1 -0
  7. package/lib/cjs/components/datatable/__tests__/race-conditions.test.js +548 -0
  8. package/lib/cjs/components/datatable/__tests__/race-conditions.test.js.map +1 -0
  9. package/lib/cjs/components/datatable/__tests__/setup.js +63 -0
  10. package/lib/cjs/components/datatable/__tests__/setup.js.map +1 -0
  11. package/lib/cjs/components/datatable/datatable.js +92 -30
  12. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  13. package/lib/cjs/index.js +1 -5
  14. package/lib/cjs/index.js.map +1 -1
  15. package/lib/esm/components/datatable/__tests__/pagination-reset.test.js +594 -0
  16. package/lib/esm/components/datatable/__tests__/pagination-reset.test.js.map +1 -0
  17. package/lib/esm/components/datatable/__tests__/race-conditions.test.js +546 -0
  18. package/lib/esm/components/datatable/__tests__/race-conditions.test.js.map +1 -0
  19. package/lib/esm/components/datatable/__tests__/setup.js +58 -0
  20. package/lib/esm/components/datatable/__tests__/setup.js.map +1 -0
  21. package/lib/esm/components/datatable/datatable.js +92 -30
  22. package/lib/esm/components/datatable/datatable.js.map +1 -1
  23. package/lib/esm/index.js +0 -3
  24. package/lib/esm/index.js.map +1 -1
  25. package/package.json +9 -2
  26. package/src/components/datatable/__tests__/pagination-reset.test.ts +657 -0
  27. package/src/components/datatable/__tests__/race-conditions.test.ts +455 -0
  28. package/src/components/datatable/__tests__/setup.ts +67 -0
  29. package/src/components/datatable/datatable.ts +66 -11
  30. package/src/components/input/input.css +0 -1
  31. package/src/components/select/select.css +0 -1
  32. package/src/components/textarea/textarea.css +0 -1
  33. package/src/index.ts +0 -4
  34. package/styles.css +0 -1
  35. package/lib/cjs/components/datepicker/calendar.js +0 -1061
  36. package/lib/cjs/components/datepicker/calendar.js.map +0 -1
  37. package/lib/cjs/components/datepicker/config.js +0 -332
  38. package/lib/cjs/components/datepicker/config.js.map +0 -1
  39. package/lib/cjs/components/datepicker/datepicker.js +0 -949
  40. package/lib/cjs/components/datepicker/datepicker.js.map +0 -1
  41. package/lib/cjs/components/datepicker/dropdown.js +0 -635
  42. package/lib/cjs/components/datepicker/dropdown.js.map +0 -1
  43. package/lib/cjs/components/datepicker/events.js +0 -129
  44. package/lib/cjs/components/datepicker/events.js.map +0 -1
  45. package/lib/cjs/components/datepicker/index.js +0 -13
  46. package/lib/cjs/components/datepicker/index.js.map +0 -1
  47. package/lib/cjs/components/datepicker/keyboard.js +0 -536
  48. package/lib/cjs/components/datepicker/keyboard.js.map +0 -1
  49. package/lib/cjs/components/datepicker/locales.js +0 -78
  50. package/lib/cjs/components/datepicker/locales.js.map +0 -1
  51. package/lib/cjs/components/datepicker/templates.js +0 -403
  52. package/lib/cjs/components/datepicker/templates.js.map +0 -1
  53. package/lib/cjs/components/datepicker/types.js +0 -23
  54. package/lib/cjs/components/datepicker/types.js.map +0 -1
  55. package/lib/cjs/components/datepicker/utils.js +0 -524
  56. package/lib/cjs/components/datepicker/utils.js.map +0 -1
  57. package/lib/esm/components/datepicker/calendar.js +0 -1058
  58. package/lib/esm/components/datepicker/calendar.js.map +0 -1
  59. package/lib/esm/components/datepicker/config.js +0 -329
  60. package/lib/esm/components/datepicker/config.js.map +0 -1
  61. package/lib/esm/components/datepicker/datepicker.js +0 -946
  62. package/lib/esm/components/datepicker/datepicker.js.map +0 -1
  63. package/lib/esm/components/datepicker/dropdown.js +0 -632
  64. package/lib/esm/components/datepicker/dropdown.js.map +0 -1
  65. package/lib/esm/components/datepicker/events.js +0 -126
  66. package/lib/esm/components/datepicker/events.js.map +0 -1
  67. package/lib/esm/components/datepicker/index.js +0 -9
  68. package/lib/esm/components/datepicker/index.js.map +0 -1
  69. package/lib/esm/components/datepicker/keyboard.js +0 -533
  70. package/lib/esm/components/datepicker/keyboard.js.map +0 -1
  71. package/lib/esm/components/datepicker/locales.js +0 -74
  72. package/lib/esm/components/datepicker/locales.js.map +0 -1
  73. package/lib/esm/components/datepicker/templates.js +0 -390
  74. package/lib/esm/components/datepicker/templates.js.map +0 -1
  75. package/lib/esm/components/datepicker/types.js +0 -20
  76. package/lib/esm/components/datepicker/types.js.map +0 -1
  77. package/lib/esm/components/datepicker/utils.js +0 -508
  78. package/lib/esm/components/datepicker/utils.js.map +0 -1
  79. package/src/components/datepicker/calendar.ts +0 -1397
  80. package/src/components/datepicker/config.ts +0 -368
  81. package/src/components/datepicker/datepicker.css +0 -7
  82. package/src/components/datepicker/datepicker.ts +0 -1287
  83. package/src/components/datepicker/dropdown.ts +0 -757
  84. package/src/components/datepicker/events.ts +0 -149
  85. package/src/components/datepicker/index.ts +0 -10
  86. package/src/components/datepicker/keyboard.ts +0 -646
  87. package/src/components/datepicker/locales.ts +0 -80
  88. package/src/components/datepicker/templates.ts +0 -792
  89. package/src/components/datepicker/types.ts +0 -154
  90. package/src/components/datepicker/utils.ts +0 -631
@@ -1,524 +0,0 @@
1
- "use strict";
2
- /**
3
- * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
4
- * Copyright 2025 by Keenthemes Inc
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.formatDate = formatDate;
8
- exports.parseDate = parseDate;
9
- exports.isValidDate = isValidDate;
10
- exports.getDaysInMonth = getDaysInMonth;
11
- exports.getFirstDayOfMonth = getFirstDayOfMonth;
12
- exports.padZero = padZero;
13
- exports.getLocaleConfig = getLocaleConfig;
14
- exports.isDateBetween = isDateBetween;
15
- exports.isSameDay = isSameDay;
16
- exports.isWeekend = isWeekend;
17
- exports.isDateDisabled = isDateDisabled;
18
- exports.generateCalendarMonth = generateCalendarMonth;
19
- exports.isDateEqual = isDateEqual;
20
- exports.isDateInRange = isDateInRange;
21
- /**
22
- * Format a date according to the provided format string
23
- *
24
- * @param date - Date to format
25
- * @param format - Format string
26
- * @param config - Datepicker configuration
27
- * @returns Formatted date string
28
- */
29
- function formatDate(date, format, config) {
30
- if (!date || !(date instanceof Date) || isNaN(date.getTime())) {
31
- return '';
32
- }
33
- var locale = getLocaleConfig(config);
34
- var isLeadingZero = config.forceLeadingZero;
35
- // Replace year tokens
36
- var year = date.getFullYear();
37
- format = format.replace(/yyyy/g, year.toString());
38
- format = format.replace(/yy/g, year.toString().slice(-2));
39
- // Replace month tokens
40
- var month = date.getMonth();
41
- var monthNum = month + 1;
42
- format = format.replace(/MMMM/g, locale.monthNames[month]);
43
- format = format.replace(/MMM/g, locale.monthNamesShort[month]);
44
- format = format.replace(/MM/g, isLeadingZero ? padZero(monthNum) : monthNum.toString());
45
- format = format.replace(/M/g, monthNum.toString());
46
- // Replace day tokens
47
- var day = date.getDate();
48
- format = format.replace(/dd/g, isLeadingZero ? padZero(day) : day.toString());
49
- format = format.replace(/d/g, day.toString());
50
- // Replace day of week tokens
51
- var dayOfWeek = date.getDay();
52
- format = format.replace(/EEEE/g, locale.dayNames[dayOfWeek]);
53
- format = format.replace(/EEE/g, locale.dayNamesShort[dayOfWeek]);
54
- format = format.replace(/E/g, locale.dayNamesMin[dayOfWeek]);
55
- // Replace time tokens if time is enabled
56
- if (config.enableTime) {
57
- var hours = date.getHours();
58
- var minutes = date.getMinutes();
59
- var seconds = date.getSeconds();
60
- // 24-hour format
61
- format = format.replace(/HH/g, isLeadingZero ? padZero(hours) : hours.toString());
62
- format = format.replace(/H/g, hours.toString());
63
- // 12-hour format
64
- var hours12 = hours % 12 || 12;
65
- format = format.replace(/hh/g, isLeadingZero ? padZero(hours12) : hours12.toString());
66
- format = format.replace(/h/g, hours12.toString());
67
- // Minutes and seconds
68
- format = format.replace(/mm/g, isLeadingZero ? padZero(minutes) : minutes.toString());
69
- format = format.replace(/m/g, minutes.toString());
70
- format = format.replace(/ss/g, isLeadingZero ? padZero(seconds) : seconds.toString());
71
- format = format.replace(/s/g, seconds.toString());
72
- // AM/PM
73
- var ampm = hours >= 12 ? config.pm : config.am;
74
- format = format.replace(/A/g, ampm);
75
- format = format.replace(/a/g, ampm.toLowerCase());
76
- // Timezone (simplified implementation)
77
- var timezoneOffset = date.getTimezoneOffset();
78
- var timezoneOffsetHours = Math.abs(Math.floor(timezoneOffset / 60));
79
- var timezoneOffsetMinutes = Math.abs(timezoneOffset % 60);
80
- var timezoneSign = timezoneOffset > 0 ? '-' : '+';
81
- var formattedTimezone = "".concat(timezoneSign).concat(padZero(timezoneOffsetHours), ":").concat(padZero(timezoneOffsetMinutes));
82
- format = format.replace(/ZZZ/g, formattedTimezone);
83
- }
84
- return format;
85
- }
86
- /**
87
- * Parse a date string according to the provided format
88
- *
89
- * @param dateStr - Date string to parse
90
- * @param format - Format string
91
- * @param config - Datepicker configuration
92
- * @returns Parsed date or null if invalid
93
- */
94
- function parseDate(dateStr, format, config) {
95
- if (!dateStr)
96
- return null;
97
- // Handle natural language dates if enabled
98
- if (config.enableNaturalLanguage) {
99
- var naturalDate = parseNaturalLanguageDate(dateStr);
100
- if (naturalDate)
101
- return naturalDate;
102
- }
103
- // Create a new date object to populate
104
- var date = new Date();
105
- date.setHours(0, 0, 0, 0);
106
- // Extract parts from the format
107
- var formatParts = {};
108
- var formatRegex = format
109
- .replace(/(\w)(\1*)/g, function (_, p1, p2) {
110
- var length = p1.length + p2.length;
111
- var token = '';
112
- switch (p1) {
113
- case 'y':
114
- token = length > 2 ? 'yyyy' : 'yy';
115
- break;
116
- case 'M':
117
- token = ['M', 'MM', 'MMM', 'MMMM'][Math.min(length - 1, 3)];
118
- break;
119
- case 'd':
120
- token = length > 1 ? 'dd' : 'd';
121
- break;
122
- case 'E':
123
- token = length > 3 ? 'EEEE' : length > 1 ? 'EEE' : 'E';
124
- break;
125
- case 'h':
126
- case 'H':
127
- token = length > 1 ? p1 + p1 : p1;
128
- break;
129
- case 'm':
130
- token = length > 1 ? 'mm' : 'm';
131
- break;
132
- case 's':
133
- token = length > 1 ? 'ss' : 's';
134
- break;
135
- case 'a':
136
- case 'A':
137
- token = p1;
138
- break;
139
- default:
140
- token = p1.repeat(length);
141
- }
142
- formatParts[token] = '';
143
- return "(\\d+|[a-zA-Z]+)";
144
- })
145
- .replace(/[^\w\s]/g, '\\$&');
146
- var match = new RegExp(formatRegex).exec(dateStr);
147
- if (!match)
148
- return null;
149
- // Map format tokens to their extracted values
150
- var i = 1;
151
- for (var token in formatParts) {
152
- formatParts[token] = match[i++];
153
- }
154
- // Extract year
155
- if (formatParts.yyyy) {
156
- date.setFullYear(parseInt(formatParts.yyyy));
157
- }
158
- else if (formatParts.yy) {
159
- var year = parseInt(formatParts.yy);
160
- var century = Math.floor(new Date().getFullYear() / 100) * 100;
161
- date.setFullYear(century + year);
162
- }
163
- // Extract month
164
- if (formatParts.MM || formatParts.M) {
165
- var month = parseInt(formatParts.MM || formatParts.M) - 1;
166
- if (month >= 0 && month <= 11) {
167
- date.setMonth(month);
168
- }
169
- }
170
- else if (formatParts.MMM || formatParts.MMMM) {
171
- var monthName_1 = formatParts.MMMM || formatParts.MMM;
172
- var locale = getLocaleConfig(config);
173
- var monthIndex = locale.monthNames.findIndex(function (m) { return m.toLowerCase() === monthName_1.toLowerCase(); });
174
- if (monthIndex === -1) {
175
- var shortMonthIndex = locale.monthNamesShort.findIndex(function (m) { return m.toLowerCase() === monthName_1.toLowerCase(); });
176
- if (shortMonthIndex !== -1) {
177
- date.setMonth(shortMonthIndex);
178
- }
179
- }
180
- else {
181
- date.setMonth(monthIndex);
182
- }
183
- }
184
- // Extract day
185
- if (formatParts.dd || formatParts.d) {
186
- var day = parseInt(formatParts.dd || formatParts.d);
187
- if (day >= 1 && day <= 31) {
188
- date.setDate(day);
189
- }
190
- }
191
- // Extract time if needed
192
- if (config.enableTime) {
193
- // Hours (24-hour format)
194
- if (formatParts.HH || formatParts.H) {
195
- var hours = parseInt(formatParts.HH || formatParts.H);
196
- if (hours >= 0 && hours <= 23) {
197
- date.setHours(hours);
198
- }
199
- }
200
- // Hours (12-hour format)
201
- else if (formatParts.hh || formatParts.h) {
202
- var hours = parseInt(formatParts.hh || formatParts.h);
203
- // Adjust for AM/PM
204
- if (formatParts.A) {
205
- var isPM = formatParts.A.toUpperCase() === config.pm;
206
- if (isPM && hours < 12) {
207
- hours += 12;
208
- }
209
- else if (!isPM && hours === 12) {
210
- hours = 0;
211
- }
212
- }
213
- if (hours >= 0 && hours <= 23) {
214
- date.setHours(hours);
215
- }
216
- }
217
- // Minutes
218
- if (formatParts.mm || formatParts.m) {
219
- var minutes = parseInt(formatParts.mm || formatParts.m);
220
- if (minutes >= 0 && minutes <= 59) {
221
- date.setMinutes(minutes);
222
- }
223
- }
224
- // Seconds
225
- if (formatParts.ss || formatParts.s) {
226
- var seconds = parseInt(formatParts.ss || formatParts.s);
227
- if (seconds >= 0 && seconds <= 59) {
228
- date.setSeconds(seconds);
229
- }
230
- }
231
- }
232
- // Validate the final date
233
- return isValidDate(date) ? date : null;
234
- }
235
- /**
236
- * Parse natural language date strings
237
- *
238
- * @param input - Natural language date string
239
- * @returns Parsed date or null if not recognized
240
- */
241
- function parseNaturalLanguageDate(input) {
242
- var normalized = input.trim().toLowerCase();
243
- var now = new Date();
244
- // Handle common natural language inputs
245
- switch (normalized) {
246
- case 'today':
247
- return new Date(now.setHours(0, 0, 0, 0));
248
- case 'yesterday': {
249
- var yesterday = new Date(now);
250
- yesterday.setDate(yesterday.getDate() - 1);
251
- yesterday.setHours(0, 0, 0, 0);
252
- return yesterday;
253
- }
254
- case 'tomorrow': {
255
- var tomorrow = new Date(now);
256
- tomorrow.setDate(tomorrow.getDate() + 1);
257
- tomorrow.setHours(0, 0, 0, 0);
258
- return tomorrow;
259
- }
260
- default: {
261
- // Handle relative dates like "next week", "last month", etc.
262
- var relativeMatch = normalized.match(/^(next|last|this)\s+(day|week|month|year)$/);
263
- if (relativeMatch) {
264
- var _ = relativeMatch[0], direction = relativeMatch[1], unit = relativeMatch[2];
265
- var result = new Date(now);
266
- result.setHours(0, 0, 0, 0);
267
- switch (unit) {
268
- case 'day':
269
- result.setDate(result.getDate() +
270
- (direction === 'next' ? 1 : direction === 'last' ? -1 : 0));
271
- break;
272
- case 'week':
273
- result.setDate(result.getDate() +
274
- (direction === 'next' ? 7 : direction === 'last' ? -7 : 0));
275
- break;
276
- case 'month':
277
- result.setMonth(result.getMonth() +
278
- (direction === 'next' ? 1 : direction === 'last' ? -1 : 0));
279
- break;
280
- case 'year':
281
- result.setFullYear(result.getFullYear() +
282
- (direction === 'next' ? 1 : direction === 'last' ? -1 : 0));
283
- break;
284
- }
285
- return result;
286
- }
287
- return null;
288
- }
289
- }
290
- }
291
- /**
292
- * Check if a date is valid
293
- *
294
- * @param date - Date to check
295
- * @returns Whether the date is valid
296
- */
297
- function isValidDate(date) {
298
- return date instanceof Date && !isNaN(date.getTime());
299
- }
300
- /**
301
- * Get the number of days in a month
302
- *
303
- * @param year - Year
304
- * @param month - Month (0-indexed)
305
- * @returns Number of days in the month
306
- */
307
- function getDaysInMonth(year, month) {
308
- return new Date(year, month + 1, 0).getDate();
309
- }
310
- /**
311
- * Get the first day of the month
312
- *
313
- * @param year - Year
314
- * @param month - Month (0-indexed)
315
- * @returns Day of week for the first day (0 = Sunday, 6 = Saturday)
316
- */
317
- function getFirstDayOfMonth(year, month) {
318
- return new Date(year, month, 1).getDay();
319
- }
320
- /**
321
- * Pad a number with a leading zero if needed
322
- *
323
- * @param num - Number to pad
324
- * @returns Padded number string
325
- */
326
- function padZero(num) {
327
- return num < 10 ? "0".concat(num) : num.toString();
328
- }
329
- /**
330
- * Get locale configuration for the datepicker
331
- *
332
- * @param config - Datepicker configuration
333
- * @returns Locale configuration
334
- */
335
- function getLocaleConfig(config) {
336
- return config.locales[config.locale] || config.locales['en-US'];
337
- }
338
- /**
339
- * Check if a date is between two other dates (inclusive)
340
- *
341
- * @param date - Date to check
342
- * @param start - Start date
343
- * @param end - End date
344
- * @returns Whether the date is between start and end
345
- */
346
- function isDateBetween(date, start, end) {
347
- var dateTime = date.getTime();
348
- return dateTime >= start.getTime() && dateTime <= end.getTime();
349
- }
350
- /**
351
- * Compare two dates for equality (ignoring time)
352
- *
353
- * @param date1 - First date
354
- * @param date2 - Second date
355
- * @returns Whether the dates are equal
356
- */
357
- function isSameDay(date1, date2) {
358
- return (date1.getFullYear() === date2.getFullYear() &&
359
- date1.getMonth() === date2.getMonth() &&
360
- date1.getDate() === date2.getDate());
361
- }
362
- /**
363
- * Check if a date is a weekend (Saturday or Sunday)
364
- *
365
- * @param date - Date to check
366
- * @returns Whether the date is a weekend
367
- */
368
- function isWeekend(date) {
369
- var day = date.getDay();
370
- return day === 0 || day === 6;
371
- }
372
- /**
373
- * Check if a date is disabled (outside min/max range or explicitly disabled)
374
- *
375
- * @param date - Date to check
376
- * @param config - Datepicker configuration
377
- * @returns Whether the date is disabled
378
- */
379
- function isDateDisabled(date, config) {
380
- if (!date || !(date instanceof Date) || isNaN(date.getTime())) {
381
- return true;
382
- }
383
- // Set the time to noon for consistent comparison
384
- var normalizedDate = new Date(date);
385
- normalizedDate.setHours(12, 0, 0, 0);
386
- // Check min date
387
- if (config.minDate) {
388
- var minDate = null;
389
- if (config.minDate instanceof Date) {
390
- minDate = new Date(config.minDate);
391
- minDate.setHours(0, 0, 0, 0);
392
- }
393
- else {
394
- // Try parsing with the configured format
395
- minDate = parseDate(config.minDate.toString(), config.format, config);
396
- // If that fails, try parsing with other common formats
397
- if (!minDate) {
398
- // Try DD/MM/YYYY format
399
- var parts = config.minDate.toString().split('/');
400
- if (parts.length === 3) {
401
- var day = parseInt(parts[0], 10);
402
- var month = parseInt(parts[1], 10) - 1;
403
- var year = parseInt(parts[2], 10);
404
- if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {
405
- minDate = new Date(year, month, day);
406
- }
407
- }
408
- }
409
- }
410
- if (minDate) {
411
- // Ensure minDate has time set to beginning of day for accurate comparison
412
- minDate.setHours(0, 0, 0, 0);
413
- if (normalizedDate < minDate) {
414
- return true;
415
- }
416
- }
417
- }
418
- // Check max date
419
- if (config.maxDate) {
420
- var maxDate = null;
421
- if (config.maxDate instanceof Date) {
422
- maxDate = new Date(config.maxDate);
423
- maxDate.setHours(23, 59, 59, 999);
424
- }
425
- else {
426
- // Try parsing with the configured format
427
- maxDate = parseDate(config.maxDate.toString(), config.format, config);
428
- // If that fails, try parsing with other common formats
429
- if (!maxDate) {
430
- // Try DD/MM/YYYY format
431
- var parts = config.maxDate.toString().split('/');
432
- if (parts.length === 3) {
433
- var day = parseInt(parts[0], 10);
434
- var month = parseInt(parts[1], 10) - 1;
435
- var year = parseInt(parts[2], 10);
436
- if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {
437
- maxDate = new Date(year, month, day);
438
- }
439
- }
440
- }
441
- }
442
- if (maxDate) {
443
- // Ensure maxDate has time set to end of day for accurate comparison
444
- maxDate.setHours(23, 59, 59, 999);
445
- if (normalizedDate > maxDate) {
446
- return true;
447
- }
448
- }
449
- }
450
- // Check explicitly disabled dates
451
- if (config.disabledDates && config.disabledDates.length > 0) {
452
- for (var _i = 0, _a = config.disabledDates; _i < _a.length; _i++) {
453
- var disabledDate = _a[_i];
454
- var disabled = disabledDate instanceof Date
455
- ? disabledDate
456
- : parseDate(disabledDate.toString(), config.format, config);
457
- if (disabled && isSameDay(normalizedDate, disabled)) {
458
- return true;
459
- }
460
- }
461
- }
462
- return false;
463
- }
464
- /**
465
- * Generate a calender for the specified month
466
- *
467
- * @param year - Year
468
- * @param month - Month (0-indexed)
469
- * @param config - Datepicker configuration
470
- * @returns Calendar days matrix
471
- */
472
- function generateCalendarMonth(year, month, config) {
473
- var daysInMonth = getDaysInMonth(year, month);
474
- var firstDayOfMonth = getFirstDayOfMonth(year, month);
475
- var locale = getLocaleConfig(config);
476
- var firstDayOfWeek = locale.firstDayOfWeek;
477
- // Calculate the offset from the first day of the month to the first day of the calendar
478
- var startOffset = (firstDayOfMonth - firstDayOfWeek + 7) % 7;
479
- // Create a 6x7 matrix for the calendar
480
- var calendar = [];
481
- var day = 1 - startOffset;
482
- for (var week = 0; week < 6; week++) {
483
- var weekDays = [];
484
- for (var i = 0; i < 7; i++) {
485
- var date = new Date(year, month, day);
486
- weekDays.push(date);
487
- day++;
488
- }
489
- calendar.push(weekDays);
490
- // If we've gone past the end of the month and it's a complete week, we can stop
491
- if (day > daysInMonth && week >= 4) {
492
- break;
493
- }
494
- }
495
- return calendar;
496
- }
497
- /**
498
- * Check if two dates are the same day
499
- * (ignoring time part)
500
- *
501
- * @param date1 - First date to compare
502
- * @param date2 - Second date to compare
503
- * @returns True if dates are the same day
504
- */
505
- function isDateEqual(date1, date2) {
506
- return (date1.getDate() === date2.getDate() &&
507
- date1.getMonth() === date2.getMonth() &&
508
- date1.getFullYear() === date2.getFullYear());
509
- }
510
- /**
511
- * Check if a date is within a range (inclusive)
512
- *
513
- * @param date - Date to check
514
- * @param startDate - Start date of the range
515
- * @param endDate - End date of the range
516
- * @returns True if date is within the range
517
- */
518
- function isDateInRange(date, startDate, endDate) {
519
- var time = date.getTime();
520
- var startTime = startDate.getTime();
521
- var endTime = endDate.getTime();
522
- return time >= startTime && time <= endTime;
523
- }
524
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/datepicker/utils.ts"],"names":[],"mappings":"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"}