@seafile/seafile-calendar 0.0.29-alpha.2 → 0.0.29-alpha10

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 (167) hide show
  1. package/assets/index.css +1177 -0
  2. package/dist/rc-calendar.css +1179 -0
  3. package/dist/rc-calendar.css.map +1 -0
  4. package/dist/rc-calendar.js +7588 -0
  5. package/dist/rc-calendar.js.map +1 -0
  6. package/dist/rc-calendar.min.css +1179 -0
  7. package/dist/rc-calendar.min.css.map +1 -0
  8. package/dist/rc-calendar.min.js +1 -0
  9. package/es/Calendar.js +444 -0
  10. package/es/FullCalendar.js +182 -0
  11. package/es/MonthCalendar.js +135 -0
  12. package/es/Picker.js +245 -0
  13. package/es/RangeCalendar.js +876 -0
  14. package/es/calendar/CalendarFooter.js +93 -0
  15. package/es/calendar/CalendarHeader.js +257 -0
  16. package/es/calendar/CalendarRightPanel.js +135 -0
  17. package/es/calendar/OkButton.js +22 -0
  18. package/es/calendar/TimePickerButton.js +28 -0
  19. package/es/calendar/TodayButton.js +28 -0
  20. package/es/date/DateConstants.js +19 -0
  21. package/es/date/DateInput.js +249 -0
  22. package/es/date/DateTBody.js +280 -0
  23. package/es/date/DateTHead.js +86 -0
  24. package/es/date/DateTable.js +32 -0
  25. package/es/decade/DecadePanel.js +181 -0
  26. package/es/full-calendar/CalendarHeader.js +180 -0
  27. package/es/index.js +3 -0
  28. package/es/locale/ar_EG.js +27 -0
  29. package/es/locale/bg_BG.js +27 -0
  30. package/es/locale/ca_ES.js +27 -0
  31. package/es/locale/cs_CZ.js +27 -0
  32. package/es/locale/da_DK.js +27 -0
  33. package/es/locale/de_DE.js +27 -0
  34. package/es/locale/el_GR.js +27 -0
  35. package/es/locale/en_GB.js +27 -0
  36. package/es/locale/en_US.js +28 -0
  37. package/es/locale/es_ES.js +27 -0
  38. package/es/locale/et_EE.js +27 -0
  39. package/es/locale/fa_IR.js +27 -0
  40. package/es/locale/fi_FI.js +27 -0
  41. package/es/locale/fr_BE.js +27 -0
  42. package/es/locale/fr_FR.js +27 -0
  43. package/es/locale/he_IL.js +28 -0
  44. package/es/locale/hi_IN.js +28 -0
  45. package/es/locale/hr_HR.js +28 -0
  46. package/es/locale/hu_HU.js +27 -0
  47. package/es/locale/id_ID.js +28 -0
  48. package/es/locale/is_IS.js +27 -0
  49. package/es/locale/it_IT.js +27 -0
  50. package/es/locale/ja_JP.js +26 -0
  51. package/es/locale/kn_IN.js +28 -0
  52. package/es/locale/ko_KR.js +27 -0
  53. package/es/locale/ku_IQ.js +27 -0
  54. package/es/locale/lv_LV.js +27 -0
  55. package/es/locale/mm_MM.js +28 -0
  56. package/es/locale/mn_MN.js +28 -0
  57. package/es/locale/ms_MY.js +27 -0
  58. package/es/locale/nb_NO.js +27 -0
  59. package/es/locale/nl_BE.js +27 -0
  60. package/es/locale/nl_NL.js +27 -0
  61. package/es/locale/pl_PL.js +27 -0
  62. package/es/locale/pt_BR.js +27 -0
  63. package/es/locale/pt_PT.js +27 -0
  64. package/es/locale/ro_RO.js +28 -0
  65. package/es/locale/ru_RU.js +27 -0
  66. package/es/locale/sk_SK.js +27 -0
  67. package/es/locale/sl_SI.js +27 -0
  68. package/es/locale/sr_RS.js +27 -0
  69. package/es/locale/sv_SE.js +27 -0
  70. package/es/locale/ta_IN.js +28 -0
  71. package/es/locale/th_TH.js +27 -0
  72. package/es/locale/tr_TR.js +27 -0
  73. package/es/locale/ug_CN.js +26 -0
  74. package/es/locale/uk_UA.js +27 -0
  75. package/es/locale/vi_VN.js +28 -0
  76. package/es/locale/zh_CN.js +27 -0
  77. package/es/locale/zh_TW.js +26 -0
  78. package/es/mixin/CalendarMixin.js +123 -0
  79. package/es/mixin/CommonMixin.js +85 -0
  80. package/es/month/MonthPanel.js +154 -0
  81. package/es/month/MonthTable.js +156 -0
  82. package/es/picker/placements.js +35 -0
  83. package/es/range-calendar/CalendarPart.js +151 -0
  84. package/es/util/dayjs.js +17 -0
  85. package/es/util/index.js +564 -0
  86. package/es/util/toTime.js +21 -0
  87. package/es/year/YearPanel.js +194 -0
  88. package/lib/Calendar.js +507 -0
  89. package/lib/FullCalendar.js +221 -0
  90. package/lib/MonthCalendar.js +172 -0
  91. package/lib/Picker.js +282 -0
  92. package/lib/RangeCalendar.js +925 -0
  93. package/lib/calendar/CalendarFooter.js +134 -0
  94. package/lib/calendar/CalendarHeader.js +290 -0
  95. package/lib/calendar/CalendarRightPanel.js +160 -0
  96. package/lib/calendar/OkButton.js +32 -0
  97. package/lib/calendar/TimePickerButton.js +41 -0
  98. package/lib/calendar/TodayButton.js +39 -0
  99. package/lib/date/DateConstants.js +23 -0
  100. package/lib/date/DateInput.js +281 -0
  101. package/lib/date/DateTBody.js +307 -0
  102. package/lib/date/DateTHead.js +106 -0
  103. package/lib/date/DateTable.js +54 -0
  104. package/lib/decade/DecadePanel.js +207 -0
  105. package/lib/full-calendar/CalendarHeader.js +201 -0
  106. package/lib/index.js +12 -0
  107. package/lib/locale/ar_EG.js +31 -0
  108. package/lib/locale/bg_BG.js +31 -0
  109. package/lib/locale/ca_ES.js +31 -0
  110. package/lib/locale/cs_CZ.js +31 -0
  111. package/lib/locale/da_DK.js +31 -0
  112. package/lib/locale/de_DE.js +31 -0
  113. package/lib/locale/el_GR.js +31 -0
  114. package/lib/locale/en_GB.js +31 -0
  115. package/lib/locale/en_US.js +32 -0
  116. package/lib/locale/es_ES.js +31 -0
  117. package/lib/locale/et_EE.js +31 -0
  118. package/lib/locale/fa_IR.js +31 -0
  119. package/lib/locale/fi_FI.js +31 -0
  120. package/lib/locale/fr_BE.js +31 -0
  121. package/lib/locale/fr_FR.js +31 -0
  122. package/lib/locale/he_IL.js +32 -0
  123. package/lib/locale/hi_IN.js +32 -0
  124. package/lib/locale/hr_HR.js +32 -0
  125. package/lib/locale/hu_HU.js +31 -0
  126. package/lib/locale/id_ID.js +32 -0
  127. package/lib/locale/is_IS.js +31 -0
  128. package/lib/locale/it_IT.js +31 -0
  129. package/lib/locale/ja_JP.js +30 -0
  130. package/lib/locale/kn_IN.js +32 -0
  131. package/lib/locale/ko_KR.js +31 -0
  132. package/lib/locale/ku_IQ.js +31 -0
  133. package/lib/locale/lv_LV.js +31 -0
  134. package/lib/locale/mm_MM.js +32 -0
  135. package/lib/locale/mn_MN.js +32 -0
  136. package/lib/locale/ms_MY.js +31 -0
  137. package/lib/locale/nb_NO.js +31 -0
  138. package/lib/locale/nl_BE.js +31 -0
  139. package/lib/locale/nl_NL.js +31 -0
  140. package/lib/locale/pl_PL.js +31 -0
  141. package/lib/locale/pt_BR.js +31 -0
  142. package/lib/locale/pt_PT.js +31 -0
  143. package/lib/locale/ro_RO.js +32 -0
  144. package/lib/locale/ru_RU.js +31 -0
  145. package/lib/locale/sk_SK.js +31 -0
  146. package/lib/locale/sl_SI.js +31 -0
  147. package/lib/locale/sr_RS.js +31 -0
  148. package/lib/locale/sv_SE.js +31 -0
  149. package/lib/locale/ta_IN.js +32 -0
  150. package/lib/locale/th_TH.js +31 -0
  151. package/lib/locale/tr_TR.js +31 -0
  152. package/lib/locale/ug_CN.js +30 -0
  153. package/lib/locale/uk_UA.js +31 -0
  154. package/lib/locale/vi_VN.js +32 -0
  155. package/lib/locale/zh_CN.js +31 -0
  156. package/lib/locale/zh_TW.js +30 -0
  157. package/lib/mixin/CalendarMixin.js +153 -0
  158. package/lib/mixin/CommonMixin.js +106 -0
  159. package/lib/month/MonthPanel.js +179 -0
  160. package/lib/month/MonthTable.js +181 -0
  161. package/lib/picker/placements.js +39 -0
  162. package/lib/range-calendar/CalendarPart.js +184 -0
  163. package/lib/util/dayjs.js +46 -0
  164. package/lib/util/index.js +601 -0
  165. package/lib/util/toTime.js +28 -0
  166. package/lib/year/YearPanel.js +219 -0
  167. package/package.json +1 -1
@@ -0,0 +1,601 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+ exports.DATE_FORMATS = exports.currentTime = exports.stringCurrentMonth = exports.stringCurrentDate = exports.currentYear = exports.currentMonth = exports.currentDate = undefined;
5
+
6
+ var _extends2 = require('babel-runtime/helpers/extends');
7
+
8
+ var _extends3 = _interopRequireDefault(_extends2);
9
+
10
+ exports.getTodayTime = getTodayTime;
11
+ exports.getTitleString = getTitleString;
12
+ exports.getTodayTimeStr = getTodayTimeStr;
13
+ exports.getMonthName = getMonthName;
14
+ exports.syncTime = syncTime;
15
+ exports.getTimeConfig = getTimeConfig;
16
+ exports.isTimeValidByConfig = isTimeValidByConfig;
17
+ exports.isTimeValid = isTimeValid;
18
+ exports.isAllowedDate = isAllowedDate;
19
+ exports.formatDate = formatDate;
20
+ exports.formatDateLocal = formatDateLocal;
21
+ exports.hasSpecialChar = hasSpecialChar;
22
+ exports.isValidMonth = isValidMonth;
23
+ exports.isValidDay = isValidDay;
24
+ exports.fullValidYear = fullValidYear;
25
+ exports.delimate = delimate;
26
+ exports.getDateFormatByStr = getDateFormatByStr;
27
+ exports.isCurrentYear = isCurrentYear;
28
+ exports.validateTime = validateTime;
29
+ exports.checkSpecialBetweenDigits = checkSpecialBetweenDigits;
30
+ exports.normalizeDateInput = normalizeDateInput;
31
+
32
+ var _dayjs = require('dayjs');
33
+
34
+ var _dayjs2 = _interopRequireDefault(_dayjs);
35
+
36
+ var _utc = require('dayjs/plugin/utc');
37
+
38
+ var _utc2 = _interopRequireDefault(_utc);
39
+
40
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
41
+
42
+ _dayjs2['default'].extend(_utc2['default']);
43
+ var currentDate = exports.currentDate = (0, _dayjs2['default'])().date();
44
+ var currentMonth = exports.currentMonth = (0, _dayjs2['default'])().month() + 1;
45
+ var currentYear = exports.currentYear = (0, _dayjs2['default'])().year();
46
+ var stringCurrentDate = exports.stringCurrentDate = String(currentDate).padStart(2, '0');
47
+ var stringCurrentMonth = exports.stringCurrentMonth = String(currentMonth).padStart(2, '0');
48
+ var currentTime = exports.currentTime = (0, _dayjs2['default'])().format('HH:mm');
49
+
50
+ var DATE_FORMATS = exports.DATE_FORMATS = {
51
+ ISO: 'YYYY-MM-DD',
52
+ ISOAndTime: 'YYYY-MM-DD HH:mm',
53
+ US: 'M/D/YYYY',
54
+ USAndTime: 'M/D/YYYY HH:mm',
55
+ European: 'DD/MM/YYYY',
56
+ EuropeanAndTime: 'DD/MM/YYYY HH:mm',
57
+ Germany_Russia_etc: 'DD.MM.YYYY',
58
+ Germany_Russia_etcAndTime: 'DD.MM.YYYY HH:mm'
59
+ };
60
+
61
+ var defaultDisabledTime = {
62
+ disabledHours: function disabledHours() {
63
+ return [];
64
+ },
65
+ disabledMinutes: function disabledMinutes() {
66
+ return [];
67
+ },
68
+ disabledSeconds: function disabledSeconds() {
69
+ return [];
70
+ }
71
+ };
72
+
73
+ function getTodayTime(value) {
74
+ var today = (0, _dayjs2['default'])();
75
+ today = today.locale(value.locale()).utcOffset(value.utcOffset());
76
+ return today;
77
+ }
78
+
79
+ function getTitleString(value) {
80
+ return value.format('LL');
81
+ }
82
+
83
+ function getTodayTimeStr(value) {
84
+ var today = getTodayTime(value);
85
+ return getTitleString(today);
86
+ }
87
+
88
+ function getMonthName(month) {
89
+ var locale = month.locale();
90
+ var localeData = month.localeData();
91
+ return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month);
92
+ }
93
+
94
+ function syncTime(from, to) {
95
+ if (!_dayjs2['default'].isDayjs(from) || !_dayjs2['default'].isDayjs(to)) return;
96
+ to = to.hour(from.hour());
97
+ to = to.minute(from.minute());
98
+ to = to.second(from.second());
99
+ to = to.millisecond(from.millisecond());
100
+ }
101
+
102
+ function getTimeConfig(value, disabledTime) {
103
+ var disabledTimeConfig = disabledTime ? disabledTime(value) : {};
104
+ disabledTimeConfig = (0, _extends3['default'])({}, defaultDisabledTime, disabledTimeConfig);
105
+ return disabledTimeConfig;
106
+ }
107
+
108
+ function isTimeValidByConfig(value, disabledTimeConfig) {
109
+ var invalidTime = false;
110
+ if (value) {
111
+ var hour = value.hour();
112
+ var minutes = value.minute();
113
+ var seconds = value.second();
114
+ var disabledHours = disabledTimeConfig.disabledHours();
115
+ if (disabledHours.indexOf(hour) === -1) {
116
+ var disabledMinutes = disabledTimeConfig.disabledMinutes(hour);
117
+ if (disabledMinutes.indexOf(minutes) === -1) {
118
+ var disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes);
119
+ invalidTime = disabledSeconds.indexOf(seconds) !== -1;
120
+ } else {
121
+ invalidTime = true;
122
+ }
123
+ } else {
124
+ invalidTime = true;
125
+ }
126
+ }
127
+ return !invalidTime;
128
+ }
129
+
130
+ function isTimeValid(value, disabledTime) {
131
+ var disabledTimeConfig = getTimeConfig(value, disabledTime);
132
+ return isTimeValidByConfig(value, disabledTimeConfig);
133
+ }
134
+
135
+ function isAllowedDate(value, disabledDate, disabledTime) {
136
+ if (disabledDate) {
137
+ if (disabledDate(value)) {
138
+ return false;
139
+ }
140
+ }
141
+ if (disabledTime) {
142
+ if (!isTimeValid(value, disabledTime)) {
143
+ return false;
144
+ }
145
+ }
146
+ return true;
147
+ }
148
+
149
+ function formatDate(value, format) {
150
+ if (!value) {
151
+ return '';
152
+ }
153
+
154
+ if (Array.isArray(format)) {
155
+ format = format[0];
156
+ }
157
+
158
+ return value.format(format);
159
+ }
160
+
161
+ function formatDateLocal(formatStr, format) {
162
+ var str = formatStr || '';
163
+ var cleanStr = void 0;
164
+ switch (format) {
165
+ case DATE_FORMATS.ISO:
166
+ case DATE_FORMATS.ISOAndTime:
167
+ cleanStr = str.replace(/[^0-9]+/g, '-');
168
+ return cleanStr.split('-').filter(Boolean).map(String);
169
+ case DATE_FORMATS.US:
170
+ case DATE_FORMATS.USAndTime:
171
+ case DATE_FORMATS.European:
172
+ case DATE_FORMATS.EuropeanAndTime:
173
+ cleanStr = str.replace(/[^0-9]+/g, '/');
174
+ return cleanStr.split('/').filter(Boolean).map(String);
175
+ case DATE_FORMATS.Germany_Russia_etc:
176
+ case DATE_FORMATS.Germany_Russia_etcAndTime:
177
+ cleanStr = str.replace(/[^0-9]+/g, '.');
178
+ return cleanStr.split('.').filter(Boolean).map(String);
179
+ default:
180
+ return [];
181
+ }
182
+ }
183
+
184
+ function hasSpecialChar(str) {
185
+ var matches = str.match(/[^0-9]/g);
186
+ return matches ? matches.length : 0;
187
+ }
188
+
189
+ function isValidMonth(monthStr) {
190
+ if (typeof monthStr === 'undefined' || monthStr === null) return currentMonth;
191
+ if (!/^\d+$/.test(Number(monthStr))) return currentMonth;
192
+ var month = Number(monthStr);
193
+ if (month >= 1 && month <= 12) {
194
+ return monthStr;
195
+ }
196
+ return currentMonth;
197
+ }
198
+
199
+ function isValidDay(dayStr) {
200
+ if (!/^\d+$/.test(dayStr)) return false;
201
+ var day = Number(dayStr);
202
+ if ([1, 3, 5, 7, 8, 10, 12].includes(currentMonth)) {
203
+ return day >= 1 && day <= 31;
204
+ }
205
+ if ([4, 6, 9, 11].includes(currentMonth)) {
206
+ return day >= 1 && day <= 30;
207
+ }
208
+ if (currentMonth === 2) {
209
+ var isLeapYear = function isLeapYear(year) {
210
+ return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
211
+ };
212
+ var year = currentYear;
213
+ if (isLeapYear(year)) {
214
+ return day >= 1 && day <= 29;
215
+ }
216
+ return day >= 1 && day <= 28;
217
+ }
218
+ }
219
+
220
+ function fullValidYear(yearStr) {
221
+ var year = yearStr;
222
+ if (!year || isNaN(year)) return currentYear;
223
+ if (year.length === 2) {
224
+ if (Number(year) >= 0 && Number(year) < 69) {
225
+ return year ? '20' + year : currentYear;
226
+ } else if (Number(year) >= 69 && Number(year) < 100) {
227
+ return year ? '19' + year : currentYear;
228
+ }
229
+ }
230
+ if (year.length === 4) {
231
+ return year;
232
+ }
233
+ return year ? year.padStart(4, '0') : currentYear;
234
+ }
235
+
236
+ function delimate(formatPrefix) {
237
+ var delimiter = void 0;
238
+ if (formatPrefix === DATE_FORMATS.Germany_Russia_etc || formatPrefix === DATE_FORMATS.Germany_Russia_etcAndTime) {
239
+ delimiter = '.';
240
+ } else if (formatPrefix === DATE_FORMATS.ISO || formatPrefix === DATE_FORMATS.ISOAndTime) {
241
+ delimiter = '-';
242
+ } else {
243
+ delimiter = '/';
244
+ }
245
+ return delimiter;
246
+ }
247
+
248
+ function getDateFormatByStr(str, format) {
249
+ var cananderStr = str || '';
250
+ var delimiter = delimate(format);
251
+ var parts = cananderStr.split(delimiter);
252
+ if (parts.length !== 3) return format;
253
+ if (format === DATE_FORMATS.ISO) {
254
+ return DATE_FORMATS.ISO;
255
+ }
256
+ if (format === DATE_FORMATS.ISOAndTime) {
257
+ return DATE_FORMATS.ISOAndTime;
258
+ }
259
+ if (format === DATE_FORMATS.US) {
260
+ return DATE_FORMATS.US;
261
+ }
262
+ if (format === DATE_FORMATS.USAndTime) {
263
+ return DATE_FORMATS.USAndTime;
264
+ }
265
+ if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
266
+ var day = parts[0],
267
+ month = parts[1];
268
+
269
+ var dayLen = day.length;
270
+ var monthLen = month.length;
271
+ if (dayLen === 2 && monthLen === 2) {
272
+ return 'DD' + delimiter + 'MM' + delimiter + 'YYYY';
273
+ } else if (dayLen === 2 && monthLen === 1) {
274
+ return 'DD' + delimiter + 'M' + delimiter + 'YYYY';
275
+ } else if (dayLen === 1 && monthLen === 2) {
276
+ return 'D' + delimiter + 'MM' + delimiter + 'YYYY';
277
+ } else if (dayLen === 1 && monthLen === 1) {
278
+ return 'D' + delimiter + 'M' + delimiter + 'YYYY';
279
+ }
280
+ }
281
+ if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
282
+ var _day = parts[0],
283
+ _month = parts[1];
284
+
285
+ var _dayLen = _day.length;
286
+ var _monthLen = _month.length;
287
+ if (_dayLen === 2 && _monthLen === 2) {
288
+ return 'DD' + delimiter + 'MM' + delimiter + 'YYYY HH:mm';
289
+ } else if (_dayLen === 2 && _monthLen === 1) {
290
+ return 'DD' + delimiter + 'M' + delimiter + 'YYYY HH:mm';
291
+ } else if (_dayLen === 1 && _monthLen === 2) {
292
+ return 'D' + delimiter + 'MM' + delimiter + 'YYYY HH:mm';
293
+ } else if (_dayLen === 1 && _monthLen === 1) {
294
+ return 'D' + delimiter + 'M' + delimiter + 'YYYY HH:mm';
295
+ }
296
+ }
297
+ return format;
298
+ }
299
+
300
+ function isCurrentYear(year, month, day) {
301
+ return Number(month) >= 1 && Number(month) <= 12 && Number(day) >= 1 && Number(day) <= 31 ? year : currentYear; // eslint-disable-line max-len
302
+ }
303
+
304
+ function validateTime(inputTime) {
305
+ if (!inputTime || typeof inputTime !== 'string') {
306
+ return currentTime;
307
+ }
308
+ var trimmed = inputTime.trim();
309
+ var timeRegex = /^(\d{2}):(\d{2})$/;
310
+ var match = trimmed.match(timeRegex);
311
+ if (!match) {
312
+ return currentTime;
313
+ }
314
+ var hour = Number(match[1]);
315
+ var minute = Number(match[2]);
316
+ if (hour > 23 || minute > 59) {
317
+ return currentTime;
318
+ }
319
+ return match[1] + ':' + match[2];
320
+ }
321
+
322
+ function checkSpecialBetweenDigits(str) {
323
+ var regex = /^\d+[^0-9]\d+$/;
324
+ return regex.test(str);
325
+ }
326
+
327
+ function getDatePart(str) {
328
+ if (typeof str !== 'string') return '';
329
+ var parts = str.trim().split(/\s+/);
330
+ return parts[0];
331
+ }
332
+
333
+ function normalizeDateInput(str, localeFormat, delimiter) {
334
+ var day = void 0;
335
+ var month = void 0;
336
+ var year = void 0;
337
+ var time = currentTime;
338
+ var parts = formatDateLocal(str, localeFormat, DATE_FORMATS);
339
+ if (localeFormat === DATE_FORMATS.ISO) {
340
+ var hasSpecial = hasSpecialChar(str);
341
+ var numStr = str.replace(/[^0-9]/g, '');
342
+ if (numStr.length === 7) {
343
+ year = numStr.slice(0, 4);
344
+ month = numStr.slice(4, 6).padStart(2, '0');
345
+ day = numStr.slice(6, 7).padStart(2, '0');
346
+ if (!isValidDay(day)) {
347
+ return year + '-' + stringCurrentMonth + '-' + stringCurrentDate;
348
+ }
349
+ return year + '-' + month + '-' + day;
350
+ }
351
+ if (hasSpecial) {
352
+ year = fullValidYear(parts[0]);
353
+ month = Number(parts[1]);
354
+ day = Number(parts[2]);
355
+ if (month >= 1 && month <= 12) {
356
+ if (isValidDay(day)) {
357
+ return year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0');
358
+ }
359
+ return year + '-' + String(month).padStart(2, '0') + '-01';
360
+ }
361
+ if ((month >= 13 || month < 1) && isNaN(day)) {
362
+ return year + '-' + stringCurrentMonth + '-' + stringCurrentDate;
363
+ }
364
+ if ((month >= 13 || month < 1) && day) {
365
+ return String(currentYear) + '-' + stringCurrentMonth + '-' + stringCurrentDate;
366
+ }
367
+ if (!month && !day) {
368
+ return year + '-01-01';
369
+ }
370
+ }
371
+ if (str.length >= 1 && str.length <= 8) {
372
+ year = fullValidYear(str.slice(0, 4));
373
+ month = str.slice(4, 6);
374
+ day = Number(str.slice(6, 8));
375
+ if (str.length === 5 && Number(month) < 1) {
376
+ return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ';
377
+ }
378
+ if (str.length === 6 && Number(month) < 1) {
379
+ return year + '-' + stringCurrentMonth + '-' + stringCurrentDate;
380
+ }
381
+ if (str.length === 7) {
382
+ if (!isValidDay(day)) {
383
+ return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate;
384
+ }
385
+ return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0'); // eslint-disable-line max-len
386
+ }
387
+ if (str.length === 8) {
388
+ if (!isValidDay(day)) {
389
+ return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate; // eslint-disable-line max-len
390
+ }
391
+ return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0'); // eslint-disable-line max-len
392
+ }
393
+ if (Number(month) >= 1 && Number(month) <= 12 && isValidDay(day)) {
394
+ return year + '-' + month.padStart(2, '0') + '-' + String(day).padStart(2, '0');
395
+ }
396
+ return year + '-' + (month ? month.padStart(2, '0') : '01') + '-' + (day ? String(day).padStart(2, '0') : '01'); // eslint-disable-line max-len
397
+ }
398
+ return currentYear + '/' + stringCurrentMonth + '/' + stringCurrentDate;
399
+ }
400
+ if (localeFormat === DATE_FORMATS.ISOAndTime) {
401
+ var unNormalDate = getDatePart(str);
402
+ var unNormalDateParts = formatDateLocal(unNormalDate, localeFormat, DATE_FORMATS);
403
+ var _hasSpecial = hasSpecialChar(unNormalDate);
404
+ var _numStr = unNormalDate.replace(/[^0-9]/g, '');
405
+ if (_numStr.length === 7) {
406
+ year = _numStr.slice(0, 4);
407
+ month = _numStr.slice(4, 6).padStart(2, '0');
408
+ day = _numStr.slice(6, 7).padStart(2, '0');
409
+ if (parts.length === 3) {
410
+ time = validateTime(parts[1] + ':' + parts[2]);
411
+ }
412
+ if (parts.length === 4) {
413
+ time = validateTime(parts[2] + ':' + parts[3]);
414
+ }
415
+ if (parts.length === 5) {
416
+ time = validateTime(parts[3] + ':' + parts[4]);
417
+ }
418
+ if (!isValidDay(day)) {
419
+ return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time;
420
+ }
421
+ return year + '-' + month + '-' + day + ' ' + time;
422
+ }
423
+ if (_hasSpecial) {
424
+ if (unNormalDateParts.length < 3) {
425
+ parts.splice(2, 0, '1');
426
+ }
427
+ year = fullValidYear(parts[0]);
428
+ month = Number(parts[1]);
429
+ day = Number(parts[2]);
430
+ time = validateTime(parts[3] + ':' + parts[4]);
431
+ if (month >= 1 && month <= 12) {
432
+ if (isValidDay(day)) {
433
+ return year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time; // eslint-disable-line max-len
434
+ }
435
+ return year + '-' + String(month).padStart(2, '0') + '-01 ' + time;
436
+ }
437
+ if ((month >= 13 || month < 1) && isNaN(day)) {
438
+ return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
439
+ }
440
+ if ((month >= 13 || month < 1) && day) {
441
+ return String(currentYear) + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
442
+ }
443
+ if (!month && !day) {
444
+ return year + '-01-01 ' + time;
445
+ }
446
+ }
447
+ if (unNormalDate.length >= 1 && unNormalDate.length <= 8) {
448
+ year = fullValidYear(unNormalDate.slice(0, 4));
449
+ month = unNormalDate.slice(4, 6);
450
+ day = Number(unNormalDate.slice(6, 8));
451
+ var timeParts = formatDateLocal(str, localeFormat, DATE_FORMATS);
452
+ time = validateTime(timeParts[1] + ':' + timeParts[2]);
453
+ if (unNormalDate.length === 5 && Number(month) < 1) {
454
+ return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time;
455
+ }
456
+ if (unNormalDate.length === 6 && Number(month) < 1) {
457
+ return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time;
458
+ }
459
+ if (unNormalDate.length === 7) {
460
+ if (!isValidDay(day)) {
461
+ return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
462
+ }
463
+ return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time; // eslint-disable-line max-len
464
+ }
465
+ if (unNormalDate.length === 8) {
466
+ if (!isValidDay(day)) {
467
+ return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
468
+ }
469
+ return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time; // eslint-disable-line max-len
470
+ }
471
+ if (Number(month) >= 1 && Number(month) <= 12 && isValidDay(day)) {
472
+ return year + '-' + month.padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time;
473
+ }
474
+ return year + '-' + (month ? month.padStart(2, '0') : '01') + '-' + (day ? String(day).padStart(2, '0') : '01') + ' ' + time; // eslint-disable-line max-len
475
+ }
476
+ return currentYear + '/' + stringCurrentMonth + '/' + stringCurrentDate + ' ' + time;
477
+ }
478
+ if (localeFormat === DATE_FORMATS.US) {
479
+ var _hasSpecial2 = hasSpecialChar(str);
480
+ if (_hasSpecial2) {
481
+ month = Number(parts[0]);
482
+ day = Number(parts[1]);
483
+ year = fullValidYear(parts[2]);
484
+ if (month >= 1 && month <= 12 && isValidDay(day)) {
485
+ return month + '/' + day + '/' + year;
486
+ }
487
+ return currentMonth + '/' + currentDate + '/' + currentYear;
488
+ }
489
+ if (str.length >= 1 && str.length <= 8) {
490
+ month = Number(str.slice(0, 2));
491
+ day = Number(str.slice(2, 4));
492
+ year = fullValidYear(str.slice(4, str.length));
493
+ if (month >= 1 && month <= 12) {
494
+ if (isValidDay(day)) {
495
+ return month + '/' + day + '/' + year;
496
+ }
497
+ if (!day) {
498
+ return month + '/1/' + year;
499
+ }
500
+ return currentMonth + '/' + currentDate + '/' + currentYear;
501
+ }
502
+ }
503
+ return currentMonth + '/' + currentDate + '/' + currentYear;
504
+ }
505
+ if (localeFormat === DATE_FORMATS.USAndTime) {
506
+ var _unNormalDate = getDatePart(str);
507
+ var _unNormalDateParts = formatDateLocal(_unNormalDate, localeFormat, DATE_FORMATS);
508
+ var _hasSpecial3 = hasSpecialChar(_unNormalDate);
509
+ if (_hasSpecial3) {
510
+ if (_unNormalDateParts.length < 3) {
511
+ parts.splice(2, 0, String(currentYear));
512
+ }
513
+ month = Number(parts[0]);
514
+ day = Number(parts[1]);
515
+ year = fullValidYear(parts[2]);
516
+ time = validateTime(parts[3] + ':' + parts[4]);
517
+ if (month >= 1 && month <= 12 && isValidDay(day)) {
518
+ return month + '/' + day + '/' + year + ' ' + time;
519
+ }
520
+ return currentMonth + '/' + currentDate + '/' + currentYear + ' ' + time;
521
+ }
522
+ if (_unNormalDate.length >= 1 && _unNormalDate.length <= 8) {
523
+ month = Number(_unNormalDate.slice(0, 2));
524
+ day = Number(_unNormalDate.slice(2, 4));
525
+ year = fullValidYear(_unNormalDate.slice(4, _unNormalDate.length));
526
+ var _timeParts = formatDateLocal(str, localeFormat, DATE_FORMATS);
527
+ time = validateTime(_timeParts[1] + ':' + _timeParts[2]);
528
+ if (month >= 1 && month <= 12) {
529
+ if (isValidDay(day)) {
530
+ return month + '/' + day + '/' + year + ' ' + time;
531
+ }
532
+ if (!day) {
533
+ return month + '/1/' + year + ' ' + time;
534
+ }
535
+ return currentMonth + '/' + currentDate + '/' + currentYear + ' ' + time;
536
+ }
537
+ }
538
+ return currentMonth + '/' + currentDate + '/' + currentYear + ' ' + time;
539
+ }
540
+ if (localeFormat === DATE_FORMATS.European || localeFormat === DATE_FORMATS.Germany_Russia_etc) {
541
+ var _hasSpecial4 = hasSpecialChar(str);
542
+ if (_hasSpecial4) {
543
+ day = parts[0];
544
+ month = parts[1];
545
+ year = fullValidYear(parts[2]);
546
+ if (isValidDay(day) && Number(month) >= 1 && Number(month) <= 12) {
547
+ return '' + Number(day) + delimiter + Number(month) + delimiter + year;
548
+ }
549
+ return '' + currentDate + delimiter + currentMonth + delimiter + currentYear;
550
+ }
551
+ if (str.length >= 1 && str.length <= 8) {
552
+ day = Number(str.slice(0, 2));
553
+ var monthStr = str.slice(2, 4);
554
+ month = isValidMonth(monthStr);
555
+ var yearStr = str.slice(4, str.length);
556
+ year = fullValidYear(yearStr);
557
+
558
+ if (isValidDay(day)) {
559
+ if (Number(monthStr) < 1 && Number(monthStr) > 12) {
560
+ return '' + currentDate + delimiter + currentMonth + delimiter + currentYear;
561
+ }
562
+ return '' + Number(day) + delimiter + Number(month) + delimiter + year;
563
+ }
564
+ }
565
+ return '' + currentDate + delimiter + currentMonth + delimiter + currentYear;
566
+ }
567
+ if (localeFormat === DATE_FORMATS.EuropeanAndTime || localeFormat === DATE_FORMATS.Germany_Russia_etcAndTime) {
568
+ var _unNormalDate2 = getDatePart(str);
569
+ var _unNormalDateParts2 = formatDateLocal(_unNormalDate2, localeFormat, DATE_FORMATS);
570
+ var _hasSpecial5 = hasSpecialChar(_unNormalDate2);
571
+ if (_hasSpecial5) {
572
+ if (_unNormalDateParts2.length < 3) {
573
+ parts.splice(2, 0, String(currentYear));
574
+ }
575
+ day = parts[0];
576
+ month = parts[1];
577
+ year = fullValidYear(parts[2]);
578
+ time = validateTime(parts[3] + ':' + parts[4]);
579
+ if (isValidDay(day) && Number(month) >= 1 && Number(month) <= 12) {
580
+ return '' + Number(day) + delimiter + Number(month) + delimiter + year + ' ' + time;
581
+ }
582
+ return '' + currentDate + delimiter + currentMonth + delimiter + currentYear + ' ' + time;
583
+ }
584
+ if (_unNormalDate2.length >= 1 && _unNormalDate2.length <= 8) {
585
+ day = Number(_unNormalDate2.slice(0, 2));
586
+ var _monthStr = _unNormalDate2.slice(2, 4);
587
+ month = isValidMonth(_monthStr);
588
+ var _yearStr = _unNormalDate2.slice(4, _unNormalDate2.length);
589
+ year = fullValidYear(_yearStr);
590
+ var _timeParts2 = formatDateLocal(str, localeFormat, DATE_FORMATS);
591
+ time = validateTime(_timeParts2[1] + ':' + _timeParts2[2]);
592
+ if (isValidDay(day)) {
593
+ if (Number(_monthStr) < 1 && Number(_monthStr) > 12) {
594
+ return '' + currentDate + delimiter + currentMonth + delimiter + currentYear + ' ' + time;
595
+ }
596
+ return '' + Number(day) + delimiter + Number(month) + delimiter + year + ' ' + time;
597
+ }
598
+ }
599
+ return '' + currentDate + delimiter + currentMonth + delimiter + currentYear + ' ' + time;
600
+ }
601
+ }
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+ exports.goStartMonth = goStartMonth;
5
+ exports.goEndMonth = goEndMonth;
6
+ exports.goTime = goTime;
7
+ exports.includesTime = includesTime;
8
+ function goStartMonth(time) {
9
+ return time.clone().startOf('month');
10
+ }
11
+
12
+ function goEndMonth(time) {
13
+ return time.clone().endOf('month');
14
+ }
15
+
16
+ function goTime(time, direction, unit) {
17
+ return time.clone().add(direction, unit);
18
+ }
19
+
20
+ function includesTime() {
21
+ var timeList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
22
+ var time = arguments[1];
23
+ var unit = arguments[2];
24
+
25
+ return timeList.some(function (t) {
26
+ return t.isSame(time, unit);
27
+ });
28
+ }