@lichta/core 2.0.1 → 2.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/README.md +134 -13
- package/dist/index.d.mts +468 -89
- package/dist/index.d.ts +468 -89
- package/dist/index.js +583 -99
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +551 -98
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
- package/styles/calendar-base.css +21 -6
- package/styles/calendar-glass.css +2 -12
- package/styles/datepicker-base.css +223 -0
- package/styles/datepicker-glass.css +27 -0
package/dist/index.d.mts
CHANGED
|
@@ -15,22 +15,14 @@ interface SolarDate {
|
|
|
15
15
|
month: number;
|
|
16
16
|
year: number;
|
|
17
17
|
}
|
|
18
|
+
/** Một lần xuất hiện Tiết Khí (Solar Term) trong năm dương lịch */
|
|
19
|
+
interface SolarTerm {
|
|
20
|
+
index: number;
|
|
21
|
+
name: string;
|
|
22
|
+
date: SolarDate;
|
|
23
|
+
jd: number;
|
|
24
|
+
}
|
|
18
25
|
|
|
19
|
-
/**
|
|
20
|
-
* Chuyển ngày Gregorian sang Julian Day Number.
|
|
21
|
-
*
|
|
22
|
-
* @param dd - Ngày (1-31)
|
|
23
|
-
* @param mm - Tháng (1-12)
|
|
24
|
-
* @param yy - Năm
|
|
25
|
-
*/
|
|
26
|
-
declare function jdFromDate(dd: number, mm: number, yy: number): number;
|
|
27
|
-
/**
|
|
28
|
-
* Chuyển Julian Day Number sang ngày Gregorian.
|
|
29
|
-
*
|
|
30
|
-
* @param jd - Julian Day Number
|
|
31
|
-
* @returns Tuple [day, month, year]
|
|
32
|
-
*/
|
|
33
|
-
declare function jdToDate(jd: number): [number, number, number];
|
|
34
26
|
declare class LichTa {
|
|
35
27
|
/**
|
|
36
28
|
* Chuyển đổi ngày Dương lịch sang Âm lịch.
|
|
@@ -73,22 +65,159 @@ declare class LichTa {
|
|
|
73
65
|
}
|
|
74
66
|
|
|
75
67
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
68
|
+
* Thuật toán thiên văn nền tảng cho chuyển đổi Dương lịch ↔ Âm lịch Việt Nam
|
|
69
|
+
* Dựa trên công trình của Hồ Ngọc Đức (Đại học Leipzig)
|
|
70
|
+
* Tham khảo: Jean Meeus, "Astronomical Algorithms" (1998)
|
|
71
|
+
*
|
|
72
|
+
* Copyright (c) 2006 Ho Ngoc Duc. All Rights Reserved.
|
|
73
|
+
* TypeScript adaptation for Lichta library.
|
|
78
74
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Chuyển ngày Gregorian sang Julian Day Number.
|
|
77
|
+
*
|
|
78
|
+
* @param dd - Ngày (1-31)
|
|
79
|
+
* @param mm - Tháng (1-12)
|
|
80
|
+
* @param yy - Năm
|
|
81
|
+
*/
|
|
82
|
+
declare function jdFromDate(dd: number, mm: number, yy: number): number;
|
|
83
|
+
/**
|
|
84
|
+
* Chuyển Julian Day Number sang ngày Gregorian.
|
|
85
|
+
*
|
|
86
|
+
* @param jd - Julian Day Number
|
|
87
|
+
* @returns Tuple [day, month, year]
|
|
88
|
+
*/
|
|
89
|
+
declare function jdToDate(jd: number): [number, number, number];
|
|
90
|
+
|
|
91
|
+
/** Một ô ngày trong lưới lịch tháng. */
|
|
92
|
+
interface CalendarDayCell {
|
|
93
|
+
solar: Date;
|
|
94
|
+
lunar: LunarDate;
|
|
95
|
+
isToday: boolean;
|
|
96
|
+
isSelected: boolean;
|
|
97
|
+
isCurrentMonth: boolean;
|
|
98
|
+
/** Số tuần trong năm (ISO-8601) của hàng chứa ô này — giống nhau cho cả 7 ô trong hàng. */
|
|
99
|
+
weekNumber: number;
|
|
100
|
+
}
|
|
101
|
+
/** Ngày bắt đầu tuần: 0 = Chủ Nhật (mặc định, giống `Date.getDay()`), 1 = Thứ Hai. */
|
|
102
|
+
type FirstDayOfWeek = 0 | 1;
|
|
103
|
+
/**
|
|
104
|
+
* Tính số tuần theo chuẩn ISO-8601: tuần bắt đầu Thứ Hai, tuần 1 của năm là
|
|
105
|
+
* tuần chứa Thứ Năm đầu tiên (tương đương: tuần chứa ngày 4/1).
|
|
106
|
+
*/
|
|
107
|
+
declare function getISOWeekNumber(date: Date): number;
|
|
108
|
+
/**
|
|
109
|
+
* Dựng lưới 42 ô (6 tuần x 7 ngày) cho 1 tháng dương lịch, gồm ngày tràn từ
|
|
110
|
+
* tháng trước/sau để lấp đầy tuần đầu/cuối, mỗi ô kèm ngày âm tương ứng.
|
|
111
|
+
*
|
|
112
|
+
* Logic này trước đây bị lặp lại độc lập ở Calendar.tsx/vue/svelte — tách ra
|
|
113
|
+
* đây để có 1 nguồn tính toán duy nhất (tránh 3 bản có thể lệch nhau khi sửa
|
|
114
|
+
* riêng lẻ), dùng chung cho cả Calendar và DatePicker ở mọi framework.
|
|
115
|
+
*
|
|
116
|
+
* @param month - Tháng dương lịch (1-12)
|
|
117
|
+
* @param year - Năm dương lịch
|
|
118
|
+
* @param selectedDate - Ngày đang được chọn (nếu có), dùng để đánh dấu `isSelected`
|
|
119
|
+
* @param firstDayOfWeek - Ngày bắt đầu tuần: 0 = Chủ Nhật (mặc định), 1 = Thứ Hai
|
|
120
|
+
*/
|
|
121
|
+
declare function getCalendarGrid(month: number, year: number, selectedDate?: Date | null, firstDayOfWeek?: FirstDayOfWeek): CalendarDayCell[];
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Internationalization — Hỗ trợ song ngữ Việt-Anh
|
|
125
|
+
*/
|
|
126
|
+
type Locale = 'vi' | 'en' | 'ja' | 'ko';
|
|
127
|
+
/**
|
|
128
|
+
* Lấy bộ dịch theo locale
|
|
129
|
+
* @param locale - Ngôn ngữ ('vi' | 'en' | 'ja' | 'ko')
|
|
130
|
+
*/
|
|
131
|
+
declare function t(locale: Locale): {
|
|
132
|
+
readonly heavenlyStems: readonly ["Giáp", "Ất", "Bính", "Đinh", "Mậu", "Kỷ", "Canh", "Tân", "Nhâm", "Quý"];
|
|
133
|
+
readonly earthlyBranches: readonly ["Tý", "Sửu", "Dần", "Mão", "Thìn", "Tỵ", "Ngọ", "Mùi", "Thân", "Dậu", "Tuất", "Hợi"];
|
|
134
|
+
readonly fiveElements: readonly ["Kim", "Mộc", "Thủy", "Hỏa", "Thổ"];
|
|
135
|
+
readonly zodiacAnimals: readonly ["Chuột", "Trâu", "Cọp", "Thỏ", "Rồng", "Rắn", "Ngựa", "Dê", "Khỉ", "Gà", "Chó", "Heo"];
|
|
136
|
+
readonly monthNames: readonly ["Giêng", "Hai", "Ba", "Tư", "Năm", "Sáu", "Bảy", "Tám", "Chín", "Mười", "Một", "Chạp"];
|
|
137
|
+
readonly lunarMonthNames: readonly ["Giêng", "Hai", "Ba", "Tư", "Năm", "Sáu", "Bảy", "Tám", "Chín", "Mười", "Một", "Chạp"];
|
|
138
|
+
readonly solarMonthNames: readonly ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"];
|
|
139
|
+
readonly weekDays: readonly ["CN", "T2", "T3", "T4", "T5", "T6", "T7"];
|
|
140
|
+
readonly leapLabel: "Nhuận";
|
|
141
|
+
readonly yearLabel: "Năm";
|
|
142
|
+
readonly monthLabel: "Tháng";
|
|
143
|
+
readonly destiny: "Mệnh";
|
|
144
|
+
readonly solarTermNames: readonly ["Xuân Phân", "Thanh Minh", "Cốc Vũ", "Lập Hạ", "Tiểu Mãn", "Mang Chủng", "Hạ Chí", "Tiểu Thử", "Đại Thử", "Lập Thu", "Xử Thử", "Bạch Lộ", "Thu Phân", "Hàn Lộ", "Sương Giáng", "Lập Đông", "Tiểu Tuyết", "Đại Tuyết", "Đông Chí", "Tiểu Hàn", "Đại Hàn", "Lập Xuân", "Vũ Thủy", "Kinh Trập"];
|
|
145
|
+
readonly trucNames: readonly ["Kiến", "Trừ", "Mãn", "Bình", "Định", "Chấp", "Phá", "Nguy", "Thành", "Thu", "Khai", "Bế"];
|
|
146
|
+
readonly elementRelationNames: readonly ["Tương sinh", "Được sinh", "Tương khắc", "Bị khắc", "Tương hòa"];
|
|
147
|
+
readonly trucQualityNames: readonly ["Xấu", "Trung bình", "Tốt"];
|
|
148
|
+
} | {
|
|
149
|
+
readonly heavenlyStems: readonly ["Giáp", "Ất", "Bính", "Đinh", "Mậu", "Kỷ", "Canh", "Tân", "Nhâm", "Quý"];
|
|
150
|
+
readonly earthlyBranches: readonly ["Tý", "Sửu", "Dần", "Mão", "Thìn", "Tỵ", "Ngọ", "Mùi", "Thân", "Dậu", "Tuất", "Hợi"];
|
|
151
|
+
readonly fiveElements: readonly ["Metal", "Wood", "Water", "Fire", "Earth"];
|
|
152
|
+
readonly zodiacAnimals: readonly ["Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Goat", "Monkey", "Rooster", "Dog", "Pig"];
|
|
153
|
+
readonly monthNames: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
154
|
+
readonly lunarMonthNames: readonly ["Month 1", "Month 2", "Month 3", "Month 4", "Month 5", "Month 6", "Month 7", "Month 8", "Month 9", "Month 10", "Month 11", "Month 12"];
|
|
155
|
+
readonly solarMonthNames: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
156
|
+
readonly weekDays: readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
|
157
|
+
readonly leapLabel: "Leap";
|
|
158
|
+
readonly yearLabel: "Year";
|
|
159
|
+
readonly monthLabel: "Month";
|
|
160
|
+
readonly destiny: "Destiny";
|
|
161
|
+
readonly solarTermNames: readonly ["Spring Equinox", "Clear and Bright", "Grain Rain", "Start of Summer", "Grain Full", "Grain in Ear", "Summer Solstice", "Minor Heat", "Major Heat", "Start of Autumn", "End of Heat", "White Dew", "Autumn Equinox", "Cold Dew", "Frost's Descent", "Start of Winter", "Minor Snow", "Major Snow", "Winter Solstice", "Minor Cold", "Major Cold", "Start of Spring", "Rain Water", "Awakening of Insects"];
|
|
162
|
+
readonly trucNames: readonly ["Kiến", "Trừ", "Mãn", "Bình", "Định", "Chấp", "Phá", "Nguy", "Thành", "Thu", "Khai", "Bế"];
|
|
163
|
+
readonly elementRelationNames: readonly ["Generates", "Generated By", "Overcomes", "Overcome By", "Same Element"];
|
|
164
|
+
readonly trucQualityNames: readonly ["Bad", "Neutral", "Good"];
|
|
165
|
+
} | {
|
|
166
|
+
readonly heavenlyStems: readonly ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"];
|
|
167
|
+
readonly earthlyBranches: readonly ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"];
|
|
168
|
+
readonly fiveElements: readonly ["金", "木", "水", "火", "土"];
|
|
169
|
+
readonly zodiacAnimals: readonly ["鼠", "牛", "虎", "兎", "竜", "蛇", "馬", "羊", "猿", "鶏", "犬", "猪"];
|
|
170
|
+
readonly monthNames: readonly ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
|
|
171
|
+
readonly lunarMonthNames: readonly ["旧暦1月", "旧暦2月", "旧暦3月", "旧暦4月", "旧暦5月", "旧暦6月", "旧暦7月", "旧暦8月", "旧暦9月", "旧暦10月", "旧暦11月", "旧暦12月"];
|
|
172
|
+
readonly solarMonthNames: readonly ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
|
|
173
|
+
readonly weekDays: readonly ["日", "月", "火", "水", "木", "金", "土"];
|
|
174
|
+
readonly leapLabel: "閏";
|
|
175
|
+
readonly yearLabel: "年";
|
|
176
|
+
readonly monthLabel: "月";
|
|
177
|
+
readonly destiny: "命";
|
|
178
|
+
readonly solarTermNames: readonly ["春分", "清明", "穀雨", "立夏", "小満", "芒種", "夏至", "小暑", "大暑", "立秋", "処暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至", "小寒", "大寒", "立春", "雨水", "啓蟄"];
|
|
179
|
+
readonly trucNames: readonly ["建", "除", "満", "平", "定", "執", "破", "危", "成", "収", "開", "閉"];
|
|
180
|
+
readonly elementRelationNames: readonly ["相生", "被生", "相克", "被克", "比和"];
|
|
181
|
+
readonly trucQualityNames: readonly ["凶", "普通", "吉"];
|
|
182
|
+
} | {
|
|
183
|
+
readonly heavenlyStems: readonly ["갑", "을", "병", "정", "무", "기", "경", "신", "임", "계"];
|
|
184
|
+
readonly earthlyBranches: readonly ["자", "축", "인", "묘", "진", "사", "오", "미", "신", "유", "술", "해"];
|
|
185
|
+
readonly fiveElements: readonly ["금", "목", "수", "화", "토"];
|
|
186
|
+
readonly zodiacAnimals: readonly ["쥐", "소", "호랑이", "토끼", "용", "뱀", "말", "양", "원숭이", "닭", "개", "돼지"];
|
|
187
|
+
readonly monthNames: readonly ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"];
|
|
188
|
+
readonly lunarMonthNames: readonly ["음력 1월", "음력 2월", "음력 3월", "음력 4월", "음력 5월", "음력 6월", "음력 7월", "음력 8월", "음력 9월", "음력 10월", "음력 11월", "음력 12월"];
|
|
189
|
+
readonly solarMonthNames: readonly ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"];
|
|
190
|
+
readonly weekDays: readonly ["일", "월", "화", "수", "목", "금", "토"];
|
|
191
|
+
readonly leapLabel: "윤";
|
|
192
|
+
readonly yearLabel: "년";
|
|
193
|
+
readonly monthLabel: "월";
|
|
194
|
+
readonly destiny: "명";
|
|
195
|
+
readonly solarTermNames: readonly ["춘분", "청명", "곡우", "입하", "소만", "망종", "하지", "소서", "대서", "입추", "처서", "백로", "추분", "한로", "상강", "입동", "소설", "대설", "동지", "소한", "대한", "입춘", "우수", "경칩"];
|
|
196
|
+
readonly trucNames: readonly ["건", "제", "만", "평", "정", "집", "파", "위", "성", "수", "개", "폐"];
|
|
197
|
+
readonly elementRelationNames: readonly ["상생", "피생", "상극", "피극", "비화"];
|
|
198
|
+
readonly trucQualityNames: readonly ["흉", "보통", "길"];
|
|
84
199
|
};
|
|
200
|
+
/**
|
|
201
|
+
* Lấy tên con giáp theo locale
|
|
202
|
+
* @param branchIndex - Index Địa Chi (0-11)
|
|
203
|
+
* @param locale - Ngôn ngữ
|
|
204
|
+
*/
|
|
205
|
+
declare function getZodiacAnimal(branchIndex: number, locale?: Locale): string;
|
|
206
|
+
/**
|
|
207
|
+
* Lấy nhãn thứ trong tuần theo locale, xoay vòng theo ngày bắt đầu tuần.
|
|
208
|
+
* @param locale - Ngôn ngữ
|
|
209
|
+
* @param firstDayOfWeek - Ngày bắt đầu tuần: 0 = Chủ Nhật (mặc định), 1 = Thứ Hai
|
|
210
|
+
*/
|
|
211
|
+
declare function getWeekDayLabels(locale: Locale, firstDayOfWeek?: FirstDayOfWeek): string[];
|
|
212
|
+
|
|
85
213
|
/**
|
|
86
214
|
* Tính Can Chi ngày từ Julian Day Number.
|
|
87
215
|
*
|
|
88
216
|
* @param jd - Julian Day Number
|
|
217
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi', giữ nguyên hành vi cũ)
|
|
89
218
|
* @returns Chuỗi Can Chi (ví dụ: "Giáp Tý")
|
|
90
219
|
*/
|
|
91
|
-
declare function getDayCanChi(jd: number): string;
|
|
220
|
+
declare function getDayCanChi(jd: number, locale?: Locale): string;
|
|
92
221
|
/**
|
|
93
222
|
* Tính Can Chi tháng từ tháng và năm âm lịch.
|
|
94
223
|
* Can tháng phụ thuộc vào Can của năm (quy tắc Ngũ Hổ Độn):
|
|
@@ -100,8 +229,9 @@ declare function getDayCanChi(jd: number): string;
|
|
|
100
229
|
*
|
|
101
230
|
* @param lunarMonth - Tháng âm lịch (1-12)
|
|
102
231
|
* @param lunarYear - Năm âm lịch
|
|
232
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi', giữ nguyên hành vi cũ)
|
|
103
233
|
*/
|
|
104
|
-
declare function getMonthCanChi(lunarMonth: number, lunarYear: number): string;
|
|
234
|
+
declare function getMonthCanChi(lunarMonth: number, lunarYear: number, locale?: Locale): string;
|
|
105
235
|
/**
|
|
106
236
|
* Tính Can Chi giờ từ giờ (0-23) và Julian Day Number của ngày.
|
|
107
237
|
*
|
|
@@ -117,16 +247,324 @@ declare function getMonthCanChi(lunarMonth: number, lunarYear: number): string;
|
|
|
117
247
|
*
|
|
118
248
|
* @param hour - Giờ (0-23)
|
|
119
249
|
* @param dayJd - Julian Day Number của ngày
|
|
250
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi', giữ nguyên hành vi cũ)
|
|
120
251
|
*/
|
|
121
|
-
declare function getHourCanChi(hour: number, dayJd: number): string;
|
|
252
|
+
declare function getHourCanChi(hour: number, dayJd: number, locale?: Locale): string;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Lấy tên Ngũ Hành theo index và locale.
|
|
256
|
+
*
|
|
257
|
+
* @param index - Index Ngũ Hành (0-4, vào FIVE_ELEMENTS: Kim, Mộc, Thủy, Hỏa, Thổ)
|
|
258
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
259
|
+
*/
|
|
260
|
+
declare function getElementName(index: number, locale?: Locale): string;
|
|
261
|
+
/**
|
|
262
|
+
* Tính index Ngũ Hành Nạp Âm (0-4, vào FIVE_ELEMENTS) của ngày, dùng chung bảng
|
|
263
|
+
* Nạp Âm 60 Hoa Giáp với `getYearDetails` (almanac.ts). Chỉ số Can/Chi tính giống hệt
|
|
264
|
+
* {@link import('./can-chi.js').getDayCanChi}.
|
|
265
|
+
*
|
|
266
|
+
* @param jd - Julian Day Number
|
|
267
|
+
*/
|
|
268
|
+
declare function getDayElementIndex(jd: number): number;
|
|
269
|
+
/**
|
|
270
|
+
* Tính Mệnh (Ngũ Hành Nạp Âm) của ngày theo locale (xem {@link getDayElementIndex}).
|
|
271
|
+
*
|
|
272
|
+
* @param jd - Julian Day Number
|
|
273
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
274
|
+
*/
|
|
275
|
+
declare function getDayElement(jd: number, locale?: Locale): string;
|
|
276
|
+
/**
|
|
277
|
+
* Tính index Ngũ Hành Nạp Âm (0-4, vào FIVE_ELEMENTS) của tháng âm lịch. Chỉ số
|
|
278
|
+
* Can/Chi tính giống hệt {@link import('./can-chi.js').getMonthCanChi}.
|
|
279
|
+
*
|
|
280
|
+
* @param lunarMonth - Tháng âm lịch (1-12)
|
|
281
|
+
* @param lunarYear - Năm âm lịch
|
|
282
|
+
*/
|
|
283
|
+
declare function getMonthElementIndex(lunarMonth: number, lunarYear: number): number;
|
|
284
|
+
/**
|
|
285
|
+
* Tính Mệnh (Ngũ Hành Nạp Âm) của tháng âm lịch theo locale (xem {@link getMonthElementIndex}).
|
|
286
|
+
*
|
|
287
|
+
* @param lunarMonth - Tháng âm lịch (1-12)
|
|
288
|
+
* @param lunarYear - Năm âm lịch
|
|
289
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
290
|
+
*/
|
|
291
|
+
declare function getMonthElement(lunarMonth: number, lunarYear: number, locale?: Locale): string;
|
|
292
|
+
/**
|
|
293
|
+
* Tính index Ngũ Hành Nạp Âm (0-4, vào FIVE_ELEMENTS) của giờ. Chỉ số Can/Chi tính
|
|
294
|
+
* giống hệt {@link import('./can-chi.js').getHourCanChi}.
|
|
295
|
+
*
|
|
296
|
+
* @param hour - Giờ (0-23)
|
|
297
|
+
* @param dayJd - Julian Day Number của ngày
|
|
298
|
+
*/
|
|
299
|
+
declare function getHourElementIndex(hour: number, dayJd: number): number;
|
|
300
|
+
/**
|
|
301
|
+
* Tính Mệnh (Ngũ Hành Nạp Âm) của giờ theo locale (xem {@link getHourElementIndex}).
|
|
302
|
+
*
|
|
303
|
+
* @param hour - Giờ (0-23)
|
|
304
|
+
* @param dayJd - Julian Day Number của ngày
|
|
305
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
306
|
+
*/
|
|
307
|
+
declare function getHourElement(hour: number, dayJd: number, locale?: Locale): string;
|
|
308
|
+
/**
|
|
309
|
+
* Tính quan hệ Ngũ Hành từ `fromIndex` tới `toIndex`, trả về index 0-4:
|
|
310
|
+
* 0 = sinh (from sinh to) 2 = khắc (from khắc to) 4 = hòa (cùng hành)
|
|
311
|
+
* 1 = được sinh (to sinh from) 3 = bị khắc (to khắc from)
|
|
312
|
+
*
|
|
313
|
+
* Với 5 hành, 2 hành khác nhau bất kỳ luôn rơi vào đúng 1 trong 4 quan hệ trên
|
|
314
|
+
* (mỗi hành có đúng 1 hành sinh nó, 1 hành nó sinh, 1 hành khắc nó, 1 hành nó khắc)
|
|
315
|
+
* — không có trường hợp mơ hồ.
|
|
316
|
+
*
|
|
317
|
+
* @param fromIndex - Index Ngũ Hành thứ nhất (0-4, vào FIVE_ELEMENTS)
|
|
318
|
+
* @param toIndex - Index Ngũ Hành thứ hai (0-4, vào FIVE_ELEMENTS)
|
|
319
|
+
*/
|
|
320
|
+
declare function getElementRelationIndex(fromIndex: number, toIndex: number): number;
|
|
321
|
+
/**
|
|
322
|
+
* Lấy tên quan hệ Ngũ Hành giữa 2 hành theo locale (xem {@link getElementRelationIndex}).
|
|
323
|
+
*
|
|
324
|
+
* @param fromIndex - Index Ngũ Hành thứ nhất (0-4, vào FIVE_ELEMENTS)
|
|
325
|
+
* @param toIndex - Index Ngũ Hành thứ hai (0-4, vào FIVE_ELEMENTS)
|
|
326
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```typescript
|
|
330
|
+
* // Mộc (1) và Hỏa (3): Mộc sinh Hỏa
|
|
331
|
+
* getElementRelation(1, 3); // → 'Tương sinh'
|
|
332
|
+
* getElementRelation(3, 1); // → 'Được sinh' (từ góc nhìn của Hỏa: được Mộc sinh)
|
|
333
|
+
* ```
|
|
334
|
+
*/
|
|
335
|
+
declare function getElementRelation(fromIndex: number, toIndex: number, locale?: Locale): string;
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Tính index Trực (0-11: Kiến, Trừ, Mãn, Bình, Định, Chấp, Phá, Nguy, Thành, Thu, Khai, Bế)
|
|
339
|
+
* tại một ngày dương lịch (Julian Day Number).
|
|
340
|
+
*
|
|
341
|
+
* Trực được neo theo 12 Tiết (Lập Xuân, Kinh Trập, Thanh Minh, ...) — tức các index
|
|
342
|
+
* lẻ trong 24 Tiết Khí ({@link import('./tiet-khi.js').getSolarTermsInYear}, `tiet-khi.ts`) —
|
|
343
|
+
* KHÔNG theo số tháng âm lịch, vì tháng nhuận âm lịch không tương ứng với một Tiết mới
|
|
344
|
+
* (dùng số tháng âm lịch sẽ cho kết quả sai trong các tháng nhuận).
|
|
345
|
+
*
|
|
346
|
+
* Ngày Tiết bắt đầu luôn là "Kiến" (index 0), Trực tăng dần 1 mỗi ngày sau đó và
|
|
347
|
+
* quay lại "Kiến" vào Tiết kế tiếp. Vì mỗi Tiết dài ~15 ngày (không chia hết cho
|
|
348
|
+
* chu kỳ 12 ngày của Trực), một số Trực sẽ bị lặp lại hoặc rút ngắn giữa 2 Tiết
|
|
349
|
+
* liên tiếp — đây là đặc tính vốn có của hệ Kiến Trừ truyền thống, không phải lỗi.
|
|
350
|
+
*
|
|
351
|
+
* Dùng `getSolarTermOccurrencesInYear` (dữ liệu thô, có cache theo năm+timeZone)
|
|
352
|
+
* thay vì `getSolarTermsInYear` công khai — tránh tính tên/locale không cần dùng
|
|
353
|
+
* tới, và tránh quét lại kinh độ Mặt Trời mỗi lần gọi khi hàm này được gọi lặp lại
|
|
354
|
+
* cho nhiều ngày cùng năm (vd. dựng lịch Trực cho cả tháng/năm).
|
|
355
|
+
*
|
|
356
|
+
* @param jd - Julian Day Number của ngày cần tra
|
|
357
|
+
* @param timeZone - Múi giờ (mặc định: 7 cho GMT+7 Việt Nam)
|
|
358
|
+
*/
|
|
359
|
+
declare function getTrucIndex(jd: number, timeZone?: number): number;
|
|
360
|
+
/**
|
|
361
|
+
* Lấy tên Trực theo index và locale.
|
|
362
|
+
*
|
|
363
|
+
* @param index - Index Trực (0-11, xem {@link getTrucIndex})
|
|
364
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
365
|
+
*/
|
|
366
|
+
declare function getTrucName(index: number, locale?: Locale): string;
|
|
367
|
+
/**
|
|
368
|
+
* Lấy tên Trực tại một ngày dương lịch (Julian Day Number).
|
|
369
|
+
*
|
|
370
|
+
* @param jd - Julian Day Number của ngày cần tra
|
|
371
|
+
* @param timeZone - Múi giờ (mặc định: 7 cho GMT+7 Việt Nam)
|
|
372
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
373
|
+
*/
|
|
374
|
+
declare function getTruc(jd: number, timeZone?: number, locale?: Locale): string;
|
|
375
|
+
/**
|
|
376
|
+
* Lấy index mức tốt/xấu (0-2) của một Trực — xem giải thích độ tin cậy ở
|
|
377
|
+
* {@link TRUC_QUALITY_INDEX}.
|
|
378
|
+
*
|
|
379
|
+
* @param trucIndex - Index Trực (0-11, xem {@link getTrucIndex})
|
|
380
|
+
*/
|
|
381
|
+
declare function getTrucQualityIndex(trucIndex: number): number;
|
|
382
|
+
/**
|
|
383
|
+
* Lấy tên mức tốt/xấu của một Trực theo locale (xem {@link getTrucQualityIndex}).
|
|
384
|
+
*
|
|
385
|
+
* @param trucIndex - Index Trực (0-11, xem {@link getTrucIndex})
|
|
386
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
387
|
+
*/
|
|
388
|
+
declare function getTrucQuality(trucIndex: number, locale?: Locale): string;
|
|
389
|
+
/**
|
|
390
|
+
* Lấy Chi đối xung (Lục Xung) với một Chi cho trước — 2 Chi cách nhau đúng 6 vị
|
|
391
|
+
* trí trong vòng tròn 12 Chi: Tý-Ngọ, Sửu-Mùi, Dần-Thân, Mão-Dậu, Thìn-Tuất, Tỵ-Hợi.
|
|
392
|
+
*
|
|
393
|
+
* @param branchIndex - Index Địa Chi (0-11, vào EARTHLY_BRANCHES)
|
|
394
|
+
* @returns Index Địa Chi đối xung
|
|
395
|
+
*/
|
|
396
|
+
declare function getXungBranchIndex(branchIndex: number): number;
|
|
397
|
+
/**
|
|
398
|
+
* Kiểm tra 2 Chi (tuổi) có phạm Lục Xung với nhau không.
|
|
399
|
+
*
|
|
400
|
+
* @param branchIndexA - Index Địa Chi thứ nhất (0-11)
|
|
401
|
+
* @param branchIndexB - Index Địa Chi thứ hai (0-11)
|
|
402
|
+
*/
|
|
403
|
+
declare function isXung(branchIndexA: number, branchIndexB: number): boolean;
|
|
404
|
+
/**
|
|
405
|
+
* Lấy Chi bị Lục Hại với một Chi cho trước (xem {@link HAI_BRANCH_TARGET}).
|
|
406
|
+
*
|
|
407
|
+
* @param branchIndex - Index Địa Chi (0-11, vào EARTHLY_BRANCHES)
|
|
408
|
+
* @returns Index Địa Chi bị hại
|
|
409
|
+
*/
|
|
410
|
+
declare function getHaiBranchIndex(branchIndex: number): number;
|
|
411
|
+
/**
|
|
412
|
+
* Kiểm tra 2 Chi (tuổi) có phạm Lục Hại với nhau không.
|
|
413
|
+
*
|
|
414
|
+
* @param branchIndexA - Index Địa Chi thứ nhất (0-11)
|
|
415
|
+
* @param branchIndexB - Index Địa Chi thứ hai (0-11)
|
|
416
|
+
*/
|
|
417
|
+
declare function isHai(branchIndexA: number, branchIndexB: number): boolean;
|
|
418
|
+
/**
|
|
419
|
+
* Lấy nhóm Tứ Hành Xung (0-2) chứa một Chi cho trước.
|
|
420
|
+
*
|
|
421
|
+
* @param branchIndex - Index Địa Chi (0-11, vào EARTHLY_BRANCHES)
|
|
422
|
+
* @returns Index nhóm (0-2, xem {@link getTuHanhXungGroupMembers})
|
|
423
|
+
*/
|
|
424
|
+
declare function getTuHanhXungGroupIndex(branchIndex: number): number;
|
|
425
|
+
/**
|
|
426
|
+
* Lấy 4 Chi thuộc cùng nhóm Tứ Hành Xung với một Chi cho trước (bao gồm cả chính nó).
|
|
427
|
+
*
|
|
428
|
+
* @param branchIndex - Index Địa Chi (0-11, vào EARTHLY_BRANCHES)
|
|
429
|
+
* @returns Mảng 4 index Địa Chi cùng nhóm
|
|
430
|
+
*/
|
|
431
|
+
declare function getTuHanhXungGroupMembers(branchIndex: number): number[];
|
|
432
|
+
/**
|
|
433
|
+
* Kiểm tra 2 Chi (tuổi) khác nhau có cùng nhóm Tứ Hành Xung không.
|
|
434
|
+
*
|
|
435
|
+
* @param branchIndexA - Index Địa Chi thứ nhất (0-11)
|
|
436
|
+
* @param branchIndexB - Index Địa Chi thứ hai (0-11)
|
|
437
|
+
*/
|
|
438
|
+
declare function isTuHanhXung(branchIndexA: number, branchIndexB: number): boolean;
|
|
439
|
+
/** Kết quả trả về của {@link getZodiacConflicts}. */
|
|
440
|
+
interface ZodiacConflicts {
|
|
441
|
+
xung: boolean;
|
|
442
|
+
hai: boolean;
|
|
443
|
+
tuHanhXung: boolean;
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Kiểm tra toàn bộ quan hệ "kỵ tuổi" (Lục Xung, Lục Hại, Tứ Hành Xung) giữa 2 tuổi
|
|
447
|
+
* (Chi năm sinh). Không loại trừ lẫn nhau — 1 cặp Chi có thể vừa Lục Xung vừa cùng
|
|
448
|
+
* nhóm Tứ Hành Xung (vd. Tý-Ngọ là cả 2).
|
|
449
|
+
*
|
|
450
|
+
* @param branchIndexA - Index Địa Chi (con giáp) thứ nhất (0-11)
|
|
451
|
+
* @param branchIndexB - Index Địa Chi (con giáp) thứ hai (0-11)
|
|
452
|
+
*
|
|
453
|
+
* @example
|
|
454
|
+
* ```typescript
|
|
455
|
+
* getZodiacConflicts(0, 6); // Tý (0) và Ngọ (6)
|
|
456
|
+
* // → { xung: true, hai: false, tuHanhXung: true }
|
|
457
|
+
* ```
|
|
458
|
+
*/
|
|
459
|
+
declare function getZodiacConflicts(branchIndexA: number, branchIndexB: number): ZodiacConflicts;
|
|
460
|
+
|
|
461
|
+
/** Kết quả trả về của {@link getYearDetails}. */
|
|
462
|
+
interface YearDetails {
|
|
463
|
+
can: string;
|
|
464
|
+
chi: string;
|
|
465
|
+
menh: string;
|
|
466
|
+
/** Index Ngũ Hành của `menh` (0-4, vào FIVE_ELEMENTS) — dùng cho `getElementRelation` (ngu-hanh.ts). */
|
|
467
|
+
menhIndex: number;
|
|
468
|
+
fullString: string;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Lấy ra chuỗi mô tả toàn bộ Can, Chi và Mệnh dựa vào số năm (Ví dụ: 2024)
|
|
472
|
+
* Theo quy ước: Năm 4 (sau CN) là năm Giáp Tý (Can index 0, Chi index 0)
|
|
473
|
+
*
|
|
474
|
+
* Công thức Can Chi là chu kỳ 60 năm lặp lại vô hạn nên nhận mọi số năm nguyên,
|
|
475
|
+
* kể cả năm 0 hoặc âm (trước Công Nguyên) — không giới hạn phạm vi như
|
|
476
|
+
* `LichTa.toLunar` (phạm vi đó là do thuật toán tìm Điểm Sóc, không áp
|
|
477
|
+
* dụng cho công thức Can Chi thuần).
|
|
478
|
+
*
|
|
479
|
+
* @param year - Năm (số nguyên bất kỳ, kể cả 0 hoặc âm)
|
|
480
|
+
*
|
|
481
|
+
* @example
|
|
482
|
+
* ```typescript
|
|
483
|
+
* getYearDetails(2024);
|
|
484
|
+
* // → { can: 'Giáp', chi: 'Thìn', menh: 'Hỏa', menhIndex: 3, fullString: 'Giáp Thìn - Mệnh Hỏa' }
|
|
485
|
+
* ```
|
|
486
|
+
*/
|
|
487
|
+
declare function getYearDetails(year: number): YearDetails;
|
|
122
488
|
/**
|
|
123
489
|
* Lấy danh sách 6 giờ Hoàng Đạo trong ngày.
|
|
124
490
|
* Giờ Hoàng Đạo phụ thuộc vào Địa Chi của ngày.
|
|
125
491
|
*
|
|
126
492
|
* @param dayJd - Julian Day Number của ngày
|
|
493
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi', giữ nguyên hành vi cũ)
|
|
127
494
|
* @returns Mảng 6 chuỗi tên Địa Chi (ví dụ: ["Tý", "Sửu", "Mão", "Ngọ", "Mùi", "Dậu"])
|
|
128
495
|
*/
|
|
129
|
-
declare function getAuspiciousHours(dayJd: number): string[];
|
|
496
|
+
declare function getAuspiciousHours(dayJd: number, locale?: Locale): string[];
|
|
497
|
+
/**
|
|
498
|
+
* Lấy index (0-11, theo thứ tự Địa Chi Tý→Hợi) của 6 giờ Hoàng Đạo trong ngày.
|
|
499
|
+
*
|
|
500
|
+
* Dùng khi cần một khoá ổn định, không phụ thuộc ngôn ngữ — ví dụ để map sang
|
|
501
|
+
* icon riêng, hoặc tự tra bảng dịch của bạn thay vì dùng chuỗi tên có sẵn từ
|
|
502
|
+
* {@link getAuspiciousHours}. Cả hai hàm dùng chung thứ tự dữ liệu nên
|
|
503
|
+
* `getAuspiciousHourIndices(jd)[i]` luôn tương ứng với `getAuspiciousHours(jd)[i]`.
|
|
504
|
+
*
|
|
505
|
+
* @param dayJd - Julian Day Number của ngày
|
|
506
|
+
* @returns Mảng 6 index Địa Chi (ví dụ: [0, 1, 3, 6, 7, 9])
|
|
507
|
+
*/
|
|
508
|
+
declare function getAuspiciousHourIndices(dayJd: number): number[];
|
|
509
|
+
/**
|
|
510
|
+
* Lấy index (0-11, theo thứ tự Địa Chi Tý→Hợi) của 6 giờ Hắc Đạo (giờ xấu) trong
|
|
511
|
+
* ngày — phần bù của {@link getAuspiciousHourIndices} trong 12 canh giờ (6 giờ
|
|
512
|
+
* Hoàng Đạo + 6 giờ Hắc Đạo = đủ 12 canh).
|
|
513
|
+
*
|
|
514
|
+
* @param dayJd - Julian Day Number của ngày
|
|
515
|
+
* @returns Mảng 6 index Địa Chi, tăng dần
|
|
516
|
+
*/
|
|
517
|
+
declare function getInauspiciousHourIndices(dayJd: number): number[];
|
|
518
|
+
/**
|
|
519
|
+
* Lấy danh sách 6 giờ Hắc Đạo (giờ xấu) trong ngày theo locale (xem
|
|
520
|
+
* {@link getInauspiciousHourIndices}).
|
|
521
|
+
*
|
|
522
|
+
* @param dayJd - Julian Day Number của ngày
|
|
523
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
524
|
+
* @returns Mảng 6 chuỗi tên Địa Chi
|
|
525
|
+
*/
|
|
526
|
+
declare function getInauspiciousHours(dayJd: number, locale?: Locale): string[];
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Lấy tên Tiết Khí theo index và locale.
|
|
530
|
+
*
|
|
531
|
+
* @param index - Index Tiết Khí (0-23, xem {@link getSolarTermIndex} trong astronomical.ts;
|
|
532
|
+
* 0 = Xuân Phân, 18 = Đông Chí, 21 = Lập Xuân, ...)
|
|
533
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
534
|
+
*/
|
|
535
|
+
declare function getSolarTermName(index: number, locale?: Locale): string;
|
|
536
|
+
/**
|
|
537
|
+
* Lấy Tiết Khí đang hiệu lực tại một ngày dương lịch cho trước.
|
|
538
|
+
*
|
|
539
|
+
* `getSolarTermIndex` (astronomical.ts) trả về kinh độ Mặt Trời tại thời điểm 00:00 (đầu
|
|
540
|
+
* ngày) của `jdn`. Theo quy ước almanac truyền thống, một ngày được tính là "ngày
|
|
541
|
+
* Tiết Khí X" nếu thời điểm chuyển Tiết Khí rơi vào bất kỳ lúc nào trong ngày đó —
|
|
542
|
+
* tức là dùng giá trị tại 00:00 của ngày **kế tiếp** mới phản ánh đúng Tiết Khí đã
|
|
543
|
+
* "chốt" cho ngày hiện tại. Vì vậy hàm này tra cứu tại `jd + 1`, không phải `jd`.
|
|
544
|
+
*
|
|
545
|
+
* @param day - Ngày dương lịch (1-31)
|
|
546
|
+
* @param month - Tháng dương lịch (1-12)
|
|
547
|
+
* @param year - Năm dương lịch
|
|
548
|
+
* @param timeZone - Múi giờ (mặc định: 7 cho GMT+7 Việt Nam)
|
|
549
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
550
|
+
*
|
|
551
|
+
* @example
|
|
552
|
+
* ```typescript
|
|
553
|
+
* getSolarTerm(21, 6, 2024);
|
|
554
|
+
* // → { index: 6, name: 'Hạ Chí', date: { day: 21, month: 6, year: 2024 }, jd: ... }
|
|
555
|
+
* ```
|
|
556
|
+
*/
|
|
557
|
+
declare function getSolarTerm(day: number, month: number, year: number, timeZone?: number, locale?: Locale): SolarTerm;
|
|
558
|
+
/**
|
|
559
|
+
* Liệt kê toàn bộ Tiết Khí bắt đầu trong một năm dương lịch (thường 24 hoặc 25 lần
|
|
560
|
+
* xuất hiện tùy năm, do các Tiết Khí không rơi đúng vào ranh giới năm).
|
|
561
|
+
*
|
|
562
|
+
* @param year - Năm dương lịch
|
|
563
|
+
* @param timeZone - Múi giờ (mặc định: 7 cho GMT+7 Việt Nam)
|
|
564
|
+
* @param locale - Ngôn ngữ hiển thị (mặc định: 'vi')
|
|
565
|
+
* @returns Mảng {@link SolarTerm} theo thứ tự thời gian tăng dần
|
|
566
|
+
*/
|
|
567
|
+
declare function getSolarTermsInYear(year: number, timeZone?: number, locale?: Locale): SolarTerm[];
|
|
130
568
|
|
|
131
569
|
/**
|
|
132
570
|
* Lấy tên tháng âm lịch dạng chữ truyền thống.
|
|
@@ -170,13 +608,14 @@ declare function getDayName(day: number): string;
|
|
|
170
608
|
* | `M` | Tháng | 1, 12 |
|
|
171
609
|
* | `yyyy`| Năm 4 chữ số | 2024 |
|
|
172
610
|
* | `yy` | Năm 2 chữ số cuối | 24 |
|
|
173
|
-
* | `L` |
|
|
611
|
+
* | `L` | Nhãn tháng nhuận theo `locale` (xem tham số `locale`), "" nếu không phải tháng nhuận | Nhuận |
|
|
174
612
|
* | `CC` | Can Chi năm | Giáp Thìn |
|
|
175
613
|
* | `DC` | Can Chi ngày | Giáp Tý |
|
|
176
614
|
* | `MC` | Can Chi tháng | Bính Dần |
|
|
177
615
|
*
|
|
178
616
|
* @param lunar - Đối tượng LunarDate
|
|
179
617
|
* @param pattern - Chuỗi pattern
|
|
618
|
+
* @param locale - Ngôn ngữ cho token `L` (mặc định: 'vi', giữ nguyên hành vi cũ — "Nhuận")
|
|
180
619
|
*
|
|
181
620
|
* @example
|
|
182
621
|
* ```typescript
|
|
@@ -187,7 +626,7 @@ declare function getDayName(day: number): string;
|
|
|
187
626
|
* // → "Ngày 1 tháng 1 năm Giáp Thìn"
|
|
188
627
|
* ```
|
|
189
628
|
*/
|
|
190
|
-
declare function formatLunarDate(lunar: LunarDate, pattern: string): string;
|
|
629
|
+
declare function formatLunarDate(lunar: LunarDate, pattern: string, locale?: Locale): string;
|
|
191
630
|
/**
|
|
192
631
|
* Format ngày âm lịch theo kiểu truyền thống Việt Nam.
|
|
193
632
|
*
|
|
@@ -202,64 +641,4 @@ declare function formatLunarDate(lunar: LunarDate, pattern: string): string;
|
|
|
202
641
|
*/
|
|
203
642
|
declare function formatTraditional(lunar: LunarDate): string;
|
|
204
643
|
|
|
205
|
-
|
|
206
|
-
* Internationalization — Hỗ trợ song ngữ Việt-Anh
|
|
207
|
-
*/
|
|
208
|
-
type Locale = 'vi' | 'en' | 'ja' | 'ko';
|
|
209
|
-
/**
|
|
210
|
-
* Lấy bộ dịch theo locale
|
|
211
|
-
* @param locale - Ngôn ngữ ('vi' | 'en' | 'ja' | 'ko')
|
|
212
|
-
*/
|
|
213
|
-
declare function t(locale: Locale): {
|
|
214
|
-
readonly heavenlyStems: readonly ["Giáp", "Ất", "Bính", "Đinh", "Mậu", "Kỷ", "Canh", "Tân", "Nhâm", "Quý"];
|
|
215
|
-
readonly earthlyBranches: readonly ["Tý", "Sửu", "Dần", "Mão", "Thìn", "Tỵ", "Ngọ", "Mùi", "Thân", "Dậu", "Tuất", "Hợi"];
|
|
216
|
-
readonly fiveElements: readonly ["Kim", "Mộc", "Thủy", "Hỏa", "Thổ"];
|
|
217
|
-
readonly zodiacAnimals: readonly ["Chuột", "Trâu", "Cọp", "Thỏ", "Rồng", "Rắn", "Ngựa", "Dê", "Khỉ", "Gà", "Chó", "Heo"];
|
|
218
|
-
readonly monthNames: readonly ["Giêng", "Hai", "Ba", "Tư", "Năm", "Sáu", "Bảy", "Tám", "Chín", "Mười", "Một", "Chạp"];
|
|
219
|
-
readonly weekDays: readonly ["CN", "T2", "T3", "T4", "T5", "T6", "T7"];
|
|
220
|
-
readonly leapLabel: "Nhuận";
|
|
221
|
-
readonly yearLabel: "Năm";
|
|
222
|
-
readonly monthLabel: "Tháng";
|
|
223
|
-
readonly destiny: "Mệnh";
|
|
224
|
-
} | {
|
|
225
|
-
readonly heavenlyStems: readonly ["Giáp", "Ất", "Bính", "Đinh", "Mậu", "Kỷ", "Canh", "Tân", "Nhâm", "Quý"];
|
|
226
|
-
readonly earthlyBranches: readonly ["Tý", "Sửu", "Dần", "Mão", "Thìn", "Tỵ", "Ngọ", "Mùi", "Thân", "Dậu", "Tuất", "Hợi"];
|
|
227
|
-
readonly fiveElements: readonly ["Metal", "Wood", "Water", "Fire", "Earth"];
|
|
228
|
-
readonly zodiacAnimals: readonly ["Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Goat", "Monkey", "Rooster", "Dog", "Pig"];
|
|
229
|
-
readonly monthNames: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
230
|
-
readonly weekDays: readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
|
231
|
-
readonly leapLabel: "Leap";
|
|
232
|
-
readonly yearLabel: "Year";
|
|
233
|
-
readonly monthLabel: "Month";
|
|
234
|
-
readonly destiny: "Destiny";
|
|
235
|
-
} | {
|
|
236
|
-
readonly heavenlyStems: readonly ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"];
|
|
237
|
-
readonly earthlyBranches: readonly ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"];
|
|
238
|
-
readonly fiveElements: readonly ["金", "木", "水", "火", "土"];
|
|
239
|
-
readonly zodiacAnimals: readonly ["鼠", "牛", "虎", "兎", "竜", "蛇", "馬", "羊", "猿", "鶏", "犬", "猪"];
|
|
240
|
-
readonly monthNames: readonly ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
|
|
241
|
-
readonly weekDays: readonly ["日", "月", "火", "水", "木", "金", "土"];
|
|
242
|
-
readonly leapLabel: "閏";
|
|
243
|
-
readonly yearLabel: "年";
|
|
244
|
-
readonly monthLabel: "月";
|
|
245
|
-
readonly destiny: "命";
|
|
246
|
-
} | {
|
|
247
|
-
readonly heavenlyStems: readonly ["갑", "을", "병", "정", "무", "기", "경", "신", "임", "계"];
|
|
248
|
-
readonly earthlyBranches: readonly ["자", "축", "인", "묘", "진", "사", "오", "미", "신", "유", "술", "해"];
|
|
249
|
-
readonly fiveElements: readonly ["금", "목", "수", "화", "토"];
|
|
250
|
-
readonly zodiacAnimals: readonly ["쥐", "소", "호랑이", "토끼", "용", "뱀", "말", "양", "원숭이", "닭", "개", "돼지"];
|
|
251
|
-
readonly monthNames: readonly ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"];
|
|
252
|
-
readonly weekDays: readonly ["일", "월", "화", "수", "목", "금", "토"];
|
|
253
|
-
readonly leapLabel: "윤";
|
|
254
|
-
readonly yearLabel: "년";
|
|
255
|
-
readonly monthLabel: "월";
|
|
256
|
-
readonly destiny: "명";
|
|
257
|
-
};
|
|
258
|
-
/**
|
|
259
|
-
* Lấy tên con giáp theo locale
|
|
260
|
-
* @param branchIndex - Index Địa Chi (0-11)
|
|
261
|
-
* @param locale - Ngôn ngữ
|
|
262
|
-
*/
|
|
263
|
-
declare function getZodiacAnimal(branchIndex: number, locale?: Locale): string;
|
|
264
|
-
|
|
265
|
-
export { LichTa, type Locale, type LunarDate, type SolarDate, formatLunarDate, formatTraditional, getAuspiciousHours, getDayCanChi, getDayName, getHourCanChi, getMonthCanChi, getMonthName, getYearDetails, getZodiacAnimal, jdFromDate, jdToDate, t };
|
|
644
|
+
export { type CalendarDayCell, type FirstDayOfWeek, LichTa, type Locale, type LunarDate, type SolarDate, type SolarTerm, type YearDetails, type ZodiacConflicts, formatLunarDate, formatTraditional, getAuspiciousHourIndices, getAuspiciousHours, getCalendarGrid, getDayCanChi, getDayElement, getDayElementIndex, getDayName, getElementName, getElementRelation, getElementRelationIndex, getHaiBranchIndex, getHourCanChi, getHourElement, getHourElementIndex, getISOWeekNumber, getInauspiciousHourIndices, getInauspiciousHours, getMonthCanChi, getMonthElement, getMonthElementIndex, getMonthName, getSolarTerm, getSolarTermName, getSolarTermsInYear, getTruc, getTrucIndex, getTrucName, getTrucQuality, getTrucQualityIndex, getTuHanhXungGroupIndex, getTuHanhXungGroupMembers, getWeekDayLabels, getXungBranchIndex, getYearDetails, getZodiacAnimal, getZodiacConflicts, isHai, isTuHanhXung, isXung, jdFromDate, jdToDate, t };
|