@fullcalendar/core 6.1.15 → 6.1.18

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 (170) hide show
  1. package/index.cjs +91 -21
  2. package/index.global.js +189 -90
  3. package/index.global.min.js +2 -2
  4. package/index.js +92 -22
  5. package/internal-common.cjs +147 -121
  6. package/internal-common.d.ts +20 -5
  7. package/internal-common.js +148 -119
  8. package/internal.js +1 -1
  9. package/locales/af.global.js +1 -1
  10. package/locales/af.global.min.js +1 -1
  11. package/locales/ar-dz.global.js +1 -1
  12. package/locales/ar-dz.global.min.js +1 -1
  13. package/locales/ar-kw.global.js +1 -1
  14. package/locales/ar-kw.global.min.js +1 -1
  15. package/locales/ar-ly.global.js +1 -1
  16. package/locales/ar-ly.global.min.js +1 -1
  17. package/locales/ar-ma.global.js +1 -1
  18. package/locales/ar-ma.global.min.js +1 -1
  19. package/locales/ar-sa.global.js +1 -1
  20. package/locales/ar-sa.global.min.js +1 -1
  21. package/locales/ar-tn.global.js +1 -1
  22. package/locales/ar-tn.global.min.js +1 -1
  23. package/locales/ar.global.js +1 -1
  24. package/locales/ar.global.min.js +1 -1
  25. package/locales/az.global.js +1 -1
  26. package/locales/az.global.min.js +1 -1
  27. package/locales/bg.global.js +1 -1
  28. package/locales/bg.global.min.js +1 -1
  29. package/locales/bn.global.js +1 -1
  30. package/locales/bn.global.min.js +1 -1
  31. package/locales/bs.global.js +1 -1
  32. package/locales/bs.global.min.js +1 -1
  33. package/locales/ca.global.js +1 -1
  34. package/locales/ca.global.min.js +1 -1
  35. package/locales/cs.global.js +1 -1
  36. package/locales/cs.global.min.js +1 -1
  37. package/locales/cy.global.js +1 -1
  38. package/locales/cy.global.min.js +1 -1
  39. package/locales/da.global.js +1 -1
  40. package/locales/da.global.min.js +1 -1
  41. package/locales/de-at.global.js +1 -1
  42. package/locales/de-at.global.min.js +1 -1
  43. package/locales/de.global.js +1 -1
  44. package/locales/de.global.min.js +1 -1
  45. package/locales/el.global.js +1 -1
  46. package/locales/el.global.min.js +1 -1
  47. package/locales/en-au.global.js +1 -1
  48. package/locales/en-au.global.min.js +1 -1
  49. package/locales/en-gb.global.js +1 -1
  50. package/locales/en-gb.global.min.js +1 -1
  51. package/locales/en-nz.global.js +1 -1
  52. package/locales/en-nz.global.min.js +1 -1
  53. package/locales/eo.global.js +1 -1
  54. package/locales/eo.global.min.js +1 -1
  55. package/locales/es-us.global.js +1 -1
  56. package/locales/es-us.global.min.js +1 -1
  57. package/locales/es.global.js +1 -1
  58. package/locales/es.global.min.js +1 -1
  59. package/locales/et.global.js +1 -1
  60. package/locales/et.global.min.js +1 -1
  61. package/locales/eu.global.js +1 -1
  62. package/locales/eu.global.min.js +1 -1
  63. package/locales/fa.global.js +1 -1
  64. package/locales/fa.global.min.js +1 -1
  65. package/locales/fi.global.js +1 -1
  66. package/locales/fi.global.min.js +1 -1
  67. package/locales/fr-ca.global.js +1 -1
  68. package/locales/fr-ca.global.min.js +1 -1
  69. package/locales/fr-ch.global.js +1 -1
  70. package/locales/fr-ch.global.min.js +1 -1
  71. package/locales/fr.global.js +1 -1
  72. package/locales/fr.global.min.js +1 -1
  73. package/locales/gl.global.js +1 -1
  74. package/locales/gl.global.min.js +1 -1
  75. package/locales/he.global.js +1 -1
  76. package/locales/he.global.min.js +1 -1
  77. package/locales/hi.global.js +1 -1
  78. package/locales/hi.global.min.js +1 -1
  79. package/locales/hr.global.js +1 -1
  80. package/locales/hr.global.min.js +1 -1
  81. package/locales/hu.global.js +1 -1
  82. package/locales/hu.global.min.js +1 -1
  83. package/locales/hy-am.global.js +1 -1
  84. package/locales/hy-am.global.min.js +1 -1
  85. package/locales/id.global.js +1 -1
  86. package/locales/id.global.min.js +1 -1
  87. package/locales/is.global.js +1 -1
  88. package/locales/is.global.min.js +1 -1
  89. package/locales/it.global.js +1 -1
  90. package/locales/it.global.min.js +1 -1
  91. package/locales/ja.global.js +1 -1
  92. package/locales/ja.global.min.js +1 -1
  93. package/locales/ka.global.js +1 -1
  94. package/locales/ka.global.min.js +1 -1
  95. package/locales/kk.global.js +1 -1
  96. package/locales/kk.global.min.js +1 -1
  97. package/locales/km.global.js +1 -1
  98. package/locales/km.global.min.js +1 -1
  99. package/locales/ko.global.js +1 -1
  100. package/locales/ko.global.min.js +1 -1
  101. package/locales/ku.global.js +1 -1
  102. package/locales/ku.global.min.js +1 -1
  103. package/locales/lb.global.js +1 -1
  104. package/locales/lb.global.min.js +1 -1
  105. package/locales/lt.global.js +1 -1
  106. package/locales/lt.global.min.js +1 -1
  107. package/locales/lv.global.js +1 -1
  108. package/locales/lv.global.min.js +1 -1
  109. package/locales/mk.global.js +1 -1
  110. package/locales/mk.global.min.js +1 -1
  111. package/locales/ms.global.js +1 -1
  112. package/locales/ms.global.min.js +1 -1
  113. package/locales/nb.global.js +1 -1
  114. package/locales/nb.global.min.js +1 -1
  115. package/locales/ne.global.js +1 -1
  116. package/locales/ne.global.min.js +1 -1
  117. package/locales/nl.global.js +1 -1
  118. package/locales/nl.global.min.js +1 -1
  119. package/locales/nn.global.js +1 -1
  120. package/locales/nn.global.min.js +1 -1
  121. package/locales/pl.global.js +1 -1
  122. package/locales/pl.global.min.js +1 -1
  123. package/locales/pt-br.global.js +1 -1
  124. package/locales/pt-br.global.min.js +1 -1
  125. package/locales/pt.global.js +1 -1
  126. package/locales/pt.global.min.js +1 -1
  127. package/locales/ro.global.js +1 -1
  128. package/locales/ro.global.min.js +1 -1
  129. package/locales/ru.global.js +1 -1
  130. package/locales/ru.global.min.js +1 -1
  131. package/locales/si-lk.global.js +1 -1
  132. package/locales/si-lk.global.min.js +1 -1
  133. package/locales/sk.global.js +1 -1
  134. package/locales/sk.global.min.js +1 -1
  135. package/locales/sl.global.js +1 -1
  136. package/locales/sl.global.min.js +1 -1
  137. package/locales/sm.global.js +1 -1
  138. package/locales/sm.global.min.js +1 -1
  139. package/locales/sq.global.js +1 -1
  140. package/locales/sq.global.min.js +1 -1
  141. package/locales/sr-cyrl.global.js +1 -1
  142. package/locales/sr-cyrl.global.min.js +1 -1
  143. package/locales/sr.global.js +1 -1
  144. package/locales/sr.global.min.js +1 -1
  145. package/locales/sv.global.js +1 -1
  146. package/locales/sv.global.min.js +1 -1
  147. package/locales/ta-in.global.js +1 -1
  148. package/locales/ta-in.global.min.js +1 -1
  149. package/locales/th.global.js +1 -1
  150. package/locales/th.global.min.js +1 -1
  151. package/locales/tr.global.js +1 -1
  152. package/locales/tr.global.min.js +1 -1
  153. package/locales/ug.global.js +1 -1
  154. package/locales/ug.global.min.js +1 -1
  155. package/locales/uk.global.js +1 -1
  156. package/locales/uk.global.min.js +1 -1
  157. package/locales/uz-cy.global.js +1 -1
  158. package/locales/uz-cy.global.min.js +1 -1
  159. package/locales/uz.global.js +1 -1
  160. package/locales/uz.global.min.js +1 -1
  161. package/locales/vi.global.js +1 -1
  162. package/locales/vi.global.min.js +1 -1
  163. package/locales/zh-cn.global.js +1 -1
  164. package/locales/zh-cn.global.min.js +1 -1
  165. package/locales/zh-tw.global.js +1 -1
  166. package/locales/zh-tw.global.min.js +1 -1
  167. package/locales-all.global.js +1 -1
  168. package/locales-all.global.min.js +1 -1
  169. package/package.json +1 -1
  170. package/preact.js +1 -1
@@ -82,7 +82,7 @@ if (typeof document !== 'undefined') {
82
82
  registerStylesRoot(document);
83
83
  }
84
84
 
85
- var css_248z = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
85
+ var css_248z = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,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\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
86
86
  injectStyles(css_248z);
87
87
 
88
88
  class DelayedRunner {
@@ -963,10 +963,10 @@ function memoizeHashlike(workerFunc, resEquality, teardownFunc) {
963
963
 
964
964
  const EXTENDED_SETTINGS_AND_SEVERITIES = {
965
965
  week: 3,
966
- separator: 0,
967
- omitZeroMinute: 0,
968
- meridiem: 0,
969
- omitCommas: 0,
966
+ separator: 9,
967
+ omitZeroMinute: 9,
968
+ meridiem: 9,
969
+ omitCommas: 9,
970
970
  };
971
971
  const STANDARD_DATE_PROP_SEVERITIES = {
972
972
  timeZoneName: 7,
@@ -988,22 +988,25 @@ class NativeFormatter {
988
988
  constructor(formatSettings) {
989
989
  let standardDateProps = {};
990
990
  let extendedSettings = {};
991
- let severity = 0;
991
+ let smallestUnitNum = 9; // the smallest unit in the formatter (9 is a sentinel, beyond max)
992
992
  for (let name in formatSettings) {
993
993
  if (name in EXTENDED_SETTINGS_AND_SEVERITIES) {
994
994
  extendedSettings[name] = formatSettings[name];
995
- severity = Math.max(EXTENDED_SETTINGS_AND_SEVERITIES[name], severity);
995
+ const severity = EXTENDED_SETTINGS_AND_SEVERITIES[name];
996
+ if (severity < 9) {
997
+ smallestUnitNum = Math.min(EXTENDED_SETTINGS_AND_SEVERITIES[name], smallestUnitNum);
998
+ }
996
999
  }
997
1000
  else {
998
1001
  standardDateProps[name] = formatSettings[name];
999
1002
  if (name in STANDARD_DATE_PROP_SEVERITIES) { // TODO: what about hour12? no severity
1000
- severity = Math.max(STANDARD_DATE_PROP_SEVERITIES[name], severity);
1003
+ smallestUnitNum = Math.min(STANDARD_DATE_PROP_SEVERITIES[name], smallestUnitNum);
1001
1004
  }
1002
1005
  }
1003
1006
  }
1004
1007
  this.standardDateProps = standardDateProps;
1005
1008
  this.extendedSettings = extendedSettings;
1006
- this.severity = severity;
1009
+ this.smallestUnitNum = smallestUnitNum;
1007
1010
  this.buildFormattingFunc = memoize(buildFormattingFunc);
1008
1011
  }
1009
1012
  format(date, context) {
@@ -1038,8 +1041,8 @@ class NativeFormatter {
1038
1041
  }
1039
1042
  return full0 + separator + full1;
1040
1043
  }
1041
- getLargestUnit() {
1042
- switch (this.severity) {
1044
+ getSmallestUnit() {
1045
+ switch (this.smallestUnitNum) {
1043
1046
  case 7:
1044
1047
  case 6:
1045
1048
  case 5:
@@ -1752,6 +1755,25 @@ function compareObjs(oldProps, newProps, equalityFuncs = {}) {
1752
1755
  if (oldProps === newProps) {
1753
1756
  return true;
1754
1757
  }
1758
+ // if (debug) {
1759
+ // for (let key in newProps) {
1760
+ // if (key in oldProps && isObjValsEqual(oldProps[key], newProps[key], equalityFuncs[key])) {
1761
+ // // equal
1762
+ // } else {
1763
+ // if (debug) {
1764
+ // console.log('prop difference', key, oldProps[key], newProps[key])
1765
+ // }
1766
+ // }
1767
+ // }
1768
+ // // check for props that were omitted in the new
1769
+ // for (let key in oldProps) {
1770
+ // if (!(key in newProps)) {
1771
+ // if (debug) {
1772
+ // console.log('prop absent', key)
1773
+ // }
1774
+ // }
1775
+ // }
1776
+ // }
1755
1777
  for (let key in newProps) {
1756
1778
  if (key in oldProps && isObjValsEqual(oldProps[key], newProps[key], equalityFuncs[key])) ;
1757
1779
  else {
@@ -2311,9 +2333,10 @@ class ScrollResponder {
2311
2333
  }
2312
2334
 
2313
2335
  const ViewContextType = createContext({}); // for Components
2314
- function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
2336
+ function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, nowManager, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
2315
2337
  return {
2316
2338
  dateEnv,
2339
+ nowManager,
2317
2340
  options: viewOptions,
2318
2341
  pluginHooks,
2319
2342
  emitter,
@@ -2341,13 +2364,14 @@ function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator,
2341
2364
 
2342
2365
  /* eslint max-classes-per-file: off */
2343
2366
  class PureComponent extends Component {
2367
+ // debug: boolean
2344
2368
  shouldComponentUpdate(nextProps, nextState) {
2345
- if (this.debug) {
2346
- // eslint-disable-next-line no-console
2347
- console.log(getUnequalProps(nextProps, this.props), getUnequalProps(nextState, this.state));
2348
- }
2349
- return !compareObjs(this.props, nextProps, this.propEquality) ||
2350
- !compareObjs(this.state, nextState, this.stateEquality);
2369
+ const shouldUpdate = !compareObjs(this.props, nextProps, this.propEquality /*, this.debug */) ||
2370
+ !compareObjs(this.state, nextState, this.stateEquality /*, this.debug */);
2371
+ // if (this.debug && shouldUpdate) {
2372
+ // console.log('shouldUpdate!')
2373
+ // }
2374
+ return shouldUpdate;
2351
2375
  }
2352
2376
  // HACK for freakin' React StrictMode
2353
2377
  safeSetState(newState) {
@@ -2587,10 +2611,10 @@ class ViewContainer extends BaseComponent {
2587
2611
  let { props, context } = this;
2588
2612
  let { options } = context;
2589
2613
  let renderProps = { view: context.viewApi };
2590
- return (createElement(ContentContainer, Object.assign({}, props, { elTag: props.elTag || 'div', elClasses: [
2614
+ return (createElement(ContentContainer, { elRef: props.elRef, elTag: props.elTag || 'div', elAttrs: props.elAttrs, elClasses: [
2591
2615
  ...buildViewClassNames(props.viewSpec),
2592
2616
  ...(props.elClasses || []),
2593
- ], renderProps: renderProps, classNameGenerator: options.viewClassNames, generatorName: undefined, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount }), () => props.children));
2617
+ ], elStyle: props.elStyle, renderProps: renderProps, classNameGenerator: options.viewClassNames, generatorName: undefined, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount }, () => props.children));
2594
2618
  }
2595
2619
  }
2596
2620
  function buildViewClassNames(viewSpec) {
@@ -2746,36 +2770,9 @@ function diffDates(date0, date1, dateEnv, largeUnit) {
2746
2770
  return diffDayAndTime(date0, date1); // returns a duration
2747
2771
  }
2748
2772
 
2749
- function reduceCurrentDate(currentDate, action) {
2750
- switch (action.type) {
2751
- case 'CHANGE_DATE':
2752
- return action.dateMarker;
2753
- default:
2754
- return currentDate;
2755
- }
2756
- }
2757
- function getInitialDate(options, dateEnv) {
2758
- let initialDateInput = options.initialDate;
2759
- // compute the initial ambig-timezone date
2760
- if (initialDateInput != null) {
2761
- return dateEnv.createMarker(initialDateInput);
2762
- }
2763
- return getNow(options.now, dateEnv); // getNow already returns unzoned
2764
- }
2765
- function getNow(nowInput, dateEnv) {
2766
- if (typeof nowInput === 'function') {
2767
- nowInput = nowInput();
2768
- }
2769
- if (nowInput == null) {
2770
- return dateEnv.createNowMarker();
2771
- }
2772
- return dateEnv.createMarker(nowInput);
2773
- }
2774
-
2775
2773
  class DateProfileGenerator {
2776
2774
  constructor(props) {
2777
2775
  this.props = props;
2778
- this.nowDate = getNow(props.nowInput, props.dateEnv);
2779
2776
  this.initHiddenDays();
2780
2777
  }
2781
2778
  /* Date Range Computation
@@ -2860,7 +2857,7 @@ class DateProfileGenerator {
2860
2857
  buildValidRange() {
2861
2858
  let input = this.props.validRangeInput;
2862
2859
  let simpleInput = typeof input === 'function'
2863
- ? input.call(this.props.calendarApi, this.nowDate)
2860
+ ? input.call(this.props.calendarApi, this.props.dateEnv.toDate(this.props.nowManager.getDateMarker()))
2864
2861
  : input;
2865
2862
  return this.refineRange(simpleInput) ||
2866
2863
  { start: null, end: null }; // completely open-ended
@@ -4752,6 +4749,85 @@ function interactionSettingsToStore(settings) {
4752
4749
  // global state
4753
4750
  const interactionSettingsStore = {};
4754
4751
 
4752
+ class NowTimer extends Component {
4753
+ constructor(props, context) {
4754
+ super(props, context);
4755
+ this.handleRefresh = () => {
4756
+ let timing = this.computeTiming();
4757
+ if (timing.state.nowDate.valueOf() !== this.state.nowDate.valueOf()) {
4758
+ this.setState(timing.state);
4759
+ }
4760
+ this.clearTimeout();
4761
+ this.setTimeout(timing.waitMs);
4762
+ };
4763
+ this.handleVisibilityChange = () => {
4764
+ if (!document.hidden) {
4765
+ this.handleRefresh();
4766
+ }
4767
+ };
4768
+ this.state = this.computeTiming().state;
4769
+ }
4770
+ render() {
4771
+ let { props, state } = this;
4772
+ return props.children(state.nowDate, state.todayRange);
4773
+ }
4774
+ componentDidMount() {
4775
+ this.setTimeout();
4776
+ this.context.nowManager.addResetListener(this.handleRefresh);
4777
+ // fired tab becomes visible after being hidden
4778
+ document.addEventListener('visibilitychange', this.handleVisibilityChange);
4779
+ }
4780
+ componentDidUpdate(prevProps) {
4781
+ if (prevProps.unit !== this.props.unit) {
4782
+ this.clearTimeout();
4783
+ this.setTimeout();
4784
+ }
4785
+ }
4786
+ componentWillUnmount() {
4787
+ this.clearTimeout();
4788
+ this.context.nowManager.removeResetListener(this.handleRefresh);
4789
+ document.removeEventListener('visibilitychange', this.handleVisibilityChange);
4790
+ }
4791
+ computeTiming() {
4792
+ let { props, context } = this;
4793
+ let unroundedNow = context.nowManager.getDateMarker();
4794
+ let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);
4795
+ let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));
4796
+ let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
4797
+ // there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)
4798
+ // ensure no longer than a day
4799
+ waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);
4800
+ return {
4801
+ state: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },
4802
+ waitMs,
4803
+ };
4804
+ }
4805
+ setTimeout(waitMs = this.computeTiming().waitMs) {
4806
+ // NOTE: timeout could take longer than expected if tab sleeps,
4807
+ // which is why we listen to 'visibilitychange'
4808
+ this.timeoutId = setTimeout(() => {
4809
+ // NOTE: timeout could also return *earlier* than expected, and we need to wait 2 ms more
4810
+ // This is why use use same waitMs from computeTiming, so we don't skip an interval while
4811
+ // .setState() is executing
4812
+ const timing = this.computeTiming();
4813
+ this.setState(timing.state, () => {
4814
+ this.setTimeout(timing.waitMs);
4815
+ });
4816
+ }, waitMs);
4817
+ }
4818
+ clearTimeout() {
4819
+ if (this.timeoutId) {
4820
+ clearTimeout(this.timeoutId);
4821
+ }
4822
+ }
4823
+ }
4824
+ NowTimer.contextType = ViewContextType;
4825
+ function buildDayRange(date) {
4826
+ let start = startOfDay(date);
4827
+ let end = addDays(start, 1);
4828
+ return { start, end };
4829
+ }
4830
+
4755
4831
  class CalendarImpl {
4756
4832
  getCurrentData() {
4757
4833
  return this.currentDataManager.getCurrentData();
@@ -4907,7 +4983,7 @@ class CalendarImpl {
4907
4983
  this.unselect();
4908
4984
  this.dispatch({
4909
4985
  type: 'CHANGE_DATE',
4910
- dateMarker: getNow(state.calendarOptions.now, state.dateEnv),
4986
+ dateMarker: state.nowManager.getDateMarker(),
4911
4987
  });
4912
4988
  }
4913
4989
  gotoDate(zonedDateInput) {
@@ -5308,7 +5384,7 @@ function buildEventUiForKey(allUi, eventUiForKey, individualUi) {
5308
5384
  function getDateMeta(date, todayRange, nowDate, dateProfile) {
5309
5385
  return {
5310
5386
  dow: date.getUTCDay(),
5311
- isDisabled: Boolean(dateProfile && !rangeContainsMarker(dateProfile.activeRange, date)),
5387
+ isDisabled: Boolean(dateProfile && (!dateProfile.activeRange || !rangeContainsMarker(dateProfile.activeRange, date))),
5312
5388
  isOther: Boolean(dateProfile && !rangeContainsMarker(dateProfile.currentRange, date)),
5313
5389
  isToday: Boolean(todayRange && rangeContainsMarker(todayRange, date)),
5314
5390
  isPast: Boolean(nowDate ? (date < nowDate) : todayRange ? (date < todayRange.start) : false),
@@ -6073,7 +6149,13 @@ class TableDateCell extends BaseComponent {
6073
6149
  let navLinkAttrs = (!dayMeta.isDisabled && props.colCnt > 1)
6074
6150
  ? buildNavLinkAttrs(this.context, date)
6075
6151
  : {};
6076
- let renderProps = Object.assign(Object.assign(Object.assign({ date: dateEnv.toDate(date), view: viewApi }, props.extraRenderProps), { text }), dayMeta);
6152
+ let publicDate = dateEnv.toDate(date);
6153
+ // workaround for Luxon (and maybe moment) returning prior-days when start-of-day
6154
+ // in DST gap: https://github.com/fullcalendar/fullcalendar/issues/7633
6155
+ if (dateEnv.namedTimeZoneImpl) {
6156
+ publicDate = addMs(publicDate, 3600000); // add an hour
6157
+ }
6158
+ let renderProps = Object.assign(Object.assign(Object.assign({ date: publicDate, view: viewApi }, props.extraRenderProps), { text }), dayMeta);
6077
6159
  return (createElement(ContentContainer, { elTag: "th", elClasses: classNames, elAttrs: Object.assign({ role: 'columnheader', colSpan: props.colSpan, 'data-date': !dayMeta.isDisabled ? formatDayString(date) : undefined }, props.extraDataAttrs), renderProps: renderProps, generatorName: "dayHeaderContent", customGenerator: options.dayHeaderContent, defaultGenerator: renderInner$1, classNameGenerator: options.dayHeaderClassNames, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, (InnerContainer) => (createElement("div", { className: "fc-scrollgrid-sync-inner" }, !dayMeta.isDisabled && (createElement(InnerContainer, { elTag: "a", elAttrs: navLinkAttrs, elClasses: [
6078
6160
  'fc-col-header-cell-cushion',
6079
6161
  props.isSticky && 'fc-sticky',
@@ -6112,65 +6194,6 @@ class TableDowCell extends BaseComponent {
6112
6194
  }
6113
6195
  }
6114
6196
 
6115
- class NowTimer extends Component {
6116
- constructor(props, context) {
6117
- super(props, context);
6118
- this.initialNowDate = getNow(context.options.now, context.dateEnv);
6119
- this.initialNowQueriedMs = new Date().valueOf();
6120
- this.state = this.computeTiming().currentState;
6121
- }
6122
- render() {
6123
- let { props, state } = this;
6124
- return props.children(state.nowDate, state.todayRange);
6125
- }
6126
- componentDidMount() {
6127
- this.setTimeout();
6128
- }
6129
- componentDidUpdate(prevProps) {
6130
- if (prevProps.unit !== this.props.unit) {
6131
- this.clearTimeout();
6132
- this.setTimeout();
6133
- }
6134
- }
6135
- componentWillUnmount() {
6136
- this.clearTimeout();
6137
- }
6138
- computeTiming() {
6139
- let { props, context } = this;
6140
- let unroundedNow = addMs(this.initialNowDate, new Date().valueOf() - this.initialNowQueriedMs);
6141
- let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);
6142
- let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));
6143
- let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
6144
- // there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)
6145
- // ensure no longer than a day
6146
- waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);
6147
- return {
6148
- currentState: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },
6149
- nextState: { nowDate: nextUnitStart, todayRange: buildDayRange(nextUnitStart) },
6150
- waitMs,
6151
- };
6152
- }
6153
- setTimeout() {
6154
- let { nextState, waitMs } = this.computeTiming();
6155
- this.timeoutId = setTimeout(() => {
6156
- this.setState(nextState, () => {
6157
- this.setTimeout();
6158
- });
6159
- }, waitMs);
6160
- }
6161
- clearTimeout() {
6162
- if (this.timeoutId) {
6163
- clearTimeout(this.timeoutId);
6164
- }
6165
- }
6166
- }
6167
- NowTimer.contextType = ViewContextType;
6168
- function buildDayRange(date) {
6169
- let start = startOfDay(date);
6170
- let end = addDays(start, 1);
6171
- return { start, end };
6172
- }
6173
-
6174
6197
  class DayHeader extends BaseComponent {
6175
6198
  constructor() {
6176
6199
  super(...arguments);
@@ -7046,8 +7069,11 @@ function getSectionByKey(sections, key) {
7046
7069
  class EventContainer extends BaseComponent {
7047
7070
  constructor() {
7048
7071
  super(...arguments);
7072
+ // memo
7073
+ this.buildPublicEvent = memoize((context, eventDef, eventInstance) => new EventImpl(context, eventDef, eventInstance));
7049
7074
  this.handleEl = (el) => {
7050
7075
  this.el = el;
7076
+ setRef(this.props.elRef, el);
7051
7077
  if (el) {
7052
7078
  setElSeg(el, this.props.seg);
7053
7079
  }
@@ -7060,7 +7086,7 @@ class EventContainer extends BaseComponent {
7060
7086
  const { eventRange } = seg;
7061
7087
  const { ui } = eventRange;
7062
7088
  const renderProps = {
7063
- event: new EventImpl(context, eventRange.def, eventRange.instance),
7089
+ event: this.buildPublicEvent(context, eventRange.def, eventRange.instance),
7064
7090
  view: context.viewApi,
7065
7091
  timeText: props.timeText,
7066
7092
  textColor: ui.textColor,
@@ -7079,11 +7105,11 @@ class EventContainer extends BaseComponent {
7079
7105
  isDragging: Boolean(props.isDragging),
7080
7106
  isResizing: Boolean(props.isResizing),
7081
7107
  };
7082
- return (createElement(ContentContainer, Object.assign({}, props /* contains children */, { elRef: this.handleEl, elClasses: [
7108
+ return (createElement(ContentContainer, { elRef: this.handleEl, elTag: props.elTag, elAttrs: props.elAttrs, elClasses: [
7083
7109
  ...getEventClassNames(renderProps),
7084
7110
  ...seg.eventRange.ui.classNames,
7085
7111
  ...(props.elClasses || []),
7086
- ], renderProps: renderProps, generatorName: "eventContent", customGenerator: options.eventContent, defaultGenerator: props.defaultGenerator, classNameGenerator: options.eventClassNames, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount })));
7112
+ ], elStyle: props.elStyle, renderProps: renderProps, generatorName: "eventContent", customGenerator: options.eventContent, defaultGenerator: props.defaultGenerator, classNameGenerator: options.eventClassNames, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount }, props.children));
7087
7113
  }
7088
7114
  componentDidUpdate(prevProps) {
7089
7115
  if (this.el && this.props.seg !== prevProps.seg) {
@@ -7110,6 +7136,9 @@ class StandardEvent extends BaseComponent {
7110
7136
  Boolean(eventContentArg.isEndResizable) && (createElement("div", { className: "fc-event-resizer fc-event-resizer-end" }))))));
7111
7137
  }
7112
7138
  }
7139
+ StandardEvent.addPropsEquality({
7140
+ seg: isPropsEqual,
7141
+ });
7113
7142
  function renderInnerContent$1(innerProps) {
7114
7143
  return (createElement("div", { className: "fc-event-main-frame" },
7115
7144
  innerProps.timeText && (createElement("div", { className: "fc-event-time" }, innerProps.timeText)),
@@ -7124,7 +7153,7 @@ const NowIndicatorContainer = (props) => (createElement(ViewContextType.Consumer
7124
7153
  date: context.dateEnv.toDate(props.date),
7125
7154
  view: context.viewApi,
7126
7155
  };
7127
- return (createElement(ContentContainer, Object.assign({}, props /* includes children */, { elTag: props.elTag || 'div', renderProps: renderProps, generatorName: "nowIndicatorContent", customGenerator: options.nowIndicatorContent, classNameGenerator: options.nowIndicatorClassNames, didMount: options.nowIndicatorDidMount, willUnmount: options.nowIndicatorWillUnmount })));
7156
+ return (createElement(ContentContainer, { elRef: props.elRef, elTag: props.elTag || 'div', elAttrs: props.elAttrs, elClasses: props.elClasses, elStyle: props.elStyle, renderProps: renderProps, generatorName: "nowIndicatorContent", customGenerator: options.nowIndicatorContent, classNameGenerator: options.nowIndicatorClassNames, didMount: options.nowIndicatorDidMount, willUnmount: options.nowIndicatorWillUnmount }, props.children));
7128
7157
  }));
7129
7158
 
7130
7159
  const DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });
@@ -7147,12 +7176,12 @@ class DayCellContainer extends BaseComponent {
7147
7176
  dateEnv: context.dateEnv,
7148
7177
  monthStartFormat: options.monthStartFormat,
7149
7178
  });
7150
- return (createElement(ContentContainer, Object.assign({}, props /* includes children */, { elClasses: [
7179
+ return (createElement(ContentContainer, { elRef: props.elRef, elTag: props.elTag, elAttrs: Object.assign(Object.assign({}, props.elAttrs), (renderProps.isDisabled ? {} : { 'data-date': formatDayString(props.date) })), elClasses: [
7151
7180
  ...getDayClassNames(renderProps, context.theme),
7152
7181
  ...(props.elClasses || []),
7153
- ], elAttrs: Object.assign(Object.assign({}, props.elAttrs), (renderProps.isDisabled ? {} : { 'data-date': formatDayString(props.date) })), renderProps: renderProps, generatorName: "dayCellContent", customGenerator: options.dayCellContent, defaultGenerator: props.defaultGenerator, classNameGenerator:
7182
+ ], elStyle: props.elStyle, renderProps: renderProps, generatorName: "dayCellContent", customGenerator: options.dayCellContent, defaultGenerator: props.defaultGenerator, classNameGenerator:
7154
7183
  // don't use custom classNames if disabled
7155
- renderProps.isDisabled ? undefined : options.dayCellClassNames, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount })));
7184
+ renderProps.isDisabled ? undefined : options.dayCellClassNames, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount }, props.children));
7156
7185
  }
7157
7186
  }
7158
7187
  function hasCustomDayCellContent(options) {
@@ -7189,7 +7218,7 @@ const WeekNumberContainer = (props) => (createElement(ViewContextType.Consumer,
7189
7218
  let text = dateEnv.format(date, format);
7190
7219
  let renderProps = { num, text, date };
7191
7220
  return (createElement(ContentContainer // why isn't WeekNumberContentArg being auto-detected?
7192
- , Object.assign({}, props /* includes children */, { renderProps: renderProps, generatorName: "weekNumberContent", customGenerator: options.weekNumberContent, defaultGenerator: renderInner, classNameGenerator: options.weekNumberClassNames, didMount: options.weekNumberDidMount, willUnmount: options.weekNumberWillUnmount })));
7221
+ , { elRef: props.elRef, elTag: props.elTag, elAttrs: props.elAttrs, elClasses: props.elClasses, elStyle: props.elStyle, renderProps: renderProps, generatorName: "weekNumberContent", customGenerator: options.weekNumberContent, defaultGenerator: renderInner, classNameGenerator: options.weekNumberClassNames, didMount: options.weekNumberDidMount, willUnmount: options.weekNumberWillUnmount }, props.children));
7193
7222
  }));
7194
7223
  function renderInner(innerProps) {
7195
7224
  return innerProps.text;
@@ -7484,4 +7513,4 @@ class CustomRenderingStore extends Store {
7484
7513
  }
7485
7514
  }
7486
7515
 
7487
- export { elementClosest as $, memoizeObjArg as A, BaseComponent as B, ContentContainer as C, DelayedRunner as D, isPropsEqual as E, Emitter as F, getInitialDate as G, rangeContainsMarker as H, createEmptyEventStore as I, reduceCurrentDate as J, reduceEventStore as K, rezoneEventStoreDates as L, mergeRawOptions as M, BASE_OPTION_REFINERS as N, CALENDAR_LISTENER_REFINERS as O, CALENDAR_OPTION_REFINERS as P, COMPLEX_OPTION_COMPARATORS as Q, VIEW_OPTION_REFINERS as R, DateEnv as S, Theme as T, DateProfileGenerator as U, ViewContextType as V, createEventUi as W, parseBusinessHours as X, setRef as Y, Interaction as Z, getElSeg as _, mapHash as a, getSlotClassNames as a$, EventImpl as a0, listenBySelector as a1, listenToHoverBySelector as a2, PureComponent as a3, buildViewContext as a4, getUniqueDomId as a5, parseInteractionSettings as a6, interactionSettingsStore as a7, getNow as a8, CalendarImpl as a9, diffDates as aA, removeExact as aB, memoizeArraylike as aC, memoizeHashlike as aD, intersectRects as aE, pointInsideRect as aF, constrainPoint as aG, getRectCenter as aH, diffPoints as aI, translateRect as aJ, compareObjs as aK, collectFromHash as aL, findElements as aM, findDirectChildren as aN, removeElement as aO, applyStyle as aP, elementMatches as aQ, getEventTargetViaRoot as aR, parseClassNames as aS, getCanVGrowWithinCell as aT, mergeEventStores as aU, getRelevantEvents as aV, eventTupleToStore as aW, combineEventUis as aX, Splitter as aY, getDayClassNames as aZ, getDateMeta as a_, flushSync as aa, CalendarRoot as ab, RenderId as ac, ensureElHasStyles as ad, applyStyleProp as ae, sliceEventStore as af, JsonRequestError as ag, createContext as ah, refineProps as ai, createEventInstance as aj, parseEventDef as ak, refineEventDef as al, padStart as am, isInt as an, parseFieldSpecs as ao, compareByFieldSpecs as ap, flexibleCompare as aq, preventSelection as ar, allowSelection as as, preventContextMenu as at, allowContextMenu as au, compareNumbers as av, enableCursor as aw, disableCursor as ax, computeVisibleDayRange as ay, isMultiDayRange as az, buildViewClassNames as b, SimpleScrollGrid as b$, buildNavLinkAttrs as b0, preventDefault as b1, whenTransitionDone as b2, computeInnerRect as b3, computeEdges as b4, getClippingParents as b5, computeRect as b6, rangesEqual as b7, rangesIntersect as b8, rangeContainsRange as b9, SegHierarchy as bA, buildEntryKey as bB, getEntrySpanEnd as bC, binarySearch as bD, groupIntersectingEntries as bE, intersectSpans as bF, interactionSettingsToStore as bG, ElementDragging as bH, config as bI, parseDragMeta as bJ, DayHeader as bK, computeFallbackHeaderFormat as bL, TableDateCell as bM, TableDowCell as bN, DaySeriesModel as bO, hasBgRendering as bP, buildSegTimeText as bQ, sortEventSegs as bR, getSegMeta as bS, buildEventRangeKey as bT, getSegAnchorAttrs as bU, DayTableModel as bV, Slicer as bW, applyMutationToEventStore as bX, isPropsValid as bY, isInteractionValid as bZ, isDateSelectionValid as b_, PositionCache as ba, ScrollController as bb, ElementScrollController as bc, WindowScrollController as bd, DateComponent as be, isDateSpansEqual as bf, addMs as bg, addWeeks as bh, diffWeeks as bi, diffWholeWeeks as bj, diffDayAndTime as bk, diffDays as bl, isValidDate as bm, asCleanDays as bn, multiplyDuration as bo, addDurations as bp, asRoughMinutes as bq, asRoughSeconds as br, asRoughMs as bs, wholeDivideDurations as bt, formatIsoTimeString as bu, formatDayString as bv, buildIsoString as bw, formatIsoMonthStr as bx, NamedTimeZoneImpl as by, parse as bz, greatestDurationDenominator as c, hasShrinkWidth as c0, renderMicroColGroup as c1, getScrollGridClassNames as c2, getSectionClassNames as c3, getSectionHasLiquidHeight as c4, getAllowYScrolling as c5, renderChunkContent as c6, computeShrinkWidth as c7, sanitizeShrinkWidth as c8, isColPropsEqual as c9, renderScrollShim as ca, getStickyFooterScrollbar as cb, getStickyHeaderDates as cc, Scroller as cd, getScrollbarWidths as ce, RefMap as cf, getIsRtlScrollbarOnLeft as cg, NowTimer as ch, ScrollResponder as ci, StandardEvent as cj, NowIndicatorContainer as ck, DayCellContainer as cl, hasCustomDayCellContent as cm, EventContainer as cn, renderFill as co, BgEvent as cp, WeekNumberContainer as cq, MoreLinkContainer as cr, computeEarliestSegStart as cs, ViewContainer as ct, triggerDateSelect as cu, getDefaultEventEnd as cv, injectStyles as cw, buildElAttrs as cx, CustomRenderingStore as cy, createDuration as d, BASE_OPTION_DEFAULTS as e, arrayToHash as f, guid as g, filterHash as h, isArraysEqual as i, buildEventSourceRefiners as j, formatWithOrdinals as k, buildRangeApiWithTimeZone as l, mergeProps as m, identity as n, intersectRanges as o, parseEventSource as p, startOfDay as q, requestJson as r, subtractDurations as s, addDays as t, unpromisify as u, hashValuesToArray as v, buildEventApis as w, createFormatter as x, diffWholeDays as y, memoize as z };
7516
+ export { listenBySelector as $, memoizeObjArg as A, BaseComponent as B, ContentContainer as C, DelayedRunner as D, isPropsEqual as E, Emitter as F, rangeContainsMarker as G, createEmptyEventStore as H, reduceEventStore as I, rezoneEventStoreDates as J, mergeRawOptions as K, BASE_OPTION_REFINERS as L, CALENDAR_LISTENER_REFINERS as M, CALENDAR_OPTION_REFINERS as N, COMPLEX_OPTION_COMPARATORS as O, VIEW_OPTION_REFINERS as P, DateEnv as Q, DateProfileGenerator as R, createEventUi as S, Theme as T, parseBusinessHours as U, ViewContextType as V, setRef as W, Interaction as X, getElSeg as Y, elementClosest as Z, EventImpl as _, mapHash as a, preventDefault as a$, listenToHoverBySelector as a0, PureComponent as a1, buildViewContext as a2, getUniqueDomId as a3, parseInteractionSettings as a4, interactionSettingsStore as a5, NowTimer as a6, CalendarImpl as a7, flushSync as a8, CalendarRoot as a9, memoizeArraylike as aA, memoizeHashlike as aB, intersectRects as aC, pointInsideRect as aD, constrainPoint as aE, getRectCenter as aF, diffPoints as aG, translateRect as aH, compareObjs as aI, collectFromHash as aJ, findElements as aK, findDirectChildren as aL, removeElement as aM, applyStyle as aN, elementMatches as aO, getEventTargetViaRoot as aP, parseClassNames as aQ, getCanVGrowWithinCell as aR, mergeEventStores as aS, getRelevantEvents as aT, eventTupleToStore as aU, combineEventUis as aV, Splitter as aW, getDayClassNames as aX, getDateMeta as aY, getSlotClassNames as aZ, buildNavLinkAttrs as a_, RenderId as aa, ensureElHasStyles as ab, applyStyleProp as ac, sliceEventStore as ad, JsonRequestError as ae, createContext as af, refineProps as ag, createEventInstance as ah, parseEventDef as ai, refineEventDef as aj, padStart as ak, isInt as al, parseFieldSpecs as am, compareByFieldSpecs as an, flexibleCompare as ao, preventSelection as ap, allowSelection as aq, preventContextMenu as ar, allowContextMenu as as, compareNumbers as at, enableCursor as au, disableCursor as av, computeVisibleDayRange as aw, isMultiDayRange as ax, diffDates as ay, removeExact as az, buildViewClassNames as b, renderMicroColGroup as b$, whenTransitionDone as b0, computeInnerRect as b1, computeEdges as b2, getClippingParents as b3, computeRect as b4, rangesEqual as b5, rangesIntersect as b6, rangeContainsRange as b7, PositionCache as b8, ScrollController as b9, getEntrySpanEnd as bA, binarySearch as bB, groupIntersectingEntries as bC, intersectSpans as bD, interactionSettingsToStore as bE, ElementDragging as bF, config as bG, parseDragMeta as bH, DayHeader as bI, computeFallbackHeaderFormat as bJ, TableDateCell as bK, TableDowCell as bL, DaySeriesModel as bM, hasBgRendering as bN, buildSegTimeText as bO, sortEventSegs as bP, getSegMeta as bQ, buildEventRangeKey as bR, getSegAnchorAttrs as bS, DayTableModel as bT, Slicer as bU, applyMutationToEventStore as bV, isPropsValid as bW, isInteractionValid as bX, isDateSelectionValid as bY, SimpleScrollGrid as bZ, hasShrinkWidth as b_, ElementScrollController as ba, WindowScrollController as bb, DateComponent as bc, isDateSpansEqual as bd, addMs as be, addWeeks as bf, diffWeeks as bg, diffWholeWeeks as bh, diffDayAndTime as bi, diffDays as bj, isValidDate as bk, asCleanDays as bl, multiplyDuration as bm, addDurations as bn, asRoughMinutes as bo, asRoughSeconds as bp, asRoughMs as bq, wholeDivideDurations as br, formatIsoTimeString as bs, formatDayString as bt, buildIsoString as bu, formatIsoMonthStr as bv, NamedTimeZoneImpl as bw, parse as bx, SegHierarchy as by, buildEntryKey as bz, greatestDurationDenominator as c, getScrollGridClassNames as c0, getSectionClassNames as c1, getSectionHasLiquidHeight as c2, getAllowYScrolling as c3, renderChunkContent as c4, computeShrinkWidth as c5, sanitizeShrinkWidth as c6, isColPropsEqual as c7, renderScrollShim as c8, getStickyFooterScrollbar as c9, getStickyHeaderDates as ca, Scroller as cb, getScrollbarWidths as cc, RefMap as cd, getIsRtlScrollbarOnLeft as ce, ScrollResponder as cf, StandardEvent as cg, NowIndicatorContainer as ch, DayCellContainer as ci, hasCustomDayCellContent as cj, EventContainer as ck, renderFill as cl, BgEvent as cm, WeekNumberContainer as cn, MoreLinkContainer as co, computeEarliestSegStart as cp, ViewContainer as cq, triggerDateSelect as cr, getDefaultEventEnd as cs, injectStyles as ct, buildElAttrs as cu, CustomRenderingStore as cv, createDuration as d, BASE_OPTION_DEFAULTS as e, arrayToHash as f, guid as g, filterHash as h, isArraysEqual as i, buildEventSourceRefiners as j, formatWithOrdinals as k, buildRangeApiWithTimeZone as l, mergeProps as m, identity as n, intersectRanges as o, parseEventSource as p, startOfDay as q, requestJson as r, subtractDurations as s, addDays as t, unpromisify as u, hashValuesToArray as v, buildEventApis as w, createFormatter as x, diffWholeDays as y, memoize as z };
package/internal.js CHANGED
@@ -1,3 +1,3 @@
1
- export { e as BASE_OPTION_DEFAULTS, B as BaseComponent, cp as BgEvent, a9 as CalendarImpl, ab as CalendarRoot, C as ContentContainer, cy as CustomRenderingStore, be as DateComponent, S as DateEnv, U as DateProfileGenerator, cl as DayCellContainer, bK as DayHeader, bO as DaySeriesModel, bV as DayTableModel, D as DelayedRunner, bH as ElementDragging, bc as ElementScrollController, F as Emitter, cn as EventContainer, a0 as EventImpl, Z as Interaction, cr as MoreLinkContainer, by as NamedTimeZoneImpl, ck as NowIndicatorContainer, ch as NowTimer, ba as PositionCache, cf as RefMap, bb as ScrollController, ci as ScrollResponder, cd as Scroller, bA as SegHierarchy, b$ as SimpleScrollGrid, bW as Slicer, aY as Splitter, cj as StandardEvent, bM as TableDateCell, bN as TableDowCell, T as Theme, ct as ViewContainer, V as ViewContextType, cq as WeekNumberContainer, bd as WindowScrollController, t as addDays, bp as addDurations, bg as addMs, bh as addWeeks, au as allowContextMenu, as as allowSelection, bX as applyMutationToEventStore, aP as applyStyle, bn as asCleanDays, bq as asRoughMinutes, bs as asRoughMs, br as asRoughSeconds, bD as binarySearch, cx as buildElAttrs, bB as buildEntryKey, w as buildEventApis, bT as buildEventRangeKey, bw as buildIsoString, b0 as buildNavLinkAttrs, bQ as buildSegTimeText, aL as collectFromHash, aX as combineEventUis, ap as compareByFieldSpecs, av as compareNumbers, aK as compareObjs, cs as computeEarliestSegStart, b4 as computeEdges, bL as computeFallbackHeaderFormat, b3 as computeInnerRect, b6 as computeRect, c7 as computeShrinkWidth, ay as computeVisibleDayRange, bI as config, aG as constrainPoint, d as createDuration, I as createEmptyEventStore, aj as createEventInstance, W as createEventUi, x as createFormatter, aA as diffDates, bk as diffDayAndTime, bl as diffDays, aI as diffPoints, bi as diffWeeks, y as diffWholeDays, bj as diffWholeWeeks, ax as disableCursor, $ as elementClosest, aQ as elementMatches, aw as enableCursor, aW as eventTupleToStore, h as filterHash, aN as findDirectChildren, aM as findElements, aq as flexibleCompare, bv as formatDayString, bx as formatIsoMonthStr, bu as formatIsoTimeString, c5 as getAllowYScrolling, aT as getCanVGrowWithinCell, b5 as getClippingParents, a_ as getDateMeta, aZ as getDayClassNames, cv as getDefaultEventEnd, _ as getElSeg, bC as getEntrySpanEnd, aR as getEventTargetViaRoot, cg as getIsRtlScrollbarOnLeft, aH as getRectCenter, aV as getRelevantEvents, c2 as getScrollGridClassNames, ce as getScrollbarWidths, c3 as getSectionClassNames, c4 as getSectionHasLiquidHeight, bU as getSegAnchorAttrs, bS as getSegMeta, a$ as getSlotClassNames, cb as getStickyFooterScrollbar, cc as getStickyHeaderDates, a5 as getUniqueDomId, c as greatestDurationDenominator, bE as groupIntersectingEntries, g as guid, bP as hasBgRendering, cm as hasCustomDayCellContent, c0 as hasShrinkWidth, n as identity, cw as injectStyles, a7 as interactionSettingsStore, bG as interactionSettingsToStore, o as intersectRanges, aE as intersectRects, bF as intersectSpans, i as isArraysEqual, c9 as isColPropsEqual, b_ as isDateSelectionValid, bf as isDateSpansEqual, an as isInt, bZ as isInteractionValid, az as isMultiDayRange, E as isPropsEqual, bY as isPropsValid, bm as isValidDate, a as mapHash, z as memoize, aC as memoizeArraylike, aD as memoizeHashlike, A as memoizeObjArg, aU as mergeEventStores, bo as multiplyDuration, am as padStart, X as parseBusinessHours, aS as parseClassNames, bJ as parseDragMeta, ak as parseEventDef, ao as parseFieldSpecs, bz as parseMarker, aF as pointInsideRect, at as preventContextMenu, b1 as preventDefault, ar as preventSelection, H as rangeContainsMarker, b9 as rangeContainsRange, b7 as rangesEqual, b8 as rangesIntersect, al as refineEventDef, ai as refineProps, aO as removeElement, aB as removeExact, c6 as renderChunkContent, co as renderFill, c1 as renderMicroColGroup, ca as renderScrollShim, r as requestJson, c8 as sanitizeShrinkWidth, Y as setRef, af as sliceEventStore, bR as sortEventSegs, q as startOfDay, aJ as translateRect, cu as triggerDateSelect, u as unpromisify, b2 as whenTransitionDone, bt as wholeDivideDurations } from './internal-common.js';
1
+ export { e as BASE_OPTION_DEFAULTS, B as BaseComponent, cm as BgEvent, a7 as CalendarImpl, a9 as CalendarRoot, C as ContentContainer, cv as CustomRenderingStore, bc as DateComponent, Q as DateEnv, R as DateProfileGenerator, ci as DayCellContainer, bI as DayHeader, bM as DaySeriesModel, bT as DayTableModel, D as DelayedRunner, bF as ElementDragging, ba as ElementScrollController, F as Emitter, ck as EventContainer, _ as EventImpl, X as Interaction, co as MoreLinkContainer, bw as NamedTimeZoneImpl, ch as NowIndicatorContainer, a6 as NowTimer, b8 as PositionCache, cd as RefMap, b9 as ScrollController, cf as ScrollResponder, cb as Scroller, by as SegHierarchy, bZ as SimpleScrollGrid, bU as Slicer, aW as Splitter, cg as StandardEvent, bK as TableDateCell, bL as TableDowCell, T as Theme, cq as ViewContainer, V as ViewContextType, cn as WeekNumberContainer, bb as WindowScrollController, t as addDays, bn as addDurations, be as addMs, bf as addWeeks, as as allowContextMenu, aq as allowSelection, bV as applyMutationToEventStore, aN as applyStyle, bl as asCleanDays, bo as asRoughMinutes, bq as asRoughMs, bp as asRoughSeconds, bB as binarySearch, cu as buildElAttrs, bz as buildEntryKey, w as buildEventApis, bR as buildEventRangeKey, bu as buildIsoString, a_ as buildNavLinkAttrs, bO as buildSegTimeText, aJ as collectFromHash, aV as combineEventUis, an as compareByFieldSpecs, at as compareNumbers, aI as compareObjs, cp as computeEarliestSegStart, b2 as computeEdges, bJ as computeFallbackHeaderFormat, b1 as computeInnerRect, b4 as computeRect, c5 as computeShrinkWidth, aw as computeVisibleDayRange, bG as config, aE as constrainPoint, d as createDuration, H as createEmptyEventStore, ah as createEventInstance, S as createEventUi, x as createFormatter, ay as diffDates, bi as diffDayAndTime, bj as diffDays, aG as diffPoints, bg as diffWeeks, y as diffWholeDays, bh as diffWholeWeeks, av as disableCursor, Z as elementClosest, aO as elementMatches, au as enableCursor, aU as eventTupleToStore, h as filterHash, aL as findDirectChildren, aK as findElements, ao as flexibleCompare, bt as formatDayString, bv as formatIsoMonthStr, bs as formatIsoTimeString, c3 as getAllowYScrolling, aR as getCanVGrowWithinCell, b3 as getClippingParents, aY as getDateMeta, aX as getDayClassNames, cs as getDefaultEventEnd, Y as getElSeg, bA as getEntrySpanEnd, aP as getEventTargetViaRoot, ce as getIsRtlScrollbarOnLeft, aF as getRectCenter, aT as getRelevantEvents, c0 as getScrollGridClassNames, cc as getScrollbarWidths, c1 as getSectionClassNames, c2 as getSectionHasLiquidHeight, bS as getSegAnchorAttrs, bQ as getSegMeta, aZ as getSlotClassNames, c9 as getStickyFooterScrollbar, ca as getStickyHeaderDates, a3 as getUniqueDomId, c as greatestDurationDenominator, bC as groupIntersectingEntries, g as guid, bN as hasBgRendering, cj as hasCustomDayCellContent, b_ as hasShrinkWidth, n as identity, ct as injectStyles, a5 as interactionSettingsStore, bE as interactionSettingsToStore, o as intersectRanges, aC as intersectRects, bD as intersectSpans, i as isArraysEqual, c7 as isColPropsEqual, bY as isDateSelectionValid, bd as isDateSpansEqual, al as isInt, bX as isInteractionValid, ax as isMultiDayRange, E as isPropsEqual, bW as isPropsValid, bk as isValidDate, a as mapHash, z as memoize, aA as memoizeArraylike, aB as memoizeHashlike, A as memoizeObjArg, aS as mergeEventStores, bm as multiplyDuration, ak as padStart, U as parseBusinessHours, aQ as parseClassNames, bH as parseDragMeta, ai as parseEventDef, am as parseFieldSpecs, bx as parseMarker, aD as pointInsideRect, ar as preventContextMenu, a$ as preventDefault, ap as preventSelection, G as rangeContainsMarker, b7 as rangeContainsRange, b5 as rangesEqual, b6 as rangesIntersect, aj as refineEventDef, ag as refineProps, aM as removeElement, az as removeExact, c4 as renderChunkContent, cl as renderFill, b$ as renderMicroColGroup, c8 as renderScrollShim, r as requestJson, c6 as sanitizeShrinkWidth, W as setRef, ad as sliceEventStore, bP as sortEventSegs, q as startOfDay, aH as translateRect, cr as triggerDateSelect, u as unpromisify, b0 as whenTransitionDone, br as wholeDivideDurations } from './internal-common.js';
2
2
  import 'preact';
3
3
  import 'preact/compat';
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- FullCalendar Core v6.1.15
2
+ FullCalendar Core v6.1.18
3
3
  Docs & License: https://fullcalendar.io
4
4
  (c) 2024 Adam Shaw
5
5
  */