@fullcalendar/core 6.0.2 → 6.0.3

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 (414) hide show
  1. package/{index.cjs → index.esm.js} +147 -158
  2. package/index.global.js +31 -8
  3. package/index.global.min.js +2 -2
  4. package/index.js +158 -147
  5. package/internal-common.d.ts +9 -7
  6. package/{internal-common.cjs → internal-common.esm.js} +4742 -4955
  7. package/internal-common.js +4930 -4671
  8. package/internal.esm.js +3 -0
  9. package/internal.js +196 -3
  10. package/locales/{af.cjs → af.esm.js} +1 -5
  11. package/locales/af.global.js +1 -1
  12. package/locales/af.global.min.js +1 -1
  13. package/locales/af.js +5 -1
  14. package/locales/{ar-dz.cjs → ar-dz.esm.js} +1 -5
  15. package/locales/ar-dz.global.js +1 -1
  16. package/locales/ar-dz.global.min.js +1 -1
  17. package/locales/ar-dz.js +5 -1
  18. package/locales/{ar-kw.cjs → ar-kw.esm.js} +1 -5
  19. package/locales/ar-kw.global.js +1 -1
  20. package/locales/ar-kw.global.min.js +1 -1
  21. package/locales/ar-kw.js +5 -1
  22. package/locales/{ar-ly.cjs → ar-ly.esm.js} +1 -5
  23. package/locales/ar-ly.global.js +1 -1
  24. package/locales/ar-ly.global.min.js +1 -1
  25. package/locales/ar-ly.js +5 -1
  26. package/locales/{ar-ma.cjs → ar-ma.esm.js} +1 -5
  27. package/locales/ar-ma.global.js +1 -1
  28. package/locales/ar-ma.global.min.js +1 -1
  29. package/locales/ar-ma.js +5 -1
  30. package/locales/{ar-sa.cjs → ar-sa.esm.js} +1 -5
  31. package/locales/ar-sa.global.js +1 -1
  32. package/locales/ar-sa.global.min.js +1 -1
  33. package/locales/ar-sa.js +5 -1
  34. package/locales/{ar-tn.cjs → ar-tn.esm.js} +1 -5
  35. package/locales/ar-tn.global.js +1 -1
  36. package/locales/ar-tn.global.min.js +1 -1
  37. package/locales/ar-tn.js +5 -1
  38. package/locales/{ar.cjs → ar.esm.js} +1 -5
  39. package/locales/ar.global.js +1 -1
  40. package/locales/ar.global.min.js +1 -1
  41. package/locales/ar.js +5 -1
  42. package/locales/{az.cjs → az.esm.js} +1 -5
  43. package/locales/az.global.js +1 -1
  44. package/locales/az.global.min.js +1 -1
  45. package/locales/az.js +5 -1
  46. package/locales/{bg.cjs → bg.esm.js} +1 -5
  47. package/locales/bg.global.js +1 -1
  48. package/locales/bg.global.min.js +1 -1
  49. package/locales/bg.js +5 -1
  50. package/locales/{bn.cjs → bn.esm.js} +1 -5
  51. package/locales/bn.global.js +1 -1
  52. package/locales/bn.global.min.js +1 -1
  53. package/locales/bn.js +5 -1
  54. package/locales/{bs.cjs → bs.esm.js} +1 -5
  55. package/locales/bs.global.js +1 -1
  56. package/locales/bs.global.min.js +1 -1
  57. package/locales/bs.js +5 -1
  58. package/locales/{ca.cjs → ca.esm.js} +1 -5
  59. package/locales/ca.global.js +1 -1
  60. package/locales/ca.global.min.js +1 -1
  61. package/locales/ca.js +5 -1
  62. package/locales/{cs.cjs → cs.esm.js} +1 -5
  63. package/locales/cs.global.js +1 -1
  64. package/locales/cs.global.min.js +1 -1
  65. package/locales/cs.js +5 -1
  66. package/locales/{cy.cjs → cy.esm.js} +1 -5
  67. package/locales/cy.global.js +1 -1
  68. package/locales/cy.global.min.js +1 -1
  69. package/locales/cy.js +5 -1
  70. package/locales/{da.cjs → da.esm.js} +1 -5
  71. package/locales/da.global.js +1 -1
  72. package/locales/da.global.min.js +1 -1
  73. package/locales/da.js +5 -1
  74. package/locales/{de-at.cjs → de-at.esm.js} +1 -5
  75. package/locales/de-at.global.js +1 -1
  76. package/locales/de-at.global.min.js +1 -1
  77. package/locales/de-at.js +5 -1
  78. package/locales/{de.cjs → de.esm.js} +1 -5
  79. package/locales/de.global.js +1 -1
  80. package/locales/de.global.min.js +1 -1
  81. package/locales/de.js +5 -1
  82. package/locales/{el.cjs → el.esm.js} +1 -5
  83. package/locales/el.global.js +1 -1
  84. package/locales/el.global.min.js +1 -1
  85. package/locales/el.js +5 -1
  86. package/locales/{en-au.cjs → en-au.esm.js} +1 -5
  87. package/locales/en-au.global.js +1 -1
  88. package/locales/en-au.global.min.js +1 -1
  89. package/locales/en-au.js +5 -1
  90. package/locales/{en-gb.cjs → en-gb.esm.js} +1 -5
  91. package/locales/en-gb.global.js +1 -1
  92. package/locales/en-gb.global.min.js +1 -1
  93. package/locales/en-gb.js +5 -1
  94. package/locales/{en-nz.cjs → en-nz.esm.js} +1 -5
  95. package/locales/en-nz.global.js +1 -1
  96. package/locales/en-nz.global.min.js +1 -1
  97. package/locales/en-nz.js +5 -1
  98. package/locales/{eo.cjs → eo.esm.js} +1 -5
  99. package/locales/eo.global.js +1 -1
  100. package/locales/eo.global.min.js +1 -1
  101. package/locales/eo.js +5 -1
  102. package/locales/{es-us.cjs → es-us.esm.js} +1 -5
  103. package/locales/es-us.global.js +1 -1
  104. package/locales/es-us.global.min.js +1 -1
  105. package/locales/es-us.js +5 -1
  106. package/locales/{es.cjs → es.esm.js} +1 -5
  107. package/locales/es.global.js +1 -1
  108. package/locales/es.global.min.js +1 -1
  109. package/locales/es.js +5 -1
  110. package/locales/{et.cjs → et.esm.js} +1 -5
  111. package/locales/et.global.js +1 -1
  112. package/locales/et.global.min.js +1 -1
  113. package/locales/et.js +5 -1
  114. package/locales/{eu.cjs → eu.esm.js} +1 -5
  115. package/locales/eu.global.js +1 -1
  116. package/locales/eu.global.min.js +1 -1
  117. package/locales/eu.js +5 -1
  118. package/locales/{fa.cjs → fa.esm.js} +1 -5
  119. package/locales/fa.global.js +1 -1
  120. package/locales/fa.global.min.js +1 -1
  121. package/locales/fa.js +5 -1
  122. package/locales/{fi.cjs → fi.esm.js} +1 -5
  123. package/locales/fi.global.js +1 -1
  124. package/locales/fi.global.min.js +1 -1
  125. package/locales/fi.js +5 -1
  126. package/locales/{fr-ca.cjs → fr-ca.esm.js} +1 -5
  127. package/locales/fr-ca.global.js +1 -1
  128. package/locales/fr-ca.global.min.js +1 -1
  129. package/locales/fr-ca.js +5 -1
  130. package/locales/{fr-ch.cjs → fr-ch.esm.js} +1 -5
  131. package/locales/fr-ch.global.js +1 -1
  132. package/locales/fr-ch.global.min.js +1 -1
  133. package/locales/fr-ch.js +5 -1
  134. package/locales/{fr.cjs → fr.esm.js} +1 -5
  135. package/locales/fr.global.js +1 -1
  136. package/locales/fr.global.min.js +1 -1
  137. package/locales/fr.js +5 -1
  138. package/locales/{gl.cjs → gl.esm.js} +1 -5
  139. package/locales/gl.global.js +1 -1
  140. package/locales/gl.global.min.js +1 -1
  141. package/locales/gl.js +5 -1
  142. package/locales/{he.cjs → he.esm.js} +1 -5
  143. package/locales/he.global.js +1 -1
  144. package/locales/he.global.min.js +1 -1
  145. package/locales/he.js +5 -1
  146. package/locales/{hi.cjs → hi.esm.js} +1 -5
  147. package/locales/hi.global.js +1 -1
  148. package/locales/hi.global.min.js +1 -1
  149. package/locales/hi.js +5 -1
  150. package/locales/{hr.cjs → hr.esm.js} +1 -5
  151. package/locales/hr.global.js +1 -1
  152. package/locales/hr.global.min.js +1 -1
  153. package/locales/hr.js +5 -1
  154. package/locales/{hu.cjs → hu.esm.js} +1 -5
  155. package/locales/hu.global.js +1 -1
  156. package/locales/hu.global.min.js +1 -1
  157. package/locales/hu.js +5 -1
  158. package/locales/{hy-am.cjs → hy-am.esm.js} +1 -5
  159. package/locales/hy-am.global.js +1 -1
  160. package/locales/hy-am.global.min.js +1 -1
  161. package/locales/hy-am.js +5 -1
  162. package/locales/{id.cjs → id.esm.js} +1 -5
  163. package/locales/id.global.js +1 -1
  164. package/locales/id.global.min.js +1 -1
  165. package/locales/id.js +5 -1
  166. package/locales/{is.cjs → is.esm.js} +1 -5
  167. package/locales/is.global.js +1 -1
  168. package/locales/is.global.min.js +1 -1
  169. package/locales/is.js +5 -1
  170. package/locales/{it.cjs → it.esm.js} +1 -5
  171. package/locales/it.global.js +1 -1
  172. package/locales/it.global.min.js +1 -1
  173. package/locales/it.js +5 -1
  174. package/locales/{ja.cjs → ja.esm.js} +1 -5
  175. package/locales/ja.global.js +1 -1
  176. package/locales/ja.global.min.js +1 -1
  177. package/locales/ja.js +5 -1
  178. package/locales/{ka.cjs → ka.esm.js} +1 -5
  179. package/locales/ka.global.js +1 -1
  180. package/locales/ka.global.min.js +1 -1
  181. package/locales/ka.js +5 -1
  182. package/locales/{kk.cjs → kk.esm.js} +1 -5
  183. package/locales/kk.global.js +1 -1
  184. package/locales/kk.global.min.js +1 -1
  185. package/locales/kk.js +5 -1
  186. package/locales/{km.cjs → km.esm.js} +1 -5
  187. package/locales/km.global.js +1 -1
  188. package/locales/km.global.min.js +1 -1
  189. package/locales/km.js +5 -1
  190. package/locales/{ko.cjs → ko.esm.js} +1 -5
  191. package/locales/ko.global.js +1 -1
  192. package/locales/ko.global.min.js +1 -1
  193. package/locales/ko.js +5 -1
  194. package/locales/{ku.cjs → ku.esm.js} +1 -5
  195. package/locales/ku.global.js +1 -1
  196. package/locales/ku.global.min.js +1 -1
  197. package/locales/ku.js +5 -1
  198. package/locales/{lb.cjs → lb.esm.js} +1 -5
  199. package/locales/lb.global.js +1 -1
  200. package/locales/lb.global.min.js +1 -1
  201. package/locales/lb.js +5 -1
  202. package/locales/{lt.cjs → lt.esm.js} +1 -5
  203. package/locales/lt.global.js +1 -1
  204. package/locales/lt.global.min.js +1 -1
  205. package/locales/lt.js +5 -1
  206. package/locales/{lv.cjs → lv.esm.js} +1 -5
  207. package/locales/lv.global.js +1 -1
  208. package/locales/lv.global.min.js +1 -1
  209. package/locales/lv.js +5 -1
  210. package/locales/{mk.cjs → mk.esm.js} +1 -5
  211. package/locales/mk.global.js +1 -1
  212. package/locales/mk.global.min.js +1 -1
  213. package/locales/mk.js +5 -1
  214. package/locales/{ms.cjs → ms.esm.js} +1 -5
  215. package/locales/ms.global.js +1 -1
  216. package/locales/ms.global.min.js +1 -1
  217. package/locales/ms.js +5 -1
  218. package/locales/{nb.cjs → nb.esm.js} +1 -5
  219. package/locales/nb.global.js +1 -1
  220. package/locales/nb.global.min.js +1 -1
  221. package/locales/nb.js +5 -1
  222. package/locales/{ne.cjs → ne.esm.js} +1 -5
  223. package/locales/ne.global.js +1 -1
  224. package/locales/ne.global.min.js +1 -1
  225. package/locales/ne.js +5 -1
  226. package/locales/{nl.cjs → nl.esm.js} +1 -5
  227. package/locales/nl.global.js +1 -1
  228. package/locales/nl.global.min.js +1 -1
  229. package/locales/nl.js +5 -1
  230. package/locales/{nn.cjs → nn.esm.js} +1 -5
  231. package/locales/nn.global.js +1 -1
  232. package/locales/nn.global.min.js +1 -1
  233. package/locales/nn.js +5 -1
  234. package/locales/{pl.cjs → pl.esm.js} +1 -5
  235. package/locales/pl.global.js +1 -1
  236. package/locales/pl.global.min.js +1 -1
  237. package/locales/pl.js +5 -1
  238. package/locales/{pt-br.cjs → pt-br.esm.js} +1 -5
  239. package/locales/pt-br.global.js +1 -1
  240. package/locales/pt-br.global.min.js +1 -1
  241. package/locales/pt-br.js +5 -1
  242. package/locales/{pt.cjs → pt.esm.js} +1 -5
  243. package/locales/pt.global.js +1 -1
  244. package/locales/pt.global.min.js +1 -1
  245. package/locales/pt.js +5 -1
  246. package/locales/{ro.cjs → ro.esm.js} +1 -5
  247. package/locales/ro.global.js +1 -1
  248. package/locales/ro.global.min.js +1 -1
  249. package/locales/ro.js +5 -1
  250. package/locales/{ru.cjs → ru.esm.js} +1 -5
  251. package/locales/ru.global.js +1 -1
  252. package/locales/ru.global.min.js +1 -1
  253. package/locales/ru.js +5 -1
  254. package/locales/{si-lk.cjs → si-lk.esm.js} +1 -5
  255. package/locales/si-lk.global.js +1 -1
  256. package/locales/si-lk.global.min.js +1 -1
  257. package/locales/si-lk.js +5 -1
  258. package/locales/{sk.cjs → sk.esm.js} +1 -5
  259. package/locales/sk.global.js +1 -1
  260. package/locales/sk.global.min.js +1 -1
  261. package/locales/sk.js +5 -1
  262. package/locales/{sl.cjs → sl.esm.js} +1 -5
  263. package/locales/sl.global.js +1 -1
  264. package/locales/sl.global.min.js +1 -1
  265. package/locales/sl.js +5 -1
  266. package/locales/{sm.cjs → sm.esm.js} +1 -5
  267. package/locales/sm.global.js +1 -1
  268. package/locales/sm.global.min.js +1 -1
  269. package/locales/sm.js +5 -1
  270. package/locales/{sq.cjs → sq.esm.js} +1 -5
  271. package/locales/sq.global.js +1 -1
  272. package/locales/sq.global.min.js +1 -1
  273. package/locales/sq.js +5 -1
  274. package/locales/{sr-cyrl.cjs → sr-cyrl.esm.js} +1 -5
  275. package/locales/sr-cyrl.global.js +1 -1
  276. package/locales/sr-cyrl.global.min.js +1 -1
  277. package/locales/sr-cyrl.js +5 -1
  278. package/locales/{sr.cjs → sr.esm.js} +1 -5
  279. package/locales/sr.global.js +1 -1
  280. package/locales/sr.global.min.js +1 -1
  281. package/locales/sr.js +5 -1
  282. package/locales/{sv.cjs → sv.esm.js} +1 -5
  283. package/locales/sv.global.js +1 -1
  284. package/locales/sv.global.min.js +1 -1
  285. package/locales/sv.js +5 -1
  286. package/locales/{ta-in.cjs → ta-in.esm.js} +1 -5
  287. package/locales/ta-in.global.js +1 -1
  288. package/locales/ta-in.global.min.js +1 -1
  289. package/locales/ta-in.js +5 -1
  290. package/locales/{th.cjs → th.esm.js} +1 -5
  291. package/locales/th.global.js +1 -1
  292. package/locales/th.global.min.js +1 -1
  293. package/locales/th.js +5 -1
  294. package/locales/{tr.cjs → tr.esm.js} +1 -5
  295. package/locales/tr.global.js +1 -1
  296. package/locales/tr.global.min.js +1 -1
  297. package/locales/tr.js +5 -1
  298. package/locales/{ug.cjs → ug.esm.js} +1 -5
  299. package/locales/ug.global.js +1 -1
  300. package/locales/ug.global.min.js +1 -1
  301. package/locales/ug.js +5 -1
  302. package/locales/{uk.cjs → uk.esm.js} +1 -5
  303. package/locales/uk.global.js +1 -1
  304. package/locales/uk.global.min.js +1 -1
  305. package/locales/uk.js +5 -1
  306. package/locales/{uz.cjs → uz.esm.js} +1 -5
  307. package/locales/uz.global.js +1 -1
  308. package/locales/uz.global.min.js +1 -1
  309. package/locales/uz.js +5 -1
  310. package/locales/{vi.cjs → vi.esm.js} +1 -5
  311. package/locales/vi.global.js +1 -1
  312. package/locales/vi.global.min.js +1 -1
  313. package/locales/vi.js +5 -1
  314. package/locales/{zh-cn.cjs → zh-cn.esm.js} +1 -5
  315. package/locales/zh-cn.global.js +1 -1
  316. package/locales/zh-cn.global.min.js +1 -1
  317. package/locales/zh-cn.js +5 -1
  318. package/locales/{zh-tw.cjs → zh-tw.esm.js} +1 -5
  319. package/locales/zh-tw.global.js +1 -1
  320. package/locales/zh-tw.global.min.js +1 -1
  321. package/locales/zh-tw.js +5 -1
  322. package/locales-all.esm.js +84 -0
  323. package/locales-all.global.js +1 -1
  324. package/locales-all.global.min.js +1 -1
  325. package/locales-all.js +84 -80
  326. package/package.json +13 -23
  327. package/preact.esm.js +3 -0
  328. package/preact.js +22 -3
  329. package/index.js.map +0 -1
  330. package/internal-common.js.map +0 -1
  331. package/internal.cjs +0 -196
  332. package/internal.js.map +0 -1
  333. package/locales/af.js.map +0 -1
  334. package/locales/ar-dz.js.map +0 -1
  335. package/locales/ar-kw.js.map +0 -1
  336. package/locales/ar-ly.js.map +0 -1
  337. package/locales/ar-ma.js.map +0 -1
  338. package/locales/ar-sa.js.map +0 -1
  339. package/locales/ar-tn.js.map +0 -1
  340. package/locales/ar.js.map +0 -1
  341. package/locales/az.js.map +0 -1
  342. package/locales/bg.js.map +0 -1
  343. package/locales/bn.js.map +0 -1
  344. package/locales/bs.js.map +0 -1
  345. package/locales/ca.js.map +0 -1
  346. package/locales/cs.js.map +0 -1
  347. package/locales/cy.js.map +0 -1
  348. package/locales/da.js.map +0 -1
  349. package/locales/de-at.js.map +0 -1
  350. package/locales/de.js.map +0 -1
  351. package/locales/el.js.map +0 -1
  352. package/locales/en-au.js.map +0 -1
  353. package/locales/en-gb.js.map +0 -1
  354. package/locales/en-nz.js.map +0 -1
  355. package/locales/eo.js.map +0 -1
  356. package/locales/es-us.js.map +0 -1
  357. package/locales/es.js.map +0 -1
  358. package/locales/et.js.map +0 -1
  359. package/locales/eu.js.map +0 -1
  360. package/locales/fa.js.map +0 -1
  361. package/locales/fi.js.map +0 -1
  362. package/locales/fr-ca.js.map +0 -1
  363. package/locales/fr-ch.js.map +0 -1
  364. package/locales/fr.js.map +0 -1
  365. package/locales/gl.js.map +0 -1
  366. package/locales/he.js.map +0 -1
  367. package/locales/hi.js.map +0 -1
  368. package/locales/hr.js.map +0 -1
  369. package/locales/hu.js.map +0 -1
  370. package/locales/hy-am.js.map +0 -1
  371. package/locales/id.js.map +0 -1
  372. package/locales/is.js.map +0 -1
  373. package/locales/it.js.map +0 -1
  374. package/locales/ja.js.map +0 -1
  375. package/locales/ka.js.map +0 -1
  376. package/locales/kk.js.map +0 -1
  377. package/locales/km.js.map +0 -1
  378. package/locales/ko.js.map +0 -1
  379. package/locales/ku.js.map +0 -1
  380. package/locales/lb.js.map +0 -1
  381. package/locales/lt.js.map +0 -1
  382. package/locales/lv.js.map +0 -1
  383. package/locales/mk.js.map +0 -1
  384. package/locales/ms.js.map +0 -1
  385. package/locales/nb.js.map +0 -1
  386. package/locales/ne.js.map +0 -1
  387. package/locales/nl.js.map +0 -1
  388. package/locales/nn.js.map +0 -1
  389. package/locales/pl.js.map +0 -1
  390. package/locales/pt-br.js.map +0 -1
  391. package/locales/pt.js.map +0 -1
  392. package/locales/ro.js.map +0 -1
  393. package/locales/ru.js.map +0 -1
  394. package/locales/si-lk.js.map +0 -1
  395. package/locales/sk.js.map +0 -1
  396. package/locales/sl.js.map +0 -1
  397. package/locales/sm.js.map +0 -1
  398. package/locales/sq.js.map +0 -1
  399. package/locales/sr-cyrl.js.map +0 -1
  400. package/locales/sr.js.map +0 -1
  401. package/locales/sv.js.map +0 -1
  402. package/locales/ta-in.js.map +0 -1
  403. package/locales/th.js.map +0 -1
  404. package/locales/tr.js.map +0 -1
  405. package/locales/ug.js.map +0 -1
  406. package/locales/uk.js.map +0 -1
  407. package/locales/uz.js.map +0 -1
  408. package/locales/vi.js.map +0 -1
  409. package/locales/zh-cn.js.map +0 -1
  410. package/locales/zh-tw.js.map +0 -1
  411. package/locales-all.cjs +0 -88
  412. package/locales-all.js.map +0 -1
  413. package/preact.cjs +0 -22
  414. package/preact.js.map +0 -1
package/index.js CHANGED
@@ -1,10 +1,13 @@
1
- import { i as injectStyles, m as mergeProps, g as guid, a as isArraysEqual, T as Theme, b as mapHash, V as ViewContextType, C as ContentContainer, c as buildViewClassNames, d as greatestDurationDenominator, e as createDuration, B as BASE_OPTION_DEFAULTS, f as arrayToHash, h as filterHash, j as buildEventSourceRefiners, p as parseEventSource, k as formatWithOrdinals, u as unpromisify, l as buildRangeApiWithTimeZone, n as identity, r as requestJson, s as subtractDurations, o as intersectRanges, q as startOfDay, t as addDays, v as hashValuesToArray, w as buildEventApis, D as DelayedRunner, x as createFormatter, y as diffWholeDays, z as memoize, A as memoizeObjArg, E as isPropsEqual, F as Emitter, G as getInitialDate, H as rangeContainsMarker, I as createEmptyEventStore, J as reduceCurrentDate, K as reduceEventStore, L as rezoneEventStoreDates, M as mergeRawOptions, N as BASE_OPTION_REFINERS, O as CALENDAR_LISTENER_REFINERS, P as CALENDAR_OPTION_REFINERS, Q as COMPLEX_OPTION_COMPARATORS, R as VIEW_OPTION_REFINERS, S as DateEnv, U as DateProfileGenerator, W as createEventUi, X as parseBusinessHours, Y as BaseComponent, Z as setRef, _ as Interaction, $ as getElSeg, a0 as elementClosest, a1 as EventImpl, a2 as listenBySelector, a3 as listenToHoverBySelector, a4 as PureComponent, a5 as buildViewContext, a6 as getUniqueDomId, a7 as parseInteractionSettings, a8 as interactionSettingsStore, a9 as getNow, aa as CalendarImpl, ab as flushSync, ac as CalendarRoot, ad as RenderId, ae as applyStyleProp, af as sliceEventStore } from './internal-common.js';
2
- export { ag as JsonRequestError } from './internal-common.js';
3
- import { createElement, createRef, Fragment, render } from 'preact';
4
- import 'preact/compat';
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var internalCommon = require('./internal-common.js');
6
+ var preact = require('preact');
7
+ require('preact/compat');
5
8
 
6
9
  var css_248z = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-unselectable{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;user-select:none}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button::-moz-focus-inner{border-style:none;padding:0}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
7
- injectStyles(css_248z);
10
+ internalCommon.injectStyles(css_248z);
8
11
 
9
12
  const globalLocales = [];
10
13
 
@@ -88,7 +91,7 @@ function queryRawLocale(codes, available) {
88
91
  return null;
89
92
  }
90
93
  function parseLocale(codeArg, codes, raw) {
91
- let merged = mergeProps([MINIMAL_RAW_EN_LOCALE, raw], ['buttonText']);
94
+ let merged = internalCommon.mergeProps([MINIMAL_RAW_EN_LOCALE, raw], ['buttonText']);
92
95
  delete merged.code; // don't want this part of the options
93
96
  let { week } = merged;
94
97
  delete merged.week;
@@ -104,7 +107,7 @@ function parseLocale(codeArg, codes, raw) {
104
107
  // TODO: easier way to add new hooks? need to update a million things
105
108
  function createPlugin(input) {
106
109
  return {
107
- id: guid(),
110
+ id: internalCommon.guid(),
108
111
  name: input.name,
109
112
  premiumReleaseDate: input.premiumReleaseDate ? new Date(input.premiumReleaseDate) : undefined,
110
113
  deps: input.deps || [],
@@ -205,7 +208,7 @@ function buildBuildPluginHooks() {
205
208
  let currentGlobalDefs = [];
206
209
  let currentHooks;
207
210
  return (overrideDefs, globalDefs) => {
208
- if (!currentHooks || !isArraysEqual(overrideDefs, currentOverrideDefs) || !isArraysEqual(globalDefs, currentGlobalDefs)) {
211
+ if (!currentHooks || !internalCommon.isArraysEqual(overrideDefs, currentOverrideDefs) || !internalCommon.isArraysEqual(globalDefs, currentGlobalDefs)) {
209
212
  currentHooks = buildPluginHooks(overrideDefs, globalDefs);
210
213
  }
211
214
  currentOverrideDefs = overrideDefs;
@@ -260,7 +263,7 @@ function compareOptionalDates(date0, date1) {
260
263
  return new Date(Math.max(date0.valueOf(), date1.valueOf()));
261
264
  }
262
265
 
263
- class StandardTheme extends Theme {
266
+ class StandardTheme extends internalCommon.Theme {
264
267
  }
265
268
  StandardTheme.prototype.classes = {
266
269
  root: 'fc-theme-standard',
@@ -337,7 +340,7 @@ function buildViewDef(viewType, hash, defaultConfigs, overrideConfigs) {
337
340
  }
338
341
 
339
342
  function parseViewConfigs(inputs) {
340
- return mapHash(inputs, parseViewConfig);
343
+ return internalCommon.mapHash(inputs, parseViewConfig);
341
344
  }
342
345
  function parseViewConfig(input) {
343
346
  let rawOptions = typeof input === 'function' ?
@@ -355,14 +358,14 @@ function parseViewConfig(input) {
355
358
  };
356
359
  }
357
360
  function createViewHookComponent(options) {
358
- return (viewProps) => (createElement(ViewContextType.Consumer, null, (context) => (createElement(ContentContainer, { elTag: "div", elClasses: buildViewClassNames(context.viewSpec), renderProps: Object.assign(Object.assign({}, viewProps), { nextDayThreshold: context.options.nextDayThreshold }), generatorName: undefined, generator: options.content, classNameGenerator: options.classNames, didMount: options.didMount, willUnmount: options.willUnmount }))));
361
+ return (viewProps) => (preact.createElement(internalCommon.ViewContextType.Consumer, null, (context) => (preact.createElement(internalCommon.ContentContainer, { elTag: "div", elClasses: internalCommon.buildViewClassNames(context.viewSpec), renderProps: Object.assign(Object.assign({}, viewProps), { nextDayThreshold: context.options.nextDayThreshold }), generatorName: undefined, generator: options.content, classNameGenerator: options.classNames, didMount: options.didMount, willUnmount: options.willUnmount }))));
359
362
  }
360
363
 
361
364
  function buildViewSpecs(defaultInputs, optionOverrides, dynamicOptionOverrides, localeDefaults) {
362
365
  let defaultConfigs = parseViewConfigs(defaultInputs);
363
366
  let overrideConfigs = parseViewConfigs(optionOverrides.views);
364
367
  let viewDefs = compileViewDefs(defaultConfigs, overrideConfigs);
365
- return mapHash(viewDefs, (viewDef) => buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionOverrides, localeDefaults));
368
+ return internalCommon.mapHash(viewDefs, (viewDef) => buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionOverrides, localeDefaults));
366
369
  }
367
370
  function buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionOverrides, localeDefaults) {
368
371
  let durationInput = viewDef.overrides.duration ||
@@ -376,7 +379,7 @@ function buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionO
376
379
  if (durationInput) {
377
380
  duration = createDurationCached(durationInput);
378
381
  if (duration) { // valid?
379
- let denom = greatestDurationDenominator(duration);
382
+ let denom = internalCommon.greatestDurationDenominator(duration);
380
383
  durationUnit = denom.unit;
381
384
  if (denom.value === 1) {
382
385
  singleUnit = durationUnit;
@@ -425,7 +428,7 @@ function buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionO
425
428
  viewDef.overrides.buttonText,
426
429
  buttonTextDefault: queryButtonText(localeDefaults) ||
427
430
  viewDef.defaults.buttonText ||
428
- queryButtonText(BASE_OPTION_DEFAULTS) ||
431
+ queryButtonText(internalCommon.BASE_OPTION_DEFAULTS) ||
429
432
  viewDef.type,
430
433
  // not DRY
431
434
  buttonTitleOverride: queryButtonTitle(dynamicOptionOverrides) ||
@@ -433,7 +436,7 @@ function buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionO
433
436
  viewDef.overrides.buttonHint,
434
437
  buttonTitleDefault: queryButtonTitle(localeDefaults) ||
435
438
  viewDef.defaults.buttonHint ||
436
- queryButtonTitle(BASE_OPTION_DEFAULTS),
439
+ queryButtonTitle(internalCommon.BASE_OPTION_DEFAULTS),
437
440
  // will eventually fall back to buttonText
438
441
  };
439
442
  }
@@ -443,7 +446,7 @@ function createDurationCached(durationInput) {
443
446
  let json = JSON.stringify(durationInput);
444
447
  let res = durationInputMap[json];
445
448
  if (res === undefined) {
446
- res = createDuration(durationInput);
449
+ res = internalCommon.createDuration(durationInput);
447
450
  durationInputMap[json] = res;
448
451
  }
449
452
  return res;
@@ -510,7 +513,7 @@ function reduceEventSources(eventSources, action, dateProfile, context) {
510
513
  return eventSources;
511
514
  case 'FETCH_EVENT_SOURCES':
512
515
  return fetchSourcesByIds(eventSources, action.sourceIds ? // why no type?
513
- arrayToHash(action.sourceIds) :
516
+ internalCommon.arrayToHash(action.sourceIds) :
514
517
  excludeStaticSources(eventSources, context), activeRange, action.isRefetch || false, context);
515
518
  case 'RECEIVE_EVENTS':
516
519
  case 'RECEIVE_EVENT_ERROR':
@@ -544,10 +547,10 @@ function addSources(eventSourceHash, sources, fetchRange, context) {
544
547
  return Object.assign(Object.assign({}, eventSourceHash), hash);
545
548
  }
546
549
  function removeSource(eventSourceHash, sourceId) {
547
- return filterHash(eventSourceHash, (eventSource) => eventSource.sourceId !== sourceId);
550
+ return internalCommon.filterHash(eventSourceHash, (eventSource) => eventSource.sourceId !== sourceId);
548
551
  }
549
552
  function fetchDirtySources(sourceHash, fetchRange, context) {
550
- return fetchSourcesByIds(sourceHash, filterHash(sourceHash, (eventSource) => isSourceDirty(eventSource, fetchRange, context)), fetchRange, false, context);
553
+ return fetchSourcesByIds(sourceHash, internalCommon.filterHash(sourceHash, (eventSource) => isSourceDirty(eventSource, fetchRange, context)), fetchRange, false, context);
551
554
  }
552
555
  function isSourceDirty(eventSource, fetchRange, context) {
553
556
  if (!doesSourceNeedRange(eventSource, context)) {
@@ -575,7 +578,7 @@ function fetchSourcesByIds(prevSources, sourceIdHash, fetchRange, isRefetch, con
575
578
  function fetchSource(eventSource, fetchRange, isRefetch, context) {
576
579
  let { options, calendarApi } = context;
577
580
  let sourceDef = context.pluginHooks.eventSourceDefs[eventSource.sourceDefId];
578
- let fetchId = guid();
581
+ let fetchId = internalCommon.guid();
579
582
  sourceDef.fetch({
580
583
  eventSource,
581
584
  range: fetchRange,
@@ -628,10 +631,10 @@ function receiveResponse(sourceHash, sourceId, fetchId, fetchRange) {
628
631
  return sourceHash;
629
632
  }
630
633
  function excludeStaticSources(eventSources, context) {
631
- return filterHash(eventSources, (eventSource) => doesSourceNeedRange(eventSource, context));
634
+ return internalCommon.filterHash(eventSources, (eventSource) => doesSourceNeedRange(eventSource, context));
632
635
  }
633
636
  function parseInitialSources(rawOptions, context) {
634
- let refiners = buildEventSourceRefiners(context);
637
+ let refiners = internalCommon.buildEventSourceRefiners(context);
635
638
  let rawSources = [].concat(rawOptions.eventSources || []);
636
639
  let sources = []; // parsed
637
640
  if (rawOptions.initialEvents) {
@@ -641,7 +644,7 @@ function parseInitialSources(rawOptions, context) {
641
644
  rawSources.unshift(rawOptions.events);
642
645
  }
643
646
  for (let rawSource of rawSources) {
644
- let source = parseEventSource(rawSource, context, refiners);
647
+ let source = internalCommon.parseEventSource(rawSource, context, refiners);
645
648
  if (source) {
646
649
  sources.push(source);
647
650
  }
@@ -775,7 +778,7 @@ theme, viewSpecs, calendarApi) {
775
778
  (buttonText = viewSpec.buttonTextDefault);
776
779
  let textFallback = viewSpec.buttonTextOverride ||
777
780
  viewSpec.buttonTextDefault;
778
- buttonHint = formatWithOrdinals(viewSpec.buttonTitleOverride ||
781
+ buttonHint = internalCommon.formatWithOrdinals(viewSpec.buttonTitleOverride ||
779
782
  viewSpec.buttonTitleDefault ||
780
783
  calendarOptions.viewHint, [textFallback, buttonName], // view-name = buttonName
781
784
  textFallback);
@@ -789,14 +792,14 @@ theme, viewSpecs, calendarApi) {
789
792
  (buttonText = calendarButtonText[buttonName]); // everything else is considered default
790
793
  if (buttonName === 'prevYear' || buttonName === 'nextYear') {
791
794
  let prevOrNext = buttonName === 'prevYear' ? 'prev' : 'next';
792
- buttonHint = formatWithOrdinals(calendarButtonHintOverrides[prevOrNext] ||
795
+ buttonHint = internalCommon.formatWithOrdinals(calendarButtonHintOverrides[prevOrNext] ||
793
796
  calendarButtonHints[prevOrNext], [
794
797
  calendarButtonText.year || 'year',
795
798
  'year',
796
799
  ], calendarButtonText[buttonName]);
797
800
  }
798
801
  else {
799
- buttonHint = (navUnit) => formatWithOrdinals(calendarButtonHintOverrides[buttonName] ||
802
+ buttonHint = (navUnit) => internalCommon.formatWithOrdinals(calendarButtonHintOverrides[buttonName] ||
800
803
  calendarButtonHints[buttonName], [
801
804
  calendarButtonText[navUnit] || navUnit,
802
805
  navUnit,
@@ -867,7 +870,7 @@ let eventSourceDef$1 = {
867
870
  fetch(arg, successCallback, errorCallback) {
868
871
  const { dateEnv } = arg.context;
869
872
  const func = arg.eventSource.meta;
870
- unpromisify(func.bind(null, buildRangeApiWithTimeZone(arg.range, dateEnv)), (rawEvents) => successCallback({ rawEvents }), errorCallback);
873
+ internalCommon.unpromisify(func.bind(null, internalCommon.buildRangeApiWithTimeZone(arg.range, dateEnv)), (rawEvents) => successCallback({ rawEvents }), errorCallback);
871
874
  },
872
875
  };
873
876
  const funcEventSourcePlugin = createPlugin({
@@ -877,7 +880,7 @@ const funcEventSourcePlugin = createPlugin({
877
880
 
878
881
  const JSON_FEED_EVENT_SOURCE_REFINERS = {
879
882
  method: String,
880
- extraParams: identity,
883
+ extraParams: internalCommon.identity,
881
884
  startParam: String,
882
885
  endParam: String,
883
886
  timeZoneParam: String,
@@ -901,7 +904,7 @@ let eventSourceDef = {
901
904
  fetch(arg, successCallback, errorCallback) {
902
905
  const { meta } = arg.eventSource;
903
906
  const requestParams = buildRequestParams(meta, arg.range, arg.context);
904
- requestJson(meta.method, meta.url, requestParams).then(([rawEvents, response]) => {
907
+ internalCommon.requestJson(meta.method, meta.url, requestParams).then(([rawEvents, response]) => {
905
908
  successCallback({ rawEvents, response });
906
909
  }, errorCallback);
907
910
  },
@@ -949,12 +952,12 @@ function buildRequestParams(meta, range, context) {
949
952
  }
950
953
 
951
954
  const SIMPLE_RECURRING_REFINERS = {
952
- daysOfWeek: identity,
953
- startTime: createDuration,
954
- endTime: createDuration,
955
- duration: createDuration,
956
- startRecur: identity,
957
- endRecur: identity,
955
+ daysOfWeek: internalCommon.identity,
956
+ startTime: internalCommon.createDuration,
957
+ endTime: internalCommon.createDuration,
958
+ duration: internalCommon.createDuration,
959
+ startRecur: internalCommon.identity,
960
+ endRecur: internalCommon.identity,
958
961
  };
959
962
 
960
963
  let recurring = {
@@ -972,7 +975,7 @@ let recurring = {
972
975
  duration = refined.duration;
973
976
  }
974
977
  if (!duration && refined.startTime && refined.endTime) {
975
- duration = subtractDurations(refined.endTime, refined.startTime);
978
+ duration = internalCommon.subtractDurations(refined.endTime, refined.startTime);
976
979
  }
977
980
  return {
978
981
  allDayGuess: Boolean(!refined.startTime && !refined.endTime),
@@ -983,7 +986,7 @@ let recurring = {
983
986
  return null;
984
987
  },
985
988
  expand(typeData, framingRange, dateEnv) {
986
- let clippedFramingRange = intersectRanges(framingRange, { start: typeData.startRecur, end: typeData.endRecur });
989
+ let clippedFramingRange = internalCommon.intersectRanges(framingRange, { start: typeData.startRecur, end: typeData.endRecur });
987
990
  if (clippedFramingRange) {
988
991
  return expandRanges(typeData.daysOfWeek, typeData.startTime, clippedFramingRange, dateEnv);
989
992
  }
@@ -996,8 +999,8 @@ const simpleRecurringEventsPlugin = createPlugin({
996
999
  eventRefiners: SIMPLE_RECURRING_REFINERS,
997
1000
  });
998
1001
  function expandRanges(daysOfWeek, startTime, framingRange, dateEnv) {
999
- let dowHash = daysOfWeek ? arrayToHash(daysOfWeek) : null;
1000
- let dayMarker = startOfDay(framingRange.start);
1002
+ let dowHash = daysOfWeek ? internalCommon.arrayToHash(daysOfWeek) : null;
1003
+ let dayMarker = internalCommon.startOfDay(framingRange.start);
1001
1004
  let endMarker = framingRange.end;
1002
1005
  let instanceStarts = [];
1003
1006
  while (dayMarker < endMarker) {
@@ -1012,7 +1015,7 @@ function expandRanges(daysOfWeek, startTime, framingRange, dateEnv) {
1012
1015
  }
1013
1016
  instanceStarts.push(instanceStart);
1014
1017
  }
1015
- dayMarker = addDays(dayMarker, 1);
1018
+ dayMarker = internalCommon.addDays(dayMarker, 1);
1016
1019
  }
1017
1020
  return instanceStarts;
1018
1021
  }
@@ -1030,7 +1033,7 @@ const changeHandlerPlugin = createPlugin({
1030
1033
  BUG: if `event` was supplied, all previously-given `eventSources` will be wiped out
1031
1034
  */
1032
1035
  function handleEventSources(inputs, context) {
1033
- let unfoundSources = hashValuesToArray(context.getCurrentData().eventSources);
1036
+ let unfoundSources = internalCommon.hashValuesToArray(context.getCurrentData().eventSources);
1034
1037
  let newInputs = [];
1035
1038
  for (let input of inputs) {
1036
1039
  let inputFound = false;
@@ -1057,13 +1060,13 @@ function handleEventSources(inputs, context) {
1057
1060
  }
1058
1061
 
1059
1062
  function handleDateProfile(dateProfile, context) {
1060
- context.emitter.trigger('datesSet', Object.assign(Object.assign({}, buildRangeApiWithTimeZone(dateProfile.activeRange, context.dateEnv)), { view: context.viewApi }));
1063
+ context.emitter.trigger('datesSet', Object.assign(Object.assign({}, internalCommon.buildRangeApiWithTimeZone(dateProfile.activeRange, context.dateEnv)), { view: context.viewApi }));
1061
1064
  }
1062
1065
 
1063
1066
  function handleEventStore(eventStore, context) {
1064
1067
  let { emitter } = context;
1065
1068
  if (emitter.hasHandlers('eventsSet')) {
1066
- emitter.trigger('eventsSet', buildEventApis(eventStore, context));
1069
+ emitter.trigger('eventsSet', internalCommon.buildEventApis(eventStore, context));
1067
1070
  }
1068
1071
  }
1069
1072
 
@@ -1094,7 +1097,7 @@ class TaskRunner {
1094
1097
  this.runTaskOption = runTaskOption;
1095
1098
  this.drainedOption = drainedOption;
1096
1099
  this.queue = [];
1097
- this.delayedRunner = new DelayedRunner(this.drain.bind(this));
1100
+ this.delayedRunner = new internalCommon.DelayedRunner(this.drain.bind(this));
1098
1101
  }
1099
1102
  request(task, delay) {
1100
1103
  this.queue.push(task);
@@ -1140,7 +1143,7 @@ function buildTitle(dateProfile, viewOptions, dateEnv) {
1140
1143
  else { // for day units or smaller, use the actual day range
1141
1144
  range = dateProfile.activeRange;
1142
1145
  }
1143
- return dateEnv.formatRange(range.start, range.end, createFormatter(viewOptions.titleFormat || buildTitleFormat(dateProfile)), {
1146
+ return dateEnv.formatRange(range.start, range.end, internalCommon.createFormatter(viewOptions.titleFormat || buildTitleFormat(dateProfile)), {
1144
1147
  isEndExclusive: dateProfile.isRangeAllDay,
1145
1148
  defaultSeparator: viewOptions.titleRangeSeparator,
1146
1149
  });
@@ -1155,7 +1158,7 @@ function buildTitleFormat(dateProfile) {
1155
1158
  if (currentRangeUnit === 'month') {
1156
1159
  return { year: 'numeric', month: 'long' }; // like "September 2014"
1157
1160
  }
1158
- let days = diffWholeDays(dateProfile.currentRange.start, dateProfile.currentRange.end);
1161
+ let days = internalCommon.diffWholeDays(dateProfile.currentRange.start, dateProfile.currentRange.end);
1159
1162
  if (days !== null && days > 1) {
1160
1163
  // multi-day range. shorter, like "Sep 9 - 10 2014"
1161
1164
  return { year: 'numeric', month: 'short', day: 'numeric' };
@@ -1168,23 +1171,23 @@ function buildTitleFormat(dateProfile) {
1168
1171
  // also, whatever is happening in constructor, have it happen in action queue too
1169
1172
  class CalendarDataManager {
1170
1173
  constructor(props) {
1171
- this.computeOptionsData = memoize(this._computeOptionsData);
1172
- this.computeCurrentViewData = memoize(this._computeCurrentViewData);
1173
- this.organizeRawLocales = memoize(organizeRawLocales);
1174
- this.buildLocale = memoize(buildLocale);
1174
+ this.computeOptionsData = internalCommon.memoize(this._computeOptionsData);
1175
+ this.computeCurrentViewData = internalCommon.memoize(this._computeCurrentViewData);
1176
+ this.organizeRawLocales = internalCommon.memoize(organizeRawLocales);
1177
+ this.buildLocale = internalCommon.memoize(buildLocale);
1175
1178
  this.buildPluginHooks = buildBuildPluginHooks();
1176
- this.buildDateEnv = memoize(buildDateEnv$1);
1177
- this.buildTheme = memoize(buildTheme);
1178
- this.parseToolbars = memoize(parseToolbars);
1179
- this.buildViewSpecs = memoize(buildViewSpecs);
1180
- this.buildDateProfileGenerator = memoizeObjArg(buildDateProfileGenerator);
1181
- this.buildViewApi = memoize(buildViewApi);
1182
- this.buildViewUiProps = memoizeObjArg(buildViewUiProps);
1183
- this.buildEventUiBySource = memoize(buildEventUiBySource, isPropsEqual);
1184
- this.buildEventUiBases = memoize(buildEventUiBases);
1185
- this.parseContextBusinessHours = memoizeObjArg(parseContextBusinessHours);
1186
- this.buildTitle = memoize(buildTitle);
1187
- this.emitter = new Emitter();
1179
+ this.buildDateEnv = internalCommon.memoize(buildDateEnv$1);
1180
+ this.buildTheme = internalCommon.memoize(buildTheme);
1181
+ this.parseToolbars = internalCommon.memoize(parseToolbars);
1182
+ this.buildViewSpecs = internalCommon.memoize(buildViewSpecs);
1183
+ this.buildDateProfileGenerator = internalCommon.memoizeObjArg(buildDateProfileGenerator);
1184
+ this.buildViewApi = internalCommon.memoize(buildViewApi);
1185
+ this.buildViewUiProps = internalCommon.memoizeObjArg(buildViewUiProps);
1186
+ this.buildEventUiBySource = internalCommon.memoize(buildEventUiBySource, internalCommon.isPropsEqual);
1187
+ this.buildEventUiBases = internalCommon.memoize(buildEventUiBases);
1188
+ this.parseContextBusinessHours = internalCommon.memoizeObjArg(parseContextBusinessHours);
1189
+ this.buildTitle = internalCommon.memoize(buildTitle);
1190
+ this.emitter = new internalCommon.Emitter();
1188
1191
  this.actionRunner = new TaskRunner(this._handleAction.bind(this), this.updateData.bind(this));
1189
1192
  this.currentCalendarOptionsInput = {};
1190
1193
  this.currentCalendarOptionsRefined = {};
@@ -1206,9 +1209,9 @@ class CalendarDataManager {
1206
1209
  props.calendarApi.currentDataManager = this;
1207
1210
  this.emitter.setThisContext(props.calendarApi);
1208
1211
  this.emitter.setOptions(currentViewData.options);
1209
- let currentDate = getInitialDate(optionsData.calendarOptions, optionsData.dateEnv);
1212
+ let currentDate = internalCommon.getInitialDate(optionsData.calendarOptions, optionsData.dateEnv);
1210
1213
  let dateProfile = currentViewData.dateProfileGenerator.build(currentDate);
1211
- if (!rangeContainsMarker(dateProfile.activeRange, currentDate)) {
1214
+ if (!internalCommon.rangeContainsMarker(dateProfile.activeRange, currentDate)) {
1212
1215
  currentDate = dateProfile.currentRange.start;
1213
1216
  }
1214
1217
  let calendarContext = {
@@ -1234,8 +1237,8 @@ class CalendarDataManager {
1234
1237
  businessHours: this.parseContextBusinessHours(calendarContext),
1235
1238
  eventSources,
1236
1239
  eventUiBases: {},
1237
- eventStore: createEmptyEventStore(),
1238
- renderableEventStore: createEmptyEventStore(),
1240
+ eventStore: internalCommon.createEmptyEventStore(),
1241
+ renderableEventStore: internalCommon.createEmptyEventStore(),
1239
1242
  dateSelection: null,
1240
1243
  eventSelection: '',
1241
1244
  eventDrag: null,
@@ -1285,15 +1288,15 @@ class CalendarDataManager {
1285
1288
  if (this.data && this.data.dateProfileGenerator !== currentViewData.dateProfileGenerator) { // hack
1286
1289
  dateProfile = currentViewData.dateProfileGenerator.build(currentDate);
1287
1290
  }
1288
- currentDate = reduceCurrentDate(currentDate, action);
1291
+ currentDate = internalCommon.reduceCurrentDate(currentDate, action);
1289
1292
  dateProfile = reduceDateProfile(dateProfile, action, currentDate, currentViewData.dateProfileGenerator);
1290
1293
  if (action.type === 'PREV' || // TODO: move this logic into DateProfileGenerator
1291
1294
  action.type === 'NEXT' || // "
1292
- !rangeContainsMarker(dateProfile.currentRange, currentDate)) {
1295
+ !internalCommon.rangeContainsMarker(dateProfile.currentRange, currentDate)) {
1293
1296
  currentDate = dateProfile.currentRange.start;
1294
1297
  }
1295
1298
  let eventSources = reduceEventSources(state.eventSources, action, dateProfile, calendarContext);
1296
- let eventStore = reduceEventStore(state.eventStore, action, eventSources, dateProfile, calendarContext);
1299
+ let eventStore = internalCommon.reduceEventStore(state.eventStore, action, eventSources, dateProfile, calendarContext);
1297
1300
  let isEventsLoading = computeEventSourcesLoading(eventSources); // BAD. also called in this func in computeIsLoading
1298
1301
  let renderableEventStore = (isEventsLoading && !currentViewData.options.progressiveEventRendering) ?
1299
1302
  (state.renderableEventStore || eventStore) : // try from previous state
@@ -1348,7 +1351,7 @@ class CalendarDataManager {
1348
1351
  if (oldCalendarOptions.timeZone !== newCalendarOptions.timeZone) {
1349
1352
  // hack
1350
1353
  state.eventSources = data.eventSources = reduceEventSourcesNewTimeZone(data.eventSources, state.dateProfile, data);
1351
- state.eventStore = data.eventStore = rezoneEventStoreDates(data.eventStore, oldData.dateEnv, data.dateEnv);
1354
+ state.eventStore = data.eventStore = internalCommon.rezoneEventStoreDates(data.eventStore, oldData.dateEnv, data.dateEnv);
1352
1355
  }
1353
1356
  for (let optionName in changeHandlers) {
1354
1357
  if (oldCalendarOptions[optionName] !== newCalendarOptions[optionName]) {
@@ -1381,8 +1384,8 @@ class CalendarDataManager {
1381
1384
  }
1382
1385
  // always called from behind a memoizer
1383
1386
  processRawCalendarOptions(optionOverrides, dynamicOptionOverrides) {
1384
- let { locales, locale } = mergeRawOptions([
1385
- BASE_OPTION_DEFAULTS,
1387
+ let { locales, locale } = internalCommon.mergeRawOptions([
1388
+ internalCommon.BASE_OPTION_DEFAULTS,
1386
1389
  optionOverrides,
1387
1390
  dynamicOptionOverrides,
1388
1391
  ]);
@@ -1390,10 +1393,10 @@ class CalendarDataManager {
1390
1393
  let availableRawLocales = availableLocaleData.map;
1391
1394
  let localeDefaults = this.buildLocale(locale || availableLocaleData.defaultCode, availableRawLocales).options;
1392
1395
  let pluginHooks = this.buildPluginHooks(optionOverrides.plugins || [], globalPlugins);
1393
- let refiners = this.currentCalendarOptionsRefiners = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, BASE_OPTION_REFINERS), CALENDAR_LISTENER_REFINERS), CALENDAR_OPTION_REFINERS), pluginHooks.listenerRefiners), pluginHooks.optionRefiners);
1396
+ let refiners = this.currentCalendarOptionsRefiners = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, internalCommon.BASE_OPTION_REFINERS), internalCommon.CALENDAR_LISTENER_REFINERS), internalCommon.CALENDAR_OPTION_REFINERS), pluginHooks.listenerRefiners), pluginHooks.optionRefiners);
1394
1397
  let extra = {};
1395
- let raw = mergeRawOptions([
1396
- BASE_OPTION_DEFAULTS,
1398
+ let raw = internalCommon.mergeRawOptions([
1399
+ internalCommon.BASE_OPTION_DEFAULTS,
1397
1400
  localeDefaults,
1398
1401
  optionOverrides,
1399
1402
  dynamicOptionOverrides,
@@ -1405,9 +1408,9 @@ class CalendarDataManager {
1405
1408
  for (let optionName in raw) {
1406
1409
  if (optionName !== 'plugins') { // because plugins is special-cased
1407
1410
  if (raw[optionName] === currentRaw[optionName] ||
1408
- (COMPLEX_OPTION_COMPARATORS[optionName] &&
1411
+ (internalCommon.COMPLEX_OPTION_COMPARATORS[optionName] &&
1409
1412
  (optionName in currentRaw) &&
1410
- COMPLEX_OPTION_COMPARATORS[optionName](currentRaw[optionName], raw[optionName]))) {
1413
+ internalCommon.COMPLEX_OPTION_COMPARATORS[optionName](currentRaw[optionName], raw[optionName]))) {
1411
1414
  refined[optionName] = currentRefined[optionName];
1412
1415
  }
1413
1416
  else if (refiners[optionName]) {
@@ -1464,15 +1467,15 @@ class CalendarDataManager {
1464
1467
  return { viewSpec, options: refinedOptions, dateProfileGenerator, viewApi };
1465
1468
  }
1466
1469
  processRawViewOptions(viewSpec, pluginHooks, localeDefaults, optionOverrides, dynamicOptionOverrides) {
1467
- let raw = mergeRawOptions([
1468
- BASE_OPTION_DEFAULTS,
1470
+ let raw = internalCommon.mergeRawOptions([
1471
+ internalCommon.BASE_OPTION_DEFAULTS,
1469
1472
  viewSpec.optionDefaults,
1470
1473
  localeDefaults,
1471
1474
  optionOverrides,
1472
1475
  viewSpec.optionOverrides,
1473
1476
  dynamicOptionOverrides,
1474
1477
  ]);
1475
- let refiners = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, BASE_OPTION_REFINERS), CALENDAR_LISTENER_REFINERS), CALENDAR_OPTION_REFINERS), VIEW_OPTION_REFINERS), pluginHooks.listenerRefiners), pluginHooks.optionRefiners);
1478
+ let refiners = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, internalCommon.BASE_OPTION_REFINERS), internalCommon.CALENDAR_LISTENER_REFINERS), internalCommon.CALENDAR_OPTION_REFINERS), internalCommon.VIEW_OPTION_REFINERS), pluginHooks.listenerRefiners), pluginHooks.optionRefiners);
1476
1479
  let refined = {};
1477
1480
  let currentRaw = this.currentViewOptionsInput;
1478
1481
  let currentRefined = this.currentViewOptionsRefined;
@@ -1480,14 +1483,14 @@ class CalendarDataManager {
1480
1483
  let extra = {};
1481
1484
  for (let optionName in raw) {
1482
1485
  if (raw[optionName] === currentRaw[optionName] ||
1483
- (COMPLEX_OPTION_COMPARATORS[optionName] &&
1484
- COMPLEX_OPTION_COMPARATORS[optionName](raw[optionName], currentRaw[optionName]))) {
1486
+ (internalCommon.COMPLEX_OPTION_COMPARATORS[optionName] &&
1487
+ internalCommon.COMPLEX_OPTION_COMPARATORS[optionName](raw[optionName], currentRaw[optionName]))) {
1485
1488
  refined[optionName] = currentRefined[optionName];
1486
1489
  }
1487
1490
  else {
1488
1491
  if (raw[optionName] === this.currentCalendarOptionsInput[optionName] ||
1489
- (COMPLEX_OPTION_COMPARATORS[optionName] &&
1490
- COMPLEX_OPTION_COMPARATORS[optionName](raw[optionName], this.currentCalendarOptionsInput[optionName]))) {
1492
+ (internalCommon.COMPLEX_OPTION_COMPARATORS[optionName] &&
1493
+ internalCommon.COMPLEX_OPTION_COMPARATORS[optionName](raw[optionName], this.currentCalendarOptionsInput[optionName]))) {
1491
1494
  if (optionName in this.currentCalendarOptionsRefined) { // might be an "extra" prop
1492
1495
  refined[optionName] = this.currentCalendarOptionsRefined[optionName];
1493
1496
  }
@@ -1514,7 +1517,7 @@ class CalendarDataManager {
1514
1517
  }
1515
1518
  function buildDateEnv$1(timeZone, explicitLocale, weekNumberCalculation, firstDay, weekText, pluginHooks, availableLocaleData, defaultSeparator) {
1516
1519
  let locale = buildLocale(explicitLocale || availableLocaleData.defaultCode, availableLocaleData.map);
1517
- return new DateEnv({
1520
+ return new internalCommon.DateEnv({
1518
1521
  calendarSystem: 'gregory',
1519
1522
  timeZone,
1520
1523
  namedTimeZoneImpl: pluginHooks.namedTimeZonedImpl,
@@ -1531,14 +1534,14 @@ function buildTheme(options, pluginHooks) {
1531
1534
  return new ThemeClass(options);
1532
1535
  }
1533
1536
  function buildDateProfileGenerator(props) {
1534
- let DateProfileGeneratorClass = props.dateProfileGeneratorClass || DateProfileGenerator;
1537
+ let DateProfileGeneratorClass = props.dateProfileGeneratorClass || internalCommon.DateProfileGenerator;
1535
1538
  return new DateProfileGeneratorClass(props);
1536
1539
  }
1537
1540
  function buildViewApi(type, getCurrentData, dateEnv) {
1538
1541
  return new ViewImpl(type, getCurrentData, dateEnv);
1539
1542
  }
1540
1543
  function buildEventUiBySource(eventSources) {
1541
- return mapHash(eventSources, (eventSource) => eventSource.ui);
1544
+ return internalCommon.mapHash(eventSources, (eventSource) => eventSource.ui);
1542
1545
  }
1543
1546
  function buildEventUiBases(eventDefs, eventUiSingleBase, eventUiBySource) {
1544
1547
  let eventUiBases = { '': eventUiSingleBase };
@@ -1553,7 +1556,7 @@ function buildEventUiBases(eventDefs, eventUiSingleBase, eventUiBySource) {
1553
1556
  function buildViewUiProps(calendarContext) {
1554
1557
  let { options } = calendarContext;
1555
1558
  return {
1556
- eventUiSingleBase: createEventUi({
1559
+ eventUiSingleBase: internalCommon.createEventUi({
1557
1560
  display: options.eventDisplay,
1558
1561
  editable: options.editable,
1559
1562
  startEditable: options.eventStartEditable,
@@ -1567,7 +1570,7 @@ function buildViewUiProps(calendarContext) {
1567
1570
  color: options.eventColor,
1568
1571
  // classNames: options.eventClassNames // render hook will handle this
1569
1572
  }, calendarContext),
1570
- selectionConfig: createEventUi({
1573
+ selectionConfig: internalCommon.createEventUi({
1571
1574
  constraint: options.selectConstraint,
1572
1575
  overlap: typeof options.selectOverlap === 'boolean' ? options.selectOverlap : undefined,
1573
1576
  allow: options.selectAllow,
@@ -1583,7 +1586,7 @@ function computeIsLoading(state, context) {
1583
1586
  return false;
1584
1587
  }
1585
1588
  function parseContextBusinessHours(calendarContext) {
1586
- return parseBusinessHours(calendarContext.options.businessHours, calendarContext);
1589
+ return internalCommon.parseBusinessHours(calendarContext.options.businessHours, calendarContext);
1587
1590
  }
1588
1591
  function warnUnknownOptions(options, viewName) {
1589
1592
  for (let optionName in options) {
@@ -1592,10 +1595,10 @@ function warnUnknownOptions(options, viewName) {
1592
1595
  }
1593
1596
  }
1594
1597
 
1595
- class ToolbarSection extends BaseComponent {
1598
+ class ToolbarSection extends internalCommon.BaseComponent {
1596
1599
  render() {
1597
1600
  let children = this.props.widgetGroups.map((widgetGroup) => this.renderWidgetGroup(widgetGroup));
1598
- return createElement('div', { className: 'fc-toolbar-chunk' }, ...children);
1601
+ return preact.createElement('div', { className: 'fc-toolbar-chunk' }, ...children);
1599
1602
  }
1600
1603
  renderWidgetGroup(widgetGroup) {
1601
1604
  let { props } = this;
@@ -1606,7 +1609,7 @@ class ToolbarSection extends BaseComponent {
1606
1609
  let { buttonName, buttonClick, buttonText, buttonIcon, buttonHint } = widget;
1607
1610
  if (buttonName === 'title') {
1608
1611
  isOnlyButtons = false;
1609
- children.push(createElement("h2", { className: "fc-toolbar-title", id: props.titleId }, props.title));
1612
+ children.push(preact.createElement("h2", { className: "fc-toolbar-title", id: props.titleId }, props.title));
1610
1613
  }
1611
1614
  else {
1612
1615
  let isPressed = buttonName === props.activeButton;
@@ -1617,18 +1620,18 @@ class ToolbarSection extends BaseComponent {
1617
1620
  if (isPressed) {
1618
1621
  buttonClasses.push(theme.getClass('buttonActive'));
1619
1622
  }
1620
- children.push(createElement("button", { type: "button", title: typeof buttonHint === 'function' ? buttonHint(props.navUnit) : buttonHint, disabled: isDisabled, "aria-pressed": isPressed, className: buttonClasses.join(' '), onClick: buttonClick }, buttonText || (buttonIcon ? createElement("span", { className: buttonIcon }) : '')));
1623
+ children.push(preact.createElement("button", { type: "button", title: typeof buttonHint === 'function' ? buttonHint(props.navUnit) : buttonHint, disabled: isDisabled, "aria-pressed": isPressed, className: buttonClasses.join(' '), onClick: buttonClick }, buttonText || (buttonIcon ? preact.createElement("span", { className: buttonIcon }) : '')));
1621
1624
  }
1622
1625
  }
1623
1626
  if (children.length > 1) {
1624
1627
  let groupClassName = (isOnlyButtons && theme.getClass('buttonGroup')) || '';
1625
- return createElement('div', { className: groupClassName }, ...children);
1628
+ return preact.createElement('div', { className: groupClassName }, ...children);
1626
1629
  }
1627
1630
  return children[0];
1628
1631
  }
1629
1632
  }
1630
1633
 
1631
- class Toolbar extends BaseComponent {
1634
+ class Toolbar extends internalCommon.BaseComponent {
1632
1635
  render() {
1633
1636
  let { model, extraClassName } = this.props;
1634
1637
  let forceLtr = false;
@@ -1655,19 +1658,19 @@ class Toolbar extends BaseComponent {
1655
1658
  'fc-toolbar',
1656
1659
  forceLtr ? 'fc-toolbar-ltr' : '',
1657
1660
  ];
1658
- return (createElement("div", { className: classNames.join(' ') },
1661
+ return (preact.createElement("div", { className: classNames.join(' ') },
1659
1662
  this.renderSection('start', startContent || []),
1660
1663
  this.renderSection('center', centerContent || []),
1661
1664
  this.renderSection('end', endContent || [])));
1662
1665
  }
1663
1666
  renderSection(key, widgetGroups) {
1664
1667
  let { props } = this;
1665
- return (createElement(ToolbarSection, { key: key, widgetGroups: widgetGroups, title: props.title, navUnit: props.navUnit, activeButton: props.activeButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled, titleId: props.titleId }));
1668
+ return (preact.createElement(ToolbarSection, { key: key, widgetGroups: widgetGroups, title: props.title, navUnit: props.navUnit, activeButton: props.activeButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled, titleId: props.titleId }));
1666
1669
  }
1667
1670
  }
1668
1671
 
1669
1672
  // TODO: do function component?
1670
- class ViewContainer extends BaseComponent {
1673
+ class ViewContainer extends internalCommon.BaseComponent {
1671
1674
  constructor() {
1672
1675
  super(...arguments);
1673
1676
  this.state = {
@@ -1675,7 +1678,7 @@ class ViewContainer extends BaseComponent {
1675
1678
  };
1676
1679
  this.handleEl = (el) => {
1677
1680
  this.el = el;
1678
- setRef(this.props.elRef, el);
1681
+ internalCommon.setRef(this.props.elRef, el);
1679
1682
  this.updateAvailableWidth();
1680
1683
  };
1681
1684
  this.handleResize = () => {
@@ -1708,7 +1711,7 @@ class ViewContainer extends BaseComponent {
1708
1711
  else {
1709
1712
  height = props.height || '';
1710
1713
  }
1711
- return (createElement("div", { "aria-labelledby": props.labeledById, ref: this.handleEl, className: classNames.join(' '), style: { height, paddingBottom } }, props.children));
1714
+ return (preact.createElement("div", { "aria-labelledby": props.labeledById, ref: this.handleEl, className: classNames.join(' '), style: { height, paddingBottom } }, props.children));
1712
1715
  }
1713
1716
  componentDidMount() {
1714
1717
  this.context.addResizeHandler(this.handleResize);
@@ -1728,22 +1731,22 @@ class ViewContainer extends BaseComponent {
1728
1731
  /*
1729
1732
  Detects when the user clicks on an event within a DateComponent
1730
1733
  */
1731
- class EventClicking extends Interaction {
1734
+ class EventClicking extends internalCommon.Interaction {
1732
1735
  constructor(settings) {
1733
1736
  super(settings);
1734
1737
  this.handleSegClick = (ev, segEl) => {
1735
1738
  let { component } = this;
1736
1739
  let { context } = component;
1737
- let seg = getElSeg(segEl);
1740
+ let seg = internalCommon.getElSeg(segEl);
1738
1741
  if (seg && // might be the <div> surrounding the more link
1739
1742
  component.isValidSegDownEl(ev.target)) {
1740
1743
  // our way to simulate a link click for elements that can't be <a> tags
1741
1744
  // grab before trigger fired in case trigger trashes DOM thru rerendering
1742
- let hasUrlContainer = elementClosest(ev.target, '.fc-event-forced-url');
1745
+ let hasUrlContainer = internalCommon.elementClosest(ev.target, '.fc-event-forced-url');
1743
1746
  let url = hasUrlContainer ? hasUrlContainer.querySelector('a[href]').href : '';
1744
1747
  context.emitter.trigger('eventClick', {
1745
1748
  el: segEl,
1746
- event: new EventImpl(component.context, seg.eventRange.def, seg.eventRange.instance),
1749
+ event: new internalCommon.EventImpl(component.context, seg.eventRange.def, seg.eventRange.instance),
1747
1750
  jsEvent: ev,
1748
1751
  view: context.viewApi,
1749
1752
  });
@@ -1752,7 +1755,7 @@ class EventClicking extends Interaction {
1752
1755
  }
1753
1756
  }
1754
1757
  };
1755
- this.destroy = listenBySelector(settings.el, 'click', '.fc-event', // on both fg and bg events
1758
+ this.destroy = internalCommon.listenBySelector(settings.el, 'click', '.fc-event', // on both fg and bg events
1756
1759
  this.handleSegClick);
1757
1760
  }
1758
1761
  }
@@ -1761,7 +1764,7 @@ class EventClicking extends Interaction {
1761
1764
  Triggers events and adds/removes core classNames when the user's pointer
1762
1765
  enters/leaves event-elements of a component.
1763
1766
  */
1764
- class EventHovering extends Interaction {
1767
+ class EventHovering extends internalCommon.Interaction {
1765
1768
  constructor(settings) {
1766
1769
  super(settings);
1767
1770
  // for simulating an eventMouseLeave when the event el is destroyed while mouse is over it
@@ -1771,7 +1774,7 @@ class EventHovering extends Interaction {
1771
1774
  }
1772
1775
  };
1773
1776
  this.handleSegEnter = (ev, segEl) => {
1774
- if (getElSeg(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper
1777
+ if (internalCommon.getElSeg(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper
1775
1778
  this.currentSegEl = segEl;
1776
1779
  this.triggerEvent('eventMouseEnter', ev, segEl);
1777
1780
  }
@@ -1782,7 +1785,7 @@ class EventHovering extends Interaction {
1782
1785
  this.triggerEvent('eventMouseLeave', ev, segEl);
1783
1786
  }
1784
1787
  };
1785
- this.removeHoverListeners = listenToHoverBySelector(settings.el, '.fc-event', // on both fg and bg events
1788
+ this.removeHoverListeners = internalCommon.listenToHoverBySelector(settings.el, '.fc-event', // on both fg and bg events
1786
1789
  this.handleSegEnter, this.handleSegLeave);
1787
1790
  }
1788
1791
  destroy() {
@@ -1791,11 +1794,11 @@ class EventHovering extends Interaction {
1791
1794
  triggerEvent(publicEvName, ev, segEl) {
1792
1795
  let { component } = this;
1793
1796
  let { context } = component;
1794
- let seg = getElSeg(segEl);
1797
+ let seg = internalCommon.getElSeg(segEl);
1795
1798
  if (!ev || component.isValidSegDownEl(ev.target)) {
1796
1799
  context.emitter.trigger(publicEvName, {
1797
1800
  el: segEl,
1798
- event: new EventImpl(context, seg.eventRange.def, seg.eventRange.instance),
1801
+ event: new internalCommon.EventImpl(context, seg.eventRange.def, seg.eventRange.instance),
1799
1802
  jsEvent: ev,
1800
1803
  view: context.viewApi,
1801
1804
  });
@@ -1803,23 +1806,23 @@ class EventHovering extends Interaction {
1803
1806
  }
1804
1807
  }
1805
1808
 
1806
- class CalendarContent extends PureComponent {
1809
+ class CalendarContent extends internalCommon.PureComponent {
1807
1810
  constructor() {
1808
1811
  super(...arguments);
1809
- this.buildViewContext = memoize(buildViewContext);
1810
- this.buildViewPropTransformers = memoize(buildViewPropTransformers);
1811
- this.buildToolbarProps = memoize(buildToolbarProps);
1812
- this.headerRef = createRef();
1813
- this.footerRef = createRef();
1812
+ this.buildViewContext = internalCommon.memoize(internalCommon.buildViewContext);
1813
+ this.buildViewPropTransformers = internalCommon.memoize(buildViewPropTransformers);
1814
+ this.buildToolbarProps = internalCommon.memoize(buildToolbarProps);
1815
+ this.headerRef = preact.createRef();
1816
+ this.footerRef = preact.createRef();
1814
1817
  this.interactionsStore = {};
1815
1818
  // eslint-disable-next-line
1816
1819
  this.state = {
1817
- viewLabelId: getUniqueDomId(),
1820
+ viewLabelId: internalCommon.getUniqueDomId(),
1818
1821
  };
1819
1822
  // Component Registration
1820
1823
  // -----------------------------------------------------------------------------------------------------------------
1821
1824
  this.registerInteractiveComponent = (component, settingsInput) => {
1822
- let settings = parseInteractionSettings(component, settingsInput);
1825
+ let settings = internalCommon.parseInteractionSettings(component, settingsInput);
1823
1826
  let DEFAULT_INTERACTIONS = [
1824
1827
  EventClicking,
1825
1828
  EventHovering,
@@ -1827,7 +1830,7 @@ class CalendarContent extends PureComponent {
1827
1830
  let interactionClasses = DEFAULT_INTERACTIONS.concat(this.props.pluginHooks.componentInteractions);
1828
1831
  let interactions = interactionClasses.map((TheInteractionClass) => new TheInteractionClass(settings));
1829
1832
  this.interactionsStore[component.uid] = interactions;
1830
- interactionSettingsStore[component.uid] = settings;
1833
+ internalCommon.interactionSettingsStore[component.uid] = settings;
1831
1834
  };
1832
1835
  this.unregisterInteractiveComponent = (component) => {
1833
1836
  let listeners = this.interactionsStore[component.uid];
@@ -1837,11 +1840,11 @@ class CalendarContent extends PureComponent {
1837
1840
  }
1838
1841
  delete this.interactionsStore[component.uid];
1839
1842
  }
1840
- delete interactionSettingsStore[component.uid];
1843
+ delete internalCommon.interactionSettingsStore[component.uid];
1841
1844
  };
1842
1845
  // Resizing
1843
1846
  // -----------------------------------------------------------------------------------------------------------------
1844
- this.resizeRunner = new DelayedRunner(() => {
1847
+ this.resizeRunner = new internalCommon.DelayedRunner(() => {
1845
1848
  this.props.emitter.trigger('_resize', true); // should window resizes be considered "forced" ?
1846
1849
  this.props.emitter.trigger('windowResize', { view: this.props.viewApi });
1847
1850
  });
@@ -1860,7 +1863,7 @@ class CalendarContent extends PureComponent {
1860
1863
  render() {
1861
1864
  let { props } = this;
1862
1865
  let { toolbarConfig, options } = props;
1863
- let toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, getNow(props.options.now, props.dateEnv), // TODO: use NowTimer????
1866
+ let toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, internalCommon.getNow(props.options.now, props.dateEnv), // TODO: use NowTimer????
1864
1867
  props.viewTitle);
1865
1868
  let viewVGrow = false;
1866
1869
  let viewHeight = '';
@@ -1881,12 +1884,12 @@ class CalendarContent extends PureComponent {
1881
1884
  let viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle)
1882
1885
  ? this.state.viewLabelId
1883
1886
  : '';
1884
- return (createElement(ViewContextType.Provider, { value: viewContext },
1885
- toolbarConfig.header && (createElement(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),
1886
- createElement(ViewContainer, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },
1887
+ return (preact.createElement(internalCommon.ViewContextType.Provider, { value: viewContext },
1888
+ toolbarConfig.header && (preact.createElement(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),
1889
+ preact.createElement(ViewContainer, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },
1887
1890
  this.renderView(props),
1888
1891
  this.buildAppendContent()),
1889
- toolbarConfig.footer && (createElement(Toolbar, Object.assign({ ref: this.footerRef, extraClassName: "fc-footer-toolbar", model: toolbarConfig.footer, titleId: "" }, toolbarProps)))));
1892
+ toolbarConfig.footer && (preact.createElement(Toolbar, Object.assign({ ref: this.footerRef, extraClassName: "fc-footer-toolbar", model: toolbarConfig.footer, titleId: "" }, toolbarProps)))));
1890
1893
  }
1891
1894
  componentDidMount() {
1892
1895
  let { props } = this;
@@ -1918,7 +1921,7 @@ class CalendarContent extends PureComponent {
1918
1921
  buildAppendContent() {
1919
1922
  let { props } = this;
1920
1923
  let children = props.pluginHooks.viewContainerAppends.map((buildAppendContent) => buildAppendContent(props));
1921
- return createElement(Fragment, {}, ...children);
1924
+ return preact.createElement(preact.Fragment, {}, ...children);
1922
1925
  }
1923
1926
  renderView(props) {
1924
1927
  let { pluginHooks } = props;
@@ -1940,7 +1943,7 @@ class CalendarContent extends PureComponent {
1940
1943
  Object.assign(viewProps, transformer.transform(viewProps, props));
1941
1944
  }
1942
1945
  let ViewComponent = viewSpec.component;
1943
- return (createElement(ViewComponent, Object.assign({}, viewProps)));
1946
+ return (preact.createElement(ViewComponent, Object.assign({}, viewProps)));
1944
1947
  }
1945
1948
  }
1946
1949
  function buildToolbarProps(viewSpec, dateProfile, dateProfileGenerator, currentDate, now, title) {
@@ -1952,7 +1955,7 @@ function buildToolbarProps(viewSpec, dateProfile, dateProfileGenerator, currentD
1952
1955
  title,
1953
1956
  activeButton: viewSpec.type,
1954
1957
  navUnit: viewSpec.singleUnit,
1955
- isTodayEnabled: todayInfo.isValid && !rangeContainsMarker(dateProfile.currentRange, now),
1958
+ isTodayEnabled: todayInfo.isValid && !internalCommon.rangeContainsMarker(dateProfile.currentRange, now),
1956
1959
  isPrevEnabled: prevInfo.isValid,
1957
1960
  isNextEnabled: nextInfo.isValid,
1958
1961
  };
@@ -1963,7 +1966,7 @@ function buildViewPropTransformers(theClasses) {
1963
1966
  return theClasses.map((TheClass) => new TheClass());
1964
1967
  }
1965
1968
 
1966
- class Calendar extends CalendarImpl {
1969
+ class Calendar extends internalCommon.CalendarImpl {
1967
1970
  constructor(el, optionOverrides = {}) {
1968
1971
  super();
1969
1972
  this.isRendering = false;
@@ -1986,24 +1989,24 @@ class Calendar extends CalendarImpl {
1986
1989
  if (this.isRendering) {
1987
1990
  this.isRendered = true;
1988
1991
  let { currentData } = this;
1989
- flushSync(() => {
1990
- render(createElement(CalendarRoot, { options: currentData.calendarOptions, theme: currentData.theme, emitter: currentData.emitter }, (classNames, height, isHeightAuto, forPrint) => {
1992
+ internalCommon.flushSync(() => {
1993
+ preact.render(preact.createElement(internalCommon.CalendarRoot, { options: currentData.calendarOptions, theme: currentData.theme, emitter: currentData.emitter }, (classNames, height, isHeightAuto, forPrint) => {
1991
1994
  this.setClassNames(classNames);
1992
1995
  this.setHeight(height);
1993
- return (createElement(RenderId.Provider, { value: this.customContentRenderId },
1994
- createElement(CalendarContent, Object.assign({ isHeightAuto: isHeightAuto, forPrint: forPrint }, currentData))));
1996
+ return (preact.createElement(internalCommon.RenderId.Provider, { value: this.customContentRenderId },
1997
+ preact.createElement(CalendarContent, Object.assign({ isHeightAuto: isHeightAuto, forPrint: forPrint }, currentData))));
1995
1998
  }), this.el);
1996
1999
  });
1997
2000
  }
1998
2001
  else if (this.isRendered) {
1999
2002
  this.isRendered = false;
2000
- render(null, this.el);
2003
+ preact.render(null, this.el);
2001
2004
  this.setClassNames([]);
2002
2005
  this.setHeight('');
2003
2006
  }
2004
2007
  };
2005
2008
  this.el = el;
2006
- this.renderRunner = new DelayedRunner(this.handleRenderRequest);
2009
+ this.renderRunner = new internalCommon.DelayedRunner(this.handleRenderRequest);
2007
2010
  new CalendarDataManager({
2008
2011
  optionOverrides,
2009
2012
  calendarApi: this,
@@ -2031,7 +2034,7 @@ class Calendar extends CalendarImpl {
2031
2034
  }
2032
2035
  }
2033
2036
  updateSize() {
2034
- flushSync(() => {
2037
+ internalCommon.flushSync(() => {
2035
2038
  super.updateSize();
2036
2039
  });
2037
2040
  }
@@ -2050,7 +2053,7 @@ class Calendar extends CalendarImpl {
2050
2053
  this.currentDataManager.resetOptions(optionOverrides, append);
2051
2054
  }
2052
2055
  setClassNames(classNames) {
2053
- if (!isArraysEqual(classNames, this.currentClassNames)) {
2056
+ if (!internalCommon.isArraysEqual(classNames, this.currentClassNames)) {
2054
2057
  let { classList } = this.el;
2055
2058
  for (let className of this.currentClassNames) {
2056
2059
  classList.remove(className);
@@ -2062,13 +2065,13 @@ class Calendar extends CalendarImpl {
2062
2065
  }
2063
2066
  }
2064
2067
  setHeight(height) {
2065
- applyStyleProp(this.el, 'height', height);
2068
+ internalCommon.applyStyleProp(this.el, 'height', height);
2066
2069
  }
2067
2070
  }
2068
2071
 
2069
2072
  function formatDate(dateInput, options = {}) {
2070
2073
  let dateEnv = buildDateEnv(options);
2071
- let formatter = createFormatter(options);
2074
+ let formatter = internalCommon.createFormatter(options);
2072
2075
  let dateMeta = dateEnv.createMarkerMeta(dateInput);
2073
2076
  if (!dateMeta) { // TODO: warning?
2074
2077
  return '';
@@ -2079,7 +2082,7 @@ function formatDate(dateInput, options = {}) {
2079
2082
  }
2080
2083
  function formatRange(startInput, endInput, options) {
2081
2084
  let dateEnv = buildDateEnv(typeof options === 'object' && options ? options : {}); // pass in if non-null object
2082
- let formatter = createFormatter(options);
2085
+ let formatter = internalCommon.createFormatter(options);
2083
2086
  let startMeta = dateEnv.createMarkerMeta(startInput);
2084
2087
  let endMeta = dateEnv.createMarkerMeta(endInput);
2085
2088
  if (!startMeta || !endMeta) { // TODO: warning?
@@ -2089,13 +2092,13 @@ function formatRange(startInput, endInput, options) {
2089
2092
  forcedStartTzo: startMeta.forcedTzo,
2090
2093
  forcedEndTzo: endMeta.forcedTzo,
2091
2094
  isEndExclusive: options.isEndExclusive,
2092
- defaultSeparator: BASE_OPTION_DEFAULTS.defaultRangeSeparator,
2095
+ defaultSeparator: internalCommon.BASE_OPTION_DEFAULTS.defaultRangeSeparator,
2093
2096
  });
2094
2097
  }
2095
2098
  // TODO: more DRY and optimized
2096
2099
  function buildDateEnv(settings) {
2097
2100
  let locale = buildLocale(settings.locale || 'en', organizeRawLocales([]).map); // TODO: don't hardcode 'en' everywhere
2098
- return new DateEnv(Object.assign(Object.assign({ timeZone: BASE_OPTION_DEFAULTS.timeZone, calendarSystem: 'gregory' }, settings), { locale }));
2101
+ return new internalCommon.DateEnv(Object.assign(Object.assign({ timeZone: internalCommon.BASE_OPTION_DEFAULTS.timeZone, calendarSystem: 'gregory' }, settings), { locale }));
2099
2102
  }
2100
2103
 
2101
2104
  // HELPERS
@@ -2104,9 +2107,17 @@ if nextDayThreshold is specified, slicing is done in an all-day fashion.
2104
2107
  you can get nextDayThreshold from context.nextDayThreshold
2105
2108
  */
2106
2109
  function sliceEvents(props, allDay) {
2107
- return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
2110
+ return internalCommon.sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
2108
2111
  }
2109
2112
 
2110
- const version = '6.0.2';
2113
+ const version = '6.0.3';
2111
2114
 
2112
- export { Calendar, createPlugin, formatDate, formatRange, globalLocales, globalPlugins, sliceEvents, version };
2115
+ exports.JsonRequestError = internalCommon.JsonRequestError;
2116
+ exports.Calendar = Calendar;
2117
+ exports.createPlugin = createPlugin;
2118
+ exports.formatDate = formatDate;
2119
+ exports.formatRange = formatRange;
2120
+ exports.globalLocales = globalLocales;
2121
+ exports.globalPlugins = globalPlugins;
2122
+ exports.sliceEvents = sliceEvents;
2123
+ exports.version = version;