@bigbinary/neeto-commons-frontend 4.13.67 → 4.13.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configs/babel.js +2 -0
- package/configs/esbuild/alias.js +6 -0
- package/configs/esbuild/constants.js +4 -0
- package/dist/cjs/initializers/dayjs.js +1 -1
- package/dist/cjs/initializers/index.js +1 -1
- package/dist/cjs/react-utils/index.js +1 -0
- package/dist/cjs/react-utils/index.js.map +1 -1
- package/dist/cjs/react-utils/useLocalStorage/index.js +1 -0
- package/dist/cjs/react-utils/useLocalStorage/index.js.map +1 -1
- package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js +2 -1
- package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js.map +1 -1
- package/dist/cjs/utils/customParseFormatPlugin.js +308 -0
- package/dist/cjs/utils/customParseFormatPlugin.js.map +1 -0
- package/dist/cjs/utils/deviceInformation.js +255 -0
- package/dist/cjs/utils/deviceInformation.js.map +1 -0
- package/dist/cjs/utils/index.js +3 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/timezonePlugin.js +4 -4
- package/dist/cjs/utils/timezonePlugin.js.map +1 -1
- package/dist/initializers/dayjs.js +1 -1
- package/dist/initializers/index.js +1 -1
- package/dist/react-utils/index.js +1 -0
- package/dist/react-utils/index.js.map +1 -1
- package/dist/react-utils/useLocalStorage/index.js +1 -0
- package/dist/react-utils/useLocalStorage/index.js.map +1 -1
- package/dist/react-utils/useLocalStorage/useLocalStorage.js +2 -1
- package/dist/react-utils/useLocalStorage/useLocalStorage.js.map +1 -1
- package/dist/utils/customParseFormatPlugin.js +306 -0
- package/dist/utils/customParseFormatPlugin.js.map +1 -0
- package/dist/utils/deviceInformation.js +253 -0
- package/dist/utils/deviceInformation.js.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/timezonePlugin.js +4 -4
- package/dist/utils/timezonePlugin.js.map +1 -1
- package/package.json +5 -3
- package/utils.d.ts +141 -1
package/configs/babel.js
CHANGED
|
@@ -55,6 +55,8 @@ module.exports = function (api) {
|
|
|
55
55
|
{
|
|
56
56
|
root: ["./src"],
|
|
57
57
|
alias: {
|
|
58
|
+
"dayjs/plugin/customParseFormat":
|
|
59
|
+
"@bigbinary/neeto-commons-frontend/utils/customParseFormatPlugin",
|
|
58
60
|
"dayjs/plugin/timezone":
|
|
59
61
|
"@bigbinary/neeto-commons-frontend/utils/timezonePlugin",
|
|
60
62
|
},
|
package/configs/esbuild/alias.js
CHANGED
|
@@ -20,6 +20,12 @@ module.exports = {
|
|
|
20
20
|
"../../../",
|
|
21
21
|
"neeto-time-zones/dist"
|
|
22
22
|
),
|
|
23
|
+
"dayjs/plugin/customParseFormat": require.resolve(
|
|
24
|
+
"@bigbinary/neeto-commons-frontend/utils/customParseFormatPlugin"
|
|
25
|
+
),
|
|
26
|
+
"dayjs/plugin/timezone": require.resolve(
|
|
27
|
+
"@bigbinary/neeto-commons-frontend/utils/timezonePlugin"
|
|
28
|
+
),
|
|
23
29
|
images: path.resolve(process.cwd(), "app/assets/images"),
|
|
24
30
|
assert: require.resolve("assert/"),
|
|
25
31
|
buffer: require.resolve("buffer/"),
|
|
@@ -8,6 +8,8 @@ const VITE_BABEL_CONFIG = {
|
|
|
8
8
|
{
|
|
9
9
|
root: ["./src"],
|
|
10
10
|
alias: {
|
|
11
|
+
"dayjs/plugin/customParseFormat":
|
|
12
|
+
"@bigbinary/neeto-commons-frontend/utils/customParseFormatPlugin",
|
|
11
13
|
"dayjs/plugin/timezone":
|
|
12
14
|
"@bigbinary/neeto-commons-frontend/utils/timezonePlugin",
|
|
13
15
|
},
|
|
@@ -25,6 +27,8 @@ const BABEL_CONFIG = {
|
|
|
25
27
|
{
|
|
26
28
|
root: ["./src"],
|
|
27
29
|
alias: {
|
|
30
|
+
"dayjs/plugin/customParseFormat":
|
|
31
|
+
"@bigbinary/neeto-commons-frontend/utils/customParseFormatPlugin",
|
|
28
32
|
"dayjs/plugin/timezone":
|
|
29
33
|
"@bigbinary/neeto-commons-frontend/utils/timezonePlugin",
|
|
30
34
|
},
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var pureDayjs = require('dayjs');
|
|
4
4
|
var advancedFormat = require('dayjs/plugin/advancedFormat');
|
|
5
|
-
var customParseFormat = require('
|
|
5
|
+
var customParseFormat = require('@bigbinary/neeto-commons-frontend/utils/customParseFormatPlugin');
|
|
6
6
|
var duration = require('dayjs/plugin/duration');
|
|
7
7
|
var isSameOrAfter = require('dayjs/plugin/isSameOrAfter');
|
|
8
8
|
var isSameOrBefore = require('dayjs/plugin/isSameOrBefore');
|
|
@@ -25,7 +25,7 @@ require('./axiosInitializer/paramsSerializer.js');
|
|
|
25
25
|
require('qs');
|
|
26
26
|
require('dayjs');
|
|
27
27
|
require('dayjs/plugin/advancedFormat');
|
|
28
|
-
require('
|
|
28
|
+
require('@bigbinary/neeto-commons-frontend/utils/customParseFormatPlugin');
|
|
29
29
|
require('dayjs/plugin/duration');
|
|
30
30
|
require('dayjs/plugin/isSameOrAfter');
|
|
31
31
|
require('dayjs/plugin/isSameOrBefore');
|
|
@@ -71,6 +71,7 @@ require('../utils/createSubscription.js');
|
|
|
71
71
|
require('@rails/actioncable');
|
|
72
72
|
require('yup');
|
|
73
73
|
require('../mixpanel.module-ajRn5e0J.js');
|
|
74
|
+
require('ua-parser-js');
|
|
74
75
|
require('@tanstack/react-query');
|
|
75
76
|
require('./useBreakpoints/utils.js');
|
|
76
77
|
require('./BrowserPushNotifications/devices.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -13,9 +13,10 @@ require('i18next');
|
|
|
13
13
|
require('yup');
|
|
14
14
|
require('../../mixpanel.module-ajRn5e0J.js');
|
|
15
15
|
require('@bigbinary/neeto-cist');
|
|
16
|
+
require('../../index-BskY8dVw.js');
|
|
17
|
+
require('ua-parser-js');
|
|
16
18
|
require('../../unsupportedIterableToArray-BoHMiKNA.js');
|
|
17
19
|
require('../../objectWithoutProperties-wSsbHFcG.js');
|
|
18
|
-
require('../../index-BskY8dVw.js');
|
|
19
20
|
require('../../defineProperty-lChFfVqi.js');
|
|
20
21
|
require('../../typeof-D4ZZ_FlZ.js');
|
|
21
22
|
require('@bigbinary/neetoui/Toastr');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocalStorage.js","sources":["../../../../src/react-utils/useLocalStorage/useLocalStorage.js"],"sourcesContent":["/* eslint-disable @bigbinary/neeto/no-local-storage */\n\nimport { useState } from \"react\";\n\nimport { isNil } from \"ramda\";\nimport { removeFromLocalStorage, setToLocalStorage } from \"utils\";\n\nconst getStorageValue = (key, defaultValue) => {\n try {\n const storedValue = localStorage.getItem(key);\n\n return storedValue ? JSON.parse(storedValue) : defaultValue;\n } catch (error) {\n logger.error(error);\n\n return defaultValue;\n }\n};\n\nconst useLocalStorage = (key, defaultValue) => {\n const [storedValue, setStoredValue] = useState(() =>\n getStorageValue(key, defaultValue)\n );\n\n const setValue = value =>\n setStoredValue(prevStoredValue => {\n const newValue =\n typeof value === \"function\" ? value(prevStoredValue) : value;\n\n if (isNil(newValue)) {\n removeFromLocalStorage(key);\n } else {\n setToLocalStorage(key, newValue);\n }\n\n return newValue;\n });\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"names":["getStorageValue","key","defaultValue","storedValue","localStorage","getItem","JSON","parse","error","logger","useLocalStorage","_useState","useState","_useState2","_slicedToArray","setStoredValue","setValue","value","prevStoredValue","newValue","isNil","removeFromLocalStorage","setToLocalStorage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLocalStorage.js","sources":["../../../../src/react-utils/useLocalStorage/useLocalStorage.js"],"sourcesContent":["/* eslint-disable @bigbinary/neeto/no-local-storage */\n\nimport { useState } from \"react\";\n\nimport { isNil } from \"ramda\";\nimport { removeFromLocalStorage, setToLocalStorage } from \"utils\";\n\nconst getStorageValue = (key, defaultValue) => {\n try {\n const storedValue = localStorage.getItem(key);\n\n return storedValue ? JSON.parse(storedValue) : defaultValue;\n } catch (error) {\n logger.error(error);\n\n return defaultValue;\n }\n};\n\nconst useLocalStorage = (key, defaultValue) => {\n const [storedValue, setStoredValue] = useState(() =>\n getStorageValue(key, defaultValue)\n );\n\n const setValue = value =>\n setStoredValue(prevStoredValue => {\n const newValue =\n typeof value === \"function\" ? value(prevStoredValue) : value;\n\n if (isNil(newValue)) {\n removeFromLocalStorage(key);\n } else {\n setToLocalStorage(key, newValue);\n }\n\n return newValue;\n });\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"names":["getStorageValue","key","defaultValue","storedValue","localStorage","getItem","JSON","parse","error","logger","useLocalStorage","_useState","useState","_useState2","_slicedToArray","setStoredValue","setValue","value","prevStoredValue","newValue","isNil","removeFromLocalStorage","setToLocalStorage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,GAAG,EAAEC,YAAY,EAAK;EAC7C,IAAI;AACF,IAAA,IAAMC,WAAW,GAAGC,YAAY,CAACC,OAAO,CAACJ,GAAG,CAAC;IAE7C,OAAOE,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC,GAAGD,YAAY;GAC5D,CAAC,OAAOM,KAAK,EAAE;AACdC,IAAAA,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC;AAEnB,IAAA,OAAON,YAAY;AACrB;AACF,CAAC;AAEKQ,IAAAA,eAAe,GAAG,SAAlBA,eAAeA,CAAIT,GAAG,EAAEC,YAAY,EAAK;EAC7C,IAAAS,SAAA,GAAsCC,cAAQ,CAAC,YAAA;AAAA,MAAA,OAC7CZ,eAAe,CAACC,GAAG,EAAEC,YAAY,CAAC;AAAA,KACpC,CAAC;IAAAW,UAAA,GAAAC,4BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAFMR,IAAAA,WAAW,GAAAU,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAIlC,EAAA,IAAMG,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,KAAK,EAAA;AAAA,IAAA,OACpBF,cAAc,CAAC,UAAAG,eAAe,EAAI;AAChC,MAAA,IAAMC,QAAQ,GACZ,OAAOF,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACC,eAAe,CAAC,GAAGD,KAAK;AAE9D,MAAA,IAAIG,WAAK,CAACD,QAAQ,CAAC,EAAE;QACnBE,oCAAsB,CAACpB,GAAG,CAAC;AAC7B,OAAC,MAAM;AACLqB,QAAAA,+BAAiB,CAACrB,GAAG,EAAEkB,QAAQ,CAAC;AAClC;AAEA,MAAA,OAAOA,QAAQ;AACjB,KAAC,CAAC;AAAA,GAAA;AAEJ,EAAA,OAAO,CAAChB,WAAW,EAAEa,QAAQ,CAAC;AAChC;;;;"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var slicedToArray = require('../slicedToArray-BcL7fKuL.js');
|
|
4
|
+
require('../unsupportedIterableToArray-BoHMiKNA.js');
|
|
5
|
+
|
|
6
|
+
/* eslint-disable */
|
|
7
|
+
// Temporary patch file. We can remove this file after the issue is fixed in Day.js.
|
|
8
|
+
// Ref: https://github.com/neetozone/neeto-commons-frontend/issues/1540#issuecomment-3303934948
|
|
9
|
+
|
|
10
|
+
var t = function t(format) {
|
|
11
|
+
return format.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (_, a, b) {
|
|
12
|
+
return a || b.slice(1);
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var englishFormats = {
|
|
16
|
+
LTS: "h:mm:ss A",
|
|
17
|
+
LT: "h:mm A",
|
|
18
|
+
L: "MM/DD/YYYY",
|
|
19
|
+
LL: "MMMM D, YYYY",
|
|
20
|
+
LLL: "MMMM D, YYYY h:mm A",
|
|
21
|
+
LLLL: "dddd, MMMM D, YYYY h:mm A"
|
|
22
|
+
};
|
|
23
|
+
var u = function u(formatStr, formats) {
|
|
24
|
+
return formatStr.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (_, a, b) {
|
|
25
|
+
var B = b && b.toUpperCase();
|
|
26
|
+
return a || formats[b] || englishFormats[b] || t(formats[B]);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
var formattingTokens = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g;
|
|
30
|
+
var match1 = /\d/; // 0 - 9
|
|
31
|
+
var match2 = /\d\d/; // 00 - 99
|
|
32
|
+
var match3 = /\d{3}/; // 000 - 999
|
|
33
|
+
var match4 = /\d{4}/; // 0000 - 9999
|
|
34
|
+
var match1to2 = /\d\d?/; // 0 - 99
|
|
35
|
+
var matchSigned = /[+-]?\d+/; // -inf - inf
|
|
36
|
+
var matchOffset = /[+-]\d\d:?(\d\d)?|Z/; // +00:00 -00:00 +0000 or -0000 +00 or Z
|
|
37
|
+
var matchWord = /\d*[^-_:/,()\s\d]+/; // Word
|
|
38
|
+
|
|
39
|
+
var locale = {};
|
|
40
|
+
var parseTwoDigitYear = function parseTwoDigitYear(input) {
|
|
41
|
+
input = +input;
|
|
42
|
+
return input + (input > 68 ? 1900 : 2000);
|
|
43
|
+
};
|
|
44
|
+
function offsetFromString(string) {
|
|
45
|
+
if (!string) return 0;
|
|
46
|
+
if (string === "Z") return 0;
|
|
47
|
+
var parts = string.match(/([+-]|\d\d)/g);
|
|
48
|
+
var minutes = +(parts[1] * 60) + (+parts[2] || 0);
|
|
49
|
+
return minutes === 0 ? 0 : parts[0] === "+" ? -minutes : minutes;
|
|
50
|
+
}
|
|
51
|
+
var addInput = function addInput(property) {
|
|
52
|
+
return function (input) {
|
|
53
|
+
this[property] = +input;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
var zoneExpressions = [matchOffset, function (input) {
|
|
57
|
+
var zone = this.zone || (this.zone = {});
|
|
58
|
+
zone.offset = offsetFromString(input);
|
|
59
|
+
}];
|
|
60
|
+
var getLocalePart = function getLocalePart(name) {
|
|
61
|
+
var part = locale[name];
|
|
62
|
+
return part && (part.indexOf ? part : part.s.concat(part.f));
|
|
63
|
+
};
|
|
64
|
+
var meridiemMatch = function meridiemMatch(input, isLowerCase) {
|
|
65
|
+
var isAfternoon;
|
|
66
|
+
var _locale = locale,
|
|
67
|
+
meridiem = _locale.meridiem,
|
|
68
|
+
name = _locale.name;
|
|
69
|
+
if (!meridiem) {
|
|
70
|
+
isAfternoon = input === (isLowerCase ? "pm" : "PM");
|
|
71
|
+
} else {
|
|
72
|
+
for (var i = 1; i <= 24; i += 1) {
|
|
73
|
+
// todo: fix input === meridiem(i, 0, isLowerCase)
|
|
74
|
+
if (input.indexOf(meridiem(i, 0, isLowerCase)) > -1) {
|
|
75
|
+
isAfternoon = name === "ja" ? i >= 12 : i > 12;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return isAfternoon;
|
|
81
|
+
};
|
|
82
|
+
var expressions = {
|
|
83
|
+
A: [matchWord, function (input) {
|
|
84
|
+
this.afternoon = meridiemMatch(input, false);
|
|
85
|
+
}],
|
|
86
|
+
a: [matchWord, function (input) {
|
|
87
|
+
this.afternoon = meridiemMatch(input, true);
|
|
88
|
+
}],
|
|
89
|
+
Q: [match1, function (input) {
|
|
90
|
+
this.month = (input - 1) * 3 + 1;
|
|
91
|
+
}],
|
|
92
|
+
S: [match1, function (input) {
|
|
93
|
+
this.milliseconds = +input * 100;
|
|
94
|
+
}],
|
|
95
|
+
SS: [match2, function (input) {
|
|
96
|
+
this.milliseconds = +input * 10;
|
|
97
|
+
}],
|
|
98
|
+
SSS: [match3, function (input) {
|
|
99
|
+
this.milliseconds = +input;
|
|
100
|
+
}],
|
|
101
|
+
s: [match1to2, addInput("seconds")],
|
|
102
|
+
ss: [match1to2, addInput("seconds")],
|
|
103
|
+
m: [match1to2, addInput("minutes")],
|
|
104
|
+
mm: [match1to2, addInput("minutes")],
|
|
105
|
+
H: [match1to2, addInput("hours")],
|
|
106
|
+
h: [match1to2, addInput("hours")],
|
|
107
|
+
HH: [match1to2, addInput("hours")],
|
|
108
|
+
hh: [match1to2, addInput("hours")],
|
|
109
|
+
D: [match1to2, addInput("day")],
|
|
110
|
+
DD: [match2, addInput("day")],
|
|
111
|
+
Do: [matchWord, function (input) {
|
|
112
|
+
var _locale2 = locale,
|
|
113
|
+
ordinal = _locale2.ordinal;
|
|
114
|
+
var _input$match = input.match(/\d+/);
|
|
115
|
+
var _input$match2 = slicedToArray._slicedToArray(_input$match, 1);
|
|
116
|
+
this.day = _input$match2[0];
|
|
117
|
+
if (!ordinal) return;
|
|
118
|
+
for (var i = 1; i <= 31; i += 1) {
|
|
119
|
+
if (ordinal(i).replace(/\[|\]/g, "") === input) {
|
|
120
|
+
this.day = i;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}],
|
|
124
|
+
w: [match1to2, addInput("week")],
|
|
125
|
+
ww: [match2, addInput("week")],
|
|
126
|
+
M: [match1to2, addInput("month")],
|
|
127
|
+
MM: [match2, addInput("month")],
|
|
128
|
+
MMM: [matchWord, function (input) {
|
|
129
|
+
var months = getLocalePart("months");
|
|
130
|
+
var monthsShort = getLocalePart("monthsShort");
|
|
131
|
+
var matchIndex = (monthsShort || months.map(function (_) {
|
|
132
|
+
return _.slice(0, 3);
|
|
133
|
+
})).indexOf(input) + 1;
|
|
134
|
+
if (matchIndex < 1) {
|
|
135
|
+
throw new Error();
|
|
136
|
+
}
|
|
137
|
+
this.month = matchIndex % 12 || matchIndex;
|
|
138
|
+
}],
|
|
139
|
+
MMMM: [matchWord, function (input) {
|
|
140
|
+
var months = getLocalePart("months");
|
|
141
|
+
var matchIndex = months.indexOf(input) + 1;
|
|
142
|
+
if (matchIndex < 1) {
|
|
143
|
+
throw new Error();
|
|
144
|
+
}
|
|
145
|
+
this.month = matchIndex % 12 || matchIndex;
|
|
146
|
+
}],
|
|
147
|
+
Y: [matchSigned, addInput("year")],
|
|
148
|
+
YY: [match2, function (input) {
|
|
149
|
+
this.year = parseTwoDigitYear(input);
|
|
150
|
+
}],
|
|
151
|
+
YYYY: [match4, addInput("year")],
|
|
152
|
+
Z: zoneExpressions,
|
|
153
|
+
ZZ: zoneExpressions
|
|
154
|
+
};
|
|
155
|
+
function correctHours(time) {
|
|
156
|
+
var afternoon = time.afternoon;
|
|
157
|
+
if (afternoon !== undefined) {
|
|
158
|
+
var hours = time.hours;
|
|
159
|
+
if (afternoon) {
|
|
160
|
+
if (hours < 12) {
|
|
161
|
+
time.hours += 12;
|
|
162
|
+
}
|
|
163
|
+
} else if (hours === 12) {
|
|
164
|
+
time.hours = 0;
|
|
165
|
+
}
|
|
166
|
+
delete time.afternoon;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function makeParser(format) {
|
|
170
|
+
format = u(format, locale && locale.formats);
|
|
171
|
+
var array = format.match(formattingTokens);
|
|
172
|
+
var length = array.length;
|
|
173
|
+
for (var i = 0; i < length; i += 1) {
|
|
174
|
+
var token = array[i];
|
|
175
|
+
var parseTo = expressions[token];
|
|
176
|
+
var regex = parseTo && parseTo[0];
|
|
177
|
+
var parser = parseTo && parseTo[1];
|
|
178
|
+
if (parser) {
|
|
179
|
+
array[i] = {
|
|
180
|
+
regex: regex,
|
|
181
|
+
parser: parser
|
|
182
|
+
};
|
|
183
|
+
} else {
|
|
184
|
+
array[i] = token.replace(/^\[|\]$/g, "");
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return function (input) {
|
|
188
|
+
var time = {};
|
|
189
|
+
for (var _i = 0, start = 0; _i < length; _i += 1) {
|
|
190
|
+
var _token = array[_i];
|
|
191
|
+
if (typeof _token === "string") {
|
|
192
|
+
start += _token.length;
|
|
193
|
+
} else {
|
|
194
|
+
var _regex = _token.regex,
|
|
195
|
+
_parser = _token.parser;
|
|
196
|
+
var part = input.slice(start);
|
|
197
|
+
var match = _regex.exec(part);
|
|
198
|
+
var value = match[0];
|
|
199
|
+
_parser.call(time, value);
|
|
200
|
+
input = input.replace(value, "");
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
correctHours(time);
|
|
204
|
+
return time;
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
var parseFormattedInput = function parseFormattedInput(input, format, utc, dayjs) {
|
|
208
|
+
try {
|
|
209
|
+
if (["x", "X"].indexOf(format) > -1) {
|
|
210
|
+
return new Date((format === "X" ? 1000 : 1) * input);
|
|
211
|
+
}
|
|
212
|
+
var parser = makeParser(format);
|
|
213
|
+
var _parser2 = parser(input),
|
|
214
|
+
year = _parser2.year,
|
|
215
|
+
month = _parser2.month,
|
|
216
|
+
day = _parser2.day,
|
|
217
|
+
hours = _parser2.hours,
|
|
218
|
+
minutes = _parser2.minutes,
|
|
219
|
+
seconds = _parser2.seconds,
|
|
220
|
+
milliseconds = _parser2.milliseconds,
|
|
221
|
+
zone = _parser2.zone,
|
|
222
|
+
week = _parser2.week;
|
|
223
|
+
var now = new Date();
|
|
224
|
+
var d = day || (!year && !month ? now.getDate() : 1);
|
|
225
|
+
var y = year || now.getFullYear();
|
|
226
|
+
var M = 0;
|
|
227
|
+
if (!(year && !month)) {
|
|
228
|
+
M = month > 0 ? month - 1 : now.getMonth();
|
|
229
|
+
}
|
|
230
|
+
var h = hours || 0;
|
|
231
|
+
var m = minutes || 0;
|
|
232
|
+
var s = seconds || 0;
|
|
233
|
+
var ms = milliseconds || 0;
|
|
234
|
+
if (zone) {
|
|
235
|
+
return new Date(Date.UTC(y, M, d, h, m, s, ms + zone.offset * 60 * 1000));
|
|
236
|
+
}
|
|
237
|
+
if (utc) {
|
|
238
|
+
return new Date(Date.UTC(y, M, d, h, m, s, ms));
|
|
239
|
+
}
|
|
240
|
+
var newDate;
|
|
241
|
+
newDate = new Date(y, M, d, h, m, s, ms);
|
|
242
|
+
if (week) {
|
|
243
|
+
newDate = dayjs(newDate).week(week).toDate();
|
|
244
|
+
}
|
|
245
|
+
return newDate;
|
|
246
|
+
} catch (e) {
|
|
247
|
+
return new Date(""); // Invalid Date
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
var customParseFormatPlugin = (function (o, C, d) {
|
|
251
|
+
d.p.customParseFormat = true;
|
|
252
|
+
if (o && o.parseTwoDigitYear) {
|
|
253
|
+
parseTwoDigitYear = o.parseTwoDigitYear;
|
|
254
|
+
}
|
|
255
|
+
var proto = C.prototype;
|
|
256
|
+
var oldParse = proto.parse;
|
|
257
|
+
proto.parse = function (cfg) {
|
|
258
|
+
var date = cfg.date,
|
|
259
|
+
utc = cfg.utc,
|
|
260
|
+
args = cfg.args;
|
|
261
|
+
this.$u = utc;
|
|
262
|
+
var format = args[1];
|
|
263
|
+
if (typeof format === "string") {
|
|
264
|
+
var isStrictWithoutLocale = args[2] === true;
|
|
265
|
+
var isStrictWithLocale = args[3] === true;
|
|
266
|
+
var isStrict = isStrictWithoutLocale || isStrictWithLocale;
|
|
267
|
+
var pl = args[2];
|
|
268
|
+
if (isStrictWithLocale) {
|
|
269
|
+
var _args = slicedToArray._slicedToArray(args, 3);
|
|
270
|
+
pl = _args[2];
|
|
271
|
+
}
|
|
272
|
+
locale = this.$locale();
|
|
273
|
+
if (!isStrictWithoutLocale && pl) {
|
|
274
|
+
locale = d.Ls[pl];
|
|
275
|
+
}
|
|
276
|
+
this.$d = parseFormattedInput(date, format, utc, d);
|
|
277
|
+
this.init();
|
|
278
|
+
if (pl && pl !== true) this.$L = this.locale(pl).$L;
|
|
279
|
+
|
|
280
|
+
// use != to treat
|
|
281
|
+
// input number 1410715640579 and format string '1410715640579' equal
|
|
282
|
+
|
|
283
|
+
if (isStrict && date != this.format(format)) {
|
|
284
|
+
this.$d = new Date("");
|
|
285
|
+
}
|
|
286
|
+
// reset global locale to make parallel unit test
|
|
287
|
+
locale = {};
|
|
288
|
+
} else if (format instanceof Array) {
|
|
289
|
+
var len = format.length;
|
|
290
|
+
for (var i = 1; i <= len; i += 1) {
|
|
291
|
+
args[1] = format[i - 1];
|
|
292
|
+
var result = d.apply(this, args);
|
|
293
|
+
if (result.isValid()) {
|
|
294
|
+
this.$d = result.$d;
|
|
295
|
+
this.$L = result.$L;
|
|
296
|
+
this.init();
|
|
297
|
+
break;
|
|
298
|
+
}
|
|
299
|
+
if (i === len) this.$d = new Date("");
|
|
300
|
+
}
|
|
301
|
+
} else {
|
|
302
|
+
oldParse.call(this, cfg);
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
module.exports = customParseFormatPlugin;
|
|
308
|
+
//# sourceMappingURL=customParseFormatPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customParseFormatPlugin.js","sources":["../../../src/utils/customParseFormatPlugin.js"],"sourcesContent":["/* eslint-disable */\n// Temporary patch file. We can remove this file after the issue is fixed in Day.js.\n// Ref: https://github.com/neetozone/neeto-commons-frontend/issues/1540#issuecomment-3303934948\n\nconst t = format =>\n format.replace(\n /(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,\n (_, a, b) => a || b.slice(1)\n );\n\nconst englishFormats = {\n LTS: \"h:mm:ss A\",\n LT: \"h:mm A\",\n L: \"MM/DD/YYYY\",\n LL: \"MMMM D, YYYY\",\n LLL: \"MMMM D, YYYY h:mm A\",\n LLLL: \"dddd, MMMM D, YYYY h:mm A\",\n};\n\nconst u = (formatStr, formats) =>\n formatStr.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, (_, a, b) => {\n const B = b && b.toUpperCase();\n\n return a || formats[b] || englishFormats[b] || t(formats[B]);\n });\n\nconst formattingTokens =\n /(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g;\n\nconst match1 = /\\d/; // 0 - 9\nconst match2 = /\\d\\d/; // 00 - 99\nconst match3 = /\\d{3}/; // 000 - 999\nconst match4 = /\\d{4}/; // 0000 - 9999\nconst match1to2 = /\\d\\d?/; // 0 - 99\nconst matchSigned = /[+-]?\\d+/; // -inf - inf\nconst matchOffset = /[+-]\\d\\d:?(\\d\\d)?|Z/; // +00:00 -00:00 +0000 or -0000 +00 or Z\nconst matchWord = /\\d*[^-_:/,()\\s\\d]+/; // Word\n\nlet locale = {};\n\nlet parseTwoDigitYear = function (input) {\n input = +input;\n\n return input + (input > 68 ? 1900 : 2000);\n};\n\nfunction offsetFromString(string) {\n if (!string) return 0;\n\n if (string === \"Z\") return 0;\n const parts = string.match(/([+-]|\\d\\d)/g);\n const minutes = +(parts[1] * 60) + (+parts[2] || 0);\n\n return minutes === 0 ? 0 : parts[0] === \"+\" ? -minutes : minutes;\n}\n\nconst addInput = function (property) {\n return function (input) {\n this[property] = +input;\n };\n};\n\nconst zoneExpressions = [\n matchOffset,\n function (input) {\n const zone = this.zone || (this.zone = {});\n zone.offset = offsetFromString(input);\n },\n];\n\nconst getLocalePart = name => {\n const part = locale[name];\n\n return part && (part.indexOf ? part : part.s.concat(part.f));\n};\n\nconst meridiemMatch = (input, isLowerCase) => {\n let isAfternoon;\n const { meridiem, name } = locale;\n if (!meridiem) {\n isAfternoon = input === (isLowerCase ? \"pm\" : \"PM\");\n } else {\n for (let i = 1; i <= 24; i += 1) {\n // todo: fix input === meridiem(i, 0, isLowerCase)\n if (input.indexOf(meridiem(i, 0, isLowerCase)) > -1) {\n isAfternoon = name === \"ja\" ? i >= 12 : i > 12;\n break;\n }\n }\n }\n\n return isAfternoon;\n};\n\nconst expressions = {\n A: [\n matchWord,\n function (input) {\n this.afternoon = meridiemMatch(input, false);\n },\n ],\n a: [\n matchWord,\n function (input) {\n this.afternoon = meridiemMatch(input, true);\n },\n ],\n Q: [\n match1,\n function (input) {\n this.month = (input - 1) * 3 + 1;\n },\n ],\n S: [\n match1,\n function (input) {\n this.milliseconds = +input * 100;\n },\n ],\n SS: [\n match2,\n function (input) {\n this.milliseconds = +input * 10;\n },\n ],\n SSS: [\n match3,\n function (input) {\n this.milliseconds = +input;\n },\n ],\n s: [match1to2, addInput(\"seconds\")],\n ss: [match1to2, addInput(\"seconds\")],\n m: [match1to2, addInput(\"minutes\")],\n mm: [match1to2, addInput(\"minutes\")],\n H: [match1to2, addInput(\"hours\")],\n h: [match1to2, addInput(\"hours\")],\n HH: [match1to2, addInput(\"hours\")],\n hh: [match1to2, addInput(\"hours\")],\n D: [match1to2, addInput(\"day\")],\n DD: [match2, addInput(\"day\")],\n Do: [\n matchWord,\n function (input) {\n const { ordinal } = locale;\n [this.day] = input.match(/\\d+/);\n if (!ordinal) return;\n for (let i = 1; i <= 31; i += 1) {\n if (ordinal(i).replace(/\\[|\\]/g, \"\") === input) {\n this.day = i;\n }\n }\n },\n ],\n w: [match1to2, addInput(\"week\")],\n ww: [match2, addInput(\"week\")],\n M: [match1to2, addInput(\"month\")],\n MM: [match2, addInput(\"month\")],\n MMM: [\n matchWord,\n function (input) {\n const months = getLocalePart(\"months\");\n const monthsShort = getLocalePart(\"monthsShort\");\n const matchIndex =\n (monthsShort || months.map(_ => _.slice(0, 3))).indexOf(input) + 1;\n if (matchIndex < 1) {\n throw new Error();\n }\n this.month = matchIndex % 12 || matchIndex;\n },\n ],\n MMMM: [\n matchWord,\n function (input) {\n const months = getLocalePart(\"months\");\n const matchIndex = months.indexOf(input) + 1;\n if (matchIndex < 1) {\n throw new Error();\n }\n this.month = matchIndex % 12 || matchIndex;\n },\n ],\n Y: [matchSigned, addInput(\"year\")],\n YY: [\n match2,\n function (input) {\n this.year = parseTwoDigitYear(input);\n },\n ],\n YYYY: [match4, addInput(\"year\")],\n Z: zoneExpressions,\n ZZ: zoneExpressions,\n};\n\nfunction correctHours(time) {\n const { afternoon } = time;\n if (afternoon !== undefined) {\n const { hours } = time;\n if (afternoon) {\n if (hours < 12) {\n time.hours += 12;\n }\n } else if (hours === 12) {\n time.hours = 0;\n }\n delete time.afternoon;\n }\n}\n\nfunction makeParser(format) {\n format = u(format, locale && locale.formats);\n const array = format.match(formattingTokens);\n const { length } = array;\n for (let i = 0; i < length; i += 1) {\n const token = array[i];\n const parseTo = expressions[token];\n const regex = parseTo && parseTo[0];\n const parser = parseTo && parseTo[1];\n if (parser) {\n array[i] = { regex, parser };\n } else {\n array[i] = token.replace(/^\\[|\\]$/g, \"\");\n }\n }\n\n return function (input) {\n const time = {};\n for (let i = 0, start = 0; i < length; i += 1) {\n const token = array[i];\n if (typeof token === \"string\") {\n start += token.length;\n } else {\n const { regex, parser } = token;\n const part = input.slice(start);\n const match = regex.exec(part);\n const value = match[0];\n parser.call(time, value);\n input = input.replace(value, \"\");\n }\n }\n correctHours(time);\n\n return time;\n };\n}\n\nconst parseFormattedInput = (input, format, utc, dayjs) => {\n try {\n if ([\"x\", \"X\"].indexOf(format) > -1) {\n return new Date((format === \"X\" ? 1000 : 1) * input);\n }\n const parser = makeParser(format);\n const {\n year,\n month,\n day,\n hours,\n minutes,\n seconds,\n milliseconds,\n zone,\n week,\n } = parser(input);\n const now = new Date();\n const d = day || (!year && !month ? now.getDate() : 1);\n const y = year || now.getFullYear();\n let M = 0;\n if (!(year && !month)) {\n M = month > 0 ? month - 1 : now.getMonth();\n }\n const h = hours || 0;\n const m = minutes || 0;\n const s = seconds || 0;\n const ms = milliseconds || 0;\n if (zone) {\n return new Date(Date.UTC(y, M, d, h, m, s, ms + zone.offset * 60 * 1000));\n }\n\n if (utc) {\n return new Date(Date.UTC(y, M, d, h, m, s, ms));\n }\n let newDate;\n newDate = new Date(y, M, d, h, m, s, ms);\n if (week) {\n newDate = dayjs(newDate).week(week).toDate();\n }\n\n return newDate;\n } catch (e) {\n return new Date(\"\"); // Invalid Date\n }\n};\n\nexport default (o, C, d) => {\n d.p.customParseFormat = true;\n if (o && o.parseTwoDigitYear) {\n ({ parseTwoDigitYear } = o);\n }\n const proto = C.prototype;\n const oldParse = proto.parse;\n proto.parse = function (cfg) {\n const { date, utc, args } = cfg;\n this.$u = utc;\n const format = args[1];\n if (typeof format === \"string\") {\n const isStrictWithoutLocale = args[2] === true;\n const isStrictWithLocale = args[3] === true;\n const isStrict = isStrictWithoutLocale || isStrictWithLocale;\n let pl = args[2];\n if (isStrictWithLocale) [, , pl] = args;\n locale = this.$locale();\n if (!isStrictWithoutLocale && pl) {\n locale = d.Ls[pl];\n }\n this.$d = parseFormattedInput(date, format, utc, d);\n this.init();\n if (pl && pl !== true) this.$L = this.locale(pl).$L;\n\n // use != to treat\n // input number 1410715640579 and format string '1410715640579' equal\n\n if (isStrict && date != this.format(format)) {\n this.$d = new Date(\"\");\n }\n // reset global locale to make parallel unit test\n locale = {};\n } else if (format instanceof Array) {\n const len = format.length;\n for (let i = 1; i <= len; i += 1) {\n args[1] = format[i - 1];\n const result = d.apply(this, args);\n if (result.isValid()) {\n this.$d = result.$d;\n this.$L = result.$L;\n this.init();\n break;\n }\n\n if (i === len) this.$d = new Date(\"\");\n }\n } else {\n oldParse.call(this, cfg);\n }\n };\n};\n"],"names":["t","format","replace","_","a","b","slice","englishFormats","LTS","LT","L","LL","LLL","LLLL","u","formatStr","formats","B","toUpperCase","formattingTokens","match1","match2","match3","match4","match1to2","matchSigned","matchOffset","matchWord","locale","parseTwoDigitYear","input","offsetFromString","string","parts","match","minutes","addInput","property","zoneExpressions","zone","offset","getLocalePart","name","part","indexOf","s","concat","f","meridiemMatch","isLowerCase","isAfternoon","_locale","meridiem","i","expressions","A","afternoon","Q","month","S","milliseconds","SS","SSS","ss","m","mm","H","h","HH","hh","D","DD","Do","_locale2","ordinal","_input$match","_input$match2","_slicedToArray","day","w","ww","M","MM","MMM","months","monthsShort","matchIndex","map","Error","MMMM","Y","YY","year","YYYY","Z","ZZ","correctHours","time","undefined","hours","makeParser","array","length","token","parseTo","regex","parser","start","exec","value","call","parseFormattedInput","utc","dayjs","Date","_parser2","seconds","week","now","d","getDate","y","getFullYear","getMonth","ms","UTC","newDate","toDate","e","o","C","p","customParseFormat","proto","prototype","oldParse","parse","cfg","date","args","$u","isStrictWithoutLocale","isStrictWithLocale","isStrict","pl","_args","$locale","Ls","$d","init","$L","Array","len","result","apply","isValid"],"mappings":"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"}
|