@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.
Files changed (37) hide show
  1. package/configs/babel.js +2 -0
  2. package/configs/esbuild/alias.js +6 -0
  3. package/configs/esbuild/constants.js +4 -0
  4. package/dist/cjs/initializers/dayjs.js +1 -1
  5. package/dist/cjs/initializers/index.js +1 -1
  6. package/dist/cjs/react-utils/index.js +1 -0
  7. package/dist/cjs/react-utils/index.js.map +1 -1
  8. package/dist/cjs/react-utils/useLocalStorage/index.js +1 -0
  9. package/dist/cjs/react-utils/useLocalStorage/index.js.map +1 -1
  10. package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js +2 -1
  11. package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js.map +1 -1
  12. package/dist/cjs/utils/customParseFormatPlugin.js +308 -0
  13. package/dist/cjs/utils/customParseFormatPlugin.js.map +1 -0
  14. package/dist/cjs/utils/deviceInformation.js +255 -0
  15. package/dist/cjs/utils/deviceInformation.js.map +1 -0
  16. package/dist/cjs/utils/index.js +3 -0
  17. package/dist/cjs/utils/index.js.map +1 -1
  18. package/dist/cjs/utils/timezonePlugin.js +4 -4
  19. package/dist/cjs/utils/timezonePlugin.js.map +1 -1
  20. package/dist/initializers/dayjs.js +1 -1
  21. package/dist/initializers/index.js +1 -1
  22. package/dist/react-utils/index.js +1 -0
  23. package/dist/react-utils/index.js.map +1 -1
  24. package/dist/react-utils/useLocalStorage/index.js +1 -0
  25. package/dist/react-utils/useLocalStorage/index.js.map +1 -1
  26. package/dist/react-utils/useLocalStorage/useLocalStorage.js +2 -1
  27. package/dist/react-utils/useLocalStorage/useLocalStorage.js.map +1 -1
  28. package/dist/utils/customParseFormatPlugin.js +306 -0
  29. package/dist/utils/customParseFormatPlugin.js.map +1 -0
  30. package/dist/utils/deviceInformation.js +253 -0
  31. package/dist/utils/deviceInformation.js.map +1 -0
  32. package/dist/utils/index.js +2 -0
  33. package/dist/utils/index.js.map +1 -1
  34. package/dist/utils/timezonePlugin.js +4 -4
  35. package/dist/utils/timezonePlugin.js.map +1 -1
  36. package/package.json +5 -3
  37. 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
  },
@@ -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('dayjs/plugin/customParseFormat');
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('dayjs/plugin/customParseFormat');
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,6 +23,7 @@ require('../../utils/createSubscription.js');
23
23
  require('@rails/actioncable');
24
24
  require('yup');
25
25
  require('../../mixpanel.module-ajRn5e0J.js');
26
+ require('ua-parser-js');
26
27
 
27
28
 
28
29
 
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;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;;;;"}
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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"}