@ngxsmk/cdk 1.3.2 → 3.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.
Files changed (199) hide show
  1. package/README.md +1 -1
  2. package/cva-base/cva-base.d.ts +34 -0
  3. package/cva-base/cva-base.d.ts.map +1 -0
  4. package/cva-base/index.d.ts +2 -0
  5. package/cva-base/index.d.ts.map +1 -0
  6. package/cva-base/ngxsmk-cdk-cva-base.d.ts.map +1 -0
  7. package/esm2022/cva-base/cva-base.mjs +45 -0
  8. package/esm2022/cva-base/index.mjs +2 -0
  9. package/esm2022/cva-base/ngxsmk-cdk-cva-base.mjs +5 -0
  10. package/esm2022/input-group/index.mjs +3 -0
  11. package/esm2022/input-group/input-group-engine.mjs +219 -0
  12. package/esm2022/input-group/models/index.mjs +2 -0
  13. package/esm2022/input-group/models/input-group.model.mjs +2 -0
  14. package/esm2022/input-group/ngxsmk-cdk-input-group.mjs +5 -0
  15. package/esm2022/listbox-keyboard/index.mjs +2 -0
  16. package/esm2022/listbox-keyboard/listbox-keyboard.mjs +145 -0
  17. package/esm2022/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.mjs +5 -0
  18. package/esm2022/public-api.mjs +10 -1
  19. package/esm2022/roving-focus/index.mjs +2 -0
  20. package/esm2022/roving-focus/ngxsmk-cdk-roving-focus.mjs +5 -0
  21. package/esm2022/roving-focus/roving-focus.mjs +176 -0
  22. package/esm2022/scheduler/index.mjs +5 -0
  23. package/esm2022/scheduler/models/date-range.mjs +2 -0
  24. package/esm2022/scheduler/models/event.model.mjs +2 -0
  25. package/esm2022/scheduler/models/index.mjs +6 -0
  26. package/esm2022/scheduler/models/resource.model.mjs +5 -0
  27. package/esm2022/scheduler/models/selection.model.mjs +7 -0
  28. package/esm2022/scheduler/models/view.model.mjs +7 -0
  29. package/esm2022/scheduler/ngxsmk-cdk-scheduler.mjs +5 -0
  30. package/esm2022/scheduler/plugin/drag-plugin.mjs +82 -0
  31. package/esm2022/scheduler/plugin/index.mjs +8 -0
  32. package/esm2022/scheduler/plugin/keyboard-plugin.mjs +150 -0
  33. package/esm2022/scheduler/plugin/plugin-host.mjs +48 -0
  34. package/esm2022/scheduler/plugin/plugin.types.mjs +2 -0
  35. package/esm2022/scheduler/plugin/resize-plugin.mjs +74 -0
  36. package/esm2022/scheduler/plugin/selection-plugin.mjs +84 -0
  37. package/esm2022/scheduler/plugin/tooltip-plugin.mjs +103 -0
  38. package/esm2022/scheduler/scheduler-engine.mjs +316 -0
  39. package/esm2022/scheduler/utils/date-utils.mjs +131 -0
  40. package/esm2022/scheduler/utils/index.mjs +3 -0
  41. package/esm2022/scheduler/utils/snap.mjs +24 -0
  42. package/esm2022/scroll-lock/scroll-lock.mjs +22 -5
  43. package/esm2022/skip-link/index.mjs +2 -0
  44. package/esm2022/skip-link/ngxsmk-cdk-skip-link.mjs +5 -0
  45. package/esm2022/skip-link/skip-link.mjs +33 -0
  46. package/esm2022/spreadsheet/index.mjs +5 -0
  47. package/esm2022/spreadsheet/models/cell.model.mjs +2 -0
  48. package/esm2022/spreadsheet/models/column.model.mjs +2 -0
  49. package/esm2022/spreadsheet/models/filter.model.mjs +2 -0
  50. package/esm2022/spreadsheet/models/formula.model.mjs +2 -0
  51. package/esm2022/spreadsheet/models/index.mjs +8 -0
  52. package/esm2022/spreadsheet/models/row.model.mjs +2 -0
  53. package/esm2022/spreadsheet/models/selection.model.mjs +2 -0
  54. package/esm2022/spreadsheet/models/sort.model.mjs +2 -0
  55. package/esm2022/spreadsheet/ngxsmk-cdk-spreadsheet.mjs +5 -0
  56. package/esm2022/spreadsheet/plugin/clipboard-plugin.mjs +171 -0
  57. package/esm2022/spreadsheet/plugin/filter-plugin.mjs +87 -0
  58. package/esm2022/spreadsheet/plugin/formula-plugin.mjs +456 -0
  59. package/esm2022/spreadsheet/plugin/index.mjs +10 -0
  60. package/esm2022/spreadsheet/plugin/plugin-host.mjs +188 -0
  61. package/esm2022/spreadsheet/plugin/plugin.types.mjs +2 -0
  62. package/esm2022/spreadsheet/plugin/selection-plugin.mjs +114 -0
  63. package/esm2022/spreadsheet/plugin/sort-plugin.mjs +63 -0
  64. package/esm2022/spreadsheet/plugin/undo-plugin.mjs +138 -0
  65. package/esm2022/spreadsheet/plugin/validation-plugin.mjs +71 -0
  66. package/esm2022/spreadsheet/spreadsheet-engine.mjs +547 -0
  67. package/esm2022/spreadsheet/utils/cell-utils.mjs +129 -0
  68. package/esm2022/spreadsheet/utils/index.mjs +2 -0
  69. package/fesm2022/ngxsmk-cdk-cva-base.mjs +52 -0
  70. package/fesm2022/ngxsmk-cdk-cva-base.mjs.map +1 -0
  71. package/fesm2022/ngxsmk-cdk-input-group.mjs +226 -0
  72. package/fesm2022/ngxsmk-cdk-input-group.mjs.map +1 -0
  73. package/fesm2022/ngxsmk-cdk-listbox-keyboard.mjs +152 -0
  74. package/fesm2022/ngxsmk-cdk-listbox-keyboard.mjs.map +1 -0
  75. package/fesm2022/ngxsmk-cdk-roving-focus.mjs +183 -0
  76. package/fesm2022/ngxsmk-cdk-roving-focus.mjs.map +1 -0
  77. package/fesm2022/ngxsmk-cdk-scheduler.mjs +1035 -0
  78. package/fesm2022/ngxsmk-cdk-scheduler.mjs.map +1 -0
  79. package/fesm2022/ngxsmk-cdk-scroll-lock.mjs +21 -4
  80. package/fesm2022/ngxsmk-cdk-scroll-lock.mjs.map +1 -1
  81. package/fesm2022/ngxsmk-cdk-skip-link.mjs +40 -0
  82. package/fesm2022/ngxsmk-cdk-skip-link.mjs.map +1 -0
  83. package/fesm2022/ngxsmk-cdk-spreadsheet.mjs +1969 -0
  84. package/fesm2022/ngxsmk-cdk-spreadsheet.mjs.map +1 -0
  85. package/fesm2022/ngxsmk-cdk.mjs +5 -0
  86. package/fesm2022/ngxsmk-cdk.mjs.map +1 -1
  87. package/input-group/index.d.ts +3 -0
  88. package/input-group/index.d.ts.map +1 -0
  89. package/input-group/input-group-engine.d.ts +88 -0
  90. package/input-group/input-group-engine.d.ts.map +1 -0
  91. package/input-group/models/index.d.ts +2 -0
  92. package/input-group/models/index.d.ts.map +1 -0
  93. package/input-group/models/input-group.model.d.ts +114 -0
  94. package/input-group/models/input-group.model.d.ts.map +1 -0
  95. package/input-group/ngxsmk-cdk-input-group.d.ts.map +1 -0
  96. package/listbox-keyboard/index.d.ts +2 -0
  97. package/listbox-keyboard/index.d.ts.map +1 -0
  98. package/listbox-keyboard/listbox-keyboard.d.ts +60 -0
  99. package/listbox-keyboard/listbox-keyboard.d.ts.map +1 -0
  100. package/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.d.ts.map +1 -0
  101. package/package.json +59 -17
  102. package/public-api.d.ts +8 -0
  103. package/public-api.d.ts.map +1 -1
  104. package/roving-focus/index.d.ts +2 -0
  105. package/roving-focus/index.d.ts.map +1 -0
  106. package/roving-focus/ngxsmk-cdk-roving-focus.d.ts.map +1 -0
  107. package/roving-focus/roving-focus.d.ts +61 -0
  108. package/roving-focus/roving-focus.d.ts.map +1 -0
  109. package/scheduler/index.d.ts +5 -0
  110. package/scheduler/index.d.ts.map +1 -0
  111. package/scheduler/models/date-range.d.ts +6 -0
  112. package/scheduler/models/date-range.d.ts.map +1 -0
  113. package/scheduler/models/event.model.d.ts +50 -0
  114. package/scheduler/models/event.model.d.ts.map +1 -0
  115. package/scheduler/models/index.d.ts +6 -0
  116. package/scheduler/models/index.d.ts.map +1 -0
  117. package/scheduler/models/resource.model.d.ts +16 -0
  118. package/scheduler/models/resource.model.d.ts.map +1 -0
  119. package/scheduler/models/selection.model.d.ts +12 -0
  120. package/scheduler/models/selection.model.d.ts.map +1 -0
  121. package/scheduler/models/view.model.d.ts +21 -0
  122. package/scheduler/models/view.model.d.ts.map +1 -0
  123. package/scheduler/ngxsmk-cdk-scheduler.d.ts.map +1 -0
  124. package/scheduler/plugin/drag-plugin.d.ts +28 -0
  125. package/scheduler/plugin/drag-plugin.d.ts.map +1 -0
  126. package/scheduler/plugin/index.d.ts +8 -0
  127. package/scheduler/plugin/index.d.ts.map +1 -0
  128. package/scheduler/plugin/keyboard-plugin.d.ts +24 -0
  129. package/scheduler/plugin/keyboard-plugin.d.ts.map +1 -0
  130. package/scheduler/plugin/plugin-host.d.ts +16 -0
  131. package/scheduler/plugin/plugin-host.d.ts.map +1 -0
  132. package/scheduler/plugin/plugin.types.d.ts +9 -0
  133. package/scheduler/plugin/plugin.types.d.ts.map +1 -0
  134. package/scheduler/plugin/resize-plugin.d.ts +26 -0
  135. package/scheduler/plugin/resize-plugin.d.ts.map +1 -0
  136. package/scheduler/plugin/selection-plugin.d.ts +40 -0
  137. package/scheduler/plugin/selection-plugin.d.ts.map +1 -0
  138. package/scheduler/plugin/tooltip-plugin.d.ts +41 -0
  139. package/scheduler/plugin/tooltip-plugin.d.ts.map +1 -0
  140. package/scheduler/scheduler-engine.d.ts +95 -0
  141. package/scheduler/scheduler-engine.d.ts.map +1 -0
  142. package/scheduler/utils/date-utils.d.ts +26 -0
  143. package/scheduler/utils/date-utils.d.ts.map +1 -0
  144. package/scheduler/utils/index.d.ts +3 -0
  145. package/scheduler/utils/index.d.ts.map +1 -0
  146. package/scheduler/utils/snap.d.ts +7 -0
  147. package/scheduler/utils/snap.d.ts.map +1 -0
  148. package/scroll-lock/scroll-lock.d.ts +2 -0
  149. package/scroll-lock/scroll-lock.d.ts.map +1 -1
  150. package/skip-link/index.d.ts +2 -0
  151. package/skip-link/index.d.ts.map +1 -0
  152. package/skip-link/ngxsmk-cdk-skip-link.d.ts.map +1 -0
  153. package/skip-link/skip-link.d.ts +18 -0
  154. package/skip-link/skip-link.d.ts.map +1 -0
  155. package/spreadsheet/index.d.ts +5 -0
  156. package/spreadsheet/index.d.ts.map +1 -0
  157. package/spreadsheet/models/cell.model.d.ts +44 -0
  158. package/spreadsheet/models/cell.model.d.ts.map +1 -0
  159. package/spreadsheet/models/column.model.d.ts +77 -0
  160. package/spreadsheet/models/column.model.d.ts.map +1 -0
  161. package/spreadsheet/models/filter.model.d.ts +15 -0
  162. package/spreadsheet/models/filter.model.d.ts.map +1 -0
  163. package/spreadsheet/models/formula.model.d.ts +65 -0
  164. package/spreadsheet/models/formula.model.d.ts.map +1 -0
  165. package/spreadsheet/models/index.d.ts +8 -0
  166. package/spreadsheet/models/index.d.ts.map +1 -0
  167. package/spreadsheet/models/row.model.d.ts +33 -0
  168. package/spreadsheet/models/row.model.d.ts.map +1 -0
  169. package/spreadsheet/models/selection.model.d.ts +18 -0
  170. package/spreadsheet/models/selection.model.d.ts.map +1 -0
  171. package/spreadsheet/models/sort.model.d.ts +14 -0
  172. package/spreadsheet/models/sort.model.d.ts.map +1 -0
  173. package/spreadsheet/ngxsmk-cdk-spreadsheet.d.ts.map +1 -0
  174. package/spreadsheet/plugin/clipboard-plugin.d.ts +24 -0
  175. package/spreadsheet/plugin/clipboard-plugin.d.ts.map +1 -0
  176. package/spreadsheet/plugin/filter-plugin.d.ts +21 -0
  177. package/spreadsheet/plugin/filter-plugin.d.ts.map +1 -0
  178. package/spreadsheet/plugin/formula-plugin.d.ts +39 -0
  179. package/spreadsheet/plugin/formula-plugin.d.ts.map +1 -0
  180. package/spreadsheet/plugin/index.d.ts +10 -0
  181. package/spreadsheet/plugin/index.d.ts.map +1 -0
  182. package/spreadsheet/plugin/plugin-host.d.ts +66 -0
  183. package/spreadsheet/plugin/plugin-host.d.ts.map +1 -0
  184. package/spreadsheet/plugin/plugin.types.d.ts +58 -0
  185. package/spreadsheet/plugin/plugin.types.d.ts.map +1 -0
  186. package/spreadsheet/plugin/selection-plugin.d.ts +28 -0
  187. package/spreadsheet/plugin/selection-plugin.d.ts.map +1 -0
  188. package/spreadsheet/plugin/sort-plugin.d.ts +18 -0
  189. package/spreadsheet/plugin/sort-plugin.d.ts.map +1 -0
  190. package/spreadsheet/plugin/undo-plugin.d.ts +40 -0
  191. package/spreadsheet/plugin/undo-plugin.d.ts.map +1 -0
  192. package/spreadsheet/plugin/validation-plugin.d.ts +29 -0
  193. package/spreadsheet/plugin/validation-plugin.d.ts.map +1 -0
  194. package/spreadsheet/spreadsheet-engine.d.ts +194 -0
  195. package/spreadsheet/spreadsheet-engine.d.ts.map +1 -0
  196. package/spreadsheet/utils/cell-utils.d.ts +26 -0
  197. package/spreadsheet/utils/cell-utils.d.ts.map +1 -0
  198. package/spreadsheet/utils/index.d.ts +2 -0
  199. package/spreadsheet/utils/index.d.ts.map +1 -0
@@ -0,0 +1,40 @@
1
+ import type { SchedulerEngine } from '../scheduler-engine';
2
+ import type { SchedulerEvent } from '../models';
3
+ import type { SchedulerPlugin } from './plugin.types';
4
+ export interface SelectionPluginOptions {
5
+ multiSelect?: boolean;
6
+ rangeSelect?: boolean;
7
+ onSelect?: (events: SchedulerEvent[]) => void;
8
+ onDeselect?: (events: SchedulerEvent[]) => void;
9
+ onRangeSelect?: (start: Date, end: Date) => void;
10
+ }
11
+ export declare class SelectionPlugin implements SchedulerPlugin {
12
+ readonly name = "selection";
13
+ readonly priority = 5;
14
+ private _engine;
15
+ private _options;
16
+ private _rangeSelecting;
17
+ private _rangeStart;
18
+ constructor(options?: SelectionPluginOptions);
19
+ onInit(engine: SchedulerEngine): void;
20
+ onDestroy(): void;
21
+ toggleEvent(eventId: string, modifierKey?: boolean): void;
22
+ selectOnly(eventId: string): void;
23
+ selectRange(start: Date, end: Date): void;
24
+ startRangeSelect(date: Date): void;
25
+ updateRangeSelect(date: Date): void;
26
+ endRangeSelect(): DateRange | null;
27
+ selectAll(): void;
28
+ clearSelection(): void;
29
+ get selectedIds(): Set<string>;
30
+ get selectedCount(): number;
31
+ get hasSelection(): boolean;
32
+ get isRangeSelecting(): boolean;
33
+ }
34
+ interface DateRange {
35
+ start: Date;
36
+ end: Date;
37
+ resourceId?: string;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=selection-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/plugin/selection-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;CAClD;AAED,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,QAAQ,KAAK;IAEtB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAqB;gBAE5B,OAAO,GAAE,sBAA2B;IAIhD,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAOrC,SAAS,IAAI,IAAI;IAKjB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,IAAI;IAcvD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOjC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI;IAKzC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAKlC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAOnC,cAAc,IAAI,SAAS,GAAG,IAAI;IAQlC,SAAS,IAAI,IAAI;IAQjB,cAAc,IAAI,IAAI;IAItB,IAAI,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC,CAE7B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;CACF;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,41 @@
1
+ import type { SchedulerEngine } from '../scheduler-engine';
2
+ import type { SchedulerEvent } from '../models';
3
+ import type { SchedulerPlugin } from './plugin.types';
4
+ export interface TooltipPluginOptions {
5
+ delay?: number;
6
+ showArrow?: boolean;
7
+ placement?: 'top' | 'bottom' | 'left' | 'right';
8
+ maxWidth?: number;
9
+ onShow?: (event: SchedulerEvent) => boolean | void;
10
+ onHide?: (event: SchedulerEvent) => void;
11
+ content?: (event: SchedulerEvent) => string;
12
+ }
13
+ export interface TooltipState {
14
+ visible: boolean;
15
+ event: SchedulerEvent | null;
16
+ x: number;
17
+ y: number;
18
+ placement: 'top' | 'bottom' | 'left' | 'right';
19
+ content: string;
20
+ }
21
+ export declare function createDefaultTooltipState(): TooltipState;
22
+ export declare class TooltipPlugin implements SchedulerPlugin {
23
+ readonly name = "tooltip";
24
+ readonly priority = 50;
25
+ private _engine;
26
+ private _options;
27
+ private _timeout;
28
+ private _state;
29
+ private _listeners;
30
+ constructor(options?: TooltipPluginOptions);
31
+ onInit(engine: SchedulerEngine): void;
32
+ onDestroy(): void;
33
+ show(event: SchedulerEvent, targetEl: HTMLElement): void;
34
+ hide(): void;
35
+ updatePosition(targetEl: HTMLElement): void;
36
+ get state(): TooltipState;
37
+ get isVisible(): boolean;
38
+ private _computePosition;
39
+ private _clearTimeout;
40
+ }
41
+ //# sourceMappingURL=tooltip-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/plugin/tooltip-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,GAAG,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,yBAAyB,IAAI,YAAY,CASxD;AAED,qBAAa,aAAc,YAAW,eAAe;IACnD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,UAAU,CAAsB;gBAE5B,OAAO,GAAE,oBAAyB;IAgB9C,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIrC,SAAS,IAAI,IAAI;IAOjB,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAoBxD,IAAI,IAAI,IAAI;IAQZ,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAO3C,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,aAAa;CAMtB"}
@@ -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,3 @@
1
+ export * from './date-utils';
2
+ export * from './snap';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -6,9 +6,11 @@ import * as i0 from "@angular/core";
6
6
  */
7
7
  export declare class NgxsmkScrollLock {
8
8
  private readonly document;
9
+ private readonly platformId;
9
10
  private locks;
10
11
  private previousOverflow;
11
12
  private previousPaddingRight;
13
+ private previousOverscroll;
12
14
  lock(): void;
13
15
  unlock(): void;
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxsmkScrollLock, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-lock.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/scroll-lock/scroll-lock.ts"],"names":[],"mappings":";AAGA;;;;GAIG;AACH,qBACa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,oBAAoB,CAAM;IAElC,IAAI,IAAI,IAAI;IAgBZ,MAAM,IAAI,IAAI;yCAtBH,gBAAgB;6CAAhB,gBAAgB;CA8B5B"}
1
+ {"version":3,"file":"scroll-lock.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/scroll-lock/scroll-lock.ts"],"names":[],"mappings":";AAGA;;;;GAIG;AACH,qBACa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,oBAAoB,CAAM;IAClC,OAAO,CAAC,kBAAkB,CAAM;IAEhC,IAAI,IAAI,IAAI;IAyBZ,MAAM,IAAI,IAAI;yCAjCH,gBAAgB;6CAAhB,gBAAgB;CAgD5B"}
@@ -0,0 +1,2 @@
1
+ export * from './skip-link';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/skip-link/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxsmk-cdk-skip-link.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/skip-link/ngxsmk-cdk-skip-link.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Accessible skip navigation link for keyboard users to bypass repetitive header navigation.
4
+ * Renders off-screen by default, sliding into view when focused via Tab.
5
+ *
6
+ * ```html
7
+ * <ngxsmk-skip-link targetId="main-content" label="Skip to main content" />
8
+ * ```
9
+ */
10
+ export declare class NgxsmkSkipLink {
11
+ /** Target HTML ID anchor to scroll/focus to. Default: 'main-content'. */
12
+ readonly targetId: import("@angular/core").InputSignal<string>;
13
+ /** Label text rendered inside the skip link. Default: 'Skip to content'. */
14
+ readonly label: import("@angular/core").InputSignal<string>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxsmkSkipLink, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxsmkSkipLink, "ngxsmk-skip-link", never, { "targetId": { "alias": "targetId"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
17
+ }
18
+ //# sourceMappingURL=skip-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-link.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/skip-link/skip-link.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AACH,qBAkCa,cAAc;IACzB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,8CAAiC;IAElD,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,8CAAoC;yCALvC,cAAc;2CAAd,cAAc;CAM1B"}
@@ -0,0 +1,5 @@
1
+ export * from './spreadsheet-engine';
2
+ export * from './models';
3
+ export * from './plugin';
4
+ export * from './utils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}