@fullcalendar/core 5.11.3 → 6.0.0-beta.2

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 (420) hide show
  1. package/{LICENSE.txt → LICENSE.md} +0 -0
  2. package/README.md +3 -3
  3. package/index.cjs +1545 -0
  4. package/index.d.ts +44 -0
  5. package/{main.global.js → index.global.js} +7130 -7704
  6. package/index.global.min.js +6 -0
  7. package/index.js +1536 -0
  8. package/internal-common.cjs +8064 -0
  9. package/internal-common.d.ts +2783 -0
  10. package/internal-common.js +7826 -0
  11. package/internal.cjs +198 -0
  12. package/internal.d.ts +4 -0
  13. package/internal.js +3 -0
  14. package/locales/af.cjs +26 -0
  15. package/locales/af.d.ts +5 -2
  16. package/locales/af.global.js +29 -24
  17. package/locales/af.global.min.js +6 -0
  18. package/locales/af.js +20 -24
  19. package/locales/ar-dz.cjs +27 -0
  20. package/locales/ar-dz.d.ts +5 -2
  21. package/locales/ar-dz.global.js +30 -25
  22. package/locales/ar-dz.global.min.js +6 -0
  23. package/locales/ar-dz.js +21 -25
  24. package/locales/ar-kw.cjs +27 -0
  25. package/locales/ar-kw.d.ts +5 -2
  26. package/locales/ar-kw.global.js +30 -25
  27. package/locales/ar-kw.global.min.js +6 -0
  28. package/locales/ar-kw.js +21 -25
  29. package/locales/ar-ly.cjs +27 -0
  30. package/locales/ar-ly.d.ts +5 -2
  31. package/locales/ar-ly.global.js +30 -25
  32. package/locales/ar-ly.global.min.js +6 -0
  33. package/locales/ar-ly.js +21 -25
  34. package/locales/ar-ma.cjs +27 -0
  35. package/locales/ar-ma.d.ts +5 -2
  36. package/locales/ar-ma.global.js +30 -25
  37. package/locales/ar-ma.global.min.js +6 -0
  38. package/locales/ar-ma.js +21 -25
  39. package/locales/ar-sa.cjs +27 -0
  40. package/locales/ar-sa.d.ts +5 -2
  41. package/locales/ar-sa.global.js +30 -25
  42. package/locales/ar-sa.global.min.js +6 -0
  43. package/locales/ar-sa.js +21 -25
  44. package/locales/ar-tn.cjs +27 -0
  45. package/locales/ar-tn.d.ts +5 -2
  46. package/locales/ar-tn.global.js +30 -25
  47. package/locales/ar-tn.global.min.js +6 -0
  48. package/locales/ar-tn.js +21 -25
  49. package/locales/ar.cjs +27 -0
  50. package/locales/ar.d.ts +5 -2
  51. package/locales/ar.global.js +30 -25
  52. package/locales/ar.global.min.js +6 -0
  53. package/locales/ar.js +21 -25
  54. package/locales/az.cjs +28 -0
  55. package/locales/az.d.ts +5 -2
  56. package/locales/az.global.js +31 -26
  57. package/locales/az.global.min.js +6 -0
  58. package/locales/az.js +22 -26
  59. package/locales/bg.cjs +27 -0
  60. package/locales/bg.d.ts +5 -2
  61. package/locales/bg.global.js +30 -25
  62. package/locales/bg.global.min.js +6 -0
  63. package/locales/bg.js +21 -25
  64. package/locales/bn.cjs +28 -0
  65. package/locales/bn.d.ts +5 -2
  66. package/locales/bn.global.js +31 -26
  67. package/locales/bn.global.min.js +6 -0
  68. package/locales/bn.js +22 -26
  69. package/locales/bs.cjs +28 -0
  70. package/locales/bs.d.ts +5 -2
  71. package/locales/bs.global.js +31 -26
  72. package/locales/bs.global.min.js +6 -0
  73. package/locales/bs.js +22 -26
  74. package/locales/ca.cjs +26 -0
  75. package/locales/ca.d.ts +5 -2
  76. package/locales/ca.global.js +29 -24
  77. package/locales/ca.global.min.js +6 -0
  78. package/locales/ca.js +20 -24
  79. package/locales/cs.cjs +28 -0
  80. package/locales/cs.d.ts +5 -2
  81. package/locales/cs.global.js +31 -26
  82. package/locales/cs.global.min.js +6 -0
  83. package/locales/cs.js +22 -26
  84. package/locales/cy.cjs +27 -0
  85. package/locales/cy.d.ts +5 -2
  86. package/locales/cy.global.js +30 -25
  87. package/locales/cy.global.min.js +6 -0
  88. package/locales/cy.js +21 -25
  89. package/locales/da.cjs +26 -0
  90. package/locales/da.d.ts +5 -2
  91. package/locales/da.global.js +29 -24
  92. package/locales/da.global.min.js +6 -0
  93. package/locales/da.js +20 -24
  94. package/locales/de-at.cjs +63 -0
  95. package/locales/de-at.d.ts +5 -2
  96. package/locales/de-at.global.js +66 -56
  97. package/locales/de-at.global.min.js +6 -0
  98. package/locales/de-at.js +53 -52
  99. package/locales/de.cjs +63 -0
  100. package/locales/de.d.ts +5 -2
  101. package/locales/de.global.js +66 -56
  102. package/locales/de.global.min.js +6 -0
  103. package/locales/de.js +53 -52
  104. package/locales/el.cjs +26 -0
  105. package/locales/el.d.ts +5 -2
  106. package/locales/el.global.js +29 -24
  107. package/locales/el.global.min.js +6 -0
  108. package/locales/el.js +20 -24
  109. package/locales/en-au.cjs +23 -0
  110. package/locales/en-au.d.ts +5 -2
  111. package/locales/en-au.global.js +26 -21
  112. package/locales/en-au.global.min.js +6 -0
  113. package/locales/en-au.js +17 -21
  114. package/locales/en-gb.cjs +23 -0
  115. package/locales/en-gb.d.ts +5 -2
  116. package/locales/en-gb.global.js +26 -21
  117. package/locales/en-gb.global.min.js +6 -0
  118. package/locales/en-gb.js +17 -21
  119. package/locales/en-nz.cjs +23 -0
  120. package/locales/en-nz.d.ts +5 -2
  121. package/locales/en-nz.global.js +26 -21
  122. package/locales/en-nz.global.min.js +6 -0
  123. package/locales/en-nz.js +17 -21
  124. package/locales/eo.cjs +26 -0
  125. package/locales/eo.d.ts +5 -2
  126. package/locales/eo.global.js +29 -24
  127. package/locales/eo.global.min.js +6 -0
  128. package/locales/eo.js +20 -24
  129. package/locales/es-us.cjs +26 -0
  130. package/locales/es-us.d.ts +5 -2
  131. package/locales/es-us.global.js +29 -24
  132. package/locales/es-us.global.min.js +6 -0
  133. package/locales/es-us.js +20 -24
  134. package/locales/es.cjs +45 -0
  135. package/locales/es.d.ts +5 -2
  136. package/locales/es.global.js +48 -42
  137. package/locales/es.global.min.js +6 -0
  138. package/locales/es.js +39 -42
  139. package/locales/et.cjs +28 -0
  140. package/locales/et.d.ts +5 -2
  141. package/locales/et.global.js +31 -26
  142. package/locales/et.global.min.js +6 -0
  143. package/locales/et.js +22 -26
  144. package/locales/eu.cjs +26 -0
  145. package/locales/eu.d.ts +5 -2
  146. package/locales/eu.global.js +29 -24
  147. package/locales/eu.global.min.js +6 -0
  148. package/locales/eu.js +20 -24
  149. package/locales/fa.cjs +29 -0
  150. package/locales/fa.d.ts +5 -2
  151. package/locales/fa.global.js +32 -27
  152. package/locales/fa.global.min.js +6 -0
  153. package/locales/fa.js +23 -27
  154. package/locales/fi.cjs +26 -0
  155. package/locales/fi.d.ts +5 -2
  156. package/locales/fi.global.js +29 -24
  157. package/locales/fi.global.min.js +6 -0
  158. package/locales/fi.js +20 -24
  159. package/locales/fr-ca.cjs +23 -0
  160. package/locales/fr-ca.d.ts +5 -2
  161. package/locales/fr-ca.global.js +26 -21
  162. package/locales/fr-ca.global.min.js +6 -0
  163. package/locales/fr-ca.js +17 -21
  164. package/locales/fr-ch.cjs +27 -0
  165. package/locales/fr-ch.d.ts +5 -2
  166. package/locales/fr-ch.global.js +30 -25
  167. package/locales/fr-ch.global.min.js +6 -0
  168. package/locales/fr-ch.js +21 -25
  169. package/locales/fr.cjs +27 -0
  170. package/locales/fr.d.ts +5 -2
  171. package/locales/fr.global.js +30 -25
  172. package/locales/fr.global.min.js +6 -0
  173. package/locales/fr.js +21 -25
  174. package/locales/gl.cjs +26 -0
  175. package/locales/gl.d.ts +5 -2
  176. package/locales/gl.global.js +29 -24
  177. package/locales/gl.global.min.js +6 -0
  178. package/locales/gl.js +20 -24
  179. package/locales/he.cjs +23 -0
  180. package/locales/he.d.ts +5 -2
  181. package/locales/he.global.js +26 -21
  182. package/locales/he.global.min.js +6 -0
  183. package/locales/he.js +17 -21
  184. package/locales/hi.cjs +28 -0
  185. package/locales/hi.d.ts +5 -2
  186. package/locales/hi.global.js +31 -26
  187. package/locales/hi.global.min.js +6 -0
  188. package/locales/hi.js +22 -26
  189. package/locales/hr.cjs +28 -0
  190. package/locales/hr.d.ts +5 -2
  191. package/locales/hr.global.js +31 -26
  192. package/locales/hr.global.min.js +6 -0
  193. package/locales/hr.js +22 -26
  194. package/locales/hu.cjs +26 -0
  195. package/locales/hu.d.ts +5 -2
  196. package/locales/hu.global.js +29 -24
  197. package/locales/hu.global.min.js +6 -0
  198. package/locales/hu.js +20 -24
  199. package/locales/hy-am.cjs +28 -0
  200. package/locales/hy-am.d.ts +5 -2
  201. package/locales/hy-am.global.js +31 -26
  202. package/locales/hy-am.global.min.js +6 -0
  203. package/locales/hy-am.js +22 -26
  204. package/locales/id.cjs +26 -0
  205. package/locales/id.d.ts +5 -2
  206. package/locales/id.global.js +29 -24
  207. package/locales/id.global.min.js +6 -0
  208. package/locales/id.js +20 -24
  209. package/locales/is.cjs +26 -0
  210. package/locales/is.d.ts +5 -2
  211. package/locales/is.global.js +29 -24
  212. package/locales/is.global.min.js +6 -0
  213. package/locales/is.js +20 -24
  214. package/locales/it.cjs +28 -0
  215. package/locales/it.d.ts +5 -2
  216. package/locales/it.global.js +31 -26
  217. package/locales/it.global.min.js +6 -0
  218. package/locales/it.js +22 -26
  219. package/locales/ja.cjs +24 -0
  220. package/locales/ja.d.ts +5 -2
  221. package/locales/ja.global.js +27 -22
  222. package/locales/ja.global.min.js +6 -0
  223. package/locales/ja.js +18 -22
  224. package/locales/ka.cjs +28 -0
  225. package/locales/ka.d.ts +5 -2
  226. package/locales/ka.global.js +31 -26
  227. package/locales/ka.global.min.js +6 -0
  228. package/locales/ka.js +22 -26
  229. package/locales/kk.cjs +28 -0
  230. package/locales/kk.d.ts +5 -2
  231. package/locales/kk.global.js +31 -26
  232. package/locales/kk.global.min.js +6 -0
  233. package/locales/kk.js +22 -26
  234. package/locales/km.cjs +27 -0
  235. package/locales/km.d.ts +5 -2
  236. package/locales/km.global.js +30 -25
  237. package/locales/km.global.min.js +6 -0
  238. package/locales/km.js +21 -25
  239. package/locales/ko.cjs +22 -0
  240. package/locales/ko.d.ts +5 -2
  241. package/locales/ko.global.js +25 -20
  242. package/locales/ko.global.min.js +6 -0
  243. package/locales/ko.js +16 -20
  244. package/locales/ku.cjs +27 -0
  245. package/locales/ku.d.ts +5 -2
  246. package/locales/ku.global.js +30 -25
  247. package/locales/ku.global.min.js +6 -0
  248. package/locales/ku.js +21 -25
  249. package/locales/lb.cjs +26 -0
  250. package/locales/lb.d.ts +5 -2
  251. package/locales/lb.global.js +29 -24
  252. package/locales/lb.global.min.js +6 -0
  253. package/locales/lb.js +20 -24
  254. package/locales/lt.cjs +26 -0
  255. package/locales/lt.d.ts +5 -2
  256. package/locales/lt.global.js +29 -24
  257. package/locales/lt.global.min.js +6 -0
  258. package/locales/lt.js +20 -24
  259. package/locales/lv.cjs +28 -0
  260. package/locales/lv.d.ts +5 -2
  261. package/locales/lv.global.js +31 -26
  262. package/locales/lv.global.min.js +6 -0
  263. package/locales/lv.js +22 -26
  264. package/locales/mk.cjs +24 -0
  265. package/locales/mk.d.ts +5 -2
  266. package/locales/mk.global.js +27 -22
  267. package/locales/mk.global.min.js +6 -0
  268. package/locales/mk.js +18 -22
  269. package/locales/ms.cjs +28 -0
  270. package/locales/ms.d.ts +5 -2
  271. package/locales/ms.global.js +31 -26
  272. package/locales/ms.global.min.js +6 -0
  273. package/locales/ms.js +22 -26
  274. package/locales/nb.cjs +37 -0
  275. package/locales/nb.d.ts +5 -2
  276. package/locales/nb.global.js +40 -35
  277. package/locales/nb.global.min.js +6 -0
  278. package/locales/nb.js +31 -35
  279. package/locales/ne.cjs +26 -0
  280. package/locales/ne.d.ts +5 -2
  281. package/locales/ne.global.js +29 -24
  282. package/locales/ne.global.min.js +6 -0
  283. package/locales/ne.js +20 -24
  284. package/locales/nl.cjs +26 -0
  285. package/locales/nl.d.ts +5 -2
  286. package/locales/nl.global.js +29 -24
  287. package/locales/nl.global.min.js +6 -0
  288. package/locales/nl.js +20 -24
  289. package/locales/nn.cjs +26 -0
  290. package/locales/nn.d.ts +5 -2
  291. package/locales/nn.global.js +29 -24
  292. package/locales/nn.global.min.js +6 -0
  293. package/locales/nn.js +20 -24
  294. package/locales/pl.cjs +26 -0
  295. package/locales/pl.d.ts +5 -2
  296. package/locales/pl.global.js +29 -24
  297. package/locales/pl.global.min.js +6 -0
  298. package/locales/pl.js +20 -24
  299. package/locales/pt-br.cjs +24 -0
  300. package/locales/pt-br.d.ts +5 -2
  301. package/locales/pt-br.global.js +27 -22
  302. package/locales/pt-br.global.min.js +6 -0
  303. package/locales/pt-br.js +18 -22
  304. package/locales/pt.cjs +26 -0
  305. package/locales/pt.d.ts +5 -2
  306. package/locales/pt.global.js +29 -24
  307. package/locales/pt.global.min.js +6 -0
  308. package/locales/pt.js +20 -24
  309. package/locales/ro.cjs +28 -0
  310. package/locales/ro.d.ts +5 -2
  311. package/locales/ro.global.js +31 -26
  312. package/locales/ro.global.min.js +6 -0
  313. package/locales/ro.js +22 -26
  314. package/locales/ru.cjs +28 -0
  315. package/locales/ru.d.ts +5 -2
  316. package/locales/ru.global.js +31 -26
  317. package/locales/ru.global.min.js +6 -0
  318. package/locales/ru.js +22 -26
  319. package/locales/si-lk.cjs +26 -0
  320. package/locales/si-lk.d.ts +5 -2
  321. package/locales/si-lk.global.js +29 -24
  322. package/locales/si-lk.global.min.js +6 -0
  323. package/locales/si-lk.js +20 -24
  324. package/locales/sk.cjs +28 -0
  325. package/locales/sk.d.ts +5 -2
  326. package/locales/sk.global.js +31 -26
  327. package/locales/sk.global.min.js +6 -0
  328. package/locales/sk.js +22 -26
  329. package/locales/sl.cjs +26 -0
  330. package/locales/sl.d.ts +5 -2
  331. package/locales/sl.global.js +29 -24
  332. package/locales/sl.global.min.js +6 -0
  333. package/locales/sl.js +20 -24
  334. package/locales/sm.cjs +22 -0
  335. package/locales/sm.d.ts +5 -2
  336. package/locales/sm.global.js +25 -20
  337. package/locales/sm.global.min.js +6 -0
  338. package/locales/sm.js +16 -20
  339. package/locales/sq.cjs +28 -0
  340. package/locales/sq.d.ts +5 -2
  341. package/locales/sq.global.js +31 -26
  342. package/locales/sq.global.min.js +6 -0
  343. package/locales/sq.js +22 -26
  344. package/locales/sr-cyrl.cjs +28 -0
  345. package/locales/sr-cyrl.d.ts +5 -2
  346. package/locales/sr-cyrl.global.js +31 -26
  347. package/locales/sr-cyrl.global.min.js +6 -0
  348. package/locales/sr-cyrl.js +22 -26
  349. package/locales/sr.cjs +28 -0
  350. package/locales/sr.d.ts +5 -2
  351. package/locales/sr.global.js +31 -26
  352. package/locales/sr.global.min.js +6 -0
  353. package/locales/sr.js +22 -26
  354. package/locales/sv.cjs +46 -0
  355. package/locales/sv.d.ts +5 -2
  356. package/locales/sv.global.js +49 -44
  357. package/locales/sv.global.min.js +6 -0
  358. package/locales/sv.js +38 -42
  359. package/locales/ta-in.cjs +28 -0
  360. package/locales/ta-in.d.ts +5 -2
  361. package/locales/ta-in.global.js +31 -26
  362. package/locales/ta-in.global.min.js +6 -0
  363. package/locales/ta-in.js +22 -26
  364. package/locales/th.cjs +29 -0
  365. package/locales/th.d.ts +5 -2
  366. package/locales/th.global.js +32 -27
  367. package/locales/th.global.min.js +6 -0
  368. package/locales/th.js +23 -27
  369. package/locales/tr.cjs +26 -0
  370. package/locales/tr.d.ts +5 -2
  371. package/locales/tr.global.js +29 -24
  372. package/locales/tr.global.min.js +6 -0
  373. package/locales/tr.js +20 -24
  374. package/locales/ug.cjs +16 -0
  375. package/locales/ug.d.ts +5 -2
  376. package/locales/ug.global.js +19 -14
  377. package/locales/ug.global.min.js +6 -0
  378. package/locales/ug.js +10 -14
  379. package/locales/uk.cjs +28 -0
  380. package/locales/uk.d.ts +5 -2
  381. package/locales/uk.global.js +31 -26
  382. package/locales/uk.global.min.js +6 -0
  383. package/locales/uk.js +22 -26
  384. package/locales/uz.cjs +20 -0
  385. package/locales/uz.d.ts +5 -2
  386. package/locales/uz.global.js +23 -18
  387. package/locales/uz.global.min.js +6 -0
  388. package/locales/uz.js +14 -18
  389. package/locales/vi.cjs +28 -0
  390. package/locales/vi.d.ts +5 -2
  391. package/locales/vi.global.js +31 -26
  392. package/locales/vi.global.min.js +6 -0
  393. package/locales/vi.js +22 -26
  394. package/locales/zh-cn.cjs +29 -0
  395. package/locales/zh-cn.d.ts +5 -2
  396. package/locales/zh-cn.global.js +32 -26
  397. package/locales/zh-cn.global.min.js +6 -0
  398. package/locales/zh-cn.js +23 -26
  399. package/locales/zh-tw.cjs +22 -0
  400. package/locales/zh-tw.d.ts +5 -2
  401. package/locales/zh-tw.global.js +25 -20
  402. package/locales/zh-tw.global.min.js +6 -0
  403. package/locales/zh-tw.js +16 -20
  404. package/locales-all.cjs +88 -0
  405. package/locales-all.d.ts +6 -2
  406. package/locales-all.global.js +1792 -1852
  407. package/locales-all.global.min.js +6 -1
  408. package/locales-all.js +80 -1849
  409. package/package.json +61 -18
  410. package/preact.cjs +22 -0
  411. package/preact.d.ts +8 -0
  412. package/preact.js +3 -0
  413. package/main.cjs.js +0 -138
  414. package/main.d.ts +0 -30
  415. package/main.global.min.js +0 -6
  416. package/main.js +0 -128
  417. package/main.js.map +0 -1
  418. package/vdom.cjs.js +0 -105
  419. package/vdom.d.ts +0 -23
  420. package/vdom.js +0 -80
@@ -0,0 +1,2783 @@
1
+ import * as preact from 'preact';
2
+ import { ComponentChildren, ComponentType, Context, Ref, Component, VNode, createElement, JSX, FunctionalComponent, RefObject, ComponentChild } from './preact.js';
3
+ import { ViewApi as ViewApi$1 } from './index.js';
4
+
5
+ type DurationInput = DurationObjectInput | string | number;
6
+ interface DurationObjectInput {
7
+ years?: number;
8
+ year?: number;
9
+ months?: number;
10
+ month?: number;
11
+ weeks?: number;
12
+ week?: number;
13
+ days?: number;
14
+ day?: number;
15
+ hours?: number;
16
+ hour?: number;
17
+ minutes?: number;
18
+ minute?: number;
19
+ seconds?: number;
20
+ second?: number;
21
+ milliseconds?: number;
22
+ millisecond?: number;
23
+ ms?: number;
24
+ }
25
+ interface Duration {
26
+ years: number;
27
+ months: number;
28
+ days: number;
29
+ milliseconds: number;
30
+ specifiedWeeks?: boolean;
31
+ }
32
+ declare function createDuration(input: DurationInput, unit?: string): Duration | null;
33
+ declare function asCleanDays(dur: Duration): number;
34
+ declare function addDurations(d0: Duration, d1: Duration): {
35
+ years: number;
36
+ months: number;
37
+ days: number;
38
+ milliseconds: number;
39
+ };
40
+ declare function multiplyDuration(d: Duration, n: number): {
41
+ years: number;
42
+ months: number;
43
+ days: number;
44
+ milliseconds: number;
45
+ };
46
+ declare function asRoughMinutes(dur: Duration): number;
47
+ declare function asRoughSeconds(dur: Duration): number;
48
+ declare function asRoughMs(dur: Duration): number;
49
+ declare function wholeDivideDurations(numerator: Duration, denominator: Duration): number;
50
+ declare function greatestDurationDenominator(dur: Duration): {
51
+ unit: string;
52
+ value: number;
53
+ };
54
+
55
+ type DateMarker = Date;
56
+ declare function addWeeks(m: DateMarker, n: number): Date;
57
+ declare function addDays(m: DateMarker, n: number): Date;
58
+ declare function addMs(m: DateMarker, n: number): Date;
59
+ declare function diffWeeks(m0: any, m1: any): number;
60
+ declare function diffDays(m0: any, m1: any): number;
61
+ declare function diffDayAndTime(m0: DateMarker, m1: DateMarker): Duration;
62
+ declare function diffWholeWeeks(m0: DateMarker, m1: DateMarker): number;
63
+ declare function diffWholeDays(m0: DateMarker, m1: DateMarker): number;
64
+ declare function startOfDay(m: DateMarker): DateMarker;
65
+ declare function isValidDate(m: DateMarker): boolean;
66
+
67
+ interface CalendarSystem {
68
+ getMarkerYear(d: DateMarker): number;
69
+ getMarkerMonth(d: DateMarker): number;
70
+ getMarkerDay(d: DateMarker): number;
71
+ arrayToMarker(arr: number[]): DateMarker;
72
+ markerToArray(d: DateMarker): number[];
73
+ }
74
+
75
+ type LocaleCodeArg = string | string[];
76
+ type LocaleSingularArg = LocaleCodeArg | LocaleInput;
77
+ interface Locale {
78
+ codeArg: LocaleCodeArg;
79
+ codes: string[];
80
+ week: {
81
+ dow: number;
82
+ doy: number;
83
+ };
84
+ simpleNumberFormat: Intl.NumberFormat;
85
+ options: CalendarOptionsRefined;
86
+ }
87
+ interface LocaleInput extends CalendarOptions {
88
+ code: string;
89
+ }
90
+ type LocaleInputMap = {
91
+ [code: string]: LocaleInput;
92
+ };
93
+ interface RawLocaleInfo {
94
+ map: LocaleInputMap;
95
+ defaultCode: string;
96
+ }
97
+
98
+ interface ZonedMarker {
99
+ marker: DateMarker;
100
+ timeZoneOffset: number;
101
+ }
102
+ interface ExpandedZonedMarker extends ZonedMarker {
103
+ array: number[];
104
+ year: number;
105
+ month: number;
106
+ day: number;
107
+ hour: number;
108
+ minute: number;
109
+ second: number;
110
+ millisecond: number;
111
+ }
112
+
113
+ interface VerboseFormattingArg {
114
+ date: ExpandedZonedMarker;
115
+ start: ExpandedZonedMarker;
116
+ end?: ExpandedZonedMarker;
117
+ timeZone: string;
118
+ localeCodes: string[];
119
+ defaultSeparator: string;
120
+ }
121
+ type CmdFormatterFunc = (cmd: string, arg: VerboseFormattingArg) => string;
122
+ interface DateFormattingContext {
123
+ timeZone: string;
124
+ locale: Locale;
125
+ calendarSystem: CalendarSystem;
126
+ computeWeekNumber: (d: DateMarker) => number;
127
+ weekText: string;
128
+ weekTextLong: string;
129
+ cmdFormatter?: CmdFormatterFunc;
130
+ defaultSeparator: string;
131
+ }
132
+ interface DateFormatter {
133
+ format(date: ZonedMarker, context: DateFormattingContext): string;
134
+ formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string): string;
135
+ }
136
+
137
+ interface NativeFormatterOptions extends Intl.DateTimeFormatOptions {
138
+ week?: 'long' | 'short' | 'narrow' | 'numeric';
139
+ meridiem?: 'lowercase' | 'short' | 'narrow' | boolean;
140
+ omitZeroMinute?: boolean;
141
+ omitCommas?: boolean;
142
+ separator?: string;
143
+ }
144
+
145
+ type FuncFormatterFunc = (arg: VerboseFormattingArg) => string;
146
+
147
+ type FormatterInput = NativeFormatterOptions | string | FuncFormatterFunc;
148
+ declare function createFormatter(input: FormatterInput): DateFormatter;
149
+
150
+ declare function guid(): string;
151
+ declare function disableCursor(): void;
152
+ declare function enableCursor(): void;
153
+ declare function preventSelection(el: HTMLElement): void;
154
+ declare function allowSelection(el: HTMLElement): void;
155
+ declare function preventContextMenu(el: HTMLElement): void;
156
+ declare function allowContextMenu(el: HTMLElement): void;
157
+ interface OrderSpec<Subject> {
158
+ field?: string;
159
+ order?: number;
160
+ func?: FieldSpecInputFunc<Subject>;
161
+ }
162
+ type FieldSpecInput<Subject> = string | string[] | FieldSpecInputFunc<Subject> | FieldSpecInputFunc<Subject>[];
163
+ type FieldSpecInputFunc<Subject> = (a: Subject, b: Subject) => number;
164
+ declare function parseFieldSpecs<Subject>(input: FieldSpecInput<Subject>): OrderSpec<Subject>[];
165
+ declare function compareByFieldSpecs<Subject>(obj0: Subject, obj1: Subject, fieldSpecs: OrderSpec<Subject>[]): number;
166
+ declare function flexibleCompare(a: any, b: any): number;
167
+ declare function padStart(val: any, len: any): string;
168
+ declare function compareNumbers(a: any, b: any): number;
169
+ declare function isInt(n: any): boolean;
170
+
171
+ interface ViewApi {
172
+ calendar: CalendarApi;
173
+ title: string;
174
+ activeStart: Date;
175
+ activeEnd: Date;
176
+ currentStart: Date;
177
+ currentEnd: Date;
178
+ getOption(name: string): any;
179
+ }
180
+
181
+ interface EventSourceApi {
182
+ id: string;
183
+ url: string;
184
+ format: string;
185
+ remove(): void;
186
+ refetch(): void;
187
+ }
188
+
189
+ declare abstract class NamedTimeZoneImpl {
190
+ timeZoneName: string;
191
+ constructor(timeZoneName: string);
192
+ abstract offsetForArray(a: number[]): number;
193
+ abstract timestampToArray(ms: number): number[];
194
+ }
195
+ type NamedTimeZoneImplClass = {
196
+ new (timeZoneName: string): NamedTimeZoneImpl;
197
+ };
198
+
199
+ type WeekNumberCalculation = 'local' | 'ISO' | ((m: Date) => number);
200
+ interface DateEnvSettings {
201
+ timeZone: string;
202
+ namedTimeZoneImpl?: NamedTimeZoneImplClass;
203
+ calendarSystem: string;
204
+ locale: Locale;
205
+ weekNumberCalculation?: WeekNumberCalculation;
206
+ firstDay?: number;
207
+ weekText?: string;
208
+ weekTextLong?: string;
209
+ cmdFormatter?: CmdFormatterFunc;
210
+ defaultSeparator?: string;
211
+ }
212
+ type DateInput = Date | string | number | number[];
213
+ interface DateMarkerMeta {
214
+ marker: DateMarker;
215
+ isTimeUnspecified: boolean;
216
+ forcedTzo: number | null;
217
+ }
218
+ declare class DateEnv {
219
+ timeZone: string;
220
+ namedTimeZoneImpl: NamedTimeZoneImpl;
221
+ canComputeOffset: boolean;
222
+ calendarSystem: CalendarSystem;
223
+ locale: Locale;
224
+ weekDow: number;
225
+ weekDoy: number;
226
+ weekNumberFunc: any;
227
+ weekText: string;
228
+ weekTextLong: string;
229
+ cmdFormatter?: CmdFormatterFunc;
230
+ defaultSeparator: string;
231
+ constructor(settings: DateEnvSettings);
232
+ createMarker(input: DateInput): DateMarker;
233
+ createNowMarker(): DateMarker;
234
+ createMarkerMeta(input: DateInput): DateMarkerMeta;
235
+ parse(s: string): {
236
+ marker: Date;
237
+ isTimeUnspecified: boolean;
238
+ forcedTzo: any;
239
+ };
240
+ getYear(marker: DateMarker): number;
241
+ getMonth(marker: DateMarker): number;
242
+ add(marker: DateMarker, dur: Duration): DateMarker;
243
+ subtract(marker: DateMarker, dur: Duration): DateMarker;
244
+ addYears(marker: DateMarker, n: number): Date;
245
+ addMonths(marker: DateMarker, n: number): Date;
246
+ diffWholeYears(m0: DateMarker, m1: DateMarker): number;
247
+ diffWholeMonths(m0: DateMarker, m1: DateMarker): number;
248
+ greatestWholeUnit(m0: DateMarker, m1: DateMarker): {
249
+ unit: string;
250
+ value: number;
251
+ };
252
+ countDurationsBetween(m0: DateMarker, m1: DateMarker, d: Duration): number;
253
+ startOf(m: DateMarker, unit: string): Date;
254
+ startOfYear(m: DateMarker): DateMarker;
255
+ startOfMonth(m: DateMarker): DateMarker;
256
+ startOfWeek(m: DateMarker): DateMarker;
257
+ computeWeekNumber(marker: DateMarker): number;
258
+ format(marker: DateMarker, formatter: DateFormatter, dateOptions?: {
259
+ forcedTzo?: number;
260
+ }): string;
261
+ formatRange(start: DateMarker, end: DateMarker, formatter: DateFormatter, dateOptions?: {
262
+ forcedStartTzo?: number;
263
+ forcedEndTzo?: number;
264
+ isEndExclusive?: boolean;
265
+ defaultSeparator?: string;
266
+ }): string;
267
+ formatIso(marker: DateMarker, extraOptions?: any): string;
268
+ timestampToMarker(ms: number): Date;
269
+ offsetForMarker(m: DateMarker): number;
270
+ toDate(m: DateMarker, forcedTzo?: number): Date;
271
+ }
272
+
273
+ interface DateRangeInput {
274
+ start?: DateInput;
275
+ end?: DateInput;
276
+ }
277
+ interface OpenDateRange {
278
+ start: DateMarker | null;
279
+ end: DateMarker | null;
280
+ }
281
+ interface DateRange {
282
+ start: DateMarker;
283
+ end: DateMarker;
284
+ }
285
+ declare function intersectRanges(range0: OpenDateRange, range1: OpenDateRange): OpenDateRange;
286
+ declare function rangesEqual(range0: OpenDateRange, range1: OpenDateRange): boolean;
287
+ declare function rangesIntersect(range0: OpenDateRange, range1: OpenDateRange): boolean;
288
+ declare function rangeContainsRange(outerRange: OpenDateRange, innerRange: OpenDateRange): boolean;
289
+ declare function rangeContainsMarker(range: OpenDateRange, date: DateMarker | number): boolean;
290
+
291
+ interface EventInstance {
292
+ instanceId: string;
293
+ defId: string;
294
+ range: DateRange;
295
+ forcedStartTzo: number | null;
296
+ forcedEndTzo: number | null;
297
+ }
298
+ type EventInstanceHash = {
299
+ [instanceId: string]: EventInstance;
300
+ };
301
+ declare function createEventInstance(defId: string, range: DateRange, forcedStartTzo?: number, forcedEndTzo?: number): EventInstance;
302
+
303
+ interface PointerDragEvent {
304
+ origEvent: UIEvent;
305
+ isTouch: boolean;
306
+ subjectEl: EventTarget;
307
+ pageX: number;
308
+ pageY: number;
309
+ deltaX: number;
310
+ deltaY: number;
311
+ }
312
+
313
+ interface EventMutation {
314
+ datesDelta?: Duration;
315
+ startDelta?: Duration;
316
+ endDelta?: Duration;
317
+ standardProps?: any;
318
+ extendedProps?: any;
319
+ }
320
+ declare function applyMutationToEventStore(eventStore: EventStore, eventConfigBase: EventUiHash, mutation: EventMutation, context: CalendarContext): EventStore;
321
+ type eventDefMutationApplier = (eventDef: EventDef, mutation: EventMutation, context: CalendarContext) => void;
322
+
323
+ declare class EventSourceImpl implements EventSourceApi {
324
+ private context;
325
+ internalEventSource: EventSource<any>;
326
+ constructor(context: CalendarContext, internalEventSource: EventSource<any>);
327
+ remove(): void;
328
+ refetch(): void;
329
+ get id(): string;
330
+ get url(): string;
331
+ get format(): string;
332
+ }
333
+
334
+ declare class EventImpl implements EventApi {
335
+ _context: CalendarContext;
336
+ _def: EventDef;
337
+ _instance: EventInstance | null;
338
+ constructor(context: CalendarContext, def: EventDef, instance?: EventInstance);
339
+ setProp(name: string, val: any): void;
340
+ setExtendedProp(name: string, val: any): void;
341
+ setStart(startInput: DateInput, options?: {
342
+ granularity?: string;
343
+ maintainDuration?: boolean;
344
+ }): void;
345
+ setEnd(endInput: DateInput | null, options?: {
346
+ granularity?: string;
347
+ }): void;
348
+ setDates(startInput: DateInput, endInput: DateInput | null, options?: {
349
+ allDay?: boolean;
350
+ granularity?: string;
351
+ }): void;
352
+ moveStart(deltaInput: DurationInput): void;
353
+ moveEnd(deltaInput: DurationInput): void;
354
+ moveDates(deltaInput: DurationInput): void;
355
+ setAllDay(allDay: boolean, options?: {
356
+ maintainDuration?: boolean;
357
+ }): void;
358
+ formatRange(formatInput: FormatterInput): string;
359
+ mutate(mutation: EventMutation): void;
360
+ remove(): void;
361
+ get source(): EventSourceImpl | null;
362
+ get start(): Date | null;
363
+ get end(): Date | null;
364
+ get startStr(): string;
365
+ get endStr(): string;
366
+ get id(): string;
367
+ get groupId(): string;
368
+ get allDay(): boolean;
369
+ get title(): string;
370
+ get url(): string;
371
+ get display(): string;
372
+ get startEditable(): boolean;
373
+ get durationEditable(): boolean;
374
+ get constraint(): string | EventStore;
375
+ get overlap(): boolean;
376
+ get allow(): AllowFunc;
377
+ get backgroundColor(): string;
378
+ get borderColor(): string;
379
+ get textColor(): string;
380
+ get classNames(): string[];
381
+ get extendedProps(): Dictionary;
382
+ toPlainObject(settings?: {
383
+ collapseExtendedProps?: boolean;
384
+ collapseColor?: boolean;
385
+ }): Dictionary;
386
+ toJSON(): Dictionary;
387
+ }
388
+ declare function buildEventApis(eventStore: EventStore, context: CalendarContext, excludeInstance?: EventInstance): EventImpl[];
389
+
390
+ interface DateProfile {
391
+ currentRange: DateRange;
392
+ currentRangeUnit: string;
393
+ isRangeAllDay: boolean;
394
+ validRange: OpenDateRange;
395
+ activeRange: DateRange | null;
396
+ renderRange: DateRange;
397
+ slotMinTime: Duration;
398
+ slotMaxTime: Duration;
399
+ isValid: boolean;
400
+ dateIncrement: Duration;
401
+ }
402
+ interface DateProfileGeneratorProps extends DateProfileOptions {
403
+ dateProfileGeneratorClass: DateProfileGeneratorClass;
404
+ duration: Duration;
405
+ durationUnit: string;
406
+ usesMinMaxTime: boolean;
407
+ dateEnv: DateEnv;
408
+ calendarApi: CalendarImpl;
409
+ }
410
+ interface DateProfileOptions {
411
+ slotMinTime: Duration;
412
+ slotMaxTime: Duration;
413
+ showNonCurrentDates?: boolean;
414
+ dayCount?: number;
415
+ dateAlignment?: string;
416
+ dateIncrement?: Duration;
417
+ hiddenDays?: number[];
418
+ weekends?: boolean;
419
+ nowInput?: DateInput | (() => DateInput);
420
+ validRangeInput?: DateRangeInput | ((this: CalendarImpl, nowDate: Date) => DateRangeInput);
421
+ visibleRangeInput?: DateRangeInput | ((this: CalendarImpl, nowDate: Date) => DateRangeInput);
422
+ monthMode?: boolean;
423
+ fixedWeekCount?: boolean;
424
+ }
425
+ type DateProfileGeneratorClass = {
426
+ new (props: DateProfileGeneratorProps): DateProfileGenerator;
427
+ };
428
+ declare class DateProfileGenerator {
429
+ protected props: DateProfileGeneratorProps;
430
+ nowDate: DateMarker;
431
+ isHiddenDayHash: boolean[];
432
+ constructor(props: DateProfileGeneratorProps);
433
+ buildPrev(currentDateProfile: DateProfile, currentDate: DateMarker, forceToValid?: boolean): DateProfile;
434
+ buildNext(currentDateProfile: DateProfile, currentDate: DateMarker, forceToValid?: boolean): DateProfile;
435
+ build(currentDate: DateMarker, direction?: any, forceToValid?: boolean): DateProfile;
436
+ buildValidRange(): OpenDateRange;
437
+ buildCurrentRangeInfo(date: DateMarker, direction: any): {
438
+ duration: any;
439
+ unit: any;
440
+ range: any;
441
+ };
442
+ getFallbackDuration(): Duration;
443
+ adjustActiveRange(range: DateRange): {
444
+ start: Date;
445
+ end: Date;
446
+ };
447
+ buildRangeFromDuration(date: DateMarker, direction: any, duration: Duration, unit: any): any;
448
+ buildRangeFromDayCount(date: DateMarker, direction: any, dayCount: any): {
449
+ start: Date;
450
+ end: Date;
451
+ };
452
+ buildCustomVisibleRange(date: DateMarker): DateRange;
453
+ buildRenderRange(currentRange: DateRange, currentRangeUnit: any, isRangeAllDay: any): DateRange;
454
+ buildDateIncrement(fallback: any): Duration;
455
+ refineRange(rangeInput: DateRangeInput | undefined): DateRange | null;
456
+ initHiddenDays(): void;
457
+ trimHiddenDays(range: DateRange): DateRange | null;
458
+ isHiddenDay(day: any): boolean;
459
+ skipHiddenDays(date: DateMarker, inc?: number, isExclusive?: boolean): Date;
460
+ }
461
+
462
+ interface EventInteractionState {
463
+ affectedEvents: EventStore;
464
+ mutatedEvents: EventStore;
465
+ isEvent: boolean;
466
+ }
467
+
468
+ interface ViewProps {
469
+ dateProfile: DateProfile;
470
+ businessHours: EventStore;
471
+ eventStore: EventStore;
472
+ eventUiBases: EventUiHash;
473
+ dateSelection: DateSpan | null;
474
+ eventSelection: string;
475
+ eventDrag: EventInteractionState | null;
476
+ eventResize: EventInteractionState | null;
477
+ isHeightAuto: boolean;
478
+ forPrint: boolean;
479
+ }
480
+ declare function sliceEvents(props: ViewProps & {
481
+ dateProfile: DateProfile;
482
+ nextDayThreshold: Duration;
483
+ }, allDay?: boolean): EventRenderRange[];
484
+
485
+ type ClassNamesInput = string | string[];
486
+ declare function parseClassNames(raw: ClassNamesInput): string[];
487
+
488
+ type MountArg<ContentArg> = ContentArg & {
489
+ el: HTMLElement;
490
+ };
491
+ type DidMountHandler<TheMountArg extends {
492
+ el: HTMLElement;
493
+ }> = (mountArg: TheMountArg) => void;
494
+ type WillUnmountHandler<TheMountArg extends {
495
+ el: HTMLElement;
496
+ }> = (mountArg: TheMountArg) => void;
497
+ interface ObjCustomContent {
498
+ html: string;
499
+ domNodes: any[];
500
+ }
501
+ type CustomContent = ComponentChildren | ObjCustomContent;
502
+ type CustomContentGenerator<RenderProps> = CustomContent | ((renderProps: RenderProps, createElement: any) => CustomContent);
503
+ type ClassNamesGenerator<RenderProps> = ClassNamesInput | ((renderProps: RenderProps) => ClassNamesInput);
504
+
505
+ type ViewComponentType = ComponentType<ViewProps>;
506
+ type ViewConfigInput = ViewComponentType | ViewOptions;
507
+ type ViewConfigInputHash = {
508
+ [viewType: string]: ViewConfigInput;
509
+ };
510
+ interface SpecificViewContentArg extends ViewProps {
511
+ nextDayThreshold: Duration;
512
+ }
513
+ type SpecificViewMountArg = MountArg<SpecificViewContentArg>;
514
+
515
+ interface ViewSpec {
516
+ type: string;
517
+ component: ViewComponentType;
518
+ duration: Duration;
519
+ durationUnit: string;
520
+ singleUnit: string;
521
+ optionDefaults: ViewOptions;
522
+ optionOverrides: ViewOptions;
523
+ buttonTextOverride: string;
524
+ buttonTextDefault: string;
525
+ buttonTitleOverride: string | ((...args: any[]) => string);
526
+ buttonTitleDefault: string | ((...args: any[]) => string);
527
+ }
528
+ type ViewSpecHash = {
529
+ [viewType: string]: ViewSpec;
530
+ };
531
+
532
+ interface HandlerFuncTypeHash {
533
+ [eventName: string]: (...args: any[]) => any;
534
+ }
535
+ declare class Emitter<HandlerFuncs extends HandlerFuncTypeHash> {
536
+ private handlers;
537
+ private options;
538
+ private thisContext;
539
+ setThisContext(thisContext: any): void;
540
+ setOptions(options: Partial<HandlerFuncs>): void;
541
+ on<Prop extends keyof HandlerFuncs>(type: Prop, handler: HandlerFuncs[Prop]): void;
542
+ off<Prop extends keyof HandlerFuncs>(type: Prop, handler?: HandlerFuncs[Prop]): void;
543
+ trigger<Prop extends keyof HandlerFuncs>(type: Prop, ...args: Parameters<HandlerFuncs[Prop]>): void;
544
+ hasHandlers(type: keyof HandlerFuncs): boolean;
545
+ }
546
+
547
+ declare class ViewImpl implements ViewApi {
548
+ type: string;
549
+ private getCurrentData;
550
+ private dateEnv;
551
+ constructor(type: string, getCurrentData: () => CalendarData, dateEnv: DateEnv);
552
+ get calendar(): CalendarApi;
553
+ get title(): string;
554
+ get activeStart(): Date;
555
+ get activeEnd(): Date;
556
+ get currentStart(): Date;
557
+ get currentEnd(): Date;
558
+ getOption(name: string): any;
559
+ }
560
+
561
+ declare class Theme {
562
+ classes: any;
563
+ iconClasses: any;
564
+ rtlIconClasses: any;
565
+ baseIconClass: string;
566
+ iconOverrideOption: any;
567
+ iconOverrideCustomButtonOption: any;
568
+ iconOverridePrefix: string;
569
+ constructor(calendarOptions: CalendarOptionsRefined);
570
+ setIconOverride(iconOverrideHash: any): void;
571
+ applyIconOverridePrefix(className: any): any;
572
+ getClass(key: any): any;
573
+ getIconClass(buttonName: any, isRtl?: boolean): string;
574
+ getCustomButtonIconClass(customButtonProps: any): string;
575
+ }
576
+ type ThemeClass = {
577
+ new (calendarOptions: any): Theme;
578
+ };
579
+
580
+ interface CalendarDataManagerState {
581
+ dynamicOptionOverrides: CalendarOptions;
582
+ currentViewType: string;
583
+ currentDate: DateMarker;
584
+ dateProfile: DateProfile;
585
+ businessHours: EventStore;
586
+ eventSources: EventSourceHash;
587
+ eventUiBases: EventUiHash;
588
+ eventStore: EventStore;
589
+ renderableEventStore: EventStore;
590
+ dateSelection: DateSpan | null;
591
+ eventSelection: string;
592
+ eventDrag: EventInteractionState | null;
593
+ eventResize: EventInteractionState | null;
594
+ selectionConfig: EventUi;
595
+ }
596
+ interface CalendarOptionsData {
597
+ localeDefaults: CalendarOptions;
598
+ calendarOptions: CalendarOptionsRefined;
599
+ toolbarConfig: any;
600
+ availableRawLocales: any;
601
+ dateEnv: DateEnv;
602
+ theme: Theme;
603
+ pluginHooks: PluginHooks;
604
+ viewSpecs: ViewSpecHash;
605
+ }
606
+ interface CalendarCurrentViewData {
607
+ viewSpec: ViewSpec;
608
+ options: ViewOptionsRefined;
609
+ viewApi: ViewImpl;
610
+ dateProfileGenerator: DateProfileGenerator;
611
+ }
612
+ type CalendarDataBase = CalendarOptionsData & CalendarCurrentViewData & CalendarDataManagerState;
613
+ interface CalendarData extends CalendarDataBase {
614
+ viewTitle: string;
615
+ calendarApi: CalendarImpl;
616
+ dispatch: (action: Action) => void;
617
+ emitter: Emitter<CalendarListeners>;
618
+ getCurrentData(): CalendarData;
619
+ }
620
+
621
+ declare class CalendarImpl implements CalendarApi {
622
+ currentDataManager?: CalendarDataManager;
623
+ getCurrentData(): CalendarData;
624
+ dispatch(action: Action): void;
625
+ get view(): ViewImpl;
626
+ batchRendering(callback: () => void): void;
627
+ updateSize(): void;
628
+ setOption<OptionName extends keyof CalendarOptions>(name: OptionName, val: CalendarOptions[OptionName]): void;
629
+ getOption<OptionName extends keyof CalendarOptions>(name: OptionName): CalendarOptions[OptionName];
630
+ getAvailableLocaleCodes(): string[];
631
+ on<ListenerName extends keyof CalendarListeners>(handlerName: ListenerName, handler: CalendarListeners[ListenerName]): void;
632
+ off<ListenerName extends keyof CalendarListeners>(handlerName: ListenerName, handler: CalendarListeners[ListenerName]): void;
633
+ trigger<ListenerName extends keyof CalendarListeners>(handlerName: ListenerName, ...args: Parameters<CalendarListeners[ListenerName]>): void;
634
+ changeView(viewType: string, dateOrRange?: DateRangeInput | DateInput): void;
635
+ zoomTo(dateMarker: Date, viewType?: string): void;
636
+ private getUnitViewSpec;
637
+ prev(): void;
638
+ next(): void;
639
+ prevYear(): void;
640
+ nextYear(): void;
641
+ today(): void;
642
+ gotoDate(zonedDateInput: DateInput): void;
643
+ incrementDate(deltaInput: DurationInput): void;
644
+ getDate(): Date;
645
+ formatDate(d: DateInput, formatter: FormatterInput): string;
646
+ formatRange(d0: DateInput, d1: DateInput, settings: any): string;
647
+ formatIso(d: DateInput, omitTime?: boolean): string;
648
+ select(dateOrObj: DateInput | any, endDate?: DateInput): void;
649
+ unselect(pev?: PointerDragEvent): void;
650
+ addEvent(eventInput: EventInput, sourceInput?: EventSourceImpl | string | boolean): EventImpl | null;
651
+ private triggerEventAdd;
652
+ getEventById(id: string): EventImpl | null;
653
+ getEvents(): EventImpl[];
654
+ removeAllEvents(): void;
655
+ getEventSources(): EventSourceImpl[];
656
+ getEventSourceById(id: string): EventSourceImpl | null;
657
+ addEventSource(sourceInput: EventSourceInput): EventSourceImpl;
658
+ removeAllEventSources(): void;
659
+ refetchEvents(): void;
660
+ scrollToTime(timeInput: DurationInput): void;
661
+ }
662
+
663
+ type EventSourceSuccessResponseHandler = (this: CalendarImpl, rawData: any, response: any) => EventInput[] | void;
664
+ type EventSourceErrorResponseHandler = (error: Error) => void;
665
+ interface EventSource<Meta> {
666
+ _raw: any;
667
+ sourceId: string;
668
+ sourceDefId: number;
669
+ meta: Meta;
670
+ publicId: string;
671
+ isFetching: boolean;
672
+ latestFetchId: string;
673
+ fetchRange: DateRange | null;
674
+ defaultAllDay: boolean | null;
675
+ eventDataTransform: EventInputTransformer;
676
+ ui: EventUi;
677
+ success: EventSourceSuccessResponseHandler | null;
678
+ failure: EventSourceErrorResponseHandler | null;
679
+ extendedProps: Dictionary;
680
+ }
681
+ type EventSourceHash = {
682
+ [sourceId: string]: EventSource<any>;
683
+ };
684
+ interface EventSourceFetcherRes {
685
+ rawEvents: EventInput[];
686
+ response?: Response;
687
+ }
688
+ type EventSourceFetcher<Meta> = (arg: {
689
+ eventSource: EventSource<Meta>;
690
+ range: DateRange;
691
+ isRefetch: boolean;
692
+ context: CalendarContext;
693
+ }, successCallback: (res: EventSourceFetcherRes) => void, errorCallback: (error: Error) => void) => void;
694
+
695
+ type Action = {
696
+ type: 'NOTHING';
697
+ } | // hack
698
+ {
699
+ type: 'SET_OPTION';
700
+ optionName: string;
701
+ rawOptionValue: any;
702
+ } | // TODO: how to link this to CalendarOptions?
703
+ {
704
+ type: 'PREV';
705
+ } | {
706
+ type: 'NEXT';
707
+ } | {
708
+ type: 'CHANGE_DATE';
709
+ dateMarker: DateMarker;
710
+ } | {
711
+ type: 'CHANGE_VIEW_TYPE';
712
+ viewType: string;
713
+ dateMarker?: DateMarker;
714
+ } | {
715
+ type: 'SELECT_DATES';
716
+ selection: DateSpan;
717
+ } | {
718
+ type: 'UNSELECT_DATES';
719
+ } | {
720
+ type: 'SELECT_EVENT';
721
+ eventInstanceId: string;
722
+ } | {
723
+ type: 'UNSELECT_EVENT';
724
+ } | {
725
+ type: 'SET_EVENT_DRAG';
726
+ state: EventInteractionState;
727
+ } | {
728
+ type: 'UNSET_EVENT_DRAG';
729
+ } | {
730
+ type: 'SET_EVENT_RESIZE';
731
+ state: EventInteractionState;
732
+ } | {
733
+ type: 'UNSET_EVENT_RESIZE';
734
+ } | {
735
+ type: 'ADD_EVENT_SOURCES';
736
+ sources: EventSource<any>[];
737
+ } | {
738
+ type: 'REMOVE_EVENT_SOURCE';
739
+ sourceId: string;
740
+ } | {
741
+ type: 'REMOVE_ALL_EVENT_SOURCES';
742
+ } | {
743
+ type: 'FETCH_EVENT_SOURCES';
744
+ sourceIds?: string[];
745
+ isRefetch?: boolean;
746
+ } | // if no sourceIds, fetch all
747
+ {
748
+ type: 'RECEIVE_EVENTS';
749
+ sourceId: string;
750
+ fetchId: string;
751
+ fetchRange: DateRange | null;
752
+ rawEvents: EventInput[];
753
+ } | {
754
+ type: 'RECEIVE_EVENT_ERROR';
755
+ sourceId: string;
756
+ fetchId: string;
757
+ fetchRange: DateRange | null;
758
+ error: Error;
759
+ } | // need all these?
760
+ {
761
+ type: 'ADD_EVENTS';
762
+ eventStore: EventStore;
763
+ } | {
764
+ type: 'RESET_EVENTS';
765
+ eventStore: EventStore;
766
+ } | {
767
+ type: 'MERGE_EVENTS';
768
+ eventStore: EventStore;
769
+ } | {
770
+ type: 'REMOVE_EVENTS';
771
+ eventStore: EventStore;
772
+ } | {
773
+ type: 'REMOVE_ALL_EVENTS';
774
+ };
775
+
776
+ interface CalendarDataManagerProps {
777
+ optionOverrides: CalendarOptions;
778
+ calendarApi: CalendarImpl;
779
+ onAction?: (action: Action) => void;
780
+ onData?: (data: CalendarData) => void;
781
+ }
782
+ type ReducerFunc = (// TODO: rename to CalendarDataInjector. move view-props-manip hook here as well?
783
+ currentState: Dictionary | null, action: Action | null, context: CalendarContext & CalendarDataManagerState) => Dictionary;
784
+ declare class CalendarDataManager {
785
+ private computeOptionsData;
786
+ private computeCurrentViewData;
787
+ private organizeRawLocales;
788
+ private buildLocale;
789
+ private buildPluginHooks;
790
+ private buildDateEnv;
791
+ private buildTheme;
792
+ private parseToolbars;
793
+ private buildViewSpecs;
794
+ private buildDateProfileGenerator;
795
+ private buildViewApi;
796
+ private buildViewUiProps;
797
+ private buildEventUiBySource;
798
+ private buildEventUiBases;
799
+ private parseContextBusinessHours;
800
+ private buildTitle;
801
+ emitter: Emitter<Required<RefinedOptionsFromRefiners<Required<CalendarListenerRefiners>>>>;
802
+ private actionRunner;
803
+ private props;
804
+ private state;
805
+ private data;
806
+ currentCalendarOptionsInput: CalendarOptions;
807
+ private currentCalendarOptionsRefined;
808
+ private currentViewOptionsInput;
809
+ private currentViewOptionsRefined;
810
+ currentCalendarOptionsRefiners: any;
811
+ constructor(props: CalendarDataManagerProps);
812
+ getCurrentData: () => CalendarData;
813
+ dispatch: (action: Action) => void;
814
+ resetOptions(optionOverrides: CalendarOptions, append?: boolean): void;
815
+ _handleAction(action: Action): void;
816
+ updateData(): void;
817
+ _computeOptionsData(optionOverrides: CalendarOptions, dynamicOptionOverrides: CalendarOptions, calendarApi: CalendarImpl): CalendarOptionsData;
818
+ processRawCalendarOptions(optionOverrides: CalendarOptions, dynamicOptionOverrides: CalendarOptions): {
819
+ rawOptions: CalendarOptions;
820
+ refinedOptions: CalendarOptionsRefined;
821
+ pluginHooks: PluginHooks;
822
+ availableLocaleData: RawLocaleInfo;
823
+ localeDefaults: CalendarOptionsRefined;
824
+ extra: {};
825
+ };
826
+ _computeCurrentViewData(viewType: string, optionsData: CalendarOptionsData, optionOverrides: CalendarOptions, dynamicOptionOverrides: CalendarOptions): CalendarCurrentViewData;
827
+ processRawViewOptions(viewSpec: ViewSpec, pluginHooks: PluginHooks, localeDefaults: CalendarOptions, optionOverrides: CalendarOptions, dynamicOptionOverrides: CalendarOptions): {
828
+ rawOptions: ViewOptions;
829
+ refinedOptions: ViewOptionsRefined;
830
+ extra: {};
831
+ };
832
+ }
833
+
834
+ interface DateSelectionApi extends DateSpanApi {
835
+ jsEvent: UIEvent;
836
+ view: ViewApi;
837
+ }
838
+ type DatePointTransform = (dateSpan: DateSpan, context: CalendarContext) => any;
839
+ type DateSpanTransform = (dateSpan: DateSpan, context: CalendarContext) => any;
840
+ type CalendarInteraction = {
841
+ destroy: () => void;
842
+ };
843
+ type CalendarInteractionClass = {
844
+ new (context: CalendarContext): CalendarInteraction;
845
+ };
846
+ type OptionChangeHandler = (propValue: any, context: CalendarContext) => void;
847
+ type OptionChangeHandlerMap = {
848
+ [propName: string]: OptionChangeHandler;
849
+ };
850
+ interface DateSelectArg extends DateSpanApi {
851
+ jsEvent: MouseEvent | null;
852
+ view: ViewApi;
853
+ }
854
+ declare function triggerDateSelect(selection: DateSpan, pev: PointerDragEvent | null, context: CalendarContext & {
855
+ viewApi?: ViewImpl;
856
+ }): void;
857
+ interface DateUnselectArg {
858
+ jsEvent: MouseEvent;
859
+ view: ViewApi;
860
+ }
861
+ declare function getDefaultEventEnd(allDay: boolean, marker: DateMarker, context: CalendarContext): DateMarker;
862
+
863
+ interface ScrollRequest {
864
+ time?: Duration;
865
+ [otherProp: string]: any;
866
+ }
867
+ type ScrollRequestHandler = (request: ScrollRequest) => boolean;
868
+ declare class ScrollResponder {
869
+ private execFunc;
870
+ private emitter;
871
+ private scrollTime;
872
+ private scrollTimeReset;
873
+ queuedRequest: ScrollRequest;
874
+ constructor(execFunc: ScrollRequestHandler, emitter: Emitter<CalendarListeners>, scrollTime: Duration, scrollTimeReset: boolean);
875
+ detach(): void;
876
+ update(isDatesNew: boolean): void;
877
+ private fireInitialScroll;
878
+ private handleScrollRequest;
879
+ private drain;
880
+ }
881
+
882
+ declare const ViewContextType: Context<any>;
883
+ type ResizeHandler = (force: boolean) => void;
884
+ interface ViewContext extends CalendarContext {
885
+ options: ViewOptionsRefined;
886
+ theme: Theme;
887
+ isRtl: boolean;
888
+ dateProfileGenerator: DateProfileGenerator;
889
+ viewSpec: ViewSpec;
890
+ viewApi: ViewImpl;
891
+ addResizeHandler: (handler: ResizeHandler) => void;
892
+ removeResizeHandler: (handler: ResizeHandler) => void;
893
+ createScrollResponder: (execFunc: ScrollRequestHandler) => ScrollResponder;
894
+ registerInteractiveComponent: (component: DateComponent<any>, settingsInput: InteractionSettingsInput) => void;
895
+ unregisterInteractiveComponent: (component: DateComponent<any>) => void;
896
+ }
897
+
898
+ declare function filterHash(hash: any, func: any): {};
899
+ declare function mapHash<InputItem, OutputItem>(hash: {
900
+ [key: string]: InputItem;
901
+ }, func: (input: InputItem, key: string) => OutputItem): {
902
+ [key: string]: OutputItem;
903
+ };
904
+ declare function isPropsEqual(obj0: any, obj1: any): boolean;
905
+ type EqualityFunc<T> = (a: T, b: T) => boolean;
906
+ type EqualityThing<T> = EqualityFunc<T> | true;
907
+ type EqualityFuncs<ObjType> = {
908
+ [K in keyof ObjType]?: EqualityThing<ObjType[K]>;
909
+ };
910
+ declare function compareObjs(oldProps: any, newProps: any, equalityFuncs?: EqualityFuncs<any>): boolean;
911
+ declare function collectFromHash<Item>(hash: {
912
+ [key: string]: Item;
913
+ }, startIndex?: number, endIndex?: number, step?: number): Item[];
914
+
915
+ declare abstract class PureComponent<Props = Dictionary, State = Dictionary> extends Component<Props, State> {
916
+ static addPropsEquality: typeof addPropsEquality;
917
+ static addStateEquality: typeof addStateEquality;
918
+ static contextType: any;
919
+ context: ViewContext;
920
+ propEquality: EqualityFuncs<Props>;
921
+ stateEquality: EqualityFuncs<State>;
922
+ debug: boolean;
923
+ shouldComponentUpdate(nextProps: Props, nextState: State): boolean;
924
+ safeSetState(newState: Partial<State>): void;
925
+ }
926
+ declare abstract class BaseComponent<Props = Dictionary, State = Dictionary> extends PureComponent<Props, State> {
927
+ static contextType: any;
928
+ context: ViewContext;
929
+ }
930
+ declare function addPropsEquality(this: {
931
+ prototype: {
932
+ propEquality: any;
933
+ };
934
+ }, propEquality: any): void;
935
+ declare function addStateEquality(this: {
936
+ prototype: {
937
+ stateEquality: any;
938
+ };
939
+ }, stateEquality: any): void;
940
+ declare function setRef<RefType>(ref: Ref<RefType> | void, current: RefType): void;
941
+
942
+ interface Point {
943
+ left: number;
944
+ top: number;
945
+ }
946
+ interface Rect {
947
+ left: number;
948
+ right: number;
949
+ top: number;
950
+ bottom: number;
951
+ }
952
+ declare function pointInsideRect(point: Point, rect: Rect): boolean;
953
+ declare function intersectRects(rect1: Rect, rect2: Rect): Rect | false;
954
+ declare function translateRect(rect: Rect, deltaX: number, deltaY: number): Rect;
955
+ declare function constrainPoint(point: Point, rect: Rect): Point;
956
+ declare function getRectCenter(rect: Rect): Point;
957
+ declare function diffPoints(point1: Point, point2: Point): Point;
958
+
959
+ interface Hit {
960
+ componentId?: string;
961
+ context?: ViewContext;
962
+ dateProfile: DateProfile;
963
+ dateSpan: DateSpan;
964
+ dayEl: HTMLElement;
965
+ rect: Rect;
966
+ layer: number;
967
+ largeUnit?: string;
968
+ }
969
+
970
+ interface Seg {
971
+ component?: DateComponent<any, any>;
972
+ isStart: boolean;
973
+ isEnd: boolean;
974
+ eventRange?: EventRenderRange;
975
+ [otherProp: string]: any;
976
+ el?: never;
977
+ }
978
+ interface EventSegUiInteractionState {
979
+ affectedInstances: EventInstanceHash;
980
+ segs: Seg[];
981
+ isEvent: boolean;
982
+ }
983
+ declare abstract class DateComponent<Props = Dictionary, State = Dictionary> extends BaseComponent<Props, State> {
984
+ uid: string;
985
+ prepareHits(): void;
986
+ queryHit(positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit | null;
987
+ isValidSegDownEl(el: HTMLElement): boolean;
988
+ isValidDateDownEl(el: HTMLElement): boolean;
989
+ }
990
+
991
+ declare abstract class Interaction {
992
+ component: DateComponent<any>;
993
+ isHitComboAllowed: ((hit0: Hit, hit1: Hit) => boolean) | null;
994
+ constructor(settings: InteractionSettings);
995
+ destroy(): void;
996
+ }
997
+ type InteractionClass = {
998
+ new (settings: InteractionSettings): Interaction;
999
+ };
1000
+ interface InteractionSettingsInput {
1001
+ el: HTMLElement;
1002
+ useEventCenter?: boolean;
1003
+ isHitComboAllowed?: (hit0: Hit, hit1: Hit) => boolean;
1004
+ }
1005
+ interface InteractionSettings {
1006
+ component: DateComponent<any>;
1007
+ el: HTMLElement;
1008
+ useEventCenter: boolean;
1009
+ isHitComboAllowed: ((hit0: Hit, hit1: Hit) => boolean) | null;
1010
+ }
1011
+ type InteractionSettingsStore = {
1012
+ [componenUid: string]: InteractionSettings;
1013
+ };
1014
+ declare function interactionSettingsToStore(settings: InteractionSettings): {
1015
+ [x: string]: InteractionSettings;
1016
+ };
1017
+ declare const interactionSettingsStore: InteractionSettingsStore;
1018
+
1019
+ declare class DelayedRunner {
1020
+ private drainedOption?;
1021
+ private isRunning;
1022
+ private isDirty;
1023
+ private pauseDepths;
1024
+ private timeoutId;
1025
+ constructor(drainedOption?: () => void);
1026
+ request(delay?: number): void;
1027
+ pause(scope?: string): void;
1028
+ resume(scope?: string, force?: boolean): void;
1029
+ isPaused(): number;
1030
+ tryDrain(): void;
1031
+ clear(): void;
1032
+ private clearTimeout;
1033
+ protected drained(): void;
1034
+ }
1035
+
1036
+ interface CalendarContentProps extends CalendarData {
1037
+ forPrint: boolean;
1038
+ isHeightAuto: boolean;
1039
+ }
1040
+
1041
+ type eventDragMutationMassager = (mutation: EventMutation, hit0: Hit, hit1: Hit) => void;
1042
+ type EventDropTransformers = (mutation: EventMutation, context: CalendarContext) => Dictionary;
1043
+ type eventIsDraggableTransformer = (val: boolean, eventDef: EventDef, eventUi: EventUi, context: CalendarContext) => boolean;
1044
+
1045
+ type dateSelectionJoinTransformer = (hit0: Hit, hit1: Hit) => any;
1046
+
1047
+ declare const DRAG_META_REFINERS: {
1048
+ startTime: typeof createDuration;
1049
+ duration: typeof createDuration;
1050
+ create: BooleanConstructor;
1051
+ sourceId: StringConstructor;
1052
+ };
1053
+ type DragMetaInput = RawOptionsFromRefiners<typeof DRAG_META_REFINERS> & {
1054
+ [otherProp: string]: any;
1055
+ };
1056
+ interface DragMeta {
1057
+ startTime: Duration | null;
1058
+ duration: Duration | null;
1059
+ create: boolean;
1060
+ sourceId: string;
1061
+ leftoverProps: Dictionary;
1062
+ }
1063
+ declare function parseDragMeta(raw: DragMetaInput): DragMeta;
1064
+
1065
+ type ExternalDefTransform = (dateSpan: DateSpan, dragMeta: DragMeta) => any;
1066
+
1067
+ type EventSourceFuncArg = {
1068
+ start: Date;
1069
+ end: Date;
1070
+ startStr: string;
1071
+ endStr: string;
1072
+ timeZone: string;
1073
+ };
1074
+ type EventSourceFunc = ((arg: EventSourceFuncArg, callback: (eventInputs: EventInput[]) => void) => void) | ((arg: EventSourceFuncArg) => Promise<EventInput[]>);
1075
+
1076
+ declare const JSON_FEED_EVENT_SOURCE_REFINERS: {
1077
+ method: StringConstructor;
1078
+ extraParams: Identity<Dictionary | (() => Dictionary)>;
1079
+ startParam: StringConstructor;
1080
+ endParam: StringConstructor;
1081
+ timeZoneParam: StringConstructor;
1082
+ };
1083
+
1084
+ declare const EVENT_SOURCE_REFINERS: {
1085
+ id: StringConstructor;
1086
+ defaultAllDay: BooleanConstructor;
1087
+ url: StringConstructor;
1088
+ format: StringConstructor;
1089
+ events: Identity<EventInput[] | EventSourceFunc>;
1090
+ eventDataTransform: Identity<EventInputTransformer>;
1091
+ success: Identity<EventSourceSuccessResponseHandler>;
1092
+ failure: Identity<EventSourceErrorResponseHandler>;
1093
+ };
1094
+ type BuiltInEventSourceRefiners = typeof EVENT_SOURCE_REFINERS & typeof JSON_FEED_EVENT_SOURCE_REFINERS;
1095
+ interface EventSourceRefiners extends BuiltInEventSourceRefiners {
1096
+ }
1097
+ type EventSourceInputObject = EventUiInput & RawOptionsFromRefiners<Required<EventSourceRefiners>>;
1098
+ type EventSourceInput = EventSourceInputObject | // object in extended form
1099
+ EventInput[] | EventSourceFunc | // just a function
1100
+ string;
1101
+ type EventSourceRefined = EventUiRefined & RefinedOptionsFromRefiners<Required<EventSourceRefiners>>;
1102
+
1103
+ interface EventSourceDef<Meta> {
1104
+ ignoreRange?: boolean;
1105
+ parseMeta: (refined: EventSourceRefined) => Meta | null;
1106
+ fetch: EventSourceFetcher<Meta>;
1107
+ }
1108
+
1109
+ interface ParsedRecurring<RecurringData> {
1110
+ typeData: RecurringData;
1111
+ allDayGuess: boolean | null;
1112
+ duration: Duration | null;
1113
+ }
1114
+ interface RecurringType<RecurringData> {
1115
+ parse: (refined: EventRefined, dateEnv: DateEnv) => ParsedRecurring<RecurringData> | null;
1116
+ expand: (typeData: any, framingRange: DateRange, dateEnv: DateEnv) => DateMarker[];
1117
+ }
1118
+
1119
+ declare abstract class ElementDragging {
1120
+ emitter: Emitter<any>;
1121
+ constructor(el: HTMLElement, selector?: string);
1122
+ destroy(): void;
1123
+ abstract setIgnoreMove(bool: boolean): void;
1124
+ setMirrorIsVisible(bool: boolean): void;
1125
+ setMirrorNeedsRevert(bool: boolean): void;
1126
+ setAutoScrollEnabled(bool: boolean): void;
1127
+ }
1128
+ type ElementDraggingClass = {
1129
+ new (el: HTMLElement, selector?: string): ElementDragging;
1130
+ };
1131
+
1132
+ type CssDimValue = string | number;
1133
+ interface ColProps {
1134
+ width?: CssDimValue;
1135
+ minWidth?: CssDimValue;
1136
+ span?: number;
1137
+ }
1138
+ interface SectionConfig {
1139
+ outerContent?: VNode;
1140
+ type: 'body' | 'header' | 'footer';
1141
+ className?: string;
1142
+ maxHeight?: number;
1143
+ liquid?: boolean;
1144
+ expandRows?: boolean;
1145
+ syncRowHeights?: boolean;
1146
+ isSticky?: boolean;
1147
+ }
1148
+ type ChunkConfigContent = (contentProps: ChunkContentCallbackArgs) => VNode;
1149
+ type ChunkConfigRowContent = VNode | ChunkConfigContent;
1150
+ interface ChunkConfig {
1151
+ elRef?: Ref<HTMLTableCellElement>;
1152
+ outerContent?: VNode;
1153
+ content?: ChunkConfigContent;
1154
+ rowContent?: ChunkConfigRowContent;
1155
+ scrollerElRef?: Ref<HTMLDivElement>;
1156
+ tableClassName?: string;
1157
+ }
1158
+ interface ChunkContentCallbackArgs {
1159
+ tableColGroupNode: VNode;
1160
+ tableMinWidth: CssDimValue;
1161
+ clientWidth: number | null;
1162
+ clientHeight: number | null;
1163
+ expandRows: boolean;
1164
+ syncRowHeights: boolean;
1165
+ rowSyncHeights: number[];
1166
+ reportRowHeightChange: (rowEl: HTMLElement, isStable: boolean) => void;
1167
+ }
1168
+ declare function computeShrinkWidth(chunkEls: HTMLElement[]): number;
1169
+ interface ScrollerLike {
1170
+ needsYScrolling(): boolean;
1171
+ needsXScrolling(): boolean;
1172
+ }
1173
+ declare function getSectionHasLiquidHeight(props: {
1174
+ liquid: boolean;
1175
+ }, sectionConfig: SectionConfig): boolean;
1176
+ declare function getAllowYScrolling(props: {
1177
+ liquid: boolean;
1178
+ }, sectionConfig: SectionConfig): boolean;
1179
+ declare function renderChunkContent(sectionConfig: SectionConfig, chunkConfig: ChunkConfig, arg: ChunkContentCallbackArgs, isHeader: boolean): VNode<{}>;
1180
+ declare function isColPropsEqual(cols0: ColProps[], cols1: ColProps[]): boolean;
1181
+ declare function renderMicroColGroup(cols: ColProps[], shrinkWidth?: number): VNode;
1182
+ declare function sanitizeShrinkWidth(shrinkWidth?: number): number;
1183
+ declare function hasShrinkWidth(cols: ColProps[]): boolean;
1184
+ declare function getScrollGridClassNames(liquid: boolean, context: ViewContext): any[];
1185
+ declare function getSectionClassNames(sectionConfig: SectionConfig, wholeTableVGrow: boolean): string[];
1186
+ declare function renderScrollShim(arg: ChunkContentCallbackArgs): createElement.JSX.Element;
1187
+ declare function getStickyHeaderDates(options: BaseOptionsRefined): boolean;
1188
+ declare function getStickyFooterScrollbar(options: BaseOptionsRefined): boolean;
1189
+
1190
+ interface ScrollGridProps {
1191
+ elRef?: Ref<any>;
1192
+ colGroups?: ColGroupConfig[];
1193
+ sections: ScrollGridSectionConfig[];
1194
+ liquid: boolean;
1195
+ collapsibleWidth: boolean;
1196
+ }
1197
+ interface ScrollGridSectionConfig extends SectionConfig {
1198
+ key: string;
1199
+ chunks?: ScrollGridChunkConfig[];
1200
+ }
1201
+ interface ScrollGridChunkConfig extends ChunkConfig {
1202
+ key: string;
1203
+ }
1204
+ interface ColGroupConfig {
1205
+ width?: CssDimValue;
1206
+ cols: ColProps[];
1207
+ }
1208
+ type ScrollGridImpl = {
1209
+ new (props: ScrollGridProps, context: ViewContext): Component<ScrollGridProps>;
1210
+ };
1211
+
1212
+ interface PluginDefInput {
1213
+ name: string;
1214
+ premiumReleaseDate?: string;
1215
+ deps?: PluginDef[];
1216
+ reducers?: ReducerFunc[];
1217
+ isLoadingFuncs?: ((state: Dictionary) => boolean)[];
1218
+ contextInit?: (context: CalendarContext) => void;
1219
+ eventRefiners?: GenericRefiners;
1220
+ eventDefMemberAdders?: EventDefMemberAdder[];
1221
+ eventSourceRefiners?: GenericRefiners;
1222
+ isDraggableTransformers?: eventIsDraggableTransformer[];
1223
+ eventDragMutationMassagers?: eventDragMutationMassager[];
1224
+ eventDefMutationAppliers?: eventDefMutationApplier[];
1225
+ dateSelectionTransformers?: dateSelectionJoinTransformer[];
1226
+ datePointTransforms?: DatePointTransform[];
1227
+ dateSpanTransforms?: DateSpanTransform[];
1228
+ views?: ViewConfigInputHash;
1229
+ viewPropsTransformers?: ViewPropsTransformerClass[];
1230
+ isPropsValid?: isPropsValidTester;
1231
+ externalDefTransforms?: ExternalDefTransform[];
1232
+ viewContainerAppends?: ViewContainerAppend[];
1233
+ eventDropTransformers?: EventDropTransformers[];
1234
+ componentInteractions?: InteractionClass[];
1235
+ calendarInteractions?: CalendarInteractionClass[];
1236
+ themeClasses?: {
1237
+ [themeSystemName: string]: ThemeClass;
1238
+ };
1239
+ eventSourceDefs?: EventSourceDef<any>[];
1240
+ cmdFormatter?: CmdFormatterFunc;
1241
+ recurringTypes?: RecurringType<any>[];
1242
+ namedTimeZonedImpl?: NamedTimeZoneImplClass;
1243
+ initialView?: string;
1244
+ elementDraggingImpl?: ElementDraggingClass;
1245
+ optionChangeHandlers?: OptionChangeHandlerMap;
1246
+ scrollGridImpl?: ScrollGridImpl;
1247
+ listenerRefiners?: GenericListenerRefiners;
1248
+ optionRefiners?: GenericRefiners;
1249
+ propSetHandlers?: {
1250
+ [propName: string]: (val: any, context: CalendarData) => void;
1251
+ };
1252
+ }
1253
+ interface PluginHooks {
1254
+ premiumReleaseDate: Date | undefined;
1255
+ reducers: ReducerFunc[];
1256
+ isLoadingFuncs: ((state: Dictionary) => boolean)[];
1257
+ contextInit: ((context: CalendarContext) => void)[];
1258
+ eventRefiners: GenericRefiners;
1259
+ eventDefMemberAdders: EventDefMemberAdder[];
1260
+ eventSourceRefiners: GenericRefiners;
1261
+ isDraggableTransformers: eventIsDraggableTransformer[];
1262
+ eventDragMutationMassagers: eventDragMutationMassager[];
1263
+ eventDefMutationAppliers: eventDefMutationApplier[];
1264
+ dateSelectionTransformers: dateSelectionJoinTransformer[];
1265
+ datePointTransforms: DatePointTransform[];
1266
+ dateSpanTransforms: DateSpanTransform[];
1267
+ views: ViewConfigInputHash;
1268
+ viewPropsTransformers: ViewPropsTransformerClass[];
1269
+ isPropsValid: isPropsValidTester | null;
1270
+ externalDefTransforms: ExternalDefTransform[];
1271
+ viewContainerAppends: ViewContainerAppend[];
1272
+ eventDropTransformers: EventDropTransformers[];
1273
+ componentInteractions: InteractionClass[];
1274
+ calendarInteractions: CalendarInteractionClass[];
1275
+ themeClasses: {
1276
+ [themeSystemName: string]: ThemeClass;
1277
+ };
1278
+ eventSourceDefs: EventSourceDef<any>[];
1279
+ cmdFormatter?: CmdFormatterFunc;
1280
+ recurringTypes: RecurringType<any>[];
1281
+ namedTimeZonedImpl?: NamedTimeZoneImplClass;
1282
+ initialView: string;
1283
+ elementDraggingImpl?: ElementDraggingClass;
1284
+ optionChangeHandlers: OptionChangeHandlerMap;
1285
+ scrollGridImpl: ScrollGridImpl | null;
1286
+ listenerRefiners: GenericListenerRefiners;
1287
+ optionRefiners: GenericRefiners;
1288
+ propSetHandlers: {
1289
+ [propName: string]: (val: any, context: CalendarData) => void;
1290
+ };
1291
+ }
1292
+ interface PluginDef extends PluginHooks {
1293
+ id: string;
1294
+ name: string;
1295
+ deps: PluginDef[];
1296
+ }
1297
+ type ViewPropsTransformerClass = new () => ViewPropsTransformer;
1298
+ interface ViewPropsTransformer {
1299
+ transform(viewProps: ViewProps, calendarProps: CalendarContentProps): any;
1300
+ }
1301
+ type ViewContainerAppend = (context: CalendarContext) => ComponentChildren;
1302
+
1303
+ interface CalendarContext {
1304
+ dateEnv: DateEnv;
1305
+ options: BaseOptionsRefined;
1306
+ pluginHooks: PluginHooks;
1307
+ emitter: Emitter<CalendarListeners>;
1308
+ dispatch(action: Action): void;
1309
+ getCurrentData(): CalendarData;
1310
+ calendarApi: CalendarImpl;
1311
+ }
1312
+
1313
+ declare const EVENT_REFINERS: {
1314
+ extendedProps: Identity<Dictionary>;
1315
+ start: Identity<DateInput>;
1316
+ end: Identity<DateInput>;
1317
+ date: Identity<DateInput>;
1318
+ allDay: BooleanConstructor;
1319
+ id: StringConstructor;
1320
+ groupId: StringConstructor;
1321
+ title: StringConstructor;
1322
+ url: StringConstructor;
1323
+ interactive: BooleanConstructor;
1324
+ };
1325
+ type BuiltInEventRefiners = typeof EVENT_REFINERS;
1326
+ interface EventRefiners extends BuiltInEventRefiners {
1327
+ }
1328
+ type EventInput = EventUiInput & RawOptionsFromRefiners<Required<EventRefiners>> & // Required hack
1329
+ {
1330
+ [extendedProp: string]: any;
1331
+ };
1332
+ type EventRefined = EventUiRefined & RefinedOptionsFromRefiners<Required<EventRefiners>>;
1333
+ interface EventTuple {
1334
+ def: EventDef;
1335
+ instance: EventInstance | null;
1336
+ }
1337
+ type EventInputTransformer = (input: EventInput) => EventInput;
1338
+ type EventDefMemberAdder = (refined: EventRefined) => Partial<EventDef>;
1339
+ declare function refineEventDef(raw: EventInput, context: CalendarContext, refiners?: GenericRefiners): {
1340
+ refined: RefinedOptionsFromRefiners<GenericRefiners>;
1341
+ extra: Dictionary;
1342
+ };
1343
+ declare function parseEventDef(refined: EventRefined, extra: Dictionary, sourceId: string, allDay: boolean, hasEnd: boolean, context: CalendarContext): EventDef;
1344
+
1345
+ interface EventStore {
1346
+ defs: EventDefHash;
1347
+ instances: EventInstanceHash;
1348
+ }
1349
+ declare function eventTupleToStore(tuple: EventTuple, eventStore?: EventStore): EventStore;
1350
+ declare function getRelevantEvents(eventStore: EventStore, instanceId: string): EventStore;
1351
+ declare function createEmptyEventStore(): EventStore;
1352
+ declare function mergeEventStores(store0: EventStore, store1: EventStore): EventStore;
1353
+
1354
+ interface SplittableProps {
1355
+ businessHours: EventStore | null;
1356
+ dateSelection: DateSpan | null;
1357
+ eventStore: EventStore;
1358
+ eventUiBases: EventUiHash;
1359
+ eventSelection: string;
1360
+ eventDrag: EventInteractionState | null;
1361
+ eventResize: EventInteractionState | null;
1362
+ }
1363
+ declare abstract class Splitter<PropsType extends SplittableProps = SplittableProps> {
1364
+ private getKeysForEventDefs;
1365
+ private splitDateSelection;
1366
+ private splitEventStore;
1367
+ private splitIndividualUi;
1368
+ private splitEventDrag;
1369
+ private splitEventResize;
1370
+ private eventUiBuilders;
1371
+ abstract getKeyInfo(props: PropsType): {
1372
+ [key: string]: {
1373
+ ui?: EventUi;
1374
+ businessHours?: EventStore;
1375
+ };
1376
+ };
1377
+ abstract getKeysForDateSpan(dateSpan: DateSpan): string[];
1378
+ abstract getKeysForEventDef(eventDef: EventDef): string[];
1379
+ splitProps(props: PropsType): {
1380
+ [key: string]: SplittableProps;
1381
+ };
1382
+ private _splitDateSpan;
1383
+ private _getKeysForEventDefs;
1384
+ private _splitEventStore;
1385
+ private _splitIndividualUi;
1386
+ private _splitInteraction;
1387
+ }
1388
+
1389
+ type ConstraintInput = 'businessHours' | string | EventInput | EventInput[];
1390
+ type Constraint = 'businessHours' | string | EventStore | false;
1391
+ type OverlapFunc = ((stillEvent: EventImpl, movingEvent: EventImpl | null) => boolean);
1392
+ type AllowFunc = (span: DateSpanApi, movingEvent: EventImpl | null) => boolean;
1393
+ type isPropsValidTester = (props: SplittableProps, context: CalendarContext) => boolean;
1394
+
1395
+ declare const EVENT_UI_REFINERS: {
1396
+ display: StringConstructor;
1397
+ editable: BooleanConstructor;
1398
+ startEditable: BooleanConstructor;
1399
+ durationEditable: BooleanConstructor;
1400
+ constraint: Identity<any>;
1401
+ overlap: Identity<boolean>;
1402
+ allow: Identity<AllowFunc>;
1403
+ className: typeof parseClassNames;
1404
+ classNames: typeof parseClassNames;
1405
+ color: StringConstructor;
1406
+ backgroundColor: StringConstructor;
1407
+ borderColor: StringConstructor;
1408
+ textColor: StringConstructor;
1409
+ };
1410
+ type BuiltInEventUiRefiners = typeof EVENT_UI_REFINERS;
1411
+ interface EventUiRefiners extends BuiltInEventUiRefiners {
1412
+ }
1413
+ type EventUiInput = RawOptionsFromRefiners<Required<EventUiRefiners>>;
1414
+ type EventUiRefined = RefinedOptionsFromRefiners<Required<EventUiRefiners>>;
1415
+ interface EventUi {
1416
+ display: string | null;
1417
+ startEditable: boolean | null;
1418
+ durationEditable: boolean | null;
1419
+ constraints: Constraint[];
1420
+ overlap: boolean | null;
1421
+ allows: AllowFunc[];
1422
+ backgroundColor: string;
1423
+ borderColor: string;
1424
+ textColor: string;
1425
+ classNames: string[];
1426
+ }
1427
+ type EventUiHash = {
1428
+ [defId: string]: EventUi;
1429
+ };
1430
+ declare function createEventUi(refined: EventUiRefined, context: CalendarContext): EventUi;
1431
+ declare function combineEventUis(uis: EventUi[]): EventUi;
1432
+
1433
+ interface EventDef {
1434
+ defId: string;
1435
+ sourceId: string;
1436
+ publicId: string;
1437
+ groupId: string;
1438
+ allDay: boolean;
1439
+ hasEnd: boolean;
1440
+ recurringDef: {
1441
+ typeId: number;
1442
+ typeData: any;
1443
+ duration: Duration | null;
1444
+ } | null;
1445
+ title: string;
1446
+ url: string;
1447
+ ui: EventUi;
1448
+ interactive?: boolean;
1449
+ extendedProps: Dictionary;
1450
+ }
1451
+ type EventDefHash = {
1452
+ [defId: string]: EventDef;
1453
+ };
1454
+
1455
+ interface EventRenderRange extends EventTuple {
1456
+ ui: EventUi;
1457
+ range: DateRange;
1458
+ isStart: boolean;
1459
+ isEnd: boolean;
1460
+ }
1461
+ declare function sliceEventStore(eventStore: EventStore, eventUiBases: EventUiHash, framingRange: DateRange, nextDayThreshold?: Duration): {
1462
+ bg: EventRenderRange[];
1463
+ fg: EventRenderRange[];
1464
+ };
1465
+ declare function hasBgRendering(def: EventDef): boolean;
1466
+ declare function getElSeg(el: HTMLElement): Seg | null;
1467
+ declare function sortEventSegs(segs: any, eventOrderSpecs: OrderSpec<EventImpl>[]): Seg[];
1468
+ interface EventContentArg {
1469
+ event: EventImpl;
1470
+ timeText: string;
1471
+ backgroundColor: string;
1472
+ borderColor: string;
1473
+ textColor: string;
1474
+ isDraggable: boolean;
1475
+ isStartResizable: boolean;
1476
+ isEndResizable: boolean;
1477
+ isMirror: boolean;
1478
+ isStart: boolean;
1479
+ isEnd: boolean;
1480
+ isPast: boolean;
1481
+ isFuture: boolean;
1482
+ isToday: boolean;
1483
+ isSelected: boolean;
1484
+ isDragging: boolean;
1485
+ isResizing: boolean;
1486
+ view: ViewApi;
1487
+ }
1488
+ type EventMountArg = MountArg<EventContentArg>;
1489
+ declare function buildSegTimeText(seg: Seg, timeFormat: DateFormatter, context: ViewContext, defaultDisplayEventTime?: boolean, // defaults to true
1490
+ defaultDisplayEventEnd?: boolean, // defaults to true
1491
+ startOverride?: DateMarker, endOverride?: DateMarker): string;
1492
+ declare function getSegMeta(seg: Seg, todayRange: DateRange, nowDate?: DateMarker): {
1493
+ isPast: boolean;
1494
+ isFuture: boolean;
1495
+ isToday: boolean;
1496
+ };
1497
+ declare function buildEventRangeKey(eventRange: EventRenderRange): string;
1498
+ declare function getSegAnchorAttrs(seg: Seg, context: ViewContext): {
1499
+ tabIndex: number;
1500
+ onKeyDown(ev: KeyboardEvent): void;
1501
+ } | {
1502
+ href: string;
1503
+ } | {
1504
+ href?: undefined;
1505
+ };
1506
+
1507
+ interface OpenDateSpanInput {
1508
+ start?: DateInput;
1509
+ end?: DateInput;
1510
+ allDay?: boolean;
1511
+ [otherProp: string]: any;
1512
+ }
1513
+ interface DateSpanInput extends OpenDateSpanInput {
1514
+ start: DateInput;
1515
+ end: DateInput;
1516
+ }
1517
+ interface OpenDateSpan {
1518
+ range: OpenDateRange;
1519
+ allDay: boolean;
1520
+ [otherProp: string]: any;
1521
+ }
1522
+ interface DateSpan extends OpenDateSpan {
1523
+ range: DateRange;
1524
+ }
1525
+ interface RangeApi {
1526
+ start: Date;
1527
+ end: Date;
1528
+ startStr: string;
1529
+ endStr: string;
1530
+ }
1531
+ interface DateSpanApi extends RangeApi {
1532
+ allDay: boolean;
1533
+ }
1534
+ interface RangeApiWithTimeZone extends RangeApi {
1535
+ timeZone: string;
1536
+ }
1537
+ interface DatePointApi {
1538
+ date: Date;
1539
+ dateStr: string;
1540
+ allDay: boolean;
1541
+ }
1542
+ declare function isDateSpansEqual(span0: DateSpan, span1: DateSpan): boolean;
1543
+
1544
+ type BusinessHoursInput = boolean | EventInput | EventInput[];
1545
+ declare function parseBusinessHours(input: BusinessHoursInput, context: CalendarContext): EventStore;
1546
+
1547
+ type ElRef = Ref<HTMLElement>;
1548
+ type ElAttrs = JSX.HTMLAttributes & JSX.SVGAttributes & {
1549
+ ref?: ElRef;
1550
+ } & Record<string, any>;
1551
+ interface ElAttrsProps {
1552
+ elRef?: ElRef;
1553
+ elClasses?: string[];
1554
+ elStyle?: JSX.CSSProperties;
1555
+ elAttrs?: ElAttrs;
1556
+ }
1557
+ interface ElProps extends ElAttrsProps {
1558
+ elTag: string;
1559
+ }
1560
+ interface ContentGeneratorProps<RenderProps> {
1561
+ renderProps: RenderProps;
1562
+ generatorName: string | undefined;
1563
+ generator: CustomContentGenerator<RenderProps> | undefined;
1564
+ }
1565
+ declare function buildElAttrs(props: ElAttrsProps, extraClassNames?: string[]): ElAttrs;
1566
+
1567
+ type ContentContainerProps<RenderProps> = ElAttrsProps & ContentGeneratorProps<RenderProps> & {
1568
+ elTag?: string;
1569
+ classNameGenerator: ClassNamesGenerator<RenderProps> | undefined;
1570
+ didMount: ((renderProps: RenderProps & {
1571
+ el: HTMLElement;
1572
+ }) => void) | undefined;
1573
+ willUnmount: ((renderProps: RenderProps & {
1574
+ el: HTMLElement;
1575
+ }) => void) | undefined;
1576
+ children?: InnerContainerFunc<RenderProps>;
1577
+ };
1578
+ declare class ContentContainer<RenderProps> extends Component<ContentContainerProps<RenderProps>> {
1579
+ static contextType: preact.Context<number>;
1580
+ context: number;
1581
+ InnerContent: any;
1582
+ render(): ComponentChildren;
1583
+ componentDidMount(): void;
1584
+ componentWillUnmount(): void;
1585
+ }
1586
+ type InnerContainerComponent = FunctionalComponent<ElProps>;
1587
+ type InnerContainerFunc<RenderProps> = (InnerContainer: InnerContainerComponent, renderProps: RenderProps, elAttrs: ElAttrs) => ComponentChildren;
1588
+
1589
+ interface NowIndicatorContainerProps extends Partial<ElProps> {
1590
+ isAxis: boolean;
1591
+ date: DateMarker;
1592
+ children?: InnerContainerFunc<NowIndicatorContentArg>;
1593
+ }
1594
+ interface NowIndicatorContentArg {
1595
+ isAxis: boolean;
1596
+ date: Date;
1597
+ view: ViewApi;
1598
+ }
1599
+ type NowIndicatorMountArg = MountArg<NowIndicatorContentArg>;
1600
+ declare const NowIndicatorContainer: (props: NowIndicatorContainerProps) => createElement.JSX.Element;
1601
+
1602
+ interface WeekNumberContainerProps extends ElProps {
1603
+ date: DateMarker;
1604
+ defaultFormat: DateFormatter;
1605
+ children?: InnerContainerFunc<WeekNumberContentArg>;
1606
+ }
1607
+ interface WeekNumberContentArg {
1608
+ num: number;
1609
+ text: string;
1610
+ date: Date;
1611
+ }
1612
+ type WeekNumberMountArg = MountArg<WeekNumberContentArg>;
1613
+ declare const WeekNumberContainer: (props: WeekNumberContainerProps) => createElement.JSX.Element;
1614
+
1615
+ interface MoreLinkContainerProps extends Partial<ElProps> {
1616
+ dateProfile: DateProfile;
1617
+ todayRange: DateRange;
1618
+ allDayDate: DateMarker | null;
1619
+ moreCnt: number;
1620
+ allSegs: Seg[];
1621
+ hiddenSegs: Seg[];
1622
+ extraDateSpan?: Dictionary;
1623
+ alignmentElRef?: RefObject<HTMLElement>;
1624
+ alignGridTop?: boolean;
1625
+ popoverContent: () => ComponentChild;
1626
+ defaultGenerator?: CustomContentGenerator<MoreLinkContentArg>;
1627
+ children?: InnerContainerFunc<MoreLinkContentArg>;
1628
+ }
1629
+ interface MoreLinkContentArg {
1630
+ num: number;
1631
+ text: string;
1632
+ shortText: string;
1633
+ view: ViewApi;
1634
+ }
1635
+ type MoreLinkMountArg = MountArg<MoreLinkContentArg>;
1636
+ interface MoreLinkContainerState {
1637
+ isPopoverOpen: boolean;
1638
+ popoverId: string;
1639
+ }
1640
+ declare class MoreLinkContainer extends BaseComponent<MoreLinkContainerProps, MoreLinkContainerState> {
1641
+ private linkElRef;
1642
+ private parentEl;
1643
+ state: {
1644
+ isPopoverOpen: boolean;
1645
+ popoverId: string;
1646
+ };
1647
+ render(): createElement.JSX.Element;
1648
+ componentDidMount(): void;
1649
+ componentDidUpdate(): void;
1650
+ updateParentEl(): void;
1651
+ handleClick: (ev: MouseEvent) => void;
1652
+ handlePopoverClose: () => void;
1653
+ }
1654
+ declare function computeEarliestSegStart(segs: Seg[]): DateMarker;
1655
+
1656
+ interface EventSegment {
1657
+ event: EventApi;
1658
+ start: Date;
1659
+ end: Date;
1660
+ isStart: boolean;
1661
+ isEnd: boolean;
1662
+ }
1663
+ type MoreLinkAction = MoreLinkSimpleAction | MoreLinkHandler;
1664
+ type MoreLinkSimpleAction = 'popover' | 'week' | 'day' | 'timeGridWeek' | 'timeGridDay' | string;
1665
+ interface MoreLinkArg {
1666
+ date: Date;
1667
+ allDay: boolean;
1668
+ allSegs: EventSegment[];
1669
+ hiddenSegs: EventSegment[];
1670
+ jsEvent: UIEvent;
1671
+ view: ViewApi;
1672
+ }
1673
+ type MoreLinkHandler = (arg: MoreLinkArg) => MoreLinkSimpleAction | void;
1674
+
1675
+ interface DateMeta {
1676
+ dow: number;
1677
+ isDisabled: boolean;
1678
+ isOther: boolean;
1679
+ isToday: boolean;
1680
+ isPast: boolean;
1681
+ isFuture: boolean;
1682
+ }
1683
+ declare function getDateMeta(date: DateMarker, todayRange?: DateRange, nowDate?: DateMarker, dateProfile?: DateProfile): DateMeta;
1684
+ declare function getDayClassNames(meta: DateMeta, theme: Theme): string[];
1685
+ declare function getSlotClassNames(meta: DateMeta, theme: Theme): string[];
1686
+
1687
+ interface SlotLaneContentArg extends Partial<DateMeta> {
1688
+ time?: Duration;
1689
+ date?: Date;
1690
+ view: ViewApi;
1691
+ }
1692
+ type SlotLaneMountArg = MountArg<SlotLaneContentArg>;
1693
+ interface SlotLabelContentArg {
1694
+ level: number;
1695
+ time: Duration;
1696
+ date: Date;
1697
+ view: ViewApi;
1698
+ text: string;
1699
+ }
1700
+ type SlotLabelMountArg = MountArg<SlotLabelContentArg>;
1701
+ interface AllDayContentArg {
1702
+ text: string;
1703
+ view: ViewApi;
1704
+ }
1705
+ type AllDayMountArg = MountArg<AllDayContentArg>;
1706
+ interface DayHeaderContentArg extends DateMeta {
1707
+ date: Date;
1708
+ view: ViewApi;
1709
+ text: string;
1710
+ [otherProp: string]: any;
1711
+ }
1712
+ type DayHeaderMountArg = MountArg<DayHeaderContentArg>;
1713
+
1714
+ interface DayCellContentArg extends DateMeta {
1715
+ date: DateMarker;
1716
+ view: ViewApi;
1717
+ dayNumberText: string;
1718
+ [extraProp: string]: any;
1719
+ }
1720
+ type DayCellMountArg = MountArg<DayCellContentArg>;
1721
+ interface DayCellContainerProps extends Partial<ElProps> {
1722
+ date: DateMarker;
1723
+ dateProfile: DateProfile;
1724
+ todayRange: DateRange;
1725
+ showDayNumber?: boolean;
1726
+ extraRenderProps?: Dictionary;
1727
+ defaultGenerator?: (renderProps: DayCellContentArg) => ComponentChild;
1728
+ children?: InnerContainerFunc<DayCellContentArg>;
1729
+ }
1730
+ declare class DayCellContainer extends BaseComponent<DayCellContainerProps> {
1731
+ refineRenderProps: (arg: DayCellRenderPropsInput) => DayCellContentArg;
1732
+ render(): createElement.JSX.Element;
1733
+ }
1734
+ declare function hasCustomDayCellContent(options: ViewOptions): boolean;
1735
+ interface DayCellRenderPropsInput {
1736
+ date: DateMarker;
1737
+ dateProfile: DateProfile;
1738
+ todayRange: DateRange;
1739
+ dateEnv: DateEnv;
1740
+ viewApi: ViewApi;
1741
+ showDayNumber?: boolean;
1742
+ extraRenderProps?: Dictionary;
1743
+ }
1744
+
1745
+ interface ViewContainerProps extends Partial<ElProps> {
1746
+ viewSpec: ViewSpec;
1747
+ children: ComponentChildren;
1748
+ }
1749
+ interface ViewContentArg {
1750
+ view: ViewApi;
1751
+ }
1752
+ type ViewMountArg = MountArg<ViewContentArg>;
1753
+ declare class ViewContainer extends BaseComponent<ViewContainerProps> {
1754
+ render(): createElement.JSX.Element;
1755
+ }
1756
+
1757
+ interface EventClickArg {
1758
+ el: HTMLElement;
1759
+ event: EventImpl;
1760
+ jsEvent: MouseEvent;
1761
+ view: ViewApi;
1762
+ }
1763
+
1764
+ interface EventHoveringArg {
1765
+ el: HTMLElement;
1766
+ event: EventImpl;
1767
+ jsEvent: MouseEvent;
1768
+ view: ViewApi;
1769
+ }
1770
+
1771
+ interface ToolbarInput {
1772
+ left?: string;
1773
+ center?: string;
1774
+ right?: string;
1775
+ start?: string;
1776
+ end?: string;
1777
+ }
1778
+ interface CustomButtonInput {
1779
+ text?: string;
1780
+ hint?: string;
1781
+ icon?: string;
1782
+ themeIcon?: string;
1783
+ bootstrapFontAwesome?: string;
1784
+ click?(ev: MouseEvent, element: HTMLElement): void;
1785
+ }
1786
+ interface ButtonIconsInput {
1787
+ prev?: string;
1788
+ next?: string;
1789
+ prevYear?: string;
1790
+ nextYear?: string;
1791
+ today?: string;
1792
+ [viewOrCustomButton: string]: string | undefined;
1793
+ }
1794
+ interface ButtonTextCompoundInput {
1795
+ prev?: string;
1796
+ next?: string;
1797
+ prevYear?: string;
1798
+ nextYear?: string;
1799
+ today?: string;
1800
+ month?: string;
1801
+ week?: string;
1802
+ day?: string;
1803
+ [viewOrCustomButton: string]: string | undefined;
1804
+ }
1805
+ interface ButtonHintCompoundInput {
1806
+ prev?: string | ((...args: any[]) => string);
1807
+ next?: string | ((...args: any[]) => string);
1808
+ prevYear?: string | ((...args: any[]) => string);
1809
+ nextYear?: string | ((...args: any[]) => string);
1810
+ today?: string | ((...args: any[]) => string);
1811
+ month?: string | ((...args: any[]) => string);
1812
+ week?: string | ((...args: any[]) => string);
1813
+ day?: string | ((...args: any[]) => string);
1814
+ [viewOrCustomButton: string]: string | ((...args: any[]) => string) | undefined;
1815
+ }
1816
+
1817
+ type DatesSetArg = RangeApiWithTimeZone & {
1818
+ view: ViewApi;
1819
+ };
1820
+
1821
+ interface EventAddArg {
1822
+ event: EventImpl;
1823
+ relatedEvents: EventImpl[];
1824
+ revert: () => void;
1825
+ }
1826
+ interface EventChangeArg {
1827
+ oldEvent: EventImpl;
1828
+ event: EventImpl;
1829
+ relatedEvents: EventImpl[];
1830
+ revert: () => void;
1831
+ }
1832
+ interface EventDropArg extends EventChangeArg {
1833
+ el: HTMLElement;
1834
+ delta: Duration;
1835
+ jsEvent: MouseEvent;
1836
+ view: ViewApi$1;
1837
+ }
1838
+ interface EventRemoveArg {
1839
+ event: EventImpl;
1840
+ relatedEvents: EventImpl[];
1841
+ revert: () => void;
1842
+ }
1843
+
1844
+ declare class Store<Value> {
1845
+ private handlers;
1846
+ private currentValue;
1847
+ set(value: Value): void;
1848
+ subscribe(handler: (value: Value) => void): void;
1849
+ }
1850
+
1851
+ type CustomRenderingHandler<RenderProps> = (customRender: CustomRendering<RenderProps>) => void;
1852
+ interface CustomRendering<RenderProps> extends ElProps {
1853
+ id: string;
1854
+ isActive: boolean;
1855
+ containerEl: HTMLElement;
1856
+ generatorName: string;
1857
+ generatorMeta: any;
1858
+ renderProps: RenderProps;
1859
+ }
1860
+ declare class CustomRenderingStore<RenderProps> extends Store<Map<string, CustomRendering<RenderProps>>> {
1861
+ private map;
1862
+ handle(customRendering: CustomRendering<RenderProps>): void;
1863
+ }
1864
+
1865
+ interface EventApi {
1866
+ source: EventSourceApi | null;
1867
+ start: Date | null;
1868
+ end: Date | null;
1869
+ startStr: string;
1870
+ endStr: string;
1871
+ id: string;
1872
+ groupId: string;
1873
+ allDay: boolean;
1874
+ title: string;
1875
+ url: string;
1876
+ display: string;
1877
+ startEditable: boolean;
1878
+ durationEditable: boolean;
1879
+ constraint: any;
1880
+ overlap: boolean;
1881
+ allow: any;
1882
+ backgroundColor: string;
1883
+ borderColor: string;
1884
+ textColor: string;
1885
+ classNames: string[];
1886
+ extendedProps: Dictionary;
1887
+ setProp(name: string, val: any): void;
1888
+ setExtendedProp(name: string, val: any): void;
1889
+ setStart(startInput: DateInput, options?: {
1890
+ granularity?: string;
1891
+ maintainDuration?: boolean;
1892
+ }): void;
1893
+ setEnd(endInput: DateInput | null, options?: {
1894
+ granularity?: string;
1895
+ }): void;
1896
+ setDates(startInput: DateInput, endInput: DateInput | null, options?: {
1897
+ allDay?: boolean;
1898
+ granularity?: string;
1899
+ }): void;
1900
+ moveStart(deltaInput: DurationInput): void;
1901
+ moveEnd(deltaInput: DurationInput): void;
1902
+ moveDates(deltaInput: DurationInput): void;
1903
+ setAllDay(allDay: boolean, options?: {
1904
+ maintainDuration?: boolean;
1905
+ }): void;
1906
+ formatRange(formatInput: FormatterInput): any;
1907
+ remove(): void;
1908
+ toPlainObject(settings?: {
1909
+ collapseExtendedProps?: boolean;
1910
+ collapseColor?: boolean;
1911
+ }): Dictionary;
1912
+ toJSON(): Dictionary;
1913
+ }
1914
+
1915
+ interface CalendarApi {
1916
+ view: ViewApi;
1917
+ updateSize(): void;
1918
+ setOption<OptionName extends keyof CalendarOptions>(name: OptionName, val: CalendarOptions[OptionName]): void;
1919
+ getOption<OptionName extends keyof CalendarOptions>(name: OptionName): CalendarOptions[OptionName];
1920
+ getAvailableLocaleCodes(): string[];
1921
+ on<ListenerName extends keyof CalendarListeners>(handlerName: ListenerName, handler: CalendarListeners[ListenerName]): void;
1922
+ off<ListenerName extends keyof CalendarListeners>(handlerName: ListenerName, handler: CalendarListeners[ListenerName]): void;
1923
+ trigger<ListenerName extends keyof CalendarListeners>(handlerName: ListenerName, ...args: Parameters<CalendarListeners[ListenerName]>): void;
1924
+ changeView(viewType: string, dateOrRange?: DateRangeInput | DateInput): void;
1925
+ zoomTo(dateMarker: Date, viewType?: string): void;
1926
+ prev(): void;
1927
+ next(): void;
1928
+ prevYear(): void;
1929
+ nextYear(): void;
1930
+ today(): void;
1931
+ gotoDate(zonedDateInput: DateInput): void;
1932
+ incrementDate(deltaInput: DurationInput): void;
1933
+ getDate(): Date;
1934
+ formatDate(d: DateInput, formatter: FormatterInput): string;
1935
+ formatRange(d0: DateInput, d1: DateInput, settings: any): string;
1936
+ formatIso(d: DateInput, omitTime?: boolean): string;
1937
+ select(dateOrObj: DateInput | any, endDate?: DateInput): void;
1938
+ unselect(): void;
1939
+ addEvent(eventInput: EventInput, sourceInput?: EventSourceApi | string | boolean): EventApi | null;
1940
+ getEventById(id: string): EventApi | null;
1941
+ getEvents(): EventApi[];
1942
+ removeAllEvents(): void;
1943
+ getEventSources(): EventSourceApi[];
1944
+ getEventSourceById(id: string): EventSourceApi | null;
1945
+ addEventSource(sourceInput: EventSourceInput): EventSourceApi;
1946
+ removeAllEventSources(): void;
1947
+ refetchEvents(): void;
1948
+ scrollToTime(timeInput: DurationInput): void;
1949
+ }
1950
+
1951
+ declare const BASE_OPTION_REFINERS: {
1952
+ navLinkDayClick: Identity<string | ((this: CalendarApi, date: Date, jsEvent: UIEvent) => void)>;
1953
+ navLinkWeekClick: Identity<string | ((this: CalendarApi, weekStart: Date, jsEvent: UIEvent) => void)>;
1954
+ duration: typeof createDuration;
1955
+ bootstrapFontAwesome: Identity<false | ButtonIconsInput>;
1956
+ buttonIcons: Identity<false | ButtonIconsInput>;
1957
+ customButtons: Identity<{
1958
+ [name: string]: CustomButtonInput;
1959
+ }>;
1960
+ defaultAllDayEventDuration: typeof createDuration;
1961
+ defaultTimedEventDuration: typeof createDuration;
1962
+ nextDayThreshold: typeof createDuration;
1963
+ scrollTime: typeof createDuration;
1964
+ scrollTimeReset: BooleanConstructor;
1965
+ slotMinTime: typeof createDuration;
1966
+ slotMaxTime: typeof createDuration;
1967
+ dayPopoverFormat: typeof createFormatter;
1968
+ slotDuration: typeof createDuration;
1969
+ snapDuration: typeof createDuration;
1970
+ headerToolbar: Identity<false | ToolbarInput>;
1971
+ footerToolbar: Identity<false | ToolbarInput>;
1972
+ defaultRangeSeparator: StringConstructor;
1973
+ titleRangeSeparator: StringConstructor;
1974
+ forceEventDuration: BooleanConstructor;
1975
+ dayHeaders: BooleanConstructor;
1976
+ dayHeaderFormat: typeof createFormatter;
1977
+ dayHeaderClassNames: Identity<ClassNamesGenerator<DayHeaderContentArg>>;
1978
+ dayHeaderContent: Identity<CustomContentGenerator<DayHeaderContentArg>>;
1979
+ dayHeaderDidMount: Identity<DidMountHandler<DayHeaderMountArg>>;
1980
+ dayHeaderWillUnmount: Identity<WillUnmountHandler<DayHeaderMountArg>>;
1981
+ dayCellClassNames: Identity<ClassNamesGenerator<DayCellContentArg>>;
1982
+ dayCellContent: Identity<CustomContentGenerator<DayCellContentArg>>;
1983
+ dayCellDidMount: Identity<DidMountHandler<DayCellMountArg>>;
1984
+ dayCellWillUnmount: Identity<WillUnmountHandler<DayCellMountArg>>;
1985
+ initialView: StringConstructor;
1986
+ aspectRatio: NumberConstructor;
1987
+ weekends: BooleanConstructor;
1988
+ weekNumberCalculation: Identity<WeekNumberCalculation>;
1989
+ weekNumbers: BooleanConstructor;
1990
+ weekNumberClassNames: Identity<ClassNamesGenerator<WeekNumberContentArg>>;
1991
+ weekNumberContent: Identity<CustomContentGenerator<WeekNumberContentArg>>;
1992
+ weekNumberDidMount: Identity<DidMountHandler<WeekNumberMountArg>>;
1993
+ weekNumberWillUnmount: Identity<WillUnmountHandler<WeekNumberMountArg>>;
1994
+ editable: BooleanConstructor;
1995
+ viewClassNames: Identity<ClassNamesGenerator<ViewContentArg>>;
1996
+ viewDidMount: Identity<DidMountHandler<ViewMountArg>>;
1997
+ viewWillUnmount: Identity<WillUnmountHandler<ViewMountArg>>;
1998
+ nowIndicator: BooleanConstructor;
1999
+ nowIndicatorClassNames: Identity<ClassNamesGenerator<NowIndicatorContentArg>>;
2000
+ nowIndicatorContent: Identity<CustomContentGenerator<NowIndicatorContentArg>>;
2001
+ nowIndicatorDidMount: Identity<DidMountHandler<NowIndicatorMountArg>>;
2002
+ nowIndicatorWillUnmount: Identity<WillUnmountHandler<NowIndicatorMountArg>>;
2003
+ showNonCurrentDates: BooleanConstructor;
2004
+ lazyFetching: BooleanConstructor;
2005
+ startParam: StringConstructor;
2006
+ endParam: StringConstructor;
2007
+ timeZoneParam: StringConstructor;
2008
+ timeZone: StringConstructor;
2009
+ locales: Identity<LocaleInput[]>;
2010
+ locale: Identity<LocaleSingularArg>;
2011
+ themeSystem: Identity<string>;
2012
+ dragRevertDuration: NumberConstructor;
2013
+ dragScroll: BooleanConstructor;
2014
+ allDayMaintainDuration: BooleanConstructor;
2015
+ unselectAuto: BooleanConstructor;
2016
+ dropAccept: Identity<string | ((this: CalendarApi, draggable: any) => boolean)>;
2017
+ eventOrder: typeof parseFieldSpecs;
2018
+ eventOrderStrict: BooleanConstructor;
2019
+ handleWindowResize: BooleanConstructor;
2020
+ windowResizeDelay: NumberConstructor;
2021
+ longPressDelay: NumberConstructor;
2022
+ eventDragMinDistance: NumberConstructor;
2023
+ expandRows: BooleanConstructor;
2024
+ height: Identity<CssDimValue>;
2025
+ contentHeight: Identity<CssDimValue>;
2026
+ direction: Identity<"ltr" | "rtl">;
2027
+ weekNumberFormat: typeof createFormatter;
2028
+ eventResizableFromStart: BooleanConstructor;
2029
+ displayEventTime: BooleanConstructor;
2030
+ displayEventEnd: BooleanConstructor;
2031
+ weekText: StringConstructor;
2032
+ weekTextLong: StringConstructor;
2033
+ progressiveEventRendering: BooleanConstructor;
2034
+ businessHours: Identity<BusinessHoursInput>;
2035
+ initialDate: Identity<DateInput>;
2036
+ now: Identity<DateInput | ((this: CalendarApi) => DateInput)>;
2037
+ eventDataTransform: Identity<EventInputTransformer>;
2038
+ stickyHeaderDates: Identity<boolean | "auto">;
2039
+ stickyFooterScrollbar: Identity<boolean | "auto">;
2040
+ viewHeight: Identity<CssDimValue>;
2041
+ defaultAllDay: BooleanConstructor;
2042
+ eventSourceFailure: Identity<(this: CalendarApi, error: any) => void>;
2043
+ eventSourceSuccess: Identity<(this: CalendarApi, eventsInput: EventInput[], response?: Response) => EventInput[] | void>;
2044
+ eventDisplay: StringConstructor;
2045
+ eventStartEditable: BooleanConstructor;
2046
+ eventDurationEditable: BooleanConstructor;
2047
+ eventOverlap: Identity<boolean | OverlapFunc>;
2048
+ eventConstraint: Identity<ConstraintInput>;
2049
+ eventAllow: Identity<AllowFunc>;
2050
+ eventBackgroundColor: StringConstructor;
2051
+ eventBorderColor: StringConstructor;
2052
+ eventTextColor: StringConstructor;
2053
+ eventColor: StringConstructor;
2054
+ eventClassNames: Identity<ClassNamesGenerator<EventContentArg>>;
2055
+ eventContent: Identity<CustomContentGenerator<EventContentArg>>;
2056
+ eventDidMount: Identity<DidMountHandler<EventMountArg>>;
2057
+ eventWillUnmount: Identity<WillUnmountHandler<EventMountArg>>;
2058
+ selectConstraint: Identity<ConstraintInput>;
2059
+ selectOverlap: Identity<boolean | OverlapFunc>;
2060
+ selectAllow: Identity<AllowFunc>;
2061
+ droppable: BooleanConstructor;
2062
+ unselectCancel: StringConstructor;
2063
+ slotLabelFormat: Identity<FormatterInput | FormatterInput[]>;
2064
+ slotLaneClassNames: Identity<ClassNamesGenerator<SlotLaneContentArg>>;
2065
+ slotLaneContent: Identity<CustomContentGenerator<SlotLaneContentArg>>;
2066
+ slotLaneDidMount: Identity<DidMountHandler<SlotLaneMountArg>>;
2067
+ slotLaneWillUnmount: Identity<WillUnmountHandler<SlotLaneMountArg>>;
2068
+ slotLabelClassNames: Identity<ClassNamesGenerator<SlotLabelContentArg>>;
2069
+ slotLabelContent: Identity<CustomContentGenerator<SlotLabelContentArg>>;
2070
+ slotLabelDidMount: Identity<DidMountHandler<SlotLabelMountArg>>;
2071
+ slotLabelWillUnmount: Identity<WillUnmountHandler<SlotLabelMountArg>>;
2072
+ dayMaxEvents: Identity<number | boolean>;
2073
+ dayMaxEventRows: Identity<number | boolean>;
2074
+ dayMinWidth: NumberConstructor;
2075
+ slotLabelInterval: typeof createDuration;
2076
+ allDayText: StringConstructor;
2077
+ allDayClassNames: Identity<ClassNamesGenerator<AllDayContentArg>>;
2078
+ allDayContent: Identity<CustomContentGenerator<AllDayContentArg>>;
2079
+ allDayDidMount: Identity<DidMountHandler<AllDayMountArg>>;
2080
+ allDayWillUnmount: Identity<WillUnmountHandler<AllDayMountArg>>;
2081
+ slotMinWidth: NumberConstructor;
2082
+ navLinks: BooleanConstructor;
2083
+ eventTimeFormat: typeof createFormatter;
2084
+ rerenderDelay: NumberConstructor;
2085
+ moreLinkText: Identity<string | ((this: CalendarApi, num: number) => string)>;
2086
+ moreLinkHint: Identity<string | ((this: CalendarApi, num: number) => string)>;
2087
+ selectMinDistance: NumberConstructor;
2088
+ selectable: BooleanConstructor;
2089
+ selectLongPressDelay: NumberConstructor;
2090
+ eventLongPressDelay: NumberConstructor;
2091
+ selectMirror: BooleanConstructor;
2092
+ eventMaxStack: NumberConstructor;
2093
+ eventMinHeight: NumberConstructor;
2094
+ eventMinWidth: NumberConstructor;
2095
+ eventShortHeight: NumberConstructor;
2096
+ slotEventOverlap: BooleanConstructor;
2097
+ plugins: Identity<PluginDef[]>;
2098
+ firstDay: NumberConstructor;
2099
+ dayCount: NumberConstructor;
2100
+ dateAlignment: StringConstructor;
2101
+ dateIncrement: typeof createDuration;
2102
+ hiddenDays: Identity<number[]>;
2103
+ monthMode: BooleanConstructor;
2104
+ fixedWeekCount: BooleanConstructor;
2105
+ validRange: Identity<DateRangeInput | ((this: CalendarApi, nowDate: Date) => DateRangeInput)>;
2106
+ visibleRange: Identity<DateRangeInput | ((this: CalendarApi, currentDate: Date) => DateRangeInput)>;
2107
+ titleFormat: Identity<FormatterInput>;
2108
+ eventInteractive: BooleanConstructor;
2109
+ noEventsText: StringConstructor;
2110
+ viewHint: Identity<string | ((...args: any[]) => string)>;
2111
+ navLinkHint: Identity<string | ((...args: any[]) => string)>;
2112
+ closeHint: StringConstructor;
2113
+ timeHint: StringConstructor;
2114
+ eventHint: StringConstructor;
2115
+ moreLinkClick: Identity<MoreLinkAction>;
2116
+ moreLinkClassNames: Identity<ClassNamesGenerator<MoreLinkContentArg>>;
2117
+ moreLinkContent: Identity<CustomContentGenerator<MoreLinkContentArg>>;
2118
+ moreLinkDidMount: Identity<DidMountHandler<MoreLinkMountArg>>;
2119
+ moreLinkWillUnmount: Identity<WillUnmountHandler<MoreLinkMountArg>>;
2120
+ handleCustomRendering: Identity<CustomRenderingHandler<any>>;
2121
+ customRenderingMetaMap: Identity<{
2122
+ [optionName: string]: any;
2123
+ }>;
2124
+ };
2125
+ type BuiltInBaseOptionRefiners = typeof BASE_OPTION_REFINERS;
2126
+ interface BaseOptionRefiners extends BuiltInBaseOptionRefiners {
2127
+ }
2128
+ type BaseOptions = RawOptionsFromRefiners<// as RawOptions
2129
+ Required<BaseOptionRefiners>>;
2130
+ declare const BASE_OPTION_DEFAULTS: {
2131
+ eventDisplay: string;
2132
+ defaultRangeSeparator: string;
2133
+ titleRangeSeparator: string;
2134
+ defaultTimedEventDuration: string;
2135
+ defaultAllDayEventDuration: {
2136
+ day: number;
2137
+ };
2138
+ forceEventDuration: boolean;
2139
+ nextDayThreshold: string;
2140
+ dayHeaders: boolean;
2141
+ initialView: string;
2142
+ aspectRatio: number;
2143
+ headerToolbar: {
2144
+ start: string;
2145
+ center: string;
2146
+ end: string;
2147
+ };
2148
+ weekends: boolean;
2149
+ weekNumbers: boolean;
2150
+ weekNumberCalculation: WeekNumberCalculation;
2151
+ editable: boolean;
2152
+ nowIndicator: boolean;
2153
+ scrollTime: string;
2154
+ scrollTimeReset: boolean;
2155
+ slotMinTime: string;
2156
+ slotMaxTime: string;
2157
+ showNonCurrentDates: boolean;
2158
+ lazyFetching: boolean;
2159
+ startParam: string;
2160
+ endParam: string;
2161
+ timeZoneParam: string;
2162
+ timeZone: string;
2163
+ locales: any[];
2164
+ locale: string;
2165
+ themeSystem: string;
2166
+ dragRevertDuration: number;
2167
+ dragScroll: boolean;
2168
+ allDayMaintainDuration: boolean;
2169
+ unselectAuto: boolean;
2170
+ dropAccept: string;
2171
+ eventOrder: string;
2172
+ dayPopoverFormat: {
2173
+ month: string;
2174
+ day: string;
2175
+ year: string;
2176
+ };
2177
+ handleWindowResize: boolean;
2178
+ windowResizeDelay: number;
2179
+ longPressDelay: number;
2180
+ eventDragMinDistance: number;
2181
+ expandRows: boolean;
2182
+ navLinks: boolean;
2183
+ selectable: boolean;
2184
+ eventMinHeight: number;
2185
+ eventMinWidth: number;
2186
+ eventShortHeight: number;
2187
+ };
2188
+ type BaseOptionsRefined = DefaultedRefinedOptions<RefinedOptionsFromRefiners<Required<BaseOptionRefiners>>, // Required is a hack for "Index signature is missing"
2189
+ keyof typeof BASE_OPTION_DEFAULTS>;
2190
+ declare const CALENDAR_LISTENER_REFINERS: {
2191
+ datesSet: Identity<(arg: DatesSetArg) => void>;
2192
+ eventsSet: Identity<(events: EventApi[]) => void>;
2193
+ eventAdd: Identity<(arg: EventAddArg) => void>;
2194
+ eventChange: Identity<(arg: EventChangeArg) => void>;
2195
+ eventRemove: Identity<(arg: EventRemoveArg) => void>;
2196
+ windowResize: Identity<(arg: {
2197
+ view: ViewApi;
2198
+ }) => void>;
2199
+ eventClick: Identity<(arg: EventClickArg) => void>;
2200
+ eventMouseEnter: Identity<(arg: EventHoveringArg) => void>;
2201
+ eventMouseLeave: Identity<(arg: EventHoveringArg) => void>;
2202
+ select: Identity<(arg: DateSelectArg) => void>;
2203
+ unselect: Identity<(arg: DateUnselectArg) => void>;
2204
+ loading: Identity<(isLoading: boolean) => void>;
2205
+ _unmount: Identity<() => void>;
2206
+ _beforeprint: Identity<() => void>;
2207
+ _afterprint: Identity<() => void>;
2208
+ _noEventDrop: Identity<() => void>;
2209
+ _noEventResize: Identity<() => void>;
2210
+ _resize: Identity<(forced: boolean) => void>;
2211
+ _scrollRequest: Identity<(arg: any) => void>;
2212
+ };
2213
+ type BuiltInCalendarListenerRefiners = typeof CALENDAR_LISTENER_REFINERS;
2214
+ interface CalendarListenerRefiners extends BuiltInCalendarListenerRefiners {
2215
+ }
2216
+ type CalendarListenersLoose = RefinedOptionsFromRefiners<Required<CalendarListenerRefiners>>;
2217
+ type CalendarListeners = Required<CalendarListenersLoose>;
2218
+ declare const CALENDAR_OPTION_REFINERS: {
2219
+ buttonText: Identity<ButtonTextCompoundInput>;
2220
+ buttonHints: Identity<ButtonHintCompoundInput>;
2221
+ views: Identity<{
2222
+ [viewId: string]: ViewOptions;
2223
+ }>;
2224
+ plugins: Identity<PluginDef[]>;
2225
+ initialEvents: Identity<EventSourceInput>;
2226
+ events: Identity<EventSourceInput>;
2227
+ eventSources: Identity<EventSourceInput[]>;
2228
+ };
2229
+ type BuiltInCalendarOptionRefiners = typeof CALENDAR_OPTION_REFINERS;
2230
+ interface CalendarOptionRefiners extends BuiltInCalendarOptionRefiners {
2231
+ }
2232
+ type CalendarOptions = BaseOptions & CalendarListenersLoose & RawOptionsFromRefiners<Required<CalendarOptionRefiners>>;
2233
+ type CalendarOptionsRefined = BaseOptionsRefined & CalendarListenersLoose & RefinedOptionsFromRefiners<Required<CalendarOptionRefiners>>;
2234
+ declare const VIEW_OPTION_REFINERS: {
2235
+ [name: string]: any;
2236
+ };
2237
+ type BuiltInViewOptionRefiners = typeof VIEW_OPTION_REFINERS;
2238
+ interface ViewOptionRefiners extends BuiltInViewOptionRefiners {
2239
+ }
2240
+ type ViewOptions = BaseOptions & CalendarListenersLoose & RawOptionsFromRefiners<Required<ViewOptionRefiners>>;
2241
+ type ViewOptionsRefined = BaseOptionsRefined & CalendarListenersLoose & RefinedOptionsFromRefiners<Required<ViewOptionRefiners>>;
2242
+ declare function refineProps<Refiners extends GenericRefiners, Raw extends RawOptionsFromRefiners<Refiners>>(input: Raw, refiners: Refiners): {
2243
+ refined: RefinedOptionsFromRefiners<Refiners>;
2244
+ extra: Dictionary;
2245
+ };
2246
+ type GenericRefiners = {
2247
+ [propName: string]: (input: any) => any;
2248
+ };
2249
+ type GenericListenerRefiners = {
2250
+ [listenerName: string]: Identity<(this: CalendarApi, ...args: any[]) => void>;
2251
+ };
2252
+ type RawOptionsFromRefiners<Refiners extends GenericRefiners> = {
2253
+ [Prop in keyof Refiners]?: Refiners[Prop] extends ((input: infer RawType) => infer RefinedType) ? (any extends RawType ? RefinedType : RawType) : never;
2254
+ };
2255
+ type RefinedOptionsFromRefiners<Refiners extends GenericRefiners> = {
2256
+ [Prop in keyof Refiners]?: Refiners[Prop] extends ((input: any) => infer RefinedType) ? RefinedType : never;
2257
+ };
2258
+ type DefaultedRefinedOptions<RefinedOptions extends Dictionary, DefaultKey extends keyof RefinedOptions> = Required<Pick<RefinedOptions, DefaultKey>> & Partial<Omit<RefinedOptions, DefaultKey>>;
2259
+ type Dictionary = Record<string, any>;
2260
+ type Identity<T = any> = (raw: T) => T;
2261
+ declare function identity<T>(raw: T): T;
2262
+
2263
+ declare class JsonRequestError extends Error {
2264
+ response: Response;
2265
+ constructor(message: string, response: Response);
2266
+ }
2267
+ declare function requestJson<ParsedResponse>(method: string, url: string, params: Dictionary): Promise<[ParsedResponse, Response]>;
2268
+
2269
+ declare function computeVisibleDayRange(timedRange: OpenDateRange, nextDayThreshold?: Duration): OpenDateRange;
2270
+ declare function isMultiDayRange(range: DateRange): boolean;
2271
+ declare function diffDates(date0: DateMarker, date1: DateMarker, dateEnv: DateEnv, largeUnit?: string): Duration;
2272
+
2273
+ declare function removeExact(array: any, exactVal: any): number;
2274
+ declare function isArraysEqual(a0: any, a1: any, equalityFunc?: (v0: any, v1: any) => boolean): boolean;
2275
+
2276
+ declare function memoize<Args extends any[], Res>(workerFunc: (...args: Args) => Res, resEquality?: (res0: Res, res1: Res) => boolean, teardownFunc?: (res: Res) => void): (...args: Args) => Res;
2277
+ declare function memoizeObjArg<Arg extends Dictionary, Res>(workerFunc: (arg: Arg) => Res, resEquality?: (res0: Res, res1: Res) => boolean, teardownFunc?: (res: Res) => void): (arg: Arg) => Res;
2278
+ type MemoiseArrayFunc<Args extends any[], Res> = (argSets: Args[]) => Res[];
2279
+ declare function memoizeArraylike<Args extends any[], Res>(// used at all?
2280
+ workerFunc: (...args: Args) => Res, resEquality?: (res0: Res, res1: Res) => boolean, teardownFunc?: (res: Res) => void): MemoiseArrayFunc<Args, Res>;
2281
+ type MemoizeHashFunc<Args extends any[], Res> = (argHash: {
2282
+ [key: string]: Args;
2283
+ }) => {
2284
+ [key: string]: Res;
2285
+ };
2286
+ declare function memoizeHashlike<Args extends any[], Res>(workerFunc: (...args: Args) => Res, resEquality?: (res0: Res, res1: Res) => boolean, teardownFunc?: (res: Res) => void): MemoizeHashFunc<Args, Res>;
2287
+
2288
+ declare function removeElement(el: HTMLElement): void;
2289
+ declare function elementClosest(el: HTMLElement, selector: string): HTMLElement;
2290
+ declare function elementMatches(el: HTMLElement, selector: string): HTMLElement;
2291
+ declare function findElements(container: HTMLElement[] | HTMLElement | NodeListOf<HTMLElement>, selector: string): HTMLElement[];
2292
+ declare function findDirectChildren(parent: HTMLElement[] | HTMLElement, selector?: string): HTMLElement[];
2293
+ declare function applyStyle(el: HTMLElement, props: Dictionary): void;
2294
+ declare function getEventTargetViaRoot(ev: Event): EventTarget;
2295
+ declare function getElRoot(el: HTMLElement): ShadowRoot | Document;
2296
+ declare function getUniqueDomId(): string;
2297
+
2298
+ declare function getCanVGrowWithinCell(): boolean;
2299
+
2300
+ declare function buildNavLinkAttrs(context: ViewContext, dateMarker: DateMarker, viewType?: string, isTabbable?: boolean): {
2301
+ tabIndex: number;
2302
+ onKeyDown(ev: KeyboardEvent): void;
2303
+ onClick: (ev: UIEvent) => void;
2304
+ title: any;
2305
+ 'data-navlink': string;
2306
+ 'aria-label'?: undefined;
2307
+ } | {
2308
+ onClick: (ev: UIEvent) => void;
2309
+ title: any;
2310
+ 'data-navlink': string;
2311
+ 'aria-label'?: undefined;
2312
+ } | {
2313
+ 'aria-label': string;
2314
+ };
2315
+
2316
+ declare function preventDefault(ev: any): void;
2317
+ declare function whenTransitionDone(el: HTMLElement, callback: (ev: Event) => void): void;
2318
+
2319
+ interface EdgeInfo {
2320
+ borderLeft: number;
2321
+ borderRight: number;
2322
+ borderTop: number;
2323
+ borderBottom: number;
2324
+ scrollbarLeft: number;
2325
+ scrollbarRight: number;
2326
+ scrollbarBottom: number;
2327
+ paddingLeft?: number;
2328
+ paddingRight?: number;
2329
+ paddingTop?: number;
2330
+ paddingBottom?: number;
2331
+ }
2332
+ declare function computeEdges(el: HTMLElement, getPadding?: boolean): EdgeInfo;
2333
+ declare function computeInnerRect(el: any, goWithinPadding?: boolean, doFromWindowViewport?: boolean): {
2334
+ left: any;
2335
+ right: number;
2336
+ top: any;
2337
+ bottom: number;
2338
+ };
2339
+ declare function computeRect(el: any): Rect;
2340
+ declare function getClippingParents(el: HTMLElement): HTMLElement[];
2341
+
2342
+ declare function unpromisify(func: any, success: any, failure?: any): void;
2343
+
2344
+ declare class PositionCache {
2345
+ els: HTMLElement[];
2346
+ originClientRect: ClientRect;
2347
+ lefts: any;
2348
+ rights: any;
2349
+ tops: any;
2350
+ bottoms: any;
2351
+ constructor(originEl: HTMLElement, els: HTMLElement[], isHorizontal: boolean, isVertical: boolean);
2352
+ buildElHorizontals(originClientLeft: number): void;
2353
+ buildElVerticals(originClientTop: number): void;
2354
+ leftToIndex(leftPosition: number): any;
2355
+ topToIndex(topPosition: number): any;
2356
+ getWidth(leftIndex: number): number;
2357
+ getHeight(topIndex: number): number;
2358
+ }
2359
+
2360
+ declare abstract class ScrollController {
2361
+ abstract getScrollTop(): number;
2362
+ abstract getScrollLeft(): number;
2363
+ abstract setScrollTop(top: number): void;
2364
+ abstract setScrollLeft(left: number): void;
2365
+ abstract getClientWidth(): number;
2366
+ abstract getClientHeight(): number;
2367
+ abstract getScrollWidth(): number;
2368
+ abstract getScrollHeight(): number;
2369
+ getMaxScrollTop(): number;
2370
+ getMaxScrollLeft(): number;
2371
+ canScrollVertically(): boolean;
2372
+ canScrollHorizontally(): boolean;
2373
+ canScrollUp(): boolean;
2374
+ canScrollDown(): boolean;
2375
+ canScrollLeft(): boolean;
2376
+ canScrollRight(): boolean;
2377
+ }
2378
+ declare class ElementScrollController extends ScrollController {
2379
+ el: HTMLElement;
2380
+ constructor(el: HTMLElement);
2381
+ getScrollTop(): number;
2382
+ getScrollLeft(): number;
2383
+ setScrollTop(top: number): void;
2384
+ setScrollLeft(left: number): void;
2385
+ getScrollWidth(): number;
2386
+ getScrollHeight(): number;
2387
+ getClientHeight(): number;
2388
+ getClientWidth(): number;
2389
+ }
2390
+ declare class WindowScrollController extends ScrollController {
2391
+ getScrollTop(): number;
2392
+ getScrollLeft(): number;
2393
+ setScrollTop(n: number): void;
2394
+ setScrollLeft(n: number): void;
2395
+ getScrollWidth(): number;
2396
+ getScrollHeight(): number;
2397
+ getClientHeight(): number;
2398
+ getClientWidth(): number;
2399
+ }
2400
+
2401
+ declare function buildIsoString(marker: DateMarker, timeZoneOffset?: number, stripZeroTime?: boolean): string;
2402
+ declare function formatDayString(marker: DateMarker): string;
2403
+ declare function formatIsoTimeString(marker: DateMarker): string;
2404
+
2405
+ declare function parse(str: any): {
2406
+ marker: Date;
2407
+ isTimeUnspecified: boolean;
2408
+ timeZoneOffset: any;
2409
+ };
2410
+
2411
+ interface SegSpan {
2412
+ start: number;
2413
+ end: number;
2414
+ }
2415
+ interface SegEntry {
2416
+ index: number;
2417
+ thickness: number;
2418
+ span: SegSpan;
2419
+ }
2420
+ interface SegInsertion {
2421
+ level: number;
2422
+ levelCoord: number;
2423
+ lateral: number;
2424
+ touchingLevel: number;
2425
+ touchingLateral: number;
2426
+ touchingEntry: SegEntry;
2427
+ stackCnt: number;
2428
+ }
2429
+ interface SegRect extends SegEntry {
2430
+ levelCoord: number;
2431
+ }
2432
+ interface SegEntryGroup {
2433
+ entries: SegEntry[];
2434
+ span: SegSpan;
2435
+ }
2436
+ declare class SegHierarchy {
2437
+ strictOrder: boolean;
2438
+ allowReslicing: boolean;
2439
+ maxCoord: number;
2440
+ maxStackCnt: number;
2441
+ levelCoords: number[];
2442
+ entriesByLevel: SegEntry[][];
2443
+ stackCnts: {
2444
+ [entryId: string]: number;
2445
+ };
2446
+ addSegs(inputs: SegEntry[]): SegEntry[];
2447
+ insertEntry(entry: SegEntry, hiddenEntries: SegEntry[]): number;
2448
+ isInsertionValid(insertion: SegInsertion, entry: SegEntry): boolean;
2449
+ handleInvalidInsertion(insertion: SegInsertion, entry: SegEntry, hiddenEntries: SegEntry[]): number;
2450
+ splitEntry(entry: SegEntry, barrier: SegEntry, hiddenEntries: SegEntry[]): number;
2451
+ insertEntryAt(entry: SegEntry, insertion: SegInsertion): void;
2452
+ findInsertion(newEntry: SegEntry): SegInsertion;
2453
+ toRects(): SegRect[];
2454
+ }
2455
+ declare function getEntrySpanEnd(entry: SegEntry): number;
2456
+ declare function buildEntryKey(entry: SegEntry): string;
2457
+ declare function groupIntersectingEntries(entries: SegEntry[]): SegEntryGroup[];
2458
+ declare function intersectSpans(span0: SegSpan, span1: SegSpan): SegSpan | null;
2459
+ declare function binarySearch<Item>(a: Item[], searchVal: number, getItemVal: (item: Item) => number): [number, number];
2460
+
2461
+ declare const config: any;
2462
+
2463
+ declare const globalLocales: LocaleInput[];
2464
+
2465
+ interface CalendarRootProps {
2466
+ options: CalendarOptions;
2467
+ theme: Theme;
2468
+ emitter: Emitter<CalendarListeners>;
2469
+ children: (classNames: string[], height: CssDimValue, isHeightAuto: boolean, forPrint: boolean) => ComponentChildren;
2470
+ }
2471
+ interface CalendarRootState {
2472
+ forPrint: boolean;
2473
+ }
2474
+ declare class CalendarRoot extends BaseComponent<CalendarRootProps, CalendarRootState> {
2475
+ state: {
2476
+ forPrint: boolean;
2477
+ };
2478
+ render(): ComponentChildren;
2479
+ componentDidMount(): void;
2480
+ componentWillUnmount(): void;
2481
+ handleBeforePrint: () => void;
2482
+ handleAfterPrint: () => void;
2483
+ }
2484
+
2485
+ interface DayHeaderProps {
2486
+ dateProfile: DateProfile;
2487
+ dates: DateMarker[];
2488
+ datesRepDistinctDays: boolean;
2489
+ renderIntro?: (rowKey: string) => VNode;
2490
+ }
2491
+ declare class DayHeader extends BaseComponent<DayHeaderProps> {
2492
+ createDayHeaderFormatter: (explicitFormat: DateFormatter, datesRepDistinctDays: any, dateCnt: any) => DateFormatter;
2493
+ render(): createElement.JSX.Element;
2494
+ }
2495
+
2496
+ declare function computeFallbackHeaderFormat(datesRepDistinctDays: boolean, dayCnt: number): DateFormatter;
2497
+
2498
+ interface TableDateCellProps {
2499
+ date: DateMarker;
2500
+ dateProfile: DateProfile;
2501
+ todayRange: DateRange;
2502
+ colCnt: number;
2503
+ dayHeaderFormat: DateFormatter;
2504
+ colSpan?: number;
2505
+ isSticky?: boolean;
2506
+ extraDataAttrs?: Dictionary;
2507
+ extraRenderProps?: Dictionary;
2508
+ }
2509
+ declare class TableDateCell extends BaseComponent<TableDateCellProps> {
2510
+ render(): createElement.JSX.Element;
2511
+ }
2512
+
2513
+ interface TableDowCellProps {
2514
+ dow: number;
2515
+ dayHeaderFormat: DateFormatter;
2516
+ colSpan?: number;
2517
+ isSticky?: boolean;
2518
+ extraRenderProps?: Dictionary;
2519
+ extraDataAttrs?: Dictionary;
2520
+ extraClassNames?: string[];
2521
+ }
2522
+ declare class TableDowCell extends BaseComponent<TableDowCellProps> {
2523
+ render(): createElement.JSX.Element;
2524
+ }
2525
+
2526
+ interface DaySeriesSeg {
2527
+ firstIndex: number;
2528
+ lastIndex: number;
2529
+ isStart: boolean;
2530
+ isEnd: boolean;
2531
+ }
2532
+ declare class DaySeriesModel {
2533
+ cnt: number;
2534
+ dates: DateMarker[];
2535
+ indices: number[];
2536
+ constructor(range: DateRange, dateProfileGenerator: DateProfileGenerator);
2537
+ sliceRange(range: DateRange): DaySeriesSeg | null;
2538
+ private getDateDayIndex;
2539
+ }
2540
+
2541
+ interface DayTableSeg extends Seg {
2542
+ row: number;
2543
+ firstCol: number;
2544
+ lastCol: number;
2545
+ }
2546
+ interface DayTableCell {
2547
+ key: string;
2548
+ date: DateMarker;
2549
+ extraRenderProps?: Dictionary;
2550
+ extraDataAttrs?: Dictionary;
2551
+ extraClassNames?: string[];
2552
+ extraDateSpan?: Dictionary;
2553
+ }
2554
+ declare class DayTableModel {
2555
+ rowCnt: number;
2556
+ colCnt: number;
2557
+ cells: DayTableCell[][];
2558
+ headerDates: DateMarker[];
2559
+ private daySeries;
2560
+ constructor(daySeries: DaySeriesModel, breakOnWeeks: boolean);
2561
+ private buildCells;
2562
+ private buildCell;
2563
+ private buildHeaderDates;
2564
+ sliceRange(range: DateRange): DayTableSeg[];
2565
+ }
2566
+
2567
+ interface SliceableProps {
2568
+ dateSelection: DateSpan;
2569
+ businessHours: EventStore;
2570
+ eventStore: EventStore;
2571
+ eventDrag: EventInteractionState | null;
2572
+ eventResize: EventInteractionState | null;
2573
+ eventSelection: string;
2574
+ eventUiBases: EventUiHash;
2575
+ }
2576
+ interface SlicedProps<SegType extends Seg> {
2577
+ dateSelectionSegs: SegType[];
2578
+ businessHourSegs: SegType[];
2579
+ fgEventSegs: SegType[];
2580
+ bgEventSegs: SegType[];
2581
+ eventDrag: EventSegUiInteractionState | null;
2582
+ eventResize: EventSegUiInteractionState | null;
2583
+ eventSelection: string;
2584
+ }
2585
+ declare abstract class Slicer<SegType extends Seg, ExtraArgs extends any[] = []> {
2586
+ private sliceBusinessHours;
2587
+ private sliceDateSelection;
2588
+ private sliceEventStore;
2589
+ private sliceEventDrag;
2590
+ private sliceEventResize;
2591
+ abstract sliceRange(dateRange: DateRange, ...extraArgs: ExtraArgs): SegType[];
2592
+ protected forceDayIfListItem: boolean;
2593
+ sliceProps(props: SliceableProps, dateProfile: DateProfile, nextDayThreshold: Duration | null, context: CalendarContext, ...extraArgs: ExtraArgs): SlicedProps<SegType>;
2594
+ sliceNowDate(// does not memoize
2595
+ date: DateMarker, context: CalendarContext, ...extraArgs: ExtraArgs): SegType[];
2596
+ private _sliceBusinessHours;
2597
+ private _sliceEventStore;
2598
+ private _sliceInteraction;
2599
+ private _sliceDateSpan;
2600
+ private sliceEventRanges;
2601
+ private sliceEventRange;
2602
+ }
2603
+
2604
+ declare function isInteractionValid(interaction: EventInteractionState, dateProfile: DateProfile, context: CalendarContext): boolean;
2605
+ declare function isDateSelectionValid(dateSelection: DateSpan, dateProfile: DateProfile, context: CalendarContext): boolean;
2606
+ declare function isPropsValid(state: SplittableProps, context: CalendarContext, dateSpanMeta?: {}, filterConfig?: any): boolean;
2607
+
2608
+ type OverflowValue = 'auto' | 'hidden' | 'scroll' | 'visible';
2609
+ interface ScrollerProps {
2610
+ elRef?: Ref<HTMLElement>;
2611
+ overflowX: OverflowValue;
2612
+ overflowY: OverflowValue;
2613
+ overcomeLeft?: number;
2614
+ overcomeRight?: number;
2615
+ overcomeBottom?: number;
2616
+ maxHeight?: CssDimValue;
2617
+ liquid?: boolean;
2618
+ liquidIsAbsolute?: boolean;
2619
+ children?: ComponentChildren;
2620
+ }
2621
+ declare class Scroller extends BaseComponent<ScrollerProps> implements ScrollerLike {
2622
+ private el;
2623
+ render(): createElement.JSX.Element;
2624
+ handleEl: (el: HTMLElement) => void;
2625
+ needsXScrolling(): boolean;
2626
+ needsYScrolling(): boolean;
2627
+ getXScrollbarWidth(): number;
2628
+ getYScrollbarWidth(): number;
2629
+ }
2630
+
2631
+ declare class RefMap<RefType> {
2632
+ masterCallback?: (val: RefType | null, key: string) => void;
2633
+ currentMap: {
2634
+ [key: string]: RefType;
2635
+ };
2636
+ private depths;
2637
+ private callbackMap;
2638
+ constructor(masterCallback?: (val: RefType | null, key: string) => void);
2639
+ createRef(key: string | number): (val: RefType) => void;
2640
+ handleValue: (val: RefType | null, key: string) => void;
2641
+ collect(startIndex?: number, endIndex?: number, step?: number): RefType[];
2642
+ getAll(): RefType[];
2643
+ }
2644
+
2645
+ interface SimpleScrollGridProps {
2646
+ cols: ColProps[];
2647
+ sections: SimpleScrollGridSection[];
2648
+ liquid: boolean;
2649
+ collapsibleWidth: boolean;
2650
+ height?: CssDimValue;
2651
+ }
2652
+ interface SimpleScrollGridSection extends SectionConfig {
2653
+ key: string;
2654
+ chunk?: ChunkConfig;
2655
+ }
2656
+ interface SimpleScrollGridState {
2657
+ shrinkWidth: number | null;
2658
+ forceYScrollbars: boolean;
2659
+ scrollerClientWidths: {
2660
+ [key: string]: number;
2661
+ };
2662
+ scrollerClientHeights: {
2663
+ [key: string]: number;
2664
+ };
2665
+ }
2666
+ declare class SimpleScrollGrid extends BaseComponent<SimpleScrollGridProps, SimpleScrollGridState> {
2667
+ processCols: (a: any) => any;
2668
+ renderMicroColGroup: typeof renderMicroColGroup;
2669
+ scrollerRefs: RefMap<Scroller>;
2670
+ scrollerElRefs: RefMap<HTMLElement>;
2671
+ state: SimpleScrollGridState;
2672
+ render(): VNode;
2673
+ renderSection(sectionConfig: SimpleScrollGridSection, microColGroupNode: VNode, isHeader: boolean): createElement.JSX.Element;
2674
+ renderChunkTd(sectionConfig: SimpleScrollGridSection, microColGroupNode: VNode, chunkConfig: ChunkConfig, isHeader: boolean): createElement.JSX.Element;
2675
+ _handleScrollerEl(scrollerEl: HTMLElement | null, key: string): void;
2676
+ handleSizing: () => void;
2677
+ componentDidMount(): void;
2678
+ componentDidUpdate(): void;
2679
+ componentWillUnmount(): void;
2680
+ computeShrinkWidth(): number;
2681
+ computeScrollerDims(): {
2682
+ forceYScrollbars: boolean;
2683
+ scrollerClientWidths: {
2684
+ [index: string]: number;
2685
+ };
2686
+ scrollerClientHeights: {
2687
+ [index: string]: number;
2688
+ };
2689
+ };
2690
+ }
2691
+
2692
+ interface ScrollbarWidths {
2693
+ x: number;
2694
+ y: number;
2695
+ }
2696
+ declare function getScrollbarWidths(): ScrollbarWidths;
2697
+
2698
+ declare function getIsRtlScrollbarOnLeft(): boolean;
2699
+
2700
+ interface NowTimerProps {
2701
+ unit: string;
2702
+ children: (now: DateMarker, todayRange: DateRange) => ComponentChildren;
2703
+ }
2704
+ interface NowTimerState {
2705
+ nowDate: DateMarker;
2706
+ todayRange: DateRange;
2707
+ }
2708
+ declare class NowTimer extends Component<NowTimerProps, NowTimerState> {
2709
+ static contextType: any;
2710
+ context: ViewContext;
2711
+ initialNowDate: DateMarker;
2712
+ initialNowQueriedMs: number;
2713
+ timeoutId: any;
2714
+ constructor(props: NowTimerProps, context: ViewContext);
2715
+ render(): ComponentChildren;
2716
+ componentDidMount(): void;
2717
+ componentDidUpdate(prevProps: NowTimerProps): void;
2718
+ componentWillUnmount(): void;
2719
+ private computeTiming;
2720
+ private setTimeout;
2721
+ private clearTimeout;
2722
+ }
2723
+
2724
+ declare const globalPlugins: PluginDef[];
2725
+
2726
+ interface StandardEventProps {
2727
+ elRef?: ElRef;
2728
+ elClasses?: string[];
2729
+ seg: Seg;
2730
+ isDragging: boolean;
2731
+ isResizing: boolean;
2732
+ isDateSelecting: boolean;
2733
+ isSelected: boolean;
2734
+ isPast: boolean;
2735
+ isFuture: boolean;
2736
+ isToday: boolean;
2737
+ disableDragging?: boolean;
2738
+ disableResizing?: boolean;
2739
+ defaultTimeFormat: DateFormatter;
2740
+ defaultDisplayEventTime?: boolean;
2741
+ defaultDisplayEventEnd?: boolean;
2742
+ }
2743
+ declare class StandardEvent extends BaseComponent<StandardEventProps> {
2744
+ render(): createElement.JSX.Element;
2745
+ }
2746
+
2747
+ interface MinimalEventProps {
2748
+ seg: Seg;
2749
+ isDragging: boolean;
2750
+ isResizing: boolean;
2751
+ isDateSelecting: boolean;
2752
+ isSelected: boolean;
2753
+ isPast: boolean;
2754
+ isFuture: boolean;
2755
+ isToday: boolean;
2756
+ }
2757
+ type EventContainerProps = ElProps & MinimalEventProps & {
2758
+ defaultGenerator: CustomContentGenerator<EventContentArg>;
2759
+ disableDragging?: boolean;
2760
+ disableResizing?: boolean;
2761
+ timeText: string;
2762
+ children?: InnerContainerFunc<EventContentArg>;
2763
+ };
2764
+ declare class EventContainer extends BaseComponent<EventContainerProps> {
2765
+ elRef: preact.RefObject<HTMLElement>;
2766
+ render(): createElement.JSX.Element;
2767
+ componentDidMount(): void;
2768
+ }
2769
+
2770
+ interface BgEventProps {
2771
+ seg: Seg;
2772
+ isPast: boolean;
2773
+ isFuture: boolean;
2774
+ isToday: boolean;
2775
+ }
2776
+ declare class BgEvent extends BaseComponent<BgEventProps> {
2777
+ render(): createElement.JSX.Element;
2778
+ }
2779
+ declare function renderFill(fillType: string): createElement.JSX.Element;
2780
+
2781
+ declare function injectStyles(css: string): void;
2782
+
2783
+ export { ViewMountArg as $, AllowFunc as A, BusinessHoursInput as B, CalendarImpl as C, DateInput as D, EventSourceApi as E, FormatterInput as F, MoreLinkMountArg as G, SlotLaneContentArg as H, SlotLaneMountArg as I, JsonRequestError as J, SlotLabelContentArg as K, LocaleSingularArg as L, MoreLinkContentArg as M, NativeFormatterOptions as N, OverlapFunc as O, PluginDefInput as P, SlotLabelMountArg as Q, AllDayContentArg as R, SpecificViewContentArg as S, AllDayMountArg as T, DayHeaderContentArg as U, ViewApi as V, WillUnmountHandler as W, DayHeaderMountArg as X, DayCellContentArg as Y, DayCellMountArg as Z, ViewContentArg as _, CalendarOptions as a, guid as a$, EventClickArg as a0, EventHoveringArg as a1, DateSelectArg as a2, DateUnselectArg as a3, WeekNumberCalculation as a4, ToolbarInput as a5, CustomButtonInput as a6, ButtonIconsInput as a7, ButtonTextCompoundInput as a8, EventContentArg as a9, BASE_OPTION_DEFAULTS as aA, identity as aB, refineProps as aC, EventDef as aD, EventDefHash as aE, EventInstance as aF, EventInstanceHash as aG, createEventInstance as aH, EventRefined as aI, EventTuple as aJ, EventRefiners as aK, parseEventDef as aL, refineEventDef as aM, parseBusinessHours as aN, OrderSpec as aO, padStart as aP, isInt as aQ, parseFieldSpecs as aR, compareByFieldSpecs as aS, flexibleCompare as aT, preventSelection as aU, allowSelection as aV, preventContextMenu as aW, allowContextMenu as aX, compareNumbers as aY, enableCursor as aZ, disableCursor as a_, EventMountArg as aa, DatesSetArg as ab, EventAddArg as ac, EventChangeArg as ad, EventDropArg as ae, EventRemoveArg as af, ButtonHintCompoundInput as ag, CustomRenderingHandler as ah, CustomRenderingStore as ai, DateSpanApi as aj, DatePointApi as ak, DateSelectionApi as al, Duration as am, EventSegment as an, MoreLinkAction as ao, MoreLinkSimpleAction as ap, MoreLinkArg as aq, MoreLinkHandler as ar, Identity as as, Dictionary as at, BaseOptionRefiners as au, BaseOptionsRefined as av, ViewOptionsRefined as aw, RawOptionsFromRefiners as ax, RefinedOptionsFromRefiners as ay, CalendarListenerRefiners as az, PluginDef as b, rangeContainsRange as b$, computeVisibleDayRange as b0, isMultiDayRange as b1, diffDates as b2, removeExact as b3, isArraysEqual as b4, MemoizeHashFunc as b5, MemoiseArrayFunc as b6, memoize as b7, memoizeObjArg as b8, memoizeArraylike as b9, createEmptyEventStore as bA, mergeEventStores as bB, getRelevantEvents as bC, eventTupleToStore as bD, EventUiHash as bE, EventUi as bF, combineEventUis as bG, createEventUi as bH, SplittableProps as bI, Splitter as bJ, getDayClassNames as bK, getDateMeta as bL, getSlotClassNames as bM, buildNavLinkAttrs as bN, preventDefault as bO, whenTransitionDone as bP, computeInnerRect as bQ, computeEdges as bR, getClippingParents as bS, computeRect as bT, unpromisify as bU, Emitter as bV, DateRange as bW, rangeContainsMarker as bX, intersectRanges as bY, rangesEqual as bZ, rangesIntersect as b_, memoizeHashlike as ba, Rect as bb, Point as bc, intersectRects as bd, pointInsideRect as be, constrainPoint as bf, getRectCenter as bg, diffPoints as bh, translateRect as bi, mapHash as bj, filterHash as bk, isPropsEqual as bl, compareObjs as bm, collectFromHash as bn, findElements as bo, findDirectChildren as bp, removeElement as bq, applyStyle as br, elementMatches as bs, elementClosest as bt, getElRoot as bu, getEventTargetViaRoot as bv, getUniqueDomId as bw, parseClassNames as bx, getCanVGrowWithinCell as by, EventStore as bz, CalendarApi as c, interactionSettingsToStore as c$, PositionCache as c0, ScrollController as c1, ElementScrollController as c2, WindowScrollController as c3, Theme as c4, ViewContext as c5, ViewContextType as c6, Seg as c7, EventSegUiInteractionState as c8, DateComponent as c9, greatestDurationDenominator as cA, DateEnv as cB, createFormatter as cC, DateFormatter as cD, VerboseFormattingArg as cE, formatIsoTimeString as cF, formatDayString as cG, buildIsoString as cH, NamedTimeZoneImpl as cI, parse as cJ, EventSourceDef as cK, EventSourceRefined as cL, EventSourceRefiners as cM, SegSpan as cN, SegRect as cO, SegEntry as cP, SegInsertion as cQ, SegEntryGroup as cR, SegHierarchy as cS, buildEntryKey as cT, getEntrySpanEnd as cU, binarySearch as cV, groupIntersectingEntries as cW, intersectSpans as cX, InteractionSettings as cY, InteractionSettingsStore as cZ, Interaction as c_, CalendarData as ca, ViewProps as cb, DateProfile as cc, DateProfileGenerator as cd, ViewSpec as ce, DateSpan as cf, isDateSpansEqual as cg, DateMarker as ch, addDays as ci, startOfDay as cj, addMs as ck, addWeeks as cl, diffWeeks as cm, diffWholeWeeks as cn, diffWholeDays as co, diffDayAndTime as cp, diffDays as cq, isValidDate as cr, createDuration as cs, asCleanDays as ct, multiplyDuration as cu, addDurations as cv, asRoughMinutes as cw, asRoughSeconds as cx, asRoughMs as cy, wholeDivideDurations as cz, EventApi as d, getSectionHasLiquidHeight as d$, interactionSettingsStore as d0, PointerDragEvent as d1, Hit as d2, dateSelectionJoinTransformer as d3, eventDragMutationMassager as d4, EventDropTransformers as d5, ElementDragging as d6, config as d7, globalLocales as d8, RecurringType as d9, SlicedProps as dA, Slicer as dB, EventMutation as dC, applyMutationToEventStore as dD, Constraint as dE, isPropsValid as dF, isInteractionValid as dG, isDateSelectionValid as dH, requestJson as dI, BaseComponent as dJ, setRef as dK, DelayedRunner as dL, ScrollGridProps as dM, ScrollGridSectionConfig as dN, ColGroupConfig as dO, ScrollGridChunkConfig as dP, SimpleScrollGridSection as dQ, SimpleScrollGrid as dR, ScrollerLike as dS, ColProps as dT, ChunkContentCallbackArgs as dU, ChunkConfigRowContent as dV, ChunkConfigContent as dW, hasShrinkWidth as dX, renderMicroColGroup as dY, getScrollGridClassNames as dZ, getSectionClassNames as d_, DragMetaInput as da, DragMeta as db, parseDragMeta as dc, ViewPropsTransformer as dd, Action as de, CalendarContext as df, CalendarContentProps as dg, CalendarRoot as dh, DayHeader as di, computeFallbackHeaderFormat as dj, TableDateCell as dk, TableDowCell as dl, DaySeriesModel as dm, EventInteractionState as dn, EventRenderRange as dp, sliceEventStore as dq, hasBgRendering as dr, getElSeg as ds, buildSegTimeText as dt, sortEventSegs as du, getSegMeta as dv, buildEventRangeKey as dw, getSegAnchorAttrs as dx, DayTableCell as dy, DayTableModel as dz, CalendarListeners as e, getAllowYScrolling as e0, renderChunkContent as e1, computeShrinkWidth as e2, sanitizeShrinkWidth as e3, isColPropsEqual as e4, renderScrollShim as e5, getStickyFooterScrollbar as e6, getStickyHeaderDates as e7, OverflowValue as e8, Scroller as e9, getDefaultEventEnd as eA, injectStyles as eB, EventImpl as eC, buildEventApis as eD, ElProps as eE, buildElAttrs as eF, InnerContainerFunc as eG, ContentContainer as eH, CustomRendering as eI, getScrollbarWidths as ea, RefMap as eb, getIsRtlScrollbarOnLeft as ec, NowTimer as ed, ScrollRequest as ee, ScrollResponder as ef, globalPlugins as eg, MountArg as eh, StandardEvent as ei, NowIndicatorContainer as ej, DayCellContainer as ek, hasCustomDayCellContent as el, MinimalEventProps as em, EventContainer as en, renderFill as eo, BgEvent as ep, WeekNumberContainerProps as eq, WeekNumberContainer as er, MoreLinkContainerProps as es, MoreLinkContainer as et, computeEarliestSegStart as eu, ViewContainerProps as ev, ViewContainer as ew, DatePointTransform as ex, DateSpanTransform as ey, triggerDateSelect as ez, DurationInput as f, DateSpanInput as g, DateRangeInput as h, EventSourceInput as i, EventSourceFunc as j, EventSourceFuncArg as k, EventInput as l, EventInputTransformer as m, CssDimValue as n, LocaleInput as o, ConstraintInput as p, ViewComponentType as q, SpecificViewMountArg as r, sliceEvents as s, ClassNamesGenerator as t, CustomContentGenerator as u, DidMountHandler as v, NowIndicatorContentArg as w, NowIndicatorMountArg as x, WeekNumberContentArg as y, WeekNumberMountArg as z };