@acorex/components 21.0.0-next.30 → 21.0.0-next.32

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 (232) hide show
  1. package/accordion/index.d.ts +0 -1
  2. package/button-group/index.d.ts +6 -4
  3. package/chips/index.d.ts +3 -8
  4. package/dialog/index.d.ts +1 -1
  5. package/fesm2022/acorex-components-accordion.mjs +16 -21
  6. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  7. package/fesm2022/acorex-components-action-sheet.mjs +12 -12
  8. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  9. package/fesm2022/acorex-components-alert.mjs +13 -13
  10. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  11. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  12. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  13. package/fesm2022/acorex-components-audio-wave.mjs +11 -10
  14. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  15. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  16. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  17. package/fesm2022/acorex-components-avatar.mjs +12 -12
  18. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  19. package/fesm2022/acorex-components-badge.mjs +9 -9
  20. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  21. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  22. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  23. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  24. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  25. package/fesm2022/acorex-components-button-group.mjs +23 -19
  26. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  27. package/fesm2022/acorex-components-button.mjs +28 -19
  28. package/fesm2022/acorex-components-button.mjs.map +1 -1
  29. package/fesm2022/acorex-components-calendar.mjs +17 -17
  30. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  31. package/fesm2022/acorex-components-check-box.mjs +10 -10
  32. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  33. package/fesm2022/acorex-components-chips.mjs +12 -14
  34. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  35. package/fesm2022/acorex-components-circular-progress.mjs +12 -10
  36. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  37. package/fesm2022/acorex-components-code-editor.mjs +10 -10
  38. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  39. package/fesm2022/acorex-components-collapse.mjs +13 -13
  40. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  41. package/fesm2022/acorex-components-color-box.mjs +9 -9
  42. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  43. package/fesm2022/acorex-components-color-palette.mjs +30 -30
  44. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  45. package/fesm2022/acorex-components-command.mjs +9 -9
  46. package/fesm2022/acorex-components-command.mjs.map +1 -1
  47. package/fesm2022/acorex-components-comment.mjs +32 -32
  48. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  49. package/fesm2022/acorex-components-conversation.mjs +51 -51
  50. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  51. package/fesm2022/acorex-components-conversation2.mjs +184 -184
  52. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  53. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  54. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  55. package/fesm2022/acorex-components-data-list.mjs +3 -3
  56. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  57. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  58. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  59. package/fesm2022/acorex-components-data-table.mjs +43 -43
  60. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  61. package/fesm2022/acorex-components-datetime-box.mjs +9 -9
  62. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  63. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  64. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  65. package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
  66. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  67. package/fesm2022/acorex-components-decorators.mjs +43 -36
  68. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  69. package/fesm2022/acorex-components-dialog.mjs +15 -14
  70. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  71. package/fesm2022/acorex-components-drawer-legacy.mjs +13 -13
  72. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  73. package/fesm2022/acorex-components-drawer.mjs +11 -12
  74. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  76. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  77. package/fesm2022/acorex-components-dropdown.mjs +16 -14
  78. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  79. package/fesm2022/acorex-components-editor.mjs +11 -11
  80. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  81. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  82. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  83. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  84. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  85. package/fesm2022/acorex-components-form.mjs +22 -22
  86. package/fesm2022/acorex-components-form.mjs.map +1 -1
  87. package/fesm2022/acorex-components-grid-layout-builder.mjs +12 -13
  88. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  89. package/fesm2022/acorex-components-image-editor.mjs +44 -44
  90. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  91. package/fesm2022/acorex-components-image.mjs +9 -9
  92. package/fesm2022/acorex-components-image.mjs.map +1 -1
  93. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  94. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  95. package/fesm2022/acorex-components-kanban.mjs +8 -6
  96. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  97. package/fesm2022/acorex-components-kbd.mjs +7 -7
  98. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  99. package/fesm2022/acorex-components-label.mjs +9 -9
  100. package/fesm2022/acorex-components-label.mjs.map +1 -1
  101. package/fesm2022/acorex-components-list.mjs +9 -9
  102. package/fesm2022/acorex-components-list.mjs.map +1 -1
  103. package/fesm2022/acorex-components-loading-dialog.mjs +11 -11
  104. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  105. package/fesm2022/acorex-components-loading.mjs +23 -23
  106. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  107. package/fesm2022/acorex-components-map.mjs +14 -14
  108. package/fesm2022/acorex-components-map.mjs.map +1 -1
  109. package/fesm2022/acorex-components-media-viewer.mjs +35 -35
  110. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  111. package/fesm2022/acorex-components-menu.mjs +21 -21
  112. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  113. package/fesm2022/{acorex-components-modal-acorex-components-modal-iYSPzoLn.mjs → acorex-components-modal-acorex-components-modal-BmmAkCKJ.mjs} +22 -22
  114. package/fesm2022/acorex-components-modal-acorex-components-modal-BmmAkCKJ.mjs.map +1 -0
  115. package/fesm2022/acorex-components-modal-modal-content.component-5GqTzNOs.mjs +214 -0
  116. package/fesm2022/acorex-components-modal-modal-content.component-5GqTzNOs.mjs.map +1 -0
  117. package/fesm2022/acorex-components-modal.mjs +1 -1
  118. package/fesm2022/acorex-components-navbar.mjs +9 -9
  119. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  120. package/fesm2022/acorex-components-notification.mjs +16 -23
  121. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  122. package/fesm2022/acorex-components-number-box-legacy.mjs +9 -9
  123. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  124. package/fesm2022/acorex-components-number-box.mjs +9 -9
  125. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  126. package/fesm2022/acorex-components-otp.mjs +9 -9
  127. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  128. package/fesm2022/acorex-components-page.mjs +10 -10
  129. package/fesm2022/acorex-components-page.mjs.map +1 -1
  130. package/fesm2022/acorex-components-paint.mjs +34 -39
  131. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  132. package/fesm2022/acorex-components-password-box.mjs +12 -12
  133. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  134. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  135. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  136. package/fesm2022/acorex-components-phone-box.mjs +9 -9
  137. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  138. package/fesm2022/acorex-components-picker.mjs +15 -15
  139. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  140. package/fesm2022/acorex-components-popover.mjs +11 -11
  141. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  142. package/fesm2022/acorex-components-popup.mjs +13 -13
  143. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  144. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  145. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  147. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  148. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  149. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  150. package/fesm2022/acorex-components-radio.mjs +7 -7
  151. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  152. package/fesm2022/acorex-components-rail-navigation.mjs +38 -36
  153. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  154. package/fesm2022/acorex-components-range-slider.mjs +10 -10
  155. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  156. package/fesm2022/acorex-components-rate-picker.mjs +20 -35
  157. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  158. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  159. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  160. package/fesm2022/acorex-components-result.mjs +8 -8
  161. package/fesm2022/acorex-components-result.mjs.map +1 -1
  162. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  163. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  164. package/fesm2022/acorex-components-rrule.mjs +9 -9
  165. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  166. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  167. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  168. package/fesm2022/acorex-components-scheduler.mjs +43 -43
  169. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  170. package/fesm2022/acorex-components-scss.mjs +4 -4
  171. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  172. package/fesm2022/acorex-components-search-box.mjs +16 -10
  173. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  174. package/fesm2022/acorex-components-select-box.mjs +11 -9
  175. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  176. package/fesm2022/acorex-components-selection-list-2.mjs +9 -9
  177. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  178. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  179. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  180. package/fesm2022/acorex-components-side-menu.mjs +14 -14
  181. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  182. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  183. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  184. package/fesm2022/acorex-components-slider.mjs +10 -10
  185. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  186. package/fesm2022/acorex-components-sliding-item.mjs +14 -14
  187. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  188. package/fesm2022/acorex-components-step-wizard.mjs +14 -14
  189. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  190. package/fesm2022/acorex-components-switch.mjs +14 -14
  191. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  192. package/fesm2022/acorex-components-tabs.mjs +15 -15
  193. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  194. package/fesm2022/acorex-components-tag-box.mjs +9 -9
  195. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  196. package/fesm2022/acorex-components-tag.mjs +9 -9
  197. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  198. package/fesm2022/acorex-components-text-area.mjs +9 -9
  199. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  200. package/fesm2022/acorex-components-text-box.mjs +12 -12
  201. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  203. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  204. package/fesm2022/acorex-components-time-line.mjs +12 -12
  205. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  206. package/fesm2022/acorex-components-toast.mjs +14 -14
  207. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  208. package/fesm2022/acorex-components-toolbar.mjs +8 -8
  209. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  210. package/fesm2022/acorex-components-tooltip.mjs +11 -11
  211. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  212. package/fesm2022/acorex-components-tree-view.mjs +10 -10
  213. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  214. package/fesm2022/acorex-components-tree2.mjs +7 -7
  215. package/fesm2022/acorex-components-tree2.mjs.map +1 -1
  216. package/fesm2022/acorex-components-uploader.mjs +16 -16
  217. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  218. package/fesm2022/acorex-components-video-player.mjs +7 -7
  219. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  220. package/fesm2022/acorex-components-wysiwyg.mjs +50 -48
  221. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  222. package/fesm2022/acorex-components.mjs.map +1 -1
  223. package/grid-layout-builder/index.d.ts +1 -2
  224. package/loading/index.d.ts +1 -1
  225. package/notification/index.d.ts +0 -2
  226. package/package.json +7 -7
  227. package/paint/index.d.ts +1 -6
  228. package/rate-picker/index.d.ts +5 -15
  229. package/wysiwyg/index.d.ts +2 -1
  230. package/fesm2022/acorex-components-modal-acorex-components-modal-iYSPzoLn.mjs.map +0 -1
  231. package/fesm2022/acorex-components-modal-modal-content.component-sZWKhYM-.mjs +0 -212
  232. package/fesm2022/acorex-components-modal-modal-content.component-sZWKhYM-.mjs.map +0 -1
@@ -394,9 +394,9 @@ class AXPopoverComponent extends MXBaseComponent {
394
394
  scrollStrategy: this._overlay.scrollStrategies.block(),
395
395
  panelClass: [
396
396
  'ax-actionsheet-base',
397
- 'ax-animate-slideInUp',
398
- 'ax-animate-faster',
399
- this.panelClass ? this.panelClass : this.#platform.isDark() ? 'ax-dark' : '',
397
+ 'animate-slideInUp',
398
+ 'animate-faster',
399
+ this.panelClass ? this.panelClass : this.#platform.isDark() ? 'dark' : '',
400
400
  ],
401
401
  hasBackdrop: true,
402
402
  width: '100%',
@@ -407,7 +407,7 @@ class AXPopoverComponent extends MXBaseComponent {
407
407
  positionStrategy: this._overlay.position().flexibleConnectedTo(targetRef).withPositions(this._placements),
408
408
  scrollStrategy: this._overlay.scrollStrategies.noop(),
409
409
  disposeOnNavigation: true,
410
- panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', this.#platform.isDark() ? 'ax-dark' : ''],
410
+ panelClass: ['animate-fadeIn', 'animate-faster', this.#platform.isDark() ? 'dark' : ''],
411
411
  maxHeight: 'unset',
412
412
  hasBackdrop: this.hasBackdrop,
413
413
  backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],
@@ -529,13 +529,13 @@ class AXPopoverComponent extends MXBaseComponent {
529
529
  this._overlayRef?.detach();
530
530
  this._overlayRef?.dispose();
531
531
  }
532
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
533
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.9", type: AXPopoverComponent, isStandalone: true, selector: "ax-popover", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, offsetX: { classPropertyName: "offsetX", publicName: "offsetX", isSignal: false, isRequired: false, transformFunction: null }, offsetY: { classPropertyName: "offsetY", publicName: "offsetY", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: false, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: false, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: "closeOn", publicName: "closeOn", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, openAfter: { classPropertyName: "openAfter", publicName: "openAfter", isSignal: false, isRequired: false, transformFunction: null }, closeAfter: { classPropertyName: "closeAfter", publicName: "closeAfter", isSignal: false, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: false, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: false, isRequired: false, transformFunction: null }, adaptivityEnabled: { classPropertyName: "adaptivityEnabled", publicName: "adaptivityEnabled", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [
532
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
533
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: AXPopoverComponent, isStandalone: true, selector: "ax-popover", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, offsetX: { classPropertyName: "offsetX", publicName: "offsetX", isSignal: false, isRequired: false, transformFunction: null }, offsetY: { classPropertyName: "offsetY", publicName: "offsetY", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: false, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: false, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: "closeOn", publicName: "closeOn", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, openAfter: { classPropertyName: "openAfter", publicName: "openAfter", isSignal: false, isRequired: false, transformFunction: null }, closeAfter: { classPropertyName: "closeAfter", publicName: "closeAfter", isSignal: false, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: false, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: false, isRequired: false, transformFunction: null }, adaptivityEnabled: { classPropertyName: "adaptivityEnabled", publicName: "adaptivityEnabled", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [
534
534
  { provide: AXFocusableComponent, useExisting: AXPopoverComponent },
535
535
  { provide: AXComponent, useExisting: AXPopoverComponent },
536
536
  ], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
537
537
  }
538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopoverComponent, decorators: [{
538
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopoverComponent, decorators: [{
539
539
  type: Component,
540
540
  args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
541
541
  { provide: AXFocusableComponent, useExisting: AXPopoverComponent },
@@ -579,11 +579,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
579
579
  }] } });
580
580
 
581
581
  class AXPopoverModule {
582
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
583
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: AXPopoverModule, imports: [CommonModule, AXPopoverComponent], exports: [AXPopoverComponent] }); }
584
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
582
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
583
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AXPopoverModule, imports: [CommonModule, AXPopoverComponent], exports: [AXPopoverComponent] }); }
584
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
585
585
  }
586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopoverModule, decorators: [{
586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopoverModule, decorators: [{
587
587
  type: NgModule,
588
588
  args: [{
589
589
  imports: [CommonModule, AXPopoverComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-popover.mjs","sources":["../tmp-esm2022/popover/lib/popover.component.js","../tmp-esm2022/popover/lib/popover.module.js","../tmp-esm2022/popover/acorex-components-popover.js"],"sourcesContent":["import { AXComponent, AXFocusableComponent, MXBaseComponent, convertToPlacement, } from '@acorex/cdk/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DOCUMENT, ElementRef, EventEmitter, Input, Output, PLATFORM_ID, Renderer2, TemplateRef, ViewChild, ViewEncapsulation, inject, input, } from '@angular/core';\nimport { Subject, debounceTime, delay, fromEvent } from 'rxjs';\nimport * as i0 from \"@angular/core\";\n/**\n * @category Components\n * A popover component with custom encapsulation and change detection settings.\n */\nexport class AXPopoverComponent extends MXBaseComponent {\n constructor() {\n super(...arguments);\n this.#platform = inject(AXPlatform);\n this.document = inject(DOCUMENT);\n this.platformID = inject(PLATFORM_ID);\n this.renderer = inject(Renderer2);\n this.onKeyDownListenerFn = () => undefined;\n /** @ignore */\n this._platform = inject(AXPlatform);\n /** @ignore */\n this._overlay = inject(Overlay);\n /** @ignore */\n this._isMouseOverButton = false;\n /** @ignore */\n this._isMouseOverTooltip = false;\n /** @ignore */\n this._targetEvents = {};\n /** @ignore */\n this._overlayEvents = {};\n /** @ignore */\n this.resize$ = new Subject();\n //\n /** @ignore */\n this._disabled = false;\n this.width = input('auto', ...(ngDevMode ? [{ debugName: \"width\" }] : []));\n /** @ignore */\n this._offsetX = 0;\n //\n /** @ignore */\n this._offsetY = 0;\n /** @ignore */\n this._defautPlacements = convertToPlacement('bottom-start');\n /** @ignore */\n this._placements = [...this._defautPlacements];\n /** @ignore */\n this._placement = this._placements;\n /** @ignore */\n this._openOn = 'toggle';\n /** @ignore */\n this._closeOn = 'clickOut';\n //\n /**\n * Determines if a backdrop should be displayed behind the popover.\n */\n this.hasBackdrop = false;\n /**\n * Delay in milliseconds before the popover opens after a trigger event.\n */\n this.openAfter = 200;\n /**\n * Delay in milliseconds before the popover closes after a trigger event.\n */\n this.closeAfter = 200;\n /**\n * Enables or disables adaptivity.\n */\n this.adaptivityEnabled = false;\n //\n /**\n * Emits when the component is opened.\n * @event\n */\n this.onOpened = new EventEmitter();\n /**\n * Emits when the component is closed.\n * @event\n */\n this.onClosed = new EventEmitter();\n }\n #platform;\n /**\n * Gets or sets whether the popover is disabled.\n * When disabled, the popover will not open and will close if already open.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(v) {\n this._disabled = v;\n if (this._disabled && this.isOpen) {\n this.close();\n }\n }\n /**\n * Gets or sets the horizontal offset and updates it accordingly.\n */\n get offsetX() {\n return this._offsetX;\n }\n /**\n * Sets the horizontal offset and updates it with a callback.\n */\n set offsetX(v) {\n this.setOption({\n name: 'offsetX',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n /**\n * Vertical offset with update callback.\n */\n get offsetY() {\n return this._offsetY;\n }\n /**\n * Sets the vertical offset and updates the component position.\n */\n set offsetY(v) {\n this.setOption({\n name: 'offsetY',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n /**\n * Gets or sets the target element, supporting Element, ElementRef, or MXBaseComponent.\n */\n get target() {\n return this._target;\n }\n /**\n * Sets the target element and updates event bindings.\n */\n set target(v) {\n this.removeTargetEvents();\n if (v instanceof Element)\n this._target = v;\n else if (v instanceof ElementRef)\n this._target = v.nativeElement;\n else if (typeof v?.getHostElement == 'function')\n this._target = v.getHostElement();\n //\n this.bindTargetEvents();\n }\n /**\n * Gets the current placement of the component.\n */\n get placement() {\n return this._placement;\n }\n /**\n * Sets the component's placement and updates its position settings.\n */\n set placement(v) {\n this.setOption({\n name: 'placement',\n value: v,\n afterCallback: (o, n) => {\n const converted = convertToPlacement(n);\n this._placements = converted.length ? converted : this._defautPlacements;\n this.updateOffset();\n this.updatePositionStrategy();\n },\n });\n }\n /**\n * Gets the reference to the component.\n */\n get componentRef() {\n return this._componentRef;\n }\n /**\n * Gets or sets the trigger for opening the popover and updates target events.\n */\n get openOn() {\n return this._openOn;\n }\n /**\n * Sets the trigger for opening the popover and updates target events.\n */\n set openOn(v) {\n this.setOption({\n name: 'openOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n /**\n * Gets or sets the trigger for closing the popover.\n */\n get closeOn() {\n return this._closeOn;\n }\n /**\n * Sets the trigger for closing the popover and rebinds target events.\n * @param v\n */\n set closeOn(v) {\n this.setOption({\n name: 'closeOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n /** @ignore */\n _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n /** @ignore */\n _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n //\n /** @ignore */\n _handleMouseEnter(e) {\n this._isMouseOverTooltip = true;\n }\n /** @ignore */\n _handleMouseLeave(e) {\n this._isMouseOverTooltip = false;\n setTimeout(() => {\n if (!this._isMouseOverButton && this.closeOn == 'leave') {\n this.close();\n }\n }, 250);\n }\n /** @ignore */\n removeTargetEvents() {\n Object.entries(this._targetEvents).forEach((e) => {\n e[1].unsubscribe();\n });\n }\n /** @ignore */\n bindTargetEvents() {\n this.removeTargetEvents();\n if (!this._target)\n return;\n const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');\n const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');\n if (this.openOn == 'hover') {\n this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(this.openAfter)).subscribe(() => {\n this._isMouseOverButton = true;\n this.open();\n });\n }\n if (this.closeOn == 'leave') {\n this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(this.closeAfter)).subscribe(() => {\n this._isMouseOverButton = false;\n if (!this._isMouseOverTooltip) {\n this.close();\n }\n });\n }\n if (this.openOn === 'click' || this.openOn === 'toggle') {\n const click$ = fromEvent(this._target, 'click');\n this._targetEvents.click = click$.subscribe((e) => {\n this.openOn == 'toggle' ? this.toggle() : this.open();\n });\n }\n }\n //\n /** @ignore */\n bindOverlayEvents() {\n this.removeOverlayEvents();\n this._overlayEvents.attach = this._overlayRef.attachments().subscribe(() => {\n this.initializeResizeObserver();\n if (this.openOn == 'hover') {\n this._overlayRef?.overlayElement?.addEventListener('mouseenter', this._handleMouseEnter.bind(this));\n }\n if (this.closeOn == 'leave') {\n this._overlayRef?.overlayElement?.addEventListener('mouseleave', this._handleMouseLeave.bind(this));\n }\n //\n this._overlayEvents.outside = this._overlayRef._outsidePointerEvents.subscribe((e) => {\n const el = e.target;\n if (this.closeOn == 'clickOut' &&\n this.isOpen &&\n !this._target.contains(el) &&\n !this._overlayRef?.overlayElement?.contains(el)) {\n this.close();\n }\n });\n //\n this._overlayEvents.scroll = this._platform.scroll.subscribe((c) => {\n //__axContext__\n const el = c.nativeEvent.target;\n if (!this.isActionsheetStyle && isPlatformBrowser(this.platformID)) {\n if (el == this.document) {\n this.close();\n return;\n }\n if (el?.closest &&\n !el.closest('.ax-overlay-pane') &&\n !this._target.contains(el) &&\n !this._overlayRef?.overlayElement?.contains(el)) {\n this.close();\n }\n }\n });\n });\n }\n /** @ignore */\n removeOverlayEvents() {\n this._overlayRef?.overlayElement?.removeEventListener('mouseenter', this._handleMouseEnter.bind(this));\n this._overlayRef?.overlayElement?.addEventListener('mouseleave', this._handleMouseLeave.bind(this));\n Object.entries(this._overlayEvents).forEach((e) => {\n e[1].unsubscribe();\n });\n }\n //\n /**\n * Toggles the component's open state.\n */\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n //\n /**\n * Closes the component if it's open, detaches the overlay, restores focus, and emits the closed event.\n */\n close() {\n if (!this.isOpen) {\n return;\n }\n this.disconnectResizeObserver();\n this._overlayRef?.detach();\n this.restoreFocus();\n this._emitOnClosedEvent();\n this.onKeyDownListenerFn();\n }\n //\n /**\n * Opens the component if it's not already open, saves focus, opens the overlay, and emits the opened event.\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n if (isPlatformBrowser(this.platformID)) {\n this.onKeyDownListenerFn = this.renderer.listen(this.document.body, 'keydown', (e) => {\n if (e.key == 'Escape') {\n this.close();\n }\n });\n }\n this.saveFocus();\n this.openOverlayInternal();\n this._emitOnOpenedEvent();\n }\n /** @ignore */\n saveFocus() {\n if (isPlatformBrowser(this.platformID)) {\n this._lastActiveElement = this.document.activeElement;\n }\n }\n /** @ignore */\n restoreFocus() {\n if (this._lastActiveElement instanceof HTMLElement) {\n if (this._lastActiveElement?.focus) {\n this._lastActiveElement.focus();\n }\n }\n }\n /** @ignore */\n openOverlayInternal() {\n const targetRef = this._target;\n if (!targetRef)\n return;\n //if (!this._overlayRef) {\n if (this.isActionsheetStyle) {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay.position().global().bottom().centerHorizontally(),\n disposeOnNavigation: true,\n scrollStrategy: this._overlay.scrollStrategies.block(),\n panelClass: [\n 'ax-actionsheet-base',\n 'ax-animate-slideInUp',\n 'ax-animate-faster',\n this.panelClass ? this.panelClass : this.#platform.isDark() ? 'ax-dark' : '',\n ],\n hasBackdrop: true,\n width: '100%',\n });\n }\n else {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay.position().flexibleConnectedTo(targetRef).withPositions(this._placements),\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', this.#platform.isDark() ? 'ax-dark' : ''],\n maxHeight: 'unset',\n hasBackdrop: this.hasBackdrop,\n backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],\n direction: AXHtmlUtil.isRtl(this.getHostElement()) ? 'rtl' : 'ltr',\n width: this.width(),\n });\n // this._overlayRef.setDirection()\n }\n //\n this.bindOverlayEvents();\n //}\n //\n if (this.content instanceof TemplateRef) {\n this._portal = new TemplatePortal(this.content, this.getViewContainer(), {\n $implicit: this.context,\n ref: this,\n });\n this._overlayRef?.attach(this._portal);\n }\n else if (typeof this.content === 'function') {\n this._portal = new ComponentPortal(this.content);\n this._componentRef = this._overlayRef?.attach(this._portal);\n Object.assign(this._componentRef.instance, this.context);\n }\n else {\n this._portal = new TemplatePortal(this._baseTemplate, this.getViewContainer(), {\n $implicit: this.context,\n ref: this,\n });\n this._overlayRef?.attach(this._portal);\n }\n }\n /**\n * Checks if the overlay is currently open.\n * @returns {boolean}\n */\n get isOpen() {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n /**\n * Determines if the actionsheet style should be applied.\n * @returns {boolean}\n */\n get isActionsheetStyle() {\n return this._platform.is('SM') && this.adaptivityEnabled;\n }\n /** @ignore */\n updatePositionStrategy() {\n const targetRef = this._target;\n if (!targetRef)\n return;\n let strategy;\n if (this.isActionsheetStyle) {\n strategy = this._overlay.position().global().bottom().centerHorizontally();\n }\n else {\n strategy = this._overlay.position().flexibleConnectedTo(targetRef).withPositions(this._placements);\n }\n this._overlayRef?.updatePositionStrategy(strategy);\n }\n /** @ignore */\n updateOffset() {\n this._placements?.forEach((p) => {\n if (this.offsetY != null)\n p.offsetY = this.offsetY;\n if (this.offsetX != null)\n p.offsetX = this.offsetX;\n });\n }\n /**\n * Updates the position of the overlay and focuses on it.\n */\n updatePosition() {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n /**\n * Focuses the overlay element.\n */\n focus() {\n //TODO: need this??\n }\n /** @ignore */\n initializeResizeObserver() {\n if (!isPlatformBrowser(this.platformID) || !this._overlayRef?.overlayElement) {\n return;\n }\n this.disconnectResizeObserver();\n this.resizeObserver = new ResizeObserver(() => {\n this.resize$.next();\n });\n this.resizeObserver.observe(this._overlayRef?.overlayElement);\n }\n /** @ignore */\n disconnectResizeObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n //\n ngOnInit() {\n super.ngOnInit();\n // this.platformService.directionChange.subscribe((c) => {\n // this.isRtl = c.data == 'rtl';\n // });\n this.resize$.pipe(debounceTime(50)).subscribe(() => {\n if (this.isOpen) {\n this.updatePosition();\n }\n });\n }\n /** @ignore */\n ngOnDestroy() {\n this.disconnectResizeObserver();\n this.resize$.complete();\n this.removeTargetEvents();\n this.removeOverlayEvents();\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.9\", type: AXPopoverComponent, isStandalone: true, selector: \"ax-popover\", inputs: { width: { classPropertyName: \"width\", publicName: \"width\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, offsetX: { classPropertyName: \"offsetX\", publicName: \"offsetX\", isSignal: false, isRequired: false, transformFunction: null }, offsetY: { classPropertyName: \"offsetY\", publicName: \"offsetY\", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: \"target\", publicName: \"target\", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: \"placement\", publicName: \"placement\", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: \"content\", publicName: \"content\", isSignal: false, isRequired: false, transformFunction: null }, openOn: { classPropertyName: \"openOn\", publicName: \"openOn\", isSignal: false, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: \"closeOn\", publicName: \"closeOn\", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: \"hasBackdrop\", publicName: \"hasBackdrop\", isSignal: false, isRequired: false, transformFunction: null }, openAfter: { classPropertyName: \"openAfter\", publicName: \"openAfter\", isSignal: false, isRequired: false, transformFunction: null }, closeAfter: { classPropertyName: \"closeAfter\", publicName: \"closeAfter\", isSignal: false, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: \"backdropClass\", publicName: \"backdropClass\", isSignal: false, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: \"panelClass\", publicName: \"panelClass\", isSignal: false, isRequired: false, transformFunction: null }, adaptivityEnabled: { classPropertyName: \"adaptivityEnabled\", publicName: \"adaptivityEnabled\", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onOpened: \"onOpened\", onClosed: \"onClosed\" }, providers: [\n { provide: AXFocusableComponent, useExisting: AXPopoverComponent },\n { provide: AXComponent, useExisting: AXPopoverComponent },\n ], viewQueries: [{ propertyName: \"_baseTemplate\", first: true, predicate: [\"baseTemplate\"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: \"<ng-template #baseTemplate>\\n <ng-content></ng-content>\\n</ng-template>\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPopoverComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n { provide: AXFocusableComponent, useExisting: AXPopoverComponent },\n { provide: AXComponent, useExisting: AXPopoverComponent },\n ], template: \"<ng-template #baseTemplate>\\n <ng-content></ng-content>\\n</ng-template>\\n\" }]\n }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: \"width\", required: false }] }], disabled: [{\n type: Input\n }], offsetX: [{\n type: Input\n }], offsetY: [{\n type: Input\n }], target: [{\n type: Input\n }], placement: [{\n type: Input\n }], _baseTemplate: [{\n type: ViewChild,\n args: ['baseTemplate', { static: true }]\n }], content: [{\n type: Input\n }], openOn: [{\n type: Input\n }], closeOn: [{\n type: Input\n }], hasBackdrop: [{\n type: Input\n }], openAfter: [{\n type: Input\n }], closeAfter: [{\n type: Input\n }], backdropClass: [{\n type: Input\n }], panelClass: [{\n type: Input\n }], adaptivityEnabled: [{\n type: Input\n }], onOpened: [{\n type: Output\n }], onClosed: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3BvcG92ZXIvc3JjL2xpYi9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcG9wb3Zlci9zcmMvbGliL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFHWCxvQkFBb0IsRUFFcEIsZUFBZSxFQUNmLGtCQUFrQixHQUNuQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBZ0MsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUF5QixjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNN0U7OztHQUdHO0FBV0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7SUFWdkQ7O1FBV0UsY0FBUyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztR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QUs7O3NCQXdCTCxLQUFLOztzQkF3QkwsS0FBSzs7c0JBTUwsS0FBSzs7c0JBTUwsS0FBSzs7c0JBTUwsS0FBSzs7c0JBTUwsS0FBSzs7c0JBTUwsS0FBSzs7c0JBUUwsTUFBTTs7c0JBT04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWENvbm5lY3RlZFBvc2l0aW9uLFxuICBBWEV2ZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhQbGFjZW1lbnRUeXBlLFxuICBNWEJhc2VDb21wb25lbnQsXG4gIGNvbnZlcnRUb1BsYWNlbWVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmLCBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlLCBQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIERPQ1VNRU5ULFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIGRlbGF5LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQVhQb3BvdmVyT3BlblRyaWdnZXIgPSAnbWFudWFsJyB8ICdjbGljaycgfCAnaG92ZXInIHwgJ3RvZ2dsZSc7XG5cbmV4cG9ydCB0eXBlIEFYUG9wb3ZlckNsb3NlVHJpZ2dlciA9ICdtYW51YWwnIHwgJ2NsaWNrT3V0JyB8ICdsZWF2ZSc7XG5cbi8qKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqIEEgcG9wb3ZlciBjb21wb25lbnQgd2l0aCBjdXN0b20gZW5jYXBzdWxhdGlvbiBhbmQgY2hhbmdlIGRldGVjdGlvbiBzZXR0aW5ncy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcG9wb3ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBvcG92ZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhQb3BvdmVyQ29tcG9uZW50IH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICNwbGF0Zm9ybSA9IGluamVjdChBWFBsYXRmb3JtKTtcbiAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcGxhdGZvcm1JRCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwcml2YXRlIG9uS2V5RG93bkxpc3RlbmVyRm4gPSAoKSA9PiB1bmRlZmluZWQ7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9vdmVybGF5UmVmITogT3ZlcmxheVJlZjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9pc01vdXNlT3ZlckJ1dHRvbiA9IGZhbHNlO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2lzTW91c2VPdmVyVG9vbHRpcCA9IGZhbHNlO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2xhc3RBY3RpdmVFbGVtZW50OiBFbGVtZW50O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3RhcmdldEV2ZW50czoge1xuICAgIG1vdXNlZW50ZXI/OiBTdWJzY3JpcHRpb247XG4gICAgbW91c2VsZWF2ZT86IFN1YnNjcmlwdGlvbjtcbiAgICBjbGljaz86IFN1YnNjcmlwdGlvbjtcbiAgfSA9IHt9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX292ZXJsYXlFdmVudHM6IHtcbiAgICBhdHRhY2g/OiBTdWJzY3JpcHRpb247XG4gICAgZGV0YWNoPzogU3Vic2NyaXB0aW9uO1xuICAgIHNjcm9sbD86IFN1YnNjcmlwdGlvbjtcbiAgICBvdXRzaWRlPzogU3Vic2NyaXB0aW9uO1xuICB9ID0ge307XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcmVzaXplJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy9cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQ8c3RyaW5nPignYXV0bycpO1xuXG4gIC8qKlxuICAgKiBHZXRzIG9yIHNldHMgd2hldGhlciB0aGUgcG9wb3ZlciBpcyBkaXNhYmxlZC5cbiAgICogV2hlbiBkaXNhYmxlZCwgdGhlIHBvcG92ZXIgd2lsbCBub3Qgb3BlbiBhbmQgd2lsbCBjbG9zZSBpZiBhbHJlYWR5IG9wZW4uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHY7XG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb2Zmc2V0WCA9IDA7XG5cbiAgLyoqXG4gICAqIEdldHMgb3Igc2V0cyB0aGUgaG9yaXpvbnRhbCBvZmZzZXQgYW5kIHVwZGF0ZXMgaXQgYWNjb3JkaW5nbHkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IG9mZnNldFgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fb2Zmc2V0WDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBob3Jpem9udGFsIG9mZnNldCBhbmQgdXBkYXRlcyBpdCB3aXRoIGEgY2FsbGJhY2suXG4gICAqL1xuICBwdWJsaWMgc2V0IG9mZnNldFgodjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ29mZnNldFgnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlT2Zmc2V0KCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIC8vXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb2Zmc2V0WSA9IDA7XG5cbiAgLyoqXG4gICAqIFZlcnRpY2FsIG9mZnNldCB3aXRoIHVwZGF0ZSBjYWxsYmFjay5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgb2Zmc2V0WSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9vZmZzZXRZO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZlcnRpY2FsIG9mZnNldCBhbmQgdXBkYXRlcyB0aGUgY29tcG9uZW50IHBvc2l0aW9uLlxuICAgKi9cbiAgcHVibGljIHNldCBvZmZzZXRZKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdvZmZzZXRZJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU9mZnNldCgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3RhcmdldCE6IEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIEdldHMgb3Igc2V0cyB0aGUgdGFyZ2V0IGVsZW1lbnQsIHN1cHBvcnRpbmcgRWxlbWVudCwgRWxlbWVudFJlZiwgb3IgTVhCYXNlQ29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB0YXJnZXQoKTogRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBNWEJhc2VDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdGFyZ2V0IGVsZW1lbnQgYW5kIHVwZGF0ZXMgZXZlbnQgYmluZGluZ3MuXG4gICAqL1xuICBwdWJsaWMgc2V0IHRhcmdldCh2OiBFbGVtZW50IHwgRWxlbWVudFJlZiB8IE1YQmFzZUNvbXBvbmVudCkge1xuICAgIHRoaXMucmVtb3ZlVGFyZ2V0RXZlbnRzKCk7XG4gICAgaWYgKHYgaW5zdGFuY2VvZiBFbGVtZW50KSB0aGlzLl90YXJnZXQgPSB2O1xuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBFbGVtZW50UmVmKSB0aGlzLl90YXJnZXQgPSB2Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgZWxzZSBpZiAodHlwZW9mIHY/LmdldEhvc3RFbGVtZW50ID09ICdmdW5jdGlvbicpIHRoaXMuX3RhcmdldCA9IHYuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAvL1xuICAgIHRoaXMuYmluZFRhcmdldEV2ZW50cygpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfZGVmYXV0UGxhY2VtZW50czogQVhDb25uZWN0ZWRQb3NpdGlvbltdID0gY29udmVydFRvUGxhY2VtZW50KCdib3R0b20tc3RhcnQnKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9wbGFjZW1lbnRzOiBBWENvbm5lY3RlZFBvc2l0aW9uW10gPSBbLi4udGhpcy5fZGVmYXV0UGxhY2VtZW50c107XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfcGxhY2VtZW50OiBBWFBsYWNlbWVudFR5cGUgPSB0aGlzLl9wbGFjZW1lbnRzO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHBsYWNlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBwbGFjZW1lbnQoKTogQVhQbGFjZW1lbnRUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhY2VtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbXBvbmVudCdzIHBsYWNlbWVudCBhbmQgdXBkYXRlcyBpdHMgcG9zaXRpb24gc2V0dGluZ3MuXG4gICAqL1xuICBwdWJsaWMgc2V0IHBsYWNlbWVudCh2OiBBWFBsYWNlbWVudFR5cGUpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAncGxhY2VtZW50JyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKG8sIG4pID0+IHtcbiAgICAgICAgY29uc3QgY29udmVydGVkID0gY29udmVydFRvUGxhY2VtZW50KG4pO1xuICAgICAgICB0aGlzLl9wbGFjZW1lbnRzID0gY29udmVydGVkLmxlbmd0aCA/IGNvbnZlcnRlZCA6IHRoaXMuX2RlZmF1dFBsYWNlbWVudHM7XG4gICAgICAgIHRoaXMudXBkYXRlT2Zmc2V0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb25TdHJhdGVneSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3BvcnRhbDogUG9ydGFsPHVua25vd24+O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50UmVmKCk6IENvbXBvbmVudFJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb2xkcyB0aGUgY29udGV4dCBkYXRhIGZvciB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnRleHQ6IHVua25vd247XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQFZpZXdDaGlsZCgnYmFzZVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2Jhc2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGNvbnRlbnQgdG8gYmUgZGlzcGxheWVkLCB3aGljaCBjYW4gYmUgYSB0ZW1wbGF0ZSBvciBhIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgQ29tcG9uZW50VHlwZTx1bmtub3duPjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9vcGVuT246IEFYUG9wb3Zlck9wZW5UcmlnZ2VyID0gJ3RvZ2dsZSc7XG5cbiAgLyoqXG4gICAqIEdldHMgb3Igc2V0cyB0aGUgdHJpZ2dlciBmb3Igb3BlbmluZyB0aGUgcG9wb3ZlciBhbmQgdXBkYXRlcyB0YXJnZXQgZXZlbnRzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBvcGVuT24oKTogQVhQb3BvdmVyT3BlblRyaWdnZXIge1xuICAgIHJldHVybiB0aGlzLl9vcGVuT247XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdHJpZ2dlciBmb3Igb3BlbmluZyB0aGUgcG9wb3ZlciBhbmQgdXBkYXRlcyB0YXJnZXQgZXZlbnRzLlxuICAgKi9cbiAgcHVibGljIHNldCBvcGVuT24odjogQVhQb3BvdmVyT3BlblRyaWdnZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnb3Blbk9uJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLmJpbmRUYXJnZXRFdmVudHMoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9jbG9zZU9uOiBBWFBvcG92ZXJDbG9zZVRyaWdnZXIgPSAnY2xpY2tPdXQnO1xuXG4gIC8qKlxuICAgKiBHZXRzIG9yIHNldHMgdGhlIHRyaWdnZXIgZm9yIGNsb3NpbmcgdGhlIHBvcG92ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGNsb3NlT24oKTogQVhQb3BvdmVyQ2xvc2VUcmlnZ2VyIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VPbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0cmlnZ2VyIGZvciBjbG9zaW5nIHRoZSBwb3BvdmVyIGFuZCByZWJpbmRzIHRhcmdldCBldmVudHMuXG4gICAqIEBwYXJhbSB2XG4gICAqL1xuICBwdWJsaWMgc2V0IGNsb3NlT24odjogQVhQb3BvdmVyQ2xvc2VUcmlnZ2VyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2Nsb3NlT24nLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuYmluZFRhcmdldEV2ZW50cygpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vXG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYSBiYWNrZHJvcCBzaG91bGQgYmUgZGlzcGxheWVkIGJlaGluZCB0aGUgcG9wb3Zlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGhhc0JhY2tkcm9wID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERlbGF5IGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHBvcG92ZXIgb3BlbnMgYWZ0ZXIgYSB0cmlnZ2VyIGV2ZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgb3BlbkFmdGVyID0gMjAwO1xuXG4gIC8qKlxuICAgKiBEZWxheSBpbiBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSBwb3BvdmVyIGNsb3NlcyBhZnRlciBhIHRyaWdnZXIgZXZlbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBjbG9zZUFmdGVyID0gMjAwO1xuXG4gIC8qKlxuICAgKiBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIGJhY2tkcm9wIGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBiYWNrZHJvcENsYXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENTUyBjbGFzcyB0byBhcHBseSB0byB0aGUgYmFja2Ryb3AgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHBhbmVsQ2xhc3M6IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBvciBkaXNhYmxlcyBhZGFwdGl2aXR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgYWRhcHRpdml0eUVuYWJsZWQgPSBmYWxzZTtcbiAgLy9cblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIG9wZW5lZC5cbiAgICogQGV2ZW50XG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25PcGVuZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGNsb3NlZC5cbiAgICogQGV2ZW50XG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9lbWl0T25PcGVuZWRFdmVudCgpIHtcbiAgICB0aGlzLm9uT3BlbmVkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2VtaXRPbkNsb3NlZEV2ZW50KCkge1xuICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLFxuICAgIH0pO1xuICB9XG4gIC8vXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVNb3VzZUVudGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLl9pc01vdXNlT3ZlclRvb2x0aXAgPSB0cnVlO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVNb3VzZUxlYXZlKGU6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLl9pc01vdXNlT3ZlclRvb2x0aXAgPSBmYWxzZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5faXNNb3VzZU92ZXJCdXR0b24gJiYgdGhpcy5jbG9zZU9uID09ICdsZWF2ZScpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0sIDI1MCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHJlbW92ZVRhcmdldEV2ZW50cygpOiB2b2lkIHtcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLl90YXJnZXRFdmVudHMpLmZvckVhY2goKGUpID0+IHtcbiAgICAgIGVbMV0udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgYmluZFRhcmdldEV2ZW50cygpIHtcbiAgICB0aGlzLnJlbW92ZVRhcmdldEV2ZW50cygpO1xuICAgIGlmICghdGhpcy5fdGFyZ2V0KSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0TW91c2VFbnRlciQgPSBmcm9tRXZlbnQodGhpcy5fdGFyZ2V0LCAnbW91c2VlbnRlcicpO1xuICAgIGNvbnN0IHRhcmdldE1vdXNlTGVhdmUkID0gZnJvbUV2ZW50KHRoaXMuX3RhcmdldCwgJ21vdXNlbGVhdmUnKTtcblxuICAgIGlmICh0aGlzLm9wZW5PbiA9PSAnaG92ZXInKSB7XG4gICAgICB0aGlzLl90YXJnZXRFdmVudHMubW91c2VlbnRlciA9IHRhcmdldE1vdXNlRW50ZXIkLnBpcGUoZGVsYXkodGhpcy5vcGVuQWZ0ZXIpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9pc01vdXNlT3ZlckJ1dHRvbiA9IHRydWU7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2xvc2VPbiA9PSAnbGVhdmUnKSB7XG4gICAgICB0aGlzLl90YXJnZXRFdmVudHMubW91c2VsZWF2ZSA9IHRhcmdldE1vdXNlTGVhdmUkLnBpcGUoZGVsYXkodGhpcy5jbG9zZUFmdGVyKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5faXNNb3VzZU92ZXJCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgaWYgKCF0aGlzLl9pc01vdXNlT3ZlclRvb2x0aXApIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wZW5PbiA9PT0gJ2NsaWNrJyB8fCB0aGlzLm9wZW5PbiA9PT0gJ3RvZ2dsZScpIHtcbiAgICAgIGNvbnN0IGNsaWNrJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl90YXJnZXQsICdjbGljaycpO1xuICAgICAgdGhpcy5fdGFyZ2V0RXZlbnRzLmNsaWNrID0gY2xpY2skLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5PbiA9PSAndG9nZ2xlJyA/IHRoaXMudG9nZ2xlKCkgOiB0aGlzLm9wZW4oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICAvL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgYmluZE92ZXJsYXlFdmVudHMoKSB7XG4gICAgdGhpcy5yZW1vdmVPdmVybGF5RXZlbnRzKCk7XG4gICAgdGhpcy5fb3ZlcmxheUV2ZW50cy5hdHRhY2ggPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVJlc2l6ZU9ic2VydmVyKCk7XG4gICAgICBpZiAodGhpcy5vcGVuT24gPT0gJ2hvdmVyJykge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIHRoaXMuX2hhbmRsZU1vdXNlRW50ZXIuYmluZCh0aGlzKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jbG9zZU9uID09ICdsZWF2ZScpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCB0aGlzLl9oYW5kbGVNb3VzZUxlYXZlLmJpbmQodGhpcykpO1xuICAgICAgfVxuICAgICAgLy9cbiAgICAgIHRoaXMuX292ZXJsYXlFdmVudHMub3V0c2lkZSA9IHRoaXMuX292ZXJsYXlSZWYuX291dHNpZGVQb2ludGVyRXZlbnRzLnN1YnNjcmliZSgoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBlbCA9IGUudGFyZ2V0IGFzIEVsZW1lbnQ7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmNsb3NlT24gPT0gJ2NsaWNrT3V0JyAmJlxuICAgICAgICAgIHRoaXMuaXNPcGVuICYmXG4gICAgICAgICAgIXRoaXMuX3RhcmdldC5jb250YWlucyhlbCkgJiZcbiAgICAgICAgICAhdGhpcy5fb3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQ/LmNvbnRhaW5zKGVsKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLy9cblxuICAgICAgdGhpcy5fb3ZlcmxheUV2ZW50cy5zY3JvbGwgPSB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIC8vX19heENvbnRleHRfX1xuICAgICAgICBjb25zdCBlbCA9IGMubmF0aXZlRXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQ7XG4gICAgICAgIGlmICghdGhpcy5pc0FjdGlvbnNoZWV0U3R5bGUgJiYgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgICAgIGlmIChlbCA9PSAodGhpcy5kb2N1bWVudCBhcyBhbnkpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGVsPy5jbG9zZXN0ICYmXG4gICAgICAgICAgICAhZWwuY2xvc2VzdCgnLmF4LW92ZXJsYXktcGFuZScpICYmXG4gICAgICAgICAgICAhdGhpcy5fdGFyZ2V0LmNvbnRhaW5zKGVsKSAmJlxuICAgICAgICAgICAgIXRoaXMuX292ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50Py5jb250YWlucyhlbClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZW1vdmVPdmVybGF5RXZlbnRzKCkge1xuICAgIHRoaXMuX292ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5faGFuZGxlTW91c2VFbnRlci5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMuX2hhbmRsZU1vdXNlTGVhdmUuYmluZCh0aGlzKSk7XG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5fb3ZlcmxheUV2ZW50cykuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgZVsxXS51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy9cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGNvbXBvbmVudCdzIG9wZW4gc3RhdGUuXG4gICAqL1xuICB0b2dnbGUoKSB7XG4gICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcbiAgfVxuXG4gIC8vXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGNvbXBvbmVudCBpZiBpdCdzIG9wZW4sIGRldGFjaGVzIHRoZSBvdmVybGF5LCByZXN0b3JlcyBmb2N1cywgYW5kIGVtaXRzIHRoZSBjbG9zZWQgZXZlbnQuXG4gICAqL1xuICBjbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCk7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5yZXN0b3JlRm9jdXMoKTtcbiAgICB0aGlzLl9lbWl0T25DbG9zZWRFdmVudCgpO1xuICAgIHRoaXMub25LZXlEb3duTGlzdGVuZXJGbigpO1xuICB9XG5cbiAgLy9cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBjb21wb25lbnQgaWYgaXQncyBub3QgYWxyZWFkeSBvcGVuLCBzYXZlcyBmb2N1cywgb3BlbnMgdGhlIG92ZXJsYXksIGFuZCBlbWl0cyB0aGUgb3BlbmVkIGV2ZW50LlxuICAgKi9cbiAgb3BlbigpIHtcbiAgICBpZiAodGhpcy5pc09wZW4gfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgdGhpcy5vbktleURvd25MaXN0ZW5lckZuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudC5ib2R5LCAna2V5ZG93bicsIChlKSA9PiB7XG4gICAgICAgIGlmIChlLmtleSA9PSAnRXNjYXBlJykge1xuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2F2ZUZvY3VzKCk7XG4gICAgdGhpcy5vcGVuT3ZlcmxheUludGVybmFsKCk7XG4gICAgdGhpcy5fZW1pdE9uT3BlbmVkRXZlbnQoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgc2F2ZUZvY3VzKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICB0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBFbGVtZW50O1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcmVzdG9yZUZvY3VzKCkge1xuICAgIGlmICh0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICBpZiAodGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQ/LmZvY3VzKSB7XG4gICAgICAgIHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBvcGVuT3ZlcmxheUludGVybmFsKCkge1xuICAgIGNvbnN0IHRhcmdldFJlZiA9IHRoaXMuX3RhcmdldDtcbiAgICBpZiAoIXRhcmdldFJlZikgcmV0dXJuO1xuXG4gICAgLy9pZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICBpZiAodGhpcy5pc0FjdGlvbnNoZWV0U3R5bGUpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5ib3R0b20oKS5jZW50ZXJIb3Jpem9udGFsbHkoKSxcbiAgICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgICBwYW5lbENsYXNzOiBbXG4gICAgICAgICAgJ2F4LWFjdGlvbnNoZWV0LWJhc2UnLFxuICAgICAgICAgICdheC1hbmltYXRlLXNsaWRlSW5VcCcsXG4gICAgICAgICAgJ2F4LWFuaW1hdGUtZmFzdGVyJyxcbiAgICAgICAgICB0aGlzLnBhbmVsQ2xhc3MgPyB0aGlzLnBhbmVsQ2xhc3MgOiB0aGlzLiNwbGF0Zm9ybS5pc0RhcmsoKSA/ICdheC1kYXJrJyA6ICcnLFxuICAgICAgICBdLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpLndpdGhQb3NpdGlvbnModGhpcy5fcGxhY2VtZW50cyksXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxuICAgICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuICAgICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJywgdGhpcy4jcGxhdGZvcm0uaXNEYXJrKCkgPyAnYXgtZGFyaycgOiAnJ10sXG4gICAgICAgIG1heEhlaWdodDogJ3Vuc2V0JyxcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AsXG4gICAgICAgIGJhY2tkcm9wQ2xhc3M6IFt0aGlzLmJhY2tkcm9wQ2xhc3MgfHwgJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXG4gICAgICAgIGRpcmVjdGlvbjogQVhIdG1sVXRpbC5pc1J0bCh0aGlzLmdldEhvc3RFbGVtZW50KCkpID8gJ3J0bCcgOiAnbHRyJyxcbiAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgoKSxcbiAgICAgIH0pO1xuICAgICAgLy8gdGhpcy5fb3ZlcmxheVJlZi5zZXREaXJlY3Rpb24oKVxuICAgIH1cblxuICAgIC8vXG4gICAgdGhpcy5iaW5kT3ZlcmxheUV2ZW50cygpO1xuICAgIC8vfVxuICAgIC8vXG4gICAgaWYgKHRoaXMuY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5jb250ZW50LCB0aGlzLmdldFZpZXdDb250YWluZXIoKSwge1xuICAgICAgICAkaW1wbGljaXQ6IHRoaXMuY29udGV4dCxcbiAgICAgICAgcmVmOiB0aGlzLFxuICAgICAgfSk7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmPy5hdHRhY2godGhpcy5fcG9ydGFsKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmNvbnRlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5jb250ZW50KTtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuX292ZXJsYXlSZWY/LmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMuY29udGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9iYXNlVGVtcGxhdGUsIHRoaXMuZ2V0Vmlld0NvbnRhaW5lcigpLCB7XG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5jb250ZXh0LFxuICAgICAgICByZWY6IHRoaXMsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIG92ZXJsYXkgaXMgY3VycmVudGx5IG9wZW4uXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiA/IHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSA6IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGFjdGlvbnNoZWV0IHN0eWxlIHNob3VsZCBiZSBhcHBsaWVkLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc0FjdGlvbnNoZWV0U3R5bGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYXRmb3JtLmlzKCdTTScpICYmIHRoaXMuYWRhcHRpdml0eUVuYWJsZWQ7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koKTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0UmVmID0gdGhpcy5fdGFyZ2V0O1xuICAgIGlmICghdGFyZ2V0UmVmKSByZXR1cm47XG4gICAgbGV0IHN0cmF0ZWd5OiBQb3NpdGlvblN0cmF0ZWd5O1xuICAgIGlmICh0aGlzLmlzQWN0aW9uc2hlZXRTdHlsZSkge1xuICAgICAgc3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuYm90dG9tKCkuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0UmVmKS53aXRoUG9zaXRpb25zKHRoaXMuX3BsYWNlbWVudHMpO1xuICAgIH1cbiAgICB0aGlzLl9vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHN0cmF0ZWd5KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgdXBkYXRlT2Zmc2V0KCkge1xuICAgIHRoaXMuX3BsYWNlbWVudHM/LmZvckVhY2goKHApID0+IHtcbiAgICAgIGlmICh0aGlzLm9mZnNldFkgIT0gbnVsbCkgcC5vZmZzZXRZID0gdGhpcy5vZmZzZXRZO1xuICAgICAgaWYgKHRoaXMub2Zmc2V0WCAhPSBudWxsKSBwLm9mZnNldFggPSB0aGlzLm9mZnNldFg7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgYW5kIGZvY3VzZXMgb24gaXQuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgb3ZlcmxheSBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgIC8vVE9ETzogbmVlZCB0aGlzPz9cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVJlc2l6ZU9ic2VydmVyKCk6IHZvaWQge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSB8fCAhdGhpcy5fb3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kaXNjb25uZWN0UmVzaXplT2JzZXJ2ZXIoKTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMucmVzaXplJC5uZXh0KCk7XG4gICAgfSk7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX292ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vXG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy8gdGhpcy5wbGF0Zm9ybVNlcnZpY2UuZGlyZWN0aW9uQ2hhbmdlLnN1YnNjcmliZSgoYykgPT4ge1xuICAgIC8vICAgdGhpcy5pc1J0bCA9IGMuZGF0YSA9PSAncnRsJztcbiAgICAvLyB9KTtcbiAgICB0aGlzLnJlc2l6ZSQucGlwZShkZWJvdW5jZVRpbWUoNTApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCk7XG4gICAgdGhpcy5yZXNpemUkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5yZW1vdmVUYXJnZXRFdmVudHMoKTtcbiAgICB0aGlzLnJlbW92ZU92ZXJsYXlFdmVudHMoKTtcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXPopoverComponent } from './popover.component';\nimport * as i0 from \"@angular/core\";\nexport class AXPopoverModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPopoverModule, imports: [CommonModule, AXPopoverComponent], exports: [AXPopoverComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPopoverModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, AXPopoverComponent],\n exports: [AXPopoverComponent],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3BvcG92ZXIvc3JjL2xpYi9wb3BvdmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPekQsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLFlBSmhCLFlBQVksRUFBRSxrQkFBa0IsYUFDaEMsa0JBQWtCOytHQUdqQixlQUFlLFlBSmhCLFlBQVk7OzJGQUlYLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDO29CQUMzQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWFBvcG92ZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQVhQb3BvdmVyQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQb3BvdmVyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtcG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcG9wb3Zlci9zcmMvYWNvcmV4LWNvbXBvbmVudHMtcG9wb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-popover.mjs","sources":["../../../../packages/components/popover/src/lib/popover.component.ts","../../../../packages/components/popover/src/lib/popover.component.html","../../../../packages/components/popover/src/lib/popover.module.ts","../../../../packages/components/popover/src/acorex-components-popover.ts"],"sourcesContent":["import {\n AXComponent,\n AXConnectedPosition,\n AXEvent,\n AXFocusableComponent,\n AXPlacementType,\n MXBaseComponent,\n convertToPlacement,\n} from '@acorex/cdk/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n DOCUMENT,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { Subject, Subscription, debounceTime, delay, fromEvent } from 'rxjs';\n\nexport type AXPopoverOpenTrigger = 'manual' | 'click' | 'hover' | 'toggle';\n\nexport type AXPopoverCloseTrigger = 'manual' | 'clickOut' | 'leave';\n\n/**\n * @category Components\n * A popover component with custom encapsulation and change detection settings.\n */\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXFocusableComponent, useExisting: AXPopoverComponent },\n { provide: AXComponent, useExisting: AXPopoverComponent },\n ],\n})\nexport class AXPopoverComponent extends MXBaseComponent implements OnDestroy {\n #platform = inject(AXPlatform);\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n private renderer = inject(Renderer2);\n\n private onKeyDownListenerFn = () => undefined;\n\n /** @ignore */\n private _platform: AXPlatform = inject(AXPlatform);\n\n /** @ignore */\n private _overlay: Overlay = inject(Overlay);\n\n /** @ignore */\n private _overlayRef!: OverlayRef;\n\n /** @ignore */\n private _isMouseOverButton = false;\n\n /** @ignore */\n private _isMouseOverTooltip = false;\n\n /** @ignore */\n private _lastActiveElement: Element;\n\n /** @ignore */\n private _targetEvents: {\n mouseenter?: Subscription;\n mouseleave?: Subscription;\n click?: Subscription;\n } = {};\n\n /** @ignore */\n private _overlayEvents: {\n attach?: Subscription;\n detach?: Subscription;\n scroll?: Subscription;\n outside?: Subscription;\n } = {};\n\n /** @ignore */\n private resizeObserver: ResizeObserver;\n /** @ignore */\n private resize$ = new Subject<void>();\n\n //\n\n /** @ignore */\n private _disabled = false;\n\n readonly width = input<string>('auto');\n\n /**\n * Gets or sets whether the popover is disabled.\n * When disabled, the popover will not open and will close if already open.\n */\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(v: boolean) {\n this._disabled = v;\n if (this._disabled && this.isOpen) {\n this.close();\n }\n }\n\n /** @ignore */\n private _offsetX = 0;\n\n /**\n * Gets or sets the horizontal offset and updates it accordingly.\n */\n @Input()\n public get offsetX(): number {\n return this._offsetX;\n }\n\n /**\n * Sets the horizontal offset and updates it with a callback.\n */\n public set offsetX(v: number) {\n this.setOption({\n name: 'offsetX',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n //\n\n /** @ignore */\n private _offsetY = 0;\n\n /**\n * Vertical offset with update callback.\n */\n @Input()\n public get offsetY(): number {\n return this._offsetY;\n }\n\n /**\n * Sets the vertical offset and updates the component position.\n */\n public set offsetY(v: number) {\n this.setOption({\n name: 'offsetY',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n\n /** @ignore */\n private _target!: Element;\n\n /**\n * Gets or sets the target element, supporting Element, ElementRef, or MXBaseComponent.\n */\n @Input()\n public get target(): Element | ElementRef | MXBaseComponent {\n return this._target;\n }\n\n /**\n * Sets the target element and updates event bindings.\n */\n public set target(v: Element | ElementRef | MXBaseComponent) {\n this.removeTargetEvents();\n if (v instanceof Element) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v?.getHostElement == 'function') this._target = v.getHostElement();\n //\n this.bindTargetEvents();\n }\n\n /** @ignore */\n private _defautPlacements: AXConnectedPosition[] = convertToPlacement('bottom-start');\n\n /** @ignore */\n private _placements: AXConnectedPosition[] = [...this._defautPlacements];\n\n /** @ignore */\n private _placement: AXPlacementType = this._placements;\n\n /**\n * Gets the current placement of the component.\n */\n @Input()\n public get placement(): AXPlacementType {\n return this._placement;\n }\n\n /**\n * Sets the component's placement and updates its position settings.\n */\n public set placement(v: AXPlacementType) {\n this.setOption({\n name: 'placement',\n value: v,\n afterCallback: (o, n) => {\n const converted = convertToPlacement(n);\n this._placements = converted.length ? converted : this._defautPlacements;\n this.updateOffset();\n this.updatePositionStrategy();\n },\n });\n }\n\n /** @ignore */\n private _portal: Portal<unknown>;\n\n /** @ignore */\n private _componentRef: ComponentRef<unknown>;\n\n /**\n * Gets the reference to the component.\n */\n public get componentRef(): ComponentRef<unknown> {\n return this._componentRef;\n }\n\n /**\n * Holds the context data for the component.\n */\n public context: unknown;\n\n /** @ignore */\n @ViewChild('baseTemplate', { static: true })\n _baseTemplate: TemplateRef<unknown>;\n\n /**\n * Defines the content to be displayed, which can be a template or a component.\n */\n @Input()\n content: TemplateRef<unknown> | ComponentType<unknown>;\n\n /** @ignore */\n private _openOn: AXPopoverOpenTrigger = 'toggle';\n\n /**\n * Gets or sets the trigger for opening the popover and updates target events.\n */\n @Input()\n public get openOn(): AXPopoverOpenTrigger {\n return this._openOn;\n }\n\n /**\n * Sets the trigger for opening the popover and updates target events.\n */\n public set openOn(v: AXPopoverOpenTrigger) {\n this.setOption({\n name: 'openOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n\n /** @ignore */\n private _closeOn: AXPopoverCloseTrigger = 'clickOut';\n\n /**\n * Gets or sets the trigger for closing the popover.\n */\n @Input()\n public get closeOn(): AXPopoverCloseTrigger {\n return this._closeOn;\n }\n\n /**\n * Sets the trigger for closing the popover and rebinds target events.\n * @param v\n */\n public set closeOn(v: AXPopoverCloseTrigger) {\n this.setOption({\n name: 'closeOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n\n //\n\n /**\n * Determines if a backdrop should be displayed behind the popover.\n */\n @Input()\n hasBackdrop = false;\n\n /**\n * Delay in milliseconds before the popover opens after a trigger event.\n */\n @Input()\n openAfter = 200;\n\n /**\n * Delay in milliseconds before the popover closes after a trigger event.\n */\n @Input()\n closeAfter = 200;\n\n /**\n * CSS class to apply to the backdrop element.\n */\n @Input()\n backdropClass: string;\n\n /**\n * CSS class to apply to the backdrop element.\n */\n @Input()\n panelClass: string;\n\n /**\n * Enables or disables adaptivity.\n */\n @Input()\n adaptivityEnabled = false;\n //\n\n /**\n * Emits when the component is opened.\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits when the component is closed.\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /** @ignore */\n private _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /** @ignore */\n private _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n //\n\n /** @ignore */\n protected _handleMouseEnter(e: MouseEvent) {\n this._isMouseOverTooltip = true;\n }\n\n /** @ignore */\n protected _handleMouseLeave(e: MouseEvent) {\n this._isMouseOverTooltip = false;\n setTimeout(() => {\n if (!this._isMouseOverButton && this.closeOn == 'leave') {\n this.close();\n }\n }, 250);\n }\n\n /** @ignore */\n private removeTargetEvents(): void {\n Object.entries(this._targetEvents).forEach((e) => {\n e[1].unsubscribe();\n });\n }\n\n /** @ignore */\n private bindTargetEvents() {\n this.removeTargetEvents();\n if (!this._target) return;\n const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');\n const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');\n\n if (this.openOn == 'hover') {\n this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(this.openAfter)).subscribe(() => {\n this._isMouseOverButton = true;\n this.open();\n });\n }\n\n if (this.closeOn == 'leave') {\n this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(this.closeAfter)).subscribe(() => {\n this._isMouseOverButton = false;\n if (!this._isMouseOverTooltip) {\n this.close();\n }\n });\n }\n\n if (this.openOn === 'click' || this.openOn === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._targetEvents.click = click$.subscribe((e) => {\n this.openOn == 'toggle' ? this.toggle() : this.open();\n });\n }\n }\n //\n\n /** @ignore */\n private bindOverlayEvents() {\n this.removeOverlayEvents();\n this._overlayEvents.attach = this._overlayRef.attachments().subscribe(() => {\n this.initializeResizeObserver();\n if (this.openOn == 'hover') {\n this._overlayRef?.overlayElement?.addEventListener('mouseenter', this._handleMouseEnter.bind(this));\n }\n if (this.closeOn == 'leave') {\n this._overlayRef?.overlayElement?.addEventListener('mouseleave', this._handleMouseLeave.bind(this));\n }\n //\n this._overlayEvents.outside = this._overlayRef._outsidePointerEvents.subscribe((e: MouseEvent) => {\n const el = e.target as Element;\n if (\n this.closeOn == 'clickOut' &&\n this.isOpen &&\n !this._target.contains(el) &&\n !this._overlayRef?.overlayElement?.contains(el)\n ) {\n this.close();\n }\n });\n //\n\n this._overlayEvents.scroll = this._platform.scroll.subscribe((c) => {\n //__axContext__\n const el = c.nativeEvent.target as Element;\n if (!this.isActionsheetStyle && isPlatformBrowser(this.platformID)) {\n if (el == (this.document as any)) {\n this.close();\n return;\n }\n if (\n el?.closest &&\n !el.closest('.ax-overlay-pane') &&\n !this._target.contains(el) &&\n !this._overlayRef?.overlayElement?.contains(el)\n ) {\n this.close();\n }\n }\n });\n });\n }\n\n /** @ignore */\n private removeOverlayEvents() {\n this._overlayRef?.overlayElement?.removeEventListener('mouseenter', this._handleMouseEnter.bind(this));\n this._overlayRef?.overlayElement?.addEventListener('mouseleave', this._handleMouseLeave.bind(this));\n Object.entries(this._overlayEvents).forEach((e) => {\n e[1].unsubscribe();\n });\n }\n\n //\n /**\n * Toggles the component's open state.\n */\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n\n //\n /**\n * Closes the component if it's open, detaches the overlay, restores focus, and emits the closed event.\n */\n close() {\n if (!this.isOpen) {\n return;\n }\n this.disconnectResizeObserver();\n this._overlayRef?.detach();\n this.restoreFocus();\n this._emitOnClosedEvent();\n this.onKeyDownListenerFn();\n }\n\n //\n /**\n * Opens the component if it's not already open, saves focus, opens the overlay, and emits the opened event.\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n if (isPlatformBrowser(this.platformID)) {\n this.onKeyDownListenerFn = this.renderer.listen(this.document.body, 'keydown', (e) => {\n if (e.key == 'Escape') {\n this.close();\n }\n });\n }\n this.saveFocus();\n this.openOverlayInternal();\n this._emitOnOpenedEvent();\n }\n\n /** @ignore */\n private saveFocus() {\n if (isPlatformBrowser(this.platformID)) {\n this._lastActiveElement = this.document.activeElement as Element;\n }\n }\n\n /** @ignore */\n private restoreFocus() {\n if (this._lastActiveElement instanceof HTMLElement) {\n if (this._lastActiveElement?.focus) {\n this._lastActiveElement.focus();\n }\n }\n }\n\n /** @ignore */\n private openOverlayInternal() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n //if (!this._overlayRef) {\n if (this.isActionsheetStyle) {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay.position().global().bottom().centerHorizontally(),\n disposeOnNavigation: true,\n scrollStrategy: this._overlay.scrollStrategies.block(),\n panelClass: [\n 'ax-actionsheet-base',\n 'animate-slideInUp',\n 'animate-faster',\n this.panelClass ? this.panelClass : this.#platform.isDark() ? 'dark' : '',\n ],\n hasBackdrop: true,\n width: '100%',\n });\n } else {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay.position().flexibleConnectedTo(targetRef).withPositions(this._placements),\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n disposeOnNavigation: true,\n panelClass: ['animate-fadeIn', 'animate-faster', this.#platform.isDark() ? 'dark' : ''],\n maxHeight: 'unset',\n hasBackdrop: this.hasBackdrop,\n backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],\n direction: AXHtmlUtil.isRtl(this.getHostElement()) ? 'rtl' : 'ltr',\n width: this.width(),\n });\n // this._overlayRef.setDirection()\n }\n\n //\n this.bindOverlayEvents();\n //}\n //\n if (this.content instanceof TemplateRef) {\n this._portal = new TemplatePortal(this.content, this.getViewContainer(), {\n $implicit: this.context,\n ref: this,\n });\n this._overlayRef?.attach(this._portal);\n } else if (typeof this.content === 'function') {\n this._portal = new ComponentPortal(this.content);\n this._componentRef = this._overlayRef?.attach(this._portal);\n Object.assign(this._componentRef.instance, this.context);\n } else {\n this._portal = new TemplatePortal(this._baseTemplate, this.getViewContainer(), {\n $implicit: this.context,\n ref: this,\n });\n this._overlayRef?.attach(this._portal);\n }\n }\n\n /**\n * Checks if the overlay is currently open.\n * @returns {boolean}\n */\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n /**\n * Determines if the actionsheet style should be applied.\n * @returns {boolean}\n */\n get isActionsheetStyle(): boolean {\n return this._platform.is('SM') && this.adaptivityEnabled;\n }\n\n /** @ignore */\n private updatePositionStrategy(): void {\n const targetRef = this._target;\n if (!targetRef) return;\n let strategy: PositionStrategy;\n if (this.isActionsheetStyle) {\n strategy = this._overlay.position().global().bottom().centerHorizontally();\n } else {\n strategy = this._overlay.position().flexibleConnectedTo(targetRef).withPositions(this._placements);\n }\n this._overlayRef?.updatePositionStrategy(strategy);\n }\n\n /** @ignore */\n private updateOffset() {\n this._placements?.forEach((p) => {\n if (this.offsetY != null) p.offsetY = this.offsetY;\n if (this.offsetX != null) p.offsetX = this.offsetX;\n });\n }\n\n /**\n * Updates the position of the overlay and focuses on it.\n */\n public updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n\n /**\n * Focuses the overlay element.\n */\n public focus(): void {\n //TODO: need this??\n }\n\n /** @ignore */\n private initializeResizeObserver(): void {\n if (!isPlatformBrowser(this.platformID) || !this._overlayRef?.overlayElement) {\n return;\n }\n this.disconnectResizeObserver();\n this.resizeObserver = new ResizeObserver(() => {\n this.resize$.next();\n });\n this.resizeObserver.observe(this._overlayRef?.overlayElement);\n }\n\n /** @ignore */\n private disconnectResizeObserver(): void {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n\n //\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n // this.platformService.directionChange.subscribe((c) => {\n // this.isRtl = c.data == 'rtl';\n // });\n this.resize$.pipe(debounceTime(50)).subscribe(() => {\n if (this.isOpen) {\n this.updatePosition();\n }\n });\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this.disconnectResizeObserver();\n this.resize$.complete();\n this.removeTargetEvents();\n this.removeOverlayEvents();\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [CommonModule, AXPopoverComponent],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -149,13 +149,13 @@ class AXPopupComponent extends MXBaseComponent {
149
149
  closeFn();
150
150
  }
151
151
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXPopupComponent, isStandalone: true, selector: "ax-popup", host: { listeners: { "keydown.escape": "onKeydownHandler($event)" } }, providers: [
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPopupComponent, isStandalone: true, selector: "ax-popup", host: { listeners: { "keydown.escape": "onKeydownHandler($event)" } }, providers: [
154
154
  { provide: AXClosableComponent, useExisting: AXPopupComponent },
155
155
  { provide: AXComponent, useExisting: AXPopupComponent },
156
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" [cdkTrapFocus]=\"true\">\n <div class=\"ax-popup ax-popup-{{ data.size }}\" tabindex=\"0\" cdkDrag [cdkDragDisabled]=\"!data.draggable\">\n <div cdkDragHandle class=\"ax-popup-header-container\">\n @if (data.header) {\n <div class=\"ax-popup-header\">\n <span class=\"ax-popup-title\">{{ data.title | translate | async }}</span>\n @if (data.closeButton) {\n <ax-close-button tabindex=\"1\"></ax-close-button>\n }\n </div>\n }\n </div>\n <div class=\"ax-popup-main-container ax-loading-container\">\n <div class=\"ax-popup-body-container\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n </div>\n <div class=\"ax-popup-footer-container\"></div>\n </div>\n </div>\n</div>\n", styles: [":root{--ax-comp-popup-border-radius: var(--ax-sys-border-radius);--ax-comp-popup-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-popup-body-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-popup-body-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-popup-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-popup-header-border-color: var(--ax-sys-color-border-lighter-surface);--ax-comp-popup-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-popup-footer-border-color: var(--ax-sys-color-border-lighter-surface)}.ax-popup{max-height:calc(var(--ax-overlay-full-width) * var(--ax-vh));margin-left:auto;margin-right:auto;display:flex;width:auto;flex-direction:column;overflow:hidden;border-radius:var(--ax-comp-popup-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-popup-border-color));background-color:rgba(var(--ax-comp-popup-body-bg-color));padding:0;--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);outline:2px solid transparent;outline-offset:2px;color:rgba(var(--ax-comp-popup-body-text-color))}.ax-popup .ax-popup-header-container{background-color:rgba(var(--ax-comp-popup-header-bg-color))}.ax-popup .ax-popup-header-container .ax-popup-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:rgba(var(--ax-comp-popup-header-border-color));padding:.75rem}.ax-popup .ax-popup-header-container .ax-popup-header .ax-popup-title{font-size:1rem;font-weight:500}@media (min-width: 768px){.ax-popup .ax-popup-header-container .ax-popup-header .ax-popup-title{font-size:1.125rem;line-height:1.75rem}}.ax-popup ax-footer{box-shadow:0 2px 10px #0000004d;display:flex;align-items:center;justify-content:space-between;border-top-width:1px;border-color:rgba(var(--ax-comp-popup-footer-border-color));background-color:rgba(var(--ax-comp-popup-footer-bg-color));padding:.75rem}.ax-popup:focus{outline:2px solid transparent;outline-offset:2px}.ax-popup:focus-visible{border-color:rgba(var(--ax-sys-color-primary-surface))}.ax-popup .ax-popup-main-container{display:flex;flex:1 1 0%;flex-direction:column;overflow:hidden}.ax-popup .ax-popup-main-container .ax-popup-body-container{flex:1 1 0%;overflow:auto;background-color:rgba(var(--ax-comp-popup-body-bg-color))}.ax-popup .ax-popup-main-container .ax-popup-footer-container{background-color:rgba(var(--ax-comp-popup-footer-bg-color))}.ax-popup.ax-popup-full{width:100vw;max-height:calc(100 * var(--ax-vh));height:calc(100 * var(--ax-vh));border-radius:0!important}.ax-popup.ax-fit{width:fit-content!important}.ax-popup.ax-fit .ax-popup-body-container{max-height:100vh}.ax-popup.ax-fit .ax-popup-body-container>ng-component>div{width:fit-content!important}@media (min-width: 320px) and (max-width: 640px){.ax-popup.ax-popup-sm,.ax-popup.ax-popup-md,.ax-popup.ax-popup-lg{width:93vw!important;height:fit-content;max-height:calc(var(--ax-overlay-full-width) * var(--ax-vh))!important}.ax-popup.ax-popup-sm .ax-popup-body-container>ng-component>div,.ax-popup.ax-popup-md .ax-popup-body-container>ng-component>div,.ax-popup.ax-popup-lg .ax-popup-body-container>ng-component>div{width:100%}}@media (min-width: 768px){.ax-popup.ax-popup-sm{width:55vw!important}.ax-popup.ax-popup-md{width:65vw!important}.ax-popup.ax-popup-lg{width:75vw!important}}@media (min-width: 1280px){.ax-popup.ax-popup-sm{width:30vw!important}.ax-popup.ax-popup-md{width:50vw!important}.ax-popup.ax-popup-lg{width:85vw!important}}@media (min-width: 1536px){.ax-popup.ax-popup-sm{width:25vw!important}.ax-popup.ax-popup-md{width:40vw!important}.ax-popup.ax-popup-lg{width:65vw!important}}.ax-dark .ax-popup{--ax-comp-popup-border-color: var(--ax-sys-color-border-darkest-surface);--ax-comp-popup-body-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-popup-body-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-popup-header-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-popup-header-border-color: var(--ax-sys-color-border-dark-surface);--ax-comp-popup-footer-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-popup-footer-border-color: var(--ax-sys-color-border-dark-surface)}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
156
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" [cdkTrapFocus]=\"true\">\n <div class=\"ax-popup ax-popup-{{ data.size }}\" tabindex=\"0\" cdkDrag [cdkDragDisabled]=\"!data.draggable\">\n <div cdkDragHandle class=\"ax-popup-header-container\">\n @if (data.header) {\n <div class=\"ax-popup-header\">\n <span class=\"ax-popup-title\">{{ data.title | translate | async }}</span>\n @if (data.closeButton) {\n <ax-close-button tabindex=\"1\"></ax-close-button>\n }\n </div>\n }\n </div>\n <div class=\"ax-popup-main-container ax-loading-container\">\n <div class=\"ax-popup-body-container\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n </div>\n <div class=\"ax-popup-footer-container\"></div>\n </div>\n </div>\n</div>\n", styles: [":root{--ax-comp-popup-border-radius: var(--ax-sys-border-radius);--ax-comp-popup-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-popup-body-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-popup-body-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-popup-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-popup-header-border-color: var(--ax-sys-color-border-lighter-surface);--ax-comp-popup-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-popup-footer-border-color: var(--ax-sys-color-border-lighter-surface)}.ax-popup{max-height:calc(var(--ax-overlay-full-width) * var(--ax-vh));margin-left:auto;margin-right:auto;display:flex;width:auto;flex-direction:column;overflow:hidden;border-radius:var(--ax-comp-popup-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-popup-border-color));background-color:rgba(var(--ax-comp-popup-body-bg-color));padding:0;--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);outline:2px solid transparent;outline-offset:2px;color:rgba(var(--ax-comp-popup-body-text-color))}.ax-popup .ax-popup-header-container{background-color:rgba(var(--ax-comp-popup-header-bg-color))}.ax-popup .ax-popup-header-container .ax-popup-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:rgba(var(--ax-comp-popup-header-border-color));padding:.75rem}.ax-popup .ax-popup-header-container .ax-popup-header .ax-popup-title{font-size:1rem;font-weight:500}@media (min-width: 768px){.ax-popup .ax-popup-header-container .ax-popup-header .ax-popup-title{font-size:1.125rem;line-height:1.75rem}}.ax-popup ax-footer{box-shadow:0 2px 10px #0000004d;display:flex;align-items:center;justify-content:space-between;border-top-width:1px;border-color:rgba(var(--ax-comp-popup-footer-border-color));background-color:rgba(var(--ax-comp-popup-footer-bg-color));padding:.75rem}.ax-popup:focus{outline:2px solid transparent;outline-offset:2px}.ax-popup:focus-visible{border-color:rgba(var(--ax-sys-color-primary-surface))}.ax-popup .ax-popup-main-container{display:flex;flex:1 1 0%;flex-direction:column;overflow:hidden}.ax-popup .ax-popup-main-container .ax-popup-body-container{flex:1 1 0%;overflow:auto;background-color:rgba(var(--ax-comp-popup-body-bg-color))}.ax-popup .ax-popup-main-container .ax-popup-footer-container{background-color:rgba(var(--ax-comp-popup-footer-bg-color))}.ax-popup.ax-popup-full{width:100vw;max-height:calc(100 * var(--ax-vh));height:calc(100 * var(--ax-vh));border-radius:0!important}.ax-popup.ax-fit{width:fit-content!important}.ax-popup.ax-fit .ax-popup-body-container{max-height:100vh}.ax-popup.ax-fit .ax-popup-body-container>ng-component>div{width:fit-content!important}@media (min-width: 320px) and (max-width: 640px){.ax-popup.ax-popup-sm,.ax-popup.ax-popup-md,.ax-popup.ax-popup-lg{width:93vw!important;height:fit-content;max-height:calc(var(--ax-overlay-full-width) * var(--ax-vh))!important}.ax-popup.ax-popup-sm .ax-popup-body-container>ng-component>div,.ax-popup.ax-popup-md .ax-popup-body-container>ng-component>div,.ax-popup.ax-popup-lg .ax-popup-body-container>ng-component>div{width:100%}}@media (min-width: 768px){.ax-popup.ax-popup-sm{width:55vw!important}.ax-popup.ax-popup-md{width:65vw!important}.ax-popup.ax-popup-lg{width:75vw!important}}@media (min-width: 1280px){.ax-popup.ax-popup-sm{width:30vw!important}.ax-popup.ax-popup-md{width:50vw!important}.ax-popup.ax-popup-lg{width:85vw!important}}@media (min-width: 1536px){.ax-popup.ax-popup-sm{width:25vw!important}.ax-popup.ax-popup-md{width:40vw!important}.ax-popup.ax-popup-lg{width:65vw!important}}.dark .ax-popup{--ax-comp-popup-border-color: var(--ax-sys-color-border-darkest-surface);--ax-comp-popup-body-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-popup-body-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-popup-header-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-popup-header-border-color: var(--ax-sys-color-border-dark-surface);--ax-comp-popup-footer-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-popup-footer-border-color: var(--ax-sys-color-border-dark-surface)}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
157
157
  }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopupComponent, decorators: [{
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopupComponent, decorators: [{
159
159
  type: Component,
160
160
  args: [{ selector: 'ax-popup', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
161
161
  { provide: AXClosableComponent, useExisting: AXPopupComponent },
@@ -168,7 +168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
168
168
  CdkPortalOutlet,
169
169
  AsyncPipe,
170
170
  AXTranslatorPipe,
171
- ], template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" [cdkTrapFocus]=\"true\">\n <div class=\"ax-popup ax-popup-{{ data.size }}\" tabindex=\"0\" cdkDrag [cdkDragDisabled]=\"!data.draggable\">\n <div cdkDragHandle class=\"ax-popup-header-container\">\n @if (data.header) {\n <div class=\"ax-popup-header\">\n <span class=\"ax-popup-title\">{{ data.title | translate | async }}</span>\n @if (data.closeButton) {\n <ax-close-button tabindex=\"1\"></ax-close-button>\n }\n </div>\n }\n </div>\n <div class=\"ax-popup-main-container ax-loading-container\">\n <div class=\"ax-popup-body-container\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n </div>\n <div class=\"ax-popup-footer-container\"></div>\n </div>\n </div>\n</div>\n", styles: [":root{--ax-comp-popup-border-radius: var(--ax-sys-border-radius);--ax-comp-popup-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-popup-body-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-popup-body-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-popup-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-popup-header-border-color: var(--ax-sys-color-border-lighter-surface);--ax-comp-popup-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-popup-footer-border-color: var(--ax-sys-color-border-lighter-surface)}.ax-popup{max-height:calc(var(--ax-overlay-full-width) * var(--ax-vh));margin-left:auto;margin-right:auto;display:flex;width:auto;flex-direction:column;overflow:hidden;border-radius:var(--ax-comp-popup-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-popup-border-color));background-color:rgba(var(--ax-comp-popup-body-bg-color));padding:0;--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);outline:2px solid transparent;outline-offset:2px;color:rgba(var(--ax-comp-popup-body-text-color))}.ax-popup .ax-popup-header-container{background-color:rgba(var(--ax-comp-popup-header-bg-color))}.ax-popup .ax-popup-header-container .ax-popup-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:rgba(var(--ax-comp-popup-header-border-color));padding:.75rem}.ax-popup .ax-popup-header-container .ax-popup-header .ax-popup-title{font-size:1rem;font-weight:500}@media (min-width: 768px){.ax-popup .ax-popup-header-container .ax-popup-header .ax-popup-title{font-size:1.125rem;line-height:1.75rem}}.ax-popup ax-footer{box-shadow:0 2px 10px #0000004d;display:flex;align-items:center;justify-content:space-between;border-top-width:1px;border-color:rgba(var(--ax-comp-popup-footer-border-color));background-color:rgba(var(--ax-comp-popup-footer-bg-color));padding:.75rem}.ax-popup:focus{outline:2px solid transparent;outline-offset:2px}.ax-popup:focus-visible{border-color:rgba(var(--ax-sys-color-primary-surface))}.ax-popup .ax-popup-main-container{display:flex;flex:1 1 0%;flex-direction:column;overflow:hidden}.ax-popup .ax-popup-main-container .ax-popup-body-container{flex:1 1 0%;overflow:auto;background-color:rgba(var(--ax-comp-popup-body-bg-color))}.ax-popup .ax-popup-main-container .ax-popup-footer-container{background-color:rgba(var(--ax-comp-popup-footer-bg-color))}.ax-popup.ax-popup-full{width:100vw;max-height:calc(100 * var(--ax-vh));height:calc(100 * var(--ax-vh));border-radius:0!important}.ax-popup.ax-fit{width:fit-content!important}.ax-popup.ax-fit .ax-popup-body-container{max-height:100vh}.ax-popup.ax-fit .ax-popup-body-container>ng-component>div{width:fit-content!important}@media (min-width: 320px) and (max-width: 640px){.ax-popup.ax-popup-sm,.ax-popup.ax-popup-md,.ax-popup.ax-popup-lg{width:93vw!important;height:fit-content;max-height:calc(var(--ax-overlay-full-width) * var(--ax-vh))!important}.ax-popup.ax-popup-sm .ax-popup-body-container>ng-component>div,.ax-popup.ax-popup-md .ax-popup-body-container>ng-component>div,.ax-popup.ax-popup-lg .ax-popup-body-container>ng-component>div{width:100%}}@media (min-width: 768px){.ax-popup.ax-popup-sm{width:55vw!important}.ax-popup.ax-popup-md{width:65vw!important}.ax-popup.ax-popup-lg{width:75vw!important}}@media (min-width: 1280px){.ax-popup.ax-popup-sm{width:30vw!important}.ax-popup.ax-popup-md{width:50vw!important}.ax-popup.ax-popup-lg{width:85vw!important}}@media (min-width: 1536px){.ax-popup.ax-popup-sm{width:25vw!important}.ax-popup.ax-popup-md{width:40vw!important}.ax-popup.ax-popup-lg{width:65vw!important}}.ax-dark .ax-popup{--ax-comp-popup-border-color: var(--ax-sys-color-border-darkest-surface);--ax-comp-popup-body-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-popup-body-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-popup-header-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-popup-header-border-color: var(--ax-sys-color-border-dark-surface);--ax-comp-popup-footer-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-popup-footer-border-color: var(--ax-sys-color-border-dark-surface)}\n"] }]
171
+ ], template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" [cdkTrapFocus]=\"true\">\n <div class=\"ax-popup ax-popup-{{ data.size }}\" tabindex=\"0\" cdkDrag [cdkDragDisabled]=\"!data.draggable\">\n <div cdkDragHandle class=\"ax-popup-header-container\">\n @if (data.header) {\n <div class=\"ax-popup-header\">\n <span class=\"ax-popup-title\">{{ data.title | translate | async }}</span>\n @if (data.closeButton) {\n <ax-close-button tabindex=\"1\"></ax-close-button>\n }\n </div>\n }\n </div>\n <div class=\"ax-popup-main-container ax-loading-container\">\n <div class=\"ax-popup-body-container\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n </div>\n <div class=\"ax-popup-footer-container\"></div>\n </div>\n </div>\n</div>\n", styles: [":root{--ax-comp-popup-border-radius: var(--ax-sys-border-radius);--ax-comp-popup-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-popup-body-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-popup-body-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-popup-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-popup-header-border-color: var(--ax-sys-color-border-lighter-surface);--ax-comp-popup-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-popup-footer-border-color: var(--ax-sys-color-border-lighter-surface)}.ax-popup{max-height:calc(var(--ax-overlay-full-width) * var(--ax-vh));margin-left:auto;margin-right:auto;display:flex;width:auto;flex-direction:column;overflow:hidden;border-radius:var(--ax-comp-popup-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-popup-border-color));background-color:rgba(var(--ax-comp-popup-body-bg-color));padding:0;--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);outline:2px solid transparent;outline-offset:2px;color:rgba(var(--ax-comp-popup-body-text-color))}.ax-popup .ax-popup-header-container{background-color:rgba(var(--ax-comp-popup-header-bg-color))}.ax-popup .ax-popup-header-container .ax-popup-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:rgba(var(--ax-comp-popup-header-border-color));padding:.75rem}.ax-popup .ax-popup-header-container .ax-popup-header .ax-popup-title{font-size:1rem;font-weight:500}@media (min-width: 768px){.ax-popup .ax-popup-header-container .ax-popup-header .ax-popup-title{font-size:1.125rem;line-height:1.75rem}}.ax-popup ax-footer{box-shadow:0 2px 10px #0000004d;display:flex;align-items:center;justify-content:space-between;border-top-width:1px;border-color:rgba(var(--ax-comp-popup-footer-border-color));background-color:rgba(var(--ax-comp-popup-footer-bg-color));padding:.75rem}.ax-popup:focus{outline:2px solid transparent;outline-offset:2px}.ax-popup:focus-visible{border-color:rgba(var(--ax-sys-color-primary-surface))}.ax-popup .ax-popup-main-container{display:flex;flex:1 1 0%;flex-direction:column;overflow:hidden}.ax-popup .ax-popup-main-container .ax-popup-body-container{flex:1 1 0%;overflow:auto;background-color:rgba(var(--ax-comp-popup-body-bg-color))}.ax-popup .ax-popup-main-container .ax-popup-footer-container{background-color:rgba(var(--ax-comp-popup-footer-bg-color))}.ax-popup.ax-popup-full{width:100vw;max-height:calc(100 * var(--ax-vh));height:calc(100 * var(--ax-vh));border-radius:0!important}.ax-popup.ax-fit{width:fit-content!important}.ax-popup.ax-fit .ax-popup-body-container{max-height:100vh}.ax-popup.ax-fit .ax-popup-body-container>ng-component>div{width:fit-content!important}@media (min-width: 320px) and (max-width: 640px){.ax-popup.ax-popup-sm,.ax-popup.ax-popup-md,.ax-popup.ax-popup-lg{width:93vw!important;height:fit-content;max-height:calc(var(--ax-overlay-full-width) * var(--ax-vh))!important}.ax-popup.ax-popup-sm .ax-popup-body-container>ng-component>div,.ax-popup.ax-popup-md .ax-popup-body-container>ng-component>div,.ax-popup.ax-popup-lg .ax-popup-body-container>ng-component>div{width:100%}}@media (min-width: 768px){.ax-popup.ax-popup-sm{width:55vw!important}.ax-popup.ax-popup-md{width:65vw!important}.ax-popup.ax-popup-lg{width:75vw!important}}@media (min-width: 1280px){.ax-popup.ax-popup-sm{width:30vw!important}.ax-popup.ax-popup-md{width:50vw!important}.ax-popup.ax-popup-lg{width:85vw!important}}@media (min-width: 1536px){.ax-popup.ax-popup-sm{width:25vw!important}.ax-popup.ax-popup-md{width:40vw!important}.ax-popup.ax-popup-lg{width:65vw!important}}.dark .ax-popup{--ax-comp-popup-border-color: var(--ax-sys-color-border-darkest-surface);--ax-comp-popup-body-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-popup-body-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-popup-header-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-popup-header-border-color: var(--ax-sys-color-border-dark-surface);--ax-comp-popup-footer-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-popup-footer-border-color: var(--ax-sys-color-border-dark-surface)}\n"] }]
172
172
  }], propDecorators: { onKeydownHandler: [{
173
173
  type: HostListener,
174
174
  args: ['keydown.escape', ['$event']]
@@ -216,7 +216,7 @@ class AXPopupService {
216
216
  disableClose: config.closeOnBackdropClick ? false : true,
217
217
  viewContainerRef: config.viewContainerRef,
218
218
  providers: config.providers,
219
- panelClass: config.panelClass ? config.panelClass : [this.#platform.isDark() ? 'ax-dark' : ''],
219
+ panelClass: config.panelClass ? config.panelClass : [this.#platform.isDark() ? 'dark' : ''],
220
220
  direction: config.direction ? config.direction : AXHtmlUtil.isRtl() ? 'rtl' : 'ltr',
221
221
  });
222
222
  const promise = new AXComponentClosedPromise((resolve) => {
@@ -231,10 +231,10 @@ class AXPopupService {
231
231
  });
232
232
  return promise;
233
233
  }
234
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
235
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopupService }); }
234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
235
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopupService }); }
236
236
  }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopupService, decorators: [{
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopupService, decorators: [{
238
238
  type: Injectable
239
239
  }] });
240
240
 
@@ -250,8 +250,8 @@ const MODULES = [
250
250
  AXTranslationModule,
251
251
  ];
252
252
  class AXPopupModule {
253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
254
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: AXPopupModule, imports: [CommonModule,
253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
254
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AXPopupModule, imports: [CommonModule,
255
255
  AXCommonModule,
256
256
  DragDropModule,
257
257
  A11yModule,
@@ -259,9 +259,9 @@ class AXPopupModule {
259
259
  AXDecoratorModule,
260
260
  DialogModule,
261
261
  AXTranslationModule, AXPopupComponent], exports: [AXPopupComponent] }); }
262
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopupModule, providers: [AXPopupService], imports: [MODULES, COMPONENT] }); }
262
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopupModule, providers: [AXPopupService], imports: [MODULES, COMPONENT] }); }
263
263
  }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPopupModule, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPopupModule, decorators: [{
265
265
  type: NgModule,
266
266
  args: [{
267
267
  imports: [...MODULES, ...COMPONENT],