@acorex/components 22.2.14 → 22.2.16

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 (181) hide show
  1. package/fesm2022/acorex-components-accordion.mjs +10 -10
  2. package/fesm2022/acorex-components-action-sheet.mjs +13 -13
  3. package/fesm2022/acorex-components-alert.mjs +7 -7
  4. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  5. package/fesm2022/acorex-components-audio-wave.mjs +7 -7
  6. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  7. package/fesm2022/acorex-components-avatar.mjs +10 -10
  8. package/fesm2022/acorex-components-badge.mjs +7 -7
  9. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  10. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  11. package/fesm2022/acorex-components-bubble.mjs +7 -7
  12. package/fesm2022/acorex-components-button-group.mjs +10 -10
  13. package/fesm2022/acorex-components-button.mjs +13 -13
  14. package/fesm2022/acorex-components-calendar.mjs +13 -13
  15. package/fesm2022/acorex-components-check-box.mjs +7 -7
  16. package/fesm2022/acorex-components-chips.mjs +7 -7
  17. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  18. package/fesm2022/acorex-components-code-editor.mjs +10 -10
  19. package/fesm2022/acorex-components-color-box.mjs +7 -7
  20. package/fesm2022/acorex-components-color-palette.mjs +28 -28
  21. package/fesm2022/acorex-components-combo-box.mjs +8 -8
  22. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  23. package/fesm2022/acorex-components-command.mjs +7 -7
  24. package/fesm2022/acorex-components-comment.mjs +28 -28
  25. package/fesm2022/{acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs → acorex-components-conversation-acorex-components-conversation-ck1BG3Hi.mjs} +241 -241
  26. package/fesm2022/{acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs.map → acorex-components-conversation-acorex-components-conversation-ck1BG3Hi.mjs.map} +1 -1
  27. package/fesm2022/{acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs → acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs} +4 -4
  28. package/fesm2022/{acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs.map → acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs.map} +1 -1
  29. package/fesm2022/{acorex-components-conversation-image-picker-editor-dialog.component-COT96F_v.mjs → acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs} +4 -4
  30. package/fesm2022/{acorex-components-conversation-image-picker-editor-dialog.component-COT96F_v.mjs.map → acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs.map} +1 -1
  31. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs → acorex-components-conversation-picker-rename-file-dialog.component-CucWbe-K.mjs} +5 -5
  32. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-CucWbe-K.mjs.map} +1 -1
  33. package/fesm2022/acorex-components-conversation.mjs +1 -1
  34. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  35. package/fesm2022/acorex-components-data-list.mjs +3 -3
  36. package/fesm2022/acorex-components-data-pager.mjs +31 -31
  37. package/fesm2022/acorex-components-data-table.mjs +34 -34
  38. package/fesm2022/acorex-components-datetime-box.mjs +7 -7
  39. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  40. package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
  41. package/fesm2022/acorex-components-decorators.mjs +25 -25
  42. package/fesm2022/acorex-components-dialog.mjs +10 -10
  43. package/fesm2022/acorex-components-drawer.mjs +10 -10
  44. package/fesm2022/acorex-components-dropdown-button.mjs +7 -7
  45. package/fesm2022/acorex-components-dropdown.mjs +14 -14
  46. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  47. package/fesm2022/acorex-components-editor.mjs +7 -7
  48. package/fesm2022/acorex-components-emoji.mjs +7 -7
  49. package/fesm2022/acorex-components-emojipicker.mjs +7 -7
  50. package/fesm2022/acorex-components-fab.mjs +6 -6
  51. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  52. package/fesm2022/acorex-components-file-viewer.mjs +39 -39
  53. package/fesm2022/acorex-components-form.mjs +16 -16
  54. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  55. package/fesm2022/acorex-components-highlight.mjs +3 -3
  56. package/fesm2022/acorex-components-image-editor.mjs +49 -49
  57. package/fesm2022/acorex-components-image.mjs +7 -7
  58. package/fesm2022/acorex-components-inline-reaction.mjs +7 -7
  59. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  60. package/fesm2022/acorex-components-kanban.mjs +3 -3
  61. package/fesm2022/acorex-components-kbd.mjs +6 -6
  62. package/fesm2022/acorex-components-label.mjs +7 -7
  63. package/fesm2022/acorex-components-list.mjs +7 -7
  64. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  65. package/fesm2022/acorex-components-loading.mjs +16 -16
  66. package/fesm2022/acorex-components-lookup.mjs +29 -29
  67. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  68. package/fesm2022/acorex-components-map.mjs +13 -13
  69. package/fesm2022/acorex-components-media-viewer.mjs +215 -218
  70. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  71. package/fesm2022/acorex-components-menu.mjs +16 -16
  72. package/fesm2022/acorex-components-message-status.mjs +7 -7
  73. package/fesm2022/acorex-components-message-time.mjs +7 -7
  74. package/fesm2022/acorex-components-message.mjs +7 -7
  75. package/fesm2022/acorex-components-navbar.mjs +7 -7
  76. package/fesm2022/acorex-components-notification.mjs +10 -10
  77. package/fesm2022/acorex-components-number-box.mjs +7 -7
  78. package/fesm2022/acorex-components-otp.mjs +7 -7
  79. package/fesm2022/acorex-components-page.mjs +10 -10
  80. package/fesm2022/acorex-components-paint.mjs +25 -25
  81. package/fesm2022/acorex-components-password-box.mjs +10 -10
  82. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  83. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  84. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  85. package/fesm2022/acorex-components-picker.mjs +13 -13
  86. package/fesm2022/acorex-components-popover.mjs +14 -7
  87. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  88. package/fesm2022/acorex-components-popup.mjs +21 -43
  89. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  90. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  91. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  92. package/fesm2022/acorex-components-radio.mjs +7 -7
  93. package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
  94. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  95. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  96. package/fesm2022/acorex-components-reaction.mjs +7 -7
  97. package/fesm2022/acorex-components-reaction.mjs.map +1 -1
  98. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  99. package/fesm2022/acorex-components-result.mjs +7 -7
  100. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  101. package/fesm2022/acorex-components-rrule.mjs +9 -9
  102. package/fesm2022/acorex-components-scheduler-picker.mjs +54 -54
  103. package/fesm2022/acorex-components-scheduler.mjs +34 -34
  104. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  105. package/fesm2022/acorex-components-search-box.mjs +7 -7
  106. package/fesm2022/acorex-components-select-box.mjs +7 -7
  107. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  108. package/fesm2022/acorex-components-side-menu.mjs +13 -13
  109. package/fesm2022/acorex-components-sidebar.mjs +28 -28
  110. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  111. package/fesm2022/acorex-components-slider.mjs +7 -7
  112. package/fesm2022/acorex-components-sliding-item.mjs +13 -13
  113. package/fesm2022/acorex-components-step-wizard.mjs +16 -18
  114. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  115. package/fesm2022/acorex-components-switch.mjs +10 -10
  116. package/fesm2022/acorex-components-tabs.mjs +20 -20
  117. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  118. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  119. package/fesm2022/acorex-components-tag.mjs +7 -7
  120. package/fesm2022/acorex-components-text-area.mjs +7 -7
  121. package/fesm2022/acorex-components-text-box.mjs +7 -7
  122. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  123. package/fesm2022/acorex-components-time-line.mjs +10 -10
  124. package/fesm2022/acorex-components-toast.mjs +10 -10
  125. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  126. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  127. package/fesm2022/acorex-components-tree-view.mjs +10 -10
  128. package/fesm2022/acorex-components-uploader.mjs +13 -13
  129. package/fesm2022/acorex-components-video-player.mjs +7 -7
  130. package/fesm2022/acorex-components-wysiwyg.mjs +34 -34
  131. package/package.json +3 -3
  132. package/types/acorex-components-action-sheet.d.ts +1 -1
  133. package/types/acorex-components-calendar.d.ts +3 -3
  134. package/types/acorex-components-check-box.d.ts +1 -1
  135. package/types/acorex-components-code-editor.d.ts +1 -1
  136. package/types/acorex-components-color-box.d.ts +1 -1
  137. package/types/acorex-components-color-palette.d.ts +2 -2
  138. package/types/acorex-components-command.d.ts +1 -1
  139. package/types/acorex-components-conversation.d.ts +22 -22
  140. package/types/acorex-components-cron-job.d.ts +6 -6
  141. package/types/acorex-components-data-pager.d.ts +2 -2
  142. package/types/acorex-components-data-table.d.ts +1 -1
  143. package/types/acorex-components-datetime-box.d.ts +1 -1
  144. package/types/acorex-components-datetime-picker.d.ts +1 -1
  145. package/types/acorex-components-dialog.d.ts +1 -1
  146. package/types/acorex-components-dropdown.d.ts +1 -1
  147. package/types/acorex-components-editor.d.ts +1 -1
  148. package/types/acorex-components-file-viewer.d.ts +2 -2
  149. package/types/acorex-components-image-editor.d.ts +2 -2
  150. package/types/acorex-components-loading-dialog.d.ts +1 -1
  151. package/types/acorex-components-loading.d.ts +1 -1
  152. package/types/acorex-components-map.d.ts +2 -2
  153. package/types/acorex-components-media-viewer.d.ts +4 -3
  154. package/types/acorex-components-menu.d.ts +1 -1
  155. package/types/acorex-components-notification.d.ts +1 -1
  156. package/types/acorex-components-number-box.d.ts +1 -1
  157. package/types/acorex-components-otp.d.ts +1 -1
  158. package/types/acorex-components-page.d.ts +2 -2
  159. package/types/acorex-components-paint.d.ts +2 -2
  160. package/types/acorex-components-password-box.d.ts +1 -1
  161. package/types/acorex-components-phone-box.d.ts +1 -1
  162. package/types/acorex-components-popover.d.ts +5 -1
  163. package/types/acorex-components-popup.d.ts +1 -10
  164. package/types/acorex-components-rail-navigation.d.ts +1 -1
  165. package/types/acorex-components-range-slider.d.ts +1 -1
  166. package/types/acorex-components-rest-api-generator.d.ts +1 -1
  167. package/types/acorex-components-rrule.d.ts +1 -1
  168. package/types/acorex-components-scheduler-picker.d.ts +1 -1
  169. package/types/acorex-components-scheduler.d.ts +1 -1
  170. package/types/acorex-components-search-box.d.ts +1 -1
  171. package/types/acorex-components-slider.d.ts +1 -1
  172. package/types/acorex-components-step-wizard.d.ts +4 -4
  173. package/types/acorex-components-switch.d.ts +1 -1
  174. package/types/acorex-components-tabs.d.ts +2 -2
  175. package/types/acorex-components-tag-box.d.ts +2 -2
  176. package/types/acorex-components-text-area.d.ts +1 -1
  177. package/types/acorex-components-text-box.d.ts +1 -1
  178. package/types/acorex-components-time-duration.d.ts +1 -1
  179. package/types/acorex-components-toast.d.ts +1 -1
  180. package/types/acorex-components-tree-view.d.ts +1 -1
  181. package/types/acorex-components-wysiwyg.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-popup.mjs","sources":["../../../../packages/components/popup/src/lib/popup-footer/popup-footer.component.ts","../../../../packages/components/popup/src/lib/popup-footer/popup-footer.component.html","../../../../packages/components/popup/src/lib/popup.interface.ts","../../../../packages/components/popup/src/lib/popup.component.ts","../../../../packages/components/popup/src/lib/popup.component.html","../../../../packages/components/popup/src/lib/popup.service.ts","../../../../packages/components/popup/src/lib/popup-host/popup-host.component.ts","../../../../packages/components/popup/src/lib/popup.module.ts","../../../../packages/components/popup/src/acorex-components-popup.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-popup-footer',\n templateUrl: './popup-footer.component.html',\n styleUrl: './popup-footer.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXPopupFooterComponent }],\n})\nexport class AXPopupFooterComponent {}\n","<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n<ng-content></ng-content>\n","import { AXComponentInputs, AXComponentType } from '@acorex/core/components';\nimport { Directive, ElementRef, input, StaticProvider, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport type AXPopupContentType = TemplateRef<unknown> | AXComponentType<unknown> | HTMLElement;\n\nexport type AXPopupSizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | 'fit';\n\nexport type AXPopupMinimizePosition = 'bottom-right' | 'bottom-left';\n\nexport interface AXPopupButtonsConfig {\n minimize?: {\n enable: boolean;\n position: AXPopupMinimizePosition;\n };\n maximize?: boolean;\n close?: boolean;\n}\n\nexport interface AXPopupConfig {\n title?: string;\n /** Flat alias; overridden by `buttons.close` when set. */\n closeButton?: boolean;\n header?: boolean;\n footer?: boolean;\n /** Flat alias; overridden by `buttons.maximize` when set. */\n maximizable?: boolean;\n size?: AXPopupSizeType;\n /** @deprecated Use `inputs` instead to pass data to the popup component. */\n data?: unknown;\n inputs?: unknown;\n draggable?: boolean;\n hasBackdrop?: boolean;\n backdropClass?: string;\n closeOnBackdropClick?: boolean;\n closeOnNavigation?: boolean;\n /** When unset, Escape closes only if the close button is enabled (legacy behavior). */\n closeOnEscape?: boolean;\n viewContainerRef?: ViewContainerRef;\n providers?: StaticProvider[];\n panelClass?: string[];\n direction?: 'rtl' | 'ltr';\n /** Window chrome buttons. Individual fields override flat `closeButton` / `maximizable` when set. */\n buttons?: AXPopupButtonsConfig;\n /**\n * @internal\n * Called with the popup ref before content is created so callers can inject\n * extra content inputs that depend on the ref.\n */\n _bindContentInputs?: (ref: AXPopupRef) => Record<string, unknown>;\n /**\n * Element used to resolve inherited visual context for overlays rendered\n * outside the originating DOM subtree.\n *\n * This affects Appearance, Light/Dark theme, Contrast, Size, and supported\n * Density context. It does not affect overlay positioning.\n */\n contextElement?: HTMLElement | ElementRef<HTMLElement>;\n}\n\nexport interface AXPopupData {\n title: string;\n closeButton: boolean;\n header: boolean;\n maximizable: boolean;\n size: AXPopupSizeType;\n data?: unknown;\n draggable: boolean;\n content: AXPopupContentType;\n}\n\nexport interface AXPopupRef<TResult = any> {\n close: (data?: TResult) => void;\n setInputs: (values: AXComponentInputs) => void;\n setTitle: (title: string) => void;\n minimize: () => void;\n maximize: () => void;\n restore: () => void;\n /** Brings this popup to the front of all other overlays */\n bringToFront: () => void;\n onClose: Subject<TResult>;\n /** The component instance rendered inside the popup (available after content is rendered) */\n componentInstance?: unknown;\n /** @internal Stack index among open popups (minimized bar positioning). */\n _getStackIndex?: () => number;\n}\n\n@Directive()\nexport abstract class AXPopupComponentBase {\n __popup__ = input<AXPopupRef>();\n\n public close(data: any = null) {\n this.__popup__()?.close(data);\n }\n\n public setTitle(title: string) {\n this.__popup__()?.setTitle(title);\n }\n\n public minimize() {\n this.__popup__()?.minimize();\n }\n\n public maximize() {\n this.__popup__()?.maximize();\n }\n\n public restore() {\n this.__popup__()?.restore();\n }\n\n public bringToFront() {\n this.__popup__()?.bringToFront();\n }\n}\n\n/** Resolves whether the close header button is shown. `buttons.close` wins over `closeButton`. */\nexport function resolvePopupCloseButton(config?: AXPopupConfig | null): boolean {\n if (config?.buttons?.close !== undefined) {\n return config.buttons.close;\n }\n return config?.closeButton ?? true;\n}\n\n/** Resolves whether maximize is enabled. `buttons.maximize` wins over `maximizable`. Default: false. */\nexport function resolvePopupMaximizable(config?: AXPopupConfig | null): boolean {\n if (config?.buttons?.maximize !== undefined) {\n return config.buttons.maximize;\n }\n return config?.maximizable ?? false;\n}\n\n/** Resolves minimize button config. Default: disabled at bottom-right. */\nexport function resolvePopupMinimize(config?: AXPopupConfig | null): {\n enable: boolean;\n position: AXPopupMinimizePosition;\n} {\n return {\n enable: config?.buttons?.minimize?.enable ?? false,\n position: config?.buttons?.minimize?.position ?? 'bottom-right',\n };\n}\n","import { AXPlatform } from '@acorex/core/platform';\nimport {\n Component,\n ComponentRef,\n DestroyRef,\n ElementRef,\n HostListener,\n inject,\n input,\n NgZone,\n OnDestroy,\n OnInit,\n signal,\n TemplateRef,\n viewChild,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationStart, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nimport { AXClosableComponent, AXComponent, AXComponentClosing, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorCloseButtonComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXLoadingService } from '@acorex/components/loading';\nimport { AXComponentInputs, AXComponentService, AXComponentType } from '@acorex/core/components';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport {\n AXPopupConfig,\n AXPopupContentType,\n AXPopupRef,\n resolvePopupCloseButton,\n resolvePopupMaximizable,\n resolvePopupMinimize,\n} from './popup.interface';\n\n/**\n * The Popup is a component which displays content in a dialog overlay\n *\n * @category Components\n */\n@Component({\n selector: 'ax-popup',\n templateUrl: './popup.component.html',\n styleUrls: ['./popup.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ax-popup-host',\n style: 'display: block; max-width: 100%;',\n },\n providers: [\n { provide: AXClosableComponent, useExisting: AXPopupComponent },\n { provide: AXComponent, useExisting: AXPopupComponent },\n ],\n imports: [\n AXDecoratorCloseButtonComponent,\n AXDecoratorIconComponent,\n AXButtonComponent,\n AsyncPipe,\n AXTranslatorPipe,\n AXFocusTrapDirective,\n ],\n})\nexport class AXPopupComponent extends MXBaseComponent implements OnInit, OnDestroy {\n private _zone = inject(NgZone);\n private loadingService = inject(AXLoadingService);\n private _platform = inject(AXPlatform);\n private componentService = inject(AXComponentService);\n private _router = inject(Router, { optional: true });\n private _destroyRef = inject(DestroyRef);\n\n @ViewChild('contentContainer', { read: ViewContainerRef, static: true })\n private contentContainerRef: ViewContainerRef;\n\n @ViewChild('contentContainer', { static: true })\n private contentContainerEl: { nativeElement: HTMLElement };\n\n private popupEl = viewChild<ElementRef<HTMLElement>>('popupEl');\n\n // Inputs from overlay service\n readonly __content__ = input<AXPopupContentType>();\n readonly __config__ = input<AXPopupConfig>();\n readonly __popupRef__ = input<AXPopupRef>();\n readonly __id__ = input<number>();\n\n /**\n * Indicates whether the component is loading.\n * @defaultValue true\n */\n isLoading = true;\n\n /** @ignore */\n private _loadingId: number;\n\n /** @ignore */\n private _componentRef: ComponentRef<unknown> | null = null;\n\n /** Current title */\n protected title = signal<string>('');\n\n /** @ignore */\n protected isDragging = signal(false);\n\n /** @ignore */\n protected dragOffset = signal({ x: 0, y: 0 });\n\n /** @ignore */\n private dragStartPos = { x: 0, y: 0 };\n\n /** @ignore */\n private elementStartPos = { x: 0, y: 0 };\n\n protected popupSizeState = signal<'minimize' | 'normal'>('normal');\n protected fullScreenState = signal(false);\n protected minimizeLeft = signal<string | null>(null);\n protected minimizeRight = signal<string | null>(null);\n\n private fullscreenChangeHandler = () => {\n if (!document.fullscreenElement) {\n this.fullScreenState.set(false);\n this.cdr.markForCheck();\n }\n };\n\n protected closeEnabled = () => resolvePopupCloseButton(this.__config__());\n protected maximizeEnabled = () => resolvePopupMaximizable(this.__config__());\n protected minimizeEnabled = () => resolvePopupMinimize(this.__config__()).enable;\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n\n const config = this.__config__();\n if (this._platform.is('SM')) {\n if (config) {\n config.draggable = false;\n }\n }\n\n this.title.set(config?.title ?? '');\n\n this._loadingId = this.loadingService.show({\n location: this.getHostElement(),\n });\n\n this._setupCloseOnNavigation();\n document.addEventListener('fullscreenchange', this.fullscreenChangeHandler);\n\n this.renderContent();\n }\n\n /**\n * Subscribes to router navigation events so the popup is closed automatically\n * when the user navigates to another route. Enabled by default; disable via\n * `closeOnNavigation: false` in the popup config.\n * @ignore\n */\n private _setupCloseOnNavigation() {\n if (!this._router) return;\n if (this.__config__()?.closeOnNavigation === false) return;\n\n this._router.events\n .pipe(\n filter((event): event is NavigationStart => event instanceof NavigationStart),\n takeUntilDestroyed(this._destroyRef),\n )\n .subscribe(() => {\n this.close();\n });\n }\n\n /** @ignore */\n private async renderContent() {\n const content = this.__content__();\n const config = this.__config__();\n\n if (!content) {\n this.loadingService.hide(this._loadingId);\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.contentContainerRef.createEmbeddedView(content, {\n $implicit: config?.data,\n ref: this,\n ...(typeof config?.inputs === 'object' && config.inputs ? (config.inputs as object) : {}),\n });\n this.handleContentRendered();\n } else if (content instanceof HTMLElement) {\n this.contentContainerEl.nativeElement.appendChild(content.cloneNode(true));\n this.handleContentRendered();\n } else if (typeof content === 'function') {\n const componentRef = this.componentService.createFromComponent(content as AXComponentType<unknown>);\n this._componentRef = componentRef;\n\n const popupRef = this.__popupRef__();\n if (popupRef) {\n popupRef.componentInstance = componentRef.instance;\n }\n\n const inputDefs = (componentRef.componentType as unknown as { ɵcmp?: { inputs?: Record<string, unknown> } })?.ɵcmp\n ?.inputs;\n\n if (config?.data && typeof config.data === 'object') {\n Object.entries(config.data).forEach(([key, value]) => {\n (componentRef.instance as Record<string, unknown>)[key] = value;\n });\n }\n\n if (config?.inputs && typeof config.inputs === 'object') {\n Object.entries(config.inputs).forEach(([key, value]) => {\n if (inputDefs && key in inputDefs) {\n componentRef.setInput(key, value);\n }\n });\n }\n\n if (inputDefs && '__popup__' in inputDefs) {\n componentRef.setInput('__popup__', this.__popupRef__());\n }\n\n const hostElement = componentRef.location.nativeElement;\n this.contentContainerEl.nativeElement.appendChild(hostElement);\n\n const instance = componentRef.instance as {\n onClosed?: { subscribe: (fn: (e: { data?: unknown }) => void) => void };\n };\n if (instance.onClosed) {\n instance.onClosed.subscribe((e) => {\n this.close(e.data);\n });\n }\n\n this.handleContentRendered();\n }\n }\n\n /** @ignore */\n private handleContentRendered() {\n this._zone.runOutsideAngular(() => {\n setTimeout(() => {\n const body = this.getHostElement().querySelector<HTMLDivElement>('.ax-popup-body-container');\n const content = body?.children[0];\n\n if (!content || !body) {\n this.focus();\n return;\n }\n\n const popHeader = this.getHostElement().querySelector<HTMLDivElement>('.ax-popup-header-container');\n const popFooter = this.getHostElement().querySelector<HTMLDivElement>('.ax-popup-footer-container');\n\n const footer =\n content.querySelector<HTMLElement>(':scope > ax-footer') ||\n content.querySelector<HTMLElement>(':scope > ax-popup-footer') ||\n this.getHostElement().querySelector<HTMLElement>('.ax-popup-body-container ax-popup-footer');\n const header = content.querySelector<HTMLDivElement>(':scope > ax-header');\n\n if (footer && popFooter) {\n popFooter.append(footer);\n }\n if (header && popHeader) {\n popHeader.innerHTML = '';\n popHeader.append(header);\n }\n this.focus();\n });\n });\n this.loadingService.hide(this._loadingId);\n this.cdr.markForCheck();\n }\n\n /** @ignore */\n @HostListener('keydown.escape')\n onKeydownHandler() {\n const config = this.__config__();\n const focusedOrHasFocused = this.getHostElement().matches(':focus-within');\n if (!focusedOrHasFocused) return;\n\n if (config?.closeOnEscape === false) return;\n\n if (config?.closeOnEscape === true || this.closeEnabled()) {\n this.close();\n }\n }\n\n /** @ignore */\n protected _handleCloseClick() {\n this.close();\n }\n\n /** @ignore */\n ngOnDestroy() {\n document.removeEventListener('fullscreenchange', this.fullscreenChangeHandler);\n if (this.fullScreenState() && document.fullscreenElement) {\n document.exitFullscreen().catch(() => undefined);\n }\n this.loadingService.hide(this._loadingId);\n if (this._componentRef) {\n this._componentRef.destroy();\n this._componentRef = null;\n }\n }\n\n /**\n * Sets focus on the `.ax-popup` element within the host element after a short delay.\n */\n focus() {\n setTimeout(() => this.getHostElement().querySelector<HTMLDivElement>('.ax-popup')?.focus());\n }\n\n /**\n * Closes the popup, emitting component reference, host element, and optional data.\n */\n close(data?: unknown) {\n const closeFn = () => {\n this.__popupRef__()?.close(data);\n };\n\n const componentInstance = this._componentRef?.instance as\n | { onClosing?: (e: AXComponentClosing) => void | Promise<void> }\n | undefined;\n\n if (typeof componentInstance?.onClosing === 'function') {\n const ee: AXComponentClosing = {\n cancel: false,\n data,\n };\n const closingResult = componentInstance.onClosing(ee);\n if (closingResult instanceof Promise) {\n closingResult.then(() => {\n if (!ee.cancel) {\n closeFn();\n }\n });\n } else {\n if (!ee.cancel) {\n closeFn();\n }\n }\n } else {\n closeFn();\n }\n }\n\n /**\n * Minimizes the popup to the bottom bar.\n */\n minimize() {\n if (this.fullScreenState() && document.fullscreenElement) {\n document.exitFullscreen().catch(() => undefined);\n }\n\n const el = this.popupEl()?.nativeElement;\n if (!el) return;\n\n this.minimizeLeft.set(null);\n this.minimizeRight.set(null);\n this.popupSizeState.set('minimize');\n this.cdr.markForCheck();\n\n requestAnimationFrame(() => {\n const width = el.offsetWidth;\n const index = this.__popupRef__()?._getStackIndex?.() ?? 0;\n const position = resolvePopupMinimize(this.__config__()).position;\n\n if (position === 'bottom-right') {\n this.minimizeLeft.set(null);\n this.minimizeRight.set(`${index * (width + 10)}px`);\n } else {\n this.minimizeRight.set(null);\n this.minimizeLeft.set(`${index * (width + 10)}px`);\n }\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Maximizes the popup using the Fullscreen API.\n */\n maximize() {\n const el = this.popupEl()?.nativeElement;\n if (!el) return;\n\n if (this.popupSizeState() === 'minimize') {\n this.restore();\n }\n\n if (!document.fullscreenElement) {\n el.requestFullscreen().then(() => {\n this.fullScreenState.set(true);\n this.cdr.markForCheck();\n });\n } else {\n document.exitFullscreen().catch(() => undefined);\n }\n }\n\n /**\n * Restores the popup from minimized or fullscreen state.\n */\n restore() {\n if (this.fullScreenState() && document.fullscreenElement) {\n document.exitFullscreen().catch(() => undefined);\n return;\n }\n\n this.minimizeLeft.set(null);\n this.minimizeRight.set(null);\n this.popupSizeState.set('normal');\n this.cdr.markForCheck();\n }\n\n /**\n * Sets inputs on the content component.\n */\n setContentInputs(values: AXComponentInputs) {\n const componentRef = this._componentRef;\n if (componentRef) {\n Object.entries(values).forEach(([key, value]) => {\n componentRef.setInput(key, value);\n });\n }\n }\n\n /**\n * Sets the popup title.\n */\n setTitle(title: string) {\n this.title.set(title);\n this.cdr.markForCheck();\n }\n\n // Drag functionality\n protected onDragStart(event: MouseEvent) {\n const config = this.__config__();\n if (!config?.draggable) return;\n if (this.popupSizeState() === 'minimize' || this.fullScreenState()) return;\n\n this.isDragging.set(true);\n this.dragStartPos = { x: event.clientX, y: event.clientY };\n\n const popup = this.getHostElement().querySelector<HTMLDivElement>('.ax-popup');\n if (popup) {\n const rect = popup.getBoundingClientRect();\n this.elementStartPos = { x: rect.left, y: rect.top };\n }\n\n event.preventDefault();\n }\n\n @HostListener('document:mousemove', ['$event'])\n onDragMove(event: MouseEvent) {\n if (!this.isDragging()) return;\n\n const deltaX = event.clientX - this.dragStartPos.x;\n const deltaY = event.clientY - this.dragStartPos.y;\n\n this.dragOffset.set({\n x: this.elementStartPos.x + deltaX,\n y: this.elementStartPos.y + deltaY,\n });\n }\n\n @HostListener('document:mouseup')\n onDragEnd() {\n this.isDragging.set(false);\n }\n}\n","<div\n class=\"ax-popup-wrapper\"\n aria-modal=\"true\"\n axFocusTrap\n [class.ax-popup-minimized-host]=\"popupSizeState() === 'minimize'\"\n>\n <div\n #popupEl\n class=\"ax-popup ax-popup-{{ __config__()?.size || 'md' }}\"\n tabindex=\"0\"\n [class.ax-popup-dragging]=\"isDragging()\"\n [class.ax-popup-minimized]=\"popupSizeState() === 'minimize'\"\n [class.ax-popup-fullscreen]=\"fullScreenState()\"\n [style.position]=\"dragOffset().x || dragOffset().y || popupSizeState() === 'minimize' ? 'fixed' : null\"\n [style.left]=\"popupSizeState() === 'minimize' ? minimizeLeft() : dragOffset().x ? dragOffset().x + 'px' : null\"\n [style.right]=\"popupSizeState() === 'minimize' ? minimizeRight() : null\"\n [style.top]=\"popupSizeState() === 'minimize' ? 'auto' : dragOffset().y ? dragOffset().y + 'px' : null\"\n [style.bottom]=\"popupSizeState() === 'minimize' ? '0' : null\"\n [style.transform]=\"dragOffset().x || dragOffset().y || popupSizeState() === 'minimize' ? 'none' : null\"\n >\n <div\n class=\"ax-popup-header-container\"\n [class.ax-popup-draggable]=\"__config__()?.draggable && popupSizeState() !== 'minimize' && !fullScreenState()\"\n (mousedown)=\"onDragStart($event)\"\n >\n @if (__config__()?.header) {\n <div class=\"ax-popup-header\">\n <span class=\"ax-popup-title\">{{ title() | translate | async }}</span>\n <div class=\"ax-popup-header-actions\">\n @if (minimizeEnabled()) {\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"default\" (onClick)=\"minimize()\">\n <ax-icon class=\"ax-icon ax-icon-minimize\"></ax-icon>\n </ax-button>\n }\n\n @if (popupSizeState() !== 'normal' || fullScreenState()) {\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"default\" (onClick)=\"restore()\">\n <ax-icon class=\"ax-icon ax-icon-maximize\"></ax-icon>\n </ax-button>\n }\n\n @if (maximizeEnabled()) {\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"default\" (onClick)=\"maximize()\">\n <ax-icon class=\"ax-icon ax-icon-full-screen\"></ax-icon>\n </ax-button>\n }\n\n @if (closeEnabled()) {\n <ax-close-button tabindex=\"1\" (click)=\"_handleCloseClick()\"></ax-close-button>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"ax-popup-main-container ax-loading-container\">\n <div class=\"ax-popup-body-container\" #contentContainer></div>\n <div class=\"ax-popup-footer-container\" [class.ax-popup-footer-visible]=\"__config__()?.footer\"></div>\n </div>\n </div>\n</div>\n","import { AXComponentClosedPromise } from '@acorex/cdk/common';\nimport { AXOverlayRef, AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport { ComponentRef, inject, Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXPopupComponent } from './popup.component';\nimport { AXPopupConfig, AXPopupContentType, AXPopupRef } from './popup.interface';\n\n/**\n * This is a service which you can create popup with it\n *\n * @category Components\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPopupService {\n private popupList = new Map<number, { overlay: AXOverlayRef<AXPopupComponent>; popup: AXPopupRef }>();\n private overlayService = inject(AXOverlayService);\n\n /**\n * Open popup 1\n */\n open(content: AXPopupContentType, title: string): AXComponentClosedPromise;\n /**\n * Open popup 2\n */\n open(content: AXPopupContentType, config?: AXPopupConfig): AXComponentClosedPromise;\n\n /**\n * @ignore\n */\n open(arg1: AXPopupContentType, arg2?: string | AXPopupConfig): AXComponentClosedPromise {\n const config = this.mergeConfig(arg2);\n\n const promise = new AXComponentClosedPromise((resolve) => {\n this.openRef(arg1, config).then((ref) => {\n ref.onClose.subscribe((data) => {\n if (resolve) {\n resolve({\n sender: ref.componentInstance,\n data: data,\n });\n }\n });\n });\n });\n\n return promise;\n }\n\n /**\n * Opens a popup and returns a mutable reference (for host components and advanced control).\n */\n async openRef<TResult = any>(content: AXPopupContentType, config?: AXPopupConfig): Promise<AXPopupRef<TResult>> {\n return this.openInternal(content, this.mergeConfig(config));\n }\n\n private mergeConfig(arg2?: string | AXPopupConfig): AXPopupConfig {\n const config: AXPopupConfig = {\n closeButton: true,\n header: true,\n footer: false,\n size: 'md',\n maximizable: false,\n draggable: true,\n hasBackdrop: true,\n closeOnBackdropClick: false,\n data: {},\n closeOnNavigation: true,\n panelClass: ['animate-fadeIn', 'animate-fast'],\n buttons: {\n close: true,\n maximize: false,\n minimize: {\n enable: false,\n position: 'bottom-right',\n },\n },\n };\n if (typeof arg2 === 'string') {\n config.title = arg2;\n } else if (arg2) {\n const { buttons, ...rest } = arg2;\n Object.assign(config, rest);\n if (buttons) {\n config.buttons = {\n ...config.buttons,\n ...buttons,\n minimize: {\n enable: false,\n position: 'bottom-right',\n ...config.buttons?.minimize,\n ...buttons.minimize,\n },\n };\n }\n }\n return config;\n }\n\n /**\n * Opens a popup with the specified content and configuration.\n */\n private async openInternal<TResult = any>(\n content: AXPopupContentType,\n config: AXPopupConfig,\n ): Promise<AXPopupRef<TResult>> {\n const randomId = Math.floor(Math.random() * 100000000000);\n const onClose = new Subject<TResult>();\n\n const returnRef: AXPopupRef<TResult> = {\n close: (data) => {\n this.close(randomId, data);\n },\n setInputs: (values: AXComponentInputs) => {\n this.setInputs(randomId, values);\n },\n setTitle: (title: string) => {\n this.setTitle(randomId, title);\n },\n minimize: () => {\n this.minimize(randomId);\n },\n maximize: () => {\n this.maximize(randomId);\n },\n restore: () => {\n this.restore(randomId);\n },\n bringToFront: () => {\n this.bringToFront(randomId);\n },\n onClose,\n _getStackIndex: () => this.getMapIndexOf(randomId),\n };\n\n if (config._bindContentInputs) {\n config.inputs = {\n ...((config.inputs as Record<string, unknown>) ?? {}),\n ...config._bindContentInputs(returnRef),\n };\n }\n\n const panelClasses = ['ax-popup-overlay'];\n if (config.panelClass) {\n panelClasses.push(...config.panelClass);\n }\n\n const ref = await this.overlayService.create(AXPopupComponent, {\n contextElement: config.contextElement,\n visualContextScope: 'theme',\n backdrop: {\n enabled: config.hasBackdrop ?? true,\n background: true,\n // Dispose is handled via onDispose so close goes through onClose.\n closeOnClick: config.closeOnBackdropClick ?? false,\n backdropClass: config.backdropClass,\n },\n panelClass: panelClasses,\n inputs: {\n __content__: content,\n __config__: config,\n __popupRef__: returnRef,\n __id__: randomId,\n },\n onDispose: () => {\n // Backdrop click (or external dispose) — complete close pipeline if still open.\n const entry = this.popupList.get(randomId);\n if (!entry) return;\n this.popupList.delete(randomId);\n entry.popup.onClose.next(undefined as TResult);\n entry.popup.onClose.complete();\n },\n });\n\n this.popupList.set(randomId, { overlay: ref, popup: returnRef });\n\n return returnRef;\n }\n\n /**\n * Closes a popup by its ID.\n */\n close<TResult = any>(id: number, data?: TResult): void {\n const ref = this.popupList.get(id);\n if (!ref) return;\n this.popupList.delete(id);\n ref.popup.onClose.next(data);\n ref.popup.onClose.complete();\n ref.overlay.dispose();\n }\n\n /**\n * Sets input values for a popup by its ID.\n */\n setInputs(id: number, values: AXComponentInputs): void {\n const ref = this.popupList.get(id)?.overlay.instance;\n if (!ref) return;\n if (ref instanceof ComponentRef) {\n const componentInstance = ref.instance as AXPopupComponent;\n componentInstance.setContentInputs(values);\n }\n }\n\n /**\n * Sets the title for a popup by its ID.\n */\n setTitle(id: number, title: string): void {\n const ref = this.popupList.get(id)?.overlay.instance;\n if (!ref) return;\n if (ref instanceof ComponentRef) {\n const componentInstance = ref.instance as AXPopupComponent;\n componentInstance.setTitle(title);\n }\n }\n\n minimize(id: number): void {\n const instance = this.getPopupInstance(id);\n instance?.minimize();\n }\n\n maximize(id: number): void {\n const instance = this.getPopupInstance(id);\n instance?.maximize();\n }\n\n restore(id: number): void {\n const instance = this.getPopupInstance(id);\n instance?.restore();\n }\n\n /**\n * Gets the index of a popup in the open stack (used for minimized bar positioning).\n */\n getMapIndexOf(targetKey: number): number {\n let index = 0;\n for (const key of this.popupList.keys()) {\n if (key === targetKey) {\n return index;\n }\n index++;\n }\n return -1;\n }\n\n /**\n * Brings a popup to the front of all other overlays.\n */\n bringToFront(id: number): void {\n const ref = this.popupList.get(id);\n if (!ref) return;\n ref.overlay.bringToFront();\n }\n\n private getPopupInstance(id: number): AXPopupComponent | null {\n const ref = this.popupList.get(id)?.overlay.instance;\n if (!ref) return null;\n if (ref instanceof ComponentRef) {\n return ref.instance as AXPopupComponent;\n }\n return null;\n }\n}\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport { Component, inject, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { AXPopupConfig, AXPopupRef } from '../popup.interface';\nimport { AXPopupService } from '../popup.service';\n\n/**\n * Declarative popup host. Project content and call `open()` / `close()` on the component instance.\n *\n * @example\n * ```html\n * <ax-popup-host #popup>\n * <p>Content</p>\n * </ax-popup-host>\n * <ax-button (onClick)=\"popup.open({ title: 'Hello', header: true })\"></ax-button>\n * ```\n */\n@Component({\n selector: 'ax-popup-host',\n template: `\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXPopupHostComponent }],\n})\nexport class AXPopupHostComponent extends NXComponent {\n private popupService = inject(AXPopupService);\n protected template = viewChild(TemplateRef);\n private ref = signal<AXPopupRef | null>(null);\n\n /**\n * Opens the projected content in a popup overlay.\n */\n async open(options?: AXPopupConfig): Promise<AXPopupRef> {\n const template = this.template();\n if (!template) {\n throw new Error('AXPopupHostComponent: content template is not ready.');\n }\n const ref = await this.popupService.openRef(template, options);\n this.ref.set(ref);\n ref.onClose.subscribe(() => {\n if (this.ref() === ref) {\n this.ref.set(null);\n }\n });\n return ref;\n }\n\n /**\n * Closes the currently open popup hosted by this component.\n */\n async close(data?: unknown): Promise<void> {\n const current = this.ref();\n if (!current) return;\n current.close(data);\n }\n\n /**\n * Sets input values for the popup content component.\n */\n async setInputs(values: AXComponentInputs): Promise<void> {\n this.ref()?.setInputs(values);\n }\n\n /**\n * Minimizes the hosted popup.\n */\n async minimize(): Promise<void> {\n this.ref()?.minimize();\n }\n\n /**\n * Maximizes the hosted popup.\n */\n async maximize(): Promise<void> {\n this.ref()?.maximize();\n }\n\n /**\n * Restores the hosted popup.\n */\n async restore(): Promise<void> {\n this.ref()?.restore();\n }\n}\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXPopupFooterComponent } from './popup-footer/popup-footer.component';\nimport { AXPopupHostComponent } from './popup-host/popup-host.component';\nimport { AXPopupComponent } from './popup.component';\nimport { AXPopupService } from './popup.service';\n\nconst COMPONENT = [AXPopupComponent, AXPopupHostComponent, AXPopupFooterComponent];\nconst MODULES = [CommonModule, AXCommonModule, AXDecoratorModule, AXTranslationModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXPopupService],\n})\nexport class AXPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-popup.mjs","sources":["../../../../packages/components/popup/src/lib/popup-footer/popup-footer.component.ts","../../../../packages/components/popup/src/lib/popup-footer/popup-footer.component.html","../../../../packages/components/popup/src/lib/popup.interface.ts","../../../../packages/components/popup/src/lib/popup.component.ts","../../../../packages/components/popup/src/lib/popup.component.html","../../../../packages/components/popup/src/lib/popup.service.ts","../../../../packages/components/popup/src/lib/popup-host/popup-host.component.ts","../../../../packages/components/popup/src/lib/popup.module.ts","../../../../packages/components/popup/src/acorex-components-popup.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-popup-footer',\n templateUrl: './popup-footer.component.html',\n styleUrl: './popup-footer.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXPopupFooterComponent }],\n})\nexport class AXPopupFooterComponent {}\n","<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n<ng-content></ng-content>\n","import { AXComponentInputs, AXComponentType } from '@acorex/core/components';\nimport { Directive, ElementRef, input, StaticProvider, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport type AXPopupContentType = TemplateRef<unknown> | AXComponentType<unknown> | HTMLElement;\n\nexport type AXPopupSizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | 'fit';\n\nexport type AXPopupMinimizePosition = 'bottom-right' | 'bottom-left';\n\nexport interface AXPopupButtonsConfig {\n minimize?: {\n enable: boolean;\n position: AXPopupMinimizePosition;\n };\n maximize?: boolean;\n close?: boolean;\n}\n\nexport interface AXPopupConfig {\n title?: string;\n /** Flat alias; overridden by `buttons.close` when set. */\n closeButton?: boolean;\n header?: boolean;\n footer?: boolean;\n /** Flat alias; overridden by `buttons.maximize` when set. */\n maximizable?: boolean;\n size?: AXPopupSizeType;\n /** @deprecated Use `inputs` instead to pass data to the popup component. */\n data?: unknown;\n inputs?: unknown;\n draggable?: boolean;\n hasBackdrop?: boolean;\n backdropClass?: string;\n closeOnBackdropClick?: boolean;\n closeOnNavigation?: boolean;\n /** When unset, Escape closes only if the close button is enabled (legacy behavior). */\n closeOnEscape?: boolean;\n viewContainerRef?: ViewContainerRef;\n providers?: StaticProvider[];\n panelClass?: string[];\n direction?: 'rtl' | 'ltr';\n /** Window chrome buttons. Individual fields override flat `closeButton` / `maximizable` when set. */\n buttons?: AXPopupButtonsConfig;\n /**\n * @internal\n * Called with the popup ref before content is created so callers can inject\n * extra content inputs that depend on the ref.\n */\n _bindContentInputs?: (ref: AXPopupRef) => Record<string, unknown>;\n /**\n * Element used to resolve inherited visual context for overlays rendered\n * outside the originating DOM subtree.\n *\n * This affects Appearance, Light/Dark theme, Contrast, Size, and supported\n * Density context. It does not affect overlay positioning.\n */\n contextElement?: HTMLElement | ElementRef<HTMLElement>;\n}\n\nexport interface AXPopupData {\n title: string;\n closeButton: boolean;\n header: boolean;\n maximizable: boolean;\n size: AXPopupSizeType;\n data?: unknown;\n draggable: boolean;\n content: AXPopupContentType;\n}\n\nexport interface AXPopupRef<TResult = any> {\n close: (data?: TResult) => void;\n setInputs: (values: AXComponentInputs) => void;\n setTitle: (title: string) => void;\n minimize: () => void;\n maximize: () => void;\n restore: () => void;\n /** Brings this popup to the front of all other overlays */\n bringToFront: () => void;\n onClose: Subject<TResult>;\n /** The component instance rendered inside the popup (available after content is rendered) */\n componentInstance?: unknown;\n /** @internal Stack index among open popups (minimized bar positioning). */\n _getStackIndex?: () => number;\n}\n\n@Directive()\nexport abstract class AXPopupComponentBase {\n __popup__ = input<AXPopupRef>();\n\n public close(data: any = null) {\n this.__popup__()?.close(data);\n }\n\n public setTitle(title: string) {\n this.__popup__()?.setTitle(title);\n }\n\n public minimize() {\n this.__popup__()?.minimize();\n }\n\n public maximize() {\n this.__popup__()?.maximize();\n }\n\n public restore() {\n this.__popup__()?.restore();\n }\n\n public bringToFront() {\n this.__popup__()?.bringToFront();\n }\n}\n\n/** Resolves whether the close header button is shown. `buttons.close` wins over `closeButton`. */\nexport function resolvePopupCloseButton(config?: AXPopupConfig | null): boolean {\n if (config?.buttons?.close !== undefined) {\n return config.buttons.close;\n }\n return config?.closeButton ?? true;\n}\n\n/** Resolves whether maximize is enabled. `buttons.maximize` wins over `maximizable`. Default: false. */\nexport function resolvePopupMaximizable(config?: AXPopupConfig | null): boolean {\n if (config?.buttons?.maximize !== undefined) {\n return config.buttons.maximize;\n }\n return config?.maximizable ?? false;\n}\n\n/** Resolves minimize button config. Default: disabled at bottom-right. */\nexport function resolvePopupMinimize(config?: AXPopupConfig | null): {\n enable: boolean;\n position: AXPopupMinimizePosition;\n} {\n return {\n enable: config?.buttons?.minimize?.enable ?? false,\n position: config?.buttons?.minimize?.position ?? 'bottom-right',\n };\n}\n","import { AXPlatform } from '@acorex/core/platform';\nimport {\n Component,\n ComponentRef,\n ElementRef,\n HostListener,\n inject,\n input,\n NgZone,\n OnDestroy,\n OnInit,\n signal,\n TemplateRef,\n viewChild,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { AXClosableComponent, AXComponent, AXComponentClosing, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorCloseButtonComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXLoadingService } from '@acorex/components/loading';\nimport { AXComponentInputs, AXComponentService, AXComponentType } from '@acorex/core/components';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport {\n AXPopupConfig,\n AXPopupContentType,\n AXPopupRef,\n resolvePopupCloseButton,\n resolvePopupMaximizable,\n resolvePopupMinimize,\n} from './popup.interface';\n\n/**\n * The Popup is a component which displays content in a dialog overlay\n *\n * @category Components\n */\n@Component({\n selector: 'ax-popup',\n templateUrl: './popup.component.html',\n styleUrls: ['./popup.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ax-popup-host',\n style: 'display: block; max-width: 100%;',\n },\n providers: [\n { provide: AXClosableComponent, useExisting: AXPopupComponent },\n { provide: AXComponent, useExisting: AXPopupComponent },\n ],\n imports: [\n AXDecoratorCloseButtonComponent,\n AXDecoratorIconComponent,\n AXButtonComponent,\n AsyncPipe,\n AXTranslatorPipe,\n AXFocusTrapDirective,\n ],\n})\nexport class AXPopupComponent extends MXBaseComponent implements OnInit, OnDestroy {\n private _zone = inject(NgZone);\n private loadingService = inject(AXLoadingService);\n private _platform = inject(AXPlatform);\n private componentService = inject(AXComponentService);\n\n @ViewChild('contentContainer', { read: ViewContainerRef, static: true })\n private contentContainerRef: ViewContainerRef;\n\n @ViewChild('contentContainer', { static: true })\n private contentContainerEl: { nativeElement: HTMLElement };\n\n private popupEl = viewChild<ElementRef<HTMLElement>>('popupEl');\n\n // Inputs from overlay service\n readonly __content__ = input<AXPopupContentType>();\n readonly __config__ = input<AXPopupConfig>();\n readonly __popupRef__ = input<AXPopupRef>();\n readonly __id__ = input<number>();\n\n /**\n * Indicates whether the component is loading.\n * @defaultValue true\n */\n isLoading = true;\n\n /** @ignore */\n private _loadingId: number;\n\n /** @ignore */\n private _componentRef: ComponentRef<unknown> | null = null;\n\n /** Current title */\n protected title = signal<string>('');\n\n /** @ignore */\n protected isDragging = signal(false);\n\n /** @ignore */\n protected dragOffset = signal({ x: 0, y: 0 });\n\n /** @ignore */\n private dragStartPos = { x: 0, y: 0 };\n\n /** @ignore */\n private elementStartPos = { x: 0, y: 0 };\n\n protected popupSizeState = signal<'minimize' | 'normal'>('normal');\n protected fullScreenState = signal(false);\n protected minimizeLeft = signal<string | null>(null);\n protected minimizeRight = signal<string | null>(null);\n\n private fullscreenChangeHandler = () => {\n if (!document.fullscreenElement) {\n this.fullScreenState.set(false);\n this.cdr.markForCheck();\n }\n };\n\n protected closeEnabled = () => resolvePopupCloseButton(this.__config__());\n protected maximizeEnabled = () => resolvePopupMaximizable(this.__config__());\n protected minimizeEnabled = () => resolvePopupMinimize(this.__config__()).enable;\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n\n const config = this.__config__();\n if (this._platform.is('SM')) {\n if (config) {\n config.draggable = false;\n }\n }\n\n this.title.set(config?.title ?? '');\n\n this._loadingId = this.loadingService.show({\n location: this.getHostElement(),\n });\n\n document.addEventListener('fullscreenchange', this.fullscreenChangeHandler);\n\n this.renderContent();\n }\n\n /** @ignore */\n private async renderContent() {\n const content = this.__content__();\n const config = this.__config__();\n\n if (!content) {\n this.loadingService.hide(this._loadingId);\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.contentContainerRef.createEmbeddedView(content, {\n $implicit: config?.data,\n ref: this,\n ...(typeof config?.inputs === 'object' && config.inputs ? (config.inputs as object) : {}),\n });\n this.handleContentRendered();\n } else if (content instanceof HTMLElement) {\n this.contentContainerEl.nativeElement.appendChild(content.cloneNode(true));\n this.handleContentRendered();\n } else if (typeof content === 'function') {\n const componentRef = this.componentService.createFromComponent(content as AXComponentType<unknown>);\n this._componentRef = componentRef;\n\n const popupRef = this.__popupRef__();\n if (popupRef) {\n popupRef.componentInstance = componentRef.instance;\n }\n\n const inputDefs = (componentRef.componentType as unknown as { ɵcmp?: { inputs?: Record<string, unknown> } })?.ɵcmp\n ?.inputs;\n\n if (config?.data && typeof config.data === 'object') {\n Object.entries(config.data).forEach(([key, value]) => {\n (componentRef.instance as Record<string, unknown>)[key] = value;\n });\n }\n\n if (config?.inputs && typeof config.inputs === 'object') {\n Object.entries(config.inputs).forEach(([key, value]) => {\n if (inputDefs && key in inputDefs) {\n componentRef.setInput(key, value);\n }\n });\n }\n\n if (inputDefs && '__popup__' in inputDefs) {\n componentRef.setInput('__popup__', this.__popupRef__());\n }\n\n const hostElement = componentRef.location.nativeElement;\n this.contentContainerEl.nativeElement.appendChild(hostElement);\n\n const instance = componentRef.instance as {\n onClosed?: { subscribe: (fn: (e: { data?: unknown }) => void) => void };\n };\n if (instance.onClosed) {\n instance.onClosed.subscribe((e) => {\n this.close(e.data);\n });\n }\n\n this.handleContentRendered();\n }\n }\n\n /** @ignore */\n private handleContentRendered() {\n this._zone.runOutsideAngular(() => {\n setTimeout(() => {\n const body = this.getHostElement().querySelector<HTMLDivElement>('.ax-popup-body-container');\n const content = body?.children[0];\n\n if (!content || !body) {\n this.focus();\n return;\n }\n\n const popHeader = this.getHostElement().querySelector<HTMLDivElement>('.ax-popup-header-container');\n const popFooter = this.getHostElement().querySelector<HTMLDivElement>('.ax-popup-footer-container');\n\n const footer =\n content.querySelector<HTMLElement>(':scope > ax-footer') ||\n content.querySelector<HTMLElement>(':scope > ax-popup-footer') ||\n this.getHostElement().querySelector<HTMLElement>('.ax-popup-body-container ax-popup-footer');\n const header = content.querySelector<HTMLDivElement>(':scope > ax-header');\n\n if (footer && popFooter) {\n popFooter.append(footer);\n }\n if (header && popHeader) {\n popHeader.innerHTML = '';\n popHeader.append(header);\n }\n this.focus();\n });\n });\n this.loadingService.hide(this._loadingId);\n this.cdr.markForCheck();\n }\n\n /** @ignore */\n @HostListener('keydown.escape')\n onKeydownHandler() {\n const config = this.__config__();\n const focusedOrHasFocused = this.getHostElement().matches(':focus-within');\n if (!focusedOrHasFocused) return;\n\n if (config?.closeOnEscape === false) return;\n\n if (config?.closeOnEscape === true || this.closeEnabled()) {\n this.close();\n }\n }\n\n /** @ignore */\n protected _handleCloseClick() {\n this.close();\n }\n\n /** @ignore */\n ngOnDestroy() {\n document.removeEventListener('fullscreenchange', this.fullscreenChangeHandler);\n if (this.fullScreenState() && document.fullscreenElement) {\n document.exitFullscreen().catch(() => undefined);\n }\n this.loadingService.hide(this._loadingId);\n if (this._componentRef) {\n this._componentRef.destroy();\n this._componentRef = null;\n }\n }\n\n /**\n * Sets focus on the `.ax-popup` element within the host element after a short delay.\n */\n focus() {\n setTimeout(() => this.getHostElement().querySelector<HTMLDivElement>('.ax-popup')?.focus());\n }\n\n /**\n * Closes the popup, emitting component reference, host element, and optional data.\n */\n close(data?: unknown) {\n const closeFn = () => {\n this.__popupRef__()?.close(data);\n };\n\n const componentInstance = this._componentRef?.instance as\n | { onClosing?: (e: AXComponentClosing) => void | Promise<void> }\n | undefined;\n\n if (typeof componentInstance?.onClosing === 'function') {\n const ee: AXComponentClosing = {\n cancel: false,\n data,\n };\n const closingResult = componentInstance.onClosing(ee);\n if (closingResult instanceof Promise) {\n closingResult.then(() => {\n if (!ee.cancel) {\n closeFn();\n }\n });\n } else {\n if (!ee.cancel) {\n closeFn();\n }\n }\n } else {\n closeFn();\n }\n }\n\n /**\n * Minimizes the popup to the bottom bar.\n */\n minimize() {\n if (this.fullScreenState() && document.fullscreenElement) {\n document.exitFullscreen().catch(() => undefined);\n }\n\n const el = this.popupEl()?.nativeElement;\n if (!el) return;\n\n this.minimizeLeft.set(null);\n this.minimizeRight.set(null);\n this.popupSizeState.set('minimize');\n this.cdr.markForCheck();\n\n requestAnimationFrame(() => {\n const width = el.offsetWidth;\n const index = this.__popupRef__()?._getStackIndex?.() ?? 0;\n const position = resolvePopupMinimize(this.__config__()).position;\n\n if (position === 'bottom-right') {\n this.minimizeLeft.set(null);\n this.minimizeRight.set(`${index * (width + 10)}px`);\n } else {\n this.minimizeRight.set(null);\n this.minimizeLeft.set(`${index * (width + 10)}px`);\n }\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Maximizes the popup using the Fullscreen API.\n */\n maximize() {\n const el = this.popupEl()?.nativeElement;\n if (!el) return;\n\n if (this.popupSizeState() === 'minimize') {\n this.restore();\n }\n\n if (!document.fullscreenElement) {\n el.requestFullscreen().then(() => {\n this.fullScreenState.set(true);\n this.cdr.markForCheck();\n });\n } else {\n document.exitFullscreen().catch(() => undefined);\n }\n }\n\n /**\n * Restores the popup from minimized or fullscreen state.\n */\n restore() {\n if (this.fullScreenState() && document.fullscreenElement) {\n document.exitFullscreen().catch(() => undefined);\n return;\n }\n\n this.minimizeLeft.set(null);\n this.minimizeRight.set(null);\n this.popupSizeState.set('normal');\n this.cdr.markForCheck();\n }\n\n /**\n * Sets inputs on the content component.\n */\n setContentInputs(values: AXComponentInputs) {\n const componentRef = this._componentRef;\n if (componentRef) {\n Object.entries(values).forEach(([key, value]) => {\n componentRef.setInput(key, value);\n });\n }\n }\n\n /**\n * Sets the popup title.\n */\n setTitle(title: string) {\n this.title.set(title);\n this.cdr.markForCheck();\n }\n\n // Drag functionality\n protected onDragStart(event: MouseEvent) {\n const config = this.__config__();\n if (!config?.draggable) return;\n if (this.popupSizeState() === 'minimize' || this.fullScreenState()) return;\n\n this.isDragging.set(true);\n this.dragStartPos = { x: event.clientX, y: event.clientY };\n\n const popup = this.getHostElement().querySelector<HTMLDivElement>('.ax-popup');\n if (popup) {\n const rect = popup.getBoundingClientRect();\n this.elementStartPos = { x: rect.left, y: rect.top };\n }\n\n event.preventDefault();\n }\n\n @HostListener('document:mousemove', ['$event'])\n onDragMove(event: MouseEvent) {\n if (!this.isDragging()) return;\n\n const deltaX = event.clientX - this.dragStartPos.x;\n const deltaY = event.clientY - this.dragStartPos.y;\n\n this.dragOffset.set({\n x: this.elementStartPos.x + deltaX,\n y: this.elementStartPos.y + deltaY,\n });\n }\n\n @HostListener('document:mouseup')\n onDragEnd() {\n this.isDragging.set(false);\n }\n}\n","<div\n class=\"ax-popup-wrapper\"\n aria-modal=\"true\"\n axFocusTrap\n [class.ax-popup-minimized-host]=\"popupSizeState() === 'minimize'\"\n>\n <div\n #popupEl\n class=\"ax-popup ax-popup-{{ __config__()?.size || 'md' }}\"\n tabindex=\"0\"\n [class.ax-popup-dragging]=\"isDragging()\"\n [class.ax-popup-minimized]=\"popupSizeState() === 'minimize'\"\n [class.ax-popup-fullscreen]=\"fullScreenState()\"\n [style.position]=\"dragOffset().x || dragOffset().y || popupSizeState() === 'minimize' ? 'fixed' : null\"\n [style.left]=\"popupSizeState() === 'minimize' ? minimizeLeft() : dragOffset().x ? dragOffset().x + 'px' : null\"\n [style.right]=\"popupSizeState() === 'minimize' ? minimizeRight() : null\"\n [style.top]=\"popupSizeState() === 'minimize' ? 'auto' : dragOffset().y ? dragOffset().y + 'px' : null\"\n [style.bottom]=\"popupSizeState() === 'minimize' ? '0' : null\"\n [style.transform]=\"dragOffset().x || dragOffset().y || popupSizeState() === 'minimize' ? 'none' : null\"\n >\n <div\n class=\"ax-popup-header-container\"\n [class.ax-popup-draggable]=\"__config__()?.draggable && popupSizeState() !== 'minimize' && !fullScreenState()\"\n (mousedown)=\"onDragStart($event)\"\n >\n @if (__config__()?.header) {\n <div class=\"ax-popup-header\">\n <span class=\"ax-popup-title\">{{ title() | translate | async }}</span>\n <div class=\"ax-popup-header-actions\">\n @if (minimizeEnabled()) {\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"default\" (onClick)=\"minimize()\">\n <ax-icon class=\"ax-icon ax-icon-minimize\"></ax-icon>\n </ax-button>\n }\n\n @if (popupSizeState() !== 'normal' || fullScreenState()) {\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"default\" (onClick)=\"restore()\">\n <ax-icon class=\"ax-icon ax-icon-maximize\"></ax-icon>\n </ax-button>\n }\n\n @if (maximizeEnabled()) {\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"default\" (onClick)=\"maximize()\">\n <ax-icon class=\"ax-icon ax-icon-full-screen\"></ax-icon>\n </ax-button>\n }\n\n @if (closeEnabled()) {\n <ax-close-button tabindex=\"1\" (click)=\"_handleCloseClick()\"></ax-close-button>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"ax-popup-main-container ax-loading-container\">\n <div class=\"ax-popup-body-container\" #contentContainer></div>\n <div class=\"ax-popup-footer-container\" [class.ax-popup-footer-visible]=\"__config__()?.footer\"></div>\n </div>\n </div>\n</div>\n","import { AXComponentClosedPromise } from '@acorex/cdk/common';\nimport { AXOverlayRef, AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport { ComponentRef, inject, Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXPopupComponent } from './popup.component';\nimport { AXPopupConfig, AXPopupContentType, AXPopupRef } from './popup.interface';\n\n/**\n * This is a service which you can create popup with it\n *\n * @category Components\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPopupService {\n private popupList = new Map<number, { overlay: AXOverlayRef<AXPopupComponent>; popup: AXPopupRef }>();\n private overlayService = inject(AXOverlayService);\n\n /**\n * Open popup 1\n */\n open(content: AXPopupContentType, title: string): AXComponentClosedPromise;\n /**\n * Open popup 2\n */\n open(content: AXPopupContentType, config?: AXPopupConfig): AXComponentClosedPromise;\n\n /**\n * @ignore\n */\n open(arg1: AXPopupContentType, arg2?: string | AXPopupConfig): AXComponentClosedPromise {\n const config = this.mergeConfig(arg2);\n\n const promise = new AXComponentClosedPromise((resolve) => {\n this.openRef(arg1, config).then((ref) => {\n ref.onClose.subscribe((data) => {\n if (resolve) {\n resolve({\n sender: ref.componentInstance,\n data: data,\n });\n }\n });\n });\n });\n\n return promise;\n }\n\n /**\n * Opens a popup and returns a mutable reference (for host components and advanced control).\n */\n async openRef<TResult = any>(content: AXPopupContentType, config?: AXPopupConfig): Promise<AXPopupRef<TResult>> {\n return this.openInternal(content, this.mergeConfig(config));\n }\n\n private mergeConfig(arg2?: string | AXPopupConfig): AXPopupConfig {\n const config: AXPopupConfig = {\n closeButton: true,\n header: true,\n footer: false,\n size: 'md',\n maximizable: false,\n draggable: true,\n hasBackdrop: true,\n closeOnBackdropClick: false,\n data: {},\n closeOnNavigation: true,\n panelClass: ['animate-fadeIn', 'animate-fast'],\n buttons: {\n close: true,\n maximize: false,\n minimize: {\n enable: false,\n position: 'bottom-right',\n },\n },\n };\n if (typeof arg2 === 'string') {\n config.title = arg2;\n } else if (arg2) {\n const { buttons, ...rest } = arg2;\n Object.assign(config, rest);\n if (buttons) {\n config.buttons = {\n ...config.buttons,\n ...buttons,\n minimize: {\n enable: false,\n position: 'bottom-right',\n ...config.buttons?.minimize,\n ...buttons.minimize,\n },\n };\n }\n }\n return config;\n }\n\n /**\n * Opens a popup with the specified content and configuration.\n */\n private async openInternal<TResult = any>(\n content: AXPopupContentType,\n config: AXPopupConfig,\n ): Promise<AXPopupRef<TResult>> {\n const randomId = Math.floor(Math.random() * 100000000000);\n const onClose = new Subject<TResult>();\n\n const returnRef: AXPopupRef<TResult> = {\n close: (data) => {\n this.close(randomId, data);\n },\n setInputs: (values: AXComponentInputs) => {\n this.setInputs(randomId, values);\n },\n setTitle: (title: string) => {\n this.setTitle(randomId, title);\n },\n minimize: () => {\n this.minimize(randomId);\n },\n maximize: () => {\n this.maximize(randomId);\n },\n restore: () => {\n this.restore(randomId);\n },\n bringToFront: () => {\n this.bringToFront(randomId);\n },\n onClose,\n _getStackIndex: () => this.getMapIndexOf(randomId),\n };\n\n if (config._bindContentInputs) {\n config.inputs = {\n ...((config.inputs as Record<string, unknown>) ?? {}),\n ...config._bindContentInputs(returnRef),\n };\n }\n\n const panelClasses = ['ax-popup-overlay'];\n if (config.panelClass) {\n panelClasses.push(...config.panelClass);\n }\n\n const ref = await this.overlayService.create(AXPopupComponent, {\n contextElement: config.contextElement,\n visualContextScope: 'theme',\n closeOnNavigation: config.closeOnNavigation,\n backdrop: {\n enabled: config.hasBackdrop ?? true,\n background: true,\n // Dispose is handled via onDispose so close goes through onClose.\n closeOnClick: config.closeOnBackdropClick ?? false,\n backdropClass: config.backdropClass,\n },\n panelClass: panelClasses,\n inputs: {\n __content__: content,\n __config__: config,\n __popupRef__: returnRef,\n __id__: randomId,\n },\n onDispose: () => {\n // Backdrop click (or external dispose) — complete close pipeline if still open.\n const entry = this.popupList.get(randomId);\n if (!entry) return;\n this.popupList.delete(randomId);\n entry.popup.onClose.next(undefined as TResult);\n entry.popup.onClose.complete();\n },\n });\n\n this.popupList.set(randomId, { overlay: ref, popup: returnRef });\n\n return returnRef;\n }\n\n /**\n * Closes a popup by its ID.\n */\n close<TResult = any>(id: number, data?: TResult): void {\n const ref = this.popupList.get(id);\n if (!ref) return;\n this.popupList.delete(id);\n ref.popup.onClose.next(data);\n ref.popup.onClose.complete();\n ref.overlay.dispose();\n }\n\n /**\n * Sets input values for a popup by its ID.\n */\n setInputs(id: number, values: AXComponentInputs): void {\n const ref = this.popupList.get(id)?.overlay.instance;\n if (!ref) return;\n if (ref instanceof ComponentRef) {\n const componentInstance = ref.instance as AXPopupComponent;\n componentInstance.setContentInputs(values);\n }\n }\n\n /**\n * Sets the title for a popup by its ID.\n */\n setTitle(id: number, title: string): void {\n const ref = this.popupList.get(id)?.overlay.instance;\n if (!ref) return;\n if (ref instanceof ComponentRef) {\n const componentInstance = ref.instance as AXPopupComponent;\n componentInstance.setTitle(title);\n }\n }\n\n minimize(id: number): void {\n const instance = this.getPopupInstance(id);\n instance?.minimize();\n }\n\n maximize(id: number): void {\n const instance = this.getPopupInstance(id);\n instance?.maximize();\n }\n\n restore(id: number): void {\n const instance = this.getPopupInstance(id);\n instance?.restore();\n }\n\n /**\n * Gets the index of a popup in the open stack (used for minimized bar positioning).\n */\n getMapIndexOf(targetKey: number): number {\n let index = 0;\n for (const key of this.popupList.keys()) {\n if (key === targetKey) {\n return index;\n }\n index++;\n }\n return -1;\n }\n\n /**\n * Brings a popup to the front of all other overlays.\n */\n bringToFront(id: number): void {\n const ref = this.popupList.get(id);\n if (!ref) return;\n ref.overlay.bringToFront();\n }\n\n private getPopupInstance(id: number): AXPopupComponent | null {\n const ref = this.popupList.get(id)?.overlay.instance;\n if (!ref) return null;\n if (ref instanceof ComponentRef) {\n return ref.instance as AXPopupComponent;\n }\n return null;\n }\n}\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport { Component, inject, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { AXPopupConfig, AXPopupRef } from '../popup.interface';\nimport { AXPopupService } from '../popup.service';\n\n/**\n * Declarative popup host. Project content and call `open()` / `close()` on the component instance.\n *\n * @example\n * ```html\n * <ax-popup-host #popup>\n * <p>Content</p>\n * </ax-popup-host>\n * <ax-button (onClick)=\"popup.open({ title: 'Hello', header: true })\"></ax-button>\n * ```\n */\n@Component({\n selector: 'ax-popup-host',\n template: `\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXPopupHostComponent }],\n})\nexport class AXPopupHostComponent extends NXComponent {\n private popupService = inject(AXPopupService);\n protected template = viewChild(TemplateRef);\n private ref = signal<AXPopupRef | null>(null);\n\n /**\n * Opens the projected content in a popup overlay.\n */\n async open(options?: AXPopupConfig): Promise<AXPopupRef> {\n const template = this.template();\n if (!template) {\n throw new Error('AXPopupHostComponent: content template is not ready.');\n }\n const ref = await this.popupService.openRef(template, options);\n this.ref.set(ref);\n ref.onClose.subscribe(() => {\n if (this.ref() === ref) {\n this.ref.set(null);\n }\n });\n return ref;\n }\n\n /**\n * Closes the currently open popup hosted by this component.\n */\n async close(data?: unknown): Promise<void> {\n const current = this.ref();\n if (!current) return;\n current.close(data);\n }\n\n /**\n * Sets input values for the popup content component.\n */\n async setInputs(values: AXComponentInputs): Promise<void> {\n this.ref()?.setInputs(values);\n }\n\n /**\n * Minimizes the hosted popup.\n */\n async minimize(): Promise<void> {\n this.ref()?.minimize();\n }\n\n /**\n * Maximizes the hosted popup.\n */\n async maximize(): Promise<void> {\n this.ref()?.maximize();\n }\n\n /**\n * Restores the hosted popup.\n */\n async restore(): Promise<void> {\n this.ref()?.restore();\n }\n}\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXPopupFooterComponent } from './popup-footer/popup-footer.component';\nimport { AXPopupHostComponent } from './popup-host/popup-host.component';\nimport { AXPopupComponent } from './popup.component';\nimport { AXPopupService } from './popup.service';\n\nconst COMPONENT = [AXPopupComponent, AXPopupHostComponent, AXPopupFooterComponent];\nconst MODULES = [CommonModule, AXCommonModule, AXDecoratorModule, AXTranslationModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXPopupService],\n})\nexport class AXPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -64,10 +64,10 @@ class AXProgressBarComponent extends MXColorComponent {
64
64
  return 'ax-primary';
65
65
  return `${this['color']}`;
66
66
  }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXProgressBarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXProgressBarComponent, isStandalone: true, selector: "ax-progress-bar", inputs: { color: "color", mode: "mode", progress: "progress", height: "height" }, outputs: { ValueChange: "ValueChange", sizeChange: "sizeChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXProgressBarComponent }], viewQueries: [{ propertyName: "circle", first: true, predicate: ["c"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@switch (mode) {\n @case ('indeterminate') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-indeterminate-progress\"></div>\n </div>\n }\n @case ('query') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-query-progress\"></div>\n </div>\n }\n @case ('buffer') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-buffer-progress\"></div>\n </div>\n }\n @default {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar\" [style.width.%]=\"progress\"></div>\n </div>\n }\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["@layer components{ax-progress-bar{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}ax-progress-bar .ax-progress{width:100%;overflow:hidden;border-radius:var(--radius-lg, .5rem);background-color:color-mix(in srgb,#000 20%,transparent)}@supports (color: color-mix(in lab,red,red)){ax-progress-bar .ax-progress{background-color:color-mix(in oklab,var(--color-black, #000) 20%,transparent)}}ax-progress-bar .ax-progress:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){ax-progress-bar .ax-progress:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:color-mix(in oklab,var(--color-white, #fff) 20%,transparent)}}ax-progress-bar .ax-progress .ax-progress-bar{height:100%;--tw-border-style: solid;border-style:solid;background-color:var(--ax-comp-bg);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-progress-bar .ax-indeterminate-progress{height:100%;width:100%;transform-origin:0;animation:indeterminateAnimation 1s infinite linear}ax-progress-bar .ax-query-progress{height:100%;width:100%;transform-origin:0;animation:queryAnimation 1s infinite linear}ax-progress-bar .ax-buffer-progress{height:100%;width:100%;transform-origin:0;animation:bufferAnimation 5s infinite linear;background-color:transparent!important;background-image:repeating-linear-gradient(to right,transparent,transparent .5rem,var(--ax-comp-bg) .5rem,var(--ax-comp-bg) 1rem)!important;background-size:100%}}@keyframes indeterminateAnimation{0%{transform:translate(0) scaleX(0)}40%{transform:translate(0) scaleX(.4)}to{transform:translate(100%) scaleX(.5)}}@keyframes queryAnimation{0%{transform:translate(100%) scaleX(0)}40%{transform:translate(0) scaleX(.7)}to{transform:translate(-50%) scaleX(.5)}}@keyframes bufferAnimation{0%{transform:translate(-100%)}to{transform:translate(100%)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXProgressBarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXProgressBarComponent, isStandalone: true, selector: "ax-progress-bar", inputs: { color: "color", mode: "mode", progress: "progress", height: "height" }, outputs: { ValueChange: "ValueChange", sizeChange: "sizeChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXProgressBarComponent }], viewQueries: [{ propertyName: "circle", first: true, predicate: ["c"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@switch (mode) {\n @case ('indeterminate') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-indeterminate-progress\"></div>\n </div>\n }\n @case ('query') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-query-progress\"></div>\n </div>\n }\n @case ('buffer') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-buffer-progress\"></div>\n </div>\n }\n @default {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar\" [style.width.%]=\"progress\"></div>\n </div>\n }\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["@layer components{ax-progress-bar{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}ax-progress-bar .ax-progress{width:100%;overflow:hidden;border-radius:var(--radius-lg, .5rem);background-color:color-mix(in srgb,#000 20%,transparent)}@supports (color: color-mix(in lab,red,red)){ax-progress-bar .ax-progress{background-color:color-mix(in oklab,var(--color-black, #000) 20%,transparent)}}ax-progress-bar .ax-progress:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){ax-progress-bar .ax-progress:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:color-mix(in oklab,var(--color-white, #fff) 20%,transparent)}}ax-progress-bar .ax-progress .ax-progress-bar{height:100%;--tw-border-style: solid;border-style:solid;background-color:var(--ax-comp-bg);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-progress-bar .ax-indeterminate-progress{height:100%;width:100%;transform-origin:0;animation:indeterminateAnimation 1s infinite linear}ax-progress-bar .ax-query-progress{height:100%;width:100%;transform-origin:0;animation:queryAnimation 1s infinite linear}ax-progress-bar .ax-buffer-progress{height:100%;width:100%;transform-origin:0;animation:bufferAnimation 5s infinite linear;background-color:transparent!important;background-image:repeating-linear-gradient(to right,transparent,transparent .5rem,var(--ax-comp-bg) .5rem,var(--ax-comp-bg) 1rem)!important;background-size:100%}}@keyframes indeterminateAnimation{0%{transform:translate(0) scaleX(0)}40%{transform:translate(0) scaleX(.4)}to{transform:translate(100%) scaleX(.5)}}@keyframes queryAnimation{0%{transform:translate(100%) scaleX(0)}40%{transform:translate(0) scaleX(.7)}to{transform:translate(-50%) scaleX(.5)}}@keyframes bufferAnimation{0%{transform:translate(-100%)}to{transform:translate(100%)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXProgressBarComponent, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXProgressBarComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: 'ax-progress-bar', inputs: ['color'], encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXProgressBarComponent }], template: "<ng-content select=\"ax-prefix\"></ng-content>\n@switch (mode) {\n @case ('indeterminate') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-indeterminate-progress\"></div>\n </div>\n }\n @case ('query') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-query-progress\"></div>\n </div>\n }\n @case ('buffer') {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar ax-buffer-progress\"></div>\n </div>\n }\n @default {\n <div class=\"ax-progress\" [style.height.px]=\"height\" role=\"progressbar\">\n <div class=\"ax-progress-bar\" [style.width.%]=\"progress\"></div>\n </div>\n }\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["@layer components{ax-progress-bar{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}ax-progress-bar .ax-progress{width:100%;overflow:hidden;border-radius:var(--radius-lg, .5rem);background-color:color-mix(in srgb,#000 20%,transparent)}@supports (color: color-mix(in lab,red,red)){ax-progress-bar .ax-progress{background-color:color-mix(in oklab,var(--color-black, #000) 20%,transparent)}}ax-progress-bar .ax-progress:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){ax-progress-bar .ax-progress:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:color-mix(in oklab,var(--color-white, #fff) 20%,transparent)}}ax-progress-bar .ax-progress .ax-progress-bar{height:100%;--tw-border-style: solid;border-style:solid;background-color:var(--ax-comp-bg);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-progress-bar .ax-indeterminate-progress{height:100%;width:100%;transform-origin:0;animation:indeterminateAnimation 1s infinite linear}ax-progress-bar .ax-query-progress{height:100%;width:100%;transform-origin:0;animation:queryAnimation 1s infinite linear}ax-progress-bar .ax-buffer-progress{height:100%;width:100%;transform-origin:0;animation:bufferAnimation 5s infinite linear;background-color:transparent!important;background-image:repeating-linear-gradient(to right,transparent,transparent .5rem,var(--ax-comp-bg) .5rem,var(--ax-comp-bg) 1rem)!important;background-size:100%}}@keyframes indeterminateAnimation{0%{transform:translate(0) scaleX(0)}40%{transform:translate(0) scaleX(.4)}to{transform:translate(100%) scaleX(.5)}}@keyframes queryAnimation{0%{transform:translate(100%) scaleX(0)}40%{transform:translate(0) scaleX(.7)}to{transform:translate(-50%) scaleX(.5)}}@keyframes bufferAnimation{0%{transform:translate(-100%)}to{transform:translate(100%)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
73
73
  }], propDecorators: { circle: [{
@@ -89,11 +89,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
89
89
  }] } });
90
90
 
91
91
  class AXProgressBarModule {
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
93
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXProgressBarModule, imports: [CommonModule, AXProgressBarComponent], exports: [AXProgressBarComponent] }); }
94
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXProgressBarModule, imports: [CommonModule] }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
93
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXProgressBarModule, imports: [CommonModule, AXProgressBarComponent], exports: [AXProgressBarComponent] }); }
94
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXProgressBarModule, imports: [CommonModule] }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXProgressBarModule, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXProgressBarModule, decorators: [{
97
97
  type: NgModule,
98
98
  args: [{
99
99
  imports: [CommonModule, AXProgressBarComponent],
@@ -107,8 +107,8 @@ class AXQrcodeComponent {
107
107
  console.error(error);
108
108
  });
109
109
  }
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXQrcodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXQrcodeComponent, isStandalone: true, selector: "ax-qrcode", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null }, outputType: { classPropertyName: "outputType", publicName: "outputType", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXQrcodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXQrcodeComponent, isStandalone: true, selector: "ax-qrcode", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null }, outputType: { classPropertyName: "outputType", publicName: "outputType", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
112
112
  { provide: AXValuableComponent, useExisting: AXQrcodeComponent },
113
113
  {
114
114
  provide: NG_VALUE_ACCESSOR,
@@ -118,7 +118,7 @@ class AXQrcodeComponent {
118
118
  { provide: AXComponent, useExisting: AXQrcodeComponent },
119
119
  ], viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true, isSignal: true }, { propertyName: "svg", first: true, predicate: ["svg"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"qrcode\">\n @if (outputType() === 'canvas') {\n <canvas #canvas></canvas>\n } @else if (outputType() === 'svg') {\n <div #svg></div>\n } @else {\n <img [src]=\"qrCodeUrl()\" alt=\"QR Code\" />\n }\n <div class=\"logo-container\">\n <ng-content select=\"img\"></ng-content>\n </div>\n</div>\n", styles: ["@layer components{.qrcode{position:relative;display:flex;align-items:center;justify-content:center}.qrcode .logo-container{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXQrcodeComponent, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXQrcodeComponent, decorators: [{
122
122
  type: Component,
123
123
  args: [{ selector: 'ax-qrcode', encapsulation: ViewEncapsulation.None, providers: [
124
124
  { provide: AXValuableComponent, useExisting: AXQrcodeComponent },
@@ -132,11 +132,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
132
132
  }], ctorParameters: () => [], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], backgroundColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundColor", required: false }] }], outputType: [{ type: i0.Input, args: [{ isSignal: true, alias: "outputType", required: false }] }], canvas: [{ type: i0.ViewChild, args: ['canvas', { isSignal: true }] }], svg: [{ type: i0.ViewChild, args: ['svg', { isSignal: true }] }] } });
133
133
 
134
134
  class AXQrcodeModule {
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXQrcodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
136
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXQrcodeModule, imports: [CommonModule, AXQrcodeComponent], exports: [AXQrcodeComponent] }); }
137
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXQrcodeModule, imports: [CommonModule] }); }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXQrcodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
136
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXQrcodeModule, imports: [CommonModule, AXQrcodeComponent], exports: [AXQrcodeComponent] }); }
137
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXQrcodeModule, imports: [CommonModule] }); }
138
138
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXQrcodeModule, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXQrcodeModule, decorators: [{
140
140
  type: NgModule,
141
141
  args: [{
142
142
  imports: [CommonModule, AXQrcodeComponent],
@@ -32,8 +32,8 @@ class AXRadioComponent extends MXValueComponent {
32
32
  _handleModelChange(value) {
33
33
  this.commitValue(value, true);
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AXRadioComponent, isStandalone: true, selector: "ax-radio", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", name: "name", id: "id" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { listeners: { "click": "_handleClick($event)" } }, providers: [
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: AXRadioComponent, isStandalone: true, selector: "ax-radio", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", name: "name", id: "id" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { listeners: { "click": "_handleClick($event)" } }, providers: [
37
37
  {
38
38
  provide: NG_VALUE_ACCESSOR,
39
39
  useExisting: forwardRef(() => AXRadioComponent),
@@ -42,7 +42,7 @@ class AXRadioComponent extends MXValueComponent {
42
42
  { provide: AXComponent, useExisting: AXRadioComponent },
43
43
  ], queries: [{ propertyName: "_labels", predicate: AXLabelComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-radio-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-radio-start-side\">\n <input\n [id]=\"id\"\n class=\"ax-radio\"\n type=\"radio\"\n [ngModel]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n </div>\n <div class=\"ax-radio-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n", styles: ["@layer properties;@layer components{.ax-radio-label{display:flex;width:fit-content;align-items:flex-start;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5);-webkit-user-select:none;user-select:none}.ax-radio-label .ax-radio-start-side{display:flex;height:calc(var(--spacing, .25rem) * 5);align-items:center}.ax-radio-label .ax-radio-end-side{margin-inline-start:calc(var(--spacing, .25rem) * 3)}}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio]:not([ngNoCva])[formControlName],input[type=radio]:not([ngNoCva])[formControl],input[type=radio]:not([ngNoCva])[ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRadioComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRadioComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'ax-radio', inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'name', 'id'], outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'], encapsulation: ViewEncapsulation.None, providers: [
48
48
  {
@@ -63,11 +63,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
63
63
  const COMPONENT = [AXRadioComponent];
64
64
  const MODULES = [CommonModule, FormsModule];
65
65
  class AXRadioModule {
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
67
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXRadioModule, imports: [CommonModule, FormsModule, AXRadioComponent], exports: [AXRadioComponent] }); }
68
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRadioModule, imports: [MODULES, COMPONENT] }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
67
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXRadioModule, imports: [CommonModule, FormsModule, AXRadioComponent], exports: [AXRadioComponent] }); }
68
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRadioModule, imports: [MODULES, COMPONENT] }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRadioModule, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRadioModule, decorators: [{
71
71
  type: NgModule,
72
72
  args: [{
73
73
  imports: [...MODULES, ...COMPONENT],
@@ -20,10 +20,10 @@ class AXRailNavigationService {
20
20
  setActive(item) {
21
21
  this.activeItem.next(item);
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationService }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationService }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationService, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationService, decorators: [{
27
27
  type: Injectable
28
28
  }] });
29
29
 
@@ -98,10 +98,10 @@ class AXRailNavigationItemComponent extends MXBaseComponent {
98
98
  this.railNavigationService.setActive(this);
99
99
  }
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXRailNavigationItemComponent, isStandalone: true, selector: "ax-rail-navigation-item", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActive: { classPropertyName: "routerLinkActive", publicName: "routerLinkActive", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: "routerLinkActiveOptions", publicName: "routerLinkActiveOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", active: "activeChange", disabled: "disabledChange" }, providers: [{ provide: AXComponent, useExisting: AXRailNavigationItemComponent }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (routerLink()) {\n <a\n #itemContainer\n [target]=\"target()\"\n [routerLink]=\"routerLink()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-disabled]=\"disabled()\"\n [routerLinkActive]=\"routerLinkActive()\"\n [routerLinkActiveOptions]=\"routerLinkActiveOptions()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else if (href()) {\n <a\n #itemContainer\n [href]=\"href()\"\n [target]=\"target()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else {\n <div\n #itemContainer\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </div>\n}\n\n<ng-template #railNavigationItemContent>\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-icon\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ng-container,ng-content\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXRailNavigationItemComponent, isStandalone: true, selector: "ax-rail-navigation-item", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActive: { classPropertyName: "routerLinkActive", publicName: "routerLinkActive", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: "routerLinkActiveOptions", publicName: "routerLinkActiveOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", active: "activeChange", disabled: "disabledChange" }, providers: [{ provide: AXComponent, useExisting: AXRailNavigationItemComponent }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (routerLink()) {\n <a\n #itemContainer\n [target]=\"target()\"\n [routerLink]=\"routerLink()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-disabled]=\"disabled()\"\n [routerLinkActive]=\"routerLinkActive()\"\n [routerLinkActiveOptions]=\"routerLinkActiveOptions()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else if (href()) {\n <a\n #itemContainer\n [href]=\"href()\"\n [target]=\"target()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else {\n <div\n #itemContainer\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </div>\n}\n\n<ng-template #railNavigationItemContent>\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-icon\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ng-container,ng-content\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationItemComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationItemComponent, decorators: [{
105
105
  type: Component,
106
106
  args: [{ selector: 'ax-rail-navigation-item', encapsulation: ViewEncapsulation.None, imports: [RouterLink, RouterLinkActive, NgTemplateOutlet], providers: [{ provide: AXComponent, useExisting: AXRailNavigationItemComponent }], template: "@if (routerLink()) {\n <a\n #itemContainer\n [target]=\"target()\"\n [routerLink]=\"routerLink()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-disabled]=\"disabled()\"\n [routerLinkActive]=\"routerLinkActive()\"\n [routerLinkActiveOptions]=\"routerLinkActiveOptions()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else if (href()) {\n <a\n #itemContainer\n [href]=\"href()\"\n [target]=\"target()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else {\n <div\n #itemContainer\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </div>\n}\n\n<ng-template #railNavigationItemContent>\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-icon\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ng-container,ng-content\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</ng-template>\n" }]
107
107
  }], propDecorators: { onClick: [{ type: i0.Output, args: ["onClick"] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], href: [{ type: i0.Input, args: [{ isSignal: true, alias: "href", required: false }] }], routerLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLink", required: false }] }], routerLinkActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLinkActive", required: false }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: false }] }], routerLinkActiveOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLinkActiveOptions", required: false }] }], itemContainer: [{ type: i0.ViewChild, args: ['itemContainer', { isSignal: true }] }] } });
@@ -163,10 +163,10 @@ class AXRailNavigationComponent extends MXBaseComponent {
163
163
  cssClasses.push(`ax-look-${this.look()}`);
164
164
  return cssClasses;
165
165
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: AXRailNavigationComponent, isStandalone: true, selector: "ax-rail-navigation", inputs: { location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXRailNavigationComponent }], queries: [{ propertyName: "railNavItems", predicate: AXRailNavigationItemComponent, isSignal: true }], viewQueries: [{ propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix, ax-header\"></ng-content>\n<ng-content select=\"ax-rail-navigation-item, ng-container, ng-content\"></ng-content>\n<div class=\"ax-suffix-container w-full flex justify-center\">\n <ng-content select=\"ax-suffix, ax-footer\"></ng-content>\n</div>\n<span class=\"ax-rail-indicator\" #indicator></span>\n", styles: ["@layer properties;@layer base{:root{--ax-comp-rail-navigation-indicator-size: 2px}}@layer components{ax-rail-navigation{position:relative;display:flex;height:100%;width:calc(var(--spacing, .25rem) * 28);flex-direction:column;align-items:center;overflow-y:auto;padding-block:calc(var(--spacing, .25rem) * 4);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-rail-navigation .ax-suffix-container{display:flex;height:100%;align-items:flex-end}ax-rail-navigation ax-rail-navigation-item{width:100%;-webkit-user-select:none;user-select:none}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item{display:flex;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 1);padding-block:calc(var(--spacing, .25rem) * 5);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgba(var(--ax-sys-color-on-lightest-surface));opacity:60%;transition-property:opacity,background-color;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-icon{display:flex;justify-content:center;border-radius:var(--radius-2xl, 1rem);padding-inline:calc(var(--spacing, .25rem) * 5);padding-block:calc(var(--spacing, .25rem) * 1);font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));transition-property:background-color,font-weight;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-text{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item:hover{opacity:75%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled{cursor:not-allowed;opacity:30%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled:hover{opacity:30%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-active{opacity:100%}ax-rail-navigation .ax-rail-indicator{display:none}:is(ax-rail-navigation.ax-look-with-line,ax-rail-navigation.ax-look-with-line-color) .ax-rail-indicator{position:absolute;display:block;width:var(--ax-comp-rail-navigation-indicator-size);background-color:rgba(var(--ax-sys-color-on-lightest-surface));transition-property:height,top;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation.ax-look-with-line-color .ax-state-active{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color: color-mix(in lab,red,red)){ax-rail-navigation.ax-look-with-line-color .ax-state-active{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 10%,transparent)}}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item{opacity:70%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700)}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover{opacity:85%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover ax-icon{background-color:rgba(var(--ax-sys-color-surface))}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active{--tw-font-weight: var(--font-weight-extrabold, 800);font-weight:var(--font-weight-extrabold, 800);opacity:100%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active ax-icon{background-color:rgba(var(--ax-sys-color-darker-surface))}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active ax-icon:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-lighter-surface))}ax-rail-navigation.ax-look-pills-color .ax-state-active ax-icon{background-color:rgba(var(--ax-sys-color-primary-surface))!important}@supports (color: color-mix(in lab,red,red)){ax-rail-navigation.ax-look-pills-color .ax-state-active ax-icon{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 20%,transparent)!important}}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.6", type: AXRailNavigationComponent, isStandalone: true, selector: "ax-rail-navigation", inputs: { location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXRailNavigationComponent }], queries: [{ propertyName: "railNavItems", predicate: AXRailNavigationItemComponent, isSignal: true }], viewQueries: [{ propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix, ax-header\"></ng-content>\n<ng-content select=\"ax-rail-navigation-item, ng-container, ng-content\"></ng-content>\n<div class=\"ax-suffix-container w-full flex justify-center\">\n <ng-content select=\"ax-suffix, ax-footer\"></ng-content>\n</div>\n<span class=\"ax-rail-indicator\" #indicator></span>\n", styles: ["@layer properties;@layer base{:root{--ax-comp-rail-navigation-indicator-size: 2px}}@layer components{ax-rail-navigation{position:relative;display:flex;height:100%;width:calc(var(--spacing, .25rem) * 28);flex-direction:column;align-items:center;overflow-y:auto;padding-block:calc(var(--spacing, .25rem) * 4);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-rail-navigation .ax-suffix-container{display:flex;height:100%;align-items:flex-end}ax-rail-navigation ax-rail-navigation-item{width:100%;-webkit-user-select:none;user-select:none}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item{display:flex;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 1);padding-block:calc(var(--spacing, .25rem) * 5);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgba(var(--ax-sys-color-on-lightest-surface));opacity:60%;transition-property:opacity,background-color;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-icon{display:flex;justify-content:center;border-radius:var(--radius-2xl, 1rem);padding-inline:calc(var(--spacing, .25rem) * 5);padding-block:calc(var(--spacing, .25rem) * 1);font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));transition-property:background-color,font-weight;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-text{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item:hover{opacity:75%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled{cursor:not-allowed;opacity:30%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled:hover{opacity:30%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-active{opacity:100%}ax-rail-navigation .ax-rail-indicator{display:none}:is(ax-rail-navigation.ax-look-with-line,ax-rail-navigation.ax-look-with-line-color) .ax-rail-indicator{position:absolute;display:block;width:var(--ax-comp-rail-navigation-indicator-size);background-color:rgba(var(--ax-sys-color-on-lightest-surface));transition-property:height,top;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation.ax-look-with-line-color .ax-state-active{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color: color-mix(in lab,red,red)){ax-rail-navigation.ax-look-with-line-color .ax-state-active{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 10%,transparent)}}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item{opacity:70%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700)}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover{opacity:85%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover ax-icon{background-color:rgba(var(--ax-sys-color-surface))}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active{--tw-font-weight: var(--font-weight-extrabold, 800);font-weight:var(--font-weight-extrabold, 800);opacity:100%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active ax-icon{background-color:rgba(var(--ax-sys-color-darker-surface))}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active ax-icon:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-lighter-surface))}ax-rail-navigation.ax-look-pills-color .ax-state-active ax-icon{background-color:rgba(var(--ax-sys-color-primary-surface))!important}@supports (color: color-mix(in lab,red,red)){ax-rail-navigation.ax-look-pills-color .ax-state-active ax-icon{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 20%,transparent)!important}}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
168
168
  }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationComponent, decorators: [{
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationComponent, decorators: [{
170
170
  type: Component,
171
171
  args: [{ selector: 'ax-rail-navigation', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXRailNavigationComponent }], template: "<ng-content select=\"ax-prefix, ax-header\"></ng-content>\n<ng-content select=\"ax-rail-navigation-item, ng-container, ng-content\"></ng-content>\n<div class=\"ax-suffix-container w-full flex justify-center\">\n <ng-content select=\"ax-suffix, ax-footer\"></ng-content>\n</div>\n<span class=\"ax-rail-indicator\" #indicator></span>\n", styles: ["@layer properties;@layer base{:root{--ax-comp-rail-navigation-indicator-size: 2px}}@layer components{ax-rail-navigation{position:relative;display:flex;height:100%;width:calc(var(--spacing, .25rem) * 28);flex-direction:column;align-items:center;overflow-y:auto;padding-block:calc(var(--spacing, .25rem) * 4);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-rail-navigation .ax-suffix-container{display:flex;height:100%;align-items:flex-end}ax-rail-navigation ax-rail-navigation-item{width:100%;-webkit-user-select:none;user-select:none}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item{display:flex;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 1);padding-block:calc(var(--spacing, .25rem) * 5);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgba(var(--ax-sys-color-on-lightest-surface));opacity:60%;transition-property:opacity,background-color;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-icon{display:flex;justify-content:center;border-radius:var(--radius-2xl, 1rem);padding-inline:calc(var(--spacing, .25rem) * 5);padding-block:calc(var(--spacing, .25rem) * 1);font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));transition-property:background-color,font-weight;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-text{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item:hover{opacity:75%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled{cursor:not-allowed;opacity:30%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled:hover{opacity:30%}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-active{opacity:100%}ax-rail-navigation .ax-rail-indicator{display:none}:is(ax-rail-navigation.ax-look-with-line,ax-rail-navigation.ax-look-with-line-color) .ax-rail-indicator{position:absolute;display:block;width:var(--ax-comp-rail-navigation-indicator-size);background-color:rgba(var(--ax-sys-color-on-lightest-surface));transition-property:height,top;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-rail-navigation.ax-look-with-line-color .ax-state-active{background-color:rgba(var(--ax-sys-color-primary-surface))}@supports (color: color-mix(in lab,red,red)){ax-rail-navigation.ax-look-with-line-color .ax-state-active{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 10%,transparent)}}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item{opacity:70%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700)}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover{opacity:85%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item:hover ax-icon{background-color:rgba(var(--ax-sys-color-surface))}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active{--tw-font-weight: var(--font-weight-extrabold, 800);font-weight:var(--font-weight-extrabold, 800);opacity:100%}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active ax-icon{background-color:rgba(var(--ax-sys-color-darker-surface))}:is(ax-rail-navigation.ax-look-pills,ax-rail-navigation.ax-look-pills-color) .ax-rail-navigation-item.ax-state-active ax-icon:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-lighter-surface))}ax-rail-navigation.ax-look-pills-color .ax-state-active ax-icon{background-color:rgba(var(--ax-sys-color-primary-surface))!important}@supports (color: color-mix(in lab,red,red)){ax-rail-navigation.ax-look-pills-color .ax-state-active ax-icon{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-primary-surface)) 20%,transparent)!important}}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
172
172
  }], ctorParameters: () => [], propDecorators: { indicator: [{ type: i0.ViewChild, args: ['indicator', { isSignal: true }] }], railNavItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AXRailNavigationItemComponent), { isSignal: true }] }], location: [{ type: i0.Input, args: [{ isSignal: true, alias: "location", required: false }] }], look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }], __hostClass: [{
@@ -175,11 +175,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
175
175
  }] } });
176
176
 
177
177
  class AXRailNavigationModule {
178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
179
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationModule, imports: [AXRailNavigationComponent, AXRailNavigationItemComponent], exports: [AXRailNavigationComponent, AXRailNavigationItemComponent] }); }
180
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationModule }); }
178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
179
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationModule, imports: [AXRailNavigationComponent, AXRailNavigationItemComponent], exports: [AXRailNavigationComponent, AXRailNavigationItemComponent] }); }
180
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationModule }); }
181
181
  }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXRailNavigationModule, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXRailNavigationModule, decorators: [{
183
183
  type: NgModule,
184
184
  args: [{
185
185
  imports: [AXRailNavigationComponent, AXRailNavigationItemComponent],