fullcalendar 7.0.0-rc.2 → 7.0.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.
Files changed (464) hide show
  1. package/{all.global.js → all/global.js} +1731 -1179
  2. package/{all.d.ts → all/index.d.ts} +2 -2
  3. package/{all.js → all/index.js} +6 -6
  4. package/chunks/0488b422.js +3 -0
  5. package/chunks/{33b27274.js → 050fd242.js} +1 -1
  6. package/chunks/{93b30feb.js → 06f4680d.js} +1 -1
  7. package/chunks/{f75f6c33.js → 0a23096d.js} +53 -30
  8. package/chunks/{96f1d6e4.d.ts → 0ab3e622.d.ts} +1 -1
  9. package/chunks/{f1ba7577.js → 11d42a92.js} +1 -1
  10. package/chunks/{a2ab3524.js → 141f9d37.js} +1 -1
  11. package/chunks/{1d43a540.js → 14ea59ee.js} +1 -1
  12. package/chunks/{1a87ce0e.js → 14ee3137.js} +4 -4
  13. package/chunks/{2cef4b60.js → 1577123f.js} +1 -1
  14. package/chunks/{d7d6b407.js → 15848262.js} +1 -1
  15. package/chunks/{b94c6652.js → 17e321fb.js} +1 -1
  16. package/chunks/{aefe3aad.js → 1c0a8594.js} +1 -1
  17. package/chunks/{4fa5ed5e.d.ts → 20a4cab4.d.ts} +440 -434
  18. package/chunks/{bf0b5fe7.js → 2325ef50.js} +16 -13
  19. package/chunks/{474d6f49.js → 241fc884.js} +1 -1
  20. package/chunks/{f84343ce.js → 25130702.js} +1 -1
  21. package/chunks/{d47022eb.js → 259dd5b6.js} +1 -1
  22. package/chunks/{23c33de5.js → 27ce77a4.js} +1 -1
  23. package/chunks/{cc3f7d6a.js → 2a96da03.js} +1 -1
  24. package/chunks/{46f5a30e.js → 2bfeb20e.js} +1 -1
  25. package/chunks/{9413abc3.js → 2c87688a.js} +1 -1
  26. package/chunks/{56af814e.js → 30a2cd58.js} +1 -1
  27. package/chunks/{0c0897e5.js → 348940bd.js} +1 -1
  28. package/chunks/{e865db49.js → 3663530b.js} +1 -1
  29. package/chunks/{3ddc24ea.js → 374ce2d5.js} +1 -1
  30. package/chunks/{a1fd14d7.js → 384d1e7c.js} +1 -1
  31. package/chunks/{2465df41.js → 3a797b1a.js} +1 -1
  32. package/chunks/{132e4321.d.ts → 3c4e5b9e.d.ts} +1 -1
  33. package/chunks/{2c627282.js → 3cab911c.js} +1 -1
  34. package/chunks/{2a0291bb.js → 426074dc.js} +3 -3
  35. package/chunks/{764d6626.js → 428932f2.js} +1 -1
  36. package/chunks/{5df5e02e.js → 48db9970.js} +1 -1
  37. package/chunks/{d08b8271.js → 4dcf5e12.js} +4 -4
  38. package/chunks/{e183439b.js → 4edec23b.js} +1 -1
  39. package/chunks/{87c92d69.js → 4f311d15.js} +1 -1
  40. package/chunks/{1f7be3fb.js → 52f4a863.js} +1 -1
  41. package/chunks/{bf43f865.js → 544b90ee.js} +1 -1
  42. package/chunks/{47ba492b.js → 6294c066.js} +1 -1
  43. package/chunks/{f12963c2.js → 65a5c4b3.js} +1 -1
  44. package/chunks/{88e10313.js → 695b2034.js} +1 -1
  45. package/chunks/{b0814552.js → 6bdde0f7.js} +1 -1
  46. package/chunks/{e6af15c5.js → 6bfaf5ee.js} +1 -1
  47. package/chunks/{4ca76b98.js → 6d353066.js} +1 -1
  48. package/chunks/{76638930.js → 6ea826ae.js} +1 -1
  49. package/chunks/{859272dd.js → 706bd11c.js} +1 -1
  50. package/chunks/{6cfb4c27.js → 73ddf99a.js} +1 -1
  51. package/chunks/{1b10064d.js → 7543b6db.js} +14 -14
  52. package/chunks/{79cff170.js → 7792a2c6.js} +1 -1
  53. package/chunks/{374f7011.js → 7bccf5c2.js} +12 -12
  54. package/chunks/{f4ec93f1.js → 7c827298.js} +1 -1
  55. package/chunks/{42afbf6c.js → 7de545af.js} +1 -1
  56. package/chunks/{89d5848c.js → 83cfee2d.js} +1 -1
  57. package/chunks/{6d0bfc2b.js → 87ea31a4.js} +1 -1
  58. package/chunks/{3465f34b.js → 8f8579eb.js} +1 -1
  59. package/chunks/{e2983392.js → 9340c3b6.js} +12 -12
  60. package/chunks/{a562faae.js → 9568f388.js} +137 -108
  61. package/chunks/{f8f65636.js → 9a8b472e.js} +1 -1
  62. package/chunks/{de90f674.js → 9b31fb5f.js} +1 -1
  63. package/chunks/{869cfed1.js → 9ccbb009.js} +1 -1
  64. package/chunks/{0c46982b.js → 9ebe4066.js} +1 -1
  65. package/chunks/{aa16a8d0.d.ts → 9f43eb4e.d.ts} +1 -1
  66. package/chunks/{298ff974.js → 9fcad165.js} +1 -1
  67. package/chunks/{1274633a.js → a2d5d57b.js} +1 -1
  68. package/chunks/{3b766470.js → a3fce641.js} +1 -1
  69. package/chunks/{e03d1b80.js → a585a98c.js} +1 -1
  70. package/chunks/{161ff306.js → a5b51df9.js} +1 -1
  71. package/chunks/{389e231a.js → a87fdcf5.js} +6 -6
  72. package/chunks/{4e30ab7d.js → b038d37b.js} +1 -1
  73. package/chunks/{e5431318.js → b705f163.js} +1 -1
  74. package/chunks/{717349d4.js → b99931a8.js} +1 -1
  75. package/chunks/{d362570b.js → bae57aa8.js} +1 -1
  76. package/chunks/{88d59ca0.js → bc2dd0d2.js} +1 -1
  77. package/chunks/{a9947a39.js → c5614eb0.js} +1 -1
  78. package/chunks/{5c3bd750.js → c58ddb63.js} +1 -1
  79. package/chunks/{5df96995.js → c88b4d94.js} +1 -1
  80. package/chunks/{7e74a1e5.js → c8bfd3b8.js} +1 -1
  81. package/chunks/{2f5afbe4.js → ca5d1416.js} +13 -10
  82. package/chunks/{c9b33999.js → ccfd64d1.js} +1 -1
  83. package/chunks/{a75b4378.js → cd37625d.js} +1 -1
  84. package/chunks/{cb8d464d.js → d3e122bd.js} +1 -1
  85. package/chunks/{d6422d2e.js → d5f85b34.js} +1 -1
  86. package/chunks/{42b3acba.js → d6c9ac3e.js} +1 -1
  87. package/chunks/{b8f821e9.js → d8e1e01b.js} +1 -1
  88. package/chunks/{ff2b91dd.js → de4008d4.js} +1 -1
  89. package/chunks/{bd87b5d5.js → df96cbd1.js} +1 -1
  90. package/chunks/{ac2cef10.js → e2e9e519.js} +18 -6
  91. package/chunks/{7f1a705f.js → e7651fae.js} +1 -1
  92. package/chunks/{c31bcaab.js → e9b25849.js} +1 -1
  93. package/chunks/{c8527b9b.js → eb47ce98.js} +1 -1
  94. package/chunks/{6dc90bd0.js → ef24f7de.js} +5 -5
  95. package/chunks/{d73fd092.js → ef2cc2c2.js} +1 -1
  96. package/chunks/{ca1e5592.js → f19c550e.js} +3 -3
  97. package/chunks/{4624f9ea.js → f1b2da23.js} +4 -4
  98. package/chunks/{8f86bb71.js → f3dd16a8.js} +1 -1
  99. package/chunks/{46036697.js → f557347b.js} +1 -1
  100. package/chunks/{b4405db8.js → f55b5921.js} +1 -1
  101. package/chunks/{5383c609.js → fa8f8d12.js} +1 -1
  102. package/chunks/{6eddb6b6.js → fe16a100.js} +10 -5
  103. package/chunks/{50647119.js → fe34b130.js} +1 -1
  104. package/daygrid.d.ts +1 -1
  105. package/daygrid.js +1 -1
  106. package/index.d.ts +4 -4
  107. package/index.js +4 -4
  108. package/interaction.d.ts +1 -1
  109. package/interaction.js +6 -6
  110. package/list.d.ts +1 -1
  111. package/list.js +1 -1
  112. package/locales/{af.global.js → af/global.js} +2 -2
  113. package/locales/{locale.d.ts → af/index.d.ts} +1 -1
  114. package/locales/af/index.js +1 -0
  115. package/locales/{ar.global.js → ar/global.js} +2 -2
  116. package/locales/ar/index.d.ts +2 -0
  117. package/locales/ar/index.js +1 -0
  118. package/locales/{ar-dz.global.js → ar-dz/global.js} +2 -2
  119. package/locales/ar-dz/index.d.ts +2 -0
  120. package/locales/ar-dz/index.js +1 -0
  121. package/locales/{ar-kw.global.js → ar-kw/global.js} +2 -2
  122. package/locales/ar-kw/index.d.ts +2 -0
  123. package/locales/ar-kw/index.js +1 -0
  124. package/locales/{ar-ly.global.js → ar-ly/global.js} +2 -2
  125. package/locales/ar-ly/index.d.ts +2 -0
  126. package/locales/ar-ly/index.js +1 -0
  127. package/locales/{ar-ma.global.js → ar-ma/global.js} +2 -2
  128. package/locales/ar-ma/index.d.ts +2 -0
  129. package/locales/ar-ma/index.js +1 -0
  130. package/locales/{ar-sa.global.js → ar-sa/global.js} +2 -2
  131. package/locales/ar-sa/index.d.ts +2 -0
  132. package/locales/ar-sa/index.js +1 -0
  133. package/locales/{ar-tn.global.js → ar-tn/global.js} +2 -2
  134. package/locales/ar-tn/index.d.ts +2 -0
  135. package/locales/ar-tn/index.js +1 -0
  136. package/locales/{az.global.js → az/global.js} +2 -2
  137. package/locales/az/index.d.ts +2 -0
  138. package/locales/az/index.js +1 -0
  139. package/locales/{bg.global.js → bg/global.js} +2 -2
  140. package/locales/bg/index.d.ts +2 -0
  141. package/locales/bg/index.js +1 -0
  142. package/locales/{bn.global.js → bn/global.js} +2 -2
  143. package/locales/bn/index.d.ts +2 -0
  144. package/locales/bn/index.js +1 -0
  145. package/locales/{bs.global.js → bs/global.js} +2 -2
  146. package/locales/bs/index.d.ts +2 -0
  147. package/locales/bs/index.js +1 -0
  148. package/locales/{ca.global.js → ca/global.js} +2 -2
  149. package/locales/ca/index.d.ts +2 -0
  150. package/locales/ca/index.js +1 -0
  151. package/locales/{cs.global.js → cs/global.js} +2 -2
  152. package/locales/cs/index.d.ts +2 -0
  153. package/locales/cs/index.js +1 -0
  154. package/locales/{cy.global.js → cy/global.js} +2 -2
  155. package/locales/cy/index.d.ts +2 -0
  156. package/locales/cy/index.js +1 -0
  157. package/locales/{da.global.js → da/global.js} +2 -2
  158. package/locales/da/index.d.ts +2 -0
  159. package/locales/da/index.js +1 -0
  160. package/locales/{de.global.js → de/global.js} +2 -2
  161. package/locales/de/index.d.ts +2 -0
  162. package/locales/de/index.js +1 -0
  163. package/locales/{de-at.global.js → de-at/global.js} +2 -2
  164. package/locales/de-at/index.d.ts +2 -0
  165. package/locales/de-at/index.js +1 -0
  166. package/locales/{el.global.js → el/global.js} +2 -2
  167. package/locales/el/index.d.ts +2 -0
  168. package/locales/el/index.js +1 -0
  169. package/locales/{en-au.global.js → en-au/global.js} +1 -1
  170. package/locales/en-au/index.d.ts +2 -0
  171. package/locales/en-au/index.js +1 -0
  172. package/locales/{en-gb.global.js → en-gb/global.js} +1 -1
  173. package/locales/en-gb/index.d.ts +2 -0
  174. package/locales/en-gb/index.js +1 -0
  175. package/locales/{en-nz.global.js → en-nz/global.js} +1 -1
  176. package/locales/en-nz/index.d.ts +2 -0
  177. package/locales/en-nz/index.js +1 -0
  178. package/locales/{eo.global.js → eo/global.js} +2 -2
  179. package/locales/eo/index.d.ts +2 -0
  180. package/locales/eo/index.js +1 -0
  181. package/locales/{es.global.js → es/global.js} +2 -2
  182. package/locales/es/index.d.ts +2 -0
  183. package/locales/es/index.js +1 -0
  184. package/locales/{es-us.global.js → es-us/global.js} +2 -2
  185. package/locales/es-us/index.d.ts +2 -0
  186. package/locales/es-us/index.js +1 -0
  187. package/locales/{et.global.js → et/global.js} +2 -2
  188. package/locales/et/index.d.ts +2 -0
  189. package/locales/et/index.js +1 -0
  190. package/locales/{eu.global.js → eu/global.js} +2 -2
  191. package/locales/eu/index.d.ts +2 -0
  192. package/locales/eu/index.js +1 -0
  193. package/locales/{fa.global.js → fa/global.js} +2 -2
  194. package/locales/fa/index.d.ts +2 -0
  195. package/locales/fa/index.js +1 -0
  196. package/locales/{fi.global.js → fi/global.js} +2 -2
  197. package/locales/fi/index.d.ts +2 -0
  198. package/locales/fi/index.js +1 -0
  199. package/locales/{fr.global.js → fr/global.js} +2 -2
  200. package/locales/fr/index.d.ts +2 -0
  201. package/locales/fr/index.js +1 -0
  202. package/locales/{fr-ca.global.js → fr-ca/global.js} +2 -2
  203. package/locales/fr-ca/index.d.ts +2 -0
  204. package/locales/fr-ca/index.js +1 -0
  205. package/locales/{fr-ch.global.js → fr-ch/global.js} +2 -2
  206. package/locales/fr-ch/index.d.ts +2 -0
  207. package/locales/fr-ch/index.js +1 -0
  208. package/locales/{gl.global.js → gl/global.js} +2 -2
  209. package/locales/gl/index.d.ts +2 -0
  210. package/locales/gl/index.js +1 -0
  211. package/locales/{he.global.js → he/global.js} +2 -2
  212. package/locales/he/index.d.ts +2 -0
  213. package/locales/he/index.js +1 -0
  214. package/locales/{hi.global.js → hi/global.js} +2 -2
  215. package/locales/hi/index.d.ts +2 -0
  216. package/locales/hi/index.js +1 -0
  217. package/locales/{hr.global.js → hr/global.js} +2 -2
  218. package/locales/hr/index.d.ts +2 -0
  219. package/locales/hr/index.js +1 -0
  220. package/locales/{hu.global.js → hu/global.js} +2 -2
  221. package/locales/hu/index.d.ts +2 -0
  222. package/locales/hu/index.js +1 -0
  223. package/locales/{hy-am.global.js → hy-am/global.js} +2 -2
  224. package/locales/hy-am/index.d.ts +2 -0
  225. package/locales/hy-am/index.js +1 -0
  226. package/locales/{id.global.js → id/global.js} +2 -2
  227. package/locales/id/index.d.ts +2 -0
  228. package/locales/id/index.js +1 -0
  229. package/locales/{is.global.js → is/global.js} +2 -2
  230. package/locales/is/index.d.ts +2 -0
  231. package/locales/is/index.js +1 -0
  232. package/locales/{it.global.js → it/global.js} +2 -2
  233. package/locales/it/index.d.ts +2 -0
  234. package/locales/it/index.js +1 -0
  235. package/locales/{ja.global.js → ja/global.js} +2 -2
  236. package/locales/ja/index.d.ts +2 -0
  237. package/locales/ja/index.js +1 -0
  238. package/locales/{ka.global.js → ka/global.js} +2 -2
  239. package/locales/ka/index.d.ts +2 -0
  240. package/locales/ka/index.js +1 -0
  241. package/locales/{kk.global.js → kk/global.js} +2 -2
  242. package/locales/kk/index.d.ts +2 -0
  243. package/locales/kk/index.js +1 -0
  244. package/locales/{km.global.js → km/global.js} +2 -2
  245. package/locales/km/index.d.ts +2 -0
  246. package/locales/km/index.js +1 -0
  247. package/locales/{ko.global.js → ko/global.js} +2 -2
  248. package/locales/ko/index.d.ts +2 -0
  249. package/locales/ko/index.js +1 -0
  250. package/locales/{ku.global.js → ku/global.js} +2 -2
  251. package/locales/ku/index.d.ts +2 -0
  252. package/locales/ku/index.js +1 -0
  253. package/locales/{lb.global.js → lb/global.js} +2 -2
  254. package/locales/lb/index.d.ts +2 -0
  255. package/locales/lb/index.js +1 -0
  256. package/locales/{lt.global.js → lt/global.js} +2 -2
  257. package/locales/lt/index.d.ts +2 -0
  258. package/locales/lt/index.js +1 -0
  259. package/locales/{lv.global.js → lv/global.js} +2 -2
  260. package/locales/lv/index.d.ts +2 -0
  261. package/locales/lv/index.js +1 -0
  262. package/locales/{mk.global.js → mk/global.js} +2 -2
  263. package/locales/mk/index.d.ts +2 -0
  264. package/locales/mk/index.js +1 -0
  265. package/locales/{ms.global.js → ms/global.js} +2 -2
  266. package/locales/ms/index.d.ts +2 -0
  267. package/locales/ms/index.js +1 -0
  268. package/locales/{nb.global.js → nb/global.js} +2 -2
  269. package/locales/nb/index.d.ts +2 -0
  270. package/locales/nb/index.js +1 -0
  271. package/locales/{ne.global.js → ne/global.js} +2 -2
  272. package/locales/ne/index.d.ts +2 -0
  273. package/locales/ne/index.js +1 -0
  274. package/locales/{nl.global.js → nl/global.js} +2 -2
  275. package/locales/nl/index.d.ts +2 -0
  276. package/locales/nl/index.js +1 -0
  277. package/locales/{nn.global.js → nn/global.js} +2 -2
  278. package/locales/nn/index.d.ts +2 -0
  279. package/locales/nn/index.js +1 -0
  280. package/locales/{pl.global.js → pl/global.js} +2 -2
  281. package/locales/pl/index.d.ts +2 -0
  282. package/locales/pl/index.js +1 -0
  283. package/locales/{pt.global.js → pt/global.js} +2 -2
  284. package/locales/pt/index.d.ts +2 -0
  285. package/locales/pt/index.js +1 -0
  286. package/locales/{pt-br.global.js → pt-br/global.js} +2 -2
  287. package/locales/pt-br/index.d.ts +2 -0
  288. package/locales/pt-br/index.js +1 -0
  289. package/locales/{ro.global.js → ro/global.js} +2 -2
  290. package/locales/ro/index.d.ts +2 -0
  291. package/locales/ro/index.js +1 -0
  292. package/locales/{ru.global.js → ru/global.js} +2 -2
  293. package/locales/ru/index.d.ts +2 -0
  294. package/locales/ru/index.js +1 -0
  295. package/locales/{si-lk.global.js → si-lk/global.js} +2 -2
  296. package/locales/si-lk/index.d.ts +2 -0
  297. package/locales/si-lk/index.js +1 -0
  298. package/locales/{sk.global.js → sk/global.js} +2 -2
  299. package/locales/sk/index.d.ts +2 -0
  300. package/locales/sk/index.js +1 -0
  301. package/locales/{sl.global.js → sl/global.js} +2 -2
  302. package/locales/sl/index.d.ts +2 -0
  303. package/locales/sl/index.js +1 -0
  304. package/locales/{sm.global.js → sm/global.js} +2 -2
  305. package/locales/sm/index.d.ts +2 -0
  306. package/locales/sm/index.js +1 -0
  307. package/locales/{sq.global.js → sq/global.js} +2 -2
  308. package/locales/sq/index.d.ts +2 -0
  309. package/locales/sq/index.js +1 -0
  310. package/locales/{sr.global.js → sr/global.js} +2 -2
  311. package/locales/sr/index.d.ts +2 -0
  312. package/locales/sr/index.js +1 -0
  313. package/locales/{sr-cyrl.global.js → sr-cyrl/global.js} +2 -2
  314. package/locales/sr-cyrl/index.d.ts +2 -0
  315. package/locales/sr-cyrl/index.js +1 -0
  316. package/locales/{sv.global.js → sv/global.js} +2 -2
  317. package/locales/sv/index.d.ts +2 -0
  318. package/locales/sv/index.js +1 -0
  319. package/locales/{ta-in.global.js → ta-in/global.js} +2 -2
  320. package/locales/ta-in/index.d.ts +2 -0
  321. package/locales/ta-in/index.js +1 -0
  322. package/locales/{th.global.js → th/global.js} +2 -2
  323. package/locales/th/index.d.ts +2 -0
  324. package/locales/th/index.js +1 -0
  325. package/locales/{tr.global.js → tr/global.js} +2 -2
  326. package/locales/tr/index.d.ts +2 -0
  327. package/locales/tr/index.js +1 -0
  328. package/locales/{ug.global.js → ug/global.js} +2 -2
  329. package/locales/ug/index.d.ts +2 -0
  330. package/locales/ug/index.js +1 -0
  331. package/locales/{uk.global.js → uk/global.js} +2 -2
  332. package/locales/uk/index.d.ts +2 -0
  333. package/locales/uk/index.js +1 -0
  334. package/locales/{uz.global.js → uz/global.js} +2 -2
  335. package/locales/uz/index.d.ts +2 -0
  336. package/locales/uz/index.js +1 -0
  337. package/locales/{uz-cy.global.js → uz-cy/global.js} +2 -2
  338. package/locales/uz-cy/index.d.ts +2 -0
  339. package/locales/uz-cy/index.js +1 -0
  340. package/locales/{vi.global.js → vi/global.js} +2 -2
  341. package/locales/vi/index.d.ts +2 -0
  342. package/locales/vi/index.js +1 -0
  343. package/locales/{zh-cn.global.js → zh-cn/global.js} +2 -2
  344. package/locales/zh-cn/index.d.ts +2 -0
  345. package/locales/zh-cn/index.js +1 -0
  346. package/locales/{zh-tw.global.js → zh-tw/global.js} +2 -2
  347. package/locales/zh-tw/index.d.ts +2 -0
  348. package/locales/zh-tw/index.js +1 -0
  349. package/{locales-all.global.js → locales-all/global.js} +77 -77
  350. package/{locales-all.d.ts → locales-all/index.d.ts} +1 -1
  351. package/locales-all/index.js +85 -0
  352. package/multimonth.d.ts +1 -1
  353. package/multimonth.js +1 -1
  354. package/package.json +23 -23
  355. package/protected-api.d.ts +7 -6
  356. package/protected-api.js +12 -12
  357. package/protected-styles.js +1 -1
  358. package/public-api.d.ts +3 -3
  359. package/public-api.js +3 -3
  360. package/public-components.d.ts +1 -1
  361. package/public-components.js +1 -1
  362. package/skeleton.css +104 -104
  363. package/themes/breezy/global.js +5 -5
  364. package/themes/{classic.d.ts → breezy/index.d.ts} +1 -1
  365. package/themes/{breezy.js → breezy/index.js} +5 -5
  366. package/themes/classic/global.js +4 -4
  367. package/themes/{forma.d.ts → classic/index.d.ts} +1 -1
  368. package/themes/{classic.js → classic/index.js} +4 -4
  369. package/themes/forma/global.js +5 -5
  370. package/themes/{monarch.d.ts → forma/index.d.ts} +1 -1
  371. package/themes/{forma.js → forma/index.js} +5 -5
  372. package/themes/monarch/global.js +5 -5
  373. package/themes/{breezy.d.ts → monarch/index.d.ts} +1 -1
  374. package/themes/{monarch.js → monarch/index.js} +5 -5
  375. package/themes/pulse/global.js +6 -6
  376. package/themes/pulse/index.d.ts +5 -0
  377. package/themes/{pulse.js → pulse/index.js} +6 -6
  378. package/timegrid.d.ts +1 -1
  379. package/timegrid.js +1 -1
  380. package/chunks/d09da820.js +0 -3
  381. package/locales/af.js +0 -1
  382. package/locales/ar-dz.js +0 -1
  383. package/locales/ar-kw.js +0 -1
  384. package/locales/ar-ly.js +0 -1
  385. package/locales/ar-ma.js +0 -1
  386. package/locales/ar-sa.js +0 -1
  387. package/locales/ar-tn.js +0 -1
  388. package/locales/ar.js +0 -1
  389. package/locales/az.js +0 -1
  390. package/locales/bg.js +0 -1
  391. package/locales/bn.js +0 -1
  392. package/locales/bs.js +0 -1
  393. package/locales/ca.js +0 -1
  394. package/locales/cs.js +0 -1
  395. package/locales/cy.js +0 -1
  396. package/locales/da.js +0 -1
  397. package/locales/de-at.js +0 -1
  398. package/locales/de.js +0 -1
  399. package/locales/el.js +0 -1
  400. package/locales/en-au.js +0 -1
  401. package/locales/en-gb.js +0 -1
  402. package/locales/en-nz.js +0 -1
  403. package/locales/eo.js +0 -1
  404. package/locales/es-us.js +0 -1
  405. package/locales/es.js +0 -1
  406. package/locales/et.js +0 -1
  407. package/locales/eu.js +0 -1
  408. package/locales/fa.js +0 -1
  409. package/locales/fi.js +0 -1
  410. package/locales/fr-ca.js +0 -1
  411. package/locales/fr-ch.js +0 -1
  412. package/locales/fr.js +0 -1
  413. package/locales/gl.js +0 -1
  414. package/locales/he.js +0 -1
  415. package/locales/hi.js +0 -1
  416. package/locales/hr.js +0 -1
  417. package/locales/hu.js +0 -1
  418. package/locales/hy-am.js +0 -1
  419. package/locales/id.js +0 -1
  420. package/locales/is.js +0 -1
  421. package/locales/it.js +0 -1
  422. package/locales/ja.js +0 -1
  423. package/locales/ka.js +0 -1
  424. package/locales/kk.js +0 -1
  425. package/locales/km.js +0 -1
  426. package/locales/ko.js +0 -1
  427. package/locales/ku.js +0 -1
  428. package/locales/lb.js +0 -1
  429. package/locales/lt.js +0 -1
  430. package/locales/lv.js +0 -1
  431. package/locales/mk.js +0 -1
  432. package/locales/ms.js +0 -1
  433. package/locales/nb.js +0 -1
  434. package/locales/ne.js +0 -1
  435. package/locales/nl.js +0 -1
  436. package/locales/nn.js +0 -1
  437. package/locales/pl.js +0 -1
  438. package/locales/pt-br.js +0 -1
  439. package/locales/pt.js +0 -1
  440. package/locales/ro.js +0 -1
  441. package/locales/ru.js +0 -1
  442. package/locales/si-lk.js +0 -1
  443. package/locales/sk.js +0 -1
  444. package/locales/sl.js +0 -1
  445. package/locales/sm.js +0 -1
  446. package/locales/sq.js +0 -1
  447. package/locales/sr-cyrl.js +0 -1
  448. package/locales/sr.js +0 -1
  449. package/locales/sv.js +0 -1
  450. package/locales/ta-in.js +0 -1
  451. package/locales/th.js +0 -1
  452. package/locales/tr.js +0 -1
  453. package/locales/ug.js +0 -1
  454. package/locales/uk.js +0 -1
  455. package/locales/uz-cy.js +0 -1
  456. package/locales/uz.js +0 -1
  457. package/locales/vi.js +0 -1
  458. package/locales/zh-cn.js +0 -1
  459. package/locales/zh-tw.js +0 -1
  460. package/locales-all.js +0 -85
  461. package/themes/pulse.d.ts +0 -5
  462. /package/chunks/{17e93143.js → 1e0eda69.js} +0 -0
  463. /package/chunks/{9962a114.js → 8c4ccebb.js} +0 -0
  464. /package/chunks/{4bcd6f83.js → d83ddbce.js} +0 -0
@@ -1,960 +1,1434 @@
1
1
  /*!
2
- FullCalendar (Vanilla JS) v7.0.0-rc.2
2
+ FullCalendar (Vanilla JS) v7.0.0
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2026 Adam Shaw
5
5
  */
6
6
  var FullCalendar = (function (exports) {
7
7
  'use strict';
8
8
 
9
- var n$1,l$3,u$3,t$1,i$2,r$1,o$1,e$2,f$2,c$3,s$3,a$2,h,p$2,v$1,y,d$1={},w$2=[],_$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g$1=Array.isArray;function m$1(n,l){for(var u in l)n[u]=l[u];return n}function b(n){n&&n.parentNode&&n.parentNode.removeChild(n);}function k$1(l,u,t){var i,r,o,e={};for(o in u)"key"==o?i=u[o]:"ref"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n$1.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return x$1(l,e,i,r,null)}function x$1(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u$3:o,__i:-1,__u:0};return null==o&&null!=l$3.vnode&&l$3.vnode(e),e}function M$1(){return {current:null}}function S(n){return n.children}function C(n,l){this.props=n,this.context=l;}function $$1(n,l){if(null==l)return n.__?$$1(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?$$1(n):null}function I$1(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=m$1({},u);o.__v=u.__v+1,l$3.vnode&&l$3.vnode(o),q$1(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?$$1(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,D(i,o,r),u.__e=u.__=null,o.__e!=t&&P$2(o);}}function P$2(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),P$2(n)}function A$1(n){(!n.__d&&(n.__d=!0)&&i$2.push(n)&&!H$2.__r++||r$1!=l$3.debounceRendering)&&((r$1=l$3.debounceRendering)||o$1)(H$2);}function H$2(){try{for(var n,l=1;i$2.length;)i$2.length>l&&i$2.sort(e$2),n=i$2.shift(),l=i$2.length,I$1(n);}finally{i$2.length=H$2.__r=0;}}function L$1(n,l,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,_,g,m=t&&t.__k||w$2,b=l.length;for(f=T$1(u,l,m,f,b),a=0;a<b;a++)null!=(p=u.__k[a])&&(h=-1!=p.__i&&m[p.__i]||d$1,p.__i=a,_=q$1(n,p,h,i,r,o,e,f,c,s),v=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&J$2(h.ref,null,p),s.push(p.ref,p.__c||v,p)),null==y&&null!=v&&(y=v),(g=!!(4&p.__u))||h.__k===p.__k?(f=j$2(p,f,n,g),g&&h.__e&&(h.__e=null)):"function"==typeof p.type&&void 0!==_?f=_:v&&(f=v.nextSibling),p.__u&=-7);return u.__e=y,f}function T$1(n,l,u,t,i){var r,o,e,f,c,s=u.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&"boolean"!=typeof o&&"function"!=typeof o?("string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?o=n.__k[r]=x$1(null,o,null,null,null):g$1(o)?o=n.__k[r]=x$1(S,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=x$1(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=O$2(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>s?h--:i<s&&h++),"function"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=$$1(e)),K$2(e,e));return t}function j$2(n,l,u,t){var i,r;if("function"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=j$2(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=$$1(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8==l.nodeType);return l}function F$1(n,l){return l=l||[],null==n||"boolean"==typeof n||(g$1(n)?n.some(function(n){F$1(n,l);}):l.push(n)),l}function O$2(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==e||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return -1}function z$1(n,l,u){"-"==l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||_$1.test(l)?u:u+"px";}function N(n,l,u,t,i){var r,o;n:if("style"==l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||z$1(n.style,l,"");if(u)for(l in u)t&&u[l]==t[l]||z$1(n.style,l,u[l]);}else if("o"==l[0]&&"n"==l[1])r=l!=(l=l.replace(a$2,"$1")),o=l.toLowerCase(),l=o in n||"onFocusOut"==l||"onFocusIn"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u[s$3]=t[s$3]:(u[s$3]=h,n.addEventListener(l,r?v$1:p$2,r)):n.removeEventListener(l,r?v$1:p$2,r);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!=l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u));}}function V$2(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u[c$3])u[c$3]=h++;else if(u[c$3]<t[s$3])return;return t(l$3.event?l$3.event(u):u)}}}function q$1(n,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,d,_,k,x,M,$,I,P,A,H,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l$3.__b)&&a(u);n:if("function"==typeof T)try{if(k=u.props,x=T.prototype&&T.prototype.render,M=(a=T.contextType)&&i[a.__c],$=a?M?M.props.value:a.__:i,t.__c?_=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(k,$):(u.__c=h=new C(k,$),h.constructor=T,h.render=Q$2),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=m$1({},h.__s)),m$1(h.__s,T.getDerivedStateFromProps(k,h.__s))),v=h.props,y=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(x&&null==T.getDerivedStateFromProps&&k!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,$)){u.__v!=t.__v&&(h.props=k,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u);}),w$2.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,$),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,d);});}if(h.context=$,h.props=k,h.__P=n,h.__e=!1,I=l$3.__r,P=0,x)h.state=h.__s,h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),w$2.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++P<25);h.state=h.__s,null!=h.getChildContext&&(i=m$1(m$1({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(d=h.getSnapshotBeforeUpdate(v,y)),A=null!=a&&a.type===S&&null==a.key?E$2(a.props.children):a,f=L$1(n,g$1(A)?A:[A],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),_&&(h.__E=h.__=null);}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f;}else {for(H=o.length;H--;)b(o[H]);B$3(u);}else u.__e=t.__e,u.__k=t.__k,n.then||B$3(u);l$3.__e(n,u,t);}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=G$2(t.__e,u,t,i,r,o,e,c,s);return (a=l$3.diffed)&&a(u),128&u.__u?void 0:f}function B$3(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(B$3));}function D(n,u,t){for(var i=0;i<t.length;i++)J$2(t[i],t[++i],t[++i]);l$3.__c&&l$3.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$3.__e(n,u.__v);}});}function E$2(n){return "object"!=typeof n||null==n||n.__b>0?n:g$1(n)?n.map(E$2):m$1({},n)}function G$2(u,t,i,r,o,e,f,c,s){var a,h,p,v,y,w,_,m=i.props||d$1,k=t.props,x=t.type;if("svg"==x?o="http://www.w3.org/2000/svg":"math"==x?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=e)for(a=0;a<e.length;a++)if((y=e[a])&&"setAttribute"in y==!!x&&(x?y.localName==x:3==y.nodeType)){u=y,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l$3.__m&&l$3.__m(t,e),c=!1),e=null;}if(null==x)m===k||c&&u.data==k||(u.data=k);else {if(e=e&&n$1.call(u.childNodes),!c&&null!=e)for(m={},a=0;a<u.attributes.length;a++)m[(y=u.attributes[a]).name]=y.value;for(a in m)y=m[a],"dangerouslySetInnerHTML"==a?p=y:"children"==a||a in k||"value"==a&&"defaultValue"in k||"checked"==a&&"defaultChecked"in k||N(u,a,null,y,o);for(a in k)y=k[a],"children"==a?v=y:"dangerouslySetInnerHTML"==a?h=y:"value"==a?w=y:"checked"==a?_=y:c&&"function"!=typeof y||m[a]===y||N(u,a,y,m[a],o);if(h)c||p&&(h.__html==p.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(p&&(u.innerHTML=""),L$1("template"==t.type?u.content:u,g$1(v)?v:[v],t,i,r,"foreignObject"==x?"http://www.w3.org/1999/xhtml":o,e,f,e?e[0]:i.__k&&$$1(i,0),c,s),null!=e)for(a=e.length;a--;)b(e[a]);c||(a="value","progress"==x&&null==w?u.removeAttribute("value"):null!=w&&(w!==u[a]||"progress"==x&&!w||"option"==x&&w!=m[a])&&N(u,a,w,m[a],o),a="checked",null!=_&&_!=u[a]&&N(u,a,_,m[a],o));}return u}function J$2(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u));}else n.current=u;}catch(n){l$3.__e(n,t);}}function K$2(n,u,t){var i,r;if(l$3.unmount&&l$3.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||J$2(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l$3.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&K$2(i[r],u,t||"function"!=typeof n.type);t||b(n.__e),n.__c=n.__=n.__e=void 0;}function Q$2(n,l,u){return this.constructor(n,u)}function R(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l$3.__&&l$3.__(u,t),o=(r="function"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],q$1(t,u=(!r&&i||t).__k=k$1(S,null,[u]),o||d$1,d$1,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n$1.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),D(e,u,f);}function U$2(n,l){R(n,l,U$2);}function W$2(l,u,t){var i,r,o,e,f=m$1({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)"key"==o?i=u[o]:"ref"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n$1.call(arguments,2):t),x$1(l.type,f,i||l.key,r||l.ref,null)}function X$2(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null;},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,A$1(n);});},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n);};}),n.children}return l.__c="__cC"+y++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n$1=w$2.slice,l$3={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l;}throw n}},u$3=0,t$1=function(n){return null!=n&&void 0===n.constructor},C.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=m$1({},this.state),"function"==typeof n&&(n=n(m$1({},u),this.props)),n&&m$1(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),A$1(this));},C.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),A$1(this));},C.prototype.render=S,i$2=[],o$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e$2=function(n,l){return n.__v.__b-l.__v.__b},H$2.__r=0,f$2=Math.random().toString(8),c$3="__d"+f$2,s$3="__a"+f$2,a$2=/(PointerCapture)$|Capture$/i,h=0,p$2=V$2(!1),v$1=V$2(!0),y=0;
9
+ var n$1,l$2,u$2,t$1,i$2,r$1,o$1,e$1,f$2,c$2,s$2,a$2,h,p$1,v$1,y,d={},w$1=[],_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g$1=Array.isArray;function m$1(n,l){for(var u in l)n[u]=l[u];return n}function b(n){n&&n.parentNode&&n.parentNode.removeChild(n);}function k$1(l,u,t){var i,r,o,e={};for(o in u)"key"==o?i=u[o]:"ref"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n$1.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return x(l,e,i,r,null)}function x(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u$2:o,__i:-1,__u:0};return null==o&&null!=l$2.vnode&&l$2.vnode(e),e}function M$1(){return {current:null}}function S(n){return n.children}function C(n,l){this.props=n,this.context=l;}function $$1(n,l){if(null==l)return n.__?$$1(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?$$1(n):null}function I(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=m$1({},u);o.__v=u.__v+1,l$2.vnode&&l$2.vnode(o),q$1(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?$$1(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,D(i,o,r),u.__e=u.__=null,o.__e!=t&&P$1(o);}}function P$1(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),P$1(n)}function A(n){(!n.__d&&(n.__d=!0)&&i$2.push(n)&&!H$1.__r++||r$1!=l$2.debounceRendering)&&((r$1=l$2.debounceRendering)||o$1)(H$1);}function H$1(){try{for(var n,l=1;i$2.length;)i$2.length>l&&i$2.sort(e$1),n=i$2.shift(),l=i$2.length,I(n);}finally{i$2.length=H$1.__r=0;}}function L(n,l,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,_,g,m=t&&t.__k||w$1,b=l.length;for(f=T$1(u,l,m,f,b),a=0;a<b;a++)null!=(p=u.__k[a])&&(h=-1!=p.__i&&m[p.__i]||d,p.__i=a,_=q$1(n,p,h,i,r,o,e,f,c,s),v=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&J$1(h.ref,null,p),s.push(p.ref,p.__c||v,p)),null==y&&null!=v&&(y=v),(g=!!(4&p.__u))||h.__k===p.__k?(f=j$2(p,f,n,g),g&&h.__e&&(h.__e=null)):"function"==typeof p.type&&void 0!==_?f=_:v&&(f=v.nextSibling),p.__u&=-7);return u.__e=y,f}function T$1(n,l,u,t,i){var r,o,e,f,c,s=u.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&"boolean"!=typeof o&&"function"!=typeof o?("string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?o=n.__k[r]=x(null,o,null,null,null):g$1(o)?o=n.__k[r]=x(S,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=O$1(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>s?h--:i<s&&h++),"function"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=$$1(e)),K$1(e,e));return t}function j$2(n,l,u,t){var i,r;if("function"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=j$2(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=$$1(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8==l.nodeType);return l}function F(n,l){return l=l||[],null==n||"boolean"==typeof n||(g$1(n)?n.some(function(n){F(n,l);}):l.push(n)),l}function O$1(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==e||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return -1}function z$1(n,l,u){"-"==l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||_.test(l)?u:u+"px";}function N(n,l,u,t,i){var r,o;n:if("style"==l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||z$1(n.style,l,"");if(u)for(l in u)t&&u[l]==t[l]||z$1(n.style,l,u[l]);}else if("o"==l[0]&&"n"==l[1])r=l!=(l=l.replace(a$2,"$1")),o=l.toLowerCase(),l=o in n||"onFocusOut"==l||"onFocusIn"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u[s$2]=t[s$2]:(u[s$2]=h,n.addEventListener(l,r?v$1:p$1,r)):n.removeEventListener(l,r?v$1:p$1,r);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!=l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u));}}function V$1(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u[c$2])u[c$2]=h++;else if(u[c$2]<t[s$2])return;return t(l$2.event?l$2.event(u):u)}}}function q$1(n,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,d,_,k,x,M,$,I,P,A,H,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l$2.__b)&&a(u);n:if("function"==typeof T)try{if(k=u.props,x=T.prototype&&T.prototype.render,M=(a=T.contextType)&&i[a.__c],$=a?M?M.props.value:a.__:i,t.__c?_=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(k,$):(u.__c=h=new C(k,$),h.constructor=T,h.render=Q$1),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=m$1({},h.__s)),m$1(h.__s,T.getDerivedStateFromProps(k,h.__s))),v=h.props,y=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(x&&null==T.getDerivedStateFromProps&&k!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,$)){u.__v!=t.__v&&(h.props=k,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u);}),w$1.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,$),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,d);});}if(h.context=$,h.props=k,h.__P=n,h.__e=!1,I=l$2.__r,P=0,x)h.state=h.__s,h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),w$1.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++P<25);h.state=h.__s,null!=h.getChildContext&&(i=m$1(m$1({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(d=h.getSnapshotBeforeUpdate(v,y)),A=null!=a&&a.type===S&&null==a.key?E$1(a.props.children):a,f=L(n,g$1(A)?A:[A],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),_&&(h.__E=h.__=null);}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f;}else {for(H=o.length;H--;)b(o[H]);B$2(u);}else u.__e=t.__e,u.__k=t.__k,n.then||B$2(u);l$2.__e(n,u,t);}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=G$1(t.__e,u,t,i,r,o,e,c,s);return (a=l$2.diffed)&&a(u),128&u.__u?void 0:f}function B$2(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(B$2));}function D(n,u,t){for(var i=0;i<t.length;i++)J$1(t[i],t[++i],t[++i]);l$2.__c&&l$2.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$2.__e(n,u.__v);}});}function E$1(n){return "object"!=typeof n||null==n||n.__b>0?n:g$1(n)?n.map(E$1):m$1({},n)}function G$1(u,t,i,r,o,e,f,c,s){var a,h,p,v,y,w,_,m=i.props||d,k=t.props,x=t.type;if("svg"==x?o="http://www.w3.org/2000/svg":"math"==x?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=e)for(a=0;a<e.length;a++)if((y=e[a])&&"setAttribute"in y==!!x&&(x?y.localName==x:3==y.nodeType)){u=y,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l$2.__m&&l$2.__m(t,e),c=!1),e=null;}if(null==x)m===k||c&&u.data==k||(u.data=k);else {if(e=e&&n$1.call(u.childNodes),!c&&null!=e)for(m={},a=0;a<u.attributes.length;a++)m[(y=u.attributes[a]).name]=y.value;for(a in m)y=m[a],"dangerouslySetInnerHTML"==a?p=y:"children"==a||a in k||"value"==a&&"defaultValue"in k||"checked"==a&&"defaultChecked"in k||N(u,a,null,y,o);for(a in k)y=k[a],"children"==a?v=y:"dangerouslySetInnerHTML"==a?h=y:"value"==a?w=y:"checked"==a?_=y:c&&"function"!=typeof y||m[a]===y||N(u,a,y,m[a],o);if(h)c||p&&(h.__html==p.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(p&&(u.innerHTML=""),L("template"==t.type?u.content:u,g$1(v)?v:[v],t,i,r,"foreignObject"==x?"http://www.w3.org/1999/xhtml":o,e,f,e?e[0]:i.__k&&$$1(i,0),c,s),null!=e)for(a=e.length;a--;)b(e[a]);c||(a="value","progress"==x&&null==w?u.removeAttribute("value"):null!=w&&(w!==u[a]||"progress"==x&&!w||"option"==x&&w!=m[a])&&N(u,a,w,m[a],o),a="checked",null!=_&&_!=u[a]&&N(u,a,_,m[a],o));}return u}function J$1(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u));}else n.current=u;}catch(n){l$2.__e(n,t);}}function K$1(n,u,t){var i,r;if(l$2.unmount&&l$2.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||J$1(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l$2.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&K$1(i[r],u,t||"function"!=typeof n.type);t||b(n.__e),n.__c=n.__=n.__e=void 0;}function Q$1(n,l,u){return this.constructor(n,u)}function R(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l$2.__&&l$2.__(u,t),o=(r="function"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],q$1(t,u=(!r&&i||t).__k=k$1(S,null,[u]),o||d,d,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n$1.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),D(e,u,f);}function U$1(n,l){R(n,l,U$1);}function W$1(l,u,t){var i,r,o,e,f=m$1({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)"key"==o?i=u[o]:"ref"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n$1.call(arguments,2):t),x(l.type,f,i||l.key,r||l.ref,null)}function X$1(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null;},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,A(n);});},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n);};}),n.children}return l.__c="__cC"+y++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n$1=w$1.slice,l$2={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l;}throw n}},u$2=0,t$1=function(n){return null!=n&&void 0===n.constructor},C.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=m$1({},this.state),"function"==typeof n&&(n=n(m$1({},u),this.props)),n&&m$1(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),A(this));},C.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),A(this));},C.prototype.render=S,i$2=[],o$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e$1=function(n,l){return n.__v.__b-l.__v.__b},H$1.__r=0,f$2=Math.random().toString(8),c$2="__d"+f$2,s$2="__a"+f$2,a$2=/(PointerCapture)$|Capture$/i,h=0,p$1=V$1(!1),v$1=V$1(!0),y=0;
10
10
 
11
11
  var preact = /*#__PURE__*/Object.freeze({
12
- __proto__: null,
13
- Component: C,
14
- Fragment: S,
15
- cloneElement: W$2,
16
- createContext: X$2,
17
- createElement: k$1,
18
- createRef: M$1,
19
- h: k$1,
20
- hydrate: U$2,
21
- get isValidElement () { return t$1; },
22
- get options () { return l$3; },
23
- render: R,
24
- toChildArray: F$1
12
+ __proto__: null,
13
+ Component: C,
14
+ Fragment: S,
15
+ cloneElement: W$1,
16
+ createContext: X$1,
17
+ createElement: k$1,
18
+ createRef: M$1,
19
+ h: k$1,
20
+ hydrate: U$1,
21
+ get isValidElement () { return t$1; },
22
+ get options () { return l$2; },
23
+ render: R,
24
+ toChildArray: F
25
25
  });
26
26
 
27
- var t=/["&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o="",f="";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f="&quot;";break;case 38:f="&amp;";break;case 60:f="&lt;";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1;}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f$1=0,i$1=Array.isArray;function u$2(e,t,n,o,i,u){t||(t={});var a,c,p=t;if("ref"in p)for(c in p={},t)"ref"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f$1,__i:-1,__u:0,__source:i,__self:u};if("function"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return l$3.vnode&&l$3.vnode(l),l}function a$1(r){var t=u$2(S,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c$2={},p$1=/[A-Z]/g;function l$2(e,t){if(l$3.attr){var f=l$3.attr(e,t);if("string"==typeof f)return f}if(t=function(r){return null!==r&&"object"==typeof r&&"function"==typeof r.valueOf?r.valueOf():r}(t),"ref"===e||"key"===e)return "";if("style"===e&&"object"==typeof t){var i="";for(var u in t){var a=t[u];if(null!=a&&""!==a){var l="-"==u[0]?u:c$2[u]||(c$2[u]=u.replace(p$1,"-$&").toLowerCase()),s=";";"number"!=typeof a||l.startsWith("--")||o.test(l)||(s="px;"),i=i+l+":"+a+s;}}return e+'="'+n(i)+'"'}return null==t||!1===t||"function"==typeof t||"object"==typeof t?"":!0===t?e:e+'="'+n(""+t)+'"'}function s$2(r){if(null==r||"boolean"==typeof r||"function"==typeof r)return null;if("object"==typeof r){if(void 0===r.constructor)return r;if(i$1(r)){for(var e=0;e<r.length;e++)r[e]=s$2(r[e]);return r}}return n(""+r)}
27
+ var t=/["&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o="",f="";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f="&quot;";break;case 38:f="&amp;";break;case 60:f="&lt;";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1;}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f$1=0,i$1=Array.isArray;function u$1(e,t,n,o,i,u){t||(t={});var a,c,p=t;if("ref"in p)for(c in p={},t)"ref"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f$1,__i:-1,__u:0,__source:i,__self:u};if("function"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return l$2.vnode&&l$2.vnode(l),l}function a$1(r){var t=u$1(S,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c$1={},p=/[A-Z]/g;function l$1(e,t){if(l$2.attr){var f=l$2.attr(e,t);if("string"==typeof f)return f}if(t=function(r){return null!==r&&"object"==typeof r&&"function"==typeof r.valueOf?r.valueOf():r}(t),"ref"===e||"key"===e)return "";if("style"===e&&"object"==typeof t){var i="";for(var u in t){var a=t[u];if(null!=a&&""!==a){var l="-"==u[0]?u:c$1[u]||(c$1[u]=u.replace(p,"-$&").toLowerCase()),s=";";"number"!=typeof a||l.startsWith("--")||o.test(l)||(s="px;"),i=i+l+":"+a+s;}}return e+'="'+n(i)+'"'}return null==t||!1===t||"function"==typeof t||"object"==typeof t?"":!0===t?e:e+'="'+n(""+t)+'"'}function s$1(r){if(null==r||"boolean"==typeof r||"function"==typeof r)return null;if("object"==typeof r){if(void 0===r.constructor)return r;if(i$1(r)){for(var e=0;e<r.length;e++)r[e]=s$1(r[e]);return r}}return n(""+r)}
28
28
 
29
29
  var jsxRuntime = /*#__PURE__*/Object.freeze({
30
- __proto__: null,
31
- jsx: u$2,
32
- jsxAttr: l$2,
33
- jsxDEV: u$2,
34
- jsxEscape: s$2,
35
- jsxTemplate: a$1,
36
- jsxs: u$2,
37
- Fragment: S
30
+ __proto__: null,
31
+ jsx: u$1,
32
+ jsxAttr: l$1,
33
+ jsxDEV: u$1,
34
+ jsxEscape: s$1,
35
+ jsxTemplate: a$1,
36
+ jsxs: u$1,
37
+ Fragment: S
38
38
  });
39
39
 
40
- function clampProp(e, n, t, o, r) {
41
- return ba(n, ((e, n) => {
42
- const t = e[n];
43
- if (void 0 === t) {
44
- throw new TypeError(missingField(n));
40
+ const NativeTemporal = globalThis.Temporal;
41
+ const expectedFinite = (entityName, num) => `Non-finite ${entityName}: ${num}`;
42
+ const forbiddenBigIntToNumber = (entityName) => `Cannot convert bigint to ${entityName}`;
43
+ const invalidObject = 'Invalid object';
44
+ const numberOutOfRange = (entityName, val, min, max) => invalidEntity$1(entityName, val) + `; must be between ${min}-${max}`;
45
+ // Entity/Fields/Bags
46
+ const invalidEntity$1 = (fieldName, val) => `Invalid ${fieldName}: ${val}`;
47
+
48
+ const nanoInMicro$1 = 1_000;
49
+ const nanoInMilli$1 = 1_000_000;
50
+ const nanoInSec$1 = 1_000_000_000;
51
+ const nanoInMinute$1 = 60_000_000_000;
52
+ const nanoInHour$1 = 3_600_000_000_000;
53
+ function normalizeOptions(options) {
54
+ if (options === undefined) {
55
+ return Object.create(null);
56
+ }
57
+ return requireObjectLike(options);
58
+ }
59
+ function toFiniteNumber(arg, entityName = 'number') {
60
+ if (typeof arg === 'bigint') {
61
+ throw new TypeError(forbiddenBigIntToNumber(entityName));
62
+ }
63
+ arg = Number(arg);
64
+ if (!Number.isFinite(arg)) {
65
+ throw new RangeError(expectedFinite(entityName, arg));
45
66
  }
46
- return t;
47
- })(e, n), t, o, r);
67
+ return arg;
68
+ }
69
+ function toIntegerWithTrunc(arg, entityName) {
70
+ return Math.trunc(toFiniteNumber(arg, entityName)) || 0; // ensure no -0
71
+ }
72
+ /*
73
+ min/max are inclusive
74
+ */
75
+ function constrainToRange$1(num, min, max) {
76
+ return Math.min(Math.max(num, min), max);
77
+ }
78
+ function isObjectLike(arg) {
79
+ return arg !== null && (typeof arg === 'object' || typeof arg === 'function');
80
+ }
81
+ function requireObjectLike(arg) {
82
+ if (!isObjectLike(arg)) {
83
+ throw new TypeError(invalidObject);
84
+ }
85
+ return arg;
48
86
  }
49
87
 
50
- function ba(e, n, t, o, r, i) {
51
- const a = clampNumber(n, t, o);
52
- if (r && n !== a) {
53
- throw new RangeError(numberOutOfRange(e, n, t, o, i));
54
- }
55
- return a;
88
+ const invalidEntity = invalidEntity$1;
89
+
90
+ const missingField = fieldName => `Missing ${fieldName}`;
91
+
92
+ const invalidChoice = (fieldName, val, choiceMap) => invalidEntity$1(fieldName, val) + "; must be " + Object.keys(choiceMap).join();
93
+
94
+ const forbiddenValueOf$1 = "Cannot use valueOf";
95
+
96
+ const invalidCallingContext = "Invalid calling context";
97
+
98
+ const exoticCalendarRequired = (calendarId, remedy) => `Unknown calendar ${calendarId}; might need ${remedy}`;
99
+
100
+ const invalidTimeZone = calendarId => invalidEntity$1("TimeZone", calendarId);
101
+
102
+ const outOfBoundsDate = "Out-of-bounds date";
103
+
104
+ const invalidSubstring = substring => `Invalid substring: ${substring}`;
105
+
106
+ const constrainToRange = constrainToRange$1;
107
+
108
+ function throwRangeError(message) {
109
+ throw new RangeError(message);
110
+ }
111
+
112
+ function throwTypeError(message) {
113
+ throw new TypeError(message);
114
+ }
115
+
116
+ function clampProp(props, propName, min, max, overflow) {
117
+ return clampEntity(propName, ((props, propName) => {
118
+ const propVal = props[propName];
119
+ return void 0 === propVal && throwTypeError(missingField(propName)), propVal;
120
+ })(props, propName), min, max, overflow);
56
121
  }
57
122
 
58
- function s$1(e) {
59
- return null !== e && /object|function/.test(typeof e);
123
+ function clampEntity(entityName, num, min, max, overflow, choices) {
124
+ const clamped = constrainToRange(num, min, max);
125
+ return overflow && num !== clamped && throwRangeError(((entityName, val, min, max, choices) => choices ? numberOutOfRange(entityName, choices[val], choices[min], choices[max]) : numberOutOfRange(entityName, val, min, max))(entityName, num, min, max, choices)),
126
+ clamped;
60
127
  }
61
128
 
62
- function on$1(e, n = Map) {
63
- const t = new n;
64
- return (n, ...o) => {
65
- if (t.has(n)) {
66
- return t.get(n);
129
+ function memoize$1(generator, MapClass = Map) {
130
+ const map = new MapClass;
131
+ return (key, ...otherArgs) => {
132
+ if (map.has(key)) {
133
+ return map.get(key);
67
134
  }
68
- const r = e(n, ...o);
69
- return t.set(n, r), r;
135
+ const val = generator(key, ...otherArgs);
136
+ return map.set(key, val), val;
70
137
  };
71
138
  }
72
139
 
73
- function zipProps(e, n) {
74
- const t = {};
75
- let o = e.length;
76
- for (const r of n) {
77
- t[e[--o]] = r;
140
+ const createNameDescriptors = name => createPropDescriptors({
141
+ name: name
142
+ }, 1);
143
+
144
+ const createPropDescriptors = (propVals, readonly) => mapProps(value => ({
145
+ value: value,
146
+ configurable: 1,
147
+ writable: !readonly
148
+ }), propVals);
149
+
150
+ const createStringTagDescriptors = value => ({
151
+ [Symbol.toStringTag]: {
152
+ value: value,
153
+ configurable: 1
78
154
  }
79
- return t;
80
- }
155
+ });
81
156
 
82
- function e$1(e, n, t) {
83
- const o = {};
84
- for (const r in n) {
85
- o[r] = e(n[r], r, t);
157
+ function mapProps(transformer, props) {
158
+ const res = {};
159
+ for (const propName in props) {
160
+ res[propName] = transformer(props[propName], propName);
86
161
  }
87
- return o;
162
+ return res;
88
163
  }
89
164
 
90
- function P$1(e, n, t) {
91
- const o = {};
92
- for (let r = 0; r < n.length; r++) {
93
- const i = n[r];
94
- o[i] = e(i, r, t);
165
+ function createPropGetters(propNames) {
166
+ const getters = {};
167
+ for (const propName of propNames) {
168
+ getters[propName] = slots => slots[propName];
95
169
  }
96
- return o;
170
+ return getters;
97
171
  }
98
172
 
99
- function remapProps(e, n, t) {
100
- const o = {};
101
- for (let r = 0; r < e.length; r++) {
102
- o[n[r]] = t[e[r]];
173
+ function pluckProps(propNames, props, dest = Object.create(null)) {
174
+ for (const propName of propNames) {
175
+ dest[propName] = props[propName];
103
176
  }
104
- return o;
177
+ return dest;
105
178
  }
106
179
 
107
- function nn$1(e, n) {
108
- const t = Object.create(null);
109
- for (const o of e) {
110
- t[o] = n[o];
111
- }
112
- return t;
180
+ function bindArgs(f, ...boundArgs) {
181
+ return (...dynamicArgs) => f(...boundArgs, ...dynamicArgs);
113
182
  }
114
183
 
115
- function gt(e, ...n) {
116
- return (...t) => e(...n, ...t);
184
+ function noop() {}
185
+
186
+ function capitalize(s) {
187
+ return s[0].toUpperCase() + s.substring(1);
117
188
  }
118
189
 
119
- function capitalize(e) {
120
- return e[0].toUpperCase() + e.substring(1);
190
+ function createRegExp(meat) {
191
+ return new RegExp(`^${meat}$`, "i");
121
192
  }
122
193
 
123
- function sortStrings(e) {
124
- return e.slice().sort();
194
+ function parseSubsecNano(fracStr) {
195
+ return parseInt(fracStr.padEnd(9, "0"));
125
196
  }
126
197
 
127
- function padNumber(e, n) {
128
- return String(n).padStart(e, "0");
198
+ function parseSign(s) {
199
+ return s && "+" !== s ? -1 : 1;
129
200
  }
130
201
 
131
- function compareNumbers$1(e, n) {
132
- return Math.sign(e - n);
202
+ function parseInt0(s) {
203
+ return void 0 === s ? 0 : parseInt(s);
133
204
  }
134
205
 
135
- function clampNumber(e, n, t) {
136
- return Math.min(Math.max(e, n), t);
206
+ function padNumber(digits, num) {
207
+ return String(num).padStart(digits, "0");
137
208
  }
138
209
 
139
- function divModFloor(e, n) {
140
- return [ Math.floor(e / n), modFloor(e, n) ];
210
+ const padNumber2 = /*@__PURE__*/ bindArgs(padNumber, 2);
211
+
212
+ function compareNumbers$1(a, b) {
213
+ return Math.sign(a - b);
141
214
  }
142
215
 
143
- function modFloor(e, n) {
144
- return (e % n + n) % n;
216
+ function divFloorBigInt(num, denom) {
217
+ const whole = num / denom;
218
+ return num % denom < 0n ? whole - 1n : whole;
145
219
  }
146
220
 
147
- function divModTrunc(e, n) {
148
- return [ divTrunc(e, n), modTrunc(e, n) ];
221
+ function divModFloorBigInt(num, divisor) {
222
+ const quotient = divFloorBigInt(num, divisor);
223
+ return [ quotient, num - quotient * divisor ];
149
224
  }
150
225
 
151
- function divTrunc(e, n) {
152
- return Math.trunc(e / n) || 0;
226
+ function divModFloor(num, divisor) {
227
+ return [ Math.floor(num / divisor), modFloor(num, divisor) ];
153
228
  }
154
229
 
155
- function modTrunc(e, n) {
156
- return e % n || 0;
230
+ function modFloor(num, divisor) {
231
+ return (num % divisor + divisor) % divisor;
157
232
  }
158
233
 
159
- function givenFieldsToBigNano(e, n, t) {
160
- let o = 0, r = 0;
161
- for (let i = 0; i <= n; i++) {
162
- const n = e[t[i]], a = Zu[i], s = go / a, [c, u] = divModTrunc(n, s);
163
- o += u * a, r += c;
164
- }
165
- const [i, a] = divModTrunc(o, go);
166
- return [ r + i, a ];
234
+ function divTrunc(num, divisor) {
235
+ return Math.trunc(num / divisor) || 0;
167
236
  }
168
237
 
169
- function nanoToGivenFields(e, n, t) {
170
- const o = {};
171
- for (let r = n; r >= 0; r--) {
172
- const n = Zu[r];
173
- o[t[r]] = divTrunc(e, n), e = modTrunc(e, n);
174
- }
175
- return o;
238
+ function hasHalf(num) {
239
+ return .5 === Math.abs(num % 1);
176
240
  }
177
241
 
178
- function oa(e) {
179
- if (!s$1(e)) {
180
- throw new TypeError(ru);
181
- }
182
- return e;
242
+ function normalizeEraName(era) {
243
+ const normalized = era.normalize("NFD").toLowerCase().replace(/[^a-z0-9]/g, "");
244
+ return "bc" === normalized || "b" === normalized ? "bce" : "ad" === normalized || "a" === normalized ? "ce" : normalized;
183
245
  }
184
246
 
185
- function requireType(e, n, t = e) {
186
- if (typeof n !== e) {
187
- throw new TypeError(invalidEntity(t, n));
188
- }
189
- return n;
247
+ const isoCalendarImpl = void 0;
248
+
249
+ function getCalendarSlotId(calendar) {
250
+ return calendar === isoCalendarImpl ? "iso8601" : 0 === calendar ? "gregory" : calendar.id;
190
251
  }
191
252
 
192
- function _e(e, n = "number") {
193
- if (!Number.isInteger(e)) {
194
- throw new RangeError(expectedInteger(n, e));
195
- }
196
- return e || 0;
253
+ function formatMonthCode(monthCodeNumber, isLeapMonth) {
254
+ return "M" + padNumber2(monthCodeNumber) + (isLeapMonth ? "L" : "");
197
255
  }
198
256
 
199
- function tu(e) {
200
- if ("symbol" == typeof e) {
201
- throw new TypeError(ou);
202
- }
203
- return String(e);
257
+ const unitNameMap = {
258
+ nanosecond: 0,
259
+ microsecond: 1,
260
+ millisecond: 2,
261
+ second: 3,
262
+ minute: 4,
263
+ hour: 5,
264
+ day: 6,
265
+ week: 7,
266
+ month: 8,
267
+ year: 9
268
+ };
269
+
270
+ const unitNamesAsc = /*@__PURE__*/ Object.keys(unitNameMap);
271
+
272
+ const nanoInMicro = nanoInMicro$1;
273
+
274
+ const nanoInMilli = nanoInMilli$1;
275
+
276
+ const nanoInSec = nanoInSec$1;
277
+
278
+ const nanoInMinute = nanoInMinute$1;
279
+
280
+ const nanoInHour = nanoInHour$1;
281
+
282
+ const nanoInUtcDay = 864e11;
283
+
284
+ const bigNanoInMilli = /*@__PURE__*/ BigInt(nanoInMilli);
285
+
286
+ const bigNanoInSec = /*@__PURE__*/ BigInt(nanoInSec);
287
+
288
+ const bigNanoInUtcDay = /*@__PURE__*/ BigInt(nanoInUtcDay);
289
+
290
+ const timeFieldNamesAsc = /*@__PURE__*/ unitNamesAsc.slice(0, 6);
291
+
292
+ const timeGetters$1 = /*@__PURE__*/ createPropGetters(timeFieldNamesAsc);
293
+
294
+ const calendarDateFieldNamesAsc = [ "day", "month", "year" ];
295
+
296
+ function validateTimeFields(timeFields) {
297
+ return constrainTimeFields(timeFields, 1), timeFields;
204
298
  }
205
299
 
206
- function toNumber(e, n = "number") {
207
- if ("bigint" == typeof e) {
208
- throw new TypeError(forbiddenBigIntToNumber(n));
209
- }
210
- if (e = Number(e), !Number.isFinite(e)) {
211
- throw new RangeError(expectedFinite(n, e));
300
+ const maxValues = {
301
+ hour: 23,
302
+ minute: 59,
303
+ second: 59
304
+ };
305
+
306
+ function constrainTimeFields(timeFields, overflow) {
307
+ const constrainedFields = {};
308
+ for (const fieldName of timeFieldNamesAsc) {
309
+ constrainedFields[fieldName] = clampEntity(fieldName, timeFields[fieldName], 0, maxValues[fieldName] || 999, overflow);
212
310
  }
213
- return e;
311
+ return constrainedFields;
214
312
  }
215
313
 
216
- function Za(e, n) {
217
- return Math.trunc(toNumber(e, n)) || 0;
314
+ function timeFieldsToNano(timeFields) {
315
+ return timeFieldsToSec(timeFields) * nanoInSec + timeFieldsToSubsecNano(timeFields);
218
316
  }
219
317
 
220
- function Ba(e, n) {
221
- return _e(toNumber(e, n), n);
318
+ function timeFieldsToSec(timeFields) {
319
+ return 3600 * timeFields.hour + 60 * timeFields.minute + timeFields.second;
222
320
  }
223
321
 
224
- function createBigNano(e, n) {
225
- let [t, o] = divModTrunc(n, go), r = e + t;
226
- const i = Math.sign(r);
227
- return i && i === -Math.sign(o) && (r -= i, o += i * go), [ r, o ];
322
+ function timeFieldsToSubsecNano(timeFields) {
323
+ return timeFields.millisecond * nanoInMilli + timeFields.microsecond * nanoInMicro + timeFields.nanosecond;
228
324
  }
229
325
 
230
- function Ta(e, n) {
231
- return createBigNano(e[0], e[1] + n);
326
+ function nanoToTimeFields(timeNano) {
327
+ const [timeMilli, nanoAfterMilli] = divModFloor(timeNano, nanoInMilli);
328
+ const [microsecond, nanosecond] = divModFloor(nanoAfterMilli, nanoInMicro);
329
+ return milliToTimeFields(timeMilli, microsecond, nanosecond);
330
+ }
331
+
332
+ function milliToTimeFields(timeMilli, microsecond = 0, nanosecond = 0) {
333
+ const [hour, milliAfterHour] = divModFloor(timeMilli, 36e5);
334
+ const [minute, milliAfterMinute] = divModFloor(milliAfterHour, 6e4);
335
+ const [second, millisecond] = divModFloor(milliAfterMinute, 1e3);
336
+ return {
337
+ hour: hour,
338
+ minute: minute,
339
+ second: second,
340
+ millisecond: millisecond,
341
+ microsecond: microsecond,
342
+ nanosecond: nanosecond
343
+ };
232
344
  }
233
345
 
234
- function pa(e, n) {
235
- return compareNumbers$1(e[0], n[0]) || compareNumbers$1(e[1], n[1]);
346
+ function epochNanoToSecMod(epochNano) {
347
+ const [epochSec, nano] = divModFloorBigInt(epochNano, bigNanoInSec);
348
+ return [ Number(epochSec), Number(nano) ];
236
349
  }
237
350
 
238
- function bigNanoOutside(e, n, t) {
239
- return -1 === pa(e, n) || 1 === pa(e, t);
351
+ function isoDateTimeToEpochNano(isoDateTime) {
352
+ return isoDateToEpochNano(isoDateTime) + BigInt(timeFieldsToNano(isoDateTime));
240
353
  }
241
354
 
242
- function Ge(e, n = 1) {
243
- const t = go / n, [o, r] = divModTrunc(e, t);
244
- return [ o, r * n ];
355
+ function isoDateToEpochNano(isoDate) {
356
+ return BigInt(isoDateToEpochDays(isoDate)) * bigNanoInUtcDay;
245
357
  }
246
358
 
247
- function divModBigNano(e, n, t = divModFloor) {
248
- const [o, r] = e, [i, a] = t(r, n);
249
- return [ o * (go / n) + i, a ];
359
+ function isoDateToEpochDays(isoDate) {
360
+ return isoArgsToEpochDays(isoDate.year, isoDate.month, isoDate.day);
250
361
  }
251
362
 
252
- function Do(e) {
253
- const n = clampProp(e, "isoYear", Nl, yl, 1), t = n === Nl ? 1 : n === yl ? -1 : 0;
254
- return t && io(ma({
255
- ...e,
256
- isoDay: e.isoDay + t,
257
- isoNanosecond: e.isoNanosecond - t
258
- })), e;
363
+ function isoArgsToEpochDays(isoYear, isoMonth = 1, isoDay = 1) {
364
+ const monthIndex = isoMonth - 1;
365
+ return isoYear += Math.floor(monthIndex / 12), isoMonth = modFloor(monthIndex, 12),
366
+ Date.UTC(isoYear % 400 - 400, isoMonth, 0) / 864e5 + 146097 * (divTrunc(isoYear, 400) + 1) + isoDay;
259
367
  }
260
368
 
261
- function io(e) {
262
- if (!e || bigNanoOutside(e, Ml, Tl)) {
263
- throw new RangeError(Mu);
369
+ function epochNanoToIsoDateTime(epochNano) {
370
+ const [epochDays, nanoAfterDay] = divModFloorBigInt(epochNano, bigNanoInUtcDay);
371
+ return {
372
+ ...epochDaysToIsoDate(Number(epochDays)),
373
+ ...nanoToTimeFields(Number(nanoAfterDay))
374
+ };
375
+ }
376
+
377
+ function epochDaysToIsoDate(epochDays) {
378
+ const legacyDate = new Date(864e5 * modFloor(epochDays, 146097));
379
+ return {
380
+ year: legacyDate.getUTCFullYear() + 400 * Math.floor(epochDays / 146097),
381
+ month: legacyDate.getUTCMonth() + 1,
382
+ day: legacyDate.getUTCDate()
383
+ };
384
+ }
385
+
386
+ function computeIsoMonthCodeParts(month) {
387
+ return [ month, 0 ];
388
+ }
389
+
390
+ function computeIsoFieldsFromParts(year, month, day) {
391
+ return {
392
+ year: year,
393
+ month: month,
394
+ day: day
395
+ };
396
+ }
397
+
398
+ function computeIsoDaysInMonth(year, month) {
399
+ switch (month) {
400
+ case 2:
401
+ return computeIsoInLeapYear(year) ? 29 : 28;
402
+
403
+ case 4:
404
+ case 6:
405
+ case 9:
406
+ case 11:
407
+ return 30;
264
408
  }
265
- return e;
409
+ return 31;
266
410
  }
267
411
 
268
- function isoTimeFieldsToNano(e) {
269
- return givenFieldsToBigNano(e, 5, w$1)[1];
412
+ function computeIsoDaysInYear(year) {
413
+ return computeIsoInLeapYear(year) ? 366 : 365;
270
414
  }
271
415
 
272
- function nanoToIsoTimeAndDay(e) {
273
- const [n, t] = divModFloor(e, go);
274
- return [ nanoToGivenFields(t, 5, w$1), n ];
416
+ function computeIsoInLeapYear(year) {
417
+ return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
275
418
  }
276
419
 
277
- function epochNanoToSec(e) {
278
- return epochNanoToSecMod(e)[0];
420
+ function computeIsoDayOfWeek(isoDateFields) {
421
+ return modFloor(isoArgsToEpochDays(isoDateFields.year, isoDateFields.month, isoDateFields.day) + 4, 7) || 7;
279
422
  }
280
423
 
281
- function epochNanoToSecMod(e) {
282
- return divModBigNano(e, oo);
424
+ function computeIsoDayOfYear(isoDateFields) {
425
+ return isoArgsToEpochDays(isoDateFields.year, isoDateFields.month, isoDateFields.day) - isoArgsToEpochDays(isoDateFields.year) + 1;
283
426
  }
284
427
 
285
- function isoToEpochMilli(e) {
286
- return isoArgsToEpochMilli(e.isoYear, e.isoMonth, e.isoDay, e.isoHour, e.isoMinute, e.isoSecond, e.isoMillisecond);
428
+ function computeIsoWeekFields(isoDateFields) {
429
+ let yearOfWeek = isoDateFields.year;
430
+ let weekOfYear = Math.floor((computeIsoDayOfYear(isoDateFields) - computeIsoDayOfWeek(isoDateFields) + 10) / 7);
431
+ let weeksInYear = computeIsoWeeksInYear(yearOfWeek);
432
+ return weekOfYear < 1 ? weekOfYear = weeksInYear = computeIsoWeeksInYear(--yearOfWeek) : weekOfYear > weeksInYear && (weekOfYear = 1,
433
+ weeksInYear = computeIsoWeeksInYear(++yearOfWeek)), {
434
+ weekOfYear: weekOfYear,
435
+ yearOfWeek: yearOfWeek,
436
+ Ie: weeksInYear
437
+ };
287
438
  }
288
439
 
289
- function ma(e) {
290
- const n = isoToEpochMilli(e);
291
- if (void 0 !== n) {
292
- const [t, o] = divModTrunc(n, Cu);
293
- return [ t, o * Ke + (e.isoMicrosecond || 0) * ro + (e.isoNanosecond || 0) ];
294
- }
440
+ function computeIsoWeeksInYear(year) {
441
+ const y0DayOfWeek = computeIsoDayOfWeek({
442
+ year: year,
443
+ month: 1,
444
+ day: 1
445
+ });
446
+ return 4 === y0DayOfWeek || 3 === y0DayOfWeek && computeIsoInLeapYear(year) ? 53 : 52;
295
447
  }
296
448
 
297
- function isoToEpochNanoWithOffset(e, n) {
298
- const [t, o] = nanoToIsoTimeAndDay(isoTimeFieldsToNano(e) - n);
299
- return io(ma({
300
- ...e,
301
- isoDay: e.isoDay + o,
302
- ...t
303
- }));
449
+ function computeGregoryEraFields({year: year}) {
450
+ return year < 1 ? {
451
+ era: "bce",
452
+ eraYear: 1 - year
453
+ } : {
454
+ era: "ce",
455
+ eraYear: year
456
+ };
304
457
  }
305
458
 
306
- function isoArgsToEpochSec(...e) {
307
- return isoArgsToEpochMilli(...e) / ku;
459
+ function validateIsoDateTimeFields(isoDateTime) {
460
+ return validateIsoDateFields(isoDateTime), validateTimeFields(isoDateTime);
308
461
  }
309
462
 
310
- function isoArgsToEpochMilli(...e) {
311
- const [n, t] = isoToLegacyDate(...e), o = n.valueOf();
312
- if (!isNaN(o)) {
313
- return o - t * Cu;
314
- }
463
+ function validateIsoDateFields(isoInternals) {
464
+ return constrainIsoDateFields(isoInternals, 1), isoInternals;
315
465
  }
316
466
 
317
- function isoToLegacyDate(e, n = 1, t = 1, o = 0, r = 0, i = 0, a = 0) {
318
- const s = e === Nl ? 1 : e === yl ? -1 : 0, c = new Date;
319
- return c.setUTCHours(o, r, i, a), c.setUTCFullYear(e, n - 1, t + s), [ c, s ];
467
+ function constrainIsoDateFields(isoDate, overflow) {
468
+ const {year: year} = isoDate;
469
+ const month = clampProp(isoDate, "month", 1, 12, overflow);
470
+ return {
471
+ year: year,
472
+ month: month,
473
+ day: clampProp(isoDate, "day", 1, computeIsoDaysInMonth(year, month), overflow)
474
+ };
320
475
  }
321
476
 
322
- function So(e, n) {
323
- let [t, o] = Ta(e, n);
324
- o < 0 && (o += go, t -= 1);
325
- const [r, i] = divModFloor(o, Ke), [a, s] = divModFloor(i, ro);
326
- return Pa(t * Cu + r, a, s);
477
+ function computeCalendarDateFields(calendar, isoDate) {
478
+ return calendar ? calendar.ie(isoDate) : isoDate;
327
479
  }
328
480
 
329
- function Pa(e, n = 0, t = 0) {
330
- const o = Math.ceil(Math.max(0, Math.abs(e) - gl) / Cu) * Math.sign(e), r = new Date(e - o * Cu);
331
- return zipProps(pl, [ r.getUTCFullYear(), r.getUTCMonth() + 1, r.getUTCDate() + o, r.getUTCHours(), r.getUTCMinutes(), r.getUTCSeconds(), r.getUTCMilliseconds(), n, t ]);
481
+ function computeCalendarMonthCodeParts(calendar, year, month) {
482
+ return calendar ? calendar.O(year, month) : computeIsoMonthCodeParts(month);
332
483
  }
333
484
 
334
- function hashIntlFormatParts(e, n) {
335
- if (n < -gl) {
336
- throw new RangeError(Mu);
337
- }
338
- const t = e.formatToParts(n), o = {};
339
- for (const e of t) {
340
- o[e.type] = e.value;
341
- }
342
- return o;
485
+ function computeCalendarEraFields(calendar, isoDate) {
486
+ return 0 === calendar ? computeGregoryEraFields(isoDate) : calendar ? calendar.h(isoDate) : {};
343
487
  }
344
488
 
345
- function computeIsoDateParts(e) {
346
- return [ e.isoYear, e.isoMonth, e.isoDay ];
489
+ function computeCalendarIsoFieldsFromParts(calendar, year, month, day) {
490
+ return calendar ? calendar.je(year, month, day) : computeIsoFieldsFromParts(year, month, day);
347
491
  }
348
492
 
349
- function computeIsoMonthCodeParts(e, n) {
350
- return [ n, 0 ];
493
+ function computeCalendarMonthsInYearForYear(calendar, year) {
494
+ return calendar ? calendar.k(year) : 12;
351
495
  }
352
496
 
353
- function computeIsoMonthsInYear() {
354
- return Fl;
497
+ function computeCalendarDaysInMonthForYearMonth(calendar, year, month) {
498
+ return calendar ? calendar.p(year, month) : computeIsoDaysInMonth(year, month);
355
499
  }
356
500
 
357
- function computeIsoDaysInMonth(e, n) {
358
- switch (n) {
359
- case 2:
360
- return computeIsoInLeapYear(e) ? 29 : 28;
501
+ function computeCalendarMonthCode(calendar, isoDate) {
502
+ const {year: year, month: month} = computeCalendarDateFields(calendar, isoDate);
503
+ const [monthCodeNumber, isLeapMonth] = computeCalendarMonthCodeParts(calendar, year, month);
504
+ return formatMonthCode(monthCodeNumber, isLeapMonth);
505
+ }
361
506
 
362
- case 4:
363
- case 6:
364
- case 9:
365
- case 11:
366
- return 30;
367
- }
368
- return 31;
507
+ function computeCalendarInLeapYear(calendar, isoDate) {
508
+ const {year: year} = computeCalendarDateFields(calendar, isoDate);
509
+ return calendar ? calendar.u(year) : computeIsoInLeapYear(year);
510
+ }
511
+
512
+ function computeCalendarMonthsInYear(calendar, isoDate) {
513
+ const {year: year} = computeCalendarDateFields(calendar, isoDate);
514
+ return computeCalendarMonthsInYearForYear(calendar, year);
369
515
  }
370
516
 
371
- function computeIsoInLeapYear(e) {
372
- return e % 4 == 0 && (e % 100 != 0 || e % 400 == 0);
517
+ function computeCalendarDaysInMonth(calendar, isoDate) {
518
+ const {year: year, month: month} = computeCalendarDateFields(calendar, isoDate);
519
+ return computeCalendarDaysInMonthForYearMonth(calendar, year, month);
373
520
  }
374
521
 
375
- function computeIsoEraParts(e) {
376
- return this.id === Xu ? (({isoYear: e}) => e < 1 ? [ "gregory-inverse", 1 - e ] : [ "gregory", e ])(e) : this.id === el ? Ol(e) : [];
522
+ function computeCalendarDaysInYear(calendar, isoDate) {
523
+ const {year: year} = computeCalendarDateFields(calendar, isoDate);
524
+ return calendar ? calendar.j(year) : computeIsoDaysInYear(year);
377
525
  }
378
526
 
379
- function computeJapaneseEraParts(e) {
380
- const n = isoToEpochMilli(e);
381
- if (n < El) {
382
- const {isoYear: n} = e;
383
- return n < 1 ? [ "japanese-inverse", 1 - n ] : [ "japanese", n ];
527
+ function computeCalendarDayOfYear(calendar, isoDate) {
528
+ if (!calendar) {
529
+ return computeIsoDayOfYear(isoDate);
384
530
  }
385
- const t = hashIntlFormatParts(bf(el), n), {era: o, eraYear: r} = parseIntlYear(t, el);
386
- return [ o, r ];
531
+ const {year: year} = computeCalendarDateFields(calendar, isoDate);
532
+ const yearStartIsoDate = computeCalendarIsoFieldsFromParts(calendar, year, 1, 1);
533
+ return isoDateToEpochDays(isoDate) - isoDateToEpochDays(yearStartIsoDate) + 1;
387
534
  }
388
535
 
389
- function checkIsoDateTimeFields(e) {
390
- return checkIsoDateFields(e), constrainIsoTimeFields(e, 1), e;
536
+ function computeCalendarWeekOfYear(calendar, isoDate) {
537
+ return calendar === isoCalendarImpl ? computeIsoWeekFields(isoDate).weekOfYear : void 0;
391
538
  }
392
539
 
393
- function checkIsoDateFields(e) {
394
- return constrainIsoDateFields(e, 1), e;
540
+ function computeCalendarYearOfWeek(calendar, isoDate) {
541
+ return calendar === isoCalendarImpl ? computeIsoWeekFields(isoDate).yearOfWeek : void 0;
395
542
  }
396
543
 
397
- function constrainIsoDateFields(e, n) {
398
- const {isoYear: t} = e, o = clampProp(e, "isoMonth", 1, computeIsoMonthsInYear(), n);
399
- return {
400
- isoYear: t,
401
- isoMonth: o,
402
- isoDay: clampProp(e, "isoDay", 1, computeIsoDaysInMonth(t, o), n)
403
- };
544
+ const requireString = /*@__PURE__*/ bindArgs(requireType, "string");
545
+
546
+ function requireType(typeName, arg, entityName = typeName) {
547
+ return typeof arg !== typeName && throwTypeError(invalidEntity(entityName, arg)),
548
+ arg;
404
549
  }
405
550
 
406
- function constrainIsoTimeFields(e, n) {
407
- return zipProps(w$1, [ clampProp(e, "isoHour", 0, 23, n), clampProp(e, "isoMinute", 0, 59, n), clampProp(e, "isoSecond", 0, 59, n), clampProp(e, "isoMillisecond", 0, 999, n), clampProp(e, "isoMicrosecond", 0, 999, n), clampProp(e, "isoNanosecond", 0, 999, n) ]);
551
+ function requireNumberIsInteger(num, entityName = "number") {
552
+ return Number.isInteger(num) || throwRangeError(((entityName, num) => `Non-integer ${entityName}: ${num}`)(entityName, num)),
553
+ num || 0;
408
554
  }
409
555
 
410
- function normalizeOptions(e) {
411
- return void 0 === e ? {} : oa(e);
556
+ function toString$3(arg) {
557
+ return "symbol" == typeof arg && throwTypeError("Cannot convert Symbol to string"),
558
+ String(arg);
412
559
  }
413
560
 
414
- function refineChoiceOption(e, n, t, o = 0) {
415
- const r = t[e];
416
- if (void 0 === r) {
417
- return o;
418
- }
419
- const i = tu(r), a = n[i];
420
- if (void 0 === a) {
421
- throw new RangeError(invalidChoice(e, i, n));
561
+ function toStrictInteger(arg, entityName) {
562
+ return requireNumberIsInteger(toFiniteNumber(arg, entityName), entityName);
563
+ }
564
+
565
+ const epochDisambigMap = {
566
+ compatible: 0,
567
+ reject: 1,
568
+ earlier: 2,
569
+ later: 3
570
+ };
571
+
572
+ const roundingModeFuncs = [ Math.floor, num => hasHalf(num) ? Math.floor(num) : Math.round(num), Math.ceil, num => hasHalf(num) ? Math.ceil(num) : Math.round(num), Math.trunc, num => hasHalf(num) ? Math.trunc(num) || 0 : Math.round(num), num => num < 0 ? Math.floor(num) : Math.ceil(num), num => Math.sign(num) * Math.round(Math.abs(num)) || 0, num => hasHalf(num) ? (num = Math.trunc(num) || 0) + num % 2 : Math.round(num) ];
573
+
574
+ function coerceChoiceOption(optionName, enumNameMap, options, defaultChoice = 0) {
575
+ const enumArg = options[optionName];
576
+ if (void 0 === enumArg) {
577
+ return defaultChoice;
422
578
  }
423
- return a;
579
+ const enumStr = toString$3(enumArg);
580
+ const enumNum = enumNameMap[enumStr];
581
+ return void 0 === enumNum && throwRangeError(invalidChoice(optionName, enumStr, enumNameMap)),
582
+ enumNum;
424
583
  }
425
584
 
426
- function xe(e) {
427
- return {
428
- branding: Re,
429
- epochNanoseconds: e
430
- };
585
+ const coerceEpochDisambig = /*@__PURE__*/ bindArgs(coerceChoiceOption, "disambiguation", epochDisambigMap);
586
+
587
+ const epochNanoMax = /*@__PURE__*/ BigInt(1e8) * bigNanoInUtcDay;
588
+
589
+ const epochNanoMin = /*@__PURE__*/ BigInt(-1e8) * bigNanoInUtcDay;
590
+
591
+ const plainDateEpochNanoMin = epochNanoMin - bigNanoInUtcDay;
592
+
593
+ function checkIsoDateTimeInBounds(isoDateTime) {
594
+ const epochNano = isoDateToEpochNano(isoDateTime);
595
+ return checkIsoDateEpochNanoInBounds(epochNano), epochNano !== plainDateEpochNanoMin || timeFieldsToNano(isoDateTime) || throwRangeError(outOfBoundsDate),
596
+ isoDateTime;
597
+ }
598
+
599
+ function checkIsoDateEpochNanoInBounds(epochNano, allowPlainDateLowerEdge = 1) {
600
+ (epochNano < (allowPlainDateLowerEdge ? plainDateEpochNanoMin : epochNanoMin) || epochNano > epochNanoMax) && throwRangeError(outOfBoundsDate);
601
+ }
602
+
603
+ function checkEpochNanoInBounds(epochNano) {
604
+ return (epochNano < epochNanoMin || epochNano > epochNanoMax) && throwRangeError(outOfBoundsDate),
605
+ epochNano;
431
606
  }
432
607
 
433
- function Xe(e, n, t) {
608
+ function isoDateTimeAndOffsetToEpochNano(isoDateTime, offsetNano) {
609
+ return checkEpochNanoInBounds(isoDateToEpochNano(isoDateTime) + BigInt(timeFieldsToNano(isoDateTime) - offsetNano));
610
+ }
611
+
612
+ function createEpochNanoSlots(epochNano) {
434
613
  return {
435
- branding: _,
436
- calendar: t,
437
- timeZone: n,
438
- epochNanoseconds: e
614
+ epochNanoseconds: epochNano
439
615
  };
440
616
  }
441
617
 
442
- function jt(e, n = e.calendar) {
618
+ function createZonedEpochNanoSlots(epochNano, timeZone, calendar) {
443
619
  return {
444
- branding: x,
445
- calendar: n,
446
- ...nn$1(Il, e)
620
+ calendar: calendar,
621
+ timeZone: timeZone,
622
+ epochNanoseconds: epochNano
447
623
  };
448
624
  }
449
625
 
450
- function I(e) {
451
- return divModBigNano(e.epochNanoseconds, Ke)[0];
626
+ function createDateTimeSlots(isoDateTime, calendar) {
627
+ return pluckProps(timeFieldNamesAsc, isoDateTime, createDateSlots(isoDateTime, calendar));
452
628
  }
453
629
 
454
- function Se(e, n = 0) {
455
- if (1 === n) {
456
- return "";
457
- }
458
- const [t, o] = divModFloor(Math.abs(e), no), [r, i] = divModFloor(o, ao), [a, s] = divModFloor(i, oo);
459
- return getSignStr(e) + wu(t) + ":" + wu(r) + (a || s ? ":" + wu(a) + formatSubsecNano(s) : "");
630
+ function createDateSlots(isoDate, calendar) {
631
+ return pluckProps(calendarDateFieldNamesAsc, isoDate, {
632
+ calendar: calendar
633
+ });
634
+ }
635
+
636
+ function getEpochMilli(slots) {
637
+ return epochNano = slots.epochNanoseconds, Number(divFloorBigInt(epochNano, bigNanoInMilli));
638
+ var epochNano;
460
639
  }
461
640
 
462
- function formatSubsecNano(e, n) {
463
- let t = padNumber(9, e);
464
- return t = void 0 === n ? t.replace(af, "") : t.slice(0, n), t ? "." + t : "";
641
+ function getEpochNano(slots) {
642
+ return slots.epochNanoseconds;
465
643
  }
466
644
 
467
- function getSignStr(e) {
468
- return e < 0 ? "-" : "+";
645
+ function roundToMinute$4(offsetNano) {
646
+ return roundNumberToInc(offsetNano, nanoInMinute, 7);
469
647
  }
470
648
 
471
- function _zonedEpochSlotsToIso(e, n) {
472
- const {epochNanoseconds: t} = e, o = (n.N ? n : n(e.timeZone)).N(t), r = So(t, o);
649
+ function roundNumberToInc(num, roundingInc, roundingMode) {
650
+ return roundWithMode(num / roundingInc, roundingMode) * roundingInc;
651
+ }
652
+
653
+ function roundWithMode(num, roundingMode) {
654
+ return roundingModeFuncs[roundingMode](num);
655
+ }
656
+
657
+ const zonedEpochSlotsToIso = /*@__PURE__*/ memoize$1(_zonedEpochSlotsToIso, WeakMap);
658
+
659
+ function _zonedEpochSlotsToIso(slots) {
660
+ const {epochNanoseconds: epochNanoseconds, timeZone: timeZone} = slots;
661
+ const offsetNanoseconds = timeZone.C(epochNanoseconds);
473
662
  return {
474
- calendar: e.calendar,
475
- ...r,
476
- offsetNanoseconds: o
663
+ ...epochNanoToIsoDateTime(epochNanoseconds + BigInt(offsetNanoseconds)),
664
+ offsetNanoseconds: offsetNanoseconds
477
665
  };
478
666
  }
479
667
 
480
- function $o(e, n, t = 0, o = e.v(n)) {
481
- if (1 === o.length) {
482
- return o[0];
668
+ function getSingleInstantFor(timeZone, isoDateTime, disambig = 0, possibleEpochNanos = timeZone.R(isoDateTime)) {
669
+ if (1 === possibleEpochNanos.length) {
670
+ return possibleEpochNanos[0];
483
671
  }
484
- if (1 === t) {
485
- throw new RangeError(Tu);
672
+ if (1 === disambig && throwRangeError("Ambiguous offset"), possibleEpochNanos.length) {
673
+ return possibleEpochNanos[3 === disambig ? 1 : 0];
486
674
  }
487
- if (o.length) {
488
- return o[3 === t ? 1 : 0];
675
+ const zonedEpochNano = isoDateTimeToEpochNano(isoDateTime);
676
+ const gapNano = ((timeZone, zonedEpochNano) => {
677
+ const startOffsetNano = timeZone.C(zonedEpochNano - bigNanoInUtcDay);
678
+ return (gapNano => (gapNano > nanoInUtcDay && throwRangeError("Out-of-bounds TimeZone gap"),
679
+ gapNano))(timeZone.C(zonedEpochNano + bigNanoInUtcDay) - startOffsetNano);
680
+ })(timeZone, zonedEpochNano);
681
+ const shiftedIsoDateTime = epochNanoToIsoDateTime(zonedEpochNano + BigInt(gapNano * (2 === disambig ? -1 : 1)));
682
+ return (possibleEpochNanos = timeZone.R(shiftedIsoDateTime))[2 === disambig ? 0 : possibleEpochNanos.length - 1];
683
+ }
684
+
685
+ const offsetRegExp = /*@__PURE__*/ createRegExp("([+-])(\\d{2})(?::?(\\d{2})(?::?(\\d{2})(?:[.,](\\d{1,9}))?)?)?");
686
+
687
+ function parseOffsetNanoMaybe(s, onlyHourMinute) {
688
+ const parts = offsetRegExp.exec(s);
689
+ if (parts && (s => (s => {
690
+ "T" !== s[0] && "t" !== s[0] || (s = s.slice(1));
691
+ const fractionIndex = s.search(/[.,]/);
692
+ const main = fractionIndex < 0 ? s : s.slice(0, fractionIndex);
693
+ const parts = main.split(":");
694
+ return 1 === parts.length ? /^(?:\d{2}|\d{4}|\d{6})$/i.test(main) : (2 === parts.length || 3 === parts.length) && parts.every(part => 2 === part.length && /^\d{2}$/i.test(part));
695
+ })(s.slice(1)))(parts[0])) {
696
+ return ((parts, onlyHourMinute) => {
697
+ const firstSubMinutePart = parts[4] || parts[5];
698
+ onlyHourMinute && firstSubMinutePart && throwRangeError(invalidSubstring(firstSubMinutePart));
699
+ const offsetNanoPos = parseInt0(parts[2]) * nanoInHour + parseInt0(parts[3]) * nanoInMinute + parseInt0(parts[4]) * nanoInSec + parseSubsecNano(parts[5] || "");
700
+ return offsetNano = offsetNanoPos * parseSign(parts[1]), Math.abs(offsetNano) >= nanoInUtcDay && throwRangeError("Out-of-bounds offset"),
701
+ offsetNano;
702
+ var offsetNano;
703
+ })(parts, onlyHourMinute);
489
704
  }
490
- const r = ma(n), i = ((e, n) => {
491
- const t = e.N(Ta(n, -go));
492
- return (e => {
493
- if (e > go) {
494
- throw new RangeError(Du);
495
- }
496
- return e;
497
- })(e.N(Ta(n, go)) - t);
498
- })(e, r), a = i * (2 === t ? -1 : 1);
499
- return (o = e.v(So(r, a)))[2 === t ? 0 : o.length - 1];
500
705
  }
501
706
 
502
- function createSplitTuple(e, n) {
503
- return [ e, n ];
504
- }
707
+ const RawDateTimeFormat = Intl.DateTimeFormat;
505
708
 
506
- function computePeriod(e) {
507
- const n = Math.floor(e / tf) * tf;
508
- return [ n, n + tf ];
509
- }
709
+ function formatEpochMilliToPartsRecord(intlFormat, epochMilli) {
710
+ epochMilli < -864e13 && throwRangeError(outOfBoundsDate);
711
+ const parts = intlFormat.formatToParts(epochMilli);
712
+ const hash = {};
713
+ for (const part of parts) {
714
+ hash[part.type] = part.value;
715
+ }
716
+ return hash;
717
+ }
718
+
719
+ const timeZonePeriodDaysByName = {
720
+ "El_Aaiun": 17,
721
+ "Tucuman": 12,
722
+ "Tirane": 11,
723
+ "Riga": 10,
724
+ "Simferopol": 9,
725
+ "Vienna": 9,
726
+ "Tunis": 8,
727
+ "Boa_Vista": 6,
728
+ "Fortaleza": 6,
729
+ "Maceio": 6,
730
+ "Noronha": 6,
731
+ "Recife": 6,
732
+ "Gaza": 6,
733
+ "Hebron": 6,
734
+ "DeNoronha": 6
735
+ };
510
736
 
511
- function parseOffsetNanoMaybe(e, n) {
512
- const t = Mf.exec(e);
513
- return t ? ((e, n) => {
514
- const t = e[4] || e[5];
515
- if (n && t) {
516
- throw new RangeError(invalidSubstring(t));
517
- }
518
- return (e => {
519
- if (Math.abs(e) >= go) {
520
- throw new RangeError(Iu);
521
- }
522
- return e;
523
- })((parseInt0(e[2]) * no + parseInt0(e[3]) * ao + parseInt0(e[4]) * oo + parseSubsecNano(e[5] || "")) * parseSign(e[1]));
524
- })(t, n) : void 0;
737
+ const minPossibleTransitionSec = -388152e4;
738
+
739
+ function formatInstantIsoAuto(instantSlots) {
740
+ return formatIsoDateTimeFields(epochNanoToIsoDateTime(instantSlots.epochNanoseconds), void 0) + "Z";
525
741
  }
526
742
 
527
- function parseSubsecNano(e) {
528
- return parseInt(e.padEnd(9, "0"));
743
+ function formatZonedDateTimeIsoAuto(zonedDateTimeSlots) {
744
+ const calendar = zonedDateTimeSlots.calendar;
745
+ const timeZone = zonedDateTimeSlots.timeZone;
746
+ const offsetNano = timeZone.C(zonedDateTimeSlots.epochNanoseconds);
747
+ return formatIsoDateTimeFields(epochNanoToIsoDateTime(zonedDateTimeSlots.epochNanoseconds + BigInt(offsetNano)), void 0) + formatOffsetNano(roundToMinute$4(offsetNano)) + formatTimeZone(timeZone.id, 0) + (calendar === isoCalendarImpl ? "" : formatCalendarId(getCalendarSlotId(calendar), 0));
529
748
  }
530
749
 
531
- function createRegExp(e) {
532
- return new RegExp(`^${e}$`, "i");
750
+ function formatDateTimeIsoAuto(isoDateTimeSlots) {
751
+ const calendar = isoDateTimeSlots.calendar;
752
+ return formatIsoDateTimeFields(isoDateTimeSlots, void 0) + (calendar === isoCalendarImpl ? "" : formatCalendarId(getCalendarSlotId(calendar), 0));
533
753
  }
534
754
 
535
- function parseSign(e) {
536
- return e && "+" !== e ? -1 : 1;
755
+ function formatIsoDateTimeFields(isoDateTime, subsecDigits) {
756
+ return formatIsoDateFields(isoDateTime) + "T" + formatTimeFields(isoDateTime, subsecDigits);
537
757
  }
538
758
 
539
- function parseInt0(e) {
540
- return void 0 === e ? 0 : parseInt(e);
759
+ function formatIsoDateFields(isoDateFields) {
760
+ return formatIsoYearMonthFields(isoDateFields) + "-" + padNumber2(isoDateFields.day);
541
761
  }
542
762
 
543
- function Me(e) {
544
- return Z$1(d(e));
763
+ function formatIsoYearMonthFields(isoDateFields) {
764
+ const {year: year} = isoDateFields;
765
+ return (year < 0 || year > 9999 ? getSignStr(year) + padNumber(6, Math.abs(year)) : padNumber(4, year)) + "-" + padNumber2(isoDateFields.month);
545
766
  }
546
767
 
547
- function Z$1(e) {
548
- const n = getTimeZoneEssence(e);
549
- return "number" == typeof n ? Se(n) : n ? (e => {
550
- if (Ff.test(e)) {
551
- throw new RangeError(F(e));
552
- }
553
- if (Pf.test(e)) {
554
- throw new RangeError(hu);
555
- }
556
- return e.toLowerCase().split("/").map(((e, n) => (e.length <= 3 || /\d/.test(e)) && !/etc|yap/.test(e) ? e.toUpperCase() : e.replace(/baja|dumont|[a-z]+/g, ((e, t) => e.length <= 2 && !n || "in" === e || "chat" === e ? e.toUpperCase() : e.length > 2 || !t ? capitalize(e).replace(/island|noronha|murdo|rivadavia|urville/, capitalize) : e)))).join("/");
557
- })(e) : nf;
768
+ function formatTimeFields(timeFields, subsecDigits) {
769
+ const parts = [ padNumber2(timeFields.hour), padNumber2(timeFields.minute) ];
770
+ return -1 !== subsecDigits && parts.push(padNumber2(timeFields.second) + ((millisecond, microsecond, nanosecond, subsecDigits) => formatSubsecNano(millisecond * nanoInMilli + microsecond * nanoInMicro + nanosecond, subsecDigits))(timeFields.millisecond, timeFields.microsecond, timeFields.nanosecond, subsecDigits)),
771
+ parts.join(":");
558
772
  }
559
773
 
560
- function getTimeZoneEssence(e) {
561
- const n = parseOffsetNanoMaybe(e = e.toUpperCase(), 1);
562
- return void 0 !== n ? n : e !== nf ? vf(e) : void 0;
774
+ function formatOffsetNano(offsetNano, offsetDisplay = 0) {
775
+ if (1 === offsetDisplay) {
776
+ return "";
777
+ }
778
+ const [hour, nanoRemainder0] = divModFloor(Math.abs(offsetNano), nanoInHour);
779
+ const [minute, nanoRemainder1] = divModFloor(nanoRemainder0, nanoInMinute);
780
+ const [second, nanoRemainder2] = divModFloor(nanoRemainder1, nanoInSec);
781
+ return getSignStr(offsetNano) + padNumber2(hour) + ":" + padNumber2(minute) + (second || nanoRemainder2 ? ":" + padNumber2(second) + formatSubsecNano(nanoRemainder2) : "");
563
782
  }
564
783
 
565
- function sa(e, n) {
566
- return "M" + wu(e) + (n ? "L" : "");
784
+ function formatTimeZone(timeZoneId, timeZoneDisplay) {
785
+ return 1 !== timeZoneDisplay ? "[" + (2 === timeZoneDisplay ? "!" : "") + timeZoneId + "]" : "";
567
786
  }
568
787
 
569
- function monthToMonthCodeNumber(e, n) {
570
- return e - (n && e >= n ? 1 : 0);
788
+ function formatCalendarId(calendarId, isCritical) {
789
+ return "[" + (isCritical ? "!" : "") + "u-ca=" + calendarId + "]";
571
790
  }
572
791
 
573
- function eraYearToYear(e, n) {
574
- return (n + e) * (Math.sign(n) || 1) || 0;
792
+ const trailingZerosRE = /0+$/;
793
+
794
+ function formatSubsecNano(totalNano, subsecDigits) {
795
+ let s = padNumber(9, totalNano);
796
+ return s = void 0 === subsecDigits ? s.replace(trailingZerosRE, "") : s.slice(0, subsecDigits),
797
+ s ? "." + s : "";
575
798
  }
576
799
 
577
- function getCalendarLeapMonthMeta(e) {
578
- return ol[getCalendarIdBase(e)];
800
+ function getSignStr(num) {
801
+ return num < 0 ? "-" : "+";
579
802
  }
580
803
 
581
- function getCalendarIdBase(e) {
582
- return computeCalendarIdBase(e.id || l$1);
804
+ const icuRegExp = /^(AC|AE|AG|AR|AS|BE|BS|CA|CN|CS|CT|EA|EC|IE|IS|JS|MI|NE|NS|PL|PN|PR|PS|SS|VS)T$/;
805
+
806
+ const badCharactersRegExp = /[^\w\/:+-]+/;
807
+
808
+ function refineTimeZoneId(rawId) {
809
+ return resolveTimeZoneId(requireString(rawId));
583
810
  }
584
811
 
585
- function createIntlCalendar(e) {
586
- function epochMilliToIntlFields(e) {
587
- return ((e, n) => ({
588
- ...parseIntlYear(e, n),
589
- V: e.month,
590
- day: parseInt(e.day)
591
- }))(hashIntlFormatParts(n, e), t);
592
- }
593
- const n = bf(e), t = computeCalendarIdBase(e);
594
- return {
595
- id: e,
596
- _: createIntlFieldCache(epochMilliToIntlFields),
597
- J: createIntlYearDataCache(epochMilliToIntlFields)
598
- };
812
+ function resolveTimeZoneId(rawId) {
813
+ return resolveTimeZoneRecord(rawId).id;
599
814
  }
600
815
 
601
- function createIntlFieldCache(e) {
602
- return on$1((n => {
603
- const t = isoToEpochMilli(n);
604
- return e(t);
605
- }), WeakMap);
606
- }
607
-
608
- function createIntlYearDataCache(e) {
609
- const n = e(0).year - vl;
610
- return on$1((t => {
611
- let o, r = isoArgsToEpochMilli(t - n), i = 0;
612
- const a = [], s = [];
613
- do {
614
- r += 400 * Cu;
615
- } while ((o = e(r)).year <= t);
616
- do {
617
- if (r += (1 - o.day) * Cu, o.year === t && (a.push(r), s.push(o.V)), r -= Cu, ++i > 100 || r < -gl) {
618
- throw new RangeError(du);
619
- }
620
- } while ((o = e(r)).year >= t);
816
+ function resolveTimeZoneRecord(rawId) {
817
+ const upperRawId = rawId.toUpperCase();
818
+ const offsetRecord = (upperRawId => {
819
+ const offsetNano = parseOffsetNanoMaybe(upperRawId, 1);
820
+ if (void 0 !== offsetNano) {
821
+ return {
822
+ id: formatOffsetNano(offsetNano),
823
+ _: offsetNano,
824
+ o: offsetNano
825
+ };
826
+ }
827
+ })(upperRawId);
828
+ if (offsetRecord) {
621
829
  return {
622
- K: a.reverse(),
623
- X: bu(s.reverse())
830
+ kind: "fixed",
831
+ ...offsetRecord
624
832
  };
625
- }));
833
+ }
834
+ const normId = "UTC" === upperRawId ? "UTC" : (rawId => (badCharactersRegExp.test(rawId) && throwRangeError(invalidTimeZone(rawId)),
835
+ icuRegExp.test(rawId) && throwRangeError("Forbidden ICU TimeZone"), rawId.toLowerCase().split("/").map((part, partI) => (part.length <= 3 || /\d/.test(part)) && !/etc|yap/.test(part) ? part.toUpperCase() : part.replace(/baja|dumont|[a-z]+/g, (a, i) => a.length <= 2 && !partI || "in" === a || "chat" === a ? a.toUpperCase() : a.length > 2 || !i ? capitalize(a).replace(/island|noronha|murdo|rivadavia|urville/, capitalize) : a)).join("/")))(rawId);
836
+ return queryNamedTimeZoneRecord(normId);
626
837
  }
627
838
 
628
- function parseIntlYear(e, n) {
629
- let t, o, r = parseIntlPartsYear(e);
630
- if (e.era) {
631
- const i = nl[n], a = tl[n] || {};
632
- void 0 !== i && (t = "islamic" === n ? "ah" : e.era.normalize("NFD").toLowerCase().replace(/[^a-z0-9]/g, ""),
633
- "bc" === t || "b" === t ? t = "bce" : "ad" === t || "a" === t ? t = "ce" : "beforeroc" === t && (t = "broc"),
634
- t = a[t] || t, o = r, r = eraYearToYear(o, i[t] || 0));
839
+ const queryNamedTimeZoneRecord = /*@__PURE__*/ memoize$1(normId => {
840
+ if ("UTC" === normId) {
841
+ return {
842
+ kind: "utc",
843
+ id: normId,
844
+ o: normId
845
+ };
635
846
  }
847
+ const upperNormId = normId.toUpperCase();
848
+ const format = queryTimeZoneIntlFormat(upperNormId);
636
849
  return {
637
- era: t,
638
- eraYear: o,
639
- year: r
850
+ kind: "named",
851
+ id: normId,
852
+ format: format,
853
+ o: format.resolvedOptions().timeZone
640
854
  };
641
- }
855
+ });
642
856
 
643
- function parseIntlPartsYear(e) {
644
- return parseInt(e.relatedYear || e.year);
645
- }
857
+ const queryTimeZoneIntlFormat = /*@__PURE__*/ memoize$1(upperNormId => new RawDateTimeFormat("en-u-hc-h23", {
858
+ calendar: "iso8601",
859
+ timeZone: upperNormId,
860
+ era: "short",
861
+ year: "numeric",
862
+ month: "numeric",
863
+ day: "numeric",
864
+ hour: "numeric",
865
+ minute: "numeric",
866
+ second: "numeric"
867
+ }));
646
868
 
647
- function computeIntlDateParts(e) {
648
- const {year: n, V: t, day: o} = this._(e), {X: r} = this.J(n);
649
- return [ n, r[t] + 1, o ];
869
+ function queryTimeZone(rawTimeZoneId) {
870
+ const record = resolveTimeZoneRecord(rawTimeZoneId);
871
+ return queryTimeZoneRecord(record.id, record);
650
872
  }
651
873
 
652
- function computeIntlMonthCodeParts(e, n) {
653
- const t = computeIntlLeapMonth.call(this, e);
654
- return [ monthToMonthCodeNumber(n, t), t === n ];
874
+ const queryTimeZoneRecord = /*@__PURE__*/ memoize$1((normTimeZoneId, record) => "named" === record.kind ? new IntlTimeZone(normTimeZoneId, record.o, record.format) : new FixedTimeZone(normTimeZoneId, record.o, "fixed" === record.kind ? record._ : 0));
875
+
876
+ class FixedTimeZone {
877
+ constructor(id, compareKey, offsetNano) {
878
+ this.id = id, this.o = compareKey, this._ = offsetNano;
879
+ }
880
+ C() {
881
+ return this._;
882
+ }
883
+ R(isoDateTime) {
884
+ return [ isoDateTimeAndOffsetToEpochNano(isoDateTime, this._) ];
885
+ }
886
+ U() {}
655
887
  }
656
888
 
657
- function computeIntlLeapMonth(e) {
658
- const n = queryMonthStrings(this, e), t = queryMonthStrings(this, e - 1), o = n.length;
659
- if (o > t.length) {
660
- const e = getCalendarLeapMonthMeta(this);
661
- if (e < 0) {
662
- return -e;
663
- }
664
- for (let e = 0; e < o; e++) {
665
- if (n[e] !== t[e]) {
666
- return e + 1;
889
+ class IntlTimeZone {
890
+ constructor(id, compareKey, format) {
891
+ this.id = id, this.o = compareKey, this.qe = ((computeOffsetSec, periodDays) => {
892
+ const getSample = memoize$1(computeOffsetSec);
893
+ const getSplit = memoize$1(createSplitTuple);
894
+ const periodSec = 86400 * periodDays;
895
+ function getOffsetSec(epochSec) {
896
+ const [startEpochSec, endEpochSec] = computePeriod(epochSec, periodSec);
897
+ const clampedStartEpochSec = clampIntlSampleEpochSec(startEpochSec);
898
+ const clampedEndEpochSec = clampIntlSampleEpochSec(endEpochSec);
899
+ const startOffsetSec = getSample(clampedStartEpochSec);
900
+ const endOffsetSec = getSample(clampedEndEpochSec);
901
+ return startOffsetSec === endOffsetSec ? startOffsetSec : pinch(getSplit(clampedStartEpochSec, clampedEndEpochSec), startOffsetSec, endOffsetSec, epochSec);
902
+ }
903
+ function pinch(split, startOffsetSec, endOffsetSec, forEpochSec) {
904
+ let offsetSec;
905
+ let splitDurSec;
906
+ for (;(void 0 === forEpochSec || void 0 === (offsetSec = forEpochSec < split[0] ? startOffsetSec : forEpochSec >= split[1] ? endOffsetSec : void 0)) && (splitDurSec = split[1] - split[0]); ) {
907
+ const middleEpochSec = split[0] + Math.floor(splitDurSec / 2);
908
+ computeOffsetSec(middleEpochSec) === endOffsetSec ? split[1] = middleEpochSec : split[0] = middleEpochSec + 1;
909
+ }
910
+ return offsetSec;
667
911
  }
912
+ return {
913
+ Ee(zonedEpochSec) {
914
+ const wideOffsetSec0 = getOffsetSec(zonedEpochSec - 86400);
915
+ const wideOffsetSec1 = getOffsetSec(zonedEpochSec + 86400);
916
+ const wideUtcEpochSec0 = zonedEpochSec - wideOffsetSec0;
917
+ const wideUtcEpochSec1 = zonedEpochSec - wideOffsetSec1;
918
+ if (wideOffsetSec0 === wideOffsetSec1) {
919
+ return [ wideUtcEpochSec0 ];
920
+ }
921
+ const narrowOffsetSec0 = getOffsetSec(wideUtcEpochSec0);
922
+ return narrowOffsetSec0 === getOffsetSec(wideUtcEpochSec1) ? [ zonedEpochSec - narrowOffsetSec0 ] : wideOffsetSec0 > wideOffsetSec1 ? [ wideUtcEpochSec0, wideUtcEpochSec1 ] : [];
923
+ },
924
+ De: getOffsetSec,
925
+ U: function getTransition(epochSec, direction) {
926
+ if (direction > 0 && epochSec >= 864e10) {
927
+ return;
928
+ }
929
+ if (direction < 0) {
930
+ if (epochSec <= minPossibleTransitionSec) {
931
+ return;
932
+ }
933
+ const lookaheadEpochSec = getCurrentEpochSec() + 94867200;
934
+ if (epochSec > lookaheadEpochSec) {
935
+ return getTransition(lookaheadEpochSec, -1);
936
+ }
937
+ }
938
+ const searchEpochSec = direction > 0 ? Math.max(epochSec, minPossibleTransitionSec) : epochSec;
939
+ let [startEpochSec, endEpochSec] = computePeriod(searchEpochSec, periodSec);
940
+ const inc = periodSec * direction;
941
+ const searchLimit = direction > 0 ? Math.max(epochSec, getCurrentEpochSec()) + 94867200 : minPossibleTransitionSec;
942
+ const inBounds = () => direction < 0 ? endEpochSec > searchLimit : startEpochSec < searchLimit;
943
+ for (;inBounds(); ) {
944
+ const clampedStartEpochSec = clampIntlSampleEpochSec(startEpochSec);
945
+ const clampedEndEpochSec = clampIntlSampleEpochSec(endEpochSec);
946
+ const startOffsetSec = getSample(clampedStartEpochSec);
947
+ const endOffsetSec = getSample(clampedEndEpochSec);
948
+ if (startOffsetSec !== endOffsetSec) {
949
+ const split = getSplit(clampedStartEpochSec, clampedEndEpochSec);
950
+ pinch(split, startOffsetSec, endOffsetSec);
951
+ const transitionEpochSec = split[0];
952
+ if ((compareNumbers$1(transitionEpochSec, epochSec) || 1) === direction) {
953
+ return transitionEpochSec;
954
+ }
955
+ }
956
+ startEpochSec += inc, endEpochSec += inc;
957
+ }
958
+ }
959
+ };
960
+ })((format => epochSec => {
961
+ const intlParts = formatEpochMilliToPartsRecord(format, 1e3 * epochSec);
962
+ return 86400 * isoArgsToEpochDays((intlParts => {
963
+ const relatedYear = intlParts.relatedYear;
964
+ if (void 0 !== relatedYear) {
965
+ return parseInt(relatedYear);
966
+ }
967
+ const year = parseInt(intlParts.year);
968
+ return void 0 !== intlParts.era && "bce" === normalizeEraName(intlParts.era) ? 1 - year : year;
969
+ })(intlParts), parseInt(intlParts.month), parseInt(intlParts.day)) + 3600 * parseInt(intlParts.hour) + 60 * parseInt(intlParts.minute) + parseInt(intlParts.second) - epochSec;
970
+ })(format), (timeZoneId => {
971
+ const timeZoneName = timeZoneId.split("/").pop();
972
+ return timeZonePeriodDaysByName[timeZoneName] || 60;
973
+ })(id));
974
+ }
975
+ C(epochNano) {
976
+ return this.qe.De((epochNano => epochNanoToSecMod(epochNano)[0])(epochNano)) * nanoInSec;
977
+ }
978
+ R(isoDateTime) {
979
+ const zonedEpochSec = 86400 * isoDateToEpochDays(isoDateTime) + timeFieldsToSec(isoDateTime);
980
+ const subsecNano = timeFieldsToSubsecNano(isoDateTime);
981
+ return this.qe.Ee(zonedEpochSec).map(epochSec => checkEpochNanoInBounds(BigInt(epochSec) * bigNanoInSec + BigInt(subsecNano)));
982
+ }
983
+ U(epochNano, direction) {
984
+ const [epochSec, subsecNano] = epochNanoToSecMod(epochNano);
985
+ const resEpochSec = this.qe.U(epochSec + (direction > 0 || subsecNano ? 1 : 0), direction);
986
+ if (void 0 !== resEpochSec) {
987
+ return BigInt(resEpochSec) * bigNanoInSec;
668
988
  }
669
989
  }
670
990
  }
671
991
 
672
- function computeIntlEraParts(e) {
673
- const n = this._(e);
674
- return [ n.era, n.eraYear ];
992
+ function getCurrentEpochSec() {
993
+ return Math.floor(Date.now() / 1e3);
675
994
  }
676
995
 
677
- function queryMonthStrings(e, n) {
678
- return Object.keys(e.J(n).X);
996
+ function createSplitTuple(startEpochSec, endEpochSec) {
997
+ return [ startEpochSec, endEpochSec ];
679
998
  }
680
999
 
681
- function Zt(e) {
682
- return u$1(d(e));
1000
+ function computePeriod(epochSec, periodSec) {
1001
+ const startEpochSec = Math.floor(epochSec / periodSec) * periodSec;
1002
+ return [ startEpochSec, startEpochSec + periodSec ];
683
1003
  }
684
1004
 
685
- function u$1(e) {
686
- if ((e = e.toLowerCase()) !== l$1 && e !== Xu) {
687
- const n = bf(e).resolvedOptions().calendar;
688
- if (computeCalendarIdBase(e) !== computeCalendarIdBase(n)) {
689
- throw new RangeError(c$1(e));
690
- }
691
- return n;
692
- }
693
- return e;
1005
+ function clampIntlSampleEpochSec(epochSec) {
1006
+ return constrainToRange(epochSec, -1e10, 864e10);
694
1007
  }
695
1008
 
696
- function computeCalendarIdBase(e) {
697
- return "islamicc" === e && (e = "islamic"), e.split("-")[0];
1009
+ function instantToZonedDateTime(instantSlots, timeZone, calendar) {
1010
+ return createZonedEpochNanoSlots(instantSlots.epochNanoseconds, timeZone, calendar);
698
1011
  }
699
1012
 
700
- function createNativeOpsCreator(e, n) {
701
- return t => t === l$1 ? e : t === Xu || t === el ? Object.assign(Object.create(e), {
702
- id: t
703
- }) : Object.assign(Object.create(n), Of(t));
1013
+ function plainDateTimeToZonedDateTime(plainDateTimeSlots, timeZone, options) {
1014
+ const epochNano = ((timeZone, isoDateTime, options) => {
1015
+ const epochDisambig = (options => coerceEpochDisambig(normalizeOptions(options)))(options);
1016
+ return getSingleInstantFor(timeZone, isoDateTime, epochDisambig);
1017
+ })(timeZone, plainDateTimeSlots, options);
1018
+ return createZonedEpochNanoSlots(checkEpochNanoInBounds(epochNano), timeZone, plainDateTimeSlots.calendar);
704
1019
  }
705
1020
 
706
- function Mt(n, t, o, r, i = 0, a = 0, s = 0, c = 0, u = 0, f = 0, d = l$1) {
707
- return jt(Do(checkIsoDateTimeFields(e$1(Za, zipProps(pl, [ t, o, r, i, a, s, c, u, f ])))), n(d));
1021
+ function epochMilliToInstant(epochMilli) {
1022
+ return createEpochNanoSlots(checkEpochNanoInBounds(BigInt(toStrictInteger(epochMilli)) * bigNanoInMilli));
708
1023
  }
709
1024
 
710
- function Je(e, n, t = l$1) {
711
- return Xe(e.epochNanoseconds, n, t);
1025
+ const PlainDateTimeBranding = "PlainDateTime";
1026
+
1027
+ const ZonedDateTimeBranding = "ZonedDateTime";
1028
+
1029
+ const InstantBranding = "Instant";
1030
+
1031
+ function defineTemporalClass(branding, cls, getSlots, ...getterMaps) {
1032
+ Object.defineProperties(cls, createNameDescriptors(branding)), Object.defineProperties(cls.prototype, createStringTagDescriptors("Temporal." + branding));
1033
+ for (const getterMap of getterMaps) {
1034
+ defineSlotGetters(cls.prototype, getSlots, getterMap);
1035
+ }
1036
+ return cls;
712
1037
  }
713
1038
 
714
- function Ct(e, n, t, o) {
715
- const r = ((e, n, t, o) => {
716
- const r = (e => Vl(normalizeOptions(e)))(o);
717
- return $o(e(n), t, r);
718
- })(e, t, n, o);
719
- return Xe(io(r), t, n.calendar);
1039
+ function defineSlotGetters(destPrototype, getSlots, getterMap) {
1040
+ Object.defineProperties(destPrototype, mapProps(getter => ({
1041
+ get() {
1042
+ return getter(getSlots(this));
1043
+ },
1044
+ configurable: 1
1045
+ }), getterMap));
720
1046
  }
721
1047
 
722
- function ze(e) {
723
- return xe(io(Ge(Ba(e), Ke)));
1048
+ const attachDebugString = "noop" === noop.name ? instance => {
1049
+ Object.defineProperty(instance, "_str_", {
1050
+ value: instance.toJSON()
1051
+ });
1052
+ } : noop;
1053
+
1054
+ function invalidRecordType() {
1055
+ throwTypeError(invalidCallingContext);
724
1056
  }
725
1057
 
726
- const expectedInteger = (e, n) => `Non-integer ${e}: ${n}`, expectedFinite = (e, n) => `Non-finite ${e}: ${n}`, forbiddenBigIntToNumber = e => `Cannot convert bigint to ${e}`, ou = "Cannot convert Symbol to string", ru = "Invalid object", numberOutOfRange = (e, n, t, o, r) => r ? numberOutOfRange(e, r[n], r[t], r[o]) : invalidEntity(e, n) + `; must be between ${t}-${o}`, invalidEntity = (e, n) => `Invalid ${e}: ${n}`, missingField = e => `Missing ${e}`, invalidChoice = (e, n, t) => invalidEntity(e, n) + "; must be " + Object.keys(t).join(), du = "Invalid protocol results", c$1 = e => invalidEntity("Calendar", e), F = e => invalidEntity("TimeZone", e), hu = "Forbidden ICU TimeZone", Iu = "Out-of-bounds offset", Du = "Out-of-bounds TimeZone gap", Tu = "Ambiguous offset", Mu = "Out-of-bounds date", invalidSubstring = e => `Invalid substring: ${e}`, bu = /*@__PURE__*/ gt(P$1, ((e, n) => n)), Su = /*@__PURE__*/ gt(P$1, ((e, n, t) => t)), wu = /*@__PURE__*/ gt(padNumber, 2), Bu = {
727
- nanosecond: 0,
728
- microsecond: 1,
729
- millisecond: 2,
730
- second: 3,
731
- minute: 4,
732
- hour: 5,
733
- day: 6,
734
- week: 7,
735
- month: 8,
736
- year: 9
737
- }, Yu = /*@__PURE__*/ Object.keys(Bu), Cu = 864e5, ku = 1e3, ro = 1e3, Ke = 1e6, oo = 1e9, ao = 6e10, no = 36e11, go = 864e11, Zu = [ 1, ro, Ke, oo, ao, no, go ], p = /*@__PURE__*/ Yu.slice(0, 6), l$1 = "iso8601", Xu = "gregory", el = "japanese", nl = {
738
- [Xu]: {
739
- "gregory-inverse": -1,
740
- gregory: 0
1058
+ function forbiddenValueOf() {
1059
+ throwTypeError(forbiddenValueOf$1);
1060
+ }
1061
+
1062
+ const dateFieldGetters$1 = {
1063
+ era(slots) {
1064
+ return computeCalendarEraFields(slots.calendar, slots).era;
741
1065
  },
742
- [el]: {
743
- "japanese-inverse": -1,
744
- japanese: 0,
745
- meiji: 1867,
746
- taisho: 1911,
747
- showa: 1925,
748
- heisei: 1988,
749
- reiwa: 2018
1066
+ eraYear(slots) {
1067
+ return computeCalendarEraFields(slots.calendar, slots).eraYear;
750
1068
  },
751
- ethiopic: {
752
- ethioaa: 0,
753
- ethiopic: 5500
1069
+ year(slots) {
1070
+ return computeCalendarDateFields(slots.calendar, slots).year;
754
1071
  },
755
- coptic: {
756
- "coptic-inverse": -1,
757
- coptic: 0
1072
+ month(slots) {
1073
+ return computeCalendarDateFields(slots.calendar, slots).month;
758
1074
  },
759
- roc: {
760
- "roc-inverse": -1,
761
- roc: 0
1075
+ monthCode(slots) {
1076
+ return computeCalendarMonthCode(slots.calendar, slots);
762
1077
  },
763
- buddhist: {
764
- be: 0
1078
+ day(slots) {
1079
+ return computeCalendarDateFields(slots.calendar, slots).day;
1080
+ }
1081
+ };
1082
+
1083
+ const yearMonthDerivedGetters = {
1084
+ daysInMonth(slots) {
1085
+ return computeCalendarDaysInMonth(slots.calendar, slots);
765
1086
  },
766
- islamic: {
767
- ah: 0
1087
+ daysInYear(slots) {
1088
+ return computeCalendarDaysInYear(slots.calendar, slots);
768
1089
  },
769
- indian: {
770
- saka: 0
1090
+ monthsInYear(slots) {
1091
+ return computeCalendarMonthsInYear(slots.calendar, slots);
771
1092
  },
772
- persian: {
773
- ap: 0
1093
+ inLeapYear(slots) {
1094
+ return computeCalendarInLeapYear(slots.calendar, slots);
774
1095
  }
775
- }, tl = {
776
- [Xu]: {
777
- bce: "gregory-inverse",
778
- ce: "gregory"
1096
+ };
1097
+
1098
+ const dateDerivedGetters = {
1099
+ dayOfWeek(slots) {
1100
+ return computeIsoDayOfWeek(slots);
779
1101
  },
780
- [el]: {
781
- bce: "japanese-inverse",
782
- ce: "japanese"
1102
+ dayOfYear(slots) {
1103
+ return computeCalendarDayOfYear(slots.calendar, slots);
783
1104
  },
784
- ethiopic: {
785
- era0: "ethioaa",
786
- era1: "ethiopic"
1105
+ weekOfYear(slots) {
1106
+ return computeCalendarWeekOfYear(slots.calendar, slots);
787
1107
  },
788
- coptic: {
789
- era0: "coptic-inverse",
790
- era1: "coptic"
1108
+ yearOfWeek(slots) {
1109
+ return computeCalendarYearOfWeek(slots.calendar, slots);
791
1110
  },
792
- roc: {
793
- broc: "roc-inverse",
794
- minguo: "roc"
1111
+ daysInWeek() {
1112
+ return 7;
1113
+ },
1114
+ daysInMonth(slots) {
1115
+ return computeCalendarDaysInMonth(slots.calendar, slots);
1116
+ },
1117
+ daysInYear(slots) {
1118
+ return computeCalendarDaysInYear(slots.calendar, slots);
1119
+ },
1120
+ monthsInYear(slots) {
1121
+ return computeCalendarMonthsInYear(slots.calendar, slots);
1122
+ },
1123
+ inLeapYear(slots) {
1124
+ return computeCalendarInLeapYear(slots.calendar, slots);
795
1125
  }
796
- }, ol = {
797
- chinese: 13,
798
- dangi: 13,
799
- hebrew: -6
800
- }, d = /*@__PURE__*/ gt(requireType, "string"), w$1 = [ "isoNanosecond", "isoMicrosecond", "isoMillisecond", "isoSecond", "isoMinute", "isoHour" ], ml = [ "isoDay", "isoMonth", "isoYear" ], pl = /*@__PURE__*/ w$1.concat(ml), hl = /*@__PURE__*/ sortStrings(w$1), Il = /*@__PURE__*/ sortStrings(pl), At = /*@__PURE__*/ Su(hl, 0), Dl = 1e8, gl = Dl * Cu, Tl = [ Dl, 0 ], Ml = [ -Dl, 0 ], yl = 275760, Nl = -271821, en$1 = Intl.DateTimeFormat, vl = 1970, Fl = 12, El = /*@__PURE__*/ isoArgsToEpochMilli(1868, 9, 8), Ol = /*@__PURE__*/ on$1(computeJapaneseEraParts, WeakMap), zl = {
801
- compatible: 0,
802
- reject: 1,
803
- earlier: 2,
804
- later: 3
805
- }, Vl = /*@__PURE__*/ gt(refineChoiceOption, "disambiguation", zl), x = "PlainDateTime", _ = "ZonedDateTime", Re = "Instant", nf = "UTC", tf = 5184e3, of = /*@__PURE__*/ isoArgsToEpochSec(1847), rf = /*@__PURE__*/ isoArgsToEpochSec((() => {
806
- const e = new Date;
807
- return (0 === e.getTime() ? 2040 : e.getUTCFullYear()) + 10;
808
- })()), af = /0+$/, he = /*@__PURE__*/ on$1(_zonedEpochSlotsToIso, WeakMap), L = /*@__PURE__*/ on$1((e => {
809
- const n = getTimeZoneEssence(e);
810
- return "object" == typeof n ? new IntlTimeZone(n) : new FixedTimeZone(n || 0);
811
- }));
1126
+ };
812
1127
 
813
- class FixedTimeZone {
814
- constructor(e) {
815
- this.j = e;
1128
+ function createNativeGetters(shimGetters) {
1129
+ return createPropGetters(Object.keys(shimGetters));
1130
+ }
1131
+
1132
+ const timeGetters = /*@__PURE__*/ createNativeGetters(timeGetters$1);
1133
+
1134
+ const dateFieldGetters = /*@__PURE__*/ createNativeGetters(dateFieldGetters$1);
1135
+
1136
+ createNativeGetters(yearMonthDerivedGetters), createNativeGetters(dateDerivedGetters);
1137
+
1138
+ const PlainDateTimeRecordBranding = `${PlainDateTimeBranding}Record`;
1139
+
1140
+ const ZonedDateTimeRecordBranding = `${ZonedDateTimeBranding}Record`;
1141
+
1142
+ const InstantRecordBranding = `${InstantBranding}Record`;
1143
+
1144
+ const calendarMap = /*@__PURE__*/ new WeakMap;
1145
+
1146
+ const instantMap = /*@__PURE__*/ new WeakMap;
1147
+
1148
+ const zonedDateTimeMap = /*@__PURE__*/ new WeakMap;
1149
+
1150
+ const plainDateTimeMap = /*@__PURE__*/ new WeakMap;
1151
+
1152
+ function getCalendarSlots(record) {
1153
+ return getCalendarSlotsIfPresent(record) || invalidRecordType();
1154
+ }
1155
+
1156
+ function getCalendarSlotsIfPresent(record) {
1157
+ return calendarMap.get(record);
1158
+ }
1159
+
1160
+ function getInstantSlots(record) {
1161
+ return getInstantSlotsIfPresent(record) || invalidRecordType();
1162
+ }
1163
+
1164
+ function getInstantSlotsIfPresent(record) {
1165
+ return instantMap.get(record);
1166
+ }
1167
+
1168
+ function setInstantSlots(instance, slots) {
1169
+ instantMap.set(instance, slots);
1170
+ }
1171
+
1172
+ function getZonedDateTimeSlots(record) {
1173
+ return getZonedDateTimeSlotsIfPresent(record) || invalidRecordType();
1174
+ }
1175
+
1176
+ function getZonedDateTimeSlotsIfPresent(record) {
1177
+ return zonedDateTimeMap.get(record);
1178
+ }
1179
+
1180
+ function setZonedDateTimeSlots(instance, slots) {
1181
+ zonedDateTimeMap.set(instance, slots);
1182
+ }
1183
+
1184
+ function getPlainDateTimeSlots(record) {
1185
+ return getPlainDateTimeSlotsIfPresent(record) || invalidRecordType();
1186
+ }
1187
+
1188
+ function getPlainDateTimeSlotsIfPresent(record) {
1189
+ return plainDateTimeMap.get(record);
1190
+ }
1191
+
1192
+ function setPlainDateTimeSlots(instance, slots) {
1193
+ plainDateTimeMap.set(instance, slots);
1194
+ }
1195
+
1196
+ function getCalendarRecordId(record) {
1197
+ return getCalendarSlots(record).id;
1198
+ }
1199
+
1200
+ function getCalendarRecordImplCreator(record) {
1201
+ const getImpl = getCalendarSlots(record).Be;
1202
+ return getImpl || throwRangeError(exoticCalendarRequired(getCalendarRecordId(record), "getExotic or getAny")),
1203
+ getImpl;
1204
+ }
1205
+
1206
+ function refineNativeCalendarArgMaybe(calendarRecord) {
1207
+ if (void 0 !== calendarRecord) {
1208
+ return getValidatedCalendarId(calendarRecord);
816
1209
  }
817
- N() {
818
- return this.j;
1210
+ }
1211
+
1212
+ function getValidatedCalendarId(record) {
1213
+ return getCalendarRecordImplCreator(record), getCalendarRecordId(record);
1214
+ }
1215
+
1216
+ const getNativePlainDateTime = getPlainDateTimeSlots;
1217
+
1218
+ const NativePlainDateTimeRecord = /*@__PURE__*/ defineTemporalClass(PlainDateTimeRecordBranding, class {
1219
+ get calendarId() {
1220
+ return getNativePlainDateTime(this).calendarId;
819
1221
  }
820
- v(e) {
821
- return (e => {
822
- const n = ma({
823
- ...e,
824
- ...At
825
- });
826
- if (!n || Math.abs(n[0]) > 1e8) {
827
- throw new RangeError(Mu);
828
- }
829
- })(e), [ isoToEpochNanoWithOffset(e, this.j) ];
1222
+ toJSON() {
1223
+ return getNativePlainDateTime(this).toJSON();
830
1224
  }
831
- l() {}
1225
+ valueOf() {
1226
+ return getNativePlainDateTime(this).valueOf();
1227
+ }
1228
+ }, getNativePlainDateTime, dateFieldGetters, timeGetters);
1229
+
1230
+ function createNativePlainDateTimeRecord(native) {
1231
+ const instance = Object.create(NativePlainDateTimeRecord.prototype);
1232
+ return setPlainDateTimeSlots(instance, native), attachDebugString(instance), instance;
832
1233
  }
833
1234
 
834
- class IntlTimeZone {
835
- constructor(e) {
836
- this.ae = (e => {
837
- function getOffsetSec(e) {
838
- const i = clampNumber(e, o, r), [a, s] = computePeriod(i), c = n(a), u = n(s);
839
- return c === u ? c : pinch(t(a, s), c, u, e);
840
- }
841
- function pinch(n, t, o, r) {
842
- let i, a;
843
- for (;(void 0 === r || void 0 === (i = r < n[0] ? t : r >= n[1] ? o : void 0)) && (a = n[1] - n[0]); ) {
844
- const t = n[0] + Math.floor(a / 2);
845
- e(t) === o ? n[1] = t : n[0] = t + 1;
846
- }
847
- return i;
848
- }
849
- const n = on$1(e), t = on$1(createSplitTuple);
850
- let o = of, r = rf;
851
- return {
852
- se(e) {
853
- const n = getOffsetSec(e - 86400), t = getOffsetSec(e + 86400), o = e - n, r = e - t;
854
- if (n === t) {
855
- return [ o ];
856
- }
857
- const i = getOffsetSec(o);
858
- return i === getOffsetSec(r) ? [ e - i ] : n > t ? [ o, r ] : [];
859
- },
860
- ue: getOffsetSec,
861
- l(e, i) {
862
- const a = clampNumber(e, o, r);
863
- let [s, c] = computePeriod(a);
864
- const u = tf * i, l = i < 0 ? () => c > o || (o = a, 0) : () => s < r || (r = a,
865
- 0);
866
- for (;l(); ) {
867
- const o = n(s), r = n(c);
868
- if (o !== r) {
869
- const n = t(s, c);
870
- pinch(n, o, r);
871
- const a = n[0];
872
- if ((compareNumbers$1(a, e) || 1) === i) {
873
- return a;
874
- }
875
- }
876
- s += u, c += u;
877
- }
878
- }
879
- };
880
- })((e => n => {
881
- const t = hashIntlFormatParts(e, n * ku);
882
- return isoArgsToEpochSec(parseIntlPartsYear(t), parseInt(t.month), parseInt(t.day), parseInt(t.hour), parseInt(t.minute), parseInt(t.second)) - n;
883
- })(e));
1235
+ function create$5$1(isoYear, isoMonth, isoDay, hour, minute, second, millisecond, microsecond, nanosecond, calendar) {
1236
+ return createNativePlainDateTimeRecord(new NativeTemporal.PlainDateTime(isoYear, isoMonth, isoDay, hour, minute, second, millisecond, microsecond, nanosecond, refineNativeCalendarArgMaybe(calendar)));
1237
+ }
1238
+
1239
+ function toZonedDateTime$1$1(record, timeZoneId, options) {
1240
+ return createNativeZonedDateTimeRecord(getNativePlainDateTime(record).toZonedDateTime(timeZoneId, options));
1241
+ }
1242
+
1243
+ const getNativeZonedDateTime = getZonedDateTimeSlots;
1244
+
1245
+ const NativeZonedDateTimeRecord = /*@__PURE__*/ defineTemporalClass(ZonedDateTimeRecordBranding, class {
1246
+ get calendarId() {
1247
+ return getNativeZonedDateTime(this).calendarId;
884
1248
  }
885
- N(e) {
886
- return this.ae.ue(epochNanoToSec(e)) * oo;
1249
+ get timeZoneId() {
1250
+ return getNativeZonedDateTime(this).timeZoneId;
887
1251
  }
888
- v(e) {
889
- const [n, t] = [ isoArgsToEpochSec((o = e).isoYear, o.isoMonth, o.isoDay, o.isoHour, o.isoMinute, o.isoSecond), o.isoMillisecond * Ke + o.isoMicrosecond * ro + o.isoNanosecond ];
890
- var o;
891
- return this.ae.se(n).map((e => io(Ta(Ge(e, oo), t))));
1252
+ get epochMilliseconds() {
1253
+ return getNativeZonedDateTime(this).epochMilliseconds;
892
1254
  }
893
- l(e, n) {
894
- const [t, o] = epochNanoToSecMod(e), r = this.ae.l(t + (n > 0 || o ? 1 : 0), n);
895
- if (void 0 !== r) {
896
- return Ge(r, oo);
897
- }
1255
+ get epochNanoseconds() {
1256
+ return getNativeZonedDateTime(this).epochNanoseconds;
1257
+ }
1258
+ toJSON() {
1259
+ return getNativeZonedDateTime(this).toJSON();
898
1260
  }
1261
+ valueOf() {
1262
+ return getNativeZonedDateTime(this).valueOf();
1263
+ }
1264
+ }, getNativeZonedDateTime, dateFieldGetters, timeGetters);
1265
+
1266
+ function createNativeZonedDateTimeRecord(native) {
1267
+ const instance = Object.create(NativeZonedDateTimeRecord.prototype);
1268
+ return setZonedDateTimeSlots(instance, native), attachDebugString(instance), instance;
899
1269
  }
900
1270
 
901
- const cf = "([+-])", uf = "(?:[.,](\\d{1,9}))?", ff = "(\\d{2})(?::?(\\d{2})(?::?(\\d{2})" + uf + ")?)?", df = cf + ff, Mf = /*@__PURE__*/ createRegExp(df), vf = /*@__PURE__*/ on$1((e => new en$1("en", {
902
- calendar: l$1,
903
- timeZone: e,
904
- era: "short",
905
- year: "numeric",
906
- month: "numeric",
907
- day: "numeric",
908
- hour: "numeric",
909
- minute: "numeric",
910
- second: "numeric",
911
- hour12: 0
912
- }))), Pf = /^(AC|AE|AG|AR|AS|BE|BS|CA|CN|CS|CT|EA|EC|IE|IS|JS|MI|NE|NS|PL|PN|PR|PS|SS|VS)T$/, Ff = /[^\w\/:+-]+/, Of = /*@__PURE__*/ on$1(createIntlCalendar), bf = /*@__PURE__*/ on$1((e => new en$1("en", {
913
- calendar: e,
914
- timeZone: nf,
915
- era: "short",
916
- year: "numeric",
917
- month: "short",
918
- day: "numeric",
919
- hour12: 0
920
- }))), Kf = {
921
- u: computeIsoDateParts,
922
- $: computeIsoEraParts,
923
- m: computeIsoMonthCodeParts
924
- }, Nm = {
925
- u: computeIntlDateParts,
926
- $: computeIntlEraParts,
927
- m: computeIntlMonthCodeParts
928
- }, ra = /*@__PURE__*/ createNativeOpsCreator(Kf, Nm), Ga = /*@__PURE__*/ gt(remapProps, w$1, p);
929
-
930
- function toZonedDateTimeISO(e, n) {
931
- return Je(e, Me(n));
932
- }
933
-
934
- function computeDateFields(e) {
935
- const n = ra(e.calendar), [t, a, o] = n.u(e), [r, s] = n.$(e), [i, c] = n.m(t, a);
936
- return {
937
- era: r,
938
- eraYear: s,
939
- year: t,
940
- monthCode: sa(i, c),
941
- month: a,
942
- day: o
943
- };
1271
+ function offsetNanoseconds$2(record) {
1272
+ return getNativeZonedDateTime(record).offsetNanoseconds;
1273
+ }
1274
+
1275
+ const getNativeInstant = getInstantSlots;
1276
+
1277
+ const NativeInstantRecord = /*@__PURE__*/ defineTemporalClass(InstantRecordBranding, class {
1278
+ get epochMilliseconds() {
1279
+ return getNativeInstant(this).epochMilliseconds;
1280
+ }
1281
+ get epochNanoseconds() {
1282
+ return getNativeInstant(this).epochNanoseconds;
1283
+ }
1284
+ toJSON() {
1285
+ return getNativeInstant(this).toJSON();
1286
+ }
1287
+ valueOf() {
1288
+ return getNativeInstant(this).valueOf();
1289
+ }
1290
+ });
1291
+
1292
+ function createNativeInstantRecord(native) {
1293
+ const instance = Object.create(NativeInstantRecord.prototype);
1294
+ return setInstantSlots(instance, native), attachDebugString(instance), instance;
1295
+ }
1296
+
1297
+ function fromEpochMilliseconds$2(epochMilliseconds) {
1298
+ return createNativeInstantRecord(NativeTemporal.Instant.fromEpochMilliseconds(epochMilliseconds));
1299
+ }
1300
+
1301
+ function toZonedDateTimeISO$2(record, timeZoneId) {
1302
+ return createNativeZonedDateTimeRecord(getNativeInstant(record).toZonedDateTimeISO(timeZoneId));
944
1303
  }
945
1304
 
946
- function offsetNanoseconds(e) {
947
- return he(e, L).offsetNanoseconds;
1305
+ function refineShimCalendarArgMaybe(calendarRecord) {
1306
+ return void 0 === calendarRecord ? isoCalendarImpl : getCalendarRecordImpl(calendarRecord);
948
1307
  }
949
1308
 
950
- const Bo = ze; const Ir = /*@__PURE__*/ on$1((e => {
951
- const n = he(e, L), t = Se(n.offsetNanoseconds);
1309
+ function getCalendarRecordImpl(record) {
1310
+ return getCalendarRecordImplCreator(record)();
1311
+ }
1312
+
1313
+ const getShimPlainDateTimeSlots = getPlainDateTimeSlots;
1314
+
1315
+ const ShimPlainDateTimeRecord = /*@__PURE__*/ defineTemporalClass(PlainDateTimeRecordBranding, class {
1316
+ get calendarId() {
1317
+ return getCalendarSlotId(getShimPlainDateTimeSlots(this).calendar);
1318
+ }
1319
+ toJSON() {
1320
+ return formatDateTimeIsoAuto(getShimPlainDateTimeSlots(this));
1321
+ }
1322
+ valueOf() {
1323
+ return forbiddenValueOf();
1324
+ }
1325
+ }, getShimPlainDateTimeSlots, dateFieldGetters$1, timeGetters$1);
1326
+
1327
+ function createShimPlainDateTimeRecord(slots) {
1328
+ const instance = Object.create(ShimPlainDateTimeRecord.prototype);
1329
+ return setPlainDateTimeSlots(instance, slots), attachDebugString(instance), instance;
1330
+ }
1331
+
1332
+ function create$5(isoYear, isoMonth, isoDay, hour = 0, minute = 0, second = 0, millisecond = 0, microsecond = 0, nanosecond = 0, calendar) {
1333
+ const fields = checkIsoDateTimeInBounds(validateIsoDateTimeFields(mapProps(toIntegerWithTrunc, {
1334
+ year: isoYear,
1335
+ month: isoMonth,
1336
+ day: isoDay,
1337
+ hour: hour,
1338
+ minute: minute,
1339
+ second: second,
1340
+ millisecond: millisecond,
1341
+ microsecond: microsecond,
1342
+ nanosecond: nanosecond
1343
+ })));
1344
+ const calendarImpl = refineShimCalendarArgMaybe(calendar);
1345
+ return createShimPlainDateTimeRecord(createDateTimeSlots(fields, calendarImpl));
1346
+ }
1347
+
1348
+ function toZonedDateTime$1(record, timeZoneId, options) {
1349
+ return createShimZonedDateTimeRecord(plainDateTimeToZonedDateTime(getShimPlainDateTimeSlots(record), queryTimeZone(refineTimeZoneId(timeZoneId)), options));
1350
+ }
1351
+
1352
+ const getShimZonedDateTimeSlots = getZonedDateTimeSlots;
1353
+
1354
+ const ShimZonedDateTimeRecord = /*@__PURE__*/ defineTemporalClass(ZonedDateTimeRecordBranding, class {
1355
+ get calendarId() {
1356
+ return getCalendarSlotId(getShimZonedDateTimeSlots(this).calendar);
1357
+ }
1358
+ get timeZoneId() {
1359
+ return getShimZonedDateTimeSlots(this).timeZone.id;
1360
+ }
1361
+ get epochMilliseconds() {
1362
+ return getEpochMilli(getShimZonedDateTimeSlots(this));
1363
+ }
1364
+ get epochNanoseconds() {
1365
+ return getEpochNano(getShimZonedDateTimeSlots(this));
1366
+ }
1367
+ toJSON() {
1368
+ return formatZonedDateTimeIsoAuto(getShimZonedDateTimeSlots(this));
1369
+ }
1370
+ valueOf() {
1371
+ return forbiddenValueOf();
1372
+ }
1373
+ }, getShimZonedDateTimeIsoSlots, dateFieldGetters$1, timeGetters$1);
1374
+
1375
+ function createShimZonedDateTimeRecord(slots) {
1376
+ const instance = Object.create(ShimZonedDateTimeRecord.prototype);
1377
+ return setZonedDateTimeSlots(instance, slots), attachDebugString(instance), instance;
1378
+ }
1379
+
1380
+ function getShimZonedDateTimeIsoSlots(record) {
1381
+ const slots = getShimZonedDateTimeSlots(record);
952
1382
  return {
953
- ...computeDateFields(n),
954
- ...Ga(n),
955
- offset: t
1383
+ ...zonedEpochSlotsToIso(slots),
1384
+ calendar: slots.calendar
956
1385
  };
957
- }), WeakMap); const Dr = I; const Qs = /*@__PURE__*/ gt(Mt, Zt); const pi = /*@__PURE__*/ gt(Ct, L);
1386
+ }
1387
+
1388
+ function offsetNanoseconds$1(record) {
1389
+ return zonedEpochSlotsToIso(getShimZonedDateTimeSlots(record)).offsetNanoseconds;
1390
+ }
1391
+
1392
+ const getShimInstantSlots = getInstantSlots;
1393
+
1394
+ const ShimInstantRecord = /*@__PURE__*/ defineTemporalClass(InstantRecordBranding, class {
1395
+ get epochMilliseconds() {
1396
+ return getEpochMilli(getShimInstantSlots(this));
1397
+ }
1398
+ get epochNanoseconds() {
1399
+ return getEpochNano(getShimInstantSlots(this));
1400
+ }
1401
+ toJSON() {
1402
+ return formatInstantIsoAuto(getShimInstantSlots(this));
1403
+ }
1404
+ valueOf() {
1405
+ return forbiddenValueOf();
1406
+ }
1407
+ });
1408
+
1409
+ function createShimInstantRecord(slots) {
1410
+ const instance = Object.create(ShimInstantRecord.prototype);
1411
+ return setInstantSlots(instance, slots), attachDebugString(instance), instance;
1412
+ }
1413
+
1414
+ function fromEpochMilliseconds$1(epochMilliseconds) {
1415
+ return createShimInstantRecord(epochMilliToInstant(epochMilliseconds));
1416
+ }
1417
+
1418
+ function toZonedDateTimeISO$1(record, timeZoneId) {
1419
+ return createShimZonedDateTimeRecord(instantToZonedDateTime(getShimInstantSlots(record), queryTimeZone(refineTimeZoneId(timeZoneId))));
1420
+ }
1421
+
1422
+ const offsetNanoseconds = NativeTemporal ? offsetNanoseconds$2 : offsetNanoseconds$1;
1423
+
1424
+ const create = NativeTemporal ? create$5$1 : create$5;
1425
+
1426
+ const toZonedDateTime = NativeTemporal ? toZonedDateTime$1$1 : toZonedDateTime$1;
1427
+
1428
+ const fromEpochMilliseconds = NativeTemporal ? fromEpochMilliseconds$2 : fromEpochMilliseconds$1;
1429
+
1430
+ const toZonedDateTimeISO = NativeTemporal ? toZonedDateTimeISO$2 : toZonedDateTimeISO$1;
1431
+
958
1432
  // Adding
959
1433
  function addWeeks(m, n) {
960
1434
  let a = dateToUtcArray(m);
@@ -1523,8 +1997,8 @@ var FullCalendar = (function (exports) {
1523
1997
  if (typeof settings.weekNumberCalculation === 'function') {
1524
1998
  this.weekNumberFunc = settings.weekNumberCalculation;
1525
1999
  }
1526
- this.weekText = settings.weekText;
1527
- this.weekTextShort = settings.weekTextShort ?? settings.weekText;
2000
+ this.weekTextLong = settings.weekTextLong;
2001
+ this.weekTextShort = settings.weekTextShort ?? settings.weekTextLong;
1528
2002
  this.cmdFormatter = settings.cmdFormatter;
1529
2003
  }
1530
2004
  // Creating / Parsing
@@ -1770,9 +2244,9 @@ var FullCalendar = (function (exports) {
1770
2244
  if (this.timeZone === 'UTC') {
1771
2245
  return new Date(ms);
1772
2246
  }
1773
- const zdtFields = Ir(toZonedDateTimeISO(Bo(ms), this.timeZone));
2247
+ const zdt = toZonedDateTimeISO(fromEpochMilliseconds(ms), this.timeZone);
1774
2248
  return new Date(// a "Date Marker", which is like PlainDateTime
1775
- Date.UTC(zdtFields.year, zdtFields.month - 1, zdtFields.day, zdtFields.hour, zdtFields.minute, zdtFields.second, zdtFields.millisecond));
2249
+ Date.UTC(zdt.year, zdt.month - 1, zdt.day, zdt.hour, zdt.minute, zdt.second, zdt.millisecond));
1776
2250
  }
1777
2251
  offsetForMarker(m) {
1778
2252
  if (this.timeZone === 'local') {
@@ -1781,7 +2255,7 @@ var FullCalendar = (function (exports) {
1781
2255
  if (this.timeZone === 'UTC') {
1782
2256
  return 0;
1783
2257
  }
1784
- return offsetNanoseconds(pi(Qs(m.getUTCFullYear(), m.getUTCMonth() + 1, m.getUTCDate(), m.getUTCHours(), m.getUTCMinutes(), m.getUTCSeconds(), m.getUTCMilliseconds()), this.timeZone)) / (1000000000 * 60);
2258
+ return offsetNanoseconds(toZonedDateTime(create(m.getUTCFullYear(), m.getUTCMonth() + 1, m.getUTCDate(), m.getUTCHours(), m.getUTCMinutes(), m.getUTCSeconds(), m.getUTCMilliseconds()), this.timeZone)) / (1000000000 * 60);
1785
2259
  }
1786
2260
  // Conversion
1787
2261
  toDate(m) {
@@ -1791,7 +2265,7 @@ var FullCalendar = (function (exports) {
1791
2265
  if (this.timeZone === 'UTC') {
1792
2266
  return new Date(m.valueOf()); // make sure it's a copy
1793
2267
  }
1794
- return new Date(Dr(pi(Qs(m.getUTCFullYear(), m.getUTCMonth() + 1, m.getUTCDate(), m.getUTCHours(), m.getUTCMinutes(), m.getUTCSeconds(), m.getUTCMilliseconds()), this.timeZone)));
2268
+ return new Date(toZonedDateTime(create(m.getUTCFullYear(), m.getUTCMonth() + 1, m.getUTCDate(), m.getUTCHours(), m.getUTCMinutes(), m.getUTCSeconds(), m.getUTCMilliseconds()), this.timeZone).epochMilliseconds);
1795
2269
  }
1796
2270
  }
1797
2271
 
@@ -1854,7 +2328,7 @@ var FullCalendar = (function (exports) {
1854
2328
  }];
1855
2329
  }
1856
2330
  if (this.weekOnly) {
1857
- return formatWeekNumberParts(context.computeWeekNumber(date.marker), context.weekText, context.weekTextShort, context.locale, extendedOptions.week);
2331
+ return formatWeekNumberParts(context.computeWeekNumber(date.marker), context.weekTextLong, context.weekTextShort, context.locale, extendedOptions.week);
1858
2332
  }
1859
2333
  const { normalFormat, zeroFormat } = this.getFormats(context);
1860
2334
  const format = (zeroFormat && !date.marker.getUTCMinutes())
@@ -2001,10 +2475,10 @@ var FullCalendar = (function (exports) {
2001
2475
  }
2002
2476
  }
2003
2477
  }
2004
- function formatWeekNumberParts(num, weekText, weekTextShort, locale, display) {
2478
+ function formatWeekNumberParts(num, weekTextLong, weekTextShort, locale, display) {
2005
2479
  const parts = [];
2006
2480
  if (display === 'long') {
2007
- parts.push({ type: 'literal', value: weekText });
2481
+ parts.push({ type: 'literal', value: weekTextLong });
2008
2482
  }
2009
2483
  else if (display === 'short' || display === 'narrow') {
2010
2484
  parts.push({ type: 'literal', value: weekTextShort });
@@ -2059,7 +2533,7 @@ var FullCalendar = (function (exports) {
2059
2533
  }
2060
2534
  }
2061
2535
 
2062
- var classNames = {"popoverZ":"fc-wW","isolate":"fc-Ed","borderBoxRoot":"fc-8f","notAllowed":"fc-uE","noScrollbars":"fc-Vn","noShrink":"fc-ds","calendarScreenRoot":"fc-Fw","safeTiles":"fc-7k","calendarPrintRoot":"fc-gG","cursorPointer":"fc-io","cursorResizeT":"fc-2b","cursorResizeB":"fc-Jx","cursorResizeS":"fc-Hq","cursorResizeE":"fc-nq","cursorColResizer":"fc-yR","hit":"fc-Yk","hitX":"fc-xd","hitY":"fc-tC","hitXSkinny":"fc-19","selectNone":"fc-ma","invisible":"fc-mV","borderNone":"fc-bl","borderOnlyT":"fc-Dc","borderOnlyB":"fc-av","borderOnlyS":"fc-YP","borderOnlyE":"fc-ro","borderlessX":"fc-PA","borderlessY":"fc-pM","fakeBorderS":"fc-6R","flexRow":"fc-0C","flexCol":"fc-zj","grow":"fc-T4","liquid":"fc-RO","minHeight0":"fc-Mc","liquidX":"fc-0Q","printRoot":"fc-NH","printHeader":"fc-ya","noPadding":"fc-NU","noMargin":"fc-Wx","noMarginY":"fc-PP","noMarginX":"fc-h9","whiteSpaceNoWrap":"fc-Ow","whiteSpacePre":"fc-3r","overflowAnchorNone":"fc-Ei","crop":"fc-0g","cropNowrap":"fc-MO","rel":"fc-uw","abs":"fc-e2","start0":"fc-iL","fill":"fc-Or","fillTop":"fc-wq","fillX":"fc-s8","fillY":"fc-VV","fillStart":"fc-6T","sticky":"fc-g9","stickyT":"fc-DL","stickyS":"fc-Un","tableHeaderSticky":"fc-Tl","contentBox":"fc-pt","offscreen":"fc-2w","alignCenter":"fc-vH","alignStart":"fc-cy","alignEnd":"fc-Xj","footerScrollbarSticky":"fc-Pg","footerScrollbar":"fc-JE","breakInsideAvoid":"fc-oi","printSiblingRow":"fc-jg","z0":"fc-PY","z1":"fc-Sx","focusZ2":"fc-b7","internalTimelineSlot":"fc-7G","internalEvent":"fc-RW","internalEventMirror":"fc-l3","internalEventDraggable":"fc-Pa","internalEventSelected":"fc-K0","internalEventResizable":"fc-Be","internalEventResizer":"fc-Y3","internalEventResizerStart":"fc-14","internalEventResizerEnd":"fc-eB","internalBgEvent":"fc-34","internalMoreLink":"fc-zY","internalNavLink":"fc-6m","internalPopover":"fc-mw","internalView":"fc-pJ","internalScroller":"fc-30"};
2536
+ var classNames = {"popoverZ":"fc-tF","isolate":"fc-5w","borderBoxRoot":"fc-Mg","notAllowed":"fc-Q9","noScrollbars":"fc-xd","noShrink":"fc-Zo","calendarScreenRoot":"fc-Yo","safeTiles":"fc-G6","calendarPrintRoot":"fc-me","cursorPointer":"fc-lv","cursorResizeT":"fc-vR","cursorResizeB":"fc-ni","cursorResizeS":"fc-8S","cursorResizeE":"fc-yU","cursorColResizer":"fc-ey","hit":"fc-6F","hitX":"fc-zw","hitY":"fc-Pi","hitXSkinny":"fc-86","selectNone":"fc-xR","invisible":"fc-yw","borderNone":"fc-Y7","borderOnlyT":"fc-5B","borderOnlyB":"fc-6q","borderOnlyS":"fc-Zb","borderOnlyE":"fc-Xy","borderlessX":"fc-HY","borderlessY":"fc-YK","fakeBorderS":"fc-kv","flexRow":"fc-Qr","flexCol":"fc-s3","grow":"fc-Uk","liquid":"fc-uD","minHeight0":"fc-7B","liquidX":"fc-rr","printRoot":"fc-zi","printHeader":"fc-t1","noPadding":"fc-eX","noMargin":"fc-xn","noMarginY":"fc-Mz","noMarginX":"fc-jK","whiteSpaceNoWrap":"fc-Jx","whiteSpacePre":"fc-Fz","overflowAnchorNone":"fc-1Z","crop":"fc-iG","cropNowrap":"fc-rW","rel":"fc-Uv","abs":"fc-TZ","start0":"fc-7N","fill":"fc-Y3","fillTop":"fc-6T","fillX":"fc-al","fillY":"fc-7m","fillStart":"fc-4v","sticky":"fc-HK","stickyT":"fc-zZ","stickyS":"fc-YA","tableHeaderSticky":"fc-iU","contentBox":"fc-Qk","offscreen":"fc-Et","alignCenter":"fc-o5","alignStart":"fc-n1","alignEnd":"fc-Wl","footerScrollbarSticky":"fc-My","footerScrollbar":"fc-43","breakInsideAvoid":"fc-FH","printSiblingRow":"fc-uJ","z0":"fc-LD","z1":"fc-xs","focusZ2":"fc-Gz","internalTimelineSlot":"fc-sH","internalEvent":"fc-0m","internalEventMirror":"fc-uc","internalEventDraggable":"fc-rA","internalEventSelected":"fc-Vs","internalEventResizable":"fc-Ds","internalEventResizer":"fc-Xj","internalEventResizerStart":"fc-fA","internalEventResizerEnd":"fc-xp","internalBgEvent":"fc-Ji","internalMoreLink":"fc-N2","internalNavLink":"fc-fI","internalPopover":"fc-1g","internalView":"fc-ca","internalScroller":"fc-7a"};
2063
2537
 
2064
2538
  function joinClassNames(...args) {
2065
2539
  return args.filter(Boolean).join(' ');
@@ -2084,6 +2558,32 @@ var FullCalendar = (function (exports) {
2084
2558
  return null;
2085
2559
  }
2086
2560
 
2561
+ function warn(...args) {
2562
+ console.warn('FullCalendar:', ...args);
2563
+ }
2564
+
2565
+ /* eslint max-classes-per-file: off */
2566
+ const warnedClassNameOptions = {};
2567
+ function refineClassName(input, optionName) {
2568
+ if (!input || typeof input === 'string') {
2569
+ return input;
2570
+ }
2571
+ warnInvalidClassName(optionName);
2572
+ return '';
2573
+ }
2574
+ function refineClassNameGenerator(input, optionName) {
2575
+ if (typeof input === 'function') {
2576
+ return (renderProps) => refineClassName(input(renderProps), optionName);
2577
+ }
2578
+ return refineClassName(input, optionName);
2579
+ }
2580
+ function warnInvalidClassName(optionName) {
2581
+ if (!warnedClassNameOptions[optionName]) {
2582
+ warn(`Invalid option \`${optionName}\`: expected a className string or a falsy value.`);
2583
+ warnedClassNameOptions[optionName] = true;
2584
+ }
2585
+ }
2586
+
2087
2587
  // Stops a mouse/touch event from doing it's native browser action
2088
2588
  function preventDefault(ev) {
2089
2589
  ev.preventDefault();
@@ -2489,16 +2989,17 @@ var FullCalendar = (function (exports) {
2489
2989
  todayText: String,
2490
2990
  yearText: String,
2491
2991
  monthText: String,
2492
- weekText: String,
2992
+ weekTextLong: String,
2493
2993
  weekTextShort: String,
2494
2994
  dayText: String,
2495
2995
  listText: identity,
2496
2996
  todayHint: identity,
2497
2997
  prevHint: identity,
2498
2998
  nextHint: identity,
2999
+ // TODO: make type for hint input
2499
3000
  buttonDisplay: identity,
2500
- buttonGroupClass: identity,
2501
- buttonClass: identity,
3001
+ buttonGroupClass: refineClassNameGenerator,
3002
+ buttonClass: refineClassNameGenerator,
2502
3003
  defaultAllDayEventDuration: createDuration,
2503
3004
  defaultTimedEventDuration: createDuration,
2504
3005
  nextDayThreshold: createDuration,
@@ -2513,8 +3014,8 @@ var FullCalendar = (function (exports) {
2513
3014
  footerToolbar: identity,
2514
3015
  forceEventDuration: Boolean,
2515
3016
  // TODO: move to timegrid
2516
- dayLaneClass: identity,
2517
- dayLaneInnerClass: identity,
3017
+ dayLaneClass: refineClassNameGenerator,
3018
+ dayLaneInnerClass: refineClassNameGenerator,
2518
3019
  dayLaneDidMount: identity,
2519
3020
  dayLaneWillUnmount: identity,
2520
3021
  initialView: String,
@@ -2522,28 +3023,25 @@ var FullCalendar = (function (exports) {
2522
3023
  weekends: Boolean,
2523
3024
  weekNumberCalculation: identity,
2524
3025
  weekNumbers: Boolean,
2525
- weekNumberHeaderClass: identity,
2526
- weekNumberHeaderInnerClass: identity,
3026
+ weekNumberHeaderClass: refineClassNameGenerator,
3027
+ weekNumberHeaderInnerClass: refineClassNameGenerator,
2527
3028
  weekNumberHeaderContent: identity,
2528
3029
  weekNumberHeaderDidMount: identity,
2529
3030
  weekNumberHeaderWillUnmount: identity,
2530
- inlineWeekNumberClass: identity,
3031
+ inlineWeekNumberClass: refineClassNameGenerator,
2531
3032
  inlineWeekNumberContent: identity,
2532
3033
  inlineWeekNumberDidMount: identity,
2533
3034
  inlineWeekNumberWillUnmount: identity,
2534
3035
  editable: Boolean,
2535
3036
  controller: identity,
2536
- viewClass: identity,
2537
- viewDidMount: identity,
2538
- viewWillUnmount: identity,
2539
3037
  nowIndicator: Boolean,
2540
3038
  nowIndicatorSnap: identity,
2541
- nowIndicatorHeaderClass: identity,
3039
+ nowIndicatorHeaderClass: refineClassNameGenerator,
2542
3040
  nowIndicatorHeaderContent: identity,
2543
3041
  nowIndicatorHeaderDidMount: identity,
2544
3042
  nowIndicatorHeaderWillUnmount: identity,
2545
- nowIndicatorDotClass: identity,
2546
- nowIndicatorLineClass: identity,
3043
+ nowIndicatorDotClass: refineClassName,
3044
+ nowIndicatorLineClass: refineClassNameGenerator,
2547
3045
  nowIndicatorLineContent: identity,
2548
3046
  nowIndicatorLineDidMount: identity,
2549
3047
  nowIndicatorLineWillUnmount: identity,
@@ -2596,51 +3094,51 @@ var FullCalendar = (function (exports) {
2596
3094
  eventDidMount: identity,
2597
3095
  eventWillUnmount: identity,
2598
3096
  eventContent: identity,
2599
- eventClass: identity,
2600
- eventInnerClass: identity,
2601
- eventTimeClass: identity,
2602
- eventTitleClass: identity,
2603
- eventBeforeClass: identity,
2604
- eventAfterClass: identity,
3097
+ eventClass: refineClassNameGenerator,
3098
+ eventInnerClass: refineClassNameGenerator,
3099
+ eventTimeClass: refineClassNameGenerator,
3100
+ eventTitleClass: refineClassNameGenerator,
3101
+ eventBeforeClass: refineClassNameGenerator,
3102
+ eventAfterClass: refineClassNameGenerator,
2605
3103
  //
2606
- listItemEventClass: identity,
2607
- listItemEventInnerClass: identity,
2608
- listItemEventTimeClass: identity,
2609
- listItemEventTitleClass: identity,
2610
- listItemEventBeforeClass: identity,
2611
- listItemEventAfterClass: identity,
3104
+ listItemEventClass: refineClassNameGenerator,
3105
+ listItemEventInnerClass: refineClassNameGenerator,
3106
+ listItemEventTimeClass: refineClassNameGenerator,
3107
+ listItemEventTitleClass: refineClassNameGenerator,
3108
+ listItemEventBeforeClass: refineClassNameGenerator,
3109
+ listItemEventAfterClass: refineClassNameGenerator,
2612
3110
  //
2613
- blockEventClass: identity,
2614
- blockEventInnerClass: identity,
2615
- blockEventTimeClass: identity,
2616
- blockEventTitleClass: identity,
2617
- blockEventBeforeClass: identity,
2618
- blockEventAfterClass: identity,
3111
+ blockEventClass: refineClassNameGenerator,
3112
+ blockEventInnerClass: refineClassNameGenerator,
3113
+ blockEventTimeClass: refineClassNameGenerator,
3114
+ blockEventTitleClass: refineClassNameGenerator,
3115
+ blockEventBeforeClass: refineClassNameGenerator,
3116
+ blockEventAfterClass: refineClassNameGenerator,
2619
3117
  //
2620
- rowEventClass: identity,
2621
- rowEventInnerClass: identity,
2622
- rowEventTimeClass: identity,
2623
- rowEventTitleClass: identity,
3118
+ rowEventClass: refineClassNameGenerator,
3119
+ rowEventInnerClass: refineClassNameGenerator,
3120
+ rowEventTimeClass: refineClassNameGenerator,
3121
+ rowEventTitleClass: refineClassNameGenerator,
2624
3122
  rowEventTitleSticky: Boolean,
2625
- rowEventBeforeClass: identity,
3123
+ rowEventBeforeClass: refineClassNameGenerator,
2626
3124
  rowEventBeforeContent: identity,
2627
- rowEventAfterClass: identity,
3125
+ rowEventAfterClass: refineClassNameGenerator,
2628
3126
  rowEventAfterContent: identity,
2629
3127
  //
2630
- columnEventClass: identity,
2631
- columnEventInnerClass: identity,
2632
- columnEventTimeClass: identity,
2633
- columnEventTitleClass: identity,
3128
+ columnEventClass: refineClassNameGenerator,
3129
+ columnEventInnerClass: refineClassNameGenerator,
3130
+ columnEventTimeClass: refineClassNameGenerator,
3131
+ columnEventTitleClass: refineClassNameGenerator,
2634
3132
  columnEventTitleSticky: Boolean,
2635
- columnEventBeforeClass: identity,
2636
- columnEventAfterClass: identity,
3133
+ columnEventBeforeClass: refineClassNameGenerator,
3134
+ columnEventAfterClass: refineClassNameGenerator,
2637
3135
  //
2638
- backgroundEventClass: identity,
3136
+ backgroundEventClass: refineClassNameGenerator,
2639
3137
  backgroundEventDidMount: identity,
2640
3138
  backgroundEventWillUnmount: identity,
2641
3139
  backgroundEventContent: identity,
2642
- backgroundEventInnerClass: identity,
2643
- backgroundEventTitleClass: identity,
3140
+ backgroundEventInnerClass: refineClassNameGenerator,
3141
+ backgroundEventTitleClass: refineClassNameGenerator,
2644
3142
  backgroundEventColor: String,
2645
3143
  selectConstraint: identity,
2646
3144
  selectOverlap: identity,
@@ -2648,46 +3146,46 @@ var FullCalendar = (function (exports) {
2648
3146
  droppable: Boolean,
2649
3147
  unselectCancel: String,
2650
3148
  slotHeaderFormat: identity,
2651
- slotLaneClass: identity,
3149
+ slotLaneClass: refineClassNameGenerator,
2652
3150
  slotLaneDidMount: identity,
2653
3151
  slotLaneWillUnmount: identity,
2654
- slotHeaderClass: identity,
2655
- slotHeaderInnerClass: identity,
3152
+ slotHeaderClass: refineClassNameGenerator,
3153
+ slotHeaderInnerClass: refineClassNameGenerator,
2656
3154
  slotHeaderContent: identity,
2657
3155
  slotHeaderDidMount: identity,
2658
3156
  slotHeaderWillUnmount: identity,
2659
3157
  slotHeaderAlign: identity,
2660
3158
  slotHeaderSticky: identity,
2661
- slotHeaderRowClass: identity,
2662
- slotHeaderDividerClass: identity,
3159
+ slotHeaderRowClass: refineClassName,
3160
+ slotHeaderDividerClass: refineClassNameGenerator,
2663
3161
  dayMaxEvents: identity,
2664
3162
  dayMaxEventRows: identity,
2665
3163
  dayMinWidth: Number,
2666
3164
  slotHeaderInterval: createDuration,
2667
3165
  // in core because more-popover needs it
2668
- dayHeaderClass: identity,
2669
- dayHeaderInnerClass: identity,
3166
+ dayHeaderClass: refineClassNameGenerator,
3167
+ dayHeaderInnerClass: refineClassNameGenerator,
2670
3168
  dayHeaderContent: identity,
2671
3169
  dayHeaderDidMount: identity,
2672
3170
  dayHeaderWillUnmount: identity,
2673
3171
  dayHeaderAlign: identity,
2674
3172
  // stickiness for cell-inner-contents laterally. experimental settings
2675
3173
  _dayHeaderSticky: identity,
2676
- dayHeaderRowClass: identity,
2677
- dayHeaderDividerClass: identity,
2678
- dayRowClass: identity,
3174
+ dayHeaderRowClass: refineClassName,
3175
+ dayHeaderDividerClass: refineClassNameGenerator,
3176
+ dayRowClass: refineClassName,
2679
3177
  dayCellDidMount: identity,
2680
3178
  dayCellWillUnmount: identity,
2681
- dayCellClass: identity,
2682
- dayCellInnerClass: identity,
3179
+ dayCellClass: refineClassNameGenerator,
3180
+ dayCellInnerClass: refineClassNameGenerator,
2683
3181
  dayCellTopContent: identity,
2684
- dayCellTopClass: identity,
2685
- dayCellTopInnerClass: identity,
2686
- dayCellBottomClass: identity,
3182
+ dayCellTopClass: refineClassNameGenerator,
3183
+ dayCellTopInnerClass: refineClassNameGenerator,
3184
+ dayCellBottomClass: refineClassNameGenerator,
2687
3185
  allDaySlot: Boolean,
2688
3186
  allDayText: String,
2689
- allDayHeaderClass: identity,
2690
- allDayHeaderInnerClass: identity,
3187
+ allDayHeaderClass: refineClassNameGenerator,
3188
+ allDayHeaderInnerClass: refineClassNameGenerator,
2691
3189
  allDayHeaderContent: identity,
2692
3190
  allDayHeaderDidMount: identity,
2693
3191
  allDayHeaderWillUnmount: identity,
@@ -2709,7 +3207,6 @@ var FullCalendar = (function (exports) {
2709
3207
  eventMinWidth: Number,
2710
3208
  eventShortHeight: Number,
2711
3209
  slotEventOverlap: Boolean,
2712
- plugins: identity,
2713
3210
  firstDay: Number,
2714
3211
  dayCount: Number,
2715
3212
  dateAlignment: String,
@@ -2732,15 +3229,15 @@ var FullCalendar = (function (exports) {
2732
3229
  moreLinkContent: identity,
2733
3230
  moreLinkDidMount: identity,
2734
3231
  moreLinkWillUnmount: identity,
2735
- moreLinkClass: identity,
2736
- moreLinkInnerClass: identity,
3232
+ moreLinkClass: refineClassNameGenerator,
3233
+ moreLinkInnerClass: refineClassNameGenerator,
2737
3234
  //
2738
- rowMoreLinkClass: identity,
2739
- rowMoreLinkInnerClass: identity,
3235
+ rowMoreLinkClass: refineClassNameGenerator,
3236
+ rowMoreLinkInnerClass: refineClassNameGenerator,
2740
3237
  //
2741
- columnMoreLinkClass: identity,
2742
- columnMoreLinkInnerClass: identity,
2743
- navLinkClass: identity,
3238
+ columnMoreLinkClass: refineClassNameGenerator,
3239
+ columnMoreLinkInnerClass: refineClassNameGenerator,
3240
+ navLinkClass: refineClassName,
2744
3241
  monthStartFormat: createFormatter,
2745
3242
  dayCellFormat: createFormatter,
2746
3243
  // for connectors
@@ -2748,47 +3245,47 @@ var FullCalendar = (function (exports) {
2748
3245
  handleCustomRendering: identity,
2749
3246
  customRenderingMetaMap: identity,
2750
3247
  customRenderingReplaces: Boolean,
2751
- popoverClass: identity,
2752
- popoverCloseClass: identity,
3248
+ popoverClass: refineClassName,
3249
+ popoverCloseClass: refineClassName,
2753
3250
  popoverCloseContent: identity,
2754
3251
  dayNarrowWidth: Number,
2755
3252
  borderless: Boolean,
2756
3253
  borderlessX: Boolean,
2757
3254
  borderlessTop: Boolean,
2758
3255
  borderlessBottom: Boolean,
2759
- fillerClass: identity,
2760
- headerToolbarClass: identity,
2761
- footerToolbarClass: identity,
2762
- toolbarClass: identity,
2763
- toolbarSectionClass: identity,
2764
- toolbarTitleClass: identity,
2765
- tableClass: identity,
2766
- tableHeaderClass: identity,
2767
- tableBodyClass: identity,
2768
- nonBusinessHoursClass: identity,
2769
- highlightClass: identity,
3256
+ fillerClass: refineClassNameGenerator,
3257
+ headerToolbarClass: refineClassNameGenerator,
3258
+ footerToolbarClass: refineClassNameGenerator,
3259
+ toolbarClass: refineClassNameGenerator,
3260
+ toolbarSectionClass: refineClassNameGenerator,
3261
+ toolbarTitleClass: refineClassName,
3262
+ tableClass: refineClassNameGenerator,
3263
+ tableHeaderClass: refineClassNameGenerator,
3264
+ tableBodyClass: refineClassNameGenerator,
3265
+ nonBusinessHoursClass: refineClassName,
3266
+ highlightClass: refineClassName,
2770
3267
  // daygrid-only
2771
3268
  dayHeaders: Boolean,
2772
3269
  dayHeaderFormat: createFormatter,
2773
3270
  // timegrid-only
2774
- allDayDividerClass: identity,
3271
+ allDayDividerClass: refineClassName,
2775
3272
  // list-only
2776
- listDaysClass: identity, // rename this?
2777
- listDayClass: identity,
3273
+ listDaysClass: refineClassName, // rename this?
3274
+ listDayClass: refineClassNameGenerator,
2778
3275
  //
2779
3276
  listDayFormat: createFalsableFormatter, // defaults specified in list plugins
2780
3277
  listDayAltFormat: createFalsableFormatter, // "
2781
3278
  //
2782
3279
  listDayHeaderDidMount: identity,
2783
3280
  listDayHeaderWillUnmount: identity,
2784
- listDayHeaderClass: identity,
2785
- listDayHeaderInnerClass: identity,
3281
+ listDayHeaderClass: refineClassNameGenerator,
3282
+ listDayHeaderInnerClass: refineClassNameGenerator,
2786
3283
  listDayHeaderContent: identity,
2787
3284
  //
2788
- listDayBodyClass: identity,
3285
+ listDayBodyClass: refineClassNameGenerator,
2789
3286
  //
2790
- noEventsClass: identity,
2791
- noEventsInnerClass: identity,
3287
+ noEventsClass: refineClassNameGenerator,
3288
+ noEventsInnerClass: refineClassNameGenerator,
2792
3289
  noEventsContent: identity,
2793
3290
  noEventsDidMount: identity,
2794
3291
  noEventsWillUnmount: identity,
@@ -2800,9 +3297,9 @@ var FullCalendar = (function (exports) {
2800
3297
  singleMonthTitleFormat: createFormatter,
2801
3298
  singleMonthDidMount: identity,
2802
3299
  singleMonthWillUnmount: identity,
2803
- singleMonthClass: identity,
2804
- singleMonthHeaderClass: identity,
2805
- singleMonthHeaderInnerClass: identity,
3300
+ singleMonthClass: refineClassNameGenerator,
3301
+ singleMonthHeaderClass: refineClassNameGenerator,
3302
+ singleMonthHeaderInnerClass: refineClassNameGenerator,
2806
3303
  };
2807
3304
  // do NOT give a type here. need `typeof BASE_OPTION_DEFAULTS` to give real results.
2808
3305
  // raw values.
@@ -2901,9 +3398,11 @@ var FullCalendar = (function (exports) {
2901
3398
  // calendar-only options (not for view-specific)
2902
3399
  // ---------------------------------------------
2903
3400
  const CALENDAR_ONLY_OPTION_REFINERS = {
2904
- // new
2905
- class: identity,
2906
- className: identity,
3401
+ class: refineClassNameGenerator,
3402
+ className: refineClassNameGenerator,
3403
+ viewClass: refineClassNameGenerator,
3404
+ viewDidMount: identity,
3405
+ viewWillUnmount: identity,
2907
3406
  views: identity,
2908
3407
  plugins: identity,
2909
3408
  initialEvents: identity,
@@ -2915,7 +3414,11 @@ var FullCalendar = (function (exports) {
2915
3414
  const VIEW_ONLY_OPTION_REFINERS = {
2916
3415
  type: String,
2917
3416
  component: identity,
2918
- viewContent: identity,
3417
+ class: refineClassNameGenerator,
3418
+ className: refineClassNameGenerator,
3419
+ content: identity,
3420
+ didMount: identity,
3421
+ willUnmount: identity,
2919
3422
  // internal only
2920
3423
  buttonTextKey: String,
2921
3424
  dateProfileGeneratorClass: identity,
@@ -2940,7 +3443,7 @@ var FullCalendar = (function (exports) {
2940
3443
  let extra = {};
2941
3444
  for (let propName in refiners) {
2942
3445
  if (propName in input) {
2943
- refined[propName] = refiners[propName](input[propName]);
3446
+ refined[propName] = refiners[propName](input[propName], propName);
2944
3447
  }
2945
3448
  }
2946
3449
  for (let propName in input) {
@@ -3175,8 +3678,8 @@ var FullCalendar = (function (exports) {
3175
3678
  constraint: identity, // Identity<ConstraintInput>, // circular reference. ts dies. event->constraint->event
3176
3679
  overlap: identity,
3177
3680
  allow: identity,
3178
- class: identity,
3179
- className: identity,
3681
+ class: refineClassName,
3682
+ className: refineClassName,
3180
3683
  color: String,
3181
3684
  contrastColor: String,
3182
3685
  };
@@ -3633,7 +4136,7 @@ var FullCalendar = (function (exports) {
3633
4136
  */
3634
4137
  setProp(name, val) {
3635
4138
  if (name in EVENT_DATE_REFINERS) {
3636
- console.warn('Could not set date-related prop \'name\'. Use one of the date-related methods instead.');
4139
+ warn(`Cannot set date-related event property \`${name}\`. Use a method instead.`);
3637
4140
  // TODO: make proper aliasing system?
3638
4141
  }
3639
4142
  else if (name === 'id') {
@@ -3661,7 +4164,7 @@ var FullCalendar = (function (exports) {
3661
4164
  });
3662
4165
  }
3663
4166
  else {
3664
- console.warn(`Could not set prop '${name}'. Use setExtendedProp instead.`);
4167
+ warn(`Cannot set event property \`${name}\`. Use setExtendedProp instead.`);
3665
4168
  }
3666
4169
  }
3667
4170
  setExtendedProp(name, val) {
@@ -4269,7 +4772,7 @@ var FullCalendar = (function (exports) {
4269
4772
  contentRe.test(name) ? mergeContentInjectors :
4270
4773
  lifecycleRe.test(name) ? mergeLifecycleCallbacks : undefined);
4271
4774
  dest[name] = mergeFunc
4272
- ? mergeFunc(dest[name], options[name])
4775
+ ? mergeFunc(dest[name], options[name], name)
4273
4776
  : options[name]; // last wins
4274
4777
  }
4275
4778
  else {
@@ -4279,18 +4782,30 @@ var FullCalendar = (function (exports) {
4279
4782
  }
4280
4783
  return dest;
4281
4784
  }
4785
+ /*
4786
+ Called while merging raw option objects, before the normal option refinement pass.
4787
+ ClassName values are validated here because merging may join raw strings, or build a
4788
+ combined function that joins raw generator outputs later. Without checking each part
4789
+ before joinClassNames, invalid values like objects/arrays could be stringified into
4790
+ valid-looking class strings before refineClassName/refineClassNameGenerator see them.
4791
+
4792
+ Ideally this would be a single-pass responsibility: either merge after refinement, or
4793
+ store unjoined class parts during raw merging and have one later refiner validate and
4794
+ join all parts. For now, this merge helper validates just enough to avoid corrupting
4795
+ invalid values before the formal refinement pass.
4796
+ */
4282
4797
  function joinFuncishClassNames(input0, // added to string first
4283
- input1) {
4798
+ input1, optionName) {
4284
4799
  const isFunc0 = typeof input0 === 'function';
4285
4800
  const isFunc1 = typeof input1 === 'function';
4286
4801
  if (isFunc0 || isFunc1) {
4287
4802
  const combinedFunc = (info) => {
4288
- return joinClassNames(isFunc0 ? input0(info) : input0, isFunc1 ? input1(info) : input1);
4803
+ return joinClassNames(refineClassName(isFunc0 ? input0(info) : input0, optionName), refineClassName(isFunc1 ? input1(info) : input1, optionName));
4289
4804
  };
4290
4805
  combinedFunc.parts = [input0, input1]; // see CalendarDataManager::processRawCalendarOptions
4291
4806
  return combinedFunc;
4292
4807
  }
4293
- return joinClassNames(input0, input1);
4808
+ return joinClassNames(refineClassName(input0, optionName), refineClassName(input1, optionName));
4294
4809
  }
4295
4810
  function mergeContentInjectors(contentGenerator0, // fallback
4296
4811
  contentGenerator1) {
@@ -4371,7 +4886,7 @@ var FullCalendar = (function (exports) {
4371
4886
  nextYearText: 'Next year',
4372
4887
  yearText: 'Year',
4373
4888
  monthText: 'Month',
4374
- weekText: 'Week',
4889
+ weekTextLong: 'Week',
4375
4890
  dayText: 'Day',
4376
4891
  listText: 'List',
4377
4892
  closeHint: 'Close',
@@ -4387,7 +4902,7 @@ var FullCalendar = (function (exports) {
4387
4902
  */
4388
4903
  const RAW_EN_LOCALE = {
4389
4904
  ...MINIMAL_RAW_EN_LOCALE,
4390
- // if a locale doesn't define this, fall back to weekText, don't use EN
4905
+ // if a locale doesn't define this, fall back to weekTextLong, don't use EN
4391
4906
  weekTextShort: 'W',
4392
4907
  todayHint: (unitText, unit) => {
4393
4908
  return (unit === 'day')
@@ -4874,7 +5389,7 @@ var FullCalendar = (function (exports) {
4874
5389
  errorHandled = true;
4875
5390
  }
4876
5391
  if (!errorHandled) {
4877
- console.warn(error.message, error);
5392
+ warn(`Unhandled event source error: ${error.message}`, error);
4878
5393
  }
4879
5394
  context.dispatch({
4880
5395
  type: 'RECEIVE_EVENT_ERROR',
@@ -5034,9 +5549,9 @@ var FullCalendar = (function (exports) {
5034
5549
  },
5035
5550
  ];
5036
5551
 
5037
- var r,u,i,f=[],c=l$3,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function j$1(){for(var n;n=f.shift();){var t=n.__H;if(n.__P&&t)try{t.__h.some(z),t.__h.some(B$1),t.__h=[];}catch(r){t.__h=[],c.__e(r,n.__v);}}}c.__b=function(n){r=null,e&&e(n);},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t);},c.__r=function(n){a&&a(n);var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0;})):(i.__h.some(z),i.__h.some(B$1),i.__h=[],0)),u=r;},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j$1)),t.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0;})),u=r=null;},c.__c=function(n,t){t.some(function(n){try{n.__h.some(z),n.__h=n.__h.filter(function(n){return !n.__||B$1(n)});}catch(r){t.some(function(n){n.__h&&(n.__h=[]);}),t=[],c.__e(r,n.__v);}}),l&&l(n,t);},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.some(function(n){try{z(n);}catch(n){t=n;}}),r.__H=void 0,t&&c.__e(t,r.__v));};var k="function"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n);},u=setTimeout(r,35);k&&(t=requestAnimationFrame(r));}function z(n){var t=r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),r=t;}function B$1(n){var t=r;n.__c=n.__(),r=t;}
5552
+ var r,u,i,f=[],c=l$2,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function j$1(){for(var n;n=f.shift();){var t=n.__H;if(n.__P&&t)try{t.__h.some(z),t.__h.some(B$1),t.__h=[];}catch(r){t.__h=[],c.__e(r,n.__v);}}}c.__b=function(n){r=null,e&&e(n);},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t);},c.__r=function(n){a&&a(n);var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0;})):(i.__h.some(z),i.__h.some(B$1),i.__h=[],0)),u=r;},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j$1)),t.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0;})),u=r=null;},c.__c=function(n,t){t.some(function(n){try{n.__h.some(z),n.__h=n.__h.filter(function(n){return !n.__||B$1(n)});}catch(r){t.some(function(n){n.__h&&(n.__h=[]);}),t=[],c.__e(r,n.__v);}}),l&&l(n,t);},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.some(function(n){try{z(n);}catch(n){t=n;}}),r.__H=void 0,t&&c.__e(t,r.__v));};var k="function"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n);},u=setTimeout(r,35);k&&(t=requestAnimationFrame(r));}function z(n){var t=r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),r=t;}function B$1(n){var t=r;n.__c=n.__(),r=t;}
5038
5553
 
5039
- function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return !0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return !0;return !1}function M(n,t){this.props=n,this.context=t;}(M.prototype=new C).isPureReactComponent=!0,M.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var T=l$3.__b;l$3.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),T&&T(n);};var O=l$3.__e;l$3.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);O(n,t,e,r);};var U=l$3.unmount;function V(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c();}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c.__e=!0,n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return V(n,t,e)})),n}function W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return W(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function P(){this.__u=0,this.o=null,this.__b=null;}function j(n){var t=n.__&&n.__.__c;return t&&t.__a&&t.__a(n)}function B(){this.i=null,this.l=null;}l$3.unmount=function(n){var t=n.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),U&&U(n);},(P.prototype=new C).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=j(r.__v),o=!1,i=function(){o||r.__z||(o=!0,e.__R=null,u?u(c):c());};e.__R=i;var l=e.__P;e.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=W(n,n.__c.__P,n.__c.__O);}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=l,t.forceUpdate();}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i);},P.prototype.componentWillUnmount=function(){this.o=[];},P.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=V(this.__b,r,o.__O=o.__P);}this.__b=null;}var i=e.__a&&k$1(S,null,n.fallback);return i&&(i.__u&=-33),[k$1(S,null,e.__a?null:n.children),i]};var H=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.i=e=e[2];}};function Z(n){return this.getChildContext=function(){return n.context},n.children}function Y(n){var e=this,r=n.h;if(e.componentWillUnmount=function(){R(null,e.v),e.v=null,e.h=null;},e.h&&e.h!==r&&e.componentWillUnmount(),!e.v){for(var u=e.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],__k:{__m:u.__m},contains:function(){return !0},namespaceURI:r.namespaceURI,insertBefore:function(n,t){this.childNodes.push(n),e.h.insertBefore(n,t);},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.h.removeChild(n);}};}R(k$1(Z,{context:e.context},n.__v),e.v);}function $(n,e){var r=k$1(Y,{__v:n,h:e});return r.containerInfo=e,r}(B.prototype=new C).__a=function(n){var t=this,e=j(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),H(t,n,r)):u();};e?e(o):o();}},B.prototype.render=function(n){this.i=null,this.l=new Map;var t=F$1(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},B.prototype.componentDidUpdate=B.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){H(n,e,t);});};var q="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,G=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,J=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,K=/[A-Z0-9]/g,Q="undefined"!=typeof document,X=function(n){return ("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function nn(n,t,e){return null==t.__k&&(t.textContent=""),R(n,t),"function"==typeof e&&e(),n?n.__c:null}C.prototype.isReactComponent=!0,["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(C.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n});}});});var en=l$3.event;l$3.event=function(n){return en&&(n=en(n)),n.persist=function(){},n.isPropagationStopped=function(){return this.cancelBubble},n.isDefaultPrevented=function(){return this.defaultPrevented},n.nativeEvent=n};var un={configurable:!0,get:function(){return this.class}},on=l$3.vnode;l$3.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1==e.indexOf("-");for(var i in t){var l=t[i];if(!("value"===i&&"defaultValue"in t&&null==l||Q&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var c=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===l?l="":"translate"===c&&"no"===l?l=!1:"o"===c[0]&&"n"===c[1]?"ondoubleclick"===c?i="ondblclick":"onchange"!==c||"input"!==e&&"textarea"!==e||X(t.type)?"onfocus"===c?i="onfocusin":"onblur"===c?i="onfocusout":J.test(i)&&(i=c):c=i="oninput":o&&G.test(i)?i=i.replace(K,"-$&").toLowerCase():null===l&&(l=void 0),"oninput"===c&&u[i=c]&&(i="oninputCapture"),u[i]=l;}}"select"==e&&(u.multiple&&Array.isArray(u.value)&&(u.value=F$1(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value);})),null!=u.defaultValue&&(u.value=F$1(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value;}))),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",un)):t.className&&(u.class=u.className=t.className),n.props=u;}(n),n.$$typeof=q,on&&on(n);};var ln=l$3.__r;l$3.__r=function(n){ln&&ln(n),n.__c;};var cn=l$3.diffed;l$3.diffed=function(n){cn&&cn(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value);};function hn(n){return !!n&&n.$$typeof===q}function pn(n){return !!n.__k&&(R(null,n),!0)}var bn=function(n,t){var r=l$3.debounceRendering;l$3.debounceRendering=function(n){return n()};var u=n(t);return l$3.debounceRendering=r,u};
5554
+ function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return !0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return !0;return !1}function M(n,t){this.props=n,this.context=t;}(M.prototype=new C).isPureReactComponent=!0,M.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var T=l$2.__b;l$2.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),T&&T(n);};var O=l$2.__e;l$2.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);O(n,t,e,r);};var U=l$2.unmount;function V(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c();}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c.__e=!0,n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return V(n,t,e)})),n}function W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return W(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function P(){this.__u=0,this.o=null,this.__b=null;}function j(n){var t=n.__&&n.__.__c;return t&&t.__a&&t.__a(n)}function B(){this.i=null,this.l=null;}l$2.unmount=function(n){var t=n.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),U&&U(n);},(P.prototype=new C).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=j(r.__v),o=!1,i=function(){o||r.__z||(o=!0,e.__R=null,u?u(c):c());};e.__R=i;var l=e.__P;e.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=W(n,n.__c.__P,n.__c.__O);}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=l,t.forceUpdate();}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i);},P.prototype.componentWillUnmount=function(){this.o=[];},P.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=V(this.__b,r,o.__O=o.__P);}this.__b=null;}var i=e.__a&&k$1(S,null,n.fallback);return i&&(i.__u&=-33),[k$1(S,null,e.__a?null:n.children),i]};var H=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.i=e=e[2];}};function Z(n){return this.getChildContext=function(){return n.context},n.children}function Y(n){var e=this,r=n.h;if(e.componentWillUnmount=function(){R(null,e.v),e.v=null,e.h=null;},e.h&&e.h!==r&&e.componentWillUnmount(),!e.v){for(var u=e.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],__k:{__m:u.__m},contains:function(){return !0},namespaceURI:r.namespaceURI,insertBefore:function(n,t){this.childNodes.push(n),e.h.insertBefore(n,t);},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.h.removeChild(n);}};}R(k$1(Z,{context:e.context},n.__v),e.v);}function $(n,e){var r=k$1(Y,{__v:n,h:e});return r.containerInfo=e,r}(B.prototype=new C).__a=function(n){var t=this,e=j(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),H(t,n,r)):u();};e?e(o):o();}},B.prototype.render=function(n){this.i=null,this.l=new Map;var t=F(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},B.prototype.componentDidUpdate=B.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){H(n,e,t);});};var q="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,G=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,J=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,K=/[A-Z0-9]/g,Q="undefined"!=typeof document,X=function(n){return ("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function nn(n,t,e){return null==t.__k&&(t.textContent=""),R(n,t),"function"==typeof e&&e(),n?n.__c:null}C.prototype.isReactComponent=!0,["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(C.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n});}});});var en=l$2.event;l$2.event=function(n){return en&&(n=en(n)),n.persist=function(){},n.isPropagationStopped=function(){return this.cancelBubble},n.isDefaultPrevented=function(){return this.defaultPrevented},n.nativeEvent=n};var un={configurable:!0,get:function(){return this.class}},on=l$2.vnode;l$2.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1==e.indexOf("-");for(var i in t){var l=t[i];if(!("value"===i&&"defaultValue"in t&&null==l||Q&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var c=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===l?l="":"translate"===c&&"no"===l?l=!1:"o"===c[0]&&"n"===c[1]?"ondoubleclick"===c?i="ondblclick":"onchange"!==c||"input"!==e&&"textarea"!==e||X(t.type)?"onfocus"===c?i="onfocusin":"onblur"===c?i="onfocusout":J.test(i)&&(i=c):c=i="oninput":o&&G.test(i)?i=i.replace(K,"-$&").toLowerCase():null===l&&(l=void 0),"oninput"===c&&u[i=c]&&(i="oninputCapture"),u[i]=l;}}"select"==e&&(u.multiple&&Array.isArray(u.value)&&(u.value=F(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value);})),null!=u.defaultValue&&(u.value=F(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value;}))),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",un)):t.className&&(u.class=u.className=t.className),n.props=u;}(n),n.$$typeof=q,on&&on(n);};var ln=l$2.__r;l$2.__r=function(n){ln&&ln(n),n.__c;};var cn=l$2.diffed;l$2.diffed=function(n){cn&&cn(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value);};function hn(n){return !!n&&n.$$typeof===q}function pn(n){return !!n.__k&&(R(null,n),!0)}var bn=function(n,t){var r=l$2.debounceRendering;l$2.debounceRendering=function(n){return n()};var u=n(t);return l$2.debounceRendering=r,u};
5040
5555
 
5041
5556
  function memoize(workerFunc, resEquality, teardownFunc) {
5042
5557
  let currentArgs;
@@ -5079,7 +5594,7 @@ var FullCalendar = (function (exports) {
5079
5594
  };
5080
5595
  }
5081
5596
 
5082
- const ViewContextType = X$2({}); // for Components
5597
+ const ViewContextType = X$1({}); // for Components
5083
5598
  function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, nowManager, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, baseId, registerInteractiveComponent, unregisterInteractiveComponent) {
5084
5599
  return {
5085
5600
  dateEnv,
@@ -5274,7 +5789,7 @@ var FullCalendar = (function (exports) {
5274
5789
  return attrs;
5275
5790
  }
5276
5791
 
5277
- const RenderId = X$2(0);
5792
+ const RenderId = X$1(0);
5278
5793
 
5279
5794
  class ContentContainer extends C {
5280
5795
  constructor() {
@@ -6279,8 +6794,8 @@ var FullCalendar = (function (exports) {
6279
6794
  { component: input } :
6280
6795
  input;
6281
6796
  let { component } = rawOptions;
6282
- if (rawOptions.viewContent) {
6283
- component = createViewHookComponent(rawOptions.viewContent);
6797
+ if (rawOptions.content) {
6798
+ component = createViewHookComponent(rawOptions.content);
6284
6799
  }
6285
6800
  else if (component && !(component.prototype instanceof BaseComponent)) {
6286
6801
  // WHY?: people were using `component` property for `content`
@@ -6296,20 +6811,22 @@ var FullCalendar = (function (exports) {
6296
6811
  /*
6297
6812
  TODO: converge with ViewContainer
6298
6813
  */
6299
- function createViewHookComponent(viewContent) {
6300
- return (viewProps) => (u$2(ViewContextType.Consumer, { children: (context) => {
6301
- const { options } = context;
6814
+ function createViewHookComponent(contentGenerator) {
6815
+ return (viewProps) => (u$1(ViewContextType.Consumer, { children: (context) => {
6816
+ const { options, viewSpec } = context;
6302
6817
  const renderProps = {
6303
6818
  // the "extra" props, for sliceEvents...
6304
6819
  ...viewProps,
6305
6820
  nextDayThreshold: options.nextDayThreshold,
6306
- // ViewDisplayProp...
6821
+ // ViewDisplayInfo...
6307
6822
  ...computeViewBorderless(options),
6308
6823
  options: { headerToolbar: options.headerToolbar, footerToolbar: options.footerToolbar },
6309
6824
  isHeightAuto: getIsHeightAuto(options),
6310
6825
  view: context.viewApi,
6311
6826
  };
6312
- return (u$2(ContentContainer, { tag: "div", classNameGenerator: options.viewClass, renderProps: renderProps, generatorName: undefined, customGenerator: viewContent, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount }));
6827
+ return (u$1(ContentContainer, { tag: "div", className: joinClassNames(generateClassName(options.viewClass, renderProps),
6828
+ // WORKAROUND for way calendar's className would get merged into view's className
6829
+ generateClassName(viewSpec.optionDefaults.class, renderProps), generateClassName(viewSpec.optionDefaults.className, renderProps), generateClassName(viewSpec.optionOverrides.class, renderProps), generateClassName(viewSpec.optionOverrides.className, renderProps)), renderProps: renderProps, generatorName: undefined, customGenerator: contentGenerator, didMount: options.didMount || options.viewDidMount, willUnmount: options.willUnmount || options.viewWillUnmount }));
6313
6830
  } }));
6314
6831
  }
6315
6832
 
@@ -6529,7 +7046,10 @@ var FullCalendar = (function (exports) {
6529
7046
  const buttonTextKey = viewSpec.optionDefaults.buttonTextKey;
6530
7047
  buttonText = buttonInput.text ||
6531
7048
  (buttonTextKey ? calendarOptions[buttonTextKey] : '') ||
6532
- (viewSpec.singleUnit ? calendarOptions[viewSpec.singleUnit + 'Text'] : '') ||
7049
+ (viewSpec.singleUnit
7050
+ ? (calendarOptions[viewSpec.singleUnit + 'TextLong'] ||
7051
+ calendarOptions[viewSpec.singleUnit + 'Text'])
7052
+ : '') ||
6533
7053
  name;
6534
7054
  /*
6535
7055
  buttons{}.hint(viewButtonText, viewName)
@@ -6546,10 +7066,11 @@ var FullCalendar = (function (exports) {
6546
7066
  }
6547
7067
  else {
6548
7068
  buttonText = buttonInput.text ||
7069
+ calendarOptions[name + 'TextLong'] ||
6549
7070
  calendarOptions[name + 'Text'] ||
6550
7071
  name;
6551
7072
  /*
6552
- button{}.hint(currentUnitText, currentUnit)
7073
+ buttons{}.hint(currentUnitText, currentUnit)
6553
7074
  prevHint(currentUnitUnitext, currentUnit)
6554
7075
  nextHint -- same
6555
7076
  todayHint -- same
@@ -6563,8 +7084,11 @@ var FullCalendar = (function (exports) {
6563
7084
  else {
6564
7085
  buttonHint = (currentUnit) => {
6565
7086
  return formatWithOrdinals(buttonInput.hint || calendarOptions[name + 'Hint'], // todayHint/prevHint/nextHint
6566
- [calendarOptions[currentUnit + 'Text'], currentUnit], // ordinal arguments
6567
- buttonText);
7087
+ [
7088
+ calendarOptions[currentUnit + 'TextLong'] ||
7089
+ calendarOptions[currentUnit + 'Text'],
7090
+ currentUnit
7091
+ ], buttonText);
6568
7092
  };
6569
7093
  }
6570
7094
  buttonClick = (ev) => {
@@ -7009,7 +7533,7 @@ var FullCalendar = (function (exports) {
7009
7533
  return this.stableCalendarOptionsData;
7010
7534
  }
7011
7535
  let { refinedOptions, pluginHooks, localeDefaults, availableLocaleData, } = this.processRawCalendarOptions(optionOverrides, dynamicOptionOverrides);
7012
- let dateEnv = this.buildDateEnv(refinedOptions.timeZone, refinedOptions.locale, refinedOptions.weekNumberCalculation, refinedOptions.firstDay, refinedOptions.weekText, refinedOptions.weekTextShort, pluginHooks, availableLocaleData);
7536
+ let dateEnv = this.buildDateEnv(refinedOptions.timeZone, refinedOptions.locale, refinedOptions.weekNumberCalculation, refinedOptions.firstDay, refinedOptions.weekTextLong, refinedOptions.weekTextShort, pluginHooks, availableLocaleData);
7013
7537
  let viewSpecs = this.buildViewSpecs(pluginHooks.views, this.stableOptionOverrides, this.stableDynamicOptionOverrides);
7014
7538
  let toolbarConfig = this.parseToolbars(refinedOptions, viewSpecs, calendarApi);
7015
7539
  return this.stableCalendarOptionsData = {
@@ -7048,7 +7572,7 @@ var FullCalendar = (function (exports) {
7048
7572
  refined[optionName] = currentRefined[optionName];
7049
7573
  }
7050
7574
  else if (refiners[optionName]) {
7051
- refined[optionName] = refiners[optionName](raw[optionName]);
7575
+ refined[optionName] = refiners[optionName](raw[optionName], optionName);
7052
7576
  anyChanges = true;
7053
7577
  }
7054
7578
  }
@@ -7125,7 +7649,7 @@ var FullCalendar = (function (exports) {
7125
7649
  }
7126
7650
  }
7127
7651
  else if (refiners[optionName]) {
7128
- refined[optionName] = refiners[optionName](raw[optionName]);
7652
+ refined[optionName] = refiners[optionName](raw[optionName], optionName);
7129
7653
  }
7130
7654
  anyChanges = true;
7131
7655
  }
@@ -7140,7 +7664,7 @@ var FullCalendar = (function (exports) {
7140
7664
  };
7141
7665
  }
7142
7666
  }
7143
- function buildDateEnv$1(timeZone, explicitLocale, weekNumberCalculation, firstDay, weekText, weekTextShort, pluginHooks, availableLocaleData) {
7667
+ function buildDateEnv$1(timeZone, explicitLocale, weekNumberCalculation, firstDay, weekTextLong, weekTextShort, pluginHooks, availableLocaleData) {
7144
7668
  let locale = buildLocale(explicitLocale || availableLocaleData.defaultCode, availableLocaleData.map);
7145
7669
  return new DateEnv({
7146
7670
  calendarSystem: 'gregory', // TODO: make this a setting
@@ -7148,7 +7672,7 @@ var FullCalendar = (function (exports) {
7148
7672
  locale,
7149
7673
  weekNumberCalculation,
7150
7674
  firstDay,
7151
- weekText,
7675
+ weekTextLong,
7152
7676
  weekTextShort,
7153
7677
  cmdFormatter: pluginHooks.cmdFormatter,
7154
7678
  });
@@ -7211,12 +7735,17 @@ var FullCalendar = (function (exports) {
7211
7735
  function parseContextBusinessHours(calendarContext) {
7212
7736
  return parseBusinessHours(calendarContext.options.businessHours, calendarContext);
7213
7737
  }
7738
+ const warnedUnknownOptions = {};
7214
7739
  function filterKnownOptions(options, optionRefiners) {
7215
7740
  const knownOptions = {};
7216
7741
  for (const optionName in options) {
7217
7742
  if (optionRefiners[optionName]) {
7218
7743
  knownOptions[optionName] = options[optionName];
7219
7744
  }
7745
+ else if (!warnedUnknownOptions[optionName]) {
7746
+ warn(`Unknown option \`${optionName}\`.`);
7747
+ warnedUnknownOptions[optionName] = true;
7748
+ }
7220
7749
  }
7221
7750
  return knownOptions;
7222
7751
  }
@@ -7269,7 +7798,7 @@ var FullCalendar = (function (exports) {
7269
7798
  currentDataManager.emitter.on(handlerName, handler);
7270
7799
  }
7271
7800
  else {
7272
- console.warn(`Unknown listener name '${handlerName}'`);
7801
+ warn(`Unknown listener \`${handlerName}\`.`);
7273
7802
  }
7274
7803
  }
7275
7804
  off(handlerName, handler) {
@@ -7493,7 +8022,7 @@ var FullCalendar = (function (exports) {
7493
8022
  else if (sourceInput != null) { // an ID. accepts a number too
7494
8023
  let sourceApi = this.getEventSourceById(sourceInput); // TODO: use an internal function
7495
8024
  if (!sourceApi) {
7496
- console.warn(`Could not find an event source with ID "${sourceInput}"`); // TODO: test
8025
+ warn(`Unknown event source ID \`${sourceInput}\`.`); // TODO: test
7497
8026
  return null;
7498
8027
  }
7499
8028
  eventSource = sourceApi.internalEventSource;
@@ -7614,20 +8143,25 @@ var FullCalendar = (function (exports) {
7614
8143
  const options = currentData.calendarOptions;
7615
8144
  const buttonConfigs = options.buttons || {};
7616
8145
  const viewSpecs = currentData.viewSpecs;
8146
+ const currentUnit = currentData.viewSpec.singleUnit;
8147
+ const currentHintOrdinal = [
8148
+ currentUnit ? getSingleUnitText(currentUnit, options) : '',
8149
+ currentUnit,
8150
+ ];
7617
8151
  const buttonState = {
7618
8152
  today: {
7619
8153
  text: options.todayText,
7620
- hint: options.todayHint,
8154
+ hint: formatWithOrdinals(options.todayHint, currentHintOrdinal, options.todayText),
7621
8155
  isDisabled: !toolbarProps.isTodayEnabled,
7622
8156
  },
7623
8157
  prev: {
7624
8158
  text: options.prevText,
7625
- hint: options.prevHint,
8159
+ hint: formatWithOrdinals(options.prevHint, currentHintOrdinal, options.prevText),
7626
8160
  isDisabled: !toolbarProps.isPrevEnabled,
7627
8161
  },
7628
8162
  next: {
7629
8163
  text: options.nextText,
7630
- hint: options.nextHint,
8164
+ hint: formatWithOrdinals(options.nextHint, currentHintOrdinal, options.nextText),
7631
8165
  isDisabled: !toolbarProps.isNextEnabled,
7632
8166
  },
7633
8167
  prevYear: {
@@ -7643,10 +8177,11 @@ var FullCalendar = (function (exports) {
7643
8177
  };
7644
8178
  for (const viewSpecName in viewSpecs) {
7645
8179
  const viewSpec = viewSpecs[viewSpecName];
8180
+ const { singleUnit } = viewSpec;
7646
8181
  const buttonTextKey = viewSpec.optionDefaults.buttonTextKey;
7647
8182
  const buttonText = buttonConfigs[viewSpecName]?.text ||
7648
8183
  (buttonTextKey ? options[buttonTextKey] : '') ||
7649
- (viewSpec.singleUnit ? options[viewSpec.singleUnit + 'Text'] : '') ||
8184
+ (singleUnit ? getSingleUnitText(singleUnit, options) : '') ||
7650
8185
  viewSpecName;
7651
8186
  const buttonHint = formatWithOrdinals(options.viewHint, [buttonText, viewSpecName], // ordinal arguments
7652
8187
  buttonText);
@@ -7658,6 +8193,9 @@ var FullCalendar = (function (exports) {
7658
8193
  return buttonState;
7659
8194
  }
7660
8195
  }
8196
+ function getSingleUnitText(singleUnit, options) {
8197
+ return options[singleUnit + 'TextLong'] || options[singleUnit + 'Text'];
8198
+ }
7661
8199
 
7662
8200
  class CalendarMediaRoot extends C {
7663
8201
  constructor() {
@@ -7709,10 +8247,10 @@ var FullCalendar = (function (exports) {
7709
8247
  const { contentGenerator, className } = this.props;
7710
8248
  if (contentGenerator) {
7711
8249
  // TODO: somehow give className to the svg?
7712
- return (u$2(ContentContainer, { tag: 'span', style: { display: 'contents' }, attrs: { 'aria-hidden': true }, renderProps: {}, generatorName: undefined, customGenerator: contentGenerator }));
8250
+ return (u$1(ContentContainer, { tag: 'span', style: { display: 'contents' }, attrs: { 'aria-hidden': true }, renderProps: {}, generatorName: undefined, customGenerator: contentGenerator }));
7713
8251
  }
7714
8252
  if (className !== undefined) {
7715
- return (u$2("span", { "aria-hidden": true, className: className }));
8253
+ return (u$1("span", { "aria-hidden": true, className: className }));
7716
8254
  }
7717
8255
  }
7718
8256
  }
@@ -7744,10 +8282,10 @@ var FullCalendar = (function (exports) {
7744
8282
  for (let widget of widgetGroup) {
7745
8283
  let { name, customElement, buttonHint } = widget;
7746
8284
  if (name === 'title') {
7747
- children.push(u$2("div", { role: 'heading', "aria-level": options.headingLevel, id: props.titleId, className: joinClassNames(options.toolbarTitleClass), children: props.title }));
8285
+ children.push(u$1("div", { role: 'heading', "aria-level": options.headingLevel, id: props.titleId, className: joinClassNames(options.toolbarTitleClass), children: props.title }));
7748
8286
  }
7749
8287
  else if (customElement) {
7750
- children.push(u$2(ContentContainer, { tag: 'span', style: { display: 'contents' }, renderProps: {}, generatorName: undefined, customGenerator: customElement }));
8288
+ children.push(u$1(ContentContainer, { tag: 'span', style: { display: 'contents' }, renderProps: {}, generatorName: undefined, customGenerator: customElement }));
7751
8289
  }
7752
8290
  else {
7753
8291
  let isSelected = name === props.selectedButton;
@@ -7762,7 +8300,7 @@ var FullCalendar = (function (exports) {
7762
8300
  }
7763
8301
  let iconNode;
7764
8302
  if (buttonDisplay !== 'text') {
7765
- iconNode = (u$2(ButtonIcon, { className: widget.buttonIconClass, contentGenerator: widget.buttonIconContent }));
8303
+ iconNode = (u$1(ButtonIcon, { className: widget.buttonIconClass, contentGenerator: widget.buttonIconContent }));
7766
8304
  }
7767
8305
  let inGroup = widgetGroup.length > 1 && isOnlyButtons;
7768
8306
  let buttonGroup = inGroup ? { hasSelection: isOnlyView } : null;
@@ -7775,7 +8313,7 @@ var FullCalendar = (function (exports) {
7775
8313
  isIconOnly: buttonDisplay === 'icon',
7776
8314
  buttonGroup,
7777
8315
  };
7778
- children.push(u$2(ContentContainer, { tag: 'button', attrs: {
8316
+ children.push(u$1(ContentContainer, { tag: 'button', attrs: {
7779
8317
  type: 'button',
7780
8318
  disabled: isDisabled,
7781
8319
  ...((isOnlyButtons && isOnlyView)
@@ -7790,8 +8328,8 @@ var FullCalendar = (function (exports) {
7790
8328
  : buttonDisplay === 'icon'
7791
8329
  ? iconNode
7792
8330
  : buttonDisplay === 'icon-text'
7793
- ? (u$2(S, { children: [iconNode, widget.buttonText] }))
7794
- : (u$2(S, { children: [widget.buttonText, iconNode] })) // text-icon
8331
+ ? (u$1(S, { children: [iconNode, widget.buttonText] }))
8332
+ : (u$1(S, { children: [widget.buttonText, iconNode] })) // text-icon
7795
8333
  ) }));
7796
8334
  }
7797
8335
  }
@@ -7813,11 +8351,11 @@ var FullCalendar = (function (exports) {
7813
8351
  let { sectionWidgets } = props.model;
7814
8352
  const { borderlessX, borderlessTop, borderlessBottom } = computeViewBorderless(options);
7815
8353
  const toolbarClassOption = props.isHeader ? options.headerToolbarClass : options.footerToolbarClass;
7816
- return (u$2("div", { className: joinClassNames(generateClassName(toolbarClassOption, { borderlessX, borderlessTop, borderlessBottom }), generateClassName(options.toolbarClass, { borderlessX, borderlessTop, borderlessBottom })), children: [this.renderSection('start', sectionWidgets.start), this.renderSection('center', sectionWidgets.center), this.renderSection('end', sectionWidgets.end)] }));
8354
+ return (u$1("div", { className: joinClassNames(generateClassName(toolbarClassOption, { borderlessX, borderlessTop, borderlessBottom }), generateClassName(options.toolbarClass, { borderlessX, borderlessTop, borderlessBottom })), children: [this.renderSection('start', sectionWidgets.start), this.renderSection('center', sectionWidgets.center), this.renderSection('end', sectionWidgets.end)] }));
7817
8355
  }
7818
8356
  renderSection(name, widgetGroups) {
7819
8357
  let { props } = this;
7820
- return (u$2(ToolbarSection, { name: name, widgetGroups: widgetGroups, title: props.title, titleId: props.titleId, navUnit: props.navUnit, selectedButton: props.selectedButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled }, name));
8358
+ return (u$1(ToolbarSection, { name: name, widgetGroups: widgetGroups, title: props.title, titleId: props.titleId, navUnit: props.navUnit, selectedButton: props.selectedButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled }, name));
7821
8359
  }
7822
8360
  }
7823
8361
 
@@ -7944,7 +8482,7 @@ var FullCalendar = (function (exports) {
7944
8482
  viewAspectRatio = Math.max(options.aspectRatio, 0.5); // prevent from getting too tall
7945
8483
  }
7946
8484
  let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.nowManager, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, props.baseId, this.registerInteractiveComponent, this.unregisterInteractiveComponent);
7947
- return (u$2(ViewContextType.Provider, { value: viewContext, children: [toolbarConfig.header && (u$2(Toolbar, { model: toolbarConfig.header, isHeader: true, titleId: this.viewTitleId, ...props.toolbarProps })), u$2("div", { className: joinClassNames(classNames.flexCol, classNames.rel,
8485
+ return (u$1(ViewContextType.Provider, { value: viewContext, children: [toolbarConfig.header && (u$1(Toolbar, { model: toolbarConfig.header, isHeader: true, titleId: this.viewTitleId, ...props.toolbarProps })), u$1("div", { className: joinClassNames(classNames.flexCol, classNames.rel,
7948
8486
  // prevents browsers' "scroll anchoring behavior", which cause scroll thrashing
7949
8487
  // when clicking "Next" for month-view, because rows would flex-grow while other rows
7950
8488
  // temporarily removed. This behavior probably universally unhelpful for our uses,
@@ -7955,7 +8493,7 @@ var FullCalendar = (function (exports) {
7955
8493
  classNames.minHeight0, viewHeightLiquid && classNames.liquid), style: {
7956
8494
  height: viewHeight,
7957
8495
  aspectRatio: viewAspectRatio != null ? String(viewAspectRatio) : undefined,
7958
- }, children: [this.renderView(joinClassNames((viewHeightLiquid || viewHeight) && classNames.liquid, viewAspectRatio != null && classNames.fill, classNames.internalView)), this.buildAppendContent()] }), toolbarConfig.footer && (u$2(Toolbar, { model: toolbarConfig.footer, isHeader: false, ...props.toolbarProps }))] }));
8496
+ }, children: [this.renderView(joinClassNames((viewHeightLiquid || viewHeight) && classNames.liquid, viewAspectRatio != null && classNames.fill, classNames.internalView)), this.buildAppendContent()] }), toolbarConfig.footer && (u$1(Toolbar, { model: toolbarConfig.footer, isHeader: false, ...props.toolbarProps }))] }));
7959
8497
  }
7960
8498
  renderView(className) {
7961
8499
  const { props } = this;
@@ -7984,11 +8522,11 @@ var FullCalendar = (function (exports) {
7984
8522
  Object.assign(viewProps, transformer.transform(viewProps, contentProps));
7985
8523
  }
7986
8524
  let ViewComponent = viewSpec.component;
7987
- return (u$2(ViewComponent, { ...viewProps }));
8525
+ return (u$1(ViewComponent, { ...viewProps }));
7988
8526
  }
7989
8527
  buildAppendContent() {
7990
8528
  const { props } = this;
7991
- return (u$2(S, { children: props.pluginHooks.viewContainerAppends.map((buildAppendContent, i) => (u$2(S, { children: buildAppendContent(props) }, i))) }));
8529
+ return (u$1(S, { children: props.pluginHooks.viewContainerAppends.map((buildAppendContent, i) => (u$1(S, { children: buildAppendContent(props) }, i))) }));
7992
8530
  }
7993
8531
  // BE AWARE React StrictMode might execute this twice
7994
8532
  componentDidMount() {
@@ -8413,14 +8951,17 @@ var FullCalendar = (function (exports) {
8413
8951
  this.refineRenderProps = memoizeObjArg(refineRenderProps$1);
8414
8952
  }
8415
8953
  render() {
8416
- let { props, context } = this;
8417
- let { options } = context;
8418
- return (u$2(ContentContainer, { elRef: props.elRef, tag: props.tag || 'div', attrs: props.attrs, className: props.className, style: props.style, renderProps: this.refineRenderProps({
8419
- ...computeViewBorderless(options),
8420
- options: { headerToolbar: options.headerToolbar, footerToolbar: options.footerToolbar },
8421
- isHeightAuto: getIsHeightAuto(options),
8422
- viewApi: context.viewApi,
8423
- }), classNameGenerator: options.viewClass, generatorName: undefined, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount, children: () => props.children }));
8954
+ const { props, context } = this;
8955
+ const { options, viewSpec } = context;
8956
+ const renderProps = this.refineRenderProps({
8957
+ ...computeViewBorderless(options),
8958
+ options: { headerToolbar: options.headerToolbar, footerToolbar: options.footerToolbar },
8959
+ isHeightAuto: getIsHeightAuto(options),
8960
+ viewApi: context.viewApi,
8961
+ });
8962
+ return (u$1(ContentContainer, { elRef: props.elRef, tag: props.tag || 'div', attrs: props.attrs, style: props.style, className: joinClassNames(props.className, generateClassName(options.viewClass, renderProps),
8963
+ // WORKAROUND for way calendar's className would get merged into view's className
8964
+ generateClassName(viewSpec.optionDefaults.class, renderProps), generateClassName(viewSpec.optionDefaults.className, renderProps), generateClassName(viewSpec.optionOverrides.class, renderProps), generateClassName(viewSpec.optionOverrides.className, renderProps)), renderProps: renderProps, generatorName: undefined, didMount: options.didMount || options.viewDidMount, willUnmount: options.willUnmount || options.viewWillUnmount, children: () => props.children }));
8424
8965
  }
8425
8966
  }
8426
8967
  function refineRenderProps$1(raw) {
@@ -8720,12 +9261,12 @@ var FullCalendar = (function (exports) {
8720
9261
  // if there's only one axis that needs scrolling, the other axis will unintentionally have
8721
9262
  // scrollbars too if we don't force to 'hidden'
8722
9263
  const fallbackOverflow = (props.horizontal || props.vertical) ? 'hidden' : '';
8723
- return (u$2("div", { ref: this.handleEl, className: joinClassNames(props.className, classNames.noPadding, classNames.rel, // for children fillTop/fillStart
9264
+ return (u$1("div", { ref: this.handleEl, className: joinClassNames(props.className, classNames.noPadding, classNames.rel, // for children fillTop/fillStart
8724
9265
  props.hideScrollbars && classNames.noScrollbars, classNames.internalScroller), style: {
8725
9266
  ...props.style,
8726
9267
  overflowX: (props.horizontal ? 'auto' : fallbackOverflow),
8727
9268
  overflowY: (props.vertical ? 'auto' : fallbackOverflow),
8728
- }, children: [props.children, Boolean(props.clientWidthRef) && (u$2("div", { ref: this.handleHRuler, className: classNames.fillTop })), Boolean(props.clientHeightRef || props.bottomScrollbarWidthRef) && (u$2("div", { ref: this.handleVRuler, className: classNames.fillStart }))] }));
9269
+ }, children: [props.children, Boolean(props.clientWidthRef) && (u$1("div", { ref: this.handleHRuler, className: classNames.fillTop })), Boolean(props.clientHeightRef || props.bottomScrollbarWidthRef) && (u$1("div", { ref: this.handleVRuler, className: classNames.fillStart }))] }));
8729
9270
  }
8730
9271
  endScroll() {
8731
9272
  this.listener.endScroll();
@@ -8904,7 +9445,7 @@ var FullCalendar = (function (exports) {
8904
9445
  const innerClassName = joinClassNames(generateClassName(options.eventInnerClass, renderProps), isBlock && generateClassName(options.blockEventInnerClass, renderProps), props.display === 'row' && generateClassName(options.rowEventInnerClass, renderProps), props.display === 'column' && generateClassName(options.columnEventInnerClass, renderProps), props.display === 'list-item' && generateClassName(options.listItemEventInnerClass, renderProps), !props.disableLiquid && classNames.liquid);
8905
9446
  const beforeContent = props.display === 'row' && options.rowEventBeforeContent;
8906
9447
  const afterContent = props.display === 'row' && options.rowEventAfterContent;
8907
- return (u$2(ContentContainer, { tag: tag, attrs: {
9448
+ return (u$1(ContentContainer, { tag: tag, attrs: {
8908
9449
  ...props.attrs,
8909
9450
  ...attrs,
8910
9451
  // HACK because this event-element gets attached to root during some dragging
@@ -8912,17 +9453,17 @@ var FullCalendar = (function (exports) {
8912
9453
  }, className: outerClassName, style: {
8913
9454
  '--fc-event-color': renderProps.color,
8914
9455
  '--fc-event-contrast-color': renderProps.contrastColor,
8915
- }, elRef: this.handleEl, renderProps: renderProps, generatorName: "eventContent", customGenerator: options.eventContent, defaultGenerator: renderInnerContent$2, classNameGenerator: options.eventClass, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount, children: (InnerContent) => (u$2(S, { children: [Boolean(renderProps.isSelected && isBlock) && (u$2("div", { className: props.display === 'column'
9456
+ }, elRef: this.handleEl, renderProps: renderProps, generatorName: "eventContent", customGenerator: options.eventContent, defaultGenerator: renderInnerContent$2, classNameGenerator: options.eventClass, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount, children: (InnerContent) => (u$1(S, { children: [Boolean(renderProps.isSelected && isBlock) && (u$1("div", { className: props.display === 'column'
8916
9457
  ? classNames.hitX
8917
- : classNames.hitY })), (beforeClassName || beforeContent) && (u$2("div", { className: joinClassNames(beforeClassName, !props.disableZindexes && classNames.z1, renderProps.isStartResizable && joinClassNames(props.display === 'column'
9458
+ : classNames.hitY })), (beforeClassName || beforeContent) && (u$1("div", { className: joinClassNames(beforeClassName, !props.disableZindexes && classNames.z1, renderProps.isStartResizable && joinClassNames(props.display === 'column'
8918
9459
  ? classNames.cursorResizeT
8919
9460
  : classNames.cursorResizeS,
8920
9461
  // these classnames required for dnd
8921
- classNames.internalEventResizer, classNames.internalEventResizerStart)), children: [beforeContent && (u$2(ContentContainer, { tag: 'div', style: { display: 'contents' }, attrs: { 'aria-hidden': true }, renderProps: renderProps, generatorName: undefined, customGenerator: beforeContent })), Boolean(renderProps.isStartResizable && renderProps.isSelected) && (u$2("div", { className: classNames.hit }))] })), u$2(InnerContent, { tag: "div", className: joinClassNames(innerClassName, !props.disableZindexes && classNames.z0) }), (afterClassName || afterContent) && (u$2("div", { className: joinClassNames(afterClassName, !props.disableZindexes && classNames.z1, renderProps.isEndResizable && joinClassNames(props.display === 'column'
9462
+ classNames.internalEventResizer, classNames.internalEventResizerStart)), children: [beforeContent && (u$1(ContentContainer, { tag: 'div', style: { display: 'contents' }, attrs: { 'aria-hidden': true }, renderProps: renderProps, generatorName: undefined, customGenerator: beforeContent })), Boolean(renderProps.isStartResizable && renderProps.isSelected) && (u$1("div", { className: classNames.hit }))] })), u$1(InnerContent, { tag: "div", className: joinClassNames(innerClassName, !props.disableZindexes && classNames.z0) }), (afterClassName || afterContent) && (u$1("div", { className: joinClassNames(afterClassName, !props.disableZindexes && classNames.z1, renderProps.isEndResizable && joinClassNames(props.display === 'column'
8922
9463
  ? classNames.cursorResizeB
8923
9464
  : classNames.cursorResizeE,
8924
9465
  // these classnames required for dnd
8925
- classNames.internalEventResizer, classNames.internalEventResizerEnd)), children: [afterContent && (u$2(ContentContainer, { tag: 'div', style: { display: 'contents' }, attrs: { 'aria-hidden': true }, renderProps: renderProps, generatorName: undefined, customGenerator: afterContent })), Boolean(renderProps.isEndResizable && renderProps.isSelected) && (u$2("div", { className: classNames.hit }))] }))] })) }));
9466
+ classNames.internalEventResizer, classNames.internalEventResizerEnd)), children: [afterContent && (u$1(ContentContainer, { tag: 'div', style: { display: 'contents' }, attrs: { 'aria-hidden': true }, renderProps: renderProps, generatorName: undefined, customGenerator: afterContent })), Boolean(renderProps.isEndResizable && renderProps.isSelected) && (u$1("div", { className: classNames.hit }))] }))] })) }));
8926
9467
  }
8927
9468
  componentDidUpdate(prevProps) {
8928
9469
  if (this.el && this.props.eventRange !== prevProps.eventRange) {
@@ -8934,7 +9475,7 @@ var FullCalendar = (function (exports) {
8934
9475
  seg: isPropsEqualShallow,
8935
9476
  });
8936
9477
  function renderInnerContent$2(innerProps) {
8937
- return (u$2(S, { children: [innerProps.timeText && (u$2("div", { className: innerProps.timeClass, children: innerProps.timeText })), u$2("div", { className: innerProps.titleClass, children: innerProps.event.title || u$2(S, { children: "\u00A0" }) })] }));
9478
+ return (u$1(S, { children: [innerProps.timeText && (u$1("div", { className: innerProps.timeClass, children: innerProps.timeText })), u$1("div", { className: innerProps.titleClass, children: innerProps.event.title || u$1(S, { children: "\u00A0" }) })] }));
8938
9479
  }
8939
9480
 
8940
9481
  class Slicer {
@@ -9254,7 +9795,7 @@ var FullCalendar = (function (exports) {
9254
9795
  this.elRef = M$1();
9255
9796
  }
9256
9797
  render() {
9257
- return (u$2("div", { ref: this.elRef }));
9798
+ return (u$1("div", { ref: this.elRef }));
9258
9799
  }
9259
9800
  componentDidMount() {
9260
9801
  this._isUnmounting = false;
@@ -9383,10 +9924,10 @@ var FullCalendar = (function (exports) {
9383
9924
  // does not include backgroundEventClass.. added below
9384
9925
  const outerClassName = joinClassNames(eventUi.className, classNames.fill, classNames.internalEvent, classNames.internalBgEvent, props.isVertical ? classNames.flexCol : classNames.flexRow);
9385
9926
  const innerClassName = joinClassNames(generateClassName(options.backgroundEventInnerClass, renderProps), classNames.liquid);
9386
- return (u$2(ContentContainer, { tag: 'div', className: outerClassName, style: {
9927
+ return (u$1(ContentContainer, { tag: 'div', className: outerClassName, style: {
9387
9928
  '--fc-event-color': renderProps.color,
9388
9929
  '--fc-event-contrast-color': renderProps.contrastColor,
9389
- }, defaultGenerator: renderInnerContent$1, elRef: this.handleEl, renderProps: renderProps, generatorName: "backgroundEventContent", customGenerator: options.backgroundEventContent, classNameGenerator: options.backgroundEventClass, didMount: options.backgroundEventDidMount, willUnmount: options.backgroundEventWillUnmount, children: (InnerContent) => (u$2(InnerContent, { tag: 'div', className: innerClassName })) }));
9930
+ }, defaultGenerator: renderInnerContent$1, elRef: this.handleEl, renderProps: renderProps, generatorName: "backgroundEventContent", customGenerator: options.backgroundEventContent, classNameGenerator: options.backgroundEventClass, didMount: options.backgroundEventDidMount, willUnmount: options.backgroundEventWillUnmount, children: (InnerContent) => (u$1(InnerContent, { tag: 'div', className: innerClassName })) }));
9390
9931
  }
9391
9932
  componentDidUpdate(prevProps) {
9392
9933
  if (this.el && this.props.eventRange !== prevProps.eventRange) {
@@ -9396,12 +9937,12 @@ var FullCalendar = (function (exports) {
9396
9937
  }
9397
9938
  function renderInnerContent$1(props) {
9398
9939
  let { title } = props.event;
9399
- return title && (u$2("div", { className: props.titleClass, children: props.event.title }));
9940
+ return title && (u$1("div", { className: props.titleClass, children: props.event.title }));
9400
9941
  }
9401
9942
  // Other types of fills
9402
9943
  // -------------------------------------------------------------------------------------------------
9403
9944
  function renderFill(fillType, options) {
9404
- return (u$2("div", { className: joinClassNames(fillType === 'non-business' ? options.nonBusinessHoursClass :
9945
+ return (u$1("div", { className: joinClassNames(fillType === 'non-business' ? options.nonBusinessHoursClass :
9405
9946
  fillType === 'highlight' ? options.highlightClass : undefined, classNames.fill) }));
9406
9947
  }
9407
9948
 
@@ -9494,22 +10035,22 @@ var FullCalendar = (function (exports) {
9494
10035
  ? dayHeaderAlign({ level: 0, inPopover: true, isNarrow: false })
9495
10036
  : dayHeaderAlign;
9496
10037
  const isRtl = computeElIsRtl(props.alignEl);
9497
- return $(u$2("div", { "data-date": fullDateStr, id: props.id, role: 'dialog', "aria-labelledby": props.titleId, className: joinClassNames(options.popoverClass, classNames.flexCol, classNames.popoverZ, classNames.abs, classNames.borderBoxRoot, classNames.internalPopover), style: {
10038
+ return $(u$1("div", { "data-date": fullDateStr, id: props.id, role: 'dialog', "aria-labelledby": props.titleId, className: joinClassNames(options.popoverClass, classNames.flexCol, classNames.popoverZ, classNames.abs, classNames.borderBoxRoot, classNames.internalPopover), style: {
9498
10039
  // positioning is mutated directly in updateSize, HOWEVER, we don't want popover to start
9499
10040
  // low on screen because might cause unnecessary scrollbars
9500
10041
  top: 0,
9501
10042
  left: 0,
9502
10043
  },
9503
10044
  // HACK because of portal
9504
- dir: isRtl ? 'rtl' : undefined, "data-color-scheme": options.colorScheme || undefined, ref: this.handleRootEl, children: [u$2("div", { tabIndex: 0, style: { outline: 'none' }, ref: this.focusStartRef }), u$2("div", { className: joinClassNames(generateClassName(options.dayHeaderClass, dayHeaderRenderProps), classNames.flexCol, classNames.borderOnlyB, align === 'center' ? classNames.alignCenter :
10045
+ dir: isRtl ? 'rtl' : undefined, "data-color-scheme": options.colorScheme || undefined, ref: this.handleRootEl, children: [u$1("div", { tabIndex: 0, style: { outline: 'none' }, ref: this.focusStartRef }), u$1("div", { className: joinClassNames(generateClassName(options.dayHeaderClass, dayHeaderRenderProps), classNames.flexCol, classNames.borderOnlyB, align === 'center' ? classNames.alignCenter :
9505
10046
  align === 'end' ? classNames.alignEnd :
9506
- classNames.alignStart), children: [u$2("div", { children: u$2(ContentContainer, { tag: "div", attrs: {
10047
+ classNames.alignStart), children: [u$1("div", { children: u$1(ContentContainer, { tag: "div", attrs: {
9507
10048
  id: props.titleId,
9508
10049
  // NOTE: more-popover never has nav-links
9509
- }, generatorName: "dayHeaderContent", renderProps: dayHeaderRenderProps, customGenerator: options.dayHeaderContent, defaultGenerator: renderText, classNameGenerator: options.dayHeaderInnerClass, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }) }), u$2(ContentContainer, { tag: 'button', attrs: {
10050
+ }, generatorName: "dayHeaderContent", renderProps: dayHeaderRenderProps, customGenerator: options.dayHeaderContent, defaultGenerator: renderText, classNameGenerator: options.dayHeaderInnerClass, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }) }), u$1(ContentContainer, { tag: 'button', attrs: {
9510
10051
  'aria-label': options.closeHint,
9511
10052
  ...createAriaClickAttrs(this.handleClose)
9512
- }, elRef: this.closeRef, className: joinClassNames(options.popoverCloseClass, classNames.flexRow, classNames.cursorPointer), renderProps: {}, customGenerator: options.popoverCloseContent, generatorName: 'popoverCloseContent' })] }), u$2("div", { className: joinClassNames(generateClassName(options.dayCellClass, dayCellRenderProps), classNames.flexCol, classNames.borderNone), children: u$2("div", { className: generateClassName(options.dayCellInnerClass, dayCellRenderProps), children: props.children }) }), u$2("div", { tabIndex: 0, style: { outline: 'none' }, ref: this.focusEndRef })] }), getAppendableRoot(props.alignEl));
10053
+ }, elRef: this.closeRef, className: joinClassNames(options.popoverCloseClass, classNames.flexRow, classNames.cursorPointer), renderProps: {}, customGenerator: options.popoverCloseContent, generatorName: 'popoverCloseContent' })] }), u$1("div", { className: joinClassNames(generateClassName(options.dayCellClass, dayCellRenderProps), classNames.flexCol, classNames.borderNone), children: u$1("div", { className: generateClassName(options.dayCellInnerClass, dayCellRenderProps), children: props.children }) }), u$1("div", { tabIndex: 0, style: { outline: 'none' }, ref: this.focusEndRef })] }), getAppendableRoot(props.alignEl));
9513
10054
  }
9514
10055
  queryHit(isRtl, positionLeft, positionTop, elWidth, elHeight) {
9515
10056
  let { rootEl, props } = this;
@@ -9688,7 +10229,7 @@ var FullCalendar = (function (exports) {
9688
10229
  }
9689
10230
  render() {
9690
10231
  let { props, state } = this;
9691
- return (u$2(ViewContextType.Consumer, { children: (context) => {
10232
+ return (u$1(ViewContextType.Consumer, { children: (context) => {
9692
10233
  let { viewApi, options, calendarApi, baseId } = context;
9693
10234
  let { moreLinkText } = options;
9694
10235
  let moreCnt = props.hiddenSegs.length;
@@ -9707,7 +10248,7 @@ var FullCalendar = (function (exports) {
9707
10248
  isNarrow: props.isNarrow,
9708
10249
  view: viewApi,
9709
10250
  };
9710
- return (u$2(S, { children: [Boolean(moreCnt) && (u$2(ContentContainer, { tag: 'div', elRef: this.handleLinkEl, className: joinClassNames(generateClassName(// will added to moreLinkClass
10251
+ return (u$1(S, { children: [Boolean(moreCnt) && (u$1(ContentContainer, { tag: 'div', elRef: this.handleLinkEl, className: joinClassNames(generateClassName(// will added to moreLinkClass
9711
10252
  props.display === 'row'
9712
10253
  ? options.rowMoreLinkClass // row
9713
10254
  : options.columnMoreLinkClass, // column
@@ -9721,12 +10262,12 @@ var FullCalendar = (function (exports) {
9721
10262
  'aria-haspopup': 'dialog',
9722
10263
  'aria-expanded': state.isPopoverOpen,
9723
10264
  'aria-controls': state.isPopoverOpen ? popoverId : undefined,
9724
- }, renderProps: renderProps, generatorName: "moreLinkContent", customGenerator: options.moreLinkContent, defaultGenerator: renderMoreLinkText, classNameGenerator: options.moreLinkClass, didMount: options.moreLinkDidMount, willUnmount: options.moreLinkWillUnmount, children: (InnerContent) => (u$2(InnerContent, { tag: 'div', className: joinClassNames(generateClassName(options.moreLinkInnerClass, renderProps), generateClassName(props.display === 'row'
10265
+ }, renderProps: renderProps, generatorName: "moreLinkContent", customGenerator: options.moreLinkContent, defaultGenerator: renderMoreLinkText, classNameGenerator: options.moreLinkClass, didMount: options.moreLinkDidMount, willUnmount: options.moreLinkWillUnmount, children: (InnerContent) => (u$1(InnerContent, { tag: 'div', className: joinClassNames(generateClassName(options.moreLinkInnerClass, renderProps), generateClassName(props.display === 'row'
9725
10266
  ? options.rowMoreLinkInnerClass // row
9726
10267
  : options.columnMoreLinkInnerClass, // column
9727
10268
  renderProps), props.display === 'row'
9728
10269
  ? classNames.stickyS
9729
- : classNames.stickyT) })) })), state.isPopoverOpen && (u$2(MorePopover, { id: popoverId, titleId: popoverId + '-title', startDate: range.start, endDate: range.end, dateProfile: props.dateProfile, todayRange: props.todayRange, dateSpanProps: props.dateSpanProps, alignEl: props.alignElRef ?
10270
+ : classNames.stickyT) })) })), state.isPopoverOpen && (u$1(MorePopover, { id: popoverId, titleId: popoverId + '-title', startDate: range.start, endDate: range.end, dateProfile: props.dateProfile, todayRange: props.todayRange, dateSpanProps: props.dateSpanProps, alignEl: props.alignElRef ?
9730
10271
  props.alignElRef.current :
9731
10272
  this.linkEl, alignParentTop: props.alignParentTop, forceTimed: props.forceTimed, onClose: this.handlePopoverClose, children: props.popoverContent() }))] }));
9732
10273
  } }));
@@ -9767,15 +10308,15 @@ var FullCalendar = (function (exports) {
9767
10308
  class DayGridMoreLink extends BaseComponent {
9768
10309
  render() {
9769
10310
  let { props } = this;
9770
- return (u$2(MoreLinkContainer, { display: 'row', className: props.className, isNarrow: props.isNarrow, isMicro: props.isMicro, dateProfile: props.dateProfile, todayRange: props.todayRange, allDayDate: props.allDayDate, segs: props.segs, hiddenSegs: props.hiddenSegs, alignElRef: props.alignElRef, alignParentTop: props.alignParentTop, dateSpanProps: props.dateSpanProps, popoverContent: () => (u$2(S, { children: props.segs.map((seg) => {
10311
+ return (u$1(MoreLinkContainer, { display: 'row', className: props.className, isNarrow: props.isNarrow, isMicro: props.isMicro, dateProfile: props.dateProfile, todayRange: props.todayRange, allDayDate: props.allDayDate, segs: props.segs, hiddenSegs: props.hiddenSegs, alignElRef: props.alignElRef, alignParentTop: props.alignParentTop, dateSpanProps: props.dateSpanProps, popoverContent: () => (u$1(S, { children: props.segs.map((seg) => {
9771
10312
  let { eventRange } = seg;
9772
10313
  let { instanceId } = eventRange.instance;
9773
10314
  let isDragging = Boolean(props.eventDrag && props.eventDrag.affectedInstances[instanceId]);
9774
10315
  let isResizing = Boolean(props.eventResize && props.eventResize.affectedInstances[instanceId]);
9775
10316
  let isInvisible = isDragging || isResizing;
9776
- return (u$2("div", { style: {
10317
+ return (u$1("div", { style: {
9777
10318
  visibility: isInvisible ? 'hidden' : undefined,
9778
- }, children: u$2(StandardEvent, { display: hasListItemDisplay(seg) ? 'list-item' : 'row', eventRange: eventRange, isStart: seg.isStart, isEnd: seg.isEnd, isDragging: isDragging, isResizing: isResizing, isMirror: false, isSelected: instanceId === props.eventSelection, defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: false, ...getEventRangeMeta(eventRange, props.todayRange) }) }, instanceId));
10319
+ }, children: u$1(StandardEvent, { display: hasListItemDisplay(seg) ? 'list-item' : 'row', eventRange: eventRange, isStart: seg.isStart, isEnd: seg.isEnd, isDragging: isDragging, isResizing: isResizing, isMirror: false, isSelected: instanceId === props.eventSelection, defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: false, ...getEventRangeMeta(eventRange, props.todayRange) }) }, instanceId));
9779
10320
  }) })) }));
9780
10321
  }
9781
10322
  }
@@ -9840,12 +10381,12 @@ var FullCalendar = (function (exports) {
9840
10381
  businessHours: Boolean(options.businessHours),
9841
10382
  });
9842
10383
  if (dateMeta.isDisabled) {
9843
- return (u$2("div", { role: 'gridcell', "aria-disabled": true, className: joinClassNames(generateClassName(options.dayCellClass, renderProps), props.className, baseClassName), style: {
10384
+ return (u$1("div", { role: 'gridcell', "aria-disabled": true, className: joinClassNames(generateClassName(options.dayCellClass, renderProps), props.className, baseClassName), style: {
9844
10385
  width: props.width
9845
10386
  } }));
9846
10387
  }
9847
10388
  const fullDateStr = buildDateStr(context, props.date);
9848
- return (u$2(ContentContainer, { tag: "div", elRef: this.rootElRef, className: joinClassNames(props.className, baseClassName), attrs: {
10389
+ return (u$1(ContentContainer, { tag: "div", elRef: this.rootElRef, className: joinClassNames(props.className, baseClassName), attrs: {
9849
10390
  ...props.attrs,
9850
10391
  role: 'gridcell',
9851
10392
  'aria-label': fullDateStr,
@@ -9854,14 +10395,14 @@ var FullCalendar = (function (exports) {
9854
10395
  }, style: {
9855
10396
  width: props.width,
9856
10397
  }, renderProps: renderProps, generatorName: "dayCellTopContent" // !!! for top
9857
- , customGenerator: options.dayCellTopContent /* !!! for top */, defaultGenerator: renderTopInner, classNameGenerator: options.dayCellClass, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount, children: (InnerContent) => (u$2(S, { children: [u$2("div", { className: joinClassNames(classNames.rel, // puts it above bg-fills, which are positioned on TOP of this component :|
9858
- generateClassName(options.dayCellTopClass, renderProps)), children: props.showDayNumber && (u$2(InnerContent // the dayCellTopContent
10398
+ , customGenerator: options.dayCellTopContent /* !!! for top */, defaultGenerator: renderTopInner, classNameGenerator: options.dayCellClass, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount, children: (InnerContent) => (u$1(S, { children: [u$1("div", { className: joinClassNames(classNames.rel, // puts it above bg-fills, which are positioned on TOP of this component :|
10399
+ generateClassName(options.dayCellTopClass, renderProps)), children: props.showDayNumber && (u$1(InnerContent // the dayCellTopContent
9859
10400
  , { tag: 'div', attrs: hasNavLink
9860
10401
  ? buildNavLinkAttrs(context, props.date, undefined, fullDateStr)
9861
10402
  : { 'aria-hidden': true } // label already on cell
9862
- , className: generateClassName(options.dayCellTopInnerClass, renderProps) })) }), u$2("div", { className: joinClassNames(classNames.flexCol, props.fgLiquidHeight ? classNames.liquid : classNames.grow), ref: this.handleBodyEl, children: [u$2("div", { className: generateClassName(options.dayCellInnerClass, renderProps), style: { minHeight: props.fgHeight }, children: props.fg }), u$2(DayGridMoreLink, { className: classNames.rel, allDayDate: props.date, segs: props.segs, hiddenSegs: props.hiddenSegs, alignElRef: this.rootElRef, alignParentTop: props.showDayNumber
10403
+ , className: generateClassName(options.dayCellTopInnerClass, renderProps) })) }), u$1("div", { className: joinClassNames(classNames.flexCol, props.fgLiquidHeight ? classNames.liquid : classNames.grow), ref: this.handleBodyEl, children: [u$1("div", { className: generateClassName(options.dayCellInnerClass, renderProps), style: { minHeight: props.fgHeight }, children: props.fg }), u$1(DayGridMoreLink, { className: classNames.rel, allDayDate: props.date, segs: props.segs, hiddenSegs: props.hiddenSegs, alignElRef: this.rootElRef, alignParentTop: props.showDayNumber
9863
10404
  ? '[role=row]'
9864
- : `.${classNames.internalView}`, dateSpanProps: props.dateSpanProps, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange, isNarrow: props.isNarrow, isMicro: props.isMicro })] }), u$2("div", { className: joinClassNames(classNames.rel, // puts it above bg-fills
10405
+ : `.${classNames.internalView}`, dateSpanProps: props.dateSpanProps, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange, isNarrow: props.isNarrow, isMicro: props.isMicro })] }), u$1("div", { className: joinClassNames(classNames.rel, // puts it above bg-fills
9865
10406
  generateClassName(options.dayCellBottomClass, renderProps)) })] })) }));
9866
10407
  }
9867
10408
  componentDidMount() {
@@ -9874,7 +10415,7 @@ var FullCalendar = (function (exports) {
9874
10415
  // Utils
9875
10416
  // -------------------------------------------------------------------------------------------------
9876
10417
  function renderTopInner(props) {
9877
- return props.text || u$2(S, { children: "\u00A0" }); // TODO: DRY?
10418
+ return props.text || u$1(S, { children: "\u00A0" }); // TODO: DRY?
9878
10419
  }
9879
10420
  function shouldDisplayMonthStart(date, currentRange, dateEnv) {
9880
10421
  const { start: currentStart, end: currentEnd } = currentRange;
@@ -10557,7 +11098,7 @@ var FullCalendar = (function (exports) {
10557
11098
  }
10558
11099
  render() {
10559
11100
  const { props } = this;
10560
- return (u$2("div", { className: joinClassNames(props.className, classNames.abs), style: props.style, ref: this.rootElRef, children: props.children }));
11101
+ return (u$1("div", { className: joinClassNames(props.className, classNames.abs), style: props.style, ref: this.rootElRef, children: props.children }));
10561
11102
  }
10562
11103
  componentDidMount() {
10563
11104
  this._isUnmounting = false;
@@ -10635,14 +11176,14 @@ var FullCalendar = (function (exports) {
10635
11176
  const hasNavLink = options.navLinks;
10636
11177
  const fullWeekStr = buildDateStr(context, weekDateMarker, 'week');
10637
11178
  const weekNumberRenderProps = this.buildWeekNumberRenderProps(weekDateMarker, context, props.cellIsNarrow, hasNavLink);
10638
- return (u$2("div", { role: props.role /* !!! */, "aria-label": props.role === 'row' // HACK
11179
+ return (u$1("div", { role: props.role /* !!! */, "aria-label": props.role === 'row' // HACK
10639
11180
  ? fullWeekStr
10640
11181
  : undefined // can't have label on non-role div
10641
11182
  , className: joinClassNames(options.dayRowClass, props.className, classNames.flexRow, classNames.rel, // origin for inlineWeekNumber?
10642
11183
  classNames.isolate, (props.forPrint && props.basis !== undefined) && // basis implies siblings (must share height)
10643
11184
  classNames.printSiblingRow), style: {
10644
11185
  flexBasis: props.basis,
10645
- }, ref: this.handleRootEl, children: [(props.showWeekNumbers && !props.cellIsMicro) && (u$2(ContentContainer, { tag: 'div', attrs: {
11186
+ }, ref: this.handleRootEl, children: [(props.showWeekNumbers && !props.cellIsMicro) && (u$1(ContentContainer, { tag: 'div', attrs: {
10646
11187
  ...(hasNavLink
10647
11188
  ? buildNavLinkAttrs(context, weekDateMarker, 'week', fullWeekStr, /* isTabbable = */ false)
10648
11189
  : {}),
@@ -10653,9 +11194,9 @@ var FullCalendar = (function (exports) {
10653
11194
  className: classNames.z1, renderProps: weekNumberRenderProps, generatorName: "inlineWeekNumberContent", customGenerator: options.inlineWeekNumberContent, defaultGenerator: renderText$1, classNameGenerator: options.inlineWeekNumberClass, didMount: options.inlineWeekNumberDidMount, willUnmount: options.inlineWeekNumberWillUnmount })), this.renderFillSegs(props.businessHourSegs, 'non-business'), this.renderFillSegs(props.bgEventSegs, 'bg-event'), this.renderFillSegs(highlightSegs, 'highlight'), props.cells.map((cell, col) => {
10654
11195
  const normalFgNodes = this.renderFgSegs(maxMainTop, renderableSegsByCol[col], segTops, props.todayRange,
10655
11196
  /* isMirror = */ false);
10656
- return (u$2(DayGridCell, { dateProfile: props.dateProfile, todayRange: props.todayRange, date: cell.date, isMajor: cell.isMajor, showDayNumber: props.showDayNumbers, isNarrow: props.cellIsNarrow, isMicro: props.cellIsMicro, borderStart: Boolean(col),
11197
+ return (u$1(DayGridCell, { dateProfile: props.dateProfile, todayRange: props.todayRange, date: cell.date, isMajor: cell.isMajor, showDayNumber: props.showDayNumbers, isNarrow: props.cellIsNarrow, isMicro: props.cellIsMicro, borderStart: Boolean(col),
10657
11198
  // content
10658
- segs: segsByCol[col], hiddenSegs: hiddenSegsByCol[col], fgLiquidHeight: fgLiquidHeight, fg: (u$2(S, { children: normalFgNodes })), eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection,
11199
+ segs: segsByCol[col], hiddenSegs: hiddenSegsByCol[col], fgLiquidHeight: fgLiquidHeight, fg: (u$1(S, { children: normalFgNodes })), eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection,
10659
11200
  // render hooks
10660
11201
  renderProps: cell.renderProps, dateSpanProps: cell.dateSpanProps, attrs: cell.attrs, className: cell.className,
10661
11202
  // dimensions
@@ -10688,7 +11229,7 @@ var FullCalendar = (function (exports) {
10688
11229
  const isInvisible = !isMirror && (isDragging || isResizing || standinFor || top == null);
10689
11230
  const isListItem = hasListItemDisplay(seg);
10690
11231
  const isSelected = instanceId === eventSelection;
10691
- nodes.push(u$2(DayGridEventHarness, { className: seg.start ? classNames.fakeBorderS : '', style: {
11232
+ nodes.push(u$1(DayGridEventHarness, { className: seg.start ? classNames.fakeBorderS : '', style: {
10692
11233
  visibility: isInvisible ? 'hidden' : undefined,
10693
11234
  top,
10694
11235
  insetInlineStart,
@@ -10696,7 +11237,7 @@ var FullCalendar = (function (exports) {
10696
11237
  zIndex: isSelected ? 1000 : 0, // container inner z-indexes; HACK: relies on hardcoded z-index offset; fragile if stacking context changes
10697
11238
  }, heightRef: (!standinFor && !isMirror)
10698
11239
  ? segHeightRefMap.createRef(key)
10699
- : null, children: u$2(StandardEvent, { display: isListItem ? 'list-item' : 'row', eventRange: eventRange, isStart: seg.isStart, isEnd: seg.isEnd, isDragging: isDragging, isResizing: isResizing, isMirror: isMirror, isSelected: isSelected, isNarrow: props.cellIsNarrow, defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: defaultDisplayEventEnd, disableResizing: isListItem, forcedTimeText: cellIsMicro ? '' : undefined, ...getEventRangeMeta(eventRange, todayRange) }) }, key));
11240
+ : null, children: u$1(StandardEvent, { display: isListItem ? 'list-item' : 'row', eventRange: eventRange, isStart: seg.isStart, isEnd: seg.isEnd, isDragging: isDragging, isResizing: isResizing, isMirror: isMirror, isSelected: isSelected, isNarrow: props.cellIsNarrow, defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: defaultDisplayEventEnd, disableResizing: isListItem, forcedTimeText: cellIsMicro ? '' : undefined, ...getEventRangeMeta(eventRange, todayRange) }) }, key));
10700
11241
  }
10701
11242
  return nodes;
10702
11243
  }
@@ -10709,14 +11250,14 @@ var FullCalendar = (function (exports) {
10709
11250
  const key = seg.start + ':' + seg.end; // NOTE: don't use date, because could be multiple of same (w/ resources)
10710
11251
  const { insetInlineStart, insetInlineEnd } = computeHorizontalsFromSeg(seg, colWidth, colCount);
10711
11252
  const isVisible = !seg.standinFor;
10712
- nodes.push(u$2("div", { className: classNames.fillY, style: {
11253
+ nodes.push(u$1("div", { className: classNames.fillY, style: {
10713
11254
  visibility: (isVisible ? '' : 'hidden'),
10714
11255
  insetInlineStart,
10715
11256
  insetInlineEnd,
10716
11257
  }, children: fillType === 'bg-event' ?
10717
- u$2(BgEvent, { eventRange: seg.eventRange, isStart: seg.isStart, isEnd: seg.isEnd, isNarrow: props.cellIsNarrow, isVertical: false, ...getEventRangeMeta(seg.eventRange, todayRange) }) : (renderFill(fillType, context.options)) }, key));
11258
+ u$1(BgEvent, { eventRange: seg.eventRange, isStart: seg.isStart, isEnd: seg.isEnd, isNarrow: props.cellIsNarrow, isVertical: false, ...getEventRangeMeta(seg.eventRange, todayRange) }) : (renderFill(fillType, context.options)) }, key));
10718
11259
  }
10719
- return u$2(S, { children: nodes });
11260
+ return u$1(S, { children: nodes });
10720
11261
  }
10721
11262
  // Sizing
10722
11263
  // -----------------------------------------------------------------------------------------------
@@ -10832,7 +11373,10 @@ var FullCalendar = (function (exports) {
10832
11373
  render() {
10833
11374
  let { props, context, rowHeightRefMap } = this;
10834
11375
  let { options } = context;
10835
- let rowCount = props.cellRows.length;
11376
+ let { cellRows } = props;
11377
+ let rowCount = cellRows.length;
11378
+ // Will cause rows to not be reused across months
11379
+ let firstCellKey = cellRows[0]?.[0]?.key || '';
10836
11380
  let fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCount);
10837
11381
  let bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCount);
10838
11382
  let businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCount);
@@ -10842,10 +11386,10 @@ var FullCalendar = (function (exports) {
10842
11386
  let isHeightAuto = getIsHeightAuto(options);
10843
11387
  let rowHeightsRedistribute = !props.forPrint && !isHeightAuto;
10844
11388
  let rowBasis = computeRowBasis(props.visibleWidth, rowCount, isHeightAuto, options);
10845
- return (u$2("div", { role: 'rowgroup', className: joinClassNames(props.className,
11389
+ return (u$1("div", { role: 'rowgroup', className: joinClassNames(props.className,
10846
11390
  // HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
10847
11391
  // https://stackoverflow.com/a/60256345
10848
- !props.forPrint && classNames.flexCol), style: { width: props.width }, ref: this.handleRootEl, children: props.cellRows.map((cells, row) => (u$2(DayGridRow, { role: 'row', dateProfile: props.dateProfile, todayRange: props.todayRange, cells: cells, cellIsNarrow: props.cellIsNarrow, cellIsMicro: props.cellIsMicro, showDayNumbers: rowCount > 1, showWeekNumbers: rowCount > 1 && options.weekNumbers, forPrint: props.forPrint,
11392
+ !props.forPrint && classNames.flexCol), style: { width: props.width }, ref: this.handleRootEl, children: cellRows.map((cells, row) => (u$1(DayGridRow, { role: 'row', dateProfile: props.dateProfile, todayRange: props.todayRange, cells: cells, cellIsNarrow: props.cellIsNarrow, cellIsMicro: props.cellIsMicro, showDayNumbers: rowCount > 1, showWeekNumbers: rowCount > 1 && options.weekNumbers, forPrint: props.forPrint,
10849
11393
  // if not auto-height, distribute height of container somewhat evently to rows
10850
11394
  className: joinClassNames(rowHeightsRedistribute && classNames.grow, rowCount > 1 && classNames.breakInsideAvoid, // don't avoid breaks for single tall row
10851
11395
  row < rowCount - 1 ? classNames.borderOnlyB : classNames.borderNone),
@@ -10854,7 +11398,7 @@ var FullCalendar = (function (exports) {
10854
11398
  // dimensions
10855
11399
  colWidth: props.colWidth, basis: rowBasis,
10856
11400
  // refs
10857
- heightRef: rowHeightRefMap.createRef(cells[0].key) }, cells[0].key))) }));
11401
+ heightRef: rowHeightRefMap.createRef(cells[0].key) }, firstCellKey + ':' + cells[0].key))) }));
10858
11402
  }
10859
11403
  // Hit System
10860
11404
  // -----------------------------------------------------------------------------------------------
@@ -10980,7 +11524,7 @@ var FullCalendar = (function (exports) {
10980
11524
  typeof stickyInput === 'string') ? stickyInput : 0;
10981
11525
  }
10982
11526
  }
10983
- return (u$2(ContentContainer, { tag: 'div', attrs: {
11527
+ return (u$1(ContentContainer, { tag: 'div', attrs: {
10984
11528
  role: 'columnheader',
10985
11529
  'aria-colspan': dataConfig.colSpan,
10986
11530
  ...dataConfig.attrs,
@@ -10991,10 +11535,10 @@ var FullCalendar = (function (exports) {
10991
11535
  }, renderProps: finalRenderProps, generatorName: renderConfig.generatorName, customGenerator: renderConfig.customGenerator, defaultGenerator: renderText$1, classNameGenerator:
10992
11536
  // don't use custom classNames if disabled
10993
11537
  // TODO: make DRY with DayCellContainer
10994
- isDisabled ? undefined : renderConfig.classNameGenerator, didMount: renderConfig.didMount, willUnmount: renderConfig.willUnmount, children: (InnerContainer) => (u$2("div", { ref: this.handleInnerEl, className: joinClassNames(classNames.flexCol, classNames.noShrink, classNames.whiteSpaceNoWrap, isSticky && classNames.sticky), style: {
11538
+ isDisabled ? undefined : renderConfig.classNameGenerator, didMount: renderConfig.didMount, willUnmount: renderConfig.willUnmount, children: (InnerContainer) => (u$1("div", { ref: this.handleInnerEl, className: joinClassNames(classNames.flexCol, classNames.noShrink, classNames.whiteSpaceNoWrap, isSticky && classNames.sticky), style: {
10995
11539
  left: edgeCoord,
10996
11540
  right: edgeCoord,
10997
- }, children: u$2(InnerContainer, { tag: 'div', attrs: dataConfig.innerAttrs, className: generateClassName(renderConfig.innerClassNameGenerator, finalRenderProps) }) })) }));
11541
+ }, children: u$1(InnerContainer, { tag: 'div', attrs: dataConfig.innerAttrs, className: generateClassName(renderConfig.innerClassNameGenerator, finalRenderProps) }) })) }));
10998
11542
  }
10999
11543
  componentDidMount() {
11000
11544
  this._isUnmounting = false;
@@ -11052,9 +11596,9 @@ var FullCalendar = (function (exports) {
11052
11596
  render() {
11053
11597
  const { props, context } = this;
11054
11598
  const { options } = context;
11055
- return (u$2("div", { role: props.role /* !!! */, "aria-rowindex": props.rowIndex != null ? 1 + props.rowIndex : undefined, className: joinClassNames(options.dayHeaderRowClass, props.className, classNames.flexRow, classNames.contentBox, props.borderBottom ? classNames.borderOnlyB : classNames.borderNone), style: {
11599
+ return (u$1("div", { role: props.role /* !!! */, "aria-rowindex": props.rowIndex != null ? 1 + props.rowIndex : undefined, className: joinClassNames(options.dayHeaderRowClass, props.className, classNames.flexRow, classNames.contentBox, props.borderBottom ? classNames.borderOnlyB : classNames.borderNone), style: {
11056
11600
  height: props.height,
11057
- }, children: props.dataConfigs.map((dataConfig, cellI) => (u$2(DayGridHeaderCell, { renderConfig: props.renderConfig, dataConfig: dataConfig, borderStart: Boolean(cellI), colWidth: props.colWidth, viewportWidth: props.viewportWidth, innerHeightRef: this.innerHeightRefMap.createRef(dataConfig.key), cellIsNarrow: props.cellIsNarrow, cellIsMicro: props.cellIsMicro, rowLevel: props.rowLevel }, dataConfig.key))) }));
11601
+ }, children: props.dataConfigs.map((dataConfig, cellI) => (u$1(DayGridHeaderCell, { renderConfig: props.renderConfig, dataConfig: dataConfig, borderStart: Boolean(cellI), colWidth: props.colWidth, viewportWidth: props.viewportWidth, innerHeightRef: this.innerHeightRefMap.createRef(dataConfig.key), cellIsNarrow: props.cellIsNarrow, cellIsMicro: props.cellIsMicro, rowLevel: props.rowLevel }, dataConfig.key))) }));
11058
11602
  }
11059
11603
  componentDidMount() {
11060
11604
  this._isUnmounting = false;
@@ -11073,7 +11617,7 @@ var FullCalendar = (function (exports) {
11073
11617
  render() {
11074
11618
  const { props } = this;
11075
11619
  const { headerTiers } = props;
11076
- return (u$2("div", { role: 'rowgroup', className: joinClassNames(props.className, classNames.flexCol, props.width == null && classNames.liquid), style: {
11620
+ return (u$1("div", { role: 'rowgroup', className: joinClassNames(props.className, classNames.flexCol, props.width == null && classNames.liquid), style: {
11077
11621
  width: props.width,
11078
11622
  }, children: headerTiers.map((rowConfig, i) => (k$1(DayGridHeaderRow, { ...rowConfig, key: i, role: 'row', borderBottom: i < headerTiers.length - 1, colWidth: props.colWidth, viewportWidth: props.viewportWidth, cellIsNarrow: props.cellIsNarrow, cellIsMicro: props.cellIsMicro, rowLevel: headerTiers.length - i - 1 }))) }));
11079
11623
  }
@@ -11115,32 +11659,32 @@ var FullCalendar = (function (exports) {
11115
11659
  const cellWidth = clientWidth != null ? clientWidth / colCount : undefined;
11116
11660
  const cellIsMicro = cellWidth != null && cellWidth <= dayMicroWidth;
11117
11661
  const cellIsNarrow = cellIsMicro || (cellWidth != null && cellWidth <= options.dayNarrowWidth);
11118
- return (u$2(S, { children: [options.dayHeaders && (u$2("div", { className: joinClassNames(generateClassName(options.tableHeaderClass, {
11662
+ return (u$1(S, { children: [options.dayHeaders && (u$1("div", { className: joinClassNames(generateClassName(options.tableHeaderClass, {
11119
11663
  isSticky: tableHeaderSticky,
11120
11664
  borderlessX,
11121
11665
  borderlessTop,
11122
11666
  borderlessBottom,
11123
- multiMonthColumnCount: 0,
11667
+ multiMonthColumns: 0,
11124
11668
  }), classNames.printHeader, // either flexCol or table-header-group
11125
- tableHeaderSticky && classNames.tableHeaderSticky), children: [u$2("div", { className: classNames.flexRow, children: [u$2(DayGridHeader, { headerTiers: props.headerTiers, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro }), Boolean(endScrollbarWidth) && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: true }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] }), u$2("div", { className: generateClassName(options.dayHeaderDividerClass, {
11669
+ tableHeaderSticky && classNames.tableHeaderSticky), children: [u$1("div", { className: classNames.flexRow, children: [u$1(DayGridHeader, { headerTiers: props.headerTiers, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro }), Boolean(endScrollbarWidth) && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: true }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] }), u$1("div", { className: generateClassName(options.dayHeaderDividerClass, {
11126
11670
  isSticky: tableHeaderSticky,
11127
- multiMonthColumnCount: 0,
11671
+ multiMonthColumns: 0,
11128
11672
  options: { allDaySlot: Boolean(options.allDaySlot) },
11129
- }) })] })), u$2(Scroller, { vertical: verticalScrollbars, className: joinClassNames(generateClassName(options.tableBodyClass, {
11673
+ }) })] })), u$1(Scroller, { vertical: verticalScrollbars, className: joinClassNames(generateClassName(options.tableBodyClass, {
11130
11674
  borderlessX,
11131
11675
  borderlessTop,
11132
11676
  borderlessBottom,
11133
- multiMonthColumnCount: 0,
11677
+ multiMonthColumns: 0,
11134
11678
  }),
11135
11679
  // HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
11136
11680
  // https://stackoverflow.com/a/60256345
11137
- !props.forPrint && classNames.flexCol, verticalScrollbars && classNames.liquid), ref: this.handleScroller, clientWidthRef: this.handleClientWidth, children: u$2(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: props.cellRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed, className: classNames.grow, dayMaxEvents: props.forPrint ? undefined : options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows,
11681
+ !props.forPrint && classNames.flexCol, verticalScrollbars && classNames.liquid), ref: this.handleScroller, clientWidthRef: this.handleClientWidth, children: u$1(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: props.cellRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed, className: classNames.grow, dayMaxEvents: props.forPrint ? undefined : options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows,
11138
11682
  // content
11139
11683
  fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection,
11140
11684
  // dimensions
11141
11685
  visibleWidth: totalWidth, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro,
11142
11686
  // refs
11143
- rowHeightRefMap: props.rowHeightRefMap }) }), u$2(Ruler, { widthRef: this.handleTotalWidth })] }));
11687
+ rowHeightRefMap: props.rowHeightRefMap }) }), u$1(Ruler, { widthRef: this.handleTotalWidth })] }));
11144
11688
  }
11145
11689
  componentDidMount() {
11146
11690
  this._isUnmounting = false;
@@ -11161,7 +11705,7 @@ var FullCalendar = (function (exports) {
11161
11705
  // the outer dimensions change, but the inner dimensions do not. The Scroller's
11162
11706
  // dimension-watching, when used in ponyfill-mode, can't fire on border-box change, so we
11163
11707
  // workaround it by monitoring dimensions of a wrapper instead
11164
- return (u$2("div", { ref: this.rootElRef, className: joinClassNames(classNames.footerScrollbar, props.isSticky && classNames.footerScrollbarSticky), children: u$2(Scroller, { horizontal: true, ref: props.scrollerRef, children: u$2("div", { style: { minWidth: props.canvasWidth } }) }) }));
11708
+ return (u$1("div", { ref: this.rootElRef, className: joinClassNames(classNames.footerScrollbar, props.isSticky && classNames.footerScrollbarSticky), children: u$1(Scroller, { horizontal: true, ref: props.scrollerRef, children: u$1("div", { style: { minWidth: props.canvasWidth } }) }) }));
11165
11709
  }
11166
11710
  componentDidMount() {
11167
11711
  this._isUnmounting = false;
@@ -11213,34 +11757,34 @@ var FullCalendar = (function (exports) {
11213
11757
  const [canvasWidth, colWidth] = computeColWidth(colCount, props.dayMinWidth, clientWidth);
11214
11758
  const cellIsMicro = colWidth != null && colWidth <= dayMicroWidth;
11215
11759
  const cellIsNarrow = cellIsMicro || (colWidth != null && colWidth <= options.dayNarrowWidth);
11216
- return (u$2(S, { children: [options.dayHeaders && (u$2("div", { className: joinClassNames(generateClassName(options.tableHeaderClass, {
11760
+ return (u$1(S, { children: [options.dayHeaders && (u$1("div", { className: joinClassNames(generateClassName(options.tableHeaderClass, {
11217
11761
  isSticky: tableHeaderSticky,
11218
11762
  borderlessX,
11219
11763
  borderlessTop,
11220
11764
  borderlessBottom,
11221
- multiMonthColumnCount: 0,
11765
+ multiMonthColumns: 0,
11222
11766
  }), classNames.printHeader, // either flexCol or table-header-group
11223
- tableHeaderSticky && classNames.tableHeaderSticky), children: [u$2(Scroller, { horizontal: true, hideScrollbars: true, className: classNames.flexRow, ref: this.headerScrollerRef, children: [u$2(DayGridHeader, { headerTiers: props.headerTiers, colWidth: colWidth, viewportWidth: clientWidth, width: canvasWidth, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro }), Boolean(endScrollbarWidth) && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: true }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] }), u$2("div", { className: generateClassName(options.dayHeaderDividerClass, {
11767
+ tableHeaderSticky && classNames.tableHeaderSticky), children: [u$1(Scroller, { horizontal: true, hideScrollbars: true, className: classNames.flexRow, ref: this.headerScrollerRef, children: [u$1(DayGridHeader, { headerTiers: props.headerTiers, colWidth: colWidth, viewportWidth: clientWidth, width: canvasWidth, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro }), Boolean(endScrollbarWidth) && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: true }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] }), u$1("div", { className: generateClassName(options.dayHeaderDividerClass, {
11224
11768
  isSticky: tableHeaderSticky,
11225
- multiMonthColumnCount: 0,
11769
+ multiMonthColumns: 0,
11226
11770
  options: { allDaySlot: Boolean(options.allDaySlot) },
11227
- }) })] })), u$2(Scroller, { vertical: verticalScrollbars, horizontal: true, hideScrollbars: footerScrollbarSticky ||
11771
+ }) })] })), u$1(Scroller, { vertical: verticalScrollbars, horizontal: true, hideScrollbars: footerScrollbarSticky ||
11228
11772
  props.forPrint // prevents blank space in print-view on Safari
11229
11773
  , className: joinClassNames(generateClassName(options.tableBodyClass, {
11230
11774
  borderlessX,
11231
11775
  borderlessTop,
11232
11776
  borderlessBottom,
11233
- multiMonthColumnCount: 0,
11777
+ multiMonthColumns: 0,
11234
11778
  }),
11235
11779
  // HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
11236
11780
  // https://stackoverflow.com/a/60256345
11237
- !props.forPrint && classNames.flexCol, verticalScrollbars && classNames.liquid), ref: this.bodyScrollerRef, clientWidthRef: this.handleClientWidth, children: u$2(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: props.cellRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed, className: classNames.grow, dayMaxEvents: props.forPrint ? undefined : options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows,
11781
+ !props.forPrint && classNames.flexCol, verticalScrollbars && classNames.liquid), ref: this.bodyScrollerRef, clientWidthRef: this.handleClientWidth, children: u$1(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: props.cellRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed, className: classNames.grow, dayMaxEvents: props.forPrint ? undefined : options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows,
11238
11782
  // content
11239
11783
  fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection,
11240
11784
  // dimensions
11241
11785
  colWidth: colWidth, width: canvasWidth, visibleWidth: totalWidth, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro,
11242
11786
  // refs
11243
- rowHeightRefMap: props.rowHeightRefMap }) }), Boolean(footerScrollbarSticky) && (u$2(FooterScrollbar, { isSticky: true, canvasWidth: canvasWidth, scrollerRef: this.footerScrollerRef })), u$2(Ruler, { widthRef: this.handleTotalWidth })] }));
11787
+ rowHeightRefMap: props.rowHeightRefMap }) }), Boolean(footerScrollbarSticky) && (u$1(FooterScrollbar, { isSticky: true, canvasWidth: canvasWidth, scrollerRef: this.footerScrollerRef })), u$1(Ruler, { widthRef: this.handleTotalWidth })] }));
11244
11788
  }
11245
11789
  // Lifecycle
11246
11790
  // -----------------------------------------------------------------------------------------------
@@ -11321,7 +11865,7 @@ var FullCalendar = (function (exports) {
11321
11865
  scrollerRef: this.scrollerRef,
11322
11866
  rowHeightRefMap: this.rowHeightRefMap,
11323
11867
  };
11324
- return (u$2(ViewContainer, { viewSpec: context.viewSpec, attrs: {
11868
+ return (u$1(ViewContainer, { viewSpec: context.viewSpec, attrs: {
11325
11869
  role: 'grid',
11326
11870
  'aria-rowcount': props.headerTiers.length + props.cellRows.length,
11327
11871
  'aria-colcount': props.cellRows[0].length,
@@ -11332,8 +11876,8 @@ var FullCalendar = (function (exports) {
11332
11876
  borderlessX,
11333
11877
  borderlessTop,
11334
11878
  borderlessBottom,
11335
- multiMonthColumnCount: 0,
11336
- })), children: options.dayMinWidth ? (u$2(DayGridLayoutPannable, { ...commonLayoutProps, dayMinWidth: options.dayMinWidth })) : (u$2(DayGridLayoutNormal, { ...commonLayoutProps })) }));
11879
+ multiMonthColumns: 0,
11880
+ })), children: options.dayMinWidth ? (u$1(DayGridLayoutPannable, { ...commonLayoutProps, dayMinWidth: options.dayMinWidth })) : (u$1(DayGridLayoutNormal, { ...commonLayoutProps })) }));
11337
11881
  }
11338
11882
  // Lifecycle
11339
11883
  // -----------------------------------------------------------------------------------------------
@@ -11638,11 +12182,11 @@ var FullCalendar = (function (exports) {
11638
12182
  view: viewApi,
11639
12183
  isNarrow: props.isNarrow,
11640
12184
  };
11641
- return (u$2(ContentContainer, { tag: "div", attrs: {
12185
+ return (u$1(ContentContainer, { tag: "div", attrs: {
11642
12186
  role: 'rowheader',
11643
12187
  }, className: joinClassNames(classNames.flexRow, classNames.noMargin, classNames.noPadding, classNames.contentBox), style: {
11644
12188
  width: props.width,
11645
- }, renderProps: renderProps, generatorName: "allDayHeaderContent", customGenerator: options.allDayHeaderContent, defaultGenerator: renderAllDayInner, classNameGenerator: options.allDayHeaderClass, didMount: options.allDayHeaderDidMount, willUnmount: options.allDayHeaderWillUnmount, children: (InnerContent) => (u$2("div", { className: joinClassNames(classNames.flexRow, classNames.noShrink, classNames.whiteSpacePre), ref: this.innerElRef, children: u$2(InnerContent, { tag: 'div', className: generateClassName(options.allDayHeaderInnerClass, renderProps) }) })) }));
12189
+ }, renderProps: renderProps, generatorName: "allDayHeaderContent", customGenerator: options.allDayHeaderContent, defaultGenerator: renderAllDayInner, classNameGenerator: options.allDayHeaderClass, didMount: options.allDayHeaderDidMount, willUnmount: options.allDayHeaderWillUnmount, children: (InnerContent) => (u$1("div", { className: joinClassNames(classNames.flexRow, classNames.noShrink, classNames.whiteSpacePre), ref: this.innerElRef, children: u$1(InnerContent, { tag: 'div', className: generateClassName(options.allDayHeaderInnerClass, renderProps) }) })) }));
11646
12190
  }
11647
12191
  componentDidMount() {
11648
12192
  this._isUnmounting = false;
@@ -11682,7 +12226,7 @@ var FullCalendar = (function (exports) {
11682
12226
  };
11683
12227
  }
11684
12228
  render() {
11685
- return (u$2(DayGridRow, { ...this.props,
12229
+ return (u$1(DayGridRow, { ...this.props,
11686
12230
  /* BAD: these overwrite the props! caller might want to pass them */
11687
12231
  rootElRef: this.handleRootEl, heightRef: this.heightRef }));
11688
12232
  }
@@ -11966,7 +12510,7 @@ var FullCalendar = (function (exports) {
11966
12510
  class TimeGridEvent extends BaseComponent {
11967
12511
  render() {
11968
12512
  const { props } = this;
11969
- return (u$2(StandardEvent, { ...props, display: 'column', level: props.level, isNarrow: props.isNarrow, isShort: props.isShort, className:
12513
+ return (u$1(StandardEvent, { ...props, display: 'column', level: props.level, isNarrow: props.isNarrow, isShort: props.isShort, className:
11970
12514
  // see note in TimeGridCol on why we use flexbox
11971
12515
  props.isLiquid ? classNames.liquid : '', disableLiquid: !props.isLiquid, defaultTimeFormat: DEFAULT_TIME_FORMAT$1 }));
11972
12516
  }
@@ -11975,27 +12519,27 @@ var FullCalendar = (function (exports) {
11975
12519
  class TimeGridMoreLink extends BaseComponent {
11976
12520
  render() {
11977
12521
  let { props } = this;
11978
- return (u$2("div", { className: joinClassNames(classNames.abs, classNames.flexCol), style: {
12522
+ return (u$1("div", { className: joinClassNames(classNames.abs, classNames.flexCol), style: {
11979
12523
  top: props.top,
11980
12524
  height: props.height,
11981
12525
  insetInlineEnd: 0,
11982
12526
  zIndex: 9999, // HACK. move to className?
11983
- }, children: u$2(MoreLinkContainer, { className: classNames.liquid, display: 'column', allDayDate: null, segs: props.hiddenSegs, hiddenSegs: props.hiddenSegs, dateSpanProps: props.dateSpanProps, dateProfile: props.dateProfile, todayRange: props.todayRange, popoverContent: () => renderPlainFgSegs(props.hiddenSegs, props, /* isMirror = */ false), forceTimed: true, isNarrow: props.isNarrow, isMicro: props.isMicro }) }));
12527
+ }, children: u$1(MoreLinkContainer, { className: classNames.liquid, display: 'column', allDayDate: null, segs: props.hiddenSegs, hiddenSegs: props.hiddenSegs, dateSpanProps: props.dateSpanProps, dateProfile: props.dateProfile, todayRange: props.todayRange, popoverContent: () => renderPlainFgSegs(props.hiddenSegs, props, /* isMirror = */ false), forceTimed: true, isNarrow: props.isNarrow, isMicro: props.isMicro }) }));
11984
12528
  }
11985
12529
  }
11986
12530
 
11987
- const NowIndicatorDot = (props) => (u$2(ViewContextType.Consumer, { children: (context) => {
12531
+ const NowIndicatorDot = (props) => (u$1(ViewContextType.Consumer, { children: (context) => {
11988
12532
  let { options } = context;
11989
- return (u$2("div", { className: joinClassNames(props.className, options.nowIndicatorDotClass), style: props.style }));
12533
+ return (u$1("div", { className: joinClassNames(props.className, options.nowIndicatorDotClass), style: props.style }));
11990
12534
  } }));
11991
12535
 
11992
- const NowIndicatorLineContainer = (props) => (u$2(ViewContextType.Consumer, { children: (context) => {
12536
+ const NowIndicatorLineContainer = (props) => (u$1(ViewContextType.Consumer, { children: (context) => {
11993
12537
  let { options } = context;
11994
12538
  let renderProps = {
11995
12539
  date: context.dateEnv.toDate(props.date),
11996
12540
  view: context.viewApi,
11997
12541
  };
11998
- return (u$2(ContentContainer, { elRef: props.elRef, tag: props.tag || 'div', attrs: props.attrs, className: props.className, style: props.style, renderProps: renderProps, generatorName: "nowIndicatorLineContent", customGenerator: options.nowIndicatorLineContent, classNameGenerator: options.nowIndicatorLineClass, didMount: options.nowIndicatorLineDidMount, willUnmount: options.nowIndicatorLineWillUnmount, children: props.children }));
12542
+ return (u$1(ContentContainer, { elRef: props.elRef, tag: props.tag || 'div', attrs: props.attrs, className: props.className, style: props.style, renderProps: renderProps, generatorName: "nowIndicatorLineContent", customGenerator: options.nowIndicatorLineContent, classNameGenerator: options.nowIndicatorLineClass, didMount: options.nowIndicatorLineDidMount, willUnmount: options.nowIndicatorLineWillUnmount, children: props.children }));
11999
12543
  } }));
12000
12544
 
12001
12545
  /*
@@ -12006,10 +12550,10 @@ var FullCalendar = (function (exports) {
12006
12550
  const top = props.totalHeight != null
12007
12551
  ? props.totalHeight * computeDateTopFrac(props.nowDate, props.dateProfile, props.dayDate)
12008
12552
  : undefined;
12009
- return (u$2("div", { className: classNames.fill, style: {
12553
+ return (u$1("div", { className: classNames.fill, style: {
12010
12554
  zIndex: 2, // inlined from $now-indicator-z
12011
12555
  pointerEvents: 'none', // TODO: className
12012
- }, children: [u$2(NowIndicatorLineContainer, { className: joinClassNames(classNames.fillX, classNames.noMarginX, classNames.borderlessX), style: { top }, date: props.nowDate }), (props.showDot ?? true) && (u$2(NowIndicatorDot, { className: joinClassNames(classNames.abs, classNames.start0), style: { top } }))] }));
12556
+ }, children: [u$1(NowIndicatorLineContainer, { className: joinClassNames(classNames.fillX, classNames.noMarginX, classNames.borderlessX), style: { top }, date: props.nowDate }), (props.showDot ?? true) && (u$1(NowIndicatorDot, { className: joinClassNames(classNames.abs, classNames.start0), style: { top } }))] }));
12013
12557
  }
12014
12558
 
12015
12559
  // Firefox is terrible at rendering absolute elements that span across multiple print pages
@@ -12046,19 +12590,19 @@ var FullCalendar = (function (exports) {
12046
12590
  view: context.viewApi,
12047
12591
  };
12048
12592
  if (dateMeta.isDisabled) {
12049
- return (u$2("div", { role: 'gridcell', "aria-disabled": true, className: joinClassNames(generateClassName(options.dayLaneClass, renderProps), baseClassName), style: baseStyle }));
12593
+ return (u$1("div", { role: 'gridcell', "aria-disabled": true, className: joinClassNames(generateClassName(options.dayLaneClass, renderProps), baseClassName), style: baseStyle }));
12050
12594
  }
12051
12595
  const innerClassName = joinClassNames(generateClassName(options.dayLaneInnerClass, renderProps), !isStack && classNames.fill);
12052
12596
  const sortedFgSegs = this.sortEventSegs(props.fgEventSegs, options.eventOrder);
12053
- return (u$2(ContentContainer, { tag: "div", attrs: {
12597
+ return (u$1(ContentContainer, { tag: "div", attrs: {
12054
12598
  ...props.attrs,
12055
12599
  role: 'gridcell',
12056
12600
  ...(dateMeta.isToday ? { 'aria-current': 'date' } : {}),
12057
12601
  'data-date': formatDayString(props.date),
12058
- }, className: baseClassName, style: baseStyle, renderProps: renderProps, generatorName: undefined, classNameGenerator: options.dayLaneClass, didMount: options.dayLaneDidMount, willUnmount: options.dayLaneWillUnmount, children: () => (u$2(S, { children: [this.renderFillSegs(props.businessHourSegs, 'non-business'), this.renderFillSegs(props.bgEventSegs, 'bg-event'), this.renderFillSegs(props.dateSelectionSegs, 'highlight'), u$2("div", { className: innerClassName, style: { zIndex: 1 }, children: this.renderFgSegs(sortedFgSegs,
12602
+ }, className: baseClassName, style: baseStyle, renderProps: renderProps, generatorName: undefined, classNameGenerator: options.dayLaneClass, didMount: options.dayLaneDidMount, willUnmount: options.dayLaneWillUnmount, children: () => (u$1(S, { children: [this.renderFillSegs(props.businessHourSegs, 'non-business'), this.renderFillSegs(props.bgEventSegs, 'bg-event'), this.renderFillSegs(props.dateSelectionSegs, 'highlight'), u$1("div", { className: innerClassName, style: { zIndex: 1 }, children: this.renderFgSegs(sortedFgSegs,
12059
12603
  /* isMirror = */ false) }), Boolean(mirrorSegs.length) && (
12060
12604
  // but only show it when there are actual mirror events, to avoid blocking clicks
12061
- u$2("div", { className: innerClassName, style: { zIndex: 1 }, children: this.renderFgSegs(mirrorSegs,
12605
+ u$1("div", { className: innerClassName, style: { zIndex: 1 }, children: this.renderFgSegs(mirrorSegs,
12062
12606
  /* isMirror = */ true) })), this.renderNowIndicator(props.nowIndicatorSegs)] })) }));
12063
12607
  }
12064
12608
  renderFgSegs(sortedFgSegs, isMirror) {
@@ -12076,7 +12620,7 @@ var FullCalendar = (function (exports) {
12076
12620
  // TODO: memoize this?
12077
12621
  let segVerticals = computeFgSegVerticals(segs, dateProfile, date, props.slatCnt, props.slatHeight, eventMinHeight, eventShortHeight);
12078
12622
  let [segRects, hiddenGroups] = buildWebPositioning(segs, segVerticals, eventOrderStrict, eventMaxStack);
12079
- return (u$2(S, { children: [segs.map((seg, index) => {
12623
+ return (u$1(S, { children: [segs.map((seg, index) => {
12080
12624
  let { eventRange } = seg;
12081
12625
  let { instanceId } = eventRange.instance; // guaranteed because it's an fg event
12082
12626
  let segVertical = segVerticals[index] || {};
@@ -12091,7 +12635,7 @@ var FullCalendar = (function (exports) {
12091
12635
  let isDragging = Boolean(props.eventDrag && props.eventDrag.affectedInstances[instanceId]);
12092
12636
  let isResizing = Boolean(props.eventResize && props.eventResize.affectedInstances[instanceId]);
12093
12637
  let isInvisible = !isMirror && (isDragging || isResizing || !segRect);
12094
- return (u$2("div", {
12638
+ return (u$1("div", {
12095
12639
  // we would have used classNames.fill, but multi-page spanning breaks in Firefox
12096
12640
  // we would have used height:100%, but multi-page spanning breaks in Safari
12097
12641
  className: joinClassNames(classNames.abs, classNames.flexCol), style: {
@@ -12099,7 +12643,7 @@ var FullCalendar = (function (exports) {
12099
12643
  top: segVertical.start,
12100
12644
  height: segVertical.size,
12101
12645
  ...hStyle,
12102
- }, children: u$2(TimeGridEvent, { eventRange: eventRange, slicedStart: seg.startDate, slicedEnd: seg.endDate, isStart: seg.isStart, isEnd: seg.isEnd, isDragging: isDragging, isResizing: isResizing, isMirror: isMirror, isSelected: isSelected, level: segRect ? segRect.stackDepth : 0, isNarrow: props.isNarrow, isShort: segVertical.isShort || false, isLiquid: true, ...getEventRangeMeta(eventRange, todayRange, nowDate) }) }, instanceId));
12646
+ }, children: u$1(TimeGridEvent, { eventRange: eventRange, slicedStart: seg.startDate, slicedEnd: seg.endDate, isStart: seg.isStart, isEnd: seg.isEnd, isDragging: isDragging, isResizing: isResizing, isMirror: isMirror, isSelected: isSelected, level: segRect ? segRect.stackDepth : 0, isNarrow: props.isNarrow, isShort: segVertical.isShort || false, isLiquid: true, ...getEventRangeMeta(eventRange, todayRange, nowDate) }) }, instanceId));
12103
12647
  }), this.renderHiddenGroups(hiddenGroups)] }));
12104
12648
  }
12105
12649
  /*
@@ -12107,17 +12651,17 @@ var FullCalendar = (function (exports) {
12107
12651
  */
12108
12652
  renderHiddenGroups(hiddenGroups) {
12109
12653
  let { dateSpanProps, dateProfile, todayRange, nowDate, eventSelection, eventDrag, eventResize, isNarrow, isMicro } = this.props;
12110
- return (u$2(S, { children: hiddenGroups.map((hiddenGroup) => {
12111
- return (u$2(TimeGridMoreLink, { hiddenSegs: hiddenGroup.segs, top: hiddenGroup.start, height: hiddenGroup.end - hiddenGroup.start, isNarrow: isNarrow, isMicro: isMicro, dateSpanProps: dateSpanProps, dateProfile: dateProfile, todayRange: todayRange, nowDate: nowDate, eventSelection: eventSelection, eventDrag: eventDrag, eventResize: eventResize }, hiddenGroup.key));
12654
+ return (u$1(S, { children: hiddenGroups.map((hiddenGroup) => {
12655
+ return (u$1(TimeGridMoreLink, { hiddenSegs: hiddenGroup.segs, top: hiddenGroup.start, height: hiddenGroup.end - hiddenGroup.start, isNarrow: isNarrow, isMicro: isMicro, dateSpanProps: dateSpanProps, dateProfile: dateProfile, todayRange: todayRange, nowDate: nowDate, eventSelection: eventSelection, eventDrag: eventDrag, eventResize: eventResize }, hiddenGroup.key));
12112
12656
  }) }));
12113
12657
  }
12114
12658
  renderFillSegs(segs, fillType) {
12115
12659
  let { props, context } = this;
12116
12660
  let segVerticals = computeFgSegVerticals(segs, props.dateProfile, props.date, props.slatCnt, props.slatHeight, context.options.eventMinHeight, context.options.eventShortHeight);
12117
- return (u$2(S, { children: segs.map((seg, index) => {
12661
+ return (u$1(S, { children: segs.map((seg, index) => {
12118
12662
  const { eventRange } = seg;
12119
12663
  const segVertical = segVerticals[index] || {};
12120
- return (u$2("div", { className: classNames.fillX, style: {
12664
+ return (u$1("div", { className: classNames.fillX, style: {
12121
12665
  top: segVertical.start,
12122
12666
  height: segVertical.size,
12123
12667
  // HACK to get bg fills to overlap cell-start border
@@ -12126,7 +12670,7 @@ var FullCalendar = (function (exports) {
12126
12670
  // will render on both at the same time
12127
12671
  marginInlineStart: -1,
12128
12672
  }, children: fillType === 'bg-event' ?
12129
- u$2(BgEvent, { eventRange: eventRange, isStart: seg.isStart, isEnd: seg.isEnd, isNarrow: props.isNarrow, isShort: segVertical.isShort || false, isVertical: true, ...getEventRangeMeta(eventRange, props.todayRange, props.nowDate) }) :
12673
+ u$1(BgEvent, { eventRange: eventRange, isStart: seg.isStart, isEnd: seg.isEnd, isNarrow: props.isNarrow, isShort: segVertical.isShort || false, isVertical: true, ...getEventRangeMeta(eventRange, props.todayRange, props.nowDate) }) :
12130
12674
  renderFill(fillType, context.options) }, buildEventRangeKey(eventRange)));
12131
12675
  }) }));
12132
12676
  }
@@ -12135,7 +12679,7 @@ var FullCalendar = (function (exports) {
12135
12679
  if (props.forPrint || this.getIsStack()) {
12136
12680
  return;
12137
12681
  }
12138
- return segs.map((seg, i) => (u$2(TimeGridNowIndicatorLine, { nowDate: seg.startDate, dayDate: props.date, dateProfile: props.dateProfile, totalHeight: props.slatHeight != null ? props.slatHeight * props.slatCnt : undefined, showDot: seg.showDot ?? true }, i)));
12682
+ return segs.map((seg, i) => (u$1(TimeGridNowIndicatorLine, { nowDate: seg.startDate, dayDate: props.date, dateProfile: props.dateProfile, totalHeight: props.slatHeight != null ? props.slatHeight * props.slatCnt : undefined, showDot: seg.showDot ?? true }, i)));
12139
12683
  }
12140
12684
  /*
12141
12685
  TODO: eventually move to width, not left+right
@@ -12168,13 +12712,13 @@ var FullCalendar = (function (exports) {
12168
12712
  }
12169
12713
  }
12170
12714
  function renderPlainFgSegs(sortedFgSegs, { todayRange, nowDate, eventSelection, eventDrag, eventResize }, isMirror) {
12171
- return (u$2(S, { children: sortedFgSegs.map((seg) => {
12715
+ return (u$1(S, { children: sortedFgSegs.map((seg) => {
12172
12716
  let { eventRange } = seg;
12173
12717
  let { instanceId } = eventRange.instance;
12174
12718
  let isDragging = Boolean(eventDrag && eventDrag.affectedInstances[instanceId]);
12175
12719
  let isResizing = Boolean(eventResize && eventResize.affectedInstances[instanceId]);
12176
12720
  let isInvisible = isDragging || isResizing;
12177
- return (u$2("div", { className: classNames.breakInsideAvoid, style: { visibility: isInvisible ? 'hidden' : undefined }, children: u$2(TimeGridEvent, { eventRange: eventRange, slicedStart: seg.startDate, slicedEnd: seg.endDate, isStart: seg.isStart, isEnd: seg.isEnd, isDragging: isDragging, isResizing: isResizing, isMirror: isMirror, isSelected: instanceId === eventSelection, level: 0, isShort: false, isNarrow: false, disableResizing: true, ...getEventRangeMeta(eventRange, todayRange, nowDate) }) }, instanceId));
12721
+ return (u$1("div", { className: classNames.breakInsideAvoid, style: { visibility: isInvisible ? 'hidden' : undefined }, children: u$1(TimeGridEvent, { eventRange: eventRange, slicedStart: seg.startDate, slicedEnd: seg.endDate, isStart: seg.isStart, isEnd: seg.isEnd, isDragging: isDragging, isResizing: isResizing, isMirror: isMirror, isSelected: instanceId === eventSelection, level: 0, isShort: false, isNarrow: false, disableResizing: true, ...getEventRangeMeta(eventRange, todayRange, nowDate) }) }, instanceId));
12178
12722
  }) }));
12179
12723
  }
12180
12724
 
@@ -12198,7 +12742,7 @@ var FullCalendar = (function (exports) {
12198
12742
  }
12199
12743
  render() {
12200
12744
  const { props } = this;
12201
- return (u$2("div", { role: props.role /* !!! */, className: joinClassNames(props.className, classNames.flexRow), ref: this.handleRootEl, children: props.cells.map((cell, col) => (u$2(TimeGridCol, { dateProfile: props.dateProfile, nowDate: props.nowDate, todayRange: props.todayRange, date: cell.date, isMajor: cell.isMajor, slatCnt: props.slatCnt, renderProps: cell.renderProps, attrs: cell.attrs, dateSpanProps: cell.dateSpanProps, forPrint: props.forPrint, borderStart: Boolean(col), isNarrow: props.cellIsNarrow, isMicro: props.cellIsMicro,
12745
+ return (u$1("div", { role: props.role /* !!! */, className: joinClassNames(props.className, classNames.flexRow), ref: this.handleRootEl, children: props.cells.map((cell, col) => (u$1(TimeGridCol, { dateProfile: props.dateProfile, nowDate: props.nowDate, todayRange: props.todayRange, date: cell.date, isMajor: cell.isMajor, slatCnt: props.slatCnt, renderProps: cell.renderProps, attrs: cell.attrs, dateSpanProps: cell.dateSpanProps, forPrint: props.forPrint, borderStart: Boolean(col), isNarrow: props.cellIsNarrow, isMicro: props.cellIsMicro,
12202
12746
  // content
12203
12747
  fgEventSegs: props.fgEventSegsByCol[col], bgEventSegs: props.bgEventSegsByCol[col], businessHourSegs: props.businessHourSegsByCol[col], nowIndicatorSegs: props.nowIndicatorSegsByCol[col], dateSelectionSegs: props.dateSelectionSegsByCol[col], eventDrag: props.eventDragByCol[col], eventResize: props.eventResizeByCol[col], eventSelection: props.eventSelection,
12204
12748
  // dimensions
@@ -12215,7 +12759,7 @@ var FullCalendar = (function (exports) {
12215
12759
  const slatTop = slatIndex * slatHeight;
12216
12760
  const partial = (positionTop - slatTop) / slatHeight; // floating point number between 0 and 1
12217
12761
  const localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat
12218
- const snapIndex = slatIndex + localSnapIndex * snapsPerSlot;
12762
+ const snapIndex = slatIndex * snapsPerSlot + localSnapIndex;
12219
12763
  const time = addDurations(dateProfile.slotMinTime, multiplyDuration(snapDuration, snapIndex));
12220
12764
  const start = dateEnv.add(cell.date, time);
12221
12765
  const end = dateEnv.add(start, snapDuration);
@@ -12253,26 +12797,26 @@ var FullCalendar = (function (exports) {
12253
12797
  return { snapDuration, snapsPerSlot };
12254
12798
  }
12255
12799
 
12256
- const NowIndicatorHeaderContainer = (props) => (u$2(ViewContextType.Consumer, { children: (context) => {
12800
+ const NowIndicatorHeaderContainer = (props) => (u$1(ViewContextType.Consumer, { children: (context) => {
12257
12801
  let { options } = context;
12258
12802
  let renderProps = {
12259
12803
  date: context.dateEnv.toDate(props.date),
12260
12804
  view: context.viewApi,
12261
12805
  };
12262
- return (u$2(ContentContainer, { elRef: props.elRef, tag: props.tag || 'div', attrs: props.attrs, className: props.className, style: props.style, renderProps: renderProps, generatorName: "nowIndicatorHeaderContent", customGenerator: options.nowIndicatorHeaderContent, classNameGenerator: options.nowIndicatorHeaderClass, didMount: options.nowIndicatorHeaderDidMount, willUnmount: options.nowIndicatorHeaderWillUnmount, children: props.children }));
12806
+ return (u$1(ContentContainer, { elRef: props.elRef, tag: props.tag || 'div', attrs: props.attrs, className: props.className, style: props.style, renderProps: renderProps, generatorName: "nowIndicatorHeaderContent", customGenerator: options.nowIndicatorHeaderContent, classNameGenerator: options.nowIndicatorHeaderClass, didMount: options.nowIndicatorHeaderDidMount, willUnmount: options.nowIndicatorHeaderWillUnmount, children: props.children }));
12263
12807
  } }));
12264
12808
 
12265
12809
  /*
12266
12810
  TODO: DRY with other NowIndicator components
12267
12811
  */
12268
12812
  function TimeGridNowIndicatorArrow(props) {
12269
- return (u$2("div", {
12813
+ return (u$1("div", {
12270
12814
  // crop any overflow that the arrow/line might cause
12271
12815
  // TODO: just do this on the entire canvas within the scroller
12272
12816
  className: joinClassNames(classNames.fill, classNames.crop), style: {
12273
12817
  zIndex: 2, // inlined from $now-indicator-z
12274
12818
  pointerEvents: 'none', // TODO: className
12275
- }, children: u$2(NowIndicatorHeaderContainer, { className: classNames.abs, style: {
12819
+ }, children: u$1(NowIndicatorHeaderContainer, { className: classNames.abs, style: {
12276
12820
  top: props.totalHeight != null
12277
12821
  ? props.totalHeight * computeDateTopFrac(props.nowDate, props.dateProfile)
12278
12822
  : undefined
@@ -12306,15 +12850,15 @@ var FullCalendar = (function (exports) {
12306
12850
  let renderProps = this.createRenderProps(props.date, props.time, !props.isLabeled, props.isNarrow, props.isFirst, headerFormat, context);
12307
12851
  let className = joinClassNames(props.liquidHeight && classNames.liquid, classNames.flexRow, classNames.alignStart, classNames.noMargin, classNames.noPadding, props.borderTop ? classNames.borderOnlyT : classNames.borderNone);
12308
12852
  if (!props.isLabeled) {
12309
- return (u$2("div", { className: joinClassNames(generateClassName(options.slotHeaderClass, renderProps), className), style: {
12853
+ return (u$1("div", { className: joinClassNames(generateClassName(options.slotHeaderClass, renderProps), className), style: {
12310
12854
  height: props.height,
12311
12855
  } }));
12312
12856
  }
12313
- return (u$2(ContentContainer, { tag: "div", attrs: {
12857
+ return (u$1(ContentContainer, { tag: "div", attrs: {
12314
12858
  'data-time': props.isoTimeStr,
12315
12859
  }, style: {
12316
12860
  height: props.height,
12317
- }, className: className, renderProps: renderProps, generatorName: "slotHeaderContent", customGenerator: options.slotHeaderContent, defaultGenerator: renderInnerContent, classNameGenerator: options.slotHeaderClass, didMount: options.slotHeaderDidMount, willUnmount: options.slotHeaderWillUnmount, children: (InnerContent) => (u$2("div", { ref: this.innerElRef, className: joinClassNames(classNames.noShrink, classNames.whiteSpaceNoWrap, classNames.flexRow), children: u$2(InnerContent, { tag: "div", className: generateClassName(options.slotHeaderInnerClass, renderProps) }) })) }));
12861
+ }, className: className, renderProps: renderProps, generatorName: "slotHeaderContent", customGenerator: options.slotHeaderContent, defaultGenerator: renderInnerContent, classNameGenerator: options.slotHeaderClass, didMount: options.slotHeaderDidMount, willUnmount: options.slotHeaderWillUnmount, children: (InnerContent) => (u$1("div", { ref: this.innerElRef, className: joinClassNames(classNames.noShrink, classNames.whiteSpaceNoWrap, classNames.flexRow), children: u$1(InnerContent, { tag: "div", className: generateClassName(options.slotHeaderInnerClass, renderProps) }) })) }));
12318
12862
  }
12319
12863
  componentDidMount() {
12320
12864
  this._isUnmounting = false;
@@ -12378,7 +12922,7 @@ var FullCalendar = (function (exports) {
12378
12922
  isMinor: !props.isLabeled,
12379
12923
  view: context.viewApi,
12380
12924
  };
12381
- return (u$2(ContentContainer, { tag: "div", attrs: {
12925
+ return (u$1(ContentContainer, { tag: "div", attrs: {
12382
12926
  'data-time': props.isoTimeStr,
12383
12927
  }, className: joinClassNames(classNames.noMargin, classNames.noPadding, classNames.liquid, props.borderTop ? classNames.borderOnlyT : classNames.borderNone), renderProps: renderProps, generatorName: undefined, classNameGenerator: options.slotLaneClass, didMount: options.slotLaneDidMount, willUnmount: options.slotLaneWillUnmount }));
12384
12928
  }
@@ -12413,12 +12957,12 @@ var FullCalendar = (function (exports) {
12413
12957
  hasNavLink,
12414
12958
  options: { dayMinWidth: options.dayMinWidth },
12415
12959
  };
12416
- return (u$2(ContentContainer, { tag: 'div', attrs: {
12960
+ return (u$1(ContentContainer, { tag: 'div', attrs: {
12417
12961
  role: 'gridcell', // doesn't always describe other cells in row, so make generic
12418
12962
  'aria-label': fullDateStr,
12419
12963
  }, className: joinClassNames(classNames.flexRow, classNames.noMargin, classNames.noPadding, props.isLiquid ? classNames.liquid : classNames.contentBox), style: {
12420
12964
  width: props.width,
12421
- }, renderProps: weekNumberRenderProps, generatorName: "weekNumberHeaderContent", customGenerator: options.weekNumberHeaderContent, defaultGenerator: renderText$1, classNameGenerator: options.weekNumberHeaderClass, didMount: options.weekNumberHeaderDidMount, willUnmount: options.weekNumberHeaderWillUnmount, children: (InnerContent) => (u$2("div", { ref: this.innerElRef, className: joinClassNames(classNames.flexRow, classNames.noShrink, classNames.whiteSpaceNoWrap), children: u$2(InnerContent, { tag: 'div', attrs: hasNavLink
12965
+ }, renderProps: weekNumberRenderProps, generatorName: "weekNumberHeaderContent", customGenerator: options.weekNumberHeaderContent, defaultGenerator: renderText$1, classNameGenerator: options.weekNumberHeaderClass, didMount: options.weekNumberHeaderDidMount, willUnmount: options.weekNumberHeaderWillUnmount, children: (InnerContent) => (u$1("div", { ref: this.innerElRef, className: joinClassNames(classNames.flexRow, classNames.noShrink, classNames.whiteSpaceNoWrap), children: u$1(InnerContent, { tag: 'div', attrs: hasNavLink
12422
12966
  ? buildNavLinkAttrs(context, range.start, 'week', fullDateStr)
12423
12967
  : { 'aria-label': fullDateStr }, className: generateClassName(options.weekNumberHeaderInnerClass, weekNumberRenderProps) }) })) }));
12424
12968
  }
@@ -12445,7 +12989,7 @@ var FullCalendar = (function (exports) {
12445
12989
  }
12446
12990
 
12447
12991
  function TimeGridAxisEmpty(props) {
12448
- return (u$2("div", { role: 'gridcell' // is empty so can't be rowheader/columnheader
12992
+ return (u$1("div", { role: 'gridcell' // is empty so can't be rowheader/columnheader
12449
12993
  , className: props.isLiquid ? classNames.liquid : classNames.contentBox, style: { width: props.width } }));
12450
12994
  }
12451
12995
 
@@ -12586,72 +13130,72 @@ var FullCalendar = (function (exports) {
12586
13130
  : (bodyHeight != null && clientHeight != null)
12587
13131
  ? (bodyHeight - clientHeight)
12588
13132
  : undefined;
12589
- return (u$2(S, { children: [options.dayHeaders && (u$2("div", { className: joinClassNames(generateClassName(options.tableHeaderClass, {
13133
+ return (u$1(S, { children: [options.dayHeaders && (u$1("div", { className: joinClassNames(generateClassName(options.tableHeaderClass, {
12590
13134
  isSticky: tableHeaderSticky,
12591
13135
  borderlessX,
12592
13136
  borderlessTop,
12593
13137
  borderlessBottom,
12594
- multiMonthColumnCount: 0,
13138
+ multiMonthColumns: 0,
12595
13139
  }),
12596
13140
  // see note in TimeGridLayout about why we don't do classNames.printHeader
12597
13141
  classNames.flexCol, tableHeaderSticky && classNames.tableHeaderSticky), style: {
12598
13142
  zIndex: 1,
12599
- }, children: [u$2("div", { className: classNames.flexRow, children: [u$2("div", { role: 'rowgroup', className: classNames.contentBox, style: { width: axisWidth }, children: headerTiers.map((rowConfig, tierNum) => (u$2("div", { role: 'row', "aria-rowindex": tierNum + 1, className: joinClassNames(options.dayHeaderRowClass, classNames.flexRow, classNames.contentBox, tierNum < props.headerTiers.length - 1
13143
+ }, children: [u$1("div", { className: classNames.flexRow, children: [u$1("div", { role: 'rowgroup', className: classNames.contentBox, style: { width: axisWidth }, children: headerTiers.map((rowConfig, tierNum) => (u$1("div", { role: 'row', "aria-rowindex": tierNum + 1, className: joinClassNames(options.dayHeaderRowClass, classNames.flexRow, classNames.contentBox, tierNum < props.headerTiers.length - 1
12600
13144
  ? classNames.borderOnlyB
12601
13145
  : classNames.borderNone), style: {
12602
13146
  height: state.headerTierHeights[tierNum]
12603
- }, children: (options.weekNumbers && rowConfig.isDateRow) ? (u$2(TimeGridWeekNumber, { dateProfile: props.dateProfile, innerWidthRef: headerLabelInnerWidthRefMap.createRef(tierNum), innerHeightRef: headerLabelInnerHeightRefMap.createRef(tierNum), width: undefined, isLiquid: true, isNarrow: cellIsNarrow })) : (u$2(TimeGridAxisEmpty, { width: undefined, isLiquid: true })) }, tierNum))) }), u$2("div", { className: generateClassName(options.slotHeaderDividerClass, {
13147
+ }, children: (options.weekNumbers && rowConfig.isDateRow) ? (u$1(TimeGridWeekNumber, { dateProfile: props.dateProfile, innerWidthRef: headerLabelInnerWidthRefMap.createRef(tierNum), innerHeightRef: headerLabelInnerHeightRefMap.createRef(tierNum), width: undefined, isLiquid: true, isNarrow: cellIsNarrow })) : (u$1(TimeGridAxisEmpty, { width: undefined, isLiquid: true })) }, tierNum))) }), u$1("div", { className: generateClassName(options.slotHeaderDividerClass, {
12604
13148
  inTableHeader: true,
12605
13149
  options: { dayMinWidth: options.dayMinWidth },
12606
- }) }), u$2(Scroller, { horizontal: true, hideScrollbars: true, className: joinClassNames(classNames.flexRow, classNames.liquid), ref: this.headerScrollerRef, children: [u$2("div", { role: 'rowgroup', className: canvasWidth == null ? classNames.liquid : '', style: { width: canvasWidth }, children: props.headerTiers.map((rowConfig, tierNum) => (k$1(DayGridHeaderRow, { ...rowConfig, key: tierNum, role: 'row', rowIndex: tierNum, borderBottom: tierNum < props.headerTiers.length - 1, height: state.headerTierHeights[tierNum], colWidth: colWidth, viewportWidth: clientWidth, innerHeightRef: headerMainInnerHeightRefMap.createRef(tierNum), cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro, rowLevel: props.headerTiers.length - tierNum - 1 }))) }), Boolean(endScrollbarWidth) && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: true }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] })] }), u$2("div", { className: generateClassName(options.dayHeaderDividerClass, {
13150
+ }) }), u$1(Scroller, { horizontal: true, hideScrollbars: true, className: joinClassNames(classNames.flexRow, classNames.liquid), ref: this.headerScrollerRef, children: [u$1("div", { role: 'rowgroup', className: canvasWidth == null ? classNames.liquid : '', style: { width: canvasWidth }, children: props.headerTiers.map((rowConfig, tierNum) => (k$1(DayGridHeaderRow, { ...rowConfig, key: tierNum, role: 'row', rowIndex: tierNum, borderBottom: tierNum < props.headerTiers.length - 1, height: state.headerTierHeights[tierNum], colWidth: colWidth, viewportWidth: clientWidth, innerHeightRef: headerMainInnerHeightRefMap.createRef(tierNum), cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro, rowLevel: props.headerTiers.length - tierNum - 1 }))) }), Boolean(endScrollbarWidth) && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: true }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] })] }), u$1("div", { className: generateClassName(options.dayHeaderDividerClass, {
12607
13151
  isSticky: tableHeaderSticky,
12608
- multiMonthColumnCount: 0,
13152
+ multiMonthColumns: 0,
12609
13153
  options: { allDaySlot: Boolean(options.allDaySlot) },
12610
- }) })] })), u$2("div", { role: 'rowgroup', className: joinClassNames(generateClassName(options.tableBodyClass, {
13154
+ }) })] })), u$1("div", { role: 'rowgroup', className: joinClassNames(generateClassName(options.tableBodyClass, {
12611
13155
  borderlessX,
12612
13156
  borderlessTop,
12613
13157
  borderlessBottom,
12614
- multiMonthColumnCount: 0,
13158
+ multiMonthColumns: 0,
12615
13159
  }), classNames.flexCol, verticalScrolling && classNames.liquid, classNames.isolate), style: {
12616
13160
  zIndex: 0,
12617
- }, children: [options.allDaySlot && (u$2(S, { children: [u$2("div", { role: 'row', "aria-rowindex": firstBodyRowIndex, className: classNames.flexRow, style: { zIndex: 1 }, children: [u$2(TimeGridAllDayHeader, { width: axisWidth, innerWidthRef: this.handleAllDayLabelInnerWidth, isNarrow: cellIsNarrow }), u$2("div", { className: generateClassName(options.slotHeaderDividerClass, {
13161
+ }, children: [options.allDaySlot && (u$1(S, { children: [u$1("div", { role: 'row', "aria-rowindex": firstBodyRowIndex, className: classNames.flexRow, style: { zIndex: 1 }, children: [u$1(TimeGridAllDayHeader, { width: axisWidth, innerWidthRef: this.handleAllDayLabelInnerWidth, isNarrow: cellIsNarrow }), u$1("div", { className: generateClassName(options.slotHeaderDividerClass, {
12618
13162
  inTableHeader: false,
12619
13163
  options: { dayMinWidth: options.dayMinWidth },
12620
- }) }), u$2(Scroller, { horizontal: true, hideScrollbars: true,
13164
+ }) }), u$1(Scroller, { horizontal: true, hideScrollbars: true,
12621
13165
  // fill remaining width
12622
- className: joinClassNames(classNames.flexRow, classNames.liquidX), ref: this.allDayScrollerRef, children: [u$2("div", { className: classNames.flexRow, style: { width: canvasWidth }, children: u$2(TimeGridAllDayLane, { dateProfile: props.dateProfile, todayRange: props.todayRange, cells: props.cells, showDayNumbers: false, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: joinClassNames(classNames.borderNone, classNames.liquidX), cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro,
13166
+ className: joinClassNames(classNames.flexRow, classNames.liquidX), ref: this.allDayScrollerRef, children: [u$1("div", { className: classNames.flexRow, style: { width: canvasWidth }, children: u$1(TimeGridAllDayLane, { dateProfile: props.dateProfile, todayRange: props.todayRange, cells: props.cells, showDayNumbers: false, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: joinClassNames(classNames.borderNone, classNames.liquidX), cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro,
12623
13167
  // content
12624
13168
  fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows,
12625
13169
  // dimensions
12626
- colWidth: colWidth }) }), Boolean(endScrollbarWidth) && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] })] }), u$2("div", { className: joinClassNames(options.allDayDividerClass), style: { zIndex: 2 } })] })), u$2("div", { role: 'row', "aria-rowindex": firstBodyRowIndex + (options.allDaySlot ? 1 : 0), className: joinClassNames(classNames.flexRow, classNames.rel, // for Ruler.fillStart
13170
+ colWidth: colWidth }) }), Boolean(endScrollbarWidth) && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] })] }), u$1("div", { className: joinClassNames(options.allDayDividerClass), style: { zIndex: 2 } })] })), u$1("div", { role: 'row', "aria-rowindex": firstBodyRowIndex + (options.allDaySlot ? 1 : 0), className: joinClassNames(classNames.flexRow, classNames.rel, // for Ruler.fillStart
12627
13171
  verticalScrolling && classNames.liquid), style: {
12628
13172
  zIndex: 0,
12629
- }, children: [u$2(Scroller, { vertical: verticalScrolling, hideScrollbars: true, className: joinClassNames(classNames.flexCol, classNames.contentBox), style: {
13173
+ }, children: [u$1(Scroller, { vertical: verticalScrolling, hideScrollbars: true, className: joinClassNames(classNames.flexCol, classNames.contentBox), style: {
12630
13174
  width: axisWidth,
12631
- }, ref: this.axisScrollerRef, clientHeightRef: this.handleBodyHeight, children: !simplePrint && (u$2(S, { children: u$2("div", { role: 'rowheader', "aria-label": options.timedText, className: joinClassNames(classNames.flexCol, classNames.grow, classNames.rel), style: {
13175
+ }, ref: this.axisScrollerRef, clientHeightRef: this.handleBodyHeight, children: !simplePrint && (u$1(S, { children: u$1("div", { role: 'rowheader', "aria-label": options.timedText, className: joinClassNames(classNames.flexCol, classNames.grow, classNames.rel), style: {
12632
13176
  height: forcedBodyHeight,
12633
- }, children: [u$2("div", { "aria-hidden": true, className: joinClassNames(classNames.flexCol, (verticalScrolling && options.expandRows) && classNames.grow, absPrint && classNames.fillX), children: props.slatMetas.map((slatMeta, slatI) => (k$1(TimeGridSlatHeader, { ...slatMeta /* FYI doesn't need isoTimeStr */, key: slatMeta.key, innerWidthRef: slatLabelInnerWidthRefMap.createRef(slatMeta.key), innerHeightRef: slatLabelInnerHeightRefMap.createRef(slatMeta.key), borderTop: Boolean(slatI), isNarrow: cellIsNarrow, height: slatLiquidHeight ? undefined : slatHeight, liquidHeight: slatLiquidHeight }))) }), !forPrint && options.nowIndicator && rangeContainsMarker(props.dateProfile.currentRange, nowDate) &&
13177
+ }, children: [u$1("div", { "aria-hidden": true, className: joinClassNames(classNames.flexCol, (verticalScrolling && options.expandRows) && classNames.grow, absPrint && classNames.fillX), children: props.slatMetas.map((slatMeta, slatI) => (k$1(TimeGridSlatHeader, { ...slatMeta /* FYI doesn't need isoTimeStr */, key: slatMeta.key, innerWidthRef: slatLabelInnerWidthRefMap.createRef(slatMeta.key), innerHeightRef: slatLabelInnerHeightRefMap.createRef(slatMeta.key), borderTop: Boolean(slatI), isNarrow: cellIsNarrow, height: slatLiquidHeight ? undefined : slatHeight, liquidHeight: slatLiquidHeight }))) }), !forPrint && options.nowIndicator && rangeContainsMarker(props.dateProfile.currentRange, nowDate) &&
12634
13178
  nowTimeMs >= props.dateProfile.slotMinTime.milliseconds &&
12635
- nowTimeMs < props.dateProfile.slotMaxTime.milliseconds && (u$2(TimeGridNowIndicatorArrow, { nowDate: nowDate, dateProfile: props.dateProfile, totalHeight: slatHeight != null ? slatHeight * slatCnt : undefined })), Boolean(rowsNotExpanding || bottomScrollbarWidth) && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyT, rowsNotExpanding && classNames.liquid), style: {
13179
+ nowTimeMs < props.dateProfile.slotMaxTime.milliseconds && (u$1(TimeGridNowIndicatorArrow, { nowDate: nowDate, dateProfile: props.dateProfile, totalHeight: slatHeight != null ? slatHeight * slatCnt : undefined })), Boolean(rowsNotExpanding || bottomScrollbarWidth) && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyT, rowsNotExpanding && classNames.liquid), style: {
12636
13180
  minHeight: bottomScrollbarWidth
12637
- } }))] }) })) }), u$2("div", { className: generateClassName(options.slotHeaderDividerClass, {
13181
+ } }))] }) })) }), u$1("div", { className: generateClassName(options.slotHeaderDividerClass, {
12638
13182
  inTableHeader: false,
12639
13183
  options: { dayMinWidth: options.dayMinWidth },
12640
- }) }), u$2("div", {
13184
+ }) }), u$1("div", {
12641
13185
  // we need this div because it's bad for Scroller to have left/right borders,
12642
13186
  // AND because we need to containt the FooterScrollbar
12643
- className: joinClassNames(classNames.flexCol, classNames.liquid), children: [u$2(Scroller, { vertical: verticalScrolling, horizontal: true, hideScrollbars: footerScrollbarSticky || // also means height:auto, so won't need vertical scrollbars anyway
13187
+ className: joinClassNames(classNames.flexCol, classNames.liquid), children: [u$1(Scroller, { vertical: verticalScrolling, horizontal: true, hideScrollbars: footerScrollbarSticky || // also means height:auto, so won't need vertical scrollbars anyway
12644
13188
  forPrint, className: joinClassNames(classNames.flexCol, classNames.rel, // for Ruler.fillStart
12645
- verticalScrolling && classNames.liquid), ref: this.mainScrollerRef, clientWidthRef: this.handleClientWidth, clientHeightRef: this.handleClientHeight, children: u$2("div", { className: joinClassNames(classNames.flexCol, classNames.grow, classNames.rel), style: {
13189
+ verticalScrolling && classNames.liquid), ref: this.mainScrollerRef, clientWidthRef: this.handleClientWidth, clientHeightRef: this.handleClientHeight, children: u$1("div", { className: joinClassNames(classNames.flexCol, classNames.grow, classNames.rel), style: {
12646
13190
  width: canvasWidth,
12647
13191
  height: forcedBodyHeight,
12648
- }, children: [u$2(TimeGridCols, { dateProfile: props.dateProfile, nowDate: props.nowDate, todayRange: props.todayRange, cells: props.cells, slatCnt: slatCnt, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: simplePrint ? '' : classNames.fill,
13192
+ }, children: [u$1(TimeGridCols, { dateProfile: props.dateProfile, nowDate: props.nowDate, todayRange: props.todayRange, cells: props.cells, slatCnt: slatCnt, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: simplePrint ? '' : classNames.fill,
12649
13193
  // content
12650
13194
  fgEventSegsByCol: props.fgEventSegsByCol, bgEventSegsByCol: props.bgEventSegsByCol, businessHourSegsByCol: props.businessHourSegsByCol, nowIndicatorSegsByCol: props.nowIndicatorSegsByCol, dateSelectionSegsByCol: props.dateSelectionSegsByCol, eventDragByCol: props.eventDragByCol, eventResizeByCol: props.eventResizeByCol, eventSelection: props.eventSelection,
12651
13195
  // dimensions
12652
- colWidth: colWidth, slatHeight: slatHeight, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro }), !simplePrint && (u$2(S, { children: [u$2("div", { "aria-hidden": true, className: joinClassNames(classNames.flexCol, (verticalScrolling && options.expandRows) && classNames.grow, absPrint ? classNames.fillX : classNames.rel), children: props.slatMetas.map((slatMeta, slatI) => (u$2("div", { className: joinClassNames(classNames.flexRow, slatLiquidHeight && classNames.liquid), style: {
13196
+ colWidth: colWidth, slatHeight: slatHeight, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro }), !simplePrint && (u$1(S, { children: [u$1("div", { "aria-hidden": true, className: joinClassNames(classNames.flexCol, (verticalScrolling && options.expandRows) && classNames.grow, absPrint ? classNames.fillX : classNames.rel), children: props.slatMetas.map((slatMeta, slatI) => (u$1("div", { className: joinClassNames(classNames.flexRow, slatLiquidHeight && classNames.liquid), style: {
12653
13197
  height: slatLiquidHeight ? '' : slatHeight
12654
- }, children: k$1(TimeGridSlatLane, { ...slatMeta /* FYI doesn't need isoTimeStr */, key: slatMeta.key, borderTop: Boolean(slatI) }) }, slatMeta.key))) }), rowsNotExpanding && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyT, classNames.liquid) }))] }))] }) }), Boolean(footerScrollbarSticky) && (u$2(FooterScrollbar, { isSticky: true, canvasWidth: canvasWidth, scrollerRef: this.footScrollerRef, scrollbarWidthRef: this.handleStickyBottomScrollbarWidth }))] })] })] }), u$2(Ruler, { widthRef: this.handleTotalWidth })] }));
13198
+ }, children: k$1(TimeGridSlatLane, { ...slatMeta /* FYI doesn't need isoTimeStr */, key: slatMeta.key, borderTop: Boolean(slatI) }) }, slatMeta.key))) }), rowsNotExpanding && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyT, classNames.liquid) }))] }))] }) }), Boolean(footerScrollbarSticky) && (u$1(FooterScrollbar, { isSticky: true, canvasWidth: canvasWidth, scrollerRef: this.footScrollerRef, scrollbarWidthRef: this.handleStickyBottomScrollbarWidth }))] })] })] }), u$1(Ruler, { widthRef: this.handleTotalWidth })] }));
12655
13199
  }
12656
13200
  // Lifecycle
12657
13201
  // -----------------------------------------------------------------------------------------------
@@ -12817,65 +13361,65 @@ var FullCalendar = (function (exports) {
12817
13361
  const colWidth = clientWidth != null ? clientWidth / colCount : undefined;
12818
13362
  const cellIsMicro = colWidth != null && colWidth <= dayMicroWidth;
12819
13363
  const cellIsNarrow = cellIsMicro || (colWidth != null && colWidth <= options.dayNarrowWidth);
12820
- return (u$2(S, { children: [options.dayHeaders && (u$2("div", { role: 'rowgroup', className: joinClassNames(generateClassName(options.tableHeaderClass, {
13364
+ return (u$1(S, { children: [options.dayHeaders && (u$1("div", { role: 'rowgroup', className: joinClassNames(generateClassName(options.tableHeaderClass, {
12821
13365
  isSticky: tableHeaderSticky,
12822
13366
  borderlessX,
12823
13367
  borderlessTop,
12824
13368
  borderlessBottom,
12825
- multiMonthColumnCount: 0,
13369
+ multiMonthColumns: 0,
12826
13370
  }),
12827
13371
  // see note in TimeGridLayout about why we don't do classNames.printHeader
12828
13372
  classNames.flexCol, tableHeaderSticky && classNames.tableHeaderSticky), style: {
12829
13373
  zIndex: 1,
12830
- }, children: [props.headerTiers.map((rowConfig, tierNum) => (u$2("div", { role: 'row', className: classNames.flexRow, children: [u$2("div", { className: joinClassNames(options.dayHeaderRowClass, classNames.flexRow, tierNum < props.headerTiers.length - 1
13374
+ }, children: [props.headerTiers.map((rowConfig, tierNum) => (u$1("div", { role: 'row', className: classNames.flexRow, children: [u$1("div", { className: joinClassNames(options.dayHeaderRowClass, classNames.flexRow, tierNum < props.headerTiers.length - 1
12831
13375
  ? classNames.borderOnlyB
12832
- : classNames.borderNone), children: (options.weekNumbers && rowConfig.isDateRow) ? (u$2(TimeGridWeekNumber, { dateProfile: props.dateProfile, innerWidthRef: this.handleWeekNumberInnerWidth, innerHeightRef: headerLabelInnerWidthRefMap.createRef(tierNum), width: axisWidth, isLiquid: false, isNarrow: cellIsNarrow })) : (u$2(TimeGridAxisEmpty, { width: axisWidth, isLiquid: false })) }), u$2("div", { className: generateClassName(options.slotHeaderDividerClass, {
13376
+ : classNames.borderNone), children: (options.weekNumbers && rowConfig.isDateRow) ? (u$1(TimeGridWeekNumber, { dateProfile: props.dateProfile, innerWidthRef: this.handleWeekNumberInnerWidth, innerHeightRef: headerLabelInnerWidthRefMap.createRef(tierNum), width: axisWidth, isLiquid: false, isNarrow: cellIsNarrow })) : (u$1(TimeGridAxisEmpty, { width: axisWidth, isLiquid: false })) }), u$1("div", { className: generateClassName(options.slotHeaderDividerClass, {
12833
13377
  inTableHeader: true,
12834
13378
  options: { dayMinWidth: options.dayMinWidth },
12835
- }) }), u$2(DayGridHeaderRow, { ...rowConfig, className: classNames.liquid, borderBottom: tierNum < props.headerTiers.length - 1, viewportWidth: clientWidth, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro, rowLevel: props.headerTiers.length - tierNum - 1 }), Boolean(endScrollbarWidth) && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: true }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] }, tierNum))), u$2("div", { className: generateClassName(options.dayHeaderDividerClass, {
13379
+ }) }), u$1(DayGridHeaderRow, { ...rowConfig, className: classNames.liquid, borderBottom: tierNum < props.headerTiers.length - 1, viewportWidth: clientWidth, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro, rowLevel: props.headerTiers.length - tierNum - 1 }), Boolean(endScrollbarWidth) && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: true }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] }, tierNum))), u$1("div", { className: generateClassName(options.dayHeaderDividerClass, {
12836
13380
  isSticky: tableHeaderSticky,
12837
- multiMonthColumnCount: 0,
13381
+ multiMonthColumns: 0,
12838
13382
  options: { allDaySlot: Boolean(options.allDaySlot) },
12839
- }) })] })), u$2("div", { role: 'rowgroup', className: joinClassNames(generateClassName(options.tableBodyClass, {
13383
+ }) })] })), u$1("div", { role: 'rowgroup', className: joinClassNames(generateClassName(options.tableBodyClass, {
12840
13384
  borderlessX,
12841
13385
  borderlessTop,
12842
13386
  borderlessBottom,
12843
- multiMonthColumnCount: 0,
13387
+ multiMonthColumns: 0,
12844
13388
  }), classNames.flexCol, verticalScrolling && classNames.liquid, classNames.isolate), style: {
12845
13389
  zIndex: 0,
12846
- }, children: [options.allDaySlot && (u$2(S, { children: [u$2("div", { role: 'row', className: classNames.flexRow, style: { zIndex: 1 }, children: [u$2(TimeGridAllDayHeader, { width: axisWidth, innerWidthRef: this.handleAllDayLabelInnerWidth, isNarrow: cellIsNarrow }), u$2("div", { className: generateClassName(options.slotHeaderDividerClass, {
13390
+ }, children: [options.allDaySlot && (u$1(S, { children: [u$1("div", { role: 'row', className: classNames.flexRow, style: { zIndex: 1 }, children: [u$1(TimeGridAllDayHeader, { width: axisWidth, innerWidthRef: this.handleAllDayLabelInnerWidth, isNarrow: cellIsNarrow }), u$1("div", { className: generateClassName(options.slotHeaderDividerClass, {
12847
13391
  inTableHeader: false,
12848
13392
  options: { dayMinWidth: options.dayMinWidth },
12849
- }) }), u$2(TimeGridAllDayLane, { dateProfile: props.dateProfile, todayRange: props.todayRange, cells: props.cells, showDayNumbers: false, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: joinClassNames(classNames.liquidX, classNames.borderNone), cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro,
13393
+ }) }), u$1(TimeGridAllDayLane, { dateProfile: props.dateProfile, todayRange: props.todayRange, cells: props.cells, showDayNumbers: false, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: joinClassNames(classNames.liquidX, classNames.borderNone), cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro,
12850
13394
  // content
12851
- fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows }), Boolean(endScrollbarWidth) && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] }), u$2("div", { className: joinClassNames(options.allDayDividerClass), style: { zIndex: 2 } })] })), u$2(Scroller, { vertical: verticalScrolling, className: joinClassNames(classNames.flexCol, classNames.rel, // for Ruler.fillStart
13395
+ fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows }), Boolean(endScrollbarWidth) && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyS), style: { minWidth: endScrollbarWidth } }))] }), u$1("div", { className: joinClassNames(options.allDayDividerClass), style: { zIndex: 2 } })] })), u$1(Scroller, { vertical: verticalScrolling, className: joinClassNames(classNames.flexCol, classNames.rel, // for Ruler.fillStart
12852
13396
  verticalScrolling && classNames.liquid), style: {
12853
13397
  zIndex: 0,
12854
- }, ref: props.timeScrollerRef, clientWidthRef: this.handleClientWidth, clientHeightRef: this.handleClientHeight, children: u$2("div", { className: joinClassNames(classNames.flexCol, classNames.grow, classNames.rel), style: {
13398
+ }, ref: props.timeScrollerRef, clientWidthRef: this.handleClientWidth, clientHeightRef: this.handleClientHeight, children: u$1("div", { className: joinClassNames(classNames.flexCol, classNames.grow, classNames.rel), style: {
12855
13399
  // in print mode, this div creates the height and everything is absolutely positioned within
12856
13400
  // we need to do this so that slats positioning synces with events's positioning
12857
13401
  // otherwise, get out of sync on second page
12858
13402
  height: forcedBodyHeight,
12859
- }, children: [u$2("div", { role: 'row', className: joinClassNames(classNames.flexRow, !simplePrint && classNames.fill), children: [u$2("div", { role: 'rowheader', "aria-label": options.timedText, className: classNames.contentBox, style: { width: axisWidth } }), u$2("div", { className: generateClassName(options.slotHeaderDividerClass, {
13403
+ }, children: [u$1("div", { role: 'row', className: joinClassNames(classNames.flexRow, !simplePrint && classNames.fill), children: [u$1("div", { role: 'rowheader', "aria-label": options.timedText, className: classNames.contentBox, style: { width: axisWidth } }), u$1("div", { className: generateClassName(options.slotHeaderDividerClass, {
12860
13404
  inTableHeader: false,
12861
13405
  options: { dayMinWidth: options.dayMinWidth },
12862
- }) }), u$2(TimeGridCols, { dateProfile: props.dateProfile, nowDate: props.nowDate, todayRange: props.todayRange, cells: props.cells, slatCnt: slatCnt, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: classNames.liquid,
13406
+ }) }), u$1(TimeGridCols, { dateProfile: props.dateProfile, nowDate: props.nowDate, todayRange: props.todayRange, cells: props.cells, slatCnt: slatCnt, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: classNames.liquid,
12863
13407
  // content
12864
13408
  fgEventSegsByCol: props.fgEventSegsByCol, bgEventSegsByCol: props.bgEventSegsByCol, businessHourSegsByCol: props.businessHourSegsByCol, nowIndicatorSegsByCol: props.nowIndicatorSegsByCol, dateSelectionSegsByCol: props.dateSelectionSegsByCol, eventDragByCol: props.eventDragByCol, eventResizeByCol: props.eventResizeByCol, eventSelection: props.eventSelection,
12865
13409
  // dimensions
12866
- slatHeight: slatHeight, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro })] }), !simplePrint && (u$2(S, { children: [u$2("div", { "aria-hidden": true, className: joinClassNames(classNames.flexCol, (verticalScrolling && options.expandRows) && classNames.grow, absPrint
13410
+ slatHeight: slatHeight, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro })] }), !simplePrint && (u$1(S, { children: [u$1("div", { "aria-hidden": true, className: joinClassNames(classNames.flexCol, (verticalScrolling && options.expandRows) && classNames.grow, absPrint
12867
13411
  ? classNames.fillX // will assume top:0, height will be decided naturally
12868
- : classNames.rel), children: props.slatMetas.map((slatMeta, slatI) => (u$2("div", { className: joinClassNames(slatLiquidHeight && classNames.liquid, classNames.flexRow), style: {
13412
+ : classNames.rel), children: props.slatMetas.map((slatMeta, slatI) => (u$1("div", { className: joinClassNames(slatLiquidHeight && classNames.liquid, classNames.flexRow), style: {
12869
13413
  height: slatLiquidHeight ? undefined : slatHeight
12870
- }, children: [u$2("div", {
13414
+ }, children: [u$1("div", {
12871
13415
  // the pannable version of TimeGrid has axis labels all consecutive in one column
12872
13416
  // simulate this for the non-pannable version
12873
- className: classNames.flexCol, style: { width: axisWidth }, children: k$1(TimeGridSlatHeader, { ...slatMeta /* FYI doesn't need isoTimeStr */, key: slatMeta.key, innerWidthRef: slatLabelInnerWidthRefMap.createRef(slatMeta.key), innerHeightRef: slatLabelInnerHeightRefMap.createRef(slatMeta.key), borderTop: Boolean(slatI), isNarrow: cellIsNarrow }) }), u$2("div", { className: generateClassName(options.slotHeaderDividerClass, {
13417
+ className: classNames.flexCol, style: { width: axisWidth }, children: k$1(TimeGridSlatHeader, { ...slatMeta /* FYI doesn't need isoTimeStr */, key: slatMeta.key, innerWidthRef: slatLabelInnerWidthRefMap.createRef(slatMeta.key), innerHeightRef: slatLabelInnerHeightRefMap.createRef(slatMeta.key), borderTop: Boolean(slatI), isNarrow: cellIsNarrow }) }), u$1("div", { className: generateClassName(options.slotHeaderDividerClass, {
12874
13418
  inTableHeader: false,
12875
13419
  options: { dayMinWidth: options.dayMinWidth },
12876
- }), style: { visibility: 'hidden' } }), k$1(TimeGridSlatLane, { ...slatMeta /* FYI doesn't need isoTimeStr */, key: slatMeta.key, borderTop: Boolean(slatI) })] }, slatMeta.key))) }), rowsNotExpanding && (u$2("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyT, classNames.liquid) })), !forPrint && options.nowIndicator && rangeContainsMarker(props.dateProfile.currentRange, nowDate) &&
13420
+ }), style: { visibility: 'hidden' } }), k$1(TimeGridSlatLane, { ...slatMeta /* FYI doesn't need isoTimeStr */, key: slatMeta.key, borderTop: Boolean(slatI) })] }, slatMeta.key))) }), rowsNotExpanding && (u$1("div", { className: joinClassNames(generateClassName(options.fillerClass, { inTableHeader: false }), classNames.borderOnlyT, classNames.liquid) })), !forPrint && options.nowIndicator && rangeContainsMarker(props.dateProfile.currentRange, nowDate) &&
12877
13421
  nowTimeMs >= props.dateProfile.slotMinTime.milliseconds &&
12878
- nowTimeMs < props.dateProfile.slotMaxTime.milliseconds && (u$2(TimeGridNowIndicatorArrow, { nowDate: nowDate, dateProfile: props.dateProfile, totalHeight: slatHeight != null ? slatHeight * slatCnt : undefined }))] }))] }) })] }), u$2(Ruler, { widthRef: this.handleTotalWidth })] }));
13422
+ nowTimeMs < props.dateProfile.slotMaxTime.milliseconds && (u$1(TimeGridNowIndicatorArrow, { nowDate: nowDate, dateProfile: props.dateProfile, totalHeight: slatHeight != null ? slatHeight * slatCnt : undefined }))] }))] }) })] }), u$1(Ruler, { widthRef: this.handleTotalWidth })] }));
12879
13423
  }
12880
13424
  // Lifecycle
12881
13425
  // -----------------------------------------------------------------------------------------------
@@ -13016,7 +13560,7 @@ var FullCalendar = (function (exports) {
13016
13560
  borderlessX,
13017
13561
  borderlessBottom,
13018
13562
  };
13019
- return (u$2(ViewContainer, { attrs: {
13563
+ return (u$1(ViewContainer, { attrs: {
13020
13564
  role: 'grid',
13021
13565
  'aria-colcount': props.cells.length,
13022
13566
  'aria-labelledby': props.labelId,
@@ -13025,7 +13569,7 @@ var FullCalendar = (function (exports) {
13025
13569
  borderlessX,
13026
13570
  borderlessTop,
13027
13571
  borderlessBottom,
13028
- multiMonthColumnCount: 0,
13572
+ multiMonthColumns: 0,
13029
13573
  }),
13030
13574
  // we don't do classNames.printRoot/classNames.printHeader here because works poorly with print:
13031
13575
  // - Firefox >85ish CAN have flexboxes within it, but those cannot do absolute positioning
@@ -13033,7 +13577,7 @@ var FullCalendar = (function (exports) {
13033
13577
  // Also, there's weird padding on the last page at bottom of container, which matches
13034
13578
  // the height of the repeated header
13035
13579
  // - Safari was never able to do repeated headers in the first place
13036
- !props.forPrint && classNames.flexCol, classNames.isolate), viewSpec: context.viewSpec, children: dayMinWidth ? (u$2(TimeGridLayoutPannable, { ...commonLayoutProps, dayMinWidth: dayMinWidth, dayScrollerRef: this.dayScrollerRef })) : (u$2(TimeGridLayoutNormal, { ...commonLayoutProps })) }));
13580
+ !props.forPrint && classNames.flexCol, classNames.isolate), viewSpec: context.viewSpec, children: dayMinWidth ? (u$1(TimeGridLayoutPannable, { ...commonLayoutProps, dayMinWidth: dayMinWidth, dayScrollerRef: this.dayScrollerRef })) : (u$1(TimeGridLayoutNormal, { ...commonLayoutProps })) }));
13037
13581
  }
13038
13582
  // Lifecycle
13039
13583
  // -----------------------------------------------------------------------------------------------
@@ -13397,130 +13941,133 @@ var FullCalendar = (function (exports) {
13397
13941
  }
13398
13942
 
13399
13943
  var protectedApi = /*#__PURE__*/Object.freeze({
13400
- __proto__: null,
13401
- CustomRenderingStore: CustomRenderingStore,
13402
- debounce: debounce,
13403
- EventImpl: EventImpl,
13404
- buildEventRangeKey: buildEventRangeKey,
13405
- combineEventUis: combineEventUis,
13406
- compareByFieldSpecs: compareByFieldSpecs,
13407
- computeViewBorderless: computeViewBorderless,
13408
- computeVisibleDayRange: computeVisibleDayRange,
13409
- createEventUi: createEventUi,
13410
- createFormatter: createFormatter,
13411
- filterHash: filterHash,
13412
- flexibleCompare: flexibleCompare,
13413
- getEventKey: getEventKey,
13414
- getEventRangeMeta: getEventRangeMeta,
13415
- guid: guid,
13416
- identity: identity,
13417
- isArraysEqual: isArraysEqual,
13418
- isPropsEqualShallow: isPropsEqualShallow,
13419
- mapHash: mapHash,
13420
- mergeEventStores: mergeEventStores,
13421
- parseFieldSpecs: parseFieldSpecs,
13422
- refineProps: refineProps,
13423
- removeExact: removeExact,
13424
- sortEventSegs: sortEventSegs,
13425
- CalendarApiImpl: CalendarApiImpl,
13426
- CalendarDataManager: CalendarDataManager,
13427
- CalendarInner: CalendarInner,
13428
- CalendarMediaRoot: CalendarMediaRoot,
13429
- computeRootClassName: computeRootClassName,
13430
- parseBusinessHours: parseBusinessHours,
13431
- BaseComponent: BaseComponent,
13432
- ContentContainer: ContentContainer,
13433
- RenderId: RenderId,
13434
- generateClassName: generateClassName,
13435
- getFooterScrollbarSticky: getFooterScrollbarSticky,
13436
- getIsHeightAuto: getIsHeightAuto,
13437
- getTableHeaderSticky: getTableHeaderSticky,
13438
- memoize: memoize,
13439
- memoizeObjArg: memoizeObjArg,
13440
- setRef: setRef,
13441
- computeEdges: computeEdges,
13442
- computeInnerRect: computeInnerRect,
13443
- getRectCenter: getRectCenter,
13444
- joinFuncishClassNames: joinFuncishClassNames,
13445
- mergeCalendarOptions: mergeCalendarOptions,
13446
- mergeContentInjectors: mergeContentInjectors,
13447
- mergeLifecycleCallbacks: mergeLifecycleCallbacks,
13448
- mergeViewOptionsMap: mergeViewOptionsMap,
13449
- applyStyleProp: applyStyleProp,
13450
- computeElIsRtl: computeElIsRtl,
13451
- AllDaySplitter: AllDaySplitter,
13452
- DayTimeColsSlicer: DayTimeColsSlicer,
13453
- NowIndicatorDot: NowIndicatorDot,
13454
- NowIndicatorHeaderContainer: NowIndicatorHeaderContainer,
13455
- NowIndicatorLineContainer: NowIndicatorLineContainer,
13456
- Splitter: Splitter,
13457
- TimeGridLayout: TimeGridLayout,
13458
- buildDayRanges: buildDayRanges,
13459
- buildTimeColsModel: buildTimeColsModel,
13460
- organizeSegsByCol: organizeSegsByCol,
13461
- splitInteractionByCol: splitInteractionByCol,
13462
- DateComponent: DateComponent,
13463
- DelayedRunner: DelayedRunner,
13464
- NowTimer: NowTimer,
13465
- Scroller: Scroller,
13466
- StandardEvent: StandardEvent,
13467
- ViewContainer: ViewContainer,
13468
- afterSize: afterSize,
13469
- buildNavLinkAttrs: buildNavLinkAttrs,
13470
- getDateMeta: getDateMeta,
13471
- watchHeight: watchHeight,
13472
- watchSize: watchSize,
13473
- watchWidth: watchWidth,
13474
- requestJson: requestJson,
13475
- unpromisify: unpromisify,
13476
- Emitter: Emitter,
13477
- DateProfileGenerator: DateProfileGenerator,
13478
- computeMajorUnit: computeMajorUnit,
13479
- isMajorUnit: isMajorUnit,
13480
- BgEvent: BgEvent,
13481
- DayTableModel: DayTableModel,
13482
- DayTableSlicer: DayTableSlicer,
13483
- MoreLinkContainer: MoreLinkContainer,
13484
- RefMap: RefMap,
13485
- Ruler: Ruler,
13486
- SegHierarchy: SegHierarchy,
13487
- Slicer: Slicer,
13488
- buildDateDataConfigs: buildDateDataConfigs,
13489
- buildDateRenderConfig: buildDateRenderConfig,
13490
- buildDateRowConfig: buildDateRowConfig,
13491
- buildDayTableModel: buildDayTableModel,
13492
- createDayHeaderFormatter: createDayHeaderFormatter,
13493
- groupIntersectingSegs: groupIntersectingSegs,
13494
- renderFill: renderFill,
13495
- ElementDragging: ElementDragging,
13496
- config: config,
13497
- isPropsValid: isPropsValid,
13498
- DayGridLayout: DayGridLayout,
13499
- FooterScrollbar: FooterScrollbar,
13500
- DateEnv: DateEnv,
13501
- addDays: addDays,
13502
- addMs: addMs,
13503
- asCleanDays: asCleanDays,
13504
- asRoughMinutes: asRoughMinutes,
13505
- asRoughMs: asRoughMs,
13506
- asRoughSeconds: asRoughSeconds,
13507
- createDuration: createDuration,
13508
- diffDayAndTime: diffDayAndTime,
13509
- diffWholeDays: diffWholeDays,
13510
- diffWholeWeeks: diffWholeWeeks,
13511
- formatDayString: formatDayString,
13512
- greatestDurationDenominator: greatestDurationDenominator,
13513
- intersectRanges: intersectRanges,
13514
- isInt: isInt,
13515
- isValidDate: isValidDate,
13516
- multiplyDuration: multiplyDuration,
13517
- padStart: padStart,
13518
- parseMarker: parse,
13519
- rangeContainsMarker: rangeContainsMarker,
13520
- rangesEqual: rangesEqual,
13521
- rangesIntersect: rangesIntersect,
13522
- startOfDay: startOfDay,
13523
- wholeDivideDurations: wholeDivideDurations
13944
+ __proto__: null,
13945
+ CustomRenderingStore: CustomRenderingStore,
13946
+ debounce: debounce,
13947
+ EventImpl: EventImpl,
13948
+ buildEventRangeKey: buildEventRangeKey,
13949
+ combineEventUis: combineEventUis,
13950
+ compareByFieldSpecs: compareByFieldSpecs,
13951
+ computeViewBorderless: computeViewBorderless,
13952
+ computeVisibleDayRange: computeVisibleDayRange,
13953
+ createEventUi: createEventUi,
13954
+ createFormatter: createFormatter,
13955
+ filterHash: filterHash,
13956
+ flexibleCompare: flexibleCompare,
13957
+ getEventKey: getEventKey,
13958
+ getEventRangeMeta: getEventRangeMeta,
13959
+ guid: guid,
13960
+ identity: identity,
13961
+ isArraysEqual: isArraysEqual,
13962
+ isPropsEqualShallow: isPropsEqualShallow,
13963
+ mapHash: mapHash,
13964
+ mergeEventStores: mergeEventStores,
13965
+ parseFieldSpecs: parseFieldSpecs,
13966
+ refineClassName: refineClassName,
13967
+ refineClassNameGenerator: refineClassNameGenerator,
13968
+ refineProps: refineProps,
13969
+ removeExact: removeExact,
13970
+ sortEventSegs: sortEventSegs,
13971
+ warn: warn,
13972
+ CalendarApiImpl: CalendarApiImpl,
13973
+ CalendarDataManager: CalendarDataManager,
13974
+ CalendarInner: CalendarInner,
13975
+ CalendarMediaRoot: CalendarMediaRoot,
13976
+ computeRootClassName: computeRootClassName,
13977
+ parseBusinessHours: parseBusinessHours,
13978
+ BaseComponent: BaseComponent,
13979
+ ContentContainer: ContentContainer,
13980
+ RenderId: RenderId,
13981
+ generateClassName: generateClassName,
13982
+ getFooterScrollbarSticky: getFooterScrollbarSticky,
13983
+ getIsHeightAuto: getIsHeightAuto,
13984
+ getTableHeaderSticky: getTableHeaderSticky,
13985
+ memoize: memoize,
13986
+ memoizeObjArg: memoizeObjArg,
13987
+ setRef: setRef,
13988
+ computeEdges: computeEdges,
13989
+ computeInnerRect: computeInnerRect,
13990
+ getRectCenter: getRectCenter,
13991
+ joinFuncishClassNames: joinFuncishClassNames,
13992
+ mergeCalendarOptions: mergeCalendarOptions,
13993
+ mergeContentInjectors: mergeContentInjectors,
13994
+ mergeLifecycleCallbacks: mergeLifecycleCallbacks,
13995
+ mergeViewOptionsMap: mergeViewOptionsMap,
13996
+ applyStyleProp: applyStyleProp,
13997
+ computeElIsRtl: computeElIsRtl,
13998
+ AllDaySplitter: AllDaySplitter,
13999
+ DayTimeColsSlicer: DayTimeColsSlicer,
14000
+ NowIndicatorDot: NowIndicatorDot,
14001
+ NowIndicatorHeaderContainer: NowIndicatorHeaderContainer,
14002
+ NowIndicatorLineContainer: NowIndicatorLineContainer,
14003
+ Splitter: Splitter,
14004
+ TimeGridLayout: TimeGridLayout,
14005
+ buildDayRanges: buildDayRanges,
14006
+ buildTimeColsModel: buildTimeColsModel,
14007
+ organizeSegsByCol: organizeSegsByCol,
14008
+ splitInteractionByCol: splitInteractionByCol,
14009
+ DateComponent: DateComponent,
14010
+ DelayedRunner: DelayedRunner,
14011
+ NowTimer: NowTimer,
14012
+ Scroller: Scroller,
14013
+ StandardEvent: StandardEvent,
14014
+ ViewContainer: ViewContainer,
14015
+ afterSize: afterSize,
14016
+ buildNavLinkAttrs: buildNavLinkAttrs,
14017
+ getDateMeta: getDateMeta,
14018
+ watchHeight: watchHeight,
14019
+ watchSize: watchSize,
14020
+ watchWidth: watchWidth,
14021
+ requestJson: requestJson,
14022
+ unpromisify: unpromisify,
14023
+ Emitter: Emitter,
14024
+ DateProfileGenerator: DateProfileGenerator,
14025
+ computeMajorUnit: computeMajorUnit,
14026
+ isMajorUnit: isMajorUnit,
14027
+ BgEvent: BgEvent,
14028
+ DayTableModel: DayTableModel,
14029
+ DayTableSlicer: DayTableSlicer,
14030
+ MoreLinkContainer: MoreLinkContainer,
14031
+ RefMap: RefMap,
14032
+ Ruler: Ruler,
14033
+ SegHierarchy: SegHierarchy,
14034
+ Slicer: Slicer,
14035
+ buildDateDataConfigs: buildDateDataConfigs,
14036
+ buildDateRenderConfig: buildDateRenderConfig,
14037
+ buildDateRowConfig: buildDateRowConfig,
14038
+ buildDayTableModel: buildDayTableModel,
14039
+ createDayHeaderFormatter: createDayHeaderFormatter,
14040
+ groupIntersectingSegs: groupIntersectingSegs,
14041
+ renderFill: renderFill,
14042
+ ElementDragging: ElementDragging,
14043
+ config: config,
14044
+ isPropsValid: isPropsValid,
14045
+ DayGridLayout: DayGridLayout,
14046
+ FooterScrollbar: FooterScrollbar,
14047
+ DateEnv: DateEnv,
14048
+ addDays: addDays,
14049
+ addMs: addMs,
14050
+ asCleanDays: asCleanDays,
14051
+ asRoughMinutes: asRoughMinutes,
14052
+ asRoughMs: asRoughMs,
14053
+ asRoughSeconds: asRoughSeconds,
14054
+ createDuration: createDuration,
14055
+ diffDayAndTime: diffDayAndTime,
14056
+ diffWholeDays: diffWholeDays,
14057
+ diffWholeWeeks: diffWholeWeeks,
14058
+ formatDayString: formatDayString,
14059
+ greatestDurationDenominator: greatestDurationDenominator,
14060
+ intersectRanges: intersectRanges,
14061
+ isInt: isInt,
14062
+ isValidDate: isValidDate,
14063
+ multiplyDuration: multiplyDuration,
14064
+ padStart: padStart,
14065
+ parseMarker: parse,
14066
+ rangeContainsMarker: rangeContainsMarker,
14067
+ rangesEqual: rangesEqual,
14068
+ rangesIntersect: rangesIntersect,
14069
+ startOfDay: startOfDay,
14070
+ wholeDivideDurations: wholeDivideDurations
13524
14071
  });
13525
14072
 
13526
14073
  config.touchMouseIgnoreWait = 500;
@@ -15808,10 +16355,10 @@ var FullCalendar = (function (exports) {
15808
16355
  }
15809
16356
 
15810
16357
  var interaction = /*#__PURE__*/Object.freeze({
15811
- __proto__: null,
15812
- Draggable: ExternalDraggable,
15813
- ThirdPartyDraggable: ThirdPartyDraggable,
15814
- 'default': interactionPlugin
16358
+ __proto__: null,
16359
+ Draggable: ExternalDraggable,
16360
+ ThirdPartyDraggable: ThirdPartyDraggable,
16361
+ 'default': interactionPlugin
15815
16362
  });
15816
16363
 
15817
16364
  class TableDateProfileGenerator extends DateProfileGenerator {
@@ -15870,9 +16417,9 @@ var FullCalendar = (function (exports) {
15870
16417
  const datesRepDistinctDays = dayTableModel.rowCount === 1;
15871
16418
  const dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, dayTableModel.colCount);
15872
16419
  const slicedProps = this.slicer.sliceProps(props, dateProfile, options.nextDayThreshold, context, dayTableModel);
15873
- return (u$2(NowTimer, { unit: "day", children: (nowDate, todayRange) => {
16420
+ return (u$1(NowTimer, { unit: "day", children: (nowDate, todayRange) => {
15874
16421
  const headerTiers = this.buildDateRowConfigs(dayTableModel.headerDates, datesRepDistinctDays, dateProfile, todayRange, dayHeaderFormat, context);
15875
- return (u$2(DayGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, todayRange: todayRange, cellRows: dayTableModel.cellRows, forPrint: props.forPrint, className: props.className,
16422
+ return (u$1(DayGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, todayRange: todayRange, cellRows: dayTableModel.cellRows, forPrint: props.forPrint, className: props.className,
15876
16423
  // header content
15877
16424
  headerTiers: headerTiers,
15878
16425
  // body content
@@ -15910,8 +16457,8 @@ var FullCalendar = (function (exports) {
15910
16457
  };
15911
16458
 
15912
16459
  var daygrid = /*#__PURE__*/Object.freeze({
15913
- __proto__: null,
15914
- 'default': dayGridPlugin
16460
+ __proto__: null,
16461
+ 'default': dayGridPlugin
15915
16462
  });
15916
16463
 
15917
16464
  class TimeGridView extends DateComponent {
@@ -15945,7 +16492,7 @@ var FullCalendar = (function (exports) {
15945
16492
  const timedProps = this.dayTimeColsSlicer.sliceProps(splitProps.timed, dateProfile, null, context, dayRanges);
15946
16493
  const dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, true, // datesRepDistinctDays
15947
16494
  dayTableModel.colCount);
15948
- return (u$2(NowTimer, { unit: options.nowIndicator ? 'minute' : 'day' /* hacky */, children: (nowDate, todayRange) => {
16495
+ return (u$1(NowTimer, { unit: options.nowIndicator ? 'minute' : 'day' /* hacky */, children: (nowDate, todayRange) => {
15949
16496
  const colCount = dayTableModel.cellRows[0].length;
15950
16497
  const nowIndicatorSeg = !props.forPrint && options.nowIndicator &&
15951
16498
  this.dayTimeColsSlicer.sliceNowDate(nowDate, dateProfile, options.nextDayThreshold, context, dayRanges);
@@ -15958,7 +16505,7 @@ var FullCalendar = (function (exports) {
15958
16505
  const eventResizeByCol = this.splitEventResize(timedProps.eventResize, colCount);
15959
16506
  const headerTiers = this.buildDateRowConfigs(dayTableModel.headerDates, true, // datesRepDistinctDays
15960
16507
  props.dateProfile, todayRange, dayHeaderFormat, context);
15961
- return (u$2(TimeGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, nowDate: nowDate, todayRange: todayRange, cells: dayTableModel.cellRows[0], forPrint: props.forPrint, className: props.className,
16508
+ return (u$1(TimeGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, nowDate: nowDate, todayRange: todayRange, cells: dayTableModel.cellRows[0], forPrint: props.forPrint, className: props.className,
15962
16509
  // header content
15963
16510
  headerTiers: headerTiers,
15964
16511
  // all-day content
@@ -15995,8 +16542,8 @@ var FullCalendar = (function (exports) {
15995
16542
  };
15996
16543
 
15997
16544
  var timegrid = /*#__PURE__*/Object.freeze({
15998
- __proto__: null,
15999
- 'default': timeGridPlugin
16545
+ __proto__: null,
16546
+ 'default': timeGridPlugin
16000
16547
  });
16001
16548
 
16002
16549
  class ListDayHeaderInner extends BaseComponent {
@@ -16019,7 +16566,7 @@ var FullCalendar = (function (exports) {
16019
16566
  const navLinkAttrs = hasNavLink
16020
16567
  ? buildNavLinkAttrs(this.context, props.dayDate, undefined, text, this.props.isTabbable)
16021
16568
  : {};
16022
- return (u$2(ContentContainer, { tag: "div", attrs: navLinkAttrs, renderProps: renderProps, generatorName: "listDayHeaderContent", customGenerator: options.listDayHeaderContent, defaultGenerator: renderText$1, classNameGenerator: options.listDayHeaderInnerClass }));
16569
+ return (u$1(ContentContainer, { tag: "div", attrs: navLinkAttrs, renderProps: renderProps, generatorName: "listDayHeaderContent", customGenerator: options.listDayHeaderContent, defaultGenerator: renderText$1, classNameGenerator: options.listDayHeaderInnerClass }));
16023
16570
  }
16024
16571
  }
16025
16572
 
@@ -16034,10 +16581,10 @@ var FullCalendar = (function (exports) {
16034
16581
  ...dateMeta,
16035
16582
  view: viewApi,
16036
16583
  };
16037
- return (u$2(ContentContainer, { tag: "div", attrs: {
16584
+ return (u$1(ContentContainer, { tag: "div", attrs: {
16038
16585
  'data-date': formatDayString(dayDate),
16039
16586
  ...(dateMeta.isToday ? { 'aria-current': 'date' } : {}),
16040
- }, className: stickyHeaderDates ? classNames.stickyT : '', renderProps: renderProps, generatorName: undefined, classNameGenerator: options.listDayHeaderClass, didMount: options.listDayHeaderDidMount, willUnmount: options.listDayHeaderWillUnmount, children: () => (u$2(S, { children: [Boolean(listDayFormat) && (u$2(ListDayHeaderInner, { dayDate: dayDate, dayFormat: listDayFormat, isTabbable: true, dateMeta: dateMeta, level: 0 })), Boolean(listDayAltFormat) && (u$2(ListDayHeaderInner, { dayDate: dayDate, dayFormat: listDayAltFormat, isTabbable: false, dateMeta: dateMeta, level: 1 }))] })) }));
16587
+ }, className: stickyHeaderDates ? classNames.stickyT : '', renderProps: renderProps, generatorName: undefined, classNameGenerator: options.listDayHeaderClass, didMount: options.listDayHeaderDidMount, willUnmount: options.listDayHeaderWillUnmount, children: () => (u$1(S, { children: [Boolean(listDayFormat) && (u$1(ListDayHeaderInner, { dayDate: dayDate, dayFormat: listDayFormat, isTabbable: true, dateMeta: dateMeta, level: 0 })), Boolean(listDayAltFormat) && (u$1(ListDayHeaderInner, { dayDate: dayDate, dayFormat: listDayAltFormat, isTabbable: false, dateMeta: dateMeta, level: 1 }))] })) }));
16041
16588
  }
16042
16589
  }
16043
16590
  function createDefaultListDayFormat({ durationUnit, singleUnit }) {
@@ -16074,7 +16621,7 @@ var FullCalendar = (function (exports) {
16074
16621
  let forcedTimeText = (displayEventTime !== false) && (eventRange.def.allDay || (!props.isStart && !props.isEnd))
16075
16622
  ? context.options.allDayText
16076
16623
  : undefined;
16077
- return (u$2(StandardEvent, { ...props, attrs: {
16624
+ return (u$1(StandardEvent, { ...props, attrs: {
16078
16625
  role: 'listitem',
16079
16626
  }, forcedTimeText: forcedTimeText, defaultTimeFormat: DEFAULT_TIME_FORMAT, disableDragging: true, disableResizing: true, disableZindexes // because conflicts with sticky list headers
16080
16627
  : true, display: 'list-item' }));
@@ -16105,11 +16652,11 @@ var FullCalendar = (function (exports) {
16105
16652
  ...dateMeta,
16106
16653
  view: context.viewApi,
16107
16654
  };
16108
- return (u$2("div", { role: 'listitem', "aria-label": fullDateStr, className: generateClassName(options.listDayClass, listDayData), children: [u$2(ListDayHeader, { dayDate: props.dayDate, dateMeta: dateMeta, forPrint: props.forPrint }), u$2("div", { role: 'list', "aria-label": options.eventsHint, className: joinClassNames(generateClassName(options.listDayBodyClass, listDayEventsData), classNames.flexCol), children: segs.map((seg, index) => {
16655
+ return (u$1("div", { role: 'listitem', "aria-label": fullDateStr, className: generateClassName(options.listDayClass, listDayData), children: [u$1(ListDayHeader, { dayDate: props.dayDate, dateMeta: dateMeta, forPrint: props.forPrint }), u$1("div", { role: 'list', "aria-label": options.eventsHint, className: joinClassNames(generateClassName(options.listDayBodyClass, listDayEventsData), classNames.flexCol), children: segs.map((seg, index) => {
16109
16656
  const key = getEventKey(seg);
16110
16657
  const isFirst = index === 0;
16111
16658
  const isLast = index === segs.length - 1;
16112
- return (u$2(ListEvent, { eventRange: seg.eventRange, slicedStart: seg.slicedStart, slicedEnd: seg.slicedEnd, isStart: seg.isStart, isEnd: seg.isEnd, isFirst: isFirst, isLast: isLast, isDragging: false, isResizing: false, isMirror: false, isSelected: false, ...getEventRangeMeta(seg.eventRange, todayRange, nowDate) }, key));
16659
+ return (u$1(ListEvent, { eventRange: seg.eventRange, slicedStart: seg.slicedStart, slicedEnd: seg.slicedEnd, isStart: seg.isStart, isEnd: seg.isEnd, isFirst: isFirst, isLast: isLast, isDragging: false, isResizing: false, isMirror: false, isSelected: false, ...getEventRangeMeta(seg.eventRange, todayRange, nowDate) }, key));
16113
16660
  }) })] }));
16114
16661
  }
16115
16662
  }
@@ -16141,7 +16688,7 @@ var FullCalendar = (function (exports) {
16141
16688
  let { dayDates, dayRanges } = this.computeDateVars(props.dateProfile);
16142
16689
  let eventSegs = this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges);
16143
16690
  let verticalScrolling = !props.forPrint && !getIsHeightAuto(options);
16144
- return (u$2(ViewContainer, { viewSpec: context.viewSpec, className: joinClassNames(props.className, classNames.flexCol), elRef: this.setRootEl, children: eventSegs.length ? (u$2(Scroller // TODO: don't need heavyweight component
16691
+ return (u$1(ViewContainer, { viewSpec: context.viewSpec, className: joinClassNames(props.className, classNames.flexCol), elRef: this.setRootEl, children: eventSegs.length ? (u$1(Scroller // TODO: don't need heavyweight component
16145
16692
  , { vertical: verticalScrolling, className: joinClassNames(classNames.flexCol, verticalScrolling ? classNames.liquid : ''), children: this.renderSegList(eventSegs, dayDates) })) : this.renderEmptyMessage() }));
16146
16693
  }
16147
16694
  renderEmptyMessage() {
@@ -16150,14 +16697,14 @@ var FullCalendar = (function (exports) {
16150
16697
  text: options.noEventsText,
16151
16698
  view: viewApi,
16152
16699
  };
16153
- return (u$2(ContentContainer, { tag: "div", attrs: {
16700
+ return (u$1(ContentContainer, { tag: "div", attrs: {
16154
16701
  role: 'status', // does a polite announcement
16155
- }, renderProps: renderProps, generatorName: "noEventsContent", customGenerator: options.noEventsContent, defaultGenerator: renderNoEventsInner, classNameGenerator: options.noEventsClass, className: classNames.grow, didMount: options.noEventsDidMount, willUnmount: options.noEventsWillUnmount, children: (InnerContent) => (u$2(InnerContent, { tag: "div", className: generateClassName(options.noEventsInnerClass, renderProps) })) }));
16702
+ }, renderProps: renderProps, generatorName: "noEventsContent", customGenerator: options.noEventsContent, defaultGenerator: renderNoEventsInner, classNameGenerator: options.noEventsClass, className: classNames.grow, didMount: options.noEventsDidMount, willUnmount: options.noEventsWillUnmount, children: (InnerContent) => (u$1(InnerContent, { tag: "div", className: generateClassName(options.noEventsInnerClass, renderProps) })) }));
16156
16703
  }
16157
16704
  renderSegList(allSegs, dayDates) {
16158
16705
  let { options } = this.context;
16159
16706
  let segsByDay = groupSegsByDay(allSegs); // sparse array
16160
- return (u$2("div", { role: "list", "aria-labelledby": this.props.labelId, "aria-label": this.props.labelStr, className: joinClassNames(classNames.flexCol, joinClassNames(options.listDaysClass)), children: u$2(NowTimer, { unit: "day", children: (nowDate, todayRange) => {
16707
+ return (u$1("div", { role: "list", "aria-labelledby": this.props.labelId, "aria-label": this.props.labelStr, className: joinClassNames(classNames.flexCol, joinClassNames(options.listDaysClass)), children: u$1(NowTimer, { unit: "day", children: (nowDate, todayRange) => {
16161
16708
  const dayNodes = [];
16162
16709
  const populatedDayCount = segsByDay.reduce((count, daySegs) => count + (daySegs ? 1 : 0), 0);
16163
16710
  let populatedDayIndex = 0;
@@ -16168,11 +16715,11 @@ var FullCalendar = (function (exports) {
16168
16715
  const key = formatDayString(dayDate);
16169
16716
  const isFirst = populatedDayIndex === 0;
16170
16717
  const isLast = populatedDayIndex === populatedDayCount - 1;
16171
- dayNodes.push(u$2(ListDay, { dayDate: dayDate, nowDate: nowDate, todayRange: todayRange, segs: daySegs, isFirst: isFirst, isLast: isLast, forPrint: this.props.forPrint }, key));
16718
+ dayNodes.push(u$1(ListDay, { dayDate: dayDate, nowDate: nowDate, todayRange: todayRange, segs: daySegs, isFirst: isFirst, isLast: isLast, forPrint: this.props.forPrint }, key));
16172
16719
  populatedDayIndex += 1;
16173
16720
  }
16174
16721
  }
16175
- return (u$2(S, { children: dayNodes }));
16722
+ return (u$1(S, { children: dayNodes }));
16176
16723
  } }) }));
16177
16724
  }
16178
16725
  _eventStoreToSegs(eventStore, eventUiBases, dayRanges) {
@@ -16266,8 +16813,8 @@ var FullCalendar = (function (exports) {
16266
16813
  };
16267
16814
 
16268
16815
  var list = /*#__PURE__*/Object.freeze({
16269
- __proto__: null,
16270
- 'default': listPlugin
16816
+ __proto__: null,
16817
+ 'default': listPlugin
16271
16818
  });
16272
16819
 
16273
16820
  class SingleMonth extends DateComponent {
@@ -16347,7 +16894,7 @@ var FullCalendar = (function (exports) {
16347
16894
  const eventResize = forPrint ? null : slicedProps.eventResize;
16348
16895
  const hasNavLink = options.navLinks && props.colCount > 1;
16349
16896
  const headerRenderProps = {
16350
- multiMonthColumnCount: props.colCount || 0,
16897
+ multiMonthColumns: props.colCount || 0,
16351
16898
  isSticky: isTitleAndHeaderSticky,
16352
16899
  isNarrow: cellIsNarrow,
16353
16900
  hasNavLink,
@@ -16356,48 +16903,48 @@ var FullCalendar = (function (exports) {
16356
16903
  const navLinkAttrs = hasNavLink
16357
16904
  ? buildNavLinkAttrs(context, monthStartDate, 'month', props.isoDateStr)
16358
16905
  : {};
16359
- return (u$2("div", { role: 'listitem', style: { width: props.width }, children: u$2("div", { role: 'grid', "aria-labelledby": this.titleId, "data-date": props.isoDateStr, className: joinClassNames(generateClassName(options.singleMonthClass, {
16906
+ return (u$1("div", { role: 'listitem', style: { width: props.width }, children: u$1("div", { role: 'grid', "aria-labelledby": this.titleId, "data-date": props.isoDateStr, className: joinClassNames(generateClassName(options.singleMonthClass, {
16360
16907
  isFirst: props.isFirst,
16361
16908
  isLast: props.isLast,
16362
- multiMonthColumnCount: props.colCount || 0,
16363
- }), classNames.flexCol, props.hasLateralSiblings && classNames.breakInsideAvoid), children: [u$2(Ruler, { widthRef: this.handleGridWidth }), u$2("div", { id: this.titleId, ref: this.titleElRef, className: joinClassNames(generateClassName(options.singleMonthHeaderClass, headerRenderProps), isTitleAndHeaderSticky && classNames.stickyT, classNames.flexCol), style: {
16909
+ multiMonthColumns: props.colCount || 0,
16910
+ }), classNames.flexCol, props.hasLateralSiblings && classNames.breakInsideAvoid), children: [u$1(Ruler, { widthRef: this.handleGridWidth }), u$1("div", { id: this.titleId, ref: this.titleElRef, className: joinClassNames(generateClassName(options.singleMonthHeaderClass, headerRenderProps), isTitleAndHeaderSticky && classNames.stickyT, classNames.flexCol), style: {
16364
16911
  // HACK to keep zIndex above table-header,
16365
16912
  // because in Chrome, something about position:sticky on this title div
16366
16913
  // causes its bottom border to no be considered part of its mass,
16367
16914
  // and would get overlapped and hidden by the table-header div
16368
16915
  zIndex: isTitleAndHeaderSticky ? 3 : undefined, // TODO: className?
16369
16916
  marginBottom: titleStickyBottom,
16370
- }, children: u$2("div", { ...navLinkAttrs, className: joinClassNames(generateClassName(options.singleMonthHeaderInnerClass, headerRenderProps), navLinkAttrs.className), children: joinDateTimeFormatParts(dateEnv.formatToParts(monthStartDate, props.titleFormat)) }) }), u$2("div", { className: joinClassNames(generateClassName(options.tableClass, {
16917
+ }, children: u$1("div", { ...navLinkAttrs, className: joinClassNames(generateClassName(options.singleMonthHeaderInnerClass, headerRenderProps), navLinkAttrs.className), children: joinDateTimeFormatParts(dateEnv.formatToParts(monthStartDate, props.titleFormat)) }) }), u$1("div", { className: joinClassNames(generateClassName(options.tableClass, {
16371
16918
  borderlessX,
16372
16919
  borderlessTop,
16373
16920
  borderlessBottom,
16374
- multiMonthColumnCount: props.colCount || 0,
16921
+ multiMonthColumns: props.colCount || 0,
16375
16922
  }), classNames.flexCol), style: {
16376
16923
  marginTop: titleStickyBottom != null ? -titleStickyBottom : undefined,
16377
- }, children: [u$2("div", { ref: this.tableHeaderElRef, className: joinClassNames(generateClassName(options.tableHeaderClass, {
16924
+ }, children: [u$1("div", { ref: this.tableHeaderElRef, className: joinClassNames(generateClassName(options.tableHeaderClass, {
16378
16925
  isSticky: isTitleAndHeaderSticky,
16379
16926
  borderlessX,
16380
16927
  borderlessTop,
16381
16928
  borderlessBottom,
16382
- multiMonthColumnCount: props.colCount || 0,
16929
+ multiMonthColumns: props.colCount || 0,
16383
16930
  }), classNames.flexCol, isTitleAndHeaderSticky && classNames.sticky), style: {
16384
16931
  zIndex: isTitleAndHeaderSticky ? 2 : undefined, // TODO: className?
16385
16932
  top: isTitleAndHeaderSticky ? state.titleHeight : 0,
16386
16933
  marginBottom: headerStickyBottom,
16387
- }, children: [u$2(DayGridHeaderRow, { ...rowConfig, role: 'row', borderBottom: false, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro, rowLevel: 0 }), u$2("div", { className: generateClassName(options.dayHeaderDividerClass, {
16934
+ }, children: [u$1(DayGridHeaderRow, { ...rowConfig, role: 'row', borderBottom: false, cellIsNarrow: cellIsNarrow, cellIsMicro: cellIsMicro, rowLevel: 0 }), u$1("div", { className: generateClassName(options.dayHeaderDividerClass, {
16388
16935
  isSticky: isTitleAndHeaderSticky,
16389
- multiMonthColumnCount: props.colCount || 0,
16936
+ multiMonthColumns: props.colCount || 0,
16390
16937
  options: { allDaySlot: Boolean(options.allDaySlot) },
16391
- }) })] }), u$2("div", { className: joinClassNames(generateClassName(options.tableBodyClass, {
16938
+ }) })] }), u$1("div", { className: joinClassNames(generateClassName(options.tableBodyClass, {
16392
16939
  borderlessX,
16393
16940
  borderlessTop,
16394
16941
  borderlessBottom,
16395
- multiMonthColumnCount: props.colCount || 0,
16942
+ multiMonthColumns: props.colCount || 0,
16396
16943
  }), classNames.flexCol, isAspectRatio && classNames.rel), style: {
16397
16944
  zIndex: isTitleAndHeaderSticky ? 1 : undefined, // TODO: className?
16398
16945
  marginTop: headerStickyBottom != null ? -headerStickyBottom : undefined,
16399
16946
  aspectRatio: isAspectRatio ? String(options.aspectRatio) : undefined,
16400
- }, children: u$2(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: dayTableModel.cellRows, className: isAspectRatio ? classNames.fill : '', forPrint: forPrint && !props.hasLateralSiblings, dayMaxEventRows: (forPrint && props.hasLateralSiblings)
16947
+ }, children: u$1(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: dayTableModel.cellRows, className: isAspectRatio ? classNames.fill : '', forPrint: forPrint && !props.hasLateralSiblings, dayMaxEventRows: (forPrint && props.hasLateralSiblings)
16401
16948
  ? 1 // for side-by-side multimonths, limit to one row
16402
16949
  : true // otherwise, always do +more link, never expand rows
16403
16950
  ,
@@ -16478,13 +17025,13 @@ var FullCalendar = (function (exports) {
16478
17025
  cssMonthWidth = fracToCssDim(1 / cols);
16479
17026
  hasLateralSiblings = cols > 1;
16480
17027
  }
16481
- return (u$2(NowTimer, { unit: "day", children: (nowDate, todayRange) => (u$2(ViewContainer, { viewSpec: context.viewSpec, className: joinClassNames(
17028
+ return (u$1(NowTimer, { unit: "day", children: (nowDate, todayRange) => (u$1(ViewContainer, { viewSpec: context.viewSpec, className: joinClassNames(
16482
17029
  // HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
16483
17030
  // https://stackoverflow.com/a/60256345
16484
- !props.forPrint && classNames.flexCol, props.className), children: [u$2(Scroller, { vertical: verticalScrolling, className: verticalScrolling ? classNames.liquid : '', ref: this.scrollerRef, children: u$2("div", { role: 'list', ref: this.tilesElRef, "aria-labelledby": props.labelId, "aria-label": props.labelStr, className: classNames.safeTiles, children: monthDateProfiles.map((monthDateProfile, i) => {
17031
+ !props.forPrint && classNames.flexCol, props.className), children: [u$1(Scroller, { vertical: verticalScrolling, className: verticalScrolling ? classNames.liquid : '', ref: this.scrollerRef, children: u$1("div", { role: 'list', ref: this.tilesElRef, "aria-labelledby": props.labelId, "aria-label": props.labelStr, className: classNames.safeTiles, children: monthDateProfiles.map((monthDateProfile, i) => {
16485
17032
  const monthStr = formatIsoMonthStr(monthDateProfile.currentRange.start);
16486
17033
  return (k$1(SingleMonth, { ...props, key: monthStr, todayRange: todayRange, isoDateStr: monthStr, titleFormat: monthTitleFormat, dateProfile: monthDateProfile, width: cssMonthWidth, colCount: cols, isFirst: !i, isLast: i === monthDateProfiles.length - 1, hasLateralSiblings: hasLateralSiblings }));
16487
- }) }) }), u$2(Ruler, { widthRef: this.handleInnerWidth })] })) }));
17034
+ }) }) }), u$1(Ruler, { widthRef: this.handleInnerWidth })] })) }));
16488
17035
  }
16489
17036
  // Lifecycle
16490
17037
  // -----------------------------------------------------------------------------------------------
@@ -16624,8 +17171,8 @@ var FullCalendar = (function (exports) {
16624
17171
  };
16625
17172
 
16626
17173
  var multimonth = /*#__PURE__*/Object.freeze({
16627
- __proto__: null,
16628
- 'default': multiMonthPlugin
17174
+ __proto__: null,
17175
+ 'default': multiMonthPlugin
16629
17176
  });
16630
17177
 
16631
17178
  const blankButtonState = {
@@ -16729,7 +17276,7 @@ var FullCalendar = (function (exports) {
16729
17276
  return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
16730
17277
  }
16731
17278
 
16732
- const version = '7.0.0-rc.2';
17279
+ const version = '7.0.0';
16733
17280
 
16734
17281
  var protectedStyles = /*#__PURE__*/Object.freeze({
16735
17282
  __proto__: null,
@@ -16765,7 +17312,12 @@ var FullCalendar = (function (exports) {
16765
17312
  this.currentData = data;
16766
17313
  let renderImmediate = false;
16767
17314
  for (const action of actions) {
16768
- if (action.type === 'SET_EVENT_DRAG' || action.type === 'SET_EVENT_RESIZE') {
17315
+ if (action.type === 'SET_EVENT_DRAG' ||
17316
+ action.type === 'UNSET_EVENT_DRAG' ||
17317
+ action.type === 'SET_EVENT_RESIZE' ||
17318
+ action.type === 'UNSET_EVENT_RESIZE' ||
17319
+ // could happen as a result of a drag or resize and must be part of same sync pipeline
17320
+ action.type === 'MERGE_EVENTS') {
16769
17321
  renderImmediate = true;
16770
17322
  break;
16771
17323
  }
@@ -16777,7 +17329,7 @@ var FullCalendar = (function (exports) {
16777
17329
  let { currentData } = this;
16778
17330
  this.isRendered = true;
16779
17331
  bn(() => {
16780
- this.vdomRoot.render(u$2(S, { children: u$2(RenderId.Provider, { value: this.customContentRenderId, children: u$2(CalendarMediaRoot, { emitter: currentData.emitter, children: (forPrint) => {
17332
+ this.vdomRoot.render(u$1(S, { children: u$1(RenderId.Provider, { value: this.customContentRenderId, children: u$1(CalendarMediaRoot, { emitter: currentData.emitter, children: (forPrint) => {
16781
17333
  const options = currentData.calendarOptions;
16782
17334
  const isRtl = options.direction === 'rtl';
16783
17335
  const className = computeRootClassName(options, forPrint);
@@ -16785,7 +17337,7 @@ var FullCalendar = (function (exports) {
16785
17337
  this.setClassName(className);
16786
17338
  this.setHeight(options.height);
16787
17339
  this.setColorScheme(options.colorScheme || '');
16788
- return (u$2(CalendarInner, { ...currentData, forPrint: forPrint, baseId: this.baseId }));
17340
+ return (u$1(CalendarInner, { ...currentData, forPrint: forPrint, baseId: this.baseId }));
16789
17341
  } }) }) }));
16790
17342
  });
16791
17343
  }
@@ -16897,7 +17449,7 @@ var FullCalendar = (function (exports) {
16897
17449
  }
16898
17450
  }
16899
17451
 
16900
- const Shared = { F: globalLocales, G: globalPlugins, H: joinClassNames, S, u: u$2 };
17452
+ const Shared = { F: globalLocales, G: globalPlugins, H: joinClassNames, S, u: u$1 };
16901
17453
 
16902
17454
  exports.Calendar = Calendar;
16903
17455
  exports.CalendarController = CalendarController;