@fullcalendar/core 7.0.0-beta.1 → 7.0.0-beta.4

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 (187) hide show
  1. package/index.cjs +68 -76
  2. package/index.d.ts +0 -1
  3. package/index.global.js +1454 -1325
  4. package/index.global.min.js +2 -2
  5. package/index.js +70 -78
  6. package/internal-common.cjs +2757 -2620
  7. package/internal-common.d.ts +263 -220
  8. package/internal-common.js +2743 -2603
  9. package/internal.cjs +12 -16
  10. package/internal.d.ts +1 -2
  11. package/internal.js +1 -1
  12. package/locales/af.global.js +1 -1
  13. package/locales/af.global.min.js +1 -1
  14. package/locales/ar-dz.global.js +1 -1
  15. package/locales/ar-dz.global.min.js +1 -1
  16. package/locales/ar-kw.global.js +1 -1
  17. package/locales/ar-kw.global.min.js +1 -1
  18. package/locales/ar-ly.global.js +1 -1
  19. package/locales/ar-ly.global.min.js +1 -1
  20. package/locales/ar-ma.global.js +1 -1
  21. package/locales/ar-ma.global.min.js +1 -1
  22. package/locales/ar-sa.global.js +1 -1
  23. package/locales/ar-sa.global.min.js +1 -1
  24. package/locales/ar-tn.global.js +1 -1
  25. package/locales/ar-tn.global.min.js +1 -1
  26. package/locales/ar.global.js +1 -1
  27. package/locales/ar.global.min.js +1 -1
  28. package/locales/az.global.js +1 -1
  29. package/locales/az.global.min.js +1 -1
  30. package/locales/bg.global.js +1 -1
  31. package/locales/bg.global.min.js +1 -1
  32. package/locales/bn.global.js +1 -1
  33. package/locales/bn.global.min.js +1 -1
  34. package/locales/bs.global.js +1 -1
  35. package/locales/bs.global.min.js +1 -1
  36. package/locales/ca.global.js +1 -1
  37. package/locales/ca.global.min.js +1 -1
  38. package/locales/cs.global.js +1 -1
  39. package/locales/cs.global.min.js +1 -1
  40. package/locales/cy.global.js +1 -1
  41. package/locales/cy.global.min.js +1 -1
  42. package/locales/da.global.js +1 -1
  43. package/locales/da.global.min.js +1 -1
  44. package/locales/de-at.cjs +1 -2
  45. package/locales/de-at.global.js +2 -3
  46. package/locales/de-at.global.min.js +2 -2
  47. package/locales/de-at.js +1 -2
  48. package/locales/de.cjs +1 -2
  49. package/locales/de.global.js +2 -3
  50. package/locales/de.global.min.js +2 -2
  51. package/locales/de.js +1 -2
  52. package/locales/el.global.js +1 -1
  53. package/locales/el.global.min.js +1 -1
  54. package/locales/en-au.global.js +1 -1
  55. package/locales/en-au.global.min.js +1 -1
  56. package/locales/en-gb.global.js +1 -1
  57. package/locales/en-gb.global.min.js +1 -1
  58. package/locales/en-nz.global.js +1 -1
  59. package/locales/en-nz.global.min.js +1 -1
  60. package/locales/eo.global.js +1 -1
  61. package/locales/eo.global.min.js +1 -1
  62. package/locales/es-us.global.js +1 -1
  63. package/locales/es-us.global.min.js +1 -1
  64. package/locales/es.cjs +1 -2
  65. package/locales/es.global.js +2 -3
  66. package/locales/es.global.min.js +2 -2
  67. package/locales/es.js +1 -2
  68. package/locales/et.global.js +1 -1
  69. package/locales/et.global.min.js +1 -1
  70. package/locales/eu.global.js +1 -1
  71. package/locales/eu.global.min.js +1 -1
  72. package/locales/fa.global.js +1 -1
  73. package/locales/fa.global.min.js +1 -1
  74. package/locales/fi.global.js +1 -1
  75. package/locales/fi.global.min.js +1 -1
  76. package/locales/fr-ca.global.js +1 -1
  77. package/locales/fr-ca.global.min.js +1 -1
  78. package/locales/fr-ch.global.js +1 -1
  79. package/locales/fr-ch.global.min.js +1 -1
  80. package/locales/fr.global.js +1 -1
  81. package/locales/fr.global.min.js +1 -1
  82. package/locales/gl.cjs +1 -2
  83. package/locales/gl.global.js +2 -3
  84. package/locales/gl.global.min.js +2 -2
  85. package/locales/gl.js +1 -2
  86. package/locales/he.global.js +1 -1
  87. package/locales/he.global.min.js +1 -1
  88. package/locales/hi.global.js +1 -1
  89. package/locales/hi.global.min.js +1 -1
  90. package/locales/hr.global.js +1 -1
  91. package/locales/hr.global.min.js +1 -1
  92. package/locales/hu.global.js +1 -1
  93. package/locales/hu.global.min.js +1 -1
  94. package/locales/hy-am.global.js +1 -1
  95. package/locales/hy-am.global.min.js +1 -1
  96. package/locales/id.global.js +1 -1
  97. package/locales/id.global.min.js +1 -1
  98. package/locales/is.global.js +1 -1
  99. package/locales/is.global.min.js +1 -1
  100. package/locales/it.global.js +1 -1
  101. package/locales/it.global.min.js +1 -1
  102. package/locales/ja.global.js +1 -1
  103. package/locales/ja.global.min.js +1 -1
  104. package/locales/ka.global.js +1 -1
  105. package/locales/ka.global.min.js +1 -1
  106. package/locales/kk.global.js +1 -1
  107. package/locales/kk.global.min.js +1 -1
  108. package/locales/km.global.js +1 -1
  109. package/locales/km.global.min.js +1 -1
  110. package/locales/ko.global.js +1 -1
  111. package/locales/ko.global.min.js +1 -1
  112. package/locales/ku.global.js +1 -1
  113. package/locales/ku.global.min.js +1 -1
  114. package/locales/lb.global.js +1 -1
  115. package/locales/lb.global.min.js +1 -1
  116. package/locales/lt.global.js +1 -1
  117. package/locales/lt.global.min.js +1 -1
  118. package/locales/lv.global.js +1 -1
  119. package/locales/lv.global.min.js +1 -1
  120. package/locales/mk.global.js +1 -1
  121. package/locales/mk.global.min.js +1 -1
  122. package/locales/ms.global.js +1 -1
  123. package/locales/ms.global.min.js +1 -1
  124. package/locales/nb.global.js +1 -1
  125. package/locales/nb.global.min.js +1 -1
  126. package/locales/ne.global.js +1 -1
  127. package/locales/ne.global.min.js +1 -1
  128. package/locales/nl.global.js +1 -1
  129. package/locales/nl.global.min.js +1 -1
  130. package/locales/nn.global.js +1 -1
  131. package/locales/nn.global.min.js +1 -1
  132. package/locales/pl.global.js +1 -1
  133. package/locales/pl.global.min.js +1 -1
  134. package/locales/pt-br.cjs +1 -2
  135. package/locales/pt-br.global.js +2 -3
  136. package/locales/pt-br.global.min.js +2 -2
  137. package/locales/pt-br.js +1 -2
  138. package/locales/pt.global.js +1 -1
  139. package/locales/pt.global.min.js +1 -1
  140. package/locales/ro.global.js +1 -1
  141. package/locales/ro.global.min.js +1 -1
  142. package/locales/ru.global.js +1 -1
  143. package/locales/ru.global.min.js +1 -1
  144. package/locales/si-lk.global.js +1 -1
  145. package/locales/si-lk.global.min.js +1 -1
  146. package/locales/sk.global.js +1 -1
  147. package/locales/sk.global.min.js +1 -1
  148. package/locales/sl.global.js +1 -1
  149. package/locales/sl.global.min.js +1 -1
  150. package/locales/sm.global.js +1 -1
  151. package/locales/sm.global.min.js +1 -1
  152. package/locales/sq.global.js +1 -1
  153. package/locales/sq.global.min.js +1 -1
  154. package/locales/sr-cyrl.global.js +1 -1
  155. package/locales/sr-cyrl.global.min.js +1 -1
  156. package/locales/sr.global.js +1 -1
  157. package/locales/sr.global.min.js +1 -1
  158. package/locales/sv.cjs +1 -2
  159. package/locales/sv.global.js +2 -3
  160. package/locales/sv.global.min.js +2 -2
  161. package/locales/sv.js +1 -2
  162. package/locales/ta-in.global.js +1 -1
  163. package/locales/ta-in.global.min.js +1 -1
  164. package/locales/th.global.js +1 -1
  165. package/locales/th.global.min.js +1 -1
  166. package/locales/tr.global.js +1 -1
  167. package/locales/tr.global.min.js +1 -1
  168. package/locales/ug.global.js +1 -1
  169. package/locales/ug.global.min.js +1 -1
  170. package/locales/uk.global.js +1 -1
  171. package/locales/uk.global.min.js +1 -1
  172. package/locales/uz-cy.global.js +1 -1
  173. package/locales/uz-cy.global.min.js +1 -1
  174. package/locales/uz.global.js +1 -1
  175. package/locales/uz.global.min.js +1 -1
  176. package/locales/vi.global.js +1 -1
  177. package/locales/vi.global.min.js +1 -1
  178. package/locales/zh-cn.global.js +1 -1
  179. package/locales/zh-cn.global.min.js +1 -1
  180. package/locales/zh-tw.global.js +1 -1
  181. package/locales/zh-tw.global.min.js +1 -1
  182. package/locales-all.global.js +7 -13
  183. package/locales-all.global.min.js +2 -2
  184. package/package.json +1 -1
  185. package/preact.cjs +1 -0
  186. package/preact.d.ts +3 -2
  187. package/preact.js +1 -1
@@ -1,7 +1,6 @@
1
1
  import * as preact from 'preact';
2
2
  import { ComponentChildren, ComponentType, Context, Ref, Component, JSX, ComponentChild, FunctionalComponent, createElement, RefObject } from './preact.js';
3
3
  import { ViewApi as ViewApi$1 } from './index.js';
4
- import { DateComponent as DateComponent$1, Dictionary as Dictionary$1 } from './internal.js';
5
4
 
6
5
  type DurationInput = DurationObjectInput | string | number;
7
6
  interface DurationObjectInput {
@@ -478,6 +477,8 @@ interface ViewProps {
478
477
  eventDrag: EventInteractionState | null;
479
478
  eventResize: EventInteractionState | null;
480
479
  forPrint: boolean;
480
+ labelId: string | undefined;
481
+ labelStr: string | undefined;
481
482
  }
482
483
  declare function sliceEvents(props: ViewProps & {
483
484
  dateProfile: DateProfile;
@@ -485,6 +486,8 @@ declare function sliceEvents(props: ViewProps & {
485
486
  }, allDay?: boolean): EventRenderRange[];
486
487
 
487
488
  type ClassNamesInput = string | string[];
489
+ type Falsy = false | null | undefined;
490
+ declare function joinClassNames(...args: (string | number | Falsy)[]): string;
488
491
  declare function parseClassNames(raw: ClassNamesInput): string[];
489
492
  declare function fracToCssDim(frac: number): string;
490
493
 
@@ -571,15 +574,78 @@ declare class Theme {
571
574
  iconOverridePrefix: string;
572
575
  constructor(calendarOptions: CalendarOptionsRefined);
573
576
  setIconOverride(iconOverrideHash: any): void;
574
- applyIconOverridePrefix(className: any): any;
575
- getClass(key: any): any;
576
- getIconClass(buttonName: any, isRtl?: boolean): string;
577
+ applyIconOverridePrefix(className: string): string;
578
+ getClassName(key: string): any;
579
+ getIconClass(buttonName: string, isRtl?: boolean): string;
577
580
  getCustomButtonIconClass(customButtonProps: any): string;
578
581
  }
579
582
  type ThemeClass = {
580
583
  new (calendarOptions: any): Theme;
581
584
  };
582
585
 
586
+ interface ToolbarModel {
587
+ sectionWidgets: {
588
+ start: ToolbarWidget[][];
589
+ center: ToolbarWidget[][];
590
+ end: ToolbarWidget[][];
591
+ };
592
+ viewsWithButtons: string[];
593
+ hasTitle: boolean;
594
+ }
595
+ interface ToolbarWidget {
596
+ buttonName: string;
597
+ buttonClick?: any;
598
+ buttonIcon?: any;
599
+ buttonText?: any;
600
+ buttonHint?: string | ((navUnit: string) => string);
601
+ isView?: boolean;
602
+ }
603
+ interface ToolbarInput {
604
+ left?: string;
605
+ center?: string;
606
+ right?: string;
607
+ start?: string;
608
+ end?: string;
609
+ }
610
+ interface CustomButtonInput {
611
+ text?: string;
612
+ hint?: string;
613
+ icon?: string;
614
+ themeIcon?: string;
615
+ bootstrapFontAwesome?: string;
616
+ click?(ev: MouseEvent, element: HTMLElement): void;
617
+ }
618
+ interface ButtonIconsInput {
619
+ prev?: string;
620
+ next?: string;
621
+ prevYear?: string;
622
+ nextYear?: string;
623
+ today?: string;
624
+ [viewOrCustomButton: string]: string | undefined;
625
+ }
626
+ interface ButtonTextCompoundInput {
627
+ prev?: string;
628
+ next?: string;
629
+ prevYear?: string;
630
+ nextYear?: string;
631
+ today?: string;
632
+ month?: string;
633
+ week?: string;
634
+ day?: string;
635
+ [viewOrCustomButton: string]: string | undefined;
636
+ }
637
+ interface ButtonHintCompoundInput {
638
+ prev?: string | ((...args: any[]) => string);
639
+ next?: string | ((...args: any[]) => string);
640
+ prevYear?: string | ((...args: any[]) => string);
641
+ nextYear?: string | ((...args: any[]) => string);
642
+ today?: string | ((...args: any[]) => string);
643
+ month?: string | ((...args: any[]) => string);
644
+ week?: string | ((...args: any[]) => string);
645
+ day?: string | ((...args: any[]) => string);
646
+ [viewOrCustomButton: string]: string | ((...args: any[]) => string) | undefined;
647
+ }
648
+
583
649
  interface CalendarDataManagerState {
584
650
  dynamicOptionOverrides: CalendarOptions;
585
651
  currentViewType: string;
@@ -599,7 +665,9 @@ interface CalendarDataManagerState {
599
665
  interface CalendarOptionsData {
600
666
  localeDefaults: CalendarOptions;
601
667
  calendarOptions: CalendarOptionsRefined;
602
- toolbarConfig: any;
668
+ toolbarConfig: {
669
+ [toolbarName: string]: ToolbarModel;
670
+ };
603
671
  availableRawLocales: any;
604
672
  dateEnv: DateEnv;
605
673
  theme: Theme;
@@ -909,7 +977,6 @@ declare abstract class PureComponent<Props = Dictionary, State = Dictionary> ext
909
977
  stateEquality: EqualityFuncs<State>;
910
978
  debug: boolean;
911
979
  shouldComponentUpdate(nextProps: Props, nextState: State): boolean;
912
- safeSetState(newState: Partial<State>): void;
913
980
  }
914
981
  declare abstract class BaseComponent<Props = Dictionary, State = Dictionary> extends PureComponent<Props, State> {
915
982
  static contextType: any;
@@ -955,14 +1022,9 @@ interface Hit {
955
1022
  largeUnit?: string;
956
1023
  }
957
1024
 
958
- interface Seg {
959
- eventRange?: EventRenderRange;
960
- isStart: boolean;
961
- isEnd: boolean;
962
- }
963
- interface EventSegUiInteractionState<S = Seg> {
1025
+ interface EventSegUiInteractionState<S> {
964
1026
  affectedInstances: EventInstanceHash;
965
- segs: S[];
1027
+ segs: (S & EventRangeProps)[];
966
1028
  isEvent: boolean;
967
1029
  }
968
1030
  declare abstract class DateComponent<Props = Dictionary, State = Dictionary> extends BaseComponent<Props, State> {
@@ -986,6 +1048,7 @@ interface InteractionSettingsInput {
986
1048
  el: HTMLElement;
987
1049
  useEventCenter?: boolean;
988
1050
  isHitComboAllowed?: (hit0: Hit, hit1: Hit) => boolean;
1051
+ disableHits?: boolean;
989
1052
  }
990
1053
  interface InteractionSettings {
991
1054
  component: DateComponent<any>;
@@ -1087,7 +1150,7 @@ declare abstract class ElementDragging {
1087
1150
  emitter: Emitter<any>;
1088
1151
  constructor(el: HTMLElement, selector?: string);
1089
1152
  destroy(): void;
1090
- abstract setIgnoreMove(bool: boolean): void;
1153
+ abstract cancel(): void;
1091
1154
  setMirrorIsVisible(bool: boolean): void;
1092
1155
  setMirrorNeedsRevert(bool: boolean): void;
1093
1156
  setAutoScrollEnabled(bool: boolean): void;
@@ -1103,8 +1166,16 @@ interface ScrollerInterface {
1103
1166
  x?: number;
1104
1167
  y?: number;
1105
1168
  }): void;
1106
- addScrollEndListener(handler: (x: number, y: number) => void): void;
1107
- removeScrollEndListener(handler: (x: number, y: number) => void): void;
1169
+ addScrollEndListener(handler: (arg: {
1170
+ x: number;
1171
+ y: number;
1172
+ isUser: boolean;
1173
+ }) => void): void;
1174
+ removeScrollEndListener(handler: (arg: {
1175
+ x: number;
1176
+ y: number;
1177
+ isUser: boolean;
1178
+ }) => void): void;
1108
1179
  }
1109
1180
 
1110
1181
  interface ScrollerSyncerClass {
@@ -1368,13 +1439,17 @@ interface EventRenderRange extends EventTuple {
1368
1439
  isStart: boolean;
1369
1440
  isEnd: boolean;
1370
1441
  }
1442
+ interface EventRangeProps {
1443
+ eventRange: EventRenderRange;
1444
+ }
1445
+ declare function getEventKey(seg: EventRangeProps): string;
1371
1446
  declare function sliceEventStore(eventStore: EventStore, eventUiBases: EventUiHash, framingRange: DateRange, nextDayThreshold?: Duration): {
1372
1447
  bg: EventRenderRange[];
1373
1448
  fg: EventRenderRange[];
1374
1449
  };
1375
1450
  declare function hasBgRendering(def: EventDef): boolean;
1376
1451
  declare function getElEventRange(el: HTMLElement): EventRenderRange | null;
1377
- declare function sortEventSegs<S extends Seg>(segs: S[], eventOrderSpecs: OrderSpec<EventImpl>[]): S[];
1452
+ declare function sortEventSegs<S extends EventRangeProps>(segs: S[], eventOrderSpecs: OrderSpec<EventImpl>[]): S[];
1378
1453
  interface EventContentArg {
1379
1454
  event: EventImpl;
1380
1455
  timeText: string;
@@ -1396,23 +1471,20 @@ interface EventContentArg {
1396
1471
  view: ViewApi;
1397
1472
  }
1398
1473
  type EventMountArg = MountArg<EventContentArg>;
1399
- declare function buildEventRangeTimeText(eventRange: EventRenderRange, timeFormat: DateFormatter, context: ViewContext, defaultDisplayEventTime?: boolean, // defaults to true
1400
- defaultDisplayEventEnd?: boolean, // defaults to true
1401
- startOverride?: DateMarker, endOverride?: DateMarker): string;
1474
+ declare function buildEventRangeTimeText(timeFormat: DateFormatter, eventRange: EventRenderRange, // timed/whole-day span
1475
+ slicedStart: DateMarker | undefined, // view-sliced timed/whole-day span
1476
+ slicedEnd: DateMarker | undefined, // view-sliced timed/whole-day span
1477
+ isStart: boolean, isEnd: boolean, context: ViewContext, defaultDisplayEventTime?: boolean, defaultDisplayEventEnd?: boolean): string;
1402
1478
  declare function getEventRangeMeta(eventRange: EventRenderRange, todayRange: DateRange, nowDate?: DateMarker): {
1403
1479
  isPast: boolean;
1404
1480
  isFuture: boolean;
1405
1481
  isToday: boolean;
1406
1482
  };
1407
1483
  declare function buildEventRangeKey(eventRange: EventRenderRange): string;
1408
- declare function getEventRangeAnchorAttrs(eventRange: EventRenderRange, context: ViewContext): {
1409
- tabIndex: number;
1410
- onKeyDown(ev: KeyboardEvent): void;
1411
- } | {
1412
- href: string;
1413
- } | {
1414
- href?: undefined;
1415
- };
1484
+ declare function getEventTagAndAttrs(eventRange: EventRenderRange, context: ViewContext): [
1485
+ tag: string,
1486
+ attrs: any
1487
+ ];
1416
1488
 
1417
1489
  interface OpenDateSpanInput {
1418
1490
  start?: DateInput;
@@ -1478,13 +1550,13 @@ type ElAttrs = JSX.HTMLAttributes & JSX.SVGAttributes & {
1478
1550
  ref?: ElRef;
1479
1551
  } & Record<string, any>;
1480
1552
  interface ElAttrsProps {
1553
+ attrs?: ElAttrs;
1554
+ className?: string;
1555
+ style?: JSX.CSSProperties;
1481
1556
  elRef?: ElRef;
1482
- elClasses?: string[];
1483
- elStyle?: JSX.CSSProperties;
1484
- elAttrs?: ElAttrs;
1485
1557
  }
1486
1558
  interface ElProps extends ElAttrsProps {
1487
- elTag: string;
1559
+ tag: string;
1488
1560
  }
1489
1561
  interface ContentGeneratorProps<RenderProps> {
1490
1562
  renderProps: RenderProps;
@@ -1492,10 +1564,10 @@ interface ContentGeneratorProps<RenderProps> {
1492
1564
  customGenerator?: CustomContentGenerator<RenderProps>;
1493
1565
  defaultGenerator?: (renderProps: RenderProps) => ComponentChild;
1494
1566
  }
1495
- declare function buildElAttrs(props: ElAttrsProps, extraClassNames?: string[], elRef?: ElRef): ElAttrs;
1567
+ declare function buildElAttrs(props: ElAttrsProps, className?: string, elRef?: ElRef): ElAttrs;
1496
1568
 
1497
1569
  type ContentContainerProps<RenderProps> = ElAttrsProps & ContentGeneratorProps<RenderProps> & {
1498
- elTag?: string;
1570
+ tag?: string;
1499
1571
  classNameGenerator: ClassNamesGenerator<RenderProps> | undefined;
1500
1572
  didMount: ((renderProps: RenderProps & {
1501
1573
  el: HTMLElement;
@@ -1517,7 +1589,10 @@ declare class ContentContainer<RenderProps> extends Component<ContentContainerPr
1517
1589
  componentWillUnmount(): void;
1518
1590
  }
1519
1591
  type InnerContainerComponent = FunctionalComponent<ElProps>;
1520
- type InnerContainerFunc<RenderProps> = (InnerContainer: InnerContainerComponent, renderProps: RenderProps, elAttrs: ElAttrs) => ComponentChildren;
1592
+ type InnerContainerFunc<RenderProps> = (InnerContainer: InnerContainerComponent, renderProps: RenderProps, attrs: ElAttrs) => ComponentChildren;
1593
+ declare function renderText(renderProps: {
1594
+ text: string;
1595
+ }): ComponentChild;
1521
1596
 
1522
1597
  interface NowIndicatorContainerProps extends Partial<ElProps> {
1523
1598
  isAxis: boolean;
@@ -1545,15 +1620,15 @@ interface WeekNumberContentArg {
1545
1620
  type WeekNumberMountArg = MountArg<WeekNumberContentArg>;
1546
1621
  declare const WeekNumberContainer: (props: WeekNumberContainerProps) => createElement.JSX.Element;
1547
1622
 
1548
- interface MoreLinkContainerProps extends Partial<ElProps> {
1623
+ interface MoreLinkContainerProps extends Partial<ElAttrsProps> {
1549
1624
  dateProfile: DateProfile;
1550
1625
  todayRange: DateRange;
1551
1626
  allDayDate: DateMarker | null;
1552
- segs: Seg[];
1553
- hiddenSegs: Seg[];
1554
- extraDateSpan?: Dictionary;
1555
- alignmentElRef?: RefObject<HTMLElement>;
1556
- alignGridTop?: boolean;
1627
+ segs: EventRangeProps[];
1628
+ hiddenSegs: EventRangeProps[];
1629
+ dateSpanProps?: Dictionary;
1630
+ alignElRef?: RefObject<HTMLElement>;
1631
+ alignParentTop?: string;
1557
1632
  forceTimed?: boolean;
1558
1633
  popoverContent: () => ComponentChild;
1559
1634
  defaultGenerator?: (renderProps: MoreLinkContentArg) => ComponentChild;
@@ -1585,7 +1660,6 @@ declare class MoreLinkContainer extends BaseComponent<MoreLinkContainerProps, Mo
1585
1660
  handleClick: (ev: MouseEvent) => void;
1586
1661
  handlePopoverClose: () => void;
1587
1662
  }
1588
- declare function computeEarliestSegStart(segs: Seg[]): DateMarker;
1589
1663
 
1590
1664
  interface EventSegment {
1591
1665
  event: EventApi;
@@ -1615,8 +1689,8 @@ interface DateMeta {
1615
1689
  isFuture: boolean;
1616
1690
  }
1617
1691
  declare function getDateMeta(date: DateMarker, todayRange?: DateRange, nowDate?: DateMarker, dateProfile?: DateProfile): DateMeta;
1618
- declare function getDayClassNames(meta: DateMeta, theme: Theme): string[];
1619
- declare function getSlotClassNames(meta: DateMeta, theme: Theme): string[];
1692
+ declare function getDayClassName(meta: DateMeta): string;
1693
+ declare function getSlotClassName(meta: DateMeta): string;
1620
1694
 
1621
1695
  interface SlotLaneContentArg extends Partial<DateMeta> {
1622
1696
  time?: Duration;
@@ -1639,8 +1713,8 @@ interface AllDayContentArg {
1639
1713
  type AllDayMountArg = MountArg<AllDayContentArg>;
1640
1714
  interface DayHeaderContentArg extends DateMeta {
1641
1715
  date: Date;
1642
- view: ViewApi;
1643
1716
  text: string;
1717
+ view: ViewApi;
1644
1718
  [otherProp: string]: any;
1645
1719
  }
1646
1720
  type DayHeaderMountArg = MountArg<DayHeaderContentArg>;
@@ -1654,11 +1728,10 @@ interface DayCellContentArg extends DateMeta {
1654
1728
  type DayCellMountArg = MountArg<DayCellContentArg>;
1655
1729
  interface DayCellContainerProps extends Partial<ElProps> {
1656
1730
  date: DateMarker;
1657
- dateProfile: DateProfile;
1658
- todayRange: DateRange;
1731
+ dateMeta: DateMeta;
1659
1732
  isMonthStart?: boolean;
1660
1733
  showDayNumber?: boolean;
1661
- extraRenderProps?: Dictionary;
1734
+ renderProps?: Dictionary;
1662
1735
  defaultGenerator?: (renderProps: DayCellContentArg) => ComponentChild;
1663
1736
  children?: InnerContainerFunc<DayCellContentArg>;
1664
1737
  }
@@ -1669,18 +1742,18 @@ declare class DayCellContainer extends BaseComponent<DayCellContainerProps> {
1669
1742
  declare function hasCustomDayCellContent(options: ViewOptions): boolean;
1670
1743
  interface DayCellRenderPropsInput {
1671
1744
  date: DateMarker;
1672
- dateProfile: DateProfile;
1673
- todayRange: DateRange;
1745
+ dateMeta: DateMeta;
1674
1746
  dateEnv: DateEnv;
1675
1747
  viewApi: ViewApi;
1676
1748
  monthStartFormat: DateFormatter;
1677
1749
  isMonthStart: boolean;
1678
1750
  showDayNumber?: boolean;
1679
- extraRenderProps?: Dictionary;
1751
+ renderProps?: Dictionary;
1680
1752
  }
1681
1753
 
1682
1754
  interface ViewContainerProps extends Partial<ElProps> {
1683
1755
  viewSpec: ViewSpec;
1756
+ attrs?: any;
1684
1757
  children: ComponentChildren;
1685
1758
  }
1686
1759
  interface ViewContentArg {
@@ -1705,52 +1778,6 @@ interface EventHoveringArg {
1705
1778
  view: ViewApi;
1706
1779
  }
1707
1780
 
1708
- interface ToolbarInput {
1709
- left?: string;
1710
- center?: string;
1711
- right?: string;
1712
- start?: string;
1713
- end?: string;
1714
- }
1715
- interface CustomButtonInput {
1716
- text?: string;
1717
- hint?: string;
1718
- icon?: string;
1719
- themeIcon?: string;
1720
- bootstrapFontAwesome?: string;
1721
- click?(ev: MouseEvent, element: HTMLElement): void;
1722
- }
1723
- interface ButtonIconsInput {
1724
- prev?: string;
1725
- next?: string;
1726
- prevYear?: string;
1727
- nextYear?: string;
1728
- today?: string;
1729
- [viewOrCustomButton: string]: string | undefined;
1730
- }
1731
- interface ButtonTextCompoundInput {
1732
- prev?: string;
1733
- next?: string;
1734
- prevYear?: string;
1735
- nextYear?: string;
1736
- today?: string;
1737
- month?: string;
1738
- week?: string;
1739
- day?: string;
1740
- [viewOrCustomButton: string]: string | undefined;
1741
- }
1742
- interface ButtonHintCompoundInput {
1743
- prev?: string | ((...args: any[]) => string);
1744
- next?: string | ((...args: any[]) => string);
1745
- prevYear?: string | ((...args: any[]) => string);
1746
- nextYear?: string | ((...args: any[]) => string);
1747
- today?: string | ((...args: any[]) => string);
1748
- month?: string | ((...args: any[]) => string);
1749
- week?: string | ((...args: any[]) => string);
1750
- day?: string | ((...args: any[]) => string);
1751
- [viewOrCustomButton: string]: string | ((...args: any[]) => string) | undefined;
1752
- }
1753
-
1754
1781
  type DatesSetArg = RangeApiWithTimeZone & {
1755
1782
  view: ViewApi;
1756
1783
  };
@@ -1954,6 +1981,7 @@ declare const BASE_OPTION_REFINERS: {
1954
1981
  dropAccept: Identity<string | ((this: CalendarApi, draggable: any) => boolean)>;
1955
1982
  eventOrder: typeof parseFieldSpecs;
1956
1983
  eventOrderStrict: BooleanConstructor;
1984
+ eventSlicing: BooleanConstructor;
1957
1985
  longPressDelay: NumberConstructor;
1958
1986
  eventDragMinDistance: NumberConstructor;
1959
1987
  expandRows: BooleanConstructor;
@@ -2014,6 +2042,7 @@ declare const BASE_OPTION_REFINERS: {
2014
2042
  allDayContent: Identity<CustomContentGenerator<AllDayContentArg>>;
2015
2043
  allDayDidMount: Identity<DidMountHandler<AllDayMountArg>>;
2016
2044
  allDayWillUnmount: Identity<WillUnmountHandler<AllDayMountArg>>;
2045
+ timedText: StringConstructor;
2017
2046
  slotMinWidth: NumberConstructor;
2018
2047
  navLinks: BooleanConstructor;
2019
2048
  eventTimeFormat: typeof createFormatter;
@@ -2043,10 +2072,11 @@ declare const BASE_OPTION_REFINERS: {
2043
2072
  eventInteractive: BooleanConstructor;
2044
2073
  noEventsText: StringConstructor;
2045
2074
  viewHint: Identity<string | ((...args: any[]) => string)>;
2075
+ viewChangeHint: StringConstructor;
2046
2076
  navLinkHint: Identity<string | ((...args: any[]) => string)>;
2047
2077
  closeHint: StringConstructor;
2048
- timeHint: StringConstructor;
2049
- eventHint: StringConstructor;
2078
+ eventsHint: StringConstructor;
2079
+ headingLevel: NumberConstructor;
2050
2080
  moreLinkClick: Identity<MoreLinkAction>;
2051
2081
  moreLinkClassNames: Identity<ClassNamesGenerator<MoreLinkContentArg>>;
2052
2082
  moreLinkContent: Identity<CustomContentGenerator<MoreLinkContentArg>>;
@@ -2123,6 +2153,7 @@ declare const BASE_OPTION_DEFAULTS: {
2123
2153
  month: string;
2124
2154
  day: string;
2125
2155
  };
2156
+ headingLevel: number;
2126
2157
  };
2127
2158
  type BaseOptionsRefined = DefaultedRefinedOptions<RefinedOptionsFromRefiners<Required<BaseOptionRefiners>>, // Required is a hack for "Index signature is missing"
2128
2159
  keyof typeof BASE_OPTION_DEFAULTS>;
@@ -2202,7 +2233,6 @@ declare class JsonRequestError extends Error {
2202
2233
  declare function requestJson<ParsedResponse>(method: string, url: string, params: Dictionary): Promise<[ParsedResponse, Response]>;
2203
2234
 
2204
2235
  declare function computeVisibleDayRange(timedRange: OpenDateRange, nextDayThreshold?: Duration): OpenDateRange;
2205
- declare function isMultiDayRange(range: DateRange): boolean;
2206
2236
  declare function diffDates(date0: DateMarker, date1: DateMarker, dateEnv: DateEnv, largeUnit?: string): Duration;
2207
2237
 
2208
2238
  declare function removeExact(array: any, exactVal: any): number;
@@ -2220,44 +2250,33 @@ type MemoizeHashFunc<Args extends any[], Res> = (argHash: {
2220
2250
  };
2221
2251
  declare function memoizeHashlike<Args extends any[], Res>(workerFunc: (...args: Args) => Res, resEquality?: (res0: Res, res1: Res) => boolean, teardownFunc?: (res: Res) => void): MemoizeHashFunc<Args, Res>;
2222
2252
 
2223
- declare function removeElement(el: HTMLElement): void;
2224
- declare function elementClosest(el: HTMLElement, selector: string): HTMLElement;
2225
- declare function elementMatches(el: HTMLElement, selector: string): HTMLElement;
2226
- declare function findElements(container: HTMLElement[] | HTMLElement | NodeListOf<HTMLElement>, selector: string): HTMLElement[];
2227
- declare function findDirectChildren(parent: HTMLElement[] | HTMLElement, selector?: string): HTMLElement[];
2228
2253
  declare function applyStyle(el: HTMLElement, props: Dictionary): void;
2229
2254
  declare function getEventTargetViaRoot(ev: Event): EventTarget;
2230
2255
  declare function getUniqueDomId(): string;
2231
2256
 
2232
- declare function setStateDimMap<State>(component: Component<unknown, State>, key: keyof State, newMap: {
2233
- [key: string]: number;
2234
- }): void;
2235
- declare function isDimMapsEqual(oldMap: {
2236
- [key: string]: number;
2237
- }, newMap: {
2238
- [key: string]: number;
2239
- }): boolean;
2240
2257
  declare function isDimsEqual(v0: number | undefined, v1: number): boolean;
2241
2258
 
2242
- declare function watchSize(el: HTMLElement, callback: (width: number, height: number) => void): () => void;
2243
- declare function watchWidth(el: HTMLElement, callback: (width: number) => void): () => void;
2244
- declare function watchHeight(el: HTMLElement, callback: (height: number) => void): () => void;
2259
+ type SizeCallback = (width: number, height: number) => void;
2260
+ type DisconnectSize = () => void;
2261
+ type WatchSize = (el: HTMLElement, callback: SizeCallback, client?: boolean, watchWidth?: boolean, watchHeight?: boolean) => DisconnectSize;
2245
2262
  declare function afterSize(callback: () => void): void;
2263
+ declare const watchSize: WatchSize;
2264
+ declare function watchWidth(el: HTMLElement, callback: (width: number) => void): DisconnectSize;
2265
+ declare function watchHeight(el: HTMLElement, callback: (height: number) => void): DisconnectSize;
2246
2266
 
2247
- declare function buildNavLinkAttrs(context: ViewContext, dateMarker: DateMarker, viewType?: string, isTabbable?: boolean): {
2267
+ declare function buildDateStr(context: ViewContext, dateMarker: DateMarker, viewType?: string): string;
2268
+ declare function buildNavLinkAttrs(context: ViewContext, dateMarker: DateMarker, viewType?: string, dateStr?: string, isTabbable?: boolean): {
2248
2269
  tabIndex: number;
2249
2270
  onKeyDown(ev: KeyboardEvent): void;
2250
2271
  onClick: (ev: UIEvent) => void;
2251
- title: any;
2272
+ role: any;
2273
+ 'aria-label': any;
2252
2274
  'data-navlink': string;
2253
- 'aria-label'?: undefined;
2254
2275
  } | {
2255
2276
  onClick: (ev: UIEvent) => void;
2256
- title: any;
2277
+ role: any;
2278
+ 'aria-label': any;
2257
2279
  'data-navlink': string;
2258
- 'aria-label'?: undefined;
2259
- } | {
2260
- 'aria-label': string;
2261
2280
  };
2262
2281
 
2263
2282
  declare function preventDefault(ev: any): void;
@@ -2357,60 +2376,65 @@ declare function parse(str: any): {
2357
2376
  timeZoneOffset: any;
2358
2377
  };
2359
2378
 
2360
- interface SegSpan {
2379
+ interface CoordSpan {
2361
2380
  start: number;
2362
- end: number;
2381
+ size: number;
2363
2382
  }
2364
- interface SegEntry {
2365
- index: number;
2366
- seg?: Seg;
2367
- segGroup?: SegGroup;
2368
- span: SegSpan;
2369
- thickness?: number;
2383
+ interface CoordRange {
2384
+ start: number;
2385
+ end: number;
2370
2386
  }
2371
- interface SegInsertion {
2372
- level: number;
2373
- levelCoord: number;
2374
- lateral: number;
2375
- touchingLevel: number;
2376
- touchingLateral: number;
2377
- touchingEntry: SegEntry;
2378
- stackCnt: number;
2387
+ interface SlicedCoordRange extends CoordRange {
2388
+ isStart: boolean;
2389
+ isEnd: boolean;
2379
2390
  }
2380
- interface SegRect extends SegEntry {
2391
+ declare function getCoordRangeEnd(r: CoordRange): number;
2392
+ declare function computeEarliestStart(segs: EventRangeProps[]): DateMarker;
2393
+ declare function computeLatestEnd(segs: EventRangeProps[]): DateMarker;
2394
+
2395
+ type EventSeg<R extends SlicedCoordRange> = R & EventRangeProps & {
2396
+ isSlice?: boolean;
2397
+ };
2398
+ type EventPlacement<R extends SlicedCoordRange> = EventSeg<R> & {
2381
2399
  thickness: number;
2400
+ depth: number;
2401
+ isSlice: boolean;
2402
+ isZombie: boolean;
2403
+ };
2404
+ interface EventInsertion<R extends SlicedCoordRange> {
2405
+ levelIndex: number;
2382
2406
  levelCoord: number;
2407
+ lateralIndex: number;
2408
+ touchingPlacement: EventPlacement<R> | undefined;
2409
+ depth: number;
2383
2410
  }
2384
- interface SegGroup {
2385
- key: string;
2386
- span: SegSpan;
2387
- segs: Seg[];
2388
- }
2389
- declare class SegHierarchy {
2390
- private getEntryThickness;
2411
+ declare class SegHierarchy<R extends SlicedCoordRange> {
2412
+ private getSegThickness;
2391
2413
  strictOrder: boolean;
2392
- allowReslicing: boolean;
2393
- maxCoord: number;
2394
- maxStackCnt: number;
2414
+ private maxCoord;
2415
+ private maxDepth;
2416
+ private hiddenConsumes;
2417
+ private allowSlicing;
2418
+ placementsByLevel: EventPlacement<R>[][];
2395
2419
  levelCoords: number[];
2396
- entriesByLevel: SegEntry[][];
2397
- stackCnts: {
2398
- [entryId: string]: number;
2399
- };
2400
- constructor(getEntryThickness?: (entry: SegEntry) => number | undefined);
2401
- addSegs(inputs: SegEntry[]): SegEntry[];
2402
- insertEntry(entry: SegEntry, hiddenEntries: SegEntry[]): void;
2403
- isInsertionValid(insertion: SegInsertion, entry: SegEntry, entryThickness: number): boolean;
2404
- handleInvalidInsertion(insertion: SegInsertion, entry: SegEntry, hiddenEntries: SegEntry[]): void;
2405
- splitEntry(entry: SegEntry, barrier: SegEntry, hiddenEntries: SegEntry[]): void;
2406
- insertEntryAt(entry: SegEntry, insertion: SegInsertion): void;
2407
- findInsertion(newEntry: SegEntry, newEntryThickness: number): SegInsertion;
2408
- toRects(): SegRect[];
2409
- }
2410
- declare function getEntrySpanEnd(entry: SegEntry): number;
2411
- declare function buildEntryKey(entry: SegEntry): string;
2412
- declare function groupIntersectingEntries(entries: SegEntry[]): SegGroup[];
2413
- declare function intersectSpans(span0: SegSpan, span1: SegSpan): SegSpan | null;
2420
+ hiddenSegs: EventSeg<R>[];
2421
+ constructor(segs: EventSeg<R>[], getSegThickness: (seg: EventSeg<R>) => number | undefined, strictOrder: boolean, // HACK
2422
+ maxCoord: number | undefined, maxDepth: number | undefined, hiddenConsumes?: boolean, // hidden segs also hide the touchingPlacement?
2423
+ allowSlicing?: boolean);
2424
+ private insertSeg;
2425
+ private isInsertionValid;
2426
+ private splitSeg;
2427
+ private insertSegAt;
2428
+ findInsertion(seg: CoordRange, segThickness: number): EventInsertion<R>;
2429
+ traverseSegs(handler: (seg: EventPlacement<R>, levelCoord: number) => void): void;
2430
+ }
2431
+ interface SegInternalGroup<R extends SlicedCoordRange> extends CoordRange {
2432
+ segs: EventSeg<R>[];
2433
+ }
2434
+ interface SegGroup<R extends SlicedCoordRange> extends SegInternalGroup<R> {
2435
+ key: string;
2436
+ }
2437
+ declare function groupIntersectingSegs<R extends SlicedCoordRange>(segs: EventSeg<R>[]): SegGroup<R>[];
2414
2438
  declare function binarySearch<Item>(a: Item[], searchVal: number, getItemVal: (item: Item) => number): [number, number];
2415
2439
 
2416
2440
  declare const config: any;
@@ -2433,33 +2457,25 @@ declare class CalendarRoot extends BaseComponent<CalendarRootProps, CalendarRoot
2433
2457
  handleAfterPrint: () => void;
2434
2458
  }
2435
2459
 
2436
- interface DaySeriesSeg {
2437
- firstIndex: number;
2438
- lastIndex: number;
2439
- isStart: boolean;
2440
- isEnd: boolean;
2441
- }
2442
2460
  declare class DaySeriesModel {
2443
2461
  cnt: number;
2444
2462
  dates: DateMarker[];
2445
2463
  indices: number[];
2446
2464
  constructor(range: DateRange, dateProfileGenerator: DateProfileGenerator);
2447
- sliceRange(range: DateRange): DaySeriesSeg | null;
2465
+ sliceRange(range: DateRange): SlicedCoordRange | null;
2448
2466
  private getDateDayIndex;
2449
2467
  }
2450
2468
 
2451
- interface DayTableSeg extends Seg {
2469
+ interface DayGridRange extends SlicedCoordRange {
2452
2470
  row: number;
2453
- firstCol: number;
2454
- lastCol: number;
2455
2471
  }
2456
2472
  interface DayTableCell {
2457
2473
  key: string;
2458
2474
  date: DateMarker;
2459
- extraRenderProps?: Dictionary;
2460
- extraDataAttrs?: Dictionary;
2461
- extraClassNames?: string[];
2462
- extraDateSpan?: Dictionary;
2475
+ renderProps?: Dictionary;
2476
+ attrs?: Dictionary;
2477
+ className?: string;
2478
+ dateSpanProps?: Dictionary;
2463
2479
  }
2464
2480
  declare class DayTableModel {
2465
2481
  rowCnt: number;
@@ -2471,26 +2487,33 @@ declare class DayTableModel {
2471
2487
  buildCells(): any[];
2472
2488
  private buildCell;
2473
2489
  private buildHeaderDates;
2474
- sliceRange(range: DateRange): DayTableSeg[];
2490
+ sliceRange(range: DateRange): DayGridRange[];
2475
2491
  }
2476
2492
 
2477
2493
  declare class ScrollListener {
2478
2494
  el: HTMLElement;
2479
2495
  emitter: Emitter<any>;
2480
- private isScrolling;
2481
- private isTouching;
2482
- private isRecentlyWheeled;
2483
- private isRecentlyScrolled;
2484
2496
  private wheelWaiter;
2485
2497
  private scrollWaiter;
2498
+ private isScroll;
2499
+ private isScrollRecent;
2500
+ private isWheelRecent;
2501
+ private isMouseDown;
2502
+ private isTouchDown;
2503
+ private isMouse;
2504
+ private isTouch;
2505
+ private isWheel;
2486
2506
  constructor(el: HTMLElement);
2487
2507
  destroy(): void;
2488
2508
  private startScroll;
2489
2509
  endScroll(): void;
2510
+ private getIsUser;
2490
2511
  private handleScroll;
2491
- private _handleScrollWaited;
2512
+ private handleScrollWait;
2492
2513
  private handleWheel;
2493
- private _handleWheelWaited;
2514
+ private handleWheelWait;
2515
+ private handleMouseDown;
2516
+ private handleMouseUp;
2494
2517
  private handleTouchStart;
2495
2518
  private handleTouchEnd;
2496
2519
  }
@@ -2500,26 +2523,23 @@ interface ScrollerProps {
2500
2523
  horizontal?: boolean;
2501
2524
  hideScrollbars?: boolean;
2502
2525
  children: ComponentChildren;
2503
- elClassNames?: string[];
2504
- elStyle?: Dictionary$1;
2505
- widthRef?: Ref<number>;
2506
- heightRef?: Ref<number>;
2507
- leftScrollbarWidthRef?: Ref<number>;
2508
- rightScrollbarWidthRef?: Ref<number>;
2526
+ className?: string;
2527
+ style?: Dictionary;
2528
+ clientWidthRef?: Ref<number>;
2529
+ clientHeightRef?: Ref<number>;
2530
+ endScrollbarWidthRef?: Ref<number>;
2509
2531
  bottomScrollbarWidthRef?: Ref<number>;
2510
2532
  }
2511
- declare class Scroller extends DateComponent$1<ScrollerProps> implements ScrollerInterface {
2512
- private elRef;
2533
+ declare class Scroller extends DateComponent<ScrollerProps> implements ScrollerInterface {
2534
+ private el?;
2513
2535
  listener: ScrollListener;
2514
2536
  private disconnectSize?;
2515
- private currentWidth;
2516
- private currentHeight;
2517
- private currentLeftScrollbarWidth;
2518
- private currentRightScrollbarWidth;
2537
+ private currentClientWidth;
2538
+ private currentClientHeight;
2539
+ private currentEndScrollbarWidth;
2519
2540
  private currentBottomScrollbarWidth;
2520
2541
  render(): createElement.JSX.Element;
2521
- componentDidMount(): void;
2522
- componentWillUnmount(): void;
2542
+ handleEl: (el: HTMLDivElement | null) => void;
2523
2543
  endScroll(): void;
2524
2544
  get x(): number;
2525
2545
  get y(): number;
@@ -2527,8 +2547,16 @@ declare class Scroller extends DateComponent$1<ScrollerProps> implements Scrolle
2527
2547
  x?: number;
2528
2548
  y?: number;
2529
2549
  }): void;
2530
- addScrollEndListener(handler: (x: number, y: number) => void): void;
2531
- removeScrollEndListener(handler: (x: number, y: number) => void): void;
2550
+ addScrollEndListener(handler: (arg: {
2551
+ x: number;
2552
+ y: number;
2553
+ isUser: boolean;
2554
+ }) => void): void;
2555
+ removeScrollEndListener(handler: (arg: {
2556
+ x: number;
2557
+ y: number;
2558
+ isUser: boolean;
2559
+ }) => void): void;
2532
2560
  }
2533
2561
  declare function getNormalizedScrollX(el: HTMLElement, isRtl: boolean): number;
2534
2562
  declare function setNormalizedScrollX(el: HTMLElement, isRtl: boolean, x: number): void;
@@ -2542,26 +2570,26 @@ interface SliceableProps {
2542
2570
  eventSelection: string;
2543
2571
  eventUiBases: EventUiHash;
2544
2572
  }
2545
- interface SlicedProps<SegType extends Seg> {
2546
- dateSelectionSegs: SegType[];
2547
- businessHourSegs: SegType[];
2548
- fgEventSegs: SegType[];
2549
- bgEventSegs: SegType[];
2550
- eventDrag: EventSegUiInteractionState<SegType> | null;
2551
- eventResize: EventSegUiInteractionState<SegType> | null;
2573
+ interface SlicedProps<R> {
2574
+ fgEventSegs: (R & EventRangeProps)[];
2575
+ bgEventSegs: (R & EventRangeProps)[];
2576
+ businessHourSegs: (R & EventRangeProps)[];
2577
+ dateSelectionSegs: (R & EventRangeProps)[];
2578
+ eventDrag: EventSegUiInteractionState<R> | null;
2579
+ eventResize: EventSegUiInteractionState<R> | null;
2552
2580
  eventSelection: string;
2553
2581
  }
2554
- declare abstract class Slicer<SegType extends Seg, ExtraArgs extends any[] = []> {
2582
+ declare abstract class Slicer<R, ExtraArgs extends any[] = []> {
2555
2583
  private sliceBusinessHours;
2556
2584
  private sliceDateSelection;
2557
2585
  private sliceEventStore;
2558
2586
  private sliceEventDrag;
2559
2587
  private sliceEventResize;
2560
- abstract sliceRange(dateRange: DateRange, ...extraArgs: ExtraArgs): SegType[];
2588
+ abstract sliceRange(dateRange: DateRange, ...extraArgs: ExtraArgs): R[];
2561
2589
  protected forceDayIfListItem: boolean;
2562
- sliceProps(props: SliceableProps, dateProfile: DateProfile, nextDayThreshold: Duration | null, context: CalendarContext, ...extraArgs: ExtraArgs): SlicedProps<SegType>;
2590
+ sliceProps(props: SliceableProps, dateProfile: DateProfile, nextDayThreshold: Duration | null, context: CalendarContext, ...extraArgs: ExtraArgs): SlicedProps<R>;
2563
2591
  sliceNowDate(// does not memoize
2564
- date: DateMarker, dateProfile: DateProfile, nextDayThreshold: Duration | null, context: CalendarContext, ...extraArgs: ExtraArgs): SegType[];
2592
+ date: DateMarker, dateProfile: DateProfile, nextDayThreshold: Duration | null, context: CalendarContext, ...extraArgs: ExtraArgs): R[];
2565
2593
  private _sliceBusinessHours;
2566
2594
  private _sliceEventStore;
2567
2595
  private _sliceInteraction;
@@ -2635,8 +2663,10 @@ declare class NowTimer extends Component<NowTimerProps, NowTimerState> {
2635
2663
 
2636
2664
  interface StandardEventProps {
2637
2665
  elRef?: ElRef;
2638
- elClasses?: string[];
2666
+ className?: string;
2639
2667
  eventRange: EventRenderRange;
2668
+ slicedStart?: DateMarker;
2669
+ slicedEnd?: DateMarker;
2640
2670
  isStart: boolean;
2641
2671
  isEnd: boolean;
2642
2672
  isDragging: boolean;
@@ -2651,8 +2681,6 @@ interface StandardEventProps {
2651
2681
  defaultTimeFormat: DateFormatter;
2652
2682
  defaultDisplayEventTime?: boolean;
2653
2683
  defaultDisplayEventEnd?: boolean;
2654
- startOverride?: DateMarker;
2655
- endOverride?: DateMarker;
2656
2684
  }
2657
2685
  declare class StandardEvent extends BaseComponent<StandardEventProps> {
2658
2686
  render(): createElement.JSX.Element;
@@ -2660,6 +2688,8 @@ declare class StandardEvent extends BaseComponent<StandardEventProps> {
2660
2688
 
2661
2689
  interface MinimalEventProps {
2662
2690
  eventRange: EventRenderRange;
2691
+ slicedStart?: DateMarker;
2692
+ slicedEnd?: DateMarker;
2663
2693
  isStart: boolean;
2664
2694
  isEnd: boolean;
2665
2695
  isDragging: boolean;
@@ -2699,4 +2729,17 @@ declare function renderFill(fillType: string): createElement.JSX.Element;
2699
2729
 
2700
2730
  declare function injectStyles(styleText: string): void;
2701
2731
 
2702
- export { DayCellMountArg as $, AllowFunc as A, BusinessHoursInput as B, CalendarImpl as C, DateInput as D, EventSourceApi as E, FormatterInput as F, WeekNumberContentArg as G, WeekNumberMountArg as H, MoreLinkMountArg as I, JsonRequestError as J, SlotLaneContentArg as K, LocaleInput as L, MoreLinkContentArg as M, NativeFormatterOptions as N, OverlapFunc as O, PluginDefInput as P, SlotLaneMountArg as Q, SlotLabelContentArg as R, SpecificViewContentArg as S, SlotLabelMountArg as T, AllDayContentArg as U, ViewApi as V, WillUnmountHandler as W, AllDayMountArg as X, DayHeaderContentArg as Y, DayHeaderMountArg as Z, DayCellContentArg as _, CalendarOptions as a, enableCursor as a$, ViewContentArg as a0, ViewMountArg as a1, EventClickArg as a2, EventHoveringArg as a3, DateSelectArg as a4, DateUnselectArg as a5, WeekNumberCalculation as a6, ToolbarInput as a7, CustomButtonInput as a8, ButtonIconsInput as a9, RefinedOptionsFromRefiners as aA, CalendarListenerRefiners as aB, BASE_OPTION_DEFAULTS as aC, identity as aD, refineProps as aE, EventDef as aF, EventDefHash as aG, EventInstance as aH, EventInstanceHash as aI, createEventInstance as aJ, EventRefined as aK, EventTuple as aL, EventRefiners as aM, parseEventDef as aN, refineEventDef as aO, parseBusinessHours as aP, OrderSpec as aQ, padStart as aR, isInt as aS, parseFieldSpecs as aT, compareByFieldSpecs as aU, flexibleCompare as aV, preventSelection as aW, allowSelection as aX, preventContextMenu as aY, allowContextMenu as aZ, compareNumbers as a_, ButtonTextCompoundInput as aa, EventContentArg as ab, EventMountArg as ac, DatesSetArg as ad, EventAddArg as ae, EventChangeArg as af, EventDropArg as ag, EventRemoveArg as ah, ButtonHintCompoundInput as ai, CustomRenderingHandler as aj, CustomRenderingStore as ak, DateSpanApi as al, DatePointApi as am, DateSelectionApi as an, Duration as ao, EventSegment as ap, MoreLinkAction as aq, MoreLinkSimpleAction as ar, MoreLinkArg as as, MoreLinkHandler as at, Identity as au, Dictionary as av, BaseOptionRefiners as aw, BaseOptionsRefined as ax, ViewOptionsRefined as ay, RawOptionsFromRefiners as az, PluginDef as b, getClippingParents as b$, disableCursor as b0, guid as b1, computeVisibleDayRange as b2, isMultiDayRange as b3, diffDates as b4, removeExact as b5, isArraysEqual as b6, MemoizeHashFunc as b7, MemoiseArrayFunc as b8, memoize as b9, EventStore as bA, createEmptyEventStore as bB, mergeEventStores as bC, getRelevantEvents as bD, eventTupleToStore as bE, EventUiHash as bF, EventUi as bG, combineEventUis as bH, createEventUi as bI, SplittableProps as bJ, Splitter as bK, getDayClassNames as bL, getDateMeta as bM, getSlotClassNames as bN, DateMeta as bO, setStateDimMap as bP, isDimMapsEqual as bQ, isDimsEqual as bR, watchSize as bS, watchWidth as bT, watchHeight as bU, afterSize as bV, buildNavLinkAttrs as bW, preventDefault as bX, whenTransitionDone as bY, computeInnerRect as bZ, computeEdges as b_, memoizeObjArg as ba, memoizeArraylike as bb, memoizeHashlike as bc, Rect as bd, Point as be, intersectRects as bf, pointInsideRect as bg, constrainPoint as bh, getRectCenter as bi, diffPoints as bj, translateRect as bk, mapHash as bl, filterHash as bm, isPropsEqual as bn, compareObjs as bo, collectFromHash as bp, findElements as bq, findDirectChildren as br, removeElement as bs, applyStyle as bt, elementMatches as bu, elementClosest as bv, getEventTargetViaRoot as bw, getUniqueDomId as bx, parseClassNames as by, fracToCssDim as bz, CalendarApi as c, SegGroup as c$, computeRect as c0, unpromisify as c1, Emitter as c2, DateRange as c3, rangeContainsMarker as c4, intersectRanges as c5, rangesEqual as c6, rangesIntersect as c7, rangeContainsRange as c8, PositionCache as c9, isValidDate as cA, createDuration as cB, asCleanDays as cC, multiplyDuration as cD, addDurations as cE, asRoughMinutes as cF, asRoughSeconds as cG, asRoughMs as cH, wholeDivideDurations as cI, greatestDurationDenominator as cJ, DateEnv as cK, createFormatter as cL, DateFormatter as cM, VerboseFormattingArg as cN, formatIsoTimeString as cO, formatDayString as cP, buildIsoString as cQ, formatIsoMonthStr as cR, NamedTimeZoneImpl as cS, parse as cT, EventSourceDef as cU, EventSourceRefined as cV, EventSourceRefiners as cW, SegSpan as cX, SegRect as cY, SegEntry as cZ, SegInsertion as c_, ScrollController as ca, ElementScrollController as cb, WindowScrollController as cc, Theme as cd, ViewContext as ce, ViewContextType as cf, Seg as cg, EventSegUiInteractionState as ch, DateComponent as ci, CalendarData as cj, ViewProps as ck, DateProfile as cl, DateProfileGenerator as cm, ViewSpec as cn, DateSpan as co, isDateSpansEqual as cp, DateMarker as cq, addDays as cr, startOfDay as cs, addMs as ct, addWeeks as cu, diffWeeks as cv, diffWholeWeeks as cw, diffWholeDays as cx, diffDayAndTime as cy, diffDays as cz, EventApi as d, getIsRtlScrollbarOnLeft as d$, SegHierarchy as d0, buildEntryKey as d1, getEntrySpanEnd as d2, binarySearch as d3, groupIntersectingEntries as d4, intersectSpans as d5, InteractionSettings as d6, InteractionSettingsStore as d7, Interaction as d8, interactionSettingsToStore as d9, buildEventRangeKey as dA, getEventRangeAnchorAttrs as dB, DayTableCell as dC, DayTableModel as dD, Scroller as dE, getNormalizedScrollX as dF, setNormalizedScrollX as dG, SlicedProps as dH, Slicer as dI, EventMutation as dJ, applyMutationToEventStore as dK, Constraint as dL, isPropsValid as dM, isInteractionValid as dN, isDateSelectionValid as dO, requestJson as dP, BaseComponent as dQ, setRef as dR, DelayedRunner as dS, getStickyFooterScrollbar as dT, getStickyHeaderDates as dU, getIsHeightAuto as dV, getScrollerSyncerClass as dW, ScrollerInterface as dX, ScrollerSyncerInterface as dY, getScrollbarWidths as dZ, RefMap as d_, interactionSettingsStore as da, PointerDragEvent as db, Hit as dc, dateSelectionJoinTransformer as dd, eventDragMutationMassager as de, EventDropTransformers as df, ElementDragging as dg, config as dh, RecurringType as di, DragMetaInput as dj, DragMeta as dk, parseDragMeta as dl, ViewPropsTransformer as dm, Action as dn, CalendarContext as dp, CalendarContentProps as dq, CalendarRoot as dr, DaySeriesModel as ds, EventInteractionState as dt, sliceEventStore as du, hasBgRendering as dv, getElEventRange as dw, buildEventRangeTimeText as dx, sortEventSegs as dy, getEventRangeMeta as dz, EventRenderRange as e, NowTimer as e0, MountArg as e1, StandardEvent as e2, NowIndicatorContainer as e3, DayCellContainer as e4, hasCustomDayCellContent as e5, MinimalEventProps as e6, EventContainer as e7, renderFill as e8, BgEvent as e9, WeekNumberContainerProps as ea, WeekNumberContainer as eb, MoreLinkContainer as ec, computeEarliestSegStart as ed, ViewContainerProps as ee, ViewContainer as ef, DatePointTransform as eg, DateSpanTransform as eh, triggerDateSelect as ei, getDefaultEventEnd as ej, injectStyles as ek, EventImpl as el, buildEventApis as em, ElProps as en, buildElAttrs as eo, InnerContainerFunc as ep, ContentContainer as eq, CustomRendering as er, CalendarListeners as f, ViewOptions as g, DurationInput as h, DateSpanInput as i, DateRangeInput as j, EventSourceInput as k, EventSourceFunc as l, EventSourceFuncArg as m, EventInput as n, EventInputTransformer as o, CssDimValue as p, LocaleSingularArg as q, ConstraintInput as r, sliceEvents as s, ViewComponentType as t, SpecificViewMountArg as u, ClassNamesGenerator as v, CustomContentGenerator as w, DidMountHandler as x, NowIndicatorContentArg as y, NowIndicatorMountArg as z };
2732
+ interface StickyFooterScrollbarProps {
2733
+ canvasWidth: CssDimValue;
2734
+ scrollerRef?: Ref<Scroller>;
2735
+ scrollbarWidthRef?: Ref<number>;
2736
+ }
2737
+ declare class StickyFooterScrollbar extends BaseComponent<StickyFooterScrollbarProps> {
2738
+ rootElRef: preact.RefObject<HTMLDivElement>;
2739
+ disconnectHeight?: () => void;
2740
+ render(): createElement.JSX.Element;
2741
+ componentDidMount(): void;
2742
+ componentWillUnmount(): void;
2743
+ }
2744
+
2745
+ export { DayCellMountArg as $, AllowFunc as A, BusinessHoursInput as B, CalendarImpl as C, DateInput as D, EventSourceApi as E, FormatterInput as F, WeekNumberContentArg as G, WeekNumberMountArg as H, MoreLinkMountArg as I, JsonRequestError as J, SlotLaneContentArg as K, LocaleInput as L, MoreLinkContentArg as M, NativeFormatterOptions as N, OverlapFunc as O, PluginDefInput as P, SlotLaneMountArg as Q, SlotLabelContentArg as R, SpecificViewContentArg as S, SlotLabelMountArg as T, AllDayContentArg as U, ViewApi as V, WillUnmountHandler as W, AllDayMountArg as X, DayHeaderContentArg as Y, DayHeaderMountArg as Z, DayCellContentArg as _, CalendarOptions as a, enableCursor as a$, ViewContentArg as a0, ViewMountArg as a1, EventClickArg as a2, EventHoveringArg as a3, DateSelectArg as a4, DateUnselectArg as a5, WeekNumberCalculation as a6, ToolbarInput as a7, CustomButtonInput as a8, ButtonIconsInput as a9, RefinedOptionsFromRefiners as aA, CalendarListenerRefiners as aB, BASE_OPTION_DEFAULTS as aC, identity as aD, refineProps as aE, EventDef as aF, EventDefHash as aG, EventInstance as aH, EventInstanceHash as aI, createEventInstance as aJ, EventRefined as aK, EventTuple as aL, EventRefiners as aM, parseEventDef as aN, refineEventDef as aO, parseBusinessHours as aP, OrderSpec as aQ, padStart as aR, isInt as aS, parseFieldSpecs as aT, compareByFieldSpecs as aU, flexibleCompare as aV, preventSelection as aW, allowSelection as aX, preventContextMenu as aY, allowContextMenu as aZ, compareNumbers as a_, ButtonTextCompoundInput as aa, EventContentArg as ab, EventMountArg as ac, DatesSetArg as ad, EventAddArg as ae, EventChangeArg as af, EventDropArg as ag, EventRemoveArg as ah, ButtonHintCompoundInput as ai, CustomRenderingHandler as aj, CustomRenderingStore as ak, DateSpanApi as al, DatePointApi as am, DateSelectionApi as an, Duration as ao, EventSegment as ap, MoreLinkAction as aq, MoreLinkSimpleAction as ar, MoreLinkArg as as, MoreLinkHandler as at, Identity as au, Dictionary as av, BaseOptionRefiners as aw, BaseOptionsRefined as ax, ViewOptionsRefined as ay, RawOptionsFromRefiners as az, PluginDef as b, intersectRanges as b$, disableCursor as b0, guid as b1, computeVisibleDayRange as b2, diffDates as b3, removeExact as b4, isArraysEqual as b5, MemoizeHashFunc as b6, MemoiseArrayFunc as b7, memoize as b8, memoizeObjArg as b9, EventUiHash as bA, EventUi as bB, combineEventUis as bC, createEventUi as bD, SplittableProps as bE, Splitter as bF, getDayClassName as bG, getDateMeta as bH, getSlotClassName as bI, DateMeta as bJ, isDimsEqual as bK, watchSize as bL, watchWidth as bM, watchHeight as bN, afterSize as bO, buildNavLinkAttrs as bP, buildDateStr as bQ, preventDefault as bR, whenTransitionDone as bS, computeInnerRect as bT, computeEdges as bU, getClippingParents as bV, computeRect as bW, unpromisify as bX, Emitter as bY, DateRange as bZ, rangeContainsMarker as b_, memoizeArraylike as ba, memoizeHashlike as bb, Rect as bc, Point as bd, intersectRects as be, pointInsideRect as bf, constrainPoint as bg, getRectCenter as bh, diffPoints as bi, translateRect as bj, mapHash as bk, filterHash as bl, isPropsEqual as bm, compareObjs as bn, collectFromHash as bo, applyStyle as bp, getEventTargetViaRoot as bq, getUniqueDomId as br, joinClassNames as bs, parseClassNames as bt, fracToCssDim as bu, EventStore as bv, createEmptyEventStore as bw, mergeEventStores as bx, getRelevantEvents as by, eventTupleToStore as bz, CalendarApi as c, PointerDragEvent as c$, rangesEqual as c0, rangesIntersect as c1, rangeContainsRange as c2, PositionCache as c3, ScrollController as c4, ElementScrollController as c5, WindowScrollController as c6, Theme as c7, ViewContext as c8, ViewContextType as c9, asRoughMs as cA, wholeDivideDurations as cB, greatestDurationDenominator as cC, DateEnv as cD, createFormatter as cE, DateFormatter as cF, VerboseFormattingArg as cG, formatIsoTimeString as cH, formatDayString as cI, buildIsoString as cJ, formatIsoMonthStr as cK, NamedTimeZoneImpl as cL, parse as cM, EventSourceDef as cN, EventSourceRefined as cO, EventSourceRefiners as cP, EventPlacement as cQ, EventInsertion as cR, SegHierarchy as cS, SegGroup as cT, groupIntersectingSegs as cU, binarySearch as cV, InteractionSettings as cW, InteractionSettingsStore as cX, Interaction as cY, interactionSettingsToStore as cZ, interactionSettingsStore as c_, EventSegUiInteractionState as ca, DateComponent as cb, CalendarData as cc, ViewProps as cd, DateProfile as ce, DateProfileGenerator as cf, ViewSpec as cg, DateSpan as ch, isDateSpansEqual as ci, DateMarker as cj, addDays as ck, startOfDay as cl, addMs as cm, addWeeks as cn, diffWeeks as co, diffWholeWeeks as cp, diffWholeDays as cq, diffDayAndTime as cr, diffDays as cs, isValidDate as ct, createDuration as cu, asCleanDays as cv, multiplyDuration as cw, addDurations as cx, asRoughMinutes as cy, asRoughSeconds as cz, EventApi as d, renderFill as d$, Hit as d0, dateSelectionJoinTransformer as d1, eventDragMutationMassager as d2, EventDropTransformers as d3, ElementDragging as d4, config as d5, RecurringType as d6, DragMetaInput as d7, DragMeta as d8, parseDragMeta as d9, EventMutation as dA, applyMutationToEventStore as dB, Constraint as dC, isPropsValid as dD, isInteractionValid as dE, isDateSelectionValid as dF, requestJson as dG, BaseComponent as dH, setRef as dI, DelayedRunner as dJ, getStickyFooterScrollbar as dK, getStickyHeaderDates as dL, getIsHeightAuto as dM, getScrollerSyncerClass as dN, ScrollerInterface as dO, ScrollerSyncerInterface as dP, getScrollbarWidths as dQ, RefMap as dR, getIsRtlScrollbarOnLeft as dS, NowTimer as dT, MountArg as dU, StandardEvent as dV, NowIndicatorContainer as dW, DayCellContainer as dX, hasCustomDayCellContent as dY, MinimalEventProps as dZ, EventContainer as d_, ViewPropsTransformer as da, Action as db, CalendarContext as dc, CalendarContentProps as dd, CalendarRoot as de, DaySeriesModel as df, EventInteractionState as dg, sliceEventStore as dh, hasBgRendering as di, getElEventRange as dj, buildEventRangeTimeText as dk, sortEventSegs as dl, getEventRangeMeta as dm, buildEventRangeKey as dn, getEventTagAndAttrs as dp, EventRangeProps as dq, getEventKey as dr, DayTableCell as ds, DayGridRange as dt, DayTableModel as du, Scroller as dv, getNormalizedScrollX as dw, setNormalizedScrollX as dx, SlicedProps as dy, Slicer as dz, EventRenderRange as e, BgEvent as e0, WeekNumberContainerProps as e1, WeekNumberContainer as e2, MoreLinkContainer as e3, ViewContainerProps as e4, ViewContainer as e5, DatePointTransform as e6, DateSpanTransform as e7, triggerDateSelect as e8, getDefaultEventEnd as e9, injectStyles as ea, EventImpl as eb, buildEventApis as ec, ElProps as ed, buildElAttrs as ee, InnerContainerFunc as ef, ContentContainer as eg, renderText as eh, CustomRendering as ei, CoordRange as ej, CoordSpan as ek, SlicedCoordRange as el, computeEarliestStart as em, computeLatestEnd as en, getCoordRangeEnd as eo, StickyFooterScrollbar as ep, CalendarListeners as f, ViewOptions as g, DurationInput as h, DateSpanInput as i, DateRangeInput as j, EventSourceInput as k, EventSourceFunc as l, EventSourceFuncArg as m, EventInput as n, EventInputTransformer as o, CssDimValue as p, LocaleSingularArg as q, ConstraintInput as r, sliceEvents as s, ViewComponentType as t, SpecificViewMountArg as u, ClassNamesGenerator as v, CustomContentGenerator as w, DidMountHandler as x, NowIndicatorContentArg as y, NowIndicatorMountArg as z };