best-react-datepicker 0.2.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/dist/chunk-A3NQUSC5.cjs +1155 -0
- package/dist/chunk-A3NQUSC5.cjs.map +1 -0
- package/dist/chunk-FBN3SFQJ.js +1140 -0
- package/dist/chunk-FBN3SFQJ.js.map +1 -0
- package/dist/chunk-HI4J64KK.cjs +592 -0
- package/dist/chunk-HI4J64KK.cjs.map +1 -0
- package/dist/chunk-NF5M43IO.js +49 -0
- package/dist/chunk-NF5M43IO.js.map +1 -0
- package/dist/chunk-QW2CUEX4.js +117 -0
- package/dist/chunk-QW2CUEX4.js.map +1 -0
- package/dist/chunk-R7HLYS5V.cjs +120 -0
- package/dist/chunk-R7HLYS5V.cjs.map +1 -0
- package/dist/chunk-W6KEY2SO.js +526 -0
- package/dist/chunk-W6KEY2SO.js.map +1 -0
- package/dist/chunk-WBWQ5RKN.cjs +51 -0
- package/dist/chunk-WBWQ5RKN.cjs.map +1 -0
- package/dist/hooks.cjs +66 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.cts +555 -0
- package/dist/hooks.d.ts +555 -0
- package/dist/hooks.js +5 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.cjs +1502 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +239 -0
- package/dist/index.d.ts +239 -0
- package/dist/index.js +1303 -0
- package/dist/index.js.map +1 -0
- package/dist/locales.cjs +16 -0
- package/dist/locales.cjs.map +1 -0
- package/dist/locales.d.cts +6 -0
- package/dist/locales.d.ts +6 -0
- package/dist/locales.js +3 -0
- package/dist/locales.js.map +1 -0
- package/dist/presets-B8wfaoTj.d.cts +54 -0
- package/dist/presets-CB5Rt4Li.d.ts +54 -0
- package/dist/styles.css +751 -0
- package/dist/types-DA2PcEiy.d.cts +104 -0
- package/dist/types-DA2PcEiy.d.ts +104 -0
- package/dist/utils.cjs +282 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +57 -0
- package/dist/utils.d.ts +57 -0
- package/dist/utils.js +5 -0
- package/dist/utils.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { startOfYear, endOfMonth, subMonths, startOfMonth, subDays } from './chunk-W6KEY2SO.js';
|
|
2
|
+
|
|
3
|
+
// src/core/presets.ts
|
|
4
|
+
var presetBuilders = {
|
|
5
|
+
today: () => ({
|
|
6
|
+
label: "Today",
|
|
7
|
+
value: () => ({ from: /* @__PURE__ */ new Date(), to: /* @__PURE__ */ new Date() })
|
|
8
|
+
}),
|
|
9
|
+
yesterday: () => ({
|
|
10
|
+
label: "Yesterday",
|
|
11
|
+
value: () => {
|
|
12
|
+
const d = subDays(/* @__PURE__ */ new Date(), 1);
|
|
13
|
+
return { from: d, to: d };
|
|
14
|
+
}
|
|
15
|
+
}),
|
|
16
|
+
last7: () => ({
|
|
17
|
+
label: "Last 7 days",
|
|
18
|
+
value: () => ({ from: subDays(/* @__PURE__ */ new Date(), 6), to: /* @__PURE__ */ new Date() })
|
|
19
|
+
}),
|
|
20
|
+
last30: () => ({
|
|
21
|
+
label: "Last 30 days",
|
|
22
|
+
value: () => ({ from: subDays(/* @__PURE__ */ new Date(), 29), to: /* @__PURE__ */ new Date() })
|
|
23
|
+
}),
|
|
24
|
+
thisMonth: () => ({
|
|
25
|
+
label: "This month",
|
|
26
|
+
value: () => ({ from: startOfMonth(/* @__PURE__ */ new Date()), to: /* @__PURE__ */ new Date() })
|
|
27
|
+
}),
|
|
28
|
+
lastMonth: () => ({
|
|
29
|
+
label: "Last month",
|
|
30
|
+
value: () => ({
|
|
31
|
+
from: startOfMonth(subMonths(/* @__PURE__ */ new Date(), 1)),
|
|
32
|
+
to: endOfMonth(subMonths(/* @__PURE__ */ new Date(), 1))
|
|
33
|
+
})
|
|
34
|
+
}),
|
|
35
|
+
thisYear: () => ({
|
|
36
|
+
label: "This year",
|
|
37
|
+
value: () => ({ from: startOfYear(/* @__PURE__ */ new Date()), to: /* @__PURE__ */ new Date() })
|
|
38
|
+
})
|
|
39
|
+
};
|
|
40
|
+
var defaultKeys = ["today", "yesterday", "last7", "last30", "thisMonth", "lastMonth", "thisYear"];
|
|
41
|
+
function createPresets(options) {
|
|
42
|
+
const keys = options?.include ?? defaultKeys;
|
|
43
|
+
const builtIn = keys.map((key) => presetBuilders[key]());
|
|
44
|
+
return options?.custom ? [...builtIn, ...options.custom] : builtIn;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { createPresets };
|
|
48
|
+
//# sourceMappingURL=chunk-NF5M43IO.js.map
|
|
49
|
+
//# sourceMappingURL=chunk-NF5M43IO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/presets.ts"],"names":[],"mappings":";;;AAKA,IAAM,cAAA,GAAuD;AAAA,EAC3D,OAAO,OAAO;AAAA,IACZ,KAAA,EAAO,OAAA;AAAA,IACP,KAAA,EAAO,OAAO,EAAE,IAAA,kBAAM,IAAI,MAAK,EAAG,EAAA,kBAAI,IAAI,IAAA,EAAK,EAAE;AAAA,GACnD,CAAA;AAAA,EACA,WAAW,OAAO;AAAA,IAChB,KAAA,EAAO,WAAA;AAAA,IACP,OAAO,MAAM;AACX,MAAA,MAAM,CAAA,GAAI,OAAA,iBAAQ,IAAI,IAAA,IAAQ,CAAC,CAAA;AAC/B,MAAA,OAAO,EAAE,IAAA,EAAM,CAAA,EAAG,EAAA,EAAI,CAAA,EAAE;AAAA,IAC1B;AAAA,GACF,CAAA;AAAA,EACA,OAAO,OAAO;AAAA,IACZ,KAAA,EAAO,aAAA;AAAA,IACP,KAAA,EAAO,OAAO,EAAE,IAAA,EAAM,OAAA,iBAAQ,IAAI,IAAA,EAAK,EAAG,CAAC,CAAA,EAAG,EAAA,kBAAI,IAAI,MAAK,EAAE;AAAA,GAC/D,CAAA;AAAA,EACA,QAAQ,OAAO;AAAA,IACb,KAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAO,OAAO,EAAE,IAAA,EAAM,OAAA,iBAAQ,IAAI,IAAA,EAAK,EAAG,EAAE,CAAA,EAAG,EAAA,kBAAI,IAAI,MAAK,EAAE;AAAA,GAChE,CAAA;AAAA,EACA,WAAW,OAAO;AAAA,IAChB,KAAA,EAAO,YAAA;AAAA,IACP,KAAA,EAAO,OAAO,EAAE,IAAA,EAAM,YAAA,iBAAa,IAAI,IAAA,EAAM,CAAA,EAAG,EAAA,kBAAI,IAAI,IAAA,EAAK,EAAE;AAAA,GACjE,CAAA;AAAA,EACA,WAAW,OAAO;AAAA,IAChB,KAAA,EAAO,YAAA;AAAA,IACP,OAAO,OAAO;AAAA,MACZ,MAAM,YAAA,CAAa,SAAA,qBAAc,IAAA,EAAK,EAAG,CAAC,CAAC,CAAA;AAAA,MAC3C,IAAI,UAAA,CAAW,SAAA,qBAAc,IAAA,EAAK,EAAG,CAAC,CAAC;AAAA,KACzC;AAAA,GACF,CAAA;AAAA,EACA,UAAU,OAAO;AAAA,IACf,KAAA,EAAO,WAAA;AAAA,IACP,KAAA,EAAO,OAAO,EAAE,IAAA,EAAM,WAAA,iBAAY,IAAI,IAAA,EAAM,CAAA,EAAG,EAAA,kBAAI,IAAI,IAAA,EAAK,EAAE;AAAA,GAChE;AACF,CAAA;AAEA,IAAM,WAAA,GAA2B,CAAC,OAAA,EAAS,WAAA,EAAa,SAAS,QAAA,EAAU,WAAA,EAAa,aAAa,UAAU,CAAA;AAExG,SAAS,cAAc,OAAA,EAGZ;AAChB,EAAA,MAAM,IAAA,GAAO,SAAS,OAAA,IAAW,WAAA;AACjC,EAAA,MAAM,OAAA,GAAU,KAAK,GAAA,CAAI,CAAC,QAAQ,cAAA,CAAe,GAAG,GAAG,CAAA;AACvD,EAAA,OAAO,OAAA,EAAS,SAAS,CAAC,GAAG,SAAS,GAAG,OAAA,CAAQ,MAAM,CAAA,GAAI,OAAA;AAC7D","file":"chunk-NF5M43IO.js","sourcesContent":["import type { RangePreset } from './types';\nimport { subDays, subMonths, startOfMonth, endOfMonth, startOfYear } from './date-utils';\n\ntype PresetKey = 'today' | 'yesterday' | 'last7' | 'last30' | 'thisMonth' | 'lastMonth' | 'thisYear';\n\nconst presetBuilders: Record<PresetKey, () => RangePreset> = {\n today: () => ({\n label: 'Today',\n value: () => ({ from: new Date(), to: new Date() }),\n }),\n yesterday: () => ({\n label: 'Yesterday',\n value: () => {\n const d = subDays(new Date(), 1);\n return { from: d, to: d };\n },\n }),\n last7: () => ({\n label: 'Last 7 days',\n value: () => ({ from: subDays(new Date(), 6), to: new Date() }),\n }),\n last30: () => ({\n label: 'Last 30 days',\n value: () => ({ from: subDays(new Date(), 29), to: new Date() }),\n }),\n thisMonth: () => ({\n label: 'This month',\n value: () => ({ from: startOfMonth(new Date()), to: new Date() }),\n }),\n lastMonth: () => ({\n label: 'Last month',\n value: () => ({\n from: startOfMonth(subMonths(new Date(), 1)),\n to: endOfMonth(subMonths(new Date(), 1)),\n }),\n }),\n thisYear: () => ({\n label: 'This year',\n value: () => ({ from: startOfYear(new Date()), to: new Date() }),\n }),\n};\n\nconst defaultKeys: PresetKey[] = ['today', 'yesterday', 'last7', 'last30', 'thisMonth', 'lastMonth', 'thisYear'];\n\nexport function createPresets(options?: {\n include?: PresetKey[];\n custom?: RangePreset[];\n}): RangePreset[] {\n const keys = options?.include ?? defaultKeys;\n const builtIn = keys.map((key) => presetBuilders[key]());\n return options?.custom ? [...builtIn, ...options.custom] : builtIn;\n}\n"]}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// src/core/locale.ts
|
|
2
|
+
function createLocaleFromIntl(localeCode, overrides) {
|
|
3
|
+
const intl = new Intl.DateTimeFormat(localeCode);
|
|
4
|
+
const resolvedOptions = intl.resolvedOptions();
|
|
5
|
+
const baseSunday = new Date(2026, 0, 4);
|
|
6
|
+
const dayNamesShort = [];
|
|
7
|
+
const dayNamesFull = [];
|
|
8
|
+
const dayNamesNarrow = [];
|
|
9
|
+
for (let i = 0; i < 7; i++) {
|
|
10
|
+
const d = new Date(baseSunday);
|
|
11
|
+
d.setDate(d.getDate() + i);
|
|
12
|
+
dayNamesShort.push(d.toLocaleDateString(localeCode, { weekday: "short" }));
|
|
13
|
+
dayNamesFull.push(d.toLocaleDateString(localeCode, { weekday: "long" }));
|
|
14
|
+
dayNamesNarrow.push(d.toLocaleDateString(localeCode, { weekday: "narrow" }));
|
|
15
|
+
}
|
|
16
|
+
const monthNamesShort = [];
|
|
17
|
+
const monthNamesFull = [];
|
|
18
|
+
for (let i = 0; i < 12; i++) {
|
|
19
|
+
const d = new Date(2026, i, 1);
|
|
20
|
+
monthNamesShort.push(d.toLocaleDateString(localeCode, { month: "short" }));
|
|
21
|
+
monthNamesFull.push(d.toLocaleDateString(localeCode, { month: "long" }));
|
|
22
|
+
}
|
|
23
|
+
const rtlLocales = ["ar", "he", "fa", "ur", "ps", "sd", "yi"];
|
|
24
|
+
const langCode = localeCode.split("-")[0];
|
|
25
|
+
const dir = rtlLocales.includes(langCode) ? "rtl" : "ltr";
|
|
26
|
+
const sundayStartLocales = ["en-US", "en-CA", "ja", "ko", "zh-TW"];
|
|
27
|
+
const weekStartsOn = sundayStartLocales.some(
|
|
28
|
+
(l) => localeCode.startsWith(l) || localeCode === l
|
|
29
|
+
) ? 0 : 1;
|
|
30
|
+
const timeStr = new Date(2026, 0, 1, 15, 0).toLocaleTimeString(localeCode);
|
|
31
|
+
const timeFormat = timeStr.includes("PM") || timeStr.includes("pm") ? "12h" : "24h";
|
|
32
|
+
const locale = {
|
|
33
|
+
code: localeCode,
|
|
34
|
+
dir,
|
|
35
|
+
weekStartsOn,
|
|
36
|
+
dayNamesShort,
|
|
37
|
+
dayNamesFull,
|
|
38
|
+
dayNamesNarrow,
|
|
39
|
+
monthNamesShort,
|
|
40
|
+
monthNamesFull,
|
|
41
|
+
dateFormat: resolvedOptions.locale?.startsWith("en-US") ? "MM/DD/YYYY" : "DD/MM/YYYY",
|
|
42
|
+
timeFormat,
|
|
43
|
+
meridiemLabels: { am: "AM", pm: "PM" },
|
|
44
|
+
labels: {
|
|
45
|
+
previousMonth: "Previous month",
|
|
46
|
+
nextMonth: "Next month",
|
|
47
|
+
previousYear: "Previous year",
|
|
48
|
+
nextYear: "Next year",
|
|
49
|
+
selectMonth: "Select month",
|
|
50
|
+
selectYear: "Select year",
|
|
51
|
+
today: "Today",
|
|
52
|
+
clear: "Clear",
|
|
53
|
+
close: "Close",
|
|
54
|
+
apply: "Apply",
|
|
55
|
+
cancel: "Cancel",
|
|
56
|
+
startDate: "Start date",
|
|
57
|
+
endDate: "End date",
|
|
58
|
+
time: "Time",
|
|
59
|
+
hour: "Hour",
|
|
60
|
+
minute: "Minute",
|
|
61
|
+
second: "Second",
|
|
62
|
+
weekNumber: "Week"
|
|
63
|
+
},
|
|
64
|
+
...overrides
|
|
65
|
+
};
|
|
66
|
+
return locale;
|
|
67
|
+
}
|
|
68
|
+
var defaultLocale = {
|
|
69
|
+
code: "en-US",
|
|
70
|
+
dir: "ltr",
|
|
71
|
+
weekStartsOn: 0,
|
|
72
|
+
dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
73
|
+
dayNamesFull: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
|
74
|
+
dayNamesNarrow: ["S", "M", "T", "W", "T", "F", "S"],
|
|
75
|
+
monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
|
76
|
+
monthNamesFull: [
|
|
77
|
+
"January",
|
|
78
|
+
"February",
|
|
79
|
+
"March",
|
|
80
|
+
"April",
|
|
81
|
+
"May",
|
|
82
|
+
"June",
|
|
83
|
+
"July",
|
|
84
|
+
"August",
|
|
85
|
+
"September",
|
|
86
|
+
"October",
|
|
87
|
+
"November",
|
|
88
|
+
"December"
|
|
89
|
+
],
|
|
90
|
+
dateFormat: "MM/DD/YYYY",
|
|
91
|
+
timeFormat: "12h",
|
|
92
|
+
meridiemLabels: { am: "AM", pm: "PM" },
|
|
93
|
+
labels: {
|
|
94
|
+
previousMonth: "Previous month",
|
|
95
|
+
nextMonth: "Next month",
|
|
96
|
+
previousYear: "Previous year",
|
|
97
|
+
nextYear: "Next year",
|
|
98
|
+
selectMonth: "Select month",
|
|
99
|
+
selectYear: "Select year",
|
|
100
|
+
today: "Today",
|
|
101
|
+
clear: "Clear",
|
|
102
|
+
close: "Close",
|
|
103
|
+
apply: "Apply",
|
|
104
|
+
cancel: "Cancel",
|
|
105
|
+
startDate: "Start date",
|
|
106
|
+
endDate: "End date",
|
|
107
|
+
time: "Time",
|
|
108
|
+
hour: "Hour",
|
|
109
|
+
minute: "Minute",
|
|
110
|
+
second: "Second",
|
|
111
|
+
weekNumber: "Week"
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export { createLocaleFromIntl, defaultLocale };
|
|
116
|
+
//# sourceMappingURL=chunk-QW2CUEX4.js.map
|
|
117
|
+
//# sourceMappingURL=chunk-QW2CUEX4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/locale.ts"],"names":[],"mappings":"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","file":"chunk-QW2CUEX4.js","sourcesContent":["import type { DatePickerLocale, WeekDay } from './types';\n\nexport function createLocaleFromIntl(\n localeCode: string,\n overrides?: Partial<DatePickerLocale>\n): DatePickerLocale {\n const intl = new Intl.DateTimeFormat(localeCode);\n const resolvedOptions = intl.resolvedOptions();\n\n // Generate day names using a known Sunday (Jan 4, 2026 is a Sunday)\n const baseSunday = new Date(2026, 0, 4);\n const dayNamesShort: string[] = [];\n const dayNamesFull: string[] = [];\n const dayNamesNarrow: string[] = [];\n for (let i = 0; i < 7; i++) {\n const d = new Date(baseSunday);\n d.setDate(d.getDate() + i);\n dayNamesShort.push(d.toLocaleDateString(localeCode, { weekday: 'short' }));\n dayNamesFull.push(d.toLocaleDateString(localeCode, { weekday: 'long' }));\n dayNamesNarrow.push(d.toLocaleDateString(localeCode, { weekday: 'narrow' }));\n }\n\n // Generate month names using 2026\n const monthNamesShort: string[] = [];\n const monthNamesFull: string[] = [];\n for (let i = 0; i < 12; i++) {\n const d = new Date(2026, i, 1);\n monthNamesShort.push(d.toLocaleDateString(localeCode, { month: 'short' }));\n monthNamesFull.push(d.toLocaleDateString(localeCode, { month: 'long' }));\n }\n\n // Detect RTL\n const rtlLocales = ['ar', 'he', 'fa', 'ur', 'ps', 'sd', 'yi'];\n const langCode = localeCode.split('-')[0];\n const dir = rtlLocales.includes(langCode) ? 'rtl' : 'ltr';\n\n // Detect week start (most locales start on Monday except US/Canada/Japan)\n const sundayStartLocales = ['en-US', 'en-CA', 'ja', 'ko', 'zh-TW'];\n const weekStartsOn: WeekDay = sundayStartLocales.some(\n (l) => localeCode.startsWith(l) || localeCode === l\n )\n ? 0\n : 1;\n\n // Detect time format\n const timeStr = new Date(2026, 0, 1, 15, 0).toLocaleTimeString(localeCode);\n const timeFormat: '12h' | '24h' = timeStr.includes('PM') || timeStr.includes('pm') ? '12h' : '24h';\n\n const locale: DatePickerLocale = {\n code: localeCode,\n dir,\n weekStartsOn,\n dayNamesShort,\n dayNamesFull,\n dayNamesNarrow,\n monthNamesShort,\n monthNamesFull,\n dateFormat: resolvedOptions.locale?.startsWith('en-US') ? 'MM/DD/YYYY' : 'DD/MM/YYYY',\n timeFormat,\n meridiemLabels: { am: 'AM', pm: 'PM' },\n labels: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n selectMonth: 'Select month',\n selectYear: 'Select year',\n today: 'Today',\n clear: 'Clear',\n close: 'Close',\n apply: 'Apply',\n cancel: 'Cancel',\n startDate: 'Start date',\n endDate: 'End date',\n time: 'Time',\n hour: 'Hour',\n minute: 'Minute',\n second: 'Second',\n weekNumber: 'Week',\n },\n ...overrides,\n };\n\n return locale;\n}\n\nexport const defaultLocale: DatePickerLocale = {\n code: 'en-US',\n dir: 'ltr',\n weekStartsOn: 0,\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesFull: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesNarrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n monthNamesFull: [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December',\n ],\n dateFormat: 'MM/DD/YYYY',\n timeFormat: '12h',\n meridiemLabels: { am: 'AM', pm: 'PM' },\n labels: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n selectMonth: 'Select month',\n selectYear: 'Select year',\n today: 'Today',\n clear: 'Clear',\n close: 'Close',\n apply: 'Apply',\n cancel: 'Cancel',\n startDate: 'Start date',\n endDate: 'End date',\n time: 'Time',\n hour: 'Hour',\n minute: 'Minute',\n second: 'Second',\n weekNumber: 'Week',\n },\n};\n"]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/core/locale.ts
|
|
4
|
+
function createLocaleFromIntl(localeCode, overrides) {
|
|
5
|
+
const intl = new Intl.DateTimeFormat(localeCode);
|
|
6
|
+
const resolvedOptions = intl.resolvedOptions();
|
|
7
|
+
const baseSunday = new Date(2026, 0, 4);
|
|
8
|
+
const dayNamesShort = [];
|
|
9
|
+
const dayNamesFull = [];
|
|
10
|
+
const dayNamesNarrow = [];
|
|
11
|
+
for (let i = 0; i < 7; i++) {
|
|
12
|
+
const d = new Date(baseSunday);
|
|
13
|
+
d.setDate(d.getDate() + i);
|
|
14
|
+
dayNamesShort.push(d.toLocaleDateString(localeCode, { weekday: "short" }));
|
|
15
|
+
dayNamesFull.push(d.toLocaleDateString(localeCode, { weekday: "long" }));
|
|
16
|
+
dayNamesNarrow.push(d.toLocaleDateString(localeCode, { weekday: "narrow" }));
|
|
17
|
+
}
|
|
18
|
+
const monthNamesShort = [];
|
|
19
|
+
const monthNamesFull = [];
|
|
20
|
+
for (let i = 0; i < 12; i++) {
|
|
21
|
+
const d = new Date(2026, i, 1);
|
|
22
|
+
monthNamesShort.push(d.toLocaleDateString(localeCode, { month: "short" }));
|
|
23
|
+
monthNamesFull.push(d.toLocaleDateString(localeCode, { month: "long" }));
|
|
24
|
+
}
|
|
25
|
+
const rtlLocales = ["ar", "he", "fa", "ur", "ps", "sd", "yi"];
|
|
26
|
+
const langCode = localeCode.split("-")[0];
|
|
27
|
+
const dir = rtlLocales.includes(langCode) ? "rtl" : "ltr";
|
|
28
|
+
const sundayStartLocales = ["en-US", "en-CA", "ja", "ko", "zh-TW"];
|
|
29
|
+
const weekStartsOn = sundayStartLocales.some(
|
|
30
|
+
(l) => localeCode.startsWith(l) || localeCode === l
|
|
31
|
+
) ? 0 : 1;
|
|
32
|
+
const timeStr = new Date(2026, 0, 1, 15, 0).toLocaleTimeString(localeCode);
|
|
33
|
+
const timeFormat = timeStr.includes("PM") || timeStr.includes("pm") ? "12h" : "24h";
|
|
34
|
+
const locale = {
|
|
35
|
+
code: localeCode,
|
|
36
|
+
dir,
|
|
37
|
+
weekStartsOn,
|
|
38
|
+
dayNamesShort,
|
|
39
|
+
dayNamesFull,
|
|
40
|
+
dayNamesNarrow,
|
|
41
|
+
monthNamesShort,
|
|
42
|
+
monthNamesFull,
|
|
43
|
+
dateFormat: resolvedOptions.locale?.startsWith("en-US") ? "MM/DD/YYYY" : "DD/MM/YYYY",
|
|
44
|
+
timeFormat,
|
|
45
|
+
meridiemLabels: { am: "AM", pm: "PM" },
|
|
46
|
+
labels: {
|
|
47
|
+
previousMonth: "Previous month",
|
|
48
|
+
nextMonth: "Next month",
|
|
49
|
+
previousYear: "Previous year",
|
|
50
|
+
nextYear: "Next year",
|
|
51
|
+
selectMonth: "Select month",
|
|
52
|
+
selectYear: "Select year",
|
|
53
|
+
today: "Today",
|
|
54
|
+
clear: "Clear",
|
|
55
|
+
close: "Close",
|
|
56
|
+
apply: "Apply",
|
|
57
|
+
cancel: "Cancel",
|
|
58
|
+
startDate: "Start date",
|
|
59
|
+
endDate: "End date",
|
|
60
|
+
time: "Time",
|
|
61
|
+
hour: "Hour",
|
|
62
|
+
minute: "Minute",
|
|
63
|
+
second: "Second",
|
|
64
|
+
weekNumber: "Week"
|
|
65
|
+
},
|
|
66
|
+
...overrides
|
|
67
|
+
};
|
|
68
|
+
return locale;
|
|
69
|
+
}
|
|
70
|
+
var defaultLocale = {
|
|
71
|
+
code: "en-US",
|
|
72
|
+
dir: "ltr",
|
|
73
|
+
weekStartsOn: 0,
|
|
74
|
+
dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
75
|
+
dayNamesFull: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
|
76
|
+
dayNamesNarrow: ["S", "M", "T", "W", "T", "F", "S"],
|
|
77
|
+
monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
|
78
|
+
monthNamesFull: [
|
|
79
|
+
"January",
|
|
80
|
+
"February",
|
|
81
|
+
"March",
|
|
82
|
+
"April",
|
|
83
|
+
"May",
|
|
84
|
+
"June",
|
|
85
|
+
"July",
|
|
86
|
+
"August",
|
|
87
|
+
"September",
|
|
88
|
+
"October",
|
|
89
|
+
"November",
|
|
90
|
+
"December"
|
|
91
|
+
],
|
|
92
|
+
dateFormat: "MM/DD/YYYY",
|
|
93
|
+
timeFormat: "12h",
|
|
94
|
+
meridiemLabels: { am: "AM", pm: "PM" },
|
|
95
|
+
labels: {
|
|
96
|
+
previousMonth: "Previous month",
|
|
97
|
+
nextMonth: "Next month",
|
|
98
|
+
previousYear: "Previous year",
|
|
99
|
+
nextYear: "Next year",
|
|
100
|
+
selectMonth: "Select month",
|
|
101
|
+
selectYear: "Select year",
|
|
102
|
+
today: "Today",
|
|
103
|
+
clear: "Clear",
|
|
104
|
+
close: "Close",
|
|
105
|
+
apply: "Apply",
|
|
106
|
+
cancel: "Cancel",
|
|
107
|
+
startDate: "Start date",
|
|
108
|
+
endDate: "End date",
|
|
109
|
+
time: "Time",
|
|
110
|
+
hour: "Hour",
|
|
111
|
+
minute: "Minute",
|
|
112
|
+
second: "Second",
|
|
113
|
+
weekNumber: "Week"
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
exports.createLocaleFromIntl = createLocaleFromIntl;
|
|
118
|
+
exports.defaultLocale = defaultLocale;
|
|
119
|
+
//# sourceMappingURL=chunk-R7HLYS5V.cjs.map
|
|
120
|
+
//# sourceMappingURL=chunk-R7HLYS5V.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/locale.ts"],"names":[],"mappings":"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","file":"chunk-R7HLYS5V.cjs","sourcesContent":["import type { DatePickerLocale, WeekDay } from './types';\n\nexport function createLocaleFromIntl(\n localeCode: string,\n overrides?: Partial<DatePickerLocale>\n): DatePickerLocale {\n const intl = new Intl.DateTimeFormat(localeCode);\n const resolvedOptions = intl.resolvedOptions();\n\n // Generate day names using a known Sunday (Jan 4, 2026 is a Sunday)\n const baseSunday = new Date(2026, 0, 4);\n const dayNamesShort: string[] = [];\n const dayNamesFull: string[] = [];\n const dayNamesNarrow: string[] = [];\n for (let i = 0; i < 7; i++) {\n const d = new Date(baseSunday);\n d.setDate(d.getDate() + i);\n dayNamesShort.push(d.toLocaleDateString(localeCode, { weekday: 'short' }));\n dayNamesFull.push(d.toLocaleDateString(localeCode, { weekday: 'long' }));\n dayNamesNarrow.push(d.toLocaleDateString(localeCode, { weekday: 'narrow' }));\n }\n\n // Generate month names using 2026\n const monthNamesShort: string[] = [];\n const monthNamesFull: string[] = [];\n for (let i = 0; i < 12; i++) {\n const d = new Date(2026, i, 1);\n monthNamesShort.push(d.toLocaleDateString(localeCode, { month: 'short' }));\n monthNamesFull.push(d.toLocaleDateString(localeCode, { month: 'long' }));\n }\n\n // Detect RTL\n const rtlLocales = ['ar', 'he', 'fa', 'ur', 'ps', 'sd', 'yi'];\n const langCode = localeCode.split('-')[0];\n const dir = rtlLocales.includes(langCode) ? 'rtl' : 'ltr';\n\n // Detect week start (most locales start on Monday except US/Canada/Japan)\n const sundayStartLocales = ['en-US', 'en-CA', 'ja', 'ko', 'zh-TW'];\n const weekStartsOn: WeekDay = sundayStartLocales.some(\n (l) => localeCode.startsWith(l) || localeCode === l\n )\n ? 0\n : 1;\n\n // Detect time format\n const timeStr = new Date(2026, 0, 1, 15, 0).toLocaleTimeString(localeCode);\n const timeFormat: '12h' | '24h' = timeStr.includes('PM') || timeStr.includes('pm') ? '12h' : '24h';\n\n const locale: DatePickerLocale = {\n code: localeCode,\n dir,\n weekStartsOn,\n dayNamesShort,\n dayNamesFull,\n dayNamesNarrow,\n monthNamesShort,\n monthNamesFull,\n dateFormat: resolvedOptions.locale?.startsWith('en-US') ? 'MM/DD/YYYY' : 'DD/MM/YYYY',\n timeFormat,\n meridiemLabels: { am: 'AM', pm: 'PM' },\n labels: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n selectMonth: 'Select month',\n selectYear: 'Select year',\n today: 'Today',\n clear: 'Clear',\n close: 'Close',\n apply: 'Apply',\n cancel: 'Cancel',\n startDate: 'Start date',\n endDate: 'End date',\n time: 'Time',\n hour: 'Hour',\n minute: 'Minute',\n second: 'Second',\n weekNumber: 'Week',\n },\n ...overrides,\n };\n\n return locale;\n}\n\nexport const defaultLocale: DatePickerLocale = {\n code: 'en-US',\n dir: 'ltr',\n weekStartsOn: 0,\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesFull: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesNarrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n monthNamesFull: [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December',\n ],\n dateFormat: 'MM/DD/YYYY',\n timeFormat: '12h',\n meridiemLabels: { am: 'AM', pm: 'PM' },\n labels: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n selectMonth: 'Select month',\n selectYear: 'Select year',\n today: 'Today',\n clear: 'Clear',\n close: 'Close',\n apply: 'Apply',\n cancel: 'Cancel',\n startDate: 'Start date',\n endDate: 'End date',\n time: 'Time',\n hour: 'Hour',\n minute: 'Minute',\n second: 'Second',\n weekNumber: 'Week',\n },\n};\n"]}
|