@acorex/components 7.8.19 → 7.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/esm2022/button/lib/button-item-list.component.mjs +2 -2
  2. package/esm2022/button/lib/button.component.mjs +2 -2
  3. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +8 -3
  4. package/esm2022/navbar/acorex-components-navbar.mjs +5 -0
  5. package/esm2022/navbar/index.mjs +3 -0
  6. package/esm2022/navbar/lib/navbar.component.mjs +12 -0
  7. package/esm2022/navbar/lib/navbar.module.mjs +18 -0
  8. package/esm2022/page/lib/base-page.class.mjs +1 -1
  9. package/esm2022/popover/lib/popover.component.mjs +5 -1
  10. package/esm2022/progress-bar/lib/progress-bar.component.mjs +3 -3
  11. package/esm2022/uploader/lib/uploader-list.component.mjs +20 -13
  12. package/esm2022/uploader/lib/uploader-zone.directive.mjs +14 -15
  13. package/esm2022/uploader/lib/uploader.service.mjs +22 -13
  14. package/fesm2022/acorex-components-button.mjs +4 -4
  15. package/fesm2022/acorex-components-button.mjs.map +1 -1
  16. package/fesm2022/acorex-components-menu.mjs +7 -2
  17. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  18. package/fesm2022/acorex-components-navbar.mjs +34 -0
  19. package/fesm2022/acorex-components-navbar.mjs.map +1 -0
  20. package/fesm2022/acorex-components-page.mjs.map +1 -1
  21. package/fesm2022/acorex-components-popover.mjs +4 -0
  22. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  23. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  24. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  25. package/fesm2022/acorex-components-uploader.mjs +53 -38
  26. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  27. package/menu/lib/menu-item/menu-item.component.d.ts +2 -0
  28. package/navbar/README.md +3 -0
  29. package/navbar/index.d.ts +2 -0
  30. package/navbar/lib/navbar.component.d.ts +6 -0
  31. package/navbar/lib/navbar.module.d.ts +8 -0
  32. package/package.json +7 -1
  33. package/page/lib/base-page.class.d.ts +2 -2
  34. package/uploader/lib/uploader-list.component.d.ts +3 -1
  35. package/uploader/lib/uploader-zone.directive.d.ts +2 -4
  36. package/uploader/lib/uploader.service.d.ts +3 -2
@@ -1,6 +1,6 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ViewEncapsulation, inject, Injectable, afterNextRender, Directive, Input, HostBinding, NgModule } from '@angular/core';
3
+ import { Component, ViewEncapsulation, inject, Injectable, Directive, Input, HostBinding, NgModule } from '@angular/core';
4
4
  import * as i1 from '@acorex/components/decorators';
5
5
  import { AXDecoratorModule } from '@acorex/components/decorators';
6
6
  import { trigger, state, style, AUTO_STYLE, transition, animate } from '@angular/animations';
@@ -8,6 +8,7 @@ import * as i1$1 from '@angular/cdk/dialog';
8
8
  import { Dialog, DIALOG_DATA } from '@angular/cdk/dialog';
9
9
  import { GlobalPositionStrategy } from '@angular/cdk/overlay';
10
10
  import { HttpClient, HttpClientModule } from '@angular/common/http';
11
+ import { BehaviorSubject } from 'rxjs';
11
12
  import * as i2 from '@angular/common';
12
13
  import { CommonModule } from '@angular/common';
13
14
  import * as i3 from '@acorex/components/progress-bar';
@@ -30,20 +31,28 @@ class AXUploaderService {
30
31
  constructor() {
31
32
  this.dialog = inject(Dialog);
32
33
  this.http = inject(HttpClient);
33
- this.files = [];
34
+ this.files$ = new BehaviorSubject([]);
34
35
  }
35
- openDialog(data) {
36
- this.files = [...data];
36
+ openDialog() {
37
37
  const positionStrategy = new GlobalPositionStrategy();
38
- this.dialogRef = this.dialog.open(AXUploaderListComponent, {
39
- hasBackdrop: false,
40
- closeOnNavigation: false,
41
- width: '320px',
42
- maxWidth: 320,
43
- panelClass: ['ax-uploader-list-pane', 'ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],
44
- positionStrategy: positionStrategy.bottom().end('24px'),
45
- data,
46
- });
38
+ if (!this.dialogRef) {
39
+ this.dialogRef = this.dialog.open(AXUploaderListComponent, {
40
+ hasBackdrop: false,
41
+ closeOnNavigation: false,
42
+ width: '320px',
43
+ maxWidth: 320,
44
+ panelClass: [
45
+ 'ax-uploader-list-pane',
46
+ 'ax-animate-animated',
47
+ 'ax-animate-fadeIn',
48
+ 'ax-animate-faster',
49
+ ],
50
+ positionStrategy: positionStrategy.bottom().end('24px'),
51
+ data: {
52
+ files: this.files$,
53
+ },
54
+ });
55
+ }
47
56
  }
48
57
  closeDialog() {
49
58
  this.dialogRef.close();
@@ -64,19 +73,26 @@ class AXUploaderListComponent extends MXBaseComponent {
64
73
  constructor(dialogRef) {
65
74
  super();
66
75
  this.dialogRef = dialogRef;
67
- this.items = inject(DIALOG_DATA);
68
- this.uploadService = inject(AXUploaderService);
76
+ this.data = inject(DIALOG_DATA);
77
+ this.items = [];
69
78
  this.leftTime = 5;
70
79
  this.isCollapsed = false;
71
- afterNextRender(() => {
72
- this.uploadService.upload('http://api.acorexui.com/api/v1/files', this.items[0]).subscribe({
73
- next: (e) => {
74
- console.log(e);
75
- },
76
- error: (err) => {
77
- console.error(err);
78
- },
79
- });
80
+ this.uploadService = inject(AXUploaderService);
81
+ this.uploadService.files$.subscribe({
82
+ next: (e) => {
83
+ this.items.push(...e);
84
+ // this.upload()
85
+ },
86
+ });
87
+ }
88
+ upload(file) {
89
+ this.uploadService.upload('http://api.acorexui.com/api/v1/files', file).subscribe({
90
+ next: (e) => {
91
+ console.log(e);
92
+ },
93
+ error: (err) => {
94
+ console.error(err);
95
+ },
80
96
  });
81
97
  }
82
98
  toggle() {
@@ -117,44 +133,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
117
133
  }] });
118
134
 
119
135
  class AXUploaderZoneDirective {
120
- initElement() {
136
+ init() {
121
137
  this.element = this.elementRef.nativeElement;
122
138
  this.element.style.position = 'relative';
123
139
  }
124
140
  constructor(elementRef) {
125
141
  this.elementRef = elementRef;
142
+ this.multiple = true;
126
143
  this.fileService = inject(AXFileService);
127
144
  this.uploadService = inject(AXUploaderService);
128
- this.multiple = true;
129
145
  this.stateClass = 'ax-uploader-overlay-state';
130
- this.files = [];
131
- this.initElement();
132
- this.element.addEventListener('dragenter', this.handleDragEnter.bind(this));
133
- this.element.addEventListener('dragover', this.handleDragOver.bind(this));
134
- this.element.addEventListener('drop', this.handleOnDrop.bind(this));
135
- this.element.addEventListener('dragleave', this.handleDragLeave.bind(this));
146
+ this.init();
147
+ this.element.addEventListener('dragenter', this.handleDragEnter.bind(this), true);
148
+ this.element.addEventListener('dragover', this.handleDragOver.bind(this), true);
149
+ this.element.addEventListener('drop', this.handleOnDrop.bind(this), true);
150
+ this.element.addEventListener('dragleave', this.removeZone.bind(this), true);
136
151
  }
137
152
  ngOnDestroy() {
138
153
  this.element.removeEventListener('dragenter', this.handleDragEnter.bind(this));
139
154
  this.element.removeEventListener('drop', this.handleOnDrop.bind(this));
140
155
  this.element.removeEventListener('dragover', this.handleDragOver.bind(this));
141
- this.element.removeEventListener('dragleave', this.handleDragLeave.bind(this));
156
+ this.element.removeEventListener('dragleave', this.removeZone.bind(this));
142
157
  }
143
158
  handleDragEnter(event) {
144
159
  this.createZone();
145
160
  event.preventDefault();
161
+ event.stopImmediatePropagation();
146
162
  }
147
163
  handleOnDrop(event) {
148
164
  event.preventDefault();
149
- this.uploadService.openDialog(event.dataTransfer?.files);
165
+ event.stopImmediatePropagation();
166
+ this.uploadService.files$.next(event.dataTransfer?.files);
167
+ this.uploadService.openDialog();
150
168
  this.removeZone();
151
169
  }
152
170
  handleDragOver(event) {
153
171
  event.preventDefault();
154
- }
155
- handleDragLeave(event) {
156
- event.preventDefault();
157
- this.removeZone();
172
+ event.stopImmediatePropagation();
158
173
  }
159
174
  createZone() {
160
175
  this.overlayElement = document.createElement('div');
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.html","../../../../libs/components/uploader/src/lib/uploader.service.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.html","../../../../libs/components/uploader/src/lib/uploader-overlay.component.ts","../../../../libs/components/uploader/src/lib/uploader-overlay.component.html","../../../../libs/components/uploader/src/lib/uploader-zone.directive.ts","../../../../libs/components/uploader/src/lib/uploader.module.ts","../../../../libs/components/uploader/src/acorex-components-uploader.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-drop-zone',\n templateUrl: './uploader-drop-zone.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderDropZoneComponent extends MXBaseComponent {}\n","<div class=\"ax-uploader-drop-zone-container\">\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { AXUploaderListComponent } from './uploader-list.component';\n\n@Injectable()\nexport class AXUploaderService {\n private dialog: Dialog = inject(Dialog);\n private http: HttpClient = inject(HttpClient);\n dialogRef: DialogRef;\n files: any[] = [];\n openDialog(data: any) {\n this.files = [...data];\n const positionStrategy = new GlobalPositionStrategy();\n this.dialogRef = this.dialog.open(AXUploaderListComponent, {\n hasBackdrop: false,\n closeOnNavigation: false,\n width: '320px',\n maxWidth: 320,\n panelClass: ['ax-uploader-list-pane', 'ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy: positionStrategy.bottom().end('24px'),\n data,\n }) as DialogRef;\n }\n\n closeDialog() {\n this.dialogRef.close();\n }\n\n upload(requestUrl: string, file: File, options?: any) {\n const formData = new FormData();\n formData.append(file.name, file);\n return this.http.post(requestUrl, formData, options);\n }\n}\n","import { AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AUTO_STYLE, animate, state, style, transition, trigger } from '@angular/animations';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { Component, ViewEncapsulation, afterNextRender, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n\nexport interface AXUploaderItem {\n type: 'picture' | 'doc' | 'pdf' | 'archive' | 'video' | 'unknow';\n name: string;\n size: number;\n description?: string;\n}\n\n@Component({\n selector: 'ax-uploader-list',\n templateUrl: './uploader-list.component.html',\n styleUrls: ['./uploader-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('collapse', [\n state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n state('true', style({ height: '0', visibility: 'hidden' })),\n transition('false => true', animate(150 + 'ms ease-in')),\n transition('true => false', animate(150 + 'ms ease-out')),\n ]),\n ],\n})\nexport class AXUploaderListComponent extends MXBaseComponent {\n items: any[] = inject(DIALOG_DATA);\n private uploadService: AXUploaderService = inject(AXUploaderService);\n\n leftTime = 5;\n isCollapsed = false;\n constructor(private dialogRef: DialogRef<AXComponentCloseEvent>) {\n super();\n afterNextRender(() => {\n this.uploadService.upload('http://api.acorexui.com/api/v1/files', this.items[0]).subscribe({\n next: (e: any) => {\n console.log(e);\n },\n error: (err: any) => {\n console.error(err);\n },\n });\n });\n }\n\n toggle() {\n this.isCollapsed = !this.isCollapsed;\n }\n close() {\n this.dialogRef.close();\n }\n}\n","<div class=\"ax-uploader-list-header\">\n <div>Uploader list</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button>{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <div>\n <i class=\"ax-icon ax-icon-inbox\"></i>\n <div class=\"ax-uploader-item-text\">\n <strong>{{ item.name }}</strong>\n <small>{{ item.size }}</small>\n </div>\n </div>\n <div>\n <ax-progress-bar style=\"width: 48px\" color=\"primary\" [value]=\"20\"></ax-progress-bar>\n </div>\n </li>\n </ng-container>\n </ul>\n</div>\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-overlay',\n templateUrl: './uploader-overlay.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderOverlayComponent extends MXBaseComponent {}\n","<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-items-center ax-justify-center ax-h-[95vh] hover:ax-bg-primary-50 ax-m-2 hover:ax-border-2 ax-rounded-lg hover:ax-border-primary-500\">\n\n</div>","import { AXFileService } from '@acorex/core/file';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { Directive, ElementRef, HostBinding, Input, OnDestroy, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n@Directive({\n selector: '[axUploaderZone]',\n})\nexport class AXUploaderZoneDirective implements OnDestroy {\n private fileService: AXFileService = inject(AXFileService);\n private uploadService: AXUploaderService = inject(AXUploaderService);\n private element: HTMLElement;\n\n @Input() multiple = true;\n\n stateClass = 'ax-uploader-overlay-state';\n overlayElement: HTMLDivElement;\n files: File[] = [];\n initElement() {\n this.element = this.elementRef.nativeElement as HTMLElement;\n this.element.style.position = 'relative';\n }\n\n constructor(private elementRef: ElementRef) {\n this.initElement();\n this.element.addEventListener('dragenter', this.handleDragEnter.bind(this));\n this.element.addEventListener('dragover', this.handleDragOver.bind(this));\n this.element.addEventListener('drop', this.handleOnDrop.bind(this));\n this.element.addEventListener('dragleave', this.handleDragLeave.bind(this));\n }\n\n ngOnDestroy(): void {\n this.element.removeEventListener('dragenter', this.handleDragEnter.bind(this));\n this.element.removeEventListener('drop', this.handleOnDrop.bind(this));\n this.element.removeEventListener('dragover', this.handleDragOver.bind(this));\n this.element.removeEventListener('dragleave', this.handleDragLeave.bind(this));\n }\n private handleDragEnter(event: Event) {\n this.createZone();\n event.preventDefault();\n }\n private handleOnDrop(event: DragEvent) {\n event.preventDefault();\n this.uploadService.openDialog(event.dataTransfer?.files);\n this.removeZone();\n }\n\n private handleDragOver(event: Event) {\n event.preventDefault();\n }\n\n private handleDragLeave(event: Event) {\n event.preventDefault();\n this.removeZone();\n }\n\n private createZone() {\n this.overlayElement = document.createElement('div');\n this.overlayElement.classList.add('ax-uploader-overlay-state');\n\n const icon: HTMLSpanElement = document.createElement('span');\n icon.classList.add('ax-icon', 'ax-icon-upload');\n\n const text = document.createElement('span');\n text.innerText = AXTranslator.get('uploader.zone.text');\n\n this.overlayElement.appendChild(icon);\n this.overlayElement.appendChild(text);\n\n this.element.appendChild(this.overlayElement);\n }\n private removeZone() {\n this.overlayElement.remove();\n }\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-drop-zone`;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXProgressBarModule } from '@acorex/components/progress-bar';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXUploaderDropZoneComponent } from './uploader-drop-zone.component';\nimport { AXUploaderListComponent } from './uploader-list.component';\nimport { AXUploaderOverlayComponent } from './uploader-overlay.component';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\nimport { AXUploaderService } from './uploader.service';\n\n@NgModule({\n declarations: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderOverlayComponent,\n AXUploaderZoneDirective,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXProgressBarModule,\n ],\n exports: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderOverlayComponent,\n AXUploaderZoneDirective,\n ],\n providers: [AXUploaderService, AXFileService],\n})\nexport class AXUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.html","../../../../libs/components/uploader/src/lib/uploader.service.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.html","../../../../libs/components/uploader/src/lib/uploader-overlay.component.ts","../../../../libs/components/uploader/src/lib/uploader-overlay.component.html","../../../../libs/components/uploader/src/lib/uploader-zone.directive.ts","../../../../libs/components/uploader/src/lib/uploader.module.ts","../../../../libs/components/uploader/src/acorex-components-uploader.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-drop-zone',\n templateUrl: './uploader-drop-zone.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderDropZoneComponent extends MXBaseComponent {}\n","<div class=\"ax-uploader-drop-zone-container\">\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { AXUploaderListComponent } from './uploader-list.component';\n\n@Injectable()\nexport class AXUploaderService {\n private dialog: Dialog = inject(Dialog);\n private http: HttpClient = inject(HttpClient);\n files$: BehaviorSubject<Array<any>> = new BehaviorSubject<Array<any>>([]);\n\n dialogRef: DialogRef;\n openDialog() {\n const positionStrategy = new GlobalPositionStrategy();\n if (!this.dialogRef) {\n this.dialogRef = this.dialog.open(AXUploaderListComponent, {\n hasBackdrop: false,\n closeOnNavigation: false,\n width: '320px',\n maxWidth: 320,\n panelClass: [\n 'ax-uploader-list-pane',\n 'ax-animate-animated',\n 'ax-animate-fadeIn',\n 'ax-animate-faster',\n ],\n positionStrategy: positionStrategy.bottom().end('24px'),\n data: {\n files: this.files$,\n },\n }) as DialogRef;\n }\n }\n\n closeDialog() {\n this.dialogRef.close();\n }\n\n upload(requestUrl: string, file: File, options?: any) {\n const formData = new FormData();\n formData.append(file.name, file);\n return this.http.post(requestUrl, formData, options);\n }\n}\n","import { AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AUTO_STYLE, animate, state, style, transition, trigger } from '@angular/animations';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n\nexport interface AXUploaderItem {\n type: 'picture' | 'doc' | 'pdf' | 'archive' | 'video' | 'unknow';\n name: string;\n size: number;\n description?: string;\n}\n\n@Component({\n selector: 'ax-uploader-list',\n templateUrl: './uploader-list.component.html',\n styleUrls: ['./uploader-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('collapse', [\n state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n state('true', style({ height: '0', visibility: 'hidden' })),\n transition('false => true', animate(150 + 'ms ease-in')),\n transition('true => false', animate(150 + 'ms ease-out')),\n ]),\n ],\n})\nexport class AXUploaderListComponent extends MXBaseComponent {\n data = inject(DIALOG_DATA);\n items: any[] = [];\n leftTime = 5;\n isCollapsed = false;\n\n private uploadService: AXUploaderService = inject(AXUploaderService);\n\n constructor(private dialogRef: DialogRef<AXComponentCloseEvent>) {\n super();\n this.uploadService.files$.subscribe({\n next: (e: any) => {\n this.items.push(...e);\n // this.upload()\n },\n });\n }\n\n upload(file) {\n this.uploadService.upload('http://api.acorexui.com/api/v1/files', file).subscribe({\n next: (e: any) => {\n console.log(e);\n },\n error: (err: any) => {\n console.error(err);\n },\n });\n }\n\n toggle() {\n this.isCollapsed = !this.isCollapsed;\n }\n close() {\n this.dialogRef.close();\n }\n}\n","<div class=\"ax-uploader-list-header\">\n <div>Uploader list</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button>{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <div>\n <i class=\"ax-icon ax-icon-inbox\"></i>\n <div class=\"ax-uploader-item-text\">\n <strong>{{ item.name }}</strong>\n <small>{{ item.size }}</small>\n </div>\n </div>\n <div>\n <ax-progress-bar style=\"width: 48px\" color=\"primary\" [value]=\"20\"></ax-progress-bar>\n </div>\n </li>\n </ng-container>\n </ul>\n</div>\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-overlay',\n templateUrl: './uploader-overlay.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderOverlayComponent extends MXBaseComponent {}\n","<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-items-center ax-justify-center ax-h-[95vh] hover:ax-bg-primary-50 ax-m-2 hover:ax-border-2 ax-rounded-lg hover:ax-border-primary-500\">\n\n</div>","import { AXFileService } from '@acorex/core/file';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { Directive, ElementRef, HostBinding, Input, OnDestroy, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n@Directive({\n selector: '[axUploaderZone]',\n})\nexport class AXUploaderZoneDirective implements OnDestroy {\n @Input() multiple = true;\n private fileService: AXFileService = inject(AXFileService);\n private uploadService: AXUploaderService = inject(AXUploaderService);\n private element: HTMLElement;\n\n stateClass = 'ax-uploader-overlay-state';\n overlayElement: HTMLDivElement;\n init() {\n this.element = this.elementRef.nativeElement as HTMLElement;\n this.element.style.position = 'relative';\n }\n\n constructor(private elementRef: ElementRef) {\n this.init();\n this.element.addEventListener('dragenter', this.handleDragEnter.bind(this), true);\n this.element.addEventListener('dragover', this.handleDragOver.bind(this), true);\n this.element.addEventListener('drop', this.handleOnDrop.bind(this), true);\n this.element.addEventListener('dragleave', this.removeZone.bind(this), true);\n }\n\n ngOnDestroy(): void {\n this.element.removeEventListener('dragenter', this.handleDragEnter.bind(this));\n this.element.removeEventListener('drop', this.handleOnDrop.bind(this));\n this.element.removeEventListener('dragover', this.handleDragOver.bind(this));\n this.element.removeEventListener('dragleave', this.removeZone.bind(this));\n }\n private handleDragEnter(event: Event) {\n this.createZone();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n private handleOnDrop(event: DragEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.uploadService.files$.next(event.dataTransfer?.files as any);\n this.uploadService.openDialog();\n this.removeZone();\n }\n\n private handleDragOver(event: Event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n private createZone() {\n this.overlayElement = document.createElement('div');\n this.overlayElement.classList.add('ax-uploader-overlay-state');\n\n const icon: HTMLSpanElement = document.createElement('span');\n icon.classList.add('ax-icon', 'ax-icon-upload');\n\n const text = document.createElement('span');\n text.innerText = AXTranslator.get('uploader.zone.text');\n\n this.overlayElement.appendChild(icon);\n this.overlayElement.appendChild(text);\n\n this.element.appendChild(this.overlayElement);\n }\n private removeZone() {\n this.overlayElement.remove();\n }\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-drop-zone`;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXProgressBarModule } from '@acorex/components/progress-bar';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXUploaderDropZoneComponent } from './uploader-drop-zone.component';\nimport { AXUploaderListComponent } from './uploader-list.component';\nimport { AXUploaderOverlayComponent } from './uploader-overlay.component';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\nimport { AXUploaderService } from './uploader.service';\n\n@NgModule({\n declarations: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderOverlayComponent,\n AXUploaderZoneDirective,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXProgressBarModule,\n ],\n exports: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderOverlayComponent,\n AXUploaderZoneDirective,\n ],\n providers: [AXUploaderService, AXFileService],\n})\nexport class AXUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -3,6 +3,8 @@ import { AfterViewInit, EventEmitter, QueryList } from '@angular/core';
3
3
  import { AXRootMenu } from '../class/root-menu.class';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXMenuItemComponent extends MXInteractiveComponent implements AfterViewInit {
6
+ offsetY: number;
7
+ offsetX: number;
6
8
  private popover;
7
9
  private _text;
8
10
  /**
@@ -0,0 +1,3 @@
1
+ # @acorex/components/navbar
2
+
3
+ Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/navbar`.
@@ -0,0 +1,2 @@
1
+ export * from './lib/navbar.component';
2
+ export * from './lib/navbar.module';
@@ -0,0 +1,6 @@
1
+ import { MXBaseComponent } from '@acorex/components/common';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXNavbarComponent extends MXBaseComponent {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXNavbarComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXNavbarComponent, "ax-navbar", never, {}, {}, never, ["ax-prefix", "ax-title", "ax-menu", "ax-suffix"], false, never>;
6
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./navbar.component";
3
+ import * as i2 from "@angular/common";
4
+ export declare class AXNavbarModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXNavbarModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXNavbarModule, [typeof i1.AXNavbarComponent], [typeof i2.CommonModule], [typeof i1.AXNavbarComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXNavbarModule>;
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "7.8.19",
3
+ "version": "7.9.0",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=16.2.0",
@@ -196,6 +196,12 @@
196
196
  "esm": "./esm2022/menu/acorex-components-menu.mjs",
197
197
  "default": "./fesm2022/acorex-components-menu.mjs"
198
198
  },
199
+ "./navbar": {
200
+ "types": "./navbar/index.d.ts",
201
+ "esm2022": "./esm2022/navbar/acorex-components-navbar.mjs",
202
+ "esm": "./esm2022/navbar/acorex-components-navbar.mjs",
203
+ "default": "./fesm2022/acorex-components-navbar.mjs"
204
+ },
199
205
  "./notification": {
200
206
  "types": "./notification/index.d.ts",
201
207
  "esm2022": "./esm2022/notification/acorex-components-notification.mjs",
@@ -1,8 +1,8 @@
1
1
  import { AXComponentCloseEvent, AXComponentClosing, MXBaseComponent } from '@acorex/components/common';
2
2
  import { AXDecoratorGenericComponent } from '@acorex/components/decorators';
3
- import { EventEmitter } from '@angular/core';
3
+ import { EventEmitter, OnDestroy } from '@angular/core';
4
4
  import * as i0 from "@angular/core";
5
- export declare class AXBasePageComponent extends MXBaseComponent {
5
+ export declare class AXBasePageComponent extends MXBaseComponent implements OnDestroy {
6
6
  private _loadingId;
7
7
  private _loadingService;
8
8
  footer: AXDecoratorGenericComponent;
@@ -9,11 +9,13 @@ export interface AXUploaderItem {
9
9
  }
10
10
  export declare class AXUploaderListComponent extends MXBaseComponent {
11
11
  private dialogRef;
12
+ data: any;
12
13
  items: any[];
13
- private uploadService;
14
14
  leftTime: number;
15
15
  isCollapsed: boolean;
16
+ private uploadService;
16
17
  constructor(dialogRef: DialogRef<AXComponentCloseEvent>);
18
+ upload(file: any): void;
17
19
  toggle(): void;
18
20
  close(): void;
19
21
  static ɵfac: i0.ɵɵFactoryDeclaration<AXUploaderListComponent, never>;
@@ -2,20 +2,18 @@ import { ElementRef, OnDestroy } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AXUploaderZoneDirective implements OnDestroy {
4
4
  private elementRef;
5
+ multiple: boolean;
5
6
  private fileService;
6
7
  private uploadService;
7
8
  private element;
8
- multiple: boolean;
9
9
  stateClass: string;
10
10
  overlayElement: HTMLDivElement;
11
- files: File[];
12
- initElement(): void;
11
+ init(): void;
13
12
  constructor(elementRef: ElementRef);
14
13
  ngOnDestroy(): void;
15
14
  private handleDragEnter;
16
15
  private handleOnDrop;
17
16
  private handleDragOver;
18
- private handleDragLeave;
19
17
  private createZone;
20
18
  private removeZone;
21
19
  get __hostClass(): string;
@@ -1,11 +1,12 @@
1
1
  import { DialogRef } from '@angular/cdk/dialog';
2
+ import { BehaviorSubject } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class AXUploaderService {
4
5
  private dialog;
5
6
  private http;
7
+ files$: BehaviorSubject<Array<any>>;
6
8
  dialogRef: DialogRef;
7
- files: any[];
8
- openDialog(data: any): void;
9
+ openDialog(): void;
9
10
  closeDialog(): void;
10
11
  upload(requestUrl: string, file: File, options?: any): import("rxjs").Observable<ArrayBuffer>;
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<AXUploaderService, never>;