@intech-software/chronera 0.1.4 → 0.1.6

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.
Files changed (91) hide show
  1. package/dist/core/local-date.d.ts +1 -0
  2. package/dist/core/local-date.js +1 -0
  3. package/dist/core/local-date.js.map +1 -1
  4. package/dist/holidays/countries/ae.d.ts +6 -0
  5. package/dist/holidays/countries/ae.js +70 -0
  6. package/dist/holidays/countries/ae.js.map +1 -0
  7. package/dist/holidays/countries/au.d.ts +6 -0
  8. package/dist/holidays/countries/au.js +79 -0
  9. package/dist/holidays/countries/au.js.map +1 -0
  10. package/dist/holidays/countries/cn.d.ts +6 -0
  11. package/dist/holidays/countries/cn.js +57 -0
  12. package/dist/holidays/countries/cn.js.map +1 -0
  13. package/dist/holidays/countries/de.d.ts +6 -0
  14. package/dist/holidays/countries/de.js +81 -0
  15. package/dist/holidays/countries/de.js.map +1 -0
  16. package/dist/holidays/countries/fr.d.ts +6 -0
  17. package/dist/holidays/countries/fr.js +97 -0
  18. package/dist/holidays/countries/fr.js.map +1 -0
  19. package/dist/holidays/countries/gb.d.ts +6 -0
  20. package/dist/holidays/countries/gb.js +80 -0
  21. package/dist/holidays/countries/gb.js.map +1 -0
  22. package/dist/holidays/countries/hk.d.ts +6 -0
  23. package/dist/holidays/countries/hk.js +87 -0
  24. package/dist/holidays/countries/hk.js.map +1 -0
  25. package/dist/holidays/countries/in.d.ts +6 -0
  26. package/dist/holidays/countries/in.js +52 -0
  27. package/dist/holidays/countries/in.js.map +1 -0
  28. package/dist/holidays/countries/index.d.ts +18 -0
  29. package/dist/holidays/countries/index.js +34 -0
  30. package/dist/holidays/countries/index.js.map +1 -0
  31. package/dist/holidays/countries/ir.d.ts +7 -0
  32. package/dist/holidays/countries/ir.js +93 -0
  33. package/dist/holidays/countries/ir.js.map +1 -0
  34. package/dist/holidays/countries/jp.d.ts +6 -0
  35. package/dist/holidays/countries/jp.js +140 -0
  36. package/dist/holidays/countries/jp.js.map +1 -0
  37. package/dist/holidays/countries/sa.d.ts +7 -0
  38. package/dist/holidays/countries/sa.js +56 -0
  39. package/dist/holidays/countries/sa.js.map +1 -0
  40. package/dist/holidays/countries/sg.d.ts +6 -0
  41. package/dist/holidays/countries/sg.js +71 -0
  42. package/dist/holidays/countries/sg.js.map +1 -0
  43. package/dist/holidays/countries/th.d.ts +6 -0
  44. package/dist/holidays/countries/th.js +151 -0
  45. package/dist/holidays/countries/th.js.map +1 -0
  46. package/dist/holidays/countries/tw.d.ts +6 -0
  47. package/dist/holidays/countries/tw.js +57 -0
  48. package/dist/holidays/countries/tw.js.map +1 -0
  49. package/dist/holidays/countries/us.d.ts +6 -0
  50. package/dist/holidays/countries/us.js +112 -0
  51. package/dist/holidays/countries/us.js.map +1 -0
  52. package/dist/holidays/easter.d.ts +23 -0
  53. package/dist/holidays/easter.js +49 -0
  54. package/dist/holidays/easter.js.map +1 -0
  55. package/dist/holidays/index.d.ts +5 -0
  56. package/dist/holidays/index.js +6 -0
  57. package/dist/holidays/index.js.map +1 -0
  58. package/dist/holidays/registry.d.ts +14 -0
  59. package/dist/holidays/registry.js +79 -0
  60. package/dist/holidays/registry.js.map +1 -0
  61. package/dist/holidays/rules/easter-rule.d.ts +5 -0
  62. package/dist/holidays/rules/easter-rule.js +26 -0
  63. package/dist/holidays/rules/easter-rule.js.map +1 -0
  64. package/dist/holidays/rules/fixed-rule.d.ts +5 -0
  65. package/dist/holidays/rules/fixed-rule.js +72 -0
  66. package/dist/holidays/rules/fixed-rule.js.map +1 -0
  67. package/dist/holidays/rules/floating-rule.d.ts +6 -0
  68. package/dist/holidays/rules/floating-rule.js +53 -0
  69. package/dist/holidays/rules/floating-rule.js.map +1 -0
  70. package/dist/holidays/rules/hijri-rule.d.ts +6 -0
  71. package/dist/holidays/rules/hijri-rule.js +44 -0
  72. package/dist/holidays/rules/hijri-rule.js.map +1 -0
  73. package/dist/holidays/rules/index.d.ts +9 -0
  74. package/dist/holidays/rules/index.js +26 -0
  75. package/dist/holidays/rules/index.js.map +1 -0
  76. package/dist/holidays/types.d.ts +106 -0
  77. package/dist/holidays/types.js +2 -0
  78. package/dist/holidays/types.js.map +1 -0
  79. package/dist/index.d.ts +8 -2
  80. package/dist/index.js +5 -2
  81. package/dist/index.js.map +1 -1
  82. package/dist/operations/business-days.d.ts +30 -14
  83. package/dist/operations/business-days.js +115 -37
  84. package/dist/operations/business-days.js.map +1 -1
  85. package/dist/operations/business-hours.d.ts +137 -0
  86. package/dist/operations/business-hours.js +488 -0
  87. package/dist/operations/business-hours.js.map +1 -0
  88. package/dist/operations/holidays.d.ts +15 -0
  89. package/dist/operations/holidays.js +36 -0
  90. package/dist/operations/holidays.js.map +1 -0
  91. package/package.json +10 -1
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Official General Holidays for Hong Kong 🇭🇰
3
+ * 香港公眾假期 (General Holidays Ordinance).
4
+ */
5
+ export const hongKongHolidays = {
6
+ country: "HK",
7
+ countryName: "Hong Kong",
8
+ defaultWeekendDays: [6, 7],
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "hk-new-year",
13
+ month: 1,
14
+ day: 1,
15
+ name: "一月一日 (元旦)",
16
+ nameEn: "The first day of January",
17
+ observed: "sunday-to-monday",
18
+ },
19
+ {
20
+ type: "easter",
21
+ id: "hk-good-friday",
22
+ offsetDays: -2,
23
+ name: "耶穌受難節",
24
+ nameEn: "Good Friday",
25
+ },
26
+ {
27
+ type: "easter",
28
+ id: "hk-holy-saturday",
29
+ offsetDays: -1,
30
+ name: "耶穌受難節翌日",
31
+ nameEn: "The day following Good Friday",
32
+ },
33
+ {
34
+ type: "easter",
35
+ id: "hk-easter-monday",
36
+ offsetDays: 1,
37
+ name: "復活節星期一",
38
+ nameEn: "Easter Monday",
39
+ },
40
+ {
41
+ type: "fixed",
42
+ id: "hk-labour-day",
43
+ month: 5,
44
+ day: 1,
45
+ name: "勞動節",
46
+ nameEn: "Labour Day",
47
+ observed: "sunday-to-monday",
48
+ },
49
+ {
50
+ type: "fixed",
51
+ id: "hk-hksar-day",
52
+ month: 7,
53
+ day: 1,
54
+ name: "香港特別行政區成立紀念日",
55
+ nameEn: "Hong Kong Special Administrative Region Establishment Day",
56
+ observed: "sunday-to-monday",
57
+ },
58
+ {
59
+ type: "fixed",
60
+ id: "hk-national-day",
61
+ month: 10,
62
+ day: 1,
63
+ name: "國慶日",
64
+ nameEn: "National Day",
65
+ observed: "sunday-to-monday",
66
+ },
67
+ {
68
+ type: "fixed",
69
+ id: "hk-christmas",
70
+ month: 12,
71
+ day: 25,
72
+ name: "聖誕節",
73
+ nameEn: "Christmas Day",
74
+ observed: "sunday-to-monday",
75
+ },
76
+ {
77
+ type: "fixed",
78
+ id: "hk-boxing-day",
79
+ month: 12,
80
+ day: 26,
81
+ name: "聖誕節後第一個周日",
82
+ nameEn: "Boxing Day",
83
+ observed: "sunday-to-monday",
84
+ },
85
+ ],
86
+ };
87
+ //# sourceMappingURL=hk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hk.js","sourceRoot":"","sources":["../../../src/holidays/countries/hk.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,WAAW;IACxB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,gBAAgB;YACpB,UAAU,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,aAAa;SACtB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,kBAAkB;YACtB,UAAU,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,+BAA+B;SACxC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,kBAAkB;YACtB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,2DAA2D;YACnE,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,kBAAkB;SAC7B;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official General Holidays for Hong Kong 🇭🇰\n * 香港公眾假期 (General Holidays Ordinance).\n */\nexport const hongKongHolidays: HolidayCalendar = {\n country: \"HK\",\n countryName: \"Hong Kong\",\n defaultWeekendDays: [6, 7],\n rules: [\n {\n type: \"fixed\",\n id: \"hk-new-year\",\n month: 1,\n day: 1,\n name: \"一月一日 (元旦)\",\n nameEn: \"The first day of January\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"easter\",\n id: \"hk-good-friday\",\n offsetDays: -2,\n name: \"耶穌受難節\",\n nameEn: \"Good Friday\",\n },\n {\n type: \"easter\",\n id: \"hk-holy-saturday\",\n offsetDays: -1,\n name: \"耶穌受難節翌日\",\n nameEn: \"The day following Good Friday\",\n },\n {\n type: \"easter\",\n id: \"hk-easter-monday\",\n offsetDays: 1,\n name: \"復活節星期一\",\n nameEn: \"Easter Monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-labour-day\",\n month: 5,\n day: 1,\n name: \"勞動節\",\n nameEn: \"Labour Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-hksar-day\",\n month: 7,\n day: 1,\n name: \"香港特別行政區成立紀念日\",\n nameEn: \"Hong Kong Special Administrative Region Establishment Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-national-day\",\n month: 10,\n day: 1,\n name: \"國慶日\",\n nameEn: \"National Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-christmas\",\n month: 12,\n day: 25,\n name: \"聖誕節\",\n nameEn: \"Christmas Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"hk-boxing-day\",\n month: 12,\n day: 26,\n name: \"聖誕節後第一個周日\",\n nameEn: \"Boxing Day\",\n observed: \"sunday-to-monday\",\n },\n ],\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Public Holidays for India 🇮🇳
4
+ * Includes the 3 mandatory national gazetted holidays.
5
+ */
6
+ export declare const indiaHolidays: HolidayCalendar;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Official Public Holidays for India 🇮🇳
3
+ * Includes the 3 mandatory national gazetted holidays.
4
+ */
5
+ export const indiaHolidays = {
6
+ country: "IN",
7
+ countryName: "India",
8
+ defaultWeekendDays: [6, 7],
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "in-republic-day",
13
+ month: 1,
14
+ day: 26,
15
+ name: "गणतंत्र दिवस",
16
+ nameEn: "Republic Day",
17
+ },
18
+ {
19
+ type: "fixed",
20
+ id: "in-may-day",
21
+ month: 5,
22
+ day: 1,
23
+ name: "मई दिवस / मजदूर दिवस",
24
+ nameEn: "May Day / Labour Day",
25
+ },
26
+ {
27
+ type: "fixed",
28
+ id: "in-independence-day",
29
+ month: 8,
30
+ day: 15,
31
+ name: "स्वतंत्रता दिवस",
32
+ nameEn: "Independence Day",
33
+ },
34
+ {
35
+ type: "fixed",
36
+ id: "in-gandhi-jayanti",
37
+ month: 10,
38
+ day: 2,
39
+ name: "गांधी जयंती",
40
+ nameEn: "Mahatma Gandhi Jayanti",
41
+ },
42
+ {
43
+ type: "fixed",
44
+ id: "in-christmas",
45
+ month: 12,
46
+ day: 25,
47
+ name: "क्रिसमस",
48
+ nameEn: "Christmas Day",
49
+ },
50
+ ],
51
+ };
52
+ //# sourceMappingURL=in.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in.js","sourceRoot":"","sources":["../../../src/holidays/countries/in.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,OAAO;IACpB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,sBAAsB;SAC/B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,qBAAqB;YACzB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,kBAAkB;SAC3B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,wBAAwB;SACjC;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,eAAe;SACxB;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Public Holidays for India 🇮🇳\n * Includes the 3 mandatory national gazetted holidays.\n */\nexport const indiaHolidays: HolidayCalendar = {\n country: \"IN\",\n countryName: \"India\",\n defaultWeekendDays: [6, 7],\n rules: [\n {\n type: \"fixed\",\n id: \"in-republic-day\",\n month: 1,\n day: 26,\n name: \"गणतंत्र दिवस\",\n nameEn: \"Republic Day\",\n },\n {\n type: \"fixed\",\n id: \"in-may-day\",\n month: 5,\n day: 1,\n name: \"मई दिवस / मजदूर दिवस\",\n nameEn: \"May Day / Labour Day\",\n },\n {\n type: \"fixed\",\n id: \"in-independence-day\",\n month: 8,\n day: 15,\n name: \"स्वतंत्रता दिवस\",\n nameEn: \"Independence Day\",\n },\n {\n type: \"fixed\",\n id: \"in-gandhi-jayanti\",\n month: 10,\n day: 2,\n name: \"गांधी जयंती\",\n nameEn: \"Mahatma Gandhi Jayanti\",\n },\n {\n type: \"fixed\",\n id: \"in-christmas\",\n month: 12,\n day: 25,\n name: \"क्रिसमस\",\n nameEn: \"Christmas Day\",\n },\n ],\n};\n"]}
@@ -0,0 +1,18 @@
1
+ import { thailandHolidays } from "./th.js";
2
+ import { japanHolidays } from "./jp.js";
3
+ import { saudiArabiaHolidays } from "./sa.js";
4
+ import { uaeHolidays } from "./ae.js";
5
+ import { iranHolidays } from "./ir.js";
6
+ import { taiwanHolidays } from "./tw.js";
7
+ import { indiaHolidays } from "./in.js";
8
+ import { singaporeHolidays } from "./sg.js";
9
+ import { unitedStatesHolidays } from "./us.js";
10
+ import { unitedKingdomHolidays } from "./gb.js";
11
+ import { germanyHolidays } from "./de.js";
12
+ import { franceHolidays } from "./fr.js";
13
+ import { australiaHolidays } from "./au.js";
14
+ import { chinaHolidays } from "./cn.js";
15
+ import { hongKongHolidays } from "./hk.js";
16
+ import type { CountryCode, HolidayCalendar } from "../types.js";
17
+ export declare const BUILT_IN_HOLIDAYS: Record<CountryCode, HolidayCalendar>;
18
+ export { thailandHolidays, japanHolidays, saudiArabiaHolidays, uaeHolidays, iranHolidays, taiwanHolidays, indiaHolidays, singaporeHolidays, unitedStatesHolidays, unitedKingdomHolidays, germanyHolidays, franceHolidays, australiaHolidays, chinaHolidays, hongKongHolidays, };
@@ -0,0 +1,34 @@
1
+ import { thailandHolidays } from "./th.js";
2
+ import { japanHolidays } from "./jp.js";
3
+ import { saudiArabiaHolidays } from "./sa.js";
4
+ import { uaeHolidays } from "./ae.js";
5
+ import { iranHolidays } from "./ir.js";
6
+ import { taiwanHolidays } from "./tw.js";
7
+ import { indiaHolidays } from "./in.js";
8
+ import { singaporeHolidays } from "./sg.js";
9
+ import { unitedStatesHolidays } from "./us.js";
10
+ import { unitedKingdomHolidays } from "./gb.js";
11
+ import { germanyHolidays } from "./de.js";
12
+ import { franceHolidays } from "./fr.js";
13
+ import { australiaHolidays } from "./au.js";
14
+ import { chinaHolidays } from "./cn.js";
15
+ import { hongKongHolidays } from "./hk.js";
16
+ export const BUILT_IN_HOLIDAYS = {
17
+ TH: thailandHolidays,
18
+ JP: japanHolidays,
19
+ SA: saudiArabiaHolidays,
20
+ AE: uaeHolidays,
21
+ IR: iranHolidays,
22
+ TW: taiwanHolidays,
23
+ IN: indiaHolidays,
24
+ SG: singaporeHolidays,
25
+ US: unitedStatesHolidays,
26
+ GB: unitedKingdomHolidays,
27
+ DE: germanyHolidays,
28
+ FR: franceHolidays,
29
+ AU: australiaHolidays,
30
+ CN: chinaHolidays,
31
+ HK: hongKongHolidays,
32
+ };
33
+ export { thailandHolidays, japanHolidays, saudiArabiaHolidays, uaeHolidays, iranHolidays, taiwanHolidays, indiaHolidays, singaporeHolidays, unitedStatesHolidays, unitedKingdomHolidays, germanyHolidays, franceHolidays, australiaHolidays, chinaHolidays, hongKongHolidays, };
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/holidays/countries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI3C,MAAM,CAAC,MAAM,iBAAiB,GAAyC;IACrE,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,qBAAqB;IACzB,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEF,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,GACjB,CAAC","sourcesContent":["import { thailandHolidays } from \"./th.js\";\nimport { japanHolidays } from \"./jp.js\";\nimport { saudiArabiaHolidays } from \"./sa.js\";\nimport { uaeHolidays } from \"./ae.js\";\nimport { iranHolidays } from \"./ir.js\";\nimport { taiwanHolidays } from \"./tw.js\";\nimport { indiaHolidays } from \"./in.js\";\nimport { singaporeHolidays } from \"./sg.js\";\nimport { unitedStatesHolidays } from \"./us.js\";\nimport { unitedKingdomHolidays } from \"./gb.js\";\nimport { germanyHolidays } from \"./de.js\";\nimport { franceHolidays } from \"./fr.js\";\nimport { australiaHolidays } from \"./au.js\";\nimport { chinaHolidays } from \"./cn.js\";\nimport { hongKongHolidays } from \"./hk.js\";\n\nimport type { CountryCode, HolidayCalendar } from \"../types.js\";\n\nexport const BUILT_IN_HOLIDAYS: Record<CountryCode, HolidayCalendar> = {\n TH: thailandHolidays,\n JP: japanHolidays,\n SA: saudiArabiaHolidays,\n AE: uaeHolidays,\n IR: iranHolidays,\n TW: taiwanHolidays,\n IN: indiaHolidays,\n SG: singaporeHolidays,\n US: unitedStatesHolidays,\n GB: unitedKingdomHolidays,\n DE: germanyHolidays,\n FR: franceHolidays,\n AU: australiaHolidays,\n CN: chinaHolidays,\n HK: hongKongHolidays,\n};\n\nexport {\n thailandHolidays,\n japanHolidays,\n saudiArabiaHolidays,\n uaeHolidays,\n iranHolidays,\n taiwanHolidays,\n indiaHolidays,\n singaporeHolidays,\n unitedStatesHolidays,\n unitedKingdomHolidays,\n germanyHolidays,\n franceHolidays,\n australiaHolidays,\n chinaHolidays,\n hongKongHolidays,\n};\n"]}
@@ -0,0 +1,7 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Public Holidays for Iran 🇮🇷
4
+ * Persian Solar Hijri (Nowruz) & Islamic statutory holidays.
5
+ * Legal weekend: Thursday (4) & Friday (5).
6
+ */
7
+ export declare const iranHolidays: HolidayCalendar;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Official Public Holidays for Iran 🇮🇷
3
+ * Persian Solar Hijri (Nowruz) & Islamic statutory holidays.
4
+ * Legal weekend: Thursday (4) & Friday (5).
5
+ */
6
+ export const iranHolidays = {
7
+ country: "IR",
8
+ countryName: "Iran",
9
+ defaultWeekendDays: [4, 5], // Thursday, Friday
10
+ rules: [
11
+ {
12
+ type: "fixed",
13
+ id: "ir-nowruz-1",
14
+ month: 3,
15
+ day: 21, // 1 Farvardin
16
+ name: "جشن نوروز",
17
+ nameEn: "Nowruz Day 1",
18
+ },
19
+ {
20
+ type: "fixed",
21
+ id: "ir-nowruz-2",
22
+ month: 3,
23
+ day: 22, // 2 Farvardin
24
+ name: "جشن نوروز",
25
+ nameEn: "Nowruz Day 2",
26
+ },
27
+ {
28
+ type: "fixed",
29
+ id: "ir-nowruz-3",
30
+ month: 3,
31
+ day: 23, // 3 Farvardin
32
+ name: "جشن نوروز",
33
+ nameEn: "Nowruz Day 3",
34
+ },
35
+ {
36
+ type: "fixed",
37
+ id: "ir-nowruz-4",
38
+ month: 3,
39
+ day: 24, // 4 Farvardin
40
+ name: "جشن نوروز",
41
+ nameEn: "Nowruz Day 4",
42
+ },
43
+ {
44
+ type: "fixed",
45
+ id: "ir-islamic-republic-day",
46
+ month: 4,
47
+ day: 1, // 12 Farvardin
48
+ name: "روز جمهوری اسلامی",
49
+ nameEn: "Islamic Republic Day",
50
+ },
51
+ {
52
+ type: "fixed",
53
+ id: "ir-nature-day",
54
+ month: 4,
55
+ day: 2, // 13 Farvardin
56
+ name: "روز طبیعت / سیزده‌بدر",
57
+ nameEn: "Nature Day (Sizdah Bedar)",
58
+ },
59
+ {
60
+ type: "fixed",
61
+ id: "ir-khomeini-demise",
62
+ month: 6,
63
+ day: 4, // 14 Khordad
64
+ name: "رحلت امام خمینی",
65
+ nameEn: "Demise of Imam Khomeini",
66
+ },
67
+ {
68
+ type: "fixed",
69
+ id: "ir-khordad-revolt",
70
+ month: 6,
71
+ day: 5, // 15 Khordad
72
+ name: "قیام ۱۵ خرداد",
73
+ nameEn: "Revolt of Khordad 15",
74
+ },
75
+ {
76
+ type: "fixed",
77
+ id: "ir-revolution-day",
78
+ month: 2,
79
+ day: 11, // 22 Bahman
80
+ name: "پیروزی انقلاب اسلامی",
81
+ nameEn: "Islamic Revolution Day",
82
+ },
83
+ {
84
+ type: "fixed",
85
+ id: "ir-oil-nationalization",
86
+ month: 3,
87
+ day: 19, // 29 Esfand
88
+ name: "روز ملی شدن صنعت نفت",
89
+ nameEn: "Oil Nationalization Day",
90
+ },
91
+ ],
92
+ };
93
+ //# sourceMappingURL=ir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ir.js","sourceRoot":"","sources":["../../../src/holidays/countries/ir.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB;IAC/C,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;SACvB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,EAAE,eAAe;YACvB,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,sBAAsB;SAC/B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,EAAE,eAAe;YACvB,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,oBAAoB;YACxB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,EAAE,aAAa;YACrB,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,yBAAyB;SAClC;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,EAAE,aAAa;YACrB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,sBAAsB;SAC/B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,YAAY;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,wBAAwB;SACjC;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE,EAAE,YAAY;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,yBAAyB;SAClC;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Public Holidays for Iran 🇮🇷\n * Persian Solar Hijri (Nowruz) & Islamic statutory holidays.\n * Legal weekend: Thursday (4) & Friday (5).\n */\nexport const iranHolidays: HolidayCalendar = {\n country: \"IR\",\n countryName: \"Iran\",\n defaultWeekendDays: [4, 5], // Thursday, Friday\n rules: [\n {\n type: \"fixed\",\n id: \"ir-nowruz-1\",\n month: 3,\n day: 21, // 1 Farvardin\n name: \"جشن نوروز\",\n nameEn: \"Nowruz Day 1\",\n },\n {\n type: \"fixed\",\n id: \"ir-nowruz-2\",\n month: 3,\n day: 22, // 2 Farvardin\n name: \"جشن نوروز\",\n nameEn: \"Nowruz Day 2\",\n },\n {\n type: \"fixed\",\n id: \"ir-nowruz-3\",\n month: 3,\n day: 23, // 3 Farvardin\n name: \"جشن نوروز\",\n nameEn: \"Nowruz Day 3\",\n },\n {\n type: \"fixed\",\n id: \"ir-nowruz-4\",\n month: 3,\n day: 24, // 4 Farvardin\n name: \"جشن نوروز\",\n nameEn: \"Nowruz Day 4\",\n },\n {\n type: \"fixed\",\n id: \"ir-islamic-republic-day\",\n month: 4,\n day: 1, // 12 Farvardin\n name: \"روز جمهوری اسلامی\",\n nameEn: \"Islamic Republic Day\",\n },\n {\n type: \"fixed\",\n id: \"ir-nature-day\",\n month: 4,\n day: 2, // 13 Farvardin\n name: \"روز طبیعت / سیزده‌بدر\",\n nameEn: \"Nature Day (Sizdah Bedar)\",\n },\n {\n type: \"fixed\",\n id: \"ir-khomeini-demise\",\n month: 6,\n day: 4, // 14 Khordad\n name: \"رحلت امام خمینی\",\n nameEn: \"Demise of Imam Khomeini\",\n },\n {\n type: \"fixed\",\n id: \"ir-khordad-revolt\",\n month: 6,\n day: 5, // 15 Khordad\n name: \"قیام ۱۵ خرداد\",\n nameEn: \"Revolt of Khordad 15\",\n },\n {\n type: \"fixed\",\n id: \"ir-revolution-day\",\n month: 2,\n day: 11, // 22 Bahman\n name: \"پیروزی انقلاب اسلامی\",\n nameEn: \"Islamic Revolution Day\",\n },\n {\n type: \"fixed\",\n id: \"ir-oil-nationalization\",\n month: 3,\n day: 19, // 29 Esfand\n name: \"روز ملی شدن صنعت نفت\",\n nameEn: \"Oil Nationalization Day\",\n },\n ],\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Public Holidays for Japan 🇯🇵
4
+ * Enforces Golden Week, Happy Monday System, and Sunday-to-Monday substitution (振替休日).
5
+ */
6
+ export declare const japanHolidays: HolidayCalendar;
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Official Public Holidays for Japan 🇯🇵
3
+ * Enforces Golden Week, Happy Monday System, and Sunday-to-Monday substitution (振替休日).
4
+ */
5
+ export const japanHolidays = {
6
+ country: "JP",
7
+ countryName: "Japan",
8
+ defaultWeekendDays: [6, 7], // Saturday, Sunday
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "jp-new-year",
13
+ month: 1,
14
+ day: 1,
15
+ name: "元日",
16
+ nameEn: "New Year's Day",
17
+ observed: "sunday-to-monday",
18
+ },
19
+ {
20
+ type: "floating",
21
+ id: "jp-coming-of-age",
22
+ month: 1,
23
+ weekday: 1, // Monday
24
+ occurrence: 2, // 2nd Monday
25
+ name: "成人の日",
26
+ nameEn: "Coming of Age Day",
27
+ },
28
+ {
29
+ type: "fixed",
30
+ id: "jp-national-foundation",
31
+ month: 2,
32
+ day: 11,
33
+ name: "建国記念の日",
34
+ nameEn: "National Foundation Day",
35
+ observed: "sunday-to-monday",
36
+ },
37
+ {
38
+ type: "fixed",
39
+ id: "jp-emperor-birthday",
40
+ month: 2,
41
+ day: 23,
42
+ name: "天皇誕生日",
43
+ nameEn: "The Emperor's Birthday",
44
+ observed: "sunday-to-monday",
45
+ validFromYear: 2020,
46
+ },
47
+ {
48
+ type: "fixed",
49
+ id: "jp-showa-day",
50
+ month: 4,
51
+ day: 29,
52
+ name: "昭和の日",
53
+ nameEn: "Showa Day",
54
+ observed: "sunday-to-monday",
55
+ },
56
+ {
57
+ type: "fixed",
58
+ id: "jp-constitution-memorial",
59
+ month: 5,
60
+ day: 3,
61
+ name: "憲法記念日",
62
+ nameEn: "Constitution Memorial Day",
63
+ observed: "sunday-to-monday",
64
+ },
65
+ {
66
+ type: "fixed",
67
+ id: "jp-greenery-day",
68
+ month: 5,
69
+ day: 4,
70
+ name: "みどりの日",
71
+ nameEn: "Greenery Day",
72
+ observed: "sunday-to-monday",
73
+ },
74
+ {
75
+ type: "fixed",
76
+ id: "jp-childrens-day",
77
+ month: 5,
78
+ day: 5,
79
+ name: "こどもの日",
80
+ nameEn: "Children's Day",
81
+ observed: "sunday-to-monday",
82
+ },
83
+ {
84
+ type: "floating",
85
+ id: "jp-marine-day",
86
+ month: 7,
87
+ weekday: 1,
88
+ occurrence: 3, // 3rd Monday
89
+ name: "海の日",
90
+ nameEn: "Marine Day",
91
+ },
92
+ {
93
+ type: "fixed",
94
+ id: "jp-mountain-day",
95
+ month: 8,
96
+ day: 11,
97
+ name: "山の日",
98
+ nameEn: "Mountain Day",
99
+ observed: "sunday-to-monday",
100
+ validFromYear: 2016,
101
+ },
102
+ {
103
+ type: "floating",
104
+ id: "jp-respect-for-aged",
105
+ month: 9,
106
+ weekday: 1,
107
+ occurrence: 3, // 3rd Monday
108
+ name: "敬老の日",
109
+ nameEn: "Respect for the Aged Day",
110
+ },
111
+ {
112
+ type: "floating",
113
+ id: "jp-sports-day",
114
+ month: 10,
115
+ weekday: 1,
116
+ occurrence: 2, // 2nd Monday
117
+ name: "スポーツの日",
118
+ nameEn: "Sports Day",
119
+ },
120
+ {
121
+ type: "fixed",
122
+ id: "jp-culture-day",
123
+ month: 11,
124
+ day: 3,
125
+ name: "文化の日",
126
+ nameEn: "Culture Day",
127
+ observed: "sunday-to-monday",
128
+ },
129
+ {
130
+ type: "fixed",
131
+ id: "jp-labor-thanksgiving",
132
+ month: 11,
133
+ day: 23,
134
+ name: "勤労感謝の日",
135
+ nameEn: "Labor Thanksgiving Day",
136
+ observed: "sunday-to-monday",
137
+ },
138
+ ],
139
+ };
140
+ //# sourceMappingURL=jp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jp.js","sourceRoot":"","sources":["../../../src/holidays/countries/jp.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Public Holidays for Japan 🇯🇵\n * Enforces Golden Week, Happy Monday System, and Sunday-to-Monday substitution (振替休日).\n */\nexport const japanHolidays: HolidayCalendar = {\n country: \"JP\",\n countryName: \"Japan\",\n defaultWeekendDays: [6, 7], // Saturday, Sunday\n rules: [\n {\n type: \"fixed\",\n id: \"jp-new-year\",\n month: 1,\n day: 1,\n name: \"元日\",\n nameEn: \"New Year's Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"floating\",\n id: \"jp-coming-of-age\",\n month: 1,\n weekday: 1, // Monday\n occurrence: 2, // 2nd Monday\n name: \"成人の日\",\n nameEn: \"Coming of Age Day\",\n },\n {\n type: \"fixed\",\n id: \"jp-national-foundation\",\n month: 2,\n day: 11,\n name: \"建国記念の日\",\n nameEn: \"National Foundation Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"jp-emperor-birthday\",\n month: 2,\n day: 23,\n name: \"天皇誕生日\",\n nameEn: \"The Emperor's Birthday\",\n observed: \"sunday-to-monday\",\n validFromYear: 2020,\n },\n {\n type: \"fixed\",\n id: \"jp-showa-day\",\n month: 4,\n day: 29,\n name: \"昭和の日\",\n nameEn: \"Showa Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"jp-constitution-memorial\",\n month: 5,\n day: 3,\n name: \"憲法記念日\",\n nameEn: \"Constitution Memorial Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"jp-greenery-day\",\n month: 5,\n day: 4,\n name: \"みどりの日\",\n nameEn: \"Greenery Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"jp-childrens-day\",\n month: 5,\n day: 5,\n name: \"こどもの日\",\n nameEn: \"Children's Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"floating\",\n id: \"jp-marine-day\",\n month: 7,\n weekday: 1,\n occurrence: 3, // 3rd Monday\n name: \"海の日\",\n nameEn: \"Marine Day\",\n },\n {\n type: \"fixed\",\n id: \"jp-mountain-day\",\n month: 8,\n day: 11,\n name: \"山の日\",\n nameEn: \"Mountain Day\",\n observed: \"sunday-to-monday\",\n validFromYear: 2016,\n },\n {\n type: \"floating\",\n id: \"jp-respect-for-aged\",\n month: 9,\n weekday: 1,\n occurrence: 3, // 3rd Monday\n name: \"敬老の日\",\n nameEn: \"Respect for the Aged Day\",\n },\n {\n type: \"floating\",\n id: \"jp-sports-day\",\n month: 10,\n weekday: 1,\n occurrence: 2, // 2nd Monday\n name: \"スポーツの日\",\n nameEn: \"Sports Day\",\n },\n {\n type: \"fixed\",\n id: \"jp-culture-day\",\n month: 11,\n day: 3,\n name: \"文化の日\",\n nameEn: \"Culture Day\",\n observed: \"sunday-to-monday\",\n },\n {\n type: \"fixed\",\n id: \"jp-labor-thanksgiving\",\n month: 11,\n day: 23,\n name: \"勤労感謝の日\",\n nameEn: \"Labor Thanksgiving Day\",\n observed: \"sunday-to-monday\",\n },\n ],\n};\n"]}
@@ -0,0 +1,7 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Public Holidays for the Kingdom of Saudi Arabia 🇸🇦
4
+ * Evaluated with native Chronera Islamic Hijri adapters.
5
+ * Default weekend: Friday & Saturday.
6
+ */
7
+ export declare const saudiArabiaHolidays: HolidayCalendar;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Official Public Holidays for the Kingdom of Saudi Arabia 🇸🇦
3
+ * Evaluated with native Chronera Islamic Hijri adapters.
4
+ * Default weekend: Friday & Saturday.
5
+ */
6
+ export const saudiArabiaHolidays = {
7
+ country: "SA",
8
+ countryName: "Saudi Arabia",
9
+ defaultWeekendDays: [5, 6], // Friday, Saturday
10
+ rules: [
11
+ {
12
+ type: "fixed",
13
+ id: "sa-founding-day",
14
+ month: 2,
15
+ day: 22,
16
+ name: "يوم التأسيس",
17
+ nameEn: "Founding Day",
18
+ validFromYear: 2022,
19
+ },
20
+ {
21
+ type: "fixed",
22
+ id: "sa-national-day",
23
+ month: 9,
24
+ day: 23,
25
+ name: "اليوم الوطني",
26
+ nameEn: "Saudi National Day",
27
+ },
28
+ {
29
+ type: "hijri",
30
+ id: "sa-eid-al-fitr",
31
+ hijriMonth: 10, // Shawwal
32
+ hijriDay: 1,
33
+ durationDays: 4, // 4-day statutory holiday
34
+ name: "إجازة عيد الفطر",
35
+ nameEn: "Eid al-Fitr Holiday",
36
+ },
37
+ {
38
+ type: "hijri",
39
+ id: "sa-arafah-day",
40
+ hijriMonth: 12, // Dhu al-Hijjah
41
+ hijriDay: 9,
42
+ name: "يوم عرفة",
43
+ nameEn: "Day of Arafah",
44
+ },
45
+ {
46
+ type: "hijri",
47
+ id: "sa-eid-al-adha",
48
+ hijriMonth: 12, // Dhu al-Hijjah
49
+ hijriDay: 10,
50
+ durationDays: 4, // 4-day statutory holiday
51
+ name: "إجازة عيد الأضحى",
52
+ nameEn: "Eid al-Adha Holiday",
53
+ },
54
+ ],
55
+ };
56
+ //# sourceMappingURL=sa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sa.js","sourceRoot":"","sources":["../../../src/holidays/countries/sa.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,cAAc;IAC3B,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB;IAC/C,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,IAAI;SACpB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,oBAAoB;SAC7B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,gBAAgB;YACpB,UAAU,EAAE,EAAE,EAAE,UAAU;YAC1B,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC,EAAE,0BAA0B;YAC3C,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,qBAAqB;SAC9B;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,eAAe;YACnB,UAAU,EAAE,EAAE,EAAE,gBAAgB;YAChC,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,eAAe;SACxB;QACD;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,gBAAgB;YACpB,UAAU,EAAE,EAAE,EAAE,gBAAgB;YAChC,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,CAAC,EAAE,0BAA0B;YAC3C,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,qBAAqB;SAC9B;KACF;CACF,CAAC","sourcesContent":["import type { HolidayCalendar } from \"../types.js\";\n\n/**\n * Official Public Holidays for the Kingdom of Saudi Arabia 🇸🇦\n * Evaluated with native Chronera Islamic Hijri adapters.\n * Default weekend: Friday & Saturday.\n */\nexport const saudiArabiaHolidays: HolidayCalendar = {\n country: \"SA\",\n countryName: \"Saudi Arabia\",\n defaultWeekendDays: [5, 6], // Friday, Saturday\n rules: [\n {\n type: \"fixed\",\n id: \"sa-founding-day\",\n month: 2,\n day: 22,\n name: \"يوم التأسيس\",\n nameEn: \"Founding Day\",\n validFromYear: 2022,\n },\n {\n type: \"fixed\",\n id: \"sa-national-day\",\n month: 9,\n day: 23,\n name: \"اليوم الوطني\",\n nameEn: \"Saudi National Day\",\n },\n {\n type: \"hijri\",\n id: \"sa-eid-al-fitr\",\n hijriMonth: 10, // Shawwal\n hijriDay: 1,\n durationDays: 4, // 4-day statutory holiday\n name: \"إجازة عيد الفطر\",\n nameEn: \"Eid al-Fitr Holiday\",\n },\n {\n type: \"hijri\",\n id: \"sa-arafah-day\",\n hijriMonth: 12, // Dhu al-Hijjah\n hijriDay: 9,\n name: \"يوم عرفة\",\n nameEn: \"Day of Arafah\",\n },\n {\n type: \"hijri\",\n id: \"sa-eid-al-adha\",\n hijriMonth: 12, // Dhu al-Hijjah\n hijriDay: 10,\n durationDays: 4, // 4-day statutory holiday\n name: \"إجازة عيد الأضحى\",\n nameEn: \"Eid al-Adha Holiday\",\n },\n ],\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { HolidayCalendar } from "../types.js";
2
+ /**
3
+ * Official Public Holidays for Singapore 🇸🇬
4
+ * Multi-cultural statutory holidays with weekend-to-monday substitution.
5
+ */
6
+ export declare const singaporeHolidays: HolidayCalendar;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Official Public Holidays for Singapore 🇸🇬
3
+ * Multi-cultural statutory holidays with weekend-to-monday substitution.
4
+ */
5
+ export const singaporeHolidays = {
6
+ country: "SG",
7
+ countryName: "Singapore",
8
+ defaultWeekendDays: [6, 7],
9
+ rules: [
10
+ {
11
+ type: "fixed",
12
+ id: "sg-new-year",
13
+ month: 1,
14
+ day: 1,
15
+ name: "New Year's Day",
16
+ nameEn: "New Year's Day",
17
+ observed: "weekend-to-monday",
18
+ },
19
+ {
20
+ type: "easter",
21
+ id: "sg-good-friday",
22
+ offsetDays: -2,
23
+ name: "Good Friday",
24
+ nameEn: "Good Friday",
25
+ },
26
+ {
27
+ type: "fixed",
28
+ id: "sg-labour-day",
29
+ month: 5,
30
+ day: 1,
31
+ name: "Labour Day",
32
+ nameEn: "Labour Day",
33
+ observed: "weekend-to-monday",
34
+ },
35
+ {
36
+ type: "fixed",
37
+ id: "sg-national-day",
38
+ month: 8,
39
+ day: 9,
40
+ name: "National Day",
41
+ nameEn: "National Day",
42
+ observed: "weekend-to-monday",
43
+ },
44
+ {
45
+ type: "hijri",
46
+ id: "sg-hari-raya-puasa",
47
+ hijriMonth: 10,
48
+ hijriDay: 1,
49
+ name: "Hari Raya Puasa",
50
+ nameEn: "Hari Raya Puasa",
51
+ },
52
+ {
53
+ type: "hijri",
54
+ id: "sg-hari-raya-haji",
55
+ hijriMonth: 12,
56
+ hijriDay: 10,
57
+ name: "Hari Raya Haji",
58
+ nameEn: "Hari Raya Haji",
59
+ },
60
+ {
61
+ type: "fixed",
62
+ id: "sg-christmas",
63
+ month: 12,
64
+ day: 25,
65
+ name: "Christmas Day",
66
+ nameEn: "Christmas Day",
67
+ observed: "weekend-to-monday",
68
+ },
69
+ ],
70
+ };
71
+ //# sourceMappingURL=sg.js.map