@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.
- package/collapse2/README.md +3 -0
- package/collapse2/index.d.ts +3 -0
- package/collapse2/lib/collapse2-group/collapse2-group.component.d.ts +13 -0
- package/collapse2/lib/collapse2-item/collapse2-item.component.d.ts +21 -0
- package/collapse2/lib/collapse2.module.d.ts +8 -0
- package/drawer-2/lib/drawer2-item/drawer2.component.d.ts +2 -2
- package/fesm2022/acorex-components-collapse.mjs +2 -2
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse2.mjs +120 -0
- package/fesm2022/acorex-components-collapse2.mjs.map +1 -0
- package/fesm2022/acorex-components-color-box.mjs +2 -2
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +2 -8
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-2.mjs +14 -1
- package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +133 -9
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +7 -1
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/map/index.d.ts +1 -0
- package/map/lib/map.component.d.ts +5 -0
- package/map/lib/map.service.d.ts +16 -1
- package/map/lib/map.type.d.ts +1 -0
- package/map/lib/poi.provider.d.ts +15 -0
- package/package.json +8 -4
@@ -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
|
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":";;;;;;;AAKA;;;AAGG;AAaG,MAAO,2BAA4B,SAAQ,eAAe,CAAA;AAC9D,IAAA,KAAK,GAAG,eAAe,CAAC,MAAK;AAC3B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE;QAClC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAY,UAAA,CAAA,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,CAAuB,CAAC;AACtG,KAAC,CAAC;+GAJS,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAH3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC,EAPrE,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;AAGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAOU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA;;;GAGT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,aAC1B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,2BAA6B,EAAE,CAAC,EAAA,cAAA,EAC/D,CAAC,0BAA0B,CAAC,EAAA,MAAA,EAAA,CAAA,mHAAA,CAAA,EAAA;;;ACJ9C;;;;AAIG;AAgBG,MAAO,kBAAmB,SAAQ,eAAe,CAAA;AAfvD,IAAA,WAAA,GAAA;;AAgBE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAmB,OAAO,CAAC;AAC3C,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAe,SAAS,CAAC;AACrC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAS,GAAG,CAAC;AAC/B,QAAA,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC;AAClC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC;AACvC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAe,CAAA,eAAA,GAAG,MAAM,EAAgB;QACxC,IAAqB,CAAA,qBAAA,GAAG,MAAM,EAAW;AACjC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAElD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAK;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACrC,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AACjD,YAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACvD,YAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;AACrE,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7C,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AACjD,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AACjD,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,MAAK;YAC3B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAClD,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACpE,aAAC,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACvD,gBAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,aAAC,CAAC;AACJ,SAAC,CAAC;AAaH;AA9BC,IAAA,IAAI;AAUJ,IAAA,KAAK;IASL,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;;IAG1B,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;;IAGxB,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;;+GAxCb,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EANlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE;AACzD,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE;SAClE,EAVS,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;AAGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAf9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA;;;AAGT,EAAA,CAAA,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,oBAAoB,EAAE;AACzD,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,oBAAoB,EAAE;qBAClE,EACe,cAAA,EAAA,CAAC,qBAAqB,CAAC,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA;;;AC5BzC,MAAM,SAAS,GAAG,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;AACnE,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC;MAOjB,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,OAAA,EAAA,CAPX,YAAY,EADV,kBAAkB,EAAE,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAA/C,kBAAkB,EAAE,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAQrD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAJb,OAAO,CAAA,EAAA,CAAA,CAAA;;4FAIT,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACZD;;AAEG;;;;"}
|
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,
|
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
|
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
|
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
|
-
|
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
|
-
|
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
|