empower-container 0.1.25 → 0.1.28

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