@acorex/components 6.0.2 → 6.0.8

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 (153) hide show
  1. package/README.md +24 -24
  2. package/alert/src/alert.component.d.ts +2 -3
  3. package/badge/src/badge.component.d.ts +1 -2
  4. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +4 -6
  5. package/button/src/button-group.component.d.ts +4 -6
  6. package/button/src/button-item.component.d.ts +4 -6
  7. package/calendar/src/calendar.component.d.ts +1 -0
  8. package/color-picker/src/color-picker.component.d.ts +14 -21
  9. package/common/src/styles.class.d.ts +2 -2
  10. package/context-menu/index.d.ts +5 -0
  11. package/context-menu/public-api.d.ts +2 -0
  12. package/context-menu/src/context-menu.component.d.ts +34 -0
  13. package/context-menu/src/context-menu.module.d.ts +13 -0
  14. package/data-table/src/data-table.component.d.ts +3 -1
  15. package/date-picker/src/datepicker.component.d.ts +11 -14
  16. package/decorators/public-api.d.ts +0 -1
  17. package/decorators/src/decorators.module.d.ts +5 -6
  18. package/decorators/src/header.component.d.ts +1 -1
  19. package/esm2020/alert/src/alert.component.mjs +5 -4
  20. package/esm2020/button/src/button.component.mjs +1 -1
  21. package/esm2020/calendar/src/calendar.component.mjs +33 -5
  22. package/esm2020/checkbox/src/checkbox.component.mjs +3 -3
  23. package/esm2020/common/src/styles.class.mjs +13 -2
  24. package/esm2020/context-menu/acorex-components-context-menu.mjs +5 -0
  25. package/esm2020/context-menu/public-api.mjs +3 -0
  26. package/esm2020/context-menu/src/context-menu.component.mjs +257 -0
  27. package/esm2020/context-menu/src/context-menu.module.mjs +36 -0
  28. package/esm2020/data-table/src/data-table.component.mjs +11 -4
  29. package/esm2020/decorators/public-api.mjs +1 -2
  30. package/esm2020/decorators/src/decorators.module.mjs +1 -5
  31. package/esm2020/decorators/src/header.component.mjs +3 -3
  32. package/esm2020/form/public-api.mjs +2 -2
  33. package/esm2020/form/src/form.component.mjs +74 -8
  34. package/esm2020/form/src/form.module.mjs +68 -0
  35. package/esm2020/menu/src/menu.component.mjs +261 -117
  36. package/esm2020/menu/src/menu.module.mjs +16 -8
  37. package/esm2020/mixin/src/base-components.class.mjs +1 -3
  38. package/esm2020/mixin/src/base-menu-mixin.class.mjs +11 -11
  39. package/esm2020/mixin/src/datalist-component.class.mjs +1 -1
  40. package/esm2020/mixin/src/mixin.class.mjs +14 -14
  41. package/esm2020/mixin/src/selection-component.class.mjs +2 -4
  42. package/esm2020/mixin/src/textbox-mixin.class.mjs +1 -1
  43. package/esm2020/mixin/src/value-mixin.class.mjs +6 -6
  44. package/esm2020/number-box/src/number-box.component.mjs +14 -4
  45. package/esm2020/public-api.mjs +1 -1
  46. package/esm2020/radio/src/radio.component.mjs +3 -3
  47. package/esm2020/result/src/result.component.mjs +3 -3
  48. package/esm2020/search-box/src/search-box.component.mjs +3 -3
  49. package/esm2020/selection-list/src/selection-list.component.mjs +3 -3
  50. package/esm2020/tabs/src/tabs.class.mjs +1 -1
  51. package/esm2020/tabs/src/tabs.component.mjs +35 -16
  52. package/esm2020/toast/src/toast.component.mjs +4 -4
  53. package/esm2020/toast/src/toast.service.mjs +10 -1
  54. package/fesm2015/acorex-components-alert.mjs +4 -3
  55. package/fesm2015/acorex-components-alert.mjs.map +1 -1
  56. package/fesm2015/acorex-components-button.mjs.map +1 -1
  57. package/fesm2015/acorex-components-calendar.mjs +30 -2
  58. package/fesm2015/acorex-components-calendar.mjs.map +1 -1
  59. package/fesm2015/acorex-components-checkbox.mjs +2 -2
  60. package/fesm2015/acorex-components-checkbox.mjs.map +1 -1
  61. package/fesm2015/acorex-components-common.mjs +13 -2
  62. package/fesm2015/acorex-components-common.mjs.map +1 -1
  63. package/fesm2015/acorex-components-context-menu.mjs +297 -0
  64. package/fesm2015/acorex-components-context-menu.mjs.map +1 -0
  65. package/fesm2015/acorex-components-data-table.mjs +10 -3
  66. package/fesm2015/acorex-components-data-table.mjs.map +1 -1
  67. package/fesm2015/acorex-components-decorators.mjs +4 -25
  68. package/fesm2015/acorex-components-decorators.mjs.map +1 -1
  69. package/fesm2015/acorex-components-form.mjs +81 -14
  70. package/fesm2015/acorex-components-form.mjs.map +1 -1
  71. package/fesm2015/acorex-components-menu.mjs +276 -124
  72. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  73. package/fesm2015/acorex-components-mixin.mjs +17 -21
  74. package/fesm2015/acorex-components-mixin.mjs.map +1 -1
  75. package/fesm2015/acorex-components-number-box.mjs +13 -3
  76. package/fesm2015/acorex-components-number-box.mjs.map +1 -1
  77. package/fesm2015/acorex-components-radio.mjs +2 -2
  78. package/fesm2015/acorex-components-radio.mjs.map +1 -1
  79. package/fesm2015/acorex-components-result.mjs +2 -2
  80. package/fesm2015/acorex-components-result.mjs.map +1 -1
  81. package/fesm2015/acorex-components-search-box.mjs +2 -2
  82. package/fesm2015/acorex-components-search-box.mjs.map +1 -1
  83. package/fesm2015/acorex-components-selection-list.mjs +2 -2
  84. package/fesm2015/acorex-components-selection-list.mjs.map +1 -1
  85. package/fesm2015/acorex-components-tabs.mjs +35 -16
  86. package/fesm2015/acorex-components-tabs.mjs.map +1 -1
  87. package/fesm2015/acorex-components-toast.mjs +12 -3
  88. package/fesm2015/acorex-components-toast.mjs.map +1 -1
  89. package/fesm2015/acorex-components.mjs.map +1 -1
  90. package/fesm2020/acorex-components-alert.mjs +4 -3
  91. package/fesm2020/acorex-components-alert.mjs.map +1 -1
  92. package/fesm2020/acorex-components-button.mjs.map +1 -1
  93. package/fesm2020/acorex-components-calendar.mjs +30 -2
  94. package/fesm2020/acorex-components-calendar.mjs.map +1 -1
  95. package/fesm2020/acorex-components-checkbox.mjs +2 -2
  96. package/fesm2020/acorex-components-checkbox.mjs.map +1 -1
  97. package/fesm2020/acorex-components-common.mjs +13 -2
  98. package/fesm2020/acorex-components-common.mjs.map +1 -1
  99. package/fesm2020/acorex-components-context-menu.mjs +297 -0
  100. package/fesm2020/acorex-components-context-menu.mjs.map +1 -0
  101. package/fesm2020/acorex-components-data-table.mjs +10 -3
  102. package/fesm2020/acorex-components-data-table.mjs.map +1 -1
  103. package/fesm2020/acorex-components-decorators.mjs +4 -25
  104. package/fesm2020/acorex-components-decorators.mjs.map +1 -1
  105. package/fesm2020/acorex-components-form.mjs +80 -14
  106. package/fesm2020/acorex-components-form.mjs.map +1 -1
  107. package/fesm2020/acorex-components-menu.mjs +273 -120
  108. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  109. package/fesm2020/acorex-components-mixin.mjs +17 -20
  110. package/fesm2020/acorex-components-mixin.mjs.map +1 -1
  111. package/fesm2020/acorex-components-number-box.mjs +13 -3
  112. package/fesm2020/acorex-components-number-box.mjs.map +1 -1
  113. package/fesm2020/acorex-components-radio.mjs +2 -2
  114. package/fesm2020/acorex-components-radio.mjs.map +1 -1
  115. package/fesm2020/acorex-components-result.mjs +2 -2
  116. package/fesm2020/acorex-components-result.mjs.map +1 -1
  117. package/fesm2020/acorex-components-search-box.mjs +2 -2
  118. package/fesm2020/acorex-components-search-box.mjs.map +1 -1
  119. package/fesm2020/acorex-components-selection-list.mjs +2 -2
  120. package/fesm2020/acorex-components-selection-list.mjs.map +1 -1
  121. package/fesm2020/acorex-components-tabs.mjs +34 -15
  122. package/fesm2020/acorex-components-tabs.mjs.map +1 -1
  123. package/fesm2020/acorex-components-toast.mjs +12 -3
  124. package/fesm2020/acorex-components-toast.mjs.map +1 -1
  125. package/fesm2020/acorex-components.mjs.map +1 -1
  126. package/form/public-api.d.ts +1 -1
  127. package/form/src/form.component.d.ts +19 -2
  128. package/form/src/{form-field.module.d.ts → form.module.d.ts} +0 -0
  129. package/menu/src/menu.component.d.ts +21 -36
  130. package/menu/src/menu.module.d.ts +2 -2
  131. package/mixin/src/base-components.class.d.ts +1 -3
  132. package/mixin/src/base-menu-mixin.class.d.ts +8 -9
  133. package/mixin/src/button-mixin.class.d.ts +1 -2
  134. package/mixin/src/clickable-mixin.class.d.ts +1 -2
  135. package/mixin/src/color-look-mixing.class.d.ts +1 -2
  136. package/mixin/src/datalist-component.class.d.ts +9 -10
  137. package/mixin/src/dropdown-mixin.class.d.ts +1 -2
  138. package/mixin/src/interactive-mixin.class.d.ts +6 -5
  139. package/mixin/src/loading-mixin.class.d.ts +1 -2
  140. package/mixin/src/mixin.class.d.ts +47 -100
  141. package/mixin/src/page-component.class.d.ts +1 -2
  142. package/mixin/src/selection-component.class.d.ts +1 -2
  143. package/mixin/src/sizable-mixin.class.d.ts +1 -2
  144. package/mixin/src/textbox-mixin.class.d.ts +7 -8
  145. package/mixin/src/value-mixin.class.d.ts +7 -8
  146. package/package.json +9 -1
  147. package/tabs/src/tab-item.component.d.ts +1 -2
  148. package/tabs/src/tabs.class.d.ts +1 -0
  149. package/tabs/src/tabs.component.d.ts +9 -4
  150. package/toast/src/toast.service.d.ts +1 -0
  151. package/decorators/src/addon.component.d.ts +0 -8
  152. package/esm2020/decorators/src/addon.component.mjs +0 -21
  153. package/esm2020/form/src/form-field.module.mjs +0 -68
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-common.mjs","sources":["../../../../projects/acorex/components/common/src/components.class.ts","../../../../projects/acorex/components/common/src/auto-focus.directive.ts","../../../../projects/acorex/components/common/src/hotkey.service.ts","../../../../projects/acorex/components/common/src/hotkey.directive.ts","../../../../projects/acorex/components/common/src/infinite-scroll.directive.ts","../../../../projects/acorex/components/common/src/responsive.directive.ts","../../../../projects/acorex/components/common/src/common.module.ts","../../../../projects/acorex/components/common/src/custom-cdk-overlay.service.ts","../../../../projects/acorex/components/common/src/events.class.ts","../../../../projects/acorex/components/common/src/overlay.service.ts","../../../../projects/acorex/components/common/src/styles.class.ts","../../../../projects/acorex/components/common/acorex-components-common.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\r\nimport { AXValueChangedEvent } from './events.class';\r\n\r\n@Injectable()\r\nexport abstract class AXComponent {}\r\n\r\n@Injectable()\r\nexport abstract class AXClosbaleComponent extends AXComponent {\r\n abstract close(): void;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXSearchableComponent extends AXComponent {\r\n abstract search(value: string): void;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXValuableComponent extends AXComponent {\r\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<any>>;\r\n abstract value: any;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXFocusableComponent extends AXComponent {\r\n abstract focus();\r\n}\r\n\r\nexport interface AXPagedComponentInterface {\r\n goToPage(page: number);\r\n get totalCount(): number;\r\n get pageSize(): number;\r\n onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXPagedComponent\r\n extends AXComponent\r\n implements AXPagedComponentInterface\r\n{\r\n abstract goToPage(page: number);\r\n abstract get totalCount(): number;\r\n abstract get pageSize(): number;\r\n abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n}\r\n","import {\r\n AfterContentInit,\r\n Directive,\r\n ElementRef,\r\n Host,\r\n Input,\r\n Optional,\r\n Self,\r\n} from '@angular/core';\r\nimport { AXFocusableComponent } from './components.class';\r\n\r\n@Directive({\r\n selector: '[axAutoFocus]',\r\n})\r\nexport class AXAutoFocusDirective implements AfterContentInit {\r\n @Input('axAutoFocus')\r\n public autoFocus?: boolean = true;\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n @Host()\r\n @Self()\r\n @Optional()\r\n public _host: AXFocusableComponent\r\n ) {}\r\n\r\n ngAfterContentInit(): void {\r\n if (this.autoFocus) {\r\n const list = [\r\n 'button',\r\n 'input',\r\n '[href]',\r\n 'select',\r\n 'textarea',\r\n '[tabindex]',\r\n ].map((c) => c + ':not([tabindex=\"-1\"])');\r\n const focusable =\r\n this.el.nativeElement.querySelector<HTMLElement>(list.join(', ')) ??\r\n this.el.nativeElement;\r\n const attr = document.createAttribute('autofocus');\r\n focusable.setAttributeNode(attr);\r\n const hasTabindex = focusable.hasAttribute('tabindex');\r\n if (!hasTabindex) {\r\n focusable.setAttribute('tabIndex', '0');\r\n }\r\n setTimeout(() => {\r\n focusable.focus();\r\n }, 250);\r\n }\r\n }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { EventManager } from '@angular/platform-browser';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\n\r\ntype Options = {\r\n element: any;\r\n keys: string;\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXHotkeysService {\r\n defaults: Partial<Options> = {\r\n element: this.document,\r\n };\r\n\r\n constructor(\r\n private eventManager: EventManager,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n addShortcut(options: Partial<Options>) {\r\n const merged = { ...this.defaults, ...options };\r\n const event = `keydown.${merged.keys}`;\r\n\r\n return new Observable((observer) => {\r\n const handler = (e: UIEvent) => {\r\n e.preventDefault();\r\n observer.next(e);\r\n };\r\n\r\n const dispose = this.eventManager.addEventListener(\r\n merged.element,\r\n event,\r\n handler\r\n );\r\n\r\n return () => {\r\n dispose();\r\n };\r\n });\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n Host,\r\n Input,\r\n Optional,\r\n Self,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { AXComponent } from './components.class';\r\nimport { AXHotkeysService } from './hotkey.service';\r\n\r\nexport type AXHotKeyAction = { [key: string]: string | Function; parmas?: any };\r\n\r\n@Directive({\r\n selector: '[hotkey]',\r\n})\r\nexport class AXHotkeyDirective implements AfterViewInit {\r\n @Input('hotkey')\r\n public hotkey: string | AXHotKeyAction | AXHotKeyAction[] = '';\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n @Host()\r\n @Self()\r\n @Optional()\r\n public _host: AXComponent,\r\n private hs: AXHotkeysService\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.hotkey || !this._host) return;\r\n\r\n if (typeof this.hotkey == 'string') {\r\n this._addDefaultAction(this.hotkey);\r\n } else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {\r\n this._addHotKeyAction([this.hotkey as AXHotKeyAction]);\r\n } else if (Array.isArray(this.hotkey)) {\r\n this._addHotKeyAction(this.hotkey);\r\n }\r\n }\r\n\r\n private _addDefaultAction(hotkey: string) {\r\n this._subs.push(\r\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\r\n ['click', 'toggle', 'open', 'focus'].forEach((a) => {\r\n if (this._host[a]) {\r\n this._host[a]();\r\n return;\r\n }\r\n });\r\n })\r\n );\r\n }\r\n\r\n private _addHotKeyAction(hotkeys: AXHotKeyAction[]) {\r\n hotkeys.forEach((k) => {\r\n const hotkey = (<unknown>Object.entries(k)[0][0]) as string;\r\n const action = <unknown>Object.entries(k)[0][1];\r\n if (!action) this._addDefaultAction(hotkey);\r\n else {\r\n this._subs.push(\r\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\r\n if (typeof action == 'string' && this._host[action]) {\r\n this._host[action]();\r\n return;\r\n }\r\n if (typeof action == 'function') {\r\n action();\r\n return;\r\n }\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.forEach((s) => {\r\n s.unsubscribe();\r\n });\r\n }\r\n}\r\n","import { Directive, AfterViewInit, ElementRef, Input } from '@angular/core';\r\nimport { fromEvent, Observable } from 'rxjs';\r\nimport { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';\r\n\r\n\r\nexport interface AXScrollPosition {\r\n scrollHeight: number;\r\n scrollTop: number;\r\n clientHeight: number;\r\n};\r\n\r\nconst AX_DEFAULT_SCROLL_POSITION: AXScrollPosition = {\r\n scrollHeight: 0,\r\n scrollTop: 0,\r\n clientHeight: 0\r\n};\r\n\r\n@Directive({\r\n selector: '[axInfiniteScroller]'\r\n})\r\nexport class AXInfiniteScrollerDirective implements AfterViewInit {\r\n\r\n private scrollEvent$: Observable<any>;\r\n\r\n private userScrolledDown$: Observable<any>;\r\n\r\n\r\n private requestOnScroll$: Observable<any>;\r\n\r\n @Input()\r\n scrollCallback: Function;\r\n\r\n @Input()\r\n immediateCallback;\r\n\r\n @Input()\r\n scrollPercent = 70;\r\n\r\n constructor(private elm: ElementRef) { }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.registerScrollEvent();\r\n\r\n this.streamScrollEvents();\r\n\r\n this.requestCallbackOnScroll();\r\n\r\n }\r\n\r\n private registerScrollEvent() {\r\n\r\n this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');\r\n\r\n }\r\n\r\n private streamScrollEvents() {\r\n this.userScrolledDown$ = this.scrollEvent$\r\n .pipe(\r\n map((e: any): AXScrollPosition => ({\r\n scrollHeight: e.target.scrollHeight,\r\n scrollTop: e.target.scrollTop,\r\n clientHeight: e.target.clientHeight\r\n })),\r\n pairwise(),\r\n filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1]))\r\n );\r\n }\r\n\r\n private requestCallbackOnScroll() {\r\n this.requestOnScroll$ = this.userScrolledDown$;\r\n\r\n if (this.immediateCallback) {\r\n this.requestOnScroll$ = this.requestOnScroll$.pipe(\r\n startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION])\r\n );\r\n }\r\n\r\n this.requestOnScroll$.pipe(\r\n exhaustMap(() => {\r\n return this.scrollCallback();\r\n }))\r\n //.subscribe((data) => { console.log(data) }, (err) => console.log(err));\r\n\r\n }\r\n\r\n private isUserScrollingDown = (positions) => {\r\n return positions[0].sT < positions[1].sT;\r\n }\r\n\r\n private isScrollExpectedPercent = (position) => {\r\n return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);\r\n }\r\n\r\n}","import { Directive, ElementRef, OnDestroy } from '@angular/core';\r\n\r\n@Directive({ selector: '[ax-responsive]' })\r\nexport class AXResponsiveDirective implements OnDestroy {\r\n\r\n private _observer: ResizeObserver = new ResizeObserver(entries => {\r\n for (let entry of entries) {\r\n\r\n if (entry.target) {\r\n const e = entry.target;\r\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\r\n elements.map(c => ({\r\n element: c,\r\n classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))\r\n })).forEach(c => {\r\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\r\n });\r\n }\r\n }\r\n });;\r\n\r\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\r\n this._observer.observe(_elementRef.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._observer.disconnect();\r\n this._observer.unobserve(this._elementRef.nativeElement);\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { AXAutoFocusDirective } from './auto-focus.directive';\r\nimport { AXHotkeyDirective } from './hotkey.directive';\r\nimport { AXInfiniteScrollerDirective } from './infinite-scroll.directive';\r\nimport { AXResponsiveDirective } from './responsive.directive';\r\n@NgModule({\r\n imports: [],\r\n exports: [\r\n AXResponsiveDirective,\r\n AXInfiniteScrollerDirective,\r\n AXAutoFocusDirective,\r\n AXHotkeyDirective,\r\n ],\r\n declarations: [\r\n AXResponsiveDirective,\r\n AXInfiniteScrollerDirective,\r\n AXAutoFocusDirective,\r\n AXHotkeyDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class AXCommonModule {}\r\n","import {\r\n Overlay,\r\n OverlayKeyboardDispatcher,\r\n OverlayPositionBuilder,\r\n ScrollStrategyOptions,\r\n OverlayContainer,\r\n OverlayRef,\r\n OverlayConfig,\r\n OverlayOutsideClickDispatcher,\r\n} from '@angular/cdk/overlay';\r\n\r\n// TODO: 'ComponentFactoryResolver' is deprecated.\r\nimport {\r\n ComponentFactoryResolver,\r\n Inject,\r\n Injector,\r\n NgZone,\r\n Renderer2,\r\n RendererFactory2,\r\n Injectable,\r\n} from '@angular/core';\r\n\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicOverlayContainer extends OverlayContainer {\r\n public setContainerElement(containerElement: HTMLElement): void {\r\n this._containerElement = containerElement;\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicOverlay extends Overlay {\r\n private readonly _dynamicOverlayContainer: DynamicOverlayContainer;\r\n private renderer: Renderer2;\r\n\r\n constructor(\r\n scrollStrategies: ScrollStrategyOptions,\r\n _overlayContainer: DynamicOverlayContainer,\r\n _componentFactoryResolver: ComponentFactoryResolver,\r\n _positionBuilder: OverlayPositionBuilder,\r\n _keyboardDispatcher: OverlayKeyboardDispatcher,\r\n _injector: Injector,\r\n _ngZone: NgZone,\r\n @Inject(DOCUMENT) _document: any,\r\n _directionality: Directionality,\r\n rendererFactory: RendererFactory2,\r\n _location: Location,\r\n _outsideClickDispatcher: OverlayOutsideClickDispatcher\r\n ) {\r\n super(\r\n scrollStrategies,\r\n _overlayContainer,\r\n _componentFactoryResolver,\r\n _positionBuilder,\r\n _keyboardDispatcher,\r\n _injector,\r\n _ngZone,\r\n _document,\r\n _directionality,\r\n _location,\r\n _outsideClickDispatcher\r\n );\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n\r\n this._dynamicOverlayContainer = _overlayContainer;\r\n }\r\n\r\n private setContainerElement(containerElement: HTMLElement): void {\r\n this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');\r\n this._dynamicOverlayContainer.setContainerElement(containerElement);\r\n }\r\n\r\n public createOn(\r\n containerElement: HTMLElement,\r\n config?: OverlayConfig\r\n ): OverlayRef {\r\n this.setContainerElement(containerElement);\r\n return super.create(config);\r\n }\r\n}\r\n","/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXEvent {\r\n /**\r\n * The sender component\r\n */\r\n component: any;\r\n /**\r\n * The root native element\r\n */\r\n htmlElement?: HTMLElement;\r\n\r\n isUserInteraction?: boolean = false;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXHtmlEvent<E extends Event> extends AXEvent {\r\n nativeEvent?: E;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXValueChangedEvent<T> extends AXEvent {\r\n name?: string;\r\n value?: T;\r\n oldValue?: T;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\r\n /**\r\n * uses for extra data\r\n */\r\n data?: any;\r\n\r\n nativeEvent?:any;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXButtonClickEvent extends AXClickEvent {\r\n name: string;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXItemClickEvent<T> extends AXHtmlEvent<MouseEvent> {\r\n item: T;\r\n}\r\n\r\n/**\r\n * Fires each time the component gets focused.\r\n * @category Events\r\n */\r\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> {}\r\n\r\n/**\r\n * Fires each time an item or multiple items selected by the user or value.\r\n * @category Events\r\n */\r\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<\r\n any | any[]\r\n> {\r\n value?: any;\r\n oldValue?: any;\r\n selectedKeys?: any[];\r\n selectedItems?: any[];\r\n}\r\n\r\n/**\r\n * Contains range start & end values\r\n * @category Events\r\n */\r\nexport class AXRangeChangedEvent<T> extends AXEvent {\r\n /**\r\n * The range start value\r\n */\r\n start?: T;\r\n /**\r\n * The range end value\r\n */\r\n end?: T;\r\n}\r\n","import { Injectable, ApplicationRef, ViewContainerRef, TemplateRef } from '@angular/core';\r\nimport { Overlay, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\r\nimport { TemplatePortal, Portal, ComponentPortal } from '@angular/cdk/portal';\r\nimport { AXConnectedPosition } from './drawing.class';\r\nimport { merge } from 'rxjs';\r\nimport { DynamicOverlay } from './custom-cdk-overlay.service';\r\n\r\nexport interface AXOverlayViewRef {\r\n instance: any;\r\n dispose: () => void;\r\n isOpen: () => boolean;\r\n}\r\n\r\nexport interface AXOverlayConfigs {\r\n position?: AXConnectedPosition | AXConnectedPosition[];\r\n hasBackdrop?: boolean;\r\n transparentBackdrop?: boolean;\r\n closeOnClickOutside?: boolean;\r\n targetElement?: HTMLElement;\r\n containerElement?: HTMLElement;\r\n onBackdropClick?: () => void;\r\n panelClass?: string[] | string;\r\n backdropClass?: string[] | string;\r\n scroll?: 'auto' | 'block' | 'close';\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXOverlayService {\r\n constructor(\r\n private overlayService: DynamicOverlay,\r\n private overlayService2: Overlay,\r\n private appRef: ApplicationRef) {\r\n\r\n }\r\n\r\n show(content: any, context?: any, configs?: AXOverlayConfigs): AXOverlayViewRef {\r\n configs = Object.assign({\r\n hasBackdrop: true,\r\n transparentBackdrop: true,\r\n closeOnClickOutside: true\r\n }, configs || {});\r\n // get root viewref\r\n const viewRef: ViewContainerRef = this.appRef.components[0].instance.viewRef;\r\n\r\n let portal: Portal<any>;\r\n // get component by route\r\n if (typeof content === 'string') {\r\n // TODO\r\n }\r\n // create portal from component\r\n else if (content instanceof TemplateRef) {\r\n portal = new TemplatePortal(content, viewRef, context);\r\n }\r\n else if (typeof content === 'function') {\r\n portal = new ComponentPortal(content, viewRef);\r\n }\r\n let positionStrategy: PositionStrategy;\r\n if (configs.position && configs.targetElement) {\r\n positionStrategy = this.overlayService.position()\r\n .flexibleConnectedTo(configs.targetElement)\r\n .withPositions(\r\n Array.isArray(configs.position) ? configs.position : [configs.position]\r\n )\r\n .withPush(true);\r\n }\r\n else {\r\n positionStrategy = this.overlayService.position().global().centerHorizontally().centerVertically();\r\n }\r\n let scrollStrategy: ScrollStrategy = this.overlayService.scrollStrategies.reposition({ autoClose: true });\r\n if (configs.scroll === 'block') {\r\n scrollStrategy = this.overlayService.scrollStrategies.block();\r\n }\r\n if (configs.scroll === 'close') {\r\n scrollStrategy = this.overlayService.scrollStrategies.close();\r\n }\r\n\r\n const config = {\r\n positionStrategy,\r\n scrollStrategy,\r\n hasBackdrop: configs.hasBackdrop,\r\n disposeOnNavigation: true,\r\n backdropClass: configs.backdropClass ? configs.backdropClass : (configs.transparentBackdrop ? 'cdk-overlay-transparent-backdrop' : undefined),\r\n panelClass: configs.panelClass ? configs.panelClass : ['ax-animate-animated', 'ax-animate-zoomIn','ax-animate-faster']\r\n };\r\n // joon nanat dorost sho\r\n let overlayRef:any = configs.containerElement ? this.overlayService.createOn(configs.containerElement, config) : this.overlayService2.create(config);\r\n\r\n const host = overlayRef.attach(portal!);\r\n if (host.instance) {\r\n Object.assign(host.instance, context);\r\n setTimeout(() => {\r\n host.changeDetectorRef.detectChanges();\r\n }, 0);\r\n }\r\n if (configs.closeOnClickOutside) {\r\n merge(\r\n overlayRef.backdropClick(),\r\n overlayRef.detachments(),\r\n ).subscribe(() => {\r\n overlayRef.dispose();\r\n overlayRef = undefined;\r\n if (configs!.onBackdropClick) {\r\n configs!.onBackdropClick();\r\n }\r\n });\r\n\r\n }\r\n return {\r\n instance: host.instance,\r\n dispose: overlayRef.dispose.bind(overlayRef),\r\n isOpen: () => {\r\n return overlayRef.hasAttached();\r\n }\r\n };\r\n }\r\n\r\n}","export const AX_STYLE_TYPES = ['info', 'danger', 'success', 'warning'];\r\n\r\n/**\r\n * A token that specifies the color style of component.\r\n */\r\nexport type AXStyleColorType =\r\n | 'primary'\r\n | 'secondary'\r\n | 'info'\r\n | 'danger'\r\n | 'success'\r\n | 'warning'\r\n | 'light'\r\n | 'dark';\r\nexport type AXStyleLookType =\r\n | 'default'\r\n | 'blank'\r\n | 'outline'\r\n | 'twotone'\r\n | 'link';\r\n\r\nexport const AX_LOCATIONS = [\r\n 'bottom-start',\r\n 'bottom-center',\r\n 'bottom-end',\r\n 'top-start',\r\n 'top-center',\r\n 'top-end',\r\n];\r\nexport type AXLocation =\r\n | 'bottom-start'\r\n | 'bottom-center'\r\n | 'bottom-end'\r\n | 'top-start'\r\n | 'top-center'\r\n | 'top-end';\r\n\r\nexport const AX_DIRECTIONS = ['vertical', 'horizontal'];\r\n/**\r\n * A token that specifies the direction of component.\r\n */\r\nexport type AXDirection = 'vertical' | 'horizontal';\r\n\r\n/**\r\n * A token that specifies the selection mode of component.\r\n */\r\nexport type AXSelectionMode = 'single' | 'multiple';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AXFocusableComponent","i1.AXComponent","i2.AXHotkeysService","i1","i1.DynamicOverlay","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-common.mjs","sources":["../../../../projects/acorex/components/common/src/components.class.ts","../../../../projects/acorex/components/common/src/auto-focus.directive.ts","../../../../projects/acorex/components/common/src/hotkey.service.ts","../../../../projects/acorex/components/common/src/hotkey.directive.ts","../../../../projects/acorex/components/common/src/infinite-scroll.directive.ts","../../../../projects/acorex/components/common/src/responsive.directive.ts","../../../../projects/acorex/components/common/src/common.module.ts","../../../../projects/acorex/components/common/src/custom-cdk-overlay.service.ts","../../../../projects/acorex/components/common/src/events.class.ts","../../../../projects/acorex/components/common/src/overlay.service.ts","../../../../projects/acorex/components/common/src/styles.class.ts","../../../../projects/acorex/components/common/acorex-components-common.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\r\nimport { AXValueChangedEvent } from './events.class';\r\n\r\n@Injectable()\r\nexport abstract class AXComponent {}\r\n\r\n@Injectable()\r\nexport abstract class AXClosbaleComponent extends AXComponent {\r\n abstract close(): void;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXSearchableComponent extends AXComponent {\r\n abstract search(value: string): void;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXValuableComponent extends AXComponent {\r\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<any>>;\r\n abstract value: any;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXFocusableComponent extends AXComponent {\r\n abstract focus();\r\n}\r\n\r\nexport interface AXPagedComponentInterface {\r\n goToPage(page: number);\r\n get totalCount(): number;\r\n get pageSize(): number;\r\n onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXPagedComponent\r\n extends AXComponent\r\n implements AXPagedComponentInterface\r\n{\r\n abstract goToPage(page: number);\r\n abstract get totalCount(): number;\r\n abstract get pageSize(): number;\r\n abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\r\n}\r\n","import {\r\n AfterContentInit,\r\n Directive,\r\n ElementRef,\r\n Host,\r\n Input,\r\n Optional,\r\n Self,\r\n} from '@angular/core';\r\nimport { AXFocusableComponent } from './components.class';\r\n\r\n@Directive({\r\n selector: '[axAutoFocus]',\r\n})\r\nexport class AXAutoFocusDirective implements AfterContentInit {\r\n @Input('axAutoFocus')\r\n public autoFocus?: boolean = true;\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n @Host()\r\n @Self()\r\n @Optional()\r\n public _host: AXFocusableComponent\r\n ) {}\r\n\r\n ngAfterContentInit(): void {\r\n if (this.autoFocus) {\r\n const list = [\r\n 'button',\r\n 'input',\r\n '[href]',\r\n 'select',\r\n 'textarea',\r\n '[tabindex]',\r\n ].map((c) => c + ':not([tabindex=\"-1\"])');\r\n const focusable =\r\n this.el.nativeElement.querySelector<HTMLElement>(list.join(', ')) ??\r\n this.el.nativeElement;\r\n const attr = document.createAttribute('autofocus');\r\n focusable.setAttributeNode(attr);\r\n const hasTabindex = focusable.hasAttribute('tabindex');\r\n if (!hasTabindex) {\r\n focusable.setAttribute('tabIndex', '0');\r\n }\r\n setTimeout(() => {\r\n focusable.focus();\r\n }, 250);\r\n }\r\n }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { EventManager } from '@angular/platform-browser';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\n\r\ntype Options = {\r\n element: any;\r\n keys: string;\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXHotkeysService {\r\n defaults: Partial<Options> = {\r\n element: this.document,\r\n };\r\n\r\n constructor(\r\n private eventManager: EventManager,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n addShortcut(options: Partial<Options>) {\r\n const merged = { ...this.defaults, ...options };\r\n const event = `keydown.${merged.keys}`;\r\n\r\n return new Observable((observer) => {\r\n const handler = (e: UIEvent) => {\r\n e.preventDefault();\r\n observer.next(e);\r\n };\r\n\r\n const dispose = this.eventManager.addEventListener(\r\n merged.element,\r\n event,\r\n handler\r\n );\r\n\r\n return () => {\r\n dispose();\r\n };\r\n });\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n Host,\r\n Input,\r\n Optional,\r\n Self,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { AXComponent } from './components.class';\r\nimport { AXHotkeysService } from './hotkey.service';\r\n\r\nexport type AXHotKeyAction = { [key: string]: string | Function; parmas?: any };\r\n\r\n@Directive({\r\n selector: '[hotkey]',\r\n})\r\nexport class AXHotkeyDirective implements AfterViewInit {\r\n @Input('hotkey')\r\n public hotkey: string | AXHotKeyAction | AXHotKeyAction[] = '';\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n @Host()\r\n @Self()\r\n @Optional()\r\n public _host: AXComponent,\r\n private hs: AXHotkeysService\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.hotkey || !this._host) return;\r\n\r\n if (typeof this.hotkey == 'string') {\r\n this._addDefaultAction(this.hotkey);\r\n } else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {\r\n this._addHotKeyAction([this.hotkey as AXHotKeyAction]);\r\n } else if (Array.isArray(this.hotkey)) {\r\n this._addHotKeyAction(this.hotkey);\r\n }\r\n }\r\n\r\n private _addDefaultAction(hotkey: string) {\r\n this._subs.push(\r\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\r\n ['click', 'toggle', 'open', 'focus'].forEach((a) => {\r\n if (this._host[a]) {\r\n this._host[a]();\r\n return;\r\n }\r\n });\r\n })\r\n );\r\n }\r\n\r\n private _addHotKeyAction(hotkeys: AXHotKeyAction[]) {\r\n hotkeys.forEach((k) => {\r\n const hotkey = (<unknown>Object.entries(k)[0][0]) as string;\r\n const action = <unknown>Object.entries(k)[0][1];\r\n if (!action) this._addDefaultAction(hotkey);\r\n else {\r\n this._subs.push(\r\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\r\n if (typeof action == 'string' && this._host[action]) {\r\n this._host[action]();\r\n return;\r\n }\r\n if (typeof action == 'function') {\r\n action();\r\n return;\r\n }\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.forEach((s) => {\r\n s.unsubscribe();\r\n });\r\n }\r\n}\r\n","import { Directive, AfterViewInit, ElementRef, Input } from '@angular/core';\r\nimport { fromEvent, Observable } from 'rxjs';\r\nimport { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';\r\n\r\n\r\nexport interface AXScrollPosition {\r\n scrollHeight: number;\r\n scrollTop: number;\r\n clientHeight: number;\r\n};\r\n\r\nconst AX_DEFAULT_SCROLL_POSITION: AXScrollPosition = {\r\n scrollHeight: 0,\r\n scrollTop: 0,\r\n clientHeight: 0\r\n};\r\n\r\n@Directive({\r\n selector: '[axInfiniteScroller]'\r\n})\r\nexport class AXInfiniteScrollerDirective implements AfterViewInit {\r\n\r\n private scrollEvent$: Observable<any>;\r\n\r\n private userScrolledDown$: Observable<any>;\r\n\r\n\r\n private requestOnScroll$: Observable<any>;\r\n\r\n @Input()\r\n scrollCallback: Function;\r\n\r\n @Input()\r\n immediateCallback;\r\n\r\n @Input()\r\n scrollPercent = 70;\r\n\r\n constructor(private elm: ElementRef) { }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.registerScrollEvent();\r\n\r\n this.streamScrollEvents();\r\n\r\n this.requestCallbackOnScroll();\r\n\r\n }\r\n\r\n private registerScrollEvent() {\r\n\r\n this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');\r\n\r\n }\r\n\r\n private streamScrollEvents() {\r\n this.userScrolledDown$ = this.scrollEvent$\r\n .pipe(\r\n map((e: any): AXScrollPosition => ({\r\n scrollHeight: e.target.scrollHeight,\r\n scrollTop: e.target.scrollTop,\r\n clientHeight: e.target.clientHeight\r\n })),\r\n pairwise(),\r\n filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1]))\r\n );\r\n }\r\n\r\n private requestCallbackOnScroll() {\r\n this.requestOnScroll$ = this.userScrolledDown$;\r\n\r\n if (this.immediateCallback) {\r\n this.requestOnScroll$ = this.requestOnScroll$.pipe(\r\n startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION])\r\n );\r\n }\r\n\r\n this.requestOnScroll$.pipe(\r\n exhaustMap(() => {\r\n return this.scrollCallback();\r\n }))\r\n //.subscribe((data) => { console.log(data) }, (err) => console.log(err));\r\n\r\n }\r\n\r\n private isUserScrollingDown = (positions) => {\r\n return positions[0].sT < positions[1].sT;\r\n }\r\n\r\n private isScrollExpectedPercent = (position) => {\r\n return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);\r\n }\r\n\r\n}","import { Directive, ElementRef, OnDestroy } from '@angular/core';\r\n\r\n@Directive({ selector: '[ax-responsive]' })\r\nexport class AXResponsiveDirective implements OnDestroy {\r\n\r\n private _observer: ResizeObserver = new ResizeObserver(entries => {\r\n for (let entry of entries) {\r\n\r\n if (entry.target) {\r\n const e = entry.target;\r\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\r\n elements.map(c => ({\r\n element: c,\r\n classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))\r\n })).forEach(c => {\r\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\r\n });\r\n }\r\n }\r\n });;\r\n\r\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\r\n this._observer.observe(_elementRef.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._observer.disconnect();\r\n this._observer.unobserve(this._elementRef.nativeElement);\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { AXAutoFocusDirective } from './auto-focus.directive';\r\nimport { AXHotkeyDirective } from './hotkey.directive';\r\nimport { AXInfiniteScrollerDirective } from './infinite-scroll.directive';\r\nimport { AXResponsiveDirective } from './responsive.directive';\r\n@NgModule({\r\n imports: [],\r\n exports: [\r\n AXResponsiveDirective,\r\n AXInfiniteScrollerDirective,\r\n AXAutoFocusDirective,\r\n AXHotkeyDirective,\r\n ],\r\n declarations: [\r\n AXResponsiveDirective,\r\n AXInfiniteScrollerDirective,\r\n AXAutoFocusDirective,\r\n AXHotkeyDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class AXCommonModule {}\r\n","import {\r\n Overlay,\r\n OverlayKeyboardDispatcher,\r\n OverlayPositionBuilder,\r\n ScrollStrategyOptions,\r\n OverlayContainer,\r\n OverlayRef,\r\n OverlayConfig,\r\n OverlayOutsideClickDispatcher,\r\n} from '@angular/cdk/overlay';\r\n\r\n// TODO: 'ComponentFactoryResolver' is deprecated.\r\nimport {\r\n ComponentFactoryResolver,\r\n Inject,\r\n Injector,\r\n NgZone,\r\n Renderer2,\r\n RendererFactory2,\r\n Injectable,\r\n} from '@angular/core';\r\n\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicOverlayContainer extends OverlayContainer {\r\n public setContainerElement(containerElement: HTMLElement): void {\r\n this._containerElement = containerElement;\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicOverlay extends Overlay {\r\n private readonly _dynamicOverlayContainer: DynamicOverlayContainer;\r\n private renderer: Renderer2;\r\n\r\n constructor(\r\n scrollStrategies: ScrollStrategyOptions,\r\n _overlayContainer: DynamicOverlayContainer,\r\n _componentFactoryResolver: ComponentFactoryResolver,\r\n _positionBuilder: OverlayPositionBuilder,\r\n _keyboardDispatcher: OverlayKeyboardDispatcher,\r\n _injector: Injector,\r\n _ngZone: NgZone,\r\n @Inject(DOCUMENT) _document: any,\r\n _directionality: Directionality,\r\n rendererFactory: RendererFactory2,\r\n _location: Location,\r\n _outsideClickDispatcher: OverlayOutsideClickDispatcher\r\n ) {\r\n super(\r\n scrollStrategies,\r\n _overlayContainer,\r\n _componentFactoryResolver,\r\n _positionBuilder,\r\n _keyboardDispatcher,\r\n _injector,\r\n _ngZone,\r\n _document,\r\n _directionality,\r\n _location,\r\n _outsideClickDispatcher\r\n );\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n\r\n this._dynamicOverlayContainer = _overlayContainer;\r\n }\r\n\r\n private setContainerElement(containerElement: HTMLElement): void {\r\n this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');\r\n this._dynamicOverlayContainer.setContainerElement(containerElement);\r\n }\r\n\r\n public createOn(\r\n containerElement: HTMLElement,\r\n config?: OverlayConfig\r\n ): OverlayRef {\r\n this.setContainerElement(containerElement);\r\n return super.create(config);\r\n }\r\n}\r\n","/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXEvent {\r\n /**\r\n * The sender component\r\n */\r\n component: any;\r\n /**\r\n * The root native element\r\n */\r\n htmlElement?: HTMLElement;\r\n\r\n isUserInteraction?: boolean = false;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXHtmlEvent<E extends Event> extends AXEvent {\r\n nativeEvent?: E;\r\n}\r\n\r\n/**\r\n * Contains native event\r\n * @category Events\r\n */\r\nexport class AXValueChangedEvent<T> extends AXEvent {\r\n name?: string;\r\n value?: T;\r\n oldValue?: T;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\r\n /**\r\n * uses for extra data\r\n */\r\n data?: any;\r\n\r\n nativeEvent?:any;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXButtonClickEvent extends AXClickEvent {\r\n name: string;\r\n}\r\n\r\n/**\r\n * Fires each time the user click the element.\r\n * @category Events\r\n */\r\nexport class AXItemClickEvent<T> extends AXHtmlEvent<MouseEvent> {\r\n item: T;\r\n}\r\n\r\n/**\r\n * Fires each time the component gets focused.\r\n * @category Events\r\n */\r\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> {}\r\n\r\n/**\r\n * Fires each time an item or multiple items selected by the user or value.\r\n * @category Events\r\n */\r\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<\r\n any | any[]\r\n> {\r\n value?: any;\r\n oldValue?: any;\r\n selectedKeys?: any[];\r\n selectedItems?: any[];\r\n}\r\n\r\n/**\r\n * Contains range start & end values\r\n * @category Events\r\n */\r\nexport class AXRangeChangedEvent<T> extends AXEvent {\r\n /**\r\n * The range start value\r\n */\r\n start?: T;\r\n /**\r\n * The range end value\r\n */\r\n end?: T;\r\n}\r\n","import { Injectable, ApplicationRef, ViewContainerRef, TemplateRef } from '@angular/core';\r\nimport { Overlay, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\r\nimport { TemplatePortal, Portal, ComponentPortal } from '@angular/cdk/portal';\r\nimport { AXConnectedPosition } from './drawing.class';\r\nimport { merge } from 'rxjs';\r\nimport { DynamicOverlay } from './custom-cdk-overlay.service';\r\n\r\nexport interface AXOverlayViewRef {\r\n instance: any;\r\n dispose: () => void;\r\n isOpen: () => boolean;\r\n}\r\n\r\nexport interface AXOverlayConfigs {\r\n position?: AXConnectedPosition | AXConnectedPosition[];\r\n hasBackdrop?: boolean;\r\n transparentBackdrop?: boolean;\r\n closeOnClickOutside?: boolean;\r\n targetElement?: HTMLElement;\r\n containerElement?: HTMLElement;\r\n onBackdropClick?: () => void;\r\n panelClass?: string[] | string;\r\n backdropClass?: string[] | string;\r\n scroll?: 'auto' | 'block' | 'close';\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXOverlayService {\r\n constructor(\r\n private overlayService: DynamicOverlay,\r\n private overlayService2: Overlay,\r\n private appRef: ApplicationRef) {\r\n\r\n }\r\n\r\n show(content: any, context?: any, configs?: AXOverlayConfigs): AXOverlayViewRef {\r\n configs = Object.assign({\r\n hasBackdrop: true,\r\n transparentBackdrop: true,\r\n closeOnClickOutside: true\r\n }, configs || {});\r\n // get root viewref\r\n const viewRef: ViewContainerRef = this.appRef.components[0].instance.viewRef;\r\n\r\n let portal: Portal<any>;\r\n // get component by route\r\n if (typeof content === 'string') {\r\n // TODO\r\n }\r\n // create portal from component\r\n else if (content instanceof TemplateRef) {\r\n portal = new TemplatePortal(content, viewRef, context);\r\n }\r\n else if (typeof content === 'function') {\r\n portal = new ComponentPortal(content, viewRef);\r\n }\r\n let positionStrategy: PositionStrategy;\r\n if (configs.position && configs.targetElement) {\r\n positionStrategy = this.overlayService.position()\r\n .flexibleConnectedTo(configs.targetElement)\r\n .withPositions(\r\n Array.isArray(configs.position) ? configs.position : [configs.position]\r\n )\r\n .withPush(true);\r\n }\r\n else {\r\n positionStrategy = this.overlayService.position().global().centerHorizontally().centerVertically();\r\n }\r\n let scrollStrategy: ScrollStrategy = this.overlayService.scrollStrategies.reposition({ autoClose: true });\r\n if (configs.scroll === 'block') {\r\n scrollStrategy = this.overlayService.scrollStrategies.block();\r\n }\r\n if (configs.scroll === 'close') {\r\n scrollStrategy = this.overlayService.scrollStrategies.close();\r\n }\r\n\r\n const config = {\r\n positionStrategy,\r\n scrollStrategy,\r\n hasBackdrop: configs.hasBackdrop,\r\n disposeOnNavigation: true,\r\n backdropClass: configs.backdropClass ? configs.backdropClass : (configs.transparentBackdrop ? 'cdk-overlay-transparent-backdrop' : undefined),\r\n panelClass: configs.panelClass ? configs.panelClass : ['ax-animate-animated', 'ax-animate-zoomIn','ax-animate-faster']\r\n };\r\n // joon nanat dorost sho\r\n let overlayRef:any = configs.containerElement ? this.overlayService.createOn(configs.containerElement, config) : this.overlayService2.create(config);\r\n\r\n const host = overlayRef.attach(portal!);\r\n if (host.instance) {\r\n Object.assign(host.instance, context);\r\n setTimeout(() => {\r\n host.changeDetectorRef.detectChanges();\r\n }, 0);\r\n }\r\n if (configs.closeOnClickOutside) {\r\n merge(\r\n overlayRef.backdropClick(),\r\n overlayRef.detachments(),\r\n ).subscribe(() => {\r\n overlayRef.dispose();\r\n overlayRef = undefined;\r\n if (configs!.onBackdropClick) {\r\n configs!.onBackdropClick();\r\n }\r\n });\r\n\r\n }\r\n return {\r\n instance: host.instance,\r\n dispose: overlayRef.dispose.bind(overlayRef),\r\n isOpen: () => {\r\n return overlayRef.hasAttached();\r\n }\r\n };\r\n }\r\n\r\n}","export const AX_STYLE_COLOR_TYPES =\r\n [\r\n 'primary'\r\n , 'secondary'\r\n , 'info'\r\n , 'danger'\r\n , 'success'\r\n , 'warning'\r\n , 'light'\r\n , 'dark'\r\n ];\r\n\r\n/**\r\n * A token that specifies the color style of component.\r\n */\r\nexport type AXStyleColorType =\r\n | 'primary'\r\n | 'secondary'\r\n | 'info'\r\n | 'danger'\r\n | 'success'\r\n | 'warning'\r\n | 'light'\r\n | 'dark';\r\nexport type AXStyleLookType =\r\n | 'default'\r\n | 'blank'\r\n | 'outline'\r\n | 'twotone'\r\n | 'link';\r\n\r\nexport const AX_LOCATIONS = [\r\n 'bottom-start',\r\n 'bottom-center',\r\n 'bottom-end',\r\n 'top-start',\r\n 'top-center',\r\n 'top-end',\r\n 'center-end',\r\n 'center-start'\r\n];\r\nexport type AXLocation =\r\n | 'bottom-start'\r\n | 'bottom-center'\r\n | 'bottom-end'\r\n | 'top-start'\r\n | 'top-center'\r\n | 'top-end'\r\n | 'center-end'\r\n | 'center-start';\r\n\r\nexport const AX_DIRECTIONS = ['vertical', 'horizontal'];\r\n/**\r\n * A token that specifies the direction of component.\r\n */\r\nexport type AXDirection = 'vertical' | 'horizontal';\r\n\r\n/**\r\n * A token that specifies the selection mode of component.\r\n */\r\nexport type AXSelectionMode = 'single' | 'multiple';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AXFocusableComponent","i1.AXComponent","i2.AXHotkeysService","i1","i1.DynamicOverlay","i2"],"mappings":";;;;;;;;;;;;;MAIsB,WAAW,CAAA;;wGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAAX,WAAW,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;AAIL,MAAgB,mBAAoB,SAAQ,WAAW,CAAA;;gHAAvC,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;;AAML,MAAgB,qBAAsB,SAAQ,WAAW,CAAA;;kHAAzC,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;sHAArB,qBAAqB,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAD1C,UAAU;;AAML,MAAgB,mBAAoB,SAAQ,WAAW,CAAA;;gHAAvC,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;;AAOL,MAAgB,oBAAqB,SAAQ,WAAW,CAAA;;iHAAxC,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADzC,UAAU;;AAaL,MAAgB,gBACpB,SAAQ,WAAW,CAAA;;6GADC,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;iHAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;;;MCpBE,oBAAoB,CAAA;IAI/B,WACU,CAAA,EAA2B,EAI5B,KAA2B,EAAA;AAJ1B,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAyB;AAI5B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsB;AAP7B,QAAA,IAAS,CAAA,SAAA,GAAa,IAAI,CAAC;KAQ9B;IAEJ,kBAAkB,GAAA;;QAChB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ;gBACR,OAAO;gBACP,QAAQ;gBACR,QAAQ;gBACR,UAAU;gBACV,YAAY;aACb,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAC1C,MAAM,SAAS,GACb,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAc,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GACjE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;YACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AACnD,YAAA,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,EAAE;AAChB,gBAAA,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACzC,aAAA;YACD,UAAU,CAAC,MAAK;gBACd,SAAS,CAAC,KAAK,EAAE,CAAC;aACnB,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;KACF;;iHAnCU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,oBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,aAAA,EAAA,WAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;iBAC1B,CAAA;;;8BAOI,IAAI;;8BACJ,IAAI;;8BACJ,QAAQ;;yBANJ,SAAS,EAAA,CAAA;sBADf,KAAK;uBAAC,aAAa,CAAA;;;MCJT,gBAAgB,CAAA;IAK3B,WACU,CAAA,YAA0B,EACR,QAAkB,EAAA;AADpC,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AACR,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAN9C,IAAA,CAAA,QAAQ,GAAqB;YAC3B,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;KAKE;AAEJ,IAAA,WAAW,CAAC,OAAyB,EAAA;QACnC,MAAM,MAAM,mCAAQ,IAAI,CAAC,QAAQ,CAAK,EAAA,OAAO,CAAE,CAAC;AAChD,QAAA,MAAM,KAAK,GAAG,CAAA,QAAA,EAAW,MAAM,CAAC,IAAI,EAAE,CAAC;AAEvC,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;AACjC,YAAA,MAAM,OAAO,GAAG,CAAC,CAAU,KAAI;gBAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,gBAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,aAAC,CAAC;AAEF,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChD,MAAM,CAAC,OAAO,EACd,KAAK,EACL,OAAO,CACR,CAAC;AAEF,YAAA,OAAO,MAAK;AACV,gBAAA,OAAO,EAAE,CAAC;AACZ,aAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;;AA9BU,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,8CAOjB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAPP,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;2FACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;mDAQM,QAAQ,EAAA,UAAA,EAAA,CAAA;8BAA3C,MAAM;+BAAC,QAAQ,CAAA;;;;MCAP,iBAAiB,CAAA;AAM5B,IAAA,WAAA,CACU,EAA2B,EAI5B,KAAkB,EACjB,EAAoB,EAAA;AALpB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAyB;AAI5B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAa;AACjB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAkB;AAVvB,QAAA,IAAM,CAAA,MAAA,GAA+C,EAAE,CAAC;AAEvD,QAAA,IAAK,CAAA,KAAA,GAAmB,EAAE,CAAC;KAS/B;IAEJ,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;AAExC,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,SAAA;AAAM,aAAA,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxE,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAwB,CAAC,CAAC,CAAC;AACxD,SAAA;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;KACF;AAEO,IAAA,iBAAiB,CAAC,MAAc,EAAA;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;AACnD,YAAA,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACjD,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACjB,oBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChB,OAAO;AACR,iBAAA;AACH,aAAC,CAAC,CAAC;SACJ,CAAC,CACH,CAAC;KACH;AAEO,IAAA,gBAAgB,CAAC,OAAyB,EAAA;AAChD,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACpB,YAAA,MAAM,MAAM,GAAa,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAY,CAAC;AAC5D,YAAA,MAAM,MAAM,GAAY,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACvC,iBAAA;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;oBACnD,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACnD,wBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;wBACrB,OAAO;AACR,qBAAA;AACD,oBAAA,IAAI,OAAO,MAAM,IAAI,UAAU,EAAE;AAC/B,wBAAA,MAAM,EAAE,CAAC;wBACT,OAAO;AACR,qBAAA;iBACF,CAAC,CACH,CAAC;AACH,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACvB,CAAC,CAAC,WAAW,EAAE,CAAC;AAClB,SAAC,CAAC,CAAC;KACJ;;8GAlEU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;iBACrB,CAAA;;;8BASI,IAAI;;8BACJ,IAAI;;8BACJ,QAAQ;;yBARJ,MAAM,EAAA,CAAA;sBADZ,KAAK;uBAAC,QAAQ,CAAA;;;ACVhB,CAAC;AAEF,MAAM,0BAA0B,GAAqB;AACjD,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,YAAY,EAAE,CAAC;CAClB,CAAC;MAKW,2BAA2B,CAAA;AAkBpC,IAAA,WAAA,CAAoB,GAAe,EAAA;AAAf,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AAFnC,QAAA,IAAa,CAAA,aAAA,GAAG,EAAE,CAAC;AAkDX,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,SAAS,KAAI;AACxC,YAAA,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,QAAQ,KAAI;YAC3C,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;AACpF,SAAC,CAAA;KAtDuC;IAExC,eAAe,GAAA;QAEX,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAElC;IAEO,mBAAmB,GAAA;AAEvB,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;KAEnE;IAEO,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY;aACrC,IAAI,CACD,GAAG,CAAC,CAAC,CAAM,MAAwB;AAC/B,YAAA,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;AACnC,YAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS;AAC7B,YAAA,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;AACtC,SAAA,CAAC,CAAC,EACH,QAAQ,EAAE,EACV,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CACzG,CAAC;KACT;IAEO,uBAAuB,GAAA;AAC3B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAE/C,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC9C,SAAS,CAAC,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC,CACtE,CAAC;AACL,SAAA;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACtB,UAAU,CAAC,MAAK;AACZ,YAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;SAChC,CAAC,CAAC,CAAA;;KAGV;;wHAhEQ,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;iBACnC,CAAA;iGAWG,cAAc,EAAA,CAAA;sBADb,KAAK;gBAIN,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAIN,aAAa,EAAA,CAAA;sBADZ,KAAK;;;MChCG,qBAAqB,CAAA;AAkB9B,IAAA,WAAA,CAAoB,WAAuC,EAAA;AAAvC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAA4B;QAhBnD,IAAA,CAAA,SAAS,GAAmB,IAAI,cAAc,CAAC,OAAO,IAAG;AAC7D,YAAA,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;gBAEvB,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,oBAAA,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AACvB,oBAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1E,oBAAA,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK;AACf,wBAAA,OAAO,EAAE,CAAC;AACV,wBAAA,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxF,qBAAA,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAG;AACZ,wBAAA,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/G,qBAAC,CAAC,CAAC;AACN,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;QAGC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KACrD;;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAC5D;;kHAzBQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,SAAS;mBAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAA;;;MCmB7B,cAAc,CAAA;;2GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAPvB,qBAAqB;QACrB,2BAA2B;QAC3B,oBAAoB;AACpB,QAAA,iBAAiB,aATjB,qBAAqB;QACrB,2BAA2B;QAC3B,oBAAoB;QACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;4GAUR,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAhB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE;wBACP,qBAAqB;wBACrB,2BAA2B;wBAC3B,oBAAoB;wBACpB,iBAAiB;AAClB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,2BAA2B;wBAC3B,oBAAoB;wBACpB,iBAAiB;AAClB,qBAAA;AACD,oBAAA,SAAS,EAAE,EAAE;iBACd,CAAA;;;ACQK,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AACpD,IAAA,mBAAmB,CAAC,gBAA6B,EAAA;AACtD,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;KAC3C;;oHAHU,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;AAUK,MAAO,cAAe,SAAQ,OAAO,CAAA;IAIzC,WACE,CAAA,gBAAuC,EACvC,iBAA0C,EAC1C,yBAAmD,EACnD,gBAAwC,EACxC,mBAA8C,EAC9C,SAAmB,EACnB,OAAe,EACG,SAAc,EAChC,eAA+B,EAC/B,eAAiC,EACjC,SAAmB,EACnB,uBAAsD,EAAA;QAEtD,KAAK,CACH,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,SAAS,EACT,eAAe,EACf,SAAS,EACT,uBAAuB,CACxB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3D,QAAA,IAAI,CAAC,wBAAwB,GAAG,iBAAiB,CAAC;KACnD;AAEO,IAAA,mBAAmB,CAAC,gBAA6B,EAAA;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;KACrE;IAEM,QAAQ,CACb,gBAA6B,EAC7B,MAAsB,EAAA;AAEtB,QAAA,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAC3C,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC7B;;2GA/CU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAMJ,uBAAuB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAMlC,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,6BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAZP,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;8DAOsB,uBAAuB,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA;8BAMzC,MAAM;+BAAC,QAAQ,CAAA;;;;ACjDpB;;;AAGG;MACU,OAAO,CAAA;AAApB,IAAA,WAAA,GAAA;AAUE,QAAA,IAAiB,CAAA,iBAAA,GAAa,KAAK,CAAC;KACrC;AAAA,CAAA;AAED;;;AAGG;AACG,MAAO,WAA6B,SAAQ,OAAO,CAAA;AAExD,CAAA;AAED;;;AAGG;AACG,MAAO,mBAAuB,SAAQ,OAAO,CAAA;AAIlD,CAAA;AAED;;;AAGG;AACG,MAAO,YAAa,SAAQ,WAAuB,CAAA;AAOxD,CAAA;AAED;;;AAGG;AACG,MAAO,kBAAmB,SAAQ,YAAY,CAAA;AAEnD,CAAA;AAED;;;AAGG;AACG,MAAO,gBAAoB,SAAQ,WAAuB,CAAA;AAE/D,CAAA;AAED;;;AAGG;AACG,MAAO,YAAa,SAAQ,WAAuB,CAAA;AAAG,CAAA;AAE5D;;;AAGG;AACG,MAAO,4BAA6B,SAAQ,mBAEjD,CAAA;AAKA,CAAA;AAED;;;AAGG;AACG,MAAO,mBAAuB,SAAQ,OAAO,CAAA;AASlD;;MCrEY,gBAAgB,CAAA;AACzB,IAAA,WAAA,CACY,cAA8B,EAC9B,eAAwB,EACxB,MAAsB,EAAA;AAFtB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAC9B,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAS;AACxB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;KAEjC;AAED,IAAA,IAAI,CAAC,OAAY,EAAE,OAAa,EAAE,OAA0B,EAAA;AACxD,QAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AACpB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,mBAAmB,EAAE,IAAI;AAC5B,SAAA,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;;AAElB,QAAA,MAAM,OAAO,GAAqB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;AAE7E,QAAA,IAAI,MAAmB,CAAC;;AAExB,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;;AAEhC,SAAA;;aAEI,IAAI,OAAO,YAAY,WAAW,EAAE;YACrC,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1D,SAAA;AACI,aAAA,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACpC,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAClD,SAAA;AACD,QAAA,IAAI,gBAAkC,CAAC;AACvC,QAAA,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE;AAC3C,YAAA,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC5C,iBAAA,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC;iBAC1C,aAAa,CACV,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC1E;iBACA,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvB,SAAA;AACI,aAAA;AACD,YAAA,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACtG,SAAA;AACD,QAAA,IAAI,cAAc,GAAmB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1G,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;YAC5B,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AACjE,SAAA;AACD,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;YAC5B,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AACjE,SAAA;AAED,QAAA,MAAM,MAAM,GAAG;YACX,gBAAgB;YAChB,cAAc;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;AAChC,YAAA,mBAAmB,EAAE,IAAI;YACzB,aAAa,EAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,mBAAmB,GAAG,kCAAkC,GAAG,SAAS,CAAC;AAC7I,YAAA,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,EAAC,mBAAmB,CAAC;SACzH,CAAC;;AAEF,QAAA,IAAI,UAAU,GAAO,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAErJ,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtC,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;aAC1C,EAAE,CAAC,CAAC,CAAC;AACT,SAAA;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE;AAC7B,YAAA,KAAK,CACD,UAAU,CAAC,aAAa,EAAE,EAC1B,UAAU,CAAC,WAAW,EAAE,CAC3B,CAAC,SAAS,CAAC,MAAK;gBACb,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,UAAU,GAAG,SAAS,CAAC;gBACvB,IAAI,OAAQ,CAAC,eAAe,EAAE;oBAC1B,OAAQ,CAAC,eAAe,EAAE,CAAC;AAC9B,iBAAA;AACL,aAAC,CAAC,CAAC;AAEN,SAAA;QACD,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C,MAAM,EAAE,MAAK;AACT,gBAAA,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;aACnC;SACJ,CAAC;KACL;;6GAvFQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;2FACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;AC1BrB,MAAA,oBAAoB,GAC/B;IACI,SAAS;IACT,WAAW;IACX,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;EACR;AAqBS,MAAA,YAAY,GAAG;IAC1B,cAAc;IACd,eAAe;IACf,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,cAAc;EACd;MAWW,aAAa,GAAG,CAAC,UAAU,EAAE,YAAY;;ACnDtD;;AAEG;;;;"}
@@ -0,0 +1,297 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, NgModule } from '@angular/core';
3
+ import { AXBaseMenuMixin, AXBaseComponent } from '@acorex/components/mixin';
4
+ import { TemplatePortal } from '@angular/cdk/portal';
5
+ import * as i1 from '@angular/cdk/overlay';
6
+ import { OverlayModule } from '@angular/cdk/overlay';
7
+ import * as i2 from '@acorex/core/platform';
8
+ import * as i3 from '@angular/common';
9
+ import { CommonModule } from '@angular/common';
10
+ import * as i4 from '@acorex/components/menu';
11
+ import { AXMenuModule } from '@acorex/components/menu';
12
+ import { AXLoadingModule } from '@acorex/components/loading';
13
+ import { AXTranslationModule } from '@acorex/core/translation';
14
+ import { AXDecoratorModule } from '@acorex/components/decorators';
15
+
16
+ /**
17
+ * The Button is a component which detects user interaction and triggers a corresponding event
18
+ *
19
+ * @category Components
20
+ */
21
+ class AXContextMenuComponent extends AXBaseMenuMixin {
22
+ constructor(_elementRef, cdr, _overlay, _viewContainerRef, _platform) {
23
+ super(_elementRef, cdr);
24
+ this._elementRef = _elementRef;
25
+ this.cdr = cdr;
26
+ this._overlay = _overlay;
27
+ this._viewContainerRef = _viewContainerRef;
28
+ this._platform = _platform;
29
+ }
30
+ get contextTemplate() {
31
+ return this._contextTemplate;
32
+ }
33
+ get target() {
34
+ return this._target;
35
+ }
36
+ set target(v) {
37
+ if (v instanceof HTMLElement)
38
+ this._target = v;
39
+ else if (v instanceof ElementRef)
40
+ this._target = v.nativeElement;
41
+ else if (v instanceof AXBaseComponent)
42
+ this._target = v._getInnerElement();
43
+ }
44
+ onInit() {
45
+ super.onInit();
46
+ }
47
+ ngAfterViewInit() {
48
+ super.onViewInit();
49
+ this._templatePortal = new TemplatePortal(this._contextTemplate ? this._contextTemplate : this._menuTmp, this._viewContainerRef);
50
+ this._target.addEventListener('contextmenu', (e) => {
51
+ e.preventDefault();
52
+ const position = {
53
+ getBoundingClientRect: () => ({
54
+ bottom: e.clientY,
55
+ height: 0,
56
+ left: e.clientX,
57
+ right: e.clientX,
58
+ top: e.clientY,
59
+ width: 0,
60
+ }),
61
+ };
62
+ this._openAsOverlay(new ElementRef(position));
63
+ });
64
+ }
65
+ _openAsOverlay(position) {
66
+ this._overlayRef = this._overlay.create({
67
+ positionStrategy: this._overlay
68
+ .position()
69
+ .flexibleConnectedTo(position)
70
+ .withPositions([
71
+ {
72
+ originX: 'end',
73
+ originY: 'top',
74
+ overlayX: 'start',
75
+ overlayY: 'top',
76
+ },
77
+ {
78
+ originX: 'end',
79
+ originY: 'center',
80
+ overlayX: 'start',
81
+ overlayY: 'top',
82
+ },
83
+ {
84
+ originX: 'end',
85
+ originY: 'bottom',
86
+ overlayX: 'start',
87
+ overlayY: 'top',
88
+ },
89
+ {
90
+ originX: 'end',
91
+ originY: 'top',
92
+ overlayX: 'center',
93
+ overlayY: 'top',
94
+ },
95
+ {
96
+ originX: 'end',
97
+ originY: 'top',
98
+ overlayX: 'end',
99
+ overlayY: 'top',
100
+ },
101
+ {
102
+ originX: 'end',
103
+ originY: 'top',
104
+ overlayX: 'end',
105
+ overlayY: 'center',
106
+ },
107
+ {
108
+ originX: 'end',
109
+ originY: 'top',
110
+ overlayX: 'end',
111
+ overlayY: 'bottom',
112
+ },
113
+ {
114
+ originX: 'start',
115
+ originY: 'top',
116
+ overlayX: 'start',
117
+ overlayY: 'top',
118
+ },
119
+ {
120
+ originX: 'start',
121
+ originY: 'center',
122
+ overlayX: 'start',
123
+ overlayY: 'top',
124
+ },
125
+ {
126
+ originX: 'start',
127
+ originY: 'bottom',
128
+ overlayX: 'start',
129
+ overlayY: 'top',
130
+ },
131
+ {
132
+ originX: 'start',
133
+ originY: 'top',
134
+ overlayX: 'center',
135
+ overlayY: 'top',
136
+ },
137
+ {
138
+ originX: 'start',
139
+ originY: 'top',
140
+ overlayX: 'end',
141
+ overlayY: 'top',
142
+ },
143
+ {
144
+ originX: 'start',
145
+ originY: 'top',
146
+ overlayX: 'end',
147
+ overlayY: 'center',
148
+ },
149
+ {
150
+ originX: 'start',
151
+ originY: 'top',
152
+ overlayX: 'end',
153
+ overlayY: 'bottom',
154
+ },
155
+ {
156
+ originX: 'center',
157
+ originY: 'top',
158
+ overlayX: 'start',
159
+ overlayY: 'top',
160
+ },
161
+ {
162
+ originX: 'center',
163
+ originY: 'center',
164
+ overlayX: 'start',
165
+ overlayY: 'top',
166
+ },
167
+ {
168
+ originX: 'center',
169
+ originY: 'bottom',
170
+ overlayX: 'start',
171
+ overlayY: 'top',
172
+ },
173
+ {
174
+ originX: 'center',
175
+ originY: 'top',
176
+ overlayX: 'center',
177
+ overlayY: 'top',
178
+ },
179
+ {
180
+ originX: 'center',
181
+ originY: 'top',
182
+ overlayX: 'end',
183
+ overlayY: 'top',
184
+ },
185
+ {
186
+ originX: 'center',
187
+ originY: 'top',
188
+ overlayX: 'end',
189
+ overlayY: 'center',
190
+ },
191
+ {
192
+ originX: 'center',
193
+ originY: 'top',
194
+ overlayX: 'end',
195
+ overlayY: 'bottom',
196
+ },
197
+ ])
198
+ .withPush(false),
199
+ disposeOnNavigation: true,
200
+ panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],
201
+ maxHeight: 'unset',
202
+ hasBackdrop: false,
203
+ backdropClass: ['cdk-overlay-transparent-backdrop'],
204
+ });
205
+ this._overlayRef.attach(this._templatePortal);
206
+ this._overlayRef.outsidePointerEvents().subscribe(() => {
207
+ if (this._overlayRef && this.openMode === 'click') {
208
+ this.close();
209
+ }
210
+ });
211
+ this._platform.scroll.subscribe(() => {
212
+ if (this._overlayRef) {
213
+ this.close();
214
+ }
215
+ });
216
+ this._platform.resize.subscribe(() => {
217
+ if (this._overlayRef) {
218
+ this.close();
219
+ }
220
+ });
221
+ }
222
+ close() {
223
+ this._overlayRef.detach();
224
+ this.displayItems.forEach((element) => {
225
+ element.isOpen = false;
226
+ element.isActive = false;
227
+ });
228
+ this.cdr.detectChanges();
229
+ }
230
+ /***********defultTmp***********/
231
+ onContextMenuClick(e) {
232
+ this.onMenuItemClick.emit(e);
233
+ }
234
+ }
235
+ AXContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXContextMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
236
+ AXContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXContextMenuComponent, selector: "ax-context-menu", inputs: { disabled: "disabled", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", isOpen: "isOpen", isActive: "isActive", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", orientation: "orientation", target: "target" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, viewQueries: [{ propertyName: "_contextTemplate", first: true, predicate: ["contextTemplate"], descendants: true }, { propertyName: "_menuTmp", first: true, predicate: ["menuTmp"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contextTemplateRef>\r\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\r\n <div class=\"ax-context-menu\">\r\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ng-template #menuTmp>\r\n <ax-menu class=\"ax-context-menu\" orientation=\"vertical\" openMode=\"hover\" [items]='items'\r\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\r\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\r\n </ax-menu>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXMenuComponent, selector: "ax-menu", inputs: ["disabled", "tabIndex", "textField", "valueField", "items", "parentId", "iconField", "tooltip", "isOpen", "isActive", "visibleField", "disableField", "hasChildField", "dividerField", "openMode", "orientation", "showModal"], outputs: ["onBlur", "onFocus", "onMenuItemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXContextMenuComponent, decorators: [{
238
+ type: Component,
239
+ args: [{ selector: 'ax-context-menu', inputs: [
240
+ 'disabled',
241
+ 'textField',
242
+ 'valueField',
243
+ 'items',
244
+ 'parentId',
245
+ 'iconField',
246
+ 'isOpen',
247
+ 'isActive',
248
+ 'visibleField',
249
+ 'disableField',
250
+ 'hasChildField',
251
+ 'dividerField',
252
+ 'openMode',
253
+ 'orientation',
254
+ ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #contextTemplateRef>\r\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\r\n <div class=\"ax-context-menu\">\r\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ng-template #menuTmp>\r\n <ax-menu class=\"ax-context-menu\" orientation=\"vertical\" openMode=\"hover\" [items]='items'\r\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\r\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\r\n </ax-menu>\r\n</ng-template>" }]
255
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.AXPlatform }]; }, propDecorators: { _contextTemplate: [{
256
+ type: ViewChild,
257
+ args: ['contextTemplate']
258
+ }], _menuTmp: [{
259
+ type: ViewChild,
260
+ args: ['menuTmp', { static: true }]
261
+ }], target: [{
262
+ type: Input
263
+ }] } });
264
+
265
+ const COMPONENT = [AXContextMenuComponent];
266
+ const MODULES = [
267
+ AXDecoratorModule,
268
+ AXLoadingModule,
269
+ AXTranslationModule,
270
+ OverlayModule,
271
+ AXMenuModule,
272
+ ];
273
+ class AXContextMenuModule {
274
+ }
275
+ AXContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
276
+ AXContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXContextMenuModule, declarations: [AXContextMenuComponent], imports: [CommonModule, AXDecoratorModule,
277
+ AXLoadingModule,
278
+ AXTranslationModule,
279
+ OverlayModule,
280
+ AXMenuModule], exports: [AXContextMenuComponent] });
281
+ AXContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXContextMenuModule, imports: [CommonModule, MODULES] });
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXContextMenuModule, decorators: [{
283
+ type: NgModule,
284
+ args: [{
285
+ declarations: [...COMPONENT],
286
+ imports: [CommonModule, ...MODULES],
287
+ exports: [...COMPONENT],
288
+ providers: [],
289
+ }]
290
+ }] });
291
+
292
+ /**
293
+ * Generated bundle index. Do not edit.
294
+ */
295
+
296
+ export { AXContextMenuComponent, AXContextMenuModule };
297
+ //# sourceMappingURL=acorex-components-context-menu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-context-menu.mjs","sources":["../../../../projects/acorex/components/context-menu/src/context-menu.component.ts","../../../../projects/acorex/components/context-menu/src/context-menu.component.html","../../../../projects/acorex/components/context-menu/src/context-menu.module.ts","../../../../projects/acorex/components/context-menu/acorex-components-context-menu.ts"],"sourcesContent":["import { OverlayRef, Overlay } from '@angular/cdk/overlay';\r\n\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n OnInit,\r\n TemplateRef,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ViewContainerRef,\r\n ViewChild,\r\n Input,\r\n} from '@angular/core';\r\nimport { AXBaseComponent, AXBaseMenuMixin } from '@acorex/components/mixin';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\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-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\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 ],\r\n outputs: ['onBlur', 'onFocus', 'onMenuItemClick'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXContextMenuComponent extends AXBaseMenuMixin implements OnInit {\r\n @ViewChild('contextTemplate')\r\n _contextTemplate: TemplateRef<any>;\r\n\r\n get contextTemplate(): TemplateRef<any> {\r\n return this._contextTemplate;\r\n }\r\n\r\n @ViewChild('menuTmp', { static: true })\r\n _menuTmp: TemplateRef<any>;\r\n\r\n private _overlayRef: OverlayRef;\r\n\r\n private _templatePortal: TemplatePortal;\r\n\r\n private _target: HTMLElement;\r\n\r\n @Input()\r\n public get target(): HTMLElement {\r\n return this._target;\r\n }\r\n\r\n public set target(v: HTMLElement | ElementRef | AXBaseComponent) {\r\n if (v instanceof HTMLElement) this._target = v;\r\n else if (v instanceof ElementRef) this._target = v.nativeElement;\r\n else if (v instanceof AXBaseComponent) this._target = v._getInnerElement();\r\n }\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _overlay: Overlay,\r\n private _viewContainerRef: ViewContainerRef,\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 this._templatePortal = new TemplatePortal(\r\n this._contextTemplate ? this._contextTemplate : this._menuTmp,\r\n this._viewContainerRef\r\n );\r\n\r\n this._target.addEventListener('contextmenu', (e) => {\r\n e.preventDefault();\r\n const position = {\r\n getBoundingClientRect: () => ({\r\n bottom: e.clientY,\r\n height: 0,\r\n left: e.clientX,\r\n right: e.clientX,\r\n top: e.clientY,\r\n width: 0,\r\n }),\r\n };\r\n this._openAsOverlay(new ElementRef(position));\r\n });\r\n }\r\n\r\n private _openAsOverlay(position): void {\r\n this._overlayRef = this._overlay.create({\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(position)\r\n .withPositions([\r\n {\r\n originX: 'end',\r\n originY: 'top',\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: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\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: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\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: 'start',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'start',\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 originX: 'center',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n ])\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 this._overlayRef.attach(this._templatePortal);\r\n this._overlayRef.outsidePointerEvents().subscribe(() => {\r\n if (this._overlayRef && this.openMode === 'click') {\r\n this.close();\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.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 /***********defultTmp***********/\r\n onContextMenuClick(e) {\r\n this.onMenuItemClick.emit(e);\r\n }\r\n}\r\n","<ng-template #contextTemplateRef>\r\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\r\n <div class=\"ax-context-menu\">\r\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ng-template #menuTmp>\r\n <ax-menu class=\"ax-context-menu\" orientation=\"vertical\" openMode=\"hover\" [items]='items'\r\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\r\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\r\n </ax-menu>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\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\nimport { AXMenuModule } from '@acorex/components/menu';\r\nimport { AXContextMenuComponent } from './context-menu.component';\r\n\r\nconst COMPONENT = [AXContextMenuComponent];\r\nconst MODULES = [\r\n AXDecoratorModule,\r\n AXLoadingModule,\r\n AXTranslationModule,\r\n OverlayModule,\r\n AXMenuModule,\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 AXContextMenuModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ class AXDataTableComponent extends AXBaseComponentMixin {
58
58
  super(elementRef, cdr);
59
59
  this._columns = {};
60
60
  this.onPageChanged = new EventEmitter();
61
+ this.showHeader = true;
61
62
  this._pageSize = 20;
62
63
  this.fetchDataMode = 'auto';
63
64
  this._currentPage = 1;
@@ -149,18 +150,20 @@ class AXDataTableComponent extends AXBaseComponentMixin {
149
150
  }
150
151
  }
151
152
  refresh() {
153
+ this._totalItems = 0;
154
+ this._loadedItems = [];
152
155
  this._fetchData();
153
156
  }
154
157
  goToPage(page) {
155
158
  this._currentPage = page;
156
- this.refresh();
159
+ this._fetchData();
157
160
  }
158
161
  }
159
162
  AXDataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
160
- AXDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", pageSize: "pageSize", fetchDataMode: "fetchDataMode", items: "items" }, outputs: { onPageChanged: "onPageChanged" }, host: { classAttribute: "ax-data-table" }, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], queries: [{ propertyName: "_columns", predicate: AXDataColumnComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\">\r\n</ng-content>\r\n<div class=\"ax-wrapper\">\r\n <table class=\"ax-table ax-table-bordered\" tabindex=\"0\" [axIsLoading]=\"_isLoading\">\r\n <thead>\r\n \r\n <tr>\r\n <th *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #captionTpl>\r\n {{c.caption}}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\r\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\r\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\r\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #rowTpl>\r\n <tr>\r\n <ng-container *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #cellTpl>\r\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\r\n {{d[c.valueField]}}\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #emptyTpl>\r\n <tr>\r\n <td [attr.colspan]=\"_columns.length\">\r\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </tbody>\r\n </table>\r\n</div>\r\n<ng-content select=\"ax-footer\">\r\n</ng-content>\r\n\r\n<!-- <br>\r\n<table class=\"ax-table ax-table-responsive ax-table-alternate\">\r\n <thead>\r\n <col>\r\n <colgroup span=\"2\"></colgroup>\r\n <colgroup span=\"2\"></colgroup>\r\n <tr>\r\n <th rowspan=\"2\">Index</th>\r\n <th colspan=\"2\" scope=\"colgroup\">Mars</th>\r\n <th colspan=\"2\" scope=\"colgroup\">Venus</th>\r\n </tr>\r\n <tr>\r\n <th scope=\"col\">Produced</th>\r\n <th scope=\"col\">Sold</th>\r\n <th scope=\"col\">Produced</th>\r\n <th scope=\"col\">Sold</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td >Teddy Bears</td>\r\n <td>50,000</td>\r\n <td>30,000</td>\r\n <td>100,000</td>\r\n <td>80,000</td>\r\n </tr>\r\n <tr>\r\n <td >Board Games</td>\r\n <td>10,000</td>\r\n <td>5,000</td>\r\n <td>12,000</td>\r\n <td>9,000</td>\r\n </tr>\r\n </tbody>\r\n </table> -->", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXResultComponent, selector: "ax-result", inputs: ["type", "caption", "description"] }, { kind: "directive", type: i3.AXLoadingDirective, selector: "[axIsLoading]", inputs: ["axIsLoading"] }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
163
+ AXDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", showHeader: "showHeader", pageSize: "pageSize", fetchDataMode: "fetchDataMode", items: "items" }, outputs: { onPageChanged: "onPageChanged" }, host: { classAttribute: "ax-data-table" }, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], queries: [{ propertyName: "_columns", predicate: AXDataColumnComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\">\r\n</ng-content>\r\n<div class=\"ax-wrapper\">\r\n<table class=\"ax-table ax-table-bordered\" tabindex=\"0\" [axIsLoading]=\"_isLoading\">\r\n <thead *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #captionTpl>\r\n {{c.caption}}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\r\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\r\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\r\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #rowTpl>\r\n <tr>\r\n <ng-container *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #cellTpl>\r\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\r\n {{d[c.valueField]}}\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #emptyTpl>\r\n <tr>\r\n <td [attr.colspan]=\"_columns.length\">\r\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #defaultEmptyTemplate>\r\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </tbody>\r\n </table>\r\n</div>\r\n<ng-content select=\"ax-footer\">\r\n</ng-content>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXResultComponent, selector: "ax-result", inputs: ["type", "caption", "description"] }, { kind: "directive", type: i3.AXLoadingDirective, selector: "[axIsLoading]", inputs: ["axIsLoading"] }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
161
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataTableComponent, decorators: [{
162
165
  type: Component,
163
- args: [{ selector: 'ax-data-table', host: { class: 'ax-data-table' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\">\r\n</ng-content>\r\n<div class=\"ax-wrapper\">\r\n <table class=\"ax-table ax-table-bordered\" tabindex=\"0\" [axIsLoading]=\"_isLoading\">\r\n <thead>\r\n \r\n <tr>\r\n <th *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #captionTpl>\r\n {{c.caption}}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\r\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\r\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\r\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #rowTpl>\r\n <tr>\r\n <ng-container *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #cellTpl>\r\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\r\n {{d[c.valueField]}}\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #emptyTpl>\r\n <tr>\r\n <td [attr.colspan]=\"_columns.length\">\r\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </tbody>\r\n </table>\r\n</div>\r\n<ng-content select=\"ax-footer\">\r\n</ng-content>\r\n\r\n<!-- <br>\r\n<table class=\"ax-table ax-table-responsive ax-table-alternate\">\r\n <thead>\r\n <col>\r\n <colgroup span=\"2\"></colgroup>\r\n <colgroup span=\"2\"></colgroup>\r\n <tr>\r\n <th rowspan=\"2\">Index</th>\r\n <th colspan=\"2\" scope=\"colgroup\">Mars</th>\r\n <th colspan=\"2\" scope=\"colgroup\">Venus</th>\r\n </tr>\r\n <tr>\r\n <th scope=\"col\">Produced</th>\r\n <th scope=\"col\">Sold</th>\r\n <th scope=\"col\">Produced</th>\r\n <th scope=\"col\">Sold</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td >Teddy Bears</td>\r\n <td>50,000</td>\r\n <td>30,000</td>\r\n <td>100,000</td>\r\n <td>80,000</td>\r\n </tr>\r\n <tr>\r\n <td >Board Games</td>\r\n <td>10,000</td>\r\n <td>5,000</td>\r\n <td>12,000</td>\r\n <td>9,000</td>\r\n </tr>\r\n </tbody>\r\n </table> -->" }]
166
+ args: [{ selector: 'ax-data-table', host: { class: 'ax-data-table' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\">\r\n</ng-content>\r\n<div class=\"ax-wrapper\">\r\n<table class=\"ax-table ax-table-bordered\" tabindex=\"0\" [axIsLoading]=\"_isLoading\">\r\n <thead *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #captionTpl>\r\n {{c.caption}}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\r\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\r\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\r\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #rowTpl>\r\n <tr>\r\n <ng-container *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #cellTpl>\r\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\r\n {{d[c.valueField]}}\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #emptyTpl>\r\n <tr>\r\n <td [attr.colspan]=\"_columns.length\">\r\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #defaultEmptyTemplate>\r\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </tbody>\r\n </table>\r\n</div>\r\n<ng-content select=\"ax-footer\">\r\n</ng-content>" }]
164
167
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _columns: [{
165
168
  type: ContentChildren,
166
169
  args: [AXDataColumnComponent]
@@ -168,6 +171,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
168
171
  type: Output
169
172
  }], rowTemplate: [{
170
173
  type: Input
174
+ }], emptyTemplate: [{
175
+ type: Input
176
+ }], showHeader: [{
177
+ type: Input
171
178
  }], pageSize: [{
172
179
  type: Input
173
180
  }], fetchDataMode: [{