react-day-picker 9.4.4 → 9.5.0
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/README.md +1 -1
- package/dist/cjs/DayPicker.js +16 -12
- package/dist/cjs/DayPicker.js.map +1 -1
- package/dist/cjs/classes/DateLib.d.ts +77 -2
- package/dist/cjs/classes/DateLib.js +113 -2
- package/dist/cjs/classes/DateLib.js.map +1 -1
- package/dist/cjs/formatters/formatMonthDropdown.d.ts +2 -6
- package/dist/cjs/formatters/formatMonthDropdown.js +3 -6
- package/dist/cjs/formatters/formatMonthDropdown.js.map +1 -1
- package/dist/cjs/formatters/formatYearDropdown.d.ts +2 -2
- package/dist/cjs/formatters/formatYearDropdown.js +3 -3
- package/dist/cjs/formatters/formatYearDropdown.js.map +1 -1
- package/dist/cjs/helpers/getBroadcastWeeksInMonth.js +1 -1
- package/dist/cjs/helpers/getBroadcastWeeksInMonth.js.map +1 -1
- package/dist/cjs/helpers/getInitialMonth.js +1 -6
- package/dist/cjs/helpers/getInitialMonth.js.map +1 -1
- package/dist/cjs/helpers/getMonthOptions.js +7 -20
- package/dist/cjs/helpers/getMonthOptions.js.map +1 -1
- package/dist/cjs/helpers/getNavMonth.d.ts +1 -1
- package/dist/cjs/helpers/getNavMonth.js +12 -24
- package/dist/cjs/helpers/getNavMonth.js.map +1 -1
- package/dist/cjs/helpers/getWeekdays.d.ts +1 -1
- package/dist/cjs/helpers/getWeekdays.js +5 -10
- package/dist/cjs/helpers/getWeekdays.js.map +1 -1
- package/dist/cjs/helpers/getYearOptions.js +5 -5
- package/dist/cjs/helpers/getYearOptions.js.map +1 -1
- package/dist/cjs/jalali.d.ts +2 -3
- package/dist/cjs/jalali.js +4 -42
- package/dist/cjs/jalali.js.map +1 -1
- package/dist/cjs/persian.d.ts +54 -0
- package/dist/cjs/persian.js +68 -0
- package/dist/cjs/persian.js.map +1 -0
- package/dist/cjs/types/props.d.ts +23 -6
- package/dist/cjs/types/shared.d.ts +19 -0
- package/dist/cjs/useGetModifiers.js +1 -7
- package/dist/cjs/useGetModifiers.js.map +1 -1
- package/dist/esm/DayPicker.js +16 -12
- package/dist/esm/DayPicker.js.map +1 -1
- package/dist/esm/classes/DateLib.d.ts +77 -2
- package/dist/esm/classes/DateLib.js +114 -3
- package/dist/esm/classes/DateLib.js.map +1 -1
- package/dist/esm/formatters/formatMonthDropdown.d.ts +2 -6
- package/dist/esm/formatters/formatMonthDropdown.js +3 -6
- package/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
- package/dist/esm/formatters/formatYearDropdown.d.ts +2 -2
- package/dist/esm/formatters/formatYearDropdown.js +3 -3
- package/dist/esm/formatters/formatYearDropdown.js.map +1 -1
- package/dist/esm/helpers/getBroadcastWeeksInMonth.js +1 -1
- package/dist/esm/helpers/getBroadcastWeeksInMonth.js.map +1 -1
- package/dist/esm/helpers/getInitialMonth.js +1 -6
- package/dist/esm/helpers/getInitialMonth.js.map +1 -1
- package/dist/esm/helpers/getMonthOptions.js +7 -20
- package/dist/esm/helpers/getMonthOptions.js.map +1 -1
- package/dist/esm/helpers/getNavMonth.d.ts +1 -1
- package/dist/esm/helpers/getNavMonth.js +12 -24
- package/dist/esm/helpers/getNavMonth.js.map +1 -1
- package/dist/esm/helpers/getWeekdays.d.ts +1 -1
- package/dist/esm/helpers/getWeekdays.js +5 -10
- package/dist/esm/helpers/getWeekdays.js.map +1 -1
- package/dist/esm/helpers/getYearOptions.js +5 -5
- package/dist/esm/helpers/getYearOptions.js.map +1 -1
- package/dist/esm/jalali.d.ts +2 -3
- package/dist/esm/jalali.js +2 -17
- package/dist/esm/jalali.js.map +1 -1
- package/dist/esm/persian.d.ts +54 -0
- package/dist/esm/persian.js +27 -0
- package/dist/esm/persian.js.map +1 -0
- package/dist/esm/types/props.d.ts +23 -6
- package/dist/esm/types/shared.d.ts +19 -0
- package/dist/esm/useGetModifiers.js +1 -7
- package/dist/esm/useGetModifiers.js.map +1 -1
- package/examples/DropdownMonths.test.tsx +26 -0
- package/examples/DropdownMonths.tsx +7 -0
- package/examples/Numerals.test.tsx +18 -0
- package/examples/Numerals.tsx +8 -0
- package/examples/Persian.test.tsx +16 -0
- package/examples/Persian.tsx +7 -0
- package/examples/PersianEn.tsx +19 -0
- package/examples/PersianFormatted.test.tsx +16 -0
- package/examples/PersianFormatted.tsx +20 -0
- package/examples/index.ts +5 -2
- package/package.json +22 -10
- package/src/DayPicker.test.tsx +1 -1
- package/src/DayPicker.tsx +19 -18
- package/src/classes/DateLib.ts +146 -6
- package/src/formatters/formatMonthDropdown.test.ts +5 -5
- package/src/formatters/formatMonthDropdown.ts +4 -6
- package/src/formatters/formatYearDropdown.test.ts +3 -1
- package/src/formatters/formatYearDropdown.ts +7 -3
- package/src/helpers/broadcastCalendar.test.ts +1 -1
- package/src/helpers/endOfBroadcastWeek.test.ts +1 -1
- package/src/helpers/getBroadcastWeeksInMonth.ts +1 -1
- package/src/helpers/getFormatters.test.ts +8 -23
- package/src/helpers/getInitialMonth.ts +1 -7
- package/src/helpers/getMonthOptions.test.ts +214 -160
- package/src/helpers/getMonthOptions.ts +15 -22
- package/src/helpers/getMonths.test.ts +1 -2
- package/src/helpers/getNavMonth.test.ts +206 -63
- package/src/helpers/getNavMonth.ts +15 -27
- package/src/helpers/getWeekdays.ts +4 -11
- package/src/helpers/getYearOptions.test.ts +3 -3
- package/src/helpers/getYearOptions.ts +7 -6
- package/src/jalali.tsx +2 -24
- package/src/persian.tsx +86 -0
- package/src/selection/useRange.test.tsx +1 -2
- package/src/types/props.ts +24 -6
- package/src/types/shared.ts +32 -0
- package/src/useGetModifiers.tsx +1 -11
- package/website/docs/docs/localization.mdx +84 -52
- package/website/docs/docs/translation.mdx +18 -40
- package/website/docs/intro.mdx +1 -1
- package/website/tsconfig.json +1 -4
- package/examples/Jalali.test.tsx +0 -17
- package/examples/Jalali.tsx +0 -7
- package/examples/NumberingSystem.test.tsx +0 -21
- package/examples/NumberingSystem.tsx +0 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getYearOptions.js","sourceRoot":"","sources":["../../../src/helpers/getYearOptions.ts"],"names":[],"mappings":"AAIA,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAC5B,QAA0B,EAC1B,MAAwB,EACxB,UAAkD,EAClD,OAAgB;IAEhB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"getYearOptions.js","sourceRoot":"","sources":["../../../src/helpers/getYearOptions.ts"],"names":[],"mappings":"AAIA,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAC5B,QAA0B,EAC1B,MAAwB,EACxB,UAAkD,EAClD,OAAgB;IAEhB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GACvE,OAAO,CAAC;IACV,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,IAAI,IAAI,GAAG,YAAY,CAAC;IACxB,OAAO,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;YACpB,KAAK;YACL,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/esm/jalali.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare function DayPicker(props: DayPickerProps): React.JSX.Element;
|
|
1
|
+
/** @deprecated Import from `react-day-picker/persian` instead. */
|
|
2
|
+
export * from "./persian.js";
|
package/dist/esm/jalali.js
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { faIR } from "date-fns-jalali/locale";
|
|
4
|
-
import { DayPicker as DayPickerComponent } from "./index.js";
|
|
5
|
-
export function DayPicker(props) {
|
|
6
|
-
return (React.createElement(DayPickerComponent
|
|
7
|
-
// @ts-expect-error The type definitions for the date-fns-jalali library
|
|
8
|
-
// are not compatible with the date-fns 4.0 types. The `addDays`
|
|
9
|
-
// function's return type is causing a type mismatch. (This casting should
|
|
10
|
-
// be not needed when date-fns-jalali upgrades to date-fns@4)
|
|
11
|
-
, {
|
|
12
|
-
// @ts-expect-error The type definitions for the date-fns-jalali library
|
|
13
|
-
// are not compatible with the date-fns 4.0 types. The `addDays`
|
|
14
|
-
// function's return type is causing a type mismatch. (This casting should
|
|
15
|
-
// be not needed when date-fns-jalali upgrades to date-fns@4)
|
|
16
|
-
dateLib: jalaliDateLib, locale: faIR, dir: "rtl", ...props }));
|
|
17
|
-
}
|
|
1
|
+
/** @deprecated Import from `react-day-picker/persian` instead. */
|
|
2
|
+
export * from "./persian.js";
|
|
18
3
|
//# sourceMappingURL=jalali.js.map
|
package/dist/esm/jalali.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jalali.js","sourceRoot":"","sources":["../../src/jalali.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"jalali.js","sourceRoot":"","sources":["../../src/jalali.tsx"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import * as dateFnsJalali from "date-fns-jalali";
|
|
3
|
+
import { Locale } from "date-fns-jalali";
|
|
4
|
+
import { DateLib, DateLibOptions } from "./index.js";
|
|
5
|
+
import type { DayPickerProps } from "./types/props.js";
|
|
6
|
+
export declare const faIR: dateFnsJalali.Locale;
|
|
7
|
+
export declare const enUS: dateFnsJalali.Locale;
|
|
8
|
+
/**
|
|
9
|
+
* Render the Persian Calendar.
|
|
10
|
+
*
|
|
11
|
+
* @see https://daypicker.dev/docs/localization#persian-calendar
|
|
12
|
+
*/
|
|
13
|
+
export declare function DayPicker(props: DayPickerProps & {
|
|
14
|
+
/**
|
|
15
|
+
* The locale to use in the calendar.
|
|
16
|
+
*
|
|
17
|
+
* @default `faIR`
|
|
18
|
+
*/
|
|
19
|
+
locale?: Locale;
|
|
20
|
+
/**
|
|
21
|
+
* The direction of the text in the calendar.
|
|
22
|
+
*
|
|
23
|
+
* @default `rtl`
|
|
24
|
+
*/
|
|
25
|
+
dir?: DayPickerProps["dir"];
|
|
26
|
+
/**
|
|
27
|
+
* The date library to use in the calendar.
|
|
28
|
+
*
|
|
29
|
+
* @default `jalaliDateLib` from `date-fns-jalali`
|
|
30
|
+
*/
|
|
31
|
+
dateLib?: DayPickerProps["dateLib"];
|
|
32
|
+
/**
|
|
33
|
+
* The numeral system to use when formatting dates.
|
|
34
|
+
*
|
|
35
|
+
* - `latn`: Latin (Western Arabic)
|
|
36
|
+
* - `arab`: Arabic-Indic
|
|
37
|
+
* - `arabext`: Eastern Arabic-Indic (Persian)
|
|
38
|
+
* - `deva`: Devanagari
|
|
39
|
+
* - `beng`: Bengali
|
|
40
|
+
* - `guru`: Gurmukhi
|
|
41
|
+
* - `gujr`: Gujarati
|
|
42
|
+
* - `orya`: Oriya
|
|
43
|
+
* - `tamldec`: Tamil
|
|
44
|
+
* - `telu`: Telugu
|
|
45
|
+
* - `knda`: Kannada
|
|
46
|
+
* - `mlym`: Malayalam
|
|
47
|
+
*
|
|
48
|
+
* @defaultValue `arabext` Eastern Arabic-Indic (Persian)
|
|
49
|
+
* @see https://daypicker.dev/docs/translation#numeral-systems
|
|
50
|
+
*/
|
|
51
|
+
numerals?: DayPickerProps["numerals"];
|
|
52
|
+
}): React.JSX.Element;
|
|
53
|
+
/** Returns the date library used in the calendar. */
|
|
54
|
+
export declare const getDateLib: (options?: DateLibOptions) => DateLib;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import * as dateFnsJalali from "date-fns-jalali";
|
|
3
|
+
import * as locales from "date-fns-jalali/locale";
|
|
4
|
+
import { DateLib, DayPicker as DayPickerComponent } from "./index.js";
|
|
5
|
+
export const faIR = locales.faIR;
|
|
6
|
+
export const enUS = locales.enUS;
|
|
7
|
+
/**
|
|
8
|
+
* Render the Persian Calendar.
|
|
9
|
+
*
|
|
10
|
+
* @see https://daypicker.dev/docs/localization#persian-calendar
|
|
11
|
+
*/
|
|
12
|
+
export function DayPicker(props) {
|
|
13
|
+
const dateLib = getDateLib({
|
|
14
|
+
locale: props.locale,
|
|
15
|
+
weekStartsOn: props.broadcastCalendar ? 1 : props.weekStartsOn,
|
|
16
|
+
firstWeekContainsDate: props.firstWeekContainsDate,
|
|
17
|
+
useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
|
|
18
|
+
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens,
|
|
19
|
+
timeZone: props.timeZone
|
|
20
|
+
});
|
|
21
|
+
return (React.createElement(DayPickerComponent, { ...props, locale: props.locale ?? faIR, numerals: props.numerals ?? "arabext", dir: props.dir ?? "rtl", dateLib: dateLib }));
|
|
22
|
+
}
|
|
23
|
+
/** Returns the date library used in the calendar. */
|
|
24
|
+
export const getDateLib = (options) => {
|
|
25
|
+
return new DateLib(options, dateFnsJalali);
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=persian.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persian.js","sourceRoot":"","sources":["../../src/persian.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAElD,OAAO,EACL,OAAO,EAEP,SAAS,IAAI,kBAAkB,EAChC,MAAM,YAAY,CAAC;AAGpB,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,KAuCC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC;QACzB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY;QAC9D,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;QAClD,2BAA2B,EAAE,KAAK,CAAC,2BAA2B;QAC9D,4BAA4B,EAAE,KAAK,CAAC,4BAA4B;QAChE,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,OAAO,CACL,oBAAC,kBAAkB,OACb,KAAK,EACT,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,EACrC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,KAAK,EACvB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAwB,EAAE,EAAE;IACrD,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { DeprecatedUI } from "../UI.js";
|
|
3
3
|
import type { Locale, DateLib } from "../classes/DateLib.js";
|
|
4
|
-
import type { ClassNames, ModifiersClassNames, Styles, ModifiersStyles, CustomComponents, Matcher, Labels, Formatters, MonthChangeEventHandler, DayEventHandler, Modifiers, DateRange, Mode } from "./shared.js";
|
|
4
|
+
import type { ClassNames, ModifiersClassNames, Styles, ModifiersStyles, CustomComponents, Matcher, Labels, Formatters, MonthChangeEventHandler, DayEventHandler, Modifiers, DateRange, Mode, Numerals } from "./shared.js";
|
|
5
5
|
/**
|
|
6
6
|
* The props for the `<DayPicker />` component.
|
|
7
7
|
*
|
|
@@ -204,7 +204,8 @@ export interface PropsBase {
|
|
|
204
204
|
/**
|
|
205
205
|
* Show the outside days (days falling in the next or the previous month).
|
|
206
206
|
*
|
|
207
|
-
* **Note:** when {@link
|
|
207
|
+
* **Note:** when a broadcast {@link calendar} is set, this prop defaults to
|
|
208
|
+
* true.
|
|
208
209
|
*
|
|
209
210
|
* @see https://daypicker.dev/docs/customization#outside-days
|
|
210
211
|
*/
|
|
@@ -213,9 +214,6 @@ export interface PropsBase {
|
|
|
213
214
|
* Show the week numbers column. Weeks are numbered according to the local
|
|
214
215
|
* week index.
|
|
215
216
|
*
|
|
216
|
-
* - To use ISO week numbering, use the `ISOWeek` prop.
|
|
217
|
-
* - To change how the week numbers are displayed, use the `formatters` prop.
|
|
218
|
-
*
|
|
219
217
|
* @see https://daypicker.dev/docs/customization#showweeknumber
|
|
220
218
|
*/
|
|
221
219
|
showWeekNumber?: boolean;
|
|
@@ -365,6 +363,26 @@ export interface PropsBase {
|
|
|
365
363
|
* @see https://github.com/date-fns/date-fns/tree/main/src/locale for a list of the supported locales
|
|
366
364
|
*/
|
|
367
365
|
locale?: Partial<Locale> | undefined;
|
|
366
|
+
/**
|
|
367
|
+
* The numeral system to use when formatting dates.
|
|
368
|
+
*
|
|
369
|
+
* - `latn`: Latin (Western Arabic)
|
|
370
|
+
* - `arab`: Arabic-Indic
|
|
371
|
+
* - `arabext`: Eastern Arabic-Indic (Persian)
|
|
372
|
+
* - `deva`: Devanagari
|
|
373
|
+
* - `beng`: Bengali
|
|
374
|
+
* - `guru`: Gurmukhi
|
|
375
|
+
* - `gujr`: Gujarati
|
|
376
|
+
* - `orya`: Oriya
|
|
377
|
+
* - `tamldec`: Tamil
|
|
378
|
+
* - `telu`: Telugu
|
|
379
|
+
* - `knda`: Kannada
|
|
380
|
+
* - `mlym`: Malayalam
|
|
381
|
+
*
|
|
382
|
+
* @defaultValue `latn` Latin (Western Arabic)
|
|
383
|
+
* @see https://daypicker.dev/docs/translation#numeral-systems
|
|
384
|
+
*/
|
|
385
|
+
numerals?: Numerals | undefined;
|
|
368
386
|
/**
|
|
369
387
|
* The index of the first day of the week (0 - Sunday). Overrides the locale's
|
|
370
388
|
* one.
|
|
@@ -488,7 +506,6 @@ export interface PropsBase {
|
|
|
488
506
|
* @param {Date} triggerDate - The date when the event was triggered.
|
|
489
507
|
* @param {Modifiers} modifiers - The modifiers associated with the event.
|
|
490
508
|
* @param {React.MouseEvent | React.KeyboardEvent} e - The event object.
|
|
491
|
-
* @group DayPicker
|
|
492
509
|
*/
|
|
493
510
|
export type OnSelectHandler<T> = (selected: T, triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
494
511
|
/**
|
|
@@ -358,3 +358,22 @@ export type V9DeprecatedProps =
|
|
|
358
358
|
export type MoveFocusDir = "after" | "before";
|
|
359
359
|
/** The temporal unit to move the focus by. */
|
|
360
360
|
export type MoveFocusBy = "day" | "week" | "startOfWeek" | "endOfWeek" | "month" | "year";
|
|
361
|
+
/**
|
|
362
|
+
* The numbering system supported by DayPicker.
|
|
363
|
+
*
|
|
364
|
+
* - `latn`: Latin (Western Arabic)
|
|
365
|
+
* - `arab`: Arabic-Indic
|
|
366
|
+
* - `arabext`: Eastern Arabic-Indic (Persian)
|
|
367
|
+
* - `deva`: Devanagari
|
|
368
|
+
* - `beng`: Bengali
|
|
369
|
+
* - `guru`: Gurmukhi
|
|
370
|
+
* - `gujr`: Gujarati
|
|
371
|
+
* - `orya`: Oriya
|
|
372
|
+
* - `tamldec`: Tamil
|
|
373
|
+
* - `telu`: Telugu
|
|
374
|
+
* - `knda`: Kannada
|
|
375
|
+
* - `mlym`: Malayalam
|
|
376
|
+
*
|
|
377
|
+
* @see https://daypicker.dev/docs/translation#numeral-systems
|
|
378
|
+
*/
|
|
379
|
+
export type Numerals = "latn" | "arab" | "arabext" | "deva" | "beng" | "guru" | "gujr" | "orya" | "tamldec" | "telu" | "knda" | "mlym";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TZDate } from "@date-fns/tz";
|
|
2
1
|
import { DayFlag } from "./UI.js";
|
|
3
2
|
import { dateMatchModifiers } from "./utils/dateMatchModifiers.js";
|
|
4
3
|
/**
|
|
@@ -33,12 +32,7 @@ export function useGetModifiers(days, props, dateLib) {
|
|
|
33
32
|
// Broadcast calendar will show outside days as default
|
|
34
33
|
(!broadcastCalendar && !showOutsideDays && isOutside) ||
|
|
35
34
|
(broadcastCalendar && showOutsideDays === false && isOutside);
|
|
36
|
-
const isToday = isSameDay(date, today ??
|
|
37
|
-
(props.timeZone
|
|
38
|
-
? TZDate.tz(props.timeZone)
|
|
39
|
-
: dateLib.Date
|
|
40
|
-
? new dateLib.Date()
|
|
41
|
-
: new Date()));
|
|
35
|
+
const isToday = isSameDay(date, today ?? dateLib.today());
|
|
42
36
|
if (isOutside)
|
|
43
37
|
internalModifiersMap.outside.push(day);
|
|
44
38
|
if (isDisabled)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetModifiers.js","sourceRoot":"","sources":["../../src/useGetModifiers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useGetModifiers.js","sourceRoot":"","sources":["../../src/useGetModifiers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { grid, monthDropdown, nextButton } from "@/test/elements";
|
|
4
|
+
import { render } from "@/test/render";
|
|
5
|
+
import { user } from "@/test/user";
|
|
6
|
+
|
|
7
|
+
import { DropdownMonths } from "./DropdownMonths";
|
|
8
|
+
|
|
9
|
+
const today = new Date(2015, 11, 1);
|
|
10
|
+
|
|
11
|
+
beforeAll(() => jest.setSystemTime(today));
|
|
12
|
+
afterAll(() => jest.useRealTimers());
|
|
13
|
+
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
render(<DropdownMonths />);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
test("should display the month dropdown", () => {
|
|
19
|
+
expect(monthDropdown()).toBeInTheDocument();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
test("should allow all months", async () => {
|
|
23
|
+
expect(grid()).toHaveAccessibleName(`December 2015`);
|
|
24
|
+
await user.click(nextButton());
|
|
25
|
+
expect(grid()).toHaveAccessibleName(`January 2016`);
|
|
26
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { render } from "@testing-library/react";
|
|
4
|
+
|
|
5
|
+
import { grid } from "@/test/elements";
|
|
6
|
+
|
|
7
|
+
import { Numerals } from "./Numerals";
|
|
8
|
+
|
|
9
|
+
const today = new Date(2025, 10, 25);
|
|
10
|
+
|
|
11
|
+
beforeAll(() => jest.setSystemTime(today));
|
|
12
|
+
afterAll(() => jest.useRealTimers());
|
|
13
|
+
|
|
14
|
+
test("should use Devanagari numerals", () => {
|
|
15
|
+
render(<Numerals />);
|
|
16
|
+
|
|
17
|
+
expect(grid()).toHaveTextContent("२५");
|
|
18
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { grid } from "@/test/elements";
|
|
4
|
+
import { render } from "@/test/render";
|
|
5
|
+
|
|
6
|
+
import { Persian } from "./Persian";
|
|
7
|
+
|
|
8
|
+
const today = new Date(2024, 11, 22);
|
|
9
|
+
|
|
10
|
+
beforeAll(() => jest.setSystemTime(today));
|
|
11
|
+
afterAll(() => jest.useRealTimers());
|
|
12
|
+
|
|
13
|
+
test("should render دی 1403", () => {
|
|
14
|
+
render(<Persian />);
|
|
15
|
+
expect(grid("دی ۱۴۰۳")).toBeInTheDocument();
|
|
16
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { DayPicker, getDateLib, enUS } from "react-day-picker/persian";
|
|
4
|
+
|
|
5
|
+
export function PersianEn() {
|
|
6
|
+
const [selected, setSelected] = React.useState(new Date());
|
|
7
|
+
const dateLib = getDateLib({ locale: enUS });
|
|
8
|
+
return (
|
|
9
|
+
<DayPicker
|
|
10
|
+
locale={enUS}
|
|
11
|
+
mode="single"
|
|
12
|
+
selected={selected}
|
|
13
|
+
required
|
|
14
|
+
onSelect={setSelected}
|
|
15
|
+
numerals="latn"
|
|
16
|
+
footer={`Selected: ${dateLib.format(selected, "d MMM yyyy")}`}
|
|
17
|
+
/>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { grid } from "@/test/elements";
|
|
4
|
+
import { render } from "@/test/render";
|
|
5
|
+
|
|
6
|
+
import { PersianFormatted } from "./PersianFormatted";
|
|
7
|
+
|
|
8
|
+
const today = new Date(2024, 11, 22);
|
|
9
|
+
|
|
10
|
+
beforeAll(() => jest.setSystemTime(today));
|
|
11
|
+
afterAll(() => jest.useRealTimers());
|
|
12
|
+
|
|
13
|
+
test("should render دی 1403", () => {
|
|
14
|
+
render(<PersianFormatted />);
|
|
15
|
+
expect(grid("دی ۱۴۰۳")).toBeInTheDocument();
|
|
16
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { DayPicker, faIR, getDateLib } from "react-day-picker/persian";
|
|
4
|
+
|
|
5
|
+
export function PersianFormatted() {
|
|
6
|
+
const [selected, setSelected] = React.useState(new Date());
|
|
7
|
+
const dateLib = getDateLib({
|
|
8
|
+
locale: faIR,
|
|
9
|
+
numerals: "arabext"
|
|
10
|
+
});
|
|
11
|
+
return (
|
|
12
|
+
<DayPicker
|
|
13
|
+
mode="single"
|
|
14
|
+
selected={selected}
|
|
15
|
+
required
|
|
16
|
+
onSelect={setSelected}
|
|
17
|
+
footer={`انتخاب شده: ${dateLib.format(selected, "yyyy/MM/dd")}`}
|
|
18
|
+
/>
|
|
19
|
+
);
|
|
20
|
+
}
|
package/examples/index.ts
CHANGED
|
@@ -16,6 +16,7 @@ export * from "./Dialog";
|
|
|
16
16
|
export * from "./Disabled";
|
|
17
17
|
export * from "./DisableNavigation";
|
|
18
18
|
export * from "./Dropdown";
|
|
19
|
+
export * from "./DropdownMonths";
|
|
19
20
|
export * from "./DropdownMultipleMonths";
|
|
20
21
|
export * from "./Fixedweeks";
|
|
21
22
|
export * from "./FocusRecursive";
|
|
@@ -29,7 +30,6 @@ export * from "./InputRange";
|
|
|
29
30
|
export * from "./InputTime";
|
|
30
31
|
export * from "./ItalianLabels";
|
|
31
32
|
export * from "./ItalianLabels";
|
|
32
|
-
export * from "./Jalali";
|
|
33
33
|
export * from "./Keyboard";
|
|
34
34
|
export * from "./ModifiersClassnames";
|
|
35
35
|
export * from "./ModifiersCustom";
|
|
@@ -43,9 +43,12 @@ export * from "./MultipleMinMax";
|
|
|
43
43
|
export * from "./MultipleRequired";
|
|
44
44
|
export * from "./MultipleMonths";
|
|
45
45
|
export * from "./MultipleMonthsPaged";
|
|
46
|
-
export * from "./
|
|
46
|
+
export * from "./Numerals";
|
|
47
47
|
export * from "./OutsideDays";
|
|
48
48
|
export * from "./PastDatesDisabled";
|
|
49
|
+
export * from "./Persian";
|
|
50
|
+
export * from "./PersianFormatted";
|
|
51
|
+
export * from "./PersianEn";
|
|
49
52
|
export * from "./Range";
|
|
50
53
|
export * from "./RangeExcludeDisabled";
|
|
51
54
|
export * from "./RangeLong";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-day-picker",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.5.0",
|
|
4
4
|
"description": "Customizable Date Picker for React",
|
|
5
5
|
"author": "Giampaolo Bellavite <io@gpbl.dev>",
|
|
6
6
|
"homepage": "https://daypicker.dev",
|
|
@@ -42,6 +42,16 @@
|
|
|
42
42
|
"default": "./dist/cjs/jalali.js"
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
|
+
"./persian": {
|
|
46
|
+
"import": {
|
|
47
|
+
"types": "./dist/esm/persian.d.ts",
|
|
48
|
+
"default": "./dist/esm/persian.js"
|
|
49
|
+
},
|
|
50
|
+
"require": {
|
|
51
|
+
"types": "./dist/cjs/persian.d.ts",
|
|
52
|
+
"default": "./dist/cjs/persian.js"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
45
55
|
"./locale": {
|
|
46
56
|
"import": {
|
|
47
57
|
"types": "./dist/esm/locale.d.ts",
|
|
@@ -153,7 +163,8 @@
|
|
|
153
163
|
"build:esm": "tsc --project tsconfig-esm.json",
|
|
154
164
|
"build:css": "./scripts/build-css.sh ./src/style.css ./src/style.module.css",
|
|
155
165
|
"lint": "eslint .",
|
|
156
|
-
"test": "jest",
|
|
166
|
+
"test": "jest --selectProjects examples --selectProjects src",
|
|
167
|
+
"test:build": "jest --selectProjects examples/built",
|
|
157
168
|
"test-watch": "jest --watch",
|
|
158
169
|
"typecheck": "tsc --project ./tsconfig.json --noEmit",
|
|
159
170
|
"typecheck-watch": "tsc --project ./tsconfig.json --noEmit --watch"
|
|
@@ -174,7 +185,8 @@
|
|
|
174
185
|
],
|
|
175
186
|
"dependencies": {
|
|
176
187
|
"@date-fns/tz": "^1.2.0",
|
|
177
|
-
"date-fns": "^4.1.0"
|
|
188
|
+
"date-fns": "^4.1.0",
|
|
189
|
+
"date-fns-jalali": "^4.1.0-0"
|
|
178
190
|
},
|
|
179
191
|
"devDependencies": {
|
|
180
192
|
"@jest/types": "^29.6.3",
|
|
@@ -187,24 +199,24 @@
|
|
|
187
199
|
"@trivago/prettier-plugin-sort-imports": "^5.2.0",
|
|
188
200
|
"@types/jest": "^29.5.14",
|
|
189
201
|
"@types/node": "^22.10.2",
|
|
190
|
-
"@types/react": "^19.0.
|
|
202
|
+
"@types/react": "^19.0.2",
|
|
191
203
|
"@types/react-dom": "^19.0.2",
|
|
192
|
-
"@typescript-eslint/eslint-plugin": "^8.18.
|
|
193
|
-
"@typescript-eslint/parser": "^8.18.
|
|
194
|
-
"date-fns-jalali": "^3.6.0-1",
|
|
204
|
+
"@typescript-eslint/eslint-plugin": "^8.18.2",
|
|
205
|
+
"@typescript-eslint/parser": "^8.18.2",
|
|
195
206
|
"eslint": "^8.57.1",
|
|
196
207
|
"eslint-config-prettier": "^9.1.0",
|
|
197
208
|
"eslint-import-resolver-typescript": "^3.7.0",
|
|
198
209
|
"eslint-plugin-import": "^2.31.0",
|
|
199
|
-
"eslint-plugin-jest": "^28.
|
|
210
|
+
"eslint-plugin-jest": "^28.10.0",
|
|
200
211
|
"eslint-plugin-prettier": "^5.2.1",
|
|
201
|
-
"eslint-plugin-react": "^7.37.
|
|
212
|
+
"eslint-plugin-react": "^7.37.3",
|
|
202
213
|
"eslint-plugin-react-hooks": "^5.1.0",
|
|
203
214
|
"eslint-plugin-require-extensions": "^0.1.3",
|
|
204
215
|
"eslint-plugin-testing-library": "^6.5.0",
|
|
205
|
-
"html-validate": "^8.
|
|
216
|
+
"html-validate": "^8.29.0",
|
|
206
217
|
"jest": "^29.7.0",
|
|
207
218
|
"jest-environment-jsdom": "^29.7.0",
|
|
219
|
+
"jest-transform-css": "^6.0.1",
|
|
208
220
|
"mockdate": "^3.0.5",
|
|
209
221
|
"prettier": "^3.4.2",
|
|
210
222
|
"prettier-plugin-jsdoc": "^1.3.0",
|
package/src/DayPicker.test.tsx
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
3
|
import { startOfDay, startOfMonth } from "date-fns";
|
|
4
|
-
import { defaultLocale } from "react-day-picker";
|
|
5
4
|
|
|
6
5
|
import {
|
|
7
6
|
activeElement,
|
|
@@ -14,6 +13,7 @@ import { fireEvent, render, screen } from "@/test/render";
|
|
|
14
13
|
import { user } from "@/test/user";
|
|
15
14
|
|
|
16
15
|
import { DayPicker } from "./DayPicker";
|
|
16
|
+
import { defaultLocale } from "./classes/DateLib";
|
|
17
17
|
import { MonthProps } from "./components/Month";
|
|
18
18
|
import { MonthsProps } from "./components/Months";
|
|
19
19
|
|
package/src/DayPicker.tsx
CHANGED
|
@@ -47,7 +47,9 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
47
47
|
weekStartsOn: props.broadcastCalendar ? 1 : props.weekStartsOn,
|
|
48
48
|
firstWeekContainsDate: props.firstWeekContainsDate,
|
|
49
49
|
useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
|
|
50
|
-
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens
|
|
50
|
+
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens,
|
|
51
|
+
timeZone: props.timeZone,
|
|
52
|
+
numerals: props.numerals
|
|
51
53
|
},
|
|
52
54
|
props.dateLib
|
|
53
55
|
);
|
|
@@ -61,17 +63,19 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
61
63
|
classNames: { ...getDefaultClassNames(), ...props.classNames }
|
|
62
64
|
};
|
|
63
65
|
}, [
|
|
64
|
-
props.
|
|
65
|
-
props.
|
|
66
|
-
props.
|
|
66
|
+
props.locale,
|
|
67
|
+
props.broadcastCalendar,
|
|
68
|
+
props.weekStartsOn,
|
|
67
69
|
props.firstWeekContainsDate,
|
|
70
|
+
props.useAdditionalWeekYearTokens,
|
|
71
|
+
props.useAdditionalDayOfYearTokens,
|
|
72
|
+
props.timeZone,
|
|
73
|
+
props.numerals,
|
|
74
|
+
props.dateLib,
|
|
75
|
+
props.components,
|
|
68
76
|
props.formatters,
|
|
69
77
|
props.labels,
|
|
70
|
-
props.
|
|
71
|
-
props.useAdditionalDayOfYearTokens,
|
|
72
|
-
props.useAdditionalWeekYearTokens,
|
|
73
|
-
props.weekStartsOn,
|
|
74
|
-
props.broadcastCalendar
|
|
78
|
+
props.classNames
|
|
75
79
|
]);
|
|
76
80
|
|
|
77
81
|
const {
|
|
@@ -140,8 +144,8 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
140
144
|
} = labels;
|
|
141
145
|
|
|
142
146
|
const weekdays = useMemo(
|
|
143
|
-
() => getWeekdays(dateLib, props.ISOWeek
|
|
144
|
-
[dateLib, props.ISOWeek
|
|
147
|
+
() => getWeekdays(dateLib, props.ISOWeek),
|
|
148
|
+
[dateLib, props.ISOWeek]
|
|
145
149
|
);
|
|
146
150
|
|
|
147
151
|
const isInteractive = mode !== undefined || onDayClick !== undefined;
|
|
@@ -344,14 +348,11 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
344
348
|
onChange={handleMonthChange(calendarMonth.date)}
|
|
345
349
|
options={dropdownMonths}
|
|
346
350
|
style={styles?.[UI.Dropdown]}
|
|
347
|
-
value={calendarMonth.date
|
|
351
|
+
value={dateLib.getMonth(calendarMonth.date)}
|
|
348
352
|
/>
|
|
349
353
|
) : (
|
|
350
354
|
<span role="status" aria-live="polite">
|
|
351
|
-
{formatMonthDropdown(
|
|
352
|
-
calendarMonth.date.getMonth(),
|
|
353
|
-
locale
|
|
354
|
-
)}
|
|
355
|
+
{formatMonthDropdown(calendarMonth.date, dateLib)}
|
|
355
356
|
</span>
|
|
356
357
|
)}
|
|
357
358
|
{captionLayout === "dropdown" ||
|
|
@@ -365,11 +366,11 @@ export function DayPicker(props: DayPickerProps) {
|
|
|
365
366
|
onChange={handleYearChange(calendarMonth.date)}
|
|
366
367
|
options={dropdownYears}
|
|
367
368
|
style={styles?.[UI.Dropdown]}
|
|
368
|
-
value={calendarMonth.date
|
|
369
|
+
value={dateLib.getYear(calendarMonth.date)}
|
|
369
370
|
/>
|
|
370
371
|
) : (
|
|
371
372
|
<span role="status" aria-live="polite">
|
|
372
|
-
{formatYearDropdown(calendarMonth.date
|
|
373
|
+
{formatYearDropdown(calendarMonth.date, dateLib)}
|
|
373
374
|
</span>
|
|
374
375
|
)}
|
|
375
376
|
</components.DropdownNav>
|