Favivon - Correção

This commit is contained in:
2026-05-30 19:59:39 -03:00
parent 76ddaa815d
commit d7dfd221f0
32859 changed files with 5459654 additions and 404 deletions
+26
View File
@@ -0,0 +1,26 @@
import type { Locale } from "date-fns";
import React from "react";
import { DateLib, type DateLibOptions } from "../index.js";
import type { DayPickerProps } from "../types/props.js";
export declare const th: import("../index.js").DayPickerLocale;
export declare const enUS: import("../index.js").DayPickerLocale;
/**
* Render the Buddhist (Thai) calendar.
*
* Months/weeks are Gregorian; displayed year is Buddhist Era (BE = CE + 543).
* Thai digits are used by default.
*
* Defaults:
*
* - `locale`: `th`
* - `dir`: `ltr`
* - `numerals`: `thai`
*/
export declare function DayPicker(props: DayPickerProps & {
locale?: Locale;
dir?: DayPickerProps["dir"];
numerals?: DayPickerProps["numerals"];
dateLib?: DayPickerProps["dateLib"];
}): React.JSX.Element;
/** Returns the date library used in the Buddhist calendar. */
export declare const getDateLib: (options?: DateLibOptions) => DateLib;
+40
View File
@@ -0,0 +1,40 @@
import React from "react";
import { DateLib, DayPicker as DayPickerComponent, } from "../index.js";
import { enUS as enUSLocale } from "../locale/en-US.js";
import { th as thLocale } from "../locale/th.js";
import { format as originalBuddhistFormat } from "./lib/format.js";
// Adapter to match DateLib's format signature without using `any`.
const buddhistFormat = (date, formatStr, options) => {
return originalBuddhistFormat(date, formatStr, options);
};
export const th = thLocale;
export const enUS = enUSLocale;
/**
* Render the Buddhist (Thai) calendar.
*
* Months/weeks are Gregorian; displayed year is Buddhist Era (BE = CE + 543).
* Thai digits are used by default.
*
* Defaults:
*
* - `locale`: `th`
* - `dir`: `ltr`
* - `numerals`: `thai`
*/
export function DayPicker(props) {
const dateLib = getDateLib({
locale: props.locale ?? th,
weekStartsOn: props.broadcastCalendar ? 1 : props.weekStartsOn,
firstWeekContainsDate: props.firstWeekContainsDate,
useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens,
timeZone: props.timeZone,
});
return (React.createElement(DayPickerComponent, { ...props, locale: props.locale ?? th, numerals: props.numerals ?? "thai", dir: props.dir ?? "ltr", dateLib: dateLib }));
}
/** Returns the date library used in the Buddhist calendar. */
export const getDateLib = (options) => {
return new DateLib(options, {
format: buddhistFormat,
});
};
+3
View File
@@ -0,0 +1,3 @@
import type { DateLibOptions } from "../../classes/DateLib.js";
/** Format override adding +543 to year tokens for Buddhist Era (BE). */
export declare function format(date: Date, formatStr: string, options?: DateLibOptions): string;
+27
View File
@@ -0,0 +1,27 @@
import { format as dfFormat } from "date-fns";
/** Format override adding +543 to year tokens for Buddhist Era (BE). */
export function format(date, formatStr, options) {
const beYear = date.getFullYear() + 543;
switch (formatStr) {
case "LLLL y":
case "LLLL yyyy":
return `${dfFormat(date, "LLLL", options)} ${beYear}`;
case "LLLL":
return dfFormat(date, "LLLL", options);
case "yyyy":
return String(beYear).padStart(4, "0");
case "y":
return String(beYear);
case "yyyy-MM":
return `${beYear}-${dfFormat(date, "MM", options)}`;
case "yyyy-MM-dd":
return `${beYear}-${dfFormat(date, "MM", options)}-${dfFormat(date, "dd", options)}`;
case "PPP":
case "PPPP": {
const raw = dfFormat(date, formatStr, options);
return raw.replace(/(.*)(\d{4})(?!.*\d)/, (_m, pre) => `${pre}${beYear}`);
}
default:
return dfFormat(date, formatStr, options);
}
}