@acorex/components 21.0.1-next.82 → 21.0.1-next.84

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 (51) hide show
  1. package/fesm2022/acorex-components-button.mjs +2 -2
  2. package/fesm2022/acorex-components-button.mjs.map +1 -1
  3. package/fesm2022/acorex-components-conversation.mjs +16 -16
  4. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  5. package/fesm2022/acorex-components-cron-job.mjs +2 -2
  6. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  7. package/fesm2022/acorex-components-data-list.mjs +2 -2
  8. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  9. package/fesm2022/acorex-components-dialog.mjs +2 -2
  10. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  11. package/fesm2022/acorex-components-flow-chart.mjs +6 -6
  12. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  13. package/fesm2022/acorex-components-grid-layout-builder.mjs +2 -2
  14. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
  16. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  17. package/fesm2022/acorex-components-rest-api-generator.mjs +10 -10
  18. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  19. package/fesm2022/acorex-components-scheduler-picker.mjs +114 -120
  20. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  21. package/fesm2022/acorex-components-slider.mjs +1 -1
  22. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  23. package/fesm2022/acorex-components-tabs.mjs +2 -2
  24. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  25. package/fesm2022/acorex-components-tree-view.mjs +2 -2
  26. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  27. package/package.json +3 -27
  28. package/collapse/README.md +0 -3
  29. package/drawer-legacy/README.md +0 -3
  30. package/fesm2022/acorex-components-collapse.mjs +0 -369
  31. package/fesm2022/acorex-components-collapse.mjs.map +0 -1
  32. package/fesm2022/acorex-components-drawer-legacy.mjs +0 -218
  33. package/fesm2022/acorex-components-drawer-legacy.mjs.map +0 -1
  34. package/fesm2022/acorex-components-file-explorer.mjs +0 -307
  35. package/fesm2022/acorex-components-file-explorer.mjs.map +0 -1
  36. package/fesm2022/acorex-components-number-box-legacy.mjs +0 -412
  37. package/fesm2022/acorex-components-number-box-legacy.mjs.map +0 -1
  38. package/fesm2022/acorex-components-scss.mjs +0 -22
  39. package/fesm2022/acorex-components-scss.mjs.map +0 -1
  40. package/fesm2022/acorex-components-tree-view-legacy.mjs +0 -515
  41. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +0 -1
  42. package/file-explorer/README.md +0 -3
  43. package/number-box-legacy/README.md +0 -3
  44. package/scss/README.md +0 -3
  45. package/tree-view-legacy/README.md +0 -3
  46. package/types/acorex-components-collapse.d.ts +0 -172
  47. package/types/acorex-components-drawer-legacy.d.ts +0 -86
  48. package/types/acorex-components-file-explorer.d.ts +0 -103
  49. package/types/acorex-components-number-box-legacy.d.ts +0 -191
  50. package/types/acorex-components-scss.d.ts +0 -10
  51. package/types/acorex-components-tree-view-legacy.d.ts +0 -185
@@ -18,62 +18,6 @@ import { AXChipsModule } from '@acorex/components/chips';
18
18
  import * as i1$1 from '@acorex/components/decorators';
19
19
  import { AXDecoratorModule } from '@acorex/components/decorators';
20
20
 
21
- /**
22
- * Interval selector component
23
- * Allows user to select "Every X [units]"
24
- */
25
- class AXSchedulerPickerIntervalSelectorComponent {
26
- constructor() {
27
- /**
28
- * Current interval value
29
- */
30
- this.interval = input.required(...(ngDevMode ? [{ debugName: "interval" }] : []));
31
- /**
32
- * Configuration
33
- */
34
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
35
- /**
36
- * Emits when interval changes
37
- */
38
- this.intervalChange = output();
39
- }
40
- /**
41
- * Handle interval value change
42
- */
43
- onIntervalChange(value) {
44
- if (value && value > 0) {
45
- this.intervalChange.emit(value);
46
- }
47
- }
48
- /**
49
- * Get unit translation key based on mode
50
- */
51
- getUnitKey() {
52
- const mode = this.config().mode;
53
- const pluralKey = this.interval() === 1 ? 'singular' : 'plural';
54
- switch (mode) {
55
- case 'hourly':
56
- return `@acorex:schedulerPicker.units.hour.${pluralKey}`;
57
- case 'daily':
58
- return `@acorex:schedulerPicker.units.day.${pluralKey}`;
59
- case 'weekly':
60
- return `@acorex:schedulerPicker.units.week.${pluralKey}`;
61
- case 'monthly':
62
- return `@acorex:schedulerPicker.units.month.${pluralKey}`;
63
- case 'yearly':
64
- return `@acorex:schedulerPicker.units.year.${pluralKey}`;
65
- default:
66
- return '@acorex:schedulerPicker.units.day.plural';
67
- }
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerIntervalSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXSchedulerPickerIntervalSelectorComponent, isStandalone: true, selector: "ax-scheduler-picker-interval-selector", inputs: { interval: { classPropertyName: "interval", publicName: "interval", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { intervalChange: "intervalChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-interval-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.repeatEvery' | translate | async }}\n </label>\n <div class=\"ax-scheduler-picker-interval-input-group\">\n <ax-number-box\n [value]=\"interval()\"\n [minValue]=\"config().minInterval || 1\"\n [maxValue]=\"config().maxInterval || 999\"\n [disabled]=\"false\"\n (valueChange)=\"onIntervalChange($event)\"\n />\n <span class=\"ax-scheduler-picker-interval-unit\">\n {{ getUnitKey() | translate | async }}\n </span>\n </div>\n</div>\n", styles: [".ax-scheduler-picker-interval-selector{display:flex;flex-direction:column;gap:.375rem}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}.ax-scheduler-picker-interval-input-group{display:flex;align-items:center;gap:.375rem}.ax-scheduler-picker-interval-input-group ax-number-box{width:80px}.ax-scheduler-picker-interval-input-group .ax-scheduler-picker-interval-unit{color:var(--ax-comp-scheduler-picker-label-color);font-size:.875rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerIntervalSelectorComponent, decorators: [{
73
- type: Component,
74
- args: [{ selector: 'ax-scheduler-picker-interval-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [FormsModule, AXNumberBoxComponent, AXTranslatorPipe, AsyncPipe], template: "<div class=\"ax-scheduler-picker-interval-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.repeatEvery' | translate | async }}\n </label>\n <div class=\"ax-scheduler-picker-interval-input-group\">\n <ax-number-box\n [value]=\"interval()\"\n [minValue]=\"config().minInterval || 1\"\n [maxValue]=\"config().maxInterval || 999\"\n [disabled]=\"false\"\n (valueChange)=\"onIntervalChange($event)\"\n />\n <span class=\"ax-scheduler-picker-interval-unit\">\n {{ getUnitKey() | translate | async }}\n </span>\n </div>\n</div>\n", styles: [".ax-scheduler-picker-interval-selector{display:flex;flex-direction:column;gap:.375rem}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}.ax-scheduler-picker-interval-input-group{display:flex;align-items:center;gap:.375rem}.ax-scheduler-picker-interval-input-group ax-number-box{width:80px}.ax-scheduler-picker-interval-input-group .ax-scheduler-picker-interval-unit{color:var(--ax-comp-scheduler-picker-label-color);font-size:.875rem}\n"] }]
75
- }], propDecorators: { interval: [{ type: i0.Input, args: [{ isSignal: true, alias: "interval", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], intervalChange: [{ type: i0.Output, args: ["intervalChange"] }] } });
76
-
77
21
  /**
78
22
  * Constants for scheduler picker module
79
23
  */
@@ -154,6 +98,62 @@ const AX_SCHEDULER_PICKER_WEEKDAY_END = 5; // Friday
154
98
  */
155
99
  const AX_SCHEDULER_PICKER_DEFAULT_OCCURRENCES = 10;
156
100
 
101
+ /**
102
+ * Interval selector component
103
+ * Allows user to select "Every X [units]"
104
+ */
105
+ class AXSchedulerPickerIntervalSelectorComponent {
106
+ constructor() {
107
+ /**
108
+ * Current interval value
109
+ */
110
+ this.interval = input.required(...(ngDevMode ? [{ debugName: "interval" }] : []));
111
+ /**
112
+ * Configuration
113
+ */
114
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
115
+ /**
116
+ * Emits when interval changes
117
+ */
118
+ this.intervalChange = output();
119
+ }
120
+ /**
121
+ * Handle interval value change
122
+ */
123
+ onIntervalChange(value) {
124
+ if (value && value > 0) {
125
+ this.intervalChange.emit(value);
126
+ }
127
+ }
128
+ /**
129
+ * Get unit translation key based on mode
130
+ */
131
+ getUnitKey() {
132
+ const mode = this.config().mode;
133
+ const pluralKey = this.interval() === 1 ? 'singular' : 'plural';
134
+ switch (mode) {
135
+ case 'hourly':
136
+ return `@acorex:schedulerPicker.units.hour.${pluralKey}`;
137
+ case 'daily':
138
+ return `@acorex:schedulerPicker.units.day.${pluralKey}`;
139
+ case 'weekly':
140
+ return `@acorex:schedulerPicker.units.week.${pluralKey}`;
141
+ case 'monthly':
142
+ return `@acorex:schedulerPicker.units.month.${pluralKey}`;
143
+ case 'yearly':
144
+ return `@acorex:schedulerPicker.units.year.${pluralKey}`;
145
+ default:
146
+ return '@acorex:schedulerPicker.units.day.plural';
147
+ }
148
+ }
149
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerIntervalSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXSchedulerPickerIntervalSelectorComponent, isStandalone: true, selector: "ax-scheduler-picker-interval-selector", inputs: { interval: { classPropertyName: "interval", publicName: "interval", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { intervalChange: "intervalChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-interval-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.repeatEvery' | translate | async }}\n </label>\n <div class=\"ax-scheduler-picker-interval-input-group\">\n <ax-number-box\n [value]=\"interval()\"\n [minValue]=\"config().minInterval || 1\"\n [maxValue]=\"config().maxInterval || 999\"\n [disabled]=\"false\"\n (valueChange)=\"onIntervalChange($event)\"\n />\n <span class=\"ax-scheduler-picker-interval-unit\">\n {{ getUnitKey() | translate | async }}\n </span>\n </div>\n</div>\n", styles: [".ax-scheduler-picker-interval-selector{flex-direction:column;gap:.375rem;display:flex}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}.ax-scheduler-picker-interval-input-group{align-items:center;gap:.375rem;display:flex}.ax-scheduler-picker-interval-input-group ax-number-box{width:80px}.ax-scheduler-picker-interval-input-group .ax-scheduler-picker-interval-unit{color:var(--ax-comp-scheduler-picker-label-color);font-size:.875rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
151
+ }
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerIntervalSelectorComponent, decorators: [{
153
+ type: Component,
154
+ args: [{ selector: 'ax-scheduler-picker-interval-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [FormsModule, AXNumberBoxComponent, AXTranslatorPipe, AsyncPipe], template: "<div class=\"ax-scheduler-picker-interval-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.repeatEvery' | translate | async }}\n </label>\n <div class=\"ax-scheduler-picker-interval-input-group\">\n <ax-number-box\n [value]=\"interval()\"\n [minValue]=\"config().minInterval || 1\"\n [maxValue]=\"config().maxInterval || 999\"\n [disabled]=\"false\"\n (valueChange)=\"onIntervalChange($event)\"\n />\n <span class=\"ax-scheduler-picker-interval-unit\">\n {{ getUnitKey() | translate | async }}\n </span>\n </div>\n</div>\n", styles: [".ax-scheduler-picker-interval-selector{flex-direction:column;gap:.375rem;display:flex}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}.ax-scheduler-picker-interval-input-group{align-items:center;gap:.375rem;display:flex}.ax-scheduler-picker-interval-input-group ax-number-box{width:80px}.ax-scheduler-picker-interval-input-group .ax-scheduler-picker-interval-unit{color:var(--ax-comp-scheduler-picker-label-color);font-size:.875rem}\n"] }]
155
+ }], propDecorators: { interval: [{ type: i0.Input, args: [{ isSignal: true, alias: "interval", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], intervalChange: [{ type: i0.Output, args: ["intervalChange"] }] } });
156
+
157
157
  class AXSchedulerPickerDailyPanelComponent {
158
158
  constructor() {
159
159
  this.pattern = input.required(...(ngDevMode ? [{ debugName: "pattern" }] : []));
@@ -185,17 +185,11 @@ class AXSchedulerPickerDailyPanelComponent {
185
185
  });
186
186
  }
187
187
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerDailyPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
188
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerDailyPanelComponent, isStandalone: true, selector: "ax-scheduler-picker-daily-panel", inputs: { pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { patternChange: "patternChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-daily-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Weekdays only switch -->\n @if (config().options?.showWeekdaysOnly) {\n <div class=\"ax-scheduler-picker-weekdays-only\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.weekdaysOnly' | translate | async }}\n </label>\n <ax-switch [value]=\"weekdayOnly()\" (valueChange)=\"onWeekdayOnlyChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-daily-panel{display:flex;flex-direction:column;gap:.5rem}.ax-scheduler-picker-weekday-option{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0}.ax-scheduler-picker-time-selection{display:flex;flex-direction:column;gap:.375rem}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: AXSchedulerPickerIntervalSelectorComponent, selector: "ax-scheduler-picker-interval-selector", inputs: ["interval", "config"], outputs: ["intervalChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
188
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerDailyPanelComponent, isStandalone: true, selector: "ax-scheduler-picker-daily-panel", inputs: { pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { patternChange: "patternChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-daily-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Weekdays only switch -->\n @if (config().options?.showWeekdaysOnly) {\n <div class=\"ax-scheduler-picker-weekdays-only\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.weekdaysOnly' | translate | async }}\n </label>\n <ax-switch [value]=\"weekdayOnly()\" (valueChange)=\"onWeekdayOnlyChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-daily-panel{flex-direction:column;gap:.5rem;display:flex}.ax-scheduler-picker-weekday-option{justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.ax-scheduler-picker-time-selection{flex-direction:column;gap:.375rem;display:flex}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: AXSchedulerPickerIntervalSelectorComponent, selector: "ax-scheduler-picker-interval-selector", inputs: ["interval", "config"], outputs: ["intervalChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
189
189
  }
190
190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerDailyPanelComponent, decorators: [{
191
191
  type: Component,
192
- args: [{ selector: 'ax-scheduler-picker-daily-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
193
- FormsModule,
194
- AXSwitchComponent,
195
- AXTranslatorPipe,
196
- AsyncPipe,
197
- AXSchedulerPickerIntervalSelectorComponent,
198
- ], template: "<div class=\"ax-scheduler-picker-daily-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Weekdays only switch -->\n @if (config().options?.showWeekdaysOnly) {\n <div class=\"ax-scheduler-picker-weekdays-only\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.weekdaysOnly' | translate | async }}\n </label>\n <ax-switch [value]=\"weekdayOnly()\" (valueChange)=\"onWeekdayOnlyChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-daily-panel{display:flex;flex-direction:column;gap:.5rem}.ax-scheduler-picker-weekday-option{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0}.ax-scheduler-picker-time-selection{display:flex;flex-direction:column;gap:.375rem}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}\n"] }]
192
+ args: [{ selector: 'ax-scheduler-picker-daily-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [FormsModule, AXSwitchComponent, AXTranslatorPipe, AsyncPipe, AXSchedulerPickerIntervalSelectorComponent], template: "<div class=\"ax-scheduler-picker-daily-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Weekdays only switch -->\n @if (config().options?.showWeekdaysOnly) {\n <div class=\"ax-scheduler-picker-weekdays-only\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.weekdaysOnly' | translate | async }}\n </label>\n <ax-switch [value]=\"weekdayOnly()\" (valueChange)=\"onWeekdayOnlyChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-daily-panel{flex-direction:column;gap:.5rem;display:flex}.ax-scheduler-picker-weekday-option{justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.ax-scheduler-picker-time-selection{flex-direction:column;gap:.375rem;display:flex}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}\n"] }]
199
193
  }], ctorParameters: () => [], propDecorators: { pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], patternChange: [{ type: i0.Output, args: ["patternChange"] }] } });
200
194
 
201
195
  class AXSchedulerPickerHourlyPanelComponent {
@@ -442,7 +436,7 @@ class AXSchedulerPickerMonthlyPanelComponent {
442
436
  });
443
437
  }
444
438
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerMonthlyPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerMonthlyPanelComponent, isStandalone: true, selector: "ax-scheduler-picker-monthly-panel", inputs: { pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { patternChange: "patternChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-monthly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Specific Days Mode: Calendar day picker -->\n @if (config().options?.recurrenceMode === 'specificDays') {\n <ax-scheduler-picker-day-selector\n [days]=\"selectedDays()\"\n (daysChange)=\"onDaysChange($event)\"\n />\n }\n\n <!-- Occurrence Mode: Position + Weekday selectors -->\n @if (config().options?.recurrenceMode === 'occurrence') {\n <ax-scheduler-picker-occurrence-selector\n [occurrence]=\"occurrence()\"\n (occurrenceChange)=\"onOccurrenceChange($event)\"\n />\n }\n</div>\n", styles: [".ax-scheduler-picker-monthly-panel{display:flex;flex-direction:column;gap:.5rem}\n"], dependencies: [{ kind: "component", type: AXSchedulerPickerIntervalSelectorComponent, selector: "ax-scheduler-picker-interval-selector", inputs: ["interval", "config"], outputs: ["intervalChange"] }, { kind: "component", type: AXSchedulerPickerDaySelectorComponent, selector: "ax-scheduler-picker-day-selector", inputs: ["days"], outputs: ["daysChange"] }, { kind: "component", type: AXSchedulerPickerOccurrenceSelectorComponent, selector: "ax-scheduler-picker-occurrence-selector", inputs: ["occurrence"], outputs: ["occurrenceChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
439
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerMonthlyPanelComponent, isStandalone: true, selector: "ax-scheduler-picker-monthly-panel", inputs: { pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { patternChange: "patternChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-monthly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Specific Days Mode: Calendar day picker -->\n @if (config().options?.recurrenceMode === 'specificDays') {\n <ax-scheduler-picker-day-selector\n [days]=\"selectedDays()\"\n (daysChange)=\"onDaysChange($event)\"\n />\n }\n\n <!-- Occurrence Mode: Position + Weekday selectors -->\n @if (config().options?.recurrenceMode === 'occurrence') {\n <ax-scheduler-picker-occurrence-selector\n [occurrence]=\"occurrence()\"\n (occurrenceChange)=\"onOccurrenceChange($event)\"\n />\n }\n</div>\n", styles: [".ax-scheduler-picker-monthly-panel{flex-direction:column;gap:.5rem;display:flex}\n"], dependencies: [{ kind: "component", type: AXSchedulerPickerIntervalSelectorComponent, selector: "ax-scheduler-picker-interval-selector", inputs: ["interval", "config"], outputs: ["intervalChange"] }, { kind: "component", type: AXSchedulerPickerDaySelectorComponent, selector: "ax-scheduler-picker-day-selector", inputs: ["days"], outputs: ["daysChange"] }, { kind: "component", type: AXSchedulerPickerOccurrenceSelectorComponent, selector: "ax-scheduler-picker-occurrence-selector", inputs: ["occurrence"], outputs: ["occurrenceChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
446
440
  }
447
441
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerMonthlyPanelComponent, decorators: [{
448
442
  type: Component,
@@ -450,7 +444,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
450
444
  AXSchedulerPickerIntervalSelectorComponent,
451
445
  AXSchedulerPickerDaySelectorComponent,
452
446
  AXSchedulerPickerOccurrenceSelectorComponent,
453
- ], template: "<div class=\"ax-scheduler-picker-monthly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Specific Days Mode: Calendar day picker -->\n @if (config().options?.recurrenceMode === 'specificDays') {\n <ax-scheduler-picker-day-selector\n [days]=\"selectedDays()\"\n (daysChange)=\"onDaysChange($event)\"\n />\n }\n\n <!-- Occurrence Mode: Position + Weekday selectors -->\n @if (config().options?.recurrenceMode === 'occurrence') {\n <ax-scheduler-picker-occurrence-selector\n [occurrence]=\"occurrence()\"\n (occurrenceChange)=\"onOccurrenceChange($event)\"\n />\n }\n</div>\n", styles: [".ax-scheduler-picker-monthly-panel{display:flex;flex-direction:column;gap:.5rem}\n"] }]
447
+ ], template: "<div class=\"ax-scheduler-picker-monthly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Specific Days Mode: Calendar day picker -->\n @if (config().options?.recurrenceMode === 'specificDays') {\n <ax-scheduler-picker-day-selector\n [days]=\"selectedDays()\"\n (daysChange)=\"onDaysChange($event)\"\n />\n }\n\n <!-- Occurrence Mode: Position + Weekday selectors -->\n @if (config().options?.recurrenceMode === 'occurrence') {\n <ax-scheduler-picker-occurrence-selector\n [occurrence]=\"occurrence()\"\n (occurrenceChange)=\"onOccurrenceChange($event)\"\n />\n }\n</div>\n", styles: [".ax-scheduler-picker-monthly-panel{flex-direction:column;gap:.5rem;display:flex}\n"] }]
454
448
  }], ctorParameters: () => [], propDecorators: { pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], patternChange: [{ type: i0.Output, args: ["patternChange"] }] } });
455
449
 
456
450
  /**
@@ -538,7 +532,7 @@ class AXSchedulerPickerWeeklyPanelComponent {
538
532
  });
539
533
  }
540
534
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerWeeklyPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
541
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerWeeklyPanelComponent, isStandalone: true, selector: "ax-scheduler-picker-weekly-panel", inputs: { pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { patternChange: "patternChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-weekly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Day selection -->\n @if (config().options?.showWeekdaySelection) {\n <div class=\"ax-scheduler-picker-day-selection\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.onDays' | translate | async }}\n </label>\n <ax-selection-list\n [items]=\"dayItems()\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedDays()\"\n (onValueChanged)=\"onDaysChange($event)\"\n />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-weekly-panel{display:flex;flex-direction:column;gap:.5rem}.ax-scheduler-picker-day-selection,.ax-scheduler-picker-time-selection{display:flex;flex-direction:column;gap:.375rem}ax-selection-list{width:100%}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i1.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXSchedulerPickerIntervalSelectorComponent, selector: "ax-scheduler-picker-interval-selector", inputs: ["interval", "config"], outputs: ["intervalChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
535
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerWeeklyPanelComponent, isStandalone: true, selector: "ax-scheduler-picker-weekly-panel", inputs: { pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { patternChange: "patternChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-weekly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Day selection -->\n @if (config().options?.showWeekdaySelection) {\n <div class=\"ax-scheduler-picker-day-selection\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.onDays' | translate | async }}\n </label>\n <ax-selection-list\n [items]=\"dayItems()\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedDays()\"\n (onValueChanged)=\"onDaysChange($event)\"\n />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-weekly-panel{flex-direction:column;gap:.5rem;display:flex}.ax-scheduler-picker-day-selection,.ax-scheduler-picker-time-selection{flex-direction:column;gap:.375rem;display:flex}ax-selection-list{width:100%}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i1.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXSchedulerPickerIntervalSelectorComponent, selector: "ax-scheduler-picker-interval-selector", inputs: ["interval", "config"], outputs: ["intervalChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
542
536
  }
543
537
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerWeeklyPanelComponent, decorators: [{
544
538
  type: Component,
@@ -548,7 +542,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
548
542
  AXTranslatorPipe,
549
543
  AsyncPipe,
550
544
  AXSchedulerPickerIntervalSelectorComponent,
551
- ], template: "<div class=\"ax-scheduler-picker-weekly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Day selection -->\n @if (config().options?.showWeekdaySelection) {\n <div class=\"ax-scheduler-picker-day-selection\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.onDays' | translate | async }}\n </label>\n <ax-selection-list\n [items]=\"dayItems()\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedDays()\"\n (onValueChanged)=\"onDaysChange($event)\"\n />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-weekly-panel{display:flex;flex-direction:column;gap:.5rem}.ax-scheduler-picker-day-selection,.ax-scheduler-picker-time-selection{display:flex;flex-direction:column;gap:.375rem}ax-selection-list{width:100%}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}\n"] }]
545
+ ], template: "<div class=\"ax-scheduler-picker-weekly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Day selection -->\n @if (config().options?.showWeekdaySelection) {\n <div class=\"ax-scheduler-picker-day-selection\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.onDays' | translate | async }}\n </label>\n <ax-selection-list\n [items]=\"dayItems()\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedDays()\"\n (onValueChanged)=\"onDaysChange($event)\"\n />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-weekly-panel{flex-direction:column;gap:.5rem;display:flex}.ax-scheduler-picker-day-selection,.ax-scheduler-picker-time-selection{flex-direction:column;gap:.375rem;display:flex}ax-selection-list{width:100%}.ax-scheduler-picker-label{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}\n"] }]
552
546
  }], ctorParameters: () => [], propDecorators: { pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], patternChange: [{ type: i0.Output, args: ["patternChange"] }] } });
553
547
 
554
548
  class AXSchedulerPickerMonthSelectorComponent {
@@ -667,7 +661,7 @@ class AXSchedulerPickerYearlyPanelComponent {
667
661
  });
668
662
  }
669
663
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerYearlyPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
670
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerYearlyPanelComponent, isStandalone: true, selector: "ax-scheduler-picker-yearly-panel", inputs: { pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { patternChange: "patternChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-yearly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Month selector (independent of recurrence mode) -->\n @if (config().options?.showMonthSelection !== false) {\n <ax-scheduler-picker-month-selector\n [months]=\"selectedMonths()\"\n (monthsChange)=\"onMonthsChange($event)\"\n />\n }\n\n <!-- Specific Date Mode: Day picker -->\n @if (config().options?.recurrenceMode === 'specificDate') {\n <ax-scheduler-picker-day-selector\n [days]=\"selectedDays()\"\n (daysChange)=\"onDaysChange($event)\"\n />\n }\n\n <!-- Occurrence Mode: Month + Position + Weekday selectors -->\n @if (config().options?.recurrenceMode === 'occurrence') {\n @if (config().options?.showMonthSelection !== false) {\n <ax-scheduler-picker-month-selector\n [months]=\"selectedMonths()\"\n (monthsChange)=\"onMonthsChange($event)\"\n />\n }\n <ax-scheduler-picker-occurrence-selector\n [occurrence]=\"occurrence()\"\n (occurrenceChange)=\"onOccurrenceChange($event)\"\n />\n }\n</div>\n", styles: [".ax-scheduler-picker-yearly-panel{display:flex;flex-direction:column;gap:.5rem}\n"], dependencies: [{ kind: "component", type: AXSchedulerPickerIntervalSelectorComponent, selector: "ax-scheduler-picker-interval-selector", inputs: ["interval", "config"], outputs: ["intervalChange"] }, { kind: "component", type: AXSchedulerPickerMonthSelectorComponent, selector: "ax-scheduler-picker-month-selector", inputs: ["months"], outputs: ["monthsChange"] }, { kind: "component", type: AXSchedulerPickerDaySelectorComponent, selector: "ax-scheduler-picker-day-selector", inputs: ["days"], outputs: ["daysChange"] }, { kind: "component", type: AXSchedulerPickerOccurrenceSelectorComponent, selector: "ax-scheduler-picker-occurrence-selector", inputs: ["occurrence"], outputs: ["occurrenceChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
664
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerYearlyPanelComponent, isStandalone: true, selector: "ax-scheduler-picker-yearly-panel", inputs: { pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { patternChange: "patternChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-yearly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Month selector (independent of recurrence mode) -->\n @if (config().options?.showMonthSelection !== false) {\n <ax-scheduler-picker-month-selector\n [months]=\"selectedMonths()\"\n (monthsChange)=\"onMonthsChange($event)\"\n />\n }\n\n <!-- Specific Date Mode: Day picker -->\n @if (config().options?.recurrenceMode === 'specificDate') {\n <ax-scheduler-picker-day-selector\n [days]=\"selectedDays()\"\n (daysChange)=\"onDaysChange($event)\"\n />\n }\n\n <!-- Occurrence Mode: Month + Position + Weekday selectors -->\n @if (config().options?.recurrenceMode === 'occurrence') {\n @if (config().options?.showMonthSelection !== false) {\n <ax-scheduler-picker-month-selector\n [months]=\"selectedMonths()\"\n (monthsChange)=\"onMonthsChange($event)\"\n />\n }\n <ax-scheduler-picker-occurrence-selector\n [occurrence]=\"occurrence()\"\n (occurrenceChange)=\"onOccurrenceChange($event)\"\n />\n }\n</div>\n", styles: [".ax-scheduler-picker-yearly-panel{flex-direction:column;gap:.5rem;display:flex}\n"], dependencies: [{ kind: "component", type: AXSchedulerPickerIntervalSelectorComponent, selector: "ax-scheduler-picker-interval-selector", inputs: ["interval", "config"], outputs: ["intervalChange"] }, { kind: "component", type: AXSchedulerPickerMonthSelectorComponent, selector: "ax-scheduler-picker-month-selector", inputs: ["months"], outputs: ["monthsChange"] }, { kind: "component", type: AXSchedulerPickerDaySelectorComponent, selector: "ax-scheduler-picker-day-selector", inputs: ["days"], outputs: ["daysChange"] }, { kind: "component", type: AXSchedulerPickerOccurrenceSelectorComponent, selector: "ax-scheduler-picker-occurrence-selector", inputs: ["occurrence"], outputs: ["occurrenceChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
671
665
  }
672
666
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerYearlyPanelComponent, decorators: [{
673
667
  type: Component,
@@ -676,7 +670,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
676
670
  AXSchedulerPickerMonthSelectorComponent,
677
671
  AXSchedulerPickerDaySelectorComponent,
678
672
  AXSchedulerPickerOccurrenceSelectorComponent,
679
- ], template: "<div class=\"ax-scheduler-picker-yearly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Month selector (independent of recurrence mode) -->\n @if (config().options?.showMonthSelection !== false) {\n <ax-scheduler-picker-month-selector\n [months]=\"selectedMonths()\"\n (monthsChange)=\"onMonthsChange($event)\"\n />\n }\n\n <!-- Specific Date Mode: Day picker -->\n @if (config().options?.recurrenceMode === 'specificDate') {\n <ax-scheduler-picker-day-selector\n [days]=\"selectedDays()\"\n (daysChange)=\"onDaysChange($event)\"\n />\n }\n\n <!-- Occurrence Mode: Month + Position + Weekday selectors -->\n @if (config().options?.recurrenceMode === 'occurrence') {\n @if (config().options?.showMonthSelection !== false) {\n <ax-scheduler-picker-month-selector\n [months]=\"selectedMonths()\"\n (monthsChange)=\"onMonthsChange($event)\"\n />\n }\n <ax-scheduler-picker-occurrence-selector\n [occurrence]=\"occurrence()\"\n (occurrenceChange)=\"onOccurrenceChange($event)\"\n />\n }\n</div>\n", styles: [".ax-scheduler-picker-yearly-panel{display:flex;flex-direction:column;gap:.5rem}\n"] }]
673
+ ], template: "<div class=\"ax-scheduler-picker-yearly-panel\">\n <!-- Interval selector -->\n @if (config().options?.showInterval) {\n <ax-scheduler-picker-interval-selector\n [interval]=\"pattern()?.interval || 1\"\n [config]=\"config()\"\n (intervalChange)=\"onIntervalChange($event)\"\n />\n }\n\n <!-- Month selector (independent of recurrence mode) -->\n @if (config().options?.showMonthSelection !== false) {\n <ax-scheduler-picker-month-selector\n [months]=\"selectedMonths()\"\n (monthsChange)=\"onMonthsChange($event)\"\n />\n }\n\n <!-- Specific Date Mode: Day picker -->\n @if (config().options?.recurrenceMode === 'specificDate') {\n <ax-scheduler-picker-day-selector\n [days]=\"selectedDays()\"\n (daysChange)=\"onDaysChange($event)\"\n />\n }\n\n <!-- Occurrence Mode: Month + Position + Weekday selectors -->\n @if (config().options?.recurrenceMode === 'occurrence') {\n @if (config().options?.showMonthSelection !== false) {\n <ax-scheduler-picker-month-selector\n [months]=\"selectedMonths()\"\n (monthsChange)=\"onMonthsChange($event)\"\n />\n }\n <ax-scheduler-picker-occurrence-selector\n [occurrence]=\"occurrence()\"\n (occurrenceChange)=\"onOccurrenceChange($event)\"\n />\n }\n</div>\n", styles: [".ax-scheduler-picker-yearly-panel{flex-direction:column;gap:.5rem;display:flex}\n"] }]
680
674
  }], ctorParameters: () => [], propDecorators: { pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], patternChange: [{ type: i0.Output, args: ["patternChange"] }] } });
681
675
 
682
676
  /**
@@ -1380,50 +1374,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
1380
1374
  }]
1381
1375
  }] });
1382
1376
 
1383
- class AXSchedulerPickerStartConditionSelectorComponent {
1384
- constructor() {
1385
- this.startCondition = input(...(ngDevMode ? [undefined, { debugName: "startCondition" }] : []));
1386
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
1387
- this.startConditionChange = output();
1388
- this.selectedType = signal('now', ...(ngDevMode ? [{ debugName: "selectedType" }] : []));
1389
- this.startDate = signal(null, ...(ngDevMode ? [{ debugName: "startDate" }] : []));
1390
- this.startTypeItems = [
1391
- { id: 'now', text: '@acorex:schedulerPicker.startCondition.now' },
1392
- { id: 'byDate', text: '@acorex:schedulerPicker.startCondition.byDate' },
1393
- ];
1394
- // Initialize from input
1395
- effect(() => {
1396
- const condition = this.startCondition();
1397
- if (condition) {
1398
- this.selectedType.set(condition.type);
1399
- this.startDate.set(condition.startDate);
1400
- }
1401
- });
1402
- }
1403
- onTypeChange(event) {
1404
- this.selectedType.set(event.value);
1405
- this.emitChange();
1406
- }
1407
- onDateChange(value) {
1408
- this.startDate.set(value);
1409
- this.emitChange();
1410
- }
1411
- emitChange() {
1412
- const type = this.selectedType();
1413
- const condition = {
1414
- type,
1415
- startDate: type === 'byDate' ? this.startDate() || new Date() : new Date(),
1416
- };
1417
- this.startConditionChange.emit(condition);
1418
- }
1419
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerStartConditionSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1420
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerStartConditionSelectorComponent, isStandalone: true, selector: "ax-scheduler-picker-start-condition-selector", inputs: { startCondition: { classPropertyName: "startCondition", publicName: "startCondition", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { startConditionChange: "startConditionChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-start-condition-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.startCondition' | translate | async }}\n </label>\n\n <ax-selection-list\n [items]=\"startTypeItems\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedType()\"\n (onValueChanged)=\"onTypeChange($event)\"\n />\n\n @if (selectedType() === 'byDate') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.startDate' | translate | async }}\n </label>\n <ax-datetime-box [value]=\"startDate()\" [picker]=\"'datetime'\" (valueChange)=\"onDateChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-start-condition-selector{display:flex;flex-direction:column;gap:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i1.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1421
- }
1422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerStartConditionSelectorComponent, decorators: [{
1423
- type: Component,
1424
- args: [{ selector: 'ax-scheduler-picker-start-condition-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [FormsModule, AXSelectionListModule, AXDateTimeBoxComponent, AXTranslatorPipe, AsyncPipe], template: "<div class=\"ax-scheduler-picker-start-condition-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.startCondition' | translate | async }}\n </label>\n\n <ax-selection-list\n [items]=\"startTypeItems\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedType()\"\n (onValueChanged)=\"onTypeChange($event)\"\n />\n\n @if (selectedType() === 'byDate') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.startDate' | translate | async }}\n </label>\n <ax-datetime-box [value]=\"startDate()\" [picker]=\"'datetime'\" (valueChange)=\"onDateChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-start-condition-selector{display:flex;flex-direction:column;gap:.5rem}\n"] }]
1425
- }], ctorParameters: () => [], propDecorators: { startCondition: [{ type: i0.Input, args: [{ isSignal: true, alias: "startCondition", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], startConditionChange: [{ type: i0.Output, args: ["startConditionChange"] }] } });
1426
-
1427
1377
  class AXSchedulerPickerEndConditionSelectorComponent {
1428
1378
  constructor() {
1429
1379
  this.endCondition = input(...(ngDevMode ? [undefined, { debugName: "endCondition" }] : []));
@@ -1479,7 +1429,7 @@ class AXSchedulerPickerEndConditionSelectorComponent {
1479
1429
  this.endConditionChange.emit(condition);
1480
1430
  }
1481
1431
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerEndConditionSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1482
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerEndConditionSelectorComponent, isStandalone: true, selector: "ax-scheduler-picker-end-condition-selector", inputs: { endCondition: { classPropertyName: "endCondition", publicName: "endCondition", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { endConditionChange: "endConditionChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-end-condition-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.endCondition' | translate | async }}\n </label>\n\n <ax-selection-list\n [items]=\"endTypeItems\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedType()\"\n (onValueChanged)=\"onTypeChange($event)\"\n />\n\n @if (selectedType() === 'afterOccurrences') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.numberOfOccurrences' | translate | async }}\n </label>\n <ax-number-box [value]=\"occurrences()\" (valueChange)=\"onOccurrencesChange($event)\" />\n </div>\n }\n\n @if (selectedType() === 'byDate') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.endDate' | translate | async }}\n </label>\n <ax-datetime-box [value]=\"endDate()\" mode=\"date\" (valueChange)=\"onDateChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-end-condition-selector{display:flex;flex-direction:column;gap:.5rem}.ax-scheduler-picker-input-group{display:flex;flex-direction:column;gap:.375rem;padding-left:.5rem}.ax-scheduler-picker-label,.ax-scheduler-picker-sublabel{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}ax-selection-list{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i1.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "component", type: AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1432
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerEndConditionSelectorComponent, isStandalone: true, selector: "ax-scheduler-picker-end-condition-selector", inputs: { endCondition: { classPropertyName: "endCondition", publicName: "endCondition", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { endConditionChange: "endConditionChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-end-condition-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.endCondition' | translate | async }}\n </label>\n\n <ax-selection-list\n [items]=\"endTypeItems\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedType()\"\n (onValueChanged)=\"onTypeChange($event)\"\n />\n\n @if (selectedType() === 'afterOccurrences') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.numberOfOccurrences' | translate | async }}\n </label>\n <ax-number-box [value]=\"occurrences()\" (valueChange)=\"onOccurrencesChange($event)\" />\n </div>\n }\n\n @if (selectedType() === 'byDate') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.endDate' | translate | async }}\n </label>\n <ax-datetime-box [value]=\"endDate()\" mode=\"date\" (valueChange)=\"onDateChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-end-condition-selector{flex-direction:column;gap:.5rem;display:flex}.ax-scheduler-picker-input-group{flex-direction:column;gap:.375rem;padding-left:.5rem;display:flex}.ax-scheduler-picker-label,.ax-scheduler-picker-sublabel{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}ax-selection-list{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i1.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "component", type: AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1483
1433
  }
1484
1434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerEndConditionSelectorComponent, decorators: [{
1485
1435
  type: Component,
@@ -1490,7 +1440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
1490
1440
  AXDateTimeBoxComponent,
1491
1441
  AXTranslatorPipe,
1492
1442
  AsyncPipe,
1493
- ], template: "<div class=\"ax-scheduler-picker-end-condition-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.endCondition' | translate | async }}\n </label>\n\n <ax-selection-list\n [items]=\"endTypeItems\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedType()\"\n (onValueChanged)=\"onTypeChange($event)\"\n />\n\n @if (selectedType() === 'afterOccurrences') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.numberOfOccurrences' | translate | async }}\n </label>\n <ax-number-box [value]=\"occurrences()\" (valueChange)=\"onOccurrencesChange($event)\" />\n </div>\n }\n\n @if (selectedType() === 'byDate') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.endDate' | translate | async }}\n </label>\n <ax-datetime-box [value]=\"endDate()\" mode=\"date\" (valueChange)=\"onDateChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-end-condition-selector{display:flex;flex-direction:column;gap:.5rem}.ax-scheduler-picker-input-group{display:flex;flex-direction:column;gap:.375rem;padding-left:.5rem}.ax-scheduler-picker-label,.ax-scheduler-picker-sublabel{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}ax-selection-list{width:100%}\n"] }]
1443
+ ], template: "<div class=\"ax-scheduler-picker-end-condition-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.endCondition' | translate | async }}\n </label>\n\n <ax-selection-list\n [items]=\"endTypeItems\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedType()\"\n (onValueChanged)=\"onTypeChange($event)\"\n />\n\n @if (selectedType() === 'afterOccurrences') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.numberOfOccurrences' | translate | async }}\n </label>\n <ax-number-box [value]=\"occurrences()\" (valueChange)=\"onOccurrencesChange($event)\" />\n </div>\n }\n\n @if (selectedType() === 'byDate') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.endDate' | translate | async }}\n </label>\n <ax-datetime-box [value]=\"endDate()\" mode=\"date\" (valueChange)=\"onDateChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-end-condition-selector{flex-direction:column;gap:.5rem;display:flex}.ax-scheduler-picker-input-group{flex-direction:column;gap:.375rem;padding-left:.5rem;display:flex}.ax-scheduler-picker-label,.ax-scheduler-picker-sublabel{color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight);margin:0}ax-selection-list{width:100%}\n"] }]
1494
1444
  }], ctorParameters: () => [], propDecorators: { endCondition: [{ type: i0.Input, args: [{ isSignal: true, alias: "endCondition", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], endConditionChange: [{ type: i0.Output, args: ["endConditionChange"] }] } });
1495
1445
 
1496
1446
  class AXSchedulerPickerExclusionManagerComponent {
@@ -1806,6 +1756,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
1806
1756
  }, styles: [".ax-scheduler-picker-inclusion-manager{display:flex;flex-direction:column;gap:.375rem}.ax-scheduler-picker-section-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.375rem}.ax-scheduler-picker-label{display:flex;align-items:center;gap:.375rem;color:var(--ax-comp-scheduler-picker-label-color);font-size:var(--ax-comp-scheduler-picker-label-font-size);font-weight:var(--ax-comp-scheduler-picker-label-font-weight)}.ax-scheduler-picker-label .ax-icon{font-size:1.125rem;color:rgb(var(--ax-sys-color-success-500))}.ax-scheduler-picker-add-section{display:flex;gap:.5rem;align-items:stretch}.ax-scheduler-picker-date-input{flex:1}.ax-scheduler-picker-chips-container{display:flex;flex-wrap:wrap;gap:.375rem}.ax-scheduler-picker-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;padding:.75rem .5rem;border:1px dashed rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius-md);color:rgb(var(--ax-sys-color-on-darker-surface));font-size:.875rem}.ax-scheduler-picker-empty-state .ax-icon{font-size:1.5rem;opacity:.4}\n"] }]
1807
1757
  }], ctorParameters: () => [], propDecorators: { inclusions: [{ type: i0.Input, args: [{ isSignal: true, alias: "inclusions", required: false }] }], inclusionsChange: [{ type: i0.Output, args: ["inclusionsChange"] }] } });
1808
1758
 
1759
+ class AXSchedulerPickerStartConditionSelectorComponent {
1760
+ constructor() {
1761
+ this.startCondition = input(...(ngDevMode ? [undefined, { debugName: "startCondition" }] : []));
1762
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
1763
+ this.startConditionChange = output();
1764
+ this.selectedType = signal('now', ...(ngDevMode ? [{ debugName: "selectedType" }] : []));
1765
+ this.startDate = signal(null, ...(ngDevMode ? [{ debugName: "startDate" }] : []));
1766
+ this.startTypeItems = [
1767
+ { id: 'now', text: '@acorex:schedulerPicker.startCondition.now' },
1768
+ { id: 'byDate', text: '@acorex:schedulerPicker.startCondition.byDate' },
1769
+ ];
1770
+ // Initialize from input
1771
+ effect(() => {
1772
+ const condition = this.startCondition();
1773
+ if (condition) {
1774
+ this.selectedType.set(condition.type);
1775
+ this.startDate.set(condition.startDate);
1776
+ }
1777
+ });
1778
+ }
1779
+ onTypeChange(event) {
1780
+ this.selectedType.set(event.value);
1781
+ this.emitChange();
1782
+ }
1783
+ onDateChange(value) {
1784
+ this.startDate.set(value);
1785
+ this.emitChange();
1786
+ }
1787
+ emitChange() {
1788
+ const type = this.selectedType();
1789
+ const condition = {
1790
+ type,
1791
+ startDate: type === 'byDate' ? this.startDate() || new Date() : new Date(),
1792
+ };
1793
+ this.startConditionChange.emit(condition);
1794
+ }
1795
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerStartConditionSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1796
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerStartConditionSelectorComponent, isStandalone: true, selector: "ax-scheduler-picker-start-condition-selector", inputs: { startCondition: { classPropertyName: "startCondition", publicName: "startCondition", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { startConditionChange: "startConditionChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-start-condition-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.startCondition' | translate | async }}\n </label>\n\n <ax-selection-list\n [items]=\"startTypeItems\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedType()\"\n (onValueChanged)=\"onTypeChange($event)\"\n />\n\n @if (selectedType() === 'byDate') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.startDate' | translate | async }}\n </label>\n <ax-datetime-box [value]=\"startDate()\" [picker]=\"'datetime'\" (valueChange)=\"onDateChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-start-condition-selector{flex-direction:column;gap:.5rem;display:flex}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i1.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1797
+ }
1798
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerStartConditionSelectorComponent, decorators: [{
1799
+ type: Component,
1800
+ args: [{ selector: 'ax-scheduler-picker-start-condition-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [FormsModule, AXSelectionListModule, AXDateTimeBoxComponent, AXTranslatorPipe, AsyncPipe], template: "<div class=\"ax-scheduler-picker-start-condition-selector\">\n <label class=\"ax-scheduler-picker-label\">\n {{ '@acorex:schedulerPicker.labels.startCondition' | translate | async }}\n </label>\n\n <ax-selection-list\n [items]=\"startTypeItems\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n [look]=\"'solid'\"\n [direction]=\"'horizontal'\"\n [value]=\"selectedType()\"\n (onValueChanged)=\"onTypeChange($event)\"\n />\n\n @if (selectedType() === 'byDate') {\n <div class=\"ax-scheduler-picker-input-group\">\n <label class=\"ax-scheduler-picker-sublabel\">\n {{ '@acorex:schedulerPicker.labels.startDate' | translate | async }}\n </label>\n <ax-datetime-box [value]=\"startDate()\" [picker]=\"'datetime'\" (valueChange)=\"onDateChange($event)\" />\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-start-condition-selector{flex-direction:column;gap:.5rem;display:flex}\n"] }]
1801
+ }], ctorParameters: () => [], propDecorators: { startCondition: [{ type: i0.Input, args: [{ isSignal: true, alias: "startCondition", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], startConditionChange: [{ type: i0.Output, args: ["startConditionChange"] }] } });
1802
+
1809
1803
  /**
1810
1804
  * A powerful, fully customizable scheduler picker component for creating recurrence patterns
1811
1805
  *
@@ -2112,7 +2106,7 @@ class AXSchedulerPickerComponent extends MXValueComponent {
2112
2106
  useExisting: forwardRef(() => AXSchedulerPickerComponent),
2113
2107
  multi: true,
2114
2108
  },
2115
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-picker\" [class.ax-disabled]=\"disabled\" [class.ax-readonly]=\"readonly\">\n <!-- Mode-specific panel -->\n <div class=\"ax-scheduler-picker-panel\">\n @switch (mode()) {\n @case ('hourly') {\n <ax-scheduler-picker-hourly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('daily') {\n <ax-scheduler-picker-daily-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('weekly') {\n <ax-scheduler-picker-weekly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('monthly') {\n <ax-scheduler-picker-monthly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('yearly') {\n <ax-scheduler-picker-yearly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n }\n </div>\n\n <!-- Start condition -->\n @if (mergedConfig().showStartCondition && pattern()) {\n <div class=\"ax-scheduler-picker-start-conditions\">\n <ax-scheduler-picker-start-condition-selector\n [startCondition]=\"pattern()!.startCondition\"\n [config]=\"mergedConfig()\"\n (startConditionChange)=\"updatePattern({ startCondition: $event })\"\n />\n </div>\n }\n\n <!-- End conditions -->\n @if (mergedConfig().showEndConditions && pattern()) {\n <div class=\"ax-scheduler-picker-end-conditions\">\n <ax-scheduler-picker-end-condition-selector\n [endCondition]=\"pattern()!.endCondition\"\n [config]=\"mergedConfig()\"\n (endConditionChange)=\"updatePattern({ endCondition: $event })\"\n />\n </div>\n }\n\n <!-- Exclusions -->\n @if (mergedConfig().showExclusions && pattern()) {\n <div class=\"ax-scheduler-picker-exclusions\">\n <ax-scheduler-picker-exclusion-manager\n [exclusions]=\"pattern()!.exclusions || []\"\n [config]=\"mergedConfig()\"\n (exclusionsChange)=\"updatePattern({ exclusions: $event })\"\n />\n </div>\n }\n\n <!-- Inclusions -->\n @if (mergedConfig().showInclusions && pattern()) {\n <div class=\"ax-scheduler-picker-inclusions\">\n <ax-scheduler-picker-inclusion-manager\n [inclusions]=\"pattern()!.inclusions || []\"\n (inclusionsChange)=\"updatePattern({ inclusions: $event })\"\n />\n </div>\n }\n</div>\n", styles: [":root{--ax-comp-scheduler-picker-border: 1px solid rgb(var(--ax-sys-color-border-lighter-surface));--ax-comp-scheduler-picker-border-radius: var(--ax-sys-border-radius-md);--ax-comp-scheduler-picker-padding: .5rem;--ax-comp-scheduler-picker-gap: .5rem;--ax-comp-scheduler-picker-label-color: rgb(var(--ax-sys-color-on-lighter-surface));--ax-comp-scheduler-picker-label-font-size: .875rem;--ax-comp-scheduler-picker-label-font-weight: 500;--ax-comp-scheduler-picker-summary-color: rgb(var(--ax-sys-color-on-darker-surface));--ax-comp-scheduler-picker-summary-padding: .375rem .5rem;--ax-comp-scheduler-picker-error-color: rgb(var(--ax-sys-color-danger-500));--ax-comp-scheduler-picker-error-padding: .375rem .5rem}.ax-scheduler-picker{display:flex;flex-direction:column;gap:var(--ax-comp-scheduler-picker-gap);padding:var(--ax-comp-scheduler-picker-padding)}.ax-scheduler-picker.ax-disabled{opacity:.6;pointer-events:none}.ax-scheduler-picker.ax-readonly{pointer-events:none}.ax-scheduler-picker-summary{display:flex;align-items:center;gap:.375rem;padding:var(--ax-comp-scheduler-picker-summary-padding);color:var(--ax-comp-scheduler-picker-summary-color);font-size:.875rem}.ax-scheduler-picker-summary .ax-scheduler-picker-summary-label{font-weight:var(--ax-comp-scheduler-picker-label-font-weight)}.ax-scheduler-picker-errors{display:flex;flex-direction:column;gap:.375rem}.ax-scheduler-picker-error{padding:var(--ax-comp-scheduler-picker-error-padding);color:var(--ax-comp-scheduler-picker-error-color);font-size:.875rem}\n"], dependencies: [{ kind: "component", type: AXSchedulerPickerHourlyPanelComponent, selector: "ax-scheduler-picker-hourly-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerDailyPanelComponent, selector: "ax-scheduler-picker-daily-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerWeeklyPanelComponent, selector: "ax-scheduler-picker-weekly-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerMonthlyPanelComponent, selector: "ax-scheduler-picker-monthly-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerYearlyPanelComponent, selector: "ax-scheduler-picker-yearly-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerStartConditionSelectorComponent, selector: "ax-scheduler-picker-start-condition-selector", inputs: ["startCondition", "config"], outputs: ["startConditionChange"] }, { kind: "component", type: AXSchedulerPickerEndConditionSelectorComponent, selector: "ax-scheduler-picker-end-condition-selector", inputs: ["endCondition", "config"], outputs: ["endConditionChange"] }, { kind: "component", type: AXSchedulerPickerExclusionManagerComponent, selector: "ax-scheduler-picker-exclusion-manager", inputs: ["exclusions", "config"], outputs: ["exclusionsChange"] }, { kind: "component", type: AXSchedulerPickerInclusionManagerComponent, selector: "ax-scheduler-picker-inclusion-manager", inputs: ["inclusions"], outputs: ["inclusionsChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2109
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-picker\" [class.ax-disabled]=\"disabled\" [class.ax-readonly]=\"readonly\">\n <!-- Mode-specific panel -->\n <div class=\"ax-scheduler-picker-panel\">\n @switch (mode()) {\n @case ('hourly') {\n <ax-scheduler-picker-hourly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('daily') {\n <ax-scheduler-picker-daily-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('weekly') {\n <ax-scheduler-picker-weekly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('monthly') {\n <ax-scheduler-picker-monthly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('yearly') {\n <ax-scheduler-picker-yearly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n }\n </div>\n\n <!-- Start condition -->\n @if (mergedConfig().showStartCondition && pattern()) {\n <div class=\"ax-scheduler-picker-start-conditions\">\n <ax-scheduler-picker-start-condition-selector\n [startCondition]=\"pattern()!.startCondition\"\n [config]=\"mergedConfig()\"\n (startConditionChange)=\"updatePattern({ startCondition: $event })\"\n />\n </div>\n }\n\n <!-- End conditions -->\n @if (mergedConfig().showEndConditions && pattern()) {\n <div class=\"ax-scheduler-picker-end-conditions\">\n <ax-scheduler-picker-end-condition-selector\n [endCondition]=\"pattern()!.endCondition\"\n [config]=\"mergedConfig()\"\n (endConditionChange)=\"updatePattern({ endCondition: $event })\"\n />\n </div>\n }\n\n <!-- Exclusions -->\n @if (mergedConfig().showExclusions && pattern()) {\n <div class=\"ax-scheduler-picker-exclusions\">\n <ax-scheduler-picker-exclusion-manager\n [exclusions]=\"pattern()!.exclusions || []\"\n [config]=\"mergedConfig()\"\n (exclusionsChange)=\"updatePattern({ exclusions: $event })\"\n />\n </div>\n }\n\n <!-- Inclusions -->\n @if (mergedConfig().showInclusions && pattern()) {\n <div class=\"ax-scheduler-picker-inclusions\">\n <ax-scheduler-picker-inclusion-manager\n [inclusions]=\"pattern()!.inclusions || []\"\n (inclusionsChange)=\"updatePattern({ inclusions: $event })\"\n />\n </div>\n }\n</div>\n", styles: [":root{--ax-comp-scheduler-picker-border:1px solid rgb(var(--ax-sys-color-border-lighter-surface));--ax-comp-scheduler-picker-border-radius:var(--ax-sys-border-radius-md);--ax-comp-scheduler-picker-padding:.5rem;--ax-comp-scheduler-picker-gap:.5rem;--ax-comp-scheduler-picker-label-color:rgb(var(--ax-sys-color-on-lighter-surface));--ax-comp-scheduler-picker-label-font-size:.875rem;--ax-comp-scheduler-picker-label-font-weight:500;--ax-comp-scheduler-picker-summary-color:rgb(var(--ax-sys-color-on-darker-surface));--ax-comp-scheduler-picker-summary-padding:.375rem .5rem;--ax-comp-scheduler-picker-error-color:rgb(var(--ax-sys-color-danger-500));--ax-comp-scheduler-picker-error-padding:.375rem .5rem}.ax-scheduler-picker{gap:var(--ax-comp-scheduler-picker-gap);padding:var(--ax-comp-scheduler-picker-padding);flex-direction:column;display:flex}.ax-scheduler-picker.ax-disabled{opacity:.6;pointer-events:none}.ax-scheduler-picker.ax-readonly{pointer-events:none}.ax-scheduler-picker-summary{padding:var(--ax-comp-scheduler-picker-summary-padding);color:var(--ax-comp-scheduler-picker-summary-color);align-items:center;gap:.375rem;font-size:.875rem;display:flex}.ax-scheduler-picker-summary .ax-scheduler-picker-summary-label{font-weight:var(--ax-comp-scheduler-picker-label-font-weight)}.ax-scheduler-picker-errors{flex-direction:column;gap:.375rem;display:flex}.ax-scheduler-picker-error{padding:var(--ax-comp-scheduler-picker-error-padding);color:var(--ax-comp-scheduler-picker-error-color);font-size:.875rem}\n"], dependencies: [{ kind: "component", type: AXSchedulerPickerHourlyPanelComponent, selector: "ax-scheduler-picker-hourly-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerDailyPanelComponent, selector: "ax-scheduler-picker-daily-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerWeeklyPanelComponent, selector: "ax-scheduler-picker-weekly-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerMonthlyPanelComponent, selector: "ax-scheduler-picker-monthly-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerYearlyPanelComponent, selector: "ax-scheduler-picker-yearly-panel", inputs: ["pattern", "config"], outputs: ["patternChange"] }, { kind: "component", type: AXSchedulerPickerStartConditionSelectorComponent, selector: "ax-scheduler-picker-start-condition-selector", inputs: ["startCondition", "config"], outputs: ["startConditionChange"] }, { kind: "component", type: AXSchedulerPickerEndConditionSelectorComponent, selector: "ax-scheduler-picker-end-condition-selector", inputs: ["endCondition", "config"], outputs: ["endConditionChange"] }, { kind: "component", type: AXSchedulerPickerExclusionManagerComponent, selector: "ax-scheduler-picker-exclusion-manager", inputs: ["exclusions", "config"], outputs: ["exclusionsChange"] }, { kind: "component", type: AXSchedulerPickerInclusionManagerComponent, selector: "ax-scheduler-picker-inclusion-manager", inputs: ["inclusions"], outputs: ["inclusionsChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2116
2110
  }
2117
2111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerComponent, decorators: [{
2118
2112
  type: Component,
@@ -2135,7 +2129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
2135
2129
  AXSchedulerPickerEndConditionSelectorComponent,
2136
2130
  AXSchedulerPickerExclusionManagerComponent,
2137
2131
  AXSchedulerPickerInclusionManagerComponent,
2138
- ], template: "<div class=\"ax-scheduler-picker\" [class.ax-disabled]=\"disabled\" [class.ax-readonly]=\"readonly\">\n <!-- Mode-specific panel -->\n <div class=\"ax-scheduler-picker-panel\">\n @switch (mode()) {\n @case ('hourly') {\n <ax-scheduler-picker-hourly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('daily') {\n <ax-scheduler-picker-daily-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('weekly') {\n <ax-scheduler-picker-weekly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('monthly') {\n <ax-scheduler-picker-monthly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('yearly') {\n <ax-scheduler-picker-yearly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n }\n </div>\n\n <!-- Start condition -->\n @if (mergedConfig().showStartCondition && pattern()) {\n <div class=\"ax-scheduler-picker-start-conditions\">\n <ax-scheduler-picker-start-condition-selector\n [startCondition]=\"pattern()!.startCondition\"\n [config]=\"mergedConfig()\"\n (startConditionChange)=\"updatePattern({ startCondition: $event })\"\n />\n </div>\n }\n\n <!-- End conditions -->\n @if (mergedConfig().showEndConditions && pattern()) {\n <div class=\"ax-scheduler-picker-end-conditions\">\n <ax-scheduler-picker-end-condition-selector\n [endCondition]=\"pattern()!.endCondition\"\n [config]=\"mergedConfig()\"\n (endConditionChange)=\"updatePattern({ endCondition: $event })\"\n />\n </div>\n }\n\n <!-- Exclusions -->\n @if (mergedConfig().showExclusions && pattern()) {\n <div class=\"ax-scheduler-picker-exclusions\">\n <ax-scheduler-picker-exclusion-manager\n [exclusions]=\"pattern()!.exclusions || []\"\n [config]=\"mergedConfig()\"\n (exclusionsChange)=\"updatePattern({ exclusions: $event })\"\n />\n </div>\n }\n\n <!-- Inclusions -->\n @if (mergedConfig().showInclusions && pattern()) {\n <div class=\"ax-scheduler-picker-inclusions\">\n <ax-scheduler-picker-inclusion-manager\n [inclusions]=\"pattern()!.inclusions || []\"\n (inclusionsChange)=\"updatePattern({ inclusions: $event })\"\n />\n </div>\n }\n</div>\n", styles: [":root{--ax-comp-scheduler-picker-border: 1px solid rgb(var(--ax-sys-color-border-lighter-surface));--ax-comp-scheduler-picker-border-radius: var(--ax-sys-border-radius-md);--ax-comp-scheduler-picker-padding: .5rem;--ax-comp-scheduler-picker-gap: .5rem;--ax-comp-scheduler-picker-label-color: rgb(var(--ax-sys-color-on-lighter-surface));--ax-comp-scheduler-picker-label-font-size: .875rem;--ax-comp-scheduler-picker-label-font-weight: 500;--ax-comp-scheduler-picker-summary-color: rgb(var(--ax-sys-color-on-darker-surface));--ax-comp-scheduler-picker-summary-padding: .375rem .5rem;--ax-comp-scheduler-picker-error-color: rgb(var(--ax-sys-color-danger-500));--ax-comp-scheduler-picker-error-padding: .375rem .5rem}.ax-scheduler-picker{display:flex;flex-direction:column;gap:var(--ax-comp-scheduler-picker-gap);padding:var(--ax-comp-scheduler-picker-padding)}.ax-scheduler-picker.ax-disabled{opacity:.6;pointer-events:none}.ax-scheduler-picker.ax-readonly{pointer-events:none}.ax-scheduler-picker-summary{display:flex;align-items:center;gap:.375rem;padding:var(--ax-comp-scheduler-picker-summary-padding);color:var(--ax-comp-scheduler-picker-summary-color);font-size:.875rem}.ax-scheduler-picker-summary .ax-scheduler-picker-summary-label{font-weight:var(--ax-comp-scheduler-picker-label-font-weight)}.ax-scheduler-picker-errors{display:flex;flex-direction:column;gap:.375rem}.ax-scheduler-picker-error{padding:var(--ax-comp-scheduler-picker-error-padding);color:var(--ax-comp-scheduler-picker-error-color);font-size:.875rem}\n"] }]
2132
+ ], template: "<div class=\"ax-scheduler-picker\" [class.ax-disabled]=\"disabled\" [class.ax-readonly]=\"readonly\">\n <!-- Mode-specific panel -->\n <div class=\"ax-scheduler-picker-panel\">\n @switch (mode()) {\n @case ('hourly') {\n <ax-scheduler-picker-hourly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('daily') {\n <ax-scheduler-picker-daily-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('weekly') {\n <ax-scheduler-picker-weekly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('monthly') {\n <ax-scheduler-picker-monthly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n @case ('yearly') {\n <ax-scheduler-picker-yearly-panel\n [pattern]=\"pattern()\"\n [config]=\"$any(mergedConfig())\"\n (patternChange)=\"updatePattern($event)\"\n />\n }\n }\n </div>\n\n <!-- Start condition -->\n @if (mergedConfig().showStartCondition && pattern()) {\n <div class=\"ax-scheduler-picker-start-conditions\">\n <ax-scheduler-picker-start-condition-selector\n [startCondition]=\"pattern()!.startCondition\"\n [config]=\"mergedConfig()\"\n (startConditionChange)=\"updatePattern({ startCondition: $event })\"\n />\n </div>\n }\n\n <!-- End conditions -->\n @if (mergedConfig().showEndConditions && pattern()) {\n <div class=\"ax-scheduler-picker-end-conditions\">\n <ax-scheduler-picker-end-condition-selector\n [endCondition]=\"pattern()!.endCondition\"\n [config]=\"mergedConfig()\"\n (endConditionChange)=\"updatePattern({ endCondition: $event })\"\n />\n </div>\n }\n\n <!-- Exclusions -->\n @if (mergedConfig().showExclusions && pattern()) {\n <div class=\"ax-scheduler-picker-exclusions\">\n <ax-scheduler-picker-exclusion-manager\n [exclusions]=\"pattern()!.exclusions || []\"\n [config]=\"mergedConfig()\"\n (exclusionsChange)=\"updatePattern({ exclusions: $event })\"\n />\n </div>\n }\n\n <!-- Inclusions -->\n @if (mergedConfig().showInclusions && pattern()) {\n <div class=\"ax-scheduler-picker-inclusions\">\n <ax-scheduler-picker-inclusion-manager\n [inclusions]=\"pattern()!.inclusions || []\"\n (inclusionsChange)=\"updatePattern({ inclusions: $event })\"\n />\n </div>\n }\n</div>\n", styles: [":root{--ax-comp-scheduler-picker-border:1px solid rgb(var(--ax-sys-color-border-lighter-surface));--ax-comp-scheduler-picker-border-radius:var(--ax-sys-border-radius-md);--ax-comp-scheduler-picker-padding:.5rem;--ax-comp-scheduler-picker-gap:.5rem;--ax-comp-scheduler-picker-label-color:rgb(var(--ax-sys-color-on-lighter-surface));--ax-comp-scheduler-picker-label-font-size:.875rem;--ax-comp-scheduler-picker-label-font-weight:500;--ax-comp-scheduler-picker-summary-color:rgb(var(--ax-sys-color-on-darker-surface));--ax-comp-scheduler-picker-summary-padding:.375rem .5rem;--ax-comp-scheduler-picker-error-color:rgb(var(--ax-sys-color-danger-500));--ax-comp-scheduler-picker-error-padding:.375rem .5rem}.ax-scheduler-picker{gap:var(--ax-comp-scheduler-picker-gap);padding:var(--ax-comp-scheduler-picker-padding);flex-direction:column;display:flex}.ax-scheduler-picker.ax-disabled{opacity:.6;pointer-events:none}.ax-scheduler-picker.ax-readonly{pointer-events:none}.ax-scheduler-picker-summary{padding:var(--ax-comp-scheduler-picker-summary-padding);color:var(--ax-comp-scheduler-picker-summary-color);align-items:center;gap:.375rem;font-size:.875rem;display:flex}.ax-scheduler-picker-summary .ax-scheduler-picker-summary-label{font-weight:var(--ax-comp-scheduler-picker-label-font-weight)}.ax-scheduler-picker-errors{flex-direction:column;gap:.375rem;display:flex}.ax-scheduler-picker-error{padding:var(--ax-comp-scheduler-picker-error-padding);color:var(--ax-comp-scheduler-picker-error-color);font-size:.875rem}\n"] }]
2139
2133
  }], ctorParameters: () => [], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], summaryChange: [{ type: i0.Output, args: ["summaryChange"] }] } });
2140
2134
 
2141
2135
  class AXSchedulerPickerTimeSelectorComponent {
@@ -2322,11 +2316,11 @@ class AXSchedulerPickerConfigComponent {
2322
2316
  this.modeChange.emit(mode);
2323
2317
  }
2324
2318
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2325
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerConfigComponent, isStandalone: true, selector: "ax-scheduler-picker-config", outputs: { configChange: "configChange", modeChange: "modeChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-config\">\n <h3>Configuration</h3>\n\n <!-- Mode Selector -->\n <div class=\"control-group\">\n <label>Mode</label>\n <ax-select-box\n [dataSource]=\"modeOptions\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"selectedMode()\"\n (onValueChanged)=\"onModeChange($event.value)\"\n />\n </div>\n\n <!-- Global Options -->\n <div class=\"control-group\">\n <label>Global Options</label>\n <div class=\"switch-group\">\n <span>Show Interval</span>\n <ax-switch [(value)]=\"showInterval\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Start Condition</span>\n <ax-switch [(value)]=\"showStartCondition\" />\n </div>\n <div class=\"switch-group\">\n <span>Show End Conditions</span>\n <ax-switch [(value)]=\"showEndConditions\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Exclusions</span>\n <ax-switch [(value)]=\"showExclusions\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Inclusions</span>\n <ax-switch [(value)]=\"showInclusions\" />\n </div>\n </div>\n\n <!-- Mode-Specific Options -->\n @if (selectedMode() === 'daily') {\n <div class=\"control-group\">\n <label>Daily Options</label>\n <div class=\"switch-group\">\n <span>Show Weekdays Only</span>\n <ax-switch [(value)]=\"showWeekdaysOnly\" />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'weekly') {\n <div class=\"control-group\">\n <label>Weekly Options</label>\n <div class=\"switch-group\">\n <span>Show Weekday Selection</span>\n <ax-switch [(value)]=\"showWeekdaySelection\" />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'monthly') {\n <div class=\"control-group\">\n <label>Monthly Options</label>\n <div class=\"control-subgroup\">\n <label>Recurrence Mode</label>\n <ax-select-box\n [dataSource]=\"[\n { value: 'none', text: 'None' },\n { value: 'specificDays', text: 'Specific Days' },\n { value: 'occurrence', text: 'Occurrence' }\n ]\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"monthlyRecurrenceMode()\"\n (onValueChanged)=\"monthlyRecurrenceMode.set($event.value)\"\n />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'yearly') {\n <div class=\"control-group\">\n <label>Yearly Options</label>\n <div class=\"control-subgroup\">\n <label>Recurrence Mode</label>\n <ax-select-box\n [dataSource]=\"[\n { value: 'none', text: 'None' },\n { value: 'specificDate', text: 'Specific Date' },\n { value: 'occurrence', text: 'Occurrence' }\n ]\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"yearlyRecurrenceMode()\"\n (onValueChanged)=\"yearlyRecurrenceMode.set($event.value)\"\n />\n </div>\n <div class=\"switch-group\">\n <span>Show Month Selection</span>\n <ax-switch [(value)]=\"showMonthSelection\" />\n </div>\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-config{background:var(--ax-sys-color-surface-container);padding:1.25rem;border-radius:var(--ax-sys-border-radius-md)}.ax-scheduler-picker-config h3{margin:0 0 1.25rem;font-size:1rem;font-weight:600;color:var(--ax-sys-color-on-surface)}.ax-scheduler-picker-config .control-group{margin-bottom:1.25rem}.ax-scheduler-picker-config .control-group:last-child{margin-bottom:0}.ax-scheduler-picker-config .control-group>label{display:block;font-size:.875rem;font-weight:500;color:var(--ax-sys-color-on-surface-variant);margin-bottom:.5rem}.ax-scheduler-picker-config .control-group ax-select-box{width:100%}.ax-scheduler-picker-config .control-subgroup{margin-bottom:.75rem}.ax-scheduler-picker-config .control-subgroup label{display:block;font-size:.8125rem;font-weight:500;color:var(--ax-sys-color-on-surface-variant);margin-bottom:.375rem}.ax-scheduler-picker-config .control-subgroup ax-select-box{width:100%}.ax-scheduler-picker-config .switch-group{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;gap:.75rem}.ax-scheduler-picker-config .switch-group span{font-size:.875rem;color:var(--ax-sys-color-on-surface)}.ax-scheduler-picker-config .switch-group ax-switch{flex-shrink:0}\n"], dependencies: [{ 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: "component", type: AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXSchedulerPickerConfigComponent, isStandalone: true, selector: "ax-scheduler-picker-config", outputs: { configChange: "configChange", modeChange: "modeChange" }, ngImport: i0, template: "<div class=\"ax-scheduler-picker-config\">\n <h3>Configuration</h3>\n\n <!-- Mode Selector -->\n <div class=\"control-group\">\n <label>Mode</label>\n <ax-select-box\n [dataSource]=\"modeOptions\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"selectedMode()\"\n (onValueChanged)=\"onModeChange($event.value)\"\n />\n </div>\n\n <!-- Global Options -->\n <div class=\"control-group\">\n <label>Global Options</label>\n <div class=\"switch-group\">\n <span>Show Interval</span>\n <ax-switch [(value)]=\"showInterval\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Start Condition</span>\n <ax-switch [(value)]=\"showStartCondition\" />\n </div>\n <div class=\"switch-group\">\n <span>Show End Conditions</span>\n <ax-switch [(value)]=\"showEndConditions\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Exclusions</span>\n <ax-switch [(value)]=\"showExclusions\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Inclusions</span>\n <ax-switch [(value)]=\"showInclusions\" />\n </div>\n </div>\n\n <!-- Mode-Specific Options -->\n @if (selectedMode() === 'daily') {\n <div class=\"control-group\">\n <label>Daily Options</label>\n <div class=\"switch-group\">\n <span>Show Weekdays Only</span>\n <ax-switch [(value)]=\"showWeekdaysOnly\" />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'weekly') {\n <div class=\"control-group\">\n <label>Weekly Options</label>\n <div class=\"switch-group\">\n <span>Show Weekday Selection</span>\n <ax-switch [(value)]=\"showWeekdaySelection\" />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'monthly') {\n <div class=\"control-group\">\n <label>Monthly Options</label>\n <div class=\"control-subgroup\">\n <label>Recurrence Mode</label>\n <ax-select-box\n [dataSource]=\"[\n { value: 'none', text: 'None' },\n { value: 'specificDays', text: 'Specific Days' },\n { value: 'occurrence', text: 'Occurrence' }\n ]\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"monthlyRecurrenceMode()\"\n (onValueChanged)=\"monthlyRecurrenceMode.set($event.value)\"\n />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'yearly') {\n <div class=\"control-group\">\n <label>Yearly Options</label>\n <div class=\"control-subgroup\">\n <label>Recurrence Mode</label>\n <ax-select-box\n [dataSource]=\"[\n { value: 'none', text: 'None' },\n { value: 'specificDate', text: 'Specific Date' },\n { value: 'occurrence', text: 'Occurrence' }\n ]\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"yearlyRecurrenceMode()\"\n (onValueChanged)=\"yearlyRecurrenceMode.set($event.value)\"\n />\n </div>\n <div class=\"switch-group\">\n <span>Show Month Selection</span>\n <ax-switch [(value)]=\"showMonthSelection\" />\n </div>\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-config{background:var(--ax-sys-color-surface-container);border-radius:var(--ax-sys-border-radius-md);padding:1.25rem}.ax-scheduler-picker-config h3{color:var(--ax-sys-color-on-surface);margin:0 0 1.25rem;font-size:1rem;font-weight:600}.ax-scheduler-picker-config .control-group{margin-bottom:1.25rem}.ax-scheduler-picker-config .control-group:last-child{margin-bottom:0}.ax-scheduler-picker-config .control-group>label{color:var(--ax-sys-color-on-surface-variant);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.ax-scheduler-picker-config .control-group ax-select-box{width:100%}.ax-scheduler-picker-config .control-subgroup{margin-bottom:.75rem}.ax-scheduler-picker-config .control-subgroup label{color:var(--ax-sys-color-on-surface-variant);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.ax-scheduler-picker-config .control-subgroup ax-select-box{width:100%}.ax-scheduler-picker-config .switch-group{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.ax-scheduler-picker-config .switch-group span{color:var(--ax-sys-color-on-surface);font-size:.875rem}.ax-scheduler-picker-config .switch-group ax-switch{flex-shrink:0}\n"], dependencies: [{ 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: "component", type: AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2326
2320
  }
2327
2321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXSchedulerPickerConfigComponent, decorators: [{
2328
2322
  type: Component,
2329
- args: [{ selector: 'ax-scheduler-picker-config', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXSelectBoxComponent, AXSwitchComponent, FormsModule], template: "<div class=\"ax-scheduler-picker-config\">\n <h3>Configuration</h3>\n\n <!-- Mode Selector -->\n <div class=\"control-group\">\n <label>Mode</label>\n <ax-select-box\n [dataSource]=\"modeOptions\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"selectedMode()\"\n (onValueChanged)=\"onModeChange($event.value)\"\n />\n </div>\n\n <!-- Global Options -->\n <div class=\"control-group\">\n <label>Global Options</label>\n <div class=\"switch-group\">\n <span>Show Interval</span>\n <ax-switch [(value)]=\"showInterval\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Start Condition</span>\n <ax-switch [(value)]=\"showStartCondition\" />\n </div>\n <div class=\"switch-group\">\n <span>Show End Conditions</span>\n <ax-switch [(value)]=\"showEndConditions\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Exclusions</span>\n <ax-switch [(value)]=\"showExclusions\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Inclusions</span>\n <ax-switch [(value)]=\"showInclusions\" />\n </div>\n </div>\n\n <!-- Mode-Specific Options -->\n @if (selectedMode() === 'daily') {\n <div class=\"control-group\">\n <label>Daily Options</label>\n <div class=\"switch-group\">\n <span>Show Weekdays Only</span>\n <ax-switch [(value)]=\"showWeekdaysOnly\" />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'weekly') {\n <div class=\"control-group\">\n <label>Weekly Options</label>\n <div class=\"switch-group\">\n <span>Show Weekday Selection</span>\n <ax-switch [(value)]=\"showWeekdaySelection\" />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'monthly') {\n <div class=\"control-group\">\n <label>Monthly Options</label>\n <div class=\"control-subgroup\">\n <label>Recurrence Mode</label>\n <ax-select-box\n [dataSource]=\"[\n { value: 'none', text: 'None' },\n { value: 'specificDays', text: 'Specific Days' },\n { value: 'occurrence', text: 'Occurrence' }\n ]\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"monthlyRecurrenceMode()\"\n (onValueChanged)=\"monthlyRecurrenceMode.set($event.value)\"\n />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'yearly') {\n <div class=\"control-group\">\n <label>Yearly Options</label>\n <div class=\"control-subgroup\">\n <label>Recurrence Mode</label>\n <ax-select-box\n [dataSource]=\"[\n { value: 'none', text: 'None' },\n { value: 'specificDate', text: 'Specific Date' },\n { value: 'occurrence', text: 'Occurrence' }\n ]\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"yearlyRecurrenceMode()\"\n (onValueChanged)=\"yearlyRecurrenceMode.set($event.value)\"\n />\n </div>\n <div class=\"switch-group\">\n <span>Show Month Selection</span>\n <ax-switch [(value)]=\"showMonthSelection\" />\n </div>\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-config{background:var(--ax-sys-color-surface-container);padding:1.25rem;border-radius:var(--ax-sys-border-radius-md)}.ax-scheduler-picker-config h3{margin:0 0 1.25rem;font-size:1rem;font-weight:600;color:var(--ax-sys-color-on-surface)}.ax-scheduler-picker-config .control-group{margin-bottom:1.25rem}.ax-scheduler-picker-config .control-group:last-child{margin-bottom:0}.ax-scheduler-picker-config .control-group>label{display:block;font-size:.875rem;font-weight:500;color:var(--ax-sys-color-on-surface-variant);margin-bottom:.5rem}.ax-scheduler-picker-config .control-group ax-select-box{width:100%}.ax-scheduler-picker-config .control-subgroup{margin-bottom:.75rem}.ax-scheduler-picker-config .control-subgroup label{display:block;font-size:.8125rem;font-weight:500;color:var(--ax-sys-color-on-surface-variant);margin-bottom:.375rem}.ax-scheduler-picker-config .control-subgroup ax-select-box{width:100%}.ax-scheduler-picker-config .switch-group{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;gap:.75rem}.ax-scheduler-picker-config .switch-group span{font-size:.875rem;color:var(--ax-sys-color-on-surface)}.ax-scheduler-picker-config .switch-group ax-switch{flex-shrink:0}\n"] }]
2323
+ args: [{ selector: 'ax-scheduler-picker-config', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXSelectBoxComponent, AXSwitchComponent, FormsModule], template: "<div class=\"ax-scheduler-picker-config\">\n <h3>Configuration</h3>\n\n <!-- Mode Selector -->\n <div class=\"control-group\">\n <label>Mode</label>\n <ax-select-box\n [dataSource]=\"modeOptions\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"selectedMode()\"\n (onValueChanged)=\"onModeChange($event.value)\"\n />\n </div>\n\n <!-- Global Options -->\n <div class=\"control-group\">\n <label>Global Options</label>\n <div class=\"switch-group\">\n <span>Show Interval</span>\n <ax-switch [(value)]=\"showInterval\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Start Condition</span>\n <ax-switch [(value)]=\"showStartCondition\" />\n </div>\n <div class=\"switch-group\">\n <span>Show End Conditions</span>\n <ax-switch [(value)]=\"showEndConditions\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Exclusions</span>\n <ax-switch [(value)]=\"showExclusions\" />\n </div>\n <div class=\"switch-group\">\n <span>Show Inclusions</span>\n <ax-switch [(value)]=\"showInclusions\" />\n </div>\n </div>\n\n <!-- Mode-Specific Options -->\n @if (selectedMode() === 'daily') {\n <div class=\"control-group\">\n <label>Daily Options</label>\n <div class=\"switch-group\">\n <span>Show Weekdays Only</span>\n <ax-switch [(value)]=\"showWeekdaysOnly\" />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'weekly') {\n <div class=\"control-group\">\n <label>Weekly Options</label>\n <div class=\"switch-group\">\n <span>Show Weekday Selection</span>\n <ax-switch [(value)]=\"showWeekdaySelection\" />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'monthly') {\n <div class=\"control-group\">\n <label>Monthly Options</label>\n <div class=\"control-subgroup\">\n <label>Recurrence Mode</label>\n <ax-select-box\n [dataSource]=\"[\n { value: 'none', text: 'None' },\n { value: 'specificDays', text: 'Specific Days' },\n { value: 'occurrence', text: 'Occurrence' }\n ]\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"monthlyRecurrenceMode()\"\n (onValueChanged)=\"monthlyRecurrenceMode.set($event.value)\"\n />\n </div>\n </div>\n }\n \n @if (selectedMode() === 'yearly') {\n <div class=\"control-group\">\n <label>Yearly Options</label>\n <div class=\"control-subgroup\">\n <label>Recurrence Mode</label>\n <ax-select-box\n [dataSource]=\"[\n { value: 'none', text: 'None' },\n { value: 'specificDate', text: 'Specific Date' },\n { value: 'occurrence', text: 'Occurrence' }\n ]\"\n [textField]=\"'text'\"\n [valueField]=\"'value'\"\n [value]=\"yearlyRecurrenceMode()\"\n (onValueChanged)=\"yearlyRecurrenceMode.set($event.value)\"\n />\n </div>\n <div class=\"switch-group\">\n <span>Show Month Selection</span>\n <ax-switch [(value)]=\"showMonthSelection\" />\n </div>\n </div>\n }\n</div>\n", styles: [".ax-scheduler-picker-config{background:var(--ax-sys-color-surface-container);border-radius:var(--ax-sys-border-radius-md);padding:1.25rem}.ax-scheduler-picker-config h3{color:var(--ax-sys-color-on-surface);margin:0 0 1.25rem;font-size:1rem;font-weight:600}.ax-scheduler-picker-config .control-group{margin-bottom:1.25rem}.ax-scheduler-picker-config .control-group:last-child{margin-bottom:0}.ax-scheduler-picker-config .control-group>label{color:var(--ax-sys-color-on-surface-variant);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.ax-scheduler-picker-config .control-group ax-select-box{width:100%}.ax-scheduler-picker-config .control-subgroup{margin-bottom:.75rem}.ax-scheduler-picker-config .control-subgroup label{color:var(--ax-sys-color-on-surface-variant);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.ax-scheduler-picker-config .control-subgroup ax-select-box{width:100%}.ax-scheduler-picker-config .switch-group{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.ax-scheduler-picker-config .switch-group span{color:var(--ax-sys-color-on-surface);font-size:.875rem}.ax-scheduler-picker-config .switch-group ax-switch{flex-shrink:0}\n"] }]
2330
2324
  }], ctorParameters: () => [], propDecorators: { configChange: [{ type: i0.Output, args: ["configChange"] }], modeChange: [{ type: i0.Output, args: ["modeChange"] }] } });
2331
2325
 
2332
2326
  // Main component