empower-container 0.1.23 → 0.1.26

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. package/README.md +378 -377
  2. package/dist/cjs/DatetimeFormatter.d.ts +3 -3
  3. package/dist/cjs/DatetimeFormatter.js +389 -389
  4. package/dist/cjs/Information.d.ts +10 -10
  5. package/dist/cjs/Information.js +63 -63
  6. package/dist/cjs/MenuBar.d.ts +24 -24
  7. package/dist/cjs/MenuBar.js +539 -539
  8. package/dist/cjs/Modal.d.ts +33 -33
  9. package/dist/cjs/Modal.js +44 -44
  10. package/dist/cjs/assets/Asset.d.ts +17 -17
  11. package/dist/cjs/assets/Asset.js +31 -31
  12. package/dist/cjs/constants/Constant.d.ts +15 -15
  13. package/dist/cjs/constants/Constant.js +35 -35
  14. package/dist/cjs/index.d.ts +3 -3
  15. package/dist/cjs/index.js +10 -10
  16. package/dist/cjs/inputs/Input.d.ts +25 -25
  17. package/dist/cjs/inputs/Input.js +106 -106
  18. package/dist/cjs/inputs/InputSelectionHandler.d.ts +3 -3
  19. package/dist/cjs/inputs/InputSelectionHandler.js +36 -36
  20. package/dist/cjs/inputs/Select.d.ts +28 -28
  21. package/dist/cjs/inputs/Select.js +403 -403
  22. package/dist/esm/DatetimeFormatter.d.ts +3 -3
  23. package/dist/esm/DatetimeFormatter.js +385 -385
  24. package/dist/esm/Information.d.ts +10 -10
  25. package/dist/esm/Information.js +38 -38
  26. package/dist/esm/MenuBar.d.ts +24 -24
  27. package/dist/esm/MenuBar.js +534 -534
  28. package/dist/esm/Modal.d.ts +33 -33
  29. package/dist/esm/Modal.js +39 -39
  30. package/dist/esm/assets/Asset.d.ts +17 -17
  31. package/dist/esm/assets/Asset.js +28 -28
  32. package/dist/esm/constants/Constant.d.ts +15 -15
  33. package/dist/esm/constants/Constant.js +32 -32
  34. package/dist/esm/index.d.ts +3 -3
  35. package/dist/esm/index.js +3 -3
  36. package/dist/esm/inputs/Input.d.ts +25 -25
  37. package/dist/esm/inputs/Input.js +104 -104
  38. package/dist/esm/inputs/InputSelectionHandler.d.ts +3 -3
  39. package/dist/esm/inputs/InputSelectionHandler.js +31 -31
  40. package/dist/esm/inputs/Select.d.ts +28 -28
  41. package/dist/esm/inputs/Select.js +399 -399
  42. package/dist/scss/components/_modal.scss +66 -66
  43. package/dist/scss/elements/_button.scss +132 -132
  44. package/dist/scss/elements/_index.scss +1 -1
  45. package/dist/scss/elements/_popover.scss +163 -8
  46. package/dist/scss/foundation/_colors.scss +59 -59
  47. package/dist/scss/foundation/_mixins.scss +40 -40
  48. package/dist/scss/foundation/_normalize.scss +203 -203
  49. package/dist/scss/foundation/_settings.scss +36 -36
  50. package/dist/scss/foundation/_typography.scss +94 -94
  51. package/dist/scss/library/_information.scss +72 -63
  52. package/dist/scss/library/_input.scss +37 -37
  53. package/dist/scss/library/_menubar.scss +244 -240
  54. package/dist/scss/library/_select.scss +254 -258
  55. package/dist/scss/style.scss +38 -38
  56. package/package.json +64 -62
  57. package/tscnofig.old +26 -26
@@ -1,389 +1,389 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUTCFullTime = void 0;
4
- /* eslint-disable no-useless-concat */
5
- var daysWeekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
6
- var daysWeekNamesFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Sat'];
7
- var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
8
- var monthNamesFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
9
- var addZero = function (i) {
10
- var num;
11
- if (i < 10) {
12
- num = "0" + i;
13
- }
14
- return num;
15
- };
16
- var getUTCFullTime = function (d) {
17
- if (Object.prototype.toString.call(d) === '[object Date]') {
18
- var h = addZero(d.getUTCHours());
19
- var m = addZero(d.getUTCMinutes());
20
- var s = addZero(d.getUTCSeconds());
21
- return h + ":" + m + ":" + s;
22
- }
23
- else {
24
- return '';
25
- }
26
- };
27
- exports.getUTCFullTime = getUTCFullTime;
28
- var datetimeFormatter = function (timestamp, format, todayServer, type, getServerTime, dateOnly) {
29
- if (format === void 0) { format = "datetime"; }
30
- if (todayServer === void 0) { todayServer = null; }
31
- if (type === void 0) { type = null; }
32
- if (getServerTime === void 0) { getServerTime = false; }
33
- if (dateOnly === void 0) { dateOnly = false; }
34
- try {
35
- var iosDate = void 0;
36
- if (timestamp && (timestamp.constructor === String || timestamp.constructor === Date || (timestamp.constructor === Object && timestamp.dateTimeStamp))) {
37
- var date = null;
38
- var arrayDate = [];
39
- todayServer = todayServer && todayServer.constructor === String ? todayServer.replace('+00', '') : null;
40
- if (type === 'time') {
41
- timestamp = '2021-01-01 ' + timestamp; //add date when the passed timestamp is time only and the desired format is time (use to fix NaN return)
42
- }
43
- if (timestamp === "today") {
44
- date = new Date();
45
- }
46
- else {
47
- if (timestamp && timestamp.constructor === String) {
48
- timestamp = timestamp.replace('+00', ''); //removing unnecessary gmt from backend as the time is already in ph
49
- arrayDate = timestamp.split(/[- :.]/);
50
- }
51
- else if (timestamp.constructor === Object && timestamp.dateTimeStamp && timestamp.source && timestamp.source === "v3") {
52
- // this will be used if the datetime from api is set to UTC already
53
- timestamp = timestamp.dateTimeStamp; //removing unnecessary gmt from backend as the time is already in ph
54
- arrayDate = timestamp.split(/[- :.]/);
55
- }
56
- if (arrayDate.length === 3) {
57
- iosDate = new Date(arrayDate[0], arrayDate[1] - 1, arrayDate[2], arrayDate[3]);
58
- }
59
- else if (arrayDate.length >= 5 && arrayDate.length <= 8) {
60
- iosDate = new Date(arrayDate[0], arrayDate[1] - 1, arrayDate[2], arrayDate[3], arrayDate[4], arrayDate[5]);
61
- }
62
- else if (arrayDate.length >= 9) {
63
- // new implementation for safari and for the node datetime
64
- iosDate = new Date(arrayDate[0] + " " + arrayDate[1] + " " + arrayDate[2] + " " + arrayDate[3] + " " + arrayDate[4] + ":" + arrayDate[5] + ":" + arrayDate[6] + " GMT");
65
- }
66
- else {
67
- iosDate = new Date(timestamp);
68
- }
69
- //checking if the function used the getServerTime
70
- if (getServerTime) {
71
- date = new Date(timestamp);
72
- }
73
- else {
74
- if (dateOnly) {
75
- date = new Date(timestamp).toLocaleString('en-US', { timeZone: 'GMT' }); //making the date picked as the default gmt so that the new date wont adjust by timezone
76
- date = new Date(date);
77
- }
78
- else {
79
- var currentTz = Intl.DateTimeFormat().resolvedOptions().timeZone;
80
- date = new Date(timestamp).toLocaleString('en-US', { timeZone: currentTz }); //making the date picked as the default gmt so that the new date wont adjust by timezone
81
- date = new Date(date);
82
- }
83
- }
84
- // for firefox
85
- if (date) {
86
- var splitTimeStampBySpace = timestamp.split(' ');
87
- if (splitTimeStampBySpace.length === 2) {
88
- if (isNaN(parseInt(splitTimeStampBySpace[0])) && splitTimeStampBySpace[1]) {
89
- date = new Date("".concat(splitTimeStampBySpace[0], " 01, ").concat(splitTimeStampBySpace[1]));
90
- }
91
- }
92
- }
93
- }
94
- if ((date && date.toString() !== 'Invalid Date') || (iosDate && iosDate.toString() !== 'Invalid Date')) {
95
- //get DATE
96
- var dayName = daysWeekNames[isNaN(date.getDay()) ? iosDate.getDay() : date.getDay()];
97
- var dayNameFull = daysWeekNamesFull[isNaN(date.getDay()) ? iosDate.getDay() : date.getDay()];
98
- var dayDate = ("0" + (isNaN(date.getDate()) ? iosDate.getDate() : date.getDate())).slice(-2);
99
- var monthName = monthNames[isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()];
100
- var monthNameFull = monthNamesFull[isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()];
101
- var year = isNaN(date.getFullYear()) ? iosDate.getFullYear() : date.getFullYear();
102
- var MonthNumeric = ("0" + (isNaN(date.getMonth()) ? (iosDate.getMonth() + 1) : (date.getMonth() + 1))).slice(-2);
103
- var firstDay = new Date(year, isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth(), 1);
104
- var lastDay = new Date(year, (isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()) + 1, 0);
105
- var monthFirstDay = ("0" + firstDay.getDate()).slice(-2);
106
- var monthLastDay = ("0" + lastDay.getDate()).slice(-2);
107
- //get TIME
108
- var hours = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
109
- var minutes = isNaN(date.getMinutes()) ? iosDate.getMinutes() : date.getMinutes();
110
- var seconds = isNaN(date.getSeconds()) ? iosDate.getSeconds() : date.getSeconds();
111
- var ampm = hours >= 12 ? 'PM' : 'AM';
112
- hours = hours % 12;
113
- hours = hours ? hours : 12; // the hour '0' should be '12'
114
- minutes = minutes < 10 ? '0' + minutes : minutes;
115
- seconds = seconds < 10 ? '0' + seconds : seconds;
116
- var strTime = hours + ':' + minutes + ' ' + ampm;
117
- var today = new Date();
118
- if (todayServer !== null) {
119
- today = new Date(todayServer);
120
- }
121
- var todayTS = Math.round((today).getTime() / 1000);
122
- var dateTS = Math.round((date).getTime() / 1000);
123
- var newFormat = null;
124
- switch (format) {
125
- case "datetime":
126
- // Mon, 01 Jan 2020 at 12:00PM
127
- newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
128
- break;
129
- case "datetime-no-day":
130
- // 01 Jan 2020 at 12:00PM
131
- newFormat = dayDate + " " + monthName + " " + year + " at " + strTime;
132
- break;
133
- case "date":
134
- // Mon, 01 Jan 2020
135
- newFormat = dayName + ", " + dayDate + " " + monthName + " " + year;
136
- break;
137
- case "momentsAgo":
138
- var diff = 0;
139
- var diffMinute = 0;
140
- if (todayTS >= dateTS) {
141
- //check if 24hours has been passed
142
- if (todayTS >= (dateTS + 86400)) {
143
- newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
144
- }
145
- else {
146
- //check if hour has been passed
147
- if (todayTS >= dateTS + 3600) {
148
- diff = todayTS - dateTS;
149
- if (diff === 0) {
150
- newFormat = "An hour ago";
151
- }
152
- var diffHour_1 = diff / 3600;
153
- diffHour_1 = ~~diffHour_1;
154
- newFormat = diffHour_1 === 1 ? "An hour ago" : diffHour_1 + " hours ago";
155
- }
156
- else {
157
- //check if a minute has been passed
158
- if (todayTS >= dateTS + 60) {
159
- diff = todayTS - dateTS;
160
- if (diff === 0) {
161
- newFormat = "A minute ago";
162
- }
163
- diffMinute = diff / 60;
164
- diffMinute = ~~diffMinute;
165
- newFormat = diffMinute === 1 ? "A minute ago" : diffMinute + " minutes ago";
166
- }
167
- else {
168
- var diff_1 = todayTS - dateTS;
169
- if (diff_1 === 0 || diff_1 <= 10) {
170
- newFormat = "Few seconds ago";
171
- }
172
- else {
173
- newFormat = "Few seconds ago";
174
- }
175
- }
176
- }
177
- }
178
- }
179
- else {
180
- newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
181
- }
182
- break;
183
- case "momentsAgoConvo":
184
- var diffHour = 0;
185
- if (todayTS >= dateTS) {
186
- //check if 24hours has been passed
187
- if (todayTS >= (dateTS + 86400)) {
188
- newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime + " (PH)";
189
- }
190
- else {
191
- //check if hour has been passed
192
- if (todayTS >= dateTS + 3600) {
193
- var diff_2 = todayTS - dateTS;
194
- if (diff_2 === 0) {
195
- newFormat = "An hour ago";
196
- }
197
- diffHour = diff_2 / 3600;
198
- diffHour = ~~diffHour;
199
- newFormat = diffHour === 1 ? "An hour ago" : diffHour + " hours ago";
200
- }
201
- else {
202
- //check if a minute has been passed
203
- if (todayTS >= dateTS + 60) {
204
- var diff_3 = todayTS - dateTS;
205
- if (diff_3 === 0) {
206
- newFormat = "A minute ago";
207
- }
208
- var diffMinute_1 = diff_3 / 60;
209
- diffMinute_1 = ~~diffMinute_1;
210
- newFormat = diffMinute_1 === 1 ? "A minute ago" : diffMinute_1 + " minutes ago";
211
- }
212
- else {
213
- var diff_4 = todayTS - dateTS;
214
- if (diff_4 === 0 || diff_4 <= 10) {
215
- newFormat = "Few moments ago";
216
- }
217
- else {
218
- newFormat = "Few seconds ago";
219
- }
220
- }
221
- }
222
- }
223
- }
224
- else {
225
- //Mon, 01 Jan 2020 (PH)
226
- newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime + " (PH)";
227
- }
228
- break;
229
- case "momentsAgoClimax":
230
- if (todayTS >= dateTS) {
231
- //check if 24hours has been passed
232
- if (todayTS >= (dateTS + 86400)) {
233
- var diff_5 = todayTS - dateTS;
234
- if (diff_5 === 0) {
235
- newFormat = "1 day";
236
- }
237
- var diffDay = diff_5 / 86400;
238
- diffDay = ~~diffDay;
239
- newFormat = diffDay === 1 ? "1 day" : diffDay + " days";
240
- }
241
- else {
242
- newFormat = "0 day";
243
- }
244
- }
245
- else {
246
- newFormat = "0 day";
247
- }
248
- break;
249
- case "inquiry-date-standard":
250
- newFormat = dayDate + " " + monthName + " " + year;
251
- //10 Feb 2021
252
- break;
253
- case "date-standard":
254
- newFormat = year + "-" + MonthNumeric + "-" + dayDate;
255
- //2021-02-10
256
- break;
257
- case "datetime-standard":
258
- newFormat = year + "-" + MonthNumeric + "-" + dayDate + ' ' + date.getHours() + ':' + date.getMinutes();
259
- //2021-02-10 15:49
260
- break;
261
- case "start-of-Week":
262
- //calculating the first day of the week
263
- var startWeekD = new Date(date);
264
- var startWeekDay = startWeekD.getDay(), startWeekDiff = startWeekD.getDate() - startWeekDay;
265
- var startWeekDayNewDate = new Date(startWeekD.setDate(startWeekDiff));
266
- var startWeekMonthName = monthNames[startWeekDayNewDate.getMonth()];
267
- var startWeekDayDate = ("0" + startWeekDayNewDate.getDate()).slice(-2);
268
- var startWeekYear = startWeekDayNewDate.getFullYear();
269
- newFormat = startWeekMonthName + " " + startWeekDayDate + ", " + startWeekYear;
270
- //Feb 07, 2021
271
- break;
272
- case "end-of-Week":
273
- var endWeekD = new Date(date);
274
- var endWeekDay = endWeekD.getDay(), endWeekDiff = endWeekD.getDate() - endWeekDay + 6;
275
- var endWeekDayNewDate = new Date(endWeekD.setDate(endWeekDiff));
276
- var endWeekMonthName = monthNames[endWeekDayNewDate.getMonth()];
277
- var endWeekDayDate = ("0" + endWeekDayNewDate.getDate()).slice(-2);
278
- var endWeekYear = endWeekDayNewDate.getFullYear();
279
- newFormat = endWeekMonthName + " " + endWeekDayDate + ", " + endWeekYear;
280
- //Feb 13, 2021
281
- break;
282
- case "full-year":
283
- newFormat = year;
284
- //2021
285
- break;
286
- case "full-month":
287
- newFormat = monthNameFull;
288
- //February
289
- break;
290
- case "month-year":
291
- newFormat = monthName.substring(0, 3) + " " + year;
292
- //Feb 2021
293
- break;
294
- case "full-month-year":
295
- newFormat = monthNameFull + " " + year;
296
- //February 2021
297
- break;
298
- case "datetime-format-forPosting":
299
- var forPostingDay = String(date.getUTCDate());
300
- if (forPostingDay.length === 1) {
301
- forPostingDay = "0" + forPostingDay;
302
- }
303
- newFormat = date.getUTCFullYear() + '-' + addZero(date.getUTCMonth() + 1) + '-' + forPostingDay + 'T' + (0, exports.getUTCFullTime)(date) + 'Z';
304
- //2021-02-10T07:57:05Z
305
- break;
306
- case "month-day-year":
307
- newFormat = monthNameFull + " " + dayDate + ", " + year;
308
- //February 10, 2021
309
- break;
310
- case "time":
311
- newFormat = strTime;
312
- //3:58 PM
313
- break;
314
- case "month-numeric":
315
- newFormat = addZero(date.getUTCMonth() + 1);
316
- //02
317
- break;
318
- case "month-shortName":
319
- newFormat = monthName.substring(0, 3);
320
- //Feb
321
- break;
322
- case "day-numeric":
323
- newFormat = date.getUTCDate();
324
- //10
325
- break;
326
- case "day-calendar":
327
- newFormat = dayDate;
328
- //10
329
- break;
330
- case "month-first-date":
331
- newFormat = year + "-" + MonthNumeric + "-" + monthFirstDay;
332
- break;
333
- case "month-last-date":
334
- newFormat = year + "-" + MonthNumeric + "-" + monthLastDay;
335
- break;
336
- case "day-name":
337
- newFormat = dayName;
338
- break;
339
- case "day-name-full":
340
- newFormat = dayNameFull;
341
- break;
342
- case 'month-day':
343
- newFormat = MonthNumeric + '-' + dayDate;
344
- break;
345
- case 'date-without-year':
346
- newFormat = dayName + ", " + monthName + " " + dayDate;
347
- break;
348
- case "time-standard":
349
- var h = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
350
- var hour = h < 10 ? '0' + h : h;
351
- newFormat = hour + ':' + minutes;
352
- // 15:30
353
- break;
354
- case 'notif-date':
355
- // 01-Jan-2020
356
- newFormat = dayDate + "-" + monthName + "-" + year;
357
- break;
358
- case 'year-month':
359
- newFormat = year + "-" + MonthNumeric;
360
- break;
361
- case "datetime-utc":
362
- newFormat = year + "-" + MonthNumeric + "-" + dayDate + ' 00:00:00+00';
363
- //2021-02-10 00:00:00+00
364
- break;
365
- case 'datetime-file-format':
366
- hours = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
367
- hours = hours < 10 ? '0' + hours : hours;
368
- newFormat = year + "-" + "".concat(MonthNumeric) + "".concat(date.getUTCDate()) + "".concat(hours) + "".concat(minutes) + "".concat(seconds) + "".concat('1');
369
- break;
370
- default:
371
- newFormat = "";
372
- break;
373
- }
374
- return newFormat;
375
- }
376
- else {
377
- return "";
378
- }
379
- }
380
- else {
381
- return "";
382
- }
383
- }
384
- catch (error) {
385
- console.error(error, 'Invalid input. Please check helpers (datetimeFormatter).');
386
- return "";
387
- }
388
- };
389
- exports.default = datetimeFormatter;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUTCFullTime = void 0;
4
+ /* eslint-disable no-useless-concat */
5
+ var daysWeekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
6
+ var daysWeekNamesFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Sat'];
7
+ var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
8
+ var monthNamesFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
9
+ var addZero = function (i) {
10
+ var num;
11
+ if (i < 10) {
12
+ num = "0" + i;
13
+ }
14
+ return num;
15
+ };
16
+ var getUTCFullTime = function (d) {
17
+ if (Object.prototype.toString.call(d) === '[object Date]') {
18
+ var h = addZero(d.getUTCHours());
19
+ var m = addZero(d.getUTCMinutes());
20
+ var s = addZero(d.getUTCSeconds());
21
+ return h + ":" + m + ":" + s;
22
+ }
23
+ else {
24
+ return '';
25
+ }
26
+ };
27
+ exports.getUTCFullTime = getUTCFullTime;
28
+ var datetimeFormatter = function (timestamp, format, todayServer, type, getServerTime, dateOnly) {
29
+ if (format === void 0) { format = "datetime"; }
30
+ if (todayServer === void 0) { todayServer = null; }
31
+ if (type === void 0) { type = null; }
32
+ if (getServerTime === void 0) { getServerTime = false; }
33
+ if (dateOnly === void 0) { dateOnly = false; }
34
+ try {
35
+ var iosDate = void 0;
36
+ if (timestamp && (timestamp.constructor === String || timestamp.constructor === Date || (timestamp.constructor === Object && timestamp.dateTimeStamp))) {
37
+ var date = null;
38
+ var arrayDate = [];
39
+ todayServer = todayServer && todayServer.constructor === String ? todayServer.replace('+00', '') : null;
40
+ if (type === 'time') {
41
+ timestamp = '2021-01-01 ' + timestamp; //add date when the passed timestamp is time only and the desired format is time (use to fix NaN return)
42
+ }
43
+ if (timestamp === "today") {
44
+ date = new Date();
45
+ }
46
+ else {
47
+ if (timestamp && timestamp.constructor === String) {
48
+ timestamp = timestamp.replace('+00', ''); //removing unnecessary gmt from backend as the time is already in ph
49
+ arrayDate = timestamp.split(/[- :.]/);
50
+ }
51
+ else if (timestamp.constructor === Object && timestamp.dateTimeStamp && timestamp.source && timestamp.source === "v3") {
52
+ // this will be used if the datetime from api is set to UTC already
53
+ timestamp = timestamp.dateTimeStamp; //removing unnecessary gmt from backend as the time is already in ph
54
+ arrayDate = timestamp.split(/[- :.]/);
55
+ }
56
+ if (arrayDate.length === 3) {
57
+ iosDate = new Date(arrayDate[0], arrayDate[1] - 1, arrayDate[2], arrayDate[3]);
58
+ }
59
+ else if (arrayDate.length >= 5 && arrayDate.length <= 8) {
60
+ iosDate = new Date(arrayDate[0], arrayDate[1] - 1, arrayDate[2], arrayDate[3], arrayDate[4], arrayDate[5]);
61
+ }
62
+ else if (arrayDate.length >= 9) {
63
+ // new implementation for safari and for the node datetime
64
+ iosDate = new Date(arrayDate[0] + " " + arrayDate[1] + " " + arrayDate[2] + " " + arrayDate[3] + " " + arrayDate[4] + ":" + arrayDate[5] + ":" + arrayDate[6] + " GMT");
65
+ }
66
+ else {
67
+ iosDate = new Date(timestamp);
68
+ }
69
+ //checking if the function used the getServerTime
70
+ if (getServerTime) {
71
+ date = new Date(timestamp);
72
+ }
73
+ else {
74
+ if (dateOnly) {
75
+ date = new Date(timestamp).toLocaleString('en-US', { timeZone: 'GMT' }); //making the date picked as the default gmt so that the new date wont adjust by timezone
76
+ date = new Date(date);
77
+ }
78
+ else {
79
+ var currentTz = Intl.DateTimeFormat().resolvedOptions().timeZone;
80
+ date = new Date(timestamp).toLocaleString('en-US', { timeZone: currentTz }); //making the date picked as the default gmt so that the new date wont adjust by timezone
81
+ date = new Date(date);
82
+ }
83
+ }
84
+ // for firefox
85
+ if (date) {
86
+ var splitTimeStampBySpace = timestamp.split(' ');
87
+ if (splitTimeStampBySpace.length === 2) {
88
+ if (isNaN(parseInt(splitTimeStampBySpace[0])) && splitTimeStampBySpace[1]) {
89
+ date = new Date("".concat(splitTimeStampBySpace[0], " 01, ").concat(splitTimeStampBySpace[1]));
90
+ }
91
+ }
92
+ }
93
+ }
94
+ if ((date && date.toString() !== 'Invalid Date') || (iosDate && iosDate.toString() !== 'Invalid Date')) {
95
+ //get DATE
96
+ var dayName = daysWeekNames[isNaN(date.getDay()) ? iosDate.getDay() : date.getDay()];
97
+ var dayNameFull = daysWeekNamesFull[isNaN(date.getDay()) ? iosDate.getDay() : date.getDay()];
98
+ var dayDate = ("0" + (isNaN(date.getDate()) ? iosDate.getDate() : date.getDate())).slice(-2);
99
+ var monthName = monthNames[isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()];
100
+ var monthNameFull = monthNamesFull[isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()];
101
+ var year = isNaN(date.getFullYear()) ? iosDate.getFullYear() : date.getFullYear();
102
+ var MonthNumeric = ("0" + (isNaN(date.getMonth()) ? (iosDate.getMonth() + 1) : (date.getMonth() + 1))).slice(-2);
103
+ var firstDay = new Date(year, isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth(), 1);
104
+ var lastDay = new Date(year, (isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()) + 1, 0);
105
+ var monthFirstDay = ("0" + firstDay.getDate()).slice(-2);
106
+ var monthLastDay = ("0" + lastDay.getDate()).slice(-2);
107
+ //get TIME
108
+ var hours = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
109
+ var minutes = isNaN(date.getMinutes()) ? iosDate.getMinutes() : date.getMinutes();
110
+ var seconds = isNaN(date.getSeconds()) ? iosDate.getSeconds() : date.getSeconds();
111
+ var ampm = hours >= 12 ? 'PM' : 'AM';
112
+ hours = hours % 12;
113
+ hours = hours ? hours : 12; // the hour '0' should be '12'
114
+ minutes = minutes < 10 ? '0' + minutes : minutes;
115
+ seconds = seconds < 10 ? '0' + seconds : seconds;
116
+ var strTime = hours + ':' + minutes + ' ' + ampm;
117
+ var today = new Date();
118
+ if (todayServer !== null) {
119
+ today = new Date(todayServer);
120
+ }
121
+ var todayTS = Math.round((today).getTime() / 1000);
122
+ var dateTS = Math.round((date).getTime() / 1000);
123
+ var newFormat = null;
124
+ switch (format) {
125
+ case "datetime":
126
+ // Mon, 01 Jan 2020 at 12:00PM
127
+ newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
128
+ break;
129
+ case "datetime-no-day":
130
+ // 01 Jan 2020 at 12:00PM
131
+ newFormat = dayDate + " " + monthName + " " + year + " at " + strTime;
132
+ break;
133
+ case "date":
134
+ // Mon, 01 Jan 2020
135
+ newFormat = dayName + ", " + dayDate + " " + monthName + " " + year;
136
+ break;
137
+ case "momentsAgo":
138
+ var diff = 0;
139
+ var diffMinute = 0;
140
+ if (todayTS >= dateTS) {
141
+ //check if 24hours has been passed
142
+ if (todayTS >= (dateTS + 86400)) {
143
+ newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
144
+ }
145
+ else {
146
+ //check if hour has been passed
147
+ if (todayTS >= dateTS + 3600) {
148
+ diff = todayTS - dateTS;
149
+ if (diff === 0) {
150
+ newFormat = "An hour ago";
151
+ }
152
+ var diffHour_1 = diff / 3600;
153
+ diffHour_1 = ~~diffHour_1;
154
+ newFormat = diffHour_1 === 1 ? "An hour ago" : diffHour_1 + " hours ago";
155
+ }
156
+ else {
157
+ //check if a minute has been passed
158
+ if (todayTS >= dateTS + 60) {
159
+ diff = todayTS - dateTS;
160
+ if (diff === 0) {
161
+ newFormat = "A minute ago";
162
+ }
163
+ diffMinute = diff / 60;
164
+ diffMinute = ~~diffMinute;
165
+ newFormat = diffMinute === 1 ? "A minute ago" : diffMinute + " minutes ago";
166
+ }
167
+ else {
168
+ var diff_1 = todayTS - dateTS;
169
+ if (diff_1 === 0 || diff_1 <= 10) {
170
+ newFormat = "Few seconds ago";
171
+ }
172
+ else {
173
+ newFormat = "Few seconds ago";
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ else {
180
+ newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
181
+ }
182
+ break;
183
+ case "momentsAgoConvo":
184
+ var diffHour = 0;
185
+ if (todayTS >= dateTS) {
186
+ //check if 24hours has been passed
187
+ if (todayTS >= (dateTS + 86400)) {
188
+ newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime + " (PH)";
189
+ }
190
+ else {
191
+ //check if hour has been passed
192
+ if (todayTS >= dateTS + 3600) {
193
+ var diff_2 = todayTS - dateTS;
194
+ if (diff_2 === 0) {
195
+ newFormat = "An hour ago";
196
+ }
197
+ diffHour = diff_2 / 3600;
198
+ diffHour = ~~diffHour;
199
+ newFormat = diffHour === 1 ? "An hour ago" : diffHour + " hours ago";
200
+ }
201
+ else {
202
+ //check if a minute has been passed
203
+ if (todayTS >= dateTS + 60) {
204
+ var diff_3 = todayTS - dateTS;
205
+ if (diff_3 === 0) {
206
+ newFormat = "A minute ago";
207
+ }
208
+ var diffMinute_1 = diff_3 / 60;
209
+ diffMinute_1 = ~~diffMinute_1;
210
+ newFormat = diffMinute_1 === 1 ? "A minute ago" : diffMinute_1 + " minutes ago";
211
+ }
212
+ else {
213
+ var diff_4 = todayTS - dateTS;
214
+ if (diff_4 === 0 || diff_4 <= 10) {
215
+ newFormat = "Few moments ago";
216
+ }
217
+ else {
218
+ newFormat = "Few seconds ago";
219
+ }
220
+ }
221
+ }
222
+ }
223
+ }
224
+ else {
225
+ //Mon, 01 Jan 2020 (PH)
226
+ newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime + " (PH)";
227
+ }
228
+ break;
229
+ case "momentsAgoClimax":
230
+ if (todayTS >= dateTS) {
231
+ //check if 24hours has been passed
232
+ if (todayTS >= (dateTS + 86400)) {
233
+ var diff_5 = todayTS - dateTS;
234
+ if (diff_5 === 0) {
235
+ newFormat = "1 day";
236
+ }
237
+ var diffDay = diff_5 / 86400;
238
+ diffDay = ~~diffDay;
239
+ newFormat = diffDay === 1 ? "1 day" : diffDay + " days";
240
+ }
241
+ else {
242
+ newFormat = "0 day";
243
+ }
244
+ }
245
+ else {
246
+ newFormat = "0 day";
247
+ }
248
+ break;
249
+ case "inquiry-date-standard":
250
+ newFormat = dayDate + " " + monthName + " " + year;
251
+ //10 Feb 2021
252
+ break;
253
+ case "date-standard":
254
+ newFormat = year + "-" + MonthNumeric + "-" + dayDate;
255
+ //2021-02-10
256
+ break;
257
+ case "datetime-standard":
258
+ newFormat = year + "-" + MonthNumeric + "-" + dayDate + ' ' + date.getHours() + ':' + date.getMinutes();
259
+ //2021-02-10 15:49
260
+ break;
261
+ case "start-of-Week":
262
+ //calculating the first day of the week
263
+ var startWeekD = new Date(date);
264
+ var startWeekDay = startWeekD.getDay(), startWeekDiff = startWeekD.getDate() - startWeekDay;
265
+ var startWeekDayNewDate = new Date(startWeekD.setDate(startWeekDiff));
266
+ var startWeekMonthName = monthNames[startWeekDayNewDate.getMonth()];
267
+ var startWeekDayDate = ("0" + startWeekDayNewDate.getDate()).slice(-2);
268
+ var startWeekYear = startWeekDayNewDate.getFullYear();
269
+ newFormat = startWeekMonthName + " " + startWeekDayDate + ", " + startWeekYear;
270
+ //Feb 07, 2021
271
+ break;
272
+ case "end-of-Week":
273
+ var endWeekD = new Date(date);
274
+ var endWeekDay = endWeekD.getDay(), endWeekDiff = endWeekD.getDate() - endWeekDay + 6;
275
+ var endWeekDayNewDate = new Date(endWeekD.setDate(endWeekDiff));
276
+ var endWeekMonthName = monthNames[endWeekDayNewDate.getMonth()];
277
+ var endWeekDayDate = ("0" + endWeekDayNewDate.getDate()).slice(-2);
278
+ var endWeekYear = endWeekDayNewDate.getFullYear();
279
+ newFormat = endWeekMonthName + " " + endWeekDayDate + ", " + endWeekYear;
280
+ //Feb 13, 2021
281
+ break;
282
+ case "full-year":
283
+ newFormat = year;
284
+ //2021
285
+ break;
286
+ case "full-month":
287
+ newFormat = monthNameFull;
288
+ //February
289
+ break;
290
+ case "month-year":
291
+ newFormat = monthName.substring(0, 3) + " " + year;
292
+ //Feb 2021
293
+ break;
294
+ case "full-month-year":
295
+ newFormat = monthNameFull + " " + year;
296
+ //February 2021
297
+ break;
298
+ case "datetime-format-forPosting":
299
+ var forPostingDay = String(date.getUTCDate());
300
+ if (forPostingDay.length === 1) {
301
+ forPostingDay = "0" + forPostingDay;
302
+ }
303
+ newFormat = date.getUTCFullYear() + '-' + addZero(date.getUTCMonth() + 1) + '-' + forPostingDay + 'T' + (0, exports.getUTCFullTime)(date) + 'Z';
304
+ //2021-02-10T07:57:05Z
305
+ break;
306
+ case "month-day-year":
307
+ newFormat = monthNameFull + " " + dayDate + ", " + year;
308
+ //February 10, 2021
309
+ break;
310
+ case "time":
311
+ newFormat = strTime;
312
+ //3:58 PM
313
+ break;
314
+ case "month-numeric":
315
+ newFormat = addZero(date.getUTCMonth() + 1);
316
+ //02
317
+ break;
318
+ case "month-shortName":
319
+ newFormat = monthName.substring(0, 3);
320
+ //Feb
321
+ break;
322
+ case "day-numeric":
323
+ newFormat = date.getUTCDate();
324
+ //10
325
+ break;
326
+ case "day-calendar":
327
+ newFormat = dayDate;
328
+ //10
329
+ break;
330
+ case "month-first-date":
331
+ newFormat = year + "-" + MonthNumeric + "-" + monthFirstDay;
332
+ break;
333
+ case "month-last-date":
334
+ newFormat = year + "-" + MonthNumeric + "-" + monthLastDay;
335
+ break;
336
+ case "day-name":
337
+ newFormat = dayName;
338
+ break;
339
+ case "day-name-full":
340
+ newFormat = dayNameFull;
341
+ break;
342
+ case 'month-day':
343
+ newFormat = MonthNumeric + '-' + dayDate;
344
+ break;
345
+ case 'date-without-year':
346
+ newFormat = dayName + ", " + monthName + " " + dayDate;
347
+ break;
348
+ case "time-standard":
349
+ var h = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
350
+ var hour = h < 10 ? '0' + h : h;
351
+ newFormat = hour + ':' + minutes;
352
+ // 15:30
353
+ break;
354
+ case 'notif-date':
355
+ // 01-Jan-2020
356
+ newFormat = dayDate + "-" + monthName + "-" + year;
357
+ break;
358
+ case 'year-month':
359
+ newFormat = year + "-" + MonthNumeric;
360
+ break;
361
+ case "datetime-utc":
362
+ newFormat = year + "-" + MonthNumeric + "-" + dayDate + ' 00:00:00+00';
363
+ //2021-02-10 00:00:00+00
364
+ break;
365
+ case 'datetime-file-format':
366
+ hours = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
367
+ hours = hours < 10 ? '0' + hours : hours;
368
+ newFormat = year + "-" + "".concat(MonthNumeric) + "".concat(date.getUTCDate()) + "".concat(hours) + "".concat(minutes) + "".concat(seconds) + "".concat('1');
369
+ break;
370
+ default:
371
+ newFormat = "";
372
+ break;
373
+ }
374
+ return newFormat;
375
+ }
376
+ else {
377
+ return "";
378
+ }
379
+ }
380
+ else {
381
+ return "";
382
+ }
383
+ }
384
+ catch (error) {
385
+ console.error(error, 'Invalid input. Please check helpers (datetimeFormatter).');
386
+ return "";
387
+ }
388
+ };
389
+ exports.default = datetimeFormatter;