Rocky_Mountain_Vending/.pnpm-store/v10/files/5b/b72b760e1e02b75dfd5f5ebfc88a29cc0f89d97589582082462f5991bbd9babec7e48630eadc114096c504f71a01fb4f693440548030a88875d4ddf6b04394
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

99 lines
2.7 KiB
Text

import React from "react";
import * as dateFnsJalali from "date-fns-jalali";
import { Locale } from "date-fns-jalali";
import * as locales from "date-fns-jalali/locale";
import {
DateLib,
DateLibOptions,
DayPicker as DayPickerComponent
} from "./index.js";
import type { DayPickerProps } from "./types/props.js";
export const faIR = locales.faIR;
export const enUS = locales.enUS;
/**
* Renders the Persian calendar using the DayPicker component.
*
* @defaultValue
* - `locale`: `faIR`
* - `dir`: `rtl`
* - `dateLib`: `jalaliDateLib` from `date-fns-jalali`
* - `numerals`: `arabext` (Eastern Arabic-Indic)
* @param props - The props for the Persian calendar, including locale, text
* direction, date library, and numeral system.
* @returns The Persian calendar component.
* @see https://daypicker.dev/docs/localization#persian-calendar
*/
export function DayPicker(
props: DayPickerProps & {
/**
* The locale to use in the calendar.
*
* @default `faIR`
*/
locale?: Locale;
/**
* The direction of the text in the calendar.
*
* @default `rtl`
*/
dir?: DayPickerProps["dir"];
/**
* The date library to use in the calendar.
*
* @default `jalaliDateLib` from `date-fns-jalali`
*/
dateLib?: DayPickerProps["dateLib"];
/**
* The numeral system to use when formatting dates.
*
* - `latn`: Latin (Western Arabic)
* - `arab`: Arabic-Indic
* - `arabext`: Eastern Arabic-Indic (Persian)
* - `deva`: Devanagari
* - `beng`: Bengali
* - `guru`: Gurmukhi
* - `gujr`: Gujarati
* - `orya`: Oriya
* - `tamldec`: Tamil
* - `telu`: Telugu
* - `knda`: Kannada
* - `mlym`: Malayalam
*
* @defaultValue `arabext` Eastern Arabic-Indic (Persian)
* @see https://daypicker.dev/docs/translation#numeral-systems
*/
numerals?: DayPickerProps["numerals"];
}
) {
const dateLib = getDateLib({
locale: props.locale,
weekStartsOn: props.broadcastCalendar ? 1 : props.weekStartsOn,
firstWeekContainsDate: props.firstWeekContainsDate,
useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens,
timeZone: props.timeZone
});
return (
<DayPickerComponent
{...props}
locale={props.locale ?? faIR}
numerals={props.numerals ?? "arabext"}
dir={props.dir ?? "rtl"}
dateLib={dateLib}
/>
);
}
/**
* Returns the date library used in the Persian calendar.
*
* @param options - Optional configuration for the date library.
* @returns The date library instance.
*/
export const getDateLib = (options?: DateLibOptions) => {
return new DateLib(options, dateFnsJalali);
};