@acorex/components 21.0.2-next.5 → 21.0.2-next.51

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 (225) hide show
  1. package/conversation2/README.md +5 -8
  2. package/fesm2022/acorex-components-accordion.mjs +29 -29
  3. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  4. package/fesm2022/acorex-components-action-sheet.mjs +30 -30
  5. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  6. package/fesm2022/acorex-components-alert.mjs +16 -16
  7. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  8. package/fesm2022/acorex-components-aspect-ratio.mjs +5 -5
  9. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  10. package/fesm2022/acorex-components-audio-wave.mjs +11 -11
  11. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  12. package/fesm2022/acorex-components-autocomplete.mjs +14 -14
  13. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  14. package/fesm2022/acorex-components-avatar.mjs +17 -16
  15. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  16. package/fesm2022/acorex-components-badge.mjs +9 -9
  17. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  18. package/fesm2022/acorex-components-bottom-navigation.mjs +14 -14
  19. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  20. package/fesm2022/acorex-components-breadcrumbs.mjs +13 -13
  21. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/acorex-components-button-group.mjs +40 -20
  23. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  24. package/fesm2022/acorex-components-button.mjs +35 -36
  25. package/fesm2022/acorex-components-button.mjs.map +1 -1
  26. package/fesm2022/acorex-components-calendar.mjs +256 -54
  27. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  28. package/fesm2022/acorex-components-check-box.mjs +10 -10
  29. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  30. package/fesm2022/acorex-components-chips.mjs +9 -9
  31. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  32. package/fesm2022/acorex-components-circular-progress.mjs +13 -13
  33. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  34. package/fesm2022/acorex-components-code-editor.mjs +27 -27
  35. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  36. package/fesm2022/acorex-components-color-box.mjs +14 -14
  37. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  38. package/fesm2022/acorex-components-color-palette.mjs +84 -43
  39. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  40. package/fesm2022/acorex-components-command.mjs +19 -19
  41. package/fesm2022/acorex-components-command.mjs.map +1 -1
  42. package/fesm2022/acorex-components-comment.mjs +35 -35
  43. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  44. package/fesm2022/acorex-components-conversation.mjs +105 -105
  45. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  46. package/fesm2022/acorex-components-conversation2.mjs +11165 -8111
  47. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  48. package/fesm2022/acorex-components-cron-job.mjs +51 -51
  49. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  50. package/fesm2022/acorex-components-data-list.mjs +31 -31
  51. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  52. package/fesm2022/acorex-components-data-pager.mjs +93 -104
  53. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  54. package/fesm2022/acorex-components-data-table.mjs +69 -57
  55. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  56. package/fesm2022/acorex-components-datetime-box.mjs +174 -39
  57. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  58. package/fesm2022/acorex-components-datetime-input.mjs +30 -38
  59. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  60. package/fesm2022/acorex-components-datetime-picker.mjs +62 -55
  61. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  62. package/fesm2022/acorex-components-decorators.mjs +39 -39
  63. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  64. package/fesm2022/acorex-components-dialog.mjs +19 -26
  65. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  66. package/fesm2022/acorex-components-drawer.mjs +23 -23
  67. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  68. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  69. package/fesm2022/acorex-components-dropdown.mjs +19 -19
  70. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  71. package/fesm2022/acorex-components-editor.mjs +12 -12
  72. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  73. package/fesm2022/acorex-components-fab.mjs +15 -15
  74. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  75. package/fesm2022/acorex-components-flow-chart.mjs +74 -58
  76. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  77. package/fesm2022/acorex-components-form.mjs +30 -30
  78. package/fesm2022/acorex-components-form.mjs.map +1 -1
  79. package/fesm2022/acorex-components-grid-layout-builder.mjs +15 -15
  80. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  81. package/fesm2022/acorex-components-image-editor.mjs +87 -87
  82. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  83. package/fesm2022/acorex-components-image.mjs +11 -11
  84. package/fesm2022/acorex-components-image.mjs.map +1 -1
  85. package/fesm2022/acorex-components-json-viewer.mjs +12 -12
  86. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  87. package/fesm2022/acorex-components-kanban.mjs +23 -23
  88. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  89. package/fesm2022/acorex-components-kbd.mjs +15 -15
  90. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  91. package/fesm2022/acorex-components-label.mjs +9 -9
  92. package/fesm2022/acorex-components-list.mjs +15 -15
  93. package/fesm2022/acorex-components-list.mjs.map +1 -1
  94. package/fesm2022/acorex-components-loading-dialog.mjs +19 -19
  95. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  96. package/fesm2022/acorex-components-loading.mjs +21 -21
  97. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  98. package/fesm2022/acorex-components-map.mjs +46 -46
  99. package/fesm2022/acorex-components-map.mjs.map +1 -1
  100. package/fesm2022/acorex-components-media-viewer.mjs +82 -82
  101. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  102. package/fesm2022/acorex-components-menu.mjs +366 -197
  103. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  104. package/fesm2022/{acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs → acorex-components-modal-acorex-components-modal-JpPBSiVh.mjs} +28 -28
  105. package/fesm2022/{acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs.map → acorex-components-modal-acorex-components-modal-JpPBSiVh.mjs.map} +1 -1
  106. package/fesm2022/{acorex-components-modal-modal-content.component-DTZu2zbU.mjs → acorex-components-modal-modal-content.component-DKweXQfl.mjs} +39 -39
  107. package/fesm2022/acorex-components-modal-modal-content.component-DKweXQfl.mjs.map +1 -0
  108. package/fesm2022/acorex-components-modal.mjs +1 -1
  109. package/fesm2022/acorex-components-navbar.mjs +8 -8
  110. package/fesm2022/acorex-components-notification.mjs +28 -28
  111. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  112. package/fesm2022/acorex-components-number-box.mjs +61 -23
  113. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  114. package/fesm2022/acorex-components-otp.mjs +45 -21
  115. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  116. package/fesm2022/acorex-components-page.mjs +10 -10
  117. package/fesm2022/acorex-components-paint.mjs +53 -53
  118. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  119. package/fesm2022/acorex-components-password-box.mjs +28 -28
  120. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  121. package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
  122. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  123. package/fesm2022/acorex-components-phone-box.mjs +19 -19
  124. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  125. package/fesm2022/acorex-components-picker.mjs +31 -31
  126. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  127. package/fesm2022/acorex-components-popover.mjs +11 -11
  128. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  129. package/fesm2022/acorex-components-popup.mjs +48 -24
  130. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  131. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  132. package/fesm2022/acorex-components-qrcode.mjs +37 -20
  133. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  134. package/fesm2022/acorex-components-query-builder.mjs +15 -14
  135. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  136. package/fesm2022/acorex-components-radio.mjs +9 -9
  137. package/fesm2022/acorex-components-rail-navigation.mjs +28 -28
  138. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  139. package/fesm2022/acorex-components-range-slider.mjs +34 -34
  140. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  141. package/fesm2022/acorex-components-rate-picker.mjs +17 -17
  142. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  143. package/fesm2022/acorex-components-rest-api-generator.mjs +33 -33
  144. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  145. package/fesm2022/acorex-components-result.mjs +8 -8
  146. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  147. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  148. package/fesm2022/acorex-components-rrule.mjs +36 -36
  149. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  150. package/fesm2022/acorex-components-scheduler-picker.mjs +118 -118
  151. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  152. package/fesm2022/acorex-components-scheduler.mjs +398 -326
  153. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  154. package/fesm2022/acorex-components-search-box.mjs +9 -9
  155. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  156. package/fesm2022/acorex-components-select-box.mjs +22 -22
  157. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  158. package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
  159. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  160. package/fesm2022/acorex-components-selection-list.mjs +11 -11
  161. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  162. package/fesm2022/acorex-components-side-menu.mjs +455 -97
  163. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  164. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  165. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/acorex-components-slider.mjs +7 -7
  167. package/fesm2022/acorex-components-sliding-item.mjs +25 -25
  168. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  169. package/fesm2022/acorex-components-step-wizard.mjs +40 -39
  170. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  171. package/fesm2022/acorex-components-switch.mjs +12 -12
  172. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  173. package/fesm2022/acorex-components-tabs.mjs +20 -20
  174. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  175. package/fesm2022/acorex-components-tag-box.mjs +19 -19
  176. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  177. package/fesm2022/acorex-components-tag.mjs +8 -8
  178. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  179. package/fesm2022/acorex-components-text-area.mjs +9 -9
  180. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  181. package/fesm2022/acorex-components-text-box.mjs +12 -12
  182. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  183. package/fesm2022/acorex-components-time-duration.mjs +34 -32
  184. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  185. package/fesm2022/acorex-components-time-line.mjs +19 -19
  186. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  187. package/fesm2022/acorex-components-toast.mjs +26 -26
  188. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  189. package/fesm2022/acorex-components-toolbar.mjs +13 -13
  190. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  191. package/fesm2022/acorex-components-tooltip.mjs +27 -18
  192. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  193. package/fesm2022/acorex-components-tree-view.mjs +326 -67
  194. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  195. package/fesm2022/acorex-components-uploader.mjs +17 -17
  196. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  197. package/fesm2022/acorex-components-video-player.mjs +8 -8
  198. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  199. package/fesm2022/acorex-components-wysiwyg.mjs +60 -53
  200. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  201. package/package.json +5 -4
  202. package/types/acorex-components-button-group.d.ts +9 -3
  203. package/types/acorex-components-button.d.ts +2 -8
  204. package/types/acorex-components-calendar.d.ts +138 -27
  205. package/types/acorex-components-color-palette.d.ts +2 -0
  206. package/types/acorex-components-conversation2.d.ts +1296 -1256
  207. package/types/acorex-components-data-pager.d.ts +6 -25
  208. package/types/acorex-components-data-table.d.ts +12 -2
  209. package/types/acorex-components-datetime-box.d.ts +79 -8
  210. package/types/acorex-components-datetime-input.d.ts +2 -2
  211. package/types/acorex-components-datetime-picker.d.ts +15 -5
  212. package/types/acorex-components-flow-chart.d.ts +4 -0
  213. package/types/acorex-components-menu.d.ts +105 -36
  214. package/types/acorex-components-number-box.d.ts +9 -0
  215. package/types/acorex-components-otp.d.ts +18 -1
  216. package/types/acorex-components-popup.d.ts +11 -1
  217. package/types/acorex-components-qrcode.d.ts +1 -0
  218. package/types/acorex-components-query-builder.d.ts +1 -1
  219. package/types/acorex-components-scheduler.d.ts +23 -2
  220. package/types/acorex-components-side-menu.d.ts +96 -34
  221. package/types/acorex-components-step-wizard.d.ts +2 -1
  222. package/types/acorex-components-time-duration.d.ts +1 -0
  223. package/types/acorex-components-tree-view.d.ts +43 -2
  224. package/types/acorex-components-wysiwyg.d.ts +6 -1
  225. package/fesm2022/acorex-components-modal-modal-content.component-DTZu2zbU.mjs.map +0 -1
@@ -1,16 +1,27 @@
1
1
  import { AXRangeChangedEvent, AXItemClickEvent, MXBaseComponent, MXValueComponent, MXInteractiveComponent, AXRippleDirective, AXValuableComponent, AXComponent } from '@acorex/cdk/common';
2
2
  import { AXCalendarService, AXDateTimeRange } from '@acorex/core/date-time';
3
- import * as i1 from '@acorex/core/format';
3
+ import * as i2 from '@acorex/core/format';
4
4
  import { AXFormatService, AXFormatModule } from '@acorex/core/format';
5
5
  import { AXUnsubscriber } from '@acorex/core/utils';
6
6
  import * as i0 from '@angular/core';
7
- import { inject, EventEmitter, Input, Output, Injectable, input, linkedSignal, signal, forwardRef, HostListener, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, ViewChild, NgModule } from '@angular/core';
8
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
+ import { inject, EventEmitter, Input, Output, Injectable, input, linkedSignal, computed, signal, effect, forwardRef, HostListener, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, ViewChild, NgModule } from '@angular/core';
8
+ import * as i1 from '@angular/forms';
9
+ import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
9
10
  import { classes } from 'polytype';
10
11
  import { AXLocaleService } from '@acorex/core/locale';
11
12
  import { AXTranslationService, AXTranslatorPipe } from '@acorex/core/translation';
13
+ import { AXSelectBoxComponent } from '@acorex/components/select-box';
14
+ import { AXTooltipDirective } from '@acorex/components/tooltip';
12
15
  import { isPlatformBrowser, NgClass, NgTemplateOutlet, AsyncPipe } from '@angular/common';
13
16
 
17
+ function getCalendarYearBounds(options) {
18
+ const past = typeof options.yearRange === 'number' ? options.yearRange : options.yearRange.past;
19
+ const future = typeof options.yearRange === 'number' ? options.yearRange : options.yearRange.future;
20
+ return {
21
+ minYear: options.minValue ? options.getYear(options.minValue) : options.referenceYear - past,
22
+ maxYear: options.maxValue ? options.getYear(options.maxValue) : options.referenceYear + future,
23
+ };
24
+ }
14
25
  /**
15
26
  * Contains native event
16
27
  * @category Events
@@ -148,10 +159,10 @@ class MXCalendarBaseComponent extends MXBaseComponent {
148
159
  this.setOption({ name: 'holidayDates', value: v });
149
160
  }
150
161
  render() { }
151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MXCalendarBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
152
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MXCalendarBaseComponent }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MXCalendarBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
163
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MXCalendarBaseComponent }); }
153
164
  }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MXCalendarBaseComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MXCalendarBaseComponent, decorators: [{
155
166
  type: Injectable
156
167
  }], propDecorators: { interface: [{
157
168
  type: Input
@@ -222,17 +233,25 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
222
233
  ? new AXDateTimeRange(this.views[0]?.range.startTime, this.views[this.views.length - 1]?.range.endTime)
223
234
  : null;
224
235
  }
236
+ #holidayEffect;
225
237
  /**
226
238
  * @ignore
227
239
  */
228
240
  _initValues() {
229
241
  this._today = this.calendarService.create(new Date(), this.calendar());
230
- if (this.weekdays().length) {
231
- this._weekdays = this.weekdays();
232
- }
233
- else {
234
- this._weekdays = this._today.calendar.weekdays;
235
- }
242
+ }
243
+ /**
244
+ * Maps a date to a 1-based grid column using the active week layout.
245
+ */
246
+ _getWeekColumn(date) {
247
+ const columnIndex = this.weekLayout().indexOf(date.weekdayIndex);
248
+ return columnIndex >= 0 ? columnIndex + 1 : date.dayOfWeek;
249
+ }
250
+ /**
251
+ * Defers refresh so parent `type` input can sync after locale profile changes.
252
+ */
253
+ _scheduleRefresh() {
254
+ queueMicrotask(() => this._refresh());
236
255
  }
237
256
  /**
238
257
  * @ignore
@@ -248,9 +267,36 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
248
267
  const unsubscriber = inject(AXUnsubscriber);
249
268
  super();
250
269
  this.formatService = inject(AXFormatService);
251
- this.weekend = input([], ...(ngDevMode ? [{ debugName: "weekend" }] : []));
252
- this.weekdays = input([], ...(ngDevMode ? [{ debugName: "weekdays" }] : []));
253
- this.calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system, ...(ngDevMode ? [{ debugName: "calendar" }] : []));
270
+ this.weekend = input([], ...(ngDevMode ? [{ debugName: "weekend" }] : /* istanbul ignore next */ []));
271
+ this.weekdays = input([], ...(ngDevMode ? [{ debugName: "weekdays" }] : /* istanbul ignore next */ []));
272
+ /**
273
+ * Day view navigation style.
274
+ * - `classic`: tap year/month labels to open month/year picker panels.
275
+ * - `select`: month/year dropdowns with prev/next arrows on the edges.
276
+ */
277
+ this.look = input('select', ...(ngDevMode ? [{ debugName: "look" }] : /* istanbul ignore next */ []));
278
+ /**
279
+ * Years shown in the year selector when `look` is `select`.
280
+ * Use a number for equal past/future ranges, or `{ past, future }` for asymmetric ranges.
281
+ * `minValue` and `maxValue` take priority when set.
282
+ */
283
+ this.yearRange = input(80, ...(ngDevMode ? [{ debugName: "yearRange" }] : /* istanbul ignore next */ []));
284
+ /**
285
+ * Optional loader for holidays scoped to the visible calendar range.
286
+ * Merged with holidays from `AX_DATETIME_HOLIDAYS_LOADER` via `AXCalendarService`.
287
+ */
288
+ this.holidays = input(...(ngDevMode ? [undefined, { debugName: "holidays" }] : /* istanbul ignore next */ []));
289
+ this.isRtl = this.localeService.isRtl;
290
+ this.calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system, ...(ngDevMode ? [{ debugName: "calendar" }] : /* istanbul ignore next */ []));
291
+ /** Week column order from the active locale profile (0 = Sun … 6 = Sat). */
292
+ this.weekLayout = computed(() => {
293
+ const custom = this.weekdays();
294
+ if (custom.length) {
295
+ return custom;
296
+ }
297
+ const startsOn = this.localeService.activeProfile().calendar.week.startsOn;
298
+ return Array.from({ length: 7 }, (_, i) => (startsOn + i) % 7);
299
+ }, ...(ngDevMode ? [{ debugName: "weekLayout" }] : /* istanbul ignore next */ []));
254
300
  /**
255
301
  * @ignore
256
302
  */
@@ -274,18 +320,59 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
274
320
  /**
275
321
  * @ignore
276
322
  */
277
- this._weekdays = [];
323
+ this._monthOptions = [];
324
+ /**
325
+ * @ignore
326
+ */
327
+ this._yearOptions = [];
328
+ /**
329
+ * Full option objects for select-box bindings so labels render without async byKey lookups.
330
+ * @ignore
331
+ */
332
+ this._selectedMonthOption = null;
333
+ /**
334
+ * @ignore
335
+ */
336
+ this._selectedYearOption = null;
278
337
  /**
279
338
  * @ignore
280
339
  */
281
- this.oldValue = signal(null, ...(ngDevMode ? [{ debugName: "oldValue" }] : []));
340
+ this.oldValue = signal(null, ...(ngDevMode ? [{ debugName: "oldValue" }] : /* istanbul ignore next */ []));
341
+ this.internalHoliday = signal([], ...(ngDevMode ? [{ debugName: "internalHoliday" }] : /* istanbul ignore next */ []));
342
+ this._viewRangeKey = signal(null, ...(ngDevMode ? [{ debugName: "_viewRangeKey" }] : /* istanbul ignore next */ []));
343
+ this.#holidayEffect = effect(() => {
344
+ const func = this.holidays();
345
+ const rangeKey = this._viewRangeKey();
346
+ if (!func || !rangeKey || !this._viewStartDate)
347
+ return;
348
+ const displayRange = this._setDisplayRange(this._viewStartDate);
349
+ const loadRange = {
350
+ from: displayRange.startTime.date,
351
+ end: displayRange.endTime.date,
352
+ };
353
+ const result = func(loadRange);
354
+ if (result instanceof Promise) {
355
+ result.then((holidays) => {
356
+ this.internalHoliday.set(holidays);
357
+ this.render();
358
+ });
359
+ }
360
+ else {
361
+ this.internalHoliday.set(result);
362
+ this.render();
363
+ }
364
+ }, ...(ngDevMode ? [{ debugName: "#holidayEffect" }] : /* istanbul ignore next */ []));
282
365
  this.calendarService.onHolidaysChanged.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {
283
366
  this.render();
284
367
  });
285
368
  this.calendarService.calendarChanges$.pipe(unsubscriber.takeUntilDestroy).subscribe((value) => {
286
369
  if (!this.type)
287
370
  this.calendar.set(value.name());
288
- this._refresh();
371
+ this._scheduleRefresh();
372
+ });
373
+ this.localeService.profileChanged$.pipe(unsubscriber.takeUntilDestroy).subscribe((profile) => {
374
+ this.calendar.set(profile.calendar.system);
375
+ this._scheduleRefresh();
289
376
  });
290
377
  this.typeChange.pipe(unsubscriber.takeUntilDestroy).subscribe((value) => {
291
378
  this.calendar.set(value);
@@ -303,18 +390,16 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
303
390
  ngOnInit() {
304
391
  super.ngOnInit();
305
392
  this._initValues();
306
- }
307
- /**
308
- * @ignore
309
- */
310
- ngAfterViewInit() {
311
- if (!this.value) {
312
- if (this.minValue && this._viewStartDate.isBefore(this.minValue)) {
313
- this._viewStartDate = this.calendarService.create(this.minValue, this.calendar());
314
- this.render();
393
+ if (!this._viewStartDate) {
394
+ if (this.value) {
395
+ this.navTo(this.value);
396
+ }
397
+ else if (this.minValue) {
398
+ const min = this.calendarService.create(this.minValue, this.calendar());
399
+ this.navTo(this._today.isBefore(min) ? this.minValue : this._today);
315
400
  }
316
401
  else {
317
- this.goToday();
402
+ this.navTo(this._today);
318
403
  }
319
404
  }
320
405
  }
@@ -324,6 +409,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
324
409
  render() {
325
410
  if (!this._viewStartDate)
326
411
  return;
412
+ this._viewRangeKey.set(`${this._viewStartDate.year}-${this._viewStartDate.monthOfYear}-${this.activeView}`);
327
413
  const applyCellClass = (slot, cellClass = this.cellClass) => {
328
414
  switch (typeof cellClass) {
329
415
  case 'string':
@@ -351,8 +437,84 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
351
437
  break;
352
438
  }
353
439
  }
440
+ this._updateSelectOptions();
354
441
  this.cdr.markForCheck();
355
442
  }
443
+ /**
444
+ * @ignore
445
+ */
446
+ _updateSelectOptions() {
447
+ if (!this._viewStartDate)
448
+ return;
449
+ this._monthOptions = Array.from({ length: 12 }, (_, i) => {
450
+ const date = this._viewStartDate.set('month', i + 1);
451
+ return {
452
+ id: i + 1,
453
+ text: `@acorex:${this.getMonthName(date, 'short')}`,
454
+ };
455
+ });
456
+ const referenceYear = this._today.year;
457
+ const { minYear, maxYear } = getCalendarYearBounds({
458
+ referenceYear,
459
+ yearRange: this.yearRange(),
460
+ minValue: this.minValue,
461
+ maxValue: this.maxValue,
462
+ getYear: (date) => this.calendarService.create(date, this.calendar()).year,
463
+ });
464
+ this._yearOptions = [];
465
+ for (let year = minYear; year <= maxYear; year++) {
466
+ this._yearOptions.push({ id: year, text: String(year) });
467
+ }
468
+ const monthId = this._viewStartDate.monthOfYear;
469
+ const yearId = this._viewStartDate.year;
470
+ this._selectedMonthOption =
471
+ this._monthOptions.find((month) => month.id === monthId) ?? {
472
+ id: monthId,
473
+ text: `@acorex:${this.getMonthName(this._viewStartDate, 'short')}`,
474
+ };
475
+ this._selectedYearOption =
476
+ this._yearOptions.find((year) => year.id === yearId) ?? {
477
+ id: yearId,
478
+ text: String(yearId),
479
+ };
480
+ }
481
+ /**
482
+ * @ignore
483
+ */
484
+ _handleMonthSelectChanged(e) {
485
+ if (!e.isUserInteraction || !this._viewStartDate)
486
+ return;
487
+ const month = this._getSelectBoxValue(e);
488
+ if (month == null)
489
+ return;
490
+ this._navUserInteraction = true;
491
+ this.navTo(this._viewStartDate.set('month', month));
492
+ this._navUserInteraction = false;
493
+ }
494
+ /**
495
+ * @ignore
496
+ */
497
+ _handleYearSelectChanged(e) {
498
+ if (!e.isUserInteraction || !this._viewStartDate)
499
+ return;
500
+ const year = this._getSelectBoxValue(e);
501
+ if (year == null)
502
+ return;
503
+ this._navUserInteraction = true;
504
+ this.navTo(this._viewStartDate.set('year', year));
505
+ this._navUserInteraction = false;
506
+ }
507
+ /**
508
+ * @ignore
509
+ */
510
+ _getSelectBoxValue(e) {
511
+ const val = e.value;
512
+ if (Array.isArray(val))
513
+ return val[0]?.id ?? null;
514
+ if (val && typeof val === 'object')
515
+ return val.id ?? null;
516
+ return val != null ? Number(val) : null;
517
+ }
356
518
  /**
357
519
  * @ignore
358
520
  */
@@ -405,7 +567,13 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
405
567
  r.text = d.dayOfMonth;
406
568
  r.today = d.equal(this._today, 'day');
407
569
  r.selected = selected;
570
+ const holidayInfo = this.getHoliday(d);
408
571
  r.holiday = this.isHoliday(d) || this.isWeekend(d);
572
+ if (holidayInfo) {
573
+ r.holidayTitle = holidayInfo.title;
574
+ r.holidayColor = holidayInfo.color;
575
+ r.tooltip = holidayInfo.title ?? '';
576
+ }
409
577
  r.disabled =
410
578
  (this.minValue && d.compare(this.minValue, 'day') == -1) ||
411
579
  (this.maxValue && d.compare(this.maxValue, 'day') == 1) ||
@@ -425,9 +593,15 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
425
593
  'ax-state-holiday': r.holiday,
426
594
  // 'ax-state-focused': focused,
427
595
  };
596
+ if (holidayInfo?.cssClass) {
597
+ holidayInfo.cssClass.split(' ').forEach((c) => {
598
+ if (c)
599
+ r.cssClass[c] = true;
600
+ });
601
+ }
428
602
  }
429
603
  // ax-col-start-1 ax-col-start-2 ax-col-start-3 ax-col-start-4 ax-col-start-5 ax-col-start-6 ax-col-start-7
430
- r.cssClass[`ax-column-start-${view.range.startTime.dayOfWeek}`] = i == 0;
604
+ r.cssClass[`ax-column-start-${this._getWeekColumn(view.range.startTime)}`] = i == 0;
431
605
  if (this.cellClass)
432
606
  applyCellClass(r);
433
607
  return r;
@@ -743,6 +917,7 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
743
917
  const _classes = {
744
918
  'ax-state-disabled': this.disabled,
745
919
  'ax-state-readonly': this.readonly,
920
+ [`ax-look-${this.look()}`]: true,
746
921
  };
747
922
  return Object.entries(_classes)
748
923
  .filter((c) => c[1])
@@ -773,25 +948,34 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
773
948
  * @ignore
774
949
  */
775
950
  isHoliday(date) {
776
- const gh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));
777
- let dh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));
951
+ const globalHolidays = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));
952
+ const internalHolidays = this.internalHoliday().some((d) => date.equal(d.date, 'day'));
953
+ let localHolidays = false;
778
954
  if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {
779
- dh = this.holidayDates.some((d) => date.equal(d, 'day'));
955
+ localHolidays = this.holidayDates.some((d) => date.equal(d, 'day'));
780
956
  }
781
957
  else if (typeof this.holidayDates == 'function') {
782
- dh = this.holidayDates(date.date);
958
+ localHolidays = this.holidayDates(date.date);
783
959
  }
784
- return gh || dh;
960
+ return globalHolidays || internalHolidays || localHolidays;
961
+ }
962
+ /**
963
+ * @ignore
964
+ */
965
+ getHoliday(date) {
966
+ const globalHoliday = this.calendarService.holidays.find((d) => date.equal(d.date, 'day'));
967
+ const internalHoliday = this.internalHoliday().find((d) => date.equal(d.date, 'day'));
968
+ return globalHoliday || internalHoliday;
785
969
  }
786
970
  /**
787
971
  * @ignore
788
972
  */
789
973
  isWeekend(date) {
790
974
  if (this.weekend().length) {
791
- return this.weekend().includes(date.dayOfWeek - 1);
975
+ return this.weekend().includes(date.weekdayIndex);
792
976
  }
793
977
  const weekend = this.calendarService.resolveCalendar(this.calendar()).weekend;
794
- return weekend.includes(date.dayOfWeek - 1);
978
+ return weekend.includes(date.weekdayIndex);
795
979
  }
796
980
  /**
797
981
  * @ignore
@@ -827,8 +1011,8 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
827
1011
  getMonthName(date, style) {
828
1012
  return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;
829
1013
  }
830
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
831
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXCalendarComponent, isStandalone: true, selector: "ax-calendar", inputs: { rtl: { classPropertyName: "rtl", publicName: "rtl", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: "activeView", publicName: "activeView", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: "holidayDates", publicName: "holidayDates", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, dayCellTemplate: { classPropertyName: "dayCellTemplate", publicName: "dayCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, monthCellTemplate: { classPropertyName: "monthCellTemplate", publicName: "monthCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, yearCellTemplate: { classPropertyName: "yearCellTemplate", publicName: "yearCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, cellClass: { classPropertyName: "cellClass", publicName: "cellClass", isSignal: false, isRequired: false, transformFunction: null }, showNavigation: { classPropertyName: "showNavigation", publicName: "showNavigation", isSignal: false, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, weekend: { classPropertyName: "weekend", publicName: "weekend", isSignal: true, isRequired: false, transformFunction: null }, weekdays: { classPropertyName: "weekdays", publicName: "weekdays", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", minValueChange: "minValueChange", maxValueChange: "maxValueChange", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick", countChange: "countChange" }, host: { listeners: { "keydown": "_handleOnKeydownEvent($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
1014
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1015
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXCalendarComponent, isStandalone: true, selector: "ax-calendar", inputs: { rtl: { classPropertyName: "rtl", publicName: "rtl", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: "activeView", publicName: "activeView", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: "holidayDates", publicName: "holidayDates", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, dayCellTemplate: { classPropertyName: "dayCellTemplate", publicName: "dayCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, monthCellTemplate: { classPropertyName: "monthCellTemplate", publicName: "monthCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, yearCellTemplate: { classPropertyName: "yearCellTemplate", publicName: "yearCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, cellClass: { classPropertyName: "cellClass", publicName: "cellClass", isSignal: false, isRequired: false, transformFunction: null }, showNavigation: { classPropertyName: "showNavigation", publicName: "showNavigation", isSignal: false, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, weekend: { classPropertyName: "weekend", publicName: "weekend", isSignal: true, isRequired: false, transformFunction: null }, weekdays: { classPropertyName: "weekdays", publicName: "weekdays", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, yearRange: { classPropertyName: "yearRange", publicName: "yearRange", isSignal: true, isRequired: false, transformFunction: null }, holidays: { classPropertyName: "holidays", publicName: "holidays", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", minValueChange: "minValueChange", maxValueChange: "maxValueChange", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick", countChange: "countChange" }, host: { listeners: { "keydown": "_handleOnKeydownEvent($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
832
1016
  {
833
1017
  provide: NG_VALUE_ACCESSOR,
834
1018
  useExisting: forwardRef(() => AXCalendarComponent),
@@ -840,9 +1024,9 @@ class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveCompo
840
1024
  },
841
1025
  AXUnsubscriber,
842
1026
  { provide: AXComponent, useExisting: AXCalendarComponent },
843
- ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !yearCellTemplate }\">\n @for (slot of v.slots; track slot.text) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (yearCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"yearCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !monthCellTemplate }\">\n @for (slot of v.slots; track slot) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (monthCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"monthCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\">\n {{ `@acorex:${getMonthName(slot.date, 'short')}` | translate | async }}\n </div>\n }\n </button>\n }\n </div>\n }\n @default {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n <!-- {{ getMonthName(v.range.startTime, 'long') | translate | async }} -->\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n @for (d of _weekdays; track d) {\n <div>{{ '@acorex:dateTime.weekdays.short.' + d | translate | async }}</div>\n }\n </div>\n\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !dayCellTemplate }\">\n @for (slot of v.slots; track slot) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n >\n @if (dayCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"dayCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async\">\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}html[dir=rtl] ax-calendar .ax-calendar-header-buttons .ax-icon{transform:scaleX(-1)}@layer components{ax-calendar{background-color:var(--color-lightest);width:100%;color:var(--color-on-lightest);border-color:var(--color-border-lightest);display:block}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:.5}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{padding-inline:calc(var(--spacing,.25rem) * 1);padding-top:calc(var(--spacing,.25rem) * 1);justify-content:space-between;display:flex}ax-calendar .ax-calendar-header .ax-calendar-header-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{align-items:center;display:flex}ax-calendar .ax-calendar-body{flex-direction:column;justify-content:center;align-items:center;display:flex}@media(min-width:48rem){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{flex:1;width:100%}@media(min-width:48rem){ax-calendar .ax-calendar-body>div{width:calc(var(--spacing,.25rem) * 80)}}ax-calendar .ax-calendar-body .ax-calendar-view-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing,.25rem) * 4);justify-content:space-between;display:flex}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{align-items:center;display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{gap:calc(var(--spacing,.25rem) * 1);padding:calc(var(--spacing,.25rem) * 4);display:grid}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{cursor:pointer;border-radius:var(--ax-sys-border-radius);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));justify-content:center;align-items:center;display:flex;position:relative}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color:color-mix(in oklab, rgba(var(--ax-sys-color-primary-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-outline-style:none;outline-style:none}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:#0000004d}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color:color-mix(in oklab, var(--color-black,#000) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *){--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *){--tw-ring-color:color-mix(in oklab, var(--color-white,#fff) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:.7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.05}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{--tw-inset-ring-shadow:inset 0 0 0 2px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-inset-ring-color:rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday{border-color:rgba(var(--ax-sys-color-danger-600))!important;--tw-inset-ring-color:rgba(var(--ax-sys-color-danger-600))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{--tw-ring-color:color-mix(in oklab, rgba(var(--ax-sys-color-primary-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{--tw-outline-style:none;outline-style:none}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday{background-color:var(--color-danger)!important;color:var(--color-on-danger)!important;border-color:var(--color-border-danger)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-600))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holidayax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:hover:not(.ax-state-disabled){background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday .ax-ripple{background-color:rgba(var(--ax-sys-color-on-danger-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-on-danger-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{padding-inline:calc(var(--spacing,.25rem) * 2);padding-top:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}ax-calendar .ax-calendar-body .ax-calendar-week>div{cursor:pointer;text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));justify-content:center;display:flex;position:relative}ax-calendar .ax-calendar-footer{margin-top:calc(var(--spacing,.25rem) * 4);justify-content:center;align-items:center;display:flex}}.ax-calendar-picker{width:100%;display:flex}.ax-calendar-picker ax-picker{flex:1}.ax-overlay-pane ax-calendar{--tw-border-style:none;border-style:none}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1027
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !yearCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (yearCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"yearCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !monthCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (monthCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"monthCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\">\n {{ `@acorex:${getMonthName(slot.date, 'short')}` | translate | async }}\n </div>\n }\n </button>\n }\n </div>\n }\n @default {\n @if (showNavigation && look() === 'select' && last) {\n <div class=\"ax-calendar-view-header ax-calendar-day-nav\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-prev\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-day-nav-center\">\n <ax-select-box\n class=\"ax-calendar-month-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_monthOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedMonthOption\"\n [maxVisibleItems]=\"12\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleMonthSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n <ax-select-box\n class=\"ax-calendar-year-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_yearOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedYearOption\"\n [maxVisibleItems]=\"10\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleYearSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-next\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n @if (showNavigation && look() === 'classic') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n @for (d of weekLayout(); track d) {\n <div>{{ '@acorex:dateTime.weekdays.short.' + d | translate | async }}</div>\n }\n </div>\n\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !dayCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-has-holiday-color]=\"!!slot.holidayColor\"\n [style.--ax-calendar-holiday-color]=\"slot.holidayColor ?? null\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n [axTooltip]=\"slot.tooltip ?? ''\"\n [axTooltipDisabled]=\"!slot.tooltip\"\n [title]=\"\n !slot.tooltip ? (slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async) : ''\n \"\n >\n @if (dayCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"dayCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div class=\"ax-calendar-day-slot-content\">\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}html[dir=rtl] ax-calendar .ax-calendar-header-buttons .ax-icon{transform:scaleX(-1)}@layer components{ax-calendar{background-color:var(--color-lightest);width:100%;color:var(--color-on-lightest);border-color:var(--color-border-lightest);display:block}ax-calendar ax-popover{display:none}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:.5}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{padding-inline:var(--spacing,.25rem);padding-top:var(--spacing,.25rem);justify-content:space-between;display:flex}ax-calendar .ax-calendar-header .ax-calendar-header-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{align-items:center;display:flex}ax-calendar .ax-calendar-body{flex-direction:column;justify-content:center;align-items:center;display:flex}@media(min-width:48rem){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{flex:1;width:100%}@media(min-width:48rem){ax-calendar .ax-calendar-body>div{width:calc(var(--spacing,.25rem) * 80)}}ax-calendar .ax-calendar-body .ax-calendar-view-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing,.25rem) * 4);justify-content:space-between;display:flex}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{align-items:center;display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{gap:var(--spacing,.25rem);padding:calc(var(--spacing,.25rem) * 4);display:grid}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{cursor:pointer;border-radius:var(--ax-sys-border-radius);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));justify-content:center;align-items:center;display:flex;position:relative}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-holiday){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color:color-mix(in oklab, rgba(var(--ax-sys-color-primary-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-outline-style:none;outline-style:none}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:#0000004d}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color:color-mix(in oklab, var(--color-black,#000) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *){--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *){--tw-ring-color:color-mix(in oklab, var(--color-white,#fff) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:.7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.05}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{--tw-inset-ring-shadow:inset 0 0 0 2px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-inset-ring-color:rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday:not(.ax-has-holiday-color){border-color:rgba(var(--ax-sys-color-danger-600))!important;--tw-inset-ring-color:rgba(var(--ax-sys-color-danger-600))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color{border-color:var(--ax-calendar-holiday-color)!important;--tw-inset-ring-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color:not(.ax-state-selected){color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color){background-color:var(--color-danger)!important;color:var(--color-on-danger)!important;border-color:var(--color-border-danger)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color){color:rgba(var(--ax-sys-color-danger-600))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color):hover:not(.ax-state-disabled,.ax-state-selected){background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple{background-color:rgba(var(--ax-sys-color-on-danger-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-on-danger-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color{color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){color:var(--ax-calendar-holiday-color)!important;background-color:var(--ax-calendar-holiday-color)!important}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 14%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){border-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected{color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){border-color:var(--ax-calendar-holiday-color)!important}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){border-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-ripple{background-color:var(--ax-calendar-holiday-color)!important}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-ripple{background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 30%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-calendar-day-slot-content{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{padding-top:var(--ax-comp-calendar-week-padding-t,.75rem);padding-left:var(--ax-comp-calendar-week-padding-x,.5rem);padding-right:var(--ax-comp-calendar-week-padding-x,.5rem);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}ax-calendar .ax-calendar-body .ax-calendar-week>div{cursor:pointer;text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));justify-content:center;align-items:center;display:flex;position:relative}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav{align-items:center;gap:var(--spacing,.25rem);grid-template-columns:auto 1fr auto;display:grid}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-icon{font-size:.875rem}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-prev{justify-self:start}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-center{justify-content:center;align-items:center;gap:var(--spacing,.25rem);display:flex}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-next{justify-self:end}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select{flex:none;width:auto;display:inline-block}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-icon{font-size:.75rem}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-editor-container{gap:0}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) ax-dropdown-box.ax-editor-container{justify-content:flex-start;width:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container{flex:none;width:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container .ax-chips{text-overflow:unset;overflow:visible}ax-calendar .ax-calendar-footer{margin-top:var(--ax-comp-calendar-footer-margin-t);justify-content:center;align-items:center;display:flex}ax-calendar .ax-calendar-footer .ax-today-button{cursor:pointer;text-align:center;width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));padding-left:var(--ax-comp-calendar-footer-today-button-padding-x);padding-right:var(--ax-comp-calendar-footer-today-button-padding-x);height:var(--ax-comp-calendar-footer-today-button-height);border-radius:var(--ax-comp-calendar-footer-today-button-border-radius,var(--ax-sys-border-radius));color:rgba(var(--ax-comp-calendar-footer-today-button-text-color));background-color:rgba(var(--ax-comp-calendar-footer-today-button-bg-color));display:block}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-calendar-slot-disabled-opacity)}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}ax-calendar .ax-calendar-footer .ax-today-buttonax-calendar .ax-calendar-footer .ax-today-button:hover:not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-footer-today-button-hover-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-comp-calendar-footer-today-button-focused-outline-color))}}.ax-calendar-picker{width:100%;display:flex}.ax-calendar-picker ax-picker{flex:1}.ax-overlay-pane ax-calendar{--tw-border-style:none;border-style:none}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i2.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
844
1028
  }
845
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCalendarComponent, decorators: [{
1029
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCalendarComponent, decorators: [{
846
1030
  type: Component,
847
1031
  args: [{ selector: 'ax-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: [
848
1032
  'rtl',
@@ -893,8 +1077,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
893
1077
  },
894
1078
  AXUnsubscriber,
895
1079
  { provide: AXComponent, useExisting: AXCalendarComponent },
896
- ], imports: [NgClass, NgTemplateOutlet, AXRippleDirective, AsyncPipe, AXTranslatorPipe, AXFormatModule], template: "<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !yearCellTemplate }\">\n @for (slot of v.slots; track slot.text) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (yearCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"yearCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !monthCellTemplate }\">\n @for (slot of v.slots; track slot) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (monthCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"monthCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\">\n {{ `@acorex:${getMonthName(slot.date, 'short')}` | translate | async }}\n </div>\n }\n </button>\n }\n </div>\n }\n @default {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n <!-- {{ getMonthName(v.range.startTime, 'long') | translate | async }} -->\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n @for (d of _weekdays; track d) {\n <div>{{ '@acorex:dateTime.weekdays.short.' + d | translate | async }}</div>\n }\n </div>\n\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !dayCellTemplate }\">\n @for (slot of v.slots; track slot) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n >\n @if (dayCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"dayCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async\">\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}html[dir=rtl] ax-calendar .ax-calendar-header-buttons .ax-icon{transform:scaleX(-1)}@layer components{ax-calendar{background-color:var(--color-lightest);width:100%;color:var(--color-on-lightest);border-color:var(--color-border-lightest);display:block}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:.5}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{padding-inline:calc(var(--spacing,.25rem) * 1);padding-top:calc(var(--spacing,.25rem) * 1);justify-content:space-between;display:flex}ax-calendar .ax-calendar-header .ax-calendar-header-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{align-items:center;display:flex}ax-calendar .ax-calendar-body{flex-direction:column;justify-content:center;align-items:center;display:flex}@media(min-width:48rem){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{flex:1;width:100%}@media(min-width:48rem){ax-calendar .ax-calendar-body>div{width:calc(var(--spacing,.25rem) * 80)}}ax-calendar .ax-calendar-body .ax-calendar-view-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing,.25rem) * 4);justify-content:space-between;display:flex}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{align-items:center;display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{gap:calc(var(--spacing,.25rem) * 1);padding:calc(var(--spacing,.25rem) * 4);display:grid}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{cursor:pointer;border-radius:var(--ax-sys-border-radius);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));justify-content:center;align-items:center;display:flex;position:relative}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color:color-mix(in oklab, rgba(var(--ax-sys-color-primary-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-outline-style:none;outline-style:none}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:#0000004d}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color:color-mix(in oklab, var(--color-black,#000) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *){--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *){--tw-ring-color:color-mix(in oklab, var(--color-white,#fff) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:.7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.05}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{--tw-inset-ring-shadow:inset 0 0 0 2px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-inset-ring-color:rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday{border-color:rgba(var(--ax-sys-color-danger-600))!important;--tw-inset-ring-color:rgba(var(--ax-sys-color-danger-600))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{--tw-ring-color:color-mix(in oklab, rgba(var(--ax-sys-color-primary-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{--tw-outline-style:none;outline-style:none}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday{background-color:var(--color-danger)!important;color:var(--color-on-danger)!important;border-color:var(--color-border-danger)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-600))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holidayax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:hover:not(.ax-state-disabled){background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday .ax-ripple{background-color:rgba(var(--ax-sys-color-on-danger-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-on-danger-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{padding-inline:calc(var(--spacing,.25rem) * 2);padding-top:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}ax-calendar .ax-calendar-body .ax-calendar-week>div{cursor:pointer;text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));justify-content:center;display:flex;position:relative}ax-calendar .ax-calendar-footer{margin-top:calc(var(--spacing,.25rem) * 4);justify-content:center;align-items:center;display:flex}}.ax-calendar-picker{width:100%;display:flex}.ax-calendar-picker ax-picker{flex:1}.ax-overlay-pane ax-calendar{--tw-border-style:none;border-style:none}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n"] }]
897
- }], ctorParameters: () => [], propDecorators: { weekend: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekend", required: false }] }], weekdays: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekdays", required: false }] }], __hostClass: [{
1080
+ ], imports: [
1081
+ NgClass,
1082
+ NgTemplateOutlet,
1083
+ AXRippleDirective,
1084
+ AsyncPipe,
1085
+ AXTranslatorPipe,
1086
+ AXFormatModule,
1087
+ AXSelectBoxComponent,
1088
+ FormsModule,
1089
+ AXTooltipDirective,
1090
+ ], template: "<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !yearCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (yearCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"yearCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !monthCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (monthCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"monthCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\">\n {{ `@acorex:${getMonthName(slot.date, 'short')}` | translate | async }}\n </div>\n }\n </button>\n }\n </div>\n }\n @default {\n @if (showNavigation && look() === 'select' && last) {\n <div class=\"ax-calendar-view-header ax-calendar-day-nav\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-prev\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !isRtl(),\n 'ax-icon-chevron-right': isRtl(),\n }\"\n ></i>\n </button>\n <div class=\"ax-calendar-day-nav-center\">\n <ax-select-box\n class=\"ax-calendar-month-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_monthOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedMonthOption\"\n [maxVisibleItems]=\"12\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleMonthSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n <ax-select-box\n class=\"ax-calendar-year-select ax-sm\"\n look=\"none\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_yearOptions\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_selectedYearOption\"\n [maxVisibleItems]=\"10\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleYearSelectChanged($event)\"\n (click)=\"$event.stopPropagation()\"\n ></ax-select-box>\n </div>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-calendar-day-nav-next\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-right': !isRtl(),\n 'ax-icon-chevron-left': isRtl(),\n }\"\n ></i>\n </button>\n </div>\n }\n @if (showNavigation && look() === 'classic') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'@acorex:common.actions.prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button-icon ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'@acorex:common.actions.next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n @for (d of weekLayout(); track d) {\n <div>{{ '@acorex:dateTime.weekdays.short.' + d | translate | async }}</div>\n }\n </div>\n\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !dayCellTemplate }\">\n @for (slot of v.slots; track slot.date.date.getTime()) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-has-holiday-color]=\"!!slot.holidayColor\"\n [style.--ax-calendar-holiday-color]=\"slot.holidayColor ?? null\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n [axTooltip]=\"slot.tooltip ?? ''\"\n [axTooltipDisabled]=\"!slot.tooltip\"\n [title]=\"\n !slot.tooltip ? (slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async) : ''\n \"\n >\n @if (dayCellTemplate) {\n <div>\n <ng-container\n [ngTemplateOutlet]=\"dayCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { slot: slot } }\"\n >\n </ng-container>\n </div>\n } @else {\n <div class=\"ax-calendar-day-slot-content\">\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}html[dir=rtl] ax-calendar .ax-calendar-header-buttons .ax-icon{transform:scaleX(-1)}@layer components{ax-calendar{background-color:var(--color-lightest);width:100%;color:var(--color-on-lightest);border-color:var(--color-border-lightest);display:block}ax-calendar ax-popover{display:none}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:.5}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{padding-inline:var(--spacing,.25rem);padding-top:var(--spacing,.25rem);justify-content:space-between;display:flex}ax-calendar .ax-calendar-header .ax-calendar-header-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{align-items:center;display:flex}ax-calendar .ax-calendar-body{flex-direction:column;justify-content:center;align-items:center;display:flex}@media(min-width:48rem){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{flex:1;width:100%}@media(min-width:48rem){ax-calendar .ax-calendar-body>div{width:calc(var(--spacing,.25rem) * 80)}}ax-calendar .ax-calendar-body .ax-calendar-view-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing,.25rem) * 4);justify-content:space-between;display:flex}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{align-items:center;display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{gap:var(--spacing,.25rem);padding:calc(var(--spacing,.25rem) * 4);display:grid}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{cursor:pointer;border-radius:var(--ax-sys-border-radius);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));justify-content:center;align-items:center;display:flex;position:relative}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-holiday){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-ring-color:color-mix(in oklab, rgba(var(--ax-sys-color-primary-surface)) 50%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){--tw-outline-style:none;outline-style:none}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:#0000004d}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{--tw-ring-color:color-mix(in oklab, var(--color-black,#000) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *){--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled:where(.ax-dark,.ax-dark *){--tw-ring-color:color-mix(in oklab, var(--color-white,#fff) 30%, transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:.7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.05}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{--tw-inset-ring-shadow:inset 0 0 0 2px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-inset-ring-color:rgba(var(--ax-sys-color-primary-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday:not(.ax-has-holiday-color){border-color:rgba(var(--ax-sys-color-danger-600))!important;--tw-inset-ring-color:rgba(var(--ax-sys-color-danger-600))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color{border-color:var(--ax-calendar-holiday-color)!important;--tw-inset-ring-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday.ax-has-holiday-color:not(.ax-state-selected){color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday:not(.ax-has-holiday-color){background-color:var(--color-danger)!important;color:var(--color-on-danger)!important;border-color:var(--color-border-danger)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color){color:rgba(var(--ax-sys-color-danger-600))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color):hover:not(.ax-state-disabled,.ax-state-selected){background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple{background-color:rgba(var(--ax-sys-color-on-danger-surface))}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:not(.ax-has-holiday-color) .ax-ripple{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-on-danger-surface)) 30%,transparent)}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color{color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){color:var(--ax-calendar-holiday-color)!important;background-color:var(--ax-calendar-holiday-color)!important}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 14%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color:hover:not(.ax-state-disabled){border-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected{color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important;border-color:var(--ax-calendar-holiday-color)!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:var(--ax-calendar-holiday-color)!important}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){border-color:var(--ax-calendar-holiday-color)!important}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color.ax-state-selected:hover:not(.ax-state-disabled){border-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 82%,black)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-ripple{background-color:var(--ax-calendar-holiday-color)!important}@supports (color:color-mix(in lab,red,red)){ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-ripple{background-color:color-mix(in srgb,var(--ax-calendar-holiday-color) 30%,transparent)!important}}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday.ax-has-holiday-color .ax-calendar-day-slot-content{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{padding-top:var(--ax-comp-calendar-week-padding-t,.75rem);padding-left:var(--ax-comp-calendar-week-padding-x,.5rem);padding-right:var(--ax-comp-calendar-week-padding-x,.5rem);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}ax-calendar .ax-calendar-body .ax-calendar-week>div{cursor:pointer;text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));justify-content:center;align-items:center;display:flex;position:relative}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav{align-items:center;gap:var(--spacing,.25rem);grid-template-columns:auto 1fr auto;display:grid}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-icon{font-size:.875rem}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-prev{justify-self:start}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-center{justify-content:center;align-items:center;gap:var(--spacing,.25rem);display:flex}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav .ax-calendar-day-nav-next{justify-self:end}ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select{flex:none;width:auto;display:inline-block}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-icon{font-size:.75rem}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-editor-container{gap:0}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) ax-dropdown-box.ax-editor-container{justify-content:flex-start;width:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container{flex:none;width:auto}:is(ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-month-select,ax-calendar.ax-look-select .ax-calendar-view-header.ax-calendar-day-nav ax-select-box.ax-calendar-year-select) .ax-chips-container .ax-chips{text-overflow:unset;overflow:visible}ax-calendar .ax-calendar-footer{margin-top:var(--ax-comp-calendar-footer-margin-t);justify-content:center;align-items:center;display:flex}ax-calendar .ax-calendar-footer .ax-today-button{cursor:pointer;text-align:center;width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));padding-left:var(--ax-comp-calendar-footer-today-button-padding-x);padding-right:var(--ax-comp-calendar-footer-today-button-padding-x);height:var(--ax-comp-calendar-footer-today-button-height);border-radius:var(--ax-comp-calendar-footer-today-button-border-radius,var(--ax-sys-border-radius));color:rgba(var(--ax-comp-calendar-footer-today-button-text-color));background-color:rgba(var(--ax-comp-calendar-footer-today-button-bg-color));display:block}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-calendar-slot-disabled-opacity)}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}ax-calendar .ax-calendar-footer .ax-today-buttonax-calendar .ax-calendar-footer .ax-today-button:hover:not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-footer-today-button-hover-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-comp-calendar-footer-today-button-focused-outline-color))}}.ax-calendar-picker{width:100%;display:flex}.ax-calendar-picker ax-picker{flex:1}.ax-overlay-pane ax-calendar{--tw-border-style:none;border-style:none}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n"] }]
1091
+ }], ctorParameters: () => [], propDecorators: { weekend: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekend", required: false }] }], weekdays: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekdays", required: false }] }], look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }], yearRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "yearRange", required: false }] }], holidays: [{ type: i0.Input, args: [{ isSignal: true, alias: "holidays", required: false }] }], __hostClass: [{
898
1092
  type: HostBinding,
899
1093
  args: ['class']
900
1094
  }], _handleOnKeydownEvent: [{
@@ -910,7 +1104,15 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
910
1104
  super();
911
1105
  this.formatService = inject(AXFormatService);
912
1106
  this.unsubscriber = inject(AXUnsubscriber);
913
- this.calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system, ...(ngDevMode ? [{ debugName: "calendar" }] : []));
1107
+ this.calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system, ...(ngDevMode ? [{ debugName: "calendar" }] : /* istanbul ignore next */ []));
1108
+ /**
1109
+ * Day view navigation style passed through to embedded calendars.
1110
+ */
1111
+ this.look = input('select', ...(ngDevMode ? [{ debugName: "look" }] : /* istanbul ignore next */ []));
1112
+ /**
1113
+ * Optional loader for holidays scoped to the visible calendar range.
1114
+ */
1115
+ this.holidays = input(...(ngDevMode ? [undefined, { debugName: "holidays" }] : /* istanbul ignore next */ []));
914
1116
  /**
915
1117
  * @ignore
916
1118
  */
@@ -1107,8 +1309,8 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1107
1309
  this._c1.navTo(e.startOf('year'));
1108
1310
  }
1109
1311
  }
1110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCalendarRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCalendarRangeComponent, isStandalone: true, selector: "ax-calendar-range", inputs: { rtl: "rtl", readonly: "readonly", value: "value", name: "name", disabled: "disabled", depth: "depth", activeView: "activeView", minValue: "minValue", maxValue: "maxValue", disabledDates: "disabledDates", holidayDates: "holidayDates", type: "type", dayCellTemplate: "dayCellTemplate", monthCellTemplate: "monthCellTemplate", yearCellTemplate: "yearCellTemplate", cellClass: "cellClass", showNavigation: "showNavigation" }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick" }, providers: [
1312
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCalendarRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1313
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: AXCalendarRangeComponent, isStandalone: true, selector: "ax-calendar-range", inputs: { rtl: { classPropertyName: "rtl", publicName: "rtl", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: "activeView", publicName: "activeView", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: "holidayDates", publicName: "holidayDates", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, dayCellTemplate: { classPropertyName: "dayCellTemplate", publicName: "dayCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, monthCellTemplate: { classPropertyName: "monthCellTemplate", publicName: "monthCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, yearCellTemplate: { classPropertyName: "yearCellTemplate", publicName: "yearCellTemplate", isSignal: false, isRequired: false, transformFunction: null }, cellClass: { classPropertyName: "cellClass", publicName: "cellClass", isSignal: false, isRequired: false, transformFunction: null }, showNavigation: { classPropertyName: "showNavigation", publicName: "showNavigation", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, holidays: { classPropertyName: "holidays", publicName: "holidays", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick" }, providers: [
1112
1314
  {
1113
1315
  provide: NG_VALUE_ACCESSOR,
1114
1316
  useExisting: forwardRef(() => AXCalendarRangeComponent),
@@ -1120,9 +1322,9 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
1120
1322
  },
1121
1323
  AXUnsubscriber,
1122
1324
  { provide: AXComponent, useExisting: AXCalendarRangeComponent },
1123
- ], viewQueries: [{ propertyName: "_c1", first: true, predicate: ["c1"], descendants: true, static: true }, { propertyName: "_c2", first: true, predicate: ["c2"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}html[dir=rtl] ax-calendar-range .ax-calendar-header-range-buttons .ax-icon{transform:scaleX(-1)}@layer components{ax-calendar-range{gap:calc(var(--spacing,.25rem) * 2);background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);display:block}ax-calendar-range .ax-calendar-range-header{padding:calc(var(--spacing,.25rem) * 1);justify-content:space-between;display:flex;padding-bottom:calc(var(--spacing,.25rem) * 0)!important}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{flex-direction:column;display:flex}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{flex-direction:row}}ax-calendar-range ax-calendar{margin:calc(var(--spacing,.25rem) * 0);padding:calc(var(--spacing,.25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:calc(var(--spacing,.25rem) * 0);padding-top:calc(var(--spacing,.25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}@media(min-width:48rem){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1325
+ ], viewQueries: [{ propertyName: "_c1", first: true, predicate: ["c1"], descendants: true, static: true }, { propertyName: "_c2", first: true, predicate: ["c2"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}html[dir=rtl] ax-calendar-range .ax-calendar-header-range-buttons .ax-icon{transform:scaleX(-1)}@layer components{ax-calendar-range{gap:calc(var(--spacing,.25rem) * 2);background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);display:block}ax-calendar-range .ax-calendar-range-header{padding:var(--spacing,.25rem);justify-content:space-between;display:flex;padding-bottom:0!important}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{flex-direction:column;display:flex}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{flex-direction:row}}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}@media(min-width:48rem){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays", "look", "yearRange", "holidays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1124
1326
  }
1125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCalendarRangeComponent, decorators: [{
1327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCalendarRangeComponent, decorators: [{
1126
1328
  type: Component,
1127
1329
  args: [{ selector: 'ax-calendar-range', encapsulation: ViewEncapsulation.None, inputs: [
1128
1330
  'rtl',
@@ -1167,8 +1369,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
1167
1369
  },
1168
1370
  AXUnsubscriber,
1169
1371
  { provide: AXComponent, useExisting: AXCalendarRangeComponent },
1170
- ], imports: [AXCalendarComponent], template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}html[dir=rtl] ax-calendar-range .ax-calendar-header-range-buttons .ax-icon{transform:scaleX(-1)}@layer components{ax-calendar-range{gap:calc(var(--spacing,.25rem) * 2);background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);display:block}ax-calendar-range .ax-calendar-range-header{padding:calc(var(--spacing,.25rem) * 1);justify-content:space-between;display:flex;padding-bottom:calc(var(--spacing,.25rem) * 0)!important}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{flex-direction:column;display:flex}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{flex-direction:row}}ax-calendar-range ax-calendar{margin:calc(var(--spacing,.25rem) * 0);padding:calc(var(--spacing,.25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:calc(var(--spacing,.25rem) * 0);padding-top:calc(var(--spacing,.25rem) * 0)}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}@media(min-width:48rem){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n"] }]
1171
- }], ctorParameters: () => [], propDecorators: { _c1: [{
1372
+ ], imports: [AXCalendarComponent], template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n [look]=\"look()\"\n [holidays]=\"holidays()\"\n [holidayDates]=\"holidayDates\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}html[dir=rtl] ax-calendar-range .ax-calendar-header-range-buttons .ax-icon{transform:scaleX(-1)}@layer components{ax-calendar-range{gap:calc(var(--spacing,.25rem) * 2);background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);display:block}ax-calendar-range .ax-calendar-range-header{padding:var(--spacing,.25rem);justify-content:space-between;display:flex;padding-bottom:0!important}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{flex-direction:column;display:flex}@media(min-width:48rem){ax-calendar-range .ax-calendar-range-body{flex-direction:row}}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}@media(min-width:48rem){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n"] }]
1373
+ }], ctorParameters: () => [], propDecorators: { look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }], holidays: [{ type: i0.Input, args: [{ isSignal: true, alias: "holidays", required: false }] }], _c1: [{
1172
1374
  type: ViewChild,
1173
1375
  args: ['c1', { static: true }]
1174
1376
  }], _c2: [{
@@ -1177,11 +1379,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
1177
1379
  }] } });
1178
1380
 
1179
1381
  class AXCalendarModule {
1180
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1181
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXCalendarModule, imports: [AXCalendarComponent, AXCalendarRangeComponent], exports: [AXCalendarComponent, AXCalendarRangeComponent] }); }
1182
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCalendarModule, imports: [AXCalendarComponent, AXCalendarRangeComponent] }); }
1382
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1383
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXCalendarModule, imports: [AXCalendarComponent, AXCalendarRangeComponent], exports: [AXCalendarComponent, AXCalendarRangeComponent] }); }
1384
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCalendarModule, imports: [AXCalendarComponent, AXCalendarRangeComponent] }); }
1183
1385
  }
1184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCalendarModule, decorators: [{
1386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCalendarModule, decorators: [{
1185
1387
  type: NgModule,
1186
1388
  args: [{
1187
1389
  imports: [AXCalendarComponent, AXCalendarRangeComponent],
@@ -1193,5 +1395,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
1193
1395
  * Generated bundle index. Do not edit.
1194
1396
  */
1195
1397
 
1196
- export { AXCalendarComponent, AXCalendarModule, AXCalendarNavigateEvent, AXCalendarRangeComponent, AXCalendarSlotClick, CALENDAR_INPUTS, CALENDAR_OUTPUTS, MXCalendarBaseComponent };
1398
+ export { AXCalendarComponent, AXCalendarModule, AXCalendarNavigateEvent, AXCalendarRangeComponent, AXCalendarSlotClick, CALENDAR_INPUTS, CALENDAR_OUTPUTS, MXCalendarBaseComponent, getCalendarYearBounds };
1197
1399
  //# sourceMappingURL=acorex-components-calendar.mjs.map