@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,2 @@
1
+ export * from './listbox-keyboard';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/listbox-keyboard/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { ElementRef } from '@angular/core';
2
+ /**
3
+ * Configuration for listbox keyboard navigation.
4
+ *
5
+ * @property optionSelector - CSS selector for option elements
6
+ * @property options - Function returning the current option list
7
+ * @property host - Optional host element for scroll queries (defaults to inject(ElementRef))
8
+ * @property placeholderIndex - Index for the placeholder item (-1 if none)
9
+ * @property skipDisabled - Whether to skip disabled options during navigation
10
+ */
11
+ export interface ListboxKeyboardConfig {
12
+ optionSelector: string;
13
+ options: () => any[];
14
+ host?: ElementRef<HTMLElement>;
15
+ placeholderIndex?: number;
16
+ skipDisabled?: boolean;
17
+ }
18
+ /**
19
+ * Shared arrow-key navigation for dropdown listboxes.
20
+ *
21
+ * Encapsulates `activeIndex`, `move(delta)`, `scrollActiveIntoView()`, and the
22
+ * full `onKeydown()` handler. Components provide only their option list and
23
+ * CSS selector.
24
+ *
25
+ * ```ts
26
+ * private readonly kb = new ListboxKeyboard({
27
+ * optionSelector: '.ngxsmk-combobox__option',
28
+ * options: () => this.filtered(),
29
+ * host: this.host,
30
+ * });
31
+ * ```
32
+ */
33
+ export declare class ListboxKeyboard {
34
+ readonly activeIndex: import("@angular/core").WritableSignal<number>;
35
+ private readonly config;
36
+ constructor(config: ListboxKeyboardConfig);
37
+ /** Override the host element used for scroll queries (e.g. for portals). */
38
+ setHost(host: ElementRef<HTMLElement>): void;
39
+ /** Move the active index by `delta` positions, wrapping around. */
40
+ move(delta: number): void;
41
+ /** Scroll the active option into view within the host element. */
42
+ scrollActiveIntoView(): void;
43
+ /** Jump to the first enabled option. */
44
+ home(): void;
45
+ /** Jump to the last option. */
46
+ end(): void;
47
+ /**
48
+ * Handle a keyboard event for listbox navigation.
49
+ *
50
+ * @returns `true` if the event was handled, `false` if the caller should
51
+ * handle it (e.g. for typeahead or open/close toggling).
52
+ */
53
+ handleKeydown(event: KeyboardEvent, callbacks?: {
54
+ onSelect?: (index: number) => void;
55
+ onOpen?: () => void;
56
+ onClose?: () => void;
57
+ isOpen?: () => boolean;
58
+ }): boolean;
59
+ }
60
+ //# sourceMappingURL=listbox-keyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listbox-keyboard.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/listbox-keyboard/listbox-keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAU,MAAM,eAAe,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IAEvB,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,WAAW,iDAAc;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;gBAEnC,MAAM,EAAE,qBAAqB;IAIzC,4EAA4E;IAC5E,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAI5C,mEAAmE;IACnE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAuBzB,kEAAkE;IAClE,oBAAoB,IAAI,IAAI;IAc5B,wCAAwC;IACxC,IAAI,IAAI,IAAI;IAaZ,+BAA+B;IAC/B,GAAG,IAAI,IAAI;IAOX;;;;;OAKG;IACH,aAAa,CACX,KAAK,EAAE,aAAa,EACpB,SAAS,GAAE;QACT,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;KACnB,GACL,OAAO;CA0DX"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxsmk-cdk-listbox-keyboard.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxsmk/cdk",
3
- "version": "1.3.2",
3
+ "version": "3.0.0",
4
4
  "description": "Low-level Angular directives and utilities (click-outside, focus-trap, media-query, scroll-lock) for @ngxsmk.",
5
5
  "keywords": [
6
6
  "angular",
@@ -56,11 +56,17 @@
56
56
  "esm": "./esm2022/click-outside/ngxsmk-cdk-click-outside.mjs",
57
57
  "default": "./fesm2022/ngxsmk-cdk-click-outside.mjs"
58
58
  },
59
- "./live-announcer": {
60
- "types": "./live-announcer/index.d.ts",
61
- "esm2022": "./esm2022/live-announcer/ngxsmk-cdk-live-announcer.mjs",
62
- "esm": "./esm2022/live-announcer/ngxsmk-cdk-live-announcer.mjs",
63
- "default": "./fesm2022/ngxsmk-cdk-live-announcer.mjs"
59
+ "./cva-base": {
60
+ "types": "./cva-base/index.d.ts",
61
+ "esm2022": "./esm2022/cva-base/ngxsmk-cdk-cva-base.mjs",
62
+ "esm": "./esm2022/cva-base/ngxsmk-cdk-cva-base.mjs",
63
+ "default": "./fesm2022/ngxsmk-cdk-cva-base.mjs"
64
+ },
65
+ "./input-group": {
66
+ "types": "./input-group/index.d.ts",
67
+ "esm2022": "./esm2022/input-group/ngxsmk-cdk-input-group.mjs",
68
+ "esm": "./esm2022/input-group/ngxsmk-cdk-input-group.mjs",
69
+ "default": "./fesm2022/ngxsmk-cdk-input-group.mjs"
64
70
  },
65
71
  "./focus-trap": {
66
72
  "types": "./focus-trap/index.d.ts",
@@ -68,47 +74,83 @@
68
74
  "esm": "./esm2022/focus-trap/ngxsmk-cdk-focus-trap.mjs",
69
75
  "default": "./fesm2022/ngxsmk-cdk-focus-trap.mjs"
70
76
  },
77
+ "./listbox-keyboard": {
78
+ "types": "./listbox-keyboard/index.d.ts",
79
+ "esm2022": "./esm2022/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.mjs",
80
+ "esm": "./esm2022/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.mjs",
81
+ "default": "./fesm2022/ngxsmk-cdk-listbox-keyboard.mjs"
82
+ },
71
83
  "./focusable": {
72
84
  "types": "./focusable/index.d.ts",
73
85
  "esm2022": "./esm2022/focusable/ngxsmk-cdk-focusable.mjs",
74
86
  "esm": "./esm2022/focusable/ngxsmk-cdk-focusable.mjs",
75
87
  "default": "./fesm2022/ngxsmk-cdk-focusable.mjs"
76
88
  },
77
- "./media-query": {
78
- "types": "./media-query/index.d.ts",
79
- "esm2022": "./esm2022/media-query/ngxsmk-cdk-media-query.mjs",
80
- "esm": "./esm2022/media-query/ngxsmk-cdk-media-query.mjs",
81
- "default": "./fesm2022/ngxsmk-cdk-media-query.mjs"
82
- },
83
89
  "./intersection-observer": {
84
90
  "types": "./intersection-observer/index.d.ts",
85
91
  "esm2022": "./esm2022/intersection-observer/ngxsmk-cdk-intersection-observer.mjs",
86
92
  "esm": "./esm2022/intersection-observer/ngxsmk-cdk-intersection-observer.mjs",
87
93
  "default": "./fesm2022/ngxsmk-cdk-intersection-observer.mjs"
88
94
  },
95
+ "./live-announcer": {
96
+ "types": "./live-announcer/index.d.ts",
97
+ "esm2022": "./esm2022/live-announcer/ngxsmk-cdk-live-announcer.mjs",
98
+ "esm": "./esm2022/live-announcer/ngxsmk-cdk-live-announcer.mjs",
99
+ "default": "./fesm2022/ngxsmk-cdk-live-announcer.mjs"
100
+ },
101
+ "./media-query": {
102
+ "types": "./media-query/index.d.ts",
103
+ "esm2022": "./esm2022/media-query/ngxsmk-cdk-media-query.mjs",
104
+ "esm": "./esm2022/media-query/ngxsmk-cdk-media-query.mjs",
105
+ "default": "./fesm2022/ngxsmk-cdk-media-query.mjs"
106
+ },
89
107
  "./resize-observer": {
90
108
  "types": "./resize-observer/index.d.ts",
91
109
  "esm2022": "./esm2022/resize-observer/ngxsmk-cdk-resize-observer.mjs",
92
110
  "esm": "./esm2022/resize-observer/ngxsmk-cdk-resize-observer.mjs",
93
111
  "default": "./fesm2022/ngxsmk-cdk-resize-observer.mjs"
94
112
  },
113
+ "./roving-focus": {
114
+ "types": "./roving-focus/index.d.ts",
115
+ "esm2022": "./esm2022/roving-focus/ngxsmk-cdk-roving-focus.mjs",
116
+ "esm": "./esm2022/roving-focus/ngxsmk-cdk-roving-focus.mjs",
117
+ "default": "./fesm2022/ngxsmk-cdk-roving-focus.mjs"
118
+ },
95
119
  "./scroll-lock": {
96
120
  "types": "./scroll-lock/index.d.ts",
97
121
  "esm2022": "./esm2022/scroll-lock/ngxsmk-cdk-scroll-lock.mjs",
98
122
  "esm": "./esm2022/scroll-lock/ngxsmk-cdk-scroll-lock.mjs",
99
123
  "default": "./fesm2022/ngxsmk-cdk-scroll-lock.mjs"
100
124
  },
101
- "./testing": {
102
- "types": "./testing/index.d.ts",
103
- "esm2022": "./esm2022/testing/ngxsmk-cdk-testing.mjs",
104
- "esm": "./esm2022/testing/ngxsmk-cdk-testing.mjs",
105
- "default": "./fesm2022/ngxsmk-cdk-testing.mjs"
125
+ "./scheduler": {
126
+ "types": "./scheduler/index.d.ts",
127
+ "esm2022": "./esm2022/scheduler/ngxsmk-cdk-scheduler.mjs",
128
+ "esm": "./esm2022/scheduler/ngxsmk-cdk-scheduler.mjs",
129
+ "default": "./fesm2022/ngxsmk-cdk-scheduler.mjs"
130
+ },
131
+ "./skip-link": {
132
+ "types": "./skip-link/index.d.ts",
133
+ "esm2022": "./esm2022/skip-link/ngxsmk-cdk-skip-link.mjs",
134
+ "esm": "./esm2022/skip-link/ngxsmk-cdk-skip-link.mjs",
135
+ "default": "./fesm2022/ngxsmk-cdk-skip-link.mjs"
136
+ },
137
+ "./spreadsheet": {
138
+ "types": "./spreadsheet/index.d.ts",
139
+ "esm2022": "./esm2022/spreadsheet/ngxsmk-cdk-spreadsheet.mjs",
140
+ "esm": "./esm2022/spreadsheet/ngxsmk-cdk-spreadsheet.mjs",
141
+ "default": "./fesm2022/ngxsmk-cdk-spreadsheet.mjs"
106
142
  },
107
143
  "./visually-hidden": {
108
144
  "types": "./visually-hidden/index.d.ts",
109
145
  "esm2022": "./esm2022/visually-hidden/ngxsmk-cdk-visually-hidden.mjs",
110
146
  "esm": "./esm2022/visually-hidden/ngxsmk-cdk-visually-hidden.mjs",
111
147
  "default": "./fesm2022/ngxsmk-cdk-visually-hidden.mjs"
148
+ },
149
+ "./testing": {
150
+ "types": "./testing/index.d.ts",
151
+ "esm2022": "./esm2022/testing/ngxsmk-cdk-testing.mjs",
152
+ "esm": "./esm2022/testing/ngxsmk-cdk-testing.mjs",
153
+ "default": "./fesm2022/ngxsmk-cdk-testing.mjs"
112
154
  }
113
155
  }
114
156
  }
package/public-api.d.ts CHANGED
@@ -8,4 +8,12 @@ export * from '@ngxsmk/cdk/visually-hidden';
8
8
  export * from '@ngxsmk/cdk/intersection-observer';
9
9
  export * from '@ngxsmk/cdk/resize-observer';
10
10
  export * from '@ngxsmk/cdk/autofocus';
11
+ export * from '@ngxsmk/cdk/cva-base';
12
+ export * from '@ngxsmk/cdk/listbox-keyboard';
13
+ export * from '@ngxsmk/cdk/scheduler';
14
+ export { SpreadsheetEngine, type SpreadsheetConfig, type SpreadsheetDensity, type SpreadsheetLifecycleHooks, } from '@ngxsmk/cdk/spreadsheet';
15
+ export type { Cell, CellValue, CellType, CellMeta, CellEditState, CellAddress, CellRange, ColumnDef, ColumnState, SortDirection, ColumnWidthPreset, RowDef, RowData, SummaryRow, SelectionState as SpreadsheetSelectionState, SelectionMode, SortCriterion, SortState, FilterCriterion, FilterOperator, FilterState, FormulaNode, FormulaResult, FormulaDependency, FormulaFunction, } from '@ngxsmk/cdk/spreadsheet';
16
+ export { PluginHost as SpreadsheetPluginHost, SortPlugin, FilterPlugin, SelectionPlugin as SpreadsheetSelectionPlugin, FormulaPlugin, ClipboardPlugin, UndoPlugin, ValidationPlugin, type SpreadsheetPlugin, } from '@ngxsmk/cdk/spreadsheet';
17
+ export { colIndexToLetter, colLetterToIndex, cellRef, parseCellRef, normalizeRange, isCellInRange, cellsInRange, formatCellValue, createEmptyRow, generateRowId, cloneRow, pinnedWidth, } from '@ngxsmk/cdk/spreadsheet';
18
+ export * from '@ngxsmk/cdk/input-group';
11
19
  //# sourceMappingURL=public-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../packages/cdk/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../packages/cdk/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,UAAU,EACV,cAAc,IAAI,yBAAyB,EAC3C,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,UAAU,IAAI,qBAAqB,EACnC,UAAU,EACV,YAAY,EACZ,eAAe,IAAI,0BAA0B,EAC7C,aAAa,EACb,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './roving-focus';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/roving-focus/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxsmk-cdk-roving-focus.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/roving-focus/ngxsmk-cdk-roving-focus.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { InjectionToken, OnDestroy, WritableSignal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export type NgxsmkRovingOrientation = 'horizontal' | 'vertical' | 'both';
4
+ export interface NgxsmkRovingFocusContext {
5
+ register(item: NgxsmkRovingFocusItem): void;
6
+ unregister(item: NgxsmkRovingFocusItem): void;
7
+ focusNext(current: NgxsmkRovingFocusItem): void;
8
+ focusPrev(current: NgxsmkRovingFocusItem): void;
9
+ focusFirst(): void;
10
+ focusLast(): void;
11
+ activeItem: WritableSignal<NgxsmkRovingFocusItem | null>;
12
+ orientation: () => NgxsmkRovingOrientation;
13
+ loop: () => boolean;
14
+ }
15
+ export declare const NGXSMK_ROVING_FOCUS_GROUP: InjectionToken<NgxsmkRovingFocusContext>;
16
+ /**
17
+ * Universal signals-native Roving Focus container directive.
18
+ * Manages keyboard navigation (Arrow keys, Home, End) across a set of items,
19
+ * keeping only the currently active item focusable via Tab (`tabindex="0"` vs `"-1"`).
20
+ *
21
+ * ```html
22
+ * <div ngxsmkRovingFocusGroup orientation="horizontal" [loop]="true">
23
+ * <button ngxsmkRovingFocusItem>Tab 1</button>
24
+ * <button ngxsmkRovingFocusItem>Tab 2</button>
25
+ * </div>
26
+ * ```
27
+ */
28
+ export declare class NgxsmkRovingFocusGroup implements NgxsmkRovingFocusContext {
29
+ readonly orientation: import("@angular/core").InputSignal<NgxsmkRovingOrientation>;
30
+ readonly loop: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
31
+ private readonly items;
32
+ readonly activeItem: WritableSignal<NgxsmkRovingFocusItem>;
33
+ register(item: NgxsmkRovingFocusItem): void;
34
+ unregister(item: NgxsmkRovingFocusItem): void;
35
+ focusNext(current: NgxsmkRovingFocusItem): void;
36
+ focusPrev(current: NgxsmkRovingFocusItem): void;
37
+ focusFirst(): void;
38
+ focusLast(): void;
39
+ private setActiveAndFocus;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxsmkRovingFocusGroup, never>;
41
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgxsmkRovingFocusGroup, "[ngxsmkRovingFocusGroup]", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "loop": { "alias": "loop"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
42
+ }
43
+ /**
44
+ * Item in a Roving Focus group. Binds `[tabindex]` dynamically based on active state.
45
+ */
46
+ export declare class NgxsmkRovingFocusItem implements OnDestroy {
47
+ private readonly group;
48
+ private readonly elRef;
49
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
50
+ readonly focused: import("@angular/core").OutputEmitterRef<void>;
51
+ readonly isActive: import("@angular/core").Signal<boolean>;
52
+ readonly tabIndex: import("@angular/core").Signal<0 | -1>;
53
+ constructor();
54
+ ngOnDestroy(): void;
55
+ focus(): void;
56
+ protected handleFocus(): void;
57
+ protected handleKeydown(event: KeyboardEvent): void;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxsmkRovingFocusItem, never>;
59
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgxsmkRovingFocusItem, "[ngxsmkRovingFocusItem]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "focused": "focused"; }, never, never, true, never>;
60
+ }
61
+ //# sourceMappingURL=roving-focus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roving-focus.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/roving-focus/roving-focus.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACd,SAAS,EACT,cAAc,EAOf,MAAM,eAAe,CAAC;;AAEvB,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAEzE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,UAAU,IAAI,IAAI,CAAC;IACnB,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,EAAE,cAAc,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IACzD,WAAW,EAAE,MAAM,uBAAuB,CAAC;IAC3C,IAAI,EAAE,MAAM,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,yBAAyB,0CAErC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBAUa,sBAAuB,YAAW,wBAAwB;IACrE,QAAQ,CAAC,WAAW,+DAAgD;IACpE,QAAQ,CAAC,IAAI,qEAAgD;IAE7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,QAAQ,CAAC,UAAU,wCAA8C;IAEjE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAO3C,UAAU,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAQ7C,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAc/C,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAc/C,UAAU,IAAI,IAAI;IAOlB,SAAS,IAAI,IAAI;IAOjB,OAAO,CAAC,iBAAiB;yCAhEd,sBAAsB;2CAAtB,sBAAsB;CAoElC;AAED;;GAEG;AACH,qBASa,qBAAsB,YAAW,SAAS;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IAEzD,QAAQ,CAAC,QAAQ,qEAAiD;IAClE,QAAQ,CAAC,OAAO,iDAAkB;IAElC,QAAQ,CAAC,QAAQ,0CAAoD;IACrE,QAAQ,CAAC,QAAQ,yCAGd;;IAMH,WAAW,IAAI,IAAI;IAInB,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,WAAW,IAAI,IAAI;IAO7B,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;yCAhCxC,qBAAqB;2CAArB,qBAAqB;CAmEjC"}
@@ -0,0 +1,5 @@
1
+ export * from './scheduler-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/scheduler/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface DateRange {
2
+ start: Date;
3
+ end: Date;
4
+ resourceId?: string;
5
+ }
6
+ //# sourceMappingURL=date-range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/models/date-range.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,50 @@
1
+ export interface SchedulerEvent {
2
+ id: string;
3
+ title: string;
4
+ start: Date;
5
+ end: Date;
6
+ allDay?: boolean;
7
+ color?: string;
8
+ textColor?: string;
9
+ icon?: string;
10
+ badge?: string;
11
+ className?: string;
12
+ style?: Record<string, string>;
13
+ draggable?: boolean;
14
+ resizable?: boolean;
15
+ editable?: boolean;
16
+ resourceId?: string;
17
+ recurrence?: RecurrenceRule;
18
+ meta?: Record<string, unknown>;
19
+ }
20
+ export interface RecurrenceRule {
21
+ frequency: 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY';
22
+ interval?: number;
23
+ count?: number;
24
+ until?: Date;
25
+ byDay?: string[];
26
+ byMonth?: number[];
27
+ byMonthDay?: number[];
28
+ exceptions?: Date[];
29
+ }
30
+ export interface SchedulerMove {
31
+ event: SchedulerEvent;
32
+ from: Date;
33
+ to: Date;
34
+ newStart: Date;
35
+ newEnd: Date;
36
+ resourceId?: string;
37
+ }
38
+ export interface SchedulerCreate {
39
+ event: SchedulerEvent;
40
+ day: Date;
41
+ start: Date;
42
+ end: Date;
43
+ resourceId?: string;
44
+ }
45
+ export interface SchedulerResize {
46
+ event: SchedulerEvent;
47
+ oldEnd: Date;
48
+ newEnd: Date;
49
+ }
50
+ //# sourceMappingURL=event.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/models/event.model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,IAAI,CAAC;IACV,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;CACd"}
@@ -0,0 +1,6 @@
1
+ export * from './event.model';
2
+ export * from './resource.model';
3
+ export * from './view.model';
4
+ export * from './selection.model';
5
+ export * from './date-range';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface SchedulerResource {
2
+ id: string;
3
+ title: string;
4
+ color?: string;
5
+ icon?: string;
6
+ parentId?: string;
7
+ workingHours?: WorkingHours;
8
+ capacity?: number;
9
+ meta?: Record<string, unknown>;
10
+ }
11
+ export interface WorkingHours {
12
+ days: number[];
13
+ ranges: [number, number][];
14
+ }
15
+ export declare const DEFAULT_WORKING_HOURS: WorkingHours;
16
+ //# sourceMappingURL=resource.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/models/resource.model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,EAAE,YAGnC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { DateRange } from './date-range';
2
+ export interface SelectionState {
3
+ selectedEventIds: Set<string>;
4
+ selectedRange: DateRange | null;
5
+ multiSelect: boolean;
6
+ focusedCell: {
7
+ date: Date;
8
+ resourceId?: string;
9
+ } | null;
10
+ }
11
+ export declare const DEFAULT_SELECTION: SelectionState;
12
+ //# sourceMappingURL=selection.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/models/selection.model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,iBAAiB,EAAE,cAK/B,CAAC"}
@@ -0,0 +1,21 @@
1
+ export type ViewType = 'dayGridDay' | 'dayGridWeek' | 'dayGridMonth' | 'timeGridDay' | 'timeGridWeek' | 'timeGridWorkWeek' | 'timeGrid3Day' | 'agenda' | 'timeline';
2
+ export type Density = 'compact' | 'comfortable' | 'dense';
3
+ export interface ViewState {
4
+ type: ViewType;
5
+ date: Date;
6
+ rangeStart: Date;
7
+ rangeEnd: Date;
8
+ slotDuration: number;
9
+ snapDuration: number;
10
+ visibleHours: [number, number];
11
+ firstDayOfWeek: number;
12
+ locale: string;
13
+ rtl: boolean;
14
+ density: Density;
15
+ showAllDay: boolean;
16
+ showWeekends: boolean;
17
+ showCurrentTime: boolean;
18
+ }
19
+ export declare function isTimeGridView(view: ViewType): boolean;
20
+ export declare function isDayGridView(view: ViewType): boolean;
21
+ //# sourceMappingURL=view.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.model.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/models/view.model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,aAAa,GACb,cAAc,GACd,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,cAAc,GACd,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAErD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxsmk-cdk-scheduler.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/scheduler/ngxsmk-cdk-scheduler.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { SchedulerEngine } from '../scheduler-engine';
2
+ import type { SchedulerEvent, SchedulerMove } from '../models';
3
+ import type { SchedulerPlugin } from './plugin.types';
4
+ export interface DragPluginOptions {
5
+ snapDuration?: number;
6
+ onDragStart?: (event: SchedulerEvent) => boolean;
7
+ onDragEnd?: (move: SchedulerMove) => void;
8
+ }
9
+ export declare class DragPlugin implements SchedulerPlugin {
10
+ readonly name = "drag";
11
+ readonly priority = 10;
12
+ private _engine;
13
+ private _options;
14
+ private _dragging;
15
+ constructor(options?: DragPluginOptions);
16
+ onInit(engine: SchedulerEngine): void;
17
+ onDestroy(): void;
18
+ startDrag(eventId: string, pointerY: number, dayEl: HTMLElement, day: Date): boolean;
19
+ moveDrag(pointerY: number, dayEl: HTMLElement, day: Date): {
20
+ top: number;
21
+ day: Date;
22
+ } | null;
23
+ endDrag(top: number, day: Date): SchedulerMove | null;
24
+ cancelDrag(): void;
25
+ get dragging(): boolean;
26
+ get draggingEventId(): string | null;
27
+ }
28
+ //# sourceMappingURL=drag-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/plugin/drag-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;IACjD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C;AAED,qBAAa,UAAW,YAAW,eAAe;IAChD,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAKD;gBAEJ,OAAO,GAAE,iBAAsB;IAI3C,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIrC,SAAS,IAAI,IAAI;IAIjB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO;IAmBpF,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI;IAc5F,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,aAAa,GAAG,IAAI;IAgCrD,UAAU,IAAI,IAAI;IAIlB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;CACF"}
@@ -0,0 +1,8 @@
1
+ export * from './plugin.types';
2
+ export * from './plugin-host';
3
+ export * from './drag-plugin';
4
+ export * from './resize-plugin';
5
+ export * from './selection-plugin';
6
+ export * from './tooltip-plugin';
7
+ export * from './keyboard-plugin';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/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,mBAAmB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { SchedulerEngine } from '../scheduler-engine';
2
+ import type { SchedulerPlugin } from './plugin.types';
3
+ export interface KeyboardPluginOptions {
4
+ onKeyAction?: (action: string) => boolean | void;
5
+ }
6
+ export declare class KeyboardPlugin implements SchedulerPlugin {
7
+ readonly name = "keyboard";
8
+ readonly priority = 20;
9
+ private _engine;
10
+ private _options;
11
+ private _handler;
12
+ constructor(options?: KeyboardPluginOptions);
13
+ onInit(engine: SchedulerEngine): void;
14
+ onDestroy(): void;
15
+ private _onKeyDown;
16
+ private _moveFocus;
17
+ private _moveFocusTime;
18
+ private _activateFocused;
19
+ private _deleteSelected;
20
+ private _deselect;
21
+ private _selectAll;
22
+ private _goToday;
23
+ }
24
+ //# sourceMappingURL=keyboard-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/plugin/keyboard-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;CAClD;AAED,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,QAAQ,CAA6C;gBAEjD,OAAO,GAAE,qBAA0B;IAI/C,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAQrC,SAAS,IAAI,IAAI;IAOjB,OAAO,CAAC,UAAU;IAoDlB,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,QAAQ;CAIjB"}
@@ -0,0 +1,16 @@
1
+ import type { SchedulerEngine } from '../scheduler-engine';
2
+ import type { SchedulerPlugin } from './plugin.types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PluginHost {
5
+ private _plugins;
6
+ private _engine;
7
+ register(engine: SchedulerEngine, plugins: SchedulerPlugin[]): void;
8
+ unregister(name: string): void;
9
+ notifyRender(): void;
10
+ destroy(): void;
11
+ has(name: string): boolean;
12
+ get(name: string): SchedulerPlugin | undefined;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<PluginHost, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<PluginHost>;
15
+ }
16
+ //# sourceMappingURL=plugin-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-host.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/plugin/plugin-host.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;;AAEtD,qBACa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,OAAO,CAAgC;IAE/C,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IAUnE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9B,YAAY,IAAI,IAAI;IAMpB,OAAO,IAAI,IAAI;IAOf,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;yCAvCnC,UAAU;6CAAV,UAAU;CA0CtB"}
@@ -0,0 +1,9 @@
1
+ import type { SchedulerEngine } from '../scheduler-engine';
2
+ export interface SchedulerPlugin {
3
+ name: string;
4
+ priority?: number;
5
+ onInit?(engine: SchedulerEngine): void;
6
+ onDestroy?(): void;
7
+ onRender?(): void;
8
+ }
9
+ //# sourceMappingURL=plugin.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.types.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/plugin/plugin.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,QAAQ,CAAC,IAAI,IAAI,CAAC;CACnB"}
@@ -0,0 +1,26 @@
1
+ import type { SchedulerEngine } from '../scheduler-engine';
2
+ import type { SchedulerEvent, SchedulerResize } from '../models';
3
+ import type { SchedulerPlugin } from './plugin.types';
4
+ export interface ResizePluginOptions {
5
+ snapDuration?: number;
6
+ minDuration?: number;
7
+ onResizeStart?: (event: SchedulerEvent) => boolean;
8
+ onResizeEnd?: (resize: SchedulerResize) => void;
9
+ }
10
+ export declare class ResizePlugin implements SchedulerPlugin {
11
+ readonly name = "resize";
12
+ readonly priority = 11;
13
+ private _engine;
14
+ private _options;
15
+ private _resizing;
16
+ constructor(options?: ResizePluginOptions);
17
+ onInit(engine: SchedulerEngine): void;
18
+ onDestroy(): void;
19
+ startResize(eventId: string): boolean;
20
+ moveResize(pointerY: number, dayEl: HTMLElement): Date | null;
21
+ endResize(): SchedulerResize | null;
22
+ cancelResize(): void;
23
+ get resizing(): boolean;
24
+ get resizingEventId(): string | null;
25
+ }
26
+ //# sourceMappingURL=resize-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize-plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/cdk/scheduler/plugin/resize-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;IACnD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CACjD;AAED,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAGD;gBAEJ,OAAO,GAAE,mBAAwB;IAI7C,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIrC,SAAS,IAAI,IAAI;IAIjB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IASrC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IA2B7D,SAAS,IAAI,eAAe,GAAG,IAAI;IAqBnC,YAAY,IAAI,IAAI;IAIpB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;CACF"}