@ngxsmk/cdk 1.3.2 → 2.0.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.
- package/cva-base/cva-base.d.ts +34 -0
- package/cva-base/cva-base.d.ts.map +1 -0
- package/cva-base/index.d.ts +2 -0
- package/cva-base/index.d.ts.map +1 -0
- package/cva-base/ngxsmk-cdk-cva-base.d.ts.map +1 -0
- package/esm2022/cva-base/cva-base.mjs +45 -0
- package/esm2022/cva-base/index.mjs +2 -0
- package/esm2022/cva-base/ngxsmk-cdk-cva-base.mjs +5 -0
- package/esm2022/input-group/index.mjs +3 -0
- package/esm2022/input-group/input-group-engine.mjs +219 -0
- package/esm2022/input-group/models/index.mjs +2 -0
- package/esm2022/input-group/models/input-group.model.mjs +2 -0
- package/esm2022/input-group/ngxsmk-cdk-input-group.mjs +5 -0
- package/esm2022/listbox-keyboard/index.mjs +2 -0
- package/esm2022/listbox-keyboard/listbox-keyboard.mjs +145 -0
- package/esm2022/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.mjs +5 -0
- package/esm2022/public-api.mjs +10 -1
- package/esm2022/scheduler/index.mjs +5 -0
- package/esm2022/scheduler/models/date-range.mjs +2 -0
- package/esm2022/scheduler/models/event.model.mjs +2 -0
- package/esm2022/scheduler/models/index.mjs +6 -0
- package/esm2022/scheduler/models/resource.model.mjs +5 -0
- package/esm2022/scheduler/models/selection.model.mjs +7 -0
- package/esm2022/scheduler/models/view.model.mjs +7 -0
- package/esm2022/scheduler/ngxsmk-cdk-scheduler.mjs +5 -0
- package/esm2022/scheduler/plugin/drag-plugin.mjs +82 -0
- package/esm2022/scheduler/plugin/index.mjs +8 -0
- package/esm2022/scheduler/plugin/keyboard-plugin.mjs +150 -0
- package/esm2022/scheduler/plugin/plugin-host.mjs +48 -0
- package/esm2022/scheduler/plugin/plugin.types.mjs +2 -0
- package/esm2022/scheduler/plugin/resize-plugin.mjs +74 -0
- package/esm2022/scheduler/plugin/selection-plugin.mjs +84 -0
- package/esm2022/scheduler/plugin/tooltip-plugin.mjs +103 -0
- package/esm2022/scheduler/scheduler-engine.mjs +316 -0
- package/esm2022/scheduler/utils/date-utils.mjs +131 -0
- package/esm2022/scheduler/utils/index.mjs +3 -0
- package/esm2022/scheduler/utils/snap.mjs +24 -0
- package/esm2022/spreadsheet/index.mjs +5 -0
- package/esm2022/spreadsheet/models/cell.model.mjs +2 -0
- package/esm2022/spreadsheet/models/column.model.mjs +2 -0
- package/esm2022/spreadsheet/models/filter.model.mjs +2 -0
- package/esm2022/spreadsheet/models/formula.model.mjs +2 -0
- package/esm2022/spreadsheet/models/index.mjs +8 -0
- package/esm2022/spreadsheet/models/row.model.mjs +2 -0
- package/esm2022/spreadsheet/models/selection.model.mjs +2 -0
- package/esm2022/spreadsheet/models/sort.model.mjs +2 -0
- package/esm2022/spreadsheet/ngxsmk-cdk-spreadsheet.mjs +5 -0
- package/esm2022/spreadsheet/plugin/clipboard-plugin.mjs +171 -0
- package/esm2022/spreadsheet/plugin/filter-plugin.mjs +87 -0
- package/esm2022/spreadsheet/plugin/formula-plugin.mjs +456 -0
- package/esm2022/spreadsheet/plugin/index.mjs +10 -0
- package/esm2022/spreadsheet/plugin/plugin-host.mjs +188 -0
- package/esm2022/spreadsheet/plugin/plugin.types.mjs +2 -0
- package/esm2022/spreadsheet/plugin/selection-plugin.mjs +114 -0
- package/esm2022/spreadsheet/plugin/sort-plugin.mjs +63 -0
- package/esm2022/spreadsheet/plugin/undo-plugin.mjs +138 -0
- package/esm2022/spreadsheet/plugin/validation-plugin.mjs +71 -0
- package/esm2022/spreadsheet/spreadsheet-engine.mjs +547 -0
- package/esm2022/spreadsheet/utils/cell-utils.mjs +129 -0
- package/esm2022/spreadsheet/utils/index.mjs +2 -0
- package/fesm2022/ngxsmk-cdk-cva-base.mjs +52 -0
- package/fesm2022/ngxsmk-cdk-cva-base.mjs.map +1 -0
- package/fesm2022/ngxsmk-cdk-input-group.mjs +226 -0
- package/fesm2022/ngxsmk-cdk-input-group.mjs.map +1 -0
- package/fesm2022/ngxsmk-cdk-listbox-keyboard.mjs +152 -0
- package/fesm2022/ngxsmk-cdk-listbox-keyboard.mjs.map +1 -0
- package/fesm2022/ngxsmk-cdk-scheduler.mjs +1035 -0
- package/fesm2022/ngxsmk-cdk-scheduler.mjs.map +1 -0
- package/fesm2022/ngxsmk-cdk-spreadsheet.mjs +1969 -0
- package/fesm2022/ngxsmk-cdk-spreadsheet.mjs.map +1 -0
- package/fesm2022/ngxsmk-cdk.mjs +5 -0
- package/fesm2022/ngxsmk-cdk.mjs.map +1 -1
- package/input-group/index.d.ts +3 -0
- package/input-group/index.d.ts.map +1 -0
- package/input-group/input-group-engine.d.ts +88 -0
- package/input-group/input-group-engine.d.ts.map +1 -0
- package/input-group/models/index.d.ts +2 -0
- package/input-group/models/index.d.ts.map +1 -0
- package/input-group/models/input-group.model.d.ts +114 -0
- package/input-group/models/input-group.model.d.ts.map +1 -0
- package/input-group/ngxsmk-cdk-input-group.d.ts.map +1 -0
- package/listbox-keyboard/index.d.ts +2 -0
- package/listbox-keyboard/index.d.ts.map +1 -0
- package/listbox-keyboard/listbox-keyboard.d.ts +60 -0
- package/listbox-keyboard/listbox-keyboard.d.ts.map +1 -0
- package/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.d.ts.map +1 -0
- package/package.json +41 -11
- package/public-api.d.ts +8 -0
- package/public-api.d.ts.map +1 -1
- package/scheduler/index.d.ts +5 -0
- package/scheduler/index.d.ts.map +1 -0
- package/scheduler/models/date-range.d.ts +6 -0
- package/scheduler/models/date-range.d.ts.map +1 -0
- package/scheduler/models/event.model.d.ts +50 -0
- package/scheduler/models/event.model.d.ts.map +1 -0
- package/scheduler/models/index.d.ts +6 -0
- package/scheduler/models/index.d.ts.map +1 -0
- package/scheduler/models/resource.model.d.ts +16 -0
- package/scheduler/models/resource.model.d.ts.map +1 -0
- package/scheduler/models/selection.model.d.ts +12 -0
- package/scheduler/models/selection.model.d.ts.map +1 -0
- package/scheduler/models/view.model.d.ts +21 -0
- package/scheduler/models/view.model.d.ts.map +1 -0
- package/scheduler/ngxsmk-cdk-scheduler.d.ts.map +1 -0
- package/scheduler/plugin/drag-plugin.d.ts +28 -0
- package/scheduler/plugin/drag-plugin.d.ts.map +1 -0
- package/scheduler/plugin/index.d.ts +8 -0
- package/scheduler/plugin/index.d.ts.map +1 -0
- package/scheduler/plugin/keyboard-plugin.d.ts +24 -0
- package/scheduler/plugin/keyboard-plugin.d.ts.map +1 -0
- package/scheduler/plugin/plugin-host.d.ts +16 -0
- package/scheduler/plugin/plugin-host.d.ts.map +1 -0
- package/scheduler/plugin/plugin.types.d.ts +9 -0
- package/scheduler/plugin/plugin.types.d.ts.map +1 -0
- package/scheduler/plugin/resize-plugin.d.ts +26 -0
- package/scheduler/plugin/resize-plugin.d.ts.map +1 -0
- package/scheduler/plugin/selection-plugin.d.ts +40 -0
- package/scheduler/plugin/selection-plugin.d.ts.map +1 -0
- package/scheduler/plugin/tooltip-plugin.d.ts +41 -0
- package/scheduler/plugin/tooltip-plugin.d.ts.map +1 -0
- package/scheduler/scheduler-engine.d.ts +95 -0
- package/scheduler/scheduler-engine.d.ts.map +1 -0
- package/scheduler/utils/date-utils.d.ts +26 -0
- package/scheduler/utils/date-utils.d.ts.map +1 -0
- package/scheduler/utils/index.d.ts +3 -0
- package/scheduler/utils/index.d.ts.map +1 -0
- package/scheduler/utils/snap.d.ts +7 -0
- package/scheduler/utils/snap.d.ts.map +1 -0
- package/spreadsheet/index.d.ts +5 -0
- package/spreadsheet/index.d.ts.map +1 -0
- package/spreadsheet/models/cell.model.d.ts +44 -0
- package/spreadsheet/models/cell.model.d.ts.map +1 -0
- package/spreadsheet/models/column.model.d.ts +77 -0
- package/spreadsheet/models/column.model.d.ts.map +1 -0
- package/spreadsheet/models/filter.model.d.ts +15 -0
- package/spreadsheet/models/filter.model.d.ts.map +1 -0
- package/spreadsheet/models/formula.model.d.ts +65 -0
- package/spreadsheet/models/formula.model.d.ts.map +1 -0
- package/spreadsheet/models/index.d.ts +8 -0
- package/spreadsheet/models/index.d.ts.map +1 -0
- package/spreadsheet/models/row.model.d.ts +33 -0
- package/spreadsheet/models/row.model.d.ts.map +1 -0
- package/spreadsheet/models/selection.model.d.ts +18 -0
- package/spreadsheet/models/selection.model.d.ts.map +1 -0
- package/spreadsheet/models/sort.model.d.ts +14 -0
- package/spreadsheet/models/sort.model.d.ts.map +1 -0
- package/spreadsheet/ngxsmk-cdk-spreadsheet.d.ts.map +1 -0
- package/spreadsheet/plugin/clipboard-plugin.d.ts +24 -0
- package/spreadsheet/plugin/clipboard-plugin.d.ts.map +1 -0
- package/spreadsheet/plugin/filter-plugin.d.ts +21 -0
- package/spreadsheet/plugin/filter-plugin.d.ts.map +1 -0
- package/spreadsheet/plugin/formula-plugin.d.ts +39 -0
- package/spreadsheet/plugin/formula-plugin.d.ts.map +1 -0
- package/spreadsheet/plugin/index.d.ts +10 -0
- package/spreadsheet/plugin/index.d.ts.map +1 -0
- package/spreadsheet/plugin/plugin-host.d.ts +66 -0
- package/spreadsheet/plugin/plugin-host.d.ts.map +1 -0
- package/spreadsheet/plugin/plugin.types.d.ts +58 -0
- package/spreadsheet/plugin/plugin.types.d.ts.map +1 -0
- package/spreadsheet/plugin/selection-plugin.d.ts +28 -0
- package/spreadsheet/plugin/selection-plugin.d.ts.map +1 -0
- package/spreadsheet/plugin/sort-plugin.d.ts +18 -0
- package/spreadsheet/plugin/sort-plugin.d.ts.map +1 -0
- package/spreadsheet/plugin/undo-plugin.d.ts +40 -0
- package/spreadsheet/plugin/undo-plugin.d.ts.map +1 -0
- package/spreadsheet/plugin/validation-plugin.d.ts +29 -0
- package/spreadsheet/plugin/validation-plugin.d.ts.map +1 -0
- package/spreadsheet/spreadsheet-engine.d.ts +194 -0
- package/spreadsheet/spreadsheet-engine.d.ts.map +1 -0
- package/spreadsheet/utils/cell-utils.d.ts +26 -0
- package/spreadsheet/utils/cell-utils.d.ts.map +1 -0
- package/spreadsheet/utils/index.d.ts +2 -0
- package/spreadsheet/utils/index.d.ts.map +1 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { type WritableSignal, type Signal } from '@angular/core';
|
|
2
|
+
import type { SchedulerEvent, SchedulerResource, SchedulerMove, SchedulerResize, ViewState, ViewType, SelectionState, WorkingHours, Density } from './models';
|
|
3
|
+
import type { SchedulerPlugin } from './plugin/plugin.types';
|
|
4
|
+
export interface SchedulerConfig {
|
|
5
|
+
defaultView?: ViewType;
|
|
6
|
+
slotDuration?: number;
|
|
7
|
+
snapDuration?: number;
|
|
8
|
+
firstDayOfWeek?: number;
|
|
9
|
+
locale?: string;
|
|
10
|
+
rtl?: boolean;
|
|
11
|
+
density?: Density;
|
|
12
|
+
showAllDay?: boolean;
|
|
13
|
+
showWeekends?: boolean;
|
|
14
|
+
showCurrentTime?: boolean;
|
|
15
|
+
businessHours?: WorkingHours;
|
|
16
|
+
visibleHours?: [number, number];
|
|
17
|
+
plugins?: SchedulerPlugin[];
|
|
18
|
+
maxEventsPerCell?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface LifecycleHooks {
|
|
21
|
+
beforeRender: Signal<(state: ViewState) => void>;
|
|
22
|
+
afterRender: Signal<(state: ViewState) => void>;
|
|
23
|
+
beforeCreate: Signal<(event: SchedulerEvent) => boolean>;
|
|
24
|
+
afterCreate: Signal<(event: SchedulerEvent) => void>;
|
|
25
|
+
beforeUpdate: Signal<(event: SchedulerEvent) => boolean>;
|
|
26
|
+
afterUpdate: Signal<(event: SchedulerEvent) => void>;
|
|
27
|
+
beforeDelete: Signal<(event: SchedulerEvent) => boolean>;
|
|
28
|
+
afterDelete: Signal<(event: SchedulerEvent) => void>;
|
|
29
|
+
beforeDrag: Signal<(event: SchedulerEvent) => boolean>;
|
|
30
|
+
afterDrag: Signal<(move: SchedulerMove) => void>;
|
|
31
|
+
beforeResize: Signal<(event: SchedulerEvent) => boolean>;
|
|
32
|
+
afterResize: Signal<(resize: SchedulerResize) => void>;
|
|
33
|
+
}
|
|
34
|
+
export declare class SchedulerEngine {
|
|
35
|
+
readonly events: WritableSignal<SchedulerEvent[]>;
|
|
36
|
+
readonly resources: WritableSignal<SchedulerResource[]>;
|
|
37
|
+
readonly viewState: WritableSignal<ViewState>;
|
|
38
|
+
readonly selection: WritableSignal<SelectionState>;
|
|
39
|
+
readonly plugins: WritableSignal<SchedulerPlugin[]>;
|
|
40
|
+
readonly now: WritableSignal<Date>;
|
|
41
|
+
readonly hourHeight: Signal<number>;
|
|
42
|
+
readonly visibleEvents: Signal<SchedulerEvent[]>;
|
|
43
|
+
readonly allDayEvents: Signal<SchedulerEvent[]>;
|
|
44
|
+
readonly timedEvents: Signal<SchedulerEvent[]>;
|
|
45
|
+
readonly weekDates: Signal<Date[]>;
|
|
46
|
+
readonly dayNames: Signal<string[]>;
|
|
47
|
+
readonly weekLabel: Signal<string>;
|
|
48
|
+
private _lifecycle;
|
|
49
|
+
private _config;
|
|
50
|
+
constructor(config?: SchedulerConfig);
|
|
51
|
+
get lifecycle(): LifecycleHooks;
|
|
52
|
+
next(): void;
|
|
53
|
+
previous(): void;
|
|
54
|
+
today(): void;
|
|
55
|
+
goto(date: Date): void;
|
|
56
|
+
setView(type: ViewType, date?: Date): void;
|
|
57
|
+
addEvent(event: SchedulerEvent): void;
|
|
58
|
+
updateEvent(id: string, patch: Partial<SchedulerEvent>): void;
|
|
59
|
+
removeEvent(id: string): void;
|
|
60
|
+
moveEvent(id: string, newStart: Date, newEnd: Date, resourceId?: string): void;
|
|
61
|
+
resizeEvent(id: string, newEnd: Date): void;
|
|
62
|
+
selectEvent(id: string, multi?: boolean): void;
|
|
63
|
+
selectRange(start: Date, end: Date, resourceId?: string): void;
|
|
64
|
+
clearSelection(): void;
|
|
65
|
+
isEventSelected(id: string): boolean;
|
|
66
|
+
eventsForDay(day: Date): SchedulerEvent[];
|
|
67
|
+
allDayEventsForDay(day: Date): SchedulerEvent[];
|
|
68
|
+
getEventsInRange(start: Date, end: Date): SchedulerEvent[];
|
|
69
|
+
eventTop(event: SchedulerEvent): number;
|
|
70
|
+
eventHeight(event: SchedulerEvent): number;
|
|
71
|
+
currentTimeY(): number;
|
|
72
|
+
private _navigateTo;
|
|
73
|
+
private _viewSpan;
|
|
74
|
+
private _runHook;
|
|
75
|
+
}
|
|
76
|
+
export interface SchedulerConfig {
|
|
77
|
+
defaultView?: ViewType;
|
|
78
|
+
slotDuration?: number;
|
|
79
|
+
snapDuration?: number;
|
|
80
|
+
firstDayOfWeek?: number;
|
|
81
|
+
locale?: string;
|
|
82
|
+
rtl?: boolean;
|
|
83
|
+
density?: Density;
|
|
84
|
+
showAllDay?: boolean;
|
|
85
|
+
showWeekends?: boolean;
|
|
86
|
+
showCurrentTime?: boolean;
|
|
87
|
+
businessHours?: WorkingHours;
|
|
88
|
+
visibleHours?: [number, number];
|
|
89
|
+
plugins?: SchedulerPlugin[];
|
|
90
|
+
maxEventsPerCell?: number;
|
|
91
|
+
date?: Date;
|
|
92
|
+
initialEvents?: SchedulerEvent[];
|
|
93
|
+
initialResources?: SchedulerResource[];
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=scheduler-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler-engine.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/scheduler/scheduler-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare function startOfDay(date: Date): Date;
|
|
2
|
+
export declare function startOfWeek(date: Date, firstDayOfWeek: number): Date;
|
|
3
|
+
export declare function endOfWeek(date: Date, firstDayOfWeek: number): Date;
|
|
4
|
+
export declare function startOfMonth(date: Date): Date;
|
|
5
|
+
export declare function endOfMonth(date: Date): Date;
|
|
6
|
+
export declare function addDays(date: Date, days: number): Date;
|
|
7
|
+
export declare function addMinutes(date: Date, minutes: number): Date;
|
|
8
|
+
export declare function addWeeks(date: Date, weeks: number): Date;
|
|
9
|
+
export declare function diffMinutes(start: Date, end: Date): number;
|
|
10
|
+
export declare function diffDays(start: Date, end: Date): number;
|
|
11
|
+
export declare function isSameDay(a: Date, b: Date): boolean;
|
|
12
|
+
export declare function isSameWeek(a: Date, b: Date, firstDayOfWeek: number): boolean;
|
|
13
|
+
export declare function isToday(date: Date): boolean;
|
|
14
|
+
export declare function isWeekend(date: Date): boolean;
|
|
15
|
+
export declare function isPast(date: Date): boolean;
|
|
16
|
+
export declare function dateRangeOverlaps(aStart: Date, aEnd: Date, bStart: Date, bEnd: Date): boolean;
|
|
17
|
+
export declare function clampDate(date: Date, min: Date, max: Date): Date;
|
|
18
|
+
export declare function getHoursInRange(start: Date, end: Date): number[];
|
|
19
|
+
export declare function formatHour(h: number, locale?: string): string;
|
|
20
|
+
export declare function formatDateRange(start: Date, end: Date, locale?: string): string;
|
|
21
|
+
export declare function getWeekDates(date: Date, firstDayOfWeek: number): Date[];
|
|
22
|
+
export declare function getWorkWeekDates(date: Date, firstDayOfWeek: number): Date[];
|
|
23
|
+
export declare function getMonthGrid(date: Date, firstDayOfWeek: number): Date[][];
|
|
24
|
+
export declare function getDayNames(locale?: string, format?: 'long' | 'short' | 'narrow'): string[];
|
|
25
|
+
export declare function getMonthNames(locale?: string, format?: 'long' | 'short'): string[];
|
|
26
|
+
//# sourceMappingURL=date-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/utils/date-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAMpE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAMlE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI7C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAItD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAE1D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAIvD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAMnD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE3C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAG7C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE1C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAE7F;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAKhE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,EAAE,CAQhE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,SAAU,GAAG,MAAM,CAI9D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,SAAU,GAAG,MAAM,CAMhF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,CAGvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,CAG3E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,CAWzE;AAED,wBAAgB,WAAW,CACzB,MAAM,SAAU,EAChB,MAAM,GAAE,MAAM,GAAG,OAAO,GAAG,QAAkB,GAC5C,MAAM,EAAE,CAKV;AAED,wBAAgB,aAAa,CAAC,MAAM,SAAU,EAAE,MAAM,GAAE,MAAM,GAAG,OAAgB,GAAG,MAAM,EAAE,CAK3F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function snapToSlot(value: number, snapDuration: number): number;
|
|
2
|
+
export declare function snapDateToSlot(date: Date, snapDuration: number): Date;
|
|
3
|
+
export declare function minutesToPixels(minutes: number, hourHeight: number): number;
|
|
4
|
+
export declare function pixelsToMinutes(pixels: number, hourHeight: number): number;
|
|
5
|
+
export declare function timeToMinutes(date: Date): number;
|
|
6
|
+
export declare function minutesToTime(baseDate: Date, minutes: number): Date;
|
|
7
|
+
//# sourceMappingURL=snap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snap.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/utils/snap.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAIrE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEhD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/spreadsheet/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** Supported cell value types. */
|
|
2
|
+
export type CellValue = string | number | boolean | Date | null | undefined;
|
|
3
|
+
/** Cell type determines rendering and editing behavior. */
|
|
4
|
+
export type CellType = 'text' | 'number' | 'currency' | 'percentage' | 'boolean' | 'checkbox' | 'date' | 'datetime' | 'time' | 'select' | 'rating' | 'progress' | 'link' | 'image' | 'icon' | 'badge' | 'json' | 'code' | 'html' | 'markdown' | 'custom';
|
|
5
|
+
/** Cell metadata carried alongside the raw value. */
|
|
6
|
+
export interface CellMeta {
|
|
7
|
+
readonly type: CellType;
|
|
8
|
+
readonly editable?: boolean;
|
|
9
|
+
readonly selectable?: boolean;
|
|
10
|
+
readonly className?: string;
|
|
11
|
+
readonly style?: Record<string, string>;
|
|
12
|
+
readonly colSpan?: number;
|
|
13
|
+
readonly rowSpan?: number;
|
|
14
|
+
readonly tooltip?: string;
|
|
15
|
+
readonly ariaLabel?: string;
|
|
16
|
+
/** Validation errors applied to this cell. */
|
|
17
|
+
readonly errors?: string[];
|
|
18
|
+
/** Custom formatting string (e.g. '$#,##0.00' for currency). */
|
|
19
|
+
readonly format?: string;
|
|
20
|
+
}
|
|
21
|
+
/** A cell is a value + metadata pair keyed by its column field. */
|
|
22
|
+
export interface Cell {
|
|
23
|
+
readonly value: CellValue;
|
|
24
|
+
readonly meta?: CellMeta;
|
|
25
|
+
}
|
|
26
|
+
/** Edit state tracks the lifecycle of an in-progress edit. */
|
|
27
|
+
export interface CellEditState {
|
|
28
|
+
readonly rowIndex: number;
|
|
29
|
+
readonly colId: string;
|
|
30
|
+
readonly originalValue: CellValue;
|
|
31
|
+
readonly currentValue: CellValue;
|
|
32
|
+
readonly dirty: boolean;
|
|
33
|
+
}
|
|
34
|
+
/** Cell address – row + column index pair. */
|
|
35
|
+
export interface CellAddress {
|
|
36
|
+
readonly row: number;
|
|
37
|
+
readonly col: number;
|
|
38
|
+
}
|
|
39
|
+
/** Rectangular selection range in grid coordinates. */
|
|
40
|
+
export interface CellRange {
|
|
41
|
+
readonly start: CellAddress;
|
|
42
|
+
readonly end: CellAddress;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=cell.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/models/cell.model.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAE5E,2DAA2D;AAC3D,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,SAAS,GACT,UAAU,GACV,MAAM,GACN,UAAU,GACV,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,QAAQ,CAAC;AAEb,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,mEAAmE;AACnE,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,uDAAuD;AACvD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;CAC3B"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { CellType, CellMeta } from './cell.model';
|
|
2
|
+
/** Sort direction. */
|
|
3
|
+
export type SortDirection = 'asc' | 'desc' | null;
|
|
4
|
+
/** Column width preset. */
|
|
5
|
+
export type ColumnWidthPreset = 'auto' | 'compact' | 'comfortable' | 'wide';
|
|
6
|
+
/** Defines a column's schema and behaviour. */
|
|
7
|
+
export interface ColumnDef {
|
|
8
|
+
/** Unique identifier / field key. */
|
|
9
|
+
readonly id: string;
|
|
10
|
+
/** Display header text. */
|
|
11
|
+
readonly header: string;
|
|
12
|
+
/** Sub-header / secondary label. */
|
|
13
|
+
readonly subHeader?: string;
|
|
14
|
+
/** The cell type for all cells in this column. Defaults to 'text'. */
|
|
15
|
+
readonly cellType?: CellType;
|
|
16
|
+
/** Whether cells in this column are editable. */
|
|
17
|
+
readonly editable?: boolean;
|
|
18
|
+
/** Whether the column is sortable. */
|
|
19
|
+
readonly sortable?: boolean;
|
|
20
|
+
/** Whether the column is filterable. */
|
|
21
|
+
readonly filterable?: boolean;
|
|
22
|
+
/** Whether the column is resizable. */
|
|
23
|
+
readonly resizable?: boolean;
|
|
24
|
+
/** Whether the column can be reordered via drag. */
|
|
25
|
+
readonly reorderable?: boolean;
|
|
26
|
+
/** Whether the column can be hidden. */
|
|
27
|
+
readonly hideable?: boolean;
|
|
28
|
+
/** Whether the column is currently visible. */
|
|
29
|
+
readonly visible?: boolean;
|
|
30
|
+
/** Whether the column is pinned (frozen). */
|
|
31
|
+
readonly pinned?: 'left' | 'right' | false;
|
|
32
|
+
/** Initial sort direction. */
|
|
33
|
+
readonly sort?: SortDirection;
|
|
34
|
+
/** Sort comparator function. */
|
|
35
|
+
readonly comparator?: (a: unknown, b: unknown, dir: SortDirection) => number;
|
|
36
|
+
/** Minimum width in px. */
|
|
37
|
+
readonly minWidth?: number;
|
|
38
|
+
/** Maximum width in px. */
|
|
39
|
+
readonly maxWidth?: number;
|
|
40
|
+
/** Default width in px. Falls back to auto if unset. */
|
|
41
|
+
readonly width?: number;
|
|
42
|
+
/** Alignment. */
|
|
43
|
+
readonly align?: 'left' | 'center' | 'right';
|
|
44
|
+
/** Tooltip / description for the header. */
|
|
45
|
+
readonly tooltip?: string;
|
|
46
|
+
/** Custom header CSS class. */
|
|
47
|
+
readonly headerClassName?: string;
|
|
48
|
+
/** Custom cell CSS class factory. */
|
|
49
|
+
readonly cellClassName?: string | ((value: unknown, rowIndex: number) => string);
|
|
50
|
+
/** Custom cell style factory. */
|
|
51
|
+
readonly cellStyle?: Record<string, string> | ((value: unknown, rowIndex: number) => Record<string, string>);
|
|
52
|
+
/** Cell meta applied to every cell in this column. */
|
|
53
|
+
readonly cellMeta?: Partial<CellMeta>;
|
|
54
|
+
/** Default value for new rows. */
|
|
55
|
+
readonly defaultValue?: unknown;
|
|
56
|
+
/** Value formatter – transforms raw value for display. */
|
|
57
|
+
readonly formatter?: (value: unknown, row: unknown) => string;
|
|
58
|
+
/** Value parser – transforms display string back to raw value on edit. */
|
|
59
|
+
readonly parser?: (raw: string) => unknown;
|
|
60
|
+
/** Custom header template key (matches InjectionToken name). */
|
|
61
|
+
readonly headerTemplate?: string;
|
|
62
|
+
/** Custom cell template key. */
|
|
63
|
+
readonly cellTemplate?: string;
|
|
64
|
+
/** Custom editor template key. */
|
|
65
|
+
readonly editorTemplate?: string;
|
|
66
|
+
}
|
|
67
|
+
/** Runtime column state (mutable). */
|
|
68
|
+
export interface ColumnState {
|
|
69
|
+
readonly id: string;
|
|
70
|
+
readonly width: number;
|
|
71
|
+
readonly visible: boolean;
|
|
72
|
+
readonly pinned: 'left' | 'right' | false;
|
|
73
|
+
readonly sort: SortDirection;
|
|
74
|
+
readonly sortIndex?: number;
|
|
75
|
+
readonly order: number;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=column.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/models/column.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Filter operator for a single column. */
|
|
2
|
+
export type FilterOperator = 'equals' | 'notEquals' | 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'gt' | 'gte' | 'lt' | 'lte' | 'between' | 'in' | 'empty' | 'notEmpty';
|
|
3
|
+
/** A single filter criterion. */
|
|
4
|
+
export interface FilterCriterion {
|
|
5
|
+
readonly colId: string;
|
|
6
|
+
readonly operator: FilterOperator;
|
|
7
|
+
readonly value: unknown;
|
|
8
|
+
readonly valueTo?: unknown;
|
|
9
|
+
}
|
|
10
|
+
/** The engine's filter state. */
|
|
11
|
+
export interface FilterState {
|
|
12
|
+
readonly criteria: readonly FilterCriterion[];
|
|
13
|
+
readonly mode: 'and' | 'or';
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=filter.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/models/filter.model.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,aAAa,GACb,YAAY,GACZ,UAAU,GACV,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,SAAS,GACT,IAAI,GACJ,OAAO,GACP,UAAU,CAAC;AAEf,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/** AST node types for parsed formulas. */
|
|
2
|
+
export type FormulaNodeType = 'cell_ref' | 'range_ref' | 'number' | 'string' | 'boolean' | 'binary_op' | 'unary_op' | 'function_call';
|
|
3
|
+
export interface FormulaNode {
|
|
4
|
+
readonly type: FormulaNodeType;
|
|
5
|
+
}
|
|
6
|
+
export interface CellRefNode extends FormulaNode {
|
|
7
|
+
readonly type: 'cell_ref';
|
|
8
|
+
readonly col: string;
|
|
9
|
+
readonly row: number;
|
|
10
|
+
}
|
|
11
|
+
export interface RangeRefNode extends FormulaNode {
|
|
12
|
+
readonly type: 'range_ref';
|
|
13
|
+
readonly startCol: string;
|
|
14
|
+
readonly startRow: number;
|
|
15
|
+
readonly endCol: string;
|
|
16
|
+
readonly endRow: number;
|
|
17
|
+
}
|
|
18
|
+
export interface NumberNode extends FormulaNode {
|
|
19
|
+
readonly type: 'number';
|
|
20
|
+
readonly value: number;
|
|
21
|
+
}
|
|
22
|
+
export interface StringNode extends FormulaNode {
|
|
23
|
+
readonly type: 'string';
|
|
24
|
+
readonly value: string;
|
|
25
|
+
}
|
|
26
|
+
export interface BooleanNode extends FormulaNode {
|
|
27
|
+
readonly type: 'boolean';
|
|
28
|
+
readonly value: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface BinaryOpNode extends FormulaNode {
|
|
31
|
+
readonly type: 'binary_op';
|
|
32
|
+
readonly op: '+' | '-' | '*' | '/' | '&' | '=' | '<>' | '>' | '<' | '>=' | '<=';
|
|
33
|
+
readonly left: FormulaNode;
|
|
34
|
+
readonly right: FormulaNode;
|
|
35
|
+
}
|
|
36
|
+
export interface UnaryOpNode extends FormulaNode {
|
|
37
|
+
readonly type: 'unary_op';
|
|
38
|
+
readonly op: '-' | '+';
|
|
39
|
+
readonly operand: FormulaNode;
|
|
40
|
+
}
|
|
41
|
+
export interface FunctionCallNode extends FormulaNode {
|
|
42
|
+
readonly type: 'function_call';
|
|
43
|
+
readonly name: string;
|
|
44
|
+
readonly args: FormulaNode[];
|
|
45
|
+
}
|
|
46
|
+
/** Result of evaluating a formula. */
|
|
47
|
+
export interface FormulaResult {
|
|
48
|
+
readonly value: number | string | boolean | null;
|
|
49
|
+
readonly error?: string;
|
|
50
|
+
}
|
|
51
|
+
/** Dependency edge in the formula graph. */
|
|
52
|
+
export interface FormulaDependency {
|
|
53
|
+
/** Cell that contains the formula. */
|
|
54
|
+
readonly source: string;
|
|
55
|
+
/** Cell(s) the formula depends on. */
|
|
56
|
+
readonly targets: readonly string[];
|
|
57
|
+
}
|
|
58
|
+
/** Built-in function signature. */
|
|
59
|
+
export interface FormulaFunction {
|
|
60
|
+
readonly name: string;
|
|
61
|
+
readonly minArgs: number;
|
|
62
|
+
readonly maxArgs: number;
|
|
63
|
+
readonly fn: (args: (number | string | boolean | null)[]) => number | string | boolean | null;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=formula.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/models/formula.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './cell.model';
|
|
2
|
+
export * from './column.model';
|
|
3
|
+
export * from './row.model';
|
|
4
|
+
export * from './selection.model';
|
|
5
|
+
export * from './sort.model';
|
|
6
|
+
export * from './filter.model';
|
|
7
|
+
export * from './formula.model';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Cell } from './cell.model';
|
|
2
|
+
/** A row is a map of column-id → Cell. */
|
|
3
|
+
export type RowData = Record<string, Cell>;
|
|
4
|
+
/** Row definition with optional metadata. */
|
|
5
|
+
export interface RowDef {
|
|
6
|
+
/** Unique row identifier. */
|
|
7
|
+
readonly id: string;
|
|
8
|
+
/** The cell data keyed by column id. */
|
|
9
|
+
readonly cells: RowData;
|
|
10
|
+
/** Whether the row is selectable. */
|
|
11
|
+
readonly selectable?: boolean;
|
|
12
|
+
/** Whether the row is editable (overrides column-level). */
|
|
13
|
+
readonly editable?: boolean;
|
|
14
|
+
/** Custom CSS class applied to the row. */
|
|
15
|
+
readonly className?: string;
|
|
16
|
+
/** Custom inline styles applied to the row. */
|
|
17
|
+
readonly style?: Record<string, string>;
|
|
18
|
+
/** Grouping key for tree / master-detail. */
|
|
19
|
+
readonly groupKey?: string;
|
|
20
|
+
/** Parent row id for tree data. */
|
|
21
|
+
readonly parentId?: string;
|
|
22
|
+
/** Whether this row is expanded (tree data). */
|
|
23
|
+
readonly expanded?: boolean;
|
|
24
|
+
/** Row level in the tree hierarchy. */
|
|
25
|
+
readonly level?: number;
|
|
26
|
+
/** Loading placeholder flag for lazy rows. */
|
|
27
|
+
readonly loading?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/** Summary / aggregate row. */
|
|
30
|
+
export interface SummaryRow extends RowDef {
|
|
31
|
+
readonly isSummary: true;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=row.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/models/row.model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE3C,6CAA6C;AAC7C,MAAM,WAAW,MAAM;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,+BAA+B;AAC/B,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CellAddress, CellRange } from './cell.model';
|
|
2
|
+
/** What is currently selected. */
|
|
3
|
+
export interface SelectionState {
|
|
4
|
+
/** Currently active cell (keyboard focus). */
|
|
5
|
+
readonly activeCell: CellAddress | null;
|
|
6
|
+
/** Rectangular range selection. */
|
|
7
|
+
readonly range: CellRange | null;
|
|
8
|
+
/** Set of selected row indices. */
|
|
9
|
+
readonly selectedRows: ReadonlySet<number>;
|
|
10
|
+
/** Set of selected column indices. */
|
|
11
|
+
readonly selectedCols: ReadonlySet<number>;
|
|
12
|
+
/** Selection mode. */
|
|
13
|
+
readonly mode: SelectionMode;
|
|
14
|
+
/** Whether the user is currently dragging to extend selection. */
|
|
15
|
+
readonly dragging: boolean;
|
|
16
|
+
}
|
|
17
|
+
export type SelectionMode = 'cell' | 'range' | 'row' | 'column' | 'none';
|
|
18
|
+
//# sourceMappingURL=selection.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/models/selection.model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IACxC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,mCAAmC;IACnC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,sCAAsC;IACtC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SortDirection } from './column.model';
|
|
2
|
+
/** A single sort criterion. */
|
|
3
|
+
export interface SortCriterion {
|
|
4
|
+
readonly colId: string;
|
|
5
|
+
readonly direction: SortDirection;
|
|
6
|
+
/** For multi-sort, the priority index. */
|
|
7
|
+
readonly index: number;
|
|
8
|
+
}
|
|
9
|
+
/** The engine's sort state. */
|
|
10
|
+
export interface SortState {
|
|
11
|
+
readonly criteria: readonly SortCriterion[];
|
|
12
|
+
readonly multiSort: boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=sort.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/models/sort.model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,+BAA+B;AAC/B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,+BAA+B;AAC/B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngxsmk-cdk-spreadsheet.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/spreadsheet/ngxsmk-cdk-spreadsheet.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SpreadsheetPlugin } from './plugin.types';
|
|
2
|
+
import type { SpreadsheetEngine } from '../spreadsheet-engine';
|
|
3
|
+
/**
|
|
4
|
+
* ClipboardPlugin handles copy/paste/cut operations.
|
|
5
|
+
* Reads from and writes to the system clipboard via the Clipboard API.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ClipboardPlugin implements SpreadsheetPlugin {
|
|
8
|
+
readonly name = "clipboard";
|
|
9
|
+
readonly priority = 30;
|
|
10
|
+
private _engine;
|
|
11
|
+
private _cutCells;
|
|
12
|
+
onInit(engine: SpreadsheetEngine): void;
|
|
13
|
+
/** Copy the current selection to the clipboard. */
|
|
14
|
+
copy(): Promise<void>;
|
|
15
|
+
/** Cut the current selection (copy + clear). */
|
|
16
|
+
cut(): Promise<void>;
|
|
17
|
+
/** Paste clipboard content starting at the active cell. */
|
|
18
|
+
paste(): Promise<void>;
|
|
19
|
+
/** Clear the content of selected cells. */
|
|
20
|
+
clearSelectionContent(): void;
|
|
21
|
+
private _selectionToTsv;
|
|
22
|
+
private _copyToTextarea;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=clipboard-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/plugin/clipboard-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;GAGG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAAiE;IAElF,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAIvC,mDAAmD;IAC7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B,gDAAgD;IAC1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B1B,2DAA2D;IACrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C5B,2CAA2C;IAC3C,qBAAqB,IAAI,IAAI;IA4B7B,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,eAAe;CAUxB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SpreadsheetPlugin } from './plugin.types';
|
|
2
|
+
import type { SpreadsheetEngine } from '../spreadsheet-engine';
|
|
3
|
+
import type { FilterCriterion } from '../models';
|
|
4
|
+
/**
|
|
5
|
+
* FilterPlugin applies column-level filters to the row set.
|
|
6
|
+
* Stores original rows and restores on clear.
|
|
7
|
+
*/
|
|
8
|
+
export declare class FilterPlugin implements SpreadsheetPlugin {
|
|
9
|
+
readonly name = "filter";
|
|
10
|
+
readonly priority = 20;
|
|
11
|
+
private _engine;
|
|
12
|
+
private _originalRows;
|
|
13
|
+
onInit(engine: SpreadsheetEngine): void;
|
|
14
|
+
/** Apply filter criteria. */
|
|
15
|
+
applyFilter(criteria: readonly FilterCriterion[], mode: 'and' | 'or'): void;
|
|
16
|
+
/** Clear all filters and restore original rows. */
|
|
17
|
+
clearFilter(): void;
|
|
18
|
+
onBeforeFilter(): boolean;
|
|
19
|
+
onAfterFilter(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=filter-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/plugin/filter-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,WAAW,CAAC;AAEzD;;;GAGG;AACH,qBAAa,YAAa,YAAW,iBAAiB;IACpD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,aAAa,CAAyB;IAE9C,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAKvC,6BAA6B;IAC7B,WAAW,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAgB3E,mDAAmD;IACnD,WAAW,IAAI,IAAI;IAKnB,cAAc,IAAI,OAAO;IAIzB,aAAa,IAAI,IAAI;CAMtB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { SpreadsheetPlugin } from './plugin.types';
|
|
2
|
+
import type { SpreadsheetEngine } from '../spreadsheet-engine';
|
|
3
|
+
import type { FormulaResult, FormulaFunction } from '../models';
|
|
4
|
+
/**
|
|
5
|
+
* FormulaPlugin evaluates formulas in cells.
|
|
6
|
+
* Maintains a dependency graph for recalculation ordering.
|
|
7
|
+
*/
|
|
8
|
+
export declare class FormulaPlugin implements SpreadsheetPlugin {
|
|
9
|
+
readonly name = "formula";
|
|
10
|
+
readonly priority = 50;
|
|
11
|
+
private _engine;
|
|
12
|
+
private _functions;
|
|
13
|
+
constructor();
|
|
14
|
+
onInit(engine: SpreadsheetEngine): void;
|
|
15
|
+
onDestroy(): void;
|
|
16
|
+
/** Register a custom function. */
|
|
17
|
+
registerFunction(fn: FormulaFunction): void;
|
|
18
|
+
/** Evaluate a formula string. */
|
|
19
|
+
evaluate(formula: string, getCellValue: (ref: string) => unknown): FormulaResult;
|
|
20
|
+
/** Build a dependency graph: which cells depend on which. */
|
|
21
|
+
buildDependencyGraph(): Map<string, string[]>;
|
|
22
|
+
/** Topologically sort cells by their dependencies (recalc order). */
|
|
23
|
+
getRecalcOrder(): string[];
|
|
24
|
+
private _parse;
|
|
25
|
+
private _parseExpression;
|
|
26
|
+
private _parseComparison;
|
|
27
|
+
private _parseConcat;
|
|
28
|
+
private _parseAddSub;
|
|
29
|
+
private _parseMulDiv;
|
|
30
|
+
private _parseUnary;
|
|
31
|
+
private _parsePrimary;
|
|
32
|
+
private _parseCellRef;
|
|
33
|
+
private _skipSpaces;
|
|
34
|
+
private _evalNode;
|
|
35
|
+
private _evalBinaryOp;
|
|
36
|
+
private _extractRefs;
|
|
37
|
+
private _registerBuiltinFunctions;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=formula-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/plugin/formula-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAUV,aAAa,EACb,eAAe,EAChB,MAAM,WAAW,CAAC;AAEnB;;;GAGG;AACH,qBAAa,aAAc,YAAW,iBAAiB;IACrD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,UAAU,CAAsC;;IAMxD,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAIvC,SAAS,IAAI,IAAI;IAIjB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAI3C,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,aAAa;IAWhF,6DAA6D;IAC7D,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAoB7C,qEAAqE;IACrE,cAAc,IAAI,MAAM,EAAE;IA2B1B,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,aAAa;IAgGrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,SAAS;IA+CjB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,yBAAyB;CA2FlC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './plugin.types';
|
|
2
|
+
export * from './plugin-host';
|
|
3
|
+
export * from './sort-plugin';
|
|
4
|
+
export * from './filter-plugin';
|
|
5
|
+
export * from './selection-plugin';
|
|
6
|
+
export * from './formula-plugin';
|
|
7
|
+
export * from './clipboard-plugin';
|
|
8
|
+
export * from './undo-plugin';
|
|
9
|
+
export * from './validation-plugin';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/spreadsheet/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
|