@semcore/date-picker 16.2.4 → 17.0.0-prerelease.18
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/CHANGELOG.md +6 -0
- package/lib/cjs/DatePicker.js +116 -139
- package/lib/cjs/DatePicker.js.map +1 -1
- package/lib/cjs/DateRangeComparator.js +144 -149
- package/lib/cjs/DateRangeComparator.js.map +1 -1
- package/lib/cjs/DateRangePicker.js +86 -101
- package/lib/cjs/DateRangePicker.js.map +1 -1
- package/lib/cjs/MonthDateRangeComparator.js +173 -180
- package/lib/cjs/MonthDateRangeComparator.js.map +1 -1
- package/lib/cjs/MonthPicker.js +70 -87
- package/lib/cjs/MonthPicker.js.map +1 -1
- package/lib/cjs/MonthRangePicker.js +96 -111
- package/lib/cjs/MonthRangePicker.js.map +1 -1
- package/lib/cjs/components/ButtonTrigger.js +12 -11
- package/lib/cjs/components/ButtonTrigger.js.map +1 -1
- package/lib/cjs/components/Calendar.js +409 -466
- package/lib/cjs/components/Calendar.js.map +1 -1
- package/lib/cjs/components/DateRangeComparatorAbstract.js +574 -626
- package/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
- package/lib/cjs/components/InputTrigger.js +585 -677
- package/lib/cjs/components/InputTrigger.js.map +1 -1
- package/lib/cjs/components/PickerAbstract.js +254 -273
- package/lib/cjs/components/PickerAbstract.js.map +1 -1
- package/lib/cjs/components/RangePickerAbstract.js +407 -439
- package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
- package/lib/cjs/components/index.js +92 -102
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/index.js +15 -15
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +17 -17
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/utils/cronTabScheduler.js +13 -22
- package/lib/cjs/utils/cronTabScheduler.js.map +1 -1
- package/lib/cjs/utils/datesIntersects.js +12 -19
- package/lib/cjs/utils/datesIntersects.js.map +1 -1
- package/lib/cjs/utils/formatDate.js +11 -9
- package/lib/cjs/utils/formatDate.js.map +1 -1
- package/lib/cjs/utils/includesDate.js +11 -16
- package/lib/cjs/utils/includesDate.js.map +1 -1
- package/lib/cjs/utils/isBetweenPlugin.js +6 -6
- package/lib/cjs/utils/isBetweenPlugin.js.map +1 -1
- package/lib/cjs/utils/shortDateRangeFormat.js +29 -33
- package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
- package/lib/es6/DatePicker.js +117 -141
- package/lib/es6/DatePicker.js.map +1 -1
- package/lib/es6/DateRangeComparator.js +130 -135
- package/lib/es6/DateRangeComparator.js.map +1 -1
- package/lib/es6/DateRangePicker.js +87 -102
- package/lib/es6/DateRangePicker.js.map +1 -1
- package/lib/es6/MonthDateRangeComparator.js +159 -166
- package/lib/es6/MonthDateRangeComparator.js.map +1 -1
- package/lib/es6/MonthPicker.js +72 -89
- package/lib/es6/MonthPicker.js.map +1 -1
- package/lib/es6/MonthRangePicker.js +97 -112
- package/lib/es6/MonthRangePicker.js.map +1 -1
- package/lib/es6/components/ButtonTrigger.js +4 -3
- package/lib/es6/components/ButtonTrigger.js.map +1 -1
- package/lib/es6/components/Calendar.js +400 -457
- package/lib/es6/components/Calendar.js.map +1 -1
- package/lib/es6/components/DateRangeComparatorAbstract.js +552 -604
- package/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
- package/lib/es6/components/InputTrigger.js +568 -660
- package/lib/es6/components/InputTrigger.js.map +1 -1
- package/lib/es6/components/PickerAbstract.js +246 -265
- package/lib/es6/components/PickerAbstract.js.map +1 -1
- package/lib/es6/components/RangePickerAbstract.js +397 -429
- package/lib/es6/components/RangePickerAbstract.js.map +1 -1
- package/lib/es6/components/index.js +74 -85
- package/lib/es6/components/index.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +16 -16
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/utils/cronTabScheduler.js +13 -21
- package/lib/es6/utils/cronTabScheduler.js.map +1 -1
- package/lib/es6/utils/datesIntersects.js +10 -18
- package/lib/es6/utils/datesIntersects.js.map +1 -1
- package/lib/es6/utils/formatDate.js +6 -6
- package/lib/es6/utils/formatDate.js.map +1 -1
- package/lib/es6/utils/includesDate.js +10 -15
- package/lib/es6/utils/includesDate.js.map +1 -1
- package/lib/es6/utils/isBetweenPlugin.js +4 -4
- package/lib/es6/utils/isBetweenPlugin.js.map +1 -1
- package/lib/es6/utils/shortDateRangeFormat.js +27 -31
- package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
- package/lib/esm/DatePicker.mjs +109 -114
- package/lib/esm/DateRangeComparator.mjs +112 -105
- package/lib/esm/DateRangePicker.mjs +76 -80
- package/lib/esm/MonthDateRangeComparator.mjs +141 -134
- package/lib/esm/MonthPicker.mjs +65 -70
- package/lib/esm/MonthRangePicker.mjs +86 -88
- package/lib/esm/components/ButtonTrigger.mjs +4 -3
- package/lib/esm/components/Calendar.mjs +397 -423
- package/lib/esm/components/DateRangeComparatorAbstract.mjs +559 -516
- package/lib/esm/components/InputTrigger.mjs +550 -557
- package/lib/esm/components/PickerAbstract.mjs +249 -244
- package/lib/esm/components/RangePickerAbstract.mjs +400 -384
- package/lib/esm/components/index.mjs +73 -69
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
- package/lib/esm/utils/cronTabScheduler.mjs +13 -18
- package/lib/esm/utils/datesIntersects.mjs +10 -14
- package/lib/esm/utils/formatDate.mjs +6 -6
- package/lib/esm/utils/includesDate.mjs +10 -13
- package/lib/esm/utils/isBetweenPlugin.mjs +4 -4
- package/lib/esm/utils/shortDateRangeFormat.mjs +27 -27
- package/lib/types/index.d.ts +2 -44
- package/package.json +16 -17
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
1
|
function cronUnitToArray(unit) {
|
|
3
2
|
if (unit.includes('-')) {
|
|
4
|
-
|
|
5
|
-
_unit$split2 = _slicedToArray(_unit$split, 2),
|
|
6
|
-
start = _unit$split2[0],
|
|
7
|
-
end = _unit$split2[1];
|
|
3
|
+
const [start, end] = unit.split('-');
|
|
8
4
|
return Array.from({
|
|
9
5
|
length: Number.parseInt(end, 10) - Number.parseInt(start, 10) + 1
|
|
10
|
-
},
|
|
11
|
-
return Number.parseInt(start, 10) + idx;
|
|
12
|
-
});
|
|
6
|
+
}, (_, idx) => Number.parseInt(start, 10) + idx);
|
|
13
7
|
}
|
|
14
8
|
// eslint-disable-next-line no-useless-escape
|
|
15
9
|
return unit.split(/[,\/]/);
|
|
@@ -17,10 +11,10 @@ function cronUnitToArray(unit) {
|
|
|
17
11
|
export function isValidSchedule(pattern) {
|
|
18
12
|
if (typeof pattern !== 'string') return false;
|
|
19
13
|
function isValidUnit(unit, min, max) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return unitValues.every(
|
|
23
|
-
|
|
14
|
+
const unitValues = cronUnitToArray(unit);
|
|
15
|
+
const CRON_REG = /^\d+$|^\*$|^\*\/\d+$/;
|
|
16
|
+
return unitValues.every(item => {
|
|
17
|
+
const intItem = Number.parseInt(item, 10);
|
|
24
18
|
return !(intItem < min || intItem > max || !CRON_REG.test(item));
|
|
25
19
|
});
|
|
26
20
|
}
|
|
@@ -37,12 +31,12 @@ export function isValidSchedule(pattern) {
|
|
|
37
31
|
if (validateFn(pattern)) return true;
|
|
38
32
|
|
|
39
33
|
// eslint-disable-next-line no-console
|
|
40
|
-
console.warn(
|
|
34
|
+
console.warn(`DatePicker disabledSchedule: ${msg} format is invalid`);
|
|
41
35
|
return false;
|
|
42
36
|
}
|
|
43
|
-
|
|
37
|
+
const patternArr = pattern.split(' ');
|
|
44
38
|
if (patternArr.length < 3) return false;
|
|
45
|
-
return patternArr.every(
|
|
39
|
+
return patternArr.every((pattern, idx) => {
|
|
46
40
|
switch (idx) {
|
|
47
41
|
case 0:
|
|
48
42
|
return validate(pattern, isValidMonthDay, 'day of month');
|
|
@@ -56,7 +50,7 @@ export function isValidSchedule(pattern) {
|
|
|
56
50
|
});
|
|
57
51
|
}
|
|
58
52
|
export function isInPeriod(pattern, date) {
|
|
59
|
-
|
|
53
|
+
const patternArr = pattern.split(' ');
|
|
60
54
|
function isInPeriod(date, period, dateMethod) {
|
|
61
55
|
if (period === '*') return true;
|
|
62
56
|
return date[dateMethod]() === Number.parseInt(period, 10);
|
|
@@ -72,12 +66,10 @@ export function isInPeriod(pattern, date) {
|
|
|
72
66
|
return isInPeriod(date, period, 'getDay');
|
|
73
67
|
}
|
|
74
68
|
function test(units, date, testFn) {
|
|
75
|
-
return units.some(
|
|
76
|
-
return testFn(date, unit);
|
|
77
|
-
});
|
|
69
|
+
return units.some(unit => testFn(date, unit));
|
|
78
70
|
}
|
|
79
|
-
return patternArr.every(
|
|
80
|
-
|
|
71
|
+
return patternArr.every((unit, idx) => {
|
|
72
|
+
const unitValues = cronUnitToArray(unit);
|
|
81
73
|
switch (idx) {
|
|
82
74
|
case 0:
|
|
83
75
|
return test(unitValues, date, monthDayInPeriod);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronTabScheduler.js","names":["cronUnitToArray","unit","includes","
|
|
1
|
+
{"version":3,"file":"cronTabScheduler.js","names":["cronUnitToArray","unit","includes","start","end","split","Array","from","length","Number","parseInt","_","idx","isValidSchedule","pattern","isValidUnit","min","max","unitValues","CRON_REG","every","item","intItem","test","isValidMonth","month","isValidWeekDay","weekDay","isValidMonthDay","monthDay","validate","validateFn","msg","console","warn","patternArr","isInPeriod","date","period","dateMethod","monthInPeriod","monthDayInPeriod","weekDayInPeriod","units","testFn","some"],"sources":["../../../src/utils/cronTabScheduler.js"],"sourcesContent":["function cronUnitToArray(unit) {\n if (unit.includes('-')) {\n const [start, end] = unit.split('-');\n return Array.from(\n { length: Number.parseInt(end, 10) - Number.parseInt(start, 10) + 1 },\n (_, idx) => Number.parseInt(start, 10) + idx,\n );\n }\n // eslint-disable-next-line no-useless-escape\n return unit.split(/[,\\/]/);\n}\n\nexport function isValidSchedule(pattern) {\n if (typeof pattern !== 'string') return false;\n\n function isValidUnit(unit, min, max) {\n const unitValues = cronUnitToArray(unit);\n const CRON_REG = /^\\d+$|^\\*$|^\\*\\/\\d+$/;\n return unitValues.every((item) => {\n const intItem = Number.parseInt(item, 10);\n return !(intItem < min || intItem > max || !CRON_REG.test(item));\n });\n }\n\n function isValidMonth(month) {\n return isValidUnit(month, 1, 12);\n }\n\n function isValidWeekDay(weekDay) {\n return isValidUnit(weekDay, 1, 7);\n }\n\n function isValidMonthDay(monthDay) {\n return isValidUnit(monthDay, 1, 31);\n }\n\n function validate(pattern, validateFn, msg) {\n if (validateFn(pattern)) return true;\n\n // eslint-disable-next-line no-console\n console.warn(`DatePicker disabledSchedule: ${msg} format is invalid`);\n return false;\n }\n\n const patternArr = pattern.split(' ');\n\n if (patternArr.length < 3) return false;\n\n return patternArr.every((pattern, idx) => {\n switch (idx) {\n case 0:\n return validate(pattern, isValidMonthDay, 'day of month');\n case 1:\n return validate(pattern, isValidMonth, 'month');\n case 2:\n return validate(pattern, isValidWeekDay, 'day of week');\n default:\n return false;\n }\n });\n}\n\nexport function isInPeriod(pattern, date) {\n const patternArr = pattern.split(' ');\n\n function isInPeriod(date, period, dateMethod) {\n if (period === '*') return true;\n return date[dateMethod]() === Number.parseInt(period, 10);\n }\n\n function monthInPeriod(date, period) {\n return isInPeriod(date, period, 'getMonth');\n }\n\n function monthDayInPeriod(date, period) {\n return isInPeriod(date, period, 'getDate');\n }\n\n function weekDayInPeriod(date, period) {\n if (period === 7) period = 0;\n return isInPeriod(date, period, 'getDay');\n }\n\n function test(units, date, testFn) {\n return units.some((unit) => testFn(date, unit));\n }\n\n return patternArr.every((unit, idx) => {\n const unitValues = cronUnitToArray(unit);\n switch (idx) {\n case 0:\n return test(unitValues, date, monthDayInPeriod);\n case 1:\n return test(unitValues, date, monthInPeriod);\n case 2:\n return test(unitValues, date, weekDayInPeriod);\n default:\n return false;\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,22 +1,14 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
1
|
import dayjs from 'dayjs';
|
|
3
2
|
import { isInPeriod, isValidSchedule } from './cronTabScheduler';
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
dateTo
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return dateFrom && dayjs(dateFrom).isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]') || dateTo && dayjs(dateTo).isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]') || dateFrom && dateTo && dayjs(start).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]') || dateFrom && dateTo && dayjs(end).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]');
|
|
15
|
-
}
|
|
16
|
-
if (isValidSchedule(disabled_day)) {
|
|
17
|
-
return isInPeriod(disabled_day, dateFrom) || isInPeriod(disabled_day, dateTo);
|
|
18
|
-
}
|
|
19
|
-
return dateFrom && dateTo && dayjs(disabled_day).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]');
|
|
20
|
-
};
|
|
3
|
+
const MAX_DATE_TIMESTAMP = 8640000000000000;
|
|
4
|
+
export const datesIntersects = ([dateFrom, dateTo], unit) => disabled_day => {
|
|
5
|
+
if (Array.isArray(disabled_day)) {
|
|
6
|
+
const [start, end] = disabled_day;
|
|
7
|
+
return dateFrom && dayjs(dateFrom).isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]') || dateTo && dayjs(dateTo).isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]') || dateFrom && dateTo && dayjs(start).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]') || dateFrom && dateTo && dayjs(end).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]');
|
|
8
|
+
}
|
|
9
|
+
if (isValidSchedule(disabled_day)) {
|
|
10
|
+
return isInPeriod(disabled_day, dateFrom) || isInPeriod(disabled_day, dateTo);
|
|
11
|
+
}
|
|
12
|
+
return dateFrom && dateTo && dayjs(disabled_day).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]');
|
|
21
13
|
};
|
|
22
14
|
//# sourceMappingURL=datesIntersects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datesIntersects.js","names":["dayjs","isInPeriod","isValidSchedule","MAX_DATE_TIMESTAMP","datesIntersects","
|
|
1
|
+
{"version":3,"file":"datesIntersects.js","names":["dayjs","isInPeriod","isValidSchedule","MAX_DATE_TIMESTAMP","datesIntersects","dateFrom","dateTo","unit","disabled_day","Array","isArray","start","end","isBetween"],"sources":["../../../src/utils/datesIntersects.js"],"sourcesContent":["import dayjs from 'dayjs';\n\nimport { isInPeriod, isValidSchedule } from './cronTabScheduler';\n\nconst MAX_DATE_TIMESTAMP = 8640000000000000;\n\nexport const datesIntersects =\n ([dateFrom, dateTo], unit) =>\n (disabled_day) => {\n if (Array.isArray(disabled_day)) {\n const [start, end] = disabled_day;\n\n return (\n (dateFrom &&\n dayjs(dateFrom).isBetween(\n start || -MAX_DATE_TIMESTAMP,\n end || MAX_DATE_TIMESTAMP,\n unit,\n '[]',\n )) ||\n (dateTo &&\n dayjs(dateTo).isBetween(\n start || -MAX_DATE_TIMESTAMP,\n end || MAX_DATE_TIMESTAMP,\n unit,\n '[]',\n )) ||\n (dateFrom &&\n dateTo &&\n dayjs(start).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]')) ||\n (dateFrom && dateTo && dayjs(end).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]'))\n );\n }\n if (isValidSchedule(disabled_day)) {\n return isInPeriod(disabled_day, dateFrom) || isInPeriod(disabled_day, dateTo);\n }\n return (\n dateFrom &&\n dateTo &&\n dayjs(disabled_day).isBetween(dayjs(dateFrom), dayjs(dateTo), unit, '[]')\n );\n };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,EAAEC,eAAe,QAAQ,oBAAoB;AAEhE,MAAMC,kBAAkB,GAAG,gBAAgB;AAE3C,OAAO,MAAMC,eAAe,GAC1BA,CAAC,CAACC,QAAQ,EAAEC,MAAM,CAAC,EAAEC,IAAI,KACtBC,YAAY,IAAK;EAChB,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,EAAE;IAC/B,MAAM,CAACG,KAAK,EAAEC,GAAG,CAAC,GAAGJ,YAAY;IAEjC,OACGH,QAAQ,IACPL,KAAK,CAACK,QAAQ,CAAC,CAACQ,SAAS,CACvBF,KAAK,IAAI,CAACR,kBAAkB,EAC5BS,GAAG,IAAIT,kBAAkB,EACzBI,IAAI,EACJ,IACF,CAAC,IACAD,MAAM,IACLN,KAAK,CAACM,MAAM,CAAC,CAACO,SAAS,CACrBF,KAAK,IAAI,CAACR,kBAAkB,EAC5BS,GAAG,IAAIT,kBAAkB,EACzBI,IAAI,EACJ,IACF,CAAE,IACDF,QAAQ,IACPC,MAAM,IACNN,KAAK,CAACW,KAAK,CAAC,CAACE,SAAS,CAACb,KAAK,CAACK,QAAQ,CAAC,EAAEL,KAAK,CAACM,MAAM,CAAC,EAAEC,IAAI,EAAE,IAAI,CAAE,IAClEF,QAAQ,IAAIC,MAAM,IAAIN,KAAK,CAACY,GAAG,CAAC,CAACC,SAAS,CAACb,KAAK,CAACK,QAAQ,CAAC,EAAEL,KAAK,CAACM,MAAM,CAAC,EAAEC,IAAI,EAAE,IAAI,CAAE;EAElG;EACA,IAAIL,eAAe,CAACM,YAAY,CAAC,EAAE;IACjC,OAAOP,UAAU,CAACO,YAAY,EAAEH,QAAQ,CAAC,IAAIJ,UAAU,CAACO,YAAY,EAAEF,MAAM,CAAC;EAC/E;EACA,OACED,QAAQ,IACRC,MAAM,IACNN,KAAK,CAACQ,YAAY,CAAC,CAACK,SAAS,CAACb,KAAK,CAACK,QAAQ,CAAC,EAAEL,KAAK,CAACM,MAAM,CAAC,EAAEC,IAAI,EAAE,IAAI,CAAC;AAE7E,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
|
-
|
|
3
|
-
export
|
|
2
|
+
const DDMMYYFormattersCache = {};
|
|
3
|
+
export const formatDDMMYY = (date, locale) => {
|
|
4
4
|
if (DDMMYYFormattersCache[locale] === undefined) {
|
|
5
5
|
DDMMYYFormattersCache[locale] = new Intl.DateTimeFormat(locale, {
|
|
6
6
|
day: 'numeric',
|
|
@@ -8,18 +8,18 @@ export var formatDDMMYY = function formatDDMMYY(date, locale) {
|
|
|
8
8
|
year: 'numeric'
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
const formatter = DDMMYYFormattersCache[locale];
|
|
12
12
|
return formatter.format(dayjs(date).toDate());
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
export
|
|
14
|
+
const MMYYYYFormattersCache = {};
|
|
15
|
+
export const formatMMYY = (date, locale) => {
|
|
16
16
|
if (MMYYYYFormattersCache[locale] === undefined) {
|
|
17
17
|
MMYYYYFormattersCache[locale] = new Intl.DateTimeFormat(locale, {
|
|
18
18
|
month: 'long',
|
|
19
19
|
year: 'numeric'
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
const formatter = MMYYYYFormattersCache[locale];
|
|
23
23
|
return formatter.format(dayjs(date).toDate());
|
|
24
24
|
};
|
|
25
25
|
//# sourceMappingURL=formatDate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatDate.js","names":["dayjs","DDMMYYFormattersCache","formatDDMMYY","date","locale","undefined","Intl","DateTimeFormat","day","month","year","formatter","format","toDate","MMYYYYFormattersCache","formatMMYY"],"sources":["../../../src/utils/formatDate.js"],"sourcesContent":["import dayjs from 'dayjs';\n\nconst DDMMYYFormattersCache = {};\n\nexport const formatDDMMYY = (date, locale) => {\n if (DDMMYYFormattersCache[locale] === undefined) {\n DDMMYYFormattersCache[locale] = new Intl.DateTimeFormat(locale, {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n });\n }\n\n const formatter = DDMMYYFormattersCache[locale];\n\n return formatter.format(dayjs(date).toDate());\n};\n\nconst MMYYYYFormattersCache = {};\n\nexport const formatMMYY = (date, locale) => {\n if (MMYYYYFormattersCache[locale] === undefined) {\n MMYYYYFormattersCache[locale] = new Intl.DateTimeFormat(locale, {\n month: 'long',\n year: 'numeric',\n });\n }\n\n const formatter = MMYYYYFormattersCache[locale];\n\n return formatter.format(dayjs(date).toDate());\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,
|
|
1
|
+
{"version":3,"file":"formatDate.js","names":["dayjs","DDMMYYFormattersCache","formatDDMMYY","date","locale","undefined","Intl","DateTimeFormat","day","month","year","formatter","format","toDate","MMYYYYFormattersCache","formatMMYY"],"sources":["../../../src/utils/formatDate.js"],"sourcesContent":["import dayjs from 'dayjs';\n\nconst DDMMYYFormattersCache = {};\n\nexport const formatDDMMYY = (date, locale) => {\n if (DDMMYYFormattersCache[locale] === undefined) {\n DDMMYYFormattersCache[locale] = new Intl.DateTimeFormat(locale, {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n });\n }\n\n const formatter = DDMMYYFormattersCache[locale];\n\n return formatter.format(dayjs(date).toDate());\n};\n\nconst MMYYYYFormattersCache = {};\n\nexport const formatMMYY = (date, locale) => {\n if (MMYYYYFormattersCache[locale] === undefined) {\n MMYYYYFormattersCache[locale] = new Intl.DateTimeFormat(locale, {\n month: 'long',\n year: 'numeric',\n });\n }\n\n const formatter = MMYYYYFormattersCache[locale];\n\n return formatter.format(dayjs(date).toDate());\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,qBAAqB,GAAG,CAAC,CAAC;AAEhC,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAI,EAAEC,MAAM,KAAK;EAC5C,IAAIH,qBAAqB,CAACG,MAAM,CAAC,KAAKC,SAAS,EAAE;IAC/CJ,qBAAqB,CAACG,MAAM,CAAC,GAAG,IAAIE,IAAI,CAACC,cAAc,CAACH,MAAM,EAAE;MAC9DI,GAAG,EAAE,SAAS;MACdC,KAAK,EAAE,OAAO;MACdC,IAAI,EAAE;IACR,CAAC,CAAC;EACJ;EAEA,MAAMC,SAAS,GAAGV,qBAAqB,CAACG,MAAM,CAAC;EAE/C,OAAOO,SAAS,CAACC,MAAM,CAACZ,KAAK,CAACG,IAAI,CAAC,CAACU,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAMC,qBAAqB,GAAG,CAAC,CAAC;AAEhC,OAAO,MAAMC,UAAU,GAAGA,CAACZ,IAAI,EAAEC,MAAM,KAAK;EAC1C,IAAIU,qBAAqB,CAACV,MAAM,CAAC,KAAKC,SAAS,EAAE;IAC/CS,qBAAqB,CAACV,MAAM,CAAC,GAAG,IAAIE,IAAI,CAACC,cAAc,CAACH,MAAM,EAAE;MAC9DK,KAAK,EAAE,MAAM;MACbC,IAAI,EAAE;IACR,CAAC,CAAC;EACJ;EAEA,MAAMC,SAAS,GAAGG,qBAAqB,CAACV,MAAM,CAAC;EAE/C,OAAOO,SAAS,CAACC,MAAM,CAACZ,KAAK,CAACG,IAAI,CAAC,CAACU,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC","ignoreList":[]}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
1
|
import { isInPeriod, isValidSchedule } from './cronTabScheduler';
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return isInPeriod(disabled_day, date.toDate());
|
|
14
|
-
}
|
|
15
|
-
return date.isSame(disabled_day, 'date');
|
|
16
|
-
};
|
|
2
|
+
export const includesDate = (date, unit) => disabled_day => {
|
|
3
|
+
if (Array.isArray(disabled_day)) {
|
|
4
|
+
const MAX_DATE_TIMESTAMP = 8640000000000000;
|
|
5
|
+
const [start, end] = disabled_day;
|
|
6
|
+
return date.isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]');
|
|
7
|
+
}
|
|
8
|
+
if (isValidSchedule(disabled_day)) {
|
|
9
|
+
return isInPeriod(disabled_day, date.toDate());
|
|
10
|
+
}
|
|
11
|
+
return date.isSame(disabled_day, 'date');
|
|
17
12
|
};
|
|
18
13
|
//# sourceMappingURL=includesDate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"includesDate.js","names":["isInPeriod","isValidSchedule","includesDate","date","unit","disabled_day","Array","isArray","MAX_DATE_TIMESTAMP","
|
|
1
|
+
{"version":3,"file":"includesDate.js","names":["isInPeriod","isValidSchedule","includesDate","date","unit","disabled_day","Array","isArray","MAX_DATE_TIMESTAMP","start","end","isBetween","toDate","isSame"],"sources":["../../../src/utils/includesDate.js"],"sourcesContent":["import { isInPeriod, isValidSchedule } from './cronTabScheduler';\n\nexport const includesDate = (date, unit) => (disabled_day) => {\n if (Array.isArray(disabled_day)) {\n const MAX_DATE_TIMESTAMP = 8640000000000000;\n const [start, end] = disabled_day;\n return date.isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]');\n }\n if (isValidSchedule(disabled_day)) {\n return isInPeriod(disabled_day, date.toDate());\n }\n return date.isSame(disabled_day, 'date');\n};\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,eAAe,QAAQ,oBAAoB;AAEhE,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAI,EAAEC,IAAI,KAAMC,YAAY,IAAK;EAC5D,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,EAAE;IAC/B,MAAMG,kBAAkB,GAAG,gBAAgB;IAC3C,MAAM,CAACC,KAAK,EAAEC,GAAG,CAAC,GAAGL,YAAY;IACjC,OAAOF,IAAI,CAACQ,SAAS,CAACF,KAAK,IAAI,CAACD,kBAAkB,EAAEE,GAAG,IAAIF,kBAAkB,EAAEJ,IAAI,EAAE,IAAI,CAAC;EAC5F;EACA,IAAIH,eAAe,CAACI,YAAY,CAAC,EAAE;IACjC,OAAOL,UAAU,CAACK,YAAY,EAAEF,IAAI,CAACS,MAAM,CAAC,CAAC,CAAC;EAChD;EACA,OAAOT,IAAI,CAACU,MAAM,CAACR,YAAY,EAAE,MAAM,CAAC;AAC1C,CAAC","ignoreList":[]}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
export default (function (_o, c, d) {
|
|
7
7
|
c.prototype.isBetween = function (a, b, u, i) {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const dA = d(a);
|
|
9
|
+
const dB = d(b);
|
|
10
10
|
i = i || '()';
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const dAi = i[0] === '(';
|
|
12
|
+
const dBi = i[1] === ')';
|
|
13
13
|
return (dAi ? this.isAfter(dA, u) : !this.isBefore(dA, u)) && (dBi ? this.isBefore(dB, u) : !this.isAfter(dB, u)) || (dAi ? this.isBefore(dA, u) : !this.isAfter(dA, u)) && (dBi ? this.isAfter(dB, u) : !this.isBefore(dB, u));
|
|
14
14
|
};
|
|
15
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isBetweenPlugin.js","names":["_o","c","d","prototype","isBetween","a","b","u","i","dA","dB","dAi","dBi","isAfter","isBefore"],"sources":["../../../src/utils/isBetweenPlugin.js"],"sourcesContent":["/**\n * Plugin is copied from dayjs plugins because of build in both esm and commonjs.\n * See https://github.com/iamkun/dayjs/tree/dev/src/plugin/isBetween\n */\n\nexport default (function (_o, c, d) {\n c.prototype.isBetween = function (a, b, u, i) {\n const dA = d(a);\n const dB = d(b);\n i = i || '()';\n const dAi = i[0] === '(';\n const dBi = i[1] === ')';\n return (\n ((dAi ? this.isAfter(dA, u) : !this.isBefore(dA, u)) &&\n (dBi ? this.isBefore(dB, u) : !this.isAfter(dB, u))) ||\n ((dAi ? this.isBefore(dA, u) : !this.isAfter(dA, u)) &&\n (dBi ? this.isAfter(dB, u) : !this.isBefore(dB, u)))\n );\n };\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAUA,EAAE,EAAEC,CAAC,EAAEC,CAAC,EAAE;EAClCD,CAAC,CAACE,SAAS,CAACC,SAAS,GAAG,UAAUC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;IAC5C,
|
|
1
|
+
{"version":3,"file":"isBetweenPlugin.js","names":["_o","c","d","prototype","isBetween","a","b","u","i","dA","dB","dAi","dBi","isAfter","isBefore"],"sources":["../../../src/utils/isBetweenPlugin.js"],"sourcesContent":["/**\n * Plugin is copied from dayjs plugins because of build in both esm and commonjs.\n * See https://github.com/iamkun/dayjs/tree/dev/src/plugin/isBetween\n */\n\nexport default (function (_o, c, d) {\n c.prototype.isBetween = function (a, b, u, i) {\n const dA = d(a);\n const dB = d(b);\n i = i || '()';\n const dAi = i[0] === '(';\n const dBi = i[1] === ')';\n return (\n ((dAi ? this.isAfter(dA, u) : !this.isBefore(dA, u)) &&\n (dBi ? this.isBefore(dB, u) : !this.isAfter(dB, u))) ||\n ((dAi ? this.isBefore(dA, u) : !this.isAfter(dA, u)) &&\n (dBi ? this.isAfter(dB, u) : !this.isBefore(dB, u)))\n );\n };\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAUA,EAAE,EAAEC,CAAC,EAAEC,CAAC,EAAE;EAClCD,CAAC,CAACE,SAAS,CAACC,SAAS,GAAG,UAAUC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;IAC5C,MAAMC,EAAE,GAAGP,CAAC,CAACG,CAAC,CAAC;IACf,MAAMK,EAAE,GAAGR,CAAC,CAACI,CAAC,CAAC;IACfE,CAAC,GAAGA,CAAC,IAAI,IAAI;IACb,MAAMG,GAAG,GAAGH,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IACxB,MAAMI,GAAG,GAAGJ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IACxB,OACG,CAACG,GAAG,GAAG,IAAI,CAACE,OAAO,CAACJ,EAAE,EAAEF,CAAC,CAAC,GAAG,CAAC,IAAI,CAACO,QAAQ,CAACL,EAAE,EAAEF,CAAC,CAAC,MAChDK,GAAG,GAAG,IAAI,CAACE,QAAQ,CAACJ,EAAE,EAAEH,CAAC,CAAC,GAAG,CAAC,IAAI,CAACM,OAAO,CAACH,EAAE,EAAEH,CAAC,CAAC,CAAC,IAClD,CAACI,GAAG,GAAG,IAAI,CAACG,QAAQ,CAACL,EAAE,EAAEF,CAAC,CAAC,GAAG,CAAC,IAAI,CAACM,OAAO,CAACJ,EAAE,EAAEF,CAAC,CAAC,MAChDK,GAAG,GAAG,IAAI,CAACC,OAAO,CAACH,EAAE,EAAEH,CAAC,CAAC,GAAG,CAAC,IAAI,CAACO,QAAQ,CAACJ,EAAE,EAAEH,CAAC,CAAC,CAAE;EAE5D,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
-
var _excluded = ["locale"],
|
|
3
|
-
_excluded2 = ["year"];
|
|
4
1
|
import dayjs from 'dayjs';
|
|
5
2
|
function getDayJSLocale(locale) {
|
|
6
3
|
if (locale.includes('en') || locale.includes('ja')) {
|
|
@@ -8,54 +5,53 @@ function getDayJSLocale(locale) {
|
|
|
8
5
|
}
|
|
9
6
|
return 'ru';
|
|
10
7
|
}
|
|
11
|
-
export default function shortDateRangeFormat(dates,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
format
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var monthsYears = dates.map(function (date) {
|
|
21
|
-
return [dayjs(date).date(), dayjs(date).month(), dayjs(date).year()];
|
|
22
|
-
});
|
|
8
|
+
export default function shortDateRangeFormat(dates, {
|
|
9
|
+
locale = 'en-US',
|
|
10
|
+
...options
|
|
11
|
+
}) {
|
|
12
|
+
const {
|
|
13
|
+
format
|
|
14
|
+
} = new Intl.DateTimeFormat(locale, options);
|
|
15
|
+
const normalizeDates = dates.map(date => dayjs(date).toDate());
|
|
16
|
+
const monthsYears = dates.map(date => [dayjs(date).date(), dayjs(date).month(), dayjs(date).year()]);
|
|
23
17
|
if (monthsYears.length > 1) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
const isSimilarDay = monthsYears[0][0] === monthsYears[1][0];
|
|
19
|
+
const isSimilarMonth = monthsYears[0][1] === monthsYears[1][1];
|
|
20
|
+
const isSimilarYear = monthsYears[0][2] === monthsYears[1][2];
|
|
27
21
|
if (isSimilarMonth && isSimilarYear && !options.day) {
|
|
28
22
|
return format(normalizeDates[0]);
|
|
29
23
|
}
|
|
30
24
|
if (isSimilarMonth && isSimilarYear) {
|
|
31
25
|
if (getDayJSLocale(locale) === 'en') {
|
|
32
26
|
if (isSimilarDay) {
|
|
33
|
-
return
|
|
27
|
+
return `${new Intl.DateTimeFormat(locale, {
|
|
34
28
|
month: options.month
|
|
35
|
-
}).format(normalizeDates[0])
|
|
29
|
+
}).format(normalizeDates[0])} ${normalizeDates[0].getDate()}, ${normalizeDates[0].getFullYear()}`;
|
|
36
30
|
}
|
|
37
|
-
return
|
|
31
|
+
return `${new Intl.DateTimeFormat(locale, {
|
|
38
32
|
month: options.month
|
|
39
|
-
}).format(normalizeDates[0])
|
|
33
|
+
}).format(normalizeDates[0])} ${normalizeDates[0].getDate()}-${normalizeDates[1].getDate()}, ${normalizeDates[0].getFullYear()}`;
|
|
40
34
|
}
|
|
41
35
|
if (isSimilarDay) {
|
|
42
|
-
return
|
|
36
|
+
return `${normalizeDates[0].getDate()} ${new Intl.DateTimeFormat(locale, {
|
|
43
37
|
month: options.month
|
|
44
|
-
}).format(normalizeDates[0])
|
|
38
|
+
}).format(normalizeDates[0])} ${normalizeDates[0].getFullYear()}`;
|
|
45
39
|
}
|
|
46
|
-
return
|
|
40
|
+
return `${normalizeDates[0].getDate()}-${normalizeDates[1].getDate()} ${new Intl.DateTimeFormat(locale, {
|
|
47
41
|
month: options.month
|
|
48
|
-
}).format(normalizeDates[0])
|
|
42
|
+
}).format(normalizeDates[0])} ${normalizeDates[0].getFullYear()}`;
|
|
49
43
|
}
|
|
50
44
|
if (isSimilarYear) {
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
const {
|
|
46
|
+
year: _year,
|
|
47
|
+
...newOptions
|
|
48
|
+
} = options;
|
|
53
49
|
if (getDayJSLocale(locale) === 'en') {
|
|
54
|
-
return
|
|
50
|
+
return `${new Intl.DateTimeFormat(locale, newOptions).format(normalizeDates[0])}-${new Intl.DateTimeFormat(locale, newOptions).format(normalizeDates[1])}, ${normalizeDates[0].getFullYear()}`;
|
|
55
51
|
}
|
|
56
|
-
return
|
|
52
|
+
return `${new Intl.DateTimeFormat(locale, newOptions).format(normalizeDates[0])}-${new Intl.DateTimeFormat(locale, newOptions).format(normalizeDates[1])} ${normalizeDates[0].getFullYear()}`;
|
|
57
53
|
}
|
|
58
|
-
return
|
|
54
|
+
return `${format(normalizeDates[0])}-${format(normalizeDates[1])}`;
|
|
59
55
|
}
|
|
60
56
|
return format(normalizeDates[0]);
|
|
61
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortDateRangeFormat.js","names":["dayjs","getDayJSLocale","locale","includes","shortDateRangeFormat","dates","
|
|
1
|
+
{"version":3,"file":"shortDateRangeFormat.js","names":["dayjs","getDayJSLocale","locale","includes","shortDateRangeFormat","dates","options","format","Intl","DateTimeFormat","normalizeDates","map","date","toDate","monthsYears","month","year","length","isSimilarDay","isSimilarMonth","isSimilarYear","day","getDate","getFullYear","_year","newOptions"],"sources":["../../../src/utils/shortDateRangeFormat.js"],"sourcesContent":["import dayjs from 'dayjs';\n\nfunction getDayJSLocale(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return 'en';\n }\n return 'ru';\n}\n\nexport default function shortDateRangeFormat(dates, { locale = 'en-US', ...options }) {\n const { format } = new Intl.DateTimeFormat(locale, options);\n const normalizeDates = dates.map((date) => dayjs(date).toDate());\n const monthsYears = dates.map((date) => [\n dayjs(date).date(),\n dayjs(date).month(),\n dayjs(date).year(),\n ]);\n\n if (monthsYears.length > 1) {\n const isSimilarDay = monthsYears[0][0] === monthsYears[1][0];\n const isSimilarMonth = monthsYears[0][1] === monthsYears[1][1];\n const isSimilarYear = monthsYears[0][2] === monthsYears[1][2];\n\n if (isSimilarMonth && isSimilarYear && !options.day) {\n return format(normalizeDates[0]);\n }\n if (isSimilarMonth && isSimilarYear) {\n if (getDayJSLocale(locale) === 'en') {\n if (isSimilarDay) {\n return `${new Intl.DateTimeFormat(locale, { month: options.month }).format(\n normalizeDates[0],\n )} ${normalizeDates[0].getDate()}, ${normalizeDates[0].getFullYear()}`;\n }\n return `${new Intl.DateTimeFormat(locale, { month: options.month }).format(\n normalizeDates[0],\n )} ${normalizeDates[0].getDate()}-${normalizeDates[1].getDate()}, ${normalizeDates[0].getFullYear()}`;\n }\n if (isSimilarDay) {\n return `${normalizeDates[0].getDate()} ${new Intl.DateTimeFormat(locale, {\n month: options.month,\n }).format(normalizeDates[0])} ${normalizeDates[0].getFullYear()}`;\n }\n return `${normalizeDates[0].getDate()}-${normalizeDates[1].getDate()} ${new Intl.DateTimeFormat(\n locale,\n { month: options.month },\n ).format(normalizeDates[0])} ${normalizeDates[0].getFullYear()}`;\n }\n\n if (isSimilarYear) {\n const { year: _year, ...newOptions } = options;\n if (getDayJSLocale(locale) === 'en') {\n return `${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[0],\n )}-${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[1],\n )}, ${normalizeDates[0].getFullYear()}`;\n }\n return `${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[0],\n )}-${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[1],\n )} ${normalizeDates[0].getFullYear()}`;\n }\n\n return `${format(normalizeDates[0])}-${format(normalizeDates[1])}`;\n }\n\n return format(normalizeDates[0]);\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,cAAcA,CAACC,MAAM,EAAE;EAC9B,IAAIA,MAAM,CAACC,QAAQ,CAAC,IAAI,CAAC,IAAID,MAAM,CAACC,QAAQ,CAAC,IAAI,CAAC,EAAE;IAClD,OAAO,IAAI;EACb;EACA,OAAO,IAAI;AACb;AAEA,eAAe,SAASC,oBAAoBA,CAACC,KAAK,EAAE;EAAEH,MAAM,GAAG,OAAO;EAAE,GAAGI;AAAQ,CAAC,EAAE;EACpF,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAIC,IAAI,CAACC,cAAc,CAACP,MAAM,EAAEI,OAAO,CAAC;EAC3D,MAAMI,cAAc,GAAGL,KAAK,CAACM,GAAG,CAAEC,IAAI,IAAKZ,KAAK,CAACY,IAAI,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;EAChE,MAAMC,WAAW,GAAGT,KAAK,CAACM,GAAG,CAAEC,IAAI,IAAK,CACtCZ,KAAK,CAACY,IAAI,CAAC,CAACA,IAAI,CAAC,CAAC,EAClBZ,KAAK,CAACY,IAAI,CAAC,CAACG,KAAK,CAAC,CAAC,EACnBf,KAAK,CAACY,IAAI,CAAC,CAACI,IAAI,CAAC,CAAC,CACnB,CAAC;EAEF,IAAIF,WAAW,CAACG,MAAM,GAAG,CAAC,EAAE;IAC1B,MAAMC,YAAY,GAAGJ,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKA,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAMK,cAAc,GAAGL,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKA,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAMM,aAAa,GAAGN,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKA,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,IAAIK,cAAc,IAAIC,aAAa,IAAI,CAACd,OAAO,CAACe,GAAG,EAAE;MACnD,OAAOd,MAAM,CAACG,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC;IACA,IAAIS,cAAc,IAAIC,aAAa,EAAE;MACnC,IAAInB,cAAc,CAACC,MAAM,CAAC,KAAK,IAAI,EAAE;QACnC,IAAIgB,YAAY,EAAE;UAChB,OAAO,GAAG,IAAIV,IAAI,CAACC,cAAc,CAACP,MAAM,EAAE;YAAEa,KAAK,EAAET,OAAO,CAACS;UAAM,CAAC,CAAC,CAACR,MAAM,CACxEG,cAAc,CAAC,CAAC,CAClB,CAAC,IAAIA,cAAc,CAAC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC,KAAKZ,cAAc,CAAC,CAAC,CAAC,CAACa,WAAW,CAAC,CAAC,EAAE;QACxE;QACA,OAAO,GAAG,IAAIf,IAAI,CAACC,cAAc,CAACP,MAAM,EAAE;UAAEa,KAAK,EAAET,OAAO,CAACS;QAAM,CAAC,CAAC,CAACR,MAAM,CACxEG,cAAc,CAAC,CAAC,CAClB,CAAC,IAAIA,cAAc,CAAC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC,IAAIZ,cAAc,CAAC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC,KAAKZ,cAAc,CAAC,CAAC,CAAC,CAACa,WAAW,CAAC,CAAC,EAAE;MACvG;MACA,IAAIL,YAAY,EAAE;QAChB,OAAO,GAAGR,cAAc,CAAC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC,IAAI,IAAId,IAAI,CAACC,cAAc,CAACP,MAAM,EAAE;UACvEa,KAAK,EAAET,OAAO,CAACS;QACjB,CAAC,CAAC,CAACR,MAAM,CAACG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAIA,cAAc,CAAC,CAAC,CAAC,CAACa,WAAW,CAAC,CAAC,EAAE;MACnE;MACA,OAAO,GAAGb,cAAc,CAAC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC,IAAIZ,cAAc,CAAC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC,IAAI,IAAId,IAAI,CAACC,cAAc,CAC7FP,MAAM,EACN;QAAEa,KAAK,EAAET,OAAO,CAACS;MAAM,CACzB,CAAC,CAACR,MAAM,CAACG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAIA,cAAc,CAAC,CAAC,CAAC,CAACa,WAAW,CAAC,CAAC,EAAE;IAClE;IAEA,IAAIH,aAAa,EAAE;MACjB,MAAM;QAAEJ,IAAI,EAAEQ,KAAK;QAAE,GAAGC;MAAW,CAAC,GAAGnB,OAAO;MAC9C,IAAIL,cAAc,CAACC,MAAM,CAAC,KAAK,IAAI,EAAE;QACnC,OAAO,GAAG,IAAIM,IAAI,CAACC,cAAc,CAACP,MAAM,EAAEuB,UAAU,CAAC,CAAClB,MAAM,CAC1DG,cAAc,CAAC,CAAC,CAClB,CAAC,IAAI,IAAIF,IAAI,CAACC,cAAc,CAACP,MAAM,EAAEuB,UAAU,CAAC,CAAClB,MAAM,CACrDG,cAAc,CAAC,CAAC,CAClB,CAAC,KAAKA,cAAc,CAAC,CAAC,CAAC,CAACa,WAAW,CAAC,CAAC,EAAE;MACzC;MACA,OAAO,GAAG,IAAIf,IAAI,CAACC,cAAc,CAACP,MAAM,EAAEuB,UAAU,CAAC,CAAClB,MAAM,CAC1DG,cAAc,CAAC,CAAC,CAClB,CAAC,IAAI,IAAIF,IAAI,CAACC,cAAc,CAACP,MAAM,EAAEuB,UAAU,CAAC,CAAClB,MAAM,CACrDG,cAAc,CAAC,CAAC,CAClB,CAAC,IAAIA,cAAc,CAAC,CAAC,CAAC,CAACa,WAAW,CAAC,CAAC,EAAE;IACxC;IAEA,OAAO,GAAGhB,MAAM,CAACG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAIH,MAAM,CAACG,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;EACpE;EAEA,OAAOH,MAAM,CAACG,cAAc,CAAC,CAAC,CAAC,CAAC;AAClC","ignoreList":[]}
|