react-day-picker 9.3.0 → 9.3.2
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/dist/cjs/formatters/formatMonthDropdown.d.ts +2 -1
- package/dist/cjs/formatters/formatMonthDropdown.js +1 -2
- package/dist/cjs/formatters/formatMonthDropdown.js.map +1 -1
- package/dist/cjs/helpers/getDates.d.ts +2 -0
- package/dist/cjs/helpers/getDates.js +5 -3
- package/dist/cjs/helpers/getDates.js.map +1 -1
- package/dist/cjs/helpers/getMonthOptions.d.ts +1 -1
- package/dist/cjs/helpers/getMonthOptions.js +2 -1
- package/dist/cjs/helpers/getMonthOptions.js.map +1 -1
- package/dist/cjs/helpers/getMonths.js +5 -2
- package/dist/cjs/helpers/getMonths.js.map +1 -1
- package/dist/cjs/types/deprecated.d.ts +7 -0
- package/dist/cjs/types/deprecated.js +0 -1
- package/dist/cjs/types/deprecated.js.map +1 -1
- package/dist/cjs/types/props.d.ts +5 -0
- package/dist/cjs/useGetModifiers.d.ts +2 -0
- package/dist/cjs/useGetModifiers.js +9 -18
- package/dist/cjs/useGetModifiers.js.map +1 -1
- package/dist/esm/formatters/formatMonthDropdown.d.ts +2 -1
- package/dist/esm/formatters/formatMonthDropdown.js +1 -2
- package/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
- package/dist/esm/helpers/getDates.d.ts +2 -0
- package/dist/esm/helpers/getDates.js +3 -2
- package/dist/esm/helpers/getDates.js.map +1 -1
- package/dist/esm/helpers/getMonthOptions.d.ts +1 -1
- package/dist/esm/helpers/getMonthOptions.js +2 -1
- package/dist/esm/helpers/getMonthOptions.js.map +1 -1
- package/dist/esm/helpers/getMonths.js +5 -2
- package/dist/esm/helpers/getMonths.js.map +1 -1
- package/dist/esm/types/deprecated.d.ts +7 -0
- package/dist/esm/types/deprecated.js +0 -1
- package/dist/esm/types/deprecated.js.map +1 -1
- package/dist/esm/types/props.d.ts +5 -0
- package/dist/esm/useGetModifiers.d.ts +2 -0
- package/dist/esm/useGetModifiers.js +10 -19
- package/dist/esm/useGetModifiers.js.map +1 -1
- package/examples/StartEndMonthsShowOutsideDays.tsx +20 -0
- package/examples/TestCase2585.test.tsx +11 -0
- package/examples/TestCase2585.tsx +20 -0
- package/examples/__snapshots__/Range.test.tsx.snap +5 -5
- package/examples/index.ts +2 -0
- package/package.json +13 -13
- package/src/formatters/formatMonthDropdown.test.ts +5 -1
- package/src/formatters/formatMonthDropdown.ts +2 -3
- package/src/helpers/getDates.test.ts +30 -3
- package/src/helpers/getDates.ts +3 -2
- package/src/helpers/getMonthOptions.ts +5 -2
- package/src/helpers/getMonths.ts +6 -2
- package/src/types/deprecated.ts +15 -0
- package/src/types/props.ts +5 -0
- package/src/useGetModifiers.test.tsx +154 -0
- package/src/useGetModifiers.tsx +24 -22
- package/website/docs/upgrading.mdx +29 -28
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Locale } from "../classes/DateLib.js";
|
|
1
2
|
/**
|
|
2
3
|
* Format the month number for the dropdown option label.
|
|
3
4
|
*
|
|
@@ -9,4 +10,4 @@ export declare function formatMonthDropdown(
|
|
|
9
10
|
/** The month number to format. */
|
|
10
11
|
monthNumber: number,
|
|
11
12
|
/** The locale to use for formatting. */
|
|
12
|
-
locale
|
|
13
|
+
locale: Locale): string;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatMonthDropdown = formatMonthDropdown;
|
|
4
|
-
const DateLib_js_1 = require("../classes/DateLib.js");
|
|
5
4
|
/**
|
|
6
5
|
* Format the month number for the dropdown option label.
|
|
7
6
|
*
|
|
@@ -13,7 +12,7 @@ function formatMonthDropdown(
|
|
|
13
12
|
/** The month number to format. */
|
|
14
13
|
monthNumber,
|
|
15
14
|
/** The locale to use for formatting. */
|
|
16
|
-
locale
|
|
15
|
+
locale) {
|
|
17
16
|
return locale.localize?.month(monthNumber);
|
|
18
17
|
}
|
|
19
18
|
//# sourceMappingURL=formatMonthDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatMonthDropdown.js","sourceRoot":"","sources":["../../../src/formatters/formatMonthDropdown.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"formatMonthDropdown.js","sourceRoot":"","sources":["../../../src/formatters/formatMonthDropdown.ts"],"names":[],"mappings":";;AASA,kDAOC;AAdD;;;;;;GAMG;AACH,SAAgB,mBAAmB;AACjC,kCAAkC;AAClC,WAAmB;AACnB,wCAAwC;AACxC,MAAc;IAEd,OAAO,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,WAA2B,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type DateLib } from "../classes/DateLib.js";
|
|
2
2
|
import { type DayPickerProps } from "../types/props.js";
|
|
3
|
+
/** The number of days in a month when having 6 weeks. */
|
|
4
|
+
export declare const NrOfDaysWithFixedWeeks = 42;
|
|
3
5
|
/** Return all the dates to display in the calendar. */
|
|
4
6
|
export declare function getDates(displayMonths: Date[], maxDate: Date | undefined, props: Pick<DayPickerProps, "ISOWeek" | "fixedWeeks">, dateLib: DateLib): Date[];
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NrOfDaysWithFixedWeeks = void 0;
|
|
3
4
|
exports.getDates = getDates;
|
|
4
5
|
/** The number of days in a month when having 6 weeks. */
|
|
5
|
-
|
|
6
|
+
exports.NrOfDaysWithFixedWeeks = 42;
|
|
6
7
|
/** Return all the dates to display in the calendar. */
|
|
7
8
|
function getDates(displayMonths, maxDate, props, dateLib) {
|
|
8
9
|
const firstMonth = displayMonths[0];
|
|
@@ -26,9 +27,10 @@ function getDates(displayMonths, maxDate, props, dateLib) {
|
|
|
26
27
|
dates.push(date);
|
|
27
28
|
}
|
|
28
29
|
// If fixed weeks is enabled, add the extra dates to the array
|
|
29
|
-
const extraDates = NrOfDaysWithFixedWeeks * nOfMonths;
|
|
30
|
+
const extraDates = exports.NrOfDaysWithFixedWeeks * nOfMonths;
|
|
30
31
|
if (fixedWeeks && dates.length < extraDates) {
|
|
31
|
-
|
|
32
|
+
const daysToAdd = extraDates - dates.length;
|
|
33
|
+
for (let i = 0; i < daysToAdd; i++) {
|
|
32
34
|
const date = addDays(dates[dates.length - 1], 1);
|
|
33
35
|
dates.push(date);
|
|
34
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDates.js","sourceRoot":"","sources":["../../../src/helpers/getDates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getDates.js","sourceRoot":"","sources":["../../../src/helpers/getDates.ts"],"names":[],"mappings":";;;AAOA,4BAoDC;AAxDD,yDAAyD;AAC5C,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC,uDAAuD;AACvD,SAAgB,QAAQ,CACtB,aAAqB,EACrB,OAAyB,EACzB,KAAqD,EACrD,OAAgB;IAEhB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE1D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IAC5C,MAAM,EACJ,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,EACZ,OAAO,EACP,wBAAwB,EACxB,0BAA0B,EAC1B,OAAO,EACP,UAAU,EACX,GAAG,OAAO,CAAC;IAEZ,MAAM,kBAAkB,GAAG,OAAO;QAChC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;QAC5B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5B,MAAM,eAAe,GAAG,OAAO;QAC7B,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,wBAAwB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAExE,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM;QACR,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,8DAA8D;IAC9D,MAAM,UAAU,GAAG,8BAAsB,GAAG,SAAS,CAAC;IACtD,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DateLib } from "../classes/DateLib.js";
|
|
2
2
|
import { DropdownOption } from "../components/Dropdown.js";
|
|
3
3
|
import type { Formatters } from "../types/index.js";
|
|
4
4
|
/** Return the months to show in the dropdown. */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMonthOptions = getMonthOptions;
|
|
4
|
+
const DateLib_js_1 = require("../classes/DateLib.js");
|
|
4
5
|
/** Return the months to show in the dropdown. */
|
|
5
6
|
function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
|
|
6
7
|
if (!navStart)
|
|
@@ -19,7 +20,7 @@ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
|
|
|
19
20
|
return a - b;
|
|
20
21
|
});
|
|
21
22
|
const options = sortedMonths.map((value) => {
|
|
22
|
-
const label = formatters.formatMonthDropdown(value, dateLib.options.locale);
|
|
23
|
+
const label = formatters.formatMonthDropdown(value, dateLib.options.locale ?? DateLib_js_1.defaultLocale);
|
|
23
24
|
const month = dateLib.Date
|
|
24
25
|
? new dateLib.Date(year, value)
|
|
25
26
|
: new Date(year, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMonthOptions.js","sourceRoot":"","sources":["../../../src/helpers/getMonthOptions.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"getMonthOptions.js","sourceRoot":"","sources":["../../../src/helpers/getMonthOptions.ts"],"names":[],"mappings":";;AAKA,0CAsCC;AA3CD,sDAAoE;AAIpE,iDAAiD;AACjD,SAAgB,eAAe,CAC7B,YAAkB,EAClB,QAA0B,EAC1B,MAAwB,EACxB,UAAmD,EACnD,OAAgB;IAEhB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAExC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,QAAQ,CAAC;IACrB,OAAO,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,mBAAmB,CAC1C,KAAK,EACL,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,0BAAa,CACxC,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI;YACxB,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,MAAM,QAAQ,GACZ,CAAC,QAAQ,IAAI,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC,MAAM,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,CAAC;QACR,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMonths = getMonths;
|
|
4
4
|
const index_js_1 = require("../classes/index.js");
|
|
5
|
+
const getDates_js_1 = require("./getDates.js");
|
|
5
6
|
/** Return the months to display in the calendar. */
|
|
6
7
|
function getMonths(
|
|
7
8
|
/** The months (as dates) to display in the calendar. */
|
|
@@ -22,9 +23,11 @@ props, dateLib) {
|
|
|
22
23
|
const monthDates = dates.filter((date) => {
|
|
23
24
|
return date >= firstDateOfFirstWeek && date <= lastDateOfLastWeek;
|
|
24
25
|
});
|
|
25
|
-
if (props.fixedWeeks && monthDates.length <
|
|
26
|
+
if (props.fixedWeeks && monthDates.length < getDates_js_1.NrOfDaysWithFixedWeeks) {
|
|
26
27
|
const extraDates = dates.filter((date) => {
|
|
27
|
-
|
|
28
|
+
const daysToAdd = getDates_js_1.NrOfDaysWithFixedWeeks - monthDates.length;
|
|
29
|
+
return (date > lastDateOfLastWeek &&
|
|
30
|
+
date <= addDays(lastDateOfLastWeek, daysToAdd));
|
|
28
31
|
});
|
|
29
32
|
monthDates.push(...extraDates);
|
|
30
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMonths.js","sourceRoot":"","sources":["../../../src/helpers/getMonths.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getMonths.js","sourceRoot":"","sources":["../../../src/helpers/getMonths.ts"],"names":[],"mappings":";;AAOA,8BA0EC;AAhFD,kDAA+E;AAG/E,+CAAuD;AAEvD,oDAAoD;AACpD,SAAgB,SAAS;AACvB,wDAAwD;AACxD,aAAqB;AACrB,4CAA4C;AAC5C,KAAa;AACb,sCAAsC;AACtC,KAAuE,EACvE,OAAgB;IAEhB,MAAM,EACJ,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,EACP,UAAU,EACX,GAAG,OAAO,CAAC;IACZ,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAChB,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO;YACxC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;YACvB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEvB,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO;YACtC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjC,yCAAyC;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,OAAO,IAAI,IAAI,oBAAoB,IAAI,IAAI,IAAI,kBAAkB,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,oCAAsB,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvC,MAAM,SAAS,GAAG,oCAAsB,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC7D,OAAO,CACL,IAAI,GAAG,kBAAkB;oBACzB,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAC/C,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAmB,UAAU,CAAC,MAAM,CAC7C,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;YAElE,MAAM,GAAG,GAAG,IAAI,sBAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAY,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,EACD,EAAE,CACH,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,wBAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEvD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,EAAE,CACH,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,eAAe,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DayFlag, SelectionState } from "../UI.js";
|
|
1
2
|
import { MonthCaption, type MonthCaptionProps } from "../components/MonthCaption.js";
|
|
2
3
|
import { Week, type WeekProps } from "../components/Week.js";
|
|
3
4
|
import { labelDayButton, labelNext, labelWeekday, labelWeekNumber } from "../labels/index.js";
|
|
@@ -75,6 +76,12 @@ export type DaySelectionMode = Mode;
|
|
|
75
76
|
* @protected
|
|
76
77
|
*/
|
|
77
78
|
export type Modifier = string;
|
|
79
|
+
/**
|
|
80
|
+
* @deprecated This type will be removed. Use {@link DayFlag} or
|
|
81
|
+
* {@link SelectionState} instead.
|
|
82
|
+
* @protected
|
|
83
|
+
*/
|
|
84
|
+
export type InternalModifier = DayFlag.disabled | DayFlag.hidden | DayFlag.focused | SelectionState.range_end | SelectionState.range_middle | SelectionState.range_start | SelectionState.selected;
|
|
78
85
|
/**
|
|
79
86
|
* @deprecated This type will be removed. Use `SelectHandler<"single">` instead.
|
|
80
87
|
* @protected
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useNavigation = exports.Row = exports.Caption = void 0;
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
4
|
const MonthCaption_js_1 = require("../components/MonthCaption.js");
|
|
6
5
|
const Week_js_1 = require("../components/Week.js");
|
|
7
6
|
const useDayPicker_js_1 = require("../useDayPicker.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../../src/types/deprecated.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../../src/types/deprecated.ts"],"names":[],"mappings":";;;AAEA,mEAGuC;AACvC,mDAA6D;AAO7D,wDAAkD;AAiBlD;;;;;GAKG;AACU,QAAA,OAAO,GAAG,8BAAY,CAAC;AAgBpC;;;;;GAKG;AACU,QAAA,GAAG,GAAG,cAAI,CAAC;AAmFxB;;;;GAIG;AACU,QAAA,aAAa,GAAG,8BAAY,CAAC"}
|
|
@@ -264,6 +264,11 @@ export interface PropsBase {
|
|
|
264
264
|
* @see https://daypicker.dev/guides/accessibility#autofocus
|
|
265
265
|
*/
|
|
266
266
|
autoFocus?: boolean;
|
|
267
|
+
/**
|
|
268
|
+
* @private
|
|
269
|
+
* @deprecated This prop will be removed. Use {@link autoFocus} instead.
|
|
270
|
+
*/
|
|
271
|
+
initialFocus?: boolean;
|
|
267
272
|
/**
|
|
268
273
|
* Apply the `disabled` modifier to the matching days.
|
|
269
274
|
*
|
|
@@ -3,6 +3,8 @@ import type { DayPickerProps, Modifiers } from "./types/index.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Return a function to get the modifiers for a given day.
|
|
5
5
|
*
|
|
6
|
+
* NOTE: this is not an hook, but a factory for `getModifiers`.
|
|
7
|
+
*
|
|
6
8
|
* @private
|
|
7
9
|
*/
|
|
8
10
|
export declare function useGetModifiers(days: CalendarDay[], props: DayPickerProps, dateLib: DateLib): (day: CalendarDay) => Modifiers;
|
|
@@ -7,11 +7,15 @@ const dateMatchModifiers_js_1 = require("./utils/dateMatchModifiers.js");
|
|
|
7
7
|
/**
|
|
8
8
|
* Return a function to get the modifiers for a given day.
|
|
9
9
|
*
|
|
10
|
+
* NOTE: this is not an hook, but a factory for `getModifiers`.
|
|
11
|
+
*
|
|
10
12
|
* @private
|
|
11
13
|
*/
|
|
12
14
|
function useGetModifiers(days, props, dateLib) {
|
|
13
15
|
const { disabled, hidden, modifiers, showOutsideDays, today } = props;
|
|
14
|
-
const { isSameDay, isSameMonth } = dateLib;
|
|
16
|
+
const { isSameDay, isSameMonth, startOfMonth, isBefore, endOfMonth, isAfter } = dateLib;
|
|
17
|
+
const startMonth = props.startMonth && startOfMonth(props.startMonth);
|
|
18
|
+
const endMonth = props.endMonth && endOfMonth(props.endMonth);
|
|
15
19
|
const internalModifiersMap = {
|
|
16
20
|
[UI_js_1.DayFlag.focused]: [],
|
|
17
21
|
[UI_js_1.DayFlag.outside]: [],
|
|
@@ -20,17 +24,15 @@ function useGetModifiers(days, props, dateLib) {
|
|
|
20
24
|
[UI_js_1.DayFlag.today]: []
|
|
21
25
|
};
|
|
22
26
|
const customModifiersMap = {};
|
|
23
|
-
const selectionModifiersMap = {
|
|
24
|
-
[UI_js_1.SelectionState.range_end]: [],
|
|
25
|
-
[UI_js_1.SelectionState.range_middle]: [],
|
|
26
|
-
[UI_js_1.SelectionState.range_start]: [],
|
|
27
|
-
[UI_js_1.SelectionState.selected]: []
|
|
28
|
-
};
|
|
29
27
|
for (const day of days) {
|
|
30
28
|
const { date, displayMonth } = day;
|
|
31
29
|
const isOutside = Boolean(displayMonth && !isSameMonth(date, displayMonth));
|
|
30
|
+
const isBeforeStartMonth = Boolean(startMonth && isBefore(date, startMonth));
|
|
31
|
+
const isAfterEndMonth = Boolean(endMonth && isAfter(date, endMonth));
|
|
32
32
|
const isDisabled = Boolean(disabled && (0, dateMatchModifiers_js_1.dateMatchModifiers)(date, disabled, dateLib));
|
|
33
33
|
const isHidden = Boolean(hidden && (0, dateMatchModifiers_js_1.dateMatchModifiers)(date, hidden, dateLib)) ||
|
|
34
|
+
isBeforeStartMonth ||
|
|
35
|
+
isAfterEndMonth ||
|
|
34
36
|
(!showOutsideDays && isOutside);
|
|
35
37
|
const isToday = isSameDay(date, today ??
|
|
36
38
|
(props.timeZone
|
|
@@ -73,27 +75,16 @@ function useGetModifiers(days, props, dateLib) {
|
|
|
73
75
|
[UI_js_1.DayFlag.outside]: false,
|
|
74
76
|
[UI_js_1.DayFlag.today]: false
|
|
75
77
|
};
|
|
76
|
-
const selectionStates = {
|
|
77
|
-
[UI_js_1.SelectionState.range_end]: false,
|
|
78
|
-
[UI_js_1.SelectionState.range_middle]: false,
|
|
79
|
-
[UI_js_1.SelectionState.range_start]: false,
|
|
80
|
-
[UI_js_1.SelectionState.selected]: false
|
|
81
|
-
};
|
|
82
78
|
const customModifiers = {};
|
|
83
79
|
// Find the modifiers for the given day
|
|
84
80
|
for (const name in internalModifiersMap) {
|
|
85
81
|
const days = internalModifiersMap[name];
|
|
86
82
|
dayFlags[name] = days.some((d) => d === day);
|
|
87
83
|
}
|
|
88
|
-
for (const name in selectionModifiersMap) {
|
|
89
|
-
const days = selectionModifiersMap[name];
|
|
90
|
-
selectionStates[name] = days.some((d) => d === day);
|
|
91
|
-
}
|
|
92
84
|
for (const name in customModifiersMap) {
|
|
93
85
|
customModifiers[name] = customModifiersMap[name].some((d) => d === day);
|
|
94
86
|
}
|
|
95
87
|
return {
|
|
96
|
-
...selectionStates,
|
|
97
88
|
...dayFlags,
|
|
98
89
|
// custom modifiers should override all the previous ones
|
|
99
90
|
...customModifiers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetModifiers.js","sourceRoot":"","sources":["../../src/useGetModifiers.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useGetModifiers.js","sourceRoot":"","sources":["../../src/useGetModifiers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Locale } from "../classes/DateLib.js";
|
|
1
2
|
/**
|
|
2
3
|
* Format the month number for the dropdown option label.
|
|
3
4
|
*
|
|
@@ -9,4 +10,4 @@ export declare function formatMonthDropdown(
|
|
|
9
10
|
/** The month number to format. */
|
|
10
11
|
monthNumber: number,
|
|
11
12
|
/** The locale to use for formatting. */
|
|
12
|
-
locale
|
|
13
|
+
locale: Locale): string;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { defaultLocale } from "../classes/DateLib.js";
|
|
2
1
|
/**
|
|
3
2
|
* Format the month number for the dropdown option label.
|
|
4
3
|
*
|
|
@@ -10,7 +9,7 @@ export function formatMonthDropdown(
|
|
|
10
9
|
/** The month number to format. */
|
|
11
10
|
monthNumber,
|
|
12
11
|
/** The locale to use for formatting. */
|
|
13
|
-
locale
|
|
12
|
+
locale) {
|
|
14
13
|
return locale.localize?.month(monthNumber);
|
|
15
14
|
}
|
|
16
15
|
//# sourceMappingURL=formatMonthDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatMonthDropdown.js","sourceRoot":"","sources":["../../../src/formatters/formatMonthDropdown.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formatMonthDropdown.js","sourceRoot":"","sources":["../../../src/formatters/formatMonthDropdown.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;AACjC,kCAAkC;AAClC,WAAmB;AACnB,wCAAwC;AACxC,MAAc;IAEd,OAAO,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,WAA2B,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type DateLib } from "../classes/DateLib.js";
|
|
2
2
|
import { type DayPickerProps } from "../types/props.js";
|
|
3
|
+
/** The number of days in a month when having 6 weeks. */
|
|
4
|
+
export declare const NrOfDaysWithFixedWeeks = 42;
|
|
3
5
|
/** Return all the dates to display in the calendar. */
|
|
4
6
|
export declare function getDates(displayMonths: Date[], maxDate: Date | undefined, props: Pick<DayPickerProps, "ISOWeek" | "fixedWeeks">, dateLib: DateLib): Date[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** The number of days in a month when having 6 weeks. */
|
|
2
|
-
const NrOfDaysWithFixedWeeks = 42;
|
|
2
|
+
export const NrOfDaysWithFixedWeeks = 42;
|
|
3
3
|
/** Return all the dates to display in the calendar. */
|
|
4
4
|
export function getDates(displayMonths, maxDate, props, dateLib) {
|
|
5
5
|
const firstMonth = displayMonths[0];
|
|
@@ -25,7 +25,8 @@ export function getDates(displayMonths, maxDate, props, dateLib) {
|
|
|
25
25
|
// If fixed weeks is enabled, add the extra dates to the array
|
|
26
26
|
const extraDates = NrOfDaysWithFixedWeeks * nOfMonths;
|
|
27
27
|
if (fixedWeeks && dates.length < extraDates) {
|
|
28
|
-
|
|
28
|
+
const daysToAdd = extraDates - dates.length;
|
|
29
|
+
for (let i = 0; i < daysToAdd; i++) {
|
|
29
30
|
const date = addDays(dates[dates.length - 1], 1);
|
|
30
31
|
dates.push(date);
|
|
31
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDates.js","sourceRoot":"","sources":["../../../src/helpers/getDates.ts"],"names":[],"mappings":"AAGA,yDAAyD;AACzD,MAAM,sBAAsB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"getDates.js","sourceRoot":"","sources":["../../../src/helpers/getDates.ts"],"names":[],"mappings":"AAGA,yDAAyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,uDAAuD;AACvD,MAAM,UAAU,QAAQ,CACtB,aAAqB,EACrB,OAAyB,EACzB,KAAqD,EACrD,OAAgB;IAEhB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE1D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IAC5C,MAAM,EACJ,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,EACZ,OAAO,EACP,wBAAwB,EACxB,0BAA0B,EAC1B,OAAO,EACP,UAAU,EACX,GAAG,OAAO,CAAC;IAEZ,MAAM,kBAAkB,GAAG,OAAO;QAChC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;QAC5B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5B,MAAM,eAAe,GAAG,OAAO;QAC7B,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,wBAAwB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAExE,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM;QACR,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,8DAA8D;IAC9D,MAAM,UAAU,GAAG,sBAAsB,GAAG,SAAS,CAAC;IACtD,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DateLib } from "../classes/DateLib.js";
|
|
2
2
|
import { DropdownOption } from "../components/Dropdown.js";
|
|
3
3
|
import type { Formatters } from "../types/index.js";
|
|
4
4
|
/** Return the months to show in the dropdown. */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { defaultLocale } from "../classes/DateLib.js";
|
|
1
2
|
/** Return the months to show in the dropdown. */
|
|
2
3
|
export function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
|
|
3
4
|
if (!navStart)
|
|
@@ -16,7 +17,7 @@ export function getMonthOptions(displayMonth, navStart, navEnd, formatters, date
|
|
|
16
17
|
return a - b;
|
|
17
18
|
});
|
|
18
19
|
const options = sortedMonths.map((value) => {
|
|
19
|
-
const label = formatters.formatMonthDropdown(value, dateLib.options.locale);
|
|
20
|
+
const label = formatters.formatMonthDropdown(value, dateLib.options.locale ?? defaultLocale);
|
|
20
21
|
const month = dateLib.Date
|
|
21
22
|
? new dateLib.Date(year, value)
|
|
22
23
|
: new Date(year, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMonthOptions.js","sourceRoot":"","sources":["../../../src/helpers/getMonthOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getMonthOptions.js","sourceRoot":"","sources":["../../../src/helpers/getMonthOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,uBAAuB,CAAC;AAIpE,iDAAiD;AACjD,MAAM,UAAU,eAAe,CAC7B,YAAkB,EAClB,QAA0B,EAC1B,MAAwB,EACxB,UAAmD,EACnD,OAAgB;IAEhB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAExC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,QAAQ,CAAC;IACrB,OAAO,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,mBAAmB,CAC1C,KAAK,EACL,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,aAAa,CACxC,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI;YACxB,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,MAAM,QAAQ,GACZ,CAAC,QAAQ,IAAI,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC,MAAM,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,CAAC;QACR,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CalendarWeek, CalendarDay, CalendarMonth } from "../classes/index.js";
|
|
2
|
+
import { NrOfDaysWithFixedWeeks } from "./getDates.js";
|
|
2
3
|
/** Return the months to display in the calendar. */
|
|
3
4
|
export function getMonths(
|
|
4
5
|
/** The months (as dates) to display in the calendar. */
|
|
@@ -19,9 +20,11 @@ props, dateLib) {
|
|
|
19
20
|
const monthDates = dates.filter((date) => {
|
|
20
21
|
return date >= firstDateOfFirstWeek && date <= lastDateOfLastWeek;
|
|
21
22
|
});
|
|
22
|
-
if (props.fixedWeeks && monthDates.length <
|
|
23
|
+
if (props.fixedWeeks && monthDates.length < NrOfDaysWithFixedWeeks) {
|
|
23
24
|
const extraDates = dates.filter((date) => {
|
|
24
|
-
|
|
25
|
+
const daysToAdd = NrOfDaysWithFixedWeeks - monthDates.length;
|
|
26
|
+
return (date > lastDateOfLastWeek &&
|
|
27
|
+
date <= addDays(lastDateOfLastWeek, daysToAdd));
|
|
25
28
|
});
|
|
26
29
|
monthDates.push(...extraDates);
|
|
27
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMonths.js","sourceRoot":"","sources":["../../../src/helpers/getMonths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG/E,oDAAoD;AACpD,MAAM,UAAU,SAAS;AACvB,wDAAwD;AACxD,aAAqB;AACrB,4CAA4C;AAC5C,KAAa;AACb,sCAAsC;AACtC,KAAuE,EACvE,OAAgB;IAEhB,MAAM,EACJ,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,EACP,UAAU,EACX,GAAG,OAAO,CAAC;IACZ,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAChB,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO;YACxC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;YACvB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEvB,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO;YACtC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjC,yCAAyC;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,OAAO,IAAI,IAAI,oBAAoB,IAAI,IAAI,IAAI,kBAAkB,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"getMonths.js","sourceRoot":"","sources":["../../../src/helpers/getMonths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DayFlag, SelectionState } from "../UI.js";
|
|
1
2
|
import { MonthCaption, type MonthCaptionProps } from "../components/MonthCaption.js";
|
|
2
3
|
import { Week, type WeekProps } from "../components/Week.js";
|
|
3
4
|
import { labelDayButton, labelNext, labelWeekday, labelWeekNumber } from "../labels/index.js";
|
|
@@ -75,6 +76,12 @@ export type DaySelectionMode = Mode;
|
|
|
75
76
|
* @protected
|
|
76
77
|
*/
|
|
77
78
|
export type Modifier = string;
|
|
79
|
+
/**
|
|
80
|
+
* @deprecated This type will be removed. Use {@link DayFlag} or
|
|
81
|
+
* {@link SelectionState} instead.
|
|
82
|
+
* @protected
|
|
83
|
+
*/
|
|
84
|
+
export type InternalModifier = DayFlag.disabled | DayFlag.hidden | DayFlag.focused | SelectionState.range_end | SelectionState.range_middle | SelectionState.range_start | SelectionState.selected;
|
|
78
85
|
/**
|
|
79
86
|
* @deprecated This type will be removed. Use `SelectHandler<"single">` instead.
|
|
80
87
|
* @protected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../../src/types/deprecated.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../../src/types/deprecated.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAkB,MAAM,uBAAuB,CAAC;AAO7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiBlD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC;AAgBpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC;AAmFxB;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC"}
|
|
@@ -264,6 +264,11 @@ export interface PropsBase {
|
|
|
264
264
|
* @see https://daypicker.dev/guides/accessibility#autofocus
|
|
265
265
|
*/
|
|
266
266
|
autoFocus?: boolean;
|
|
267
|
+
/**
|
|
268
|
+
* @private
|
|
269
|
+
* @deprecated This prop will be removed. Use {@link autoFocus} instead.
|
|
270
|
+
*/
|
|
271
|
+
initialFocus?: boolean;
|
|
267
272
|
/**
|
|
268
273
|
* Apply the `disabled` modifier to the matching days.
|
|
269
274
|
*
|
|
@@ -3,6 +3,8 @@ import type { DayPickerProps, Modifiers } from "./types/index.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Return a function to get the modifiers for a given day.
|
|
5
5
|
*
|
|
6
|
+
* NOTE: this is not an hook, but a factory for `getModifiers`.
|
|
7
|
+
*
|
|
6
8
|
* @private
|
|
7
9
|
*/
|
|
8
10
|
export declare function useGetModifiers(days: CalendarDay[], props: DayPickerProps, dateLib: DateLib): (day: CalendarDay) => Modifiers;
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { TZDate } from "@date-fns/tz";
|
|
2
|
-
import { DayFlag
|
|
2
|
+
import { DayFlag } from "./UI.js";
|
|
3
3
|
import { dateMatchModifiers } from "./utils/dateMatchModifiers.js";
|
|
4
4
|
/**
|
|
5
5
|
* Return a function to get the modifiers for a given day.
|
|
6
6
|
*
|
|
7
|
+
* NOTE: this is not an hook, but a factory for `getModifiers`.
|
|
8
|
+
*
|
|
7
9
|
* @private
|
|
8
10
|
*/
|
|
9
11
|
export function useGetModifiers(days, props, dateLib) {
|
|
10
12
|
const { disabled, hidden, modifiers, showOutsideDays, today } = props;
|
|
11
|
-
const { isSameDay, isSameMonth } = dateLib;
|
|
13
|
+
const { isSameDay, isSameMonth, startOfMonth, isBefore, endOfMonth, isAfter } = dateLib;
|
|
14
|
+
const startMonth = props.startMonth && startOfMonth(props.startMonth);
|
|
15
|
+
const endMonth = props.endMonth && endOfMonth(props.endMonth);
|
|
12
16
|
const internalModifiersMap = {
|
|
13
17
|
[DayFlag.focused]: [],
|
|
14
18
|
[DayFlag.outside]: [],
|
|
@@ -17,17 +21,15 @@ export function useGetModifiers(days, props, dateLib) {
|
|
|
17
21
|
[DayFlag.today]: []
|
|
18
22
|
};
|
|
19
23
|
const customModifiersMap = {};
|
|
20
|
-
const selectionModifiersMap = {
|
|
21
|
-
[SelectionState.range_end]: [],
|
|
22
|
-
[SelectionState.range_middle]: [],
|
|
23
|
-
[SelectionState.range_start]: [],
|
|
24
|
-
[SelectionState.selected]: []
|
|
25
|
-
};
|
|
26
24
|
for (const day of days) {
|
|
27
25
|
const { date, displayMonth } = day;
|
|
28
26
|
const isOutside = Boolean(displayMonth && !isSameMonth(date, displayMonth));
|
|
27
|
+
const isBeforeStartMonth = Boolean(startMonth && isBefore(date, startMonth));
|
|
28
|
+
const isAfterEndMonth = Boolean(endMonth && isAfter(date, endMonth));
|
|
29
29
|
const isDisabled = Boolean(disabled && dateMatchModifiers(date, disabled, dateLib));
|
|
30
30
|
const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) ||
|
|
31
|
+
isBeforeStartMonth ||
|
|
32
|
+
isAfterEndMonth ||
|
|
31
33
|
(!showOutsideDays && isOutside);
|
|
32
34
|
const isToday = isSameDay(date, today ??
|
|
33
35
|
(props.timeZone
|
|
@@ -70,27 +72,16 @@ export function useGetModifiers(days, props, dateLib) {
|
|
|
70
72
|
[DayFlag.outside]: false,
|
|
71
73
|
[DayFlag.today]: false
|
|
72
74
|
};
|
|
73
|
-
const selectionStates = {
|
|
74
|
-
[SelectionState.range_end]: false,
|
|
75
|
-
[SelectionState.range_middle]: false,
|
|
76
|
-
[SelectionState.range_start]: false,
|
|
77
|
-
[SelectionState.selected]: false
|
|
78
|
-
};
|
|
79
75
|
const customModifiers = {};
|
|
80
76
|
// Find the modifiers for the given day
|
|
81
77
|
for (const name in internalModifiersMap) {
|
|
82
78
|
const days = internalModifiersMap[name];
|
|
83
79
|
dayFlags[name] = days.some((d) => d === day);
|
|
84
80
|
}
|
|
85
|
-
for (const name in selectionModifiersMap) {
|
|
86
|
-
const days = selectionModifiersMap[name];
|
|
87
|
-
selectionStates[name] = days.some((d) => d === day);
|
|
88
|
-
}
|
|
89
81
|
for (const name in customModifiersMap) {
|
|
90
82
|
customModifiers[name] = customModifiersMap[name].some((d) => d === day);
|
|
91
83
|
}
|
|
92
84
|
return {
|
|
93
|
-
...selectionStates,
|
|
94
85
|
...dayFlags,
|
|
95
86
|
// custom modifiers should override all the previous ones
|
|
96
87
|
...customModifiers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetModifiers.js","sourceRoot":"","sources":["../../src/useGetModifiers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useGetModifiers.js","sourceRoot":"","sources":["../../src/useGetModifiers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
|
|
3
|
+
import { DayPicker } from "react-day-picker";
|
|
4
|
+
|
|
5
|
+
export function StartEndMonthsShowOutsideDays() {
|
|
6
|
+
const [selected, setSelected] = useState<Date>();
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
<DayPicker
|
|
10
|
+
mode="single"
|
|
11
|
+
selected={selected}
|
|
12
|
+
onSelect={setSelected}
|
|
13
|
+
showOutsideDays={true}
|
|
14
|
+
defaultMonth={new Date(2024, 2)}
|
|
15
|
+
startMonth={new Date(2024, 2, 30)}
|
|
16
|
+
endMonth={new Date(2024, 2, 1)}
|
|
17
|
+
disabled={new Date(2024, 2, 10)}
|
|
18
|
+
/>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { render, screen } from "@/test/render";
|
|
4
|
+
|
|
5
|
+
import { TestCase2585 } from "./TestCase2585";
|
|
6
|
+
|
|
7
|
+
render(<TestCase2585 />);
|
|
8
|
+
|
|
9
|
+
test("should render 42*12 days", () => {
|
|
10
|
+
expect(screen.getAllByRole("cell")).toHaveLength(42 * 12);
|
|
11
|
+
});
|