@acorex/components 6.0.10 → 6.0.13

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 (100) hide show
  1. package/alert/src/alert.component.d.ts +1 -1
  2. package/badge/src/badge.component.d.ts +1 -1
  3. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +4 -4
  4. package/button/src/button-group.component.d.ts +4 -4
  5. package/button/src/button-item.component.d.ts +5 -5
  6. package/color-picker/src/color-picker.component.d.ts +14 -14
  7. package/date-picker/src/datepicker.component.d.ts +11 -11
  8. package/decorators/public-api.d.ts +2 -0
  9. package/decorators/src/decorators.module.d.ts +4 -2
  10. package/decorators/src/overlay.component.d.ts +6 -0
  11. package/decorators/src/placeholder.component.d.ts +5 -0
  12. package/dropdown/src/dropdown-panel.component.d.ts +6 -4
  13. package/esm2020/button/src/button-item.component.mjs +3 -2
  14. package/esm2020/common/src/components.class.mjs +1 -1
  15. package/esm2020/context-menu/src/context-menu.component.mjs +2 -1
  16. package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +1 -1
  17. package/esm2020/decorators/public-api.mjs +3 -1
  18. package/esm2020/decorators/src/decorators.module.mjs +11 -3
  19. package/esm2020/decorators/src/overlay.component.mjs +22 -0
  20. package/esm2020/decorators/src/placeholder.component.mjs +14 -0
  21. package/esm2020/dropdown/src/dropdown-panel.component.mjs +13 -5
  22. package/esm2020/image/acorex-components-image.mjs +5 -0
  23. package/esm2020/image/public-api.mjs +3 -0
  24. package/esm2020/image/src/image.component.mjs +49 -0
  25. package/esm2020/image/src/image.module.mjs +19 -0
  26. package/esm2020/menu/src/menu.component.mjs +2 -1
  27. package/esm2020/uploader/acorex-components-uploader.mjs +5 -0
  28. package/esm2020/uploader/public-api.mjs +3 -0
  29. package/esm2020/uploader/src/uploader.component.mjs +68 -0
  30. package/esm2020/uploader/src/uploader.module.mjs +20 -0
  31. package/fesm2015/acorex-components-button.mjs +2 -1
  32. package/fesm2015/acorex-components-button.mjs.map +1 -1
  33. package/fesm2015/acorex-components-common.mjs.map +1 -1
  34. package/fesm2015/acorex-components-context-menu.mjs +1 -0
  35. package/fesm2015/acorex-components-context-menu.mjs.map +1 -1
  36. package/fesm2015/acorex-components-data-pager.mjs +1 -1
  37. package/fesm2015/acorex-components-data-pager.mjs.map +1 -1
  38. package/fesm2015/acorex-components-decorators.mjs +41 -3
  39. package/fesm2015/acorex-components-decorators.mjs.map +1 -1
  40. package/fesm2015/acorex-components-dropdown.mjs +13 -4
  41. package/fesm2015/acorex-components-dropdown.mjs.map +1 -1
  42. package/fesm2015/acorex-components-image.mjs +72 -0
  43. package/fesm2015/acorex-components-image.mjs.map +1 -0
  44. package/fesm2015/acorex-components-menu.mjs +1 -0
  45. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  46. package/fesm2015/acorex-components-uploader.mjs +97 -0
  47. package/fesm2015/acorex-components-uploader.mjs.map +1 -0
  48. package/fesm2020/acorex-components-button.mjs +2 -1
  49. package/fesm2020/acorex-components-button.mjs.map +1 -1
  50. package/fesm2020/acorex-components-common.mjs.map +1 -1
  51. package/fesm2020/acorex-components-context-menu.mjs +1 -0
  52. package/fesm2020/acorex-components-context-menu.mjs.map +1 -1
  53. package/fesm2020/acorex-components-data-pager.mjs +1 -1
  54. package/fesm2020/acorex-components-data-pager.mjs.map +1 -1
  55. package/fesm2020/acorex-components-decorators.mjs +41 -3
  56. package/fesm2020/acorex-components-decorators.mjs.map +1 -1
  57. package/fesm2020/acorex-components-dropdown.mjs +12 -4
  58. package/fesm2020/acorex-components-dropdown.mjs.map +1 -1
  59. package/fesm2020/acorex-components-image.mjs +72 -0
  60. package/fesm2020/acorex-components-image.mjs.map +1 -0
  61. package/fesm2020/acorex-components-menu.mjs +1 -0
  62. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  63. package/fesm2020/acorex-components-uploader.mjs +92 -0
  64. package/fesm2020/acorex-components-uploader.mjs.map +1 -0
  65. package/{image-uploader → image}/index.d.ts +1 -1
  66. package/image/public-api.d.ts +2 -0
  67. package/image/src/image.component.d.ts +18 -0
  68. package/image/src/image.module.d.ts +8 -0
  69. package/mixin/src/base-components.class.d.ts +1 -1
  70. package/mixin/src/base-menu-mixin.class.d.ts +4 -4
  71. package/mixin/src/button-mixin.class.d.ts +1 -1
  72. package/mixin/src/clickable-mixin.class.d.ts +1 -1
  73. package/mixin/src/color-look-mixing.class.d.ts +1 -1
  74. package/mixin/src/datalist-component.class.d.ts +9 -9
  75. package/mixin/src/dropdown-mixin.class.d.ts +1 -1
  76. package/mixin/src/interactive-mixin.class.d.ts +3 -3
  77. package/mixin/src/loading-mixin.class.d.ts +1 -1
  78. package/mixin/src/mixin.class.d.ts +42 -42
  79. package/mixin/src/page-component.class.d.ts +1 -1
  80. package/mixin/src/selection-component.class.d.ts +1 -1
  81. package/mixin/src/sizable-mixin.class.d.ts +1 -1
  82. package/mixin/src/textbox-mixin.class.d.ts +3 -3
  83. package/mixin/src/value-mixin.class.d.ts +7 -7
  84. package/package.json +16 -8
  85. package/tabs/src/tab-item.component.d.ts +1 -1
  86. package/uploader/index.d.ts +5 -0
  87. package/uploader/public-api.d.ts +2 -0
  88. package/uploader/src/uploader.component.d.ts +21 -0
  89. package/uploader/src/uploader.module.d.ts +9 -0
  90. package/esm2020/image-uploader/acorex-components-image-uploader.mjs +0 -5
  91. package/esm2020/image-uploader/public-api.mjs +0 -3
  92. package/esm2020/image-uploader/src/image-uploader.component.mjs +0 -16
  93. package/esm2020/image-uploader/src/image-uploader.module.mjs +0 -19
  94. package/fesm2015/acorex-components-image-uploader.mjs +0 -39
  95. package/fesm2015/acorex-components-image-uploader.mjs.map +0 -1
  96. package/fesm2020/acorex-components-image-uploader.mjs +0 -39
  97. package/fesm2020/acorex-components-image-uploader.mjs.map +0 -1
  98. package/image-uploader/public-api.d.ts +0 -2
  99. package/image-uploader/src/image-uploader.component.d.ts +0 -9
  100. package/image-uploader/src/image-uploader.module.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-menu.mjs","sources":["../../../../projects/acorex/components/menu/src/menu.component.ts","../../../../projects/acorex/components/menu/src/menu.component.html","../../../../projects/acorex/components/menu/src/menu.module.ts","../../../../projects/acorex/components/menu/acorex-components-menu.ts"],"sourcesContent":["import { OverlayRef, Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\n\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n OnInit,\r\n ContentChild,\r\n TemplateRef,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { AXBaseMenuMixin } from '@acorex/components/mixin';\r\nimport { AXPlatform } from '@acorex/core/platform';\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-menu',\r\n templateUrl: './menu.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'tabIndex',\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\r\n 'tooltip',\r\n 'isOpen',\r\n 'isActive',\r\n 'visibleField',\r\n 'disableField',\r\n 'hasChildField',\r\n 'dividerField',\r\n 'openMode',\r\n 'orientation',\r\n 'showModal',\r\n ],\r\n outputs: ['onBlur', 'onFocus', 'onMenuItemClick'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-menu' },\r\n})\r\nexport class AXMenuComponent extends AXBaseMenuMixin implements OnInit {\r\n @ContentChild('emptyTemplate')\r\n private _contentEmptyTemplate: TemplateRef<any>;\r\n\r\n @ContentChild('itemTemplate')\r\n private _contentItemTemplate: TemplateRef<any>;\r\n\r\n public _overlayRef: OverlayRef;\r\n\r\n get emptyTemplate(): TemplateRef<any> {\r\n return this._contentEmptyTemplate;\r\n }\r\n\r\n get itemTemplate(): TemplateRef<any> {\r\n return this._contentItemTemplate;\r\n }\r\n\r\n private _levelCount: number = 0;\r\n\r\n private _oldItem: any;\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _overlay: Overlay,\r\n private _platform: AXPlatform\r\n ) {\r\n super(_elementRef, cdr);\r\n }\r\n\r\n onInit(): void {\r\n super.onInit();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.onViewInit();\r\n }\r\n\r\n _onMenuMouseEnter(e: MouseEvent, item: any): void {\r\n const targetElement = e.target as HTMLDivElement;\r\n\r\n if (this.isLoading || targetElement.tagName === 'UL') {\r\n return;\r\n }\r\n\r\n if (this.openMode === 'hover') {\r\n this._handelMenuLogic(e, item);\r\n }\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n _onMenuClick(e: MouseEvent, item: any): void {\r\n const targetElement = e.target as HTMLDivElement;\r\n\r\n if (this.isLoading || targetElement.tagName === 'UL') {\r\n return;\r\n }\r\n\r\n if (this.openMode === 'click') {\r\n this._handelMenuLogic(e, item);\r\n }\r\n\r\n this.onMenuItemClick.emit({\r\n component: this,\r\n item: item,\r\n nativeEvent: e,\r\n });\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n _getDirection(): string {\r\n if (this.orientation === 'horizontal' && this._levelCount === 0) {\r\n return 'ax-horizontal';\r\n } else if (this._levelCount > 0) {\r\n return 'ax-vertical ax-submenu-ul';\r\n } else if (this.orientation === 'sidemenu') {\r\n return 'ax-side-menu';\r\n } else {\r\n return 'ax-vertical';\r\n }\r\n }\r\n\r\n private _removeActive(items: any): void {\r\n items.forEach((element) => {\r\n element.isActive = false;\r\n if (element?.children?.length > 0) {\r\n this._removeActive(element.children);\r\n }\r\n });\r\n }\r\n\r\n private _closeOpenChild(items: any): void {\r\n items.forEach((element) => {\r\n element.isOpen = false;\r\n if (element?.children?.length > 0) {\r\n this._closeOpenChild(element.children);\r\n }\r\n });\r\n }\r\n\r\n private _initParent(items: any, parentId: any): void {\r\n items.forEach((element) => {\r\n element.parentId = parentId;\r\n });\r\n }\r\n\r\n private _handelMenuLogic(e: MouseEvent, item: any): void {\r\n if (!item[this.disableField] || item[this.dividerField] === false) {\r\n const targetElement = e.target as HTMLDivElement;\r\n if (\r\n (targetElement.closest('li') && this.openMode === 'click') ||\r\n (targetElement.closest('li') && this.openMode === 'hover')\r\n ) {\r\n if (this._overlayRef && this._oldItem !== item) {\r\n this._overlayRef.detach();\r\n }\r\n if (this.orientation === 'horizontal') {\r\n this.displayItems.forEach((element) => {\r\n if (\r\n !item.parentId &&\r\n item[this.valueField] !== element[this.valueField]\r\n ) {\r\n element.isOpen = false;\r\n }\r\n });\r\n }\r\n if (item?.children?.length > 0) {\r\n if (this.orientation === 'horizontal') {\r\n this._initParent(item.children, item[this.valueField]);\r\n }\r\n if (\r\n this.orientation === 'horizontal' ||\r\n this.orientation === 'vertical'\r\n ) {\r\n if (this._oldItem !== item) {\r\n this._openAsOverlay(targetElement.closest('li'), item.children);\r\n }\r\n }\r\n this._closeOpenChild(item.children);\r\n\r\n if (\r\n this.orientation === 'horizontal' ||\r\n this.orientation === 'vertical'\r\n ) {\r\n item.isOpen = true;\r\n } else {\r\n item.isOpen = !item.isOpen;\r\n }\r\n }\r\n\r\n this._removeActive(this.displayItems);\r\n\r\n item.isActive = !item.isActive;\r\n\r\n if (\r\n this.orientation === 'horizontal' ||\r\n this.orientation === 'vertical'\r\n ) {\r\n if (\r\n this._oldItem &&\r\n this._oldItem?.isOpen &&\r\n item[this.valueField] !== this._oldItem[this.valueField]\r\n ) {\r\n this._oldItem.isOpen = false;\r\n }\r\n this._oldItem = item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _openAsOverlay(targetRef, overlayItems: any[]): void {\r\n let positions = [];\r\n\r\n if (this.orientation === 'vertical') {\r\n if (this._levelCount >= 1) {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'center',\r\n },\r\n ];\r\n } else {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'center',\r\n },\r\n ];\r\n }\r\n } else {\r\n if (this._levelCount >= 1) {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n ];\r\n } else {\r\n positions = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n ];\r\n }\r\n }\r\n\r\n this._overlayRef = this._overlay.create({\r\n scrollStrategy: this._overlay.scrollStrategies.close(),\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(targetRef)\r\n .withPositions([...positions])\r\n .withPush(false),\r\n disposeOnNavigation: true,\r\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],\r\n maxHeight: 'unset',\r\n hasBackdrop: false,\r\n backdropClass: ['cdk-overlay-transparent-backdrop'],\r\n });\r\n\r\n const ref = this._overlayRef.attach(new ComponentPortal(AXMenuComponent));\r\n\r\n ref.instance.items = overlayItems;\r\n\r\n ref.instance.orientation = this.orientation;\r\n\r\n ref.instance.openMode = 'hover';\r\n\r\n ref.instance._levelCount = this._levelCount + 1;\r\n\r\n ref.instance.disableField = this.disableField;\r\n\r\n ref.instance.visibleField = this.visibleField;\r\n\r\n ref.instance.iconField = this.iconField;\r\n\r\n ref.instance.dividerField = this.dividerField;\r\n\r\n ref.onDestroy(() => {\r\n ref.instance?._overlayRef?.dispose();\r\n });\r\n\r\n this._overlayRef.outsidePointerEvents().subscribe((e) => {\r\n if (this._overlayRef && this.openMode === 'click') {\r\n this._close();\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n this._platform.scroll.subscribe(() => {\r\n if (this._overlayRef) {\r\n this._close();\r\n }\r\n });\r\n\r\n this._platform.resize.subscribe(() => {\r\n if (this._overlayRef) {\r\n this._close();\r\n }\r\n });\r\n }\r\n\r\n private _close() {\r\n this._overlayRef.detach();\r\n this._oldItem = null;\r\n this.displayItems.forEach((element) => {\r\n element.isOpen = false;\r\n element.isActive = false;\r\n });\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onDestroy(): void {\r\n this._overlayRef?.detach();\r\n }\r\n}\r\n","<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <ax-icon *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></ax-icon>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <ax-icon *ngIf=\"!item.isLoading\"\r\n [ngClass]=\"{'ax-ic-chevron':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\">\r\n </ax-icon>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXMenuComponent } from './menu.component';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nconst COMPONENT = [AXMenuComponent];\r\nconst MODULES = [\r\n AXDecoratorModule,\r\n AXLoadingModule,\r\n AXTranslationModule,\r\n OverlayModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [CommonModule, ...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXMenuModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-menu.mjs","sources":["../../../../projects/acorex/components/menu/src/menu.component.ts","../../../../projects/acorex/components/menu/src/menu.component.html","../../../../projects/acorex/components/menu/src/menu.module.ts","../../../../projects/acorex/components/menu/acorex-components-menu.ts"],"sourcesContent":["import { OverlayRef, Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\n\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n OnInit,\r\n ContentChild,\r\n TemplateRef,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { AXBaseMenuMixin } from '@acorex/components/mixin';\r\nimport { AXPlatform } from '@acorex/core/platform';\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-menu',\r\n templateUrl: './menu.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'tabIndex',\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\r\n 'tooltip',\r\n 'isOpen',\r\n 'isActive',\r\n 'visibleField',\r\n 'disableField',\r\n 'hasChildField',\r\n 'dividerField',\r\n 'openMode',\r\n 'orientation',\r\n 'showModal',\r\n ],\r\n outputs: ['onBlur', 'onFocus', 'onMenuItemClick'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-menu' },\r\n})\r\nexport class AXMenuComponent extends AXBaseMenuMixin implements OnInit {\r\n @ContentChild('emptyTemplate')\r\n private _contentEmptyTemplate: TemplateRef<any>;\r\n\r\n @ContentChild('itemTemplate')\r\n private _contentItemTemplate: TemplateRef<any>;\r\n\r\n public _overlayRef: OverlayRef;\r\n\r\n get emptyTemplate(): TemplateRef<any> {\r\n return this._contentEmptyTemplate;\r\n }\r\n\r\n get itemTemplate(): TemplateRef<any> {\r\n return this._contentItemTemplate;\r\n }\r\n\r\n private _levelCount: number = 0;\r\n\r\n private _oldItem: any;\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _overlay: Overlay,\r\n private _platform: AXPlatform\r\n ) {\r\n super(_elementRef, cdr);\r\n }\r\n\r\n onInit(): void {\r\n super.onInit();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.onViewInit();\r\n }\r\n\r\n _onMenuMouseEnter(e: MouseEvent, item: any): void {\r\n const targetElement = e.target as HTMLDivElement;\r\n\r\n if (this.isLoading || targetElement.tagName === 'UL') {\r\n return;\r\n }\r\n\r\n if (this.openMode === 'hover') {\r\n this._handelMenuLogic(e, item);\r\n }\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n _onMenuClick(e: MouseEvent, item: any): void {\r\n const targetElement = e.target as HTMLDivElement;\r\n\r\n if (this.isLoading || targetElement.tagName === 'UL') {\r\n return;\r\n }\r\n\r\n if (this.openMode === 'click') {\r\n this._handelMenuLogic(e, item);\r\n }\r\n\r\n this.onMenuItemClick.emit({\r\n component: this,\r\n item: item,\r\n nativeEvent: e,\r\n });\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n _getDirection(): string {\r\n if (this.orientation === 'horizontal' && this._levelCount === 0) {\r\n return 'ax-horizontal';\r\n } else if (this._levelCount > 0) {\r\n return 'ax-vertical ax-submenu-ul';\r\n } else if (this.orientation === 'sidemenu') {\r\n return 'ax-side-menu';\r\n } else {\r\n return 'ax-vertical';\r\n }\r\n }\r\n\r\n private _removeActive(items: any): void {\r\n items.forEach((element) => {\r\n element.isActive = false;\r\n if (element?.children?.length > 0) {\r\n this._removeActive(element.children);\r\n }\r\n });\r\n }\r\n\r\n private _closeOpenChild(items: any): void {\r\n items.forEach((element) => {\r\n element.isOpen = false;\r\n if (element?.children?.length > 0) {\r\n this._closeOpenChild(element.children);\r\n }\r\n });\r\n }\r\n\r\n private _initParent(items: any, parentId: any): void {\r\n items.forEach((element) => {\r\n element.parentId = parentId;\r\n });\r\n }\r\n\r\n private _handelMenuLogic(e: MouseEvent, item: any): void {\r\n if (!item[this.disableField] || item[this.dividerField] === false) {\r\n const targetElement = e.target as HTMLDivElement;\r\n if (\r\n (targetElement.closest('li') && this.openMode === 'click') ||\r\n (targetElement.closest('li') && this.openMode === 'hover')\r\n ) {\r\n if (this._overlayRef && this._oldItem !== item) {\r\n this._overlayRef.detach();\r\n }\r\n if (this.orientation === 'horizontal') {\r\n this.displayItems.forEach((element) => {\r\n if (\r\n !item.parentId &&\r\n item[this.valueField] !== element[this.valueField]\r\n ) {\r\n element.isOpen = false;\r\n }\r\n });\r\n }\r\n if (item?.children?.length > 0) {\r\n if (this.orientation === 'horizontal') {\r\n this._initParent(item.children, item[this.valueField]);\r\n }\r\n if (\r\n this.orientation === 'horizontal' ||\r\n this.orientation === 'vertical'\r\n ) {\r\n if (this._oldItem !== item) {\r\n this._openAsOverlay(targetElement.closest('li'), item.children);\r\n }\r\n }\r\n this._closeOpenChild(item.children);\r\n\r\n if (\r\n this.orientation === 'horizontal' ||\r\n this.orientation === 'vertical'\r\n ) {\r\n item.isOpen = true;\r\n } else {\r\n item.isOpen = !item.isOpen;\r\n }\r\n }\r\n\r\n this._removeActive(this.displayItems);\r\n\r\n item.isActive = !item.isActive;\r\n\r\n if (\r\n this.orientation === 'horizontal' ||\r\n this.orientation === 'vertical'\r\n ) {\r\n if (\r\n this._oldItem &&\r\n this._oldItem?.isOpen &&\r\n item[this.valueField] !== this._oldItem[this.valueField]\r\n ) {\r\n this._oldItem.isOpen = false;\r\n }\r\n this._oldItem = item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _openAsOverlay(targetRef, overlayItems: any[]): void {\r\n let positions = [];\r\n if (this.orientation === 'vertical') {\r\n if (this._levelCount >= 1) {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'center',\r\n },\r\n ];\r\n } else {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'center',\r\n },\r\n ];\r\n }\r\n } else {\r\n if (this._levelCount >= 1) {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n ];\r\n } else {\r\n positions = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n ];\r\n }\r\n }\r\n\r\n this._overlayRef = this._overlay.create({\r\n scrollStrategy: this._overlay.scrollStrategies.close(),\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(targetRef)\r\n .withPositions([...positions])\r\n .withPush(false),\r\n direction: this._platform.isRtl() ? 'rtl' : 'ltr',\r\n disposeOnNavigation: true,\r\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],\r\n maxHeight: 'unset',\r\n hasBackdrop: false,\r\n backdropClass: ['cdk-overlay-transparent-backdrop'],\r\n });\r\n\r\n const ref = this._overlayRef.attach(new ComponentPortal(AXMenuComponent));\r\n\r\n ref.instance.items = overlayItems;\r\n\r\n ref.instance.orientation = this.orientation;\r\n\r\n ref.instance.openMode = 'hover';\r\n\r\n ref.instance._levelCount = this._levelCount + 1;\r\n\r\n ref.instance.disableField = this.disableField;\r\n\r\n ref.instance.visibleField = this.visibleField;\r\n\r\n ref.instance.iconField = this.iconField;\r\n\r\n ref.instance.dividerField = this.dividerField;\r\n\r\n ref.onDestroy(() => {\r\n ref.instance?._overlayRef?.dispose();\r\n });\r\n\r\n this._overlayRef.outsidePointerEvents().subscribe((e) => {\r\n if (this._overlayRef && this.openMode === 'click') {\r\n this._close();\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n this._platform.scroll.subscribe(() => {\r\n if (this._overlayRef) {\r\n this._close();\r\n }\r\n });\r\n\r\n this._platform.resize.subscribe(() => {\r\n if (this._overlayRef) {\r\n this._close();\r\n }\r\n });\r\n }\r\n\r\n private _close() {\r\n this._overlayRef.detach();\r\n this._oldItem = null;\r\n this.displayItems.forEach((element) => {\r\n element.isOpen = false;\r\n element.isActive = false;\r\n });\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onDestroy(): void {\r\n this._overlayRef?.detach();\r\n }\r\n}\r\n","<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <ax-icon *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></ax-icon>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <ax-icon *ngIf=\"!item.isLoading\"\r\n [ngClass]=\"{'ax-ic-chevron':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\">\r\n </ax-icon>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXMenuComponent } from './menu.component';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nconst COMPONENT = [AXMenuComponent];\r\nconst MODULES = [\r\n AXDecoratorModule,\r\n AXLoadingModule,\r\n AXTranslationModule,\r\n OverlayModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [CommonModule, ...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXMenuModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { AXBaseComponentMixin } from '@acorex/components/mixin';
2
+ import * as i0 from '@angular/core';
3
+ import { Component, ViewEncapsulation, Input, HostListener, NgModule } from '@angular/core';
4
+ import * as i1 from '@acorex/core/file';
5
+ import { AXFileModule } from '@acorex/core/file';
6
+ import { CommonModule } from '@angular/common';
7
+
8
+ class AXUploaderComponent extends AXBaseComponentMixin {
9
+ constructor(elementRef, cdr, _fileService) {
10
+ super(elementRef, cdr);
11
+ this._fileService = _fileService;
12
+ this.image = '';
13
+ this.multiple = false;
14
+ this.accept = '*/*';
15
+ }
16
+ async _handleClick(e) {
17
+ const files = await this._fileService.choose({
18
+ accept: this.accept,
19
+ multiple: this.multiple,
20
+ });
21
+ this._handleFiles(files);
22
+ }
23
+ async _handleDrop(e) {
24
+ let dt = e.dataTransfer;
25
+ let files = dt.files;
26
+ this._handleFiles(Array.from(files));
27
+ e.preventDefault();
28
+ }
29
+ _handleFiles(files) {
30
+ console.log(files);
31
+ }
32
+ onInit() {
33
+ this._dropArea = this._getHostElement();
34
+ ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {
35
+ this._dropArea.addEventListener(eventName, this.preventDefaults, false);
36
+ });
37
+ ['dragenter', 'dragover'].forEach((eventName) => {
38
+ this._dropArea.addEventListener(eventName, this._handleHighlight.bind(this), false);
39
+ });
40
+ ['dragleave', 'drop'].forEach((eventName) => {
41
+ this._dropArea.addEventListener(eventName, this._handleUnhighlight.bind(this), false);
42
+ });
43
+ }
44
+ preventDefaults(e) {
45
+ e.preventDefault();
46
+ e.stopPropagation();
47
+ }
48
+ _handleHighlight(e) {
49
+ this._dropArea.classList.add('ax-state-hover');
50
+ }
51
+ _handleUnhighlight(e) {
52
+ this._dropArea.classList.remove('ax-state-hover');
53
+ }
54
+ }
55
+ AXUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXFileService }], target: i0.ɵɵFactoryTarget.Component });
56
+ AXUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXUploaderComponent, selector: "ax-uploader", inputs: { multiple: "multiple", accept: "accept" }, host: { listeners: { "click": "_handleClick($event)", "drop": "_handleDrop($event)" } }, usesInheritance: true, ngImport: i0, template: " <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>", encapsulation: i0.ViewEncapsulation.None });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'ax-uploader', encapsulation: ViewEncapsulation.None, template: " <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>" }]
60
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: { multiple: [{
61
+ type: Input
62
+ }], accept: [{
63
+ type: Input
64
+ }], _handleClick: [{
65
+ type: HostListener,
66
+ args: ['click', ['$event']]
67
+ }], _handleDrop: [{
68
+ type: HostListener,
69
+ args: ['drop', ['$event']]
70
+ }] } });
71
+
72
+ class AXUploaderModule {
73
+ }
74
+ AXUploaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
75
+ AXUploaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderComponent], imports: [CommonModule, AXFileModule], exports: [AXUploaderComponent] });
76
+ AXUploaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, imports: [CommonModule, AXFileModule] });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXUploaderModule, decorators: [{
78
+ type: NgModule,
79
+ args: [{
80
+ declarations: [AXUploaderComponent],
81
+ imports: [CommonModule, AXFileModule],
82
+ exports: [AXUploaderComponent],
83
+ providers: [],
84
+ }]
85
+ }] });
86
+
87
+ /**
88
+ * Generated bundle index. Do not edit.
89
+ */
90
+
91
+ export { AXUploaderComponent, AXUploaderModule };
92
+ //# sourceMappingURL=acorex-components-uploader.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../projects/acorex/components/uploader/src/uploader.component.ts","../../../../projects/acorex/components/uploader/src/uploader.component.html","../../../../projects/acorex/components/uploader/src/uploader.module.ts","../../../../projects/acorex/components/uploader/acorex-components-uploader.ts"],"sourcesContent":["import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { AXFileService } from '@acorex/core/file';\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-uploader',\r\n templateUrl: './uploader.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXUploaderComponent extends AXBaseComponentMixin {\r\n constructor(\r\n elementRef: ElementRef,\r\n cdr: ChangeDetectorRef,\r\n private _fileService: AXFileService\r\n ) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n image: string = '';\r\n\r\n @Input()\r\n multiple: boolean = false;\r\n\r\n @Input()\r\n accept: string = '*/*';\r\n\r\n private _dropArea: HTMLDivElement;\r\n\r\n @HostListener('click',['$event'])\r\n async _handleClick(e: MouseEvent) {\r\n const files = await this._fileService.choose({\r\n accept: this.accept,\r\n multiple: this.multiple,\r\n });\r\n this._handleFiles(files);\r\n }\r\n\r\n @HostListener('drop',['$event'])\r\n async _handleDrop(e: any) {\r\n let dt = e.dataTransfer\r\n let files = dt.files\r\n this._handleFiles(Array.from(files));\r\n e.preventDefault();\r\n }\r\n\r\n _handleFiles(files:File[])\r\n {\r\n console.log(files);\r\n }\r\n\r\n onInit(): void {\r\n this._dropArea = this._getHostElement();\r\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\r\n this._dropArea.addEventListener(eventName, this.preventDefaults, false);\r\n });\r\n ['dragenter', 'dragover'].forEach((eventName) => {\r\n this._dropArea.addEventListener(eventName, this._handleHighlight.bind(this), false);\r\n });\r\n\r\n ['dragleave', 'drop'].forEach((eventName) => {\r\n this._dropArea.addEventListener(eventName, this._handleUnhighlight.bind(this), false);\r\n\r\n });\r\n }\r\n\r\n preventDefaults(e: any) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n _handleHighlight(e) {\r\n this._dropArea.classList.add('ax-state-hover');\r\n }\r\n\r\n _handleUnhighlight(e) {\r\n this._dropArea.classList.remove('ax-state-hover');\r\n }\r\n}\r\n"," <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4\">\r\n <i class=\"ax-ic ax-ic-cloud-upload upload-icon\"></i>\r\n <div>Drag your file here or, <span class=\"ax-text-primary-500\">click to browse</span></div>\r\n </div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXUploaderComponent } from './uploader.component';\r\nimport { AXFileModule } from '@acorex/core/file';\r\n\r\n@NgModule({\r\n declarations: [AXUploaderComponent],\r\n imports: [CommonModule, AXFileModule],\r\n exports: [AXUploaderComponent],\r\n providers: [],\r\n})\r\nexport class AXUploaderModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- /// <amd-module name="@acorex/components/image-uploader" />
4
+ /// <amd-module name="@acorex/components/image" />
5
5
  export * from './public-api';
@@ -0,0 +1,2 @@
1
+ export * from './src/image.component';
2
+ export * from './src/image.module';
@@ -0,0 +1,18 @@
1
+ import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXImageComponent implements OnInit {
4
+ src?: string | null;
5
+ alt?: string | null;
6
+ lazy: boolean;
7
+ _hasError: boolean;
8
+ _isLoaded: boolean;
9
+ _isLoading: boolean;
10
+ constructor();
11
+ ngOnInit(): void;
12
+ _handleLoadImage(e: any): void;
13
+ _handleErrorImage(e: any): void;
14
+ get __stateError(): boolean;
15
+ get __stateLoading(): boolean;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXImageComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXImageComponent, "ax-image", never, { "src": "src"; "alt": "alt"; "lazy": "lazy"; }, {}, never, ["ax-overlay", "ax-placeholder", "ax-loading"], false>;
18
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./image.component";
3
+ import * as i2 from "@angular/common";
4
+ export declare class AXImageViewModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXImageViewModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXImageViewModule, [typeof i1.AXImageComponent], [typeof i2.CommonModule], [typeof i1.AXImageComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXImageViewModule>;
8
+ }
@@ -58,7 +58,7 @@ export declare function _BaseComponenetMixin<TBase extends Constructor<AXBaseCom
58
58
  * A token that specifies the layout direction of component.
59
59
  */
60
60
  rtl: boolean;
61
- "__#33097@#elementRef": ElementRef<any>;
61
+ "__#32720@#elementRef": ElementRef<any>;
62
62
  _cdr: ChangeDetectorRef;
63
63
  _isInited: boolean;
64
64
  _isRendered: boolean;
@@ -6,8 +6,8 @@ export declare function _BaseMenuComponentMixin<TBase extends Constructor<AXBase
6
6
  new (...args: any[]): {
7
7
  textField: string;
8
8
  valueField: string;
9
- "__#33098@#isLoading": boolean;
10
- "__#33098@#loadedItems": any;
9
+ "__#32721@#isLoading": boolean;
10
+ "__#32721@#loadedItems": any;
11
11
  visibleField: string;
12
12
  disableField: string;
13
13
  hasChildField: string;
@@ -16,7 +16,7 @@ export declare function _BaseMenuComponentMixin<TBase extends Constructor<AXBase
16
16
  orientation: 'horizontal' | 'vertical' | 'sidemenu';
17
17
  dividerField: string;
18
18
  onMenuItemClick: EventEmitter<AXItemClickEvent<any>>;
19
- "__#33098@#items": any;
19
+ "__#32721@#items": any;
20
20
  items: any;
21
21
  readonly displayItems: any;
22
22
  readonly isLoading: boolean;
@@ -28,7 +28,7 @@ export declare function _BaseMenuComponentMixin<TBase extends Constructor<AXBase
28
28
  refresh(): void;
29
29
  id: string;
30
30
  rtl: boolean;
31
- "__#33097@#elementRef": import("@angular/core").ElementRef<any>;
31
+ "__#32720@#elementRef": import("@angular/core").ElementRef<any>;
32
32
  _cdr: import("@angular/core").ChangeDetectorRef;
33
33
  _isInited: boolean;
34
34
  _isRendered: boolean;
@@ -27,7 +27,7 @@ export declare function _ButtonComponentMixin<TBase extends Constructor<AXBaseCo
27
27
  };
28
28
  id: string;
29
29
  rtl: boolean;
30
- "__#33097@#elementRef": import("@angular/core").ElementRef<any>;
30
+ "__#32720@#elementRef": import("@angular/core").ElementRef<any>;
31
31
  _cdr: import("@angular/core").ChangeDetectorRef;
32
32
  _isInited: boolean;
33
33
  _isRendered: boolean;
@@ -14,7 +14,7 @@ export declare function _ClickableComponenetMixin<TBase extends Constructor<AXBa
14
14
  * @ignore
15
15
  */
16
16
  rtl: boolean;
17
- "__#33097@#elementRef": import("@angular/core").ElementRef<any>;
17
+ "__#32720@#elementRef": import("@angular/core").ElementRef<any>;
18
18
  _cdr: import("@angular/core").ChangeDetectorRef;
19
19
  _isInited: boolean;
20
20
  _isRendered: boolean;
@@ -18,7 +18,7 @@ export declare function _ColorLookComponentMixin<TBase extends Constructor<AXBas
18
18
  look: AXStyleLookType;
19
19
  id: string;
20
20
  rtl: boolean;
21
- "__#33097@#elementRef": import("@angular/core").ElementRef<any>;
21
+ "__#32720@#elementRef": import("@angular/core").ElementRef<any>;
22
22
  _cdr: import("@angular/core").ChangeDetectorRef;
23
23
  _isInited: boolean;
24
24
  _isRendered: boolean;
@@ -7,16 +7,16 @@ export declare function _DatalistComponenetMixin<TBase extends Constructor<AXBas
7
7
  textField: string;
8
8
  childrenField: string;
9
9
  pageSize: number;
10
- "__#33099@#currentPage": number;
11
- "__#33099@#isLoading": boolean;
12
- "__#33099@#loadedItems": any[];
13
- "__#33099@#flatItems": any[];
14
- "__#33099@#totalItems": number;
15
- "__#33099@#isLazy": boolean;
10
+ "__#32722@#currentPage": number;
11
+ "__#32722@#isLoading": boolean;
12
+ "__#32722@#loadedItems": any[];
13
+ "__#32722@#flatItems": any[];
14
+ "__#32722@#totalItems": number;
15
+ "__#32722@#isLazy": boolean;
16
16
  readonly totalCount: number;
17
17
  readonly isLazy: boolean;
18
18
  readonly loadedCount: number;
19
- "__#33099@#items": AXDataListItems;
19
+ "__#32722@#items": AXDataListItems;
20
20
  items: AXDataListItems;
21
21
  readonly displayItems: any[];
22
22
  readonly flatItems: any[];
@@ -26,14 +26,14 @@ export declare function _DatalistComponenetMixin<TBase extends Constructor<AXBas
26
26
  searchQuery?: string;
27
27
  }): void;
28
28
  _onDataLoaded(): void;
29
- "__#33099@#generateFlatItems"(): void;
29
+ "__#32722@#generateFlatItems"(): void;
30
30
  _getItemDisplayTextTemplte(item: any): any;
31
31
  _trackByFunction(item: any): any;
32
32
  refresh(): void;
33
33
  empty(): void;
34
34
  id: string;
35
35
  rtl: boolean;
36
- "__#33097@#elementRef": import("@angular/core").ElementRef<any>;
36
+ "__#32720@#elementRef": import("@angular/core").ElementRef<any>;
37
37
  _cdr: import("@angular/core").ChangeDetectorRef;
38
38
  _isInited: boolean;
39
39
  _isRendered: boolean;
@@ -24,7 +24,7 @@ export declare function _DropdownComponenetMixin<TBase extends Constructor<AXBas
24
24
  readonly isOpen: boolean;
25
25
  id: string;
26
26
  rtl: boolean;
27
- "__#33097@#elementRef": import("@angular/core").ElementRef<any>;
27
+ "__#32720@#elementRef": import("@angular/core").ElementRef<any>;
28
28
  _cdr: import("@angular/core").ChangeDetectorRef;
29
29
  _isInited: boolean;
30
30
  _isRendered: boolean;
@@ -3,12 +3,12 @@ import { AXBaseComponent } from "./base-components.class";
3
3
  import { Constructor } from "./constratctor";
4
4
  import { AXFocusEvent } from "@acorex/components/common";
5
5
  export declare function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase): (abstract new (...args: any[]) => {
6
- "__#33100@#disabled": boolean;
6
+ "__#32723@#disabled": boolean;
7
7
  /**
8
8
  * If set to true, it disables the component.
9
9
  */
10
10
  disabled: boolean;
11
- "__#33100@#tabIndex": number;
11
+ "__#32723@#tabIndex": number;
12
12
  /**
13
13
  * Specifies the tabindex of the component.
14
14
  */
@@ -35,7 +35,7 @@ export declare function _InteractiveComponenetMixin<TBase extends Constructor<AX
35
35
  hasFocus(): boolean;
36
36
  id: string;
37
37
  rtl: boolean;
38
- "__#33097@#elementRef": import("@angular/core").ElementRef<any>;
38
+ "__#32720@#elementRef": import("@angular/core").ElementRef<any>;
39
39
  _cdr: import("@angular/core").ChangeDetectorRef;
40
40
  _isInited: boolean;
41
41
  _isRendered: boolean;
@@ -17,7 +17,7 @@ export declare function _LoadingComponenetMixin<TBase extends Constructor<AXBase
17
17
  _onInternalInit(): void;
18
18
  id: string;
19
19
  rtl: boolean;
20
- "__#33097@#elementRef": import("@angular/core").ElementRef<any>;
20
+ "__#32720@#elementRef": import("@angular/core").ElementRef<any>;
21
21
  _cdr: import("@angular/core").ChangeDetectorRef;
22
22
  _isInited: boolean;
23
23
  _isRendered: boolean;