@acorex/components 21.0.0-next.3 → 21.0.0-next.31

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 (273) hide show
  1. package/accordion/index.d.ts +0 -1
  2. package/autocomplete/index.d.ts +23 -9
  3. package/button/index.d.ts +38 -17
  4. package/chips/index.d.ts +3 -8
  5. package/code-editor/README.md +291 -1
  6. package/code-editor/index.d.ts +260 -12
  7. package/command/index.d.ts +1 -0
  8. package/conversation2/README.md +426 -0
  9. package/conversation2/index.d.ts +6139 -0
  10. package/data-table/index.d.ts +79 -7
  11. package/dialog/index.d.ts +1 -1
  12. package/drawer/README.md +2 -2
  13. package/drawer/index.d.ts +33 -57
  14. package/drawer-legacy/README.md +3 -0
  15. package/drawer-legacy/index.d.ts +86 -0
  16. package/editor/README.md +3 -0
  17. package/editor/index.d.ts +79 -0
  18. package/fesm2022/acorex-components-accordion.mjs +19 -24
  19. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  20. package/fesm2022/acorex-components-action-sheet.mjs +12 -12
  21. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  22. package/fesm2022/acorex-components-alert.mjs +14 -14
  23. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  24. package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
  25. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  26. package/fesm2022/acorex-components-audio-wave.mjs +12 -11
  27. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  28. package/fesm2022/acorex-components-autocomplete.mjs +30 -13
  29. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  30. package/fesm2022/acorex-components-avatar.mjs +13 -13
  31. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  32. package/fesm2022/acorex-components-badge.mjs +10 -10
  33. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  34. package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
  35. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  36. package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
  37. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  38. package/fesm2022/acorex-components-button-group.mjs +17 -19
  39. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  40. package/fesm2022/acorex-components-button.mjs +78 -29
  41. package/fesm2022/acorex-components-button.mjs.map +1 -1
  42. package/fesm2022/acorex-components-calendar.mjs +18 -18
  43. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  44. package/fesm2022/acorex-components-check-box.mjs +11 -11
  45. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  46. package/fesm2022/acorex-components-chips.mjs +12 -14
  47. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  48. package/fesm2022/acorex-components-circular-progress.mjs +13 -11
  49. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  50. package/fesm2022/acorex-components-code-editor.mjs +494 -162
  51. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  52. package/fesm2022/acorex-components-collapse.mjs +13 -28
  53. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  54. package/fesm2022/acorex-components-color-box.mjs +11 -11
  55. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  56. package/fesm2022/acorex-components-color-palette.mjs +32 -32
  57. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  58. package/fesm2022/acorex-components-command.mjs +18 -11
  59. package/fesm2022/acorex-components-command.mjs.map +1 -1
  60. package/fesm2022/acorex-components-comment.mjs +34 -34
  61. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  62. package/fesm2022/acorex-components-conversation.mjs +56 -65
  63. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  64. package/fesm2022/acorex-components-conversation2.mjs +17641 -0
  65. package/fesm2022/acorex-components-conversation2.mjs.map +1 -0
  66. package/fesm2022/acorex-components-cron-job.mjs +53 -53
  67. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  68. package/fesm2022/acorex-components-data-list.mjs +5 -5
  69. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  70. package/fesm2022/acorex-components-data-pager.mjs +53 -41
  71. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  72. package/fesm2022/acorex-components-data-table.mjs +462 -105
  73. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  74. package/fesm2022/acorex-components-datetime-box.mjs +10 -10
  75. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  76. package/fesm2022/acorex-components-datetime-input.mjs +8 -8
  77. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  78. package/fesm2022/acorex-components-datetime-picker.mjs +11 -11
  79. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  80. package/fesm2022/acorex-components-decorators.mjs +96 -54
  81. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  82. package/fesm2022/acorex-components-dialog.mjs +26 -16
  83. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  84. package/fesm2022/acorex-components-drawer-legacy.mjs +218 -0
  85. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -0
  86. package/fesm2022/acorex-components-drawer.mjs +66 -150
  87. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  88. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  89. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  90. package/fesm2022/acorex-components-dropdown.mjs +18 -16
  91. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  92. package/fesm2022/acorex-components-editor.mjs +195 -0
  93. package/fesm2022/acorex-components-editor.mjs.map +1 -0
  94. package/fesm2022/acorex-components-file-explorer.mjs +28 -28
  95. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  96. package/fesm2022/acorex-components-flow-chart.mjs +18 -18
  97. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  98. package/fesm2022/acorex-components-form.mjs +52 -35
  99. package/fesm2022/acorex-components-form.mjs.map +1 -1
  100. package/fesm2022/acorex-components-grid-layout-builder.mjs +14 -15
  101. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  102. package/fesm2022/acorex-components-image-editor.mjs +166 -126
  103. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  104. package/fesm2022/acorex-components-image.mjs +10 -10
  105. package/fesm2022/acorex-components-image.mjs.map +1 -1
  106. package/fesm2022/acorex-components-json-viewer.mjs +9 -9
  107. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  108. package/fesm2022/acorex-components-kanban.mjs +9 -7
  109. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  110. package/fesm2022/acorex-components-kbd.mjs +8 -8
  111. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  112. package/fesm2022/acorex-components-label.mjs +9 -9
  113. package/fesm2022/acorex-components-label.mjs.map +1 -1
  114. package/fesm2022/acorex-components-list.mjs +10 -10
  115. package/fesm2022/acorex-components-list.mjs.map +1 -1
  116. package/fesm2022/acorex-components-loading-dialog.mjs +22 -13
  117. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  118. package/fesm2022/acorex-components-loading.mjs +23 -23
  119. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  120. package/fesm2022/acorex-components-map.mjs +16 -15
  121. package/fesm2022/acorex-components-map.mjs.map +1 -1
  122. package/fesm2022/acorex-components-media-viewer.mjs +78 -97
  123. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  124. package/fesm2022/acorex-components-menu.mjs +24 -24
  125. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  126. package/fesm2022/{acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs → acorex-components-modal-acorex-components-modal-BmmAkCKJ.mjs} +24 -24
  127. package/fesm2022/acorex-components-modal-acorex-components-modal-BmmAkCKJ.mjs.map +1 -0
  128. package/fesm2022/acorex-components-modal-modal-content.component-5GqTzNOs.mjs +214 -0
  129. package/fesm2022/acorex-components-modal-modal-content.component-5GqTzNOs.mjs.map +1 -0
  130. package/fesm2022/acorex-components-modal.mjs +1 -1
  131. package/fesm2022/acorex-components-navbar.mjs +9 -9
  132. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  133. package/fesm2022/acorex-components-notification.mjs +16 -23
  134. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  135. package/fesm2022/acorex-components-number-box-legacy.mjs +412 -0
  136. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -0
  137. package/fesm2022/acorex-components-number-box.mjs +98 -331
  138. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  139. package/fesm2022/acorex-components-otp.mjs +10 -10
  140. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  141. package/fesm2022/acorex-components-page.mjs +10 -10
  142. package/fesm2022/acorex-components-page.mjs.map +1 -1
  143. package/fesm2022/acorex-components-paint.mjs +35 -40
  144. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  145. package/fesm2022/acorex-components-password-box.mjs +13 -13
  146. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  147. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  148. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  149. package/fesm2022/acorex-components-phone-box.mjs +10 -10
  150. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  151. package/fesm2022/acorex-components-picker.mjs +17 -17
  152. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  153. package/fesm2022/acorex-components-popover.mjs +12 -12
  154. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  155. package/fesm2022/acorex-components-popup.mjs +13 -13
  156. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  157. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  158. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  159. package/fesm2022/acorex-components-qrcode.mjs +8 -8
  160. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  161. package/fesm2022/acorex-components-query-builder.mjs +9 -9
  162. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  163. package/fesm2022/acorex-components-radio.mjs +7 -7
  164. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  165. package/fesm2022/acorex-components-rail-navigation.mjs +40 -38
  166. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  167. package/fesm2022/acorex-components-range-slider.mjs +11 -11
  168. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  169. package/fesm2022/acorex-components-rate-picker.mjs +20 -35
  170. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  171. package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
  172. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  173. package/fesm2022/acorex-components-result.mjs +8 -8
  174. package/fesm2022/acorex-components-result.mjs.map +1 -1
  175. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  176. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  177. package/fesm2022/acorex-components-rrule.mjs +111 -16
  178. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  179. package/fesm2022/acorex-components-scheduler-picker.mjs +2339 -0
  180. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -0
  181. package/fesm2022/acorex-components-scheduler.mjs +52 -52
  182. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  183. package/fesm2022/acorex-components-scss.mjs +4 -4
  184. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  185. package/fesm2022/acorex-components-search-box.mjs +23 -12
  186. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  187. package/fesm2022/acorex-components-select-box.mjs +36 -17
  188. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  189. package/fesm2022/acorex-components-selection-list-2.mjs +10 -10
  190. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  191. package/fesm2022/acorex-components-selection-list.mjs +10 -10
  192. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  193. package/fesm2022/acorex-components-side-menu.mjs +31 -38
  194. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  195. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  196. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  197. package/fesm2022/acorex-components-slider.mjs +11 -11
  198. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  199. package/fesm2022/acorex-components-sliding-item.mjs +17 -17
  200. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  201. package/fesm2022/acorex-components-step-wizard.mjs +16 -16
  202. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  203. package/fesm2022/acorex-components-switch.mjs +14 -14
  204. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  205. package/fesm2022/acorex-components-tabs.mjs +20 -16
  206. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  207. package/fesm2022/acorex-components-tag-box.mjs +51 -21
  208. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  209. package/fesm2022/acorex-components-tag.mjs +47 -11
  210. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  211. package/fesm2022/acorex-components-text-area.mjs +9 -9
  212. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  213. package/fesm2022/acorex-components-text-box.mjs +13 -13
  214. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  215. package/fesm2022/acorex-components-time-duration.mjs +54 -14
  216. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  217. package/fesm2022/acorex-components-time-line.mjs +14 -29
  218. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  219. package/fesm2022/acorex-components-toast.mjs +14 -14
  220. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  221. package/fesm2022/acorex-components-toolbar.mjs +9 -9
  222. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  223. package/fesm2022/acorex-components-tooltip.mjs +12 -12
  224. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  225. package/fesm2022/acorex-components-tree-view.mjs +16 -45
  226. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  227. package/fesm2022/acorex-components-tree2.mjs +689 -0
  228. package/fesm2022/acorex-components-tree2.mjs.map +1 -0
  229. package/fesm2022/acorex-components-uploader.mjs +28 -641
  230. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  231. package/fesm2022/acorex-components-video-player.mjs +8 -8
  232. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  233. package/fesm2022/acorex-components-wysiwyg.mjs +213 -462
  234. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  235. package/fesm2022/acorex-components.mjs.map +1 -1
  236. package/form/index.d.ts +3 -3
  237. package/grid-layout-builder/index.d.ts +1 -2
  238. package/image-editor/index.d.ts +8 -5
  239. package/loading/index.d.ts +1 -1
  240. package/media-viewer/index.d.ts +2 -3
  241. package/notification/index.d.ts +0 -2
  242. package/number-box/README.md +2 -2
  243. package/number-box/index.d.ts +31 -171
  244. package/number-box-legacy/README.md +3 -0
  245. package/number-box-legacy/index.d.ts +191 -0
  246. package/package.json +53 -26
  247. package/paint/index.d.ts +1 -6
  248. package/phone-box/index.d.ts +4 -4
  249. package/rate-picker/index.d.ts +5 -15
  250. package/rrule/index.d.ts +96 -1
  251. package/scheduler-picker/README.md +15 -0
  252. package/scheduler-picker/index.d.ts +1360 -0
  253. package/search-box/index.d.ts +6 -1
  254. package/select-box/index.d.ts +15 -10
  255. package/side-menu/index.d.ts +3 -2
  256. package/tag/index.d.ts +8 -2
  257. package/tag-box/index.d.ts +12 -3
  258. package/time-duration/index.d.ts +19 -3
  259. package/tree2/README.md +3 -0
  260. package/tree2/index.d.ts +337 -0
  261. package/uploader/index.d.ts +4 -331
  262. package/wysiwyg/index.d.ts +57 -159
  263. package/drawer-2/README.md +0 -3
  264. package/drawer-2/index.d.ts +0 -62
  265. package/fesm2022/acorex-components-drawer-2.mjs +0 -134
  266. package/fesm2022/acorex-components-drawer-2.mjs.map +0 -1
  267. package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +0 -1
  268. package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs +0 -235
  269. package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +0 -1
  270. package/fesm2022/acorex-components-number-box-2.mjs +0 -183
  271. package/fesm2022/acorex-components-number-box-2.mjs.map +0 -1
  272. package/number-box-2/README.md +0 -3
  273. package/number-box-2/index.d.ts +0 -41
@@ -0,0 +1,1360 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
3
+ import { MXValueComponent, AXValueChangedEvent } from '@acorex/cdk/common';
4
+
5
+ type AXSchedulerPickerMode = 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly';
6
+ /**
7
+ * Occurrence position and day of week
8
+ * Used for monthly and yearly recurrence patterns
9
+ */
10
+ interface AXSchedulerPickerOccurrence {
11
+ position: 1 | 2 | 3 | 4 | -1;
12
+ day: number;
13
+ }
14
+ /**
15
+ * Main value structure for scheduler picker
16
+ * General pattern that works for all modes
17
+ */
18
+ type AXSchedulerPickerValue = {
19
+ mode: AXSchedulerPickerMode;
20
+ interval: number;
21
+ startCondition: {
22
+ type: 'now' | 'byDate';
23
+ startDate: Date;
24
+ };
25
+ recurrence: {
26
+ byDay?: number[];
27
+ byOccurrence?: Array<{
28
+ position: 1 | 2 | 3 | 4 | -1;
29
+ dayOfWeek: number;
30
+ }>;
31
+ byMonth?: number[];
32
+ byMinute?: number[];
33
+ byHour?: number[];
34
+ };
35
+ endCondition: {
36
+ type: 'never' | 'afterOccurrences' | 'byDate';
37
+ occurrences?: number;
38
+ endDate?: Date;
39
+ };
40
+ exclusions?: Date[];
41
+ inclusions?: Date[];
42
+ };
43
+ /**
44
+ * Recurrence selection mode for monthly scheduling
45
+ */
46
+ type AXSchedulerPickerMonthlyRecurrenceMode = 'none' | 'specificDays' | 'occurrence';
47
+ /**
48
+ * Recurrence selection mode for yearly scheduling
49
+ */
50
+ type AXSchedulerPickerYearlyRecurrenceMode = 'none' | 'specificDate' | 'occurrence';
51
+ /**
52
+ * Mode-specific feature options
53
+ */
54
+ type AXSchedulerPickerHourlyOptions = {
55
+ showInterval?: boolean;
56
+ };
57
+ type AXSchedulerPickerDailyOptions = {
58
+ showInterval?: boolean;
59
+ showWeekdaysOnly?: boolean;
60
+ };
61
+ type AXSchedulerPickerWeeklyOptions = {
62
+ showInterval?: boolean;
63
+ showWeekdaySelection?: boolean;
64
+ };
65
+ type AXSchedulerPickerMonthlyOptions = {
66
+ showInterval?: boolean;
67
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
68
+ };
69
+ type AXSchedulerPickerYearlyOptions = {
70
+ showInterval?: boolean;
71
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
72
+ showMonthSelection?: boolean;
73
+ };
74
+ /**
75
+ * Type-safe union based on mode
76
+ */
77
+ type AXSchedulerPickerOptions<T extends AXSchedulerPickerMode> = T extends 'hourly' ? AXSchedulerPickerHourlyOptions : T extends 'daily' ? AXSchedulerPickerDailyOptions : T extends 'weekly' ? AXSchedulerPickerWeeklyOptions : T extends 'monthly' ? AXSchedulerPickerMonthlyOptions : T extends 'yearly' ? AXSchedulerPickerYearlyOptions : never;
78
+ /**
79
+ * Custom validator function type
80
+ */
81
+ type AXSchedulerPickerCustomValidator = (value: AXSchedulerPickerValue, settings: AXSchedulerPickerSettings) => AXSchedulerPickerValidationError | null;
82
+ /**
83
+ * Validation error codes
84
+ */
85
+ type AXSchedulerPickerValidationErrorCode = 'required' | 'invalid' | 'outOfRange' | 'conflict' | 'empty' | 'invalidDate' | 'pastDate' | 'custom';
86
+ /**
87
+ * Validation error structure
88
+ */
89
+ type AXSchedulerPickerValidationError = {
90
+ field: string;
91
+ code: AXSchedulerPickerValidationErrorCode;
92
+ message: string;
93
+ params?: Record<string, any>;
94
+ };
95
+ /**
96
+ * Type-safe settings based on mode
97
+ */
98
+ type AXSchedulerPickerSettings<T extends AXSchedulerPickerMode = AXSchedulerPickerMode> = {
99
+ mode: T;
100
+ options?: AXSchedulerPickerOptions<T>;
101
+ showStartCondition?: boolean;
102
+ showEndConditions?: boolean;
103
+ showExclusions?: boolean;
104
+ showInclusions?: boolean;
105
+ minInterval?: number;
106
+ maxInterval?: number;
107
+ minDate?: Date;
108
+ maxDate?: Date;
109
+ defaultInterval?: number;
110
+ firstDayOfWeek?: number;
111
+ locale?: string;
112
+ customValidators?: AXSchedulerPickerCustomValidator[];
113
+ holidayProvider?: () => Date[] | Promise<Date[]>;
114
+ };
115
+ type AXSchedulerPickerConfig<T extends AXSchedulerPickerMode = AXSchedulerPickerMode> = AXSchedulerPickerSettings<T>;
116
+ type AXSchedulerPickerHourlyConfig = AXSchedulerPickerSettings<'hourly'>;
117
+ type AXSchedulerPickerDailyConfig = AXSchedulerPickerSettings<'daily'>;
118
+ type AXSchedulerPickerWeeklyConfig = AXSchedulerPickerSettings<'weekly'>;
119
+ type AXSchedulerPickerMonthlyConfig = AXSchedulerPickerSettings<'monthly'>;
120
+ type AXSchedulerPickerYearlyConfig = AXSchedulerPickerSettings<'yearly'>;
121
+
122
+ /**
123
+ * A powerful, fully customizable scheduler picker component for creating recurrence patterns
124
+ *
125
+ * ## Features
126
+ * - Supports 5 modes: hourly, daily, weekly, monthly, and yearly
127
+ * - Flexible start and end conditions
128
+ * - Date exclusions and inclusions
129
+ * - Natural language summary generation
130
+ * - Export to Cron and RRule (iCalendar) formats
131
+ * - Full i18n support
132
+ * - Type-safe configuration
133
+ *
134
+ * ## Basic Usage
135
+ * ```typescript
136
+ * <ax-scheduler-picker
137
+ * [config]="{ mode: 'daily', showEndConditions: true }"
138
+ * [(value)]="pattern"
139
+ * (summaryChange)="onSummaryChange($event)"
140
+ * />
141
+ * ```
142
+ *
143
+ * ## Public API
144
+ * - `validatePattern()` - Manually trigger validation
145
+ * - `getPreview(count)` - Get next N occurrences
146
+ * - `toCron()` - Convert to cron expression
147
+ * - `toRRule()` - Convert to RRule string
148
+ * - `reset()` - Reset to default pattern
149
+ * - `clear()` - Clear all data
150
+ * - `validationErrors` - Signal containing current validation errors
151
+ *
152
+ * @category Components
153
+ */
154
+ declare class AXSchedulerPickerComponent extends MXValueComponent<AXSchedulerPickerValue> {
155
+ /**
156
+ * Settings for the scheduler picker
157
+ * Controls which options are visible and behavior
158
+ */
159
+ config: _angular_core.InputSignal<AXSchedulerPickerSettings>;
160
+ /**
161
+ * Emits when the human-readable summary changes
162
+ */
163
+ summaryChange: _angular_core.OutputEmitterRef<string>;
164
+ private service;
165
+ /**
166
+ * Internal pattern value
167
+ */
168
+ protected pattern: _angular_core.WritableSignal<AXSchedulerPickerValue>;
169
+ /**
170
+ * Current mode derived from config
171
+ */
172
+ protected mode: _angular_core.Signal<AXSchedulerPickerMode>;
173
+ /**
174
+ * Effect run counter to prevent stale async updates
175
+ */
176
+ private effectRunId;
177
+ /**
178
+ * Merged configuration with defaults
179
+ */
180
+ protected mergedConfig: _angular_core.Signal<{
181
+ options: {
182
+ showInterval?: boolean;
183
+ } | {
184
+ showInterval?: boolean;
185
+ showWeekdaysOnly?: boolean;
186
+ } | {
187
+ showInterval?: boolean;
188
+ showWeekdaySelection?: boolean;
189
+ } | {
190
+ showInterval?: boolean;
191
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
192
+ } | {
193
+ showInterval?: boolean;
194
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
195
+ showMonthSelection?: boolean;
196
+ } | {
197
+ showInterval?: boolean;
198
+ showWeekdaysOnly?: boolean;
199
+ } | {
200
+ showInterval?: boolean;
201
+ showWeekdaysOnly?: boolean;
202
+ } | {
203
+ showInterval?: boolean;
204
+ showWeekdaySelection?: boolean;
205
+ showWeekdaysOnly?: boolean;
206
+ } | {
207
+ showInterval?: boolean;
208
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
209
+ showWeekdaysOnly?: boolean;
210
+ } | {
211
+ showInterval?: boolean;
212
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
213
+ showMonthSelection?: boolean;
214
+ showWeekdaysOnly?: boolean;
215
+ } | {
216
+ showInterval?: boolean;
217
+ showWeekdaySelection?: boolean;
218
+ } | {
219
+ showInterval?: boolean;
220
+ showWeekdaysOnly?: boolean;
221
+ showWeekdaySelection?: boolean;
222
+ } | {
223
+ showInterval?: boolean;
224
+ showWeekdaySelection?: boolean;
225
+ } | {
226
+ showInterval?: boolean;
227
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
228
+ showWeekdaySelection?: boolean;
229
+ } | {
230
+ showInterval?: boolean;
231
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
232
+ showMonthSelection?: boolean;
233
+ showWeekdaySelection?: boolean;
234
+ } | {
235
+ showInterval?: boolean;
236
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
237
+ } | {
238
+ showInterval?: boolean;
239
+ showWeekdaysOnly?: boolean;
240
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
241
+ } | {
242
+ showInterval?: boolean;
243
+ showWeekdaySelection?: boolean;
244
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
245
+ } | {
246
+ showInterval?: boolean;
247
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
248
+ } | {
249
+ showInterval?: boolean;
250
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
251
+ showMonthSelection?: boolean;
252
+ } | {
253
+ showInterval?: boolean;
254
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
255
+ showMonthSelection?: boolean;
256
+ } | {
257
+ showInterval?: boolean;
258
+ showWeekdaysOnly?: boolean;
259
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
260
+ showMonthSelection?: boolean;
261
+ } | {
262
+ showInterval?: boolean;
263
+ showWeekdaySelection?: boolean;
264
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
265
+ showMonthSelection?: boolean;
266
+ } | {
267
+ showInterval?: boolean;
268
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
269
+ showMonthSelection?: boolean;
270
+ } | {
271
+ showInterval?: boolean;
272
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
273
+ showMonthSelection?: boolean;
274
+ };
275
+ mode: AXSchedulerPickerMode;
276
+ showStartCondition?: boolean;
277
+ showEndConditions?: boolean;
278
+ showExclusions?: boolean;
279
+ showInclusions?: boolean;
280
+ minInterval?: number;
281
+ maxInterval?: number;
282
+ minDate?: Date;
283
+ maxDate?: Date;
284
+ defaultInterval?: number;
285
+ firstDayOfWeek?: number;
286
+ locale?: string;
287
+ customValidators?: AXSchedulerPickerCustomValidator[];
288
+ holidayProvider?: () => Date[] | Promise<Date[]>;
289
+ } | {
290
+ options: {
291
+ showInterval?: boolean;
292
+ } | {
293
+ showInterval?: boolean;
294
+ showWeekdaysOnly?: boolean;
295
+ } | {
296
+ showInterval?: boolean;
297
+ showWeekdaySelection?: boolean;
298
+ } | {
299
+ showInterval?: boolean;
300
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
301
+ } | {
302
+ showInterval?: boolean;
303
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
304
+ showMonthSelection?: boolean;
305
+ } | {
306
+ showInterval?: boolean;
307
+ showWeekdaysOnly?: boolean;
308
+ } | {
309
+ showInterval?: boolean;
310
+ showWeekdaysOnly?: boolean;
311
+ } | {
312
+ showInterval?: boolean;
313
+ showWeekdaySelection?: boolean;
314
+ showWeekdaysOnly?: boolean;
315
+ } | {
316
+ showInterval?: boolean;
317
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
318
+ showWeekdaysOnly?: boolean;
319
+ } | {
320
+ showInterval?: boolean;
321
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
322
+ showMonthSelection?: boolean;
323
+ showWeekdaysOnly?: boolean;
324
+ } | {
325
+ showInterval?: boolean;
326
+ showWeekdaySelection?: boolean;
327
+ } | {
328
+ showInterval?: boolean;
329
+ showWeekdaysOnly?: boolean;
330
+ showWeekdaySelection?: boolean;
331
+ } | {
332
+ showInterval?: boolean;
333
+ showWeekdaySelection?: boolean;
334
+ } | {
335
+ showInterval?: boolean;
336
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
337
+ showWeekdaySelection?: boolean;
338
+ } | {
339
+ showInterval?: boolean;
340
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
341
+ showMonthSelection?: boolean;
342
+ showWeekdaySelection?: boolean;
343
+ } | {
344
+ showInterval?: boolean;
345
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
346
+ } | {
347
+ showInterval?: boolean;
348
+ showWeekdaysOnly?: boolean;
349
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
350
+ } | {
351
+ showInterval?: boolean;
352
+ showWeekdaySelection?: boolean;
353
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
354
+ } | {
355
+ showInterval?: boolean;
356
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
357
+ } | {
358
+ showInterval?: boolean;
359
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
360
+ showMonthSelection?: boolean;
361
+ } | {
362
+ showInterval?: boolean;
363
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
364
+ showMonthSelection?: boolean;
365
+ } | {
366
+ showInterval?: boolean;
367
+ showWeekdaysOnly?: boolean;
368
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
369
+ showMonthSelection?: boolean;
370
+ } | {
371
+ showInterval?: boolean;
372
+ showWeekdaySelection?: boolean;
373
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
374
+ showMonthSelection?: boolean;
375
+ } | {
376
+ showInterval?: boolean;
377
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
378
+ showMonthSelection?: boolean;
379
+ } | {
380
+ showInterval?: boolean;
381
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
382
+ showMonthSelection?: boolean;
383
+ };
384
+ mode: AXSchedulerPickerMode;
385
+ showStartCondition?: boolean;
386
+ showEndConditions?: boolean;
387
+ showExclusions?: boolean;
388
+ showInclusions?: boolean;
389
+ minInterval?: number;
390
+ maxInterval?: number;
391
+ minDate?: Date;
392
+ maxDate?: Date;
393
+ defaultInterval?: number;
394
+ firstDayOfWeek?: number;
395
+ locale?: string;
396
+ customValidators?: AXSchedulerPickerCustomValidator[];
397
+ holidayProvider?: () => Date[] | Promise<Date[]>;
398
+ } | {
399
+ options: {
400
+ showInterval?: boolean;
401
+ } | {
402
+ showInterval?: boolean;
403
+ showWeekdaysOnly?: boolean;
404
+ } | {
405
+ showInterval?: boolean;
406
+ showWeekdaySelection?: boolean;
407
+ } | {
408
+ showInterval?: boolean;
409
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
410
+ } | {
411
+ showInterval?: boolean;
412
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
413
+ showMonthSelection?: boolean;
414
+ } | {
415
+ showInterval?: boolean;
416
+ showWeekdaysOnly?: boolean;
417
+ } | {
418
+ showInterval?: boolean;
419
+ showWeekdaysOnly?: boolean;
420
+ } | {
421
+ showInterval?: boolean;
422
+ showWeekdaySelection?: boolean;
423
+ showWeekdaysOnly?: boolean;
424
+ } | {
425
+ showInterval?: boolean;
426
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
427
+ showWeekdaysOnly?: boolean;
428
+ } | {
429
+ showInterval?: boolean;
430
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
431
+ showMonthSelection?: boolean;
432
+ showWeekdaysOnly?: boolean;
433
+ } | {
434
+ showInterval?: boolean;
435
+ showWeekdaySelection?: boolean;
436
+ } | {
437
+ showInterval?: boolean;
438
+ showWeekdaysOnly?: boolean;
439
+ showWeekdaySelection?: boolean;
440
+ } | {
441
+ showInterval?: boolean;
442
+ showWeekdaySelection?: boolean;
443
+ } | {
444
+ showInterval?: boolean;
445
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
446
+ showWeekdaySelection?: boolean;
447
+ } | {
448
+ showInterval?: boolean;
449
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
450
+ showMonthSelection?: boolean;
451
+ showWeekdaySelection?: boolean;
452
+ } | {
453
+ showInterval?: boolean;
454
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
455
+ } | {
456
+ showInterval?: boolean;
457
+ showWeekdaysOnly?: boolean;
458
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
459
+ } | {
460
+ showInterval?: boolean;
461
+ showWeekdaySelection?: boolean;
462
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
463
+ } | {
464
+ showInterval?: boolean;
465
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
466
+ } | {
467
+ showInterval?: boolean;
468
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
469
+ showMonthSelection?: boolean;
470
+ } | {
471
+ showInterval?: boolean;
472
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
473
+ showMonthSelection?: boolean;
474
+ } | {
475
+ showInterval?: boolean;
476
+ showWeekdaysOnly?: boolean;
477
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
478
+ showMonthSelection?: boolean;
479
+ } | {
480
+ showInterval?: boolean;
481
+ showWeekdaySelection?: boolean;
482
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
483
+ showMonthSelection?: boolean;
484
+ } | {
485
+ showInterval?: boolean;
486
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
487
+ showMonthSelection?: boolean;
488
+ } | {
489
+ showInterval?: boolean;
490
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
491
+ showMonthSelection?: boolean;
492
+ };
493
+ mode: AXSchedulerPickerMode;
494
+ showStartCondition?: boolean;
495
+ showEndConditions?: boolean;
496
+ showExclusions?: boolean;
497
+ showInclusions?: boolean;
498
+ minInterval?: number;
499
+ maxInterval?: number;
500
+ minDate?: Date;
501
+ maxDate?: Date;
502
+ defaultInterval?: number;
503
+ firstDayOfWeek?: number;
504
+ locale?: string;
505
+ customValidators?: AXSchedulerPickerCustomValidator[];
506
+ holidayProvider?: () => Date[] | Promise<Date[]>;
507
+ } | {
508
+ options: {
509
+ showInterval?: boolean;
510
+ } | {
511
+ showInterval?: boolean;
512
+ showWeekdaysOnly?: boolean;
513
+ } | {
514
+ showInterval?: boolean;
515
+ showWeekdaySelection?: boolean;
516
+ } | {
517
+ showInterval?: boolean;
518
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
519
+ } | {
520
+ showInterval?: boolean;
521
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
522
+ showMonthSelection?: boolean;
523
+ } | {
524
+ showInterval?: boolean;
525
+ showWeekdaysOnly?: boolean;
526
+ } | {
527
+ showInterval?: boolean;
528
+ showWeekdaysOnly?: boolean;
529
+ } | {
530
+ showInterval?: boolean;
531
+ showWeekdaySelection?: boolean;
532
+ showWeekdaysOnly?: boolean;
533
+ } | {
534
+ showInterval?: boolean;
535
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
536
+ showWeekdaysOnly?: boolean;
537
+ } | {
538
+ showInterval?: boolean;
539
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
540
+ showMonthSelection?: boolean;
541
+ showWeekdaysOnly?: boolean;
542
+ } | {
543
+ showInterval?: boolean;
544
+ showWeekdaySelection?: boolean;
545
+ } | {
546
+ showInterval?: boolean;
547
+ showWeekdaysOnly?: boolean;
548
+ showWeekdaySelection?: boolean;
549
+ } | {
550
+ showInterval?: boolean;
551
+ showWeekdaySelection?: boolean;
552
+ } | {
553
+ showInterval?: boolean;
554
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
555
+ showWeekdaySelection?: boolean;
556
+ } | {
557
+ showInterval?: boolean;
558
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
559
+ showMonthSelection?: boolean;
560
+ showWeekdaySelection?: boolean;
561
+ } | {
562
+ showInterval?: boolean;
563
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
564
+ } | {
565
+ showInterval?: boolean;
566
+ showWeekdaysOnly?: boolean;
567
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
568
+ } | {
569
+ showInterval?: boolean;
570
+ showWeekdaySelection?: boolean;
571
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
572
+ } | {
573
+ showInterval?: boolean;
574
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
575
+ } | {
576
+ showInterval?: boolean;
577
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
578
+ showMonthSelection?: boolean;
579
+ } | {
580
+ showInterval?: boolean;
581
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
582
+ showMonthSelection?: boolean;
583
+ } | {
584
+ showInterval?: boolean;
585
+ showWeekdaysOnly?: boolean;
586
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
587
+ showMonthSelection?: boolean;
588
+ } | {
589
+ showInterval?: boolean;
590
+ showWeekdaySelection?: boolean;
591
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
592
+ showMonthSelection?: boolean;
593
+ } | {
594
+ showInterval?: boolean;
595
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
596
+ showMonthSelection?: boolean;
597
+ } | {
598
+ showInterval?: boolean;
599
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
600
+ showMonthSelection?: boolean;
601
+ };
602
+ mode: AXSchedulerPickerMode;
603
+ showStartCondition?: boolean;
604
+ showEndConditions?: boolean;
605
+ showExclusions?: boolean;
606
+ showInclusions?: boolean;
607
+ minInterval?: number;
608
+ maxInterval?: number;
609
+ minDate?: Date;
610
+ maxDate?: Date;
611
+ defaultInterval?: number;
612
+ firstDayOfWeek?: number;
613
+ locale?: string;
614
+ customValidators?: AXSchedulerPickerCustomValidator[];
615
+ holidayProvider?: () => Date[] | Promise<Date[]>;
616
+ } | {
617
+ options: {
618
+ showInterval?: boolean;
619
+ } | {
620
+ showInterval?: boolean;
621
+ showWeekdaysOnly?: boolean;
622
+ } | {
623
+ showInterval?: boolean;
624
+ showWeekdaySelection?: boolean;
625
+ } | {
626
+ showInterval?: boolean;
627
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
628
+ } | {
629
+ showInterval?: boolean;
630
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
631
+ showMonthSelection?: boolean;
632
+ } | {
633
+ showInterval?: boolean;
634
+ showWeekdaysOnly?: boolean;
635
+ } | {
636
+ showInterval?: boolean;
637
+ showWeekdaysOnly?: boolean;
638
+ } | {
639
+ showInterval?: boolean;
640
+ showWeekdaySelection?: boolean;
641
+ showWeekdaysOnly?: boolean;
642
+ } | {
643
+ showInterval?: boolean;
644
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
645
+ showWeekdaysOnly?: boolean;
646
+ } | {
647
+ showInterval?: boolean;
648
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
649
+ showMonthSelection?: boolean;
650
+ showWeekdaysOnly?: boolean;
651
+ } | {
652
+ showInterval?: boolean;
653
+ showWeekdaySelection?: boolean;
654
+ } | {
655
+ showInterval?: boolean;
656
+ showWeekdaysOnly?: boolean;
657
+ showWeekdaySelection?: boolean;
658
+ } | {
659
+ showInterval?: boolean;
660
+ showWeekdaySelection?: boolean;
661
+ } | {
662
+ showInterval?: boolean;
663
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
664
+ showWeekdaySelection?: boolean;
665
+ } | {
666
+ showInterval?: boolean;
667
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
668
+ showMonthSelection?: boolean;
669
+ showWeekdaySelection?: boolean;
670
+ } | {
671
+ showInterval?: boolean;
672
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
673
+ } | {
674
+ showInterval?: boolean;
675
+ showWeekdaysOnly?: boolean;
676
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
677
+ } | {
678
+ showInterval?: boolean;
679
+ showWeekdaySelection?: boolean;
680
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
681
+ } | {
682
+ showInterval?: boolean;
683
+ recurrenceMode?: AXSchedulerPickerMonthlyRecurrenceMode;
684
+ } | {
685
+ showInterval?: boolean;
686
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
687
+ showMonthSelection?: boolean;
688
+ } | {
689
+ showInterval?: boolean;
690
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
691
+ showMonthSelection?: boolean;
692
+ } | {
693
+ showInterval?: boolean;
694
+ showWeekdaysOnly?: boolean;
695
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
696
+ showMonthSelection?: boolean;
697
+ } | {
698
+ showInterval?: boolean;
699
+ showWeekdaySelection?: boolean;
700
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
701
+ showMonthSelection?: boolean;
702
+ } | {
703
+ showInterval?: boolean;
704
+ recurrenceMode?: "none" | "specificDays" | "occurrence" | "specificDate";
705
+ showMonthSelection?: boolean;
706
+ } | {
707
+ showInterval?: boolean;
708
+ recurrenceMode?: AXSchedulerPickerYearlyRecurrenceMode;
709
+ showMonthSelection?: boolean;
710
+ };
711
+ mode: AXSchedulerPickerMode;
712
+ showStartCondition?: boolean;
713
+ showEndConditions?: boolean;
714
+ showExclusions?: boolean;
715
+ showInclusions?: boolean;
716
+ minInterval?: number;
717
+ maxInterval?: number;
718
+ minDate?: Date;
719
+ maxDate?: Date;
720
+ defaultInterval?: number;
721
+ firstDayOfWeek?: number;
722
+ locale?: string;
723
+ customValidators?: AXSchedulerPickerCustomValidator[];
724
+ holidayProvider?: () => Date[] | Promise<Date[]>;
725
+ }>;
726
+ /**
727
+ * Validation errors (public for external access)
728
+ */
729
+ readonly validationErrors: _angular_core.WritableSignal<string[]>;
730
+ /**
731
+ * Human-readable summary of the pattern
732
+ */
733
+ protected summary: _angular_core.WritableSignal<string>;
734
+ protected internalValueChanged(value: AXSchedulerPickerValue): void;
735
+ constructor();
736
+ /**
737
+ * Initialize with default value based on mode
738
+ */
739
+ protected initializeDefaultValue(): void;
740
+ /**
741
+ * Update pattern value
742
+ */
743
+ protected updatePattern(updates: Partial<AXSchedulerPickerValue>): void;
744
+ /**
745
+ * Deep merge pattern updates with current pattern
746
+ * Preserves nested object properties that aren't being updated
747
+ */
748
+ private mergePatternUpdates;
749
+ /**
750
+ * Manually validate the current pattern
751
+ *
752
+ * Validates the pattern against configured rules and constraints.
753
+ * Updates the `validationErrors` signal and component state.
754
+ *
755
+ * @returns Promise resolving to `true` if pattern is valid, `false` otherwise
756
+ *
757
+ * @example
758
+ * ```typescript
759
+ * const isValid = await schedulerPicker.validatePattern();
760
+ * if (!isValid) {
761
+ * const errors = schedulerPicker.validationErrors();
762
+ * console.log('Validation errors:', errors);
763
+ * }
764
+ * ```
765
+ */
766
+ validatePattern(): Promise<boolean>;
767
+ /**
768
+ * Get preview of next N occurrences based on the current pattern
769
+ *
770
+ * @param count - Number of occurrences to return (default: 10)
771
+ * @param startFrom - Optional starting date (default: now)
772
+ * @returns Promise resolving to array of dates representing next occurrences
773
+ * @returns Empty array if pattern is invalid or not set
774
+ *
775
+ * @example
776
+ * ```typescript
777
+ * const dates = await schedulerPicker.getPreview(5);
778
+ * console.log('Next 5 occurrences:', dates);
779
+ * ```
780
+ */
781
+ getPreview(count?: number, startFrom?: Date): Promise<Date[]>;
782
+ /**
783
+ * Convert current pattern to cron expression
784
+ *
785
+ * @returns Promise resolving to cron expression string
786
+ * @returns Empty string if pattern is not set or invalid
787
+ *
788
+ * @example
789
+ * ```typescript
790
+ * const cron = await schedulerPicker.toCron();
791
+ * console.log('Cron expression:', cron); // "0 9 * * 1-5"
792
+ * ```
793
+ */
794
+ toCron(): Promise<string>;
795
+ /**
796
+ * Convert current pattern to RRule string (iCalendar format)
797
+ *
798
+ * @returns Promise resolving to RRule string
799
+ * @returns Empty string if pattern is not set or invalid
800
+ *
801
+ * @example
802
+ * ```typescript
803
+ * const rrule = await schedulerPicker.toRRule();
804
+ * console.log('RRule:', rrule); // "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR"
805
+ * ```
806
+ */
807
+ toRRule(): Promise<string>;
808
+ /**
809
+ * Reset pattern to default value based on current mode
810
+ * Clears current pattern and re-initializes with mode-specific defaults
811
+ *
812
+ * @param e - Optional event parameter (inherited from base class)
813
+ *
814
+ * @example
815
+ * ```typescript
816
+ * schedulerPicker.reset();
817
+ * // Pattern is now reset to default for the configured mode
818
+ * ```
819
+ */
820
+ reset(e?: boolean): void;
821
+ /**
822
+ * Clear pattern completely
823
+ * Removes all pattern data, summary, and validation errors
824
+ * Sets component state to 'clear'
825
+ *
826
+ * @example
827
+ * ```typescript
828
+ * schedulerPicker.clear();
829
+ * // All data cleared, component is now empty
830
+ * ```
831
+ */
832
+ clear(): void;
833
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerComponent, never>;
834
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerComponent, "ax-scheduler-picker", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "summaryChange": "summaryChange"; }, never, never, true, never>;
835
+ }
836
+
837
+ /**
838
+ * Service for scheduler picker utilities
839
+ * Handles conversions, calculations, and validation
840
+ */
841
+ declare class AXSchedulerPickerService {
842
+ private translationService;
843
+ /**
844
+ * Calculate next N occurrences from pattern
845
+ * Uses lazy-loaded rrule library for complex calculations
846
+ */
847
+ calculateOccurrences(pattern: AXSchedulerPickerValue, count: number, startFrom?: Date): Promise<Date[]>;
848
+ /**
849
+ * Convert pattern to cron expression
850
+ * Uses lazy-loaded cron-parser library
851
+ */
852
+ toCronExpression(pattern: AXSchedulerPickerValue): Promise<string>;
853
+ /**
854
+ * Convert cron expression to pattern
855
+ * Parses standard cron format: minute hour day month weekday
856
+ */
857
+ fromCronExpression(cron: string): Promise<AXSchedulerPickerValue | null>;
858
+ /**
859
+ * Analyze a cron field to extract interval and values
860
+ */
861
+ private analyzeCronField;
862
+ /**
863
+ * Convert pattern to RRule string (iCalendar format)
864
+ */
865
+ toRRule(pattern: AXSchedulerPickerValue): Promise<string>;
866
+ /**
867
+ * Convert RRule string to pattern
868
+ */
869
+ fromRRule(rruleStr: string): Promise<AXSchedulerPickerValue | null>;
870
+ /**
871
+ * Generate human-readable description
872
+ * Uses lazy-loaded cronstrue library for i18n
873
+ */
874
+ toNaturalLanguage(pattern: AXSchedulerPickerValue, locale?: string): Promise<string>;
875
+ /**
876
+ * Validate pattern against config and rules
877
+ */
878
+ validatePattern(pattern: AXSchedulerPickerValue, settings: AXSchedulerPickerSettings): Promise<AXSchedulerPickerValidationError[]>;
879
+ /**
880
+ * Check if a specific date matches the pattern
881
+ */
882
+ isDateMatch(pattern: AXSchedulerPickerValue, date: Date): Promise<boolean>;
883
+ /**
884
+ * Get next occurrence from a specific date
885
+ */
886
+ getNextOccurrence(pattern: AXSchedulerPickerValue, from: Date): Promise<Date | null>;
887
+ /**
888
+ * Convert pattern to RRule object
889
+ * Helper method for RRule operations
890
+ */
891
+ private toRRuleObject;
892
+ /**
893
+ * Get day name constant for RRule
894
+ */
895
+ private getDayName;
896
+ /**
897
+ * Get localized day names
898
+ */
899
+ private getDayNames;
900
+ /**
901
+ * Get localized month names
902
+ */
903
+ private getMonthNames;
904
+ /**
905
+ * Get text for occurrence position
906
+ */
907
+ private getOccurrencePositionText;
908
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerService, never>;
909
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXSchedulerPickerService>;
910
+ }
911
+
912
+ /**
913
+ * Hourly mode default configuration
914
+ */
915
+ declare const AXSchedulerPickerHourlyDefaultConfig: AXSchedulerPickerHourlyConfig;
916
+ /**
917
+ * Daily mode default configuration
918
+ */
919
+ declare const AXSchedulerPickerDailyDefaultConfig: AXSchedulerPickerDailyConfig;
920
+ /**
921
+ * Weekly mode default configuration
922
+ */
923
+ declare const AXSchedulerPickerWeeklyDefaultConfig: AXSchedulerPickerWeeklyConfig;
924
+ /**
925
+ * Monthly mode default configuration
926
+ */
927
+ declare const AXSchedulerPickerMonthlyDefaultConfig: AXSchedulerPickerMonthlyConfig;
928
+ /**
929
+ * Yearly mode default configuration
930
+ */
931
+ declare const AXSchedulerPickerYearlyDefaultConfig: AXSchedulerPickerYearlyConfig;
932
+ /**
933
+ * Injection tokens for each mode configuration
934
+ */
935
+ declare const AX_SCHEDULER_PICKER_HOURLY_CONFIG: InjectionToken<AXSchedulerPickerHourlyConfig>;
936
+ declare const AX_SCHEDULER_PICKER_DAILY_CONFIG: InjectionToken<AXSchedulerPickerDailyConfig>;
937
+ declare const AX_SCHEDULER_PICKER_WEEKLY_CONFIG: InjectionToken<AXSchedulerPickerWeeklyConfig>;
938
+ declare const AX_SCHEDULER_PICKER_MONTHLY_CONFIG: InjectionToken<AXSchedulerPickerMonthlyConfig>;
939
+ declare const AX_SCHEDULER_PICKER_YEARLY_CONFIG: InjectionToken<AXSchedulerPickerYearlyConfig>;
940
+ /**
941
+ * Helper function to get default config by mode
942
+ */
943
+ declare function getDefaultSchedulerPickerConfig<T extends 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'>(mode: T): T extends 'hourly' ? AXSchedulerPickerHourlyConfig : T extends 'daily' ? AXSchedulerPickerDailyConfig : T extends 'weekly' ? AXSchedulerPickerWeeklyConfig : T extends 'monthly' ? AXSchedulerPickerMonthlyConfig : AXSchedulerPickerYearlyConfig;
944
+
945
+ /**
946
+ * Constants for scheduler picker module
947
+ */
948
+ /**
949
+ * Day of week interface
950
+ */
951
+ interface AXSchedulerPickerDayOfWeek {
952
+ id: number;
953
+ text: string;
954
+ key: string;
955
+ rruleKey: string;
956
+ }
957
+ /**
958
+ * Month interface
959
+ */
960
+ interface AXSchedulerPickerMonth {
961
+ id: number;
962
+ text: string;
963
+ key: string;
964
+ }
965
+ /**
966
+ * Occurrence position interface
967
+ */
968
+ interface AXSchedulerPickerOccurrencePosition {
969
+ value: 1 | 2 | 3 | 4 | -1;
970
+ text: string;
971
+ key: string;
972
+ }
973
+ /**
974
+ * Days of the week (0-6: Sunday-Saturday)
975
+ */
976
+ declare const AX_SCHEDULER_PICKER_DAYS_OF_WEEK: Readonly<AXSchedulerPickerDayOfWeek[]>;
977
+ /**
978
+ * Months of the year (0-11: January-December)
979
+ */
980
+ declare const AX_SCHEDULER_PICKER_MONTHS: Readonly<AXSchedulerPickerMonth[]>;
981
+ /**
982
+ * Occurrence positions (1st, 2nd, 3rd, 4th, Last)
983
+ */
984
+ declare const AX_SCHEDULER_PICKER_OCCURRENCE_POSITIONS: Readonly<AXSchedulerPickerOccurrencePosition[]>;
985
+ /**
986
+ * RRule day keys mapping (for RRule library)
987
+ */
988
+ declare const AX_SCHEDULER_PICKER_RRULE_DAY_KEYS: Readonly<string[]>;
989
+ /**
990
+ * Translation keys for days of week
991
+ */
992
+ declare const AX_SCHEDULER_PICKER_DAY_TRANSLATION_KEYS: Readonly<string[]>;
993
+ /**
994
+ * Translation keys for months
995
+ */
996
+ declare const AX_SCHEDULER_PICKER_MONTH_TRANSLATION_KEYS: Readonly<string[]>;
997
+ /**
998
+ * Default first day of week (0 = Sunday)
999
+ */
1000
+ declare const AX_SCHEDULER_PICKER_DEFAULT_FIRST_DAY_OF_WEEK = 0;
1001
+ /**
1002
+ * Default time format
1003
+ */
1004
+ declare const AX_SCHEDULER_PICKER_DEFAULT_TIME_FORMAT: "24h";
1005
+ /**
1006
+ * Default time precision
1007
+ */
1008
+ declare const AX_SCHEDULER_PICKER_DEFAULT_TIME_PRECISION: "minutes";
1009
+ /**
1010
+ * Default locale
1011
+ */
1012
+ declare const AX_SCHEDULER_PICKER_DEFAULT_LOCALE = "en-US";
1013
+ /**
1014
+ * Weekday range for daily mode (Monday-Friday)
1015
+ */
1016
+ declare const AX_SCHEDULER_PICKER_WEEKDAY_START = 1;
1017
+ declare const AX_SCHEDULER_PICKER_WEEKDAY_END = 5;
1018
+ /**
1019
+ * Default occurrences count for end condition
1020
+ */
1021
+ declare const AX_SCHEDULER_PICKER_DEFAULT_OCCURRENCES = 10;
1022
+
1023
+ /**
1024
+ * Helper function to reorder days based on first day of week
1025
+ */
1026
+ declare function reorderDaysByFirstDay(firstDayOfWeek?: number): AXSchedulerPickerDayOfWeek[];
1027
+ /**
1028
+ * Get RRule day key by day index
1029
+ */
1030
+ declare function getRRuleDayKey(dayIndex: number): string;
1031
+ /**
1032
+ * Get day translation key by index
1033
+ */
1034
+ declare function getDayTranslationKey(dayIndex: number): string;
1035
+ /**
1036
+ * Get month translation key by index
1037
+ */
1038
+ declare function getMonthTranslationKey(monthIndex: number): string;
1039
+ /**
1040
+ * Normalize date to midnight for consistent comparison
1041
+ */
1042
+ declare function normalizeDate(date: Date): Date;
1043
+ /**
1044
+ * Check if two dates are the same day (ignoring time)
1045
+ */
1046
+ declare function isSameDate(date1: Date, date2: Date): boolean;
1047
+ /**
1048
+ * Check if date exists in array (day comparison only)
1049
+ */
1050
+ declare function dateExistsInArray(date: Date, dates: Date[]): boolean;
1051
+
1052
+ interface AXSchedulerPickerEndCondition {
1053
+ type: 'never' | 'afterOccurrences' | 'byDate';
1054
+ occurrences?: number;
1055
+ endDate?: Date;
1056
+ }
1057
+ declare class AXSchedulerPickerEndConditionSelectorComponent {
1058
+ endCondition: _angular_core.InputSignal<AXSchedulerPickerEndCondition>;
1059
+ config: _angular_core.InputSignal<AXSchedulerPickerSettings>;
1060
+ endConditionChange: _angular_core.OutputEmitterRef<AXSchedulerPickerEndCondition>;
1061
+ protected selectedType: _angular_core.WritableSignal<"byDate" | "never" | "afterOccurrences">;
1062
+ protected occurrences: _angular_core.WritableSignal<number>;
1063
+ protected endDate: _angular_core.WritableSignal<Date>;
1064
+ protected readonly endTypeItems: {
1065
+ id: string;
1066
+ text: string;
1067
+ }[];
1068
+ constructor();
1069
+ protected onTypeChange(event: AXValueChangedEvent<'never' | 'afterOccurrences' | 'byDate'>): void;
1070
+ protected onOccurrencesChange(value: number): void;
1071
+ protected onDateChange(value: Date): void;
1072
+ private emitChange;
1073
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerEndConditionSelectorComponent, never>;
1074
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerEndConditionSelectorComponent, "ax-scheduler-picker-end-condition-selector", never, { "endCondition": { "alias": "endCondition"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "endConditionChange": "endConditionChange"; }, never, never, true, never>;
1075
+ }
1076
+
1077
+ interface AXSchedulerPickerStartCondition {
1078
+ type: 'now' | 'byDate';
1079
+ startDate: Date;
1080
+ }
1081
+ declare class AXSchedulerPickerStartConditionSelectorComponent {
1082
+ startCondition: _angular_core.InputSignal<AXSchedulerPickerStartCondition>;
1083
+ config: _angular_core.InputSignal<AXSchedulerPickerSettings>;
1084
+ startConditionChange: _angular_core.OutputEmitterRef<AXSchedulerPickerStartCondition>;
1085
+ protected selectedType: _angular_core.WritableSignal<"now" | "byDate">;
1086
+ protected startDate: _angular_core.WritableSignal<Date>;
1087
+ protected readonly startTypeItems: {
1088
+ id: string;
1089
+ text: string;
1090
+ }[];
1091
+ constructor();
1092
+ protected onTypeChange(event: AXValueChangedEvent<'now' | 'byDate'>): void;
1093
+ protected onDateChange(value: Date): void;
1094
+ private emitChange;
1095
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerStartConditionSelectorComponent, never>;
1096
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerStartConditionSelectorComponent, "ax-scheduler-picker-start-condition-selector", never, { "startCondition": { "alias": "startCondition"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "startConditionChange": "startConditionChange"; }, never, never, true, never>;
1097
+ }
1098
+
1099
+ declare class AXSchedulerPickerDailyPanelComponent {
1100
+ pattern: _angular_core.InputSignal<AXSchedulerPickerValue>;
1101
+ config: _angular_core.InputSignal<AXSchedulerPickerDailyConfig>;
1102
+ patternChange: _angular_core.OutputEmitterRef<Partial<AXSchedulerPickerValue>>;
1103
+ protected weekdayOnly: _angular_core.WritableSignal<boolean>;
1104
+ constructor();
1105
+ protected onIntervalChange(interval: number): void;
1106
+ protected onWeekdayOnlyChange(value: boolean): void;
1107
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerDailyPanelComponent, never>;
1108
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerDailyPanelComponent, "ax-scheduler-picker-daily-panel", never, { "pattern": { "alias": "pattern"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "patternChange": "patternChange"; }, never, never, true, never>;
1109
+ }
1110
+
1111
+ declare class AXSchedulerPickerHourlyPanelComponent {
1112
+ pattern: _angular_core.InputSignal<AXSchedulerPickerValue>;
1113
+ config: _angular_core.InputSignal<AXSchedulerPickerHourlyConfig>;
1114
+ patternChange: _angular_core.OutputEmitterRef<Partial<AXSchedulerPickerValue>>;
1115
+ protected onIntervalChange(interval: number): void;
1116
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerHourlyPanelComponent, never>;
1117
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerHourlyPanelComponent, "ax-scheduler-picker-hourly-panel", never, { "pattern": { "alias": "pattern"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "patternChange": "patternChange"; }, never, never, true, never>;
1118
+ }
1119
+
1120
+ declare class AXSchedulerPickerMonthlyPanelComponent {
1121
+ pattern: _angular_core.InputSignal<AXSchedulerPickerValue>;
1122
+ config: _angular_core.InputSignal<AXSchedulerPickerMonthlyConfig>;
1123
+ patternChange: _angular_core.OutputEmitterRef<Partial<AXSchedulerPickerValue>>;
1124
+ protected selectedDays: _angular_core.WritableSignal<number[]>;
1125
+ protected occurrence: _angular_core.WritableSignal<AXSchedulerPickerOccurrence>;
1126
+ constructor();
1127
+ protected onIntervalChange(interval: number): void;
1128
+ protected onDaysChange(days: number[]): void;
1129
+ protected onOccurrenceChange(occurrence: AXSchedulerPickerOccurrence): void;
1130
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerMonthlyPanelComponent, never>;
1131
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerMonthlyPanelComponent, "ax-scheduler-picker-monthly-panel", never, { "pattern": { "alias": "pattern"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "patternChange": "patternChange"; }, never, never, true, never>;
1132
+ }
1133
+
1134
+ /**
1135
+ * Weekly recurrence panel
1136
+ */
1137
+ declare class AXSchedulerPickerWeeklyPanelComponent {
1138
+ pattern: _angular_core.InputSignal<AXSchedulerPickerValue>;
1139
+ config: _angular_core.InputSignal<AXSchedulerPickerWeeklyConfig>;
1140
+ patternChange: _angular_core.OutputEmitterRef<Partial<AXSchedulerPickerValue>>;
1141
+ protected selectedDays: _angular_core.WritableSignal<number[]>;
1142
+ protected dayItems: _angular_core.Signal<{
1143
+ text: string;
1144
+ id: number;
1145
+ key: string;
1146
+ rruleKey: string;
1147
+ }[]>;
1148
+ constructor();
1149
+ protected onIntervalChange(interval: number): void;
1150
+ protected onDaysChange(event: AXValueChangedEvent): void;
1151
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerWeeklyPanelComponent, never>;
1152
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerWeeklyPanelComponent, "ax-scheduler-picker-weekly-panel", never, { "pattern": { "alias": "pattern"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "patternChange": "patternChange"; }, never, never, true, never>;
1153
+ }
1154
+
1155
+ declare class AXSchedulerPickerYearlyPanelComponent {
1156
+ pattern: _angular_core.InputSignal<AXSchedulerPickerValue>;
1157
+ config: _angular_core.InputSignal<AXSchedulerPickerYearlyConfig>;
1158
+ patternChange: _angular_core.OutputEmitterRef<Partial<AXSchedulerPickerValue>>;
1159
+ protected selectedMonths: _angular_core.WritableSignal<number[]>;
1160
+ protected selectedDays: _angular_core.WritableSignal<number[]>;
1161
+ protected occurrence: _angular_core.WritableSignal<AXSchedulerPickerOccurrence>;
1162
+ constructor();
1163
+ protected onIntervalChange(interval: number): void;
1164
+ protected onMonthsChange(months: number[]): void;
1165
+ protected onDaysChange(days: number[]): void;
1166
+ protected onOccurrenceChange(occurrence: AXSchedulerPickerOccurrence): void;
1167
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerYearlyPanelComponent, never>;
1168
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerYearlyPanelComponent, "ax-scheduler-picker-yearly-panel", never, { "pattern": { "alias": "pattern"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "patternChange": "patternChange"; }, never, never, true, never>;
1169
+ }
1170
+
1171
+ declare class AXSchedulerPickerDaySelectorComponent {
1172
+ /**
1173
+ * Selected day numbers (1-31)
1174
+ */
1175
+ days: _angular_core.InputSignal<number[]>;
1176
+ /**
1177
+ * Emits when day selection changes
1178
+ */
1179
+ daysChange: _angular_core.OutputEmitterRef<number[]>;
1180
+ protected dayItems: {
1181
+ id: number;
1182
+ text: string;
1183
+ }[];
1184
+ /**
1185
+ * Handle day selection change
1186
+ */
1187
+ protected onDaysChange(event: AXValueChangedEvent<number | number[]>): void;
1188
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerDaySelectorComponent, never>;
1189
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerDaySelectorComponent, "ax-scheduler-picker-day-selector", never, { "days": { "alias": "days"; "required": false; "isSignal": true; }; }, { "daysChange": "daysChange"; }, never, never, true, never>;
1190
+ }
1191
+
1192
+ declare class AXSchedulerPickerExclusionManagerComponent {
1193
+ exclusions: _angular_core.InputSignal<Date[]>;
1194
+ config: _angular_core.InputSignal<AXSchedulerPickerSettings>;
1195
+ exclusionsChange: _angular_core.OutputEmitterRef<Date[]>;
1196
+ protected newExclusionDate: _angular_core.WritableSignal<Date>;
1197
+ protected exclusionList: _angular_core.WritableSignal<Date[]>;
1198
+ constructor();
1199
+ protected addExclusion(): void;
1200
+ protected removeExclusion(date: Date): void;
1201
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerExclusionManagerComponent, never>;
1202
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerExclusionManagerComponent, "ax-scheduler-picker-exclusion-manager", never, { "exclusions": { "alias": "exclusions"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "exclusionsChange": "exclusionsChange"; }, never, never, true, never>;
1203
+ }
1204
+
1205
+ declare class AXSchedulerPickerInclusionManagerComponent {
1206
+ inclusions: _angular_core.InputSignal<Date[]>;
1207
+ inclusionsChange: _angular_core.OutputEmitterRef<Date[]>;
1208
+ protected newInclusionDate: _angular_core.WritableSignal<Date>;
1209
+ protected inclusionList: _angular_core.WritableSignal<Date[]>;
1210
+ constructor();
1211
+ protected addInclusion(): void;
1212
+ protected removeInclusion(date: Date): void;
1213
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerInclusionManagerComponent, never>;
1214
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerInclusionManagerComponent, "ax-scheduler-picker-inclusion-manager", never, { "inclusions": { "alias": "inclusions"; "required": false; "isSignal": true; }; }, { "inclusionsChange": "inclusionsChange"; }, never, never, true, never>;
1215
+ }
1216
+
1217
+ /**
1218
+ * Interval selector component
1219
+ * Allows user to select "Every X [units]"
1220
+ */
1221
+ declare class AXSchedulerPickerIntervalSelectorComponent {
1222
+ /**
1223
+ * Current interval value
1224
+ */
1225
+ interval: _angular_core.InputSignal<number>;
1226
+ /**
1227
+ * Configuration
1228
+ */
1229
+ config: _angular_core.InputSignal<AXSchedulerPickerSettings>;
1230
+ /**
1231
+ * Emits when interval changes
1232
+ */
1233
+ intervalChange: _angular_core.OutputEmitterRef<number>;
1234
+ /**
1235
+ * Handle interval value change
1236
+ */
1237
+ protected onIntervalChange(value: number): void;
1238
+ /**
1239
+ * Get unit translation key based on mode
1240
+ */
1241
+ protected getUnitKey(): string;
1242
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerIntervalSelectorComponent, never>;
1243
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerIntervalSelectorComponent, "ax-scheduler-picker-interval-selector", never, { "interval": { "alias": "interval"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "intervalChange": "intervalChange"; }, never, never, true, never>;
1244
+ }
1245
+
1246
+ declare class AXSchedulerPickerMonthSelectorComponent {
1247
+ /**
1248
+ * Selected month indices (0-11)
1249
+ */
1250
+ months: _angular_core.InputSignal<number[]>;
1251
+ /**
1252
+ * Emits when month selection changes
1253
+ */
1254
+ monthsChange: _angular_core.OutputEmitterRef<number[]>;
1255
+ protected readonly monthItems: {
1256
+ text: string;
1257
+ id: number;
1258
+ key: string;
1259
+ }[];
1260
+ /**
1261
+ * Handle month selection change
1262
+ */
1263
+ protected onMonthsChange(event: AXValueChangedEvent<number | number[]>): void;
1264
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerMonthSelectorComponent, never>;
1265
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerMonthSelectorComponent, "ax-scheduler-picker-month-selector", never, { "months": { "alias": "months"; "required": false; "isSignal": true; }; }, { "monthsChange": "monthsChange"; }, never, never, true, never>;
1266
+ }
1267
+
1268
+ declare class AXSchedulerPickerOccurrenceSelectorComponent {
1269
+ /**
1270
+ * Current occurrence selection (position + day)
1271
+ */
1272
+ occurrence: _angular_core.InputSignal<AXSchedulerPickerOccurrence>;
1273
+ /**
1274
+ * Emits when occurrence selection changes
1275
+ */
1276
+ occurrenceChange: _angular_core.OutputEmitterRef<AXSchedulerPickerOccurrence>;
1277
+ protected selectedPosition: _angular_core.WritableSignal<1 | 2 | 3 | 4 | -1>;
1278
+ protected selectedDay: _angular_core.WritableSignal<number>;
1279
+ protected readonly positions: {
1280
+ text: string;
1281
+ value: 1 | 2 | 3 | 4 | -1;
1282
+ key: string;
1283
+ }[];
1284
+ protected readonly days: {
1285
+ value: number;
1286
+ text: string;
1287
+ }[];
1288
+ constructor();
1289
+ /**
1290
+ * Handle position selection change
1291
+ */
1292
+ protected onPositionChangeEvent(event: AXValueChangedEvent<1 | 2 | 3 | 4 | -1>): void;
1293
+ /**
1294
+ * Handle day selection change
1295
+ */
1296
+ protected onDayChangeEvent(event: AXValueChangedEvent<number>): void;
1297
+ private emitChange;
1298
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerOccurrenceSelectorComponent, never>;
1299
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerOccurrenceSelectorComponent, "ax-scheduler-picker-occurrence-selector", never, { "occurrence": { "alias": "occurrence"; "required": false; "isSignal": true; }; }, { "occurrenceChange": "occurrenceChange"; }, never, never, true, never>;
1300
+ }
1301
+
1302
+ declare class AXSchedulerPickerTimeSelectorComponent {
1303
+ time: _angular_core.InputSignal<string>;
1304
+ timeChange: _angular_core.OutputEmitterRef<string>;
1305
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerTimeSelectorComponent, never>;
1306
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerTimeSelectorComponent, "ax-scheduler-picker-time-selector", never, { "time": { "alias": "time"; "required": false; "isSignal": true; }; }, { "timeChange": "timeChange"; }, never, never, true, never>;
1307
+ }
1308
+
1309
+ declare class AXSchedulerPickerTimezoneSelectorComponent {
1310
+ /**
1311
+ * Current timezone value
1312
+ */
1313
+ timezone: _angular_core.InputSignal<string>;
1314
+ /**
1315
+ * Emits when timezone selection changes
1316
+ */
1317
+ timezoneChange: _angular_core.OutputEmitterRef<string>;
1318
+ /**
1319
+ * Handle timezone selection change
1320
+ */
1321
+ protected onTimezoneChange(event: AXValueChangedEvent<string>): void;
1322
+ protected timezones: {
1323
+ value: string;
1324
+ text: string;
1325
+ }[];
1326
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerTimezoneSelectorComponent, never>;
1327
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerTimezoneSelectorComponent, "ax-scheduler-picker-timezone-selector", never, { "timezone": { "alias": "timezone"; "required": false; "isSignal": true; }; }, { "timezoneChange": "timezoneChange"; }, never, never, true, never>;
1328
+ }
1329
+
1330
+ /**
1331
+ * Demo configuration panel for scheduler picker
1332
+ * Provides interactive controls to customize scheduler picker settings
1333
+ */
1334
+ declare class AXSchedulerPickerConfigComponent {
1335
+ configChange: _angular_core.OutputEmitterRef<AXSchedulerPickerSettings>;
1336
+ modeChange: _angular_core.OutputEmitterRef<AXSchedulerPickerMode>;
1337
+ selectedMode: _angular_core.WritableSignal<AXSchedulerPickerMode>;
1338
+ modeOptions: {
1339
+ value: string;
1340
+ text: string;
1341
+ }[];
1342
+ showInterval: _angular_core.WritableSignal<boolean>;
1343
+ showStartCondition: _angular_core.WritableSignal<boolean>;
1344
+ showEndConditions: _angular_core.WritableSignal<boolean>;
1345
+ showExclusions: _angular_core.WritableSignal<boolean>;
1346
+ showInclusions: _angular_core.WritableSignal<boolean>;
1347
+ showWeekdaysOnly: _angular_core.WritableSignal<boolean>;
1348
+ showWeekdaySelection: _angular_core.WritableSignal<boolean>;
1349
+ monthlyRecurrenceMode: _angular_core.WritableSignal<"none" | "specificDays" | "occurrence">;
1350
+ yearlyRecurrenceMode: _angular_core.WritableSignal<"none" | "occurrence" | "specificDate">;
1351
+ showMonthSelection: _angular_core.WritableSignal<boolean>;
1352
+ config: _angular_core.Signal<AXSchedulerPickerSettings>;
1353
+ constructor();
1354
+ protected onModeChange(mode: AXSchedulerPickerMode): void;
1355
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerConfigComponent, never>;
1356
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerPickerConfigComponent, "ax-scheduler-picker-config", never, {}, { "configChange": "configChange"; "modeChange": "modeChange"; }, never, never, true, never>;
1357
+ }
1358
+
1359
+ export { AXSchedulerPickerComponent, AXSchedulerPickerConfigComponent, AXSchedulerPickerDailyDefaultConfig, AXSchedulerPickerDailyPanelComponent, AXSchedulerPickerDaySelectorComponent, AXSchedulerPickerEndConditionSelectorComponent, AXSchedulerPickerExclusionManagerComponent, AXSchedulerPickerHourlyDefaultConfig, AXSchedulerPickerHourlyPanelComponent, AXSchedulerPickerInclusionManagerComponent, AXSchedulerPickerIntervalSelectorComponent, AXSchedulerPickerMonthSelectorComponent, AXSchedulerPickerMonthlyDefaultConfig, AXSchedulerPickerMonthlyPanelComponent, AXSchedulerPickerOccurrenceSelectorComponent, AXSchedulerPickerService, AXSchedulerPickerStartConditionSelectorComponent, AXSchedulerPickerTimeSelectorComponent, AXSchedulerPickerTimezoneSelectorComponent, AXSchedulerPickerWeeklyDefaultConfig, AXSchedulerPickerWeeklyPanelComponent, AXSchedulerPickerYearlyDefaultConfig, AXSchedulerPickerYearlyPanelComponent, AX_SCHEDULER_PICKER_DAILY_CONFIG, AX_SCHEDULER_PICKER_DAYS_OF_WEEK, AX_SCHEDULER_PICKER_DAY_TRANSLATION_KEYS, AX_SCHEDULER_PICKER_DEFAULT_FIRST_DAY_OF_WEEK, AX_SCHEDULER_PICKER_DEFAULT_LOCALE, AX_SCHEDULER_PICKER_DEFAULT_OCCURRENCES, AX_SCHEDULER_PICKER_DEFAULT_TIME_FORMAT, AX_SCHEDULER_PICKER_DEFAULT_TIME_PRECISION, AX_SCHEDULER_PICKER_HOURLY_CONFIG, AX_SCHEDULER_PICKER_MONTHLY_CONFIG, AX_SCHEDULER_PICKER_MONTHS, AX_SCHEDULER_PICKER_MONTH_TRANSLATION_KEYS, AX_SCHEDULER_PICKER_OCCURRENCE_POSITIONS, AX_SCHEDULER_PICKER_RRULE_DAY_KEYS, AX_SCHEDULER_PICKER_WEEKDAY_END, AX_SCHEDULER_PICKER_WEEKDAY_START, AX_SCHEDULER_PICKER_WEEKLY_CONFIG, AX_SCHEDULER_PICKER_YEARLY_CONFIG, dateExistsInArray, getDayTranslationKey, getDefaultSchedulerPickerConfig, getMonthTranslationKey, getRRuleDayKey, isSameDate, normalizeDate, reorderDaysByFirstDay };
1360
+ export type { AXSchedulerPickerConfig, AXSchedulerPickerCustomValidator, AXSchedulerPickerDailyConfig, AXSchedulerPickerDailyOptions, AXSchedulerPickerDayOfWeek, AXSchedulerPickerEndCondition, AXSchedulerPickerHourlyConfig, AXSchedulerPickerHourlyOptions, AXSchedulerPickerMode, AXSchedulerPickerMonth, AXSchedulerPickerMonthlyConfig, AXSchedulerPickerMonthlyOptions, AXSchedulerPickerMonthlyRecurrenceMode, AXSchedulerPickerOccurrence, AXSchedulerPickerOccurrencePosition, AXSchedulerPickerOptions, AXSchedulerPickerSettings, AXSchedulerPickerStartCondition, AXSchedulerPickerValidationError, AXSchedulerPickerValidationErrorCode, AXSchedulerPickerValue, AXSchedulerPickerWeeklyConfig, AXSchedulerPickerWeeklyOptions, AXSchedulerPickerYearlyConfig, AXSchedulerPickerYearlyOptions, AXSchedulerPickerYearlyRecurrenceMode };