@acorex/components 19.15.0-next.22 → 19.15.0-next.24

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.
@@ -138,7 +138,7 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
138
138
  useExisting: forwardRef(() => AXDateTimeBoxComponent),
139
139
  multi: true,
140
140
  },
141
- ], viewQueries: [{ propertyName: "input", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: "pickerRef", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n>\n <ng-container input>\n <ax-prefix>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n </ax-prefix>\n <ax-datetime-input\n dir=\"ltr\"\n [ngModel]=\"value\"\n id=\"{{ id }}-input\"\n [format]=\"format()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"type\"\n [depth]=\"depth\"\n [isRtl]=\"isRtl()\"\n [ngModel]=\"value\"\n [picker]=\"picker()\"\n [format]=\"format()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "allowTyping", "calendar", "minValue", "maxValue", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDateTimePickerComponent, selector: "ax-datetime-picker", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "isRtl", "currentTimeButton", "calendar", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "isRtlChange"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
141
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: "pickerRef", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n>\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [ngModel]=\"value\"\n id=\"{{ id }}-input\"\n [format]=\"format()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"type\"\n [depth]=\"depth\"\n [isRtl]=\"isRtl()\"\n [ngModel]=\"value\"\n [picker]=\"picker()\"\n [format]=\"format()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "allowTyping", "calendar", "minValue", "maxValue", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDateTimePickerComponent, selector: "ax-datetime-picker", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "isRtl", "currentTimeButton", "calendar", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "isRtlChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
142
142
  }
143
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXDateTimeBoxComponent, decorators: [{
144
144
  type: Component,
@@ -177,13 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
177
177
  useExisting: forwardRef(() => AXDateTimeBoxComponent),
178
178
  multi: true,
179
179
  },
180
- ], host: { ngSkipHydration: 'true' }, imports: [
181
- AXDropdownBoxComponent,
182
- AXDateTimeInputComponent,
183
- FormsModule,
184
- AXDateTimePickerComponent,
185
- AXDecoratorGenericComponent,
186
- ], template: "<ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n>\n <ng-container input>\n <ax-prefix>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n </ax-prefix>\n <ax-datetime-input\n dir=\"ltr\"\n [ngModel]=\"value\"\n id=\"{{ id }}-input\"\n [format]=\"format()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"type\"\n [depth]=\"depth\"\n [isRtl]=\"isRtl()\"\n [ngModel]=\"value\"\n [picker]=\"picker()\"\n [format]=\"format()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}\n"] }]
180
+ ], host: { ngSkipHydration: 'true' }, imports: [AXDropdownBoxComponent, AXDateTimeInputComponent, FormsModule, AXDateTimePickerComponent], template: "<ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n>\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [ngModel]=\"value\"\n id=\"{{ id }}-input\"\n [format]=\"format()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"type\"\n [depth]=\"depth\"\n [isRtl]=\"isRtl()\"\n [ngModel]=\"value\"\n [picker]=\"picker()\"\n [format]=\"format()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}\n"] }]
187
181
  }], propDecorators: { input: [{
188
182
  type: ViewChild,
189
183
  args: [AXDateTimeInputComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-datetime-box.mjs","sources":["../../../../packages/components/datetime-box/src/lib/datetime-box.component.ts","../../../../packages/components/datetime-box/src/lib/datetime-box.component.html","../../../../packages/components/datetime-box/src/lib/datetime-box.module.ts","../../../../packages/components/datetime-box/src/acorex-components-datetime-box.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXEvent,\n AXFocusEvent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXCalendarNavigateEvent, AXDateTimePickerType, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport { AXDateTimeInputComponent } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Output,\n ViewChild,\n ViewEncapsulation,\n afterNextRender,\n effect,\n forwardRef,\n input,\n linkedSignal,\n signal,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * Represents a date and time input component that allows user interaction and triggers events.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-box',\n templateUrl: './datetime-box.component.html',\n styleUrl: './datetime-box.component.scss',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'depth',\n 'id',\n 'type',\n 'look',\n 'holidayDates',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onOpened',\n 'onClosed',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ],\n host: { ngSkipHydration: 'true' },\n imports: [\n AXDropdownBoxComponent,\n AXDateTimeInputComponent,\n FormsModule,\n AXDateTimePickerComponent,\n AXDecoratorGenericComponent,\n ],\n})\nexport class AXDateTimeBoxComponent extends classes(\n MXInputBaseValueComponent<Date>,\n MXCalendarBaseComponent,\n MXDropdownBoxBaseComponent,\n MXLookComponent,\n AXDecoratorGenericComponent,\n) {\n /**\n * @ignore\n */\n @ViewChild(AXDateTimeInputComponent)\n protected input: AXDateTimeInputComponent;\n\n /**\n * @ignore\n */\n @ViewChild(AXDateTimePickerComponent)\n protected pickerRef: AXDateTimePickerComponent;\n\n /**\n * @ignore\n */\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n /**\n * Emitted when the format of the component changes.\n *\n * @event\n */\n @Output()\n formatChange = new EventEmitter<string>();\n\n /**\n * Indicates whether typing is allowed in the component.\n *\n * @defaultValue false\n */\n allowTyping = input<boolean>(false);\n\n protected isRtl = signal(false);\n\n #init = afterNextRender(() => {\n this.isRtl.set(AXHtmlUtil.isRtl(this.getHostElement()));\n });\n\n /**\n * @description The calendar type to use for the datetime input.\n */\n calendar = input<string | null>(null);\n\n protected _calendarSystem = linkedSignal<string | null>(() => this.calendar() ?? this.type);\n\n private _format = linkedSignal<string>(() => this.format());\n\n picker = input<AXDateTimePickerType>('datetime');\n\n /**\n * @deprecated use locale & mode instead\n */\n format = input<string | null>();\n\n #effect = effect(() => {\n const profile = this.localeService.activeProfile();\n //\n if (!this.format()) {\n this._format.set(this.format() ?? profile.formats[this.picker()]?.short ?? '');\n }\n //\n if (!this.calendar()) {\n this._calendarSystem.set(profile.calendar.system);\n }\n });\n\n /**\n * @ignore\n */\n protected _handleInputModelChange(value: Date | null) {\n this.commitValue(value, true);\n }\n\n /**\n * @ignore\n */\n protected _handlePickerModelChange(value: Date | null) {\n if (this.isOpen) {\n this.commitValue(value, true);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleOnOpenedEvent(e: AXEvent) {\n //this.emitOnFocusEvent(null);\n this.emitOnOpenedEvent();\n }\n\n /**\n * @ignore\n */\n protected _handleOnClosedEvent(e: AXEvent) {\n //this.emitOnBlurEvent(null);\n this.input.focus();\n this.emitOnClosedEvent();\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnFocusEvent(e: AXFocusEvent) {\n this.emitOnFocusEvent(e.nativeEvent);\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnBlurEvent(e: AXFocusEvent) {\n this.emitOnBlurEvent(e.nativeEvent);\n }\n\n /**\n * @ignore\n */\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n /**\n * Handles changes to the internal value.\n * @param value The new value that was set.\n * @ignore\n */\n override internalValueChanged(value): void {\n this.close();\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnClick() {\n if (!this.allowTyping()) {\n this.open();\n } else {\n this.close();\n }\n }\n}\n","<ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n>\n <ng-container input>\n <ax-prefix>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n </ax-prefix>\n <ax-datetime-input\n dir=\"ltr\"\n [ngModel]=\"value\"\n id=\"{{ id }}-input\"\n [format]=\"format()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"type\"\n [depth]=\"depth\"\n [isRtl]=\"isRtl()\"\n [ngModel]=\"value\"\n [picker]=\"picker()\"\n [format]=\"format()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXDateTimeInputModule } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerModule } from '@acorex/components/datetime-picker';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeBoxComponent } from './datetime-box.component';\n\nconst COMPONENT = [AXDateTimeBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXDateTimeInputModule,\n AXDropdownModule,\n AXCalendarModule,\n AXDateTimePickerModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-datetime-box.mjs","sources":["../../../../packages/components/datetime-box/src/lib/datetime-box.component.ts","../../../../packages/components/datetime-box/src/lib/datetime-box.component.html","../../../../packages/components/datetime-box/src/lib/datetime-box.module.ts","../../../../packages/components/datetime-box/src/acorex-components-datetime-box.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXEvent,\n AXFocusEvent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXCalendarNavigateEvent, AXDateTimePickerType, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport { AXDateTimeInputComponent } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Output,\n ViewChild,\n ViewEncapsulation,\n afterNextRender,\n effect,\n forwardRef,\n input,\n linkedSignal,\n signal,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * Represents a date and time input component that allows user interaction and triggers events.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-box',\n templateUrl: './datetime-box.component.html',\n styleUrl: './datetime-box.component.scss',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'depth',\n 'id',\n 'type',\n 'look',\n 'holidayDates',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onOpened',\n 'onClosed',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ],\n host: { ngSkipHydration: 'true' },\n imports: [AXDropdownBoxComponent, AXDateTimeInputComponent, FormsModule, AXDateTimePickerComponent],\n})\nexport class AXDateTimeBoxComponent extends classes(\n MXInputBaseValueComponent<Date>,\n MXCalendarBaseComponent,\n MXDropdownBoxBaseComponent,\n MXLookComponent,\n AXDecoratorGenericComponent,\n) {\n /**\n * @ignore\n */\n @ViewChild(AXDateTimeInputComponent)\n protected input: AXDateTimeInputComponent;\n\n /**\n * @ignore\n */\n @ViewChild(AXDateTimePickerComponent)\n protected pickerRef: AXDateTimePickerComponent;\n\n /**\n * @ignore\n */\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n /**\n * Emitted when the format of the component changes.\n *\n * @event\n */\n @Output()\n formatChange = new EventEmitter<string>();\n\n /**\n * Indicates whether typing is allowed in the component.\n *\n * @defaultValue false\n */\n allowTyping = input<boolean>(false);\n\n protected isRtl = signal(false);\n\n #init = afterNextRender(() => {\n this.isRtl.set(AXHtmlUtil.isRtl(this.getHostElement()));\n });\n\n /**\n * @description The calendar type to use for the datetime input.\n */\n calendar = input<string | null>(null);\n\n protected _calendarSystem = linkedSignal<string | null>(() => this.calendar() ?? this.type);\n\n private _format = linkedSignal<string>(() => this.format());\n\n picker = input<AXDateTimePickerType>('datetime');\n\n /**\n * @deprecated use locale & mode instead\n */\n format = input<string | null>();\n\n #effect = effect(() => {\n const profile = this.localeService.activeProfile();\n //\n if (!this.format()) {\n this._format.set(this.format() ?? profile.formats[this.picker()]?.short ?? '');\n }\n //\n if (!this.calendar()) {\n this._calendarSystem.set(profile.calendar.system);\n }\n });\n\n /**\n * @ignore\n */\n protected _handleInputModelChange(value: Date | null) {\n this.commitValue(value, true);\n }\n\n /**\n * @ignore\n */\n protected _handlePickerModelChange(value: Date | null) {\n if (this.isOpen) {\n this.commitValue(value, true);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleOnOpenedEvent(e: AXEvent) {\n //this.emitOnFocusEvent(null);\n this.emitOnOpenedEvent();\n }\n\n /**\n * @ignore\n */\n protected _handleOnClosedEvent(e: AXEvent) {\n //this.emitOnBlurEvent(null);\n this.input.focus();\n this.emitOnClosedEvent();\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnFocusEvent(e: AXFocusEvent) {\n this.emitOnFocusEvent(e.nativeEvent);\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnBlurEvent(e: AXFocusEvent) {\n this.emitOnBlurEvent(e.nativeEvent);\n }\n\n /**\n * @ignore\n */\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n /**\n * Handles changes to the internal value.\n * @param value The new value that was set.\n * @ignore\n */\n override internalValueChanged(value): void {\n this.close();\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnClick() {\n if (!this.allowTyping()) {\n this.open();\n } else {\n this.close();\n }\n }\n}\n","<ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n>\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [ngModel]=\"value\"\n id=\"{{ id }}-input\"\n [format]=\"format()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"type\"\n [depth]=\"depth\"\n [isRtl]=\"isRtl()\"\n [ngModel]=\"value\"\n [picker]=\"picker()\"\n [format]=\"format()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXDateTimeInputModule } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerModule } from '@acorex/components/datetime-picker';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeBoxComponent } from './datetime-box.component';\n\nconst COMPONENT = [AXDateTimeBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXDateTimeInputModule,\n AXDropdownModule,\n AXCalendarModule,\n AXDateTimePickerModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { MXBaseComponent, AXComponent, AXClosableComponent } from '@acorex/cdk/c
2
2
  import * as i1 from '@acorex/cdk/drawer';
3
3
  import { AXDrawerContainerDirective, AXDrawerItemDirective } from '@acorex/cdk/drawer';
4
4
  import * as i0 from '@angular/core';
5
- import { afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, input, output, inject, effect, NgModule } from '@angular/core';
5
+ import { afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, input, output, inject, ElementRef, effect, NgModule } from '@angular/core';
6
6
  import { CommonModule } from '@angular/common';
7
7
 
8
8
  /**
@@ -46,6 +46,7 @@ class AXDrawer2Component extends MXBaseComponent {
46
46
  this.onBackdropClick = output();
47
47
  this.collapsedStateChanged = output();
48
48
  this.drawerItem = inject(AXDrawerItemDirective);
49
+ this.el = inject(ElementRef);
49
50
  this.#eff = effect(() => {
50
51
  this.drawerItem.mode.set(this.mode());
51
52
  this.drawerItem.transition.set(this.transition());
@@ -56,12 +57,24 @@ class AXDrawer2Component extends MXBaseComponent {
56
57
  this.drawerItem.collapsed.set(this.collapsed());
57
58
  });
58
59
  this.#init = afterNextRender(() => {
60
+ if (this.collapsed()) {
61
+ this.el.nativeElement.style.opacity = '0';
62
+ this.el.nativeElement.style.visibility = 'hidden';
63
+ }
59
64
  this.drawerItem.onBackdropClick.subscribe((event) => {
60
65
  this.onBackdropClick.emit({ nativeEvent: event, component: this });
61
66
  });
62
67
  this.drawerItem.collapseStateChanged.subscribe((event) => {
63
68
  this.collapsedStateChanged.emit(event);
64
69
  });
70
+ this.drawerItem.isDirectiveInit.subscribe((event) => {
71
+ if (event) {
72
+ setTimeout(() => {
73
+ this.el.nativeElement.style.opacity = '1';
74
+ this.el.nativeElement.style.visibility = 'visible';
75
+ });
76
+ }
77
+ });
65
78
  });
66
79
  }
67
80
  #eff;
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-drawer-2.mjs","sources":["../../../../packages/components/drawer-2/src/lib/drawer2-container/drawer2-container.component.ts","../../../../packages/components/drawer-2/src/lib/drawer2-item/drawer2.component.ts","../../../../packages/components/drawer-2/src/lib/drawer2.module.ts","../../../../packages/components/drawer-2/src/acorex-components-drawer-2.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXDrawerContainerDirective } from '@acorex/cdk/drawer';\nimport { afterNextRender, ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { AXDrawer2Component } from '../drawer2-item/drawer2.component';\n\n/**\n * A container component that organizes and positions drawer components.\n * @category component\n */\n@Component({\n selector: 'ax-drawer2-container',\n template: `\n <ng-content select=\"ax-drawer2\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n `,\n styleUrl: './drawer2-container.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXDrawer2ContainerComponent }],\n hostDirectives: [AXDrawerContainerDirective],\n})\nexport class AXDrawer2ContainerComponent extends MXBaseComponent {\n #init = afterNextRender(() => {\n const host = this.getHostElement();\n Array.from(host.querySelectorAll(`ax-drawer2`)).map((c) => c['__axContext__'] as AXDrawer2Component);\n });\n}\n","import { AXClickEvent, AXClosableComponent, AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXDrawerItemDirective } from '@acorex/cdk/drawer';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nexport type AXDrawerMode = 'push' | 'overlay';\nexport type AXDrawerLocation = 'start' | 'end' | 'top' | 'bottom';\n\n/**\n * A component that represents a drawer with header and content sections.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-drawer2',\n template: `\n <ng-content select=\"ax-header\"></ng-content>\n <ng-content select=\"ax-content\"></ng-content>\n `,\n styleUrl: './drawer2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDrawer2Component },\n { provide: AXClosableComponent, useExisting: AXDrawer2Component },\n ],\n hostDirectives: [AXDrawerItemDirective],\n})\nexport class AXDrawer2Component extends MXBaseComponent {\n location = input<AXDrawerLocation>('start');\n showBackdrop = input(true);\n mode = input<AXDrawerMode>('overlay');\n transition = input<number>(100);\n closeOnBackdropClick = input(true);\n backdropClass = input('ax-bg-black/45');\n collapsed = input(true);\n onBackdropClick = output<AXClickEvent>();\n collapsedStateChanged = output<boolean>();\n private drawerItem = inject(AXDrawerItemDirective);\n\n #eff = effect(() => {\n this.drawerItem.mode.set(this.mode());\n this.drawerItem.transition.set(this.transition());\n this.drawerItem.backdropClass.set(this.backdropClass());\n this.drawerItem.closeOnBackdropClick.set(this.closeOnBackdropClick());\n this.drawerItem.location.set(this.location());\n this.drawerItem.backDrop.set(this.showBackdrop());\n this.drawerItem.collapsed.set(this.collapsed());\n });\n\n #init = afterNextRender(() => {\n this.drawerItem.onBackdropClick.subscribe((event) => {\n this.onBackdropClick.emit({ nativeEvent: event, component: this });\n });\n this.drawerItem.collapseStateChanged.subscribe((event) => {\n this.collapsedStateChanged.emit(event);\n });\n });\n\n toggle() {\n this.drawerItem.toggle();\n }\n\n close() {\n this.drawerItem.hide();\n }\n\n open() {\n this.drawerItem.show();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDrawer2ContainerComponent } from './drawer2-container/drawer2-container.component';\nimport { AXDrawer2Component } from './drawer2-item/drawer2.component';\n\nconst COMPONENT = [AXDrawer2Component, AXDrawer2ContainerComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDrawer2Module {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-drawer-2.mjs","sources":["../../../../packages/components/drawer-2/src/lib/drawer2-container/drawer2-container.component.ts","../../../../packages/components/drawer-2/src/lib/drawer2-item/drawer2.component.ts","../../../../packages/components/drawer-2/src/lib/drawer2.module.ts","../../../../packages/components/drawer-2/src/acorex-components-drawer-2.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXDrawerContainerDirective } from '@acorex/cdk/drawer';\nimport { afterNextRender, ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { AXDrawer2Component } from '../drawer2-item/drawer2.component';\n\n/**\n * A container component that organizes and positions drawer components.\n * @category component\n */\n@Component({\n selector: 'ax-drawer2-container',\n template: `\n <ng-content select=\"ax-drawer2\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n `,\n styleUrl: './drawer2-container.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXDrawer2ContainerComponent }],\n hostDirectives: [AXDrawerContainerDirective],\n})\nexport class AXDrawer2ContainerComponent extends MXBaseComponent {\n #init = afterNextRender(() => {\n const host = this.getHostElement();\n Array.from(host.querySelectorAll(`ax-drawer2`)).map((c) => c['__axContext__'] as AXDrawer2Component);\n });\n}\n","import { AXClickEvent, AXClosableComponent, AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXDrawerItemDirective, AXDrawerLocation, AXDrawerMode } from '@acorex/cdk/drawer';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * A component that represents a drawer with header and content sections.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-drawer2',\n template: `\n <ng-content select=\"ax-header\"></ng-content>\n <ng-content select=\"ax-content\"></ng-content>\n `,\n styleUrl: './drawer2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDrawer2Component },\n { provide: AXClosableComponent, useExisting: AXDrawer2Component },\n ],\n hostDirectives: [AXDrawerItemDirective],\n})\nexport class AXDrawer2Component extends MXBaseComponent {\n location = input<AXDrawerLocation>('start');\n showBackdrop = input(true);\n mode = input<AXDrawerMode>('overlay');\n transition = input<number>(100);\n closeOnBackdropClick = input(true);\n backdropClass = input('ax-bg-black/45');\n collapsed = input(true);\n onBackdropClick = output<AXClickEvent>();\n collapsedStateChanged = output<boolean>();\n private drawerItem = inject(AXDrawerItemDirective);\n private el = inject(ElementRef);\n\n #eff = effect(() => {\n this.drawerItem.mode.set(this.mode());\n this.drawerItem.transition.set(this.transition());\n this.drawerItem.backdropClass.set(this.backdropClass());\n this.drawerItem.closeOnBackdropClick.set(this.closeOnBackdropClick());\n this.drawerItem.location.set(this.location());\n this.drawerItem.backDrop.set(this.showBackdrop());\n this.drawerItem.collapsed.set(this.collapsed());\n });\n\n #init = afterNextRender(() => {\n if (this.collapsed()) {\n (this.el.nativeElement as HTMLElement).style.opacity = '0';\n (this.el.nativeElement as HTMLElement).style.visibility = 'hidden';\n }\n\n this.drawerItem.onBackdropClick.subscribe((event) => {\n this.onBackdropClick.emit({ nativeEvent: event, component: this });\n });\n this.drawerItem.collapseStateChanged.subscribe((event) => {\n this.collapsedStateChanged.emit(event);\n });\n this.drawerItem.isDirectiveInit.subscribe((event) => {\n if (event) {\n setTimeout(() => {\n (this.el.nativeElement as HTMLElement).style.opacity = '1';\n (this.el.nativeElement as HTMLElement).style.visibility = 'visible';\n });\n }\n });\n });\n\n toggle() {\n this.drawerItem.toggle();\n }\n\n close() {\n this.drawerItem.hide();\n }\n\n open() {\n this.drawerItem.show();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDrawer2ContainerComponent } from './drawer2-container/drawer2-container.component';\nimport { AXDrawer2Component } from './drawer2-item/drawer2.component';\n\nconst COMPONENT = [AXDrawer2Component, AXDrawer2ContainerComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDrawer2Module {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AXComponent } from '@acorex/cdk/common';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, EventEmitter, Injectable, model, input, output, viewChild, signal, afterNextRender, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, EventEmitter, model, input, output, viewChild, signal, afterNextRender, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { distinctUntilChanged } from 'rxjs/operators';
5
5
  import { AXIconResolverService } from '@acorex/core/icon';
6
6
  import { AX_GLOBAL_CONFIG } from '@acorex/core/config';
@@ -31,6 +31,35 @@ function mapConfig(config = {}) {
31
31
  return result;
32
32
  }
33
33
 
34
+ const AX_MAP_POI_PROVIDER = new InjectionToken('AX_MAP_POI_PROVIDER');
35
+ class AXPoiProviderService {
36
+ constructor() {
37
+ this.providers = inject(AX_MAP_POI_PROVIDER, { optional: true }) ?? [];
38
+ this.cache = new Map();
39
+ }
40
+ async getList() {
41
+ const result = [];
42
+ const providers = Array.isArray(this.providers) ? this.providers : [this.providers];
43
+ for (const provider of providers) {
44
+ if (!this.cache.has(provider.key)) {
45
+ const list = await provider.provide();
46
+ this.cache.set(provider.key, list);
47
+ }
48
+ const items = this.cache.get(provider.key) ?? [];
49
+ result.push(...items);
50
+ }
51
+ return result;
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXPoiProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
54
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXPoiProviderService, providedIn: 'root' }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXPoiProviderService, decorators: [{
57
+ type: Injectable,
58
+ args: [{
59
+ providedIn: 'root',
60
+ }]
61
+ }] });
62
+
34
63
  /**
35
64
  * Service for managing Leaflet maps and related functionalities.
36
65
  */
@@ -38,6 +67,7 @@ class AXLeafletService {
38
67
  constructor() {
39
68
  this.mapConfig = inject(AX_MAP_CONFIG);
40
69
  this.iconResolver = inject(AXIconResolverService, { optional: true });
70
+ this.poiProviderService = inject(AXPoiProviderService, { optional: true });
41
71
  this.position = 'topleft';
42
72
  this.maxMarkers = null;
43
73
  this.maxPolygons = null;
@@ -135,6 +165,8 @@ class AXLeafletService {
135
165
  // Add event listeners for zoom and move changes
136
166
  this.map.on('zoomend', () => this.handleZoomChange());
137
167
  this.map.on('moveend', () => this.handleCenterChange());
168
+ // Load POIs from providers
169
+ await this.loadPoisFromProviders();
138
170
  }
139
171
  handleZoomChange() {
140
172
  if (this.map) {
@@ -342,6 +374,12 @@ class AXLeafletService {
342
374
  if (layer.options.iconKey) {
343
375
  poi.iconKey = layer.options.iconKey;
344
376
  }
377
+ if (layer.options.providerKey) {
378
+ poi.providerKey = layer.options.providerKey;
379
+ }
380
+ if (layer.options.minZoom !== undefined) {
381
+ poi.minZoom = layer.options.minZoom;
382
+ }
345
383
  // Handle popup if available
346
384
  const popup = layer.getPopup();
347
385
  if (popup) {
@@ -504,16 +542,21 @@ class AXLeafletService {
504
542
  }
505
543
  /**
506
544
  * Clears all drawn items, including markers, polygons, and POIs.
545
+ * @param clearPois Whether to clear POI markers as well. Defaults to false.
507
546
  */
508
- clearDrawItems() {
547
+ clearDrawItems(clearPois = false) {
509
548
  if (this.map && this.drawnItems) {
510
549
  this.drawnItems.clearLayers();
511
550
  this.addDrawControl(this.position, this.maxMarkers, this.maxPolygons);
512
- // Clear POI layer if exists
513
- if (this.poiLayer) {
551
+ // Clear POI layer if requested
552
+ if (clearPois && this.poiLayer) {
514
553
  this.poiLayer.clearLayers();
515
554
  this.poiMarkers = []; // Clear the tracked markers array
516
555
  this.onPoiChanged.emit([]);
556
+ // Reload POIs from providers if clearing them and provider service is available
557
+ if (this.poiProviderService) {
558
+ this.loadPoisFromProviders();
559
+ }
517
560
  }
518
561
  this.onMarkerChanged.emit([]);
519
562
  this.onPolygonChanged.emit([]);
@@ -657,6 +700,7 @@ class AXLeafletService {
657
700
  this.drawControl = undefined; // Important: Clear references to prevent memory leaks
658
701
  this.locateControl = undefined;
659
702
  this.drawnItems = undefined;
703
+ this.poiLayer = undefined;
660
704
  }
661
705
  }
662
706
  /**
@@ -880,8 +924,11 @@ class AXLeafletService {
880
924
  title: poi.title,
881
925
  draggable: true,
882
926
  };
883
- // Add custom property to options
927
+ // Add custom properties to options
884
928
  markerOptions.iconKey = poi.iconKey;
929
+ markerOptions.providerKey = poi.providerKey;
930
+ // Store minZoom property in marker options
931
+ markerOptions.minZoom = poi.minZoom !== undefined ? poi.minZoom : this.poiMinZoom;
885
932
  const marker = this.L.marker([poi.latitude, poi.longitude], markerOptions);
886
933
  if (poi.popup) {
887
934
  marker.bindPopup(poi.popup, {
@@ -926,11 +973,13 @@ class AXLeafletService {
926
973
  * @param currentZoom The current zoom level of the map
927
974
  */
928
975
  updatePoiVisibility(currentZoom) {
929
- const isVisible = currentZoom >= this.poiMinZoom;
930
- // Update opacity of all POI markers - 0 makes them invisible but they stay in the DOM
976
+ // Check each marker individually against its own minZoom value or the global one
931
977
  this.poiMarkers.forEach((marker) => {
932
978
  const el = marker.getElement();
933
979
  if (el) {
980
+ // Use the marker's specific minZoom if available, otherwise use the global setting
981
+ const markerMinZoom = marker.options.minZoom !== undefined ? marker.options.minZoom : this.poiMinZoom;
982
+ const isVisible = currentZoom >= markerMinZoom;
934
983
  el.style.opacity = isVisible ? '1' : '0';
935
984
  // Disable pointer events when hidden
936
985
  el.style.pointerEvents = isVisible ? 'auto' : 'none';
@@ -954,6 +1003,71 @@ class AXLeafletService {
954
1003
  getPoiMinZoom() {
955
1004
  return this.poiMinZoom;
956
1005
  }
1006
+ /**
1007
+ * Loads POIs from all registered providers
1008
+ */
1009
+ async loadPoisFromProviders() {
1010
+ if (!this.map || !this.poiProviderService) {
1011
+ return;
1012
+ }
1013
+ try {
1014
+ const pois = await this.poiProviderService.getList();
1015
+ if (pois.length > 0) {
1016
+ await this.addPoi(pois);
1017
+ }
1018
+ }
1019
+ catch (error) {
1020
+ console.error('Error loading POIs from providers:', error);
1021
+ }
1022
+ }
1023
+ /**
1024
+ * Refreshes POIs from providers, clearing existing POIs first
1025
+ */
1026
+ async refreshPois() {
1027
+ if (!this.map || !this.poiLayer || !this.poiProviderService) {
1028
+ return;
1029
+ }
1030
+ // Clear existing POIs
1031
+ this.poiLayer.clearLayers();
1032
+ this.poiMarkers = [];
1033
+ // Load POIs from providers
1034
+ await this.loadPoisFromProviders();
1035
+ }
1036
+ /**
1037
+ * Refreshes POIs from a specific provider by key
1038
+ * @param providerKey The key of the provider to refresh
1039
+ */
1040
+ async refreshPoiByProvider(providerKey) {
1041
+ if (!this.map || !this.poiLayer || !this.poiProviderService) {
1042
+ return;
1043
+ }
1044
+ try {
1045
+ // Remove existing POIs for this provider
1046
+ const currentPois = this.getPois();
1047
+ // First remove all POI markers from this provider from the map
1048
+ this.poiMarkers = this.poiMarkers.filter((marker) => {
1049
+ const latLng = marker.getLatLng();
1050
+ const isPoi = currentPois.some((poi) => poi.latitude === latLng.lat && poi.longitude === latLng.lng && poi.providerKey === providerKey);
1051
+ if (isPoi) {
1052
+ this.poiLayer.removeLayer(marker);
1053
+ return false;
1054
+ }
1055
+ return true;
1056
+ });
1057
+ // Get fresh POIs from the provider
1058
+ const pois = await this.poiProviderService.getList();
1059
+ // Filter POIs from the specific provider
1060
+ const providerPois = pois.filter((poi) => poi.providerKey === providerKey);
1061
+ // Add the refreshed POIs
1062
+ if (providerPois.length > 0) {
1063
+ await this.addPoi(providerPois);
1064
+ }
1065
+ this.onPoiChanged.emit(this.getPois());
1066
+ }
1067
+ catch (error) {
1068
+ console.error(`Error refreshing POIs from provider ${providerKey}:`, error);
1069
+ }
1070
+ }
957
1071
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXLeafletService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
958
1072
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXLeafletService }); }
959
1073
  }
@@ -1218,7 +1332,9 @@ class AXMapComponent {
1218
1332
  if (this.fitToDraw()) {
1219
1333
  this.fitBoundsToDrawItems();
1220
1334
  }
1221
- else {
1335
+ });
1336
+ this.#latlngEffect = effect(() => {
1337
+ if (this.rendered()) {
1222
1338
  this.leafletService.setCenter({
1223
1339
  latitude: this.latitude(),
1224
1340
  longitude: this.longitude(),
@@ -1442,6 +1558,7 @@ class AXMapComponent {
1442
1558
  * Effect for center changes (lat/long)
1443
1559
  */
1444
1560
  #centerEffect;
1561
+ #latlngEffect;
1445
1562
  /**
1446
1563
  * Effect for POI minimum zoom level changes
1447
1564
  */
@@ -1467,6 +1584,13 @@ class AXMapComponent {
1467
1584
  updateMarkersPopups(updates) {
1468
1585
  return this.leafletService.updateMarkerPopups(updates);
1469
1586
  }
1587
+ /**
1588
+ * @description
1589
+ * Refreshes POIs from providers, clearing existing POIs first
1590
+ */
1591
+ async refreshPois() {
1592
+ return this.leafletService.refreshPois();
1593
+ }
1470
1594
  /**
1471
1595
  * Cleanup function that destroys the map and unsubscribes from all subscriptions.
1472
1596
  */
@@ -15047,5 +15171,5 @@ const AX_WORLD_COUNTRIES = [
15047
15171
  * Generated bundle index. Do not edit.
15048
15172
  */
15049
15173
 
15050
- export { AXConvertGeoJSONToAXMapPolygons, AXLeafletService, AXMapComponent, AXMapDefaultConfig, AXMapModule, AX_MAP_CONFIG, AX_WORLD_COUNTRIES, AX_WORLD_GEO_JSON, baseUrl, mapConfig };
15174
+ export { AXConvertGeoJSONToAXMapPolygons, AXLeafletService, AXMapComponent, AXMapDefaultConfig, AXMapModule, AXPoiProviderService, AX_MAP_CONFIG, AX_MAP_POI_PROVIDER, AX_WORLD_COUNTRIES, AX_WORLD_GEO_JSON, baseUrl, mapConfig };
15051
15175
  //# sourceMappingURL=acorex-components-map.mjs.map