@dskripchenko/ui 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,6 +39,7 @@ export interface UidBoardProps {
39
39
  lanes?: BoardLane[];
40
40
  /** Freeze the board while a move is being saved. */
41
41
  busy?: boolean;
42
+ readonly?: boolean;
42
43
  }
43
44
  declare function __VLS_template(): {
44
45
  attrs: Partial<{}>;
@@ -74,6 +75,7 @@ declare const __VLS_component: import('vue').DefineComponent<UidBoardProps, {},
74
75
  onOpen?: ((card: BoardCard) => any) | undefined;
75
76
  onMove?: ((move: BoardMove) => any) | undefined;
76
77
  }>, {
78
+ readonly: boolean;
77
79
  lanes: BoardLane[];
78
80
  busy: boolean;
79
81
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -1,8 +1,15 @@
1
- export interface CalendarEvent {
2
- id?: string | number;
1
+ import { CalendarEvent, CalendarRange, CalendarView } from './calendarModel';
2
+ export type { CalendarEvent, CalendarRange, CalendarView } from './calendarModel';
3
+ export interface CalendarEventMove {
4
+ event: CalendarEvent;
3
5
  date: string;
4
- title: string;
5
- color?: string;
6
+ endDate?: string;
7
+ time?: string;
8
+ endTime?: string;
9
+ }
10
+ export interface CalendarSlot {
11
+ date: string;
12
+ time?: string;
6
13
  }
7
14
  export interface UidCalendarProps {
8
15
  events?: CalendarEvent[];
@@ -11,24 +18,53 @@ export interface UidCalendarProps {
11
18
  compact?: boolean;
12
19
  maxEventsPerDay?: number;
13
20
  todayLabel?: string;
21
+ views?: CalendarView[];
22
+ editable?: boolean;
23
+ hourHeight?: number;
24
+ scrollToHour?: number;
14
25
  }
15
26
  type __VLS_Props = UidCalendarProps;
27
+ declare function go(dir: 1 | -1): void;
28
+ declare function goToday(): void;
29
+ declare function setView(v: CalendarView): void;
16
30
  type __VLS_PublicProps = {
17
31
  modelValue?: string | null;
32
+ 'view'?: CalendarView;
33
+ 'anchor'?: string | null;
18
34
  } & __VLS_Props;
19
- declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
35
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
36
+ go: typeof go;
37
+ goToday: typeof goToday;
38
+ setView: typeof setView;
39
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
20
40
  "update:modelValue": (value: string | null) => any;
41
+ range: (range: CalendarRange) => any;
21
42
  change: (iso: string | null) => any;
22
43
  "event-click": (event: CalendarEvent) => any;
23
44
  "date-click": (iso: string) => any;
45
+ "event-move": (move: CalendarEventMove) => any;
46
+ "slot-click": (slot: CalendarSlot) => any;
47
+ "update:view": (value: CalendarView) => any;
48
+ "update:anchor": (value: string | null) => any;
24
49
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
25
50
  "onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
51
+ onRange?: ((range: CalendarRange) => any) | undefined;
26
52
  onChange?: ((iso: string | null) => any) | undefined;
27
53
  "onEvent-click"?: ((event: CalendarEvent) => any) | undefined;
28
54
  "onDate-click"?: ((iso: string) => any) | undefined;
55
+ "onEvent-move"?: ((move: CalendarEventMove) => any) | undefined;
56
+ "onSlot-click"?: ((slot: CalendarSlot) => any) | undefined;
57
+ "onUpdate:view"?: ((value: CalendarView) => any) | undefined;
58
+ "onUpdate:anchor"?: ((value: string | null) => any) | undefined;
29
59
  }>, {
30
60
  compact: boolean;
31
61
  events: CalendarEvent[];
32
62
  maxEventsPerDay: number;
33
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
63
+ views: CalendarView[];
64
+ editable: boolean;
65
+ hourHeight: number;
66
+ scrollToHour: number;
67
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
68
+ body: HTMLDivElement;
69
+ }, HTMLDivElement>;
34
70
  export default _default;
@@ -0,0 +1,40 @@
1
+ export type CalendarView = 'day' | 'week' | 'month' | 'year' | 'agenda';
2
+ export interface CalendarEvent {
3
+ id?: string | number;
4
+ date: string;
5
+ endDate?: string;
6
+ time?: string;
7
+ endTime?: string;
8
+ title: string;
9
+ color?: string;
10
+ }
11
+ export interface CalendarRange {
12
+ view: CalendarView;
13
+ start: string;
14
+ end: string;
15
+ }
16
+ export declare function toISO(d: Date): string;
17
+ export declare function fromISO(iso: string): Date;
18
+ export declare function addDays(iso: string, n: number): string;
19
+ export declare function daysBetween(a: string, b: string): number;
20
+ export declare function startOfWeek(iso: string): string;
21
+ export declare function startOfMonth(iso: string): string;
22
+ export declare function endOfMonth(iso: string): string;
23
+ export declare function minutes(time: string | undefined): number | null;
24
+ export declare function formatTime(min: number): string;
25
+ export declare function rangeOf(view: CalendarView, anchor: string): CalendarRange;
26
+ export declare function step(view: CalendarView, anchor: string, dir: 1 | -1): string;
27
+ export declare function lastDay(e: CalendarEvent): string;
28
+ export declare function isAllDay(e: CalendarEvent): boolean;
29
+ export declare function isMultiDay(e: CalendarEvent): boolean;
30
+ export declare function occursOn(e: CalendarEvent, iso: string): boolean;
31
+ export declare function eventsOn(events: readonly CalendarEvent[], iso: string): CalendarEvent[];
32
+ export interface TimedBlock {
33
+ event: CalendarEvent;
34
+ start: number;
35
+ end: number;
36
+ col: number;
37
+ cols: number;
38
+ }
39
+ export declare function layoutDay(events: readonly CalendarEvent[], iso: string): TimedBlock[];
40
+ export declare function moved(e: CalendarEvent, date: string, time?: string): Pick<CalendarEvent, 'date' | 'endDate' | 'time' | 'endTime'>;